@effect-uai/core 0.13.0 → 0.15.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 (116) hide show
  1. package/dist/{Audio-60lKKHxS.d.mts → Audio-_nGR4V0X.d.mts} +2 -2
  2. package/dist/{Audio-60lKKHxS.d.mts.map → Audio-_nGR4V0X.d.mts.map} +1 -1
  3. package/dist/Image-Cv6iBLTy.d.mts +99 -0
  4. package/dist/Image-Cv6iBLTy.d.mts.map +1 -0
  5. package/dist/{Items-SfUabNuB.d.mts → Items-C7MyrYPX.d.mts} +35 -4
  6. package/dist/Items-C7MyrYPX.d.mts.map +1 -0
  7. package/dist/Media-BbX7BAaO.d.mts +60 -0
  8. package/dist/Media-BbX7BAaO.d.mts.map +1 -0
  9. package/dist/MessengerError-CeK6VAcu.d.mts +64 -0
  10. package/dist/MessengerError-CeK6VAcu.d.mts.map +1 -0
  11. package/dist/{Tool-DE-rnvkw.d.mts → Tool-BF78QWtn.d.mts} +2 -2
  12. package/dist/{Tool-DE-rnvkw.d.mts.map → Tool-BF78QWtn.d.mts.map} +1 -1
  13. package/dist/{ToolEvent-D99MGQYH.d.mts → ToolEvent-Di4a723B.d.mts} +2 -2
  14. package/dist/{ToolEvent-D99MGQYH.d.mts.map → ToolEvent-Di4a723B.d.mts.map} +1 -1
  15. package/dist/{ToolResult-Cj8ChodL.d.mts → ToolResult-BsYQRjmW.d.mts} +2 -2
  16. package/dist/{ToolResult-Cj8ChodL.d.mts.map → ToolResult-BsYQRjmW.d.mts.map} +1 -1
  17. package/dist/{Toolkit-BEZrNPTI.d.mts → Toolkit-DAjJ9Tvl.d.mts} +5 -5
  18. package/dist/{Toolkit-BEZrNPTI.d.mts.map → Toolkit-DAjJ9Tvl.d.mts.map} +1 -1
  19. package/dist/browser/BrowserTool.d.mts +1 -1
  20. package/dist/capabilities/Capabilities.d.mts +26 -2
  21. package/dist/capabilities/Capabilities.d.mts.map +1 -1
  22. package/dist/capabilities/Capabilities.mjs +32 -1
  23. package/dist/capabilities/Capabilities.mjs.map +1 -1
  24. package/dist/domain/Audio.d.mts +1 -1
  25. package/dist/domain/Image.d.mts +3 -2
  26. package/dist/domain/Image.mjs +29 -3
  27. package/dist/domain/Image.mjs.map +1 -1
  28. package/dist/domain/Items.d.mts +2 -2
  29. package/dist/domain/Items.mjs +19 -1
  30. package/dist/domain/Items.mjs.map +1 -1
  31. package/dist/domain/Media.d.mts +2 -2
  32. package/dist/domain/Media.mjs +51 -2
  33. package/dist/domain/Media.mjs.map +1 -1
  34. package/dist/domain/Music.d.mts +3 -8
  35. package/dist/domain/Music.d.mts.map +1 -1
  36. package/dist/domain/Music.mjs.map +1 -1
  37. package/dist/domain/Research.d.mts +1 -1
  38. package/dist/domain/Turn.d.mts +73 -9
  39. package/dist/domain/Turn.d.mts.map +1 -1
  40. package/dist/domain/Turn.mjs +38 -2
  41. package/dist/domain/Turn.mjs.map +1 -1
  42. package/dist/embedding-model/Embedding.d.mts +1 -1
  43. package/dist/image-generator/ImageGenerator.d.mts +188 -0
  44. package/dist/image-generator/ImageGenerator.d.mts.map +1 -0
  45. package/dist/image-generator/ImageGenerator.mjs +50 -0
  46. package/dist/image-generator/ImageGenerator.mjs.map +1 -0
  47. package/dist/inbox/Inbox.d.mts +16 -0
  48. package/dist/inbox/Inbox.d.mts.map +1 -0
  49. package/dist/inbox/Inbox.mjs +28 -0
  50. package/dist/inbox/Inbox.mjs.map +1 -0
  51. package/dist/inbox/Inbox.test.d.mts +1 -0
  52. package/dist/inbox/Inbox.test.mjs +42 -0
  53. package/dist/inbox/Inbox.test.mjs.map +1 -0
  54. package/dist/index.d.mts +15 -9
  55. package/dist/index.mjs +8 -2
  56. package/dist/language-model/LanguageModel.d.mts +2 -2
  57. package/dist/messenger/Messenger.d.mts +472 -0
  58. package/dist/messenger/Messenger.d.mts.map +1 -0
  59. package/dist/messenger/Messenger.mjs +66 -0
  60. package/dist/messenger/Messenger.mjs.map +1 -0
  61. package/dist/messenger/MessengerAdapter.d.mts +35 -0
  62. package/dist/messenger/MessengerAdapter.d.mts.map +1 -0
  63. package/dist/messenger/MessengerAdapter.mjs +102 -0
  64. package/dist/messenger/MessengerAdapter.mjs.map +1 -0
  65. package/dist/messenger/MessengerAdapter.test.d.mts +1 -0
  66. package/dist/messenger/MessengerAdapter.test.mjs +138 -0
  67. package/dist/messenger/MessengerAdapter.test.mjs.map +1 -0
  68. package/dist/messenger/MessengerError.d.mts +2 -0
  69. package/dist/messenger/MessengerError.mjs +39 -0
  70. package/dist/messenger/MessengerError.mjs.map +1 -0
  71. package/dist/music-generator/MusicGenerator.d.mts +3 -2
  72. package/dist/music-generator/MusicGenerator.d.mts.map +1 -1
  73. package/dist/observability/Metrics.d.mts +1 -1
  74. package/dist/speech-synthesizer/SpeechSynthesizer.d.mts +1 -1
  75. package/dist/streaming/Multipart.d.mts +21 -0
  76. package/dist/streaming/Multipart.d.mts.map +1 -0
  77. package/dist/streaming/Multipart.mjs +26 -0
  78. package/dist/streaming/Multipart.mjs.map +1 -0
  79. package/dist/testing/MockMessenger.d.mts +192 -0
  80. package/dist/testing/MockMessenger.d.mts.map +1 -0
  81. package/dist/testing/MockMessenger.mjs +76 -0
  82. package/dist/testing/MockMessenger.mjs.map +1 -0
  83. package/dist/testing/MockMusicGenerator.d.mts +1 -1
  84. package/dist/testing/MockProvider.d.mts +1 -1
  85. package/dist/testing/MockSpeechSynthesizer.d.mts +1 -1
  86. package/dist/tool/Approval.d.mts +3 -3
  87. package/dist/tool/HistoryCheck.d.mts +2 -2
  88. package/dist/tool/Tool.d.mts +1 -1
  89. package/dist/tool/ToolEvent.d.mts +1 -1
  90. package/dist/tool/ToolResult.d.mts +1 -1
  91. package/dist/tool/Toolkit.d.mts +1 -1
  92. package/dist/transcriber/Transcriber.d.mts +1 -1
  93. package/dist/web-read/WebReadTool.d.mts +1 -1
  94. package/dist/web-search/WebSearchTool.d.mts +1 -1
  95. package/package.json +29 -1
  96. package/src/capabilities/Capabilities.ts +38 -0
  97. package/src/domain/Image.ts +68 -2
  98. package/src/domain/Items.ts +18 -1
  99. package/src/domain/Media.ts +66 -0
  100. package/src/domain/Music.ts +4 -3
  101. package/src/domain/Turn.ts +56 -0
  102. package/src/image-generator/ImageGenerator.ts +165 -0
  103. package/src/inbox/Inbox.test.ts +52 -0
  104. package/src/inbox/Inbox.ts +33 -0
  105. package/src/index.ts +6 -0
  106. package/src/messenger/Messenger.ts +293 -0
  107. package/src/messenger/MessengerAdapter.test.ts +179 -0
  108. package/src/messenger/MessengerAdapter.ts +189 -0
  109. package/src/messenger/MessengerError.ts +67 -0
  110. package/src/streaming/Multipart.ts +29 -0
  111. package/src/testing/MockMessenger.ts +147 -0
  112. package/dist/Image-BK8-4H6s.d.mts +0 -59
  113. package/dist/Image-BK8-4H6s.d.mts.map +0 -1
  114. package/dist/Items-SfUabNuB.d.mts.map +0 -1
  115. package/dist/Media-DwgpifPD.d.mts +0 -57
  116. package/dist/Media-DwgpifPD.d.mts.map +0 -1
@@ -1,4 +1,4 @@
1
- import { i as MediaUrl, n as MediaBytes, t as MediaBase64 } from "./Media-DwgpifPD.mjs";
1
+ import { i as MediaBytes, o as MediaUrl, r as MediaBase64 } from "./Media-BbX7BAaO.mjs";
2
2
  import { Duration } from "effect";
3
3
  declare namespace Audio_d_exports {
4
4
  export { AudioBlob, AudioChunk, AudioFormat, AudioMimeType, AudioSource, isAudioBase64, isAudioBytes, isAudioUrl };
@@ -58,4 +58,4 @@ type AudioBlob = {
58
58
  };
59
59
  //#endregion
60
60
  export { AudioSource as a, isAudioBytes as c, AudioMimeType as i, isAudioUrl as l, AudioChunk as n, Audio_d_exports as o, AudioFormat as r, isAudioBase64 as s, AudioBlob as t };
61
- //# sourceMappingURL=Audio-60lKKHxS.d.mts.map
61
+ //# sourceMappingURL=Audio-_nGR4V0X.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Audio-60lKKHxS.d.mts","names":[],"sources":["../src/domain/Audio.ts"],"mappings":";;;;;;;;;;;;;KAWY;;;;;;;;;;KA0BA,cACR,SAAS,iBACT,YAAY,iBACZ,WAAW;cAEF,aAAU,GAAO,gBAAc,KAAK,SAAS;cAC7C,gBAAa,GAAO,gBAAc,KAAK,YAAY;cAEnD,eAAY,GAAO,gBAAc,KAAK,WAAW;;;;;;;KAQlD;WACD;WACA;WAUA;;WAEA;WACA;;;;;;;KAQC;WACD,OAAO;;;;;;KAON;WACD,QAAQ;WACR,OAAO;WACP,WAAW,SAAS"}
1
+ {"version":3,"file":"Audio-_nGR4V0X.d.mts","names":[],"sources":["../src/domain/Audio.ts"],"mappings":";;;;;;;;;;;;;KAWY;;;;;;;;;;KA0BA,cACR,SAAS,iBACT,YAAY,iBACZ,WAAW;cAEF,aAAU,GAAO,gBAAc,KAAK,SAAS;cAC7C,gBAAa,GAAO,gBAAc,KAAK,YAAY;cAEnD,eAAY,GAAO,gBAAc,KAAK,WAAW;;;;;;;KAQlD;WACD;WACA;WAUA;;WAEA;WACA;;;;;;;KAQC;WACD,OAAO;;;;;;KAON;WACD,QAAQ;WACR,OAAO;WACP,WAAW,SAAS"}
@@ -0,0 +1,99 @@
1
+ import { a as MediaSource, c as Watermark, i as MediaBytes, n as Dimensions, o as MediaUrl, r as MediaBase64, t as AspectRatio } from "./Media-BbX7BAaO.mjs";
2
+ import { Result, Schema } from "effect";
3
+ declare namespace Image_d_exports {
4
+ export { AspectRatio, Dimensions, GeneratedImage, ImageBase64Source, ImageBytesSource, ImageMimeType, ImageResolution, ImageSource, ImageUrlSource, ProviderData, imageBase64, imageBytes, imageUrl, isImageBase64, isImageBytes, isImageUrl, pixelsOf };
5
+ }
6
+ /**
7
+ * Image MIME types AI providers typically accept. The first four are the
8
+ * universal subset (Cohere v4, Voyage multimodal, Jina v4, Google
9
+ * `gemini-embedding-2`); HEIC / HEIF are Google-specific. The
10
+ * `(string & {})` tail keeps autocomplete on the literals while still
11
+ * accepting any string, so a newly-supported format works without an
12
+ * SDK update.
13
+ */
14
+ type ImageMimeType = "image/png" | "image/jpeg" | "image/webp" | "image/gif" | "image/heic" | "image/heif" | (string & {});
15
+ type ImageUrlSource = MediaUrl<ImageMimeType>;
16
+ type ImageBase64Source = MediaBase64<ImageMimeType>;
17
+ type ImageBytesSource = MediaBytes<ImageMimeType>;
18
+ /**
19
+ * Where an image lives. Provider layers normalize across these:
20
+ * `bytes` becomes a base64 data URI for OpenAI / Anthropic, an
21
+ * `inlineData` part for Gemini, and a separate field for Cohere /
22
+ * Voyage. URL constraints (must be HTTPS, must be public, …) are
23
+ * provider-specific and validated at the layer, not in the type.
24
+ */
25
+ type ImageSource = MediaSource<ImageMimeType>;
26
+ declare const ImageUrlSource: Schema.TaggedStruct<"url", {
27
+ readonly url: Schema.String;
28
+ readonly mimeType: Schema.optional<Schema.Schema<ImageMimeType>>;
29
+ }>;
30
+ declare const ImageBase64Source: Schema.TaggedStruct<"base64", {
31
+ readonly base64: Schema.String;
32
+ readonly mimeType: Schema.Schema<ImageMimeType>;
33
+ }>;
34
+ declare const ImageBytesSource: Schema.TaggedStruct<"bytes", {
35
+ readonly bytes: Schema.Uint8Array;
36
+ readonly mimeType: Schema.Schema<ImageMimeType>;
37
+ }>;
38
+ declare const ImageSource: Schema.Schema<ImageSource>;
39
+ declare const imageUrl: (url: string, mimeType?: ImageMimeType) => ImageUrlSource;
40
+ declare const imageBase64: (base64: string, mimeType: ImageMimeType) => ImageBase64Source;
41
+ declare const imageBytes: (bytes: Uint8Array, mimeType: ImageMimeType) => ImageBytesSource;
42
+ /**
43
+ * Resolution tier, roughly the short edge in pixels. A tier rather than
44
+ * a pixel pair: adapters whose wire takes exact dimensions derive them
45
+ * from the tier and the aspect ratio. Image-typed on purpose, video
46
+ * models tier by scan height instead.
47
+ */
48
+ type ImageResolution = "1K" | "2K" | "4K";
49
+ /**
50
+ * Turn the portable ratio and tier into pixels: the tier is the short
51
+ * edge, the long edge follows the ratio. `undefined` when neither was
52
+ * asked for, which the caller sends as "no size" so the endpoint picks.
53
+ *
54
+ * Adapters whose wire wants `"WxH"` format the pair; those wanting an
55
+ * object send it as is. Whether the result is in range for a given model
56
+ * is the server's call: per-model limits churn and we do not table them.
57
+ */
58
+ declare const pixelsOf: (request: {
59
+ readonly aspectRatio?: AspectRatio;
60
+ readonly resolution?: ImageResolution;
61
+ }) => Result.Result<Dimensions | undefined, string>;
62
+ /**
63
+ * Per-image extras a provider reported and this type has no field for:
64
+ * pixel dimensions, a file name, a revised prompt. Opaque here, and a
65
+ * shared slot, so a provider keys its data under its own name
66
+ * (`{ fal: … }`, `{ openai: … }`) and reads only that key. Each provider
67
+ * package ships a typed reader; the framework never interprets it.
68
+ *
69
+ * Not promoted to real fields because the providers disagree on what
70
+ * they report. Only some fal endpoints return dimensions, and neither
71
+ * OpenAI's Images API nor Gemini returns them at all.
72
+ */
73
+ type ProviderData = unknown;
74
+ /** One image off a generation call, plus what the provider stamped into it. */
75
+ type GeneratedImage = {
76
+ readonly image: ImageSource;
77
+ /** Set only when the provider applies one. */
78
+ readonly watermark?: Watermark;
79
+ /** {@link ProviderData}: per-image extras, keyed by provider name. */
80
+ readonly providerData?: ProviderData;
81
+ };
82
+ declare const isImageUrl: <I>(input: I) => input is I & {
83
+ readonly _tag: "url";
84
+ readonly url: string;
85
+ readonly mimeType?: ImageMimeType | undefined;
86
+ };
87
+ declare const isImageBase64: <I>(input: I) => input is I & {
88
+ readonly _tag: "base64";
89
+ readonly base64: string;
90
+ readonly mimeType: ImageMimeType;
91
+ };
92
+ declare const isImageBytes: <I>(input: I) => input is I & {
93
+ readonly _tag: "bytes";
94
+ readonly bytes: Uint8Array<ArrayBufferLike>;
95
+ readonly mimeType: ImageMimeType;
96
+ };
97
+ //#endregion
98
+ export { ImageResolution as a, Image_d_exports as c, imageBytes as d, imageUrl as f, pixelsOf as g, isImageUrl as h, ImageMimeType as i, ProviderData as l, isImageBytes as m, ImageBase64Source as n, ImageSource as o, isImageBase64 as p, ImageBytesSource as r, ImageUrlSource as s, GeneratedImage as t, imageBase64 as u };
99
+ //# sourceMappingURL=Image-Cv6iBLTy.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Image-Cv6iBLTy.d.mts","names":[],"sources":["../src/domain/Image.ts"],"mappings":";;;;;;;;;;;;;KAoBY;KAYA,iBAAiB,SAAS;KAC1B,oBAAoB,YAAY;KAChC,mBAAmB,WAAW;;;;;;;;KAS9B,cAAc,YAAY;cAEzB,gBAAc,OAAA;;;;cAKd,mBAAiB,OAAA;;;;cAKjB,kBAAgB,OAAA;;;;cAKhB,aAAa,OAAO,OAAO;cAM3B,WAAQ,aAAe,WAAa,kBAAgB;cAGpD,cAAW,gBAAkB,UAAY,kBAAgB;cAMzD,aAAU,OAAW,YAAU,UAAY,kBAAgB;;;;;;;KAe5D;;;;;;;;;;cAaC,WAAQ;WACV,cAAc;WACd,aAAa;MACpB,OAAO,OAAO;;;;;;;;;;;;KAqBN;;KAGA;WACD,OAAO;;WAEP,YAAY;;WAEZ,eAAe;;cAGb,aAAU,GAAA,OAAA,MAAA,SAAA;;;;;cACV,gBAAa,GAAA,OAAA,MAAA,SAAA;;;;;cACb,eAAY,GAAA,OAAA,MAAA,SAAA"}
@@ -1,7 +1,7 @@
1
- import { i as ImageSource } from "./Image-BK8-4H6s.mjs";
1
+ import { o as ImageSource } from "./Image-Cv6iBLTy.mjs";
2
2
  import { Schema } from "effect";
3
3
  declare namespace Items_d_exports {
4
- export { Annotation, ContainerFileCitation, ContentBlock, FileCitation, FilePath, HistoryItem, InputImage, InputText, InputTokensDetails, Message, OutputText, OutputTokensDetails, Reasoning, Refusal, Role, StopReason, ToolCall, ToolCallOutput, UrlCitation, Usage, assistantText, isContainerFileCitation, isFileCitation, isFilePath, isInputImage, isInputText, isMessage, isOutputText, isReasoning, isRefusal, isToolCall, isToolCallOutput, isUrlCitation, systemText, toolCallOutput, userText };
4
+ export { Annotation, ContainerFileCitation, ContentBlock, FileCitation, FilePath, HistoryItem, InputImage, InputText, InputTokensDetails, Message, OutputImage, OutputText, OutputTokensDetails, Reasoning, Refusal, Role, StopReason, ToolCall, ToolCallOutput, UrlCitation, Usage, assistantText, isContainerFileCitation, isFileCitation, isFilePath, isInputImage, isInputText, isMessage, isOutputImage, isOutputText, isReasoning, isRefusal, isToolCall, isToolCallOutput, isUrlCitation, systemText, toolCallOutput, userText };
5
5
  }
6
6
  declare const InputText: Schema.Struct<{
7
7
  readonly type: Schema.Literal<"input_text">;
@@ -137,6 +137,21 @@ declare const OutputText: Schema.Struct<{
137
137
  }>]>>>;
138
138
  }>;
139
139
  type OutputText = typeof OutputText.Type;
140
+ /**
141
+ * Model-emitted image. The counterpart to {@link InputImage}: same
142
+ * `ImageSource`, so an image the model drew goes straight back into the
143
+ * next turn with no conversion.
144
+ *
145
+ * How the pixels were produced is not modelled here. A provider may draw
146
+ * them itself, as an image part of the turn, or reach a hosted tool that
147
+ * draws them; either way the fact is the same, and enabling it is
148
+ * provider-specific.
149
+ */
150
+ declare const OutputImage: Schema.Struct<{
151
+ readonly type: Schema.Literal<"output_image">;
152
+ readonly source: Schema.Schema<ImageSource>;
153
+ }>;
154
+ type OutputImage = typeof OutputImage.Type;
140
155
  /**
141
156
  * Model-emitted refusal. Distinct from `output_text`: the model declined
142
157
  * to answer rather than producing normal output. Pair with
@@ -180,6 +195,9 @@ declare const ContentBlock: Schema.Union<readonly [Schema.Struct<{
180
195
  readonly file_id: Schema.String;
181
196
  readonly index: Schema.Number;
182
197
  }>]>>>;
198
+ }>, Schema.Struct<{
199
+ readonly type: Schema.Literal<"output_image">;
200
+ readonly source: Schema.Schema<ImageSource>;
183
201
  }>, Schema.Struct<{
184
202
  readonly type: Schema.Literal<"refusal">;
185
203
  readonly text: Schema.String;
@@ -222,6 +240,9 @@ declare const Message: Schema.Struct<{
222
240
  readonly file_id: Schema.String;
223
241
  readonly index: Schema.Number;
224
242
  }>]>>>;
243
+ }>, Schema.Struct<{
244
+ readonly type: Schema.Literal<"output_image">;
245
+ readonly source: Schema.Schema<ImageSource>;
225
246
  }>, Schema.Struct<{
226
247
  readonly type: Schema.Literal<"refusal">;
227
248
  readonly text: Schema.String;
@@ -293,6 +314,9 @@ declare const HistoryItem: Schema.Union<readonly [Schema.Struct<{
293
314
  readonly file_id: Schema.String;
294
315
  readonly index: Schema.Number;
295
316
  }>]>>>;
317
+ }>, Schema.Struct<{
318
+ readonly type: Schema.Literal<"output_image">;
319
+ readonly source: Schema.Schema<ImageSource>;
296
320
  }>, Schema.Struct<{
297
321
  readonly type: Schema.Literal<"refusal">;
298
322
  readonly text: Schema.String;
@@ -352,6 +376,10 @@ declare const isOutputText: <I>(input: I) => input is I & {
352
376
  readonly index: number;
353
377
  })[] | undefined;
354
378
  };
379
+ declare const isOutputImage: <I>(input: I) => input is I & {
380
+ readonly type: "output_image";
381
+ readonly source: ImageSource;
382
+ };
355
383
  declare const isRefusal: <I>(input: I) => input is I & {
356
384
  readonly type: "refusal";
357
385
  readonly text: string;
@@ -391,6 +419,9 @@ declare const isMessage: <I>(input: I) => input is I & {
391
419
  readonly file_id: string;
392
420
  readonly index: number;
393
421
  })[] | undefined;
422
+ } | {
423
+ readonly type: "output_image";
424
+ readonly source: ImageSource;
394
425
  } | {
395
426
  readonly type: "refusal";
396
427
  readonly text: string;
@@ -457,5 +488,5 @@ declare const systemText: (text: string) => Message;
457
488
  declare const assistantText: (text: string) => Message;
458
489
  declare const toolCallOutput: (call_id: string, output: string) => ToolCallOutput;
459
490
  //#endregion
460
- export { isReasoning as A, isContainerFileCitation as C, isInputText as D, isInputImage as E, systemText as F, toolCallOutput as I, userText as L, isToolCall as M, isToolCallOutput as N, isMessage as O, isUrlCitation as P, assistantText as S, isFilePath as T, StopReason as _, FilePath as a, UrlCitation as b, InputText as c, Message as d, OutputText as f, Role as g, Refusal as h, FileCitation as i, isRefusal as j, isOutputText as k, InputTokensDetails as l, Reasoning as m, ContainerFileCitation as n, HistoryItem as o, OutputTokensDetails as p, ContentBlock as r, InputImage as s, Annotation as t, Items_d_exports as u, ToolCall as v, isFileCitation as w, Usage as x, ToolCallOutput as y };
461
- //# sourceMappingURL=Items-SfUabNuB.d.mts.map
491
+ export { isOutputImage as A, assistantText as C, isInputImage as D, isFilePath as E, isToolCallOutput as F, isUrlCitation as I, systemText as L, isReasoning as M, isRefusal as N, isInputText as O, isToolCall as P, toolCallOutput as R, Usage as S, isFileCitation as T, Role as _, FilePath as a, ToolCallOutput as b, InputText as c, Message as d, OutputImage as f, Refusal as g, Reasoning as h, FileCitation as i, isOutputText as j, isMessage as k, InputTokensDetails as l, OutputTokensDetails as m, ContainerFileCitation as n, HistoryItem as o, OutputText as p, ContentBlock as r, InputImage as s, Annotation as t, Items_d_exports as u, StopReason as v, isContainerFileCitation as w, UrlCitation as x, ToolCall as y, userText as z };
492
+ //# sourceMappingURL=Items-C7MyrYPX.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Items-C7MyrYPX.d.mts","names":[],"sources":["../src/domain/Items.ts"],"mappings":";;;;;cAOa,WAAS,OAAA;;;;KAIV,mBAAmB,UAAU;;;;;;;;;cAU5B,YAAU,OAAA;;;;KAIX,oBAAoB,WAAW;;;;;;;;;cAgB9B,aAAW,OAAA;;;;;;;;;KASZ,qBAAqB,YAAY;cAEhC,cAAY,OAAA;;;;;KAKb,sBAAsB,aAAa;cAElC,uBAAqB,OAAA;;;;;;;KAOtB,+BAA+B,sBAAsB;cAEpD,UAAQ,OAAA;;;;;KAKT,kBAAkB,SAAS;cAE1B,YAAU,OAAA,gBAAA,OAAA;;;;;;;;;;;;;;;;;;;;;;;KACX,oBAAoB,WAAW;cAE9B,gBAAa,GAAA,OAAA,MAAA,SAAA;;;;;;;;;cACb,iBAAc,GAAA,OAAA,MAAA,SAAA;;;;;cACd,0BAAuB,GAAA,OAAA,MAAA,SAAA;;;;;;;cACvB,aAAU,GAAA,OAAA,MAAA,SAAA;;;;;cAEV,YAAU,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;KAKX,oBAAoB,WAAW;;;;;;;;;;;cAY9B,aAAW,OAAA;;;;KAIZ,qBAAqB,YAAY;;;;;;;cAQhC,SAAO,OAAA;;;;KAIR,iBAAiB,QAAQ;cAExB,cAAY,OAAA,gBAAA,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KACb,sBAAsB,aAAa;cAElC,MAAI,OAAA;KACL,cAAc,KAAK;cAqBlB,SAAO,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAMR,iBAAiB,QAAQ;cAExB,UAAQ,OAAA;;;;;;;KAQT,kBAAkB,SAAS;cAE1B,gBAAc,OAAA;;;;;;KAMf,wBAAwB,eAAe;;;;;;;cAQtC,WAAS,OAAA;;;;;;;KAOV,mBAAmB,UAAU;cAE5B,aAAW,OAAA,gBAAA,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KACZ,qBAAqB,YAAY;cAMhC,cAAW,GAAA,OAAA,MAAA,SAAA;;;;cACX,eAAY,GAAA,OAAA,MAAA,SAAA;;;;cACZ,eAAY,GAAA,OAAA,MAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;cACZ,gBAAa,GAAA,OAAA,MAAA,SAAA;;;;cACb,YAAS,GAAA,OAAA,MAAA,SAAA;;;;cAET,YAAS,GAAA,OAAA,MAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cACT,aAAU,GAAA,OAAA,MAAA,SAAA;;;;;;;cACV,mBAAgB,GAAA,OAAA,MAAA,SAAA;;;;;;cAChB,cAAW,GAAA,OAAA,MAAA,SAAA;;;;;;;;;;;;;;;;;;cAiBX,oBAAkB,OAAA;;;;KAInB,4BAA4B,mBAAmB;cAE9C,qBAAmB,OAAA;;;KAGpB,6BAA6B,oBAAoB;cAEhD,OAAK,OAAA;;;;;;;;;;;;KAON,eAAe,MAAM;cAEpB,YAAU,OAAA;KAUX,oBAAoB,WAAW;cAM9B,WAAQ,iBAAmB;cAM3B,aAAU,iBAAmB;cAM7B,gBAAa,iBAAmB;cAMhC,iBAAc,iBAAmB,mBAAmB"}
@@ -0,0 +1,60 @@
1
+ import { Result } from "effect";
2
+ declare namespace Media_d_exports {
3
+ export { AspectRatio, Dimensions, MediaBase64, MediaBytes, MediaSource, MediaUrl, Watermark, isMediaBase64, isMediaBytes, isMediaUrl, parseAspectRatio, round16 };
4
+ }
5
+ /**
6
+ * Watermark kind a provider embedded in generated media. Shared across
7
+ * modalities (audio, image). No provider exposes metadata beyond the
8
+ * kind, so a bare literal union is enough.
9
+ */
10
+ type Watermark = "synthid" | "c2pa" | (string & {});
11
+ /**
12
+ * Requested shape of generated visual media, width to height. Shared by
13
+ * image and video generation: the listed ratios are the ones providers
14
+ * accept as literals, and the `(string & {})` tail keeps a
15
+ * newly-supported ratio working without an SDK update. Which ratios a
16
+ * given model accepts is not checked here; the provider rejects what it
17
+ * cannot render and the adapter translates that error.
18
+ *
19
+ * Resolution is NOT shared: image models tier by short edge
20
+ * (`ImageResolution`), video models by scan height. Each modality types
21
+ * its own.
22
+ */
23
+ type AspectRatio = "1:1" | "2:3" | "3:2" | "3:4" | "4:3" | "4:5" | "5:4" | "9:16" | "16:9" | "21:9" | "1:4" | "4:1" | "1:8" | "8:1" | (string & {});
24
+ /** Exact pixels, for adapters whose wire takes dimensions rather than a ratio. */
25
+ type Dimensions = {
26
+ readonly width: number;
27
+ readonly height: number;
28
+ };
29
+ /**
30
+ * Read `"W:H"` as a pair. Fails when the ratio is not arithmetic, which
31
+ * the `(string & {})` tail on {@link AspectRatio} lets through: a caller
32
+ * asking for `"cinematic"` gets a message rather than NaN pixels. The
33
+ * failure is a plain string so this file stays free of provider
34
+ * vocabulary; each adapter wraps it in its own error.
35
+ */
36
+ declare const parseAspectRatio: (ratio: AspectRatio) => Result.Result<readonly [number, number], string>;
37
+ /** Several image endpoints require both edges to be multiples of 16. */
38
+ declare const round16: (n: number) => number;
39
+ type MediaUrl<M extends string = string> = {
40
+ readonly _tag: "url";
41
+ readonly url: string;
42
+ readonly mimeType?: M;
43
+ };
44
+ type MediaBase64<M extends string = string> = {
45
+ readonly _tag: "base64";
46
+ readonly base64: string;
47
+ readonly mimeType: M;
48
+ };
49
+ type MediaBytes<M extends string = string> = {
50
+ readonly _tag: "bytes";
51
+ readonly bytes: Uint8Array;
52
+ readonly mimeType: M;
53
+ };
54
+ type MediaSource<M extends string = string> = MediaUrl<M> | MediaBase64<M> | MediaBytes<M>;
55
+ declare const isMediaUrl: <M extends string>(s: MediaSource<M>) => s is MediaUrl<M>;
56
+ declare const isMediaBase64: <M extends string>(s: MediaSource<M>) => s is MediaBase64<M>;
57
+ declare const isMediaBytes: <M extends string>(s: MediaSource<M>) => s is MediaBytes<M>;
58
+ //#endregion
59
+ export { MediaSource as a, Watermark as c, isMediaUrl as d, parseAspectRatio as f, MediaBytes as i, isMediaBase64 as l, Dimensions as n, MediaUrl as o, round16 as p, MediaBase64 as r, Media_d_exports as s, AspectRatio as t, isMediaBytes as u };
60
+ //# sourceMappingURL=Media-BbX7BAaO.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Media-BbX7BAaO.d.mts","names":[],"sources":["../src/domain/Media.ts"],"mappings":";;;;;;;;;KAwCY;;;;;;;;;;;;;KAcA;;KAkBA;WACD;WACA;;;;;;;;;cAaE,mBAAgB,OACpB,gBACN,OAAO;;cAQG,UAAO;KAER,SAAS;WACV;WACA;WACA,WAAW;;KAGV,YAAY;WACb;WACA;WACA,UAAU;;KAGT,WAAW;WACZ;WACA,OAAO;WACP,UAAU;;KAGT,YAAY,6BAA6B,SAAS,KAAK,YAAY,KAAK,WAAW;cAElF,aAAc,kBAAgB,GAAK,YAAY,OAAK,KAAK,SAAS;cAGlE,gBAAiB,kBAAgB,GAAK,YAAY,OAAK,KAAK,YAAY;cAGxE,eAAgB,kBAAgB,GAAK,YAAY,OAAK,KAAK,WAAW"}
@@ -0,0 +1,64 @@
1
+ import { Duration } from "effect";
2
+ declare namespace MessengerError_d_exports {
3
+ export { MessengerConnectFailed, MessengerError, MessengerOperation, MessengerRateLimited, MessengerRequestFailed, MessengerTransportClosed, MessengerUnsupported, describe };
4
+ }
5
+ declare const MessengerConnectFailed_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
6
+ readonly _tag: "MessengerConnectFailed";
7
+ } & Readonly<A>;
8
+ /** Transport never came up: bad token, rejected handshake. Raised at layer build. */
9
+ declare class MessengerConnectFailed extends MessengerConnectFailed_base<{
10
+ provider: string;
11
+ reason: string;
12
+ raw: unknown;
13
+ }> {}
14
+ declare const MessengerTransportClosed_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
15
+ readonly _tag: "MessengerTransportClosed";
16
+ } & Readonly<A>;
17
+ /**
18
+ * Inbound transport ended for good (reconnect budget spent, fatal close).
19
+ * Routine reconnects stay inside the adapter and never surface here.
20
+ */
21
+ declare class MessengerTransportClosed extends MessengerTransportClosed_base<{
22
+ provider: string;
23
+ reason: string;
24
+ raw?: unknown;
25
+ }> {}
26
+ /** Which verb was rejected. */
27
+ type MessengerOperation = "post" | "edit" | "react" | "typing";
28
+ declare const MessengerRequestFailed_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
29
+ readonly _tag: "MessengerRequestFailed";
30
+ } & Readonly<A>;
31
+ /** An outbound verb was rejected: permission, unknown chat, text too long, no-op edit. */
32
+ declare class MessengerRequestFailed extends MessengerRequestFailed_base<{
33
+ provider: string;
34
+ operation: MessengerOperation;
35
+ reason: string;
36
+ raw: unknown;
37
+ }> {}
38
+ declare const MessengerRateLimited_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
39
+ readonly _tag: "MessengerRateLimited";
40
+ } & Readonly<A>;
41
+ /**
42
+ * Slow down, for this long. Typed rather than retried blindly so callers -
43
+ * `streamViaEdits` above all - decide whether waiting is still worth it.
44
+ */
45
+ declare class MessengerRateLimited extends MessengerRateLimited_base<{
46
+ provider: string;
47
+ retryAfter: Duration.Duration;
48
+ raw?: unknown;
49
+ }> {}
50
+ declare const MessengerUnsupported_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
51
+ readonly _tag: "MessengerUnsupported";
52
+ } & Readonly<A>;
53
+ /** The platform cannot express this at all: off-set reaction emoji, edits on WhatsApp. */
54
+ declare class MessengerUnsupported extends MessengerUnsupported_base<{
55
+ provider: string;
56
+ capability: string;
57
+ reason: string;
58
+ }> {}
59
+ type MessengerError = MessengerConnectFailed | MessengerTransportClosed | MessengerRequestFailed | MessengerRateLimited | MessengerUnsupported;
60
+ /** Human-readable description for logs. Prose, not a contract; branch on `_tag`. */
61
+ declare const describe: (e: MessengerError) => string;
62
+ //#endregion
63
+ export { MessengerRateLimited as a, MessengerUnsupported as c, MessengerOperation as i, describe as l, MessengerError as n, MessengerRequestFailed as o, MessengerError_d_exports as r, MessengerTransportClosed as s, MessengerConnectFailed as t };
64
+ //# sourceMappingURL=MessengerError-CeK6VAcu.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessengerError-CeK6VAcu.d.mts","names":[],"sources":["../src/messenger/MessengerError.ts"],"mappings":";;;;;;;;cAMa,+BAA+B;EAC1C;EACA;EACA;;;;;;;;;cAOW,iCAAiC;EAC5C;EACA;EACA;;;KAIU;;;;;cAGC,+BAA+B;EAC1C;EACA,WAAW;EACX;EACA;;;;;;;;;cAOW,6BAA6B;EACxC;EACA,YAAY,SAAS;EACrB;;;;;;cAIW,6BAA6B;EACxC;EACA;EACA;;KAGU,iBACR,yBACA,2BACA,yBACA,uBACA;;cAGS,WAAW,GAAG"}
@@ -1,4 +1,4 @@
1
- import { v as ToolCall, y as ToolCallOutput } from "./Items-SfUabNuB.mjs";
1
+ import { b as ToolCallOutput, y as ToolCall } from "./Items-C7MyrYPX.mjs";
2
2
  import { Effect, Schema } from "effect";
3
3
  import { StandardJSONSchemaV1, StandardSchemaV1 } from "@standard-schema/spec";
4
4
  declare namespace Tool_d_exports {
@@ -311,4 +311,4 @@ declare const decodeArgs: <Input>(tool: DecodableTool<Input>, call: ToolCall) =>
311
311
  declare const execute: <Name extends string, Input, Event, Output, E, R>(tool: Tool<Name, Input, Event, Output, E, R>, call: ToolCall) => Effect.Effect<ToolCallOutput, E | ToolError | ToolValidationError, R>;
312
312
  //#endregion
313
313
  export { providerToolsOf as A, fromEffectSchema as C, make as D, isProviderTool as E, toDescriptors as M, withName as N, noInput as O, withRun as P, fail as S, interaction as T, Tool_d_exports as _, Emit as a, descriptorsOf as b, SignalTool as c, ToolE as d, ToolError as f, ToolValidationError as g, ToolR as h, DecodeResult as i, signal as j, provider as k, Tool as l, ToolInputSchema as m, AnyTool as n, InteractionTool as o, ToolFailed as p, DecodableTool as r, ProviderTool as s, AnyLocalTool as t, ToolDescriptor as u, decodeArgs as v, fromStandardSchema as w, execute as x, decodeCallInput as y };
314
- //# sourceMappingURL=Tool-DE-rnvkw.d.mts.map
314
+ //# sourceMappingURL=Tool-BF78QWtn.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tool-DE-rnvkw.d.mts","names":[],"sources":["../src/tool/Tool.ts"],"mappings":"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"}
1
+ {"version":3,"file":"Tool-BF78QWtn.d.mts","names":[],"sources":["../src/tool/Tool.ts"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { t as ToolResult } from "./ToolResult-Cj8ChodL.mjs";
1
+ import { t as ToolResult } from "./ToolResult-BsYQRjmW.mjs";
2
2
  import { Data } from "effect";
3
3
  declare namespace ToolEvent_d_exports {
4
4
  export { ToolEvent, isApprovalRequested, isOutput, isProgress };
@@ -141,4 +141,4 @@ declare const isOutput: (u: unknown) => u is {
141
141
  };
142
142
  //#endregion
143
143
  export { isProgress as a, isOutput as i, ToolEvent_d_exports as n, isApprovalRequested as r, ToolEvent as t };
144
- //# sourceMappingURL=ToolEvent-D99MGQYH.d.mts.map
144
+ //# sourceMappingURL=ToolEvent-Di4a723B.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolEvent-D99MGQYH.d.mts","names":[],"sources":["../src/tool/ToolEvent.ts"],"mappings":";;;;;KAkBY,YAAY,KAAK;EAC3B;aACW;aACA;aACA;;EAEX;aACW;aACA;aACA;;EAEX;aACW,QAAQ;;;;;;;;;;cAWR;;;aArBS;aACH;aACK;;;;;aAQH,QAAA;;;;;aALC;aACH;aACA;;;;;;;eAPG;eACH;eACK;;;eAQH,QAAA;;;eALC;eACH;eACA;;;;;;;;;;;;;;;;;;;eAPG;eACH;eACK;;;eAQH,QAAA;;;eALC;eACH;eACA;;;;;;;;;;;;;;;;;;;;aAPG;aACH;aACK;;;;aAQH,QAAA;;;;aALC;aACH;aACA;;;cAgBN,sBAAmB,eAAA;;WAvBV;WACH;WACK;;cAsBX,aAAU,eAAA;;WAnBD;WACH;WACA;;cAkBN,WAAQ,eAAA;;WAfA,QAAA"}
1
+ {"version":3,"file":"ToolEvent-Di4a723B.d.mts","names":[],"sources":["../src/tool/ToolEvent.ts"],"mappings":";;;;;KAkBY,YAAY,KAAK;EAC3B;aACW;aACA;aACA;;EAEX;aACW;aACA;aACA;;EAEX;aACW,QAAQ;;;;;;;;;;cAWR;;;aArBS;aACH;aACK;;;;;aAQH,QAAA;;;;;aALC;aACH;aACA;;;;;;;eAPG;eACH;eACK;;;eAQH,QAAA;;;eALC;eACH;eACA;;;;;;;;;;;;;;;;;;;eAPG;eACH;eACK;;;eAQH,QAAA;;;eALC;eACH;eACA;;;;;;;;;;;;;;;;;;;;aAPG;aACH;aACK;;;;aAQH,QAAA;;;;aALC;aACH;aACA;;;cAgBN,sBAAmB,eAAA;;WAvBV;WACH;WACK;;cAsBX,aAAU,eAAA;;WAnBD;WACH;WACA;;cAkBN,WAAQ,eAAA;;WAfA,QAAA"}
@@ -1,4 +1,4 @@
1
- import { v as ToolCall, y as ToolCallOutput } from "./Items-SfUabNuB.mjs";
1
+ import { b as ToolCallOutput, y as ToolCall } from "./Items-C7MyrYPX.mjs";
2
2
  import { Data } from "effect";
3
3
  declare namespace ToolResult_d_exports {
4
4
  export { ToolResult, cancelled, denied, executionError, failed, isFailure, isOk, nonLocalTool, serializeValue, toToolCallOutput, validationError };
@@ -149,4 +149,4 @@ declare const serializeValue: (value: unknown) => string;
149
149
  declare const toToolCallOutput: (r: ToolResult) => ToolCallOutput;
150
150
  //#endregion
151
151
  export { executionError as a, isOk as c, toToolCallOutput as d, validationError as f, denied as i, nonLocalTool as l, ToolResult_d_exports as n, failed as o, cancelled as r, isFailure as s, ToolResult as t, serializeValue as u };
152
- //# sourceMappingURL=ToolResult-Cj8ChodL.d.mts.map
152
+ //# sourceMappingURL=ToolResult-BsYQRjmW.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolResult-Cj8ChodL.d.mts","names":[],"sources":["../src/tool/ToolResult.ts"],"mappings":";;;;;KAqBY,aAAa,KAAK;EAC5B;aACW;aACA;aACA;;EAEX;aACW;aACA;aACA;aACA;;;;;;;;;;;cAYA;;;aAfS;aACH;aACA;aACG;;;;;aARA;aACH;aACC;;;;;;;eAGE;eACH;eACA;eACG;;;eARA;eACH;eACC;;;;;;;;;;;;;;;;;eAGE;eACH;eACA;eACG;;;eARA;eACH;eACC;;;;;;;;;;;;;;;;;;aAGE;aACH;aACA;aACG;;;;aARA;aACH;aACC;;;cAoBP,OAAI,eAAA;;WAtBK;WACH;WACC;;cAqBP,YAAS,eAAA;;WAlBA;WACH;WACA;WACG;;cAqBT,SAAM,MAAU,UAAQ,cAAc,oBAAoB;;cAS1D,SAAM,MAAU,UAAQ,oBAAoB;;cAI5C,YAAS,MAAU,UAAQ,oBAAoB;;cAI/C,iBAAc,MAAU,UAAQ,mBAAmB;;;;;;;cASnD,eAAY,MAAU,UAAQ,oBAAoB;;;;;;cAYlD,kBAAe,MAAU,UAAQ,oBAAoB;;;;;;cAYrD,iBAAc;cAOd,mBAAgB,GAAO,eAAa"}
1
+ {"version":3,"file":"ToolResult-BsYQRjmW.d.mts","names":[],"sources":["../src/tool/ToolResult.ts"],"mappings":";;;;;KAqBY,aAAa,KAAK;EAC5B;aACW;aACA;aACA;;EAEX;aACW;aACA;aACA;aACA;;;;;;;;;;;cAYA;;;aAfS;aACH;aACA;aACG;;;;;aARA;aACH;aACC;;;;;;;eAGE;eACH;eACA;eACG;;;eARA;eACH;eACC;;;;;;;;;;;;;;;;;eAGE;eACH;eACA;eACG;;;eARA;eACH;eACC;;;;;;;;;;;;;;;;;;aAGE;aACH;aACA;aACG;;;;aARA;aACH;aACC;;;cAoBP,OAAI,eAAA;;WAtBK;WACH;WACC;;cAqBP,YAAS,eAAA;;WAlBA;WACH;WACA;WACG;;cAqBT,SAAM,MAAU,UAAQ,cAAc,oBAAoB;;cAS1D,SAAM,MAAU,UAAQ,oBAAoB;;cAI5C,YAAS,MAAU,UAAQ,oBAAoB;;cAI/C,iBAAc,MAAU,UAAQ,mBAAmB;;;;;;;cASnD,eAAY,MAAU,UAAQ,oBAAoB;;;;;;cAYlD,kBAAe,MAAU,UAAQ,oBAAoB;;;;;;cAYrD,iBAAc;cAOd,mBAAgB,GAAO,eAAa"}
@@ -1,9 +1,9 @@
1
- import { o as HistoryItem, v as ToolCall } from "./Items-SfUabNuB.mjs";
2
- import { a as Emit, c as SignalTool, d as ToolE, h as ToolR, l as Tool, n as AnyTool, o as InteractionTool, p as ToolFailed, s as ProviderTool, u as ToolDescriptor } from "./Tool-DE-rnvkw.mjs";
1
+ import { o as HistoryItem, y as ToolCall } from "./Items-C7MyrYPX.mjs";
2
+ import { a as Emit, c as SignalTool, d as ToolE, h as ToolR, l as Tool, n as AnyTool, o as InteractionTool, p as ToolFailed, s as ProviderTool, u as ToolDescriptor } from "./Tool-BF78QWtn.mjs";
3
3
  import { Turn } from "./domain/Turn.mjs";
4
4
  import { r as Step } from "./Loop-B54AB1ME.mjs";
5
- import { t as ToolResult } from "./ToolResult-Cj8ChodL.mjs";
6
- import { t as ToolEvent } from "./ToolEvent-D99MGQYH.mjs";
5
+ import { t as ToolResult } from "./ToolResult-BsYQRjmW.mjs";
6
+ import { t as ToolEvent } from "./ToolEvent-Di4a723B.mjs";
7
7
  import { Cause, Effect, Stream } from "effect";
8
8
  declare namespace Toolkit_d_exports {
9
9
  export { DuplicateToolName, ExecuteOptions, Middleware, NoDuplicateNames, ToolMap, Toolkit, ToolkitE, ToolkitR, UniqueTools, appendToolResults, collectResults, compose, continueWithResults, describeFailures, descriptors, fromArray, make, makeNamespaced, namespace, run, wrap };
@@ -190,4 +190,4 @@ declare const continueWithResults: {
190
190
  };
191
191
  //#endregion
192
192
  export { wrap as S, fromArray as _, ToolMap as a, namespace as b, ToolkitR as c, appendToolResults as d, collectResults as f, descriptors as g, describeFailures as h, NoDuplicateNames as i, Toolkit_d_exports as l, continueWithResults as m, ExecuteOptions as n, Toolkit as o, compose as p, Middleware as r, ToolkitE as s, DuplicateToolName as t, UniqueTools as u, make as v, run as x, makeNamespaced as y };
193
- //# sourceMappingURL=Toolkit-BEZrNPTI.d.mts.map
193
+ //# sourceMappingURL=Toolkit-DAjJ9Tvl.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Toolkit-BEZrNPTI.d.mts","names":[],"sources":["../src/tool/Toolkit.ts"],"mappings":"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"}
1
+ {"version":3,"file":"Toolkit-DAjJ9Tvl.d.mts","names":[],"sources":["../src/tool/Toolkit.ts"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { BrowserError } from "./BrowserError.mjs";
2
2
  import { BrowserSession } from "./Browser.mjs";
3
- import { l as Tool } from "../Tool-DE-rnvkw.mjs";
3
+ import { l as Tool } from "../Tool-BF78QWtn.mjs";
4
4
  declare namespace BrowserTool_d_exports {
5
5
  export { browserToolkit, clickTool, fillTool, gotoTool, pressTool, scrollTool };
6
6
  }
@@ -1,6 +1,7 @@
1
+ import { o as HistoryItem, r as ContentBlock } from "../Items-C7MyrYPX.mjs";
1
2
  import { Effect } from "effect";
2
3
  declare namespace Capabilities_d_exports {
3
- export { CapabilityWarning, warnDropped, warnDroppedWhen };
4
+ export { CapabilityWarning, warnDropped, warnDroppedBlocks, warnDroppedWhen };
4
5
  }
5
6
  /**
6
7
  * Structured event emitted when a provider adapter drops a Common
@@ -75,6 +76,29 @@ declare const warnDropped: (warning: Omit<CapabilityWarning, "_tag">) => Effect.
75
76
  * ```
76
77
  */
77
78
  declare const warnDroppedWhen: <T>(value: T | undefined, warning: Omit<CapabilityWarning, "_tag" | "value">) => Effect.Effect<void>;
79
+ /**
80
+ * Warn when history carries a content block this provider's wire has no
81
+ * place for, which its encoder therefore omits.
82
+ *
83
+ * History is provider-agnostic, so a turn one provider produced can be
84
+ * replayed into another. A block only one provider can express
85
+ * (`output_image`, which needs an assistant-role image part) then reaches
86
+ * an encoder with nothing to map it to. Omitting is right, since failing
87
+ * would break replaying a mixed history just to continue the text, but it
88
+ * should not be silent.
89
+ *
90
+ * Call once from the effectful request path; the block encoders stay pure.
91
+ *
92
+ * @example
93
+ * ```ts
94
+ * yield* warnDroppedBlocks(history, "output_image", {
95
+ * provider: "anthropic",
96
+ * capability: "output_image",
97
+ * reason: "Assistant messages carry no image here. Convert with `imagesAsInput` to send it as user content.",
98
+ * })
99
+ * ```
100
+ */
101
+ declare const warnDroppedBlocks: (history: ReadonlyArray<HistoryItem>, type: ContentBlock["type"], warning: Omit<CapabilityWarning, "_tag" | "field" | "value">) => Effect.Effect<void>;
78
102
  //#endregion
79
- export { CapabilityWarning, Capabilities_d_exports as t, warnDropped, warnDroppedWhen };
103
+ export { CapabilityWarning, Capabilities_d_exports as t, warnDropped, warnDroppedBlocks, warnDroppedWhen };
80
104
  //# sourceMappingURL=Capabilities.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Capabilities.d.mts","names":[],"sources":["../../src/capabilities/Capabilities.ts"],"mappings":";;;;;;;;;;;;;;;;;KAeY;WACD;WACA;;WAEA;;WAEA;;WAEA;;WAEA;;;;;;;;;;;;;;;;;;;;;;;;;cA0BE,cAAW,SAAa,KAAK,+BAA6B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;cA0BjE,kBAAmB,GAAC,OACxB,eAAa,SACX,KAAK,yCACb,OAAO"}
1
+ {"version":3,"file":"Capabilities.d.mts","names":[],"sources":["../../src/capabilities/Capabilities.ts"],"mappings":";;;;;;;;;;;;;;;;;;KAgBY;WACD;WACA;;WAEA;;WAEA;;WAEA;;WAEA;;;;;;;;;;;;;;;;;;;;;;;;;cA0BE,cAAW,SAAa,KAAK,+BAA6B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;cA0BjE,kBAAmB,GAAC,OACxB,eAAa,SACX,KAAK,yCACb,OAAO;;;;;;;;;;;;;;;;;;;;;;;cAwBG,oBAAiB,SACnB,cAAc,cAAY,MAC7B,sBAAoB,SACjB,KAAK,mDACb,OAAO"}
@@ -3,6 +3,7 @@ import { Effect } from "effect";
3
3
  //#region src/capabilities/Capabilities.ts
4
4
  var Capabilities_exports = /* @__PURE__ */ __exportAll({
5
5
  warnDropped: () => warnDropped,
6
+ warnDroppedBlocks: () => warnDroppedBlocks,
6
7
  warnDroppedWhen: () => warnDroppedWhen
7
8
  });
8
9
  /**
@@ -59,7 +60,37 @@ const warnDroppedWhen = (value, warning) => value === void 0 ? Effect.void : war
59
60
  ...warning,
60
61
  value
61
62
  });
63
+ /**
64
+ * Warn when history carries a content block this provider's wire has no
65
+ * place for, which its encoder therefore omits.
66
+ *
67
+ * History is provider-agnostic, so a turn one provider produced can be
68
+ * replayed into another. A block only one provider can express
69
+ * (`output_image`, which needs an assistant-role image part) then reaches
70
+ * an encoder with nothing to map it to. Omitting is right, since failing
71
+ * would break replaying a mixed history just to continue the text, but it
72
+ * should not be silent.
73
+ *
74
+ * Call once from the effectful request path; the block encoders stay pure.
75
+ *
76
+ * @example
77
+ * ```ts
78
+ * yield* warnDroppedBlocks(history, "output_image", {
79
+ * provider: "anthropic",
80
+ * capability: "output_image",
81
+ * reason: "Assistant messages carry no image here. Convert with `imagesAsInput` to send it as user content.",
82
+ * })
83
+ * ```
84
+ */
85
+ const warnDroppedBlocks = (history, type, warning) => {
86
+ const count = history.reduce((n, item) => n + (item.type === "message" ? item.content.filter((b) => b.type === type).length : 0), 0);
87
+ return count === 0 ? Effect.void : warnDropped({
88
+ ...warning,
89
+ field: type,
90
+ value: `${count} block(s)`
91
+ });
92
+ };
62
93
  //#endregion
63
- export { Capabilities_exports as t, warnDropped, warnDroppedWhen };
94
+ export { Capabilities_exports as t, warnDropped, warnDroppedBlocks, warnDroppedWhen };
64
95
 
65
96
  //# sourceMappingURL=Capabilities.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Capabilities.mjs","names":[],"sources":["../../src/capabilities/Capabilities.ts"],"sourcesContent":["import { Effect } from \"effect\"\n\n/**\n * Structured event emitted when a provider adapter drops a Common\n * request field because its wire API has no place to put it (bucket 2\n * per the capabilities policy: the provider has no structured\n * interpretation; the output is still valid, just less aligned with\n * the caller's hint).\n *\n * Carried on `Effect.logWarning` today for visibility; may be\n * promoted to a typed `AiError` variant in the future if callers need\n * to react programmatically. The shape itself is stable.\n *\n * @category capabilities\n */\nexport type CapabilityWarning = {\n readonly _tag: \"CapabilityWarning\"\n readonly provider: string\n /** The capability name as it appears in docs (`\"lyrics\"`, `\"bpm\"`). */\n readonly capability: string\n /** The Common-request field name that was dropped. */\n readonly field: string\n /** The value the caller passed; included when useful for debugging. */\n readonly value?: unknown\n /** Human-readable explanation; should suggest a workaround. */\n readonly reason: string\n}\n\n/**\n * Emit a structured `CapabilityWarning` via `Effect.logWarning`. Use\n * when a provider adapter receives a Common-request field it has no\n * structured wire field for, and would otherwise drop silently.\n *\n * Bucket-2 cases only (per the capabilities policy): the provider has\n * no interpretation; the output is still valid, just less aligned\n * with the caller's hint. For bucket-1 cases (structurally broken\n * output if dropped, like wrong audio format), fail\n * `AiError.Unsupported` instead.\n *\n * @example\n * ```ts\n * if (request.lyrics !== undefined) {\n * yield* warnDropped({\n * provider: \"lyria\",\n * capability: \"lyrics\",\n * field: \"lyrics\",\n * reason: \"Lyria 3 sync has no `lyrics` wire field. Embed in your prompt instead.\",\n * })\n * }\n * ```\n */\nexport const warnDropped = (warning: Omit<CapabilityWarning, \"_tag\">): Effect.Effect<void> =>\n Effect.logWarning(\"Capability dropped\", { ...warning, _tag: \"CapabilityWarning\" })\n\n/**\n * Shorthand for the most common shape: warn-and-drop when a specific\n * field on the Common request is set. The field's value is included\n * automatically.\n *\n * @example\n * ```ts\n * yield* Effect.all([\n * warnDroppedWhen(request.lyrics, {\n * provider: \"lyria\",\n * capability: \"lyrics\",\n * field: \"lyrics\",\n * reason: \"Lyria 3 sync has no `lyrics` wire field. Embed in your prompt instead.\",\n * }),\n * warnDroppedWhen(request.duration, {\n * provider: \"lyria\",\n * capability: \"duration\",\n * field: \"duration\",\n * reason: \"Lyria 3 clip is fixed at 30 s.\",\n * }),\n * ], { discard: true })\n * ```\n */\nexport const warnDroppedWhen = <T>(\n value: T | undefined,\n warning: Omit<CapabilityWarning, \"_tag\" | \"value\">,\n): Effect.Effect<void> => (value === undefined ? Effect.void : warnDropped({ ...warning, value }))\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDA,MAAa,eAAe,YAC1B,OAAO,WAAW,sBAAsB;CAAE,GAAG;CAAS,MAAM;AAAoB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;AAyBnF,MAAa,mBACX,OACA,YACyB,UAAU,KAAA,IAAY,OAAO,OAAO,YAAY;CAAE,GAAG;CAAS;AAAM,CAAC"}
1
+ {"version":3,"file":"Capabilities.mjs","names":[],"sources":["../../src/capabilities/Capabilities.ts"],"sourcesContent":["import { Effect } from \"effect\"\nimport type { ContentBlock, HistoryItem } from \"../domain/Items.js\"\n\n/**\n * Structured event emitted when a provider adapter drops a Common\n * request field because its wire API has no place to put it (bucket 2\n * per the capabilities policy: the provider has no structured\n * interpretation; the output is still valid, just less aligned with\n * the caller's hint).\n *\n * Carried on `Effect.logWarning` today for visibility; may be\n * promoted to a typed `AiError` variant in the future if callers need\n * to react programmatically. The shape itself is stable.\n *\n * @category capabilities\n */\nexport type CapabilityWarning = {\n readonly _tag: \"CapabilityWarning\"\n readonly provider: string\n /** The capability name as it appears in docs (`\"lyrics\"`, `\"bpm\"`). */\n readonly capability: string\n /** The Common-request field name that was dropped. */\n readonly field: string\n /** The value the caller passed; included when useful for debugging. */\n readonly value?: unknown\n /** Human-readable explanation; should suggest a workaround. */\n readonly reason: string\n}\n\n/**\n * Emit a structured `CapabilityWarning` via `Effect.logWarning`. Use\n * when a provider adapter receives a Common-request field it has no\n * structured wire field for, and would otherwise drop silently.\n *\n * Bucket-2 cases only (per the capabilities policy): the provider has\n * no interpretation; the output is still valid, just less aligned\n * with the caller's hint. For bucket-1 cases (structurally broken\n * output if dropped, like wrong audio format), fail\n * `AiError.Unsupported` instead.\n *\n * @example\n * ```ts\n * if (request.lyrics !== undefined) {\n * yield* warnDropped({\n * provider: \"lyria\",\n * capability: \"lyrics\",\n * field: \"lyrics\",\n * reason: \"Lyria 3 sync has no `lyrics` wire field. Embed in your prompt instead.\",\n * })\n * }\n * ```\n */\nexport const warnDropped = (warning: Omit<CapabilityWarning, \"_tag\">): Effect.Effect<void> =>\n Effect.logWarning(\"Capability dropped\", { ...warning, _tag: \"CapabilityWarning\" })\n\n/**\n * Shorthand for the most common shape: warn-and-drop when a specific\n * field on the Common request is set. The field's value is included\n * automatically.\n *\n * @example\n * ```ts\n * yield* Effect.all([\n * warnDroppedWhen(request.lyrics, {\n * provider: \"lyria\",\n * capability: \"lyrics\",\n * field: \"lyrics\",\n * reason: \"Lyria 3 sync has no `lyrics` wire field. Embed in your prompt instead.\",\n * }),\n * warnDroppedWhen(request.duration, {\n * provider: \"lyria\",\n * capability: \"duration\",\n * field: \"duration\",\n * reason: \"Lyria 3 clip is fixed at 30 s.\",\n * }),\n * ], { discard: true })\n * ```\n */\nexport const warnDroppedWhen = <T>(\n value: T | undefined,\n warning: Omit<CapabilityWarning, \"_tag\" | \"value\">,\n): Effect.Effect<void> => (value === undefined ? Effect.void : warnDropped({ ...warning, value }))\n\n/**\n * Warn when history carries a content block this provider's wire has no\n * place for, which its encoder therefore omits.\n *\n * History is provider-agnostic, so a turn one provider produced can be\n * replayed into another. A block only one provider can express\n * (`output_image`, which needs an assistant-role image part) then reaches\n * an encoder with nothing to map it to. Omitting is right, since failing\n * would break replaying a mixed history just to continue the text, but it\n * should not be silent.\n *\n * Call once from the effectful request path; the block encoders stay pure.\n *\n * @example\n * ```ts\n * yield* warnDroppedBlocks(history, \"output_image\", {\n * provider: \"anthropic\",\n * capability: \"output_image\",\n * reason: \"Assistant messages carry no image here. Convert with `imagesAsInput` to send it as user content.\",\n * })\n * ```\n */\nexport const warnDroppedBlocks = (\n history: ReadonlyArray<HistoryItem>,\n type: ContentBlock[\"type\"],\n warning: Omit<CapabilityWarning, \"_tag\" | \"field\" | \"value\">,\n): Effect.Effect<void> => {\n const count = history.reduce(\n (n, item) =>\n n + (item.type === \"message\" ? item.content.filter((b) => b.type === type).length : 0),\n 0,\n )\n return count === 0\n ? Effect.void\n : warnDropped({ ...warning, field: type, value: `${count} block(s)` })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA,MAAa,eAAe,YAC1B,OAAO,WAAW,sBAAsB;CAAE,GAAG;CAAS,MAAM;AAAoB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;AAyBnF,MAAa,mBACX,OACA,YACyB,UAAU,KAAA,IAAY,OAAO,OAAO,YAAY;CAAE,GAAG;CAAS;AAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;AAwBhG,MAAa,qBACX,SACA,MACA,YACwB;CACxB,MAAM,QAAQ,QAAQ,QACnB,GAAG,SACF,KAAK,KAAK,SAAS,YAAY,KAAK,QAAQ,QAAQ,MAAM,EAAE,SAAS,IAAI,CAAC,CAAC,SAAS,IACtF,CACF;CACA,OAAO,UAAU,IACb,OAAO,OACP,YAAY;EAAE,GAAG;EAAS,OAAO;EAAM,OAAO,GAAG,MAAM;CAAW,CAAC;AACzE"}
@@ -1,2 +1,2 @@
1
- import { a as AudioSource, c as isAudioBytes, i as AudioMimeType, l as isAudioUrl, n as AudioChunk, r as AudioFormat, s as isAudioBase64, t as AudioBlob } from "../Audio-60lKKHxS.mjs";
1
+ import { a as AudioSource, c as isAudioBytes, i as AudioMimeType, l as isAudioUrl, n as AudioChunk, r as AudioFormat, s as isAudioBase64, t as AudioBlob } from "../Audio-_nGR4V0X.mjs";
2
2
  export { AudioBlob, AudioChunk, AudioFormat, AudioMimeType, AudioSource, isAudioBase64, isAudioBytes, isAudioUrl };
@@ -1,2 +1,3 @@
1
- import { a as ImageUrlSource, c as imageBytes, d as isImageBytes, f as isImageUrl, i as ImageSource, l as imageUrl, n as ImageBytesSource, r as ImageMimeType, s as imageBase64, t as ImageBase64Source, u as isImageBase64 } from "../Image-BK8-4H6s.mjs";
2
- export { ImageBase64Source, ImageBytesSource, ImageMimeType, ImageSource, ImageUrlSource, imageBase64, imageBytes, imageUrl, isImageBase64, isImageBytes, isImageUrl };
1
+ import { n as Dimensions, t as AspectRatio } from "../Media-BbX7BAaO.mjs";
2
+ import { a as ImageResolution, d as imageBytes, f as imageUrl, g as pixelsOf, h as isImageUrl, i as ImageMimeType, l as ProviderData, m as isImageBytes, n as ImageBase64Source, o as ImageSource, p as isImageBase64, r as ImageBytesSource, s as ImageUrlSource, t as GeneratedImage, u as imageBase64 } from "../Image-Cv6iBLTy.mjs";
3
+ export { type AspectRatio, type Dimensions, GeneratedImage, ImageBase64Source, ImageBytesSource, ImageMimeType, ImageResolution, ImageSource, ImageUrlSource, ProviderData, imageBase64, imageBytes, imageUrl, isImageBase64, isImageBytes, isImageUrl, pixelsOf };