@n8n/instance-ai 1.24.3 → 1.25.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/README.md +2 -3
- package/dist/agent/credential-guardrails.prompt.d.ts +1 -0
- package/dist/agent/credential-guardrails.prompt.js +2 -1
- package/dist/agent/credential-guardrails.prompt.js.map +1 -1
- package/dist/agent/instance-agent.js +25 -21
- package/dist/agent/instance-agent.js.map +1 -1
- package/dist/agent/shared-prompts.d.ts +2 -2
- package/dist/agent/shared-prompts.js +2 -2
- package/dist/agent/shared-prompts.js.map +1 -1
- package/dist/agent/sub-agent-factory.d.ts +1 -1
- package/dist/agent/sub-agent-factory.js +2 -1
- 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 +29 -4
- package/dist/agent/system-prompt.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/constants/max-steps.d.ts +0 -1
- package/dist/constants/max-steps.js +0 -1
- package/dist/constants/max-steps.js.map +1 -1
- package/dist/debug/sanitize-debug-snapshot.js +3 -3
- package/dist/debug/sanitize-debug-snapshot.js.map +1 -1
- package/dist/error-formatting.js +5 -12
- package/dist/error-formatting.js.map +1 -1
- package/dist/index.d.ts +12 -10
- package/dist/index.js +17 -9
- package/dist/index.js.map +1 -1
- package/dist/knowledge-base/materialize-knowledge-base.js +24 -16
- package/dist/knowledge-base/materialize-knowledge-base.js.map +1 -1
- package/dist/mcp/mcp-client-manager.js +3 -4
- package/dist/mcp/mcp-client-manager.js.map +1 -1
- package/dist/prompts/prompt-profiles.d.ts +24 -0
- package/dist/prompts/prompt-profiles.js +77 -0
- package/dist/prompts/prompt-profiles.js.map +1 -0
- package/dist/prompts/skill-variants.d.ts +15 -0
- package/dist/prompts/skill-variants.js +81 -0
- package/dist/prompts/skill-variants.js.map +1 -0
- package/dist/runtime/background-task-manager.js +5 -5
- package/dist/runtime/background-task-manager.js.map +1 -1
- package/dist/runtime/resumable-stream-executor.js +2 -3
- package/dist/runtime/resumable-stream-executor.js.map +1 -1
- package/dist/runtime/run-state-registry.d.ts +12 -2
- package/dist/runtime/run-state-registry.js +35 -2
- package/dist/runtime/run-state-registry.js.map +1 -1
- package/dist/skills/materialize-runtime-skills.js +30 -23
- package/dist/skills/materialize-runtime-skills.js.map +1 -1
- package/dist/skills/runtime-skills.d.ts +8 -0
- package/dist/skills/runtime-skills.js +27 -0
- package/dist/skills/runtime-skills.js.map +1 -1
- package/dist/skills/skill-gates.d.ts +2 -0
- package/dist/skills/skill-gates.js +4 -1
- package/dist/skills/skill-gates.js.map +1 -1
- package/dist/storage/workflow-loop-storage.d.ts +550 -0
- package/dist/storage/workflow-loop-storage.js +31 -1
- package/dist/storage/workflow-loop-storage.js.map +1 -1
- package/dist/stream/consume-with-hitl.d.ts +0 -28
- package/dist/stream/consume-with-hitl.js +0 -50
- package/dist/stream/consume-with-hitl.js.map +1 -1
- package/dist/tools/activity.tool.d.ts +2 -0
- package/dist/tools/activity.tool.js +102 -0
- package/dist/tools/activity.tool.js.map +1 -0
- package/dist/tools/credentials.tool.js +5 -3
- package/dist/tools/credentials.tool.js.map +1 -1
- package/dist/tools/executions.tool.js +47 -10
- package/dist/tools/executions.tool.js.map +1 -1
- package/dist/tools/filesystem/create-tools-from-mcp-server.js +1 -0
- package/dist/tools/filesystem/create-tools-from-mcp-server.js.map +1 -1
- package/dist/tools/index.d.ts +1 -1
- package/dist/tools/index.js +45 -55
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/n8n-docs/schemas.js +1 -1
- package/dist/tools/n8n-docs/schemas.js.map +1 -1
- package/dist/tools/n8n-docs.tool.d.ts +2 -1
- package/dist/tools/n8n-docs.tool.js +11 -3
- package/dist/tools/n8n-docs.tool.js.map +1 -1
- package/dist/tools/orchestration/agent-persistence.d.ts +0 -12
- package/dist/tools/orchestration/agent-persistence.js +0 -34
- package/dist/tools/orchestration/agent-persistence.js.map +1 -1
- package/dist/tools/orchestration/build-agent.tool.js +3 -3
- package/dist/tools/orchestration/build-agent.tool.js.map +1 -1
- package/dist/tools/orchestration/complete-checkpoint.tool.js +1 -1
- package/dist/tools/orchestration/complete-checkpoint.tool.js.map +1 -1
- package/dist/tools/orchestration/plan.tool.js +5 -1
- package/dist/tools/orchestration/plan.tool.js.map +1 -1
- package/dist/tools/orchestration/report-verification-verdict.tool.js +7 -1
- package/dist/tools/orchestration/report-verification-verdict.tool.js.map +1 -1
- package/dist/tools/orchestration/tracing-utils.d.ts +1 -6
- package/dist/tools/orchestration/tracing-utils.js +0 -99
- package/dist/tools/orchestration/tracing-utils.js.map +1 -1
- package/dist/tools/orchestration/verification/analyze-result.d.ts +5 -0
- package/dist/tools/orchestration/verification/analyze-result.js +27 -5
- package/dist/tools/orchestration/verification/analyze-result.js.map +1 -1
- package/dist/tools/orchestration/verification/claim.d.ts +14 -0
- package/dist/tools/orchestration/verification/claim.js +52 -0
- package/dist/tools/orchestration/verification/claim.js.map +1 -0
- package/dist/tools/orchestration/verification/finalize-result.d.ts +5 -2
- package/dist/tools/orchestration/verification/finalize-result.js +21 -25
- package/dist/tools/orchestration/verification/finalize-result.js.map +1 -1
- package/dist/tools/orchestration/verification/resolve-target.js +39 -15
- package/dist/tools/orchestration/verification/resolve-target.js.map +1 -1
- package/dist/tools/orchestration/verification/resolved-parameter-warnings.d.ts +58 -0
- package/dist/tools/orchestration/verification/resolved-parameter-warnings.js +127 -0
- package/dist/tools/orchestration/verification/resolved-parameter-warnings.js.map +1 -0
- package/dist/tools/orchestration/verification/scripted-gate-run.d.ts +3 -0
- package/dist/tools/orchestration/verification/scripted-gate-run.js +22 -2
- package/dist/tools/orchestration/verification/scripted-gate-run.js.map +1 -1
- package/dist/tools/orchestration/verification/types.d.ts +8 -1
- package/dist/tools/orchestration/verify-built-workflow.tool.d.ts +3 -0
- package/dist/tools/orchestration/verify-built-workflow.tool.js +141 -18
- package/dist/tools/orchestration/verify-built-workflow.tool.js.map +1 -1
- package/dist/tools/research.tool.js +3 -2
- package/dist/tools/research.tool.js.map +1 -1
- package/dist/tools/task-control.tool.js +8 -1
- package/dist/tools/task-control.tool.js.map +1 -1
- package/dist/tools/tool-ids.d.ts +1 -3
- package/dist/tools/tool-ids.js +2 -3
- package/dist/tools/tool-ids.js.map +1 -1
- package/dist/tools/web-research/sanitize-web-content.d.ts +1 -2
- package/dist/tools/web-research/sanitize-web-content.js +6 -19
- package/dist/tools/web-research/sanitize-web-content.js.map +1 -1
- package/dist/tools/workflows/build-workflow.tool.d.ts +12 -0
- package/dist/tools/workflows/build-workflow.tool.js +173 -32
- package/dist/tools/workflows/build-workflow.tool.js.map +1 -1
- package/dist/tools/workflows/detect-unparseable-openai-schema.js +1 -1
- package/dist/tools/workflows/detect-unparseable-openai-schema.js.map +1 -1
- package/dist/tools/workflows/detect-wrong-kind-locator.js +7 -9
- package/dist/tools/workflows/detect-wrong-kind-locator.js.map +1 -1
- package/dist/tools/workflows/reconcile-simulation-plan.js +1 -1
- package/dist/tools/workflows/reconcile-simulation-plan.js.map +1 -1
- package/dist/tools/workflows/resolve-credentials.js.map +1 -1
- package/dist/tools/workflows/setup-items.d.ts +5 -0
- package/dist/tools/workflows/setup-items.js +29 -0
- package/dist/tools/workflows/setup-items.js.map +1 -1
- package/dist/tools/workflows/setup-panel-state.d.ts +31 -0
- package/dist/tools/workflows/setup-panel-state.js +197 -0
- package/dist/tools/workflows/setup-panel-state.js.map +1 -0
- package/dist/tools/workflows/setup-workflow.service.d.ts +3 -1
- package/dist/tools/workflows/setup-workflow.service.js +20 -13
- package/dist/tools/workflows/setup-workflow.service.js.map +1 -1
- package/dist/tools/workflows/validate-workflow.service.js.map +1 -1
- package/dist/tools/workflows/wait-gate-script.js +1 -1
- package/dist/tools/workflows/wait-gate-script.js.map +1 -1
- package/dist/tools/workflows/workflow-build-reporting.d.ts +1 -0
- package/dist/tools/workflows/workflow-build-reporting.js +1 -0
- package/dist/tools/workflows/workflow-build-reporting.js.map +1 -1
- package/dist/tools/workflows/workflow-build-telemetry.d.ts +5 -1
- package/dist/tools/workflows/workflow-build-telemetry.js +8 -0
- package/dist/tools/workflows/workflow-build-telemetry.js.map +1 -1
- package/dist/tools/workflows/workflow-file-bindings.js +0 -2
- package/dist/tools/workflows/workflow-file-bindings.js.map +1 -1
- package/dist/tools/workflows/workflow-source-compiler.js +80 -25
- package/dist/tools/workflows/workflow-source-compiler.js.map +1 -1
- package/dist/tools/workflows/workflow-validation-warnings.d.ts +13 -2
- package/dist/tools/workflows/workflow-validation-warnings.js +55 -1
- package/dist/tools/workflows/workflow-validation-warnings.js.map +1 -1
- package/dist/tools/workflows.tool.d.ts +1 -5
- package/dist/tools/workflows.tool.js +112 -136
- package/dist/tools/workflows.tool.js.map +1 -1
- package/dist/tracing/langsmith-tracing.d.ts +11 -22
- package/dist/tracing/langsmith-tracing.js +127 -112
- package/dist/tracing/langsmith-tracing.js.map +1 -1
- package/dist/tracing/sandbox-tracing.d.ts +17 -0
- package/dist/tracing/sandbox-tracing.js +60 -0
- package/dist/tracing/sandbox-tracing.js.map +1 -0
- package/dist/tracing/trace-payloads.d.ts +3 -0
- package/dist/tracing/trace-payloads.js +25 -4
- package/dist/tracing/trace-payloads.js.map +1 -1
- package/dist/tracing/trace-replay.js.map +1 -1
- package/dist/types.d.ts +57 -67
- package/dist/types.js.map +1 -1
- package/dist/utils/eval-agents.js +3 -7
- package/dist/utils/eval-agents.js.map +1 -1
- package/dist/utils/generate-validated-json.js +2 -6
- package/dist/utils/generate-validated-json.js.map +1 -1
- package/dist/workflow-loop/guidance.d.ts +1 -0
- package/dist/workflow-loop/guidance.js +48 -4
- package/dist/workflow-loop/guidance.js.map +1 -1
- package/dist/workflow-loop/render-claim.d.ts +6 -0
- package/dist/workflow-loop/render-claim.js +61 -0
- package/dist/workflow-loop/render-claim.js.map +1 -0
- package/dist/workflow-loop/setup-verification-policy.d.ts +3 -1
- package/dist/workflow-loop/setup-verification-policy.js +38 -0
- package/dist/workflow-loop/setup-verification-policy.js.map +1 -1
- package/dist/workflow-loop/verification-obligation.d.ts +1 -0
- package/dist/workflow-loop/verification-obligation.js +47 -14
- package/dist/workflow-loop/verification-obligation.js.map +1 -1
- package/dist/workflow-loop/verification-progress.d.ts +62 -0
- package/dist/workflow-loop/verification-progress.js +64 -0
- package/dist/workflow-loop/verification-progress.js.map +1 -0
- package/dist/workflow-loop/workflow-loop-controller.js +2 -0
- package/dist/workflow-loop/workflow-loop-controller.js.map +1 -1
- package/dist/workflow-loop/workflow-loop-state.d.ts +993 -0
- package/dist/workflow-loop/workflow-loop-state.js +32 -1
- package/dist/workflow-loop/workflow-loop-state.js.map +1 -1
- package/dist/workflow-loop/workflow-task-service.d.ts +6 -1
- package/dist/workflow-loop/workflow-task-service.js +86 -6
- package/dist/workflow-loop/workflow-task-service.js.map +1 -1
- package/dist/workspace/lazy-runtime-workspace.js +57 -9
- package/dist/workspace/lazy-runtime-workspace.js.map +1 -1
- package/dist/workspace/prebaked-workspace-bundle.js +93 -58
- package/dist/workspace/prebaked-workspace-bundle.js.map +1 -1
- package/dist/workspace/sandbox-fs.js +56 -32
- package/dist/workspace/sandbox-fs.js.map +1 -1
- package/dist/workspace/sandbox-setup.js +65 -52
- package/dist/workspace/sandbox-setup.js.map +1 -1
- package/dist/workspace/workspace-files.js +76 -57
- package/dist/workspace/workspace-files.js.map +1 -1
- package/knowledge-base/reference/workflow-builder-guardrails.md +4 -2
- package/package.json +12 -12
- package/skills/agent-builder/SKILL.md +15 -6
- package/skills/credential-recipe-research/SKILL.md +1 -1
- package/skills/debugging-executions/SKILL.md +24 -0
- package/skills/instance-awareness/SKILL.md +122 -0
- package/skills/intent-recognition/SKILL.md +83 -49
- package/skills/n8n-docs-assistant/SKILL.md +5 -9
- package/skills/planned-task-runtime/SKILL.md +2 -2
- package/skills/planning/SKILL.md +3 -0
- package/skills/post-build-flow/SKILL.md +173 -23
- package/skills/progressive-building/SKILL.md +112 -0
- package/skills/workflow-builder/SKILL.md +45 -21
- package/dist/agent/sub-agent-briefing.d.ts +0 -20
- package/dist/agent/sub-agent-briefing.js +0 -39
- package/dist/agent/sub-agent-briefing.js.map +0 -1
- package/dist/tools/evals/analyze-agent-input-columns.service.d.ts +0 -6
- package/dist/tools/evals/analyze-agent-input-columns.service.js +0 -17
- package/dist/tools/evals/analyze-agent-input-columns.service.js.map +0 -1
- package/dist/tools/evals/apply-pin-data.service.d.ts +0 -3
- package/dist/tools/evals/apply-pin-data.service.js +0 -19
- package/dist/tools/evals/apply-pin-data.service.js.map +0 -1
- package/dist/tools/evals/column-ref-utils.d.ts +0 -20
- package/dist/tools/evals/column-ref-utils.js +0 -274
- package/dist/tools/evals/column-ref-utils.js.map +0 -1
- package/dist/tools/evals/describe-metric-for-workflow.service.d.ts +0 -6
- package/dist/tools/evals/describe-metric-for-workflow.service.js +0 -90
- package/dist/tools/evals/describe-metric-for-workflow.service.js.map +0 -1
- package/dist/tools/evals/detect-agent-named-refs.service.d.ts +0 -9
- package/dist/tools/evals/detect-agent-named-refs.service.js +0 -83
- package/dist/tools/evals/detect-agent-named-refs.service.js.map +0 -1
- package/dist/tools/evals/detect-ai-nodes.d.ts +0 -7
- package/dist/tools/evals/detect-ai-nodes.js +0 -75
- package/dist/tools/evals/detect-ai-nodes.js.map +0 -1
- package/dist/tools/evals/detect-tool-refs.service.d.ts +0 -7
- package/dist/tools/evals/detect-tool-refs.service.js +0 -66
- package/dist/tools/evals/detect-tool-refs.service.js.map +0 -1
- package/dist/tools/evals/ensure-eval-data-table.service.d.ts +0 -15
- package/dist/tools/evals/ensure-eval-data-table.service.js +0 -83
- package/dist/tools/evals/ensure-eval-data-table.service.js.map +0 -1
- package/dist/tools/evals/eval-data-requirements.service.d.ts +0 -20
- package/dist/tools/evals/eval-data-requirements.service.js +0 -187
- package/dist/tools/evals/eval-data-requirements.service.js.map +0 -1
- package/dist/tools/evals/evals.tool.d.ts +0 -45
- package/dist/tools/evals/evals.tool.js +0 -454
- package/dist/tools/evals/evals.tool.js.map +0 -1
- package/dist/tools/evals/extract-rows-from-history.service.d.ts +0 -17
- package/dist/tools/evals/extract-rows-from-history.service.js +0 -103
- package/dist/tools/evals/extract-rows-from-history.service.js.map +0 -1
- package/dist/tools/evals/format-eval-setup-task.d.ts +0 -16
- package/dist/tools/evals/format-eval-setup-task.js +0 -167
- package/dist/tools/evals/format-eval-setup-task.js.map +0 -1
- package/dist/tools/evals/generate-sample-rows.service.d.ts +0 -35
- package/dist/tools/evals/generate-sample-rows.service.js +0 -259
- package/dist/tools/evals/generate-sample-rows.service.js.map +0 -1
- package/dist/tools/evals/generate-tool-ref-pin-data.service.d.ts +0 -11
- package/dist/tools/evals/generate-tool-ref-pin-data.service.js +0 -112
- package/dist/tools/evals/generate-tool-ref-pin-data.service.js.map +0 -1
- package/dist/tools/evals/metric-catalog.d.ts +0 -63
- package/dist/tools/evals/metric-catalog.js +0 -81
- package/dist/tools/evals/metric-catalog.js.map +0 -1
- package/dist/tools/orchestration/eval-data-agent.tool.d.ts +0 -2
- package/dist/tools/orchestration/eval-data-agent.tool.js +0 -184
- package/dist/tools/orchestration/eval-data-agent.tool.js.map +0 -1
- package/dist/tools/orchestration/eval-setup-agent.prompt.d.ts +0 -1
- package/dist/tools/orchestration/eval-setup-agent.prompt.js +0 -238
- package/dist/tools/orchestration/eval-setup-agent.prompt.js.map +0 -1
- package/dist/tools/orchestration/eval-setup-agent.tool.d.ts +0 -31
- package/dist/tools/orchestration/eval-setup-agent.tool.js +0 -204
- package/dist/tools/orchestration/eval-setup-agent.tool.js.map +0 -1
- package/dist/tools/workflows/observed-workflow-checksums.d.ts +0 -4
- package/dist/tools/workflows/observed-workflow-checksums.js +0 -82
- package/dist/tools/workflows/observed-workflow-checksums.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"detect-ai-nodes.js","sourceRoot":"","sources":["../../../src/tools/evals/detect-ai-nodes.ts"],"names":[],"mappings":";;;AAEA,MAAM,qBAAqB,GAAG,2BAA2B,CAAC;AAC1D,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAS;IACxC,2BAA2B;IAC3B,kCAAkC;CAClC,CAAC,CAAC;AASH,MAAM,aAAa,GAAG,IAAI,GAAG,CAAS;IAErC,GAAG,qBAAqB,OAAO;IAC/B,GAAG,qBAAqB,iBAAiB;IACzC,GAAG,qBAAqB,UAAU;IAClC,GAAG,qBAAqB,kBAAkB;IAC1C,GAAG,qBAAqB,oBAAoB;IAC5C,GAAG,qBAAqB,sBAAsB;IAC9C,GAAG,qBAAqB,mBAAmB;IAC3C,GAAG,qBAAqB,gBAAgB;IAGxC,GAAG,qBAAqB,QAAQ;IAChC,GAAG,qBAAqB,WAAW;IACnC,GAAG,qBAAqB,cAAc;IACtC,GAAG,qBAAqB,QAAQ;IAChC,GAAG,qBAAqB,cAAc;IACtC,GAAG,qBAAqB,SAAS;IACjC,GAAG,qBAAqB,UAAU;CAClC,CAAC,CAAC;AAKH,MAAM,sBAAsB,GAAG;IAC9B,IAAI;IACJ,WAAW;IACX,QAAQ;IACR,MAAM;IACN,cAAc;IACd,UAAU;IACV,cAAc;IACd,aAAa;IACb,WAAW;IACX,aAAa;IACb,mBAAmB;CACnB,CAAC;AAQF,SAAS,eAAe,CAAC,IAAY;IACpC,OAAO,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACvC,OAAO,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;AAC/C,CAAC;AAKD,SAAS,oBAAoB,CAAC,IAAY;IACzC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IACzE,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,uBAA8B,QAAsB;IACnD,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,kBAAkB,GAAa,EAAE,CAAC;IACxC,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAE9B,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,SAAS;QACzB,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAI9E,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,iBAAiB,GAAG,IAAI,CAAC;QAC1B,CAAC;IACF,CAAC;IAID,MAAM,gBAAgB,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAEnF,OAAO;QACN,YAAY,EAAE,gBAAgB,CAAC,MAAM,GAAG,CAAC;QACzC,WAAW,EAAE,gBAAgB;QAC7B,iBAAiB;KACjB,CAAC;AACH,CAAC"}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.detectToolRefs = detectToolRefs;
|
|
4
|
-
const is_record_1 = require("@n8n/utils/is-record");
|
|
5
|
-
const column_ref_utils_1 = require("./column-ref-utils");
|
|
6
|
-
function reachableDownstreamMain(workflow, startNodeName) {
|
|
7
|
-
const reached = new Set();
|
|
8
|
-
const queue = [startNodeName];
|
|
9
|
-
while (queue.length > 0) {
|
|
10
|
-
const current = queue.shift();
|
|
11
|
-
const slot = workflow.connections?.[current]?.main;
|
|
12
|
-
if (!Array.isArray(slot))
|
|
13
|
-
continue;
|
|
14
|
-
for (const inner of slot) {
|
|
15
|
-
if (!Array.isArray(inner))
|
|
16
|
-
continue;
|
|
17
|
-
for (const conn of inner) {
|
|
18
|
-
if (!(0, is_record_1.isRecord)(conn) || typeof conn.node !== 'string')
|
|
19
|
-
continue;
|
|
20
|
-
if (reached.has(conn.node))
|
|
21
|
-
continue;
|
|
22
|
-
reached.add(conn.node);
|
|
23
|
-
queue.push(conn.node);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return reached;
|
|
28
|
-
}
|
|
29
|
-
function detectToolRefs(workflow, agentNodeName) {
|
|
30
|
-
const agent = (workflow.nodes ?? []).find((n) => (0, column_ref_utils_1.nodeHasName)(n) && n.name === agentNodeName);
|
|
31
|
-
if (!agent) {
|
|
32
|
-
throw new Error(`Agent node "${agentNodeName}" not found in workflow`);
|
|
33
|
-
}
|
|
34
|
-
const subComponents = (0, column_ref_utils_1.findAgentSubComponents)(workflow, agentNodeName);
|
|
35
|
-
if (subComponents.length === 0)
|
|
36
|
-
return [];
|
|
37
|
-
const nodesByName = new Map((workflow.nodes ?? []).filter(column_ref_utils_1.nodeHasName).map((n) => [n.name, n]));
|
|
38
|
-
const downstream = reachableDownstreamMain(workflow, agentNodeName);
|
|
39
|
-
const seen = new Set();
|
|
40
|
-
const result = [];
|
|
41
|
-
for (const toolNodeName of subComponents) {
|
|
42
|
-
const toolNode = nodesByName.get(toolNodeName);
|
|
43
|
-
if (!toolNode)
|
|
44
|
-
continue;
|
|
45
|
-
const matches = (0, column_ref_utils_1.collectStrings)(toolNode.parameters).flatMap((text) => (0, column_ref_utils_1.extractNamedRefMatches)(text));
|
|
46
|
-
for (const m of matches) {
|
|
47
|
-
if (m.nodeName === agentNodeName)
|
|
48
|
-
continue;
|
|
49
|
-
if (downstream.has(m.nodeName))
|
|
50
|
-
continue;
|
|
51
|
-
if (!nodesByName.has(m.nodeName))
|
|
52
|
-
continue;
|
|
53
|
-
const key = `${toolNodeName}\x00${m.nodeName}\x00${m.field}`;
|
|
54
|
-
if (seen.has(key))
|
|
55
|
-
continue;
|
|
56
|
-
seen.add(key);
|
|
57
|
-
result.push({
|
|
58
|
-
sourceNodeName: m.nodeName,
|
|
59
|
-
field: m.field,
|
|
60
|
-
toolNodeName,
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
return result;
|
|
65
|
-
}
|
|
66
|
-
//# sourceMappingURL=detect-tool-refs.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"detect-tool-refs.service.js","sourceRoot":"","sources":["../../../src/tools/evals/detect-tool-refs.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { InstanceAiContext } from '../../types';
|
|
2
|
-
export interface CreateEmptyEvalDataTableInput {
|
|
3
|
-
workflowName: string;
|
|
4
|
-
projectId?: string;
|
|
5
|
-
columns: string[];
|
|
6
|
-
}
|
|
7
|
-
export declare function formatEvalDataTableName(workflowName: string): string;
|
|
8
|
-
export declare function formatEvalDataTableColumnName(columnName: string): string;
|
|
9
|
-
export declare function formatEvalDataTableColumnNameMap(columns: string[]): Map<string, string>;
|
|
10
|
-
export declare function formatEvalDataTableColumnNames(columns: string[]): string[];
|
|
11
|
-
export declare function createEmptyEvalDataTable(ctx: InstanceAiContext, input: CreateEmptyEvalDataTableInput): Promise<{
|
|
12
|
-
id: string;
|
|
13
|
-
name: string;
|
|
14
|
-
projectId?: string;
|
|
15
|
-
}>;
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.formatEvalDataTableName = formatEvalDataTableName;
|
|
4
|
-
exports.formatEvalDataTableColumnName = formatEvalDataTableColumnName;
|
|
5
|
-
exports.formatEvalDataTableColumnNameMap = formatEvalDataTableColumnNameMap;
|
|
6
|
-
exports.formatEvalDataTableColumnNames = formatEvalDataTableColumnNames;
|
|
7
|
-
exports.createEmptyEvalDataTable = createEmptyEvalDataTable;
|
|
8
|
-
const nanoid_1 = require("nanoid");
|
|
9
|
-
const NAME_COLLISION_RE = /already exists/i;
|
|
10
|
-
const DATA_TABLE_COLUMN_MAX_LENGTH = 63;
|
|
11
|
-
function formatEvalDataTableName(workflowName) {
|
|
12
|
-
return `${workflowName} — eval samples`;
|
|
13
|
-
}
|
|
14
|
-
function formatEvalDataTableColumnName(columnName) {
|
|
15
|
-
const normalized = columnName
|
|
16
|
-
.trim()
|
|
17
|
-
.toLowerCase()
|
|
18
|
-
.replace(/[^a-z0-9_]+/g, '_')
|
|
19
|
-
.replace(/_+/g, '_')
|
|
20
|
-
.replace(/^_+|_+$/g, '');
|
|
21
|
-
const withValidStart = /^[a-z]/.test(normalized) ? normalized : `column_${normalized || 'value'}`;
|
|
22
|
-
const truncated = withValidStart.slice(0, DATA_TABLE_COLUMN_MAX_LENGTH).replace(/_+$/g, '');
|
|
23
|
-
return truncated || 'column';
|
|
24
|
-
}
|
|
25
|
-
function withUniqueSuffix(baseName, index) {
|
|
26
|
-
const suffix = `_${index}`;
|
|
27
|
-
return `${baseName.slice(0, DATA_TABLE_COLUMN_MAX_LENGTH - suffix.length).replace(/_+$/g, '')}${suffix}`;
|
|
28
|
-
}
|
|
29
|
-
function formatEvalDataTableColumnNameMap(columns) {
|
|
30
|
-
const byRawColumn = new Map();
|
|
31
|
-
const usedNames = new Set();
|
|
32
|
-
for (const column of columns) {
|
|
33
|
-
if (byRawColumn.has(column))
|
|
34
|
-
continue;
|
|
35
|
-
const baseName = formatEvalDataTableColumnName(column);
|
|
36
|
-
let candidate = baseName;
|
|
37
|
-
let index = 2;
|
|
38
|
-
while (usedNames.has(candidate)) {
|
|
39
|
-
candidate = withUniqueSuffix(baseName, index);
|
|
40
|
-
index++;
|
|
41
|
-
}
|
|
42
|
-
byRawColumn.set(column, candidate);
|
|
43
|
-
usedNames.add(candidate);
|
|
44
|
-
}
|
|
45
|
-
return byRawColumn;
|
|
46
|
-
}
|
|
47
|
-
function formatEvalDataTableColumnNames(columns) {
|
|
48
|
-
return [...formatEvalDataTableColumnNameMap(columns).values()];
|
|
49
|
-
}
|
|
50
|
-
async function createWithUniqueName(ctx, baseName, columns, options) {
|
|
51
|
-
try {
|
|
52
|
-
return await ctx.dataTableService.create(baseName, columns, options);
|
|
53
|
-
}
|
|
54
|
-
catch (error) {
|
|
55
|
-
const msg = error instanceof Error ? error.message : String(error);
|
|
56
|
-
if (!NAME_COLLISION_RE.test(msg))
|
|
57
|
-
throw error;
|
|
58
|
-
for (let attempt = 0; attempt < 3; attempt++) {
|
|
59
|
-
const suffixedName = `${baseName} (${(0, nanoid_1.nanoid)(5)})`;
|
|
60
|
-
try {
|
|
61
|
-
return await ctx.dataTableService.create(suffixedName, columns, options);
|
|
62
|
-
}
|
|
63
|
-
catch (retryError) {
|
|
64
|
-
const retryMsg = retryError instanceof Error ? retryError.message : String(retryError);
|
|
65
|
-
if (!NAME_COLLISION_RE.test(retryMsg))
|
|
66
|
-
throw retryError;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
throw error;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
async function createEmptyEvalDataTable(ctx, input) {
|
|
73
|
-
const dt = await createWithUniqueName(ctx, formatEvalDataTableName(input.workflowName), formatEvalDataTableColumnNames(input.columns).map((n) => ({
|
|
74
|
-
name: n,
|
|
75
|
-
type: 'string',
|
|
76
|
-
})), input.projectId ? { projectId: input.projectId } : undefined);
|
|
77
|
-
return {
|
|
78
|
-
id: dt.id,
|
|
79
|
-
name: dt.name,
|
|
80
|
-
...(dt.projectId ? { projectId: dt.projectId } : {}),
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
//# sourceMappingURL=ensure-eval-data-table.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ensure-eval-data-table.service.js","sourceRoot":"","sources":["../../../src/tools/evals/ensure-eval-data-table.service.ts"],"names":[],"mappings":";;;;;;;AAAA,mCAAgC;AAUhC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;AAC5C,MAAM,4BAA4B,GAAG,EAAE,CAAC;AAExC,iCAAwC,YAAoB;IAC3D,OAAO,GAAG,YAAY,iBAAiB,CAAC;AACzC,CAAC;AAED,uCAA8C,UAAkB;IAC/D,MAAM,UAAU,GAAG,UAAU;SAC3B,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC;SAC5B,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC1B,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,UAAU,IAAI,OAAO,EAAE,CAAC;IAClG,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,4BAA4B,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC5F,OAAO,SAAS,IAAI,QAAQ,CAAC;AAC9B,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgB,EAAE,KAAa;IACxD,MAAM,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;IAC3B,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,4BAA4B,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC;AAC1G,CAAC;AAED,0CAAiD,OAAiB;IACjE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC9B,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,SAAS;QAEtC,MAAM,QAAQ,GAAG,6BAA6B,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,SAAS,GAAG,QAAQ,CAAC;QACzB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,OAAO,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,SAAS,GAAG,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC9C,KAAK,EAAE,CAAC;QACT,CAAC;QACD,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACnC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,WAAW,CAAC;AACpB,CAAC;AAED,wCAA+C,OAAiB;IAC/D,OAAO,CAAC,GAAG,gCAAgC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAChE,CAAC;AAED,KAAK,UAAU,oBAAoB,CAClC,GAAsB,EACtB,QAAgB,EAChB,OAAgD,EAChD,OAA2C;IAE3C,IAAI,CAAC;QACJ,OAAO,MAAM,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,MAAM,KAAK,CAAC;QAC9C,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;YAC9C,MAAM,YAAY,GAAG,GAAG,QAAQ,KAAK,IAAA,eAAM,EAAC,CAAC,CAAC,GAAG,CAAC;YAClD,IAAI,CAAC;gBACJ,OAAO,MAAM,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC1E,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACrB,MAAM,QAAQ,GAAG,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACvF,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC;oBAAE,MAAM,UAAU,CAAC;YACzD,CAAC;QACF,CAAC;QACD,MAAM,KAAK,CAAC;IACb,CAAC;AACF,CAAC;AAYM,KAAK,mCACX,GAAsB,EACtB,KAAoC;IAEpC,MAAM,EAAE,GAAG,MAAM,oBAAoB,CACpC,GAAG,EACH,uBAAuB,CAAC,KAAK,CAAC,YAAY,CAAC,EAC3C,8BAA8B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACzD,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,QAAiB;KACvB,CAAC,CAAC,EACH,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAC5D,CAAC;IACF,OAAO;QACN,EAAE,EAAE,EAAE,CAAC,EAAE;QACT,IAAI,EAAE,EAAE,CAAC,IAAI;QACb,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpD,CAAC;AACH,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { WorkflowJSON } from '@n8n/workflow-sdk';
|
|
2
|
-
export interface EvalDataTarget {
|
|
3
|
-
dataTableId: string;
|
|
4
|
-
evaluationTriggerName: string;
|
|
5
|
-
targetNodeName?: string;
|
|
6
|
-
targetAgentNodeName?: string;
|
|
7
|
-
inputColumns: string[];
|
|
8
|
-
expectedOutputColumns: string[];
|
|
9
|
-
actualOutputColumns: string[];
|
|
10
|
-
metricNodeNames: string[];
|
|
11
|
-
expectedToActualPairs: Array<{
|
|
12
|
-
expectedColumn: string;
|
|
13
|
-
actualField: string;
|
|
14
|
-
}>;
|
|
15
|
-
}
|
|
16
|
-
export interface EvalDataRequirements {
|
|
17
|
-
targets: EvalDataTarget[];
|
|
18
|
-
reason?: string;
|
|
19
|
-
}
|
|
20
|
-
export declare function analyzeEvalDataRequirements(workflow: WorkflowJSON): EvalDataRequirements;
|
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.analyzeEvalDataRequirements = analyzeEvalDataRequirements;
|
|
4
|
-
const is_record_1 = require("@n8n/utils/is-record");
|
|
5
|
-
const analyze_agent_input_columns_service_1 = require("./analyze-agent-input-columns.service");
|
|
6
|
-
const column_ref_utils_1 = require("./column-ref-utils");
|
|
7
|
-
const detect_ai_nodes_1 = require("./detect-ai-nodes");
|
|
8
|
-
function readOperation(node) {
|
|
9
|
-
const parameters = node.parameters;
|
|
10
|
-
if (!(0, is_record_1.isRecord)(parameters))
|
|
11
|
-
return undefined;
|
|
12
|
-
const operation = parameters.operation;
|
|
13
|
-
return typeof operation === 'string' ? operation : undefined;
|
|
14
|
-
}
|
|
15
|
-
function readDataTableId(node) {
|
|
16
|
-
const parameters = node.parameters;
|
|
17
|
-
if (!(0, is_record_1.isRecord)(parameters))
|
|
18
|
-
return undefined;
|
|
19
|
-
const dataTableId = parameters.dataTableId;
|
|
20
|
-
if (typeof dataTableId === 'string')
|
|
21
|
-
return dataTableId;
|
|
22
|
-
if (!(0, is_record_1.isRecord)(dataTableId))
|
|
23
|
-
return undefined;
|
|
24
|
-
const value = dataTableId.value;
|
|
25
|
-
return typeof value === 'string' && value.length > 0 ? value : undefined;
|
|
26
|
-
}
|
|
27
|
-
function childNames(workflow, sourceName, outputIndex) {
|
|
28
|
-
const connectionsByType = workflow.connections?.[sourceName];
|
|
29
|
-
if (!connectionsByType || typeof connectionsByType !== 'object')
|
|
30
|
-
return [];
|
|
31
|
-
const main = connectionsByType.main;
|
|
32
|
-
if (!Array.isArray(main))
|
|
33
|
-
return [];
|
|
34
|
-
const slots = outputIndex === undefined
|
|
35
|
-
? main
|
|
36
|
-
: [main[outputIndex]].filter((slot) => Array.isArray(slot));
|
|
37
|
-
return (0, column_ref_utils_1.unique)(slots.flatMap((slot) => {
|
|
38
|
-
if (!Array.isArray(slot))
|
|
39
|
-
return [];
|
|
40
|
-
return slot.flatMap((connection) => {
|
|
41
|
-
if (!(0, is_record_1.isRecord)(connection))
|
|
42
|
-
return [];
|
|
43
|
-
const node = connection.node;
|
|
44
|
-
return typeof node === 'string' ? [node] : [];
|
|
45
|
-
});
|
|
46
|
-
}));
|
|
47
|
-
}
|
|
48
|
-
function collectReachableNodeNames(workflow, startName) {
|
|
49
|
-
const seen = new Set();
|
|
50
|
-
const queue = [startName];
|
|
51
|
-
while (queue.length > 0) {
|
|
52
|
-
const current = queue.shift();
|
|
53
|
-
if (!current || seen.has(current))
|
|
54
|
-
continue;
|
|
55
|
-
seen.add(current);
|
|
56
|
-
for (const child of childNames(workflow, current)) {
|
|
57
|
-
if (!seen.has(child))
|
|
58
|
-
queue.push(child);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
seen.delete(startName);
|
|
62
|
-
return [...seen];
|
|
63
|
-
}
|
|
64
|
-
function nodeByName(workflow) {
|
|
65
|
-
return new Map(workflow.nodes.filter(column_ref_utils_1.nodeHasName).map((node) => [node.name, node]));
|
|
66
|
-
}
|
|
67
|
-
function isAiAgentNode(node) {
|
|
68
|
-
return Boolean(node?.type.includes('n8n-nodes-langchain.agent'));
|
|
69
|
-
}
|
|
70
|
-
function extractEvalTriggerColumnRefs(text) {
|
|
71
|
-
return (0, column_ref_utils_1.unique)([
|
|
72
|
-
...(0, column_ref_utils_1.extractJsonColumnRefs)(text),
|
|
73
|
-
...(0, column_ref_utils_1.extractNamedRefMatches)(text).map((match) => match.field),
|
|
74
|
-
]);
|
|
75
|
-
}
|
|
76
|
-
function expectedColumnsFromMetricNodes(nodes) {
|
|
77
|
-
return (0, column_ref_utils_1.unique)(nodes.flatMap((node) => {
|
|
78
|
-
if (!(0, column_ref_utils_1.nodeTypeEndsWith)(node, 'evaluation') || readOperation(node) !== 'setMetrics')
|
|
79
|
-
return [];
|
|
80
|
-
const parameters = node.parameters;
|
|
81
|
-
if (!(0, is_record_1.isRecord)(parameters))
|
|
82
|
-
return [];
|
|
83
|
-
const expectedRaw = parameters.expectedAnswer;
|
|
84
|
-
return typeof expectedRaw === 'string' ? extractEvalTriggerColumnRefs(expectedRaw) : [];
|
|
85
|
-
}));
|
|
86
|
-
}
|
|
87
|
-
function actualColumnsFromSetOutputs(nodes) {
|
|
88
|
-
return (0, column_ref_utils_1.unique)(nodes.flatMap((node) => {
|
|
89
|
-
if (!(0, column_ref_utils_1.nodeTypeEndsWith)(node, 'evaluation') || readOperation(node) !== 'setOutputs')
|
|
90
|
-
return [];
|
|
91
|
-
const parameters = node.parameters;
|
|
92
|
-
if (!(0, is_record_1.isRecord)(parameters))
|
|
93
|
-
return [];
|
|
94
|
-
const outputs = parameters.outputs;
|
|
95
|
-
if (!(0, is_record_1.isRecord)(outputs))
|
|
96
|
-
return [];
|
|
97
|
-
const values = outputs.values;
|
|
98
|
-
if (!Array.isArray(values))
|
|
99
|
-
return [];
|
|
100
|
-
return values.flatMap((value) => {
|
|
101
|
-
if (!(0, is_record_1.isRecord)(value))
|
|
102
|
-
return [];
|
|
103
|
-
const outputName = value.outputName;
|
|
104
|
-
return typeof outputName === 'string' ? [outputName] : [];
|
|
105
|
-
});
|
|
106
|
-
}));
|
|
107
|
-
}
|
|
108
|
-
function pairsFromMetricNodes(nodes) {
|
|
109
|
-
const pairs = [];
|
|
110
|
-
for (const node of nodes) {
|
|
111
|
-
if (!(0, column_ref_utils_1.nodeTypeEndsWith)(node, 'evaluation') || readOperation(node) !== 'setMetrics')
|
|
112
|
-
continue;
|
|
113
|
-
const parameters = node.parameters;
|
|
114
|
-
if (!(0, is_record_1.isRecord)(parameters))
|
|
115
|
-
continue;
|
|
116
|
-
const expectedRaw = parameters.expectedAnswer;
|
|
117
|
-
const actualRaw = parameters.actualAnswer;
|
|
118
|
-
if (typeof expectedRaw !== 'string' || typeof actualRaw !== 'string')
|
|
119
|
-
continue;
|
|
120
|
-
const expectedRefs = extractEvalTriggerColumnRefs(expectedRaw).filter((ref) => ref.startsWith('expected'));
|
|
121
|
-
const actualRefs = (0, column_ref_utils_1.extractJsonColumnRefs)(actualRaw);
|
|
122
|
-
const len = Math.min(expectedRefs.length, actualRefs.length);
|
|
123
|
-
for (let i = 0; i < len; i++) {
|
|
124
|
-
pairs.push({ expectedColumn: expectedRefs[i], actualField: actualRefs[i] });
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
const map = new Map();
|
|
128
|
-
for (const p of pairs)
|
|
129
|
-
map.set(p.expectedColumn, p.actualField);
|
|
130
|
-
return [...map.entries()].map(([expectedColumn, actualField]) => ({
|
|
131
|
-
expectedColumn,
|
|
132
|
-
actualField,
|
|
133
|
-
}));
|
|
134
|
-
}
|
|
135
|
-
function firstReachableAgentName(workflow, evalTriggerName) {
|
|
136
|
-
const byName = nodeByName(workflow);
|
|
137
|
-
return collectReachableNodeNames(workflow, evalTriggerName).find((name) => isAiAgentNode(byName.get(name)));
|
|
138
|
-
}
|
|
139
|
-
function firstReachableTargetNodeName(workflow, evalTriggerName) {
|
|
140
|
-
const reachableNodeNames = collectReachableNodeNames(workflow, evalTriggerName);
|
|
141
|
-
const reachableNameSet = new Set(reachableNodeNames);
|
|
142
|
-
const reachableNodes = (workflow.nodes ?? []).filter((node) => (0, column_ref_utils_1.nodeHasName)(node) && reachableNameSet.has(node.name));
|
|
143
|
-
const aiNodeNames = new Set((0, detect_ai_nodes_1.detectAiNodes)({ ...workflow, nodes: reachableNodes }).aiNodeNames);
|
|
144
|
-
return reachableNodeNames.find((name) => aiNodeNames.has(name));
|
|
145
|
-
}
|
|
146
|
-
function analyzeEvalDataRequirements(workflow) {
|
|
147
|
-
const evaluationTriggers = (workflow.nodes ?? []).filter((node) => (0, column_ref_utils_1.nodeHasName)(node) && (0, column_ref_utils_1.nodeTypeEndsWith)(node, 'evaluationTrigger'));
|
|
148
|
-
if (evaluationTriggers.length === 0) {
|
|
149
|
-
return { targets: [], reason: 'Workflow has no EvaluationTrigger nodes.' };
|
|
150
|
-
}
|
|
151
|
-
const targets = evaluationTriggers.flatMap((trigger) => {
|
|
152
|
-
const dataTableId = readDataTableId(trigger);
|
|
153
|
-
if (!dataTableId)
|
|
154
|
-
return [];
|
|
155
|
-
const reachableNames = new Set(collectReachableNodeNames(workflow, trigger.name));
|
|
156
|
-
const reachableNodes = (workflow.nodes ?? []).filter((node) => (0, column_ref_utils_1.nodeHasName)(node) && reachableNames.has(node.name));
|
|
157
|
-
const metricNodeNames = reachableNodes
|
|
158
|
-
.filter((node) => (0, column_ref_utils_1.nodeTypeEndsWith)(node, 'evaluation') && readOperation(node) === 'setMetrics')
|
|
159
|
-
.map((node) => node.name);
|
|
160
|
-
const targetAgentNodeName = firstReachableAgentName(workflow, trigger.name);
|
|
161
|
-
const targetNodeName = firstReachableTargetNodeName(workflow, trigger.name);
|
|
162
|
-
const inputTargetNodeName = targetAgentNodeName ?? targetNodeName;
|
|
163
|
-
return [
|
|
164
|
-
{
|
|
165
|
-
dataTableId,
|
|
166
|
-
evaluationTriggerName: trigger.name,
|
|
167
|
-
targetNodeName,
|
|
168
|
-
targetAgentNodeName,
|
|
169
|
-
inputColumns: inputTargetNodeName
|
|
170
|
-
? (0, analyze_agent_input_columns_service_1.analyzeAgentInputColumns)(workflow, inputTargetNodeName).inputColumns
|
|
171
|
-
: [],
|
|
172
|
-
expectedOutputColumns: expectedColumnsFromMetricNodes(reachableNodes),
|
|
173
|
-
actualOutputColumns: actualColumnsFromSetOutputs(reachableNodes),
|
|
174
|
-
metricNodeNames,
|
|
175
|
-
expectedToActualPairs: pairsFromMetricNodes(reachableNodes),
|
|
176
|
-
},
|
|
177
|
-
];
|
|
178
|
-
});
|
|
179
|
-
if (targets.length === 0) {
|
|
180
|
-
return {
|
|
181
|
-
targets: [],
|
|
182
|
-
reason: 'Workflow has EvaluationTrigger nodes, but none are wired to a DataTable id.',
|
|
183
|
-
};
|
|
184
|
-
}
|
|
185
|
-
return { targets };
|
|
186
|
-
}
|
|
187
|
-
//# sourceMappingURL=eval-data-requirements.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"eval-data-requirements.service.js","sourceRoot":"","sources":["../../../src/tools/evals/eval-data-requirements.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import type { InstanceAiContext } from '../../types';
|
|
3
|
-
export declare const evalsResumeSchema: z.ZodObject<{
|
|
4
|
-
approved: z.ZodBoolean;
|
|
5
|
-
userInput: z.ZodOptional<z.ZodString>;
|
|
6
|
-
scope: z.ZodOptional<z.ZodEnum<["once", "session"]>>;
|
|
7
|
-
} & {
|
|
8
|
-
answers: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
9
|
-
questionId: z.ZodString;
|
|
10
|
-
selectedOptions: z.ZodArray<z.ZodString, "many">;
|
|
11
|
-
customText: z.ZodOptional<z.ZodString>;
|
|
12
|
-
skipped: z.ZodOptional<z.ZodBoolean>;
|
|
13
|
-
}, "strip", z.ZodTypeAny, {
|
|
14
|
-
questionId: string;
|
|
15
|
-
selectedOptions: string[];
|
|
16
|
-
customText?: string | undefined;
|
|
17
|
-
skipped?: boolean | undefined;
|
|
18
|
-
}, {
|
|
19
|
-
questionId: string;
|
|
20
|
-
selectedOptions: string[];
|
|
21
|
-
customText?: string | undefined;
|
|
22
|
-
skipped?: boolean | undefined;
|
|
23
|
-
}>, "many">>;
|
|
24
|
-
}, "strip", z.ZodTypeAny, {
|
|
25
|
-
approved: boolean;
|
|
26
|
-
userInput?: string | undefined;
|
|
27
|
-
scope?: "once" | "session" | undefined;
|
|
28
|
-
answers?: {
|
|
29
|
-
questionId: string;
|
|
30
|
-
selectedOptions: string[];
|
|
31
|
-
customText?: string | undefined;
|
|
32
|
-
skipped?: boolean | undefined;
|
|
33
|
-
}[] | undefined;
|
|
34
|
-
}, {
|
|
35
|
-
approved: boolean;
|
|
36
|
-
userInput?: string | undefined;
|
|
37
|
-
scope?: "once" | "session" | undefined;
|
|
38
|
-
answers?: {
|
|
39
|
-
questionId: string;
|
|
40
|
-
selectedOptions: string[];
|
|
41
|
-
customText?: string | undefined;
|
|
42
|
-
skipped?: boolean | undefined;
|
|
43
|
-
}[] | undefined;
|
|
44
|
-
}>;
|
|
45
|
-
export declare function createEvalsTool(context: InstanceAiContext): import("@n8n/agents").BuiltTool;
|