@uns-kit/assistant-workflow 2.0.72
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 +21 -0
- package/README.md +37 -0
- package/dist/clarification-policy.d.ts +64 -0
- package/dist/clarification-policy.d.ts.map +1 -0
- package/dist/clarification-policy.js +174 -0
- package/dist/clarification-policy.js.map +1 -0
- package/dist/decision.d.ts +37 -0
- package/dist/decision.d.ts.map +1 -0
- package/dist/decision.js +100 -0
- package/dist/decision.js.map +1 -0
- package/dist/definition-catalog-replay.d.ts +25 -0
- package/dist/definition-catalog-replay.d.ts.map +1 -0
- package/dist/definition-catalog-replay.js +54 -0
- package/dist/definition-catalog-replay.js.map +1 -0
- package/dist/definition-catalog.d.ts +45 -0
- package/dist/definition-catalog.d.ts.map +1 -0
- package/dist/definition-catalog.js +97 -0
- package/dist/definition-catalog.js.map +1 -0
- package/dist/definition-diagnostics.d.ts +17 -0
- package/dist/definition-diagnostics.d.ts.map +1 -0
- package/dist/definition-diagnostics.js +353 -0
- package/dist/definition-diagnostics.js.map +1 -0
- package/dist/definition-diff.d.ts +51 -0
- package/dist/definition-diff.d.ts.map +1 -0
- package/dist/definition-diff.js +172 -0
- package/dist/definition-diff.js.map +1 -0
- package/dist/definition-json.d.ts +53 -0
- package/dist/definition-json.d.ts.map +1 -0
- package/dist/definition-json.js +186 -0
- package/dist/definition-json.js.map +1 -0
- package/dist/definition-manifest.d.ts +41 -0
- package/dist/definition-manifest.d.ts.map +1 -0
- package/dist/definition-manifest.js +119 -0
- package/dist/definition-manifest.js.map +1 -0
- package/dist/definition-package-execution-json.d.ts +64 -0
- package/dist/definition-package-execution-json.d.ts.map +1 -0
- package/dist/definition-package-execution-json.js +245 -0
- package/dist/definition-package-execution-json.js.map +1 -0
- package/dist/definition-package-execution-replay.d.ts +14 -0
- package/dist/definition-package-execution-replay.d.ts.map +1 -0
- package/dist/definition-package-execution-replay.js +47 -0
- package/dist/definition-package-execution-replay.js.map +1 -0
- package/dist/definition-package-executor.d.ts +52 -0
- package/dist/definition-package-executor.d.ts.map +1 -0
- package/dist/definition-package-executor.js +70 -0
- package/dist/definition-package-executor.js.map +1 -0
- package/dist/definition-package-loader.d.ts +36 -0
- package/dist/definition-package-loader.d.ts.map +1 -0
- package/dist/definition-package-loader.js +56 -0
- package/dist/definition-package-loader.js.map +1 -0
- package/dist/definition-package-replay.d.ts +28 -0
- package/dist/definition-package-replay.d.ts.map +1 -0
- package/dist/definition-package-replay.js +74 -0
- package/dist/definition-package-replay.js.map +1 -0
- package/dist/definition-package-resolver.d.ts +31 -0
- package/dist/definition-package-resolver.d.ts.map +1 -0
- package/dist/definition-package-resolver.js +60 -0
- package/dist/definition-package-resolver.js.map +1 -0
- package/dist/definition-package-review.d.ts +29 -0
- package/dist/definition-package-review.d.ts.map +1 -0
- package/dist/definition-package-review.js +74 -0
- package/dist/definition-package-review.js.map +1 -0
- package/dist/definition-package-run-report.d.ts +25 -0
- package/dist/definition-package-run-report.d.ts.map +1 -0
- package/dist/definition-package-run-report.js +37 -0
- package/dist/definition-package-run-report.js.map +1 -0
- package/dist/definition-package-run.d.ts +20 -0
- package/dist/definition-package-run.d.ts.map +1 -0
- package/dist/definition-package-run.js +41 -0
- package/dist/definition-package-run.js.map +1 -0
- package/dist/definition-package-selection.d.ts +29 -0
- package/dist/definition-package-selection.d.ts.map +1 -0
- package/dist/definition-package-selection.js +68 -0
- package/dist/definition-package-selection.js.map +1 -0
- package/dist/definition-package-smoke.d.ts +74 -0
- package/dist/definition-package-smoke.d.ts.map +1 -0
- package/dist/definition-package-smoke.js +184 -0
- package/dist/definition-package-smoke.js.map +1 -0
- package/dist/definition-package.d.ts +36 -0
- package/dist/definition-package.d.ts.map +1 -0
- package/dist/definition-package.js +114 -0
- package/dist/definition-package.js.map +1 -0
- package/dist/definition-tuning-approval.d.ts +39 -0
- package/dist/definition-tuning-approval.d.ts.map +1 -0
- package/dist/definition-tuning-approval.js +207 -0
- package/dist/definition-tuning-approval.js.map +1 -0
- package/dist/definition-tuning-json.d.ts +58 -0
- package/dist/definition-tuning-json.d.ts.map +1 -0
- package/dist/definition-tuning-json.js +276 -0
- package/dist/definition-tuning-json.js.map +1 -0
- package/dist/definition-tuning-promotion.d.ts +120 -0
- package/dist/definition-tuning-promotion.d.ts.map +1 -0
- package/dist/definition-tuning-promotion.js +460 -0
- package/dist/definition-tuning-promotion.js.map +1 -0
- package/dist/definition-tuning-replay.d.ts +14 -0
- package/dist/definition-tuning-replay.d.ts.map +1 -0
- package/dist/definition-tuning-replay.js +50 -0
- package/dist/definition-tuning-replay.js.map +1 -0
- package/dist/definition-tuning-review-artifact.d.ts +56 -0
- package/dist/definition-tuning-review-artifact.d.ts.map +1 -0
- package/dist/definition-tuning-review-artifact.js +302 -0
- package/dist/definition-tuning-review-artifact.js.map +1 -0
- package/dist/definition-tuning-review.d.ts +59 -0
- package/dist/definition-tuning-review.d.ts.map +1 -0
- package/dist/definition-tuning-review.js +213 -0
- package/dist/definition-tuning-review.js.map +1 -0
- package/dist/definition-tuning-source-patch.d.ts +43 -0
- package/dist/definition-tuning-source-patch.d.ts.map +1 -0
- package/dist/definition-tuning-source-patch.js +214 -0
- package/dist/definition-tuning-source-patch.js.map +1 -0
- package/dist/definition-tuning.d.ts +73 -0
- package/dist/definition-tuning.d.ts.map +1 -0
- package/dist/definition-tuning.js +426 -0
- package/dist/definition-tuning.js.map +1 -0
- package/dist/definition.d.ts +189 -0
- package/dist/definition.d.ts.map +1 -0
- package/dist/definition.js +494 -0
- package/dist/definition.js.map +1 -0
- package/dist/direct-route-invocation.d.ts +132 -0
- package/dist/direct-route-invocation.d.ts.map +1 -0
- package/dist/direct-route-invocation.js +325 -0
- package/dist/direct-route-invocation.js.map +1 -0
- package/dist/direct-route-policy.d.ts +25 -0
- package/dist/direct-route-policy.d.ts.map +1 -0
- package/dist/direct-route-policy.js +106 -0
- package/dist/direct-route-policy.js.map +1 -0
- package/dist/eval-case.d.ts +85 -0
- package/dist/eval-case.d.ts.map +1 -0
- package/dist/eval-case.js +366 -0
- package/dist/eval-case.js.map +1 -0
- package/dist/eval-replay.d.ts +18 -0
- package/dist/eval-replay.d.ts.map +1 -0
- package/dist/eval-replay.js +41 -0
- package/dist/eval-replay.js.map +1 -0
- package/dist/eval-result.d.ts +46 -0
- package/dist/eval-result.d.ts.map +1 -0
- package/dist/eval-result.js +183 -0
- package/dist/eval-result.js.map +1 -0
- package/dist/eval-runner.d.ts +30 -0
- package/dist/eval-runner.d.ts.map +1 -0
- package/dist/eval-runner.js +57 -0
- package/dist/eval-runner.js.map +1 -0
- package/dist/eval-suite.d.ts +43 -0
- package/dist/eval-suite.d.ts.map +1 -0
- package/dist/eval-suite.js +101 -0
- package/dist/eval-suite.js.map +1 -0
- package/dist/execution-plan.d.ts +43 -0
- package/dist/execution-plan.d.ts.map +1 -0
- package/dist/execution-plan.js +187 -0
- package/dist/execution-plan.js.map +1 -0
- package/dist/hosted-tool-policy.d.ts +70 -0
- package/dist/hosted-tool-policy.d.ts.map +1 -0
- package/dist/hosted-tool-policy.js +228 -0
- package/dist/hosted-tool-policy.js.map +1 -0
- package/dist/index.d.ts +73 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +73 -0
- package/dist/index.js.map +1 -0
- package/dist/memory-policy.d.ts +55 -0
- package/dist/memory-policy.d.ts.map +1 -0
- package/dist/memory-policy.js +187 -0
- package/dist/memory-policy.js.map +1 -0
- package/dist/memory-updates.d.ts +39 -0
- package/dist/memory-updates.d.ts.map +1 -0
- package/dist/memory-updates.js +110 -0
- package/dist/memory-updates.js.map +1 -0
- package/dist/outcome-trace.d.ts +79 -0
- package/dist/outcome-trace.d.ts.map +1 -0
- package/dist/outcome-trace.js +117 -0
- package/dist/outcome-trace.js.map +1 -0
- package/dist/outcome.d.ts +97 -0
- package/dist/outcome.d.ts.map +1 -0
- package/dist/outcome.js +160 -0
- package/dist/outcome.js.map +1 -0
- package/dist/planner-compiler.d.ts +14 -0
- package/dist/planner-compiler.d.ts.map +1 -0
- package/dist/planner-compiler.js +26 -0
- package/dist/planner-compiler.js.map +1 -0
- package/dist/planning.d.ts +36 -0
- package/dist/planning.d.ts.map +1 -0
- package/dist/planning.js +141 -0
- package/dist/planning.js.map +1 -0
- package/dist/policy-resolution.d.ts +10 -0
- package/dist/policy-resolution.d.ts.map +1 -0
- package/dist/policy-resolution.js +30 -0
- package/dist/policy-resolution.js.map +1 -0
- package/dist/run-evaluation.d.ts +29 -0
- package/dist/run-evaluation.d.ts.map +1 -0
- package/dist/run-evaluation.js +128 -0
- package/dist/run-evaluation.js.map +1 -0
- package/dist/run-parity.d.ts +24 -0
- package/dist/run-parity.d.ts.map +1 -0
- package/dist/run-parity.js +36 -0
- package/dist/run-parity.js.map +1 -0
- package/dist/run-report-batch.d.ts +150 -0
- package/dist/run-report-batch.d.ts.map +1 -0
- package/dist/run-report-batch.js +391 -0
- package/dist/run-report-batch.js.map +1 -0
- package/dist/run-report-json.d.ts +76 -0
- package/dist/run-report-json.d.ts.map +1 -0
- package/dist/run-report-json.js +451 -0
- package/dist/run-report-json.js.map +1 -0
- package/dist/run-report.d.ts +22 -0
- package/dist/run-report.d.ts.map +1 -0
- package/dist/run-report.js +46 -0
- package/dist/run-report.js.map +1 -0
- package/dist/run.d.ts +20 -0
- package/dist/run.d.ts.map +1 -0
- package/dist/run.js +36 -0
- package/dist/run.js.map +1 -0
- package/dist/tool-bindings.d.ts +42 -0
- package/dist/tool-bindings.d.ts.map +1 -0
- package/dist/tool-bindings.js +124 -0
- package/dist/tool-bindings.js.map +1 -0
- package/dist/tool-capabilities.d.ts +37 -0
- package/dist/tool-capabilities.d.ts.map +1 -0
- package/dist/tool-capabilities.js +91 -0
- package/dist/tool-capabilities.js.map +1 -0
- package/dist/tool-executor.d.ts +63 -0
- package/dist/tool-executor.d.ts.map +1 -0
- package/dist/tool-executor.js +176 -0
- package/dist/tool-executor.js.map +1 -0
- package/dist/tool-fixtures.d.ts +18 -0
- package/dist/tool-fixtures.d.ts.map +1 -0
- package/dist/tool-fixtures.js +52 -0
- package/dist/tool-fixtures.js.map +1 -0
- package/dist/tool-invocations.d.ts +31 -0
- package/dist/tool-invocations.d.ts.map +1 -0
- package/dist/tool-invocations.js +79 -0
- package/dist/tool-invocations.js.map +1 -0
- package/dist/tool-provider-executors.d.ts +43 -0
- package/dist/tool-provider-executors.d.ts.map +1 -0
- package/dist/tool-provider-executors.js +59 -0
- package/dist/tool-provider-executors.js.map +1 -0
- package/dist/tool-result-cache.d.ts +37 -0
- package/dist/tool-result-cache.d.ts.map +1 -0
- package/dist/tool-result-cache.js +173 -0
- package/dist/tool-result-cache.js.map +1 -0
- package/dist/tool-results.d.ts +41 -0
- package/dist/tool-results.d.ts.map +1 -0
- package/dist/tool-results.js +137 -0
- package/dist/tool-results.js.map +1 -0
- package/dist/tool-runtime.d.ts +46 -0
- package/dist/tool-runtime.d.ts.map +1 -0
- package/dist/tool-runtime.js +163 -0
- package/dist/tool-runtime.js.map +1 -0
- package/dist/tool-selection-evaluation.d.ts +214 -0
- package/dist/tool-selection-evaluation.d.ts.map +1 -0
- package/dist/tool-selection-evaluation.js +773 -0
- package/dist/tool-selection-evaluation.js.map +1 -0
- package/dist/tool-selection-json.d.ts +71 -0
- package/dist/tool-selection-json.d.ts.map +1 -0
- package/dist/tool-selection-json.js +284 -0
- package/dist/tool-selection-json.js.map +1 -0
- package/dist/tool-selection-policy.d.ts +81 -0
- package/dist/tool-selection-policy.d.ts.map +1 -0
- package/dist/tool-selection-policy.js +376 -0
- package/dist/tool-selection-policy.js.map +1 -0
- package/dist/tool-selection-replay.d.ts +26 -0
- package/dist/tool-selection-replay.d.ts.map +1 -0
- package/dist/tool-selection-replay.js +88 -0
- package/dist/tool-selection-replay.js.map +1 -0
- package/dist/tool-selection-rules.d.ts +46 -0
- package/dist/tool-selection-rules.d.ts.map +1 -0
- package/dist/tool-selection-rules.js +183 -0
- package/dist/tool-selection-rules.js.map +1 -0
- package/dist/tool-selection-trace-export.d.ts +37 -0
- package/dist/tool-selection-trace-export.d.ts.map +1 -0
- package/dist/tool-selection-trace-export.js +324 -0
- package/dist/tool-selection-trace-export.js.map +1 -0
- package/dist/trace-events.d.ts +14 -0
- package/dist/trace-events.d.ts.map +1 -0
- package/dist/trace-events.js +65 -0
- package/dist/trace-events.js.map +1 -0
- package/dist/trace-payload.d.ts +24 -0
- package/dist/trace-payload.d.ts.map +1 -0
- package/dist/trace-payload.js +113 -0
- package/dist/trace-payload.js.map +1 -0
- package/dist/trace-replay.d.ts +276 -0
- package/dist/trace-replay.d.ts.map +1 -0
- package/dist/trace-replay.js +685 -0
- package/dist/trace-replay.js.map +1 -0
- package/dist/trace-report.d.ts +320 -0
- package/dist/trace-report.d.ts.map +1 -0
- package/dist/trace-report.js +1394 -0
- package/dist/trace-report.js.map +1 -0
- package/dist/trace-stages.d.ts +70 -0
- package/dist/trace-stages.d.ts.map +1 -0
- package/dist/trace-stages.js +103 -0
- package/dist/trace-stages.js.map +1 -0
- package/dist/value-readers.d.ts +20 -0
- package/dist/value-readers.d.ts.map +1 -0
- package/dist/value-readers.js +82 -0
- package/dist/value-readers.js.map +1 -0
- package/package.json +341 -0
package/dist/run.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type AssistantWorkflowDecision, type AssistantWorkflowDecisionInput } from "./decision.js";
|
|
2
|
+
import { type AssistantWorkflowDefinition, type AssistantWorkflowToolContextRequirement } from "./definition.js";
|
|
3
|
+
import { type AssistantWorkflowExecutionPlan, type AssistantWorkflowExecutionPlanStatus } from "./execution-plan.js";
|
|
4
|
+
import { type AssistantWorkflowToolInvocationQueue } from "./tool-invocations.js";
|
|
5
|
+
export type AssistantWorkflowRunInput = {
|
|
6
|
+
classification?: AssistantWorkflowDecisionInput | null;
|
|
7
|
+
availableToolNames?: readonly string[] | null;
|
|
8
|
+
availableContext?: readonly AssistantWorkflowToolContextRequirement[] | null;
|
|
9
|
+
};
|
|
10
|
+
export type AssistantWorkflowRun = {
|
|
11
|
+
workflowId: string;
|
|
12
|
+
workflowVersion: number;
|
|
13
|
+
status: AssistantWorkflowExecutionPlanStatus;
|
|
14
|
+
decision: AssistantWorkflowDecision;
|
|
15
|
+
executionPlan: AssistantWorkflowExecutionPlan;
|
|
16
|
+
toolInvocationQueue: AssistantWorkflowToolInvocationQueue;
|
|
17
|
+
};
|
|
18
|
+
export declare function buildAssistantWorkflowRun(workflow: AssistantWorkflowDefinition<string, string, string, string>, input?: AssistantWorkflowRunInput): AssistantWorkflowRun;
|
|
19
|
+
export declare function buildAssistantWorkflowRunTracePayload(run: AssistantWorkflowRun): Record<string, unknown>;
|
|
20
|
+
//# sourceMappingURL=run.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,yBAAyB,EAC9B,KAAK,8BAA8B,EACpC,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,KAAK,2BAA2B,EAChC,KAAK,uCAAuC,EAC7C,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAGL,KAAK,8BAA8B,EACnC,KAAK,oCAAoC,EAC1C,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,KAAK,oCAAoC,EAC1C,MAAM,uBAAuB,CAAC;AAE/B,MAAM,MAAM,yBAAyB,GAAG;IACtC,cAAc,CAAC,EAAE,8BAA8B,GAAG,IAAI,CAAC;IACvD,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAC9C,gBAAgB,CAAC,EAAE,SAAS,uCAAuC,EAAE,GAAG,IAAI,CAAC;CAC9E,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,oCAAoC,CAAC;IAC7C,QAAQ,EAAE,yBAAyB,CAAC;IACpC,aAAa,EAAE,8BAA8B,CAAC;IAC9C,mBAAmB,EAAE,oCAAoC,CAAC;CAC3D,CAAC;AAEF,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACrE,KAAK,GAAE,yBAA8B,GACpC,oBAAoB,CA0BtB;AAED,wBAAgB,qCAAqC,CAAC,GAAG,EAAE,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASxG"}
|
package/dist/run.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { buildAssistantWorkflowDecision, buildAssistantWorkflowDecisionTracePayload, } from "./decision.js";
|
|
2
|
+
import { buildAssistantWorkflowExecutionPlan, buildAssistantWorkflowExecutionPlanTracePayload, } from "./execution-plan.js";
|
|
3
|
+
import { buildAssistantWorkflowToolInvocationQueue, buildAssistantWorkflowToolInvocationQueueTracePayload, } from "./tool-invocations.js";
|
|
4
|
+
export function buildAssistantWorkflowRun(workflow, input = {}) {
|
|
5
|
+
const decision = buildAssistantWorkflowDecision(workflow, input.classification, input.availableToolNames ?? []);
|
|
6
|
+
const executionPlan = buildAssistantWorkflowExecutionPlan(workflow, decision, {
|
|
7
|
+
availableContext: input.availableContext ?? null,
|
|
8
|
+
});
|
|
9
|
+
const runWithoutQueue = {
|
|
10
|
+
workflowId: workflow.id,
|
|
11
|
+
workflowVersion: workflow.version,
|
|
12
|
+
status: executionPlan.status,
|
|
13
|
+
decision,
|
|
14
|
+
executionPlan,
|
|
15
|
+
};
|
|
16
|
+
const toolInvocationQueue = buildAssistantWorkflowToolInvocationQueue(workflow, runWithoutQueue);
|
|
17
|
+
return {
|
|
18
|
+
workflowId: workflow.id,
|
|
19
|
+
workflowVersion: workflow.version,
|
|
20
|
+
status: executionPlan.status,
|
|
21
|
+
decision,
|
|
22
|
+
executionPlan,
|
|
23
|
+
toolInvocationQueue,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export function buildAssistantWorkflowRunTracePayload(run) {
|
|
27
|
+
return {
|
|
28
|
+
workflowId: run.workflowId,
|
|
29
|
+
workflowVersion: run.workflowVersion,
|
|
30
|
+
status: run.status,
|
|
31
|
+
decision: buildAssistantWorkflowDecisionTracePayload(run.decision),
|
|
32
|
+
executionPlan: buildAssistantWorkflowExecutionPlanTracePayload(run.executionPlan),
|
|
33
|
+
toolInvocationQueue: buildAssistantWorkflowToolInvocationQueueTracePayload(run.toolInvocationQueue),
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=run.js.map
|
package/dist/run.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAC9B,0CAA0C,GAG3C,MAAM,eAAe,CAAC;AAKvB,OAAO,EACL,mCAAmC,EACnC,+CAA+C,GAGhD,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,yCAAyC,EACzC,qDAAqD,GAEtD,MAAM,uBAAuB,CAAC;AAiB/B,MAAM,UAAU,yBAAyB,CACvC,QAAqE,EACrE,QAAmC,EAAE;IAErC,MAAM,QAAQ,GAAG,8BAA8B,CAC7C,QAAQ,EACR,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,kBAAkB,IAAI,EAAE,CAC/B,CAAC;IACF,MAAM,aAAa,GAAG,mCAAmC,CAAC,QAAQ,EAAE,QAAQ,EAAE;QAC5E,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,IAAI,IAAI;KACjD,CAAC,CAAC;IACH,MAAM,eAAe,GAAG;QACtB,UAAU,EAAE,QAAQ,CAAC,EAAE;QACvB,eAAe,EAAE,QAAQ,CAAC,OAAO;QACjC,MAAM,EAAE,aAAa,CAAC,MAAM;QAC5B,QAAQ;QACR,aAAa;KACd,CAAC;IACF,MAAM,mBAAmB,GAAG,yCAAyC,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IAEjG,OAAO;QACL,UAAU,EAAE,QAAQ,CAAC,EAAE;QACvB,eAAe,EAAE,QAAQ,CAAC,OAAO;QACjC,MAAM,EAAE,aAAa,CAAC,MAAM;QAC5B,QAAQ;QACR,aAAa;QACb,mBAAmB;KACpB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qCAAqC,CAAC,GAAyB;IAC7E,OAAO;QACL,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,eAAe,EAAE,GAAG,CAAC,eAAe;QACpC,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,QAAQ,EAAE,0CAA0C,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClE,aAAa,EAAE,+CAA+C,CAAC,GAAG,CAAC,aAAa,CAAC;QACjF,mBAAmB,EAAE,qDAAqD,CAAC,GAAG,CAAC,mBAAmB,CAAC;KACpG,CAAC;AACJ,CAAC","sourcesContent":["import {\n buildAssistantWorkflowDecision,\n buildAssistantWorkflowDecisionTracePayload,\n type AssistantWorkflowDecision,\n type AssistantWorkflowDecisionInput,\n} from \"./decision.js\";\nimport {\n type AssistantWorkflowDefinition,\n type AssistantWorkflowToolContextRequirement,\n} from \"./definition.js\";\nimport {\n buildAssistantWorkflowExecutionPlan,\n buildAssistantWorkflowExecutionPlanTracePayload,\n type AssistantWorkflowExecutionPlan,\n type AssistantWorkflowExecutionPlanStatus,\n} from \"./execution-plan.js\";\nimport {\n buildAssistantWorkflowToolInvocationQueue,\n buildAssistantWorkflowToolInvocationQueueTracePayload,\n type AssistantWorkflowToolInvocationQueue,\n} from \"./tool-invocations.js\";\n\nexport type AssistantWorkflowRunInput = {\n classification?: AssistantWorkflowDecisionInput | null;\n availableToolNames?: readonly string[] | null;\n availableContext?: readonly AssistantWorkflowToolContextRequirement[] | null;\n};\n\nexport type AssistantWorkflowRun = {\n workflowId: string;\n workflowVersion: number;\n status: AssistantWorkflowExecutionPlanStatus;\n decision: AssistantWorkflowDecision;\n executionPlan: AssistantWorkflowExecutionPlan;\n toolInvocationQueue: AssistantWorkflowToolInvocationQueue;\n};\n\nexport function buildAssistantWorkflowRun(\n workflow: AssistantWorkflowDefinition<string, string, string, string>,\n input: AssistantWorkflowRunInput = {},\n): AssistantWorkflowRun {\n const decision = buildAssistantWorkflowDecision(\n workflow,\n input.classification,\n input.availableToolNames ?? [],\n );\n const executionPlan = buildAssistantWorkflowExecutionPlan(workflow, decision, {\n availableContext: input.availableContext ?? null,\n });\n const runWithoutQueue = {\n workflowId: workflow.id,\n workflowVersion: workflow.version,\n status: executionPlan.status,\n decision,\n executionPlan,\n };\n const toolInvocationQueue = buildAssistantWorkflowToolInvocationQueue(workflow, runWithoutQueue);\n\n return {\n workflowId: workflow.id,\n workflowVersion: workflow.version,\n status: executionPlan.status,\n decision,\n executionPlan,\n toolInvocationQueue,\n };\n}\n\nexport function buildAssistantWorkflowRunTracePayload(run: AssistantWorkflowRun): Record<string, unknown> {\n return {\n workflowId: run.workflowId,\n workflowVersion: run.workflowVersion,\n status: run.status,\n decision: buildAssistantWorkflowDecisionTracePayload(run.decision),\n executionPlan: buildAssistantWorkflowExecutionPlanTracePayload(run.executionPlan),\n toolInvocationQueue: buildAssistantWorkflowToolInvocationQueueTracePayload(run.toolInvocationQueue),\n };\n}\n"]}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { type AssistantWorkflowDefinition, type AssistantWorkflowToolBindingDefinition, type AssistantWorkflowToolCapabilityDefinition, type AssistantWorkflowToolProvider } from "./definition.js";
|
|
2
|
+
export type AssistantWorkflowToolBindingLookup = {
|
|
3
|
+
bindings: AssistantWorkflowToolBindingDefinition[];
|
|
4
|
+
missingToolBindings: string[];
|
|
5
|
+
};
|
|
6
|
+
export type AssistantWorkflowToolBindingCoverage = {
|
|
7
|
+
boundToolNames: string[];
|
|
8
|
+
unboundToolNames: string[];
|
|
9
|
+
bindingWithoutCapabilityNames: string[];
|
|
10
|
+
providerMismatches: AssistantWorkflowToolBindingProviderMismatch[];
|
|
11
|
+
};
|
|
12
|
+
export type AssistantWorkflowToolBindingProviderMismatch = {
|
|
13
|
+
toolName: string;
|
|
14
|
+
capabilityProvider: AssistantWorkflowToolProvider;
|
|
15
|
+
bindingProvider: AssistantWorkflowToolProvider;
|
|
16
|
+
};
|
|
17
|
+
export type AssistantWorkflowToolBindingSummary = {
|
|
18
|
+
bindingCount: number;
|
|
19
|
+
providers: Record<AssistantWorkflowToolProvider, number>;
|
|
20
|
+
coverage: AssistantWorkflowToolBindingCoverage;
|
|
21
|
+
};
|
|
22
|
+
export type AssistantWorkflowToolResolutionStatus = "ready" | "missing-capability" | "missing-binding" | "provider-mismatch";
|
|
23
|
+
export type AssistantWorkflowToolResolution = {
|
|
24
|
+
toolName: string;
|
|
25
|
+
status: AssistantWorkflowToolResolutionStatus;
|
|
26
|
+
capability: AssistantWorkflowToolCapabilityDefinition | null;
|
|
27
|
+
binding: AssistantWorkflowToolBindingDefinition | null;
|
|
28
|
+
provider: AssistantWorkflowToolProvider | null;
|
|
29
|
+
};
|
|
30
|
+
export type AssistantWorkflowToolResolutionSummary = {
|
|
31
|
+
resolutions: AssistantWorkflowToolResolution[];
|
|
32
|
+
readyToolNames: string[];
|
|
33
|
+
missingCapabilityNames: string[];
|
|
34
|
+
missingBindingNames: string[];
|
|
35
|
+
providerMismatchNames: string[];
|
|
36
|
+
};
|
|
37
|
+
export declare function findAssistantWorkflowToolBinding(workflow: AssistantWorkflowDefinition<string, string, string, string>, toolName: unknown): AssistantWorkflowToolBindingDefinition | null;
|
|
38
|
+
export declare function getAssistantWorkflowToolBindings(workflow: AssistantWorkflowDefinition<string, string, string, string>, toolNames: readonly string[]): AssistantWorkflowToolBindingLookup;
|
|
39
|
+
export declare function summarizeAssistantWorkflowToolBindings(workflow: AssistantWorkflowDefinition<string, string, string, string>): AssistantWorkflowToolBindingSummary;
|
|
40
|
+
export declare function resolveAssistantWorkflowTools(workflow: AssistantWorkflowDefinition<string, string, string, string>, toolNames: readonly string[]): AssistantWorkflowToolResolutionSummary;
|
|
41
|
+
export declare function buildAssistantWorkflowToolBindingCoverage(workflow: AssistantWorkflowDefinition<string, string, string, string>): AssistantWorkflowToolBindingCoverage;
|
|
42
|
+
//# sourceMappingURL=tool-bindings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-bindings.d.ts","sourceRoot":"","sources":["../src/tool-bindings.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,2BAA2B,EAChC,KAAK,sCAAsC,EAC3C,KAAK,yCAAyC,EAC9C,KAAK,6BAA6B,EACnC,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,kCAAkC,GAAG;IAC/C,QAAQ,EAAE,sCAAsC,EAAE,CAAC;IACnD,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAAG;IACjD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,6BAA6B,EAAE,MAAM,EAAE,CAAC;IACxC,kBAAkB,EAAE,4CAA4C,EAAE,CAAC;CACpE,CAAC;AAEF,MAAM,MAAM,4CAA4C,GAAG;IACzD,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,6BAA6B,CAAC;IAClD,eAAe,EAAE,6BAA6B,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG;IAChD,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC;IACzD,QAAQ,EAAE,oCAAoC,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,qCAAqC,GAC7C,OAAO,GACP,oBAAoB,GACpB,iBAAiB,GACjB,mBAAmB,CAAC;AAExB,MAAM,MAAM,+BAA+B,GAAG;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,qCAAqC,CAAC;IAC9C,UAAU,EAAE,yCAAyC,GAAG,IAAI,CAAC;IAC7D,OAAO,EAAE,sCAAsC,GAAG,IAAI,CAAC;IACvD,QAAQ,EAAE,6BAA6B,GAAG,IAAI,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,sCAAsC,GAAG;IACnD,WAAW,EAAE,+BAA+B,EAAE,CAAC;IAC/C,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACjC,CAAC;AAEF,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACrE,QAAQ,EAAE,OAAO,GAChB,sCAAsC,GAAG,IAAI,CAI/C;AAED,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACrE,SAAS,EAAE,SAAS,MAAM,EAAE,GAC3B,kCAAkC,CAmBpC;AAED,wBAAgB,sCAAsC,CACpD,QAAQ,EAAE,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GACpE,mCAAmC,CAOrC;AAED,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACrE,SAAS,EAAE,SAAS,MAAM,EAAE,GAC3B,sCAAsC,CAqCxC;AAED,wBAAgB,yCAAyC,CACvD,QAAQ,EAAE,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GACpE,oCAAoC,CAoCtC"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { normalizeAssistantWorkflowId, } from "./definition.js";
|
|
2
|
+
export function findAssistantWorkflowToolBinding(workflow, toolName) {
|
|
3
|
+
const normalized = normalizeAssistantWorkflowId(toolName);
|
|
4
|
+
if (!normalized)
|
|
5
|
+
return null;
|
|
6
|
+
return (workflow.toolBindings ?? []).find((binding) => binding.name === normalized) ?? null;
|
|
7
|
+
}
|
|
8
|
+
export function getAssistantWorkflowToolBindings(workflow, toolNames) {
|
|
9
|
+
const bindingsByName = new Map((workflow.toolBindings ?? []).map((binding) => [binding.name, binding]));
|
|
10
|
+
const bindings = [];
|
|
11
|
+
const missingToolBindings = [];
|
|
12
|
+
const seen = new Set();
|
|
13
|
+
for (const rawName of toolNames) {
|
|
14
|
+
const name = normalizeAssistantWorkflowId(rawName);
|
|
15
|
+
if (!name || seen.has(name))
|
|
16
|
+
continue;
|
|
17
|
+
seen.add(name);
|
|
18
|
+
const binding = bindingsByName.get(name);
|
|
19
|
+
if (binding) {
|
|
20
|
+
bindings.push(binding);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
missingToolBindings.push(name);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return { bindings, missingToolBindings };
|
|
27
|
+
}
|
|
28
|
+
export function summarizeAssistantWorkflowToolBindings(workflow) {
|
|
29
|
+
const bindings = [...(workflow.toolBindings ?? [])];
|
|
30
|
+
return {
|
|
31
|
+
bindingCount: bindings.length,
|
|
32
|
+
providers: countProviders(bindings),
|
|
33
|
+
coverage: buildAssistantWorkflowToolBindingCoverage(workflow),
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
export function resolveAssistantWorkflowTools(workflow, toolNames) {
|
|
37
|
+
const capabilitiesByName = new Map((workflow.tools ?? []).map((tool) => [tool.name, tool]));
|
|
38
|
+
const bindingsByName = new Map((workflow.toolBindings ?? []).map((binding) => [binding.name, binding]));
|
|
39
|
+
const resolutions = [];
|
|
40
|
+
const seen = new Set();
|
|
41
|
+
for (const rawName of toolNames) {
|
|
42
|
+
const toolName = normalizeAssistantWorkflowId(rawName);
|
|
43
|
+
if (!toolName || seen.has(toolName))
|
|
44
|
+
continue;
|
|
45
|
+
seen.add(toolName);
|
|
46
|
+
const capability = capabilitiesByName.get(toolName) ?? null;
|
|
47
|
+
const binding = bindingsByName.get(toolName) ?? null;
|
|
48
|
+
const status = resolveToolStatus(capability, binding);
|
|
49
|
+
resolutions.push({
|
|
50
|
+
toolName,
|
|
51
|
+
status,
|
|
52
|
+
capability,
|
|
53
|
+
binding,
|
|
54
|
+
provider: binding?.provider ?? capability?.provider ?? null,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
return {
|
|
58
|
+
resolutions,
|
|
59
|
+
readyToolNames: resolutions
|
|
60
|
+
.filter((resolution) => resolution.status === "ready")
|
|
61
|
+
.map((resolution) => resolution.toolName),
|
|
62
|
+
missingCapabilityNames: resolutions
|
|
63
|
+
.filter((resolution) => resolution.status === "missing-capability")
|
|
64
|
+
.map((resolution) => resolution.toolName),
|
|
65
|
+
missingBindingNames: resolutions
|
|
66
|
+
.filter((resolution) => resolution.status === "missing-binding")
|
|
67
|
+
.map((resolution) => resolution.toolName),
|
|
68
|
+
providerMismatchNames: resolutions
|
|
69
|
+
.filter((resolution) => resolution.status === "provider-mismatch")
|
|
70
|
+
.map((resolution) => resolution.toolName),
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
export function buildAssistantWorkflowToolBindingCoverage(workflow) {
|
|
74
|
+
const capabilitiesByName = new Map((workflow.tools ?? []).map((tool) => [tool.name, tool]));
|
|
75
|
+
const bindingsByName = new Map((workflow.toolBindings ?? []).map((binding) => [binding.name, binding]));
|
|
76
|
+
const boundToolNames = [];
|
|
77
|
+
const unboundToolNames = [];
|
|
78
|
+
const bindingWithoutCapabilityNames = [];
|
|
79
|
+
const providerMismatches = [];
|
|
80
|
+
for (const tool of workflow.tools ?? []) {
|
|
81
|
+
const binding = bindingsByName.get(tool.name);
|
|
82
|
+
if (binding) {
|
|
83
|
+
boundToolNames.push(tool.name);
|
|
84
|
+
if (binding.provider !== tool.provider) {
|
|
85
|
+
providerMismatches.push({
|
|
86
|
+
toolName: tool.name,
|
|
87
|
+
capabilityProvider: tool.provider,
|
|
88
|
+
bindingProvider: binding.provider,
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
unboundToolNames.push(tool.name);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
for (const binding of workflow.toolBindings ?? []) {
|
|
97
|
+
if (!capabilitiesByName.has(binding.name)) {
|
|
98
|
+
bindingWithoutCapabilityNames.push(binding.name);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return {
|
|
102
|
+
boundToolNames,
|
|
103
|
+
unboundToolNames,
|
|
104
|
+
bindingWithoutCapabilityNames,
|
|
105
|
+
providerMismatches,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
function countProviders(bindings) {
|
|
109
|
+
const out = {};
|
|
110
|
+
for (const binding of bindings) {
|
|
111
|
+
out[binding.provider] = (out[binding.provider] ?? 0) + 1;
|
|
112
|
+
}
|
|
113
|
+
return out;
|
|
114
|
+
}
|
|
115
|
+
function resolveToolStatus(capability, binding) {
|
|
116
|
+
if (!capability)
|
|
117
|
+
return "missing-capability";
|
|
118
|
+
if (!binding)
|
|
119
|
+
return "missing-binding";
|
|
120
|
+
if (capability.provider !== binding.provider)
|
|
121
|
+
return "provider-mismatch";
|
|
122
|
+
return "ready";
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=tool-bindings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-bindings.js","sourceRoot":"","sources":["../src/tool-bindings.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n normalizeAssistantWorkflowId,\n type AssistantWorkflowDefinition,\n type AssistantWorkflowToolBindingDefinition,\n type AssistantWorkflowToolCapabilityDefinition,\n type AssistantWorkflowToolProvider,\n} from \"./definition.js\";\n\nexport type AssistantWorkflowToolBindingLookup = {\n bindings: AssistantWorkflowToolBindingDefinition[];\n missingToolBindings: string[];\n};\n\nexport type AssistantWorkflowToolBindingCoverage = {\n boundToolNames: string[];\n unboundToolNames: string[];\n bindingWithoutCapabilityNames: string[];\n providerMismatches: AssistantWorkflowToolBindingProviderMismatch[];\n};\n\nexport type AssistantWorkflowToolBindingProviderMismatch = {\n toolName: string;\n capabilityProvider: AssistantWorkflowToolProvider;\n bindingProvider: AssistantWorkflowToolProvider;\n};\n\nexport type AssistantWorkflowToolBindingSummary = {\n bindingCount: number;\n providers: Record<AssistantWorkflowToolProvider, number>;\n coverage: AssistantWorkflowToolBindingCoverage;\n};\n\nexport type AssistantWorkflowToolResolutionStatus =\n | \"ready\"\n | \"missing-capability\"\n | \"missing-binding\"\n | \"provider-mismatch\";\n\nexport type AssistantWorkflowToolResolution = {\n toolName: string;\n status: AssistantWorkflowToolResolutionStatus;\n capability: AssistantWorkflowToolCapabilityDefinition | null;\n binding: AssistantWorkflowToolBindingDefinition | null;\n provider: AssistantWorkflowToolProvider | null;\n};\n\nexport type AssistantWorkflowToolResolutionSummary = {\n resolutions: AssistantWorkflowToolResolution[];\n readyToolNames: string[];\n missingCapabilityNames: string[];\n missingBindingNames: string[];\n providerMismatchNames: string[];\n};\n\nexport function findAssistantWorkflowToolBinding(\n workflow: AssistantWorkflowDefinition<string, string, string, string>,\n toolName: unknown,\n): AssistantWorkflowToolBindingDefinition | null {\n const normalized = normalizeAssistantWorkflowId(toolName);\n if (!normalized) return null;\n return (workflow.toolBindings ?? []).find((binding) => binding.name === normalized) ?? null;\n}\n\nexport function getAssistantWorkflowToolBindings(\n workflow: AssistantWorkflowDefinition<string, string, string, string>,\n toolNames: readonly string[],\n): AssistantWorkflowToolBindingLookup {\n const bindingsByName = new Map((workflow.toolBindings ?? []).map((binding) => [binding.name, binding] as const));\n const bindings: AssistantWorkflowToolBindingDefinition[] = [];\n const missingToolBindings: string[] = [];\n const seen = new Set<string>();\n\n for (const rawName of toolNames) {\n const name = normalizeAssistantWorkflowId(rawName);\n if (!name || seen.has(name)) continue;\n seen.add(name);\n const binding = bindingsByName.get(name);\n if (binding) {\n bindings.push(binding);\n } else {\n missingToolBindings.push(name);\n }\n }\n\n return { bindings, missingToolBindings };\n}\n\nexport function summarizeAssistantWorkflowToolBindings(\n workflow: AssistantWorkflowDefinition<string, string, string, string>,\n): AssistantWorkflowToolBindingSummary {\n const bindings = [...(workflow.toolBindings ?? [])];\n return {\n bindingCount: bindings.length,\n providers: countProviders(bindings),\n coverage: buildAssistantWorkflowToolBindingCoverage(workflow),\n };\n}\n\nexport function resolveAssistantWorkflowTools(\n workflow: AssistantWorkflowDefinition<string, string, string, string>,\n toolNames: readonly string[],\n): AssistantWorkflowToolResolutionSummary {\n const capabilitiesByName = new Map((workflow.tools ?? []).map((tool) => [tool.name, tool] as const));\n const bindingsByName = new Map((workflow.toolBindings ?? []).map((binding) => [binding.name, binding] as const));\n const resolutions: AssistantWorkflowToolResolution[] = [];\n const seen = new Set<string>();\n\n for (const rawName of toolNames) {\n const toolName = normalizeAssistantWorkflowId(rawName);\n if (!toolName || seen.has(toolName)) continue;\n seen.add(toolName);\n const capability = capabilitiesByName.get(toolName) ?? null;\n const binding = bindingsByName.get(toolName) ?? null;\n const status = resolveToolStatus(capability, binding);\n resolutions.push({\n toolName,\n status,\n capability,\n binding,\n provider: binding?.provider ?? capability?.provider ?? null,\n });\n }\n\n return {\n resolutions,\n readyToolNames: resolutions\n .filter((resolution) => resolution.status === \"ready\")\n .map((resolution) => resolution.toolName),\n missingCapabilityNames: resolutions\n .filter((resolution) => resolution.status === \"missing-capability\")\n .map((resolution) => resolution.toolName),\n missingBindingNames: resolutions\n .filter((resolution) => resolution.status === \"missing-binding\")\n .map((resolution) => resolution.toolName),\n providerMismatchNames: resolutions\n .filter((resolution) => resolution.status === \"provider-mismatch\")\n .map((resolution) => resolution.toolName),\n };\n}\n\nexport function buildAssistantWorkflowToolBindingCoverage(\n workflow: AssistantWorkflowDefinition<string, string, string, string>,\n): AssistantWorkflowToolBindingCoverage {\n const capabilitiesByName = new Map((workflow.tools ?? []).map((tool) => [tool.name, tool] as const));\n const bindingsByName = new Map((workflow.toolBindings ?? []).map((binding) => [binding.name, binding] as const));\n const boundToolNames: string[] = [];\n const unboundToolNames: string[] = [];\n const bindingWithoutCapabilityNames: string[] = [];\n const providerMismatches: AssistantWorkflowToolBindingProviderMismatch[] = [];\n\n for (const tool of workflow.tools ?? []) {\n const binding = bindingsByName.get(tool.name);\n if (binding) {\n boundToolNames.push(tool.name);\n if (binding.provider !== tool.provider) {\n providerMismatches.push({\n toolName: tool.name,\n capabilityProvider: tool.provider,\n bindingProvider: binding.provider,\n });\n }\n } else {\n unboundToolNames.push(tool.name);\n }\n }\n\n for (const binding of workflow.toolBindings ?? []) {\n if (!capabilitiesByName.has(binding.name)) {\n bindingWithoutCapabilityNames.push(binding.name);\n }\n }\n\n return {\n boundToolNames,\n unboundToolNames,\n bindingWithoutCapabilityNames,\n providerMismatches,\n };\n}\n\nfunction countProviders(\n bindings: readonly AssistantWorkflowToolBindingDefinition[],\n): Record<AssistantWorkflowToolProvider, number> {\n const out = {} as Record<AssistantWorkflowToolProvider, number>;\n for (const binding of bindings) {\n out[binding.provider] = (out[binding.provider] ?? 0) + 1;\n }\n return out;\n}\n\nfunction resolveToolStatus(\n capability: AssistantWorkflowToolCapabilityDefinition | null,\n binding: AssistantWorkflowToolBindingDefinition | null,\n): AssistantWorkflowToolResolutionStatus {\n if (!capability) return \"missing-capability\";\n if (!binding) return \"missing-binding\";\n if (capability.provider !== binding.provider) return \"provider-mismatch\";\n return \"ready\";\n}\n"]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { type AssistantWorkflowDefinition, type AssistantWorkflowToolCapabilityDefinition, type AssistantWorkflowToolCacheability, type AssistantWorkflowToolContextRequirement, type AssistantWorkflowToolEffect, type AssistantWorkflowToolOutputKind, type AssistantWorkflowToolProvider, type AssistantWorkflowToolRetryClass, type AssistantWorkflowToolSideEffectRisk } from "./definition.js";
|
|
2
|
+
export type AssistantWorkflowToolCapabilityLookup = {
|
|
3
|
+
tools: AssistantWorkflowToolCapabilityDefinition[];
|
|
4
|
+
missingToolCapabilities: string[];
|
|
5
|
+
};
|
|
6
|
+
export type AssistantWorkflowToolCapabilitySummary = {
|
|
7
|
+
toolCount: number;
|
|
8
|
+
providers: Record<AssistantWorkflowToolProvider, number>;
|
|
9
|
+
effects: Record<AssistantWorkflowToolEffect, number>;
|
|
10
|
+
sideEffectRisks: Record<AssistantWorkflowToolSideEffectRisk, number>;
|
|
11
|
+
cacheability: Record<AssistantWorkflowToolCacheability, number>;
|
|
12
|
+
retryClasses: Record<AssistantWorkflowToolRetryClass, number>;
|
|
13
|
+
outputKinds: Record<AssistantWorkflowToolOutputKind, number>;
|
|
14
|
+
requiredContext: Record<AssistantWorkflowToolContextRequirement, number>;
|
|
15
|
+
requiresConfirmation: string[];
|
|
16
|
+
missingToolCapabilities: string[];
|
|
17
|
+
};
|
|
18
|
+
export type AssistantWorkflowToolPolicyRecommendation = {
|
|
19
|
+
toolName: string;
|
|
20
|
+
enabledByDefault: boolean;
|
|
21
|
+
assistantVisibleByDefault: boolean;
|
|
22
|
+
schemaAssistantVisibleByDefault: boolean;
|
|
23
|
+
explicitCallAllowedByDefault: boolean;
|
|
24
|
+
confirmationRequired: boolean;
|
|
25
|
+
readOnly: boolean;
|
|
26
|
+
cacheable: boolean;
|
|
27
|
+
retryAllowed: boolean;
|
|
28
|
+
sideEffectRisk: AssistantWorkflowToolSideEffectRisk;
|
|
29
|
+
outputKinds: AssistantWorkflowToolOutputKind[];
|
|
30
|
+
requiredContext: AssistantWorkflowToolContextRequirement[];
|
|
31
|
+
};
|
|
32
|
+
export declare function findAssistantWorkflowToolCapability(workflow: AssistantWorkflowDefinition<string, string, string, string>, toolName: unknown): AssistantWorkflowToolCapabilityDefinition | null;
|
|
33
|
+
export declare function getAssistantWorkflowToolCapabilities(workflow: AssistantWorkflowDefinition<string, string, string, string>, toolNames: readonly string[]): AssistantWorkflowToolCapabilityLookup;
|
|
34
|
+
export declare function summarizeAssistantWorkflowToolCapabilities(workflow: AssistantWorkflowDefinition<string, string, string, string>, toolNames: readonly string[]): AssistantWorkflowToolCapabilitySummary;
|
|
35
|
+
export declare function buildAssistantWorkflowToolPolicyRecommendation(tool: AssistantWorkflowToolCapabilityDefinition): AssistantWorkflowToolPolicyRecommendation;
|
|
36
|
+
export declare function buildAssistantWorkflowToolPolicyRecommendations(workflow: AssistantWorkflowDefinition<string, string, string, string>, toolNames?: readonly string[]): AssistantWorkflowToolPolicyRecommendation[];
|
|
37
|
+
//# sourceMappingURL=tool-capabilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-capabilities.d.ts","sourceRoot":"","sources":["../src/tool-capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,2BAA2B,EAChC,KAAK,yCAAyC,EAC9C,KAAK,iCAAiC,EACtC,KAAK,uCAAuC,EAC5C,KAAK,2BAA2B,EAChC,KAAK,+BAA+B,EACpC,KAAK,6BAA6B,EAClC,KAAK,+BAA+B,EACpC,KAAK,mCAAmC,EACzC,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,qCAAqC,GAAG;IAClD,KAAK,EAAE,yCAAyC,EAAE,CAAC;IACnD,uBAAuB,EAAE,MAAM,EAAE,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,sCAAsC,GAAG;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC;IACzD,OAAO,EAAE,MAAM,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC;IACrD,eAAe,EAAE,MAAM,CAAC,mCAAmC,EAAE,MAAM,CAAC,CAAC;IACrE,YAAY,EAAE,MAAM,CAAC,iCAAiC,EAAE,MAAM,CAAC,CAAC;IAChE,YAAY,EAAE,MAAM,CAAC,+BAA+B,EAAE,MAAM,CAAC,CAAC;IAC9D,WAAW,EAAE,MAAM,CAAC,+BAA+B,EAAE,MAAM,CAAC,CAAC;IAC7D,eAAe,EAAE,MAAM,CAAC,uCAAuC,EAAE,MAAM,CAAC,CAAC;IACzE,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,uBAAuB,EAAE,MAAM,EAAE,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,yCAAyC,GAAG;IACtD,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,yBAAyB,EAAE,OAAO,CAAC;IACnC,+BAA+B,EAAE,OAAO,CAAC;IACzC,4BAA4B,EAAE,OAAO,CAAC;IACtC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,mCAAmC,CAAC;IACpD,WAAW,EAAE,+BAA+B,EAAE,CAAC;IAC/C,eAAe,EAAE,uCAAuC,EAAE,CAAC;CAC5D,CAAC;AAEF,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACrE,QAAQ,EAAE,OAAO,GAChB,yCAAyC,GAAG,IAAI,CAIlD;AAED,wBAAgB,oCAAoC,CAClD,QAAQ,EAAE,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACrE,SAAS,EAAE,SAAS,MAAM,EAAE,GAC3B,qCAAqC,CAmBvC;AAED,wBAAgB,0CAA0C,CACxD,QAAQ,EAAE,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACrE,SAAS,EAAE,SAAS,MAAM,EAAE,GAC3B,sCAAsC,CAiBxC;AAED,wBAAgB,8CAA8C,CAC5D,IAAI,EAAE,yCAAyC,GAC9C,yCAAyC,CAqB3C;AAED,wBAAgB,+CAA+C,CAC7D,QAAQ,EAAE,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACrE,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,GAC5B,yCAAyC,EAAE,CAK7C"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { normalizeAssistantWorkflowId, } from "./definition.js";
|
|
2
|
+
export function findAssistantWorkflowToolCapability(workflow, toolName) {
|
|
3
|
+
const normalized = normalizeAssistantWorkflowId(toolName);
|
|
4
|
+
if (!normalized)
|
|
5
|
+
return null;
|
|
6
|
+
return (workflow.tools ?? []).find((tool) => tool.name === normalized) ?? null;
|
|
7
|
+
}
|
|
8
|
+
export function getAssistantWorkflowToolCapabilities(workflow, toolNames) {
|
|
9
|
+
const toolsByName = new Map((workflow.tools ?? []).map((tool) => [tool.name, tool]));
|
|
10
|
+
const tools = [];
|
|
11
|
+
const missingToolCapabilities = [];
|
|
12
|
+
const seen = new Set();
|
|
13
|
+
for (const rawName of toolNames) {
|
|
14
|
+
const name = normalizeAssistantWorkflowId(rawName);
|
|
15
|
+
if (!name || seen.has(name))
|
|
16
|
+
continue;
|
|
17
|
+
seen.add(name);
|
|
18
|
+
const tool = toolsByName.get(name);
|
|
19
|
+
if (tool) {
|
|
20
|
+
tools.push(tool);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
missingToolCapabilities.push(name);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return { tools, missingToolCapabilities };
|
|
27
|
+
}
|
|
28
|
+
export function summarizeAssistantWorkflowToolCapabilities(workflow, toolNames) {
|
|
29
|
+
const lookup = getAssistantWorkflowToolCapabilities(workflow, toolNames);
|
|
30
|
+
return {
|
|
31
|
+
toolCount: lookup.tools.length,
|
|
32
|
+
providers: countBy(lookup.tools, (tool) => [tool.provider]),
|
|
33
|
+
effects: countBy(lookup.tools, (tool) => [tool.effect]),
|
|
34
|
+
sideEffectRisks: countBy(lookup.tools, (tool) => [tool.sideEffectRisk]),
|
|
35
|
+
cacheability: countBy(lookup.tools, (tool) => [tool.cacheability]),
|
|
36
|
+
retryClasses: countBy(lookup.tools, (tool) => [tool.retryClass]),
|
|
37
|
+
outputKinds: countBy(lookup.tools, (tool) => tool.outputKinds),
|
|
38
|
+
requiredContext: countBy(lookup.tools, (tool) => tool.requiredContext ?? []),
|
|
39
|
+
requiresConfirmation: lookup.tools
|
|
40
|
+
.filter((tool) => tool.requiresConfirmation === true)
|
|
41
|
+
.map((tool) => tool.name),
|
|
42
|
+
missingToolCapabilities: lookup.missingToolCapabilities,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
export function buildAssistantWorkflowToolPolicyRecommendation(tool) {
|
|
46
|
+
const outputKinds = uniqueStrings(tool.outputKinds);
|
|
47
|
+
const requiredContext = uniqueStrings(tool.requiredContext ?? []);
|
|
48
|
+
const isSchemaTool = outputKinds.includes("schema");
|
|
49
|
+
const confirmationRequired = tool.requiresConfirmation === true || tool.effect === "write" || tool.sideEffectRisk === "high";
|
|
50
|
+
return {
|
|
51
|
+
toolName: tool.name,
|
|
52
|
+
enabledByDefault: true,
|
|
53
|
+
assistantVisibleByDefault: !isSchemaTool,
|
|
54
|
+
schemaAssistantVisibleByDefault: isSchemaTool,
|
|
55
|
+
explicitCallAllowedByDefault: tool.sideEffectRisk !== "high",
|
|
56
|
+
confirmationRequired,
|
|
57
|
+
readOnly: tool.effect !== "write",
|
|
58
|
+
cacheable: tool.cacheability === "cacheable",
|
|
59
|
+
retryAllowed: tool.retryClass !== "never",
|
|
60
|
+
sideEffectRisk: tool.sideEffectRisk,
|
|
61
|
+
outputKinds,
|
|
62
|
+
requiredContext,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
export function buildAssistantWorkflowToolPolicyRecommendations(workflow, toolNames) {
|
|
66
|
+
const tools = toolNames
|
|
67
|
+
? getAssistantWorkflowToolCapabilities(workflow, toolNames).tools
|
|
68
|
+
: [...(workflow.tools ?? [])];
|
|
69
|
+
return tools.map((tool) => buildAssistantWorkflowToolPolicyRecommendation(tool));
|
|
70
|
+
}
|
|
71
|
+
function countBy(tools, selectKeys) {
|
|
72
|
+
const out = {};
|
|
73
|
+
for (const tool of tools) {
|
|
74
|
+
for (const key of selectKeys(tool)) {
|
|
75
|
+
out[key] = (out[key] ?? 0) + 1;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return out;
|
|
79
|
+
}
|
|
80
|
+
function uniqueStrings(values) {
|
|
81
|
+
const out = [];
|
|
82
|
+
const seen = new Set();
|
|
83
|
+
for (const value of values) {
|
|
84
|
+
if (seen.has(value))
|
|
85
|
+
continue;
|
|
86
|
+
seen.add(value);
|
|
87
|
+
out.push(value);
|
|
88
|
+
}
|
|
89
|
+
return out;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=tool-capabilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-capabilities.js","sourceRoot":"","sources":["../src/tool-capabilities.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n normalizeAssistantWorkflowId,\n type AssistantWorkflowDefinition,\n type AssistantWorkflowToolCapabilityDefinition,\n type AssistantWorkflowToolCacheability,\n type AssistantWorkflowToolContextRequirement,\n type AssistantWorkflowToolEffect,\n type AssistantWorkflowToolOutputKind,\n type AssistantWorkflowToolProvider,\n type AssistantWorkflowToolRetryClass,\n type AssistantWorkflowToolSideEffectRisk,\n} from \"./definition.js\";\n\nexport type AssistantWorkflowToolCapabilityLookup = {\n tools: AssistantWorkflowToolCapabilityDefinition[];\n missingToolCapabilities: string[];\n};\n\nexport type AssistantWorkflowToolCapabilitySummary = {\n toolCount: number;\n providers: Record<AssistantWorkflowToolProvider, number>;\n effects: Record<AssistantWorkflowToolEffect, number>;\n sideEffectRisks: Record<AssistantWorkflowToolSideEffectRisk, number>;\n cacheability: Record<AssistantWorkflowToolCacheability, number>;\n retryClasses: Record<AssistantWorkflowToolRetryClass, number>;\n outputKinds: Record<AssistantWorkflowToolOutputKind, number>;\n requiredContext: Record<AssistantWorkflowToolContextRequirement, number>;\n requiresConfirmation: string[];\n missingToolCapabilities: string[];\n};\n\nexport type AssistantWorkflowToolPolicyRecommendation = {\n toolName: string;\n enabledByDefault: boolean;\n assistantVisibleByDefault: boolean;\n schemaAssistantVisibleByDefault: boolean;\n explicitCallAllowedByDefault: boolean;\n confirmationRequired: boolean;\n readOnly: boolean;\n cacheable: boolean;\n retryAllowed: boolean;\n sideEffectRisk: AssistantWorkflowToolSideEffectRisk;\n outputKinds: AssistantWorkflowToolOutputKind[];\n requiredContext: AssistantWorkflowToolContextRequirement[];\n};\n\nexport function findAssistantWorkflowToolCapability(\n workflow: AssistantWorkflowDefinition<string, string, string, string>,\n toolName: unknown,\n): AssistantWorkflowToolCapabilityDefinition | null {\n const normalized = normalizeAssistantWorkflowId(toolName);\n if (!normalized) return null;\n return (workflow.tools ?? []).find((tool) => tool.name === normalized) ?? null;\n}\n\nexport function getAssistantWorkflowToolCapabilities(\n workflow: AssistantWorkflowDefinition<string, string, string, string>,\n toolNames: readonly string[],\n): AssistantWorkflowToolCapabilityLookup {\n const toolsByName = new Map((workflow.tools ?? []).map((tool) => [tool.name, tool] as const));\n const tools: AssistantWorkflowToolCapabilityDefinition[] = [];\n const missingToolCapabilities: string[] = [];\n const seen = new Set<string>();\n\n for (const rawName of toolNames) {\n const name = normalizeAssistantWorkflowId(rawName);\n if (!name || seen.has(name)) continue;\n seen.add(name);\n const tool = toolsByName.get(name);\n if (tool) {\n tools.push(tool);\n } else {\n missingToolCapabilities.push(name);\n }\n }\n\n return { tools, missingToolCapabilities };\n}\n\nexport function summarizeAssistantWorkflowToolCapabilities(\n workflow: AssistantWorkflowDefinition<string, string, string, string>,\n toolNames: readonly string[],\n): AssistantWorkflowToolCapabilitySummary {\n const lookup = getAssistantWorkflowToolCapabilities(workflow, toolNames);\n\n return {\n toolCount: lookup.tools.length,\n providers: countBy(lookup.tools, (tool) => [tool.provider]),\n effects: countBy(lookup.tools, (tool) => [tool.effect]),\n sideEffectRisks: countBy(lookup.tools, (tool) => [tool.sideEffectRisk]),\n cacheability: countBy(lookup.tools, (tool) => [tool.cacheability]),\n retryClasses: countBy(lookup.tools, (tool) => [tool.retryClass]),\n outputKinds: countBy(lookup.tools, (tool) => tool.outputKinds),\n requiredContext: countBy(lookup.tools, (tool) => tool.requiredContext ?? []),\n requiresConfirmation: lookup.tools\n .filter((tool) => tool.requiresConfirmation === true)\n .map((tool) => tool.name),\n missingToolCapabilities: lookup.missingToolCapabilities,\n };\n}\n\nexport function buildAssistantWorkflowToolPolicyRecommendation(\n tool: AssistantWorkflowToolCapabilityDefinition,\n): AssistantWorkflowToolPolicyRecommendation {\n const outputKinds = uniqueStrings(tool.outputKinds);\n const requiredContext = uniqueStrings(tool.requiredContext ?? []);\n const isSchemaTool = outputKinds.includes(\"schema\");\n const confirmationRequired =\n tool.requiresConfirmation === true || tool.effect === \"write\" || tool.sideEffectRisk === \"high\";\n\n return {\n toolName: tool.name,\n enabledByDefault: true,\n assistantVisibleByDefault: !isSchemaTool,\n schemaAssistantVisibleByDefault: isSchemaTool,\n explicitCallAllowedByDefault: tool.sideEffectRisk !== \"high\",\n confirmationRequired,\n readOnly: tool.effect !== \"write\",\n cacheable: tool.cacheability === \"cacheable\",\n retryAllowed: tool.retryClass !== \"never\",\n sideEffectRisk: tool.sideEffectRisk,\n outputKinds,\n requiredContext,\n };\n}\n\nexport function buildAssistantWorkflowToolPolicyRecommendations(\n workflow: AssistantWorkflowDefinition<string, string, string, string>,\n toolNames?: readonly string[],\n): AssistantWorkflowToolPolicyRecommendation[] {\n const tools = toolNames\n ? getAssistantWorkflowToolCapabilities(workflow, toolNames).tools\n : [...(workflow.tools ?? [])];\n return tools.map((tool) => buildAssistantWorkflowToolPolicyRecommendation(tool));\n}\n\nfunction countBy<TKey extends string>(\n tools: readonly AssistantWorkflowToolCapabilityDefinition[],\n selectKeys: (tool: AssistantWorkflowToolCapabilityDefinition) => readonly TKey[],\n): Record<TKey, number> {\n const out = {} as Record<TKey, number>;\n for (const tool of tools) {\n for (const key of selectKeys(tool)) {\n out[key] = (out[key] ?? 0) + 1;\n }\n }\n return out;\n}\n\nfunction uniqueStrings<TValue extends string>(values: readonly TValue[]): TValue[] {\n const out: TValue[] = [];\n const seen = new Set<TValue>();\n for (const value of values) {\n if (seen.has(value)) continue;\n seen.add(value);\n out.push(value);\n }\n return out;\n}\n"]}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { AssistantWorkflowToolBindingDefinition, AssistantWorkflowToolCapabilityDefinition, AssistantWorkflowToolProvider } from "./definition.js";
|
|
2
|
+
import type { AssistantWorkflowToolInvocation, AssistantWorkflowToolInvocationQueue } from "./tool-invocations.js";
|
|
3
|
+
export type { AssistantWorkflowToolInvocation, AssistantWorkflowToolInvocationQueue, } from "./tool-invocations.js";
|
|
4
|
+
import { type AssistantWorkflowToolResult, type AssistantWorkflowToolResultSummary } from "./tool-results.js";
|
|
5
|
+
export type AssistantWorkflowToolExecutorContext = {
|
|
6
|
+
invocationIndex: number;
|
|
7
|
+
queueStatus: AssistantWorkflowToolInvocationQueue["status"];
|
|
8
|
+
args: AssistantWorkflowToolInvocationArgs;
|
|
9
|
+
};
|
|
10
|
+
export type AssistantWorkflowToolInvocationArgs = Readonly<Record<string, unknown>>;
|
|
11
|
+
export type AssistantWorkflowToolInvocationArgsById = Readonly<Record<string, AssistantWorkflowToolInvocationArgs>>;
|
|
12
|
+
export type AssistantWorkflowToolExecutor = (invocation: AssistantWorkflowToolInvocation, context: AssistantWorkflowToolExecutorContext) => unknown | Promise<unknown>;
|
|
13
|
+
export type AssistantWorkflowToolInvocationForProvider<TProvider extends AssistantWorkflowToolProvider = AssistantWorkflowToolProvider> = Omit<AssistantWorkflowToolInvocation, "provider" | "capability" | "binding"> & {
|
|
14
|
+
provider: TProvider;
|
|
15
|
+
capability: AssistantWorkflowToolCapabilityDefinition & {
|
|
16
|
+
provider: TProvider;
|
|
17
|
+
};
|
|
18
|
+
binding: Extract<AssistantWorkflowToolBindingDefinition, {
|
|
19
|
+
provider: TProvider;
|
|
20
|
+
}>;
|
|
21
|
+
};
|
|
22
|
+
export type AssistantWorkflowToolProviderExecutor<TProvider extends AssistantWorkflowToolProvider = AssistantWorkflowToolProvider> = (invocation: AssistantWorkflowToolInvocationForProvider<TProvider>, context: AssistantWorkflowToolExecutorContext) => unknown | Promise<unknown>;
|
|
23
|
+
export type AssistantWorkflowToolProviderExecutors = {
|
|
24
|
+
[TProvider in AssistantWorkflowToolProvider]?: AssistantWorkflowToolProviderExecutor<TProvider>;
|
|
25
|
+
};
|
|
26
|
+
export type AssistantWorkflowToolProviderExecutorOptions = {
|
|
27
|
+
fallback?: AssistantWorkflowToolExecutor;
|
|
28
|
+
};
|
|
29
|
+
export type AssistantWorkflowToolExecutionEventPhase = "started" | "succeeded" | "failed" | "skipped";
|
|
30
|
+
export type AssistantWorkflowToolExecutionEvent = {
|
|
31
|
+
phase: AssistantWorkflowToolExecutionEventPhase;
|
|
32
|
+
invocationId: string;
|
|
33
|
+
toolName: string;
|
|
34
|
+
stepId: string;
|
|
35
|
+
provider: AssistantWorkflowToolProvider;
|
|
36
|
+
invocationIndex: number;
|
|
37
|
+
queueStatus: AssistantWorkflowToolInvocationQueue["status"];
|
|
38
|
+
durationMs: number | null;
|
|
39
|
+
errorMessage: string | null;
|
|
40
|
+
retryable: boolean | null;
|
|
41
|
+
};
|
|
42
|
+
export type AssistantWorkflowToolExecutionOptions = {
|
|
43
|
+
continueOnError?: boolean;
|
|
44
|
+
retryableOnError?: boolean;
|
|
45
|
+
now?: () => number;
|
|
46
|
+
argsByInvocationId?: AssistantWorkflowToolInvocationArgsById;
|
|
47
|
+
onEvent?: (event: AssistantWorkflowToolExecutionEvent) => void;
|
|
48
|
+
};
|
|
49
|
+
export type AssistantWorkflowToolExecutionReport = {
|
|
50
|
+
queue: AssistantWorkflowToolInvocationQueue;
|
|
51
|
+
results: AssistantWorkflowToolResult[];
|
|
52
|
+
summary: AssistantWorkflowToolResultSummary;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Adapts provider-specific integrations to the generic invocation executor.
|
|
56
|
+
* Applications can add local, HTTP, hosted, MCP, or REPL executors without
|
|
57
|
+
* making queue execution depend on their transport SDKs.
|
|
58
|
+
*/
|
|
59
|
+
export declare function createAssistantWorkflowToolProviderExecutor(executors: AssistantWorkflowToolProviderExecutors, options?: AssistantWorkflowToolProviderExecutorOptions): AssistantWorkflowToolExecutor;
|
|
60
|
+
export declare function executeAssistantWorkflowToolInvocationQueue(queue: AssistantWorkflowToolInvocationQueue, executor: AssistantWorkflowToolExecutor, options?: AssistantWorkflowToolExecutionOptions): Promise<AssistantWorkflowToolExecutionReport>;
|
|
61
|
+
export declare function buildAssistantWorkflowToolExecutionTracePayload(report: AssistantWorkflowToolExecutionReport): Record<string, unknown>;
|
|
62
|
+
export declare function buildAssistantWorkflowToolExecutionEventTracePayload(event: AssistantWorkflowToolExecutionEvent): Record<string, unknown>;
|
|
63
|
+
//# sourceMappingURL=tool-executor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-executor.d.ts","sourceRoot":"","sources":["../src/tool-executor.ts"],"names":[],"mappings":"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"}
|