@framers/agentos 0.12.24 → 0.13.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/README.md +11 -11
  2. package/dist/api/AgentOS.d.ts +15 -0
  3. package/dist/api/AgentOS.d.ts.map +1 -1
  4. package/dist/api/AgentOS.js +82 -0
  5. package/dist/api/AgentOS.js.map +1 -1
  6. package/dist/api/agent.d.ts +7 -3
  7. package/dist/api/agent.d.ts.map +1 -1
  8. package/dist/api/agent.js.map +1 -1
  9. package/dist/api/embedText.d.ts.map +1 -1
  10. package/dist/api/embedText.js +1 -8
  11. package/dist/api/embedText.js.map +1 -1
  12. package/dist/api/gmi.d.ts.map +1 -1
  13. package/dist/api/gmi.js +38 -19
  14. package/dist/api/gmi.js.map +1 -1
  15. package/dist/api/runtime/AgentOSOrchestrator.d.ts.map +1 -1
  16. package/dist/api/runtime/AgentOSOrchestrator.js +23 -0
  17. package/dist/api/runtime/AgentOSOrchestrator.js.map +1 -1
  18. package/dist/api/runtime/agentCognitiveMemory.d.ts +12 -9
  19. package/dist/api/runtime/agentCognitiveMemory.d.ts.map +1 -1
  20. package/dist/api/runtime/agentCognitiveMemory.js +53 -17
  21. package/dist/api/runtime/agentCognitiveMemory.js.map +1 -1
  22. package/dist/api/runtime/completionGateway.d.ts.map +1 -1
  23. package/dist/api/runtime/completionGateway.js +7 -0
  24. package/dist/api/runtime/completionGateway.js.map +1 -1
  25. package/dist/api/runtime/gmiResults.d.ts +63 -6
  26. package/dist/api/runtime/gmiResults.d.ts.map +1 -1
  27. package/dist/api/runtime/gmiResults.js +83 -13
  28. package/dist/api/runtime/gmiResults.js.map +1 -1
  29. package/dist/api/runtime/gmiSession.d.ts +31 -6
  30. package/dist/api/runtime/gmiSession.d.ts.map +1 -1
  31. package/dist/api/runtime/gmiSession.js +144 -44
  32. package/dist/api/runtime/gmiSession.js.map +1 -1
  33. package/dist/api/runtime/gmiTranscript.d.ts +7 -6
  34. package/dist/api/runtime/gmiTranscript.d.ts.map +1 -1
  35. package/dist/api/runtime/gmiTranscript.js +6 -5
  36. package/dist/api/runtime/gmiTranscript.js.map +1 -1
  37. package/dist/api/runtime/provider-defaults.d.ts +9 -0
  38. package/dist/api/runtime/provider-defaults.d.ts.map +1 -1
  39. package/dist/api/runtime/provider-defaults.js +9 -0
  40. package/dist/api/runtime/provider-defaults.js.map +1 -1
  41. package/dist/api/types/AgentOSInput.d.ts +5 -0
  42. package/dist/api/types/AgentOSInput.d.ts.map +1 -1
  43. package/dist/api/types/OrchestratorConfig.d.ts +3 -0
  44. package/dist/api/types/OrchestratorConfig.d.ts.map +1 -1
  45. package/dist/cognition/emergent/executor/QuickJSExecutor.d.ts +8 -0
  46. package/dist/cognition/emergent/executor/QuickJSExecutor.d.ts.map +1 -1
  47. package/dist/cognition/emergent/executor/QuickJSExecutor.js +193 -36
  48. package/dist/cognition/emergent/executor/QuickJSExecutor.js.map +1 -1
  49. package/dist/cognition/emergent/executor/guest-prelude.d.ts +4 -0
  50. package/dist/cognition/emergent/executor/guest-prelude.d.ts.map +1 -1
  51. package/dist/cognition/emergent/executor/guest-prelude.js +21 -1
  52. package/dist/cognition/emergent/executor/guest-prelude.js.map +1 -1
  53. package/dist/cognition/emergent/executor/guest-surface.d.ts.map +1 -1
  54. package/dist/cognition/emergent/executor/guest-surface.js +7 -2
  55. package/dist/cognition/emergent/executor/guest-surface.js.map +1 -1
  56. package/dist/cognition/memory/CognitiveMemoryManager.d.ts +28 -21
  57. package/dist/cognition/memory/CognitiveMemoryManager.d.ts.map +1 -1
  58. package/dist/cognition/memory/CognitiveMemoryManager.js +76 -26
  59. package/dist/cognition/memory/CognitiveMemoryManager.js.map +1 -1
  60. package/dist/cognition/memory/retrieval/store/MemoryStore.d.ts +10 -2
  61. package/dist/cognition/memory/retrieval/store/MemoryStore.d.ts.map +1 -1
  62. package/dist/cognition/memory/retrieval/store/MemoryStore.js +11 -2
  63. package/dist/cognition/memory/retrieval/store/MemoryStore.js.map +1 -1
  64. package/dist/cognition/substrate/ConversationHistoryManager.d.ts +3 -1
  65. package/dist/cognition/substrate/ConversationHistoryManager.d.ts.map +1 -1
  66. package/dist/cognition/substrate/ConversationHistoryManager.js +9 -2
  67. package/dist/cognition/substrate/ConversationHistoryManager.js.map +1 -1
  68. package/dist/cognition/substrate/GMI.d.ts +33 -2
  69. package/dist/cognition/substrate/GMI.d.ts.map +1 -1
  70. package/dist/cognition/substrate/GMI.js +225 -71
  71. package/dist/cognition/substrate/GMI.js.map +1 -1
  72. package/dist/cognition/substrate/IGMI.d.ts +14 -3
  73. package/dist/cognition/substrate/IGMI.d.ts.map +1 -1
  74. package/dist/cognition/substrate/IGMI.js +2 -1
  75. package/dist/cognition/substrate/IGMI.js.map +1 -1
  76. package/dist/cognition/substrate/SentimentTracker.d.ts +8 -0
  77. package/dist/cognition/substrate/SentimentTracker.d.ts.map +1 -1
  78. package/dist/cognition/substrate/SentimentTracker.js +20 -0
  79. package/dist/cognition/substrate/SentimentTracker.js.map +1 -1
  80. package/dist/core/llm/providers/implementations/OpenAIProvider.d.ts.map +1 -1
  81. package/dist/core/llm/providers/implementations/OpenAIProvider.js +23 -4
  82. package/dist/core/llm/providers/implementations/OpenAIProvider.js.map +1 -1
  83. package/dist/core/utils/errors.d.ts +4 -0
  84. package/dist/core/utils/errors.d.ts.map +1 -1
  85. package/dist/core/utils/errors.js +8 -0
  86. package/dist/core/utils/errors.js.map +1 -1
  87. package/dist/extensions/ExtensionRegistry.d.ts.map +1 -1
  88. package/dist/extensions/ExtensionRegistry.js +4 -1
  89. package/dist/extensions/ExtensionRegistry.js.map +1 -1
  90. package/dist/io/speech/SpeechRuntime.d.ts.map +1 -1
  91. package/dist/io/speech/SpeechRuntime.js +5 -0
  92. package/dist/io/speech/SpeechRuntime.js.map +1 -1
  93. package/dist/io/speech/providers/MiniMaxTextToSpeechProvider.d.ts +34 -3
  94. package/dist/io/speech/providers/MiniMaxTextToSpeechProvider.d.ts.map +1 -1
  95. package/dist/io/speech/providers/MiniMaxTextToSpeechProvider.js +120 -11
  96. package/dist/io/speech/providers/MiniMaxTextToSpeechProvider.js.map +1 -1
  97. package/dist/safety/runtime/SpendMeter.d.ts +135 -0
  98. package/dist/safety/runtime/SpendMeter.d.ts.map +1 -0
  99. package/dist/safety/runtime/SpendMeter.js +61 -0
  100. package/dist/safety/runtime/SpendMeter.js.map +1 -0
  101. package/dist/safety/runtime/SqlSpendMeter.d.ts +78 -0
  102. package/dist/safety/runtime/SqlSpendMeter.d.ts.map +1 -0
  103. package/dist/safety/runtime/SqlSpendMeter.js +268 -0
  104. package/dist/safety/runtime/SqlSpendMeter.js.map +1 -0
  105. package/dist/safety/runtime/index.d.ts +4 -0
  106. package/dist/safety/runtime/index.d.ts.map +1 -1
  107. package/dist/safety/runtime/index.js +2 -0
  108. package/dist/safety/runtime/index.js.map +1 -1
  109. package/package.json +1 -1
@@ -6,9 +6,10 @@
6
6
  *
7
7
  * The rules are streamText's: the turn's text is the latest step that produced
8
8
  * text; usage adds each step's STEP_FINISHED usage once (USAGE_UPDATE carries a
9
- * request's running total) plus the billed usage of attempts that failed before
10
- * any output; a run that called tools and produced no text ends as
11
- * `'tool-calls'`; an ERROR chunk ends it as `'error'` with the GMI's code.
9
+ * request's running total) plus the billed usage of attempts that failed, before
10
+ * any output or after it; a run ends with its last step's own finish reason, or
11
+ * as `'tool-calls'` when the step limit ran out with calls outstanding and no
12
+ * text; an ERROR chunk ends it as `'error'` with the GMI's code.
12
13
  */
13
14
  import { GMIError, GMIErrorCode } from '../../core/utils/errors.js';
14
15
  import { GMIOutputChunkType, } from '../../cognition/substrate/IGMI.js';
@@ -41,18 +42,26 @@ export function toolErrorMessage(result) {
41
42
  * once the turn has ended (or at any point for a partial view).
42
43
  */
43
44
  export class GmiTurnFolder {
44
- constructor() {
45
+ constructor(options = {}) {
46
+ this.options = options;
45
47
  /** The STEP_FINISHED payloads, in order. */
46
48
  this.steps = [];
47
49
  /** Every requested call in order, with its result once the TOOL_RESULT arrived. */
48
50
  this.calls = [];
49
51
  this.overrides = new Map();
50
52
  this.failed = [];
53
+ this.routeListeners = [];
54
+ /** How many calls had been requested when the latest step finished: the calls after it belong to the next step. */
55
+ this.callsBeforeLastStep = 0;
56
+ /** Whether the latest finished step requested tools (the GMI then runs them and goes on, unless the step limit ran out). */
57
+ this.lastStepCalledTools = false;
51
58
  }
52
59
  push(chunk) {
53
60
  switch (chunk.type) {
54
61
  case GMIOutputChunkType.STEP_FINISHED:
55
62
  this.steps.push(chunk.content);
63
+ this.lastStepCalledTools = this.calls.length > this.callsBeforeLastStep;
64
+ this.callsBeforeLastStep = this.calls.length;
56
65
  break;
57
66
  case GMIOutputChunkType.TOOL_CALL_REQUEST:
58
67
  for (const call of chunk.content ?? [])
@@ -99,6 +108,29 @@ export class GmiTurnFolder {
99
108
  details: error instanceof GMIError ? error.details : undefined,
100
109
  });
101
110
  }
111
+ /**
112
+ * Records a model call's route (its provider and model, once the hop is
113
+ * resolved). The first one is the turn's route, as streamText reports it:
114
+ * listeners hear it at once, before any chunk of the call arrives.
115
+ */
116
+ route(providerId, modelId) {
117
+ if (this.firstRoute)
118
+ return;
119
+ this.firstRoute = { providerId, modelId };
120
+ for (const listener of this.routeListeners.splice(0))
121
+ listener(this.firstRoute);
122
+ }
123
+ /** The turn's first route, once it is known. */
124
+ routed() {
125
+ return this.firstRoute;
126
+ }
127
+ /** Calls `listener` with the turn's first route as soon as it is known (at once when it already is). */
128
+ onRoute(listener) {
129
+ if (this.firstRoute)
130
+ listener(this.firstRoute);
131
+ else
132
+ this.routeListeners.push(listener);
133
+ }
102
134
  /** Replaces a step's text (`onAfterGeneration`), in the result and in what the session stores. */
103
135
  overrideStepText(stepIndex, text) {
104
136
  this.overrides.set(stepIndex, text);
@@ -127,7 +159,7 @@ export class GmiTurnFolder {
127
159
  addTokenUsage(total, attempt.usage);
128
160
  return total;
129
161
  }
130
- /** The billed attempts that failed before any output, in order. */
162
+ /** The billed attempts that failed, in order. */
131
163
  failedAttempts() {
132
164
  return this.failed.map((a) => ({ ...a, usage: { ...a.usage } }));
133
165
  }
@@ -142,6 +174,10 @@ export class GmiTurnFolder {
142
174
  return record;
143
175
  });
144
176
  }
177
+ /** The last step's provider message id when the turn opted into cache diagnostics (null when the provider sent none); null otherwise. */
178
+ providerMessageId() {
179
+ return this.options.cacheDiagnostics ? this.steps.at(-1)?.providerMessageId ?? null : null;
180
+ }
145
181
  /** The latest schema answer a step carried, if any. */
146
182
  structuredOutput() {
147
183
  for (let i = this.steps.length - 1; i >= 0; i--) {
@@ -153,14 +189,25 @@ export class GmiTurnFolder {
153
189
  error() {
154
190
  return this.failure;
155
191
  }
156
- finishReason() {
157
- if (this.failure)
192
+ /**
193
+ * How the run ended, by streamText's rules: the last step's own reason when
194
+ * that step requested no tools; when it did, the step limit ran out, and a run
195
+ * with calls outstanding and no text ended as 'tool-calls'.
196
+ *
197
+ * @param options.ignoreFailure - Report the finished steps even when the turn
198
+ * failed: for a stream its consumer abandoned, whose turn ends with the
199
+ * abort that the abandonment caused.
200
+ */
201
+ finishReason(options = {}) {
202
+ if (this.failure && !options.ignoreFailure)
158
203
  return 'error';
159
204
  const last = this.steps.at(-1);
160
205
  // The schema answer is the turn's reply, whatever stop reason carried it.
161
206
  if (last?.structuredOutput !== undefined)
162
207
  return 'stop';
163
- return this.calls.length > 0 && !this.text() ? 'tool-calls' : normalizeStreamFinishReason(last?.finishReason ?? null);
208
+ if (this.lastStepCalledTools && this.calls.length > 0 && !this.text())
209
+ return 'tool-calls';
210
+ return normalizeStreamFinishReason(last?.finishReason ?? null);
164
211
  }
165
212
  /** The error the turn ended with, as a GMIError keeping the GMI's code. */
166
213
  toError() {
@@ -182,7 +229,7 @@ export class GmiTurnFolder {
182
229
  model: last?.modelId ?? '',
183
230
  ...(last?.responseModel ? { responseModel: last.responseModel } : {}),
184
231
  ...(last?.serviceTier ? { serviceTier: last.serviceTier } : {}),
185
- ...(last?.providerMessageId ? { providerMessageId: last.providerMessageId } : {}),
232
+ ...(this.options.cacheDiagnostics ? { providerMessageId: this.providerMessageId() } : {}),
186
233
  ...(last?.cacheDiagnostics !== undefined ? { cacheDiagnostics: last.cacheDiagnostics } : {}),
187
234
  text: this.text(),
188
235
  usage: this.usage(),
@@ -203,6 +250,10 @@ function deferred() {
203
250
  * A `StreamTextResult` over a GMI turn. The turn is drained eagerly, so every
204
251
  * promise settles whether the caller iterates, stops iterating early, or never
205
252
  * iterates; `textStream` and `fullStream` replay what arrived and wait for more.
253
+ * A caller that stops iterating either one before the turn ended stops the turn
254
+ * through `options.stop`; the promises then settle once the turn has ended, with
255
+ * the text delivered so far and, as streamText reports an abandoned stream, the
256
+ * finish reason of the latest finished step.
206
257
  *
207
258
  * `textStream` yields every TEXT_DELTA as it arrives. `fullStream` maps
208
259
  * TEXT_DELTA to `text`, TOOL_CALL_REQUEST to `tool-call`, TOOL_RESULT to
@@ -219,6 +270,18 @@ export function streamFromGmiTurn(turn, options = {}) {
219
270
  const texts = [];
220
271
  const parts = [];
221
272
  let done = false;
273
+ // A consumer that stops reading stops the turn. The abort that follows ends the
274
+ // turn with an error the consumer did not get; an error that arrived before
275
+ // the consumer stopped is the turn's own.
276
+ let abandoned = false;
277
+ let failedBeforeAbandoned = false;
278
+ const abandon = () => {
279
+ if (done || abandoned)
280
+ return;
281
+ abandoned = true;
282
+ failedBeforeAbandoned = folder.error() !== undefined;
283
+ options.stop?.();
284
+ };
222
285
  let waiters = [];
223
286
  const wake = () => {
224
287
  const pending = waiters;
@@ -237,6 +300,11 @@ export function streamFromGmiTurn(turn, options = {}) {
237
300
  cacheDiagnostics: deferred(),
238
301
  providerMessageId: deferred(),
239
302
  };
303
+ // Provider and model resolve once the turn's model call is routed, as streamText's do.
304
+ folder.onRoute(({ providerId, modelId }) => {
305
+ p.provider.resolve(providerId);
306
+ p.model.resolve(modelId);
307
+ });
240
308
  void (async () => {
241
309
  // The text the step in progress has delivered; reset at each step boundary.
242
310
  let stepDelivered = '';
@@ -282,13 +350,14 @@ export function streamFromGmiTurn(turn, options = {}) {
282
350
  p.text.resolve(folder.error() && stepDelivered ? stepDelivered : folder.text());
283
351
  p.usage.resolve(folder.usage());
284
352
  p.toolCalls.resolve(folder.toolCalls());
285
- p.provider.resolve(last?.providerId ?? '');
286
- p.model.resolve(last?.modelId ?? '');
287
- p.finishReason.resolve(folder.finishReason());
353
+ // Already resolved when the turn was routed; '' when it failed before routing.
354
+ p.provider.resolve(folder.routed()?.providerId ?? last?.providerId ?? '');
355
+ p.model.resolve(folder.routed()?.modelId ?? last?.modelId ?? '');
356
+ p.finishReason.resolve(folder.finishReason({ ignoreFailure: abandoned && !failedBeforeAbandoned }));
288
357
  p.responseModel.resolve(last?.responseModel);
289
358
  p.serviceTier.resolve(last?.serviceTier);
290
359
  p.cacheDiagnostics.resolve(last?.cacheDiagnostics ?? null);
291
- p.providerMessageId.resolve(last?.providerMessageId ?? null);
360
+ p.providerMessageId.resolve(folder.providerMessageId());
292
361
  done = true;
293
362
  wake();
294
363
  }
@@ -309,6 +378,7 @@ export function streamFromGmiTurn(turn, options = {}) {
309
378
  },
310
379
  async return() {
311
380
  i = Number.MAX_SAFE_INTEGER;
381
+ abandon();
312
382
  return { value: undefined, done: true };
313
383
  },
314
384
  };
@@ -1 +1 @@
1
- {"version":3,"file":"gmiResults.js","sourceRoot":"","sources":["../../../src/api/runtime/gmiResults.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gmiResults.js","sourceRoot":"","sources":["../../../src/api/runtime/gmiResults.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import type { ZodType } from 'zod';
2
2
  import { type GMIOutputChunk, type IGMI } from '../../cognition/substrate/IGMI.js';
3
3
  import { type GenerateTextResult, type MessageContent, type TokenUsage } from '../generateText.js';
4
- import type { StreamTextResult } from '../streamText.js';
4
+ import { type StreamTextResult } from '../streamText.js';
5
+ import { type LlmUsageEvent } from '../observers.js';
5
6
  import type { SessionHistoryBuffer } from '../sessionHistory.js';
6
7
  import type { SessionTranscriptMessage } from '../sessionTranscript.js';
7
8
  import type { AgentOptions } from '../agent.js';
@@ -21,6 +22,8 @@ export interface GmiTurnOptions {
21
22
  schemaName?: string;
22
23
  /** Label of the turn's block in the session store. */
23
24
  blockLabel?: string;
25
+ /** Stops the turn: the model call in progress is aborted, and the turn ends with the abort error. */
26
+ abortSignal?: AbortSignal;
24
27
  }
25
28
  /** What the GMI's hooks need to know about the turn about to run. */
26
29
  export interface GmiTurnContext {
@@ -28,6 +31,11 @@ export interface GmiTurnContext {
28
31
  prompt: string | undefined;
29
32
  /** The `memoryProvider.getContext` block for this turn, inserted as a system message on every model call. */
30
33
  memoryContext: string | undefined;
34
+ /** Called before every model call of the turn with the provider and model its hop was routed to. */
35
+ onModelCall?: (route: {
36
+ providerId: string;
37
+ modelId: string;
38
+ }) => void;
31
39
  }
32
40
  /** The GMI that serves one turn. */
33
41
  export interface GmiForTurn {
@@ -43,8 +51,14 @@ export interface GmiSessionDeps {
43
51
  opts: AgentOptions;
44
52
  /** The GMI that serves the next turn: the session's own, or one made for the turn when the session keeps no history. */
45
53
  gmiFor(): Promise<GmiForTurn>;
46
- /** The user the GMI runs the turn as: it scopes cognitive memory, and the GMI passes it to the provider as its user field. */
54
+ /** The user the GMI runs the turn as: it scopes cognitive memory. */
47
55
  userId: string;
56
+ /**
57
+ * The end-user id the turn's model calls send to the provider (OpenAI's `user`
58
+ * / `safety_identifier`): a user id the caller passed, never a session or call
59
+ * id. Unset, they send none, as agent() sends none.
60
+ */
61
+ providerUserId?: string;
48
62
  /** False when cognitive memory supplies the memory context: `memoryProvider.getContext` is then skipped. */
49
63
  useMemoryProviderContext: boolean;
50
64
  /** The session store, or null when the turn keeps no history. */
@@ -55,18 +69,27 @@ export interface GmiSessionDeps {
55
69
  onUsage(usage: TokenUsage): void;
56
70
  lock: TurnLock;
57
71
  }
72
+ /**
73
+ * The usage event surface a turn reports under: `generateText` for a turn
74
+ * folded into a result (`send`, `generate`), `streamText` for a streamed one,
75
+ * the surfaces the same calls report under through `agent()`.
76
+ */
77
+ export type GmiTurnSurface = Extract<LlmUsageEvent['surface'], 'generateText' | 'streamText'>;
58
78
  /**
59
79
  * Runs one GMI turn and yields its chunks, pushing each into `folder`, writing
60
- * each finished step to the session store and each step's usage to the ledger.
61
- * The caller folds the chunks (send) or streams them (stream).
80
+ * each finished step to the session store and metering each model call (a
81
+ * usage ledger row and a usage observer event). The caller folds the chunks
82
+ * (send) or streams them (stream).
62
83
  *
63
84
  * The turn reads the store's epoch and messages the moment it holds the lock,
64
85
  * before it waits for its GMI or its memory context, so a clear or reseed during
65
86
  * those waits makes the turn's writes no-ops, as an in-flight legacy send's are.
66
87
  *
88
+ * @param surface - The surface the turn's usage events name: `generateText`
89
+ * for a folded turn (the default), `streamText` for a streamed one.
67
90
  * @returns The messages the turn added to the store (or would have, with no history).
68
91
  */
69
- export declare function runGmiTurn(deps: GmiSessionDeps, input: MessageContent, turn: GmiTurnOptions, folder: GmiTurnFolder): AsyncGenerator<GMIOutputChunk, SessionTranscriptMessage[], undefined>;
92
+ export declare function runGmiTurn(deps: GmiSessionDeps, input: MessageContent, turn: GmiTurnOptions, folder: GmiTurnFolder, surface?: GmiTurnSurface): AsyncGenerator<GMIOutputChunk, SessionTranscriptMessage[], undefined>;
70
93
  /**
71
94
  * `send()`: the whole turn, folded into a `GenerateTextResult` (with `object`
72
95
  * when a schema was given). Rejects with the GMI's error, its code kept, when
@@ -79,7 +102,9 @@ export declare function sendGmiTurn(deps: GmiSessionDeps, input: MessageContent,
79
102
  /**
80
103
  * `stream()`: the turn's chunks as a `StreamTextResult`. The promises settle
81
104
  * after the turn is written to the session store, so a caller that awaits
82
- * `text` and sends again finds the turn in the history.
105
+ * `text` and sends again finds the turn in the history. A consumer that stops
106
+ * reading `textStream` or `fullStream` stops the turn, as streamText's
107
+ * consumer stops its generator: the model call in progress is aborted.
83
108
  */
84
109
  export declare function streamGmiTurn(deps: GmiSessionDeps, input: MessageContent, turn: GmiTurnOptions): StreamTextResult;
85
110
  //# sourceMappingURL=gmiSession.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gmiSession.d.ts","sourceRoot":"","sources":["../../../src/api/runtime/gmiSession.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,EAGL,KAAK,cAAc,EAEnB,KAAK,IAAI,EAIV,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAyC,KAAK,kBAAkB,EAAE,KAAK,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC1I,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,KAAK,EAAE,oBAAoB,EAAqB,MAAM,sBAAsB,CAAC;AACpF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAqB,MAAM,iBAAiB,CAAC;AAGnE,yGAAyG;AACzG,qBAAa,QAAQ;IACnB,OAAO,CAAC,IAAI,CAAoC;IAEhD,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC;CAS/B;AAED,+CAA+C;AAC/C,MAAM,WAAW,cAAc;IAC7B,qHAAqH;IACrH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,kFAAkF;IAClF,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qEAAqE;AACrE,MAAM,WAAW,cAAc;IAC7B,mGAAmG;IACnG,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,6GAA6G;IAC7G,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAED,oCAAoC;AACpC,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,IAAI,CAAC;IACV,2HAA2H;IAC3H,OAAO,CAAC,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;IACxC,+EAA+E;IAC/E,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,4CAA4C;AAC5C,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,YAAY,CAAC;IACnB,wHAAwH;IACxH,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IAC9B,8HAA8H;IAC9H,MAAM,EAAE,MAAM,CAAC;IACf,4GAA4G;IAC5G,wBAAwB,EAAE,OAAO,CAAC;IAClC,iEAAiE;IACjE,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACrC,oFAAoF;IACpF,MAAM,CAAC,EAAE,yBAAyB,CAAC;IACnC,6DAA6D;IAC7D,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IACjC,IAAI,EAAE,QAAQ,CAAC;CAChB;AA+DD;;;;;;;;;;GAUG;AACH,wBAAuB,UAAU,CAC/B,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,aAAa,GACpB,cAAc,CAAC,cAAc,EAAE,wBAAwB,EAAE,EAAE,SAAS,CAAC,CAiHvE;AAwBD;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,kBAAkB,GAAG;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAgBpD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,GAAG,gBAAgB,CAKjH"}
1
+ {"version":3,"file":"gmiSession.d.ts","sourceRoot":"","sources":["../../../src/api/runtime/gmiSession.ts"],"names":[],"mappings":"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"}