@agentplat/sessions 0.2.0-beta.7 → 0.2.0-beta.9

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,17 @@ 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. Implement the exported
36
+ `SessionRegistry` interface to use a shared control channel such as Redis.
37
+
27
38
  For browser clients, use `createSessionEventReducer` with
28
39
  `subscribeAgentSse` from `@agentplat/streaming`. Sessions can also emit
29
40
  append-only `SessionEventRecord` values through `eventSink`; choose
package/dist/http.d.ts ADDED
@@ -0,0 +1,58 @@
1
+ import type { AgentPlatID } from '@agentplat/core';
2
+ import type { StreamEvent } from '@agentplat/runtime';
3
+ /** A live session control record owned by an application transport. */
4
+ export interface SessionHandle {
5
+ sessionId: AgentPlatID;
6
+ stopSignal: AbortSignal;
7
+ stop(reason?: string): boolean;
8
+ /** Timestamp used by local registries to reap abandoned controls. */
9
+ expiresAt?: number;
10
+ }
11
+ /** Replaceable store for live session stop controls (in-memory, Redis, etc.). */
12
+ export interface SessionRegistry {
13
+ create(sessionId?: AgentPlatID): SessionHandle;
14
+ get(sessionId: AgentPlatID): SessionHandle | undefined;
15
+ stop(sessionId: AgentPlatID, reason?: string): boolean;
16
+ release(sessionId: AgentPlatID): void;
17
+ /** Remove expired local controls and return the number removed. */
18
+ reap(): number;
19
+ }
20
+ /** Options for the local in-memory session registry. */
21
+ export interface SessionRegistryOptions {
22
+ idGenerator?: () => AgentPlatID;
23
+ /** Idle lifetime for a local handle. Defaults to 30 minutes. */
24
+ ttlMs?: number;
25
+ clock?: () => number;
26
+ }
27
+ /**
28
+ * In-memory registry for local and single-process deployments.
29
+ *
30
+ * Multi-instance deployments should implement `SessionRegistry` with their
31
+ * own shared control channel; never expose the stop endpoint without auth.
32
+ */
33
+ export declare function createSessionRegistry(options?: SessionRegistryOptions): SessionRegistry;
34
+ /** Explicit alias for deployments that want local/TTL semantics called out in code. */
35
+ export declare const createMemorySessionRegistry: typeof createSessionRegistry;
36
+ /** Inputs passed to a registered session SSE event factory. */
37
+ export interface RegisteredSessionInput {
38
+ sessionId: AgentPlatID;
39
+ signal: AbortSignal;
40
+ stopSignal: AbortSignal;
41
+ }
42
+ /**
43
+ * Create a Next App Router-compatible SSE response with a registered,
44
+ * server-owned cooperative stop control. The registry entry is removed when
45
+ * the stream finishes or the client disconnects.
46
+ */
47
+ export declare function toRegisteredSessionSseResponse<TEvent extends StreamEvent>(request: Request, registry: SessionRegistry, events: (input: RegisteredSessionInput) => AsyncIterable<TEvent>, sessionId?: AgentPlatID): Response;
48
+ /**
49
+ * Minimal Fetch handler for `POST /sessions/:sessionId/stop`.
50
+ *
51
+ * Authorize through `options.authorize` before a cooperative stop is applied.
52
+ */
53
+ export interface SessionStopOptions {
54
+ /** Return false for 403, or return a custom Response such as 401/404. */
55
+ authorize?: (request: Request, sessionId: AgentPlatID) => boolean | Response | Promise<boolean | Response>;
56
+ }
57
+ export declare function handleSessionStop(request: Request, registry: SessionRegistry, sessionId: AgentPlatID, options?: SessionStopOptions): Promise<Response>;
58
+ //# sourceMappingURL=http.d.ts.map
@@ -0,0 +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;IAC/B,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;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;IACtC,mEAAmE;IACnE,IAAI,IAAI,MAAM,CAAC;CAChB;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,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,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 ADDED
@@ -0,0 +1,102 @@
1
+ import { toNextSseResponse } from '@agentplat/streaming';
2
+ /**
3
+ * In-memory registry for local and single-process deployments.
4
+ *
5
+ * Multi-instance deployments should implement `SessionRegistry` with their
6
+ * own shared control channel; never expose the stop endpoint without auth.
7
+ */
8
+ export function createSessionRegistry(options = {}) {
9
+ const handles = new Map();
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
+ };
24
+ return {
25
+ create(sessionId = idGenerator()) {
26
+ reap();
27
+ const existing = handles.get(sessionId);
28
+ if (existing)
29
+ return existing;
30
+ const controller = new AbortController();
31
+ const handle = {
32
+ sessionId,
33
+ stopSignal: controller.signal,
34
+ stop(reason) {
35
+ if (controller.signal.aborted)
36
+ return false;
37
+ controller.abort(reason);
38
+ return true;
39
+ },
40
+ expiresAt: clock() + ttlMs,
41
+ };
42
+ handles.set(sessionId, handle);
43
+ return handle;
44
+ },
45
+ get(sessionId) {
46
+ reap();
47
+ return handles.get(sessionId);
48
+ },
49
+ stop(sessionId, reason) {
50
+ reap();
51
+ return handles.get(sessionId)?.stop(reason) ?? false;
52
+ },
53
+ release(sessionId) {
54
+ handles.delete(sessionId);
55
+ },
56
+ reap,
57
+ };
58
+ }
59
+ /** Explicit alias for deployments that want local/TTL semantics called out in code. */
60
+ export const createMemorySessionRegistry = createSessionRegistry;
61
+ /**
62
+ * Create a Next App Router-compatible SSE response with a registered,
63
+ * server-owned cooperative stop control. The registry entry is removed when
64
+ * the stream finishes or the client disconnects.
65
+ */
66
+ export function toRegisteredSessionSseResponse(request, registry, events, sessionId) {
67
+ const handle = registry.create(sessionId);
68
+ return toNextSseResponse(request, async function* (signal) {
69
+ try {
70
+ yield* events({
71
+ sessionId: handle.sessionId,
72
+ signal,
73
+ stopSignal: handle.stopSignal,
74
+ });
75
+ }
76
+ finally {
77
+ registry.release(handle.sessionId);
78
+ }
79
+ });
80
+ }
81
+ export async function handleSessionStop(request, registry, sessionId, options = {}) {
82
+ if (request.method.toUpperCase() !== 'POST') {
83
+ return Response.json({ error: 'method_not_allowed' }, { status: 405 });
84
+ }
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 = registry.stop(sessionId, 'stopped_by_client');
94
+ return Response.json({ sessionId, stopped }, { status: stopped ? 202 : 404 });
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
+ }
102
+ //# sourceMappingURL=http.js.map
@@ -0,0 +1 @@
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. */
@@ -134,6 +160,7 @@ export interface SessionTurnView {
134
160
  speaker: SessionSpeakerRef;
135
161
  round: number;
136
162
  turn: number;
163
+ createdAt: string;
137
164
  content: string;
138
165
  status: 'running' | 'completed' | 'failed';
139
166
  usage?: AgentUsage;
@@ -153,9 +180,19 @@ export interface SessionViewState {
153
180
  usage: SessionUsage;
154
181
  /** Sum of provider-reported completed-turn latency. */
155
182
  totalLatencyMs: number;
183
+ /** Stable live metrics snapshot for dashboards and transport controllers. */
184
+ metrics: SessionMetrics;
185
+ /** Sum of estimates supplied by the configured cost estimator. */
186
+ estimatedCostUsd: number;
156
187
  stopReason?: SessionStopReason;
157
188
  stopDetail?: string;
158
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;
159
196
  }
160
197
  /** Pure reducer for `MultiAgentSessionEvent` values received over SSE or in-process. */
161
198
  export interface SessionEventReducer {
@@ -170,6 +207,7 @@ export interface SessionMetrics extends JsonObject {
170
207
  reportedTurns: number;
171
208
  turnsCompleted: number;
172
209
  durationMs: number;
210
+ estimatedCostUsd: number;
173
211
  }
174
212
  /** Compact speaker identity transported in session event payloads. */
175
213
  export interface SessionSpeakerRef extends JsonObject {
@@ -186,6 +224,7 @@ export interface SessionTurnPayload extends SessionEventPayload {
186
224
  speaker: SessionSpeakerRef;
187
225
  round: number;
188
226
  turn: number;
227
+ createdAt: string;
189
228
  }
190
229
  /** Payload emitted when a session starts. */
191
230
  export interface SessionStartedPayload extends SessionEventPayload {
@@ -200,6 +239,8 @@ export type SessionTurnCompletedPayload = SessionTurnPayload & {
200
239
  latencyMs: number;
201
240
  model?: string;
202
241
  finishReason?: string;
242
+ estimatedCostUsd?: number;
243
+ totalEstimatedCostUsd?: number;
203
244
  };
204
245
  /** Payload that keeps provider tool details scoped to their session turn. */
205
246
  export type SessionToolPayload = SessionTurnPayload & {
@@ -218,6 +259,16 @@ export type SessionFailurePayload = SessionTurnPayload & {
218
259
  reason: 'failed';
219
260
  detail?: string;
220
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
+ };
221
272
  /** Payload emitted as the final event in a session stream. */
222
273
  export type SessionCompletedPayload = SessionEventPayload & {
223
274
  status: 'completed' | 'aborted' | 'failed';
@@ -226,6 +277,7 @@ export type SessionCompletedPayload = SessionEventPayload & {
226
277
  roundsCompleted: number;
227
278
  turnsCompleted: number;
228
279
  usage: SessionUsage;
280
+ estimatedCostUsd?: number;
229
281
  durationMs: number;
230
282
  };
231
283
  /** Typed events emitted by `MultiAgentSession.stream()`. */
@@ -233,7 +285,7 @@ export type MultiAgentSessionEvent = SessionPayloadEvent<'session_started', Sess
233
285
  content: string;
234
286
  }) | SessionPayloadEvent<'tool_call', SessionToolPayload> | SessionPayloadEvent<'tool_result', SessionToolPayload> | (SessionPayloadEvent<'turn_completed', SessionTurnCompletedPayload> & {
235
287
  content: string;
236
- }) | 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> & {
237
289
  content: string;
238
290
  }) | SessionPayloadEvent<'session_completed', SessionCompletedPayload>;
239
291
  type SessionPayloadEvent<TType extends string, TPayload extends JsonObject> = StreamEvent<TType, TPayload> & {
@@ -254,6 +306,10 @@ export declare class MultiAgentSession {
254
306
  private readonly historyLimit;
255
307
  private readonly sessionTimeoutMs?;
256
308
  private readonly turnTimeoutMs?;
309
+ private readonly fallbackPlatform?;
310
+ private readonly maxTokens?;
311
+ private readonly maxTokensBySpeaker;
312
+ private readonly maxCostUsd?;
257
313
  private readonly stopMarkers;
258
314
  private readonly sinkFailureMode;
259
315
  private readonly idGenerator;
@@ -277,6 +333,35 @@ export declare function createPersonaInputBuilder(options?: PersonaInputBuilderO
277
333
  /** Create a pure reducer that maps streamed events into UI-friendly state. */
278
334
  export declare function createSessionEventReducer(): SessionEventReducer;
279
335
  /** Convert a completed session into stable numeric metrics for any backend. */
280
- export declare function sessionMetrics(result: Pick<MultiAgentSessionResult, 'usage' | 'turnsCompleted' | 'durationMs'>): SessionMetrics;
336
+ export declare function sessionMetrics(result: Pick<MultiAgentSessionResult, 'usage' | 'turnsCompleted' | 'durationMs' | 'estimatedCostUsd'>): SessionMetrics;
337
+ /** Export reducer state as lossless session history for a later invocation. */
338
+ export declare function exportSessionHistory(state: Pick<SessionViewState, 'turnOrder' | 'turns'>): SessionMessage[];
339
+ /** Create a speaker and aligned persona from a form-friendly configuration DTO. */
340
+ export interface SpeakerDefinitionInput {
341
+ id: AgentPlatID;
342
+ name: string;
343
+ platform: string;
344
+ instructions?: string;
345
+ role?: string;
346
+ goals?: string[];
347
+ constraints?: string[];
348
+ peerDescription?: string;
349
+ description?: string;
350
+ modelName?: string;
351
+ config?: JsonObject;
352
+ metadata?: Metadata;
353
+ }
354
+ export declare function defineSpeaker(input: SpeakerDefinitionInput): {
355
+ speaker: SessionSpeaker;
356
+ persona: SessionPersona;
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;
281
366
  export {};
282
367
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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,cAAc,GACd,aAAa,GACb,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,yFAAyF;IACzF,gBAAgB,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAAC;IACnD,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,kBAAkB,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACjD,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,MAAM,CAAC;IAC1D,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,wFAAwF;AACxF,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,oFAAoF;IACpF,aAAa,CAAC,EAAE,IAAI,CAAC;CACtB;AAED,2EAA2E;AAC3E,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,UAAU,CAAC;IAClB,cAAc,EAAE,YAAY,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;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,0DAA0D;IAC1D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,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,kEAAkE;IAClE,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,WAAW,EAAE,OAAO,CAAC;IACrB,wEAAwE;IACxE,SAAS,EAAE,OAAO,CAAC;IACnB,yEAAyE;IACzE,MAAM,EAAE,OAAO,CAAC;CACjB;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;IACnB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;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;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC,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,8EAA8E;AAC9E,MAAM,MAAM,wBAAwB,GAAG,qBAAqB,GAAG;IAC7D,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,2FAA2F;AAC3F,MAAM,MAAM,8BAA8B,GAAG,kBAAkB,GAAG;IAChE,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,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,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,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,mBAAmB,CAAC,aAAa,EAAE,wBAAwB,CAAC,GAC5D,mBAAmB,CAAC,mBAAmB,EAAE,8BAA8B,CAAC,GACxE,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;IAiBhB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAhBpC,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,gBAAgB,CAAC,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA8B;IACjE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAS;IACrC,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;IAsD9D,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;YAwaP,YAAY;IA+B3B,OAAO,CAAC,eAAe;IAoBvB,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,GAAG,kBAAkB,CAC/D,GACA,cAAc,CAUhB;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;AAED,yFAAyF;AACzF,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,UAAU,CAAC;CACvB;AAED,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAU/D"}
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',
@@ -116,6 +130,7 @@ export class MultiAgentSession {
116
130
  speaker: speakerRef(speaker),
117
131
  round,
118
132
  turn,
133
+ createdAt: this.clock().toISOString(),
119
134
  };
120
135
  yield {
121
136
  type: 'speaker_changed',
@@ -129,88 +144,126 @@ export class MultiAgentSession {
129
144
  let output = '';
130
145
  let completion;
131
146
  let turnFailure;
132
- const agent = this.agentDefinition(speaker);
133
147
  try {
134
- const runInput = this.buildInput({
135
- sessionId,
136
- scenario: input.input,
137
- speaker,
138
- round,
139
- turn,
140
- history,
141
- metadata: input.metadata,
142
- });
143
- for await (const event of this.options.runtime.stream(agent, runInput, {
144
- tenant: this.tenant,
145
- runId: turnId,
146
- agentId: speaker.id,
147
- signal: executionSignal.signal,
148
- credentials: this.credentials,
149
- policies: sessionPolicies,
150
- metadata: {
151
- ...(input.metadata ?? {}),
152
- sessionId,
153
- speakerId: speaker.id,
154
- round,
155
- turn,
156
- },
157
- })) {
158
- switch (event.type) {
159
- case 'started':
160
- break;
161
- case 'token':
162
- output += event.content;
163
- yield {
164
- type: 'token',
165
- runId: turnId,
166
- content: event.content,
167
- payload: turnPayload,
168
- };
169
- break;
170
- case 'tool_call':
171
- case 'tool_result':
172
- yield {
173
- type: event.type,
174
- runId: turnId,
175
- content: event.content,
176
- payload: {
177
- ...turnPayload,
178
- ...(event.payload
179
- ? { runtimePayload: event.payload }
180
- : {}),
181
- },
182
- };
183
- break;
184
- case 'completed':
185
- output = event.content ?? output;
186
- completion = event.payload;
187
- break;
188
- case 'failed':
189
- turnFailure = event.content;
190
- 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;
191
263
  }
192
- }
193
- if (sessionTimeout.timedOut || turnTimeout.timedOut) {
194
- stopReason = 'timeout';
195
- stopDetail = sessionTimeout.timedOut
196
- ? 'Session timed out'
197
- : 'Turn timed out';
198
- }
199
- }
200
- catch (error) {
201
- if (sessionTimeout.timedOut || turnTimeout.timedOut) {
202
- stopReason = 'timeout';
203
- stopDetail = sessionTimeout.timedOut
204
- ? 'Session timed out'
205
- : 'Turn timed out';
206
- }
207
- else if (input.signal?.aborted) {
208
- stopReason = 'aborted';
209
- stopDetail = abortMessage(input.signal);
210
- }
211
- else {
212
264
  stopReason = 'failed';
213
- stopDetail = turnFailure ?? errorMessage(error);
265
+ stopDetail = turnFailure;
266
+ break;
214
267
  }
215
268
  }
216
269
  finally {
@@ -240,6 +293,20 @@ export class MultiAgentSession {
240
293
  }
241
294
  const reportedUsage = normalizedUsage(completion?.usage);
242
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;
243
310
  turnsCompleted = turn;
244
311
  roundsCompleted = round;
245
312
  const message = {
@@ -248,7 +315,7 @@ export class MultiAgentSession {
248
315
  content: output,
249
316
  round,
250
317
  turn,
251
- createdAt: this.clock().toISOString(),
318
+ createdAt: turnPayload.createdAt,
252
319
  };
253
320
  history.push(message);
254
321
  if (history.length > this.historyLimit)
@@ -266,8 +333,32 @@ export class MultiAgentSession {
266
333
  ...(completion?.finishReason
267
334
  ? { finishReason: completion.finishReason }
268
335
  : {}),
336
+ ...(turnCostUsd !== undefined
337
+ ? { estimatedCostUsd: turnCostUsd }
338
+ : {}),
339
+ ...(this.options.estimateCostUsd
340
+ ? { totalEstimatedCostUsd: estimatedCostUsd }
341
+ : {}),
269
342
  },
270
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
+ }
271
362
  if (input.stopSignal?.aborted) {
272
363
  stopReason = 'stopped';
273
364
  stopDetail = cooperativeStopMessage(input.stopSignal);
@@ -352,6 +443,7 @@ export class MultiAgentSession {
352
443
  turnsCompleted,
353
444
  history: cloneHistory(history),
354
445
  usage: { ...usage },
446
+ ...(this.options.estimateCostUsd ? { estimatedCostUsd } : {}),
355
447
  durationMs: elapsedMilliseconds(startedAt),
356
448
  };
357
449
  onResult?.(result);
@@ -366,6 +458,7 @@ export class MultiAgentSession {
366
458
  roundsCompleted,
367
459
  turnsCompleted,
368
460
  usage: { ...usage },
461
+ ...(this.options.estimateCostUsd ? { estimatedCostUsd } : {}),
369
462
  durationMs: result.durationMs,
370
463
  },
371
464
  };
@@ -400,7 +493,7 @@ export class MultiAgentSession {
400
493
  yield event;
401
494
  }
402
495
  }
403
- agentDefinition(speaker) {
496
+ agentDefinition(speaker, platform = speaker.platform) {
404
497
  const now = this.clock().toISOString();
405
498
  return {
406
499
  id: speaker.id,
@@ -408,7 +501,7 @@ export class MultiAgentSession {
408
501
  name: speaker.name,
409
502
  description: speaker.description,
410
503
  instructions: speaker.instructions,
411
- platform: speaker.platform,
504
+ platform,
412
505
  modelName: speaker.modelName,
413
506
  config: speaker.config,
414
507
  metadata: speaker.metadata,
@@ -484,8 +577,66 @@ export function sessionMetrics(result) {
484
577
  reportedTurns: result.usage.reportedTurns,
485
578
  turnsCompleted: result.turnsCompleted,
486
579
  durationMs: result.durationMs,
580
+ estimatedCostUsd: result.estimatedCostUsd ?? 0,
581
+ };
582
+ }
583
+ /** Export reducer state as lossless session history for a later invocation. */
584
+ export function exportSessionHistory(state) {
585
+ return state.turnOrder.flatMap((turnId) => {
586
+ const turn = state.turns[turnId];
587
+ if (!turn || turn.status !== 'completed')
588
+ return [];
589
+ return [
590
+ {
591
+ speakerId: turn.speaker.id,
592
+ speakerName: turn.speaker.name,
593
+ content: turn.content,
594
+ round: turn.round,
595
+ turn: turn.turn,
596
+ createdAt: turn.createdAt,
597
+ },
598
+ ];
599
+ });
600
+ }
601
+ export function defineSpeaker(input) {
602
+ required(input.id, 'speaker.id');
603
+ required(input.name, 'speaker.name');
604
+ required(input.platform, 'speaker.platform');
605
+ const instructions = input.instructions?.trim() || input.role?.trim();
606
+ required(instructions, 'speaker.instructions or speaker.role');
607
+ return {
608
+ speaker: {
609
+ id: input.id,
610
+ name: input.name,
611
+ instructions,
612
+ platform: input.platform,
613
+ ...(input.description ? { description: input.description } : {}),
614
+ ...(input.modelName ? { modelName: input.modelName } : {}),
615
+ ...(input.config ? { config: structuredClone(input.config) } : {}),
616
+ ...(input.metadata ? { metadata: structuredClone(input.metadata) } : {}),
617
+ },
618
+ persona: {
619
+ ...(input.role ? { role: input.role } : {}),
620
+ ...(input.goals ? { goals: [...input.goals] } : {}),
621
+ ...(input.constraints ? { constraints: [...input.constraints] } : {}),
622
+ ...(input.peerDescription
623
+ ? { peerDescription: input.peerDescription }
624
+ : {}),
625
+ },
487
626
  };
488
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
+ }
489
640
  function validateSpeakers(speakers) {
490
641
  if (!Array.isArray(speakers) || speakers.length < 2) {
491
642
  throw new AgentPlatError('VALIDATION_ERROR', 'A multi-agent session requires at least two speakers');
@@ -554,6 +705,19 @@ function emptySessionViewState() {
554
705
  turnOrder: [],
555
706
  usage: emptyUsage(),
556
707
  totalLatencyMs: 0,
708
+ metrics: {
709
+ inputTokens: 0,
710
+ outputTokens: 0,
711
+ totalTokens: 0,
712
+ reportedTurns: 0,
713
+ turnsCompleted: 0,
714
+ durationMs: 0,
715
+ estimatedCostUsd: 0,
716
+ },
717
+ estimatedCostUsd: 0,
718
+ canSoftStop: false,
719
+ canResume: false,
720
+ isLive: false,
557
721
  };
558
722
  }
559
723
  function reduceSessionEvent(state, event) {
@@ -569,6 +733,9 @@ function reduceSessionEvent(state, event) {
569
733
  next.sessionId = event.payload.sessionId;
570
734
  next.status = 'running';
571
735
  next.speakers = event.payload.speakers.map((speaker) => ({ ...speaker }));
736
+ next.canSoftStop = true;
737
+ next.canResume = false;
738
+ next.isLive = true;
572
739
  return next;
573
740
  case 'speaker_changed':
574
741
  case 'turn_started': {
@@ -579,6 +746,7 @@ function reduceSessionEvent(state, event) {
579
746
  speaker: { ...speaker },
580
747
  round,
581
748
  turn,
749
+ createdAt: event.payload.createdAt,
582
750
  content: '',
583
751
  status: 'running',
584
752
  };
@@ -604,8 +772,17 @@ function reduceSessionEvent(state, event) {
604
772
  if (next.activeTurnId === current.turnId)
605
773
  next.activeTurnId = undefined;
606
774
  next.usage = { ...event.payload.aggregateUsage };
775
+ next.metrics = metricsFromState(next);
776
+ next.estimatedCostUsd =
777
+ event.payload.totalEstimatedCostUsd ?? next.estimatedCostUsd;
778
+ next.metrics.estimatedCostUsd = next.estimatedCostUsd;
779
+ next.canResume = true;
607
780
  return next;
608
781
  }
782
+ case 'turn_failed':
783
+ return next;
784
+ case 'provider_fallback':
785
+ return next;
609
786
  case 'session_failed': {
610
787
  const current = ensureTurn(next, event.payload);
611
788
  current.status = 'failed';
@@ -614,6 +791,9 @@ function reduceSessionEvent(state, event) {
614
791
  next.activeTurnId = undefined;
615
792
  next.status = 'failed';
616
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;
617
797
  return next;
618
798
  }
619
799
  case 'stop_reason':
@@ -627,7 +807,20 @@ function reduceSessionEvent(state, event) {
627
807
  next.stopDetail = event.payload.stopDetail;
628
808
  next.durationMs = event.payload.durationMs;
629
809
  next.activeTurnId = undefined;
810
+ next.metrics = {
811
+ inputTokens: event.payload.usage.inputTokens,
812
+ outputTokens: event.payload.usage.outputTokens,
813
+ totalTokens: event.payload.usage.totalTokens,
814
+ reportedTurns: event.payload.usage.reportedTurns,
815
+ turnsCompleted: event.payload.turnsCompleted,
816
+ durationMs: event.payload.durationMs,
817
+ estimatedCostUsd: event.payload.estimatedCostUsd ?? 0,
818
+ };
819
+ next.estimatedCostUsd = event.payload.estimatedCostUsd ?? 0;
630
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;
631
824
  return next;
632
825
  case 'tool_call':
633
826
  case 'tool_result':
@@ -643,6 +836,7 @@ function ensureTurn(state, payload) {
643
836
  speaker: { ...payload.speaker },
644
837
  round: payload.round,
645
838
  turn: payload.turn,
839
+ createdAt: payload.createdAt,
646
840
  content: '',
647
841
  status: 'running',
648
842
  };
@@ -650,6 +844,46 @@ function ensureTurn(state, payload) {
650
844
  state.turnOrder.push(payload.turnId);
651
845
  return created;
652
846
  }
847
+ function metricsFromState(state) {
848
+ return {
849
+ inputTokens: state.usage.inputTokens,
850
+ outputTokens: state.usage.outputTokens,
851
+ totalTokens: state.usage.totalTokens,
852
+ reportedTurns: state.usage.reportedTurns,
853
+ turnsCompleted: state.turnOrder.filter((turnId) => state.turns[turnId]?.status === 'completed').length,
854
+ durationMs: state.durationMs ?? state.totalLatencyMs,
855
+ estimatedCostUsd: state.estimatedCostUsd,
856
+ };
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
+ }
653
887
  function formatPersona(speaker, persona) {
654
888
  const details = [
655
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.7",
3
+ "version": "0.2.0-beta.9",
4
4
  "description": "Typed ephemeral multi-agent sessions for AgentPlat runtimes.",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -11,6 +11,10 @@
11
11
  ".": {
12
12
  "types": "./dist/index.d.ts",
13
13
  "import": "./dist/index.js"
14
+ },
15
+ "./http": {
16
+ "types": "./dist/http.d.ts",
17
+ "import": "./dist/http.js"
14
18
  }
15
19
  },
16
20
  "files": [
@@ -18,8 +22,9 @@
18
22
  "README.md"
19
23
  ],
20
24
  "dependencies": {
21
- "@agentplat/core": "^0.2.0-beta.7",
22
- "@agentplat/runtime": "^0.2.0-beta.7"
25
+ "@agentplat/runtime": "^0.2.0-beta.9",
26
+ "@agentplat/core": "^0.2.0-beta.9",
27
+ "@agentplat/streaming": "^0.2.0-beta.9"
23
28
  },
24
29
  "publishConfig": {
25
30
  "access": "public"