@agenticprimitives/orchestration 0.0.0-alpha.2 → 0.0.0-alpha.21

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.
Files changed (94) hide show
  1. package/README.md +2 -0
  2. package/dist/admission.d.ts +66 -10
  3. package/dist/admission.d.ts.map +1 -1
  4. package/dist/admission.js +203 -8
  5. package/dist/admission.js.map +1 -1
  6. package/dist/answer-quality.d.ts +129 -0
  7. package/dist/answer-quality.d.ts.map +1 -0
  8. package/dist/answer-quality.js +197 -0
  9. package/dist/answer-quality.js.map +1 -0
  10. package/dist/authority.d.ts +39 -0
  11. package/dist/authority.d.ts.map +1 -1
  12. package/dist/conformance.d.ts +66 -0
  13. package/dist/conformance.d.ts.map +1 -0
  14. package/dist/conformance.js +140 -0
  15. package/dist/conformance.js.map +1 -0
  16. package/dist/derivation.d.ts +21 -0
  17. package/dist/derivation.d.ts.map +1 -0
  18. package/dist/derivation.js +31 -0
  19. package/dist/derivation.js.map +1 -0
  20. package/dist/evidence.d.ts +77 -0
  21. package/dist/evidence.d.ts.map +1 -0
  22. package/dist/evidence.js +101 -0
  23. package/dist/evidence.js.map +1 -0
  24. package/dist/export-port.d.ts +13 -0
  25. package/dist/export-port.d.ts.map +1 -0
  26. package/dist/export-port.js +2 -0
  27. package/dist/export-port.js.map +1 -0
  28. package/dist/index.d.ts +23 -6
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +29 -4
  31. package/dist/index.js.map +1 -1
  32. package/dist/intent.d.ts +37 -0
  33. package/dist/intent.d.ts.map +1 -0
  34. package/dist/intent.js +46 -0
  35. package/dist/intent.js.map +1 -0
  36. package/dist/judgment.d.ts +131 -0
  37. package/dist/judgment.d.ts.map +1 -0
  38. package/dist/judgment.js +249 -0
  39. package/dist/judgment.js.map +1 -0
  40. package/dist/loop.d.ts +52 -7
  41. package/dist/loop.d.ts.map +1 -1
  42. package/dist/loop.js +314 -64
  43. package/dist/loop.js.map +1 -1
  44. package/dist/metrics.js +8 -8
  45. package/dist/metrics.js.map +1 -1
  46. package/dist/outcome.d.ts +223 -0
  47. package/dist/outcome.d.ts.map +1 -0
  48. package/dist/outcome.js +325 -0
  49. package/dist/outcome.js.map +1 -0
  50. package/dist/plan-digest.d.ts +6 -0
  51. package/dist/plan-digest.d.ts.map +1 -0
  52. package/dist/plan-digest.js +35 -0
  53. package/dist/plan-digest.js.map +1 -0
  54. package/dist/planner.d.ts +18 -0
  55. package/dist/planner.d.ts.map +1 -1
  56. package/dist/planner.js +74 -0
  57. package/dist/planner.js.map +1 -1
  58. package/dist/reconcile.d.ts +41 -0
  59. package/dist/reconcile.d.ts.map +1 -0
  60. package/dist/reconcile.js +20 -0
  61. package/dist/reconcile.js.map +1 -0
  62. package/dist/record.d.ts +125 -21
  63. package/dist/record.d.ts.map +1 -1
  64. package/dist/record.js +47 -1
  65. package/dist/record.js.map +1 -1
  66. package/dist/regression.d.ts +109 -0
  67. package/dist/regression.d.ts.map +1 -0
  68. package/dist/regression.js +97 -0
  69. package/dist/regression.js.map +1 -0
  70. package/dist/rollup.d.ts +72 -0
  71. package/dist/rollup.d.ts.map +1 -0
  72. package/dist/rollup.js +117 -0
  73. package/dist/rollup.js.map +1 -0
  74. package/dist/selection.d.ts +334 -0
  75. package/dist/selection.d.ts.map +1 -0
  76. package/dist/selection.js +481 -0
  77. package/dist/selection.js.map +1 -0
  78. package/dist/spans.d.ts +62 -0
  79. package/dist/spans.d.ts.map +1 -1
  80. package/dist/spans.js +78 -11
  81. package/dist/spans.js.map +1 -1
  82. package/dist/tool-invoker.d.ts +54 -3
  83. package/dist/tool-invoker.d.ts.map +1 -1
  84. package/dist/tool-invoker.js +26 -1
  85. package/dist/tool-invoker.js.map +1 -1
  86. package/dist/trace-facts.d.ts +93 -0
  87. package/dist/trace-facts.d.ts.map +1 -0
  88. package/dist/trace-facts.js +82 -0
  89. package/dist/trace-facts.js.map +1 -0
  90. package/dist/types.d.ts +86 -1
  91. package/dist/types.d.ts.map +1 -1
  92. package/dist/types.js +4 -0
  93. package/dist/types.js.map +1 -1
  94. package/package.json +17 -8
package/dist/spans.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { type EngagementEffectV1, type RunDoorV1 } from './trace-facts.js';
1
2
  import type { RunRecordV1 } from './record.js';
2
3
  import type { StepReceipt } from './authority.js';
3
4
  /** One span, vendor-neutral. Ids are W3C trace-context sized (16-byte trace, 8-byte span), derived from the
@@ -191,6 +192,67 @@ export interface RunProvenanceV1 {
191
192
  ruleId: string;
192
193
  }>;
193
194
  errorClass?: string;
195
+ /** Spec 410 §2 — what the adapter saw: which end committed this and what it can show. */
196
+ observation?: {
197
+ outcome: 'attempted' | 'accepted' | 'committed' | 'confirmed';
198
+ providerRef?: string;
199
+ observedAt: string;
200
+ };
201
+ /** Spec 414 A1 — the SKILL.md contract that governed this step. */
202
+ skill?: {
203
+ id: string;
204
+ version: string;
205
+ contractDigest: string;
206
+ };
207
+ /** Spec 414 §3.2 — harness capabilities engaged on this step. */
208
+ engagements?: Array<{
209
+ capability: string;
210
+ effect: EngagementEffectV1;
211
+ version?: string;
212
+ }>;
213
+ /** Spec 426 §7 — an EXECUTOR-INVOKE step: the executor called as the principal, the skill it ran, and the
214
+ * executor's own receipt (a store pointer / record id — the apply-iff-proof evidence, not the harness's words). */
215
+ invoke?: {
216
+ executor: string;
217
+ intent: string;
218
+ receipt?: Record<string, unknown>;
219
+ };
220
+ }>;
221
+ /** Spec 414 A1 — the trace from the door (see `trace-facts.ts`). */
222
+ door?: RunDoorV1;
223
+ modelCalls?: Array<{
224
+ role: string;
225
+ model?: string;
226
+ provider?: string;
227
+ promptDigest?: string;
228
+ tokensIn?: number;
229
+ tokensOut?: number;
230
+ routeReason?: string;
231
+ startedAt?: string;
232
+ endedAt?: string;
233
+ }>;
234
+ variant?: {
235
+ digest: string;
236
+ plannerKind?: string;
237
+ routePolicy?: string;
238
+ build?: string;
239
+ toggles?: Record<string, string>;
240
+ };
241
+ startingState?: {
242
+ digest: string;
243
+ };
244
+ /** Engagements on the run as a whole (no step). */
245
+ engagements?: Array<{
246
+ capability: string;
247
+ effect: EngagementEffectV1;
248
+ version?: string;
249
+ offered?: string[];
250
+ chose?: string[];
251
+ rejected?: string[];
252
+ intent?: {
253
+ requests?: string;
254
+ about?: string[];
255
+ };
194
256
  }>;
195
257
  }
196
258
  export declare function provenanceOf(record: RunRecordV1, agent: string): Promise<RunProvenanceV1>;
@@ -1 +1 @@
1
- {"version":3,"file":"spans.d.ts","sourceRoot":"","sources":["../src/spans.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spans.d.ts","sourceRoot":"","sources":["../src/spans.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAkC,KAAK,kBAAkB,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC3G,OAAO,KAAK,EAAa,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD;mFACmF;AACnF,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACvC,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IACtD;qEACiE;IACjE,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC,CAAC;IACxF;uGACmG;IACnG,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;CAC1G;AAED,2GAA2G;AAC3G,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,MAAM,CA6BvD,CAAC;AAEH;mFACmF;AACnF,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,OAAO;kBACJ,MAAM;mBACL,MAAM,WAAW,MAAM;qBACrB,MAAM;mBACR,MAAM;uBACF,MAAM,WAAW,MAAM;CAC3C,CAAC;AASF,4FAA4F;AAC5F,wBAAsB,aAAa,CAAC,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAEnE;AAUD,8GAA8G;AAC9G,eAAO,MAAM,SAAS,WAAkB,MAAM,oBAAmD,CAAC;AAClG,eAAO,MAAM,QAAQ,WAAkB,MAAM,WAAW,MAAM,GAAG,IAAI,oBAAsE,CAAC;AAE5I;;;8GAG8G;AAC9G,wBAAsB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC,CAMxJ;AAaD,4EAA4E;AAC5E,wBAAsB,OAAO,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAkFpE;AA0BD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAkJjJ;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CA8BpF;AAED,+GAA+G;AAC/G,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,aAAa,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;CAAE,CAAC,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAUnJ;AAED;;6GAE6G;AAC7G,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,QAAQ,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAsBnH;AAID;;oGAEoG;AACpG,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,sBAAsB,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,KAAK,EAAE,MAAM,CAAC;IACd,2FAA2F;IAC3F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAChC,6FAA6F;IAC7F,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IACpE;4FACwF;IACxF,YAAY,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE,4GAA4G;IAC5G,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,mDAAmD;QACnD,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE;YAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,aAAa,EAAE,OAAO,CAAC;YAClF,0GAA0G;YAC1G,KAAK,CAAC,EAAE;gBAAE,kBAAkB,EAAE,MAAM,CAAC;gBAAC,WAAW,EAAE,MAAM,CAAC;gBAAC,KAAK,EAAE,MAAM,CAAC;gBAAC,WAAW,EAAE,MAAM,CAAC;gBAAC,KAAK,EAAE,KAAK,CAAC;oBAAE,GAAG,EAAE,MAAM,CAAC;oBAAC,SAAS,EAAE,MAAM,CAAC;oBAAC,QAAQ,EAAE,MAAM,CAAC;oBAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;iBAAE,CAAC,CAAA;aAAE,CAAA;SAAE,CAAC;QAClM,iDAAiD;QACjD,KAAK,CAAC,EAAE;YAAE,aAAa,CAAC,EAAE,MAAM,CAAC;YAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,CAAC;QACnF,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,0GAA0G;QAC1G,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,4GAA4G;QAC5G,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,kFAAkF;QAClF,QAAQ,CAAC,EAAE;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QACjE,OAAO,CAAC,EAAE,KAAK,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;QACnD,SAAS,CAAC,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACrD,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,yFAAyF;QACzF,WAAW,CAAC,EAAE;YAAE,OAAO,EAAE,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;QAC1H,mEAAmE;QACnE,KAAK,CAAC,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAA;SAAE,CAAC;QAChE,iEAAiE;QACjE,WAAW,CAAC,EAAE,KAAK,CAAC;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,kBAAkB,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC1F;4HACoH;QACpH,MAAM,CAAC,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC;KAClF,CAAC,CAAC;IACH,oEAAoE;IACpE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClM,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAC3H,aAAa,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,mDAAmD;IACnD,WAAW,CAAC,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,kBAAkB,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE;YAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;CACxM;AAED,wBAAsB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CA6E/F;AAED,wFAAwF;AACxF,eAAO,MAAM,4BAA4B,EAAG,iBAA0B,CAAC;AACvE,eAAO,MAAM,sBAAsB,WAAY,MAAM,KAAG,MAAoD,CAAC"}
package/dist/spans.js CHANGED
@@ -1,3 +1,24 @@
1
+ // THE RUN, EXPORTED — spec 381 (appendix N3, the open half of P6).
2
+ //
3
+ // Two projections of one record, both pure, both firewalled:
4
+ //
5
+ // · SPANS — the run as a trace a tool like Jaeger, Honeycomb or an OTEL collector reads: one root span per
6
+ // run (`invoke_agent`), one child per step (`execute_tool`), attribute NAMES from the OpenTelemetry GenAI
7
+ // semantic conventions where one exists (`gen_ai.operation.name`, `gen_ai.tool.name`, `gen_ai.tool.call.id`)
8
+ // and `ap.*` for what this substrate adds (capability, risk, the authority decision, the receipt digest).
9
+ // Vendor-neutral: an OTLP body is one function away (`otlpTracesOf`), and the SDK exporter with batching
10
+ // and gRPC is a sibling's (spec 351 §2.3) — this file is the mapping, which is the part that must be right.
11
+ //
12
+ // · PROVENANCE — the durable half of the record, written into the acting agent's VAULT (ADR-0055: the DO
13
+ // copy is a rebuild, the vault is the record): per step, what ran, under which authority, with what
14
+ // verdict, leaving which receipt — and never the arguments, the results or the words.
15
+ //
16
+ // THE FIREWALL. A trace leaves the estate; a vault record outlives the run. Neither may carry what the run
17
+ // was ABOUT: not the utterance, not a step's arguments, not a counterparty's address, not a result. What
18
+ // they carry is what was DONE — names, ids, digests, verdicts, timings. The allowlist below is the whole of
19
+ // it; `assertFirewalled` re-reads every value against the record and throws naming the leak, so a new
20
+ // attribute cannot quietly widen the export. A payee is a digest away from a receipt, never in a span.
21
+ import { engagementsOf, variantDigestOf } from './trace-facts.js';
1
22
  import { isArtifactRef, resultFactsOf } from './artifacts.js';
2
23
  /** The attribute names a span MAY carry — the firewall's allowlist. Anything else is refused at export. */
3
24
  export const SPAN_ATTRIBUTE_ALLOWLIST = new Set([
@@ -256,6 +277,26 @@ export async function stageSpansOf(record, ctx) {
256
277
  attributes: { 'gen_ai.operation.name': 'receive_request', 'ap.prov.activity.id': provIds.run(record.runRef) },
257
278
  });
258
279
  }
280
+ // The runtime's own windows, itemised (record.marks): each under the stage it fell in — before the loop under
281
+ // `receive_request`, after it under `issue_outcome` — so a slow turn names the read that was slow.
282
+ const completedAt = at(first('RunCompleted')) ?? at(first('RunFailed'));
283
+ const markParent = (m) => {
284
+ if (m.endMs <= started && typeof record.receivedAt === 'number' && record.receivedAt > 0 && record.receivedAt <= started)
285
+ return 'stage:receive_request';
286
+ if (completedAt !== undefined && m.startMs >= completedAt)
287
+ return 'stage:issue_outcome';
288
+ return null;
289
+ };
290
+ for (const [i, m] of (record.marks ?? []).entries()) {
291
+ const parentKey = markParent(m);
292
+ if (!parentKey)
293
+ continue;
294
+ out.push({
295
+ traceId: ctx.traceId, spanId: await spanIdOf(record.runRef, `mark:${i}:${m.name}`), parentSpanId: await spanIdOf(record.runRef, parentKey),
296
+ name: m.name, kind: 'INTERNAL', startMs: m.startMs, endMs: m.endMs, status: 'UNSET',
297
+ attributes: { 'gen_ai.operation.name': parentKey === 'stage:receive_request' ? 'receive_request' : 'issue_outcome', 'ap.prov.activity.id': provIds.run(record.runRef) },
298
+ });
299
+ }
259
300
  // identify_principal — the standing and the anchors, as the receipts recorded them (383).
260
301
  const standing = record.receipts.map((r) => r.binding?.standing).find((x) => x);
261
302
  const actor = record.receipts.map((r) => r.binding?.actor).find((x) => x);
@@ -272,9 +313,10 @@ export async function stageSpansOf(record, ctx) {
272
313
  // plan — the planner's call, by the model that made it and the reason it was routed there (388).
273
314
  const planned = at(first('PlanCreated'));
274
315
  if (started !== undefined && planned !== undefined) {
275
- const p = record.planner;
276
- const model = p?.model;
277
- const provider = p?.route?.planner?.provider ?? p?.provider;
316
+ // Spec 414 A1e — read from the run's model calls and its variant (the planner summary is retired).
317
+ const pc = record.modelCalls?.find((m) => m.role === 'plan');
318
+ const model = pc?.model;
319
+ const provider = pc?.provider;
278
320
  out.push({
279
321
  traceId: ctx.traceId, spanId: await spanIdOf(record.runRef, 'stage:plan'), parentSpanId: ctx.rootId,
280
322
  name: model ? `plan ${model}` : 'plan', kind: model ? 'CLIENT' : 'INTERNAL', startMs: started, endMs: Math.max(planned, started), status: 'UNSET',
@@ -283,11 +325,11 @@ export async function stageSpansOf(record, ctx) {
283
325
  'ap.prov.activity.id': provIds.run(record.runRef),
284
326
  'ap.prov.plan.id': provIds.plan(record.runRef),
285
327
  'ap.plan.steps': record.plan.steps.length,
286
- ...(p?.kind ? { 'ap.plan.planner': p.kind } : {}),
328
+ ...(record.variant?.plannerKind ? { 'ap.plan.planner': record.variant.plannerKind } : {}),
287
329
  ...(model ? { 'gen_ai.request.model': model } : {}),
288
330
  ...(provider ? { 'gen_ai.provider.name': provider } : {}),
289
- ...(p?.route?.policy ? { 'ap.route.policy': p.route.policy } : {}),
290
- ...(p?.route?.planner?.because ? { 'ap.route.because': p.route.planner.because } : {}),
331
+ ...(record.variant?.routePolicy ? { 'ap.route.policy': record.variant.routePolicy } : {}),
332
+ ...(pc?.routeReason ? { 'ap.route.because': pc.routeReason } : {}),
291
333
  },
292
334
  });
293
335
  }
@@ -347,8 +389,8 @@ export async function stageSpansOf(record, ctx) {
347
389
  // issue_outcome — the composer's call and the reply, from the loop's end to the record's time.
348
390
  const completed = at(first('RunCompleted')) ?? at(first('RunFailed'));
349
391
  if (completed !== undefined && record.at >= completed) {
350
- const c = record.planner?.route?.composer;
351
- const model = record.planner?.model;
392
+ const c = record.modelCalls?.find((m) => m.role === 'compose');
393
+ const model = c?.model;
352
394
  out.push({
353
395
  traceId: ctx.traceId, spanId: await spanIdOf(record.runRef, 'stage:issue_outcome'), parentSpanId: ctx.rootId,
354
396
  name: 'issue_outcome', kind: c?.provider ? 'CLIENT' : 'INTERNAL', startMs: completed, endMs: record.at, status: 'UNSET',
@@ -357,8 +399,8 @@ export async function stageSpansOf(record, ctx) {
357
399
  'ap.prov.activity.id': provIds.run(record.runRef),
358
400
  'ap.run.outcome': record.outcome,
359
401
  ...(c?.provider ? { 'gen_ai.provider.name': c.provider } : {}),
360
- ...(c?.provider && model && c.provider === record.planner?.provider ? { 'gen_ai.request.model': model } : {}),
361
- ...(c?.because ? { 'ap.route.because': c.because } : {}),
402
+ ...(c?.provider && model ? { 'gen_ai.request.model': model } : {}),
403
+ ...(c?.routeReason ? { 'ap.route.because': c.routeReason } : {}),
362
404
  },
363
405
  });
364
406
  }
@@ -470,6 +512,12 @@ export async function provenanceOf(record, agent) {
470
512
  const playbook = record.receipts.find((r) => r.skillRef)?.skillRef;
471
513
  const answers = record.receipts.map((r) => r.binding?.correlation?.inResponseTo).find((x) => x?.runRef);
472
514
  const iso = (sec) => (typeof sec === 'number' && sec > 0 ? new Date(sec * 1000).toISOString() : undefined);
515
+ const isoMs = (ms) => (typeof ms === 'number' && ms > 0 ? new Date(ms).toISOString() : undefined);
516
+ // Spec 414 A1 — the engagements, derived and stamped, split into the run's and each step's.
517
+ const engaged = engagementsOf(record);
518
+ const runEngagements = engaged.filter((e) => !e.stepRef).map(({ capability, effect, version, offered, chose, rejected, intent }) => ({ capability, effect, ...(version ? { version } : {}), ...(offered?.length ? { offered } : {}), ...(chose?.length ? { chose } : {}), ...(rejected?.length ? { rejected } : {}), ...(intent ? { intent } : {}) }));
519
+ const stepEngagements = (stepRef) => engaged.filter((e) => e.stepRef === stepRef).map(({ capability, effect, version }) => ({ capability, effect, ...(version ? { version } : {}) }));
520
+ const variant = record.variant ? { digest: await variantDigestOf(record.variant), ...(record.variant.plannerKind ? { plannerKind: record.variant.plannerKind } : {}), ...(record.variant.routePolicy ? { routePolicy: record.variant.routePolicy } : {}), ...(record.variant.build ? { build: record.variant.build } : {}), ...(record.variant.toggles ? { toggles: record.variant.toggles } : {}) } : undefined;
473
521
  return {
474
522
  type: 'ap.run-provenance.v1',
475
523
  runRef: record.runRef,
@@ -482,7 +530,15 @@ export async function provenanceOf(record, agent) {
482
530
  outcome: record.outcome,
483
531
  ...(playbook ? { playbook: { skillId: playbook.skillId, version: playbook.version, commitment: playbook.commitment } } : {}),
484
532
  ...(answers ? { inResponseTo: { agent: String(answers.agent).toLowerCase(), runRef: answers.runRef, ...(answers.stepRef ? { stepRef: answers.stepRef } : {}) } } : {}),
485
- steps: await Promise.all(record.steps.map(async (s) => {
533
+ ...(record.door ? { door: record.door } : {}),
534
+ ...(record.modelCalls?.length ? { modelCalls: record.modelCalls.map((m) => ({ role: m.role, ...(m.model ? { model: m.model } : {}), ...(m.provider ? { provider: m.provider } : {}), ...(m.promptDigest ? { promptDigest: m.promptDigest } : {}), ...(m.tokensIn !== undefined ? { tokensIn: m.tokensIn } : {}), ...(m.tokensOut !== undefined ? { tokensOut: m.tokensOut } : {}), ...(m.routeReason ? { routeReason: m.routeReason } : {}), ...(isoMs(m.startMs) ? { startedAt: isoMs(m.startMs) } : {}), ...(isoMs(m.endMs) ? { endedAt: isoMs(m.endMs) } : {}) })) } : {}),
535
+ ...(variant ? { variant } : {}),
536
+ // A starting state is projected by its DIGEST (`state:<digest>`); one named without a digest is a note on the record, not an entity.
537
+ ...(record.startingState?.digest ? { startingState: { digest: record.startingState.digest } } : {}),
538
+ ...(runEngagements.length ? { engagements: runEngagements } : {}),
539
+ // A step that never ran but left a receipt — an act parked for its authority, or suspended for an input — is a step of
540
+ // the run all the same: its receipt is the evidence that the harness reached it and what it was waiting for.
541
+ steps: await Promise.all([...record.steps, ...record.receipts.filter((r) => !r.stepRef.endsWith(':compensate') && !record.steps.some((s) => s.stepRef === r.stepRef)).map((r) => ({ stepRef: r.stepRef, toolId: r.toolId, args: {}, ok: false, result: undefined, error: undefined, skipped: false }))].map(async (s) => {
486
542
  const r = receiptsByStep.get(s.stepRef);
487
543
  const tx = resultFactsOf(s.result)?.txHash;
488
544
  return {
@@ -512,6 +568,17 @@ export async function provenanceOf(record, agent) {
512
568
  ...(r?.decisions?.length ? { decisions: r.decisions.map((d) => ({ point: d.point, ruleId: d.ruleId })) } : {}),
513
569
  ...(errorClass(s.error ?? r?.error) ? { errorClass: errorClass(s.error ?? r?.error) } : {}),
514
570
  ...(isArtifactRef(s.result) ? { artifact: { recordType: s.result.recordType, digest: s.result.digest, bytes: s.result.bytes } } : {}),
571
+ ...(r?.observation ? { observation: { outcome: r.observation.outcome, ...(r.observation.providerRef ? { providerRef: r.observation.providerRef } : {}), observedAt: r.observation.observedAt } } : {}),
572
+ ...(r?.skill ? { skill: { id: r.skill.id, version: r.skill.version, contractDigest: r.skill.contractDigest } } : {}),
573
+ ...(stepEngagements(s.stepRef).length ? { engagements: stepEngagements(s.stepRef) } : {}),
574
+ ...(() => {
575
+ const facts = resultFactsOf(s.result);
576
+ const inv = facts?.invoked;
577
+ if (!inv || typeof inv.executor !== 'string' || typeof inv.intent !== 'string')
578
+ return {};
579
+ const receipt = facts?.receipt && typeof facts.receipt === 'object' && !Array.isArray(facts.receipt) ? facts.receipt : undefined;
580
+ return { invoke: { executor: inv.executor, intent: inv.intent, ...(receipt ? { receipt } : {}) } };
581
+ })(),
515
582
  };
516
583
  })),
517
584
  };
package/dist/spans.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"spans.js","sourceRoot":"","sources":["../src/spans.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spans.js","sourceRoot":"","sources":["../src/spans.ts"],"names":[],"mappings":"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"}
@@ -3,20 +3,71 @@ import type { SuppliedInputV1 } from './input.js';
3
3
  /** Context handed to the invoker for one step (for logging / args resolution; never authority). */
4
4
  export interface InvokeContext {
5
5
  intent: Intent;
6
+ /** Spec 420 — a COMPARISON's dry run: an invoker whose tool declares `dryRun: 'invoke'` runs its read-only preconditions
7
+ * (find the fact, check the turn) and returns what it WOULD do — or its refusal — and writes NOTHING. */
8
+ dryRun?: boolean;
6
9
  step: PlanStep;
7
10
  /** 0-based index of this step within the current plan. */
8
11
  index: number;
9
12
  /** Spec 350 §3.1 — present for medium+ risk steps. An invoker MUST make the call idempotent on it: a
10
13
  * retry of a payment is not a re-read, and the loop may re-run a step after a resume. */
11
14
  idempotencyKey?: string;
15
+ /** Spec 410 §3 — the step's LOGICAL operation identity, always present: the admitted binding's `operationId`,
16
+ * else the idempotency key, else `runRef:stepRef`. An adapter records it with the effect it makes (a write
17
+ * ledger, a send ledger) so a reconcile can find the operation before a retry acts again. */
18
+ operationId: string;
12
19
  /** Spec 350 §3.4 — the answers supplied for THIS step on a resume (data, a signature, a confirmation).
13
20
  * Empty on a first run. A tool that lacks something throws `InputRequired` instead of guessing. */
14
21
  supplied?: SuppliedInputV1[];
22
+ /** Spec 408 §2.3 — the digest of the plan this step belongs to, as the verifier judged it. An invoker that
23
+ * redeems a plan-bound mandate on chain presents it (`DigestBindingEnforcer`, kind `plan`). */
24
+ planDigest?: string;
25
+ /** Spec 409 §4 — has this run SEEN UNTRUSTED CONTENT before this step: any earlier observation (executed or
26
+ * replayed) whose result carries `untrusted: true` (a web page, a file, an external MCP server's answer). A
27
+ * self-authorized write consults it: after untrusted content, a write parks as a proposal instead of running
28
+ * on words the planner may have taken from an attacker. Evidence, never authority — no verifier reads it. */
29
+ untrustedSeen?: boolean;
15
30
  }
31
+ /** What an adapter can show for what it observed: a response digest, a receipt URL, a chain read, a reconcile hit. */
32
+ export interface EvidenceRefV1 {
33
+ kind: 'response-digest' | 'receipt-url' | 'chain-read' | 'read-back' | 'reconcile' | (string & {});
34
+ ref: string;
35
+ }
36
+ export type ObservedOutcome = 'attempted' | 'accepted' | 'committed' | 'confirmed';
37
+ export interface ToolObservationV1 {
38
+ /** `attempted`: the call left and nothing came back the adapter can vouch for. `accepted`: the provider
39
+ * acknowledged (a 202, a queued message) and has not committed. `committed`: the provider says it is done.
40
+ * `confirmed`: the harness read the effect back INDEPENDENTLY of the call that made it. */
41
+ outcome: ObservedOutcome;
42
+ /** The provider's own identifier for the effect: message id, tx hash, task id, record version. */
43
+ providerRef?: string;
44
+ /** RFC 3339 — the harness clock when the adapter returned. */
45
+ observedAt: string;
46
+ evidence: EvidenceRefV1[];
47
+ }
48
+ /** What an invoker resolves when it can say what it saw. A raw value is still accepted and read as `attempted`. */
49
+ export interface ToolInvocationResultV1<T = unknown> {
50
+ output: T;
51
+ observation: ToolObservationV1;
52
+ }
53
+ export declare function isToolInvocationResult(v: unknown): v is ToolInvocationResultV1;
54
+ /** An invocation result over a raw value, for an adapter that has nothing more to show than that it returned. */
55
+ export declare function observed<T>(output: T, outcome: ObservedOutcome, o?: {
56
+ providerRef?: string;
57
+ evidence?: EvidenceRefV1[];
58
+ now?: () => Date;
59
+ }): ToolInvocationResultV1<T>;
16
60
  /**
17
- * Execute a single tool. Resolve with the tool's result, or REJECT to signal a step failure (the loop then
18
- * re-plans, bounded). A resolved value is treated as success — an invoker that wants to surface a tool-level
19
- * error as a failure must throw (fail-closed; the loop does not inspect result shapes for hidden errors).
61
+ * Execute a single tool. Resolve with the tool's result — a `ToolInvocationResultV1` when the adapter can say
62
+ * what it saw (spec 410 §2), or a raw value, which the loop records as `attempted` (a read as `confirmed`: the
63
+ * read IS the observation). REJECT to signal a step failure (the loop then re-plans, bounded). A resolved
64
+ * value is treated as success — an invoker that wants to surface a tool-level error as a failure must throw
65
+ * (fail-closed; the loop does not inspect result shapes for hidden errors).
20
66
  */
21
67
  export type ToolInvoker = (toolId: string, args: Record<string, unknown>, ctx: InvokeContext) => Promise<unknown>;
68
+ /**
69
+ * Spec 410 §2 "done when" — a stranger given only the receipt can answer "which end committed this, and what did
70
+ * it see". Rendered from the observation's words, never composed: the four outcomes each have one sentence.
71
+ */
72
+ export declare function describeObservation(o: ToolObservationV1 | undefined): string;
22
73
  //# sourceMappingURL=tool-invoker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-invoker.d.ts","sourceRoot":"","sources":["../src/tool-invoker.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,mGAAmG;AACnG,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,CAAC;IACf,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd;8FAC0F;IAC1F,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;wGACoG;IACpG,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,CACxB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,aAAa,KACf,OAAO,CAAC,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"tool-invoker.d.ts","sourceRoot":"","sources":["../src/tool-invoker.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,mGAAmG;AACnG,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf;8GAC0G;IAC1G,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd;8FAC0F;IAC1F,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;kGAE8F;IAC9F,WAAW,EAAE,MAAM,CAAC;IACpB;wGACoG;IACpG,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B;oGACgG;IAChG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;kHAG8G;IAC9G,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAUD,sHAAsH;AACtH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,iBAAiB,GAAG,aAAa,GAAG,YAAY,GAAG,WAAW,GAAG,WAAW,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACnG,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,CAAC;AAEnF,MAAM,WAAW,iBAAiB;IAChC;;gGAE4F;IAC5F,OAAO,EAAE,eAAe,CAAC;IACzB,kGAAkG;IAClG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,mHAAmH;AACnH,MAAM,WAAW,sBAAsB,CAAC,CAAC,GAAG,OAAO;IAAI,MAAM,EAAE,CAAC,CAAC;IAAC,WAAW,EAAE,iBAAiB,CAAA;CAAE;AAIlG,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,sBAAsB,CAI9E;AAED,iHAAiH;AACjH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;CAAO,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAE1K;AAED;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,CACxB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,aAAa,KACf,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,iBAAiB,GAAG,SAAS,GAAG,MAAM,CAU5E"}
@@ -1,2 +1,27 @@
1
- export {};
1
+ const OUTCOMES = new Set(['attempted', 'accepted', 'committed', 'confirmed']);
2
+ export function isToolInvocationResult(v) {
3
+ const r = v;
4
+ return !!r && typeof r === 'object' && 'output' in r && !!r.observation && typeof r.observation === 'object'
5
+ && OUTCOMES.has(String(r.observation.outcome)) && typeof r.observation.observedAt === 'string' && Array.isArray(r.observation.evidence);
6
+ }
7
+ /** An invocation result over a raw value, for an adapter that has nothing more to show than that it returned. */
8
+ export function observed(output, outcome, o = {}) {
9
+ return { output, observation: { outcome, ...(o.providerRef ? { providerRef: o.providerRef } : {}), observedAt: (o.now ?? (() => new Date()))().toISOString(), evidence: o.evidence ?? [] } };
10
+ }
11
+ /**
12
+ * Spec 410 §2 "done when" — a stranger given only the receipt can answer "which end committed this, and what did
13
+ * it see". Rendered from the observation's words, never composed: the four outcomes each have one sentence.
14
+ */
15
+ export function describeObservation(o) {
16
+ if (!o)
17
+ return 'nothing was observed: the receipt predates the observation record, and only the output digest stands';
18
+ const saw = o.evidence.length ? ` It saw: ${o.evidence.map((e) => `${e.kind} ${e.ref}`).join('; ')}.` : ' It showed nothing beyond the call.';
19
+ const ref = o.providerRef ? ` The provider's reference is ${o.providerRef}.` : '';
20
+ switch (o.outcome) {
21
+ case 'attempted': return `Neither end is known to have committed this: the call left at ${o.observedAt} and nothing came back the adapter could vouch for.${ref}${saw}`;
22
+ case 'accepted': return `The provider accepted this at ${o.observedAt} and had not committed it when the adapter returned.${ref}${saw}`;
23
+ case 'committed': return `The provider says it committed this at ${o.observedAt}; the harness has not read it back independently.${ref}${saw}`;
24
+ case 'confirmed': return `Confirmed at ${o.observedAt}: the harness read the effect back independently of the call that made it.${ref}${saw}`;
25
+ }
26
+ }
2
27
  //# sourceMappingURL=tool-invoker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-invoker.js","sourceRoot":"","sources":["../src/tool-invoker.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"tool-invoker.js","sourceRoot":"","sources":["../src/tool-invoker.ts"],"names":[],"mappings":"AAkEA,MAAM,QAAQ,GAAwB,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;AAEnG,MAAM,UAAU,sBAAsB,CAAC,CAAU;IAC/C,MAAM,CAAC,GAAG,CAA+G,CAAC;IAC1H,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ;WACvG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,WAAW,CAAC,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AAC5I,CAAC;AAED,iHAAiH;AACjH,MAAM,UAAU,QAAQ,CAAI,MAAS,EAAE,OAAwB,EAAE,IAA4E,EAAE;IAC7I,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,EAAE,EAAE,EAAE,CAAC;AAC/L,CAAC;AAeD;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,CAAgC;IAClE,IAAI,CAAC,CAAC;QAAE,OAAO,sGAAsG,CAAC;IACtH,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,qCAAqC,CAAC;IAC9I,MAAM,GAAG,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAClF,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;QAClB,KAAK,WAAW,CAAC,CAAC,OAAO,iEAAiE,CAAC,CAAC,UAAU,sDAAsD,GAAG,GAAG,GAAG,EAAE,CAAC;QACxK,KAAK,UAAU,CAAC,CAAC,OAAO,iCAAiC,CAAC,CAAC,UAAU,uDAAuD,GAAG,GAAG,GAAG,EAAE,CAAC;QACxI,KAAK,WAAW,CAAC,CAAC,OAAO,0CAA0C,CAAC,CAAC,UAAU,oDAAoD,GAAG,GAAG,GAAG,EAAE,CAAC;QAC/I,KAAK,WAAW,CAAC,CAAC,OAAO,gBAAgB,CAAC,CAAC,UAAU,6EAA6E,GAAG,GAAG,GAAG,EAAE,CAAC;IAChJ,CAAC;AACH,CAAC"}