@anvia/core 1.0.3 → 1.0.4

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
@@ -500,6 +500,43 @@ const { runId, output } = await pipeline.run({
500
500
  });
501
501
  ```
502
502
 
503
+ Pipelines use the same named observability configuration as Agents. Pipeline observers receive the
504
+ root run and every composed, parallel, Agent, extraction, and custom stage. A primary stage trace is
505
+ propagated into an Agent stage so its generations and tools become children of that stage. This
506
+ requires the Pipeline and Agent `primaryTrace` names to match. When they differ, Anvia leaves the
507
+ Agent trace unchanged without raising an error:
508
+
509
+ ```ts
510
+ const pipeline = new Pipeline({
511
+ id: "support-flow",
512
+ inputSchema: z.string(),
513
+ observability: {
514
+ observers: { telemetry: pipelineObserver },
515
+ primaryTrace: "telemetry",
516
+ },
517
+ }).agent({
518
+ id: "draft",
519
+ agent,
520
+ suspension: "reject",
521
+ request: ({ input }) => ({ prompt: input }),
522
+ });
523
+
524
+ const result = await pipeline.run({
525
+ input: "Customer cannot complete checkout.",
526
+ trace: { sessionId: "support-session" },
527
+ });
528
+
529
+ console.log(result.trace);
530
+ ```
531
+
532
+ The `observer` passed to `pipeline.run()` remains a separate stage-event sink intended for Studio,
533
+ logging, and other operational consumers. Its errors are isolated unless `failOnObserverError` is
534
+ enabled.
535
+
536
+ `observability.errorPolicy` controls named observer failures instead. It accepts `"ignore"` or
537
+ `"throw"` and defaults to `"ignore"`. With `"throw"`, the run rejects with a
538
+ `PipelineObserverDispatchError` containing the failed phase and per-observer failures.
539
+
503
540
  ## Documents
504
541
 
505
542
  Applications own file discovery, file reads, source metadata, and per-file error policy. Core only
@@ -1,9 +1,9 @@
1
1
  export { M as ModelCallOptions } from '../model-call-options-CZkSw_xN.js';
2
2
  export { R as RetryContext, a as RetryOptions, b as RetrySetting } from '../retry-CjvSlKGW.js';
3
- export { A as Agent, a as AgentContextInput, b as AgentMemory, c as AgentMemoryOptions, d as AgentOptions, e as AgentToolInput, f as AgentToolOptions, C as CreateHybridVectorContextOptions, g as CreateVectorContextOptions, V as VectorContext, h as VectorContextBaseOptions, i as createVectorContext, j as isVectorContext } from '../agent-DYfzP-n5.js';
3
+ export { A as Agent, a as AgentContextInput, b as AgentMemory, c as AgentMemoryOptions, d as AgentOptions, e as AgentToolInput, f as AgentToolOptions, C as CreateHybridVectorContextOptions, g as CreateVectorContextOptions, V as VectorContext, h as VectorContextBaseOptions, i as createVectorContext, j as isVectorContext } from '../agent-fvQIBLBk.js';
4
4
  import { M as Message, U as Usage, C as CompletionFinishReason } from '../types-DgvozfPc.js';
5
- import { A as AgentBlockedOutcome, g as AgentInteractionOutcome } from '../types-BUEZMBhO.js';
6
- export { a as AgentChildStreamEvent, b as AgentDeltaEvent, c as AgentErrorEvent, d as AgentErrorStreamEvent, e as AgentFinishEvent, f as AgentInput, h as AgentLifecycle, i as AgentMemoryCompactionEvent, j as AgentMemoryCompactionOptions, k as AgentOutcome, l as AgentPrompt, m as AgentResponse, n as AgentRunOptions, o as AgentRunSettings, p as AgentStartEvent, q as AgentSteerInput, r as AgentSteerReceipt, s as AgentStepFinishEvent, t as AgentStream, u as AgentStreamEvent, v as AgentToolCallDeltaEvent, w as AgentToolFinishEvent, x as AgentToolStartEvent } from '../types-BUEZMBhO.js';
5
+ import { A as AgentBlockedOutcome, g as AgentInteractionOutcome } from '../types-ChH_bdtR.js';
6
+ export { a as AgentChildStreamEvent, b as AgentDeltaEvent, c as AgentErrorEvent, d as AgentErrorStreamEvent, e as AgentFinishEvent, f as AgentInput, h as AgentLifecycle, i as AgentMemoryCompactionEvent, j as AgentMemoryCompactionOptions, k as AgentOutcome, l as AgentPrompt, m as AgentResponse, n as AgentRunOptions, o as AgentRunSettings, p as AgentStartEvent, q as AgentSteerInput, r as AgentSteerReceipt, s as AgentStepFinishEvent, t as AgentStream, u as AgentStreamEvent, v as AgentToolCallDeltaEvent, w as AgentToolFinishEvent, x as AgentToolStartEvent } from '../types-ChH_bdtR.js';
7
7
  import '../zod-schema-C7F4clpm.js';
8
8
  import 'zod';
9
9
  import '../types-DhkodEft.js';
@@ -2,11 +2,12 @@ import {
2
2
  Agent,
3
3
  createVectorContext,
4
4
  isVectorContext
5
- } from "../chunk-5TIXGU5U.js";
5
+ } from "../chunk-NMVCGWQY.js";
6
6
  import "../chunk-OJBFDBLG.js";
7
7
  import "../chunk-J6LVLV6P.js";
8
8
  import "../chunk-XMVOBX43.js";
9
- import "../chunk-AR2K73CJ.js";
9
+ import "../chunk-34EDX4ZL.js";
10
+ import "../chunk-KSKST3KP.js";
10
11
  import "../chunk-YK4WAAS4.js";
11
12
  import "../chunk-OIB3URVG.js";
12
13
  import "../chunk-LZD36ZAP.js";
@@ -4,7 +4,7 @@ import { Z as ZodSchema } from './zod-schema-C7F4clpm.js';
4
4
  import { d as GuardrailPolicyInput, c as GuardrailPolicy } from './types-DhkodEft.js';
5
5
  import { a as McpServer } from './types-DjqRHeAi.js';
6
6
  import { E as MemoryStore, z as MemorySavePolicy, F as MemoryTokenCounter, n as MemoryCompactor, d as MemoryCompactionConflictRetryOptions, y as MemoryOptions, k as MemoryCompactionResult } from './types-CSYt7-It.js';
7
- import { h as AgentLifecycle, F as AgentObservabilityOptions, n as AgentRunOptions, k as AgentOutcome, o as AgentRunSettings, t as AgentStream, j as AgentMemoryCompactionOptions } from './types-BUEZMBhO.js';
7
+ import { h as AgentLifecycle, F as AgentObservabilityOptions, n as AgentRunOptions, k as AgentOutcome, o as AgentRunSettings, t as AgentStream, j as AgentMemoryCompactionOptions } from './types-ChH_bdtR.js';
8
8
  import { A as AgentMiddleware } from './middleware-kcF8AusP.js';
9
9
  import { A as AnyTool, T as Tool, c as ToolCallContext, N as NormalizedToolOutput } from './tool-BpqpoRSE.js';
10
10
  import { AgentContinuation, AgentInteractionResponse } from './agent/interactions/index.js';
@@ -1,89 +1,10 @@
1
+ import {
2
+ observerSnapshot
3
+ } from "./chunk-KSKST3KP.js";
1
4
  import {
2
5
  Usage
3
6
  } from "./chunk-TB5EKZM7.js";
4
7
 
5
- // src/observability/snapshot.ts
6
- function observerSnapshot(value) {
7
- if (containsError(value, /* @__PURE__ */ new WeakSet())) {
8
- return cloneObserverFallback(value, /* @__PURE__ */ new WeakMap());
9
- }
10
- try {
11
- return globalThis.structuredClone(value);
12
- } catch {
13
- return cloneObserverFallback(value, /* @__PURE__ */ new WeakMap());
14
- }
15
- }
16
- function cloneObserverFallback(value, seen) {
17
- if (typeof value !== "object" || value === null) {
18
- return value;
19
- }
20
- const existing = seen.get(value);
21
- if (existing !== void 0) {
22
- return existing;
23
- }
24
- if (Array.isArray(value)) {
25
- const clone2 = [];
26
- seen.set(value, clone2);
27
- clone2.push(...value.map((item) => cloneObserverFallback(item, seen)));
28
- return clone2;
29
- }
30
- if (value instanceof Date) {
31
- return new Date(value.getTime());
32
- }
33
- if (value instanceof Error) {
34
- const clone2 = Object.create(Object.getPrototypeOf(value));
35
- seen.set(value, clone2);
36
- Object.defineProperties(clone2, {
37
- name: { configurable: true, writable: true, value: value.name },
38
- message: { configurable: true, writable: true, value: value.message }
39
- });
40
- if (value.stack !== void 0) {
41
- Object.defineProperty(clone2, "stack", {
42
- configurable: true,
43
- writable: true,
44
- value: value.stack
45
- });
46
- }
47
- if (value.cause !== void 0) {
48
- Object.defineProperty(clone2, "cause", {
49
- configurable: true,
50
- writable: true,
51
- value: cloneObserverFallback(value.cause, seen)
52
- });
53
- }
54
- for (const key of Object.getOwnPropertyNames(value)) {
55
- if (key === "name" || key === "message" || key === "stack" || key === "cause") continue;
56
- const descriptor = Object.getOwnPropertyDescriptor(value, key);
57
- if (descriptor === void 0) continue;
58
- if ("value" in descriptor) {
59
- descriptor.value = cloneObserverFallback(descriptor.value, seen);
60
- }
61
- Object.defineProperty(clone2, key, descriptor);
62
- }
63
- return clone2;
64
- }
65
- if (Object.getPrototypeOf(value) !== Object.prototype) {
66
- return value;
67
- }
68
- const clone = {};
69
- seen.set(value, clone);
70
- for (const [key, item] of Object.entries(value)) {
71
- clone[key] = cloneObserverFallback(item, seen);
72
- }
73
- return clone;
74
- }
75
- function containsError(value, seen) {
76
- if (typeof value !== "object" || value === null) return false;
77
- if (value instanceof Error) return true;
78
- if (seen.has(value)) return false;
79
- seen.add(value);
80
- if (Array.isArray(value)) {
81
- return value.some((item) => containsError(item, seen));
82
- }
83
- if (Object.getPrototypeOf(value) !== Object.prototype) return false;
84
- return Object.values(value).some((item) => containsError(item, seen));
85
- }
86
-
87
8
  // src/observability/group.ts
88
9
  var AgentObserverDispatchError = class extends AggregateError {
89
10
  phase;
@@ -321,4 +242,4 @@ export {
321
242
  AgentObserverDispatchError,
322
243
  startAgentRunObservers
323
244
  };
324
- //# sourceMappingURL=chunk-AR2K73CJ.js.map
245
+ //# sourceMappingURL=chunk-34EDX4ZL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/observability/group.ts"],"sourcesContent":["import { Usage } from \"../completion\";\nimport { observerSnapshot } from \"./snapshot\";\nimport type {\n AgentGenerationEndArgs,\n AgentGenerationErrorArgs,\n AgentGenerationObserver,\n AgentGenerationStartArgs,\n AgentGenerationUpdateArgs,\n AgentObserverErrorPolicy,\n AgentObserverMap,\n AgentRunEndArgs,\n AgentRunErrorArgs,\n AgentRunEventArgs,\n AgentRunObserver,\n AgentRunStartArgs,\n AgentToolEndArgs,\n AgentToolErrorArgs,\n AgentToolObserver,\n AgentToolStartArgs,\n AgentToolStreamEventArgs,\n AgentToolSuspendedArgs,\n AgentTraceInfo,\n} from \"./types\";\n\nexport type AgentObserverFailure = {\n readonly observer: string;\n readonly error: unknown;\n};\n\nexport class AgentObserverDispatchError extends AggregateError {\n readonly phase: string;\n readonly failures: readonly AgentObserverFailure[];\n\n constructor(phase: string, failures: readonly AgentObserverFailure[]) {\n super(\n failures.map((failure) => failure.error),\n `Agent observer ${phase} failed for ${failures.map((failure) => failure.observer).join(\", \")}.`,\n );\n this.name = \"AgentObserverDispatchError\";\n this.phase = phase;\n this.failures = Object.freeze([...failures]);\n }\n}\n\ntype NamedObserver<T> = {\n readonly name: string;\n readonly observer: T;\n};\n\ntype ActiveNamedObserver<T> = NamedObserver<T> & {\n terminal: boolean;\n};\n\nexport async function startAgentRunObservers(\n observers: AgentObserverMap,\n args: AgentRunStartArgs,\n options: {\n readonly primaryTrace?: string | undefined;\n readonly errorPolicy: AgentObserverErrorPolicy;\n },\n): Promise<ActiveAgentRunObservers> {\n const runObservers: ActiveNamedObserver<AgentRunObserver>[] = [];\n const failures: AgentObserverFailure[] = [];\n for (const [name, observer] of Object.entries(observers)) {\n try {\n const runObserver = await observer.startRun(observerSnapshot(args));\n if (runObserver !== undefined) {\n runObservers.push({ name, observer: runObserver, terminal: false });\n }\n } catch (error) {\n failures.push({ observer: name, error });\n }\n }\n if (options.errorPolicy === \"throw\" && failures.length > 0) {\n const startupError = new AgentObserverDispatchError(\"startRun\", failures);\n const cleanupFailures = await terminateObservers(runObservers, (observer) =>\n observer.error?.(\n observerSnapshot({\n status: \"failed\",\n error: startupError,\n usage: Usage.empty(),\n messages: [...args.history, args.prompt],\n }),\n ),\n );\n throw new AgentObserverDispatchError(\"startRun\", [...failures, ...cleanupFailures]);\n }\n return new ActiveAgentRunObservers(runObservers, options);\n}\n\nexport class ActiveAgentRunObservers {\n readonly trace: AgentTraceInfo | undefined;\n\n constructor(\n private readonly runObservers: readonly ActiveNamedObserver<AgentRunObserver>[],\n private readonly options: {\n readonly primaryTrace?: string | undefined;\n readonly errorPolicy: AgentObserverErrorPolicy;\n },\n ) {\n const primary =\n options.primaryTrace === undefined\n ? undefined\n : runObservers.find((entry) => entry.name === options.primaryTrace);\n this.trace =\n primary?.observer.trace === undefined\n ? undefined\n : Object.freeze({ observer: primary.name, ...primary.observer.trace });\n }\n\n async startGeneration(args: AgentGenerationStartArgs): Promise<ActiveGenerationObservers> {\n const generationObservers: ActiveNamedObserver<AgentGenerationObserver>[] = [];\n const failures: AgentObserverFailure[] = [];\n for (const entry of this.runObservers) {\n if (entry.observer.startGeneration === undefined) continue;\n try {\n const observer = await entry.observer.startGeneration(observerSnapshot(args));\n if (observer !== undefined) {\n generationObservers.push({ name: entry.name, observer, terminal: false });\n }\n } catch (error) {\n failures.push({ observer: entry.name, error });\n }\n }\n if (this.options.errorPolicy === \"throw\" && failures.length > 0) {\n const startupError = new AgentObserverDispatchError(\"startGeneration\", failures);\n const cleanupFailures = await terminateObservers(generationObservers, (observer) =>\n observer.error?.(observerSnapshot({ turn: args.turn, error: startupError })),\n );\n throw new AgentObserverDispatchError(\"startGeneration\", [...failures, ...cleanupFailures]);\n }\n return new ActiveGenerationObservers(generationObservers, this.options.errorPolicy);\n }\n\n async startTool(args: AgentToolStartArgs): Promise<ActiveToolObservers> {\n const toolObservers: ActiveNamedObserver<AgentToolObserver>[] = [];\n const failures: AgentObserverFailure[] = [];\n for (const entry of this.runObservers) {\n if (entry.observer.startTool === undefined) continue;\n try {\n const observer = await entry.observer.startTool(observerSnapshot(args));\n if (observer !== undefined) {\n toolObservers.push({ name: entry.name, observer, terminal: false });\n }\n } catch (error) {\n failures.push({ observer: entry.name, error });\n }\n }\n if (this.options.errorPolicy === \"throw\" && failures.length > 0) {\n const startupError = new AgentObserverDispatchError(\"startTool\", failures);\n const cleanupFailures = await terminateObservers(toolObservers, (observer) =>\n observer.error?.(observerSnapshot({ ...args, error: startupError })),\n );\n throw new AgentObserverDispatchError(\"startTool\", [...failures, ...cleanupFailures]);\n }\n return new ActiveToolObservers(toolObservers, this.options.errorPolicy);\n }\n\n async end(args: AgentRunEndArgs): Promise<void> {\n await dispatchTerminalObservers(\n this.runObservers,\n \"end\",\n (observer) => observer.end(observerSnapshot(args)),\n this.options.errorPolicy,\n );\n }\n\n async error(args: AgentRunErrorArgs): Promise<void> {\n await dispatchTerminalObservers(\n this.runObservers,\n \"error\",\n (observer) => observer.error?.(observerSnapshot(args)),\n \"ignore\",\n );\n }\n\n async event(args: AgentRunEventArgs): Promise<void> {\n await dispatchObservers(\n this.runObservers,\n \"event\",\n (observer) => observer.event?.(observerSnapshot(args)),\n this.options.errorPolicy,\n );\n }\n}\n\nexport class ActiveGenerationObservers {\n constructor(\n private readonly observers: readonly ActiveNamedObserver<AgentGenerationObserver>[],\n private readonly errorPolicy: AgentObserverErrorPolicy,\n ) {}\n\n async end(args: AgentGenerationEndArgs): Promise<void> {\n await dispatchTerminalObservers(\n this.observers,\n \"generation.end\",\n (observer) => observer.end(observerSnapshot(args)),\n this.errorPolicy,\n );\n }\n\n async error(args: AgentGenerationErrorArgs): Promise<void> {\n await dispatchTerminalObservers(\n this.observers,\n \"generation.error\",\n (observer) => observer.error?.(observerSnapshot(args)),\n \"ignore\",\n );\n }\n\n async update(args: AgentGenerationUpdateArgs): Promise<void> {\n await dispatchObservers(\n this.observers,\n \"generation.update\",\n (observer) => observer.update?.(observerSnapshot(args)),\n this.errorPolicy,\n );\n }\n}\n\nexport class ActiveToolObservers {\n constructor(\n private readonly observers: readonly ActiveNamedObserver<AgentToolObserver>[],\n private readonly errorPolicy: AgentObserverErrorPolicy,\n ) {}\n\n async streamEvent(args: AgentToolStreamEventArgs): Promise<void> {\n await dispatchObservers(\n this.observers,\n \"tool.streamEvent\",\n (observer) => observer.streamEvent?.(observerSnapshot(args)),\n this.errorPolicy,\n );\n }\n\n async end(args: AgentToolEndArgs): Promise<void> {\n await dispatchTerminalObservers(\n this.observers,\n \"tool.end\",\n (observer) => observer.end(observerSnapshot(args)),\n this.errorPolicy,\n );\n }\n\n async suspend(args: AgentToolSuspendedArgs): Promise<void> {\n await dispatchTerminalObservers(\n this.observers,\n \"tool.suspend\",\n (observer) => observer.suspend?.(observerSnapshot(args)),\n this.errorPolicy,\n );\n }\n\n async error(args: AgentToolErrorArgs): Promise<void> {\n await dispatchTerminalObservers(\n this.observers,\n \"tool.error\",\n (observer) => observer.error?.(observerSnapshot(args)),\n \"ignore\",\n );\n }\n}\n\nasync function dispatchObservers<T>(\n observers: readonly NamedObserver<T>[],\n phase: string,\n dispatch: (observer: T) => void | Promise<void> | undefined,\n errorPolicy: AgentObserverErrorPolicy,\n): Promise<void> {\n const failures: AgentObserverFailure[] = [];\n for (const entry of observers) {\n try {\n await dispatch(entry.observer);\n } catch (error) {\n failures.push({ observer: entry.name, error });\n }\n }\n throwObserverFailures(phase, failures, errorPolicy);\n}\n\nasync function dispatchTerminalObservers<T>(\n observers: readonly ActiveNamedObserver<T>[],\n phase: string,\n dispatch: (observer: T) => void | Promise<void> | undefined,\n errorPolicy: AgentObserverErrorPolicy,\n): Promise<void> {\n const failures = await terminateObservers(observers, dispatch);\n throwObserverFailures(phase, failures, errorPolicy);\n}\n\nasync function terminateObservers<T>(\n observers: readonly ActiveNamedObserver<T>[],\n dispatch: (observer: T) => void | Promise<void> | undefined,\n): Promise<AgentObserverFailure[]> {\n const failures: AgentObserverFailure[] = [];\n for (const entry of observers) {\n if (entry.terminal) continue;\n entry.terminal = true;\n try {\n await dispatch(entry.observer);\n } catch (error) {\n failures.push({ observer: entry.name, error });\n }\n }\n return failures;\n}\n\nfunction throwObserverFailures(\n phase: string,\n failures: readonly AgentObserverFailure[],\n errorPolicy: AgentObserverErrorPolicy,\n): void {\n if (errorPolicy === \"throw\" && failures.length > 0) {\n throw new AgentObserverDispatchError(phase, failures);\n }\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,86 @@
1
+ // src/observability/snapshot.ts
2
+ function observerSnapshot(value) {
3
+ if (containsError(value, /* @__PURE__ */ new WeakSet())) {
4
+ return cloneObserverFallback(value, /* @__PURE__ */ new WeakMap());
5
+ }
6
+ try {
7
+ return globalThis.structuredClone(value);
8
+ } catch {
9
+ return cloneObserverFallback(value, /* @__PURE__ */ new WeakMap());
10
+ }
11
+ }
12
+ function cloneObserverFallback(value, seen) {
13
+ if (typeof value !== "object" || value === null) {
14
+ return value;
15
+ }
16
+ const existing = seen.get(value);
17
+ if (existing !== void 0) {
18
+ return existing;
19
+ }
20
+ if (Array.isArray(value)) {
21
+ const clone2 = [];
22
+ seen.set(value, clone2);
23
+ clone2.push(...value.map((item) => cloneObserverFallback(item, seen)));
24
+ return clone2;
25
+ }
26
+ if (value instanceof Date) {
27
+ return new Date(value.getTime());
28
+ }
29
+ if (value instanceof Error) {
30
+ const clone2 = Object.create(Object.getPrototypeOf(value));
31
+ seen.set(value, clone2);
32
+ Object.defineProperties(clone2, {
33
+ name: { configurable: true, writable: true, value: value.name },
34
+ message: { configurable: true, writable: true, value: value.message }
35
+ });
36
+ if (value.stack !== void 0) {
37
+ Object.defineProperty(clone2, "stack", {
38
+ configurable: true,
39
+ writable: true,
40
+ value: value.stack
41
+ });
42
+ }
43
+ if (value.cause !== void 0) {
44
+ Object.defineProperty(clone2, "cause", {
45
+ configurable: true,
46
+ writable: true,
47
+ value: cloneObserverFallback(value.cause, seen)
48
+ });
49
+ }
50
+ for (const key of Object.getOwnPropertyNames(value)) {
51
+ if (key === "name" || key === "message" || key === "stack" || key === "cause") continue;
52
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
53
+ if (descriptor === void 0) continue;
54
+ if ("value" in descriptor) {
55
+ descriptor.value = cloneObserverFallback(descriptor.value, seen);
56
+ }
57
+ Object.defineProperty(clone2, key, descriptor);
58
+ }
59
+ return clone2;
60
+ }
61
+ if (Object.getPrototypeOf(value) !== Object.prototype) {
62
+ return value;
63
+ }
64
+ const clone = {};
65
+ seen.set(value, clone);
66
+ for (const [key, item] of Object.entries(value)) {
67
+ clone[key] = cloneObserverFallback(item, seen);
68
+ }
69
+ return clone;
70
+ }
71
+ function containsError(value, seen) {
72
+ if (typeof value !== "object" || value === null) return false;
73
+ if (value instanceof Error) return true;
74
+ if (seen.has(value)) return false;
75
+ seen.add(value);
76
+ if (Array.isArray(value)) {
77
+ return value.some((item) => containsError(item, seen));
78
+ }
79
+ if (Object.getPrototypeOf(value) !== Object.prototype) return false;
80
+ return Object.values(value).some((item) => containsError(item, seen));
81
+ }
82
+
83
+ export {
84
+ observerSnapshot
85
+ };
86
+ //# sourceMappingURL=chunk-KSKST3KP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/observability/snapshot.ts"],"sourcesContent":["export function observerSnapshot<T>(value: T): T {\n if (containsError(value, new WeakSet<object>())) {\n return cloneObserverFallback(value, new WeakMap<object, object>());\n }\n try {\n return globalThis.structuredClone(value);\n } catch {\n return cloneObserverFallback(value, new WeakMap<object, object>());\n }\n}\n\nfunction cloneObserverFallback<T>(value: T, seen: WeakMap<object, object>): T {\n if (typeof value !== \"object\" || value === null) {\n return value;\n }\n const existing = seen.get(value);\n if (existing !== undefined) {\n return existing as T;\n }\n if (Array.isArray(value)) {\n const clone: unknown[] = [];\n seen.set(value, clone);\n clone.push(...value.map((item) => cloneObserverFallback(item, seen)));\n return clone as T;\n }\n if (value instanceof Date) {\n return new Date(value.getTime()) as T;\n }\n if (value instanceof Error) {\n const clone = Object.create(Object.getPrototypeOf(value)) as Error;\n seen.set(value, clone);\n Object.defineProperties(clone, {\n name: { configurable: true, writable: true, value: value.name },\n message: { configurable: true, writable: true, value: value.message },\n });\n if (value.stack !== undefined) {\n Object.defineProperty(clone, \"stack\", {\n configurable: true,\n writable: true,\n value: value.stack,\n });\n }\n if (value.cause !== undefined) {\n Object.defineProperty(clone, \"cause\", {\n configurable: true,\n writable: true,\n value: cloneObserverFallback(value.cause, seen),\n });\n }\n for (const key of Object.getOwnPropertyNames(value)) {\n if (key === \"name\" || key === \"message\" || key === \"stack\" || key === \"cause\") continue;\n const descriptor = Object.getOwnPropertyDescriptor(value, key);\n if (descriptor === undefined) continue;\n if (\"value\" in descriptor) {\n descriptor.value = cloneObserverFallback(descriptor.value, seen);\n }\n Object.defineProperty(clone, key, descriptor);\n }\n return clone as T;\n }\n if (Object.getPrototypeOf(value) !== Object.prototype) {\n return value;\n }\n const clone: Record<string, unknown> = {};\n seen.set(value, clone);\n for (const [key, item] of Object.entries(value)) {\n clone[key] = cloneObserverFallback(item, seen);\n }\n return clone as T;\n}\n\nfunction containsError(value: unknown, seen: WeakSet<object>): boolean {\n if (typeof value !== \"object\" || value === null) return false;\n if (value instanceof Error) return true;\n if (seen.has(value)) return false;\n seen.add(value);\n if (Array.isArray(value)) {\n return value.some((item) => containsError(item, seen));\n }\n if (Object.getPrototypeOf(value) !== Object.prototype) return false;\n return Object.values(value).some((item) => containsError(item, seen));\n}\n"],"mappings":"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","names":["clone"]}
@@ -16,7 +16,7 @@ import {
16
16
  } from "./chunk-XMVOBX43.js";
17
17
  import {
18
18
  startAgentRunObservers
19
- } from "./chunk-AR2K73CJ.js";
19
+ } from "./chunk-34EDX4ZL.js";
20
20
  import {
21
21
  isSkillTool
22
22
  } from "./chunk-YK4WAAS4.js";
@@ -4772,4 +4772,4 @@ export {
4772
4772
  markResolvedAgentOptions,
4773
4773
  Agent
4774
4774
  };
4775
- //# sourceMappingURL=chunk-5TIXGU5U.js.map
4775
+ //# sourceMappingURL=chunk-NMVCGWQY.js.map
@@ -1,7 +1,7 @@
1
1
  import { U as Usage, J as JsonObject, c as CompletionModel, M as Message } from '../types-DgvozfPc.js';
2
2
  import { Z as ZodSchema } from '../zod-schema-C7F4clpm.js';
3
3
  import { AgentInteractionRequest, AgentInteractionResponse } from '../agent/interactions/index.js';
4
- import { g as AgentInteractionOutcome, m as AgentResponse, n as AgentRunOptions, k as AgentOutcome } from '../types-BUEZMBhO.js';
4
+ import { g as AgentInteractionOutcome, m as AgentResponse, n as AgentRunOptions, k as AgentOutcome } from '../types-ChH_bdtR.js';
5
5
  import { E as EmbeddingModel } from '../types-Cr4uiYo5.js';
6
6
  import '../model-call-options-CZkSw_xN.js';
7
7
  import 'zod';
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- export { A as Agent, a as AgentContextInput, b as AgentMemory, c as AgentMemoryOptions, d as AgentOptions, e as AgentToolInput, f as AgentToolOptions, C as CreateHybridVectorContextOptions, g as CreateVectorContextOptions, V as VectorContext, h as VectorContextBaseOptions, i as createVectorContext, j as isVectorContext } from './agent-DYfzP-n5.js';
1
+ export { A as Agent, a as AgentContextInput, b as AgentMemory, c as AgentMemoryOptions, d as AgentOptions, e as AgentToolInput, f as AgentToolOptions, C as CreateHybridVectorContextOptions, g as CreateVectorContextOptions, V as VectorContext, h as VectorContextBaseOptions, i as createVectorContext, j as isVectorContext } from './agent-fvQIBLBk.js';
2
2
  export { AgentRunBlockedError, AgentRunCancelledError, AgentStreamClosedError, AgentStructuredOutputError, AgentStructuredOutputFormat, AgentStructuredOutputPhase, AgentToolSuspensionError, MaxTurnsError } from './agent/index.js';
3
- export { A as AgentBlockedOutcome, a as AgentChildStreamEvent, b as AgentDeltaEvent, c as AgentErrorEvent, d as AgentErrorStreamEvent, e as AgentFinishEvent, f as AgentInput, g as AgentInteractionOutcome, h as AgentLifecycle, i as AgentMemoryCompactionEvent, j as AgentMemoryCompactionOptions, k as AgentOutcome, l as AgentPrompt, m as AgentResponse, n as AgentRunOptions, o as AgentRunSettings, p as AgentStartEvent, q as AgentSteerInput, r as AgentSteerReceipt, s as AgentStepFinishEvent, t as AgentStream, u as AgentStreamEvent, v as AgentToolCallDeltaEvent, w as AgentToolFinishEvent, x as AgentToolStartEvent } from './types-BUEZMBhO.js';
3
+ export { A as AgentBlockedOutcome, a as AgentChildStreamEvent, b as AgentDeltaEvent, c as AgentErrorEvent, d as AgentErrorStreamEvent, e as AgentFinishEvent, f as AgentInput, g as AgentInteractionOutcome, h as AgentLifecycle, i as AgentMemoryCompactionEvent, j as AgentMemoryCompactionOptions, k as AgentOutcome, l as AgentPrompt, m as AgentResponse, n as AgentRunOptions, o as AgentRunSettings, p as AgentStartEvent, q as AgentSteerInput, r as AgentSteerReceipt, s as AgentStepFinishEvent, t as AgentStream, u as AgentStreamEvent, v as AgentToolCallDeltaEvent, w as AgentToolFinishEvent, x as AgentToolStartEvent } from './types-ChH_bdtR.js';
4
4
  export { M as ModelCallOptions } from './model-call-options-CZkSw_xN.js';
5
5
  export { R as RetryContext, a as RetryOptions, b as RetrySetting } from './retry-CjvSlKGW.js';
6
6
  export { A as AssistantContentPart, a as AssistantGenerationMetadata, b as AssistantMessage, C as CompletionFinishReason, c as CompletionModel, d as CompletionModelInfo, e as CompletionModelStreamEvent, f as CompletionRequest, g as CompletionResponse, h as CompletionResult, i as CompletionSource, j as CompletionStreamEvent, k as CompletionTool, l as ContextUsage, D as Document, F as FileData, m as FilePart, I as ImageDetail, n as ImagePart, J as JsonObject, o as JsonPrimitive, p as JsonValue, M as Message, q as ModelContextLimits, P as ProviderTool, r as ProviderToolCall, R as ReasoningContentType, s as ReasoningDetail, t as ReasoningPart, S as SystemMessage, T as TextPart, u as ToolCallPart, v as ToolChoice, w as ToolDefinition, x as ToolMessage, y as ToolResultContentPart, z as ToolResultOutput, B as ToolResultPart, U as Usage, E as UserContentPart, G as UserMessage, H as calculateContextUsage, K as getAssistantGenerationMetadata, L as isProviderTool, N as resolveModelContextLimits, O as withContextUsage } from './types-DgvozfPc.js';
package/dist/index.js CHANGED
@@ -19,7 +19,7 @@ import {
19
19
  Agent,
20
20
  createVectorContext,
21
21
  isVectorContext
22
- } from "./chunk-5TIXGU5U.js";
22
+ } from "./chunk-NMVCGWQY.js";
23
23
  import "./chunk-OJBFDBLG.js";
24
24
  import "./chunk-J6LVLV6P.js";
25
25
  import {
@@ -29,7 +29,8 @@ import {
29
29
  estimateMemoryTokens,
30
30
  isMemoryCompactionMessage
31
31
  } from "./chunk-XMVOBX43.js";
32
- import "./chunk-AR2K73CJ.js";
32
+ import "./chunk-34EDX4ZL.js";
33
+ import "./chunk-KSKST3KP.js";
33
34
  import "./chunk-YK4WAAS4.js";
34
35
  import {
35
36
  createMiddleware,
@@ -1,4 +1,4 @@
1
- import { R as ResolvedAgentOptions, A as Agent } from '../agent-DYfzP-n5.js';
1
+ import { R as ResolvedAgentOptions, A as Agent } from '../agent-fvQIBLBk.js';
2
2
  import { c as CompletionModel, P as ProviderTool, M as Message, U as Usage, g as CompletionResponse, y as ToolResultContentPart } from '../types-DgvozfPc.js';
3
3
  import { T as ToolIndex } from '../dynamic-tools-aIZlg5x1.js';
4
4
  import { A as AnyTool } from '../tool-BpqpoRSE.js';
@@ -9,7 +9,7 @@ import 'zod';
9
9
  import '../types-DhkodEft.js';
10
10
  import '../type-utils-CtHVDRn_.js';
11
11
  import '../types-DjqRHeAi.js';
12
- import '../types-BUEZMBhO.js';
12
+ import '../types-ChH_bdtR.js';
13
13
  import '../agent/interactions/index.js';
14
14
  import '../middleware-kcF8AusP.js';
15
15
  import '../types-DC1U1XwW.js';
@@ -4,11 +4,12 @@ import {
4
4
  getAgentToolState,
5
5
  markResolvedAgentOptions,
6
6
  withInternalAgentRunOptions
7
- } from "../chunk-5TIXGU5U.js";
7
+ } from "../chunk-NMVCGWQY.js";
8
8
  import "../chunk-OJBFDBLG.js";
9
9
  import "../chunk-J6LVLV6P.js";
10
10
  import "../chunk-XMVOBX43.js";
11
- import "../chunk-AR2K73CJ.js";
11
+ import "../chunk-34EDX4ZL.js";
12
+ import "../chunk-KSKST3KP.js";
12
13
  import "../chunk-YK4WAAS4.js";
13
14
  import "../chunk-OIB3URVG.js";
14
15
  import "../chunk-LZD36ZAP.js";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/agent/resolved-agent.ts"],"sourcesContent":["import type { CompletionModel } from \"../completion\";\nimport { Agent } from \"./agent\";\nimport { markResolvedAgentOptions } from \"./resolve-options\";\nimport { getAgentToolState } from \"./tool-state\";\nimport type { ResolvedAgentOptions } from \"./types\";\n\nexport function createResolvedAgent<\n Output = string,\n M extends CompletionModel = CompletionModel,\n ContextDocument = unknown,\n>(options: ResolvedAgentOptions<Output, M, ContextDocument>): Agent<Output, M, ContextDocument> {\n return new Agent(markResolvedAgentOptions(options));\n}\n\nexport function getResolvedAgentOptions<Output, M extends CompletionModel, ContextDocument>(\n agent: Agent<Output, M, ContextDocument>,\n): ResolvedAgentOptions<Output, M, ContextDocument> {\n const toolState = getAgentToolState(agent);\n return {\n id: agent.id,\n name: agent.name,\n description: agent.description,\n model: agent.model,\n instructions: agent.instructions,\n context: [...agent.context],\n temperature: agent.temperature,\n maxTokens: agent.maxTokens,\n providerOptions: agent.providerOptions,\n retries: agent.retries,\n tools: [...toolState.configuredTools],\n mcpServers: [...agent.mcpServers],\n providerTools: [...toolState.providerTools],\n toolIndexes: [...toolState.toolIndexes],\n toolChoice: agent.toolChoice,\n defaultMaxTurns: agent.defaultMaxTurns,\n lifecycle: agent.lifecycle,\n outputSchema: agent.outputSchema,\n observability: agent.observability,\n guardrails: [...agent.guardrails],\n middlewares: [...agent.middlewares],\n memory: agent.memory,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAMO,SAAS,oBAId,SAA8F;AAC9F,SAAO,IAAI,MAAM,yBAAyB,OAAO,CAAC;AACpD;AAEO,SAAS,wBACd,OACkD;AAClD,QAAM,YAAY,kBAAkB,KAAK;AACzC,SAAO;AAAA,IACL,IAAI,MAAM;AAAA,IACV,MAAM,MAAM;AAAA,IACZ,aAAa,MAAM;AAAA,IACnB,OAAO,MAAM;AAAA,IACb,cAAc,MAAM;AAAA,IACpB,SAAS,CAAC,GAAG,MAAM,OAAO;AAAA,IAC1B,aAAa,MAAM;AAAA,IACnB,WAAW,MAAM;AAAA,IACjB,iBAAiB,MAAM;AAAA,IACvB,SAAS,MAAM;AAAA,IACf,OAAO,CAAC,GAAG,UAAU,eAAe;AAAA,IACpC,YAAY,CAAC,GAAG,MAAM,UAAU;AAAA,IAChC,eAAe,CAAC,GAAG,UAAU,aAAa;AAAA,IAC1C,aAAa,CAAC,GAAG,UAAU,WAAW;AAAA,IACtC,YAAY,MAAM;AAAA,IAClB,iBAAiB,MAAM;AAAA,IACvB,WAAW,MAAM;AAAA,IACjB,cAAc,MAAM;AAAA,IACpB,eAAe,MAAM;AAAA,IACrB,YAAY,CAAC,GAAG,MAAM,UAAU;AAAA,IAChC,aAAa,CAAC,GAAG,MAAM,WAAW;AAAA,IAClC,QAAQ,MAAM;AAAA,EAChB;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/agent/resolved-agent.ts"],"sourcesContent":["import type { CompletionModel } from \"../completion\";\nimport { Agent } from \"./agent\";\nimport { markResolvedAgentOptions } from \"./resolve-options\";\nimport { getAgentToolState } from \"./tool-state\";\nimport type { ResolvedAgentOptions } from \"./types\";\n\nexport function createResolvedAgent<\n Output = string,\n M extends CompletionModel = CompletionModel,\n ContextDocument = unknown,\n>(options: ResolvedAgentOptions<Output, M, ContextDocument>): Agent<Output, M, ContextDocument> {\n return new Agent(markResolvedAgentOptions(options));\n}\n\nexport function getResolvedAgentOptions<Output, M extends CompletionModel, ContextDocument>(\n agent: Agent<Output, M, ContextDocument>,\n): ResolvedAgentOptions<Output, M, ContextDocument> {\n const toolState = getAgentToolState(agent);\n return {\n id: agent.id,\n name: agent.name,\n description: agent.description,\n model: agent.model,\n instructions: agent.instructions,\n context: [...agent.context],\n temperature: agent.temperature,\n maxTokens: agent.maxTokens,\n providerOptions: agent.providerOptions,\n retries: agent.retries,\n tools: [...toolState.configuredTools],\n mcpServers: [...agent.mcpServers],\n providerTools: [...toolState.providerTools],\n toolIndexes: [...toolState.toolIndexes],\n toolChoice: agent.toolChoice,\n defaultMaxTurns: agent.defaultMaxTurns,\n lifecycle: agent.lifecycle,\n outputSchema: agent.outputSchema,\n observability: agent.observability,\n guardrails: [...agent.guardrails],\n middlewares: [...agent.middlewares],\n memory: agent.memory,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMO,SAAS,oBAId,SAA8F;AAC9F,SAAO,IAAI,MAAM,yBAAyB,OAAO,CAAC;AACpD;AAEO,SAAS,wBACd,OACkD;AAClD,QAAM,YAAY,kBAAkB,KAAK;AACzC,SAAO;AAAA,IACL,IAAI,MAAM;AAAA,IACV,MAAM,MAAM;AAAA,IACZ,aAAa,MAAM;AAAA,IACnB,OAAO,MAAM;AAAA,IACb,cAAc,MAAM;AAAA,IACpB,SAAS,CAAC,GAAG,MAAM,OAAO;AAAA,IAC1B,aAAa,MAAM;AAAA,IACnB,WAAW,MAAM;AAAA,IACjB,iBAAiB,MAAM;AAAA,IACvB,SAAS,MAAM;AAAA,IACf,OAAO,CAAC,GAAG,UAAU,eAAe;AAAA,IACpC,YAAY,CAAC,GAAG,MAAM,UAAU;AAAA,IAChC,eAAe,CAAC,GAAG,UAAU,aAAa;AAAA,IAC1C,aAAa,CAAC,GAAG,UAAU,WAAW;AAAA,IACtC,YAAY,MAAM;AAAA,IAClB,iBAAiB,MAAM;AAAA,IACvB,WAAW,MAAM;AAAA,IACjB,cAAc,MAAM;AAAA,IACpB,eAAe,MAAM;AAAA,IACrB,YAAY,CAAC,GAAG,MAAM,UAAU;AAAA,IAChC,aAAa,CAAC,GAAG,MAAM,WAAW;AAAA,IAClC,QAAQ,MAAM;AAAA,EAChB;AACF;","names":[]}
@@ -1,4 +1,4 @@
1
- export { y as AgentGenerationEndArgs, z as AgentGenerationErrorArgs, B as AgentGenerationModelInfo, C as AgentGenerationObserver, D as AgentGenerationStartArgs, E as AgentGenerationUpdateArgs, F as AgentObservabilityOptions, G as AgentObserver, H as AgentObserverErrorPolicy, I as AgentObserverMap, J as AgentObserverTraceInfo, K as AgentRunEndArgs, L as AgentRunErrorArgs, M as AgentRunEventArgs, N as AgentRunObserver, O as AgentRunPromptRef, P as AgentRunStartArgs, Q as AgentToolEndArgs, R as AgentToolErrorArgs, S as AgentToolObserver, T as AgentToolStartArgs, U as AgentToolStreamEventArgs, V as AgentToolSuspendedArgs, W as AgentTraceInfo, X as AgentTraceOptions } from '../types-BUEZMBhO.js';
1
+ export { y as AgentGenerationEndArgs, z as AgentGenerationErrorArgs, B as AgentGenerationModelInfo, C as AgentGenerationObserver, D as AgentGenerationStartArgs, E as AgentGenerationUpdateArgs, F as AgentObservabilityOptions, G as AgentObserver, H as AgentObserverErrorPolicy, I as AgentObserverMap, J as AgentObserverTraceInfo, K as AgentRunEndArgs, L as AgentRunErrorArgs, M as AgentRunEventArgs, N as AgentRunObserver, O as AgentRunPromptRef, P as AgentRunStartArgs, Q as AgentToolEndArgs, R as AgentToolErrorArgs, S as AgentToolObserver, T as AgentToolStartArgs, U as AgentToolStreamEventArgs, V as AgentToolSuspendedArgs, W as AgentTraceInfo, X as AgentTraceOptions } from '../types-ChH_bdtR.js';
2
2
  import '../agent/interactions/index.js';
3
3
  import 'zod';
4
4
  import '../types-DgvozfPc.js';
@@ -1,6 +1,7 @@
1
1
  import {
2
2
  AgentObserverDispatchError
3
- } from "../chunk-AR2K73CJ.js";
3
+ } from "../chunk-34EDX4ZL.js";
4
+ import "../chunk-KSKST3KP.js";
4
5
  import "../chunk-D4PACGPA.js";
5
6
  import "../chunk-TB5EKZM7.js";
6
7
  import "../chunk-7JLAIN6E.js";
@@ -1,5 +1,5 @@
1
- import { g as AgentInteractionOutcome, f as AgentInput, o as AgentRunSettings } from '../types-BUEZMBhO.js';
2
- import { A as Agent } from '../agent-DYfzP-n5.js';
1
+ import { g as AgentInteractionOutcome, X as AgentTraceOptions, J as AgentObserverTraceInfo, H as AgentObserverErrorPolicy, W as AgentTraceInfo, f as AgentInput, o as AgentRunSettings } from '../types-ChH_bdtR.js';
2
+ import { A as Agent } from '../agent-fvQIBLBk.js';
3
3
  import { J as JsonObject, c as CompletionModel } from '../types-DgvozfPc.js';
4
4
  import { ExtractOptions } from '../extractor/index.js';
5
5
  import { z } from 'zod';
@@ -22,6 +22,15 @@ declare class PipelineAgentSuspensionError extends Error {
22
22
  readonly result: AgentInteractionOutcome;
23
23
  constructor(result: AgentInteractionOutcome);
24
24
  }
25
+ type PipelineObserverFailure = {
26
+ readonly observer: string;
27
+ readonly error: unknown;
28
+ };
29
+ declare class PipelineObserverDispatchError extends AggregateError {
30
+ readonly phase: string;
31
+ readonly failures: readonly PipelineObserverFailure[];
32
+ constructor(phase: string, failures: readonly PipelineObserverFailure[]);
33
+ }
25
34
 
26
35
  type PipelineMetadata = {
27
36
  id?: string | undefined;
@@ -35,6 +44,7 @@ type PipelineOptions<Input, Parsed = Input> = {
35
44
  name?: string | undefined;
36
45
  description?: string | undefined;
37
46
  metadata?: JsonObject | undefined;
47
+ observability?: PipelineObservabilityOptions | undefined;
38
48
  };
39
49
  type PipelineStageMetadata = {
40
50
  id: string;
@@ -93,10 +103,69 @@ type PipelineRunEvent = (PipelineRunEventBase & {
93
103
  type PipelineRunObserver = {
94
104
  onEvent(event: PipelineRunEvent): void | Promise<void>;
95
105
  };
106
+ type PipelineTraceOptions = Omit<AgentTraceOptions, "promptRef">;
107
+ type PipelineTraceInfo = AgentTraceInfo;
108
+ type PipelineObserverTraceInfo = AgentObserverTraceInfo;
109
+ type PipelineObserverErrorPolicy = AgentObserverErrorPolicy;
110
+ type PipelineRunStartArgs = {
111
+ readonly runId: string;
112
+ readonly pipelineId: string;
113
+ readonly pipelineName?: string | undefined;
114
+ readonly pipelineDescription?: string | undefined;
115
+ readonly pipelineMetadata?: JsonObject | undefined;
116
+ readonly runMetadata?: JsonObject | undefined;
117
+ readonly trace?: PipelineTraceOptions | undefined;
118
+ readonly input: unknown;
119
+ };
120
+ type PipelineRunEndArgs = {
121
+ readonly runId: string;
122
+ readonly pipelineId: string;
123
+ readonly output: unknown;
124
+ readonly durationMs: number;
125
+ };
126
+ type PipelineRunErrorArgs = {
127
+ readonly runId: string;
128
+ readonly pipelineId: string;
129
+ readonly status: "failed" | "cancelled";
130
+ readonly error: unknown;
131
+ readonly durationMs: number;
132
+ };
133
+ type PipelineStageStartArgs = Readonly<PipelineRunEventBase> & {
134
+ readonly input: unknown;
135
+ };
136
+ type PipelineStageEndArgs = Readonly<PipelineRunEventBase> & {
137
+ readonly output: unknown;
138
+ readonly durationMs: number;
139
+ };
140
+ type PipelineStageErrorArgs = Readonly<PipelineRunEventBase> & {
141
+ readonly error: unknown;
142
+ readonly durationMs: number;
143
+ };
144
+ interface PipelineStageObservation {
145
+ readonly trace?: PipelineObserverTraceInfo | undefined;
146
+ end(args: PipelineStageEndArgs): void | Promise<void>;
147
+ error?(args: PipelineStageErrorArgs): void | Promise<void>;
148
+ }
149
+ interface PipelineRunObservation {
150
+ readonly trace?: PipelineObserverTraceInfo | undefined;
151
+ startStage?(args: PipelineStageStartArgs): PipelineStageObservation | undefined | Promise<PipelineStageObservation | undefined>;
152
+ end(args: PipelineRunEndArgs): void | Promise<void>;
153
+ error?(args: PipelineRunErrorArgs): void | Promise<void>;
154
+ }
155
+ interface PipelineObserver {
156
+ startRun(args: PipelineRunStartArgs): PipelineRunObservation | undefined | Promise<PipelineRunObservation | undefined>;
157
+ }
158
+ type PipelineObserverMap = Readonly<Record<string, PipelineObserver>>;
159
+ type PipelineObservabilityOptions<Observers extends PipelineObserverMap = PipelineObserverMap> = {
160
+ readonly observers: Observers;
161
+ readonly primaryTrace?: Extract<keyof Observers, string> | undefined;
162
+ readonly errorPolicy?: PipelineObserverErrorPolicy | undefined;
163
+ };
96
164
  type PipelineRunOptions<Input> = {
97
165
  input: Input;
98
166
  runId?: string | undefined;
99
167
  metadata?: JsonObject | undefined;
168
+ trace?: PipelineTraceOptions | undefined;
100
169
  abortSignal?: AbortSignal | undefined;
101
170
  observer?: PipelineRunObserver | undefined;
102
171
  failOnObserverError?: boolean | undefined;
@@ -104,11 +173,13 @@ type PipelineRunOptions<Input> = {
104
173
  type PipelineRunResult<Output> = {
105
174
  runId: string;
106
175
  output: Awaited<Output>;
176
+ trace?: PipelineTraceInfo | undefined;
107
177
  };
108
178
  type PipelineBatchOptions<Input> = {
109
179
  inputs: Iterable<Input>;
110
180
  concurrency: number;
111
181
  metadata?: JsonObject | undefined;
182
+ trace?: PipelineTraceOptions | undefined;
112
183
  abortSignal?: AbortSignal | undefined;
113
184
  observer?: PipelineRunObserver | undefined;
114
185
  failOnObserverError?: boolean | undefined;
@@ -117,6 +188,7 @@ type PipelineBatchItem<Output> = {
117
188
  status: "completed";
118
189
  runId: string;
119
190
  output: Awaited<Output>;
191
+ trace?: PipelineTraceInfo | undefined;
120
192
  } | {
121
193
  status: "failed";
122
194
  runId: string;
@@ -152,6 +224,7 @@ declare class Pipeline<Input, Output = Input> {
152
224
  readonly name: string | undefined;
153
225
  readonly description: string | undefined;
154
226
  readonly metadata: JsonObject | undefined;
227
+ readonly observability: PipelineOptions<Input>["observability"];
155
228
  private readonly executor;
156
229
  private readonly state;
157
230
  constructor(options: PipelineOptions<Input, Output>);
@@ -167,4 +240,4 @@ declare class Pipeline<Input, Output = Input> {
167
240
  private execute;
168
241
  }
169
242
 
170
- export { type ParallelOutput, Pipeline, type PipelineAgentOptions, PipelineAgentSuspensionError, type PipelineBatchItem, type PipelineBatchOptions, type PipelineComposeOptions, type PipelineExtractOptions, type PipelineGraph, type PipelineGraphEdge, type PipelineGraphNode, type PipelineMetadata, type PipelineNodePath, type PipelineOptions, type PipelineParallelOptions, type PipelineRunEvent, type PipelineRunObserver, type PipelineRunOptions, type PipelineRunResult, type PipelineStageContext, type PipelineStageKind, type PipelineStageMetadata, type PipelineStepOptions };
243
+ export { type ParallelOutput, Pipeline, type PipelineAgentOptions, PipelineAgentSuspensionError, type PipelineBatchItem, type PipelineBatchOptions, type PipelineComposeOptions, type PipelineExtractOptions, type PipelineGraph, type PipelineGraphEdge, type PipelineGraphNode, type PipelineMetadata, type PipelineNodePath, type PipelineObservabilityOptions, type PipelineObserver, PipelineObserverDispatchError, type PipelineObserverErrorPolicy, type PipelineObserverFailure, type PipelineObserverMap, type PipelineObserverTraceInfo, type PipelineOptions, type PipelineParallelOptions, type PipelineRunEndArgs, type PipelineRunErrorArgs, type PipelineRunEvent, type PipelineRunObservation, type PipelineRunObserver, type PipelineRunOptions, type PipelineRunResult, type PipelineRunStartArgs, type PipelineStageContext, type PipelineStageEndArgs, type PipelineStageErrorArgs, type PipelineStageKind, type PipelineStageMetadata, type PipelineStageObservation, type PipelineStageStartArgs, type PipelineStepOptions, type PipelineTraceInfo, type PipelineTraceOptions };