@agentplat/sessions 0.2.0-beta.8 → 0.3.0-alpha.1

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
@@ -24,6 +24,19 @@ Use Agent Rooms when work must be durable, approval-gated or governed. An
24
24
  optional session sink can record an event trail without changing the scheduler
25
25
  contract.
26
26
 
27
+ For product-ready interactive sessions, the package also provides explicit
28
+ live-to-fallback provider switching (`fallbackPlatform`), token and
29
+ application-estimated cost guardrails, typed UI capability flags, and the
30
+ `buildScenarioInput` helper for simple form-driven scenarios. Fallbacks emit
31
+ `turn_failed` and `provider_fallback`; they are never silent.
32
+
33
+ Use `@agentplat/sessions/http` for a Fetch-compatible stop registry. Its local
34
+ `createMemorySessionRegistry({ ttlMs })` implementation cleans up idle handles,
35
+ and `handleSessionStop` accepts an authorization hook. Use
36
+ `@agentplat/sessions-redis` for a multi-instance pub/sub control path. The Redis
37
+ adapter stores only owner leases; AbortController remains local to the process
38
+ running the stream.
39
+
27
40
  For browser clients, use `createSessionEventReducer` with
28
41
  `subscribeAgentSse` from `@agentplat/streaming`. Sessions can also emit
29
42
  append-only `SessionEventRecord` values through `eventSink`; choose
package/dist/http.d.ts CHANGED
@@ -5,17 +5,27 @@ export interface SessionHandle {
5
5
  sessionId: AgentPlatID;
6
6
  stopSignal: AbortSignal;
7
7
  stop(reason?: string): boolean;
8
+ /** Timestamp used by local registries to reap abandoned controls. */
9
+ expiresAt?: number;
8
10
  }
11
+ export type SessionRegistryResult<T> = T | Promise<T>;
9
12
  /** Replaceable store for live session stop controls (in-memory, Redis, etc.). */
10
13
  export interface SessionRegistry {
11
- create(sessionId?: AgentPlatID): SessionHandle;
12
- get(sessionId: AgentPlatID): SessionHandle | undefined;
13
- stop(sessionId: AgentPlatID, reason?: string): boolean;
14
- release(sessionId: AgentPlatID): void;
14
+ create(sessionId?: AgentPlatID): SessionRegistryResult<SessionHandle>;
15
+ get(sessionId: AgentPlatID): SessionRegistryResult<SessionHandle | undefined>;
16
+ stop(sessionId: AgentPlatID, reason?: string): SessionRegistryResult<boolean>;
17
+ release(sessionId: AgentPlatID): SessionRegistryResult<void>;
18
+ /** Remove expired local controls and return the number removed. */
19
+ reap(): SessionRegistryResult<number>;
20
+ /** Release adapter-owned subscriptions or timers without closing app-owned clients. */
21
+ close?(): SessionRegistryResult<void>;
15
22
  }
16
23
  /** Options for the local in-memory session registry. */
17
24
  export interface SessionRegistryOptions {
18
25
  idGenerator?: () => AgentPlatID;
26
+ /** Idle lifetime for a local handle. Defaults to 30 minutes. */
27
+ ttlMs?: number;
28
+ clock?: () => number;
19
29
  }
20
30
  /**
21
31
  * In-memory registry for local and single-process deployments.
@@ -24,6 +34,8 @@ export interface SessionRegistryOptions {
24
34
  * own shared control channel; never expose the stop endpoint without auth.
25
35
  */
26
36
  export declare function createSessionRegistry(options?: SessionRegistryOptions): SessionRegistry;
37
+ /** Explicit alias for deployments that want local/TTL semantics called out in code. */
38
+ export declare const createMemorySessionRegistry: typeof createSessionRegistry;
27
39
  /** Inputs passed to a registered session SSE event factory. */
28
40
  export interface RegisteredSessionInput {
29
41
  sessionId: AgentPlatID;
@@ -35,11 +47,15 @@ export interface RegisteredSessionInput {
35
47
  * server-owned cooperative stop control. The registry entry is removed when
36
48
  * the stream finishes or the client disconnects.
37
49
  */
38
- export declare function toRegisteredSessionSseResponse<TEvent extends StreamEvent>(request: Request, registry: SessionRegistry, events: (input: RegisteredSessionInput) => AsyncIterable<TEvent>, sessionId?: AgentPlatID): Response;
50
+ export declare function toRegisteredSessionSseResponse<TEvent extends StreamEvent>(request: Request, registry: SessionRegistry, events: (input: RegisteredSessionInput) => AsyncIterable<TEvent>, sessionId?: AgentPlatID): Promise<Response>;
39
51
  /**
40
52
  * Minimal Fetch handler for `POST /sessions/:sessionId/stop`.
41
53
  *
42
- * Authenticate and authorize before invoking this helper in an application.
54
+ * Authorize through `options.authorize` before a cooperative stop is applied.
43
55
  */
44
- export declare function handleSessionStop(request: Request, registry: SessionRegistry, sessionId: AgentPlatID): Response;
56
+ export interface SessionStopOptions {
57
+ /** Return false for 403, or return a custom Response such as 401/404. */
58
+ authorize?: (request: Request, sessionId: AgentPlatID) => boolean | Response | Promise<boolean | Response>;
59
+ }
60
+ export declare function handleSessionStop(request: Request, registry: SessionRegistry, sessionId: AgentPlatID, options?: SessionStopOptions): Promise<Response>;
45
61
  //# sourceMappingURL=http.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,uEAAuE;AACvE,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,WAAW,CAAC;IACvB,UAAU,EAAE,WAAW,CAAC;IACxB,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAChC;AAED,iFAAiF;AACjF,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,SAAS,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC;IAC/C,GAAG,CAAC,SAAS,EAAE,WAAW,GAAG,aAAa,GAAG,SAAS,CAAC;IACvD,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACvD,OAAO,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC;CACvC;AAED,wDAAwD;AACxD,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,EAAE,MAAM,WAAW,CAAC;CACjC;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,GAAE,sBAA2B,GACnC,eAAe,CA+BjB;AAED,+DAA+D;AAC/D,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,WAAW,CAAC;IACvB,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,WAAW,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,SAAS,WAAW,EACvE,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,eAAe,EACzB,MAAM,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,aAAa,CAAC,MAAM,CAAC,EAChE,SAAS,CAAC,EAAE,WAAW,GACtB,QAAQ,CAaV;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,WAAW,GACrB,QAAQ,CAMV"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,uEAAuE;AACvE,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,WAAW,CAAC;IACvB,UAAU,EAAE,WAAW,CAAC;IACxB,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC/B,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEtD,iFAAiF;AACjF,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,SAAS,CAAC,EAAE,WAAW,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;IACtE,GAAG,CAAC,SAAS,EAAE,WAAW,GAAG,qBAAqB,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;IAC9E,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC9E,OAAO,CAAC,SAAS,EAAE,WAAW,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC7D,mEAAmE;IACnE,IAAI,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACtC,uFAAuF;IACvF,KAAK,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;CACvC;AAED,wDAAwD;AACxD,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,EAAE,MAAM,WAAW,CAAC;IAChC,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,GAAE,sBAA2B,GACnC,eAAe,CAiDjB;AAED,uFAAuF;AACvF,eAAO,MAAM,2BAA2B,8BAAwB,CAAC;AAEjE,+DAA+D;AAC/D,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,WAAW,CAAC;IACvB,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,WAAW,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAsB,8BAA8B,CAClD,MAAM,SAAS,WAAW,EAE1B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,eAAe,EACzB,MAAM,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,aAAa,CAAC,MAAM,CAAC,EAChE,SAAS,CAAC,EAAE,WAAW,GACtB,OAAO,CAAC,QAAQ,CAAC,CAanB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,yEAAyE;IACzE,SAAS,CAAC,EAAE,CACV,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,WAAW,KACnB,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC;CACvD;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,WAAW,EACtB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,QAAQ,CAAC,CAanB"}
package/dist/http.js CHANGED
@@ -8,8 +8,22 @@ import { toNextSseResponse } from '@agentplat/streaming';
8
8
  export function createSessionRegistry(options = {}) {
9
9
  const handles = new Map();
10
10
  const idGenerator = options.idGenerator ?? (() => globalThis.crypto.randomUUID());
11
+ const ttlMs = positiveTtl(options.ttlMs ?? 30 * 60 * 1_000);
12
+ const clock = options.clock ?? Date.now;
13
+ const reap = () => {
14
+ const now = clock();
15
+ let removed = 0;
16
+ for (const [sessionId, handle] of handles) {
17
+ if (handle.expiresAt !== undefined && handle.expiresAt <= now) {
18
+ handles.delete(sessionId);
19
+ removed += 1;
20
+ }
21
+ }
22
+ return removed;
23
+ };
11
24
  return {
12
25
  create(sessionId = idGenerator()) {
26
+ reap();
13
27
  const existing = handles.get(sessionId);
14
28
  if (existing)
15
29
  return existing;
@@ -23,28 +37,34 @@ export function createSessionRegistry(options = {}) {
23
37
  controller.abort(reason);
24
38
  return true;
25
39
  },
40
+ expiresAt: clock() + ttlMs,
26
41
  };
27
42
  handles.set(sessionId, handle);
28
43
  return handle;
29
44
  },
30
45
  get(sessionId) {
46
+ reap();
31
47
  return handles.get(sessionId);
32
48
  },
33
49
  stop(sessionId, reason) {
50
+ reap();
34
51
  return handles.get(sessionId)?.stop(reason) ?? false;
35
52
  },
36
53
  release(sessionId) {
37
54
  handles.delete(sessionId);
38
55
  },
56
+ reap,
39
57
  };
40
58
  }
59
+ /** Explicit alias for deployments that want local/TTL semantics called out in code. */
60
+ export const createMemorySessionRegistry = createSessionRegistry;
41
61
  /**
42
62
  * Create a Next App Router-compatible SSE response with a registered,
43
63
  * server-owned cooperative stop control. The registry entry is removed when
44
64
  * the stream finishes or the client disconnects.
45
65
  */
46
- export function toRegisteredSessionSseResponse(request, registry, events, sessionId) {
47
- const handle = registry.create(sessionId);
66
+ export async function toRegisteredSessionSseResponse(request, registry, events, sessionId) {
67
+ const handle = await registry.create(sessionId);
48
68
  return toNextSseResponse(request, async function* (signal) {
49
69
  try {
50
70
  yield* events({
@@ -54,20 +74,29 @@ export function toRegisteredSessionSseResponse(request, registry, events, sessio
54
74
  });
55
75
  }
56
76
  finally {
57
- registry.release(handle.sessionId);
77
+ await registry.release(handle.sessionId);
58
78
  }
59
79
  });
60
80
  }
61
- /**
62
- * Minimal Fetch handler for `POST /sessions/:sessionId/stop`.
63
- *
64
- * Authenticate and authorize before invoking this helper in an application.
65
- */
66
- export function handleSessionStop(request, registry, sessionId) {
81
+ export async function handleSessionStop(request, registry, sessionId, options = {}) {
67
82
  if (request.method.toUpperCase() !== 'POST') {
68
83
  return Response.json({ error: 'method_not_allowed' }, { status: 405 });
69
84
  }
70
- const stopped = registry.stop(sessionId, 'stopped_by_client');
85
+ if (options.authorize) {
86
+ const authorization = await options.authorize(request, sessionId);
87
+ if (authorization instanceof Response)
88
+ return authorization;
89
+ if (!authorization) {
90
+ return Response.json({ error: 'forbidden' }, { status: 403 });
91
+ }
92
+ }
93
+ const stopped = await registry.stop(sessionId, 'stopped_by_client');
71
94
  return Response.json({ sessionId, stopped }, { status: stopped ? 202 : 404 });
72
95
  }
96
+ function positiveTtl(value) {
97
+ if (!Number.isFinite(value) || value <= 0) {
98
+ throw new RangeError('ttlMs must be a positive finite number');
99
+ }
100
+ return value;
101
+ }
73
102
  //# sourceMappingURL=http.js.map
package/dist/http.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAuBzD;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,UAAkC,EAAE;IAEpC,MAAM,OAAO,GAAG,IAAI,GAAG,EAA8B,CAAC;IACtD,MAAM,WAAW,GACf,OAAO,CAAC,WAAW,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IAChE,OAAO;QACL,MAAM,CAAC,SAAS,GAAG,WAAW,EAAE;YAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACxC,IAAI,QAAQ;gBAAE,OAAO,QAAQ,CAAC;YAC9B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,MAAM,GAAkB;gBAC5B,SAAS;gBACT,UAAU,EAAE,UAAU,CAAC,MAAM;gBAC7B,IAAI,CAAC,MAAM;oBACT,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO;wBAAE,OAAO,KAAK,CAAC;oBAC5C,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBACzB,OAAO,IAAI,CAAC;gBACd,CAAC;aACF,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC/B,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,GAAG,CAAC,SAAS;YACX,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,MAAM;YACpB,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC;QACvD,CAAC;QACD,OAAO,CAAC,SAAS;YACf,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC;KACF,CAAC;AACJ,CAAC;AASD;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAC5C,OAAgB,EAChB,QAAyB,EACzB,MAAgE,EAChE,SAAuB;IAEvB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC1C,OAAO,iBAAiB,CAAC,OAAO,EAAE,KAAK,SAAS,CAAC,EAAE,MAAM;QACvD,IAAI,CAAC;YACH,KAAK,CAAC,CAAC,MAAM,CAAC;gBACZ,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,MAAM;gBACN,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAgB,EAChB,QAAyB,EACzB,SAAsB;IAEtB,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;QAC5C,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;IAC9D,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AAChF,CAAC"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -28,7 +28,7 @@ export interface SessionUsage extends JsonObject {
28
28
  reportedTurns: number;
29
29
  }
30
30
  /** Stable reasons why an ephemeral session stopped. */
31
- export type SessionStopReason = 'max_rounds' | 'predicate' | 'marker' | 'aborted' | 'stopped' | 'timeout' | 'failed';
31
+ export type SessionStopReason = 'max_rounds' | 'predicate' | 'marker' | 'aborted' | 'stopped' | 'timeout' | 'token_budget' | 'cost_budget' | 'failed';
32
32
  /** State passed to a custom stopping predicate after every completed turn. */
33
33
  export interface SessionStopContext {
34
34
  sessionId: AgentPlatID;
@@ -94,6 +94,16 @@ export interface MultiAgentSessionOptions {
94
94
  sessionTimeoutMs?: number;
95
95
  /** Maximum duration of one speaker turn. */
96
96
  turnTimeoutMs?: number;
97
+ /** Switch all remaining turns to this registered platform after one provider failure. */
98
+ fallbackPlatform?: string | SessionFallbackOptions;
99
+ /** Soft cap for total reported tokens. The completing turn is preserved. */
100
+ maxTokens?: number;
101
+ /** Soft caps for total reported tokens by speaker id. */
102
+ maxTokensBySpeaker?: Record<AgentPlatID, number>;
103
+ /** Soft cap for estimated session cost. Requires `estimateCostUsd`. */
104
+ maxCostUsd?: number;
105
+ /** Converts one completed provider turn into a USD estimate. */
106
+ estimateCostUsd?: (context: SessionCostContext) => number;
97
107
  stopMarkers?: string[];
98
108
  stopWhen?: (context: SessionStopContext) => boolean | SessionStopDecision | Promise<boolean | SessionStopDecision>;
99
109
  buildInput?: (context: SessionInputContext) => AgentRunInput;
@@ -104,6 +114,20 @@ export interface MultiAgentSessionOptions {
104
114
  idGenerator?: () => AgentPlatID;
105
115
  clock?: () => Date;
106
116
  }
117
+ /** Explicit fallback behavior for a session whose live provider becomes unavailable. */
118
+ export interface SessionFallbackOptions {
119
+ platform: string;
120
+ /** Kept for self-documenting configurations; session history is always retained. */
121
+ retainHistory?: true;
122
+ }
123
+ /** Provider usage available to a cost estimator after a turn completes. */
124
+ export interface SessionCostContext {
125
+ speaker: SessionSpeaker;
126
+ usage: AgentUsage;
127
+ aggregateUsage: SessionUsage;
128
+ round: number;
129
+ turn: number;
130
+ }
107
131
  /** Input for one independent session execution. */
108
132
  export interface MultiAgentSessionInput {
109
133
  input: AgentRunInput['input'];
@@ -126,6 +150,8 @@ export interface MultiAgentSessionResult {
126
150
  turnsCompleted: number;
127
151
  history: SessionMessage[];
128
152
  usage: SessionUsage;
153
+ /** Sum returned by `estimateCostUsd`, when configured. */
154
+ estimatedCostUsd?: number;
129
155
  durationMs: number;
130
156
  }
131
157
  /** A UI-oriented projection derived from the public session event stream. */
@@ -156,9 +182,17 @@ export interface SessionViewState {
156
182
  totalLatencyMs: number;
157
183
  /** Stable live metrics snapshot for dashboards and transport controllers. */
158
184
  metrics: SessionMetrics;
185
+ /** Sum of estimates supplied by the configured cost estimator. */
186
+ estimatedCostUsd: number;
159
187
  stopReason?: SessionStopReason;
160
188
  stopDetail?: string;
161
189
  durationMs?: number;
190
+ /** True while a server-side cooperative stop can affect the active session. */
191
+ canSoftStop: boolean;
192
+ /** True once at least one completed turn can be exported as history. */
193
+ canResume: boolean;
194
+ /** Convenience alias for a live stream; false after a terminal event. */
195
+ isLive: boolean;
162
196
  }
163
197
  /** Pure reducer for `MultiAgentSessionEvent` values received over SSE or in-process. */
164
198
  export interface SessionEventReducer {
@@ -173,6 +207,7 @@ export interface SessionMetrics extends JsonObject {
173
207
  reportedTurns: number;
174
208
  turnsCompleted: number;
175
209
  durationMs: number;
210
+ estimatedCostUsd: number;
176
211
  }
177
212
  /** Compact speaker identity transported in session event payloads. */
178
213
  export interface SessionSpeakerRef extends JsonObject {
@@ -204,6 +239,8 @@ export type SessionTurnCompletedPayload = SessionTurnPayload & {
204
239
  latencyMs: number;
205
240
  model?: string;
206
241
  finishReason?: string;
242
+ estimatedCostUsd?: number;
243
+ totalEstimatedCostUsd?: number;
207
244
  };
208
245
  /** Payload that keeps provider tool details scoped to their session turn. */
209
246
  export type SessionToolPayload = SessionTurnPayload & {
@@ -222,6 +259,16 @@ export type SessionFailurePayload = SessionTurnPayload & {
222
259
  reason: 'failed';
223
260
  detail?: string;
224
261
  };
262
+ /** Payload emitted before a failed provider turn is retried or terminates. */
263
+ export type SessionTurnFailedPayload = SessionFailurePayload & {
264
+ platform: string;
265
+ };
266
+ /** Payload emitted when the session changes all remaining turns to a fallback platform. */
267
+ export type SessionProviderFallbackPayload = SessionTurnPayload & {
268
+ fromPlatform: string;
269
+ toPlatform: string;
270
+ detail?: string;
271
+ };
225
272
  /** Payload emitted as the final event in a session stream. */
226
273
  export type SessionCompletedPayload = SessionEventPayload & {
227
274
  status: 'completed' | 'aborted' | 'failed';
@@ -230,6 +277,7 @@ export type SessionCompletedPayload = SessionEventPayload & {
230
277
  roundsCompleted: number;
231
278
  turnsCompleted: number;
232
279
  usage: SessionUsage;
280
+ estimatedCostUsd?: number;
233
281
  durationMs: number;
234
282
  };
235
283
  /** Typed events emitted by `MultiAgentSession.stream()`. */
@@ -237,7 +285,7 @@ export type MultiAgentSessionEvent = SessionPayloadEvent<'session_started', Sess
237
285
  content: string;
238
286
  }) | SessionPayloadEvent<'tool_call', SessionToolPayload> | SessionPayloadEvent<'tool_result', SessionToolPayload> | (SessionPayloadEvent<'turn_completed', SessionTurnCompletedPayload> & {
239
287
  content: string;
240
- }) | SessionPayloadEvent<'stop_reason', SessionStopPayload> | (SessionPayloadEvent<'session_failed', SessionFailurePayload> & {
288
+ }) | SessionPayloadEvent<'stop_reason', SessionStopPayload> | SessionPayloadEvent<'turn_failed', SessionTurnFailedPayload> | SessionPayloadEvent<'provider_fallback', SessionProviderFallbackPayload> | (SessionPayloadEvent<'session_failed', SessionFailurePayload> & {
241
289
  content: string;
242
290
  }) | SessionPayloadEvent<'session_completed', SessionCompletedPayload>;
243
291
  type SessionPayloadEvent<TType extends string, TPayload extends JsonObject> = StreamEvent<TType, TPayload> & {
@@ -258,6 +306,10 @@ export declare class MultiAgentSession {
258
306
  private readonly historyLimit;
259
307
  private readonly sessionTimeoutMs?;
260
308
  private readonly turnTimeoutMs?;
309
+ private readonly fallbackPlatform?;
310
+ private readonly maxTokens?;
311
+ private readonly maxTokensBySpeaker;
312
+ private readonly maxCostUsd?;
261
313
  private readonly stopMarkers;
262
314
  private readonly sinkFailureMode;
263
315
  private readonly idGenerator;
@@ -281,7 +333,7 @@ export declare function createPersonaInputBuilder(options?: PersonaInputBuilderO
281
333
  /** Create a pure reducer that maps streamed events into UI-friendly state. */
282
334
  export declare function createSessionEventReducer(): SessionEventReducer;
283
335
  /** Convert a completed session into stable numeric metrics for any backend. */
284
- export declare function sessionMetrics(result: Pick<MultiAgentSessionResult, 'usage' | 'turnsCompleted' | 'durationMs'>): SessionMetrics;
336
+ export declare function sessionMetrics(result: Pick<MultiAgentSessionResult, 'usage' | 'turnsCompleted' | 'durationMs' | 'estimatedCostUsd'>): SessionMetrics;
285
337
  /** Export reducer state as lossless session history for a later invocation. */
286
338
  export declare function exportSessionHistory(state: Pick<SessionViewState, 'turnOrder' | 'turns'>): SessionMessage[];
287
339
  /** Create a speaker and aligned persona from a form-friendly configuration DTO. */
@@ -303,5 +355,13 @@ export declare function defineSpeaker(input: SpeakerDefinitionInput): {
303
355
  speaker: SessionSpeaker;
304
356
  persona: SessionPersona;
305
357
  };
358
+ /** Portable, form-friendly scenario DTO for sessions that do not need a domain model. */
359
+ export interface ScenarioInput {
360
+ topic: string;
361
+ title?: string;
362
+ metadata?: JsonObject;
363
+ }
364
+ /** Format a structured scenario consistently before it becomes a session prompt. */
365
+ export declare function buildScenarioInput(input: ScenarioInput): string;
306
366
  export {};
307
367
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,QAAQ,EACR,aAAa,EACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAGV,aAAa,EACb,YAAY,EACZ,UAAU,EACV,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAQ5B,6DAA6D;AAC7D,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,WAAW,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,kEAAkE;AAClE,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,WAAW,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,iEAAiE;AACjE,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,uDAAuD;AACvD,MAAM,MAAM,iBAAiB,GACzB,YAAY,GACZ,WAAW,GACX,QAAQ,GACR,SAAS,GACT,SAAS,GACT,SAAS,GACT,QAAQ,CAAC;AAEb,8EAA8E;AAC9E,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,WAAW,CAAC;IACvB,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;IACnC,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;CAC/B;AAED,mEAAmE;AACnE,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wEAAwE;AACxE,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,WAAW,CAAC;IACvB,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACjC,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;IACnC,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,kFAAkF;AAClF,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qEAAqE;AACrE,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,0EAA0E;AAC1E,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,WAAW,CAAC;IACrB,QAAQ,EAAE,WAAW,CAAC;IACtB,SAAS,EAAE,WAAW,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,sBAAsB,CAAC;CAC/B;AAED,iFAAiF;AACjF,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD;AAED,oEAAoE;AACpE,MAAM,MAAM,sBAAsB,GAAG,aAAa,GAAG,UAAU,CAAC;AAEhE,yEAAyE;AACzE,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,4CAA4C;IAC5C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,CACT,OAAO,EAAE,kBAAkB,KACxB,OAAO,GAAG,mBAAmB,GAAG,OAAO,CAAC,OAAO,GAAG,mBAAmB,CAAC,CAAC;IAC5E,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,aAAa,CAAC;IAC7D,iFAAiF;IACjF,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,uFAAuF;IACvF,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC,WAAW,CAAC,EAAE,MAAM,WAAW,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,mDAAmD;AACnD,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9B,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,kEAAkE;IAClE,UAAU,CAAC,EAAE,WAAW,CAAC;CAC1B;AAED,mEAAmE;AACnE,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,WAAW,CAAC;IACvB,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC3C,UAAU,EAAE,iBAAiB,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,KAAK,EAAE,YAAY,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,6EAA6E;AAC7E,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC3C,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,4EAA4E;AAC5E,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;IAChE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IAC5C,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,KAAK,EAAE,YAAY,CAAC;IACpB,uDAAuD;IACvD,cAAc,EAAE,MAAM,CAAC;IACvB,6EAA6E;IAC7E,OAAO,EAAE,cAAc,CAAC;IACxB,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wFAAwF;AACxF,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,gBAAgB,CAAC;IAC/B,MAAM,CACJ,KAAK,EAAE,gBAAgB,EACvB,KAAK,EAAE,sBAAsB,GAC5B,gBAAgB,CAAC;CACrB;AAED,+DAA+D;AAC/D,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,sEAAsE;AACtE,MAAM,WAAW,iBAAkB,SAAQ,UAAU;IACnD,EAAE,EAAE,WAAW,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,sDAAsD;AACtD,MAAM,WAAW,mBAAoB,SAAQ,UAAU;IACrD,SAAS,EAAE,WAAW,CAAC;CACxB;AAED,2DAA2D;AAC3D,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC7D,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,6CAA6C;AAC7C,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;IAChE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wDAAwD;AACxD,MAAM,MAAM,2BAA2B,GAAG,kBAAkB,GAAG;IAC7D,KAAK,EAAE,UAAU,CAAC;IAClB,cAAc,EAAE,YAAY,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,6EAA6E;AAC7E,MAAM,MAAM,kBAAkB,GAAG,kBAAkB,GAAG;IACpD,cAAc,CAAC,EAAE,UAAU,CAAC;CAC7B,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,GAAG;IACrD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,0DAA0D;AAC1D,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,GAAG;IACvD,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,8DAA8D;AAC9D,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,GAAG;IAC1D,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC3C,UAAU,EAAE,iBAAiB,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,YAAY,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,4DAA4D;AAC5D,MAAM,MAAM,sBAAsB,GAC9B,mBAAmB,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,GAC7D,mBAAmB,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,GAC1D,mBAAmB,CAAC,cAAc,EAAE,kBAAkB,CAAC,GACvD,CAAC,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,CAAC,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,GACxE,mBAAmB,CAAC,WAAW,EAAE,kBAAkB,CAAC,GACpD,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,GACtD,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,2BAA2B,CAAC,GAAG;IACpE,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC,GACF,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,GACtD,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,GAAG;IAC9D,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC,GACF,mBAAmB,CAAC,mBAAmB,EAAE,uBAAuB,CAAC,CAAC;AAEtE,KAAK,mBAAmB,CACtB,KAAK,SAAS,MAAM,EACpB,QAAQ,SAAS,UAAU,IACzB,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG;IAAE,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEzD;;;;;GAKG;AACH,qBAAa,iBAAiB;IAahB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAZpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAyB;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAW;IACvC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;IACzD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAChD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;gBAEN,OAAO,EAAE,wBAAwB;IA0C9D,oDAAoD;IACpD,MAAM,CAAC,KAAK,EAAE,sBAAsB,GAAG,aAAa,CAAC,sBAAsB,CAAC;IAI5E,sEAAsE;IAChE,GAAG,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;YAkB3D,OAAO;YA+UP,YAAY;IA+B3B,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,UAAU;CAQnB;AAED,uDAAuD;AACvD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,wBAAwB,GAChC,iBAAiB,CAEnB;AAED,gFAAgF;AAChF,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,SAAS,cAAc,EAAE,GACjC,MAAM,CAMR;AAED,2EAA2E;AAC3E,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,0BAA+B,GACvC,CAAC,OAAO,EAAE,mBAAmB,KAAK,aAAa,CAoCjD;AAED,8EAA8E;AAC9E,wBAAgB,yBAAyB,IAAI,mBAAmB,CAE/D;AAED,+EAA+E;AAC/E,wBAAgB,cAAc,CAC5B,MAAM,EAAE,IAAI,CACV,uBAAuB,EACvB,OAAO,GAAG,gBAAgB,GAAG,YAAY,CAC1C,GACA,cAAc,CAShB;AAED,+EAA+E;AAC/E,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,GAAG,OAAO,CAAC,GACnD,cAAc,EAAE,CAelB;AAED,mFAAmF;AACnF,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,WAAW,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,sBAAsB,GAAG;IAC5D,OAAO,EAAE,cAAc,CAAC;IACxB,OAAO,EAAE,cAAc,CAAC;CACzB,CA0BA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -19,6 +19,10 @@ export class MultiAgentSession {
19
19
  historyLimit;
20
20
  sessionTimeoutMs;
21
21
  turnTimeoutMs;
22
+ fallbackPlatform;
23
+ maxTokens;
24
+ maxTokensBySpeaker;
25
+ maxCostUsd;
22
26
  stopMarkers;
23
27
  sinkFailureMode;
24
28
  idGenerator;
@@ -37,6 +41,13 @@ export class MultiAgentSession {
37
41
  this.historyLimit = positiveInteger(options.historyLimit ?? 50, 'historyLimit', 1_000);
38
42
  this.sessionTimeoutMs = optionalTimeout(options.sessionTimeoutMs, 'sessionTimeoutMs');
39
43
  this.turnTimeoutMs = optionalTimeout(options.turnTimeoutMs, 'turnTimeoutMs');
44
+ this.fallbackPlatform = normalizeFallbackPlatform(options.fallbackPlatform);
45
+ this.maxTokens = optionalPositiveNumber(options.maxTokens, 'maxTokens');
46
+ this.maxTokensBySpeaker = normalizeSpeakerBudgets(options.maxTokensBySpeaker);
47
+ this.maxCostUsd = optionalPositiveNumber(options.maxCostUsd, 'maxCostUsd');
48
+ if (this.maxCostUsd !== undefined && !options.estimateCostUsd) {
49
+ throw new AgentPlatError('VALIDATION_ERROR', 'maxCostUsd requires estimateCostUsd');
50
+ }
40
51
  this.stopMarkers = (options.stopMarkers ?? []).map((marker, index) => {
41
52
  required(marker, `stopMarkers[${index}]`);
42
53
  return marker;
@@ -80,6 +91,9 @@ export class MultiAgentSession {
80
91
  let stopReason;
81
92
  let stopDetail;
82
93
  let stopMarker;
94
+ let activePlatform;
95
+ let estimatedCostUsd = 0;
96
+ const tokensBySpeaker = new Map();
83
97
  try {
84
98
  yield {
85
99
  type: 'session_started',
@@ -130,88 +144,126 @@ export class MultiAgentSession {
130
144
  let output = '';
131
145
  let completion;
132
146
  let turnFailure;
133
- const agent = this.agentDefinition(speaker);
134
147
  try {
135
- const runInput = this.buildInput({
136
- sessionId,
137
- scenario: input.input,
138
- speaker,
139
- round,
140
- turn,
141
- history,
142
- metadata: input.metadata,
143
- });
144
- for await (const event of this.options.runtime.stream(agent, runInput, {
145
- tenant: this.tenant,
146
- runId: turnId,
147
- agentId: speaker.id,
148
- signal: executionSignal.signal,
149
- credentials: this.credentials,
150
- policies: sessionPolicies,
151
- metadata: {
152
- ...(input.metadata ?? {}),
153
- sessionId,
154
- speakerId: speaker.id,
155
- round,
156
- turn,
157
- },
158
- })) {
159
- switch (event.type) {
160
- case 'started':
161
- break;
162
- case 'token':
163
- output += event.content;
164
- yield {
165
- type: 'token',
166
- runId: turnId,
167
- content: event.content,
168
- payload: turnPayload,
169
- };
170
- break;
171
- case 'tool_call':
172
- case 'tool_result':
173
- yield {
174
- type: event.type,
175
- runId: turnId,
176
- content: event.content,
177
- payload: {
178
- ...turnPayload,
179
- ...(event.payload
180
- ? { runtimePayload: event.payload }
181
- : {}),
182
- },
183
- };
184
- break;
185
- case 'completed':
186
- output = event.content ?? output;
187
- completion = event.payload;
188
- break;
189
- case 'failed':
190
- turnFailure = event.content;
191
- break;
148
+ for (let attempt = 0; attempt < 2; attempt += 1) {
149
+ const platform = activePlatform ?? speaker.platform;
150
+ const agent = this.agentDefinition(speaker, platform);
151
+ output = '';
152
+ completion = undefined;
153
+ turnFailure = undefined;
154
+ try {
155
+ const runInput = this.buildInput({
156
+ sessionId,
157
+ scenario: input.input,
158
+ speaker,
159
+ round,
160
+ turn,
161
+ history,
162
+ metadata: input.metadata,
163
+ });
164
+ for await (const event of this.options.runtime.stream(agent, runInput, {
165
+ tenant: this.tenant,
166
+ runId: turnId,
167
+ agentId: speaker.id,
168
+ signal: executionSignal.signal,
169
+ credentials: this.credentials,
170
+ policies: sessionPolicies,
171
+ metadata: {
172
+ ...(input.metadata ?? {}),
173
+ sessionId,
174
+ speakerId: speaker.id,
175
+ round,
176
+ turn,
177
+ },
178
+ })) {
179
+ switch (event.type) {
180
+ case 'started':
181
+ break;
182
+ case 'token':
183
+ output += event.content;
184
+ yield {
185
+ type: 'token',
186
+ runId: turnId,
187
+ content: event.content,
188
+ payload: turnPayload,
189
+ };
190
+ break;
191
+ case 'tool_call':
192
+ case 'tool_result':
193
+ yield {
194
+ type: event.type,
195
+ runId: turnId,
196
+ content: event.content,
197
+ payload: {
198
+ ...turnPayload,
199
+ ...(event.payload
200
+ ? { runtimePayload: event.payload }
201
+ : {}),
202
+ },
203
+ };
204
+ break;
205
+ case 'completed':
206
+ output = event.content ?? output;
207
+ completion = event.payload;
208
+ break;
209
+ case 'failed':
210
+ turnFailure = event.content;
211
+ break;
212
+ }
213
+ }
214
+ if (sessionTimeout.timedOut || turnTimeout.timedOut) {
215
+ stopReason = 'timeout';
216
+ stopDetail = sessionTimeout.timedOut
217
+ ? 'Session timed out'
218
+ : 'Turn timed out';
219
+ }
220
+ }
221
+ catch (error) {
222
+ if (sessionTimeout.timedOut || turnTimeout.timedOut) {
223
+ stopReason = 'timeout';
224
+ stopDetail = sessionTimeout.timedOut
225
+ ? 'Session timed out'
226
+ : 'Turn timed out';
227
+ }
228
+ else if (input.signal?.aborted) {
229
+ stopReason = 'aborted';
230
+ stopDetail = abortMessage(input.signal);
231
+ }
232
+ else {
233
+ turnFailure ??= errorMessage(error);
234
+ }
235
+ }
236
+ if (!turnFailure || stopReason)
237
+ break;
238
+ yield {
239
+ type: 'turn_failed',
240
+ runId: turnId,
241
+ payload: {
242
+ ...turnPayload,
243
+ reason: 'failed',
244
+ platform,
245
+ detail: turnFailure,
246
+ },
247
+ };
248
+ if (this.fallbackPlatform &&
249
+ this.fallbackPlatform !== platform &&
250
+ attempt === 0) {
251
+ activePlatform = this.fallbackPlatform;
252
+ yield {
253
+ type: 'provider_fallback',
254
+ runId: turnId,
255
+ payload: {
256
+ ...turnPayload,
257
+ fromPlatform: platform,
258
+ toPlatform: activePlatform,
259
+ detail: turnFailure,
260
+ },
261
+ };
262
+ continue;
192
263
  }
193
- }
194
- if (sessionTimeout.timedOut || turnTimeout.timedOut) {
195
- stopReason = 'timeout';
196
- stopDetail = sessionTimeout.timedOut
197
- ? 'Session timed out'
198
- : 'Turn timed out';
199
- }
200
- }
201
- catch (error) {
202
- if (sessionTimeout.timedOut || turnTimeout.timedOut) {
203
- stopReason = 'timeout';
204
- stopDetail = sessionTimeout.timedOut
205
- ? 'Session timed out'
206
- : 'Turn timed out';
207
- }
208
- else if (input.signal?.aborted) {
209
- stopReason = 'aborted';
210
- stopDetail = abortMessage(input.signal);
211
- }
212
- else {
213
264
  stopReason = 'failed';
214
- stopDetail = turnFailure ?? errorMessage(error);
265
+ stopDetail = turnFailure;
266
+ break;
215
267
  }
216
268
  }
217
269
  finally {
@@ -241,6 +293,20 @@ export class MultiAgentSession {
241
293
  }
242
294
  const reportedUsage = normalizedUsage(completion?.usage);
243
295
  addUsage(usage, reportedUsage, completion?.usage !== undefined);
296
+ const speakerTokens = (tokensBySpeaker.get(speaker.id) ?? 0) +
297
+ (reportedUsage.totalTokens ?? 0);
298
+ tokensBySpeaker.set(speaker.id, speakerTokens);
299
+ const turnCostUsd = this.options.estimateCostUsd
300
+ ? normalizedCost(this.options.estimateCostUsd({
301
+ speaker,
302
+ usage: reportedUsage,
303
+ aggregateUsage: { ...usage },
304
+ round,
305
+ turn,
306
+ }))
307
+ : undefined;
308
+ if (turnCostUsd !== undefined)
309
+ estimatedCostUsd += turnCostUsd;
244
310
  turnsCompleted = turn;
245
311
  roundsCompleted = round;
246
312
  const message = {
@@ -267,8 +333,32 @@ export class MultiAgentSession {
267
333
  ...(completion?.finishReason
268
334
  ? { finishReason: completion.finishReason }
269
335
  : {}),
336
+ ...(turnCostUsd !== undefined
337
+ ? { estimatedCostUsd: turnCostUsd }
338
+ : {}),
339
+ ...(this.options.estimateCostUsd
340
+ ? { totalEstimatedCostUsd: estimatedCostUsd }
341
+ : {}),
270
342
  },
271
343
  };
344
+ if (this.maxTokens !== undefined &&
345
+ usage.totalTokens >= this.maxTokens) {
346
+ stopReason = 'token_budget';
347
+ stopDetail = `Session token budget reached: ${this.maxTokens}`;
348
+ break outer;
349
+ }
350
+ const speakerBudget = this.maxTokensBySpeaker[speaker.id];
351
+ if (speakerBudget !== undefined && speakerTokens >= speakerBudget) {
352
+ stopReason = 'token_budget';
353
+ stopDetail = `Token budget reached for speaker ${speaker.id}: ${speakerBudget}`;
354
+ break outer;
355
+ }
356
+ if (this.maxCostUsd !== undefined &&
357
+ estimatedCostUsd >= this.maxCostUsd) {
358
+ stopReason = 'cost_budget';
359
+ stopDetail = `Session cost budget reached: $${this.maxCostUsd}`;
360
+ break outer;
361
+ }
272
362
  if (input.stopSignal?.aborted) {
273
363
  stopReason = 'stopped';
274
364
  stopDetail = cooperativeStopMessage(input.stopSignal);
@@ -353,6 +443,7 @@ export class MultiAgentSession {
353
443
  turnsCompleted,
354
444
  history: cloneHistory(history),
355
445
  usage: { ...usage },
446
+ ...(this.options.estimateCostUsd ? { estimatedCostUsd } : {}),
356
447
  durationMs: elapsedMilliseconds(startedAt),
357
448
  };
358
449
  onResult?.(result);
@@ -367,6 +458,7 @@ export class MultiAgentSession {
367
458
  roundsCompleted,
368
459
  turnsCompleted,
369
460
  usage: { ...usage },
461
+ ...(this.options.estimateCostUsd ? { estimatedCostUsd } : {}),
370
462
  durationMs: result.durationMs,
371
463
  },
372
464
  };
@@ -401,7 +493,7 @@ export class MultiAgentSession {
401
493
  yield event;
402
494
  }
403
495
  }
404
- agentDefinition(speaker) {
496
+ agentDefinition(speaker, platform = speaker.platform) {
405
497
  const now = this.clock().toISOString();
406
498
  return {
407
499
  id: speaker.id,
@@ -409,7 +501,7 @@ export class MultiAgentSession {
409
501
  name: speaker.name,
410
502
  description: speaker.description,
411
503
  instructions: speaker.instructions,
412
- platform: speaker.platform,
504
+ platform,
413
505
  modelName: speaker.modelName,
414
506
  config: speaker.config,
415
507
  metadata: speaker.metadata,
@@ -485,6 +577,7 @@ export function sessionMetrics(result) {
485
577
  reportedTurns: result.usage.reportedTurns,
486
578
  turnsCompleted: result.turnsCompleted,
487
579
  durationMs: result.durationMs,
580
+ estimatedCostUsd: result.estimatedCostUsd ?? 0,
488
581
  };
489
582
  }
490
583
  /** Export reducer state as lossless session history for a later invocation. */
@@ -532,6 +625,18 @@ export function defineSpeaker(input) {
532
625
  },
533
626
  };
534
627
  }
628
+ /** Format a structured scenario consistently before it becomes a session prompt. */
629
+ export function buildScenarioInput(input) {
630
+ required(input.topic, 'scenario.topic');
631
+ const parts = [
632
+ input.title ? `Scenario: ${input.title}` : undefined,
633
+ `Topic:\n${input.topic}`,
634
+ input.metadata && Object.keys(input.metadata).length
635
+ ? `Metadata:\n${JSON.stringify(input.metadata)}`
636
+ : undefined,
637
+ ].filter((part) => Boolean(part));
638
+ return parts.join('\n\n');
639
+ }
535
640
  function validateSpeakers(speakers) {
536
641
  if (!Array.isArray(speakers) || speakers.length < 2) {
537
642
  throw new AgentPlatError('VALIDATION_ERROR', 'A multi-agent session requires at least two speakers');
@@ -607,7 +712,12 @@ function emptySessionViewState() {
607
712
  reportedTurns: 0,
608
713
  turnsCompleted: 0,
609
714
  durationMs: 0,
715
+ estimatedCostUsd: 0,
610
716
  },
717
+ estimatedCostUsd: 0,
718
+ canSoftStop: false,
719
+ canResume: false,
720
+ isLive: false,
611
721
  };
612
722
  }
613
723
  function reduceSessionEvent(state, event) {
@@ -623,6 +733,9 @@ function reduceSessionEvent(state, event) {
623
733
  next.sessionId = event.payload.sessionId;
624
734
  next.status = 'running';
625
735
  next.speakers = event.payload.speakers.map((speaker) => ({ ...speaker }));
736
+ next.canSoftStop = true;
737
+ next.canResume = false;
738
+ next.isLive = true;
626
739
  return next;
627
740
  case 'speaker_changed':
628
741
  case 'turn_started': {
@@ -660,8 +773,16 @@ function reduceSessionEvent(state, event) {
660
773
  next.activeTurnId = undefined;
661
774
  next.usage = { ...event.payload.aggregateUsage };
662
775
  next.metrics = metricsFromState(next);
776
+ next.estimatedCostUsd =
777
+ event.payload.totalEstimatedCostUsd ?? next.estimatedCostUsd;
778
+ next.metrics.estimatedCostUsd = next.estimatedCostUsd;
779
+ next.canResume = true;
663
780
  return next;
664
781
  }
782
+ case 'turn_failed':
783
+ return next;
784
+ case 'provider_fallback':
785
+ return next;
665
786
  case 'session_failed': {
666
787
  const current = ensureTurn(next, event.payload);
667
788
  current.status = 'failed';
@@ -670,6 +791,9 @@ function reduceSessionEvent(state, event) {
670
791
  next.activeTurnId = undefined;
671
792
  next.status = 'failed';
672
793
  next.stopDetail = event.content;
794
+ next.canSoftStop = false;
795
+ next.canResume = next.turnOrder.some((turnId) => next.turns[turnId]?.status === 'completed');
796
+ next.isLive = false;
673
797
  return next;
674
798
  }
675
799
  case 'stop_reason':
@@ -690,8 +814,13 @@ function reduceSessionEvent(state, event) {
690
814
  reportedTurns: event.payload.usage.reportedTurns,
691
815
  turnsCompleted: event.payload.turnsCompleted,
692
816
  durationMs: event.payload.durationMs,
817
+ estimatedCostUsd: event.payload.estimatedCostUsd ?? 0,
693
818
  };
819
+ next.estimatedCostUsd = event.payload.estimatedCostUsd ?? 0;
694
820
  next.status = event.payload.status;
821
+ next.canSoftStop = false;
822
+ next.canResume = next.turnOrder.some((turnId) => next.turns[turnId]?.status === 'completed');
823
+ next.isLive = false;
695
824
  return next;
696
825
  case 'tool_call':
697
826
  case 'tool_result':
@@ -723,8 +852,38 @@ function metricsFromState(state) {
723
852
  reportedTurns: state.usage.reportedTurns,
724
853
  turnsCompleted: state.turnOrder.filter((turnId) => state.turns[turnId]?.status === 'completed').length,
725
854
  durationMs: state.durationMs ?? state.totalLatencyMs,
855
+ estimatedCostUsd: state.estimatedCostUsd,
726
856
  };
727
857
  }
858
+ function normalizeFallbackPlatform(value) {
859
+ if (!value)
860
+ return undefined;
861
+ const platform = typeof value === 'string' ? value : value.platform;
862
+ required(platform, 'fallbackPlatform');
863
+ return platform.trim();
864
+ }
865
+ function optionalPositiveNumber(value, name) {
866
+ if (value === undefined)
867
+ return undefined;
868
+ if (!Number.isFinite(value) || value <= 0) {
869
+ throw new AgentPlatError('VALIDATION_ERROR', `${name} must be positive`);
870
+ }
871
+ return value;
872
+ }
873
+ function normalizeSpeakerBudgets(budgets) {
874
+ if (!budgets)
875
+ return {};
876
+ return Object.fromEntries(Object.entries(budgets).map(([speakerId, budget]) => [
877
+ speakerId,
878
+ optionalPositiveNumber(budget, `maxTokensBySpeaker.${speakerId}`),
879
+ ]));
880
+ }
881
+ function normalizedCost(value) {
882
+ if (!Number.isFinite(value) || value < 0) {
883
+ throw new AgentPlatError('VALIDATION_ERROR', 'estimateCostUsd must return a non-negative finite number');
884
+ }
885
+ return value;
886
+ }
728
887
  function formatPersona(speaker, persona) {
729
888
  const details = [
730
889
  `You are ${speaker.name}.`,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentplat/sessions",
3
- "version": "0.2.0-beta.8",
3
+ "version": "0.3.0-alpha.1",
4
4
  "description": "Typed ephemeral multi-agent sessions for AgentPlat runtimes.",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -22,9 +22,9 @@
22
22
  "README.md"
23
23
  ],
24
24
  "dependencies": {
25
- "@agentplat/core": "^0.2.0-beta.8",
26
- "@agentplat/runtime": "^0.2.0-beta.8",
27
- "@agentplat/streaming": "^0.2.0-beta.8"
25
+ "@agentplat/core": "^0.3.0-alpha.1",
26
+ "@agentplat/runtime": "^0.3.0-alpha.1",
27
+ "@agentplat/streaming": "^0.3.0-alpha.1"
28
28
  },
29
29
  "publishConfig": {
30
30
  "access": "public"