@n8n/instance-ai 1.0.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE_EE.md +27 -0
- package/dist/agent/instance-agent.js +17 -45
- package/dist/agent/instance-agent.js.map +1 -1
- package/dist/agent/register-with-mastra.d.ts +1 -1
- package/dist/agent/register-with-mastra.js +5 -9
- package/dist/agent/register-with-mastra.js.map +1 -1
- package/dist/agent/sub-agent-briefing.d.ts +20 -0
- package/dist/agent/sub-agent-briefing.js +39 -0
- package/dist/agent/sub-agent-briefing.js.map +1 -0
- package/dist/agent/sub-agent-debriefing.d.ts +71 -0
- package/dist/agent/sub-agent-debriefing.js +39 -0
- package/dist/agent/sub-agent-debriefing.js.map +1 -0
- package/dist/agent/sub-agent-factory.d.ts +1 -1
- package/dist/agent/sub-agent-factory.js +15 -3
- package/dist/agent/sub-agent-factory.js.map +1 -1
- package/dist/agent/system-prompt.d.ts +1 -0
- package/dist/agent/system-prompt.js +67 -43
- package/dist/agent/system-prompt.js.map +1 -1
- package/dist/agent/tool-access.d.ts +2 -0
- package/dist/agent/tool-access.js +28 -0
- package/dist/agent/tool-access.js.map +1 -0
- package/dist/build.tsbuildinfo +1 -1
- package/dist/domain-access/domain-gating.d.ts +1 -0
- package/dist/domain-access/domain-gating.js +3 -0
- package/dist/domain-access/domain-gating.js.map +1 -1
- package/dist/index.d.ts +7 -3
- package/dist/index.js +15 -4
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +6 -0
- package/dist/logger.js +3 -0
- package/dist/logger.js.map +1 -0
- package/dist/memory/memory-config.js +1 -3
- package/dist/memory/memory-config.js.map +1 -1
- package/dist/parsers/structured-file-parser.d.ts +56 -0
- package/dist/parsers/structured-file-parser.js +354 -0
- package/dist/parsers/structured-file-parser.js.map +1 -0
- package/dist/planned-tasks/planned-task-permissions.d.ts +2 -0
- package/dist/planned-tasks/planned-task-permissions.js +27 -0
- package/dist/planned-tasks/planned-task-permissions.js.map +1 -0
- package/dist/planned-tasks/planned-task-service.js +6 -0
- package/dist/planned-tasks/planned-task-service.js.map +1 -1
- package/dist/runtime/background-task-manager.d.ts +2 -1
- package/dist/runtime/background-task-manager.js +13 -1
- package/dist/runtime/background-task-manager.js.map +1 -1
- package/dist/runtime/resumable-stream-executor.d.ts +8 -3
- package/dist/runtime/resumable-stream-executor.js +67 -120
- package/dist/runtime/resumable-stream-executor.js.map +1 -1
- package/dist/runtime/run-state-registry.d.ts +1 -0
- package/dist/runtime/run-state-registry.js.map +1 -1
- package/dist/runtime/stream-runner.d.ts +4 -2
- package/dist/runtime/stream-runner.js +5 -25
- package/dist/runtime/stream-runner.js.map +1 -1
- package/dist/stream/consume-with-hitl.d.ts +6 -1
- package/dist/stream/consume-with-hitl.js +12 -2
- package/dist/stream/consume-with-hitl.js.map +1 -1
- package/dist/stream/map-chunk.d.ts +1 -1
- package/dist/stream/map-chunk.js +35 -16
- package/dist/stream/map-chunk.js.map +1 -1
- package/dist/stream/work-summary-accumulator.d.ts +63 -0
- package/dist/stream/work-summary-accumulator.js +66 -0
- package/dist/stream/work-summary-accumulator.js.map +1 -0
- package/dist/tools/attachments/parse-file.tool.d.ts +90 -0
- package/dist/tools/attachments/parse-file.tool.js +135 -0
- package/dist/tools/attachments/parse-file.tool.js.map +1 -0
- package/dist/tools/best-practices/get-best-practices.tool.d.ts +6 -9
- package/dist/tools/best-practices/get-best-practices.tool.js +7 -5
- package/dist/tools/best-practices/get-best-practices.tool.js.map +1 -1
- package/dist/tools/best-practices/index.js +5 -29
- package/dist/tools/best-practices/index.js.map +1 -1
- package/dist/tools/best-practices/techniques.d.ts +1 -20
- package/dist/tools/best-practices/techniques.js +3 -36
- package/dist/tools/best-practices/techniques.js.map +1 -1
- package/dist/tools/credentials/delete-credential.tool.d.ts +13 -14
- package/dist/tools/credentials/delete-credential.tool.js +18 -11
- package/dist/tools/credentials/delete-credential.tool.js.map +1 -1
- package/dist/tools/credentials/get-credential.tool.d.ts +8 -2
- package/dist/tools/credentials/get-credential.tool.js +13 -7
- package/dist/tools/credentials/get-credential.tool.js.map +1 -1
- package/dist/tools/credentials/list-credentials.tool.d.ts +13 -3
- package/dist/tools/credentials/list-credentials.tool.js +50 -8
- package/dist/tools/credentials/list-credentials.tool.js.map +1 -1
- package/dist/tools/credentials/search-credential-types.tool.d.ts +7 -3
- package/dist/tools/credentials/search-credential-types.tool.js +7 -5
- package/dist/tools/credentials/search-credential-types.tool.js.map +1 -1
- package/dist/tools/credentials/setup-credentials.tool.d.ts +40 -44
- package/dist/tools/credentials/setup-credentials.tool.js +37 -31
- package/dist/tools/credentials/setup-credentials.tool.js.map +1 -1
- package/dist/tools/credentials/test-credential.tool.d.ts +7 -4
- package/dist/tools/credentials/test-credential.tool.js +5 -3
- package/dist/tools/credentials/test-credential.tool.js.map +1 -1
- package/dist/tools/data-tables/add-data-table-column.tool.d.ts +15 -19
- package/dist/tools/data-tables/add-data-table-column.tool.js +16 -9
- package/dist/tools/data-tables/add-data-table-column.tool.js.map +1 -1
- package/dist/tools/data-tables/create-data-table.tool.d.ts +26 -24
- package/dist/tools/data-tables/create-data-table.tool.js +49 -22
- package/dist/tools/data-tables/create-data-table.tool.js.map +1 -1
- package/dist/tools/data-tables/delete-data-table-column.tool.d.ts +13 -14
- package/dist/tools/data-tables/delete-data-table-column.tool.js +15 -8
- package/dist/tools/data-tables/delete-data-table-column.tool.js.map +1 -1
- package/dist/tools/data-tables/delete-data-table-rows.tool.d.ts +49 -15
- package/dist/tools/data-tables/delete-data-table-rows.tool.js +25 -9
- package/dist/tools/data-tables/delete-data-table-rows.tool.js.map +1 -1
- package/dist/tools/data-tables/delete-data-table.tool.d.ts +11 -14
- package/dist/tools/data-tables/delete-data-table.tool.js +17 -9
- package/dist/tools/data-tables/delete-data-table.tool.js.map +1 -1
- package/dist/tools/data-tables/get-data-table-schema.tool.d.ts +7 -8
- package/dist/tools/data-tables/get-data-table-schema.tool.js +5 -3
- package/dist/tools/data-tables/get-data-table-schema.tool.js.map +1 -1
- package/dist/tools/data-tables/insert-data-table-rows.tool.d.ts +14 -15
- package/dist/tools/data-tables/insert-data-table-rows.tool.js +22 -12
- package/dist/tools/data-tables/insert-data-table-rows.tool.js.map +1 -1
- package/dist/tools/data-tables/list-data-tables.tool.d.ts +7 -3
- package/dist/tools/data-tables/list-data-tables.tool.js +8 -6
- package/dist/tools/data-tables/list-data-tables.tool.js.map +1 -1
- package/dist/tools/data-tables/query-data-table-rows.tool.d.ts +49 -8
- package/dist/tools/data-tables/query-data-table-rows.tool.js +14 -12
- package/dist/tools/data-tables/query-data-table-rows.tool.js.map +1 -1
- package/dist/tools/data-tables/rename-data-table-column.tool.d.ts +15 -14
- package/dist/tools/data-tables/rename-data-table-column.tool.js +16 -9
- package/dist/tools/data-tables/rename-data-table-column.tool.js.map +1 -1
- package/dist/tools/data-tables/update-data-table-rows.tool.d.ts +51 -14
- package/dist/tools/data-tables/update-data-table-rows.tool.js +19 -9
- package/dist/tools/data-tables/update-data-table-rows.tool.js.map +1 -1
- package/dist/tools/executions/debug-execution.tool.d.ts +8 -2
- package/dist/tools/executions/debug-execution.tool.js +5 -3
- package/dist/tools/executions/debug-execution.tool.js.map +1 -1
- package/dist/tools/executions/get-execution.tool.d.ts +8 -2
- package/dist/tools/executions/get-execution.tool.js +5 -3
- package/dist/tools/executions/get-execution.tool.js.map +1 -1
- package/dist/tools/executions/get-node-output.tool.d.ts +14 -2
- package/dist/tools/executions/get-node-output.tool.js +14 -17
- package/dist/tools/executions/get-node-output.tool.js.map +1 -1
- package/dist/tools/executions/list-executions.tool.d.ts +11 -3
- package/dist/tools/executions/list-executions.tool.js +16 -14
- package/dist/tools/executions/list-executions.tool.js.map +1 -1
- package/dist/tools/executions/run-workflow.tool.d.ts +17 -15
- package/dist/tools/executions/run-workflow.tool.js +35 -25
- package/dist/tools/executions/run-workflow.tool.js.map +1 -1
- package/dist/tools/executions/stop-execution.tool.d.ts +7 -4
- package/dist/tools/executions/stop-execution.tool.js +8 -3
- package/dist/tools/executions/stop-execution.tool.js.map +1 -1
- package/dist/tools/filesystem/create-tools-from-mcp-server.js +77 -6
- package/dist/tools/filesystem/create-tools-from-mcp-server.js.map +1 -1
- package/dist/tools/index.d.ts +67 -2380
- package/dist/tools/index.js +9 -15
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/nodes/explore-node-resources.tool.d.ts +23 -10
- package/dist/tools/nodes/explore-node-resources.tool.js +27 -25
- package/dist/tools/nodes/explore-node-resources.tool.js.map +1 -1
- package/dist/tools/nodes/get-node-description.tool.d.ts +7 -20
- package/dist/tools/nodes/get-node-description.tool.js +5 -3
- package/dist/tools/nodes/get-node-description.tool.js.map +1 -1
- package/dist/tools/nodes/get-node-type-definition.tool.d.ts +29 -6
- package/dist/tools/nodes/get-node-type-definition.tool.js +9 -7
- package/dist/tools/nodes/get-node-type-definition.tool.js.map +1 -1
- package/dist/tools/nodes/get-suggested-nodes.tool.d.ts +7 -12
- package/dist/tools/nodes/get-suggested-nodes.tool.js +9 -7
- package/dist/tools/nodes/get-suggested-nodes.tool.js.map +1 -1
- package/dist/tools/nodes/list-nodes.tool.d.ts +7 -3
- package/dist/tools/nodes/list-nodes.tool.js +8 -6
- package/dist/tools/nodes/list-nodes.tool.js.map +1 -1
- package/dist/tools/nodes/node-search-engine.d.ts +1 -0
- package/dist/tools/nodes/node-search-engine.js +12 -9
- package/dist/tools/nodes/node-search-engine.js.map +1 -1
- package/dist/tools/nodes/search-nodes.tool.d.ts +12 -24
- package/dist/tools/nodes/search-nodes.tool.js +21 -17
- package/dist/tools/nodes/search-nodes.tool.js.map +1 -1
- package/dist/tools/orchestration/add-plan-item.tool.d.ts +5 -0
- package/dist/tools/orchestration/add-plan-item.tool.js +91 -0
- package/dist/tools/orchestration/add-plan-item.tool.js.map +1 -0
- package/dist/tools/orchestration/blueprint-accumulator.d.ts +50 -0
- package/dist/tools/orchestration/blueprint-accumulator.js +215 -0
- package/dist/tools/orchestration/blueprint-accumulator.js.map +1 -0
- package/dist/tools/orchestration/blueprint.schema.d.ts +271 -0
- package/dist/tools/orchestration/blueprint.schema.js +61 -0
- package/dist/tools/orchestration/blueprint.schema.js.map +1 -0
- package/dist/tools/orchestration/browser-credential-setup.tool.d.ts +15 -12
- package/dist/tools/orchestration/browser-credential-setup.tool.js +27 -21
- package/dist/tools/orchestration/browser-credential-setup.tool.js.map +1 -1
- package/dist/tools/orchestration/build-workflow-agent.prompt.d.ts +1 -1
- package/dist/tools/orchestration/build-workflow-agent.prompt.js +43 -149
- package/dist/tools/orchestration/build-workflow-agent.prompt.js.map +1 -1
- package/dist/tools/orchestration/build-workflow-agent.tool.d.ts +11 -4
- package/dist/tools/orchestration/build-workflow-agent.tool.js +52 -82
- package/dist/tools/orchestration/build-workflow-agent.tool.js.map +1 -1
- package/dist/tools/orchestration/cancel-background-task.tool.d.ts +7 -3
- package/dist/tools/orchestration/cancel-background-task.tool.js +5 -3
- package/dist/tools/orchestration/cancel-background-task.tool.js.map +1 -1
- package/dist/tools/orchestration/correct-background-task.tool.d.ts +9 -3
- package/dist/tools/orchestration/correct-background-task.tool.js +8 -6
- package/dist/tools/orchestration/correct-background-task.tool.js.map +1 -1
- package/dist/tools/orchestration/data-table-agent.prompt.d.ts +1 -1
- package/dist/tools/orchestration/data-table-agent.prompt.js +20 -0
- package/dist/tools/orchestration/data-table-agent.prompt.js.map +1 -1
- package/dist/tools/orchestration/data-table-agent.tool.d.ts +9 -4
- package/dist/tools/orchestration/data-table-agent.tool.js +23 -25
- package/dist/tools/orchestration/data-table-agent.tool.js.map +1 -1
- package/dist/tools/orchestration/delegate.schemas.d.ts +12 -0
- package/dist/tools/orchestration/delegate.schemas.js +17 -0
- package/dist/tools/orchestration/delegate.schemas.js.map +1 -1
- package/dist/tools/orchestration/delegate.tool.d.ts +1 -10
- package/dist/tools/orchestration/delegate.tool.js +42 -41
- package/dist/tools/orchestration/delegate.tool.js.map +1 -1
- package/dist/tools/orchestration/plan-agent-prompt.d.ts +1 -0
- package/dist/tools/orchestration/plan-agent-prompt.js +76 -0
- package/dist/tools/orchestration/plan-agent-prompt.js.map +1 -0
- package/dist/tools/orchestration/plan-with-agent.tool.d.ts +2 -0
- package/dist/tools/orchestration/plan-with-agent.tool.js +277 -0
- package/dist/tools/orchestration/plan-with-agent.tool.js.map +1 -0
- package/dist/tools/orchestration/plan.tool.d.ts +7 -39
- package/dist/tools/orchestration/plan.tool.js +15 -13
- package/dist/tools/orchestration/plan.tool.js.map +1 -1
- package/dist/tools/orchestration/report-verification-verdict.tool.d.ts +23 -3
- package/dist/tools/orchestration/report-verification-verdict.tool.js +27 -28
- package/dist/tools/orchestration/report-verification-verdict.tool.js.map +1 -1
- package/dist/tools/orchestration/research-with-agent.tool.d.ts +11 -4
- package/dist/tools/orchestration/research-with-agent.tool.js +26 -21
- package/dist/tools/orchestration/research-with-agent.tool.js.map +1 -1
- package/dist/tools/orchestration/submit-plan.tool.d.ts +3 -0
- package/dist/tools/orchestration/submit-plan.tool.js +81 -0
- package/dist/tools/orchestration/submit-plan.tool.js.map +1 -0
- package/dist/tools/orchestration/update-tasks.tool.d.ts +1 -9
- package/dist/tools/orchestration/update-tasks.tool.js.map +1 -1
- package/dist/tools/orchestration/verify-built-workflow.tool.d.ts +13 -7
- package/dist/tools/orchestration/verify-built-workflow.tool.js +14 -15
- package/dist/tools/orchestration/verify-built-workflow.tool.js.map +1 -1
- package/dist/tools/shared/ask-user.tool.d.ts +42 -31
- package/dist/tools/shared/ask-user.tool.js +16 -15
- package/dist/tools/shared/ask-user.tool.js.map +1 -1
- package/dist/tools/templates/search-template-parameters.tool.d.ts +14 -7
- package/dist/tools/templates/search-template-parameters.tool.js +17 -15
- package/dist/tools/templates/search-template-parameters.tool.js.map +1 -1
- package/dist/tools/templates/search-template-structures.tool.d.ts +11 -8
- package/dist/tools/templates/search-template-structures.tool.js +13 -11
- package/dist/tools/templates/search-template-structures.tool.js.map +1 -1
- package/dist/tools/web-research/fetch-url.tool.d.ts +9 -23
- package/dist/tools/web-research/fetch-url.tool.js +30 -14
- package/dist/tools/web-research/fetch-url.tool.js.map +1 -1
- package/dist/tools/web-research/web-search.tool.d.ts +12 -2
- package/dist/tools/web-research/web-search.tool.js +20 -18
- package/dist/tools/web-research/web-search.tool.js.map +1 -1
- package/dist/tools/workflows/apply-workflow-credentials.tool.d.ts +11 -5
- package/dist/tools/workflows/apply-workflow-credentials.tool.js +7 -5
- package/dist/tools/workflows/apply-workflow-credentials.tool.js.map +1 -1
- package/dist/tools/workflows/build-workflow.tool.d.ts +26 -5
- package/dist/tools/workflows/build-workflow.tool.js +23 -20
- package/dist/tools/workflows/build-workflow.tool.js.map +1 -1
- package/dist/tools/workflows/delete-workflow.tool.d.ts +13 -14
- package/dist/tools/workflows/delete-workflow.tool.js +15 -11
- package/dist/tools/workflows/delete-workflow.tool.js.map +1 -1
- package/dist/tools/workflows/get-workflow-as-code.tool.d.ts +6 -10
- package/dist/tools/workflows/get-workflow-as-code.tool.js +5 -3
- package/dist/tools/workflows/get-workflow-as-code.tool.js.map +1 -1
- package/dist/tools/workflows/get-workflow-version.tool.d.ts +8 -16
- package/dist/tools/workflows/get-workflow-version.tool.js +6 -4
- package/dist/tools/workflows/get-workflow-version.tool.js.map +1 -1
- package/dist/tools/workflows/get-workflow.tool.d.ts +7 -15
- package/dist/tools/workflows/get-workflow.tool.js +5 -3
- package/dist/tools/workflows/get-workflow.tool.js.map +1 -1
- package/dist/tools/workflows/list-workflow-versions.tool.d.ts +11 -3
- package/dist/tools/workflows/list-workflow-versions.tool.js +13 -11
- package/dist/tools/workflows/list-workflow-versions.tool.js.map +1 -1
- package/dist/tools/workflows/list-workflows.tool.d.ts +9 -10
- package/dist/tools/workflows/list-workflows.tool.js +12 -10
- package/dist/tools/workflows/list-workflows.tool.js.map +1 -1
- package/dist/tools/workflows/materialize-node-type.tool.d.ts +29 -11
- package/dist/tools/workflows/materialize-node-type.tool.js +9 -7
- package/dist/tools/workflows/materialize-node-type.tool.js.map +1 -1
- package/dist/tools/workflows/publish-workflow.tool.d.ts +6 -20
- package/dist/tools/workflows/publish-workflow.tool.js +29 -24
- package/dist/tools/workflows/publish-workflow.tool.js.map +1 -1
- package/dist/tools/workflows/restore-workflow-version.tool.d.ts +13 -15
- package/dist/tools/workflows/restore-workflow-version.tool.js +15 -8
- package/dist/tools/workflows/restore-workflow-version.tool.js.map +1 -1
- package/dist/tools/workflows/setup-workflow.service.d.ts +0 -1
- package/dist/tools/workflows/setup-workflow.service.js +23 -6
- package/dist/tools/workflows/setup-workflow.service.js.map +1 -1
- package/dist/tools/workflows/setup-workflow.tool.d.ts +7 -144
- package/dist/tools/workflows/setup-workflow.tool.js +10 -14
- package/dist/tools/workflows/setup-workflow.tool.js.map +1 -1
- package/dist/tools/workflows/submit-workflow.tool.d.ts +12 -9
- package/dist/tools/workflows/submit-workflow.tool.js +15 -17
- package/dist/tools/workflows/submit-workflow.tool.js.map +1 -1
- package/dist/tools/workflows/unpublish-workflow.tool.d.ts +13 -15
- package/dist/tools/workflows/unpublish-workflow.tool.js +15 -11
- package/dist/tools/workflows/unpublish-workflow.tool.js.map +1 -1
- package/dist/tools/workflows/update-workflow-version.tool.d.ts +13 -3
- package/dist/tools/workflows/update-workflow-version.tool.js +12 -10
- package/dist/tools/workflows/update-workflow-version.tool.js.map +1 -1
- package/dist/tools/workflows/write-sandbox-file.tool.d.ts +9 -9
- package/dist/tools/workflows/write-sandbox-file.tool.js +8 -6
- package/dist/tools/workflows/write-sandbox-file.tool.js.map +1 -1
- package/dist/tools/workspace/cleanup-test-executions.tool.d.ts +15 -14
- package/dist/tools/workspace/cleanup-test-executions.tool.js +19 -15
- package/dist/tools/workspace/cleanup-test-executions.tool.js.map +1 -1
- package/dist/tools/workspace/create-folder.tool.d.ts +15 -16
- package/dist/tools/workspace/create-folder.tool.js +25 -12
- package/dist/tools/workspace/create-folder.tool.js.map +1 -1
- package/dist/tools/workspace/delete-folder.tool.d.ts +19 -14
- package/dist/tools/workspace/delete-folder.tool.js +24 -17
- package/dist/tools/workspace/delete-folder.tool.js.map +1 -1
- package/dist/tools/workspace/list-folders.tool.d.ts +7 -3
- package/dist/tools/workspace/list-folders.tool.js +5 -3
- package/dist/tools/workspace/list-folders.tool.js.map +1 -1
- package/dist/tools/workspace/list-projects.tool.d.ts +3 -3
- package/dist/tools/workspace/list-projects.tool.js +3 -1
- package/dist/tools/workspace/list-projects.tool.js.map +1 -1
- package/dist/tools/workspace/list-tags.tool.d.ts +3 -6
- package/dist/tools/workspace/list-tags.tool.js +3 -1
- package/dist/tools/workspace/list-tags.tool.js.map +1 -1
- package/dist/tools/workspace/move-workflow-to-folder.tool.d.ts +17 -14
- package/dist/tools/workspace/move-workflow-to-folder.tool.js +20 -16
- package/dist/tools/workspace/move-workflow-to-folder.tool.js.map +1 -1
- package/dist/tools/workspace/tag-workflow.tool.d.ts +15 -14
- package/dist/tools/workspace/tag-workflow.tool.js +16 -12
- package/dist/tools/workspace/tag-workflow.tool.js.map +1 -1
- package/dist/tracing/langsmith-tracing.d.ts +1 -0
- package/dist/tracing/langsmith-tracing.js +47 -57
- package/dist/tracing/langsmith-tracing.js.map +1 -1
- package/dist/types.d.ts +27 -50
- package/dist/utils/eval-agents.d.ts +10 -0
- package/dist/utils/eval-agents.js +54 -0
- package/dist/utils/eval-agents.js.map +1 -0
- package/dist/workflow-builder/sdk-prompt-sections.d.ts +1 -4
- package/dist/workflow-builder/sdk-prompt-sections.js +5 -513
- package/dist/workflow-builder/sdk-prompt-sections.js.map +1 -1
- package/dist/workflow-loop/guidance.js +3 -5
- package/dist/workflow-loop/guidance.js.map +1 -1
- package/dist/workspace/create-workspace.d.ts +1 -1
- package/dist/workspace/create-workspace.js +3 -2
- package/dist/workspace/create-workspace.js.map +1 -1
- package/dist/workspace/daytona-filesystem.js +15 -1
- package/dist/workspace/daytona-filesystem.js.map +1 -1
- package/dist/workspace/snapshot-manager.d.ts +4 -2
- package/dist/workspace/snapshot-manager.js +7 -2
- package/dist/workspace/snapshot-manager.js.map +1 -1
- package/package.json +29 -11
- package/dist/memory/working-memory-template.d.ts +0 -1
- package/dist/memory/working-memory-template.js +0 -25
- package/dist/memory/working-memory-template.js.map +0 -1
- package/dist/runtime/working-memory-tracing.d.ts +0 -19
- package/dist/runtime/working-memory-tracing.js +0 -111
- package/dist/runtime/working-memory-tracing.js.map +0 -1
- package/dist/tools/best-practices/guides/chatbot.d.ts +0 -1
- package/dist/tools/best-practices/guides/chatbot.js +0 -111
- package/dist/tools/best-practices/guides/chatbot.js.map +0 -1
- package/dist/tools/best-practices/guides/content-generation.d.ts +0 -1
- package/dist/tools/best-practices/guides/content-generation.js +0 -108
- package/dist/tools/best-practices/guides/content-generation.js.map +0 -1
- package/dist/tools/best-practices/guides/data-extraction.d.ts +0 -1
- package/dist/tools/best-practices/guides/data-extraction.js +0 -115
- package/dist/tools/best-practices/guides/data-extraction.js.map +0 -1
- package/dist/tools/best-practices/guides/data-persistence.d.ts +0 -1
- package/dist/tools/best-practices/guides/data-persistence.js +0 -198
- package/dist/tools/best-practices/guides/data-persistence.js.map +0 -1
- package/dist/tools/best-practices/guides/data-transformation.d.ts +0 -1
- package/dist/tools/best-practices/guides/data-transformation.js +0 -139
- package/dist/tools/best-practices/guides/data-transformation.js.map +0 -1
- package/dist/tools/best-practices/guides/document-processing.d.ts +0 -1
- package/dist/tools/best-practices/guides/document-processing.js +0 -326
- package/dist/tools/best-practices/guides/document-processing.js.map +0 -1
- package/dist/tools/best-practices/guides/form-input.d.ts +0 -1
- package/dist/tools/best-practices/guides/form-input.js +0 -166
- package/dist/tools/best-practices/guides/form-input.js.map +0 -1
- package/dist/tools/best-practices/guides/notification.d.ts +0 -1
- package/dist/tools/best-practices/guides/notification.js +0 -128
- package/dist/tools/best-practices/guides/notification.js.map +0 -1
- package/dist/tools/best-practices/guides/scheduling.d.ts +0 -1
- package/dist/tools/best-practices/guides/scheduling.js +0 -145
- package/dist/tools/best-practices/guides/scheduling.js.map +0 -1
- package/dist/tools/best-practices/guides/scraping-and-research.d.ts +0 -1
- package/dist/tools/best-practices/guides/scraping-and-research.js +0 -151
- package/dist/tools/best-practices/guides/scraping-and-research.js.map +0 -1
- package/dist/tools/best-practices/guides/triage.d.ts +0 -1
- package/dist/tools/best-practices/guides/triage.js +0 -142
- package/dist/tools/best-practices/guides/triage.js.map +0 -1
- package/dist/tools/filesystem/get-file-tree.tool.d.ts +0 -22
- package/dist/tools/filesystem/get-file-tree.tool.js +0 -64
- package/dist/tools/filesystem/get-file-tree.tool.js.map +0 -1
- package/dist/tools/filesystem/list-files.tool.d.ts +0 -30
- package/dist/tools/filesystem/list-files.tool.js +0 -100
- package/dist/tools/filesystem/list-files.tool.js.map +0 -1
- package/dist/tools/filesystem/read-file.tool.d.ts +0 -25
- package/dist/tools/filesystem/read-file.tool.js +0 -83
- package/dist/tools/filesystem/read-file.tool.js.map +0 -1
- package/dist/tools/filesystem/search-files.tool.d.ts +0 -31
- package/dist/tools/filesystem/search-files.tool.js +0 -96
- package/dist/tools/filesystem/search-files.tool.js.map +0 -1
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.applyPlannedTaskPermissions = applyPlannedTaskPermissions;
|
|
4
|
+
const PLANNED_TASK_PERMISSION_OVERRIDES = {
|
|
5
|
+
'manage-data-tables': {
|
|
6
|
+
createDataTable: 'always_allow',
|
|
7
|
+
mutateDataTableSchema: 'always_allow',
|
|
8
|
+
mutateDataTableRows: 'always_allow',
|
|
9
|
+
},
|
|
10
|
+
'build-workflow': {
|
|
11
|
+
runWorkflow: 'always_allow',
|
|
12
|
+
publishWorkflow: 'always_allow',
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
function applyPlannedTaskPermissions(context, taskKind) {
|
|
16
|
+
const overrides = PLANNED_TASK_PERMISSION_OVERRIDES[taskKind];
|
|
17
|
+
if (!overrides)
|
|
18
|
+
return context;
|
|
19
|
+
return {
|
|
20
|
+
...context,
|
|
21
|
+
permissions: {
|
|
22
|
+
...context.permissions,
|
|
23
|
+
...overrides,
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=planned-task-permissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"planned-task-permissions.js","sourceRoot":"","sources":["../../src/planned-tasks/planned-task-permissions.ts"],"names":[],"mappings":";;AAgCA,kEAcC;AAjCD,MAAM,iCAAiC,GAEnC;IACH,oBAAoB,EAAE;QACrB,eAAe,EAAE,cAAc;QAC/B,qBAAqB,EAAE,cAAc;QACrC,mBAAmB,EAAE,cAAc;KACnC;IACD,gBAAgB,EAAE;QACjB,WAAW,EAAE,cAAc;QAC3B,eAAe,EAAE,cAAc;KAC/B;CACD,CAAC;AAOF,SAAgB,2BAA2B,CAC1C,OAA0B,EAC1B,QAAyB;IAEzB,MAAM,SAAS,GAAG,iCAAiC,CAAC,QAAQ,CAAC,CAAC;IAC9D,IAAI,CAAC,SAAS;QAAE,OAAO,OAAO,CAAC;IAE/B,OAAO;QACN,GAAG,OAAO;QACV,WAAW,EAAE;YACZ,GAAG,OAAO,CAAC,WAAW;YACtB,GAAG,SAAS;SACa;KAC1B,CAAC;AACH,CAAC"}
|
|
@@ -127,6 +127,12 @@ class PlannedTaskCoordinator {
|
|
|
127
127
|
action = { type: 'synthesize', graph: nextGraph };
|
|
128
128
|
return nextGraph;
|
|
129
129
|
}
|
|
130
|
+
const hasWorkLeft = graph.tasks.some((t) => t.status === 'planned' || t.status === 'running');
|
|
131
|
+
if (graph.tasks.length > 0 && !hasWorkLeft) {
|
|
132
|
+
const nextGraph = { ...graph, status: 'completed' };
|
|
133
|
+
action = { type: 'synthesize', graph: nextGraph };
|
|
134
|
+
return nextGraph;
|
|
135
|
+
}
|
|
130
136
|
const availableSlots = options.availableSlots ?? graph.tasks.length;
|
|
131
137
|
if (availableSlots <= 0) {
|
|
132
138
|
action = { type: 'none', graph };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planned-task-service.js","sourceRoot":"","sources":["../../src/planned-tasks/planned-task-service.ts"],"names":[],"mappings":";;;AASA,SAAS,eAAe,CAAC,KAAoB;IAC5C,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,CAAC;AACpE,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAoB;IACjD,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,EAAE,8BAA8B,KAAK,GAAG,CAAC,CAAC;YACzE,CAAC;QACF,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YAC1E,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,CAAC,EAAE,kCAAkC,CAAC,CAAC;QAC9E,CAAC;IACF,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAE3D,MAAM,KAAK,GAAG,CAAC,MAAc,EAAE,EAAE;QAChC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO;QAChC,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,+CAA+C,MAAM,GAAG,CAAC,CAAC;QAC3E,CAAC;QAED,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9B,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;YACtC,KAAK,CAAC,KAAK,CAAC,CAAC;QACd,CAAC;QACD,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC;AACF,CAAC;AAED,SAAS,SAAS,CAAC,IAAuB;IACzC,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC;AACpC,CAAC;AAED,SAAS,gBAAgB,CACxB,KAAuB,EACvB,MAAc,EACd,OAAuD;IAEvD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;IAClE,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAE3B,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/B,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACrC,OAAO,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC;AAC5B,CAAC;AAED,MAAa,sBAAsB;IACL;IAA7B,YAA6B,OAA2B;QAA3B,YAAO,GAAP,OAAO,CAAoB;IAAG,CAAC;IAE5D,KAAK,CAAC,UAAU,CACf,QAAgB,EAChB,KAAoB,EACpB,QAAwD;QAExD,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAE5B,MAAM,KAAK,GAAqB;YAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAoB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC9C,GAAG,IAAI;gBACP,MAAM,EAAE,SAAS;aACjB,CAAC,CAAC;SACH,CAAC;QAEF,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACzC,OAAO,KAAK,CAAC;IACd,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAgB;QAC9B,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,WAAW,CAChB,QAAgB,EAChB,MAAc,EACd,MAA2E;QAE3E,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CACpD,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1C,GAAG,IAAI;YACP,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO;YACvC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB;YAClE,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;YAC3D,KAAK,EAAE,SAAS;SAChB,CAAC,CAAC,CACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAClB,QAAgB,EAChB,MAAc,EACd,MAAmF;QAEnF,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CACpD,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1C,GAAG,IAAI;YACP,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM;YACpC,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO;YACvC,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE;YAC3C,KAAK,EAAE,SAAS;SAChB,CAAC,CAAC,CACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CACf,QAAgB,EAChB,MAAc,EACd,MAA+C;QAE/C,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CACpD,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1C,GAAG,IAAI;YACP,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,eAAe;YACpD,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE;SAC3C,CAAC,CAAC,CACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAClB,QAAgB,EAChB,MAAc,EACd,MAAgD;QAEhD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CACpD,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1C,GAAG,IAAI;YACP,MAAM,EAAE,WAAW;YACnB,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC,KAAK;YAClC,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE;SAC5C,CAAC,CAAC,CACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CACT,QAAgB,EAChB,UAAuC,EAAE;QAIzC,IAAI,MAAM,GAA+B,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAEvE,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YAC7C,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,MAAM,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;gBACjC,OAAO,KAAK,CAAC;YACd,CAAC;YAED,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;YACxE,IAAI,UAAU,EAAE,CAAC;gBAChB,MAAM,SAAS,GAAqB,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;gBAC5E,MAAM,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;gBAC1D,OAAO,SAAS,CAAC;YAClB,CAAC;YAED,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5D,MAAM,SAAS,GAAqB,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;gBACtE,MAAM,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;gBAClD,OAAO,SAAS,CAAC;YAClB,CAAC;YAED,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;YACpE,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;gBACzB,MAAM,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;gBACjC,OAAO,KAAK,CAAC;YACd,CAAC;YAED,MAAM,aAAa,GAAG,IAAI,GAAG,CAC5B,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAChF,CAAC;YACF,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CACpC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAC3F,CAAC;YAEF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,MAAM,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;gBACjC,OAAO,KAAK,CAAC;YACd,CAAC;YAED,MAAM,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,EAAE,CAAC;YACjF,OAAO,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;QAGH,OAAO,MAAM,CAAC;IACf,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,QAAgB;QAC3B,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;CACD;
|
|
1
|
+
{"version":3,"file":"planned-task-service.js","sourceRoot":"","sources":["../../src/planned-tasks/planned-task-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ export interface ManagedBackgroundTask {
|
|
|
12
12
|
startedAt: number;
|
|
13
13
|
abortController: AbortController;
|
|
14
14
|
corrections: string[];
|
|
15
|
+
onCorrectionQueued?: () => void;
|
|
15
16
|
messageGroupId?: string;
|
|
16
17
|
outcome?: Record<string, unknown>;
|
|
17
18
|
plannedTaskId?: string;
|
|
@@ -28,7 +29,7 @@ export interface SpawnManagedBackgroundTaskOptions {
|
|
|
28
29
|
plannedTaskId?: string;
|
|
29
30
|
workItemId?: string;
|
|
30
31
|
traceContext?: InstanceAiTraceContext;
|
|
31
|
-
run: (signal: AbortSignal, drainCorrections: () => string[]) => Promise<string | BackgroundTaskResult>;
|
|
32
|
+
run: (signal: AbortSignal, drainCorrections: () => string[], waitForCorrection: () => Promise<void>) => Promise<string | BackgroundTaskResult>;
|
|
32
33
|
onLimitReached?: (errorMessage: string) => void;
|
|
33
34
|
onCompleted?: (task: ManagedBackgroundTask) => void | Promise<void>;
|
|
34
35
|
onFailed?: (task: ManagedBackgroundTask) => void | Promise<void>;
|
|
@@ -21,6 +21,11 @@ class BackgroundTaskManager {
|
|
|
21
21
|
if (task.status !== 'running')
|
|
22
22
|
return 'task-completed';
|
|
23
23
|
task.corrections.push(correction);
|
|
24
|
+
if (task.onCorrectionQueued) {
|
|
25
|
+
const notify = task.onCorrectionQueued;
|
|
26
|
+
task.onCorrectionQueued = undefined;
|
|
27
|
+
notify();
|
|
28
|
+
}
|
|
24
29
|
return 'queued';
|
|
25
30
|
}
|
|
26
31
|
cancelTask(threadId, taskId) {
|
|
@@ -84,8 +89,15 @@ class BackgroundTaskManager {
|
|
|
84
89
|
task.corrections.length = 0;
|
|
85
90
|
return pending;
|
|
86
91
|
};
|
|
92
|
+
const waitForCorrection = async () => await new Promise((resolve) => {
|
|
93
|
+
if (task.corrections.length > 0) {
|
|
94
|
+
resolve();
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
task.onCorrectionQueued = resolve;
|
|
98
|
+
});
|
|
87
99
|
try {
|
|
88
|
-
const raw = await options.run(task.abortController.signal, drainCorrections);
|
|
100
|
+
const raw = await options.run(task.abortController.signal, drainCorrections, waitForCorrection);
|
|
89
101
|
task.status = 'completed';
|
|
90
102
|
task.result = typeof raw === 'string' ? raw : raw.text;
|
|
91
103
|
task.outcome = typeof raw === 'string' ? undefined : raw.outcome;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background-task-manager.js","sourceRoot":"","sources":["../../src/runtime/background-task-manager.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"background-task-manager.js","sourceRoot":"","sources":["../../src/runtime/background-task-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { InstanceAiEvent } from '@n8n/api-types';
|
|
2
2
|
import type { RunTree } from 'langsmith';
|
|
3
3
|
import type { InstanceAiEventBus } from '../event-bus';
|
|
4
|
+
import type { Logger } from '../logger';
|
|
5
|
+
import { type WorkSummary } from '../stream/work-summary-accumulator';
|
|
4
6
|
import type { SuspensionInfo } from '../utils/stream-helpers';
|
|
5
7
|
type ConfirmationRequestEvent = Extract<InstanceAiEvent, {
|
|
6
8
|
type: 'confirmation-request';
|
|
@@ -22,6 +24,7 @@ export interface ResumableStreamContext {
|
|
|
22
24
|
agentId: string;
|
|
23
25
|
eventBus: InstanceAiEventBus;
|
|
24
26
|
signal: AbortSignal;
|
|
27
|
+
logger: Logger;
|
|
25
28
|
}
|
|
26
29
|
export interface ManualSuspensionControl {
|
|
27
30
|
mode: 'manual';
|
|
@@ -30,6 +33,7 @@ export interface AutoResumeControl {
|
|
|
30
33
|
mode: 'auto';
|
|
31
34
|
waitForConfirmation: (requestId: string) => Promise<Record<string, unknown>>;
|
|
32
35
|
drainCorrections?: () => string[];
|
|
36
|
+
waitForCorrection?: () => Promise<void>;
|
|
33
37
|
onSuspension?: (suspension: SuspensionInfo) => void;
|
|
34
38
|
buildResumeOptions?: (input: {
|
|
35
39
|
mastraRunId: string;
|
|
@@ -44,14 +48,15 @@ export interface ExecuteResumableStreamOptions {
|
|
|
44
48
|
control: ResumableStreamControl;
|
|
45
49
|
initialMastraRunId?: string;
|
|
46
50
|
llmStepTraceHooks?: LlmStepTraceHooks;
|
|
47
|
-
workingMemoryEnabled?: boolean;
|
|
48
51
|
}
|
|
52
|
+
export type TraceStatus = 'completed' | 'cancelled' | 'suspended' | 'errored';
|
|
49
53
|
export interface ExecuteResumableStreamResult {
|
|
50
|
-
status:
|
|
54
|
+
status: TraceStatus;
|
|
51
55
|
mastraRunId: string;
|
|
52
56
|
text?: Promise<string>;
|
|
53
57
|
suspension?: SuspensionInfo;
|
|
54
58
|
confirmationEvent?: ConfirmationRequestEvent;
|
|
59
|
+
workSummary: WorkSummary;
|
|
55
60
|
}
|
|
56
61
|
export interface LlmStepTraceHooks {
|
|
57
62
|
executionOptions: {
|
|
@@ -66,7 +71,7 @@ export interface LlmStepTraceHooks {
|
|
|
66
71
|
onStreamChunk: (chunk: unknown) => void;
|
|
67
72
|
startSegment: () => void;
|
|
68
73
|
finalize: (source: ResumableStreamSource, options?: {
|
|
69
|
-
status?:
|
|
74
|
+
status?: TraceStatus;
|
|
70
75
|
error?: string;
|
|
71
76
|
}) => Promise<void>;
|
|
72
77
|
}
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createLlmStepTraceHooks = createLlmStepTraceHooks;
|
|
4
4
|
exports.executeResumableStream = executeResumableStream;
|
|
5
|
-
const working_memory_tracing_1 = require("./working-memory-tracing");
|
|
6
5
|
const map_chunk_1 = require("../stream/map-chunk");
|
|
6
|
+
const work_summary_accumulator_1 = require("../stream/work-summary-accumulator");
|
|
7
7
|
const langsmith_tracing_1 = require("../tracing/langsmith-tracing");
|
|
8
8
|
const stream_helpers_1 = require("../utils/stream-helpers");
|
|
9
9
|
const MAX_TRACE_STRING_LENGTH = 2_000;
|
|
10
10
|
const MAX_TRACE_ARRAY_ITEMS = 20;
|
|
11
11
|
const MAX_TRACE_OBJECT_KEYS = 20;
|
|
12
|
-
const SYNTHETIC_TOOL_TRACE_NAMES = new Set(
|
|
12
|
+
const SYNTHETIC_TOOL_TRACE_NAMES = new Set();
|
|
13
13
|
function isRecord(value) {
|
|
14
14
|
return value !== null && typeof value === 'object' && !Array.isArray(value);
|
|
15
15
|
}
|
|
@@ -639,23 +639,7 @@ function getChunkPayload(chunk) {
|
|
|
639
639
|
}
|
|
640
640
|
return isRecord(chunk.payload) ? chunk.payload : chunk;
|
|
641
641
|
}
|
|
642
|
-
function
|
|
643
|
-
return toolName === 'updateWorkingMemory';
|
|
644
|
-
}
|
|
645
|
-
function summarizeWorkingMemoryInput(memory) {
|
|
646
|
-
return {
|
|
647
|
-
memory_chars: memory.length,
|
|
648
|
-
memory_lines: memory.length > 0 ? memory.split('\n').length : 0,
|
|
649
|
-
memory_preview: memory.length > 0 ? truncateTraceString(memory.slice(0, 400)) : '',
|
|
650
|
-
};
|
|
651
|
-
}
|
|
652
|
-
function buildSyntheticToolInputs(toolCallId, toolName, args) {
|
|
653
|
-
if (isMemoryToolTrace(toolName) && isRecord(args) && typeof args.memory === 'string') {
|
|
654
|
-
return sanitizeTracePayload({
|
|
655
|
-
toolCallId,
|
|
656
|
-
args: summarizeWorkingMemoryInput(args.memory),
|
|
657
|
-
});
|
|
658
|
-
}
|
|
642
|
+
function buildSyntheticToolInputs(toolCallId, _toolName, args) {
|
|
659
643
|
return sanitizeTracePayload({
|
|
660
644
|
toolCallId,
|
|
661
645
|
args,
|
|
@@ -668,38 +652,6 @@ function shouldCreateSyntheticToolTrace(payload) {
|
|
|
668
652
|
payload.providerExecuted === true ||
|
|
669
653
|
payload.dynamic === true);
|
|
670
654
|
}
|
|
671
|
-
function resolveActorParentRun(parentRun) {
|
|
672
|
-
let current = parentRun;
|
|
673
|
-
while (current) {
|
|
674
|
-
if (current.run_type !== 'llm' && current.run_type !== 'tool') {
|
|
675
|
-
return current;
|
|
676
|
-
}
|
|
677
|
-
const next = Reflect.get(current, 'parent_run');
|
|
678
|
-
current = next instanceof Object ? next : undefined;
|
|
679
|
-
}
|
|
680
|
-
return parentRun;
|
|
681
|
-
}
|
|
682
|
-
async function startSyntheticToolGroupRun(parentRun, toolName) {
|
|
683
|
-
if (!isMemoryToolTrace(toolName)) {
|
|
684
|
-
return undefined;
|
|
685
|
-
}
|
|
686
|
-
const actorParentRun = resolveActorParentRun(parentRun);
|
|
687
|
-
const groupRunTree = actorParentRun.createChild({
|
|
688
|
-
name: 'internal_state',
|
|
689
|
-
run_type: 'chain',
|
|
690
|
-
tags: dedupeTags([...(actorParentRun.tags ?? []), 'internal', 'memory']),
|
|
691
|
-
metadata: {
|
|
692
|
-
...(actorParentRun.metadata ?? {}),
|
|
693
|
-
internal_state: true,
|
|
694
|
-
tool_name: toolName,
|
|
695
|
-
},
|
|
696
|
-
inputs: sanitizeTracePayload({
|
|
697
|
-
tool_name: toolName,
|
|
698
|
-
}),
|
|
699
|
-
});
|
|
700
|
-
await groupRunTree.postRun();
|
|
701
|
-
return groupRunTree;
|
|
702
|
-
}
|
|
703
655
|
async function startSyntheticToolTrace(chunk, records) {
|
|
704
656
|
if (!isRecord(chunk) || chunk.type !== 'tool-call') {
|
|
705
657
|
return;
|
|
@@ -717,22 +669,18 @@ async function startSyntheticToolTrace(chunk, records) {
|
|
|
717
669
|
if (!parentRun) {
|
|
718
670
|
return;
|
|
719
671
|
}
|
|
720
|
-
const
|
|
721
|
-
const toolParentRun = groupRunTree ?? parentRun;
|
|
722
|
-
const runTree = toolParentRun.createChild({
|
|
672
|
+
const runTree = parentRun.createChild({
|
|
723
673
|
name: `tool:${toolName}`,
|
|
724
674
|
run_type: 'tool',
|
|
725
675
|
tags: dedupeTags([
|
|
726
|
-
...(
|
|
676
|
+
...(parentRun.tags ?? []),
|
|
727
677
|
'tool',
|
|
728
678
|
...(toolName.startsWith('mastra_') ? ['native-tool'] : []),
|
|
729
|
-
...(isMemoryToolTrace(toolName) ? ['memory', 'internal'] : []),
|
|
730
679
|
]),
|
|
731
680
|
metadata: {
|
|
732
|
-
...(
|
|
681
|
+
...(parentRun.metadata ?? {}),
|
|
733
682
|
tool_name: toolName,
|
|
734
683
|
synthetic_tool_trace: true,
|
|
735
|
-
...(isMemoryToolTrace(toolName) ? { memory_tool: true } : {}),
|
|
736
684
|
...(payload.providerExecuted === true ? { provider_executed: true } : {}),
|
|
737
685
|
...(payload.dynamic === true ? { dynamic_tool: true } : {}),
|
|
738
686
|
},
|
|
@@ -742,7 +690,6 @@ async function startSyntheticToolTrace(chunk, records) {
|
|
|
742
690
|
records.set(toolCallId, {
|
|
743
691
|
toolCallId,
|
|
744
692
|
toolName,
|
|
745
|
-
groupRunTree,
|
|
746
693
|
runTree,
|
|
747
694
|
finished: false,
|
|
748
695
|
});
|
|
@@ -790,26 +737,6 @@ async function finishSyntheticToolTrace(chunk, records) {
|
|
|
790
737
|
final_status: payload.isError === true ? 'error' : 'completed',
|
|
791
738
|
},
|
|
792
739
|
});
|
|
793
|
-
if (record.groupRunTree) {
|
|
794
|
-
await finishRunTree(record.groupRunTree, {
|
|
795
|
-
outputs: sanitizeTracePayload({
|
|
796
|
-
tool_name: record.toolName,
|
|
797
|
-
}),
|
|
798
|
-
...(payload.isError === true
|
|
799
|
-
? {
|
|
800
|
-
error: typeof payload.result === 'string'
|
|
801
|
-
? payload.result
|
|
802
|
-
: typeof payload.error === 'string'
|
|
803
|
-
? payload.error
|
|
804
|
-
: 'Tool execution failed',
|
|
805
|
-
}
|
|
806
|
-
: {}),
|
|
807
|
-
metadata: {
|
|
808
|
-
final_status: payload.isError === true ? 'error' : 'completed',
|
|
809
|
-
internal_state: true,
|
|
810
|
-
},
|
|
811
|
-
});
|
|
812
|
-
}
|
|
813
740
|
}
|
|
814
741
|
async function finalizeSyntheticToolTraces(records, options) {
|
|
815
742
|
for (const record of records.values()) {
|
|
@@ -826,19 +753,6 @@ async function finalizeSyntheticToolTraces(records, options) {
|
|
|
826
753
|
final_status: options?.status ?? 'completed',
|
|
827
754
|
},
|
|
828
755
|
});
|
|
829
|
-
if (record.groupRunTree) {
|
|
830
|
-
await finishRunTree(record.groupRunTree, {
|
|
831
|
-
outputs: sanitizeTracePayload({
|
|
832
|
-
tool_name: record.toolName,
|
|
833
|
-
status: options?.status ?? 'completed',
|
|
834
|
-
}),
|
|
835
|
-
...(options?.error ? { error: options.error } : {}),
|
|
836
|
-
metadata: {
|
|
837
|
-
final_status: options?.status ?? 'completed',
|
|
838
|
-
internal_state: true,
|
|
839
|
-
},
|
|
840
|
-
});
|
|
841
|
-
}
|
|
842
756
|
}
|
|
843
757
|
}
|
|
844
758
|
async function startLlmStepTrace(parentRun, messageId, request, stepNumber) {
|
|
@@ -1351,6 +1265,8 @@ async function executeResumableStream(options) {
|
|
|
1351
1265
|
let activeStream = options.stream.fullStream;
|
|
1352
1266
|
let activeMastraRunId = options.stream.runId ?? options.initialMastraRunId ?? '';
|
|
1353
1267
|
let text = options.stream.text;
|
|
1268
|
+
const workSummaryAccumulator = new work_summary_accumulator_1.WorkSummaryAccumulator();
|
|
1269
|
+
let currentResponseId;
|
|
1354
1270
|
while (true) {
|
|
1355
1271
|
let suspension;
|
|
1356
1272
|
let hasError = false;
|
|
@@ -1378,11 +1294,21 @@ async function executeResumableStream(options) {
|
|
|
1378
1294
|
status: 'cancelled',
|
|
1379
1295
|
error: 'Run cancelled while streaming',
|
|
1380
1296
|
});
|
|
1381
|
-
return {
|
|
1297
|
+
return {
|
|
1298
|
+
status: 'cancelled',
|
|
1299
|
+
mastraRunId: activeMastraRunId,
|
|
1300
|
+
text,
|
|
1301
|
+
workSummary: workSummaryAccumulator.toSummary(),
|
|
1302
|
+
};
|
|
1382
1303
|
}
|
|
1383
1304
|
await startSyntheticToolTrace(chunk, syntheticToolRecords);
|
|
1384
1305
|
await finishSyntheticToolTrace(chunk, syntheticToolRecords);
|
|
1385
1306
|
options.llmStepTraceHooks?.onStreamChunk(chunk);
|
|
1307
|
+
if (isRecord(chunk) && chunk.type === 'step-start') {
|
|
1308
|
+
const stepPayload = getChunkPayload(chunk);
|
|
1309
|
+
const stepMessageId = typeof stepPayload?.messageId === 'string' ? stepPayload.messageId : undefined;
|
|
1310
|
+
currentResponseId = stepMessageId;
|
|
1311
|
+
}
|
|
1386
1312
|
if (options.llmStepTraceHooks) {
|
|
1387
1313
|
}
|
|
1388
1314
|
else if (isRecord(chunk) && chunk.type === 'step-start') {
|
|
@@ -1410,7 +1336,7 @@ async function executeResumableStream(options) {
|
|
|
1410
1336
|
}
|
|
1411
1337
|
}
|
|
1412
1338
|
else if (!isSameSuspension(parsedSuspension, suspension)) {
|
|
1413
|
-
|
|
1339
|
+
options.context.logger.warn('Additional HITL suspension encountered before resume; deferring', {
|
|
1414
1340
|
threadId: options.context.threadId,
|
|
1415
1341
|
runId: options.context.runId,
|
|
1416
1342
|
activeRequestId: suspension.requestId,
|
|
@@ -1423,8 +1349,9 @@ async function executeResumableStream(options) {
|
|
|
1423
1349
|
if (isErrorChunk(chunk)) {
|
|
1424
1350
|
hasError = true;
|
|
1425
1351
|
}
|
|
1426
|
-
const event = (0, map_chunk_1.mapMastraChunkToEvent)(options.context.runId, options.context.agentId, chunk);
|
|
1352
|
+
const event = (0, map_chunk_1.mapMastraChunkToEvent)(options.context.runId, options.context.agentId, chunk, currentResponseId);
|
|
1427
1353
|
if (event) {
|
|
1354
|
+
workSummaryAccumulator.observe(event);
|
|
1428
1355
|
let shouldPublishEvent = true;
|
|
1429
1356
|
if (event.type === 'confirmation-request') {
|
|
1430
1357
|
const isPrimarySuspension = suspension !== undefined &&
|
|
@@ -1449,24 +1376,35 @@ async function executeResumableStream(options) {
|
|
|
1449
1376
|
publishCorrections(options.context, options.control.drainCorrections());
|
|
1450
1377
|
}
|
|
1451
1378
|
}
|
|
1379
|
+
const traceStatus = suspension ? 'suspended' : hasError ? 'errored' : 'completed';
|
|
1452
1380
|
if (options.llmStepTraceHooks) {
|
|
1453
1381
|
await options.llmStepTraceHooks.finalize(activeSource, {
|
|
1454
|
-
status:
|
|
1382
|
+
status: traceStatus,
|
|
1455
1383
|
});
|
|
1456
1384
|
}
|
|
1457
1385
|
else {
|
|
1458
1386
|
await finalizeLlmStepTraces(activeSource, llmStepRecords, {
|
|
1459
|
-
status:
|
|
1387
|
+
status: traceStatus,
|
|
1460
1388
|
});
|
|
1461
1389
|
}
|
|
1462
1390
|
await finalizeSyntheticToolTraces(syntheticToolRecords, {
|
|
1463
|
-
status:
|
|
1391
|
+
status: traceStatus,
|
|
1464
1392
|
});
|
|
1465
1393
|
if (options.context.signal.aborted) {
|
|
1466
|
-
return {
|
|
1394
|
+
return {
|
|
1395
|
+
status: 'cancelled',
|
|
1396
|
+
mastraRunId: activeMastraRunId,
|
|
1397
|
+
text,
|
|
1398
|
+
workSummary: workSummaryAccumulator.toSummary(),
|
|
1399
|
+
};
|
|
1467
1400
|
}
|
|
1468
1401
|
if (!suspension) {
|
|
1469
|
-
return {
|
|
1402
|
+
return {
|
|
1403
|
+
status: hasError ? 'errored' : 'completed',
|
|
1404
|
+
mastraRunId: activeMastraRunId,
|
|
1405
|
+
text,
|
|
1406
|
+
workSummary: workSummaryAccumulator.toSummary(),
|
|
1407
|
+
};
|
|
1470
1408
|
}
|
|
1471
1409
|
if (options.control.mode === 'manual') {
|
|
1472
1410
|
return {
|
|
@@ -1474,10 +1412,12 @@ async function executeResumableStream(options) {
|
|
|
1474
1412
|
mastraRunId: activeMastraRunId,
|
|
1475
1413
|
text,
|
|
1476
1414
|
suspension,
|
|
1415
|
+
workSummary: workSummaryAccumulator.toSummary(),
|
|
1477
1416
|
...(confirmationEvent ? { confirmationEvent } : {}),
|
|
1478
1417
|
};
|
|
1479
1418
|
}
|
|
1480
|
-
const
|
|
1419
|
+
const confirmationPromise = pendingConfirmation ?? options.control.waitForConfirmation(suspension.requestId);
|
|
1420
|
+
const resumeData = await waitForConfirmationOrCorrection(options.context.signal, confirmationPromise, options.control, options.context);
|
|
1481
1421
|
const resumeOptions = options.control.buildResumeOptions?.({
|
|
1482
1422
|
mastraRunId: activeMastraRunId,
|
|
1483
1423
|
suspension,
|
|
@@ -1485,25 +1425,10 @@ async function executeResumableStream(options) {
|
|
|
1485
1425
|
runId: activeMastraRunId,
|
|
1486
1426
|
toolCallId: suspension.toolCallId,
|
|
1487
1427
|
};
|
|
1488
|
-
const resumed = options.
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
threadId: options.context.threadId,
|
|
1493
|
-
resumeData: {
|
|
1494
|
-
requestId: suspension.requestId,
|
|
1495
|
-
toolCallId: suspension.toolCallId,
|
|
1496
|
-
...(typeof resumeOptions.runId === 'string' ? { runId: resumeOptions.runId } : {}),
|
|
1497
|
-
},
|
|
1498
|
-
enabled: true,
|
|
1499
|
-
}, async () => await (0, stream_helpers_1.asResumable)(options.agent).resumeStream(resumeData, {
|
|
1500
|
-
...resumeOptions,
|
|
1501
|
-
...(options.llmStepTraceHooks?.executionOptions ?? {}),
|
|
1502
|
-
}))
|
|
1503
|
-
: await (0, stream_helpers_1.asResumable)(options.agent).resumeStream(resumeData, {
|
|
1504
|
-
...resumeOptions,
|
|
1505
|
-
...(options.llmStepTraceHooks?.executionOptions ?? {}),
|
|
1506
|
-
});
|
|
1428
|
+
const resumed = await (0, stream_helpers_1.asResumable)(options.agent).resumeStream(resumeData, {
|
|
1429
|
+
...resumeOptions,
|
|
1430
|
+
...(options.llmStepTraceHooks?.executionOptions ?? {}),
|
|
1431
|
+
});
|
|
1507
1432
|
activeMastraRunId =
|
|
1508
1433
|
(typeof resumed.runId === 'string' ? resumed.runId : '') || activeMastraRunId;
|
|
1509
1434
|
activeSource = resumed;
|
|
@@ -1546,6 +1471,28 @@ async function waitForConfirmation(signal, confirmationPromise) {
|
|
|
1546
1471
|
}
|
|
1547
1472
|
}
|
|
1548
1473
|
}
|
|
1474
|
+
async function waitForConfirmationOrCorrection(signal, confirmationPromise, control, context) {
|
|
1475
|
+
if (!control.waitForCorrection) {
|
|
1476
|
+
return await waitForConfirmation(signal, confirmationPromise);
|
|
1477
|
+
}
|
|
1478
|
+
const correctionSentinel = Object.freeze({ __correctionOverride: true });
|
|
1479
|
+
const raced = Promise.race([
|
|
1480
|
+
confirmationPromise,
|
|
1481
|
+
control.waitForCorrection().then(() => correctionSentinel),
|
|
1482
|
+
]);
|
|
1483
|
+
const result = await waitForConfirmation(signal, raced);
|
|
1484
|
+
if (result === correctionSentinel) {
|
|
1485
|
+
const corrections = control.drainCorrections?.() ?? [];
|
|
1486
|
+
publishCorrections(context, corrections);
|
|
1487
|
+
return {
|
|
1488
|
+
__correctionOverride: true,
|
|
1489
|
+
message: 'The user sent a correction while this tool was waiting for confirmation. ' +
|
|
1490
|
+
'The confirmation has been skipped. Apply the correction and continue.',
|
|
1491
|
+
corrections,
|
|
1492
|
+
};
|
|
1493
|
+
}
|
|
1494
|
+
return result;
|
|
1495
|
+
}
|
|
1549
1496
|
function isSameSuspension(left, right) {
|
|
1550
1497
|
return left.requestId === right.requestId && left.toolCallId === right.toolCallId;
|
|
1551
1498
|
}
|