@uns-kit/assistant-workflow 2.0.75 → 2.0.77
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/tool-evidence.d.ts +43 -0
- package/dist/tool-evidence.d.ts.map +1 -0
- package/dist/tool-evidence.js +67 -0
- package/dist/tool-evidence.js.map +1 -0
- package/package.json +5 -1
package/README.md
CHANGED
|
@@ -22,6 +22,8 @@ pnpm add @uns-kit/assistant-workflow
|
|
|
22
22
|
safe trace/report serialization;
|
|
23
23
|
- exact host-provided tool handoff selection, bound to a rebuilt invocation,
|
|
24
24
|
reviewed allowlist, and application-owned argument validator;
|
|
25
|
+
- versioned tool-evidence envelope parsing and exact invocation/call binding,
|
|
26
|
+
with application-owned data-schema validation;
|
|
25
27
|
- definition packages, catalog loading, replay, evaluation, and review helpers.
|
|
26
28
|
|
|
27
29
|
The package deliberately does not contain provider credentials, database access,
|
|
@@ -65,6 +67,33 @@ Tool schemas remain application-owned. The caller must pass only the exact
|
|
|
65
67
|
controller/host handoff that it already reviewed; multiple handoffs or multiple
|
|
66
68
|
matching policies return `null`.
|
|
67
69
|
|
|
70
|
+
## Tool Evidence
|
|
71
|
+
|
|
72
|
+
`tool-evidence` validates the generic envelope and its binding to an approved
|
|
73
|
+
invocation. Applications choose the format/version and own `data` validation;
|
|
74
|
+
the package does not interpret database rows, protocol payloads, or tool-specific
|
|
75
|
+
arguments.
|
|
76
|
+
|
|
77
|
+
```ts
|
|
78
|
+
import {
|
|
79
|
+
matchesAssistantWorkflowToolEvidenceBinding,
|
|
80
|
+
parseAssistantWorkflowToolEvidence,
|
|
81
|
+
} from "@uns-kit/assistant-workflow/tool-evidence";
|
|
82
|
+
|
|
83
|
+
const evidence = parseAssistantWorkflowToolEvidence(rawEvidence, {
|
|
84
|
+
format: "example.tool-evidence",
|
|
85
|
+
formatVersion: 1,
|
|
86
|
+
parseData: (value) => isMyApplicationData(value) ? value : null,
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
const matches = evidence && matchesAssistantWorkflowToolEvidenceBinding(evidence, {
|
|
90
|
+
invocationId: approved.invocation.id,
|
|
91
|
+
toolName: approved.invocation.toolName,
|
|
92
|
+
callId,
|
|
93
|
+
expiresAt: delegation.expiresAt,
|
|
94
|
+
});
|
|
95
|
+
```
|
|
96
|
+
|
|
68
97
|
## Development
|
|
69
98
|
|
|
70
99
|
```bash
|
package/dist/index.d.ts
CHANGED
|
@@ -69,6 +69,7 @@ export * from "./trace-replay.js";
|
|
|
69
69
|
export * from "./tool-bindings.js";
|
|
70
70
|
export * from "./tool-capabilities.js";
|
|
71
71
|
export * from "./tool-executor.js";
|
|
72
|
+
export * from "./tool-evidence.js";
|
|
72
73
|
export * from "./tool-fixtures.js";
|
|
73
74
|
export * from "./value-readers.js";
|
|
74
75
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC;AACjD,cAAc,wCAAwC,CAAC;AACvD,cAAc,0CAA0C,CAAC;AACzD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,qCAAqC,CAAC;AACpD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC;AACjD,cAAc,wCAAwC,CAAC;AACvD,cAAc,0CAA0C,CAAC;AACzD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,qCAAqC,CAAC;AACpD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -69,6 +69,7 @@ export * from "./trace-replay.js";
|
|
|
69
69
|
export * from "./tool-bindings.js";
|
|
70
70
|
export * from "./tool-capabilities.js";
|
|
71
71
|
export * from "./tool-executor.js";
|
|
72
|
+
export * from "./tool-evidence.js";
|
|
72
73
|
export * from "./tool-fixtures.js";
|
|
73
74
|
export * from "./value-readers.js";
|
|
74
75
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC;AACjD,cAAc,wCAAwC,CAAC;AACvD,cAAc,0CAA0C,CAAC;AACzD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,qCAAqC,CAAC;AACpD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC","sourcesContent":["export * from \"./clarification-policy.js\";\nexport * from \"./decision.js\";\nexport * from \"./definition.js\";\nexport * from \"./definition-catalog.js\";\nexport * from \"./definition-catalog-replay.js\";\nexport * from \"./definition-diagnostics.js\";\nexport * from \"./definition-diff.js\";\nexport * from \"./definition-json.js\";\nexport * from \"./definition-manifest.js\";\nexport * from \"./definition-package.js\";\nexport * from \"./definition-package-executor.js\";\nexport * from \"./definition-package-execution-json.js\";\nexport * from \"./definition-package-execution-replay.js\";\nexport * from \"./definition-package-loader.js\";\nexport * from \"./definition-package-resolver.js\";\nexport * from \"./definition-package-review.js\";\nexport * from \"./definition-package-replay.js\";\nexport * from \"./definition-package-run.js\";\nexport * from \"./definition-package-run-report.js\";\nexport * from \"./definition-package-selection.js\";\nexport * from \"./definition-package-smoke.js\";\nexport * from \"./definition-tuning.js\";\nexport * from \"./definition-tuning-approval.js\";\nexport * from \"./definition-tuning-json.js\";\nexport * from \"./definition-tuning-promotion.js\";\nexport * from \"./definition-tuning-replay.js\";\nexport * from \"./definition-tuning-review.js\";\nexport * from \"./definition-tuning-review-artifact.js\";\nexport * from \"./definition-tuning-source-patch.js\";\nexport * from \"./direct-route-invocation.js\";\nexport * from \"./direct-route-policy.js\";\nexport * from \"./eval-case.js\";\nexport * from \"./eval-replay.js\";\nexport * from \"./eval-result.js\";\nexport * from \"./eval-runner.js\";\nexport * from \"./eval-suite.js\";\nexport * from \"./execution-plan.js\";\nexport * from \"./hosted-tool-policy.js\";\nexport * from \"./memory-policy.js\";\nexport * from \"./memory-updates.js\";\nexport * from \"./outcome.js\";\nexport * from \"./outcome-trace.js\";\nexport * from \"./policy-resolution.js\";\nexport * from \"./planner-compiler.js\";\nexport * from \"./planning.js\";\nexport * from \"./run.js\";\nexport * from \"./run-parity.js\";\nexport * from \"./run-evaluation.js\";\nexport * from \"./run-report.js\";\nexport * from \"./run-report-batch.js\";\nexport * from \"./run-report-json.js\";\nexport * from \"./tool-invocations.js\";\nexport * from \"./tool-handoffs.js\";\nexport * from \"./tool-provider-executors.js\";\nexport * from \"./tool-result-cache.js\";\nexport * from \"./tool-runtime.js\";\nexport * from \"./tool-selection-evaluation.js\";\nexport * from \"./tool-selection-json.js\";\nexport * from \"./tool-selection-policy.js\";\nexport * from \"./tool-selection-rules.js\";\nexport * from \"./tool-selection-replay.js\";\nexport * from \"./tool-selection-trace-export.js\";\nexport * from \"./tool-results.js\";\nexport * from \"./trace-events.js\";\nexport * from \"./trace-payload.js\";\nexport * from \"./trace-stages.js\";\nexport * from \"./trace-report.js\";\nexport * from \"./trace-replay.js\";\nexport * from \"./tool-bindings.js\";\nexport * from \"./tool-capabilities.js\";\nexport * from \"./tool-executor.js\";\nexport * from \"./tool-fixtures.js\";\nexport * from \"./value-readers.js\";\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC;AACjD,cAAc,wCAAwC,CAAC;AACvD,cAAc,0CAA0C,CAAC;AACzD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,qCAAqC,CAAC;AACpD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC","sourcesContent":["export * from \"./clarification-policy.js\";\nexport * from \"./decision.js\";\nexport * from \"./definition.js\";\nexport * from \"./definition-catalog.js\";\nexport * from \"./definition-catalog-replay.js\";\nexport * from \"./definition-diagnostics.js\";\nexport * from \"./definition-diff.js\";\nexport * from \"./definition-json.js\";\nexport * from \"./definition-manifest.js\";\nexport * from \"./definition-package.js\";\nexport * from \"./definition-package-executor.js\";\nexport * from \"./definition-package-execution-json.js\";\nexport * from \"./definition-package-execution-replay.js\";\nexport * from \"./definition-package-loader.js\";\nexport * from \"./definition-package-resolver.js\";\nexport * from \"./definition-package-review.js\";\nexport * from \"./definition-package-replay.js\";\nexport * from \"./definition-package-run.js\";\nexport * from \"./definition-package-run-report.js\";\nexport * from \"./definition-package-selection.js\";\nexport * from \"./definition-package-smoke.js\";\nexport * from \"./definition-tuning.js\";\nexport * from \"./definition-tuning-approval.js\";\nexport * from \"./definition-tuning-json.js\";\nexport * from \"./definition-tuning-promotion.js\";\nexport * from \"./definition-tuning-replay.js\";\nexport * from \"./definition-tuning-review.js\";\nexport * from \"./definition-tuning-review-artifact.js\";\nexport * from \"./definition-tuning-source-patch.js\";\nexport * from \"./direct-route-invocation.js\";\nexport * from \"./direct-route-policy.js\";\nexport * from \"./eval-case.js\";\nexport * from \"./eval-replay.js\";\nexport * from \"./eval-result.js\";\nexport * from \"./eval-runner.js\";\nexport * from \"./eval-suite.js\";\nexport * from \"./execution-plan.js\";\nexport * from \"./hosted-tool-policy.js\";\nexport * from \"./memory-policy.js\";\nexport * from \"./memory-updates.js\";\nexport * from \"./outcome.js\";\nexport * from \"./outcome-trace.js\";\nexport * from \"./policy-resolution.js\";\nexport * from \"./planner-compiler.js\";\nexport * from \"./planning.js\";\nexport * from \"./run.js\";\nexport * from \"./run-parity.js\";\nexport * from \"./run-evaluation.js\";\nexport * from \"./run-report.js\";\nexport * from \"./run-report-batch.js\";\nexport * from \"./run-report-json.js\";\nexport * from \"./tool-invocations.js\";\nexport * from \"./tool-handoffs.js\";\nexport * from \"./tool-provider-executors.js\";\nexport * from \"./tool-result-cache.js\";\nexport * from \"./tool-runtime.js\";\nexport * from \"./tool-selection-evaluation.js\";\nexport * from \"./tool-selection-json.js\";\nexport * from \"./tool-selection-policy.js\";\nexport * from \"./tool-selection-rules.js\";\nexport * from \"./tool-selection-replay.js\";\nexport * from \"./tool-selection-trace-export.js\";\nexport * from \"./tool-results.js\";\nexport * from \"./trace-events.js\";\nexport * from \"./trace-payload.js\";\nexport * from \"./trace-stages.js\";\nexport * from \"./trace-report.js\";\nexport * from \"./trace-replay.js\";\nexport * from \"./tool-bindings.js\";\nexport * from \"./tool-capabilities.js\";\nexport * from \"./tool-executor.js\";\nexport * from \"./tool-evidence.js\";\nexport * from \"./tool-fixtures.js\";\nexport * from \"./value-readers.js\";\n"]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provider- and transport-neutral envelope for a tool result that may be used
|
|
3
|
+
* as controlled evidence by a later response-synthesis step. Applications own
|
|
4
|
+
* the format string and validate their domain-specific `data` payload.
|
|
5
|
+
*/
|
|
6
|
+
export type AssistantWorkflowToolEvidenceEnvelope<TData = unknown> = {
|
|
7
|
+
format: string;
|
|
8
|
+
formatVersion: number;
|
|
9
|
+
invocationId: string;
|
|
10
|
+
toolName: string;
|
|
11
|
+
callId: string;
|
|
12
|
+
issuedAt: string;
|
|
13
|
+
expiresAt: string;
|
|
14
|
+
data: TData;
|
|
15
|
+
};
|
|
16
|
+
export type AssistantWorkflowToolEvidenceContract = {
|
|
17
|
+
format: string;
|
|
18
|
+
formatVersion: number;
|
|
19
|
+
toolNames: readonly string[];
|
|
20
|
+
};
|
|
21
|
+
export type AssistantWorkflowToolEvidenceBinding = {
|
|
22
|
+
invocationId: string;
|
|
23
|
+
toolName: string;
|
|
24
|
+
callId: string;
|
|
25
|
+
expiresAt: string;
|
|
26
|
+
};
|
|
27
|
+
export type ParseAssistantWorkflowToolEvidenceOptions<TData> = {
|
|
28
|
+
format: string;
|
|
29
|
+
formatVersion: number;
|
|
30
|
+
parseData: (value: unknown) => TData | null;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Parses the generic envelope and delegates data validation to the application.
|
|
34
|
+
* The package deliberately does not infer or normalize application result data.
|
|
35
|
+
*/
|
|
36
|
+
export declare function parseAssistantWorkflowToolEvidence<TData>(value: unknown, options: ParseAssistantWorkflowToolEvidenceOptions<TData>): AssistantWorkflowToolEvidenceEnvelope<TData> | null;
|
|
37
|
+
/**
|
|
38
|
+
* Checks that the evidence came from the exact invocation/call delegated by the
|
|
39
|
+
* host. Domain-specific argument-to-data checks remain application-owned.
|
|
40
|
+
*/
|
|
41
|
+
export declare function matchesAssistantWorkflowToolEvidenceBinding(evidence: AssistantWorkflowToolEvidenceEnvelope, binding: AssistantWorkflowToolEvidenceBinding, nowMs?: number): boolean;
|
|
42
|
+
export declare function supportsAssistantWorkflowToolEvidence(contract: AssistantWorkflowToolEvidenceContract | null | undefined, toolName: string): boolean;
|
|
43
|
+
//# sourceMappingURL=tool-evidence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-evidence.d.ts","sourceRoot":"","sources":["../src/tool-evidence.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,qCAAqC,CAAC,KAAK,GAAG,OAAO,IAAI;IACnE,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,KAAK,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,qCAAqC,GAAG;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAAG;IACjD,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,yCAAyC,CAAC,KAAK,IAAI;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,GAAG,IAAI,CAAC;CAC7C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,kCAAkC,CAAC,KAAK,EACtD,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,yCAAyC,CAAC,KAAK,CAAC,GACxD,qCAAqC,CAAC,KAAK,CAAC,GAAG,IAAI,CAyBrD;AAED;;;GAGG;AACH,wBAAgB,2CAA2C,CACzD,QAAQ,EAAE,qCAAqC,EAC/C,OAAO,EAAE,oCAAoC,EAC7C,KAAK,SAAa,GACjB,OAAO,CAMT;AAED,wBAAgB,qCAAqC,CACnD,QAAQ,EAAE,qCAAqC,GAAG,IAAI,GAAG,SAAS,EAClE,QAAQ,EAAE,MAAM,GACf,OAAO,CAWT"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parses the generic envelope and delegates data validation to the application.
|
|
3
|
+
* The package deliberately does not infer or normalize application result data.
|
|
4
|
+
*/
|
|
5
|
+
export function parseAssistantWorkflowToolEvidence(value, options) {
|
|
6
|
+
if (!isRecord(value))
|
|
7
|
+
return null;
|
|
8
|
+
const format = normalizeFormat(value["format"]);
|
|
9
|
+
const formatVersion = value["formatVersion"];
|
|
10
|
+
const invocationId = normalizeIdentifier(value["invocationId"]);
|
|
11
|
+
const toolName = normalizeToolName(value["toolName"]);
|
|
12
|
+
const callId = normalizeIdentifier(value["callId"]);
|
|
13
|
+
const issuedAt = normalizeTimestamp(value["issuedAt"]);
|
|
14
|
+
const expiresAt = normalizeTimestamp(value["expiresAt"]);
|
|
15
|
+
if (format !== options.format ||
|
|
16
|
+
formatVersion !== options.formatVersion ||
|
|
17
|
+
!invocationId ||
|
|
18
|
+
!toolName ||
|
|
19
|
+
!callId ||
|
|
20
|
+
!issuedAt ||
|
|
21
|
+
!expiresAt ||
|
|
22
|
+
Date.parse(issuedAt) > Date.parse(expiresAt)) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
const data = options.parseData(value["data"]);
|
|
26
|
+
return data === null
|
|
27
|
+
? null
|
|
28
|
+
: { format, formatVersion, invocationId, toolName, callId, issuedAt, expiresAt, data };
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Checks that the evidence came from the exact invocation/call delegated by the
|
|
32
|
+
* host. Domain-specific argument-to-data checks remain application-owned.
|
|
33
|
+
*/
|
|
34
|
+
export function matchesAssistantWorkflowToolEvidenceBinding(evidence, binding, nowMs = Date.now()) {
|
|
35
|
+
return evidence.invocationId === binding.invocationId &&
|
|
36
|
+
evidence.toolName === binding.toolName &&
|
|
37
|
+
evidence.callId === binding.callId &&
|
|
38
|
+
evidence.expiresAt === binding.expiresAt &&
|
|
39
|
+
Date.parse(evidence.expiresAt) > nowMs;
|
|
40
|
+
}
|
|
41
|
+
export function supportsAssistantWorkflowToolEvidence(contract, toolName) {
|
|
42
|
+
const normalizedToolName = normalizeToolName(toolName);
|
|
43
|
+
return Boolean(contract &&
|
|
44
|
+
normalizeFormat(contract.format) === contract.format &&
|
|
45
|
+
Number.isInteger(contract.formatVersion) &&
|
|
46
|
+
contract.formatVersion >= 1 &&
|
|
47
|
+
normalizedToolName &&
|
|
48
|
+
Array.isArray(contract.toolNames) &&
|
|
49
|
+
contract.toolNames.some((candidate) => normalizeToolName(candidate) === normalizedToolName));
|
|
50
|
+
}
|
|
51
|
+
function normalizeFormat(value) {
|
|
52
|
+
const format = typeof value === "string" ? value.trim() : "";
|
|
53
|
+
return format && format.length <= 160 ? format : null;
|
|
54
|
+
}
|
|
55
|
+
function normalizeIdentifier(value) {
|
|
56
|
+
return typeof value === "string" && /^[a-zA-Z0-9._:-]{1,200}$/.test(value) ? value : null;
|
|
57
|
+
}
|
|
58
|
+
function normalizeToolName(value) {
|
|
59
|
+
return typeof value === "string" && /^[a-zA-Z0-9_:-]{1,160}$/.test(value) ? value : null;
|
|
60
|
+
}
|
|
61
|
+
function normalizeTimestamp(value) {
|
|
62
|
+
return typeof value === "string" && Number.isFinite(Date.parse(value)) ? value : null;
|
|
63
|
+
}
|
|
64
|
+
function isRecord(value) {
|
|
65
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=tool-evidence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-evidence.js","sourceRoot":"","sources":["../src/tool-evidence.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Provider- and transport-neutral envelope for a tool result that may be used\n * as controlled evidence by a later response-synthesis step. Applications own\n * the format string and validate their domain-specific `data` payload.\n */\nexport type AssistantWorkflowToolEvidenceEnvelope<TData = unknown> = {\n format: string;\n formatVersion: number;\n invocationId: string;\n toolName: string;\n callId: string;\n issuedAt: string;\n expiresAt: string;\n data: TData;\n};\n\nexport type AssistantWorkflowToolEvidenceContract = {\n format: string;\n formatVersion: number;\n toolNames: readonly string[];\n};\n\nexport type AssistantWorkflowToolEvidenceBinding = {\n invocationId: string;\n toolName: string;\n callId: string;\n expiresAt: string;\n};\n\nexport type ParseAssistantWorkflowToolEvidenceOptions<TData> = {\n format: string;\n formatVersion: number;\n parseData: (value: unknown) => TData | null;\n};\n\n/**\n * Parses the generic envelope and delegates data validation to the application.\n * The package deliberately does not infer or normalize application result data.\n */\nexport function parseAssistantWorkflowToolEvidence<TData>(\n value: unknown,\n options: ParseAssistantWorkflowToolEvidenceOptions<TData>,\n): AssistantWorkflowToolEvidenceEnvelope<TData> | null {\n if (!isRecord(value)) return null;\n const format = normalizeFormat(value[\"format\"]);\n const formatVersion = value[\"formatVersion\"];\n const invocationId = normalizeIdentifier(value[\"invocationId\"]);\n const toolName = normalizeToolName(value[\"toolName\"]);\n const callId = normalizeIdentifier(value[\"callId\"]);\n const issuedAt = normalizeTimestamp(value[\"issuedAt\"]);\n const expiresAt = normalizeTimestamp(value[\"expiresAt\"]);\n if (\n format !== options.format ||\n formatVersion !== options.formatVersion ||\n !invocationId ||\n !toolName ||\n !callId ||\n !issuedAt ||\n !expiresAt ||\n Date.parse(issuedAt) > Date.parse(expiresAt)\n ) {\n return null;\n }\n const data = options.parseData(value[\"data\"]);\n return data === null\n ? null\n : { format, formatVersion, invocationId, toolName, callId, issuedAt, expiresAt, data };\n}\n\n/**\n * Checks that the evidence came from the exact invocation/call delegated by the\n * host. Domain-specific argument-to-data checks remain application-owned.\n */\nexport function matchesAssistantWorkflowToolEvidenceBinding(\n evidence: AssistantWorkflowToolEvidenceEnvelope,\n binding: AssistantWorkflowToolEvidenceBinding,\n nowMs = Date.now(),\n): boolean {\n return evidence.invocationId === binding.invocationId &&\n evidence.toolName === binding.toolName &&\n evidence.callId === binding.callId &&\n evidence.expiresAt === binding.expiresAt &&\n Date.parse(evidence.expiresAt) > nowMs;\n}\n\nexport function supportsAssistantWorkflowToolEvidence(\n contract: AssistantWorkflowToolEvidenceContract | null | undefined,\n toolName: string,\n): boolean {\n const normalizedToolName = normalizeToolName(toolName);\n return Boolean(\n contract &&\n normalizeFormat(contract.format) === contract.format &&\n Number.isInteger(contract.formatVersion) &&\n contract.formatVersion >= 1 &&\n normalizedToolName &&\n Array.isArray(contract.toolNames) &&\n contract.toolNames.some((candidate) => normalizeToolName(candidate) === normalizedToolName),\n );\n}\n\nfunction normalizeFormat(value: unknown): string | null {\n const format = typeof value === \"string\" ? value.trim() : \"\";\n return format && format.length <= 160 ? format : null;\n}\n\nfunction normalizeIdentifier(value: unknown): string | null {\n return typeof value === \"string\" && /^[a-zA-Z0-9._:-]{1,200}$/.test(value) ? value : null;\n}\n\nfunction normalizeToolName(value: unknown): string | null {\n return typeof value === \"string\" && /^[a-zA-Z0-9_:-]{1,160}$/.test(value) ? value : null;\n}\n\nfunction normalizeTimestamp(value: unknown): string | null {\n return typeof value === \"string\" && Number.isFinite(Date.parse(value)) ? value : null;\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uns-kit/assistant-workflow",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.77",
|
|
4
4
|
"description": "Typed, provider-neutral workflow definitions, policies, execution plans, and trace helpers for assistants.",
|
|
5
5
|
"author": "Aljosa Vister",
|
|
6
6
|
"license": "MIT",
|
|
@@ -245,6 +245,10 @@
|
|
|
245
245
|
"types": "./dist/tool-executor.d.ts",
|
|
246
246
|
"default": "./dist/tool-executor.js"
|
|
247
247
|
},
|
|
248
|
+
"./tool-evidence": {
|
|
249
|
+
"types": "./dist/tool-evidence.d.ts",
|
|
250
|
+
"default": "./dist/tool-evidence.js"
|
|
251
|
+
},
|
|
248
252
|
"./tool-fixtures": {
|
|
249
253
|
"types": "./dist/tool-fixtures.d.ts",
|
|
250
254
|
"default": "./dist/tool-fixtures.js"
|