diff --git a/.devcontainer/demo/devcontainer.json b/.devcontainer/demo/devcontainer.json index 26ecd86d3..be82d885d 100644 --- a/.devcontainer/demo/devcontainer.json +++ b/.devcontainer/demo/devcontainer.json @@ -1,33 +1,34 @@ // For format details, see https://aka.ms/devcontainer.json. For config options, see the // README at: https://github.com/devcontainers/templates/tree/main/src/universal { - "name": "LangChain Demo Container", - // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile - "image": "mcr.microsoft.com/devcontainers/python:3.10", - "features": { - "ghcr.io/devcontainers/features/aws-cli:1": {}, - "ghcr.io/devcontainers/features/docker-in-docker": {}, - "ghcr.io/devcontainers/features/node": {} - }, - "customizations": { - "vscode": { - "extensions": [ - "actboy168.tasks", - "GitHub.copilot", - "ms-python.python", - "eamodio.gitlens", - "GitHub.vscode-pull-request-github" - ] - } - }, - // Features to add to the dev container. More info: https://containers.dev/features. - // "features": {}, - // Use 'forwardPorts' to make a list of ports inside the container available locally. - // "forwardPorts": [], - // Use 'postCreateCommand' to run commands after the container is created. - "postCreateCommand": "pipx install 'langflow>=0.0.33' && langflow --host 0.0.0.0" - // Configure tool-specific properties. - // "customizations": {}, - // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. - // "remoteUser": "root" -} \ No newline at end of file + "name": "Langflow Demo Container", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "image": "mcr.microsoft.com/devcontainers/python:1-3.10-bullseye", + "features": { + "ghcr.io/devcontainers/features/aws-cli:1": {}, + "ghcr.io/devcontainers/features/docker-in-docker": {}, + "ghcr.io/devcontainers/features/node": {} + }, + "customizations": { + "vscode": { + "extensions": [ + "actboy168.tasks", + "GitHub.copilot", + "ms-python.python", + "eamodio.gitlens", + "GitHub.vscode-pull-request-github", + "ms-azuretools.vscode-docker" + ] + } + }, + // Features to add to the dev container. More info: https://containers.dev/features. + // "features": {}, + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + // Use 'postCreateCommand' to run commands after the container is created. + "postCreateCommand": "pipx install 'langflow>=0.0.33' && langflow --host 0.0.0.0" + // Configure tool-specific properties. + // "customizations": {}, + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" +} diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 5b8cab4c4..9842679fa 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,29 +1,30 @@ // For format details, see https://aka.ms/devcontainer.json. For config options, see the // README at: https://github.com/devcontainers/templates/tree/main/src/universal { - "name": "LangChain Dev Container", - // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile - "image": "mcr.microsoft.com/devcontainers/python:1-3.10-bullseye", - - // Features to add to the dev container. More info: https://containers.dev/features. - "features": { - "ghcr.io/devcontainers/features/node": {}, - "ghcr.io/devcontainers-contrib/features/poetry": {} - }, + "name": "Langflow Dev Container", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "image": "mcr.microsoft.com/devcontainers/python:1-3.10-bullseye", - // Use 'forwardPorts' to make a list of ports inside the container available locally. - // "forwardPorts": [], + // Features to add to the dev container. More info: https://containers.dev/features. + "features": { + "ghcr.io/devcontainers/features/node": {}, + "ghcr.io/devcontainers-contrib/features/poetry": {} + }, - // Use 'postCreateCommand' to run commands after the container is created. - "postCreateCommand": "make setup_devcontainer", + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], - "containerEnv": { - "POETRY_VIRTUALENVS_IN_PROJECT": "true" - }, + // Use 'postCreateCommand' to run commands after the container is created. + "postCreateCommand": "make setup_devcontainer", - // Configure tool-specific properties. + "containerEnv": { + "POETRY_VIRTUALENVS_IN_PROJECT": "true" + }, + + // Configure tool-specific properties. "customizations": { - "vscode": {"extensions": [ + "vscode": { + "extensions": [ "actboy168.tasks", "GitHub.copilot", "ms-python.python", @@ -35,6 +36,6 @@ ]} } - // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. - // "remoteUser": "root" + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" } diff --git a/.github/workflows/pre-release.yml b/.github/workflows/pre-release.yml index 1b46e48b8..2399b5634 100644 --- a/.github/workflows/pre-release.yml +++ b/.github/workflows/pre-release.yml @@ -14,9 +14,7 @@ env: jobs: if_release: - if: | - ${{ github.event.pull_request.merged == true }} - && ${{ contains(github.event.pull_request.labels.*.name, 'pre-release') }} + if: ${{ (github.event.pull_request.merged == true) && contains(github.event.pull_request.labels.*.name, 'pre-release') }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 000000000..25b480b27 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,48 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=733558 + // for the documentation about the tasks.json format + "version": "2.0.0", + "tasks": [ + { + "label": "Init", + "type": "shell", + "command": "make init" + }, + // make backend + { + "label": "Backend", + "type": "shell", + "command": "make backend" + }, + // make frontend + { + "label": "Frontend", + "type": "shell", + "command": "make frontend" + }, + // make test + { + "label": "Test", + "type": "shell", + "command": "make tests" + }, + // make lint + { + "label": "Lint", + "type": "shell", + "command": "make lint" + }, + // make format + { + "label": "Format", + "type": "shell", + "command": "make format" + }, + // make install + { + "label": "Install", + "type": "shell", + "command": "make install_backend && make install_frontend" + } + ] +} diff --git a/src/frontend/src/components/codeTabsComponent/index.tsx b/src/frontend/src/components/codeTabsComponent/index.tsx index e60e09ae5..2f3e79a68 100644 --- a/src/frontend/src/components/codeTabsComponent/index.tsx +++ b/src/frontend/src/components/codeTabsComponent/index.tsx @@ -277,9 +277,13 @@ export default function CodeTabsComponent({ setData((old) => { let newInputList = cloneDeep(old); - newInputList![ - index - ].data.node.template[ + newInputList!.find( + (obj) => + obj.data.node + .template[ + templateField + ] + )!.data.node.template[ templateField ].value = target; return newInputList; @@ -326,9 +330,13 @@ export default function CodeTabsComponent({ setData((old) => { let newInputList = cloneDeep(old); - newInputList![ - index - ].data.node.template[ + newInputList!.find( + (obj) => + obj.data.node + .template[ + templateField + ] + )!.data.node.template[ templateField ].value = target; return newInputList; @@ -371,9 +379,13 @@ export default function CodeTabsComponent({ setData((old) => { let newInputList = cloneDeep(old); - newInputList![ - index - ].data.node.template[ + newInputList!.find( + (obj) => + obj.data.node + .template[ + templateField + ] + )!.data.node.template[ templateField ].value = target; return newInputList; @@ -404,9 +416,13 @@ export default function CodeTabsComponent({ setData((old) => { let newInputList = cloneDeep(old); - newInputList![ - index - ].data.node.template[ + newInputList!.find( + (obj) => + obj.data.node + .template[ + templateField + ] + )!.data.node.template[ templateField ].value = e; return newInputList; @@ -495,9 +511,13 @@ export default function CodeTabsComponent({ setData((old) => { let newInputList = cloneDeep(old); - newInputList![ - index - ].data.node.template[ + newInputList!.find( + (obj) => + obj.data.node + .template[ + templateField + ] + )!.data.node.template[ templateField ].value = target; return newInputList; @@ -531,9 +551,13 @@ export default function CodeTabsComponent({ setData((old) => { let newInputList = cloneDeep(old); - newInputList![ - index - ].data.node.template[ + newInputList!.find( + (obj) => + obj.data.node + .template[ + templateField + ] + )!.data.node.template[ templateField ].value = target; return newInputList; @@ -583,9 +607,14 @@ export default function CodeTabsComponent({ setData((old) => { let newInputList = cloneDeep(old); - newInputList![ - index - ].data.node.template[ + + newInputList!.find( + (obj) => + obj.data.node + .template[ + templateField + ] + )!.data.node.template[ templateField ].value = target; return newInputList; @@ -638,9 +667,13 @@ export default function CodeTabsComponent({ setData((old) => { let newInputList = cloneDeep(old); - newInputList![ - index - ].data.node.template[ + newInputList!.find( + (obj) => + obj.data.node + .template[ + templateField + ] + )!.data.node.template[ templateField ].value = target; return newInputList; @@ -693,9 +726,13 @@ export default function CodeTabsComponent({ setData((old) => { let newInputList = cloneDeep(old); - newInputList![ - index - ].data.node.template[ + newInputList!.find( + (obj) => + obj.data.node + .template[ + templateField + ] + )!.data.node.template[ templateField ].value = target; return newInputList;