@agenticprimitives/orchestration 0.0.0-alpha.1 → 0.0.0-alpha.10

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 (114) hide show
  1. package/README.md +2 -0
  2. package/dist/admission.d.ts +127 -0
  3. package/dist/admission.d.ts.map +1 -0
  4. package/dist/admission.js +355 -0
  5. package/dist/admission.js.map +1 -0
  6. package/dist/answer-quality.d.ts +80 -0
  7. package/dist/answer-quality.d.ts.map +1 -0
  8. package/dist/answer-quality.js +97 -0
  9. package/dist/answer-quality.js.map +1 -0
  10. package/dist/artifacts.d.ts +137 -0
  11. package/dist/artifacts.d.ts.map +1 -0
  12. package/dist/artifacts.js +232 -0
  13. package/dist/artifacts.js.map +1 -0
  14. package/dist/authority.d.ts +465 -0
  15. package/dist/authority.d.ts.map +1 -0
  16. package/dist/authority.js +2 -0
  17. package/dist/authority.js.map +1 -0
  18. package/dist/conformance.d.ts +66 -0
  19. package/dist/conformance.d.ts.map +1 -0
  20. package/dist/conformance.js +140 -0
  21. package/dist/conformance.js.map +1 -0
  22. package/dist/derivation.d.ts +21 -0
  23. package/dist/derivation.d.ts.map +1 -0
  24. package/dist/derivation.js +31 -0
  25. package/dist/derivation.js.map +1 -0
  26. package/dist/durable.d.ts +44 -0
  27. package/dist/durable.d.ts.map +1 -0
  28. package/dist/durable.js +15 -0
  29. package/dist/durable.js.map +1 -0
  30. package/dist/export-port.d.ts +13 -0
  31. package/dist/export-port.d.ts.map +1 -0
  32. package/dist/export-port.js +2 -0
  33. package/dist/export-port.js.map +1 -0
  34. package/dist/flow-trace.d.ts +105 -0
  35. package/dist/flow-trace.d.ts.map +1 -0
  36. package/dist/flow-trace.js +60 -0
  37. package/dist/flow-trace.js.map +1 -0
  38. package/dist/index.d.ts +37 -4
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +44 -3
  41. package/dist/index.js.map +1 -1
  42. package/dist/input.d.ts +165 -0
  43. package/dist/input.d.ts.map +1 -0
  44. package/dist/input.js +33 -0
  45. package/dist/input.js.map +1 -0
  46. package/dist/intent.d.ts +37 -0
  47. package/dist/intent.d.ts.map +1 -0
  48. package/dist/intent.js +46 -0
  49. package/dist/intent.js.map +1 -0
  50. package/dist/judgment.d.ts +131 -0
  51. package/dist/judgment.d.ts.map +1 -0
  52. package/dist/judgment.js +249 -0
  53. package/dist/judgment.js.map +1 -0
  54. package/dist/loop.d.ts +155 -6
  55. package/dist/loop.d.ts.map +1 -1
  56. package/dist/loop.js +905 -32
  57. package/dist/loop.js.map +1 -1
  58. package/dist/metrics.d.ts +35 -0
  59. package/dist/metrics.d.ts.map +1 -0
  60. package/dist/metrics.js +98 -0
  61. package/dist/metrics.js.map +1 -0
  62. package/dist/outcome.d.ts +223 -0
  63. package/dist/outcome.d.ts.map +1 -0
  64. package/dist/outcome.js +325 -0
  65. package/dist/outcome.js.map +1 -0
  66. package/dist/plan-digest.d.ts +6 -0
  67. package/dist/plan-digest.d.ts.map +1 -0
  68. package/dist/plan-digest.js +35 -0
  69. package/dist/plan-digest.js.map +1 -0
  70. package/dist/planner-wire.d.ts +11 -0
  71. package/dist/planner-wire.d.ts.map +1 -0
  72. package/dist/planner-wire.js +53 -0
  73. package/dist/planner-wire.js.map +1 -0
  74. package/dist/planner.d.ts +51 -0
  75. package/dist/planner.d.ts.map +1 -1
  76. package/dist/planner.js +74 -0
  77. package/dist/planner.js.map +1 -1
  78. package/dist/reconcile.d.ts +41 -0
  79. package/dist/reconcile.d.ts.map +1 -0
  80. package/dist/reconcile.js +20 -0
  81. package/dist/reconcile.js.map +1 -0
  82. package/dist/record.d.ts +238 -0
  83. package/dist/record.d.ts.map +1 -0
  84. package/dist/record.js +116 -0
  85. package/dist/record.js.map +1 -0
  86. package/dist/regression.d.ts +109 -0
  87. package/dist/regression.d.ts.map +1 -0
  88. package/dist/regression.js +97 -0
  89. package/dist/regression.js.map +1 -0
  90. package/dist/selection.d.ts +334 -0
  91. package/dist/selection.d.ts.map +1 -0
  92. package/dist/selection.js +481 -0
  93. package/dist/selection.js.map +1 -0
  94. package/dist/spans.d.ts +262 -0
  95. package/dist/spans.d.ts.map +1 -0
  96. package/dist/spans.js +589 -0
  97. package/dist/spans.js.map +1 -0
  98. package/dist/tool-invoker.d.ts +61 -3
  99. package/dist/tool-invoker.d.ts.map +1 -1
  100. package/dist/tool-invoker.js +26 -1
  101. package/dist/tool-invoker.js.map +1 -1
  102. package/dist/trace-context.d.ts +26 -0
  103. package/dist/trace-context.d.ts.map +1 -0
  104. package/dist/trace-context.js +59 -0
  105. package/dist/trace-context.js.map +1 -0
  106. package/dist/trace-facts.d.ts +84 -0
  107. package/dist/trace-facts.d.ts.map +1 -0
  108. package/dist/trace-facts.js +82 -0
  109. package/dist/trace-facts.js.map +1 -0
  110. package/dist/types.d.ts +253 -3
  111. package/dist/types.d.ts.map +1 -1
  112. package/dist/types.js +4 -0
  113. package/dist/types.js.map +1 -1
  114. package/package.json +19 -7
@@ -0,0 +1,262 @@
1
+ import { type EngagementEffectV1, type RunDoorV1 } from './trace-facts.js';
2
+ import type { RunRecordV1 } from './record.js';
3
+ import type { StepReceipt } from './authority.js';
4
+ /** One span, vendor-neutral. Ids are W3C trace-context sized (16-byte trace, 8-byte span), derived from the
5
+ * run and step references so a re-export of the same record is the same trace. */
6
+ export interface SpanV1 {
7
+ traceId: string;
8
+ spanId: string;
9
+ parentSpanId?: string;
10
+ name: string;
11
+ kind: 'INTERNAL' | 'CLIENT' | 'SERVER';
12
+ /** Milliseconds since the epoch. */
13
+ startMs: number;
14
+ endMs: number;
15
+ status: 'OK' | 'ERROR' | 'UNSET';
16
+ attributes: Record<string, string | number | boolean>;
17
+ /** Spec 381 W2 — a causal link to a span of ANOTHER run in the same trace: the child run a step was handed
18
+ * to. Ids only; the link carries no more than the span does. */
19
+ links?: Array<{
20
+ traceId: string;
21
+ spanId: string;
22
+ attributes?: Record<string, string>;
23
+ }>;
24
+ /** Spec 390 W4 — the run's events on the span they belong to (a verdict, an approval, a receipt), as OTel span
25
+ * events: the event's name, when, and names-and-classes attributes through the same allowlist. */
26
+ events?: Array<{
27
+ name: string;
28
+ timeMs: number;
29
+ attributes?: Record<string, string | number | boolean>;
30
+ }>;
31
+ }
32
+ /** The attribute names a span MAY carry — the firewall's allowlist. Anything else is refused at export. */
33
+ export declare const SPAN_ATTRIBUTE_ALLOWLIST: ReadonlySet<string>;
34
+ /** Spec 390 — the PROV ids a span names, derived exactly as `provenance.harnessIds` derives them (the two
35
+ * packages cannot import each other; `run-export.test.ts` asserts they agree). */
36
+ export declare const PROV_ID_BASE = "urn:ap:prov:";
37
+ export declare const provIds: {
38
+ run: (runRef: string) => string;
39
+ step: (runRef: string, stepRef: string) => string;
40
+ bundle: (runRef: string) => string;
41
+ plan: (runRef: string) => string;
42
+ planStep: (runRef: string, stepRef: string) => string;
43
+ };
44
+ /** The digest of a receipt as recorded — the one thing a span carries that names an act. */
45
+ export declare function receiptDigest(r: StepReceipt): Promise<string>;
46
+ /** W3C-sized ids derived from references: 16-byte trace, 8-byte span. Correlation, never trust (spec 390). */
47
+ export declare const traceIdOf: (runRef: string) => Promise<string>;
48
+ export declare const spanIdOf: (runRef: string, stepRef: string | null) => Promise<string>;
49
+ /** Spec 390 W2 — THE TRACE A RUN BELONGS TO, and what its root span is parented to. The wire wins: a
50
+ * `traceparent` the request arrived with names the caller's trace and span. Absent that, a routed or
51
+ * handed-off run derives the sender's trace from the run it answers (381 W2); a fresh run derives its own.
52
+ * One rule, used by the spans and by the provenance view, so the graph and the trace name the same trace. */
53
+ export declare function traceIdFor(record: RunRecordV1): Promise<{
54
+ traceId: string;
55
+ parentSpanId?: string;
56
+ origin?: {
57
+ runRef: string;
58
+ stepRef?: string;
59
+ };
60
+ }>;
61
+ /** The run as spans. Pure; the same record always yields the same trace. */
62
+ export declare function spansOf(record: RunRecordV1): Promise<SpanV1[]>;
63
+ /**
64
+ * Spec 390 W3 — THE AUTHORITY STAGES, THE MODEL CALLS AND THE OUTCOME AS SPANS, projected from the record's
65
+ * stamped events (`RunEvent.at`) and its planner summary. Nothing is instrumented inline: the same record
66
+ * yields the same tree, and the firewall stays the whole surface.
67
+ *
68
+ * invoke_agent
69
+ * ├── receive_request the request's arrival → RunStarted: admission and preparation (session, standing, playbook), un-itemised
70
+ * ├── identify_principal instant, at run start — the standing this hop ran under (383 W2), the anchors as digests
71
+ * ├── plan [model] RunStarted → the first PlanCreated; `chat` on the model that planned, with the route's reason
72
+ * ├── execute_tool <tool> the step (381), and UNDER it:
73
+ * │ ├── verify_mandate StepProposed → MandateChecked (and again after an approval)
74
+ * │ ├── await_approval ApprovalRequested → ApprovalDischarged, when both landed in this record
75
+ * │ └── perform_action instant at the step's end when it left a chain transaction or effects
76
+ * └── issue_outcome RunCompleted → the record's time; `chat` on the model that composed
77
+ *
78
+ * A stage whose two stamps are not both on the record is not emitted — a record written before events
79
+ * were stamped simply has no stage spans, never guessed ones. `resolve_delegation` (the chain walk) is not
80
+ * a separate span: the verifier walks the chain inside `verify_mandate`, whose attributes carry the chain
81
+ * (depth, digest) — one span, said honestly. `retrieval` waits for a tool to DECLARE itself one.
82
+ */
83
+ export declare function stageSpansOf(record: RunRecordV1, ctx: {
84
+ traceId: string;
85
+ rootId: string;
86
+ stepIds: Map<string, string>;
87
+ }): Promise<SpanV1[]>;
88
+ /**
89
+ * THE FIREWALL, re-read. Every attribute must be allowlisted, and no value may carry an address, the
90
+ * intent's words, or any step's argument values. Throws naming the span and attribute, so a leak is a
91
+ * build failure and a test failure, never a quiet export.
92
+ */
93
+ export declare function assertFirewalled(spans: readonly SpanV1[], record: RunRecordV1): void;
94
+ /** Spec 390 W4 — the same firewall over a run's metric attributes: allowlisted names, no address, no words. */
95
+ export declare function assertMetricsFirewalled(points: ReadonlyArray<{
96
+ attributes: Record<string, string | number | boolean>;
97
+ }>, record: RunRecordV1): void;
98
+ /** The OTLP/HTTP JSON body for these spans (`ExportTraceServiceRequest`), for a collector's `/v1/traces`.
99
+ * Pure: the caller posts it. `resource` names the exporting service (its attributes go through the same
100
+ * allowlist as a span's would not — they name the SERVICE, never the run, so `service.name` is the one). */
101
+ export declare function otlpTracesOf(spans: readonly SpanV1[], resource: {
102
+ serviceName: string;
103
+ version?: string;
104
+ }): unknown;
105
+ /** What the vault keeps of a run (spec 381 §2): the PROV-O A-box in record form — one activity per step,
106
+ * what it used (the authority), what it generated (the receipt, by digest), how it ended. Never the
107
+ * arguments, results or words; those are the DO's rebuildable copy and the person's own memory. */
108
+ export interface RunProvenanceV1 {
109
+ type: 'ap.run-provenance.v1';
110
+ runRef: string;
111
+ /** ISO time the run ended. */
112
+ endedAt: string;
113
+ /** The agent the run ran at — whose authority was spent, whose vault this is. */
114
+ agent: string;
115
+ /** Who asked — an address the record's intent carried, or absent for an unattended run. */
116
+ asker?: string;
117
+ intentDigest?: string;
118
+ outcome: RunRecordV1['outcome'];
119
+ /** The playbook the run followed, when one did (the commitment is the definition digest). */
120
+ playbook?: {
121
+ skillId: string;
122
+ version: string;
123
+ commitment: string;
124
+ };
125
+ /** Spec 389 — the request this run answered (a routed or handed-off run, 367 §8): the sender's agent, run
126
+ * and step, so the run's provenance bundle can say which bundle it `wasInformedBy`. */
127
+ inResponseTo?: {
128
+ agent: string;
129
+ runRef: string;
130
+ stepRef?: string;
131
+ };
132
+ /** Spec 390 — the trace the run's spans belong to and the run's root span, so the graph names the trace. */
133
+ traceId: string;
134
+ spanId: string;
135
+ steps: Array<{
136
+ stepRef: string;
137
+ /** Spec 390 — the span this step's activity is. */
138
+ spanId: string;
139
+ toolId: string;
140
+ capability?: {
141
+ id: string;
142
+ action: string;
143
+ };
144
+ risk?: string;
145
+ status: string;
146
+ startedAt?: string;
147
+ endedAt?: string;
148
+ authority?: {
149
+ presentedRef: string | null;
150
+ decision: string;
151
+ afterApproval: boolean;
152
+ /** Spec 383 — the verified chain: every grant by reference, the accountability root, the acting agent. */
153
+ chain?: {
154
+ accountabilityRoot: string;
155
+ actingAgent: string;
156
+ depth: number;
157
+ chainDigest: string;
158
+ links: Array<{
159
+ ref: string;
160
+ delegator: string;
161
+ delegate: string;
162
+ parentRef: string | null;
163
+ }>;
164
+ };
165
+ };
166
+ /** Spec 383 — who acted for whom in this hop. */
167
+ actor?: {
168
+ rootPrincipal?: string;
169
+ originatingAgent?: string;
170
+ actingAgent: string;
171
+ };
172
+ receiptDigest?: string;
173
+ inputDigest?: string;
174
+ outputDigest?: string;
175
+ /** A chain transaction the step left, when its result named one — the one public fact a step can cite. */
176
+ txHash?: string;
177
+ delegatedTo?: string;
178
+ /** Spec 389 — the child run a hand-off step's work ran as (its bundle is what the step `wasInformedBy`). */
179
+ delegatedToRun?: string;
180
+ /** Spec 391 — the step's raw result was offloaded to the acting agent's vault. */
181
+ artifact?: {
182
+ recordType: string;
183
+ digest: string;
184
+ bytes: number;
185
+ };
186
+ effects?: Array<{
187
+ produces: string;
188
+ ok: boolean;
189
+ }>;
190
+ decisions?: Array<{
191
+ point: string;
192
+ ruleId: string;
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
+ };
256
+ }>;
257
+ }
258
+ export declare function provenanceOf(record: RunRecordV1, agent: string): Promise<RunProvenanceV1>;
259
+ /** The vault record key a run's provenance lives under, in the acting agent's vault. */
260
+ export declare const RUN_PROVENANCE_RECORD_PREFIX: "run.provenance:";
261
+ export declare const runProvenanceRecordKey: (runRef: string) => string;
262
+ //# sourceMappingURL=spans.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spans.d.ts","sourceRoot":"","sources":["../src/spans.ts"],"names":[],"mappings":"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"}