@owlmeans/agent-common 0.1.18-rc.41 → 0.1.18-rc.42

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 CHANGED
@@ -46,7 +46,7 @@ This package ships embedded agent skills under `agent-meta/`. After installing y
46
46
  your project's skill store (`.agents/skills/`):
47
47
 
48
48
  ```sh
49
- npx @owlmeans/agent-skills@^0.1.18-rc.39
49
+ npx @owlmeans/agent-skills@^0.1.18-rc.41
50
50
  ```
51
51
 
52
52
  The embedded files are version-matched to this package release. Do not edit them
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
3
  "package": "@owlmeans/agent-common",
4
- "version": "0.1.18-rc.41",
5
- "generatedAt": "2026-09-24T14:00:35.008Z",
4
+ "version": "0.1.18-rc.42",
5
+ "generatedAt": "2026-09-28T02:06:37.872Z",
6
6
  "canonicalRepo": "https://github.com/owlmeans/common",
7
7
  "entries": [
8
8
  {
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: agent-common
3
- description: "How to use @owlmeans/agent-common — runtime-free contracts for OwlMeans agents: conversation identity, the run-lifecycle flow, the PIPELINE declaration (PipelineSpec, PipelineRun, validatePipelineSpec, orderPipelineSteps) and the record shapes an application persists. Auto-invoked when importing agent record types, a pipeline spec or run type, conversationFor, truncateAt, or the agent run flow."
3
+ description: "How to use @owlmeans/agent-common — runtime-free contracts for OwlMeans agents: conversation identity, the run-lifecycle flow, the PIPELINE declaration (PipelineSpec, PipelineRun, validatePipelineSpec, orderPipelineSteps, pipelineAncestors), the CUMULATIVE PIPELINE RESULTS contracts (facts, entries, declarations, deterministic renderers) and the record shapes an application persists. Auto-invoked when importing agent record types, a pipeline spec or run type, a cumulative-results type or renderer, conversationFor, truncateAt, or the agent run flow."
4
4
  user-invocable: false
5
5
  ---
6
6
  <!-- AUTO-GENERATED — do not edit. Regenerate via sync-agent-meta. -->
@@ -8,7 +8,7 @@ user-invocable: false
8
8
  # @owlmeans/agent-common
9
9
 
10
10
  **Layer:** Cross-cutting domain
11
- **Install:** `"@owlmeans/agent-common": "^0.1.18-rc.41"` in `dependencies`
11
+ **Install:** `"@owlmeans/agent-common": "^0.1.18-rc.42"` in `dependencies`
12
12
 
13
13
  Serializable contracts for the agent family. No LangChain, no LangGraph, no storage driver — a
14
14
  backend or a browser bundle imports these to read what an agent wrote without pulling the runtime.
@@ -28,13 +28,17 @@ The runtime is `@owlmeans/agent`.
28
28
  | `AgentRunMessage` | What a transport carries — a POINTER (`runId`, `conversationId`, optional `pipeline`/`step`), never state. |
29
29
  | `PipelineStepSpec`, `PipelineSpec` | The declaration: named steps, `after: string[]` edges, `optional`, `nonIdempotent`, `attempts`, `timeout`. |
30
30
  | `PipelineRun`, `PipelineRunStatus`, `PipelineProgress` | The persisted run row — `state` is JSON **text** plus `stateChars`; `completed`/`pending`/`warnings`; `heartbeatAt`. |
31
- | `validatePipelineSpec`, `orderPipelineSteps`, `pipelineDescendants`, `pipelineStep` | Pure spec helpers — no runtime, no graph engine. |
31
+ | `validatePipelineSpec`, `orderPipelineSteps`, `pipelineDescendants`, `pipelineAncestors`, `pipelineAncestry`, `pipelineStep` | Pure spec helpers — no runtime, no graph engine. |
32
+ | `CumulativeResultFact`, `CumulativeResultEntry`, `CumulativeResultSource`, `CumulativeFactKind`, `ResultViewMode`, `ResultFactQuery` | CUMULATIVE PIPELINE RESULTS records: one authoritative fact, one step's entry in a ledger. |
33
+ | `CumulativeResultsSpec`, `StepResultsSpec`, `ResultSummarySpec`, `mergeResultsSpecs`, `RESULTS_EVERY_STEP` | The JSON-safe declaration — per step: extractors by name, `full`/`omit` consumers, `window`, caps, `refresh`, an optional `summary`. |
34
+ | `renderResultEntry`, `renderResultFact`, `renderResultSummary`, `sortFacts`, `factKey`, `compareResultOrder`, `resultLabel`, `rootRunOf` | Deterministic renderers and ledger helpers. |
32
35
  | `AGENTS_SERVICE` | The service alias — **`agents`**, plural. |
33
36
  | `AGENT_*_STORE` | Port names a consumer binds its storage under. |
34
37
  | `AgentRunStatus` | `ok` / `failed`, written on a conversation event. |
35
38
  | `AgentCommonError`, `AgentRunStateError`, `PipelineSpecError`, `PipelineVersionError`, `PipelineUnknownStepError`, `PipelineNotIdempotentError`, `PipelineStateTooLargeError` | The error family. |
36
39
  | `DEFAULT_SUMMARY_CHARS` (1200) · `DEFAULT_ADVICE_CHARS` (400) · `DEFAULT_EVENT_WINDOW` (3) · `DEFAULT_MEMORY_NODE_CHARS` (2000) · `DEFAULT_MEMORY_EVENTS_LIMIT` (50) | The caps the runtime's plugins default to. Override them per plugin; read them here rather than restating a number. |
37
40
  | `DEFAULT_MAX_STATE_CHARS` (256_000) · `DEFAULT_STEP_ATTEMPTS` (1) · `DEFAULT_STEP_TIMEOUT` (30 min) | Pipeline defaults. The state cap is a TRIPWIRE, not a budget. |
41
+ | `DEFAULT_RESULTS_MAX_CHARS` (12_000) · `DEFAULT_RESULT_ENTRY_CHARS` (4_000) · `DEFAULT_RESULT_COMPACT_CHARS` (400) · `DEFAULT_RESULTS_WINDOW` (2) · `DEFAULT_RESULT_SUMMARY_CHARS` (600) · `AGENT_CUMULATIVE_RESULT_STORE` | Cumulative-results caps — they bound what a step is TOLD, never what it may produce — and the store's port name. |
38
42
 
39
43
  ## Rules
40
44
 
@@ -79,6 +83,25 @@ than as prompt text.
79
83
  **A conversation id degrades to a named default, never to an empty string.** An empty key would
80
84
  silently collapse every run of every subject into one thread.
81
85
 
86
+ **`pipelineAncestors` mirrors `pipelineDescendants` but excludes the named step.** A re-run re-enters
87
+ the step it names; nothing is its own predecessor. `pipelineAncestry` adds each ancestor's DEPTH —
88
+ the fewest `after` edges between them — which is what a results window counts, so a direct
89
+ predecessor is depth 1 however far apart the two sit in the topological order.
90
+
91
+ **A rendered entry is deterministic and carries nothing that varies.** Facts sort by kind (file
92
+ facts last — a location is what a budget spares first), name and location with a code-unit compare;
93
+ no timestamp, run id or revision is ever rendered. Over its cap an entry drops WHOLE facts and says
94
+ how many ("they exist: check the files"), never half a signature. An empty non-partial entry renders
95
+ to `''` and costs a view nothing; a summary is always labelled "not verified".
96
+
97
+ **An entry's `order` is a PATH, not a number.** It is the step's topological index behind the index
98
+ path of every step it was composed under; where one key prefixes another the longer sorts FIRST, so
99
+ a composed run's entries precede the composing step's own. Two pipelines' indexes are not comparable,
100
+ which is why a single sequence number cannot order a ledger.
101
+
102
+ **Declarations merge like skills.** `mergeResultsSpecs` lets later declarations win field by field
103
+ but ACCUMULATES extractors, `full` and `omit` lists; `'*'` absorbs names.
104
+
82
105
  **Port names are exported; ports are not bound here.** An unbound port is not an error — the plugin
83
106
  that needs it degrades to a no-op. `AGENT_PIPELINE_RUN_STORE` is the one exception in spirit: a
84
107
  pipeline with no run store still runs, but it is not resumable, because the ROW is what a resume
@@ -88,7 +111,8 @@ reads. `AGENT_CHECKPOINT_STORE` may be absent with no loss of correctness at all
88
111
 
89
112
  Category A (unit, no env, no network). This package's own `tests/flow.spec.ts` covers the flow
90
113
  round-trip — which is also the standing check that `@owlmeans/flow` still works server-side, since
91
- every other consumer of that package is client-side.
114
+ every other consumer of that package is client-side. `tests/results.spec.ts` pins the exact bytes an
115
+ entry renders to; a change there changes what every consuming step is told.
92
116
 
93
117
  ## Related
94
118
 
package/build/consts.d.ts CHANGED
@@ -19,6 +19,23 @@ export declare const AGENT_MEMORY_GRAPH_STORE = "agent-memory-graph-store";
19
19
  export declare const AGENT_MEMORY_EVENTS_STORE = "agent-memory-events-store";
20
20
  export declare const AGENT_PIPELINE_RUN_STORE = "agent-pipeline-run-store";
21
21
  export declare const AGENT_CHECKPOINT_STORE = "agent-checkpoint-store";
22
+ export declare const AGENT_CUMULATIVE_RESULT_STORE = "agent-cumulative-result-store";
23
+ /**
24
+ * Caps and defaults for cumulative pipeline results.
25
+ *
26
+ * Every one of them bounds what a later step is TOLD, never what a step may produce: a fact that
27
+ * does not fit is left out of one view, and it is still on its entry for the next view and for any
28
+ * code that queries it. `DEFAULT_RESULTS_WINDOW` is a distance in the step graph — a consumer that
29
+ * many edges or fewer after a producer gets the producer's full entry; anything further back gets
30
+ * its names only, unless the producer names the consumer outright.
31
+ */
32
+ export declare const DEFAULT_RESULTS_MAX_CHARS = 12000;
33
+ export declare const DEFAULT_RESULT_ENTRY_CHARS = 4000;
34
+ export declare const DEFAULT_RESULT_COMPACT_CHARS = 400;
35
+ export declare const DEFAULT_RESULTS_WINDOW = 2;
36
+ export declare const DEFAULT_RESULT_SUMMARY_CHARS = 600;
37
+ /** The consumer wildcard: every later step of the pipeline — and of anything it is composed into. */
38
+ export declare const RESULTS_EVERY_STEP = "*";
22
39
  /**
23
40
  * Caps and defaults for a pipeline run.
24
41
  *
@@ -1 +1 @@
1
- {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,WAAW,CAAA;AAEtC;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,6BAA6B,CAAA;AAClE,eAAO,MAAM,wBAAwB,6BAA6B,CAAA;AAClE,eAAO,MAAM,yBAAyB,8BAA8B,CAAA;AACpE,eAAO,MAAM,wBAAwB,6BAA6B,CAAA;AAClE,eAAO,MAAM,sBAAsB,2BAA2B,CAAA;AAE9D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB,SAAU,CAAA;AAC9C,eAAO,MAAM,qBAAqB,IAAI,CAAA;AACtC,eAAO,MAAM,oBAAoB,UAAY,CAAA;AAE7C;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,YAAY,CAAA;AAE5C,4DAA4D;AAC5D,eAAO,MAAM,cAAc,cAAc,CAAA;AAEzC;;;;;;;;;;;;GAYG;AACH,oBAAY,YAAY;IACtB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,MAAM,WAAW;CAClB;AAED,iDAAiD;AACjD,oBAAY,kBAAkB;IAC5B,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,IAAI,SAAS;CACd;AAED,2FAA2F;AAC3F,oBAAY,cAAc;IACxB,EAAE,OAAO;IACT,MAAM,WAAW;CAClB;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,OAAO,CAAA;AACzC,eAAO,MAAM,oBAAoB,MAAM,CAAA;AACvC,eAAO,MAAM,oBAAoB,IAAI,CAAA;AACrC,eAAO,MAAM,yBAAyB,OAAO,CAAA;AAC7C,eAAO,MAAM,2BAA2B,KAAK,CAAA;AAE7C,6EAA6E;AAC7E,eAAO,MAAM,SAAS,MAAM,CAAA"}
1
+ {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,WAAW,CAAA;AAEtC;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,6BAA6B,CAAA;AAClE,eAAO,MAAM,wBAAwB,6BAA6B,CAAA;AAClE,eAAO,MAAM,yBAAyB,8BAA8B,CAAA;AACpE,eAAO,MAAM,wBAAwB,6BAA6B,CAAA;AAClE,eAAO,MAAM,sBAAsB,2BAA2B,CAAA;AAC9D,eAAO,MAAM,6BAA6B,kCAAkC,CAAA;AAE5E;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,QAAS,CAAA;AAC/C,eAAO,MAAM,0BAA0B,OAAQ,CAAA;AAC/C,eAAO,MAAM,4BAA4B,MAAM,CAAA;AAC/C,eAAO,MAAM,sBAAsB,IAAI,CAAA;AACvC,eAAO,MAAM,4BAA4B,MAAM,CAAA;AAE/C,qGAAqG;AACrG,eAAO,MAAM,kBAAkB,MAAM,CAAA;AAErC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB,SAAU,CAAA;AAC9C,eAAO,MAAM,qBAAqB,IAAI,CAAA;AACtC,eAAO,MAAM,oBAAoB,UAAY,CAAA;AAE7C;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,YAAY,CAAA;AAE5C,4DAA4D;AAC5D,eAAO,MAAM,cAAc,cAAc,CAAA;AAEzC;;;;;;;;;;;;GAYG;AACH,oBAAY,YAAY;IACtB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,MAAM,WAAW;CAClB;AAED,iDAAiD;AACjD,oBAAY,kBAAkB;IAC5B,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,IAAI,SAAS;CACd;AAED,2FAA2F;AAC3F,oBAAY,cAAc;IACxB,EAAE,OAAO;IACT,MAAM,WAAW;CAClB;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,OAAO,CAAA;AACzC,eAAO,MAAM,oBAAoB,MAAM,CAAA;AACvC,eAAO,MAAM,oBAAoB,IAAI,CAAA;AACrC,eAAO,MAAM,yBAAyB,OAAO,CAAA;AAC7C,eAAO,MAAM,2BAA2B,KAAK,CAAA;AAE7C,6EAA6E;AAC7E,eAAO,MAAM,SAAS,MAAM,CAAA"}
package/build/consts.js CHANGED
@@ -19,6 +19,23 @@ export const AGENT_MEMORY_GRAPH_STORE = 'agent-memory-graph-store';
19
19
  export const AGENT_MEMORY_EVENTS_STORE = 'agent-memory-events-store';
20
20
  export const AGENT_PIPELINE_RUN_STORE = 'agent-pipeline-run-store';
21
21
  export const AGENT_CHECKPOINT_STORE = 'agent-checkpoint-store';
22
+ export const AGENT_CUMULATIVE_RESULT_STORE = 'agent-cumulative-result-store';
23
+ /**
24
+ * Caps and defaults for cumulative pipeline results.
25
+ *
26
+ * Every one of them bounds what a later step is TOLD, never what a step may produce: a fact that
27
+ * does not fit is left out of one view, and it is still on its entry for the next view and for any
28
+ * code that queries it. `DEFAULT_RESULTS_WINDOW` is a distance in the step graph — a consumer that
29
+ * many edges or fewer after a producer gets the producer's full entry; anything further back gets
30
+ * its names only, unless the producer names the consumer outright.
31
+ */
32
+ export const DEFAULT_RESULTS_MAX_CHARS = 12_000;
33
+ export const DEFAULT_RESULT_ENTRY_CHARS = 4_000;
34
+ export const DEFAULT_RESULT_COMPACT_CHARS = 400;
35
+ export const DEFAULT_RESULTS_WINDOW = 2;
36
+ export const DEFAULT_RESULT_SUMMARY_CHARS = 600;
37
+ /** The consumer wildcard: every later step of the pipeline — and of anything it is composed into. */
38
+ export const RESULTS_EVERY_STEP = '*';
22
39
  /**
23
40
  * Caps and defaults for a pipeline run.
24
41
  *
@@ -1 +1 @@
1
- {"version":3,"file":"consts.js","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAA;AAEtC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,0BAA0B,CAAA;AAClE,MAAM,CAAC,MAAM,wBAAwB,GAAG,0BAA0B,CAAA;AAClE,MAAM,CAAC,MAAM,yBAAyB,GAAG,2BAA2B,CAAA;AACpE,MAAM,CAAC,MAAM,wBAAwB,GAAG,0BAA0B,CAAA;AAClE,MAAM,CAAC,MAAM,sBAAsB,GAAG,wBAAwB,CAAA;AAE9D;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,OAAO,CAAA;AAC9C,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAA;AACtC,MAAM,CAAC,MAAM,oBAAoB,GAAG,SAAS,CAAA;AAE7C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,SAAS,CAAA;AAE5C,4DAA4D;AAC5D,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAA;AAEzC;;;;;;;;;;;;GAYG;AACH,MAAM,CAAN,IAAY,YAOX;AAPD,WAAY,YAAY;IACtB,qCAAqB,CAAA;IACrB,qCAAqB,CAAA;IACrB,mCAAmB,CAAA;IACnB,yCAAyB,CAAA;IACzB,qCAAqB,CAAA;IACrB,iCAAiB,CAAA;AACnB,CAAC,EAPW,YAAY,KAAZ,YAAY,QAOvB;AAED,iDAAiD;AACjD,MAAM,CAAN,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAC5B,yCAAmB,CAAA;IACnB,mCAAa,CAAA;IACb,2CAAqB,CAAA;IACrB,uCAAiB,CAAA;IACjB,mCAAa,CAAA;AACf,CAAC,EANW,kBAAkB,KAAlB,kBAAkB,QAM7B;AAED,2FAA2F;AAC3F,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,2BAAS,CAAA;IACT,mCAAiB,CAAA;AACnB,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAA;AACzC,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAA;AACvC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAA;AACrC,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAA;AAC7C,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAA;AAE7C,6EAA6E;AAC7E,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAA"}
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAA;AAEtC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,0BAA0B,CAAA;AAClE,MAAM,CAAC,MAAM,wBAAwB,GAAG,0BAA0B,CAAA;AAClE,MAAM,CAAC,MAAM,yBAAyB,GAAG,2BAA2B,CAAA;AACpE,MAAM,CAAC,MAAM,wBAAwB,GAAG,0BAA0B,CAAA;AAClE,MAAM,CAAC,MAAM,sBAAsB,GAAG,wBAAwB,CAAA;AAC9D,MAAM,CAAC,MAAM,6BAA6B,GAAG,+BAA+B,CAAA;AAE5E;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAA;AAC/C,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,CAAA;AAC/C,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAAA;AAC/C,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAA;AACvC,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAAA;AAE/C,qGAAqG;AACrG,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAA;AAErC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,OAAO,CAAA;AAC9C,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAA;AACtC,MAAM,CAAC,MAAM,oBAAoB,GAAG,SAAS,CAAA;AAE7C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,SAAS,CAAA;AAE5C,4DAA4D;AAC5D,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAA;AAEzC;;;;;;;;;;;;GAYG;AACH,MAAM,CAAN,IAAY,YAOX;AAPD,WAAY,YAAY;IACtB,qCAAqB,CAAA;IACrB,qCAAqB,CAAA;IACrB,mCAAmB,CAAA;IACnB,yCAAyB,CAAA;IACzB,qCAAqB,CAAA;IACrB,iCAAiB,CAAA;AACnB,CAAC,EAPW,YAAY,KAAZ,YAAY,QAOvB;AAED,iDAAiD;AACjD,MAAM,CAAN,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAC5B,yCAAmB,CAAA;IACnB,mCAAa,CAAA;IACb,2CAAqB,CAAA;IACrB,uCAAiB,CAAA;IACjB,mCAAa,CAAA;AACf,CAAC,EANW,kBAAkB,KAAlB,kBAAkB,QAM7B;AAED,2FAA2F;AAC3F,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,2BAAS,CAAA;IACT,mCAAiB,CAAA;AACnB,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAA;AACzC,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAA;AACvC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAA;AACrC,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAA;AAC7C,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAA;AAE7C,6EAA6E;AAC7E,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAA"}
package/build/index.d.ts CHANGED
@@ -2,6 +2,7 @@ export * from './consts.js';
2
2
  export * from './errors.js';
3
3
  export type * from './types.js';
4
4
  export * from './pipeline.js';
5
+ export * from './results.js';
5
6
  export * from './flows.js';
6
7
  export * from './helpers/conversation.js';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,mBAAmB,YAAY,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,2BAA2B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,mBAAmB,YAAY,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,2BAA2B,CAAA"}
package/build/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from './consts.js';
2
2
  export * from './errors.js';
3
3
  export * from './pipeline.js';
4
+ export * from './results.js';
4
5
  export * from './flows.js';
5
6
  export * from './helpers/conversation.js';
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAE3B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,2BAA2B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAE3B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,2BAA2B,CAAA"}
@@ -177,6 +177,24 @@ export declare const orderPipelineSteps: (spec: PipelineSpec) => string[];
177
177
  * @throws {PipelineUnknownStepError} when the spec does not declare `step`.
178
178
  */
179
179
  export declare const pipelineDescendants: (spec: PipelineSpec, step: string) => string[];
180
+ /**
181
+ * Every step `step` transitively waits on, with its DEPTH — the fewest `after` edges between the
182
+ * two — in topological order.
183
+ *
184
+ * The mirror of {@link pipelineDescendants}, with one deliberate asymmetry: the named step itself
185
+ * is NOT included. A re-run re-enters the step it names, so the descendants include it; nothing is
186
+ * its own predecessor, so the ancestors do not. The depth is what a consumer uses to decide how
187
+ * much of a predecessor's output it needs to be told — a direct predecessor is depth 1 however far
188
+ * apart the two sit in the topological order.
189
+ *
190
+ * @throws {PipelineUnknownStepError} when the spec does not declare `step`.
191
+ */
192
+ export declare const pipelineAncestry: (spec: PipelineSpec, step: string) => Array<{
193
+ step: string;
194
+ depth: number;
195
+ }>;
196
+ /** The names from {@link pipelineAncestry}: what must finish before `step` may start, in order. */
197
+ export declare const pipelineAncestors: (spec: PipelineSpec, step: string) => string[];
180
198
  /** The declaration of one step, by name. `null` when the spec does not declare it. */
181
199
  export declare const pipelineStep: (spec: PipelineSpec, step: string) => PipelineStepSpec | null;
182
200
  //# sourceMappingURL=pipeline.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAIxD;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAEnD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kFAAkF;IAClF,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb;;;;;;OAMG;IACH,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,gBAAgB,EAAE,CAAA;CAC1B;AAED,2CAA2C;AAC3C,oBAAY,iBAAiB;IAC3B,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,4FAA4F;IAC5F,OAAO,YAAY;IACnB;;;;;;OAMG;IACH,OAAO,YAAY;CACpB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;CACjB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,WAAY,SAAQ,cAAc;IACjD,uFAAuF;IACvF,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,yFAAyF;IACzF,KAAK,EAAE,MAAM,CAAA;IACb,qFAAqF;IACrF,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,iBAAiB,CAAA;IACzB,4DAA4D;IAC5D,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,0EAA0E;IAC1E,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,oGAAoG;IACpG,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;OAKG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gFAAgF;IAChF,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,qEAAqE;AACrE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAMD;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,SAAU,YAAY,KAAG,IA6DzD,CAAA;AAgCD;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,SAAU,YAAY,KAAG,MAAM,EA0C7D,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,SAAU,YAAY,QAAQ,MAAM,KAAG,MAAM,EAmB5E,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gBAAgB,SACrB,YAAY,QAAQ,MAAM,KAC/B,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAwBvC,CAAA;AAED,mGAAmG;AACnG,eAAO,MAAM,iBAAiB,SAAU,YAAY,QAAQ,MAAM,KAAG,MAAM,EACpB,CAAA;AAEvD,sFAAsF;AACtF,eAAO,MAAM,YAAY,SAAU,YAAY,QAAQ,MAAM,KAAG,gBAAgB,GAAG,IAC5B,CAAA"}
package/build/pipeline.js CHANGED
@@ -181,6 +181,43 @@ export const pipelineDescendants = (spec, step) => {
181
181
  }
182
182
  return orderPipelineSteps(spec).filter(name => reached.has(name));
183
183
  };
184
+ /**
185
+ * Every step `step` transitively waits on, with its DEPTH — the fewest `after` edges between the
186
+ * two — in topological order.
187
+ *
188
+ * The mirror of {@link pipelineDescendants}, with one deliberate asymmetry: the named step itself
189
+ * is NOT included. A re-run re-enters the step it names, so the descendants include it; nothing is
190
+ * its own predecessor, so the ancestors do not. The depth is what a consumer uses to decide how
191
+ * much of a predecessor's output it needs to be told — a direct predecessor is depth 1 however far
192
+ * apart the two sit in the topological order.
193
+ *
194
+ * @throws {PipelineUnknownStepError} when the spec does not declare `step`.
195
+ */
196
+ export const pipelineAncestry = (spec, step) => {
197
+ if (!spec.steps.some(entry => entry.step === step)) {
198
+ throw new PipelineUnknownStepError(`${spec.alias}:${step}`);
199
+ }
200
+ const after = new Map(spec.steps.map(entry => [entry.step, entry.after ?? []]));
201
+ const depths = new Map();
202
+ let frontier = [step];
203
+ for (let depth = 1; frontier.length > 0; ++depth) {
204
+ const next = [];
205
+ for (const name of frontier) {
206
+ for (const dependency of after.get(name) ?? []) {
207
+ if (dependency !== step && !depths.has(dependency)) {
208
+ depths.set(dependency, depth);
209
+ next.push(dependency);
210
+ }
211
+ }
212
+ }
213
+ frontier = next;
214
+ }
215
+ return orderPipelineSteps(spec)
216
+ .filter(name => depths.has(name))
217
+ .map(name => ({ step: name, depth: depths.get(name) }));
218
+ };
219
+ /** The names from {@link pipelineAncestry}: what must finish before `step` may start, in order. */
220
+ export const pipelineAncestors = (spec, step) => pipelineAncestry(spec, step).map(entry => entry.step);
184
221
  /** The declaration of one step, by name. `null` when the spec does not declare it. */
185
222
  export const pipelineStep = (spec, step) => spec.steps.find(entry => entry.step === step) ?? null;
186
223
  //# sourceMappingURL=pipeline.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AA8DzE,2CAA2C;AAC3C,MAAM,CAAN,IAAY,iBAcX;AAdD,WAAY,iBAAiB;IAC3B,wCAAmB,CAAA;IACnB,kCAAa,CAAA;IACb,sCAAiB,CAAA;IACjB,4FAA4F;IAC5F,wCAAmB,CAAA;IACnB;;;;;;OAMG;IACH,wCAAmB,CAAA;AACrB,CAAC,EAdW,iBAAiB,KAAjB,iBAAiB,QAc5B;AAkFD,MAAM,KAAK,GAAG,CAAC,MAAgB,EAAE,OAAe,EAAQ,EAAE;IACxD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AACtB,CAAC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAkB,EAAQ,EAAE;IAC/D,MAAM,MAAM,GAAa,EAAE,CAAA;IAE3B,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACnD,KAAK,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IACjC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;QACxD,KAAK,CAAC,MAAM,EAAE,2CAA2C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAClF,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1D,KAAK,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;QAClC,MAAM,IAAI,iBAAiB,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,GAAG,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC3E,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACjD,KAAK,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAA;YACzC,SAAQ;QACV,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,KAAK,CAAC,MAAM,EAAE,mBAAmB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;QAChD,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;YAC1C,IAAI,UAAU,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC7B,KAAK,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,IAAI,gCAAgC,CAAC,CAAA;YACnE,CAAC;iBAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBACjC,KAAK,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,IAAI,4BAA4B,UAAU,GAAG,CAAC,CAAA;YAC5E,CAAC;QACH,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,qBAAqB,CAAA;QACvD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YAChD,KAAK,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,IAAI,uBAAuB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACjF,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YAChD,KAAK,CACH,MAAM,EACN,SAAS,IAAI,CAAC,IAAI,4CAA4C,QAAQ,kBAAkB;kBACtF,sDAAsD,CACzD,CAAA;QACH,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC;YAClF,KAAK,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,IAAI,sBAAsB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAC/E,CAAC;IACH,CAAC;IAED,6FAA6F;IAC7F,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;QAC3D,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;QAC/B,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,KAAK,CAAC,MAAM,EAAE,UAAU,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,iBAAiB,CAAC,GAAG,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACpE,CAAC;AACH,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,CAAC,IAAkB,EAAmB,EAAE;IAC1D,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IAC5E,MAAM,KAAK,GAAG,IAAI,GAAG,EAAqB,CAAA;IAC1C,MAAM,IAAI,GAAa,EAAE,CAAA;IAEzB,MAAM,IAAI,GAAG,CAAC,IAAY,EAAmB,EAAE;QAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC5B,IAAI,IAAI,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QAC3B,IAAI,IAAI,KAAK,CAAC;YAAE,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QAEhE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QAClB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACf,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAA;YAC9B,IAAI,KAAK,IAAI,IAAI;gBAAE,OAAO,KAAK,CAAA;QACjC,CAAC;QACD,IAAI,CAAC,GAAG,EAAE,CAAA;QACV,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QAElB,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC7B,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC,OAAO,EAAE,CAAA;IAC3C,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAkB,EAAY,EAAE;IACjE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC/C,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAA;IAC5B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAA;IAC9C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAA;IAE9C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAA;QACtC,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;YAC1C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,iBAAiB,CACzB,GAAG,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC,IAAI,4BAA4B,UAAU,GAAG,CAC3E,CAAA;YACH,CAAC;YACD,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;YAC5B,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAChF,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;IACtC,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;IAEjC,OAAO,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACrC,gFAAgF;QAChF,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;QAC9F,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;YAC/B,MAAM,IAAI,iBAAiB,CACzB,GAAG,IAAI,CAAC,KAAK,YAAY,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAC3F,CAAA;QACH,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAClB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACjB,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACnD,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAkB,EAAE,IAAY,EAAY,EAAE;IAChF,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,wBAAwB,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC,CAAA;IAC7D,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,CAAC,IAAI,CAAC,CAAC,CAAA;IACvC,IAAI,IAAI,GAAG,IAAI,CAAA;IACf,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,GAAG,KAAK,CAAA;QACZ,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,SAAQ;YACrC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;gBACpE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBACvB,IAAI,GAAG,IAAI,CAAA;YACb,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;AACnE,CAAC,CAAA;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,IAAkB,EAAE,IAAY,EACQ,EAAE;IAC1C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,wBAAwB,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC,CAAA;IAC7D,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IAC/E,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAA;IACxC,IAAI,QAAQ,GAAG,CAAC,IAAI,CAAC,CAAA;IACrB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QACjD,MAAM,IAAI,GAAa,EAAE,CAAA;QACzB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC/C,IAAI,UAAU,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;oBACnD,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;oBAC7B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBACvB,CAAC;YACH,CAAC;QACH,CAAC;QACD,QAAQ,GAAG,IAAI,CAAA;IACjB,CAAC;IAED,OAAO,kBAAkB,CAAC,IAAI,CAAC;SAC5B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SAChC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAE,EAAE,CAAC,CAAC,CAAA;AAC5D,CAAC,CAAA;AAED,mGAAmG;AACnG,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAkB,EAAE,IAAY,EAAY,EAAE,CAC9E,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AAEvD,sFAAsF;AACtF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAkB,EAAE,IAAY,EAA2B,EAAE,CACxF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAA"}
@@ -0,0 +1,239 @@
1
+ import type { ResourceRecord } from '@owlmeans/resource';
2
+ import { RESULTS_EVERY_STEP } from './consts.js';
3
+ /**
4
+ * CUMULATIVE PIPELINE RESULTS — the contracts.
5
+ *
6
+ * After a step of a pipeline finishes, code reads what it produced — a type's shape, a file, an
7
+ * endpoint's method, path and parameters, a resource's table — into a small list of FACTS, and the
8
+ * later steps are told those facts instead of re-deriving them from the files. A later step that is
9
+ * handed the authoritative names does not invent a second spelling of them, and that is the whole
10
+ * point: it removes the class of errors that live BETWEEN steps.
11
+ *
12
+ * Everything here is data and pure functions. The runtime that extracts, stores and cuts the views
13
+ * is `@owlmeans/agent`'s `cumulativeResultsPlugin`; the prompt block it lands in is
14
+ * `@owlmeans/llm`'s. A backend or a browser bundle reads an entry without either.
15
+ */
16
+ /** Where the facts of an entry came from. */
17
+ export declare enum CumulativeResultSource {
18
+ /** Read by code from what the step left behind, when the step finished. */
19
+ Extracted = "extracted",
20
+ /**
21
+ * Read by code from the step's DURABLE inputs, after the fact — on a resume that found no stored
22
+ * entry, or for a step whose guard skipped it. The same facts an extraction would have found.
23
+ */
24
+ Rebuilt = "rebuilt",
25
+ /** Supplied before any step of the run ran — the caller already knew them. */
26
+ Seeded = "seeded",
27
+ /** No facts at all; only a model's summary, which nothing has checked. */
28
+ Summarized = "summarized"
29
+ }
30
+ /** How one entry appears in a view cut for a given step. */
31
+ export declare enum ResultViewMode {
32
+ Full = "full",
33
+ /** Names only, grouped by kind. */
34
+ Compact = "compact",
35
+ /** Not in the prompt. Still answered by a programmatic facts query. */
36
+ Omitted = "omitted"
37
+ }
38
+ /**
39
+ * Kinds an extractor is encouraged to use. `CumulativeResultFact.kind` is an open string — declare
40
+ * your own — but two extractors naming the same thing differently split one fact into two.
41
+ */
42
+ export declare enum CumulativeFactKind {
43
+ Type = "type",
44
+ Symbol = "symbol",
45
+ Endpoint = "endpoint",
46
+ Resource = "resource",
47
+ File = "file"
48
+ }
49
+ /**
50
+ * ONE authoritative fact about what a step produced, small enough to be one line of a prompt.
51
+ *
52
+ * Every field is optional past `kind` and `name`, because facts differ in what matters about them:
53
+ * a type has a shape and an import specifier, an endpoint an alias, a method, a path and a guard, a
54
+ * resource a table and an accessor, a file only its path. Put scalars that have no field of their
55
+ * own into `attrs`.
56
+ */
57
+ export interface CumulativeResultFact {
58
+ /** What the fact is about — see {@link CumulativeFactKind}. */
59
+ kind: string;
60
+ /** The name to use VERBATIM. */
61
+ name: string;
62
+ /** The file it lives in, relative to the project root. */
63
+ path?: string;
64
+ /** The module specifier it is imported from. */
65
+ specifier?: string;
66
+ /** Its shape or signature, on one line. */
67
+ signature?: string;
68
+ /** Fields, parameters or columns, when there is no signature to say it. */
69
+ members?: string[];
70
+ /** Another fact's name this one points at — a returned type, a mapped table. */
71
+ ref?: string;
72
+ /** Scalars without a field of their own — `method`, `path`, `guard`, `table`. */
73
+ attrs?: Record<string, string>;
74
+ }
75
+ /**
76
+ * One step's contribution to a ledger.
77
+ *
78
+ * Keyed by `(ledger, runId, step)`. `order` places it in the ledger: the topological index of the
79
+ * step in its own pipeline, preceded by the index path of every step it was composed under, so a
80
+ * run composed as a step of another sorts inside that step, ahead of the composing step's own
81
+ * entry. A single number cannot say that: two pipelines' indexes are not comparable.
82
+ *
83
+ * `full` and `compact` are rendered once, when the entry is written, and never contain a timestamp,
84
+ * a run id or anything else a model would copy without meaning to.
85
+ */
86
+ export interface CumulativeResultEntry extends ResourceRecord {
87
+ /** What entries can see each other — by default the root run of the composition. */
88
+ ledger: string;
89
+ pipeline: string;
90
+ runId: string;
91
+ step: string;
92
+ /** How the entry is headed in a prompt: the step, behind the path of the steps it runs under. */
93
+ label: string;
94
+ order: number[];
95
+ /** Bumped every time the entry is re-extracted after a later step rewrote one of its files. */
96
+ revision: number;
97
+ source: CumulativeResultSource;
98
+ /** An `optional` step that failed: whatever it left behind, and a heading that says so. */
99
+ partial?: boolean;
100
+ facts: CumulativeResultFact[];
101
+ /** The files the facts were read from — what a later rewrite is matched against. */
102
+ files: string[];
103
+ /** A model's summary, rendered and capped. NOT verified, and always labelled so. */
104
+ summary?: string;
105
+ full: string;
106
+ compact: string;
107
+ /** Consumers that always get the full entry, by step name, or every later step. */
108
+ fullFor?: string[] | typeof RESULTS_EVERY_STEP;
109
+ /** Consumers that never see the entry in their prompt. */
110
+ omitFor?: string[];
111
+ /** How many edges back the entry is still rendered in full by default. */
112
+ window?: number;
113
+ updatedAt: string;
114
+ }
115
+ /**
116
+ * The optional model-written summary of a step. OFF unless a step declares one.
117
+ *
118
+ * Facts are the product; a summary is for what code cannot extract — an intent, a decision taken.
119
+ * It is bounded by `maxChars` in code after the model answers, rendered deterministically from the
120
+ * schema-shaped answer, and always labelled as unverified wherever it is shown.
121
+ */
122
+ export interface ResultSummarySpec {
123
+ /** Which model — interpreted by the caller's summarize callback (a model role, typically). */
124
+ role?: string;
125
+ instructions: string;
126
+ /** JSON schema of the answer. Absent means `{ summary: string }`. */
127
+ schema?: Record<string, unknown>;
128
+ /** Defaults to `DEFAULT_RESULT_SUMMARY_CHARS`. */
129
+ maxChars?: number;
130
+ }
131
+ /**
132
+ * What one step contributes, and to whom. JSON-safe, so a declaration can live in data.
133
+ *
134
+ * Extractors are named, never inlined: a declaration names what runs, and the runtime holds the
135
+ * code. A consumer not named in `full` or `omit` gets the full entry within `window` edges and the
136
+ * names only beyond it.
137
+ */
138
+ export interface StepResultsSpec {
139
+ /** Named deterministic extractors, run in this order. */
140
+ extractors?: string[];
141
+ /** Later steps that get the FULL entry wherever they sit, or `'*'` for all of them. */
142
+ full?: string[] | typeof RESULTS_EVERY_STEP;
143
+ /** Later steps that are never shown the entry. */
144
+ omit?: string[];
145
+ /** Overrides {@link CumulativeResultsSpec.window} for this entry. */
146
+ window?: number;
147
+ /** Cap on the full rendering; facts are dropped whole, never cut. */
148
+ maxChars?: number;
149
+ /** Cap on the names-only rendering. */
150
+ maxCompactChars?: number;
151
+ /** Re-extract this entry when a later step rewrites one of its files. Defaults to the spec's. */
152
+ refresh?: boolean;
153
+ summary?: ResultSummarySpec;
154
+ }
155
+ /** The pipeline-level declaration — merged from a pipeline's own and any overlay with {@link mergeResultsSpecs}. */
156
+ export interface CumulativeResultsSpec {
157
+ /** Per step, by step name. A step with no entry contributes only what it records itself. */
158
+ steps?: Record<string, StepResultsSpec>;
159
+ /** Default {@link DEFAULT_RESULTS_WINDOW}. */
160
+ window?: number;
161
+ /** Total characters of one view. Default `DEFAULT_RESULTS_MAX_CHARS`. */
162
+ maxChars?: number;
163
+ /** Default cap of one full entry. Default {@link DEFAULT_RESULT_ENTRY_CHARS}. */
164
+ maxEntryChars?: number;
165
+ /** Default cap of one names-only entry. Default {@link DEFAULT_RESULT_COMPACT_CHARS}. */
166
+ maxCompactChars?: number;
167
+ /** Default for {@link StepResultsSpec.refresh}. Defaults to `true`. */
168
+ refresh?: boolean;
169
+ }
170
+ /** What a facts query may narrow by. Every field is an exact match. */
171
+ export interface ResultFactQuery {
172
+ kind?: string;
173
+ name?: string;
174
+ /** A producing step, by its name or by its label. */
175
+ step?: string;
176
+ }
177
+ /**
178
+ * The identity of a fact inside a ledger: what it is, what it is called and where it comes from.
179
+ * Two facts with one key are one fact, owned by whichever entry produced it first.
180
+ */
181
+ export declare const factKey: (fact: CumulativeResultFact) => string;
182
+ /**
183
+ * Facts in the one order they are ever rendered in: by kind (file facts last), name and location,
184
+ * with a code-unit comparison so every host sorts them alike.
185
+ */
186
+ export declare const sortFacts: (facts: readonly CumulativeResultFact[]) => CumulativeResultFact[];
187
+ /** One fact as one prompt line: kind and name, shape, scalars, pointer, and where it comes from. */
188
+ export declare const renderResultFact: (fact: CumulativeResultFact) => string;
189
+ /** What {@link renderResultEntry} needs of an entry. */
190
+ export type RenderableResultEntry = Pick<CumulativeResultEntry, 'label' | 'source' | 'partial' | 'facts' | 'summary'>;
191
+ export interface ResultRenderCaps {
192
+ /** Cap on the full rendering. Default {@link DEFAULT_RESULT_ENTRY_CHARS}. */
193
+ maxChars?: number;
194
+ /** Cap on the names-only rendering. Default {@link DEFAULT_RESULT_COMPACT_CHARS}. */
195
+ maxCompactChars?: number;
196
+ }
197
+ /**
198
+ * An entry's two renderings — in full, and as names only — or two empty strings when it has
199
+ * nothing to say.
200
+ *
201
+ * Deterministic and free of anything that varies between two renderings of the same facts: no
202
+ * timestamp, no run id, no revision. Over its cap an entry DROPS whole facts, in render order, and
203
+ * says how many it dropped; it never cuts one fact's line, because half a signature is a wrong
204
+ * signature. An empty entry that is not partial renders to nothing, so it costs a view nothing.
205
+ */
206
+ export declare const renderResultEntry: (entry: RenderableResultEntry, caps?: ResultRenderCaps) => {
207
+ full: string;
208
+ compact: string;
209
+ };
210
+ /**
211
+ * Ledger order: element by element, and where one key is a prefix of the other, the LONGER one
212
+ * first — an entry of a run composed under a step sorts ahead of that step's own entry, which is
213
+ * written only once the composed run has finished.
214
+ */
215
+ export declare const compareResultOrder: (a: readonly number[], b: readonly number[]) => number;
216
+ /** The root run of a composition — what a composed run's id (`<parent>/<step>`) starts with. */
217
+ export declare const rootRunOf: (runId: string) => string;
218
+ /**
219
+ * How an entry is headed: the step, behind the path of composing steps between the ledger's root
220
+ * run and the run that produced it. A root-run step is headed by its bare name.
221
+ */
222
+ export declare const resultLabel: (ledger: string, runId: string, step: string) => string;
223
+ /**
224
+ * A model's schema-shaped summary as one capped line, the same bytes for the same answer.
225
+ *
226
+ * An object renders as `key: value` pairs in key order; one with a single key renders as that
227
+ * value alone, so the default `{ summary }` answer reads as prose. The cap is applied here, after
228
+ * the model answered — a cap in a prompt is a request.
229
+ */
230
+ export declare const renderResultSummary: (answer: unknown, maxChars?: number) => string;
231
+ /**
232
+ * Several declarations as one — a pipeline's own, then any overlay (a variant, a deployment).
233
+ *
234
+ * Later declarations win field by field, except the lists: extractors, `full` consumers and `omit`
235
+ * consumers ACCUMULATE, the way skills do down an execution chain, because an overlay that adds an
236
+ * extractor is not asking to lose the ones the pipeline declared. `'*'` in `full` absorbs names.
237
+ */
238
+ export declare const mergeResultsSpecs: (...specs: Array<CumulativeResultsSpec | null | undefined>) => CumulativeResultsSpec;
239
+ //# sourceMappingURL=results.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"results.d.ts","sourceRoot":"","sources":["../src/results.ts"],"names":[],"mappings":"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"}