@effect-uai/ui 0.0.0-stage → 0.17.0

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 (76) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +64 -2
  3. package/dist/Atoms.d.mts +141 -0
  4. package/dist/Atoms.d.mts.map +1 -0
  5. package/dist/Atoms.mjs +132 -0
  6. package/dist/Atoms.mjs.map +1 -0
  7. package/dist/Client-C9UYN_VK.d.mts +219 -0
  8. package/dist/Client-C9UYN_VK.d.mts.map +1 -0
  9. package/dist/Client.d.mts +2 -0
  10. package/dist/Client.mjs +55 -0
  11. package/dist/Client.mjs.map +1 -0
  12. package/dist/Input-Cz-Kxusm.d.mts +277 -0
  13. package/dist/Input-Cz-Kxusm.d.mts.map +1 -0
  14. package/dist/Input.d.mts +2 -0
  15. package/dist/Input.mjs +127 -0
  16. package/dist/Input.mjs.map +1 -0
  17. package/dist/Projection.d.mts +44 -0
  18. package/dist/Projection.d.mts.map +1 -0
  19. package/dist/Projection.mjs +133 -0
  20. package/dist/Projection.mjs.map +1 -0
  21. package/dist/Run.d.mts +44 -0
  22. package/dist/Run.d.mts.map +1 -0
  23. package/dist/Run.mjs +117 -0
  24. package/dist/Run.mjs.map +1 -0
  25. package/dist/RunEvent.d.mts +1225 -0
  26. package/dist/RunEvent.d.mts.map +1 -0
  27. package/dist/RunEvent.mjs +264 -0
  28. package/dist/RunEvent.mjs.map +1 -0
  29. package/dist/RunView-nHfJwN8t.d.mts +380 -0
  30. package/dist/RunView-nHfJwN8t.d.mts.map +1 -0
  31. package/dist/RunView.d.mts +2 -0
  32. package/dist/RunView.mjs +452 -0
  33. package/dist/RunView.mjs.map +1 -0
  34. package/dist/SseEncoding.d.mts +437 -0
  35. package/dist/SseEncoding.d.mts.map +1 -0
  36. package/dist/SseEncoding.mjs +64 -0
  37. package/dist/SseEncoding.mjs.map +1 -0
  38. package/dist/Thread-CAXsjhpX.d.mts +474 -0
  39. package/dist/Thread-CAXsjhpX.d.mts.map +1 -0
  40. package/dist/Thread.d.mts +2 -0
  41. package/dist/Thread.mjs +225 -0
  42. package/dist/Thread.mjs.map +1 -0
  43. package/dist/Transport.d.mts +96 -0
  44. package/dist/Transport.d.mts.map +1 -0
  45. package/dist/Transport.mjs +82 -0
  46. package/dist/Transport.mjs.map +1 -0
  47. package/dist/UiContract.d.mts +114 -0
  48. package/dist/UiContract.d.mts.map +1 -0
  49. package/dist/UiContract.mjs +229 -0
  50. package/dist/UiContract.mjs.map +1 -0
  51. package/dist/index.d.mts +12 -0
  52. package/dist/index.mjs +12 -0
  53. package/dist/rolldown-runtime-D7D4PA-g.mjs +13 -0
  54. package/package.json +99 -3
  55. package/src/Atoms.test.ts +163 -0
  56. package/src/Atoms.ts +355 -0
  57. package/src/Client.test.ts +53 -0
  58. package/src/Client.ts +92 -0
  59. package/src/Input.test.ts +68 -0
  60. package/src/Input.ts +165 -0
  61. package/src/Projection.test.ts +198 -0
  62. package/src/Projection.ts +142 -0
  63. package/src/Run.test.ts +119 -0
  64. package/src/Run.ts +166 -0
  65. package/src/RunEvent.test.ts +84 -0
  66. package/src/RunEvent.ts +374 -0
  67. package/src/RunView.test.ts +98 -0
  68. package/src/RunView.ts +583 -0
  69. package/src/SseEncoding.test.ts +46 -0
  70. package/src/SseEncoding.ts +77 -0
  71. package/src/Thread.test.ts +304 -0
  72. package/src/Thread.ts +286 -0
  73. package/src/Transport.ts +182 -0
  74. package/src/UiContract.test.ts +342 -0
  75. package/src/UiContract.ts +402 -0
  76. package/src/index.ts +11 -0
@@ -0,0 +1,380 @@
1
+ import { Envelope, InputId, Interrupt, Json, NamedPayload, Outcome, Payloads, RunEvent, RunId, ToolPayload, Untyped } from "./RunEvent.mjs";
2
+ import { Option, Schema } from "effect";
3
+ import * as Items from "@effect-uai/core/Items";
4
+ declare namespace RunView_d_exports {
5
+ export { Block, DataBlock, ImageBlock, Live, ObjectBlock, ObjectStatus, ReasoningBlock, RefusalBlock, RunView, Status, TextBlock, ToolBlock, ToolStatus, ToolUpdate, applyToolUpdate, contentBlocks, dataBlock, initial, isBusy, isTerminal, isToolUpdate, objectBlock, refusal, schema, step, text, toolBlock, unnamedObject };
6
+ }
7
+ declare const ToolStatus: Schema.Literals<readonly ["input-streaming", "ready", "awaiting-approval", "running", "done", "failed"]>;
8
+ type ToolStatus = typeof ToolStatus.Type;
9
+ declare const ObjectStatus: Schema.Literals<readonly ["streaming", "done", "failed"]>;
10
+ type ObjectStatus = typeof ObjectStatus.Type;
11
+ /** Core's `output_text`; citations attach to the text they cite. */
12
+ declare const TextBlock: Schema.Struct<{
13
+ readonly type: Schema.Literal<"output_text">;
14
+ readonly text: Schema.String;
15
+ readonly annotations: Schema.optional<Schema.$Array<Schema.Union<readonly [Schema.Struct<{
16
+ readonly type: Schema.Literal<"url_citation">;
17
+ readonly url: Schema.String;
18
+ readonly title: Schema.String;
19
+ readonly start_index: Schema.optional<Schema.Number>;
20
+ readonly end_index: Schema.optional<Schema.Number>;
21
+ readonly cited_text: Schema.optional<Schema.String>;
22
+ readonly marker: Schema.optional<Schema.Number>;
23
+ }>, Schema.Struct<{
24
+ readonly type: Schema.Literal<"file_citation">;
25
+ readonly file_id: Schema.String;
26
+ readonly index: Schema.Number;
27
+ }>, Schema.Struct<{
28
+ readonly type: Schema.Literal<"container_file_citation">;
29
+ readonly container_id: Schema.String;
30
+ readonly file_id: Schema.String;
31
+ readonly start_index: Schema.Number;
32
+ readonly end_index: Schema.Number;
33
+ }>, Schema.Struct<{
34
+ readonly type: Schema.Literal<"file_path">;
35
+ readonly file_id: Schema.String;
36
+ readonly index: Schema.Number;
37
+ }>]>>>;
38
+ readonly id: Schema.String;
39
+ }>;
40
+ /** Core's `refusal`: the model declined to answer. */
41
+ declare const RefusalBlock: Schema.Struct<{
42
+ readonly type: Schema.Literal<"refusal">;
43
+ readonly text: Schema.String;
44
+ readonly id: Schema.String;
45
+ }>;
46
+ /** Core's `output_image`; `partialIndex` marks a preview the final image replaces. */
47
+ declare const ImageBlock: Schema.Struct<{
48
+ readonly type: Schema.Literal<"output_image">;
49
+ readonly source: Schema.Codec<import("@effect-uai/core/Image").ImageSource, import("@effect-uai/core/Image").ImageSource, never, never>;
50
+ readonly id: Schema.String;
51
+ readonly partialIndex: Schema.optionalKey<Schema.Number>;
52
+ }>;
53
+ declare const ReasoningBlock: Schema.Struct<{
54
+ readonly type: Schema.Literal<"reasoning">;
55
+ readonly id: Schema.String;
56
+ readonly text: Schema.String;
57
+ }>;
58
+ type TextBlock = typeof TextBlock.Type;
59
+ type RefusalBlock = typeof RefusalBlock.Type;
60
+ type ImageBlock = typeof ImageBlock.Type;
61
+ type ReasoningBlock = typeof ReasoningBlock.Type;
62
+ /**
63
+ * A tool call; `id` is the call id. `partial` is the latest intermediate value
64
+ * of a streaming tool; `outcome` is how the call ended (`done` or `failed`).
65
+ */
66
+ type ToolBlock<P extends Payloads = Untyped> = P["tool"] extends (infer T) ? T extends ToolPayload ? {
67
+ readonly type: "tool";
68
+ readonly id: string;
69
+ readonly name: T["name"];
70
+ readonly status: ToolStatus;
71
+ readonly input?: T["input"];
72
+ readonly argsText?: string;
73
+ readonly partial?: T["output"];
74
+ readonly outcome?: Outcome<T["output"], T["failure"]>;
75
+ } : never : never;
76
+ type UnnamedObject = {
77
+ readonly type: "object";
78
+ readonly id: string;
79
+ readonly name?: undefined;
80
+ readonly status: ObjectStatus;
81
+ readonly partial?: Json;
82
+ readonly value?: Json;
83
+ readonly issues?: ReadonlyArray<Json>;
84
+ };
85
+ /** A structured object: `partial` while it streams, the typed `value` once done. */
86
+ type ObjectBlock<P extends Payloads = Untyped> = UnnamedObject | (P["object"] extends (infer T) ? T extends NamedPayload ? {
87
+ readonly type: "object";
88
+ readonly id: string;
89
+ readonly name: T["name"];
90
+ readonly status: ObjectStatus;
91
+ readonly partial?: Json;
92
+ readonly value?: T["value"];
93
+ readonly issues?: ReadonlyArray<Json>;
94
+ } : never : never);
95
+ /** A persisted app payload; a repeated id replaces it in place. */
96
+ type DataBlock<P extends Payloads = Untyped> = P["data"] extends (infer T) ? T extends NamedPayload ? {
97
+ readonly type: "data";
98
+ readonly id: string;
99
+ readonly name: T["name"];
100
+ readonly value: T["value"];
101
+ } : never : never;
102
+ type Block<P extends Payloads = Untyped> = TextBlock | RefusalBlock | ImageBlock | ReasoningBlock | ToolBlock<P> | ObjectBlock<P> | DataBlock<P>;
103
+ /** Transient payloads by name; the latest value wins. A contract's names are optional keys. */
104
+ type Live<P extends Payloads = Untyped> = string extends P["live"]["name"] ? {
105
+ readonly [name: string]: P["live"]["value"];
106
+ } : { readonly [T in P["live"] as T["name"]]?: T["value"]; };
107
+ declare const Status: Schema.Literals<readonly ["idle", "submitted", "streaming", "completed", "interrupted", "failed", "stopped"]>;
108
+ type Status = typeof Status.Type;
109
+ declare const RunError: Schema.Struct<{
110
+ readonly reason: Schema.String;
111
+ readonly message: Schema.optionalKey<Schema.String>;
112
+ }>;
113
+ type RunView<P extends Payloads = Untyped> = {
114
+ readonly runId?: RunId;
115
+ readonly name?: string;
116
+ readonly inputs: ReadonlyArray<InputId>;
117
+ readonly status: Status;
118
+ readonly blocks: ReadonlyArray<Block<P>>;
119
+ readonly interrupts: ReadonlyArray<Interrupt<P>>;
120
+ readonly live: Live<P>;
121
+ readonly usage?: Items.Usage;
122
+ readonly metadata?: P["metadata"];
123
+ readonly error?: typeof RunError.Type;
124
+ /** Highest applied `seq`; envelopes at or below it are ignored. */
125
+ readonly lastSeq: number;
126
+ /** Index of the current step's first block (for `step-reset`). */
127
+ readonly stepStart: number;
128
+ readonly nextBlock: number;
129
+ };
130
+ /** Block schemas for one tool, object or data name; `UiContract` makes one per name. */
131
+ declare const toolBlock: <N extends Schema.Top, I extends Schema.Top, O extends Schema.Top, F extends Schema.Top>(name: N, input: I, output: O, failure: F) => Schema.Struct<{
132
+ readonly type: Schema.Literal<"tool">;
133
+ readonly id: Schema.String;
134
+ readonly name: N;
135
+ readonly status: Schema.Literals<readonly ["input-streaming", "ready", "awaiting-approval", "running", "done", "failed"]>;
136
+ readonly input: Schema.optionalKey<I>;
137
+ readonly argsText: Schema.optionalKey<Schema.String>;
138
+ readonly partial: Schema.optionalKey<O>;
139
+ readonly outcome: Schema.optionalKey<Schema.Union<readonly [Schema.TaggedStruct<"Success", {
140
+ readonly value: O;
141
+ }>, Schema.TaggedStruct<"Failure", {
142
+ readonly error: F;
143
+ }>]>>;
144
+ }>;
145
+ declare const objectBlock: <N extends Schema.Top, V extends Schema.Top>(name: N, value: V) => Schema.Struct<{
146
+ readonly type: Schema.Literal<"object">;
147
+ readonly id: Schema.String;
148
+ readonly name: N;
149
+ readonly status: Schema.Literals<readonly ["streaming", "done", "failed"]>;
150
+ readonly partial: Schema.optionalKey<Schema.Codec<Schema.Json, Schema.Json, never, never>>;
151
+ readonly value: Schema.optionalKey<V>;
152
+ readonly issues: Schema.optionalKey<Schema.$Array<Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
153
+ }>;
154
+ declare const dataBlock: <N extends Schema.Top, V extends Schema.Top>(name: N, value: V) => Schema.Struct<{
155
+ readonly type: Schema.Literal<"data">;
156
+ readonly id: Schema.String;
157
+ readonly name: N;
158
+ readonly value: V;
159
+ }>;
160
+ /** Blocks without payloads: the same in every view. */
161
+ declare const contentBlocks: readonly [Schema.Struct<{
162
+ readonly type: Schema.Literal<"output_text">;
163
+ readonly text: Schema.String;
164
+ readonly annotations: Schema.optional<Schema.$Array<Schema.Union<readonly [Schema.Struct<{
165
+ readonly type: Schema.Literal<"url_citation">;
166
+ readonly url: Schema.String;
167
+ readonly title: Schema.String;
168
+ readonly start_index: Schema.optional<Schema.Number>;
169
+ readonly end_index: Schema.optional<Schema.Number>;
170
+ readonly cited_text: Schema.optional<Schema.String>;
171
+ readonly marker: Schema.optional<Schema.Number>;
172
+ }>, Schema.Struct<{
173
+ readonly type: Schema.Literal<"file_citation">;
174
+ readonly file_id: Schema.String;
175
+ readonly index: Schema.Number;
176
+ }>, Schema.Struct<{
177
+ readonly type: Schema.Literal<"container_file_citation">;
178
+ readonly container_id: Schema.String;
179
+ readonly file_id: Schema.String;
180
+ readonly start_index: Schema.Number;
181
+ readonly end_index: Schema.Number;
182
+ }>, Schema.Struct<{
183
+ readonly type: Schema.Literal<"file_path">;
184
+ readonly file_id: Schema.String;
185
+ readonly index: Schema.Number;
186
+ }>]>>>;
187
+ readonly id: Schema.String;
188
+ }>, Schema.Struct<{
189
+ readonly type: Schema.Literal<"refusal">;
190
+ readonly text: Schema.String;
191
+ readonly id: Schema.String;
192
+ }>, Schema.Struct<{
193
+ readonly type: Schema.Literal<"output_image">;
194
+ readonly source: Schema.Codec<import("@effect-uai/core/Image").ImageSource, import("@effect-uai/core/Image").ImageSource, never, never>;
195
+ readonly id: Schema.String;
196
+ readonly partialIndex: Schema.optionalKey<Schema.Number>;
197
+ }>, Schema.Struct<{
198
+ readonly type: Schema.Literal<"reasoning">;
199
+ readonly id: Schema.String;
200
+ readonly text: Schema.String;
201
+ }>];
202
+ /** A view's schema from its payload-dependent parts; `block` is the whole block union. */
203
+ declare const schema: <B extends Schema.Top, I extends Schema.Top, L extends Schema.Top, M extends Schema.Top>(parts: {
204
+ readonly block: B;
205
+ readonly interrupt: I;
206
+ readonly live: L;
207
+ readonly metadata: M;
208
+ }) => Schema.Struct<{
209
+ readonly runId: Schema.optionalKey<Schema.brand<Schema.String, "RunId">>;
210
+ readonly name: Schema.optionalKey<Schema.String>;
211
+ readonly inputs: Schema.$Array<Schema.brand<Schema.String, "InputId">>;
212
+ readonly status: Schema.Literals<readonly ["idle", "submitted", "streaming", "completed", "interrupted", "failed", "stopped"]>;
213
+ readonly blocks: Schema.$Array<B>;
214
+ readonly interrupts: Schema.$Array<I>;
215
+ readonly live: L;
216
+ readonly usage: Schema.optionalKey<Schema.Struct<{
217
+ readonly input_tokens: Schema.optional<Schema.Number>;
218
+ readonly output_tokens: Schema.optional<Schema.Number>;
219
+ readonly total_tokens: Schema.optional<Schema.Number>;
220
+ readonly input_tokens_details: Schema.optional<Schema.Struct<{
221
+ readonly cached_tokens: Schema.optional<Schema.Number>;
222
+ readonly cache_write_tokens: Schema.optional<Schema.Number>;
223
+ }>>;
224
+ readonly output_tokens_details: Schema.optional<Schema.Struct<{
225
+ readonly reasoning_tokens: Schema.optional<Schema.Number>;
226
+ }>>;
227
+ }>>;
228
+ readonly metadata: Schema.optionalKey<M>;
229
+ readonly error: Schema.optionalKey<Schema.Struct<{
230
+ readonly reason: Schema.String;
231
+ readonly message: Schema.optionalKey<Schema.String>;
232
+ }>>;
233
+ readonly lastSeq: Schema.Number;
234
+ readonly stepStart: Schema.Number;
235
+ readonly nextBlock: Schema.Number;
236
+ }>;
237
+ /** An object without a name: no contract entry, so its value stays JSON. */
238
+ declare const unnamedObject: Schema.Struct<{
239
+ readonly type: Schema.Literal<"object">;
240
+ readonly id: Schema.String;
241
+ readonly status: Schema.Literals<readonly ["streaming", "done", "failed"]>;
242
+ readonly partial: Schema.optionalKey<Schema.Codec<Schema.Json, Schema.Json, never, never>>;
243
+ readonly value: Schema.optionalKey<Schema.Codec<Schema.Json, Schema.Json, never, never>>;
244
+ readonly issues: Schema.optionalKey<Schema.$Array<Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
245
+ }>;
246
+ /** The untyped view's schema: payloads are JSON. */
247
+ declare const RunView: Schema.Struct<{
248
+ readonly runId: Schema.optionalKey<Schema.brand<Schema.String, "RunId">>;
249
+ readonly name: Schema.optionalKey<Schema.String>;
250
+ readonly inputs: Schema.$Array<Schema.brand<Schema.String, "InputId">>;
251
+ readonly status: Schema.Literals<readonly ["idle", "submitted", "streaming", "completed", "interrupted", "failed", "stopped"]>;
252
+ readonly blocks: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
253
+ readonly type: Schema.Literal<"output_text">;
254
+ readonly text: Schema.String;
255
+ readonly annotations: Schema.optional<Schema.$Array<Schema.Union<readonly [Schema.Struct<{
256
+ readonly type: Schema.Literal<"url_citation">;
257
+ readonly url: Schema.String;
258
+ readonly title: Schema.String;
259
+ readonly start_index: Schema.optional<Schema.Number>;
260
+ readonly end_index: Schema.optional<Schema.Number>;
261
+ readonly cited_text: Schema.optional<Schema.String>;
262
+ readonly marker: Schema.optional<Schema.Number>;
263
+ }>, Schema.Struct<{
264
+ readonly type: Schema.Literal<"file_citation">;
265
+ readonly file_id: Schema.String;
266
+ readonly index: Schema.Number;
267
+ }>, Schema.Struct<{
268
+ readonly type: Schema.Literal<"container_file_citation">;
269
+ readonly container_id: Schema.String;
270
+ readonly file_id: Schema.String;
271
+ readonly start_index: Schema.Number;
272
+ readonly end_index: Schema.Number;
273
+ }>, Schema.Struct<{
274
+ readonly type: Schema.Literal<"file_path">;
275
+ readonly file_id: Schema.String;
276
+ readonly index: Schema.Number;
277
+ }>]>>>;
278
+ readonly id: Schema.String;
279
+ }>, Schema.Struct<{
280
+ readonly type: Schema.Literal<"refusal">;
281
+ readonly text: Schema.String;
282
+ readonly id: Schema.String;
283
+ }>, Schema.Struct<{
284
+ readonly type: Schema.Literal<"output_image">;
285
+ readonly source: Schema.Codec<import("@effect-uai/core/Image").ImageSource, import("@effect-uai/core/Image").ImageSource, never, never>;
286
+ readonly id: Schema.String;
287
+ readonly partialIndex: Schema.optionalKey<Schema.Number>;
288
+ }>, Schema.Struct<{
289
+ readonly type: Schema.Literal<"reasoning">;
290
+ readonly id: Schema.String;
291
+ readonly text: Schema.String;
292
+ }>, Schema.Struct<{
293
+ readonly type: Schema.Literal<"tool">;
294
+ readonly id: Schema.String;
295
+ readonly name: Schema.String;
296
+ readonly status: Schema.Literals<readonly ["input-streaming", "ready", "awaiting-approval", "running", "done", "failed"]>;
297
+ readonly input: Schema.optionalKey<Schema.Codec<Schema.Json, Schema.Json, never, never>>;
298
+ readonly argsText: Schema.optionalKey<Schema.String>;
299
+ readonly partial: Schema.optionalKey<Schema.Codec<Schema.Json, Schema.Json, never, never>>;
300
+ readonly outcome: Schema.optionalKey<Schema.Union<readonly [Schema.TaggedStruct<"Success", {
301
+ readonly value: Schema.Codec<Schema.Json, Schema.Json, never, never>;
302
+ }>, Schema.TaggedStruct<"Failure", {
303
+ readonly error: Schema.Codec<Schema.Json, Schema.Json, never, never>;
304
+ }>]>>;
305
+ }>, Schema.Union<readonly [Schema.Struct<{
306
+ readonly type: Schema.Literal<"object">;
307
+ readonly id: Schema.String;
308
+ readonly name: Schema.String;
309
+ readonly status: Schema.Literals<readonly ["streaming", "done", "failed"]>;
310
+ readonly partial: Schema.optionalKey<Schema.Codec<Schema.Json, Schema.Json, never, never>>;
311
+ readonly value: Schema.optionalKey<Schema.Codec<Schema.Json, Schema.Json, never, never>>;
312
+ readonly issues: Schema.optionalKey<Schema.$Array<Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
313
+ }>, Schema.Struct<{
314
+ readonly type: Schema.Literal<"object">;
315
+ readonly id: Schema.String;
316
+ readonly status: Schema.Literals<readonly ["streaming", "done", "failed"]>;
317
+ readonly partial: Schema.optionalKey<Schema.Codec<Schema.Json, Schema.Json, never, never>>;
318
+ readonly value: Schema.optionalKey<Schema.Codec<Schema.Json, Schema.Json, never, never>>;
319
+ readonly issues: Schema.optionalKey<Schema.$Array<Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
320
+ }>]>, Schema.Struct<{
321
+ readonly type: Schema.Literal<"data">;
322
+ readonly id: Schema.String;
323
+ readonly name: Schema.String;
324
+ readonly value: Schema.Codec<Schema.Json, Schema.Json, never, never>;
325
+ }>]>>;
326
+ readonly interrupts: Schema.$Array<Schema.Struct<{
327
+ readonly callId: Schema.String;
328
+ readonly reason: Schema.Literal<"approval">;
329
+ readonly name: Schema.String;
330
+ readonly input: Schema.Codec<Schema.Json, Schema.Json, never, never>;
331
+ }>>;
332
+ readonly live: Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>;
333
+ readonly usage: Schema.optionalKey<Schema.Struct<{
334
+ readonly input_tokens: Schema.optional<Schema.Number>;
335
+ readonly output_tokens: Schema.optional<Schema.Number>;
336
+ readonly total_tokens: Schema.optional<Schema.Number>;
337
+ readonly input_tokens_details: Schema.optional<Schema.Struct<{
338
+ readonly cached_tokens: Schema.optional<Schema.Number>;
339
+ readonly cache_write_tokens: Schema.optional<Schema.Number>;
340
+ }>>;
341
+ readonly output_tokens_details: Schema.optional<Schema.Struct<{
342
+ readonly reasoning_tokens: Schema.optional<Schema.Number>;
343
+ }>>;
344
+ }>>;
345
+ readonly metadata: Schema.optionalKey<Schema.Codec<Schema.Json, Schema.Json, never, never>>;
346
+ readonly error: Schema.optionalKey<Schema.Struct<{
347
+ readonly reason: Schema.String;
348
+ readonly message: Schema.optionalKey<Schema.String>;
349
+ }>>;
350
+ readonly lastSeq: Schema.Number;
351
+ readonly stepStart: Schema.Number;
352
+ readonly nextBlock: Schema.Number;
353
+ }>;
354
+ /** An empty view (a contract's `initial` is the typed one). */
355
+ declare const initial: RunView;
356
+ /**
357
+ * Fold one envelope into the view. Ignores envelopes already applied
358
+ * (`seq <= lastSeq`) and run-scoped envelopes of a different run.
359
+ */
360
+ declare function step<P extends Payloads = Untyped>(view: RunView<P>, envelope: Envelope<P>): RunView<P>;
361
+ /** A tool event that can answer a call made in an earlier run (after an approval). */
362
+ type ToolUpdate<P extends Payloads = Untyped> = Extract<RunEvent<P>, {
363
+ readonly type: "tool-result" | "tool-partial";
364
+ }>;
365
+ declare const isToolUpdate: <P extends Payloads>(event: RunEvent<P>) => event is ToolUpdate<P>;
366
+ /**
367
+ * Apply a tool event to the view if it holds that call; `None` if it doesn't.
368
+ * For a run that already ended (an interrupted run whose call was approved
369
+ * later), so `seq` and the run id are not checked.
370
+ */
371
+ declare function applyToolUpdate<P extends Payloads>(view: RunView<P>, event: ToolUpdate<P>): Option.Option<RunView<P>>;
372
+ declare const isTerminal: <P extends Payloads>(view: RunView<P>) => boolean;
373
+ declare const isBusy: <P extends Payloads>(view: RunView<P>) => boolean;
374
+ /** All assistant text of the run, in order (refusals excluded, see `refusal`). */
375
+ declare function text<P extends Payloads>(view: RunView<P>): string;
376
+ /** The refusal text, if the model declined; `undefined` otherwise. */
377
+ declare function refusal<P extends Payloads>(view: RunView<P>): string | undefined;
378
+ //#endregion
379
+ export { objectBlock as C, text as D, step as E, toolBlock as O, isToolUpdate as S, schema as T, contentBlocks as _, ObjectBlock as a, isBusy as b, RefusalBlock as c, Status as d, TextBlock as f, applyToolUpdate as g, ToolUpdate as h, Live as i, unnamedObject as k, RunView as l, ToolStatus as m, DataBlock as n, ObjectStatus as o, ToolBlock as p, ImageBlock as r, ReasoningBlock as s, Block as t, RunView_d_exports as u, dataBlock as v, refusal as w, isTerminal as x, initial as y };
380
+ //# sourceMappingURL=RunView-nHfJwN8t.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RunView-nHfJwN8t.d.mts","names":[],"sources":["../src/RunView.ts"],"mappings":";;;;;;cAiCa,YAAU,OAAA;KAQX,oBAAoB,WAAW;cAE9B,cAAY,OAAA;KACb,sBAAsB,aAAa;;cAMzC,WAAS,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAET,cAAY,OAAA;;;;;;cAEZ,YAAU,OAAA;;;;;;cAKV,gBAAc,OAAA;;;;;KAMR,mBAAmB,UAAU;KAC7B,sBAAsB,aAAa;KACnC,oBAAoB,WAAW;KAC/B,wBAAwB,eAAe;;;;;KAMvC,UAAU,UAAU,WAAW,WAAW,yBAAwB,KAC1E,UAAU;WAEG;WACA;WACA,MAAM;WACN,QAAQ;WACR,QAAQ;WACR;WACA,UAAU;WACV,UAAU,QAAQ,aAAa;;KAK3C;WACM;WACA;WACA;WACA,QAAQ;WACR,UAAU;WACV,QAAQ;WACR,SAAS,cAAc;;;KAItB,YAAY,UAAU,WAAW,WACzC,iBACC,2BAA0B,KACvB,UAAU;WAEG;WACA;WACA,MAAM;WACN,QAAQ;WACR,UAAU;WACV,QAAQ;WACR,SAAS,cAAc;;;KAMhC,UAAU,UAAU,WAAW,WAAW,yBAAwB,KAC1E,UAAU;WAEG;WACA;WACA,MAAM;WACN,OAAO;;KAKZ,MAAM,UAAU,WAAW,WACnC,YACA,eACA,aACA,iBACA,UAAU,KACV,YAAY,KACZ,UAAU;;KAGF,KAAK,UAAU,WAAW,0BAA0B;YAChD,eAAe;gBACf,KAAK,aAAa,aAAa;cAElC,QAAM,OAAA;KASP,gBAAgB,OAAO;cAE7B,UAAQ,OAAA;;;;KAKF,QAAQ,UAAU,WAAW;WAC9B,QAAQ;WACR;WACA,QAAQ,cAAc;WACtB,QAAQ;WACR,QAAQ,cAAc,MAAM;WAC5B,YAAY,cAAc,UAAU;WACpC,MAAM,KAAK;WACX,QAAQ,MAAM;WACd,WAAW;WACX,eAAe,SAAS;;WAExB;;WAEA;WACA;;;cAQE,YACX,UAAU,OAAO,KACjB,UAAU,OAAO,KACjB,UAAU,OAAO,KACjB,UAAU,OAAO,KAAG,MAEd,GAAC,OACA,GAAC,QACA,GAAC,SACA,MAAC,OAAA;;;;;;;;;;;;;;cAaC,cAAe,UAAU,OAAO,KAAK,UAAU,OAAO,KAAG,MAAQ,GAAC,OAAS,MAAC,OAAA;;;;;;;;;cAW5E,YAAa,UAAU,OAAO,KAAK,UAAU,OAAO,KAAG,MAAQ,GAAC,OAAS,MAAC,OAAA;;;;;;;cAI1E,yBAAa,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAGb,SACX,UAAU,OAAO,KACjB,UAAU,OAAO,KACjB,UAAU,OAAO,KACjB,UAAU,OAAO,KAAG;WAEX,OAAO;WACP,WAAW;WACX,MAAM;WACN,UAAU;MACpB,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAkBY,eAAa,OAAA;;;;;;;;;cAYb,SAAO,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAaP,SAAS;;;;;iBA2PN,KAAK,UAAU,WAAW,SACxC,MAAM,QAAQ,IACd,UAAU,SAAS,KAClB,QAAQ;;KASC,WAAW,UAAU,WAAW,WAAW,QACrD,SAAS;WACE;;cAGA,eAAgB,UAAU,UAAQ,OAAS,SAAS,OAAK,SAAS,WAAW;;;;;;iBAQ1E,gBAAgB,UAAU,UACxC,MAAM,QAAQ,IACd,OAAO,WAAW,KACjB,OAAO,OAAO,QAAQ;cAYZ,aAAc,UAAU,UAAQ,MAAQ,QAAQ;cAGhD,SAAU,UAAU,UAAQ,MAAQ,QAAQ;;iBAIzC,KAAK,UAAU,UAAU,MAAM,QAAQ;;iBAMvC,QAAQ,UAAU,UAAU,MAAM,QAAQ"}
@@ -0,0 +1,2 @@
1
+ import { C as objectBlock, D as text, E as step, O as toolBlock, S as isToolUpdate, T as schema, _ as contentBlocks, a as ObjectBlock, b as isBusy, c as RefusalBlock, d as Status, f as TextBlock, g as applyToolUpdate, h as ToolUpdate, i as Live, k as unnamedObject, l as RunView, m as ToolStatus, n as DataBlock, o as ObjectStatus, p as ToolBlock, r as ImageBlock, s as ReasoningBlock, t as Block, v as dataBlock, w as refusal, x as isTerminal, y as initial } from "./RunView-nHfJwN8t.mjs";
2
+ export { Block, DataBlock, ImageBlock, Live, ObjectBlock, ObjectStatus, ReasoningBlock, RefusalBlock, RunView, Status, TextBlock, ToolBlock, ToolStatus, ToolUpdate, applyToolUpdate, contentBlocks, dataBlock, initial, isBusy, isTerminal, isToolUpdate, objectBlock, refusal, schema, step, text, toolBlock, unnamedObject };