@effect-uai/core 0.18.0 → 0.19.0-dev-20261109183959

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 (162) hide show
  1. package/README.md +4 -4
  2. package/dist/Content-D_Qfn8Ja.d.mts +48 -0
  3. package/dist/Content-D_Qfn8Ja.d.mts.map +1 -0
  4. package/dist/File-B923KvZ9.d.mts +46 -0
  5. package/dist/File-B923KvZ9.d.mts.map +1 -0
  6. package/dist/{Image-Cv6iBLTy.d.mts → Image-Bzc1H_UK.d.mts} +19 -8
  7. package/dist/Image-Bzc1H_UK.d.mts.map +1 -0
  8. package/dist/{Items-C7MyrYPX.d.mts → Items-Bvx8s9QH.d.mts} +109 -16
  9. package/dist/Items-Bvx8s9QH.d.mts.map +1 -0
  10. package/dist/{Loop-ChpaO-ya.d.mts → Loop-CeA0AelN.d.mts} +7 -6
  11. package/dist/Loop-CeA0AelN.d.mts.map +1 -0
  12. package/dist/Tool-Bkryw6-h.d.mts +206 -0
  13. package/dist/Tool-Bkryw6-h.d.mts.map +1 -0
  14. package/dist/ToolEvent-9inLx5cI.d.mts +22 -0
  15. package/dist/ToolEvent-9inLx5cI.d.mts.map +1 -0
  16. package/dist/ToolOutput-BNTIQgGB.d.mts +151 -0
  17. package/dist/ToolOutput-BNTIQgGB.d.mts.map +1 -0
  18. package/dist/Toolkit-D2VGeD5R.d.mts +212 -0
  19. package/dist/Toolkit-D2VGeD5R.d.mts.map +1 -0
  20. package/dist/browser/BrowserTool.d.mts +84 -22
  21. package/dist/browser/BrowserTool.d.mts.map +1 -1
  22. package/dist/browser/BrowserTool.mjs +5 -0
  23. package/dist/browser/BrowserTool.mjs.map +1 -1
  24. package/dist/capabilities/Capabilities.d.mts +1 -1
  25. package/dist/decision-model/Decision.test.mjs +1 -1
  26. package/dist/{dist-C8RmtoR8.mjs → dist-B5K-y4Be.mjs} +51 -32
  27. package/dist/dist-B5K-y4Be.mjs.map +1 -0
  28. package/dist/domain/File.d.mts +2 -0
  29. package/dist/domain/File.mjs +51 -0
  30. package/dist/domain/File.mjs.map +1 -0
  31. package/dist/domain/Image.d.mts +2 -2
  32. package/dist/domain/Image.mjs +12 -2
  33. package/dist/domain/Image.mjs.map +1 -1
  34. package/dist/domain/Items.d.mts +2 -2
  35. package/dist/domain/Items.mjs +65 -4
  36. package/dist/domain/Items.mjs.map +1 -1
  37. package/dist/domain/Realtime.d.mts +72 -490
  38. package/dist/domain/Realtime.d.mts.map +1 -1
  39. package/dist/domain/Research.d.mts +1 -1
  40. package/dist/domain/Transcript.test.mjs +1 -1
  41. package/dist/domain/Turn.d.mts +57 -262
  42. package/dist/domain/Turn.d.mts.map +1 -1
  43. package/dist/domain/Turn.mjs +1 -1
  44. package/dist/embedding-model/Embedding.d.mts +1 -1
  45. package/dist/image-generator/ImageGenerator.d.mts +10 -66
  46. package/dist/image-generator/ImageGenerator.d.mts.map +1 -1
  47. package/dist/index.d.mts +10 -9
  48. package/dist/index.mjs +7 -6
  49. package/dist/language-model/LanguageModel.d.mts +2 -2
  50. package/dist/loop/Loop.d.mts +1 -1
  51. package/dist/loop/Loop.mjs.map +1 -1
  52. package/dist/messenger/Messenger.d.mts +43 -289
  53. package/dist/messenger/Messenger.d.mts.map +1 -1
  54. package/dist/messenger/MessengerAdapter.test.mjs +1 -1
  55. package/dist/observability/Metrics.d.mts +1 -1
  56. package/dist/observability/Metrics.test.mjs +1 -1
  57. package/dist/observability/Telemetry.test.mjs +1 -1
  58. package/dist/realtime/RealtimeSession.d.mts +1 -1
  59. package/dist/realtime/RealtimeSession.test.mjs +1 -1
  60. package/dist/sandbox/Sandbox.d.mts +32 -237
  61. package/dist/sandbox/Sandbox.d.mts.map +1 -1
  62. package/dist/streaming/Multipart.mjs +2 -1
  63. package/dist/streaming/Multipart.mjs.map +1 -1
  64. package/dist/streaming/Multipart.test.mjs +28 -0
  65. package/dist/streaming/Multipart.test.mjs.map +1 -0
  66. package/dist/streaming/Settle.test.mjs +1 -1
  67. package/dist/streaming/WebSocketSession.test.mjs +1 -1
  68. package/dist/testing/MockMessenger.d.mts +19 -134
  69. package/dist/testing/MockMessenger.d.mts.map +1 -1
  70. package/dist/testing/MockProvider.d.mts +1 -1
  71. package/dist/testing/MockSandbox.d.mts +65 -446
  72. package/dist/testing/MockSandbox.d.mts.map +1 -1
  73. package/dist/tool/Content.d.mts +2 -0
  74. package/dist/tool/Content.mjs +46 -0
  75. package/dist/tool/Content.mjs.map +1 -0
  76. package/dist/tool/Content.test.d.mts +1 -0
  77. package/dist/tool/Content.test.mjs +48 -0
  78. package/dist/tool/Content.test.mjs.map +1 -0
  79. package/dist/tool/HistoryCheck.d.mts +6 -15
  80. package/dist/tool/HistoryCheck.d.mts.map +1 -1
  81. package/dist/tool/HistoryCheck.mjs +10 -24
  82. package/dist/tool/HistoryCheck.mjs.map +1 -1
  83. package/dist/tool/Tool.d.mts +2 -2
  84. package/dist/tool/Tool.mjs +55 -130
  85. package/dist/tool/Tool.mjs.map +1 -1
  86. package/dist/tool/Tool.test.mjs +220 -176
  87. package/dist/tool/Tool.test.mjs.map +1 -1
  88. package/dist/tool/ToolDecision.d.mts +164 -0
  89. package/dist/tool/ToolDecision.d.mts.map +1 -0
  90. package/dist/tool/ToolDecision.mjs +146 -0
  91. package/dist/tool/ToolDecision.mjs.map +1 -0
  92. package/dist/tool/ToolDecision.test.d.mts +1 -0
  93. package/dist/tool/ToolDecision.test.mjs +330 -0
  94. package/dist/tool/ToolDecision.test.mjs.map +1 -0
  95. package/dist/tool/ToolEvent.d.mts +2 -2
  96. package/dist/tool/ToolEvent.mjs +2 -34
  97. package/dist/tool/ToolEvent.mjs.map +1 -1
  98. package/dist/tool/ToolOutput.d.mts +2 -0
  99. package/dist/tool/ToolOutput.mjs +128 -0
  100. package/dist/tool/ToolOutput.mjs.map +1 -0
  101. package/dist/tool/ToolOutput.test.d.mts +1 -0
  102. package/dist/tool/ToolOutput.test.mjs +153 -0
  103. package/dist/tool/ToolOutput.test.mjs.map +1 -0
  104. package/dist/tool/Toolkit.d.mts +2 -2
  105. package/dist/tool/Toolkit.mjs +230 -165
  106. package/dist/tool/Toolkit.mjs.map +1 -1
  107. package/dist/tool/Toolkit.test.mjs +431 -389
  108. package/dist/tool/Toolkit.test.mjs.map +1 -1
  109. package/dist/web-read/WebReadTool.d.mts +2 -2
  110. package/dist/web-read/WebReadTool.mjs +1 -0
  111. package/dist/web-read/WebReadTool.mjs.map +1 -1
  112. package/dist/web-search/WebSearchTool.d.mts +2 -2
  113. package/dist/web-search/WebSearchTool.mjs +1 -0
  114. package/dist/web-search/WebSearchTool.mjs.map +1 -1
  115. package/package.json +17 -9
  116. package/src/browser/BrowserTool.ts +5 -0
  117. package/src/domain/File.ts +79 -0
  118. package/src/domain/Image.ts +14 -4
  119. package/src/domain/Items.ts +39 -3
  120. package/src/index.ts +3 -2
  121. package/src/loop/Loop.ts +24 -13
  122. package/src/streaming/Multipart.test.ts +26 -0
  123. package/src/streaming/Multipart.ts +5 -4
  124. package/src/tool/Content.test.ts +40 -0
  125. package/src/tool/Content.ts +38 -0
  126. package/src/tool/HistoryCheck.ts +21 -26
  127. package/src/tool/Tool.test.ts +240 -241
  128. package/src/tool/Tool.ts +203 -308
  129. package/src/tool/ToolDecision.test.ts +301 -0
  130. package/src/tool/ToolDecision.ts +360 -0
  131. package/src/tool/ToolEvent.ts +21 -41
  132. package/src/tool/ToolOutput.test.ts +132 -0
  133. package/src/tool/ToolOutput.ts +198 -0
  134. package/src/tool/Toolkit.test.ts +594 -454
  135. package/src/tool/Toolkit.ts +631 -356
  136. package/src/web-read/WebReadTool.ts +2 -1
  137. package/src/web-search/WebSearchTool.ts +2 -1
  138. package/dist/Image-Cv6iBLTy.d.mts.map +0 -1
  139. package/dist/Items-C7MyrYPX.d.mts.map +0 -1
  140. package/dist/Loop-ChpaO-ya.d.mts.map +0 -1
  141. package/dist/Tool-BF78QWtn.d.mts +0 -314
  142. package/dist/Tool-BF78QWtn.d.mts.map +0 -1
  143. package/dist/ToolEvent-Di4a723B.d.mts +0 -144
  144. package/dist/ToolEvent-Di4a723B.d.mts.map +0 -1
  145. package/dist/ToolResult-BsYQRjmW.d.mts +0 -152
  146. package/dist/ToolResult-BsYQRjmW.d.mts.map +0 -1
  147. package/dist/Toolkit-tlL0F2YR.d.mts +0 -193
  148. package/dist/Toolkit-tlL0F2YR.d.mts.map +0 -1
  149. package/dist/dist-C8RmtoR8.mjs.map +0 -1
  150. package/dist/tool/Approval.d.mts +0 -113
  151. package/dist/tool/Approval.d.mts.map +0 -1
  152. package/dist/tool/Approval.mjs +0 -80
  153. package/dist/tool/Approval.mjs.map +0 -1
  154. package/dist/tool/Approval.test.mjs +0 -371
  155. package/dist/tool/Approval.test.mjs.map +0 -1
  156. package/dist/tool/ToolResult.d.mts +0 -2
  157. package/dist/tool/ToolResult.mjs +0 -85
  158. package/dist/tool/ToolResult.mjs.map +0 -1
  159. package/src/tool/Approval.test.ts +0 -400
  160. package/src/tool/Approval.ts +0 -181
  161. package/src/tool/ToolResult.ts +0 -114
  162. /package/dist/{tool/Approval.test.d.mts → streaming/Multipart.test.d.mts} +0 -0
package/README.md CHANGED
@@ -35,7 +35,7 @@ No provider deps. Pair with one or more provider packages:
35
35
  [`@effect-uai/anthropic`](https://www.npmjs.com/package/@effect-uai/anthropic),
36
36
  [`@effect-uai/google`](https://www.npmjs.com/package/@effect-uai/google),
37
37
  [`@effect-uai/mistral`](https://www.npmjs.com/package/@effect-uai/mistral)
38
- and [the rest](https://effect-uai.betalyra.com/providers/).
38
+ and [the rest](https://effect-uai.com/providers/).
39
39
 
40
40
  ## Install
41
41
 
@@ -47,10 +47,10 @@ ESM-only. Requires `effect@>=4.0.1` (Effect 4.0 stable) as a peer.
47
47
 
48
48
  ## Docs
49
49
 
50
- Full docs: <https://effect-uai.betalyra.com>
50
+ Full docs: <https://effect-uai.com>
51
51
 
52
- Start with [One turn is a stream](https://effect-uai.betalyra.com/start/getting-started/)
53
- and then [Basic usage](https://effect-uai.betalyra.com/recipes/basic-usage/).
52
+ Start with [One turn is a stream](https://effect-uai.com/start/getting-started/)
53
+ and then [Basic usage](https://effect-uai.com/recipes/basic-usage/).
54
54
 
55
55
  ## License
56
56
 
@@ -0,0 +1,48 @@
1
+ import { i as FileSource, r as FileMimeType } from "./File-B923KvZ9.mjs";
2
+ import { i as ImageMimeType, o as ImageSource } from "./Image-Bzc1H_UK.mjs";
3
+ import { Schema } from "effect";
4
+ declare namespace Content_d_exports {
5
+ export { File, Image, Media, Value, file, image, isMedia };
6
+ }
7
+ declare const Image_base: Schema.Class<Image, Schema.TaggedStruct<"Image", {
8
+ readonly source: Schema.Union<readonly [Schema.TaggedStruct<"url", {
9
+ readonly url: Schema.String;
10
+ readonly mimeType: Schema.optionalKey<Schema.Codec<ImageMimeType, ImageMimeType, never, never>>;
11
+ }>, Schema.TaggedStruct<"base64", {
12
+ readonly base64: Schema.String;
13
+ readonly mimeType: Schema.Codec<ImageMimeType, ImageMimeType, never, never>;
14
+ }>, Schema.TaggedStruct<"bytes", {
15
+ readonly bytes: Schema.Uint8ArrayFromBase64;
16
+ readonly mimeType: Schema.Codec<ImageMimeType, ImageMimeType, never, never>;
17
+ }>]>;
18
+ }>, {}>;
19
+ declare class Image extends Image_base {}
20
+ declare const File_base: Schema.Class<File, Schema.TaggedStruct<"File", {
21
+ readonly source: Schema.Union<readonly [Schema.TaggedStruct<"url", {
22
+ readonly url: Schema.String;
23
+ readonly mimeType: Schema.optionalKey<Schema.Codec<FileMimeType, FileMimeType, never, never>>;
24
+ }>, Schema.TaggedStruct<"base64", {
25
+ readonly base64: Schema.String;
26
+ readonly mimeType: Schema.Codec<FileMimeType, FileMimeType, never, never>;
27
+ }>, Schema.TaggedStruct<"bytes", {
28
+ readonly bytes: Schema.Uint8ArrayFromBase64;
29
+ readonly mimeType: Schema.Codec<FileMimeType, FileMimeType, never, never>;
30
+ }>]>;
31
+ readonly filename: Schema.optionalKey<Schema.String>;
32
+ }>, {}>;
33
+ declare class File extends File_base {}
34
+ declare const Media: Schema.Union<readonly [typeof Image, typeof File]>;
35
+ type Media = typeof Media.Type;
36
+ declare const image: (source: ImageSource) => Image;
37
+ declare const file: (source: FileSource, filename?: string) => File;
38
+ declare const isMedia: (u: unknown) => u is Media;
39
+ /**
40
+ * Text, JSON, one medium, or a top-level array mixing JSON and media. Encodes to
41
+ * JSON (bytes as base64), so it also serves as the UI codec for tools without
42
+ * an `outputSchema`.
43
+ */
44
+ declare const Value: Schema.Union<readonly [Schema.String, Schema.Union<readonly [typeof Image, typeof File]>, Schema.$Array<Schema.Union<readonly [Schema.Union<readonly [typeof Image, typeof File]>, Schema.Codec<Schema.Json, Schema.Json, never, never>]>>, Schema.Codec<Schema.Json, Schema.Json, never, never>]>;
45
+ type Value = typeof Value.Type;
46
+ //#endregion
47
+ export { Value as a, isMedia as c, Media as i, File as n, file as o, Image as r, image as s, Content_d_exports as t };
48
+ //# sourceMappingURL=Content-D_Qfn8Ja.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Content-D_Qfn8Ja.d.mts","names":[],"sources":["../src/tool/Content.ts"],"mappings":";;;;;;;;;;;;;;;;;;cASa,cAAc;;;;;;;;;;;;;;cAEd,aAAa;cAKb,OAAK,OAAA,uBAAA,cAAA;KACN,eAAe,MAAM;cAEpB,QAAK,QAAY,gBAAc;cAE/B,OAAI,QAAY,YAAU,sBAAsB;cAGhD,UAAO,eAAiB,KAAK;;;;;;cAO7B,OAAK,OAAA,gBAAA,OAAA,QAAA,OAAA,uBAAA,cAAA,QAAA,OAAA,OAAA,OAAA,gBAAA,OAAA,uBAAA,cAAA,QAAA,OAAA,MAAA,OAAA,MAAA,OAAA,wBAAA,OAAA,MAAA,OAAA,MAAA,OAAA;KAMN,eAAe,MAAM"}
@@ -0,0 +1,46 @@
1
+ import { a as MediaSource, i as MediaBytes, o as MediaUrl, r as MediaBase64 } from "./Media-BbX7BAaO.mjs";
2
+ import { Schema } from "effect";
3
+ //#region src/domain/File.d.ts
4
+ /**
5
+ * MIME types of files a user hands to a model: documents, audio, video. The
6
+ * listed ones are common; the `(string & {})` tail accepts any other, so a
7
+ * newly supported format works without an SDK update. Which types a model
8
+ * reads is the provider's call: an unsupported one is rejected by the
9
+ * provider, not converted here.
10
+ */
11
+ type FileMimeType = "application/pdf" | "text/plain" | "text/markdown" | "text/csv" | "text/html" | "application/json" | "application/vnd.openxmlformats-officedocument.wordprocessingml.document" | "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" | "audio/mpeg" | "audio/wav" | "video/mp4" | (string & {});
12
+ type FileUrlSource = MediaUrl<FileMimeType>;
13
+ type FileBase64Source = MediaBase64<FileMimeType>;
14
+ type FileBytesSource = MediaBytes<FileMimeType>;
15
+ /** Where a file lives: a URL the model fetches, inline base64, or raw bytes. */
16
+ type FileSource = MediaSource<FileMimeType>;
17
+ declare const FileUrlSource: Schema.TaggedStruct<"url", {
18
+ readonly url: Schema.String;
19
+ readonly mimeType: Schema.optionalKey<Schema.Codec<FileMimeType, FileMimeType, never, never>>;
20
+ }>;
21
+ declare const FileBase64Source: Schema.TaggedStruct<"base64", {
22
+ readonly base64: Schema.String;
23
+ readonly mimeType: Schema.Codec<FileMimeType, FileMimeType, never, never>;
24
+ }>;
25
+ declare const FileBytesSource: Schema.TaggedStruct<"bytes", {
26
+ readonly bytes: Schema.Uint8Array;
27
+ readonly mimeType: Schema.Codec<FileMimeType, FileMimeType, never, never>;
28
+ }>;
29
+ declare const FileSource: Schema.Codec<FileSource>;
30
+ /** `FileSource` as JSON: bytes encode as base64 (e.g. tool output on a UI wire). */
31
+ declare const FileSourceJson: Schema.Union<readonly [Schema.TaggedStruct<"url", {
32
+ readonly url: Schema.String;
33
+ readonly mimeType: Schema.optionalKey<Schema.Codec<FileMimeType, FileMimeType, never, never>>;
34
+ }>, Schema.TaggedStruct<"base64", {
35
+ readonly base64: Schema.String;
36
+ readonly mimeType: Schema.Codec<FileMimeType, FileMimeType, never, never>;
37
+ }>, Schema.TaggedStruct<"bytes", {
38
+ readonly bytes: Schema.Uint8ArrayFromBase64;
39
+ readonly mimeType: Schema.Codec<FileMimeType, FileMimeType, never, never>;
40
+ }>]>;
41
+ declare const fileUrl: (url: string, mimeType?: FileMimeType) => FileUrlSource;
42
+ declare const fileBase64: (base64: string, mimeType: FileMimeType) => FileBase64Source;
43
+ declare const fileBytes: (bytes: Uint8Array, mimeType: FileMimeType) => FileBytesSource;
44
+ //#endregion
45
+ export { FileSourceJson as a, fileBytes as c, FileSource as i, fileUrl as l, FileBytesSource as n, FileUrlSource as o, FileMimeType as r, fileBase64 as s, FileBase64Source as t };
46
+ //# sourceMappingURL=File-B923KvZ9.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"File-B923KvZ9.d.mts","names":[],"sources":["../src/domain/File.ts"],"mappings":";;;;;;;;;;KAUY;KAiBA,gBAAgB,SAAS;KACzB,mBAAmB,YAAY;KAC/B,kBAAkB,WAAW;;KAG7B,aAAa,YAAY;cAExB,eAAa,OAAA;;;;cAKb,kBAAgB,OAAA;;;;cAKhB,iBAAe,OAAA;;;;cAKf,YAAY,OAAO,MAAM;;cAOzB,gBAAc,OAAA,gBAAA,OAAA;;;;;;;;;;cASd,UAAO,aAAe,WAAa,iBAAe;cAGlD,aAAU,gBAAkB,UAAY,iBAAe;cAMvD,YAAS,OAAW,YAAU,UAAY,iBAAe"}
@@ -1,7 +1,7 @@
1
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
2
  import { Result, Schema } from "effect";
3
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 };
4
+ export { AspectRatio, Dimensions, GeneratedImage, ImageBase64Source, ImageBytesSource, ImageMimeType, ImageResolution, ImageSource, ImageSourceJson, ImageUrlSource, ProviderData, imageBase64, imageBytes, imageUrl, isImageBase64, isImageBytes, isImageUrl, pixelsOf };
5
5
  }
6
6
  /**
7
7
  * Image MIME types AI providers typically accept. The first four are the
@@ -25,17 +25,28 @@ type ImageBytesSource = MediaBytes<ImageMimeType>;
25
25
  type ImageSource = MediaSource<ImageMimeType>;
26
26
  declare const ImageUrlSource: Schema.TaggedStruct<"url", {
27
27
  readonly url: Schema.String;
28
- readonly mimeType: Schema.optional<Schema.Schema<ImageMimeType>>;
28
+ readonly mimeType: Schema.optionalKey<Schema.Codec<ImageMimeType, ImageMimeType, never, never>>;
29
29
  }>;
30
30
  declare const ImageBase64Source: Schema.TaggedStruct<"base64", {
31
31
  readonly base64: Schema.String;
32
- readonly mimeType: Schema.Schema<ImageMimeType>;
32
+ readonly mimeType: Schema.Codec<ImageMimeType, ImageMimeType, never, never>;
33
33
  }>;
34
34
  declare const ImageBytesSource: Schema.TaggedStruct<"bytes", {
35
35
  readonly bytes: Schema.Uint8Array;
36
- readonly mimeType: Schema.Schema<ImageMimeType>;
36
+ readonly mimeType: Schema.Codec<ImageMimeType, ImageMimeType, never, never>;
37
37
  }>;
38
- declare const ImageSource: Schema.Schema<ImageSource>;
38
+ declare const ImageSource: Schema.Codec<ImageSource>;
39
+ /** `ImageSource` as JSON: bytes encode as base64 (e.g. tool output on a UI wire). */
40
+ declare const ImageSourceJson: Schema.Union<readonly [Schema.TaggedStruct<"url", {
41
+ readonly url: Schema.String;
42
+ readonly mimeType: Schema.optionalKey<Schema.Codec<ImageMimeType, ImageMimeType, never, never>>;
43
+ }>, Schema.TaggedStruct<"base64", {
44
+ readonly base64: Schema.String;
45
+ readonly mimeType: Schema.Codec<ImageMimeType, ImageMimeType, never, never>;
46
+ }>, Schema.TaggedStruct<"bytes", {
47
+ readonly bytes: Schema.Uint8ArrayFromBase64;
48
+ readonly mimeType: Schema.Codec<ImageMimeType, ImageMimeType, never, never>;
49
+ }>]>;
39
50
  declare const imageUrl: (url: string, mimeType?: ImageMimeType) => ImageUrlSource;
40
51
  declare const imageBase64: (base64: string, mimeType: ImageMimeType) => ImageBase64Source;
41
52
  declare const imageBytes: (bytes: Uint8Array, mimeType: ImageMimeType) => ImageBytesSource;
@@ -82,7 +93,7 @@ type GeneratedImage = {
82
93
  declare const isImageUrl: <I>(input: I) => input is I & {
83
94
  readonly _tag: "url";
84
95
  readonly url: string;
85
- readonly mimeType?: ImageMimeType | undefined;
96
+ readonly mimeType?: ImageMimeType;
86
97
  };
87
98
  declare const isImageBase64: <I>(input: I) => input is I & {
88
99
  readonly _tag: "base64";
@@ -95,5 +106,5 @@ declare const isImageBytes: <I>(input: I) => input is I & {
95
106
  readonly mimeType: ImageMimeType;
96
107
  };
97
108
  //#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
109
+ export { pixelsOf as _, ImageResolution as a, ImageUrlSource as c, imageBase64 as d, imageBytes as f, isImageUrl as g, isImageBytes as h, ImageMimeType as i, Image_d_exports as l, isImageBase64 as m, ImageBase64Source as n, ImageSource as o, imageUrl as p, ImageBytesSource as r, ImageSourceJson as s, GeneratedImage as t, ProviderData as u };
110
+ //# sourceMappingURL=Image-Bzc1H_UK.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Image-Bzc1H_UK.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,MAAM;;cAO1B,iBAAe,OAAA,gBAAA,OAAA;;;;;;;;;;cASf,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,8 @@
1
- import { o as ImageSource } from "./Image-Cv6iBLTy.mjs";
1
+ import { i as FileSource } from "./File-B923KvZ9.mjs";
2
+ import { o as ImageSource } from "./Image-Bzc1H_UK.mjs";
2
3
  import { Schema } from "effect";
3
4
  declare namespace Items_d_exports {
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
+ export { Annotation, ContainerFileCitation, ContentBlock, FileCitation, FilePath, HistoryItem, InputFile, InputImage, InputJson, InputText, InputTokensDetails, Message, OutputImage, OutputText, OutputTokensDetails, Reasoning, Refusal, Role, StopReason, ToolCall, ToolCallOutput, ToolOutputContent, UrlCitation, Usage, assistantText, file, image, isContainerFileCitation, isFileCitation, isFilePath, isInputFile, isInputImage, isInputJson, isInputText, isMessage, isOutputImage, isOutputText, isReasoning, isRefusal, isToolCall, isToolCallOutput, isUrlCitation, json, systemText, text, toolCallOutput, userText };
5
6
  }
6
7
  declare const InputText: Schema.Struct<{
7
8
  readonly type: Schema.Literal<"input_text">;
@@ -18,9 +19,22 @@ type InputText = typeof InputText.Type;
18
19
  */
19
20
  declare const InputImage: Schema.Struct<{
20
21
  readonly type: Schema.Literal<"input_image">;
21
- readonly source: Schema.Schema<ImageSource>;
22
+ readonly source: Schema.Codec<ImageSource, ImageSource, never, never>;
22
23
  }>;
23
24
  type InputImage = typeof InputImage.Type;
25
+ /**
26
+ * User-provided file: a document (PDF, text, docx), audio or video. The
27
+ * `source` MIME type says which; provider codecs map it to their own file
28
+ * part, and a provider that cannot read a type rejects the request.
29
+ *
30
+ * Not in `ContentBlock` yet: it joins once every provider codec encodes it.
31
+ */
32
+ declare const InputFile: Schema.Struct<{
33
+ readonly type: Schema.Literal<"input_file">;
34
+ readonly source: Schema.Codec<FileSource, FileSource, never, never>;
35
+ readonly filename: Schema.optionalKey<Schema.String>;
36
+ }>;
37
+ type InputFile = typeof InputFile.Type;
24
38
  /**
25
39
  * A cited source. `url` + `title` are the only near-universal fields; the
26
40
  * link from a source to the answer text varies by provider, so it is optional
@@ -149,7 +163,7 @@ type OutputText = typeof OutputText.Type;
149
163
  */
150
164
  declare const OutputImage: Schema.Struct<{
151
165
  readonly type: Schema.Literal<"output_image">;
152
- readonly source: Schema.Schema<ImageSource>;
166
+ readonly source: Schema.Codec<ImageSource, ImageSource, never, never>;
153
167
  }>;
154
168
  type OutputImage = typeof OutputImage.Type;
155
169
  /**
@@ -168,7 +182,7 @@ declare const ContentBlock: Schema.Union<readonly [Schema.Struct<{
168
182
  readonly text: Schema.String;
169
183
  }>, Schema.Struct<{
170
184
  readonly type: Schema.Literal<"input_image">;
171
- readonly source: Schema.Schema<ImageSource>;
185
+ readonly source: Schema.Codec<ImageSource, ImageSource, never, never>;
172
186
  }>, Schema.Struct<{
173
187
  readonly type: Schema.Literal<"output_text">;
174
188
  readonly text: Schema.String;
@@ -197,7 +211,7 @@ declare const ContentBlock: Schema.Union<readonly [Schema.Struct<{
197
211
  }>]>>>;
198
212
  }>, Schema.Struct<{
199
213
  readonly type: Schema.Literal<"output_image">;
200
- readonly source: Schema.Schema<ImageSource>;
214
+ readonly source: Schema.Codec<ImageSource, ImageSource, never, never>;
201
215
  }>, Schema.Struct<{
202
216
  readonly type: Schema.Literal<"refusal">;
203
217
  readonly text: Schema.String;
@@ -213,7 +227,7 @@ declare const Message: Schema.Struct<{
213
227
  readonly text: Schema.String;
214
228
  }>, Schema.Struct<{
215
229
  readonly type: Schema.Literal<"input_image">;
216
- readonly source: Schema.Schema<ImageSource>;
230
+ readonly source: Schema.Codec<ImageSource, ImageSource, never, never>;
217
231
  }>, Schema.Struct<{
218
232
  readonly type: Schema.Literal<"output_text">;
219
233
  readonly text: Schema.String;
@@ -242,7 +256,7 @@ declare const Message: Schema.Struct<{
242
256
  }>]>>>;
243
257
  }>, Schema.Struct<{
244
258
  readonly type: Schema.Literal<"output_image">;
245
- readonly source: Schema.Schema<ImageSource>;
259
+ readonly source: Schema.Codec<ImageSource, ImageSource, never, never>;
246
260
  }>, Schema.Struct<{
247
261
  readonly type: Schema.Literal<"refusal">;
248
262
  readonly text: Schema.String;
@@ -258,10 +272,46 @@ declare const ToolCall: Schema.Struct<{
258
272
  readonly providerData: Schema.optional<Schema.Unknown>;
259
273
  }>;
260
274
  type ToolCall = typeof ToolCall.Type;
275
+ /** A JSON value in a tool output. Kept as a value; provider codecs serialize it. */
276
+ declare const InputJson: Schema.Struct<{
277
+ readonly type: Schema.Literal<"input_json">;
278
+ readonly value: Schema.Codec<Schema.Json, Schema.Json, never, never>;
279
+ }>;
280
+ type InputJson = typeof InputJson.Type;
281
+ declare const ToolOutputContent: Schema.Union<readonly [Schema.Struct<{
282
+ readonly type: Schema.Literal<"input_text">;
283
+ readonly text: Schema.String;
284
+ }>, Schema.Struct<{
285
+ readonly type: Schema.Literal<"input_json">;
286
+ readonly value: Schema.Codec<Schema.Json, Schema.Json, never, never>;
287
+ }>, Schema.Struct<{
288
+ readonly type: Schema.Literal<"input_image">;
289
+ readonly source: Schema.Codec<ImageSource, ImageSource, never, never>;
290
+ }>, Schema.Struct<{
291
+ readonly type: Schema.Literal<"input_file">;
292
+ readonly source: Schema.Codec<FileSource, FileSource, never, never>;
293
+ readonly filename: Schema.optionalKey<Schema.String>;
294
+ }>]>;
295
+ type ToolOutputContent = typeof ToolOutputContent.Type;
261
296
  declare const ToolCallOutput: Schema.Struct<{
262
297
  readonly type: Schema.Literal<"function_call_output">;
263
298
  readonly call_id: Schema.String;
264
- readonly output: Schema.String;
299
+ readonly output: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
300
+ readonly type: Schema.Literal<"input_text">;
301
+ readonly text: Schema.String;
302
+ }>, Schema.Struct<{
303
+ readonly type: Schema.Literal<"input_json">;
304
+ readonly value: Schema.Codec<Schema.Json, Schema.Json, never, never>;
305
+ }>, Schema.Struct<{
306
+ readonly type: Schema.Literal<"input_image">;
307
+ readonly source: Schema.Codec<ImageSource, ImageSource, never, never>;
308
+ }>, Schema.Struct<{
309
+ readonly type: Schema.Literal<"input_file">;
310
+ readonly source: Schema.Codec<FileSource, FileSource, never, never>;
311
+ readonly filename: Schema.optionalKey<Schema.String>;
312
+ }>]>>;
313
+ /** The call failed. Native on some providers; others only see the content. */
314
+ readonly isError: Schema.optionalKey<Schema.Boolean>;
265
315
  readonly providerData: Schema.optional<Schema.Unknown>;
266
316
  }>;
267
317
  type ToolCallOutput = typeof ToolCallOutput.Type;
@@ -287,7 +337,7 @@ declare const HistoryItem: Schema.Union<readonly [Schema.Struct<{
287
337
  readonly text: Schema.String;
288
338
  }>, Schema.Struct<{
289
339
  readonly type: Schema.Literal<"input_image">;
290
- readonly source: Schema.Schema<ImageSource>;
340
+ readonly source: Schema.Codec<ImageSource, ImageSource, never, never>;
291
341
  }>, Schema.Struct<{
292
342
  readonly type: Schema.Literal<"output_text">;
293
343
  readonly text: Schema.String;
@@ -316,7 +366,7 @@ declare const HistoryItem: Schema.Union<readonly [Schema.Struct<{
316
366
  }>]>>>;
317
367
  }>, Schema.Struct<{
318
368
  readonly type: Schema.Literal<"output_image">;
319
- readonly source: Schema.Schema<ImageSource>;
369
+ readonly source: Schema.Codec<ImageSource, ImageSource, never, never>;
320
370
  }>, Schema.Struct<{
321
371
  readonly type: Schema.Literal<"refusal">;
322
372
  readonly text: Schema.String;
@@ -331,7 +381,22 @@ declare const HistoryItem: Schema.Union<readonly [Schema.Struct<{
331
381
  }>, Schema.Struct<{
332
382
  readonly type: Schema.Literal<"function_call_output">;
333
383
  readonly call_id: Schema.String;
334
- readonly output: Schema.String;
384
+ readonly output: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
385
+ readonly type: Schema.Literal<"input_text">;
386
+ readonly text: Schema.String;
387
+ }>, Schema.Struct<{
388
+ readonly type: Schema.Literal<"input_json">;
389
+ readonly value: Schema.Codec<Schema.Json, Schema.Json, never, never>;
390
+ }>, Schema.Struct<{
391
+ readonly type: Schema.Literal<"input_image">;
392
+ readonly source: Schema.Codec<ImageSource, ImageSource, never, never>;
393
+ }>, Schema.Struct<{
394
+ readonly type: Schema.Literal<"input_file">;
395
+ readonly source: Schema.Codec<FileSource, FileSource, never, never>;
396
+ readonly filename: Schema.optionalKey<Schema.String>;
397
+ }>]>>;
398
+ /** The call failed. Native on some providers; others only see the content. */
399
+ readonly isError: Schema.optionalKey<Schema.Boolean>;
335
400
  readonly providerData: Schema.optional<Schema.Unknown>;
336
401
  }>, Schema.Struct<{
337
402
  readonly type: Schema.Literal<"reasoning">;
@@ -349,6 +414,15 @@ declare const isInputImage: <I>(input: I) => input is I & {
349
414
  readonly type: "input_image";
350
415
  readonly source: ImageSource;
351
416
  };
417
+ declare const isInputFile: <I>(input: I) => input is I & {
418
+ readonly type: "input_file";
419
+ readonly source: FileSource;
420
+ readonly filename?: string;
421
+ };
422
+ declare const isInputJson: <I>(input: I) => input is I & {
423
+ readonly type: "input_json";
424
+ readonly value: Schema.Json;
425
+ };
352
426
  declare const isOutputText: <I>(input: I) => input is I & {
353
427
  readonly type: "output_text";
354
428
  readonly text: string;
@@ -438,7 +512,21 @@ declare const isToolCall: <I>(input: I) => input is I & {
438
512
  declare const isToolCallOutput: <I>(input: I) => input is I & {
439
513
  readonly type: "function_call_output";
440
514
  readonly call_id: string;
441
- readonly output: string;
515
+ readonly output: readonly ({
516
+ readonly type: "input_text";
517
+ readonly text: string;
518
+ } | {
519
+ readonly type: "input_image";
520
+ readonly source: ImageSource;
521
+ } | {
522
+ readonly type: "input_file";
523
+ readonly source: FileSource;
524
+ readonly filename?: string;
525
+ } | {
526
+ readonly type: "input_json";
527
+ readonly value: Schema.Json;
528
+ })[];
529
+ readonly isError?: boolean;
442
530
  readonly providerData?: unknown;
443
531
  };
444
532
  declare const isReasoning: <I>(input: I) => input is I & {
@@ -486,7 +574,12 @@ type StopReason = typeof StopReason.Type;
486
574
  declare const userText: (text: string) => Message;
487
575
  declare const systemText: (text: string) => Message;
488
576
  declare const assistantText: (text: string) => Message;
489
- declare const toolCallOutput: (call_id: string, output: string) => ToolCallOutput;
577
+ /** A tool output with one text part. */
578
+ declare const toolCallOutput: (call_id: string, text: string) => ToolCallOutput;
579
+ declare const text: (text: string) => InputText;
580
+ declare const json: (value: Schema.Json) => InputJson;
581
+ declare const image: (source: ImageSource) => InputImage;
582
+ declare const file: (source: FileSource, filename?: string) => InputFile;
490
583
  //#endregion
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
584
+ export { isFileCitation as A, isRefusal as B, ToolOutputContent as C, file as D, assistantText as E, isInputText as F, systemText as G, isToolCallOutput as H, isMessage as I, userText as J, text as K, isOutputImage as L, isInputFile as M, isInputImage as N, image as O, isInputJson as P, isOutputText as R, ToolCallOutput as S, Usage as T, isUrlCitation as U, isToolCall as V, json as W, Reasoning as _, FilePath as a, StopReason as b, InputImage as c, InputTokensDetails as d, Items_d_exports as f, OutputTokensDetails as g, OutputText as h, FileCitation as i, isFilePath as j, isContainerFileCitation as k, InputJson as l, OutputImage as m, ContainerFileCitation as n, HistoryItem as o, Message as p, toolCallOutput as q, ContentBlock as r, InputFile as s, Annotation as t, InputText as u, Refusal as v, UrlCitation as w, ToolCall as x, Role as y, isReasoning as z };
585
+ //# sourceMappingURL=Items-Bvx8s9QH.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Items-Bvx8s9QH.d.mts","names":[],"sources":["../src/domain/Items.ts"],"mappings":";;;;;;cAQa,WAAS,OAAA;;;;KAIV,mBAAmB,UAAU;;;;;;;;;cAU5B,YAAU,OAAA;;;;KAIX,oBAAoB,WAAW;;;;;;;;cAS9B,WAAS,OAAA;;;;;KAKV,mBAAmB,UAAU;;;;;;;;;cAgB5B,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;;cAG1B,WAAS,OAAA;;;;KAIV,mBAAmB,UAAU;cAE5B,mBAAiB,OAAA,gBAAA,OAAA;;;;;;;;;;;;;;KAClB,2BAA2B,kBAAkB;cAE5C,gBAAc,OAAA;;;;;;;;;;;;;;;;;;;;;KAQf,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,cAAW,GAAA,OAAA,MAAA,SAAA;;;;;cACX,cAAW,GAAA,OAAA,MAAA,SAAA;;;;cACX,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;;cAOhC,iBAAc,iBAAmB,iBAAiB;cAMlD,OAAI,iBAAmB;cACvB,OAAI,OAAW,OAAO,SAAO;cAC7B,QAAK,QAAY,gBAAc;cAC/B,OAAI,QAAY,YAAU,sBAAsB"}
@@ -95,12 +95,13 @@ declare const stop: <S = never>(state?: S) => Stream.Stream<Step<never, S>>;
95
95
  * Dual: data-first `onTurnComplete(deltas, then)` and data-last
96
96
  * `deltas.pipe(onTurnComplete(then))` both work.
97
97
  */
98
- type TurnContinuation<S, A, E2, R2> = Stream.Stream<Step<A, S>, E2, R2> | Effect.Effect<Stream.Stream<Step<A, S>, E2, R2>, E2, R2>;
98
+ type TurnContinuation<S, A, E2, R2, E3, R3> = Stream.Stream<Step<A, S>, E2, R2> | Effect.Effect<Stream.Stream<Step<A, S>, E2, R2>, E3, R3>;
99
99
  declare const onTurnComplete: {
100
- <S, A, E2 = never, R2 = never>(then: (turn: Turn) => TurnContinuation<S, A, E2, R2>): <E, R>(deltas: Stream.Stream<TurnEvent, E, R>) => Stream.Stream<Step<TurnEvent | A, S>, E | E2 | IncompleteTurn, R | R2>;
101
- <S, A, E, R, E2 = never, R2 = never>(deltas: Stream.Stream<TurnEvent, E, R>, then: (turn: Turn) => TurnContinuation<S, A, E2, R2>): Stream.Stream<Step<TurnEvent | A, S>, E | E2 | IncompleteTurn, R | R2>;
100
+ <S, A, E2 = never, R2 = never, E3 = never, R3 = never>(then: (turn: Turn) => TurnContinuation<S, A, E2, R2, E3, R3>): <E, R>(deltas: Stream.Stream<TurnEvent, E, R>) => Stream.Stream<Step<TurnEvent | A, S>, E | E2 | E3 | IncompleteTurn, R | R2 | R3>;
101
+ <S, A, E, R, E2 = never, R2 = never, E3 = never, R3 = never>(deltas: Stream.Stream<TurnEvent, E, R>, then: (turn: Turn) => TurnContinuation<S, A, E2, R2, E3, R3>): Stream.Stream<Step<TurnEvent | A, S>, E | E2 | E3 | IncompleteTurn, R | R2 | R3>;
102
102
  };
103
103
  type LoopBody<S, A, E, R> = (state: S) => Stream.Stream<Step<A, S>, E, R> | Effect.Effect<Stream.Stream<Step<A, S>, E, R>, E, R>;
104
+ type LoopBodyIn<S, A, E, R, E2, R2> = (state: S) => Stream.Stream<Step<A, S>, E, R> | Effect.Effect<Stream.Stream<Step<A, S>, E, R>, E2, R2>;
104
105
  /**
105
106
  * Drive a state-threaded loop body. Each iteration runs `body(state)` to get
106
107
  * a `Stream<Step<A, S>>`; values flow downstream, `next(s)` continues with
@@ -111,8 +112,8 @@ type LoopBody<S, A, E, R> = (state: S) => Stream.Stream<Step<A, S>, E, R> | Effe
111
112
  * (or `pipe(initial, loop(body))`) both work.
112
113
  */
113
114
  declare const loop: {
114
- <S, A, E, R>(body: LoopBody<S, A, E, R>): (initial: S) => Stream.Stream<A, E, R>;
115
- <S, A, E, R>(initial: S, body: LoopBody<S, A, E, R>): Stream.Stream<A, E, R>;
115
+ <S, A, E, R, E2 = never, R2 = never>(body: LoopBodyIn<S, A, E, R, E2, R2>): (initial: S) => Stream.Stream<A, E | E2, R | R2>;
116
+ <S, A, E, R, E2 = never, R2 = never>(initial: S, body: LoopBodyIn<S, A, E, R, E2, R2>): Stream.Stream<A, E | E2, R | R2>;
116
117
  };
117
118
  type LoopOverBody<S, I, A, E, R> = (state: S, input: I) => Stream.Stream<Step<A, S>, E, R> | Effect.Effect<Stream.Stream<Step<A, S>, E, R>, E, R>;
118
119
  /**
@@ -168,4 +169,4 @@ declare const loopWithState: <S, A, E, R>(initial: S, body: LoopBody<S, A, E, R>
168
169
  }>;
169
170
  //#endregion
170
171
  export { StopWith as a, loopOver as c, onTurnComplete as d, stop as f, Stop as i, loopWithState as l, Next as n, Value as o, value as p, Step as r, loop as s, Loop_d_exports as t, next as u };
171
- //# sourceMappingURL=Loop-ChpaO-ya.d.mts.map
172
+ //# sourceMappingURL=Loop-CeA0AelN.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Loop-CeA0AelN.d.mts","names":[],"sources":["../src/loop/Loop.ts"],"mappings":"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"}