@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
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
import { buildAssistantWorkflowDefinitionPackageExecutionTracePayload, } from "./definition-package-executor.js";
|
|
2
|
+
import { parseAssistantWorkflowSerializedRunReport, serializeAssistantWorkflowRunReport, } from "./run-report-json.js";
|
|
3
|
+
export const ASSISTANT_WORKFLOW_DEFINITION_PACKAGE_EXECUTION_JSON_SCHEMA_VERSION = 1;
|
|
4
|
+
export function serializeAssistantWorkflowDefinitionPackageExecutionResult(result) {
|
|
5
|
+
const trace = buildAssistantWorkflowDefinitionPackageExecutionTracePayload(result);
|
|
6
|
+
return {
|
|
7
|
+
schemaVersion: ASSISTANT_WORKFLOW_DEFINITION_PACKAGE_EXECUTION_JSON_SCHEMA_VERSION,
|
|
8
|
+
executed: result.executed,
|
|
9
|
+
status: result.status,
|
|
10
|
+
reason: result.reason,
|
|
11
|
+
packageRun: toJsonRecord(trace["packageRun"]),
|
|
12
|
+
toolExecution: trace["toolExecution"] === null ? null : toJsonRecord(trace["toolExecution"]),
|
|
13
|
+
report: result.report ? serializeAssistantWorkflowRunReport(result.report) : null,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export function stringifyAssistantWorkflowDefinitionPackageExecutionResult(result, space) {
|
|
17
|
+
return JSON.stringify(serializeAssistantWorkflowDefinitionPackageExecutionResult(result), null, space);
|
|
18
|
+
}
|
|
19
|
+
export function stringifyAssistantWorkflowDefinitionPackageExecutionResultLines(results, options = {}) {
|
|
20
|
+
const lines = results.map((result) => JSON.stringify(serializeAssistantWorkflowDefinitionPackageExecutionResult(result)));
|
|
21
|
+
if (!lines.length)
|
|
22
|
+
return "";
|
|
23
|
+
return options.trailingNewline === true ? `${lines.join("\n")}\n` : lines.join("\n");
|
|
24
|
+
}
|
|
25
|
+
export function serializeAssistantWorkflowDefinitionPackageExecutionResults(results, options = {}) {
|
|
26
|
+
const allExecutions = results.map(serializeAssistantWorkflowDefinitionPackageExecutionResult);
|
|
27
|
+
return buildAssistantWorkflowSerializedDefinitionPackageExecutionBatch(allExecutions, options);
|
|
28
|
+
}
|
|
29
|
+
export function buildAssistantWorkflowSerializedDefinitionPackageExecutionBatch(allExecutions, options = {}) {
|
|
30
|
+
const executions = options.onlyInteresting === true
|
|
31
|
+
? allExecutions.filter(isInterestingExecution)
|
|
32
|
+
: [...allExecutions];
|
|
33
|
+
const generatedAt = normalizeGeneratedAt(options.generatedAt) ?? new Date().toISOString();
|
|
34
|
+
const summary = buildSerializedExecutionBatchSummary(allExecutions, executions, generatedAt);
|
|
35
|
+
return {
|
|
36
|
+
schemaVersion: ASSISTANT_WORKFLOW_DEFINITION_PACKAGE_EXECUTION_JSON_SCHEMA_VERSION,
|
|
37
|
+
generatedAt,
|
|
38
|
+
sourceExecutionCount: allExecutions.length,
|
|
39
|
+
executionCount: executions.length,
|
|
40
|
+
summary,
|
|
41
|
+
executions,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
export function stringifyAssistantWorkflowDefinitionPackageExecutionResults(results, options = {}, space) {
|
|
45
|
+
return JSON.stringify(serializeAssistantWorkflowDefinitionPackageExecutionResults(results, options), null, space);
|
|
46
|
+
}
|
|
47
|
+
export function parseAssistantWorkflowSerializedDefinitionPackageExecution(value) {
|
|
48
|
+
if (!isRecord(value))
|
|
49
|
+
return null;
|
|
50
|
+
if (value["schemaVersion"] !== ASSISTANT_WORKFLOW_DEFINITION_PACKAGE_EXECUTION_JSON_SCHEMA_VERSION)
|
|
51
|
+
return null;
|
|
52
|
+
if (typeof value["executed"] !== "boolean")
|
|
53
|
+
return null;
|
|
54
|
+
if (!isPackageExecutionStatus(value["status"]))
|
|
55
|
+
return null;
|
|
56
|
+
if (value["reason"] !== null && typeof value["reason"] !== "string")
|
|
57
|
+
return null;
|
|
58
|
+
if (!isJsonRecord(value["packageRun"]))
|
|
59
|
+
return null;
|
|
60
|
+
if (value["toolExecution"] !== null && !isJsonRecord(value["toolExecution"]))
|
|
61
|
+
return null;
|
|
62
|
+
const report = value["report"] === null
|
|
63
|
+
? null
|
|
64
|
+
: parseAssistantWorkflowSerializedRunReport(value["report"]);
|
|
65
|
+
if (value["report"] !== null && !report)
|
|
66
|
+
return null;
|
|
67
|
+
if (value["executed"] === true && report === null)
|
|
68
|
+
return null;
|
|
69
|
+
return {
|
|
70
|
+
schemaVersion: ASSISTANT_WORKFLOW_DEFINITION_PACKAGE_EXECUTION_JSON_SCHEMA_VERSION,
|
|
71
|
+
executed: value["executed"],
|
|
72
|
+
status: value["status"],
|
|
73
|
+
reason: value["reason"],
|
|
74
|
+
packageRun: value["packageRun"],
|
|
75
|
+
toolExecution: value["toolExecution"],
|
|
76
|
+
report,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
export function parseAssistantWorkflowSerializedDefinitionPackageExecutionLines(input) {
|
|
80
|
+
const executions = [];
|
|
81
|
+
const errors = [];
|
|
82
|
+
let lineCount = 0;
|
|
83
|
+
for (const [index, line] of input.split(/\r?\n/).entries()) {
|
|
84
|
+
const trimmed = line.trim();
|
|
85
|
+
if (!trimmed.length)
|
|
86
|
+
continue;
|
|
87
|
+
const lineNumber = index + 1;
|
|
88
|
+
lineCount += 1;
|
|
89
|
+
let parsed;
|
|
90
|
+
try {
|
|
91
|
+
parsed = JSON.parse(trimmed);
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
errors.push({
|
|
95
|
+
lineNumber,
|
|
96
|
+
reason: "invalid_json",
|
|
97
|
+
preview: previewLine(trimmed),
|
|
98
|
+
});
|
|
99
|
+
continue;
|
|
100
|
+
}
|
|
101
|
+
const execution = parseAssistantWorkflowSerializedDefinitionPackageExecution(parsed);
|
|
102
|
+
if (!execution) {
|
|
103
|
+
errors.push({
|
|
104
|
+
lineNumber,
|
|
105
|
+
reason: "invalid_execution",
|
|
106
|
+
preview: previewLine(trimmed),
|
|
107
|
+
});
|
|
108
|
+
continue;
|
|
109
|
+
}
|
|
110
|
+
executions.push(execution);
|
|
111
|
+
}
|
|
112
|
+
return {
|
|
113
|
+
lineCount,
|
|
114
|
+
executionCount: executions.length,
|
|
115
|
+
errorCount: errors.length,
|
|
116
|
+
executions,
|
|
117
|
+
errors,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
export function parseAssistantWorkflowSerializedDefinitionPackageExecutionBatch(value) {
|
|
121
|
+
if (!isRecord(value))
|
|
122
|
+
return null;
|
|
123
|
+
if (value["schemaVersion"] !== ASSISTANT_WORKFLOW_DEFINITION_PACKAGE_EXECUTION_JSON_SCHEMA_VERSION)
|
|
124
|
+
return null;
|
|
125
|
+
if (typeof value["generatedAt"] !== "string" || !value["generatedAt"].trim().length)
|
|
126
|
+
return null;
|
|
127
|
+
if (!isNonNegativeFiniteNumber(value["sourceExecutionCount"]))
|
|
128
|
+
return null;
|
|
129
|
+
if (!isNonNegativeFiniteNumber(value["executionCount"]))
|
|
130
|
+
return null;
|
|
131
|
+
if (!isExecutionBatchSummary(value["summary"]))
|
|
132
|
+
return null;
|
|
133
|
+
if (!Array.isArray(value["executions"]))
|
|
134
|
+
return null;
|
|
135
|
+
const executions = value["executions"].map(parseAssistantWorkflowSerializedDefinitionPackageExecution);
|
|
136
|
+
if (executions.some((execution) => execution === null))
|
|
137
|
+
return null;
|
|
138
|
+
if (executions.length !== value["executionCount"])
|
|
139
|
+
return null;
|
|
140
|
+
return {
|
|
141
|
+
schemaVersion: ASSISTANT_WORKFLOW_DEFINITION_PACKAGE_EXECUTION_JSON_SCHEMA_VERSION,
|
|
142
|
+
generatedAt: value["generatedAt"],
|
|
143
|
+
sourceExecutionCount: value["sourceExecutionCount"],
|
|
144
|
+
executionCount: value["executionCount"],
|
|
145
|
+
summary: value["summary"],
|
|
146
|
+
executions: executions.filter((execution) => execution !== null),
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
function buildSerializedExecutionBatchSummary(allExecutions, executions, generatedAt) {
|
|
150
|
+
return {
|
|
151
|
+
generatedAt,
|
|
152
|
+
sourceExecutionCount: allExecutions.length,
|
|
153
|
+
executionCount: executions.length,
|
|
154
|
+
interestingExecutionCount: executions.filter(isInterestingExecution).length,
|
|
155
|
+
executedCount: executions.filter((execution) => execution.executed).length,
|
|
156
|
+
failedExecutionCount: executions.filter((execution) => !execution.executed).length,
|
|
157
|
+
statusCounts: buildStringCounts(executions.map((execution) => execution.status)),
|
|
158
|
+
reportStatusCounts: buildStringCounts(executions.map((execution) => execution.report?.status ?? "none")),
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
function isInterestingExecution(execution) {
|
|
162
|
+
if (!execution.executed)
|
|
163
|
+
return true;
|
|
164
|
+
if (execution.status !== "report_built")
|
|
165
|
+
return true;
|
|
166
|
+
if (!execution.report)
|
|
167
|
+
return true;
|
|
168
|
+
if (execution.report.status !== "completed")
|
|
169
|
+
return true;
|
|
170
|
+
const warningCount = execution.report.evaluation["warningCount"];
|
|
171
|
+
return typeof warningCount === "number" && warningCount > 0;
|
|
172
|
+
}
|
|
173
|
+
function buildStringCounts(values) {
|
|
174
|
+
const counts = new Map();
|
|
175
|
+
for (const value of values) {
|
|
176
|
+
if (!value.length)
|
|
177
|
+
continue;
|
|
178
|
+
counts.set(value, (counts.get(value) ?? 0) + 1);
|
|
179
|
+
}
|
|
180
|
+
return [...counts.entries()]
|
|
181
|
+
.map(([key, count]) => ({ key, count }))
|
|
182
|
+
.sort((left, right) => {
|
|
183
|
+
if (right.count !== left.count)
|
|
184
|
+
return right.count - left.count;
|
|
185
|
+
return left.key.localeCompare(right.key);
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
function isExecutionBatchSummary(value) {
|
|
189
|
+
if (!isRecord(value))
|
|
190
|
+
return false;
|
|
191
|
+
return (typeof value["generatedAt"] === "string" &&
|
|
192
|
+
isNonNegativeFiniteNumber(value["sourceExecutionCount"]) &&
|
|
193
|
+
isNonNegativeFiniteNumber(value["executionCount"]) &&
|
|
194
|
+
isNonNegativeFiniteNumber(value["interestingExecutionCount"]) &&
|
|
195
|
+
isNonNegativeFiniteNumber(value["executedCount"]) &&
|
|
196
|
+
isNonNegativeFiniteNumber(value["failedExecutionCount"]) &&
|
|
197
|
+
isCountArray(value["statusCounts"]) &&
|
|
198
|
+
isCountArray(value["reportStatusCounts"]));
|
|
199
|
+
}
|
|
200
|
+
function isCountArray(value) {
|
|
201
|
+
return Array.isArray(value) && value.every((item) => isRecord(item) &&
|
|
202
|
+
typeof item["key"] === "string" &&
|
|
203
|
+
isNonNegativeFiniteNumber(item["count"]));
|
|
204
|
+
}
|
|
205
|
+
function normalizeGeneratedAt(value) {
|
|
206
|
+
if (value === undefined)
|
|
207
|
+
return null;
|
|
208
|
+
const trimmed = value.trim();
|
|
209
|
+
return trimmed.length ? trimmed : null;
|
|
210
|
+
}
|
|
211
|
+
function isNonNegativeFiniteNumber(value) {
|
|
212
|
+
return typeof value === "number" && Number.isFinite(value) && value >= 0;
|
|
213
|
+
}
|
|
214
|
+
function isPackageExecutionStatus(value) {
|
|
215
|
+
return value === "report_built" || value === "run_failed" || value === "outcome_failed";
|
|
216
|
+
}
|
|
217
|
+
function toJsonRecord(value) {
|
|
218
|
+
if (!isJsonRecord(value)) {
|
|
219
|
+
throw new Error("Assistant workflow package execution trace payload must be a JSON object.");
|
|
220
|
+
}
|
|
221
|
+
return value;
|
|
222
|
+
}
|
|
223
|
+
function isJsonRecord(value) {
|
|
224
|
+
if (!isRecord(value))
|
|
225
|
+
return false;
|
|
226
|
+
return Object.values(value).every(isJsonValue);
|
|
227
|
+
}
|
|
228
|
+
function isJsonValue(value) {
|
|
229
|
+
if (value === null)
|
|
230
|
+
return true;
|
|
231
|
+
if (typeof value === "string" || typeof value === "boolean")
|
|
232
|
+
return true;
|
|
233
|
+
if (typeof value === "number")
|
|
234
|
+
return Number.isFinite(value);
|
|
235
|
+
if (Array.isArray(value))
|
|
236
|
+
return value.every(isJsonValue);
|
|
237
|
+
return isJsonRecord(value);
|
|
238
|
+
}
|
|
239
|
+
function isRecord(value) {
|
|
240
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
241
|
+
}
|
|
242
|
+
function previewLine(line) {
|
|
243
|
+
return line.length <= 160 ? line : `${line.slice(0, 157)}...`;
|
|
244
|
+
}
|
|
245
|
+
//# sourceMappingURL=definition-package-execution-json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition-package-execution-json.js","sourceRoot":"","sources":["../src/definition-package-execution-json.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n buildAssistantWorkflowDefinitionPackageExecutionTracePayload,\n type AssistantWorkflowDefinitionPackageExecutionResult,\n type AssistantWorkflowDefinitionPackageExecutionStatus,\n} from \"./definition-package-executor.js\";\nimport {\n parseAssistantWorkflowSerializedRunReport,\n serializeAssistantWorkflowRunReport,\n type AssistantWorkflowJsonValue,\n type AssistantWorkflowSerializedRunReport,\n} from \"./run-report-json.js\";\n\nexport const ASSISTANT_WORKFLOW_DEFINITION_PACKAGE_EXECUTION_JSON_SCHEMA_VERSION = 1;\n\nexport type AssistantWorkflowSerializedDefinitionPackageExecution = {\n schemaVersion: typeof ASSISTANT_WORKFLOW_DEFINITION_PACKAGE_EXECUTION_JSON_SCHEMA_VERSION;\n executed: boolean;\n status: AssistantWorkflowDefinitionPackageExecutionStatus;\n reason: string | null;\n packageRun: Record<string, AssistantWorkflowJsonValue>;\n toolExecution: Record<string, AssistantWorkflowJsonValue> | null;\n report: AssistantWorkflowSerializedRunReport | null;\n};\n\nexport type AssistantWorkflowSerializedDefinitionPackageExecutionLineErrorReason =\n | \"invalid_json\"\n | \"invalid_execution\";\n\nexport type AssistantWorkflowSerializedDefinitionPackageExecutionLineError = {\n lineNumber: number;\n reason: AssistantWorkflowSerializedDefinitionPackageExecutionLineErrorReason;\n preview: string;\n};\n\nexport type AssistantWorkflowSerializedDefinitionPackageExecutionLinesParseResult = {\n lineCount: number;\n executionCount: number;\n errorCount: number;\n executions: AssistantWorkflowSerializedDefinitionPackageExecution[];\n errors: AssistantWorkflowSerializedDefinitionPackageExecutionLineError[];\n};\n\nexport type AssistantWorkflowSerializedDefinitionPackageExecutionLinesOptions = {\n trailingNewline?: boolean;\n};\n\nexport type AssistantWorkflowSerializedDefinitionPackageExecutionBatchOptions = {\n generatedAt?: string;\n onlyInteresting?: boolean;\n};\n\nexport type AssistantWorkflowSerializedDefinitionPackageExecutionBatchCount = {\n key: string;\n count: number;\n};\n\nexport type AssistantWorkflowSerializedDefinitionPackageExecutionBatchSummary = {\n generatedAt: string;\n sourceExecutionCount: number;\n executionCount: number;\n interestingExecutionCount: number;\n executedCount: number;\n failedExecutionCount: number;\n statusCounts: AssistantWorkflowSerializedDefinitionPackageExecutionBatchCount[];\n reportStatusCounts: AssistantWorkflowSerializedDefinitionPackageExecutionBatchCount[];\n};\n\nexport type AssistantWorkflowSerializedDefinitionPackageExecutionBatch = {\n schemaVersion: typeof ASSISTANT_WORKFLOW_DEFINITION_PACKAGE_EXECUTION_JSON_SCHEMA_VERSION;\n generatedAt: string;\n sourceExecutionCount: number;\n executionCount: number;\n summary: AssistantWorkflowSerializedDefinitionPackageExecutionBatchSummary;\n executions: AssistantWorkflowSerializedDefinitionPackageExecution[];\n};\n\nexport function serializeAssistantWorkflowDefinitionPackageExecutionResult(\n result: AssistantWorkflowDefinitionPackageExecutionResult,\n): AssistantWorkflowSerializedDefinitionPackageExecution {\n const trace = buildAssistantWorkflowDefinitionPackageExecutionTracePayload(result);\n return {\n schemaVersion: ASSISTANT_WORKFLOW_DEFINITION_PACKAGE_EXECUTION_JSON_SCHEMA_VERSION,\n executed: result.executed,\n status: result.status,\n reason: result.reason,\n packageRun: toJsonRecord(trace[\"packageRun\"]),\n toolExecution: trace[\"toolExecution\"] === null ? null : toJsonRecord(trace[\"toolExecution\"]),\n report: result.report ? serializeAssistantWorkflowRunReport(result.report) : null,\n };\n}\n\nexport function stringifyAssistantWorkflowDefinitionPackageExecutionResult(\n result: AssistantWorkflowDefinitionPackageExecutionResult,\n space?: number,\n): string {\n return JSON.stringify(serializeAssistantWorkflowDefinitionPackageExecutionResult(result), null, space);\n}\n\nexport function stringifyAssistantWorkflowDefinitionPackageExecutionResultLines(\n results: readonly AssistantWorkflowDefinitionPackageExecutionResult[],\n options: AssistantWorkflowSerializedDefinitionPackageExecutionLinesOptions = {},\n): string {\n const lines = results.map((result) => JSON.stringify(serializeAssistantWorkflowDefinitionPackageExecutionResult(result)));\n if (!lines.length) return \"\";\n return options.trailingNewline === true ? `${lines.join(\"\\n\")}\\n` : lines.join(\"\\n\");\n}\n\nexport function serializeAssistantWorkflowDefinitionPackageExecutionResults(\n results: readonly AssistantWorkflowDefinitionPackageExecutionResult[],\n options: AssistantWorkflowSerializedDefinitionPackageExecutionBatchOptions = {},\n): AssistantWorkflowSerializedDefinitionPackageExecutionBatch {\n const allExecutions = results.map(serializeAssistantWorkflowDefinitionPackageExecutionResult);\n return buildAssistantWorkflowSerializedDefinitionPackageExecutionBatch(allExecutions, options);\n}\n\nexport function buildAssistantWorkflowSerializedDefinitionPackageExecutionBatch(\n allExecutions: readonly AssistantWorkflowSerializedDefinitionPackageExecution[],\n options: AssistantWorkflowSerializedDefinitionPackageExecutionBatchOptions = {},\n): AssistantWorkflowSerializedDefinitionPackageExecutionBatch {\n const executions = options.onlyInteresting === true\n ? allExecutions.filter(isInterestingExecution)\n : [...allExecutions];\n const generatedAt = normalizeGeneratedAt(options.generatedAt) ?? new Date().toISOString();\n const summary = buildSerializedExecutionBatchSummary(allExecutions, executions, generatedAt);\n\n return {\n schemaVersion: ASSISTANT_WORKFLOW_DEFINITION_PACKAGE_EXECUTION_JSON_SCHEMA_VERSION,\n generatedAt,\n sourceExecutionCount: allExecutions.length,\n executionCount: executions.length,\n summary,\n executions,\n };\n}\n\nexport function stringifyAssistantWorkflowDefinitionPackageExecutionResults(\n results: readonly AssistantWorkflowDefinitionPackageExecutionResult[],\n options: AssistantWorkflowSerializedDefinitionPackageExecutionBatchOptions = {},\n space?: number,\n): string {\n return JSON.stringify(serializeAssistantWorkflowDefinitionPackageExecutionResults(results, options), null, space);\n}\n\nexport function parseAssistantWorkflowSerializedDefinitionPackageExecution(\n value: unknown,\n): AssistantWorkflowSerializedDefinitionPackageExecution | null {\n if (!isRecord(value)) return null;\n if (value[\"schemaVersion\"] !== ASSISTANT_WORKFLOW_DEFINITION_PACKAGE_EXECUTION_JSON_SCHEMA_VERSION) return null;\n if (typeof value[\"executed\"] !== \"boolean\") return null;\n if (!isPackageExecutionStatus(value[\"status\"])) return null;\n if (value[\"reason\"] !== null && typeof value[\"reason\"] !== \"string\") return null;\n if (!isJsonRecord(value[\"packageRun\"])) return null;\n if (value[\"toolExecution\"] !== null && !isJsonRecord(value[\"toolExecution\"])) return null;\n\n const report = value[\"report\"] === null\n ? null\n : parseAssistantWorkflowSerializedRunReport(value[\"report\"]);\n if (value[\"report\"] !== null && !report) return null;\n if (value[\"executed\"] === true && report === null) return null;\n\n return {\n schemaVersion: ASSISTANT_WORKFLOW_DEFINITION_PACKAGE_EXECUTION_JSON_SCHEMA_VERSION,\n executed: value[\"executed\"],\n status: value[\"status\"],\n reason: value[\"reason\"],\n packageRun: value[\"packageRun\"],\n toolExecution: value[\"toolExecution\"],\n report,\n };\n}\n\nexport function parseAssistantWorkflowSerializedDefinitionPackageExecutionLines(\n input: string,\n): AssistantWorkflowSerializedDefinitionPackageExecutionLinesParseResult {\n const executions: AssistantWorkflowSerializedDefinitionPackageExecution[] = [];\n const errors: AssistantWorkflowSerializedDefinitionPackageExecutionLineError[] = [];\n let lineCount = 0;\n\n for (const [index, line] of input.split(/\\r?\\n/).entries()) {\n const trimmed = line.trim();\n if (!trimmed.length) continue;\n const lineNumber = index + 1;\n lineCount += 1;\n\n let parsed: unknown;\n try {\n parsed = JSON.parse(trimmed);\n } catch {\n errors.push({\n lineNumber,\n reason: \"invalid_json\",\n preview: previewLine(trimmed),\n });\n continue;\n }\n\n const execution = parseAssistantWorkflowSerializedDefinitionPackageExecution(parsed);\n if (!execution) {\n errors.push({\n lineNumber,\n reason: \"invalid_execution\",\n preview: previewLine(trimmed),\n });\n continue;\n }\n executions.push(execution);\n }\n\n return {\n lineCount,\n executionCount: executions.length,\n errorCount: errors.length,\n executions,\n errors,\n };\n}\n\nexport function parseAssistantWorkflowSerializedDefinitionPackageExecutionBatch(\n value: unknown,\n): AssistantWorkflowSerializedDefinitionPackageExecutionBatch | null {\n if (!isRecord(value)) return null;\n if (value[\"schemaVersion\"] !== ASSISTANT_WORKFLOW_DEFINITION_PACKAGE_EXECUTION_JSON_SCHEMA_VERSION) return null;\n if (typeof value[\"generatedAt\"] !== \"string\" || !value[\"generatedAt\"].trim().length) return null;\n if (!isNonNegativeFiniteNumber(value[\"sourceExecutionCount\"])) return null;\n if (!isNonNegativeFiniteNumber(value[\"executionCount\"])) return null;\n if (!isExecutionBatchSummary(value[\"summary\"])) return null;\n if (!Array.isArray(value[\"executions\"])) return null;\n\n const executions = value[\"executions\"].map(parseAssistantWorkflowSerializedDefinitionPackageExecution);\n if (executions.some((execution) => execution === null)) return null;\n if (executions.length !== value[\"executionCount\"]) return null;\n\n return {\n schemaVersion: ASSISTANT_WORKFLOW_DEFINITION_PACKAGE_EXECUTION_JSON_SCHEMA_VERSION,\n generatedAt: value[\"generatedAt\"],\n sourceExecutionCount: value[\"sourceExecutionCount\"],\n executionCount: value[\"executionCount\"],\n summary: value[\"summary\"],\n executions: executions.filter((execution): execution is AssistantWorkflowSerializedDefinitionPackageExecution => execution !== null),\n };\n}\n\nfunction buildSerializedExecutionBatchSummary(\n allExecutions: readonly AssistantWorkflowSerializedDefinitionPackageExecution[],\n executions: readonly AssistantWorkflowSerializedDefinitionPackageExecution[],\n generatedAt: string,\n): AssistantWorkflowSerializedDefinitionPackageExecutionBatchSummary {\n return {\n generatedAt,\n sourceExecutionCount: allExecutions.length,\n executionCount: executions.length,\n interestingExecutionCount: executions.filter(isInterestingExecution).length,\n executedCount: executions.filter((execution) => execution.executed).length,\n failedExecutionCount: executions.filter((execution) => !execution.executed).length,\n statusCounts: buildStringCounts(executions.map((execution) => execution.status)),\n reportStatusCounts: buildStringCounts(executions.map((execution) => execution.report?.status ?? \"none\")),\n };\n}\n\nfunction isInterestingExecution(execution: AssistantWorkflowSerializedDefinitionPackageExecution): boolean {\n if (!execution.executed) return true;\n if (execution.status !== \"report_built\") return true;\n if (!execution.report) return true;\n if (execution.report.status !== \"completed\") return true;\n const warningCount = execution.report.evaluation[\"warningCount\"];\n return typeof warningCount === \"number\" && warningCount > 0;\n}\n\nfunction buildStringCounts(values: readonly string[]): AssistantWorkflowSerializedDefinitionPackageExecutionBatchCount[] {\n const counts = new Map<string, number>();\n for (const value of values) {\n if (!value.length) continue;\n counts.set(value, (counts.get(value) ?? 0) + 1);\n }\n return [...counts.entries()]\n .map(([key, count]) => ({ key, count }))\n .sort((left, right) => {\n if (right.count !== left.count) return right.count - left.count;\n return left.key.localeCompare(right.key);\n });\n}\n\nfunction isExecutionBatchSummary(value: unknown): value is AssistantWorkflowSerializedDefinitionPackageExecutionBatchSummary {\n if (!isRecord(value)) return false;\n return (\n typeof value[\"generatedAt\"] === \"string\" &&\n isNonNegativeFiniteNumber(value[\"sourceExecutionCount\"]) &&\n isNonNegativeFiniteNumber(value[\"executionCount\"]) &&\n isNonNegativeFiniteNumber(value[\"interestingExecutionCount\"]) &&\n isNonNegativeFiniteNumber(value[\"executedCount\"]) &&\n isNonNegativeFiniteNumber(value[\"failedExecutionCount\"]) &&\n isCountArray(value[\"statusCounts\"]) &&\n isCountArray(value[\"reportStatusCounts\"])\n );\n}\n\nfunction isCountArray(value: unknown): value is AssistantWorkflowSerializedDefinitionPackageExecutionBatchCount[] {\n return Array.isArray(value) && value.every((item) =>\n isRecord(item) &&\n typeof item[\"key\"] === \"string\" &&\n isNonNegativeFiniteNumber(item[\"count\"])\n );\n}\n\nfunction normalizeGeneratedAt(value: string | undefined): string | null {\n if (value === undefined) return null;\n const trimmed = value.trim();\n return trimmed.length ? trimmed : null;\n}\n\nfunction isNonNegativeFiniteNumber(value: unknown): value is number {\n return typeof value === \"number\" && Number.isFinite(value) && value >= 0;\n}\n\nfunction isPackageExecutionStatus(value: unknown): value is AssistantWorkflowDefinitionPackageExecutionStatus {\n return value === \"report_built\" || value === \"run_failed\" || value === \"outcome_failed\";\n}\n\nfunction toJsonRecord(value: unknown): Record<string, AssistantWorkflowJsonValue> {\n if (!isJsonRecord(value)) {\n throw new Error(\"Assistant workflow package execution trace payload must be a JSON object.\");\n }\n return value;\n}\n\nfunction isJsonRecord(value: unknown): value is Record<string, AssistantWorkflowJsonValue> {\n if (!isRecord(value)) return false;\n return Object.values(value).every(isJsonValue);\n}\n\nfunction isJsonValue(value: unknown): value is AssistantWorkflowJsonValue {\n if (value === null) return true;\n if (typeof value === \"string\" || typeof value === \"boolean\") return true;\n if (typeof value === \"number\") return Number.isFinite(value);\n if (Array.isArray(value)) return value.every(isJsonValue);\n return isJsonRecord(value);\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction previewLine(line: string): string {\n return line.length <= 160 ? line : `${line.slice(0, 157)}...`;\n}\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type AssistantWorkflowSerializedDefinitionPackageExecutionBatch, type AssistantWorkflowSerializedDefinitionPackageExecutionBatchOptions, type AssistantWorkflowSerializedDefinitionPackageExecutionLinesParseResult } from "./definition-package-execution-json.js";
|
|
2
|
+
import type { AssistantWorkflowJsonValue } from "./run-report-json.js";
|
|
3
|
+
export type AssistantWorkflowDefinitionPackageExecutionReplayLinesOptions = AssistantWorkflowSerializedDefinitionPackageExecutionBatchOptions;
|
|
4
|
+
export type AssistantWorkflowDefinitionPackageExecutionReplayLinesInput = {
|
|
5
|
+
executionLines: string;
|
|
6
|
+
};
|
|
7
|
+
export type AssistantWorkflowDefinitionPackageExecutionReplayLinesResult = {
|
|
8
|
+
executionParse: AssistantWorkflowSerializedDefinitionPackageExecutionLinesParseResult;
|
|
9
|
+
parseErrorCount: number;
|
|
10
|
+
batch: AssistantWorkflowSerializedDefinitionPackageExecutionBatch;
|
|
11
|
+
};
|
|
12
|
+
export declare function runAssistantWorkflowDefinitionPackageExecutionReplayLines(input: AssistantWorkflowDefinitionPackageExecutionReplayLinesInput, options?: AssistantWorkflowDefinitionPackageExecutionReplayLinesOptions): AssistantWorkflowDefinitionPackageExecutionReplayLinesResult;
|
|
13
|
+
export declare function buildAssistantWorkflowDefinitionPackageExecutionReplayLinesTracePayload(result: AssistantWorkflowDefinitionPackageExecutionReplayLinesResult): Record<string, AssistantWorkflowJsonValue>;
|
|
14
|
+
//# sourceMappingURL=definition-package-execution-replay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition-package-execution-replay.d.ts","sourceRoot":"","sources":["../src/definition-package-execution-replay.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,0DAA0D,EAC/D,KAAK,iEAAiE,EACtE,KAAK,qEAAqE,EAC3E,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAEvE,MAAM,MAAM,6DAA6D,GACvE,iEAAiE,CAAC;AAEpE,MAAM,MAAM,2DAA2D,GAAG;IACxE,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,4DAA4D,GAAG;IACzE,cAAc,EAAE,qEAAqE,CAAC;IACtF,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,0DAA0D,CAAC;CACnE,CAAC;AAEF,wBAAgB,yDAAyD,CACvE,KAAK,EAAE,2DAA2D,EAClE,OAAO,GAAE,6DAAkE,GAC1E,4DAA4D,CAY9D;AAED,wBAAgB,uEAAuE,CACrF,MAAM,EAAE,4DAA4D,GACnE,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAmC5C"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { buildAssistantWorkflowSerializedDefinitionPackageExecutionBatch, parseAssistantWorkflowSerializedDefinitionPackageExecutionLines, } from "./definition-package-execution-json.js";
|
|
2
|
+
export function runAssistantWorkflowDefinitionPackageExecutionReplayLines(input, options = {}) {
|
|
3
|
+
const executionParse = parseAssistantWorkflowSerializedDefinitionPackageExecutionLines(input.executionLines);
|
|
4
|
+
const batch = buildAssistantWorkflowSerializedDefinitionPackageExecutionBatch(executionParse.executions, options);
|
|
5
|
+
return {
|
|
6
|
+
executionParse,
|
|
7
|
+
parseErrorCount: executionParse.errorCount,
|
|
8
|
+
batch,
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
export function buildAssistantWorkflowDefinitionPackageExecutionReplayLinesTracePayload(result) {
|
|
12
|
+
return {
|
|
13
|
+
executionParse: {
|
|
14
|
+
lineCount: result.executionParse.lineCount,
|
|
15
|
+
executionCount: result.executionParse.executionCount,
|
|
16
|
+
errorCount: result.executionParse.errorCount,
|
|
17
|
+
errors: result.executionParse.errors.map((error) => ({
|
|
18
|
+
lineNumber: error.lineNumber,
|
|
19
|
+
reason: error.reason,
|
|
20
|
+
preview: error.preview,
|
|
21
|
+
})),
|
|
22
|
+
},
|
|
23
|
+
parseErrorCount: result.parseErrorCount,
|
|
24
|
+
batch: {
|
|
25
|
+
generatedAt: result.batch.generatedAt,
|
|
26
|
+
sourceExecutionCount: result.batch.sourceExecutionCount,
|
|
27
|
+
executionCount: result.batch.executionCount,
|
|
28
|
+
summary: {
|
|
29
|
+
generatedAt: result.batch.summary.generatedAt,
|
|
30
|
+
sourceExecutionCount: result.batch.summary.sourceExecutionCount,
|
|
31
|
+
executionCount: result.batch.summary.executionCount,
|
|
32
|
+
interestingExecutionCount: result.batch.summary.interestingExecutionCount,
|
|
33
|
+
executedCount: result.batch.summary.executedCount,
|
|
34
|
+
failedExecutionCount: result.batch.summary.failedExecutionCount,
|
|
35
|
+
statusCounts: result.batch.summary.statusCounts.map((count) => ({
|
|
36
|
+
key: count.key,
|
|
37
|
+
count: count.count,
|
|
38
|
+
})),
|
|
39
|
+
reportStatusCounts: result.batch.summary.reportStatusCounts.map((count) => ({
|
|
40
|
+
key: count.key,
|
|
41
|
+
count: count.count,
|
|
42
|
+
})),
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=definition-package-execution-replay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition-package-execution-replay.js","sourceRoot":"","sources":["../src/definition-package-execution-replay.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+DAA+D,EAC/D,+DAA+D,GAIhE,MAAM,wCAAwC,CAAC;AAgBhD,MAAM,UAAU,yDAAyD,CACvE,KAAkE,EAClE,UAAyE,EAAE;IAE3E,MAAM,cAAc,GAAG,+DAA+D,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC7G,MAAM,KAAK,GAAG,+DAA+D,CAC3E,cAAc,CAAC,UAAU,EACzB,OAAO,CACR,CAAC;IAEF,OAAO;QACL,cAAc;QACd,eAAe,EAAE,cAAc,CAAC,UAAU;QAC1C,KAAK;KACN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uEAAuE,CACrF,MAAoE;IAEpE,OAAO;QACL,cAAc,EAAE;YACd,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,SAAS;YAC1C,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,cAAc;YACpD,UAAU,EAAE,MAAM,CAAC,cAAc,CAAC,UAAU;YAC5C,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACnD,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAC;SACJ;QACD,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,KAAK,EAAE;YACL,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW;YACrC,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,oBAAoB;YACvD,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc;YAC3C,OAAO,EAAE;gBACP,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW;gBAC7C,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB;gBAC/D,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc;gBACnD,yBAAyB,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,yBAAyB;gBACzE,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa;gBACjD,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB;gBAC/D,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBAC9D,GAAG,EAAE,KAAK,CAAC,GAAG;oBACd,KAAK,EAAE,KAAK,CAAC,KAAK;iBACnB,CAAC,CAAC;gBACH,kBAAkB,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBAC1E,GAAG,EAAE,KAAK,CAAC,GAAG;oBACd,KAAK,EAAE,KAAK,CAAC,KAAK;iBACnB,CAAC,CAAC;aACJ;SACF;KACF,CAAC;AACJ,CAAC","sourcesContent":["import {\n buildAssistantWorkflowSerializedDefinitionPackageExecutionBatch,\n parseAssistantWorkflowSerializedDefinitionPackageExecutionLines,\n type AssistantWorkflowSerializedDefinitionPackageExecutionBatch,\n type AssistantWorkflowSerializedDefinitionPackageExecutionBatchOptions,\n type AssistantWorkflowSerializedDefinitionPackageExecutionLinesParseResult,\n} from \"./definition-package-execution-json.js\";\nimport type { AssistantWorkflowJsonValue } from \"./run-report-json.js\";\n\nexport type AssistantWorkflowDefinitionPackageExecutionReplayLinesOptions =\n AssistantWorkflowSerializedDefinitionPackageExecutionBatchOptions;\n\nexport type AssistantWorkflowDefinitionPackageExecutionReplayLinesInput = {\n executionLines: string;\n};\n\nexport type AssistantWorkflowDefinitionPackageExecutionReplayLinesResult = {\n executionParse: AssistantWorkflowSerializedDefinitionPackageExecutionLinesParseResult;\n parseErrorCount: number;\n batch: AssistantWorkflowSerializedDefinitionPackageExecutionBatch;\n};\n\nexport function runAssistantWorkflowDefinitionPackageExecutionReplayLines(\n input: AssistantWorkflowDefinitionPackageExecutionReplayLinesInput,\n options: AssistantWorkflowDefinitionPackageExecutionReplayLinesOptions = {},\n): AssistantWorkflowDefinitionPackageExecutionReplayLinesResult {\n const executionParse = parseAssistantWorkflowSerializedDefinitionPackageExecutionLines(input.executionLines);\n const batch = buildAssistantWorkflowSerializedDefinitionPackageExecutionBatch(\n executionParse.executions,\n options,\n );\n\n return {\n executionParse,\n parseErrorCount: executionParse.errorCount,\n batch,\n };\n}\n\nexport function buildAssistantWorkflowDefinitionPackageExecutionReplayLinesTracePayload(\n result: AssistantWorkflowDefinitionPackageExecutionReplayLinesResult,\n): Record<string, AssistantWorkflowJsonValue> {\n return {\n executionParse: {\n lineCount: result.executionParse.lineCount,\n executionCount: result.executionParse.executionCount,\n errorCount: result.executionParse.errorCount,\n errors: result.executionParse.errors.map((error) => ({\n lineNumber: error.lineNumber,\n reason: error.reason,\n preview: error.preview,\n })),\n },\n parseErrorCount: result.parseErrorCount,\n batch: {\n generatedAt: result.batch.generatedAt,\n sourceExecutionCount: result.batch.sourceExecutionCount,\n executionCount: result.batch.executionCount,\n summary: {\n generatedAt: result.batch.summary.generatedAt,\n sourceExecutionCount: result.batch.summary.sourceExecutionCount,\n executionCount: result.batch.summary.executionCount,\n interestingExecutionCount: result.batch.summary.interestingExecutionCount,\n executedCount: result.batch.summary.executedCount,\n failedExecutionCount: result.batch.summary.failedExecutionCount,\n statusCounts: result.batch.summary.statusCounts.map((count) => ({\n key: count.key,\n count: count.count,\n })),\n reportStatusCounts: result.batch.summary.reportStatusCounts.map((count) => ({\n key: count.key,\n count: count.count,\n })),\n },\n },\n };\n}\n"]}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { type AssistantWorkflowDefinitionPackageRunInput, type AssistantWorkflowDefinitionPackageRunResult } from "./definition-package-run.js";
|
|
2
|
+
import type { AssistantWorkflowOutcome } from "./outcome.js";
|
|
3
|
+
import { type AssistantWorkflowRunReport } from "./run-report.js";
|
|
4
|
+
import { type AssistantWorkflowToolExecutionOptions, type AssistantWorkflowToolExecutionReport, type AssistantWorkflowToolExecutor, type AssistantWorkflowToolProviderExecutorOptions, type AssistantWorkflowToolProviderExecutors } from "./tool-executor.js";
|
|
5
|
+
export type AssistantWorkflowDefinitionPackageOutcomeBuilderContext = {
|
|
6
|
+
packageRun: Extract<AssistantWorkflowDefinitionPackageRunResult, {
|
|
7
|
+
built: true;
|
|
8
|
+
}>;
|
|
9
|
+
toolExecution: AssistantWorkflowToolExecutionReport;
|
|
10
|
+
};
|
|
11
|
+
export type AssistantWorkflowDefinitionPackageOutcomeBuilder = (context: AssistantWorkflowDefinitionPackageOutcomeBuilderContext) => AssistantWorkflowOutcome | Promise<AssistantWorkflowOutcome>;
|
|
12
|
+
type AssistantWorkflowDefinitionPackageExecutionBaseInput = AssistantWorkflowDefinitionPackageRunInput & {
|
|
13
|
+
toolExecutionOptions?: AssistantWorkflowToolExecutionOptions;
|
|
14
|
+
outcome?: AssistantWorkflowOutcome | null;
|
|
15
|
+
outcomeBuilder?: AssistantWorkflowDefinitionPackageOutcomeBuilder | null;
|
|
16
|
+
};
|
|
17
|
+
export type AssistantWorkflowDefinitionPackageExecutionInput = (AssistantWorkflowDefinitionPackageExecutionBaseInput & {
|
|
18
|
+
toolExecutor: AssistantWorkflowToolExecutor;
|
|
19
|
+
toolProviderExecutors?: never;
|
|
20
|
+
toolProviderExecutorOptions?: never;
|
|
21
|
+
}) | (AssistantWorkflowDefinitionPackageExecutionBaseInput & {
|
|
22
|
+
toolExecutor?: never;
|
|
23
|
+
toolProviderExecutors: AssistantWorkflowToolProviderExecutors;
|
|
24
|
+
toolProviderExecutorOptions?: AssistantWorkflowToolProviderExecutorOptions;
|
|
25
|
+
});
|
|
26
|
+
export type AssistantWorkflowDefinitionPackageExecutionStatus = "report_built" | "run_failed" | "outcome_failed";
|
|
27
|
+
export type AssistantWorkflowDefinitionPackageExecutionResult = {
|
|
28
|
+
executed: true;
|
|
29
|
+
status: "report_built";
|
|
30
|
+
packageRun: AssistantWorkflowDefinitionPackageRunResult;
|
|
31
|
+
toolExecution: AssistantWorkflowToolExecutionReport;
|
|
32
|
+
report: AssistantWorkflowRunReport;
|
|
33
|
+
reason: string | null;
|
|
34
|
+
} | {
|
|
35
|
+
executed: false;
|
|
36
|
+
status: "run_failed";
|
|
37
|
+
packageRun: AssistantWorkflowDefinitionPackageRunResult;
|
|
38
|
+
toolExecution: null;
|
|
39
|
+
report: null;
|
|
40
|
+
reason: string;
|
|
41
|
+
} | {
|
|
42
|
+
executed: false;
|
|
43
|
+
status: "outcome_failed";
|
|
44
|
+
packageRun: AssistantWorkflowDefinitionPackageRunResult;
|
|
45
|
+
toolExecution: AssistantWorkflowToolExecutionReport;
|
|
46
|
+
report: null;
|
|
47
|
+
reason: string;
|
|
48
|
+
};
|
|
49
|
+
export declare function executeAssistantWorkflowRunFromPackage(value: unknown, input: AssistantWorkflowDefinitionPackageExecutionInput): Promise<AssistantWorkflowDefinitionPackageExecutionResult>;
|
|
50
|
+
export declare function buildAssistantWorkflowDefinitionPackageExecutionTracePayload(result: AssistantWorkflowDefinitionPackageExecutionResult): Record<string, unknown>;
|
|
51
|
+
export {};
|
|
52
|
+
//# sourceMappingURL=definition-package-executor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition-package-executor.d.ts","sourceRoot":"","sources":["../src/definition-package-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,0CAA0C,EAC/C,KAAK,2CAA2C,EACjD,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAE7D,OAAO,EAGL,KAAK,0BAA0B,EAChC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAIL,KAAK,qCAAqC,EAC1C,KAAK,oCAAoC,EACzC,KAAK,6BAA6B,EAClC,KAAK,4CAA4C,EACjD,KAAK,sCAAsC,EAC5C,MAAM,oBAAoB,CAAC;AAE5B,MAAM,MAAM,uDAAuD,GAAG;IACpE,UAAU,EAAE,OAAO,CAAC,2CAA2C,EAAE;QAAE,KAAK,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;IAClF,aAAa,EAAE,oCAAoC,CAAC;CACrD,CAAC;AAEF,MAAM,MAAM,gDAAgD,GAAG,CAC7D,OAAO,EAAE,uDAAuD,KAC7D,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AAElE,KAAK,oDAAoD,GACvD,0CAA0C,GAAG;IAC3C,oBAAoB,CAAC,EAAE,qCAAqC,CAAC;IAC7D,OAAO,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAC1C,cAAc,CAAC,EAAE,gDAAgD,GAAG,IAAI,CAAC;CAC1E,CAAC;AAEJ,MAAM,MAAM,gDAAgD,GACxD,CAAC,oDAAoD,GAAG;IACxD,YAAY,EAAE,6BAA6B,CAAC;IAC5C,qBAAqB,CAAC,EAAE,KAAK,CAAC;IAC9B,2BAA2B,CAAC,EAAE,KAAK,CAAC;CACrC,CAAC,GACA,CAAC,oDAAoD,GAAG;IACxD,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,qBAAqB,EAAE,sCAAsC,CAAC;IAC9D,2BAA2B,CAAC,EAAE,4CAA4C,CAAC;CAC5E,CAAC,CAAC;AAEL,MAAM,MAAM,iDAAiD,GACzD,cAAc,GACd,YAAY,GACZ,gBAAgB,CAAC;AAErB,MAAM,MAAM,iDAAiD,GACzD;IACA,QAAQ,EAAE,IAAI,CAAC;IACf,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,EAAE,2CAA2C,CAAC;IACxD,aAAa,EAAE,oCAAoC,CAAC;IACpD,MAAM,EAAE,0BAA0B,CAAC;IACnC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,GACC;IACA,QAAQ,EAAE,KAAK,CAAC;IAChB,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,EAAE,2CAA2C,CAAC;IACxD,aAAa,EAAE,IAAI,CAAC;IACpB,MAAM,EAAE,IAAI,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,GACC;IACA,QAAQ,EAAE,KAAK,CAAC;IAChB,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,EAAE,2CAA2C,CAAC;IACxD,aAAa,EAAE,oCAAoC,CAAC;IACpD,MAAM,EAAE,IAAI,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEJ,wBAAsB,sCAAsC,CAC1D,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,gDAAgD,GACtD,OAAO,CAAC,iDAAiD,CAAC,CAsD5D;AAED,wBAAgB,4DAA4D,CAC1E,MAAM,EAAE,iDAAiD,GACxD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAWzB"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { buildAssistantWorkflowDefinitionPackageRunTracePayload, buildAssistantWorkflowRunFromPackage, } from "./definition-package-run.js";
|
|
2
|
+
import { assistantWorkflowNotHandled } from "./outcome.js";
|
|
3
|
+
import { buildAssistantWorkflowRunReport, buildAssistantWorkflowRunReportTracePayload, } from "./run-report.js";
|
|
4
|
+
import { buildAssistantWorkflowToolExecutionTracePayload, createAssistantWorkflowToolProviderExecutor, executeAssistantWorkflowToolInvocationQueue, } from "./tool-executor.js";
|
|
5
|
+
export async function executeAssistantWorkflowRunFromPackage(value, input) {
|
|
6
|
+
const packageRun = buildAssistantWorkflowRunFromPackage(value, input);
|
|
7
|
+
if (!packageRun.built) {
|
|
8
|
+
return {
|
|
9
|
+
executed: false,
|
|
10
|
+
status: "run_failed",
|
|
11
|
+
packageRun,
|
|
12
|
+
toolExecution: null,
|
|
13
|
+
report: null,
|
|
14
|
+
reason: packageRun.reason,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
const toolExecutor = input.toolExecutor ?? createAssistantWorkflowToolProviderExecutor(input.toolProviderExecutors, input.toolProviderExecutorOptions ?? {});
|
|
18
|
+
const toolExecution = await executeAssistantWorkflowToolInvocationQueue(packageRun.run.toolInvocationQueue, toolExecutor, input.toolExecutionOptions ?? {});
|
|
19
|
+
let outcome;
|
|
20
|
+
try {
|
|
21
|
+
outcome = input.outcome ?? (input.outcomeBuilder
|
|
22
|
+
? await input.outcomeBuilder({ packageRun, toolExecution })
|
|
23
|
+
: assistantWorkflowNotHandled("package execution did not produce an outcome"));
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
return {
|
|
27
|
+
executed: false,
|
|
28
|
+
status: "outcome_failed",
|
|
29
|
+
packageRun,
|
|
30
|
+
toolExecution,
|
|
31
|
+
report: null,
|
|
32
|
+
reason: getErrorMessage(error),
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
const report = buildAssistantWorkflowRunReport({
|
|
36
|
+
run: packageRun.run,
|
|
37
|
+
toolExecution,
|
|
38
|
+
outcome,
|
|
39
|
+
});
|
|
40
|
+
return {
|
|
41
|
+
executed: true,
|
|
42
|
+
status: "report_built",
|
|
43
|
+
packageRun,
|
|
44
|
+
toolExecution,
|
|
45
|
+
report,
|
|
46
|
+
reason: null,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
export function buildAssistantWorkflowDefinitionPackageExecutionTracePayload(result) {
|
|
50
|
+
return {
|
|
51
|
+
executed: result.executed,
|
|
52
|
+
status: result.status,
|
|
53
|
+
reason: result.reason,
|
|
54
|
+
packageRun: buildAssistantWorkflowDefinitionPackageRunTracePayload(result.packageRun),
|
|
55
|
+
toolExecution: result.toolExecution
|
|
56
|
+
? buildAssistantWorkflowToolExecutionTracePayload(result.toolExecution)
|
|
57
|
+
: null,
|
|
58
|
+
report: result.report ? buildAssistantWorkflowRunReportTracePayload(result.report) : null,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
function getErrorMessage(error) {
|
|
62
|
+
if (error instanceof Error && error.message.trim().length) {
|
|
63
|
+
return error.message.trim();
|
|
64
|
+
}
|
|
65
|
+
if (typeof error === "string" && error.trim().length) {
|
|
66
|
+
return error.trim();
|
|
67
|
+
}
|
|
68
|
+
return "assistant workflow package outcome failed";
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=definition-package-executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition-package-executor.js","sourceRoot":"","sources":["../src/definition-package-executor.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n buildAssistantWorkflowDefinitionPackageRunTracePayload,\n buildAssistantWorkflowRunFromPackage,\n type AssistantWorkflowDefinitionPackageRunInput,\n type AssistantWorkflowDefinitionPackageRunResult,\n} from \"./definition-package-run.js\";\nimport type { AssistantWorkflowOutcome } from \"./outcome.js\";\nimport { assistantWorkflowNotHandled } from \"./outcome.js\";\nimport {\n buildAssistantWorkflowRunReport,\n buildAssistantWorkflowRunReportTracePayload,\n type AssistantWorkflowRunReport,\n} from \"./run-report.js\";\nimport {\n buildAssistantWorkflowToolExecutionTracePayload,\n createAssistantWorkflowToolProviderExecutor,\n executeAssistantWorkflowToolInvocationQueue,\n type AssistantWorkflowToolExecutionOptions,\n type AssistantWorkflowToolExecutionReport,\n type AssistantWorkflowToolExecutor,\n type AssistantWorkflowToolProviderExecutorOptions,\n type AssistantWorkflowToolProviderExecutors,\n} from \"./tool-executor.js\";\n\nexport type AssistantWorkflowDefinitionPackageOutcomeBuilderContext = {\n packageRun: Extract<AssistantWorkflowDefinitionPackageRunResult, { built: true }>;\n toolExecution: AssistantWorkflowToolExecutionReport;\n};\n\nexport type AssistantWorkflowDefinitionPackageOutcomeBuilder = (\n context: AssistantWorkflowDefinitionPackageOutcomeBuilderContext,\n) => AssistantWorkflowOutcome | Promise<AssistantWorkflowOutcome>;\n\ntype AssistantWorkflowDefinitionPackageExecutionBaseInput =\n AssistantWorkflowDefinitionPackageRunInput & {\n toolExecutionOptions?: AssistantWorkflowToolExecutionOptions;\n outcome?: AssistantWorkflowOutcome | null;\n outcomeBuilder?: AssistantWorkflowDefinitionPackageOutcomeBuilder | null;\n };\n\nexport type AssistantWorkflowDefinitionPackageExecutionInput =\n | (AssistantWorkflowDefinitionPackageExecutionBaseInput & {\n toolExecutor: AssistantWorkflowToolExecutor;\n toolProviderExecutors?: never;\n toolProviderExecutorOptions?: never;\n })\n | (AssistantWorkflowDefinitionPackageExecutionBaseInput & {\n toolExecutor?: never;\n toolProviderExecutors: AssistantWorkflowToolProviderExecutors;\n toolProviderExecutorOptions?: AssistantWorkflowToolProviderExecutorOptions;\n });\n\nexport type AssistantWorkflowDefinitionPackageExecutionStatus =\n | \"report_built\"\n | \"run_failed\"\n | \"outcome_failed\";\n\nexport type AssistantWorkflowDefinitionPackageExecutionResult =\n | {\n executed: true;\n status: \"report_built\";\n packageRun: AssistantWorkflowDefinitionPackageRunResult;\n toolExecution: AssistantWorkflowToolExecutionReport;\n report: AssistantWorkflowRunReport;\n reason: string | null;\n }\n | {\n executed: false;\n status: \"run_failed\";\n packageRun: AssistantWorkflowDefinitionPackageRunResult;\n toolExecution: null;\n report: null;\n reason: string;\n }\n | {\n executed: false;\n status: \"outcome_failed\";\n packageRun: AssistantWorkflowDefinitionPackageRunResult;\n toolExecution: AssistantWorkflowToolExecutionReport;\n report: null;\n reason: string;\n };\n\nexport async function executeAssistantWorkflowRunFromPackage(\n value: unknown,\n input: AssistantWorkflowDefinitionPackageExecutionInput,\n): Promise<AssistantWorkflowDefinitionPackageExecutionResult> {\n const packageRun = buildAssistantWorkflowRunFromPackage(value, input);\n if (!packageRun.built) {\n return {\n executed: false,\n status: \"run_failed\",\n packageRun,\n toolExecution: null,\n report: null,\n reason: packageRun.reason,\n };\n }\n\n const toolExecutor = input.toolExecutor ?? createAssistantWorkflowToolProviderExecutor(\n input.toolProviderExecutors,\n input.toolProviderExecutorOptions ?? {},\n );\n\n const toolExecution = await executeAssistantWorkflowToolInvocationQueue(\n packageRun.run.toolInvocationQueue,\n toolExecutor,\n input.toolExecutionOptions ?? {},\n );\n\n let outcome: AssistantWorkflowOutcome;\n try {\n outcome = input.outcome ?? (input.outcomeBuilder\n ? await input.outcomeBuilder({ packageRun, toolExecution })\n : assistantWorkflowNotHandled(\"package execution did not produce an outcome\"));\n } catch (error) {\n return {\n executed: false,\n status: \"outcome_failed\",\n packageRun,\n toolExecution,\n report: null,\n reason: getErrorMessage(error),\n };\n }\n\n const report = buildAssistantWorkflowRunReport({\n run: packageRun.run,\n toolExecution,\n outcome,\n });\n\n return {\n executed: true,\n status: \"report_built\",\n packageRun,\n toolExecution,\n report,\n reason: null,\n };\n}\n\nexport function buildAssistantWorkflowDefinitionPackageExecutionTracePayload(\n result: AssistantWorkflowDefinitionPackageExecutionResult,\n): Record<string, unknown> {\n return {\n executed: result.executed,\n status: result.status,\n reason: result.reason,\n packageRun: buildAssistantWorkflowDefinitionPackageRunTracePayload(result.packageRun),\n toolExecution: result.toolExecution\n ? buildAssistantWorkflowToolExecutionTracePayload(result.toolExecution)\n : null,\n report: result.report ? buildAssistantWorkflowRunReportTracePayload(result.report) : null,\n };\n}\n\nfunction getErrorMessage(error: unknown): string {\n if (error instanceof Error && error.message.trim().length) {\n return error.message.trim();\n }\n if (typeof error === \"string\" && error.trim().length) {\n return error.trim();\n }\n return \"assistant workflow package outcome failed\";\n}\n"]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type AssistantWorkflowDefinitionLookupOptions } from "./definition-catalog.js";
|
|
2
|
+
import type { AssistantWorkflowSerializedDefinition } from "./definition-json.js";
|
|
3
|
+
import { type AssistantWorkflowDefinitionPackage } from "./definition-package.js";
|
|
4
|
+
import { type AssistantWorkflowDefinitionPackageReview } from "./definition-package-review.js";
|
|
5
|
+
import type { AssistantWorkflowJsonValue } from "./run-report-json.js";
|
|
6
|
+
export type AssistantWorkflowDefinitionPackageLoadStatus = "loaded" | "blocked" | "invalid_package";
|
|
7
|
+
export type AssistantWorkflowDefinitionPackageLoadOptions = {
|
|
8
|
+
allowBlocked?: boolean;
|
|
9
|
+
};
|
|
10
|
+
export type AssistantWorkflowDefinitionPackageLoadResult = {
|
|
11
|
+
loaded: true;
|
|
12
|
+
status: "loaded";
|
|
13
|
+
definitionPackage: AssistantWorkflowDefinitionPackage;
|
|
14
|
+
review: AssistantWorkflowDefinitionPackageReview;
|
|
15
|
+
blockingReasons: string[];
|
|
16
|
+
warningReasons: string[];
|
|
17
|
+
} | {
|
|
18
|
+
loaded: false;
|
|
19
|
+
status: "blocked";
|
|
20
|
+
definitionPackage: AssistantWorkflowDefinitionPackage;
|
|
21
|
+
review: AssistantWorkflowDefinitionPackageReview;
|
|
22
|
+
blockingReasons: string[];
|
|
23
|
+
warningReasons: string[];
|
|
24
|
+
} | {
|
|
25
|
+
loaded: false;
|
|
26
|
+
status: "invalid_package";
|
|
27
|
+
definitionPackage: null;
|
|
28
|
+
review: null;
|
|
29
|
+
blockingReasons: string[];
|
|
30
|
+
warningReasons: string[];
|
|
31
|
+
};
|
|
32
|
+
export declare function loadAssistantWorkflowDefinitionPackage(value: unknown, options?: AssistantWorkflowDefinitionPackageLoadOptions): AssistantWorkflowDefinitionPackageLoadResult;
|
|
33
|
+
export declare function findAssistantWorkflowDefinitionPackageDefinition(definitionPackage: AssistantWorkflowDefinitionPackage, workflowId: string, version?: number, options?: AssistantWorkflowDefinitionLookupOptions): AssistantWorkflowSerializedDefinition | null;
|
|
34
|
+
export declare function findLatestAssistantWorkflowDefinitionPackageDefinition(definitionPackage: AssistantWorkflowDefinitionPackage, workflowId: string, options?: AssistantWorkflowDefinitionLookupOptions): AssistantWorkflowSerializedDefinition | null;
|
|
35
|
+
export declare function buildAssistantWorkflowDefinitionPackageLoadTracePayload(result: AssistantWorkflowDefinitionPackageLoadResult): Record<string, AssistantWorkflowJsonValue>;
|
|
36
|
+
//# sourceMappingURL=definition-package-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition-package-loader.d.ts","sourceRoot":"","sources":["../src/definition-package-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,wCAAwC,EAC9C,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAGL,KAAK,kCAAkC,EACxC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAGL,KAAK,wCAAwC,EAC9C,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAEvE,MAAM,MAAM,4CAA4C,GACpD,QAAQ,GACR,SAAS,GACT,iBAAiB,CAAC;AAEtB,MAAM,MAAM,6CAA6C,GAAG;IAC1D,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,4CAA4C,GACpD;IACA,MAAM,EAAE,IAAI,CAAC;IACb,MAAM,EAAE,QAAQ,CAAC;IACjB,iBAAiB,EAAE,kCAAkC,CAAC;IACtD,MAAM,EAAE,wCAAwC,CAAC;IACjD,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,GACC;IACA,MAAM,EAAE,KAAK,CAAC;IACd,MAAM,EAAE,SAAS,CAAC;IAClB,iBAAiB,EAAE,kCAAkC,CAAC;IACtD,MAAM,EAAE,wCAAwC,CAAC;IACjD,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,GACC;IACA,MAAM,EAAE,KAAK,CAAC;IACd,MAAM,EAAE,iBAAiB,CAAC;IAC1B,iBAAiB,EAAE,IAAI,CAAC;IACxB,MAAM,EAAE,IAAI,CAAC;IACb,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAEJ,wBAAgB,sCAAsC,CACpD,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,6CAAkD,GAC1D,4CAA4C,CAiC9C;AAED,wBAAgB,gDAAgD,CAC9D,iBAAiB,EAAE,kCAAkC,EACrD,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,GAAE,wCAA6C,GACrD,qCAAqC,GAAG,IAAI,CAE9C;AAED,wBAAgB,sDAAsD,CACpE,iBAAiB,EAAE,kCAAkC,EACrD,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,wCAA6C,GACrD,qCAAqC,GAAG,IAAI,CAE9C;AAED,wBAAgB,uDAAuD,CACrE,MAAM,EAAE,4CAA4C,GACnD,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAa5C"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { findAssistantWorkflowCatalogDefinition, findLatestAssistantWorkflowCatalogDefinition, } from "./definition-catalog.js";
|
|
2
|
+
import { buildAssistantWorkflowDefinitionPackageTracePayload, parseAssistantWorkflowDefinitionPackage, } from "./definition-package.js";
|
|
3
|
+
import { buildAssistantWorkflowDefinitionPackageReviewTracePayload, reviewAssistantWorkflowDefinitionPackage, } from "./definition-package-review.js";
|
|
4
|
+
export function loadAssistantWorkflowDefinitionPackage(value, options = {}) {
|
|
5
|
+
const definitionPackage = parseAssistantWorkflowDefinitionPackage(value);
|
|
6
|
+
if (!definitionPackage) {
|
|
7
|
+
return {
|
|
8
|
+
loaded: false,
|
|
9
|
+
status: "invalid_package",
|
|
10
|
+
definitionPackage: null,
|
|
11
|
+
review: null,
|
|
12
|
+
blockingReasons: ["Package JSON is not a valid assistant workflow definition package."],
|
|
13
|
+
warningReasons: [],
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
const review = reviewAssistantWorkflowDefinitionPackage(definitionPackage);
|
|
17
|
+
if (review.status === "blocked" && options.allowBlocked !== true) {
|
|
18
|
+
return {
|
|
19
|
+
loaded: false,
|
|
20
|
+
status: "blocked",
|
|
21
|
+
definitionPackage,
|
|
22
|
+
review,
|
|
23
|
+
blockingReasons: review.blockingReasons,
|
|
24
|
+
warningReasons: review.warningReasons,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
loaded: true,
|
|
29
|
+
status: "loaded",
|
|
30
|
+
definitionPackage,
|
|
31
|
+
review,
|
|
32
|
+
blockingReasons: review.blockingReasons,
|
|
33
|
+
warningReasons: review.warningReasons,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
export function findAssistantWorkflowDefinitionPackageDefinition(definitionPackage, workflowId, version, options = {}) {
|
|
37
|
+
return findAssistantWorkflowCatalogDefinition(definitionPackage.catalog, workflowId, version, options);
|
|
38
|
+
}
|
|
39
|
+
export function findLatestAssistantWorkflowDefinitionPackageDefinition(definitionPackage, workflowId, options = {}) {
|
|
40
|
+
return findLatestAssistantWorkflowCatalogDefinition(definitionPackage.catalog, workflowId, options);
|
|
41
|
+
}
|
|
42
|
+
export function buildAssistantWorkflowDefinitionPackageLoadTracePayload(result) {
|
|
43
|
+
return {
|
|
44
|
+
loaded: result.loaded,
|
|
45
|
+
status: result.status,
|
|
46
|
+
blockingReasons: result.blockingReasons,
|
|
47
|
+
warningReasons: result.warningReasons,
|
|
48
|
+
definitionPackage: result.definitionPackage
|
|
49
|
+
? buildAssistantWorkflowDefinitionPackageTracePayload(result.definitionPackage)
|
|
50
|
+
: null,
|
|
51
|
+
review: result.review
|
|
52
|
+
? buildAssistantWorkflowDefinitionPackageReviewTracePayload(result.review)
|
|
53
|
+
: null,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=definition-package-loader.js.map
|