liminal 0.17.0 → 0.17.1

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 (287) hide show
  1. package/Accumulator.ts +97 -0
  2. package/Actor.ts +118 -0
  3. package/Audition.ts +105 -0
  4. package/CHANGELOG.md +2 -212
  5. package/Client.ts +560 -0
  6. package/ClientHandle.ts +39 -0
  7. package/F.ts +18 -0
  8. package/Method.ts +39 -0
  9. package/Protocol.ts +142 -0
  10. package/Send.ts +8 -0
  11. package/_constants.ts +1 -0
  12. package/_types.ts +27 -0
  13. package/_util/Mutex.ts +13 -0
  14. package/_util/phantom.ts +1 -0
  15. package/dist/Accumulator.d.ts +22 -0
  16. package/dist/Accumulator.js +33 -0
  17. package/dist/Accumulator.js.map +1 -0
  18. package/dist/Actor.d.ts +30 -0
  19. package/dist/Actor.js +31 -0
  20. package/dist/Actor.js.map +1 -0
  21. package/dist/Audition.d.ts +18 -0
  22. package/dist/Audition.js +27 -0
  23. package/dist/Audition.js.map +1 -0
  24. package/dist/Client.d.ts +65 -0
  25. package/dist/Client.js +248 -0
  26. package/dist/Client.js.map +1 -0
  27. package/dist/ClientHandle.d.ts +18 -0
  28. package/dist/ClientHandle.js +10 -0
  29. package/dist/ClientHandle.js.map +1 -0
  30. package/dist/F.d.ts +13 -0
  31. package/dist/F.js +4 -0
  32. package/dist/F.js.map +1 -0
  33. package/dist/Method.d.ts +23 -0
  34. package/dist/Method.js +4 -0
  35. package/dist/Method.js.map +1 -0
  36. package/dist/Protocol.d.ts +96 -0
  37. package/dist/Protocol.js +13 -0
  38. package/dist/Protocol.js.map +1 -0
  39. package/dist/Send.d.ts +3 -0
  40. package/dist/Send.js +2 -0
  41. package/dist/Send.js.map +1 -0
  42. package/dist/_constants.d.ts +1 -0
  43. package/dist/_constants.js +2 -0
  44. package/dist/_constants.js.map +1 -0
  45. package/dist/_types.d.ts +22 -0
  46. package/dist/_types.js +2 -0
  47. package/dist/_types.js.map +1 -0
  48. package/dist/_util/Mutex.d.ts +7 -0
  49. package/dist/_util/Mutex.js +9 -0
  50. package/dist/_util/Mutex.js.map +1 -0
  51. package/dist/_util/phantom.d.ts +3 -0
  52. package/dist/_util/phantom.js +2 -0
  53. package/dist/_util/phantom.js.map +1 -0
  54. package/dist/errors.d.ts +20 -0
  55. package/dist/errors.js +13 -0
  56. package/dist/errors.js.map +1 -0
  57. package/dist/experimental/BranchLive.d.ts +3 -0
  58. package/dist/experimental/BranchLive.js +5 -0
  59. package/dist/experimental/BranchLive.js.map +1 -0
  60. package/dist/experimental/L/L.d.ts +11 -0
  61. package/dist/experimental/L/L.js +12 -0
  62. package/dist/experimental/L/L.js.map +1 -0
  63. package/dist/experimental/L/append.d.ts +3 -0
  64. package/dist/experimental/L/append.js +4 -0
  65. package/dist/experimental/L/append.js.map +1 -0
  66. package/dist/experimental/L/assistant.d.ts +3 -0
  67. package/dist/experimental/L/assistant.js +13 -0
  68. package/dist/experimental/L/assistant.js.map +1 -0
  69. package/dist/experimental/L/assistantSchema.d.ts +3 -0
  70. package/dist/experimental/L/assistantSchema.js +13 -0
  71. package/dist/experimental/L/assistantSchema.js.map +1 -0
  72. package/dist/experimental/L/assistantStream.d.ts +3 -0
  73. package/dist/experimental/L/assistantStream.js +5 -0
  74. package/dist/experimental/L/assistantStream.js.map +1 -0
  75. package/dist/experimental/L/branch.d.ts +2 -0
  76. package/dist/experimental/L/branch.js +4 -0
  77. package/dist/experimental/L/branch.js.map +1 -0
  78. package/dist/experimental/L/clear.d.ts +3 -0
  79. package/dist/experimental/L/clear.js +7 -0
  80. package/dist/experimental/L/clear.js.map +1 -0
  81. package/dist/experimental/L/history.d.ts +3 -0
  82. package/dist/experimental/L/history.js +4 -0
  83. package/dist/experimental/L/history.js.map +1 -0
  84. package/dist/experimental/L/init.d.ts +3 -0
  85. package/dist/experimental/L/init.js +4 -0
  86. package/dist/experimental/L/init.js.map +1 -0
  87. package/dist/experimental/L/matrix.d.ts +10 -0
  88. package/dist/experimental/L/matrix.js +6 -0
  89. package/dist/experimental/L/matrix.js.map +1 -0
  90. package/dist/experimental/L/system.d.ts +1 -0
  91. package/dist/experimental/L/system.js +4 -0
  92. package/dist/experimental/L/system.js.map +1 -0
  93. package/dist/experimental/L/user.d.ts +1 -0
  94. package/dist/experimental/L/user.js +6 -0
  95. package/dist/experimental/L/user.js.map +1 -0
  96. package/dist/experimental/Loader.d.ts +16 -0
  97. package/dist/experimental/Loader.js +20 -0
  98. package/dist/experimental/Loader.js.map +1 -0
  99. package/dist/experimental/TaggedTemplateFunction.d.ts +11 -0
  100. package/dist/experimental/TaggedTemplateFunction.js +14 -0
  101. package/dist/experimental/TaggedTemplateFunction.js.map +1 -0
  102. package/dist/experimental/Template.d.ts +32 -0
  103. package/dist/experimental/Template.js +58 -0
  104. package/dist/experimental/Template.js.map +1 -0
  105. package/dist/experimental/index.d.ts +4 -0
  106. package/dist/experimental/index.js +5 -0
  107. package/dist/experimental/index.js.map +1 -0
  108. package/dist/index.d.ts +9 -7
  109. package/dist/index.js +9 -7
  110. package/dist/index.js.map +1 -1
  111. package/dist/tsconfig.tsbuildinfo +1 -1
  112. package/errors.ts +14 -0
  113. package/experimental/BranchLive.ts +6 -0
  114. package/experimental/L/L.ts +11 -0
  115. package/experimental/L/append.ts +12 -0
  116. package/experimental/L/assistant.ts +16 -0
  117. package/experimental/L/assistantSchema.ts +18 -0
  118. package/experimental/L/assistantStream.ts +9 -0
  119. package/experimental/L/branch.ts +5 -0
  120. package/experimental/L/clear.ts +7 -0
  121. package/experimental/L/history.ts +4 -0
  122. package/experimental/L/init.ts +4 -0
  123. package/experimental/L/matrix.ts +26 -0
  124. package/experimental/L/system.ts +5 -0
  125. package/experimental/L/user.ts +10 -0
  126. package/experimental/Loader.ts +35 -0
  127. package/experimental/TaggedTemplateFunction.ts +44 -0
  128. package/experimental/Template.ts +93 -0
  129. package/experimental/index.ts +4 -0
  130. package/index.ts +9 -7
  131. package/package.json +21 -30
  132. package/tsconfig.json +9 -0
  133. package/Digest.ts +0 -30
  134. package/Envelope.ts +0 -16
  135. package/F/F.ts +0 -1
  136. package/L/L.ts +0 -20
  137. package/L/append.ts +0 -14
  138. package/L/assistant.ts +0 -30
  139. package/L/assistantSchema.ts +0 -61
  140. package/L/assistantStream.ts +0 -22
  141. package/L/branch.ts +0 -20
  142. package/L/clear.ts +0 -14
  143. package/L/disable.ts +0 -13
  144. package/L/enable.ts +0 -24
  145. package/L/events.ts +0 -11
  146. package/L/json.ts +0 -12
  147. package/L/line.ts +0 -22
  148. package/L/listen.ts +0 -26
  149. package/L/messages.ts +0 -10
  150. package/L/prev.ts +0 -4
  151. package/L/provide.ts +0 -10
  152. package/L/self.ts +0 -5
  153. package/L/send.ts +0 -56
  154. package/L/system.ts +0 -25
  155. package/L/thread.ts +0 -16
  156. package/L/toolkit.ts +0 -14
  157. package/L/user.test.ts +0 -33
  158. package/L/user.ts +0 -32
  159. package/LEvent.ts +0 -33
  160. package/Thread.ts +0 -67
  161. package/dist/Digest.d.ts +0 -17
  162. package/dist/Digest.js +0 -7
  163. package/dist/Digest.js.map +0 -1
  164. package/dist/Envelope.d.ts +0 -13
  165. package/dist/Envelope.js +0 -2
  166. package/dist/Envelope.js.map +0 -1
  167. package/dist/F/F.d.ts +0 -1
  168. package/dist/F/F.js +0 -2
  169. package/dist/F/F.js.map +0 -1
  170. package/dist/L/L.d.ts +0 -20
  171. package/dist/L/L.js +0 -21
  172. package/dist/L/L.js.map +0 -1
  173. package/dist/L/append.d.ts +0 -5
  174. package/dist/L/append.js +0 -10
  175. package/dist/L/append.js.map +0 -1
  176. package/dist/L/assistant.d.ts +0 -6
  177. package/dist/L/assistant.js +0 -26
  178. package/dist/L/assistant.js.map +0 -1
  179. package/dist/L/assistantSchema.d.ts +0 -13
  180. package/dist/L/assistantSchema.js +0 -44
  181. package/dist/L/assistantSchema.js.map +0 -1
  182. package/dist/L/assistantStream.d.ts +0 -7
  183. package/dist/L/assistantStream.js +0 -17
  184. package/dist/L/assistantStream.js.map +0 -1
  185. package/dist/L/branch.d.ts +0 -3
  186. package/dist/L/branch.js +0 -19
  187. package/dist/L/branch.js.map +0 -1
  188. package/dist/L/clear.d.ts +0 -5
  189. package/dist/L/clear.js +0 -12
  190. package/dist/L/clear.js.map +0 -1
  191. package/dist/L/disable.d.ts +0 -4
  192. package/dist/L/disable.js +0 -10
  193. package/dist/L/disable.js.map +0 -1
  194. package/dist/L/enable.d.ts +0 -5
  195. package/dist/L/enable.js +0 -13
  196. package/dist/L/enable.js.map +0 -1
  197. package/dist/L/events.d.ts +0 -5
  198. package/dist/L/events.js +0 -6
  199. package/dist/L/events.js.map +0 -1
  200. package/dist/L/json.d.ts +0 -5
  201. package/dist/L/json.js +0 -8
  202. package/dist/L/json.js.map +0 -1
  203. package/dist/L/line.d.ts +0 -5
  204. package/dist/L/line.js +0 -11
  205. package/dist/L/line.js.map +0 -1
  206. package/dist/L/listen.d.ts +0 -7
  207. package/dist/L/listen.js +0 -14
  208. package/dist/L/listen.js.map +0 -1
  209. package/dist/L/messages.d.ts +0 -5
  210. package/dist/L/messages.js +0 -5
  211. package/dist/L/messages.js.map +0 -1
  212. package/dist/L/prev.d.ts +0 -5
  213. package/dist/L/prev.js +0 -5
  214. package/dist/L/prev.js.map +0 -1
  215. package/dist/L/provide.d.ts +0 -3
  216. package/dist/L/provide.js +0 -4
  217. package/dist/L/provide.js.map +0 -1
  218. package/dist/L/self.d.ts +0 -3
  219. package/dist/L/self.js +0 -4
  220. package/dist/L/self.js.map +0 -1
  221. package/dist/L/send.d.ts +0 -6
  222. package/dist/L/send.js +0 -34
  223. package/dist/L/send.js.map +0 -1
  224. package/dist/L/system.d.ts +0 -5
  225. package/dist/L/system.js +0 -14
  226. package/dist/L/system.js.map +0 -1
  227. package/dist/L/thread.d.ts +0 -3
  228. package/dist/L/thread.js +0 -15
  229. package/dist/L/thread.js.map +0 -1
  230. package/dist/L/toolkit.d.ts +0 -4
  231. package/dist/L/toolkit.js +0 -9
  232. package/dist/L/toolkit.js.map +0 -1
  233. package/dist/L/user.d.ts +0 -6
  234. package/dist/L/user.js +0 -13
  235. package/dist/L/user.js.map +0 -1
  236. package/dist/L/user.test.d.ts +0 -1
  237. package/dist/L/user.test.js.map +0 -1
  238. package/dist/LEvent.d.ts +0 -154
  239. package/dist/LEvent.js +0 -19
  240. package/dist/LEvent.js.map +0 -1
  241. package/dist/Thread.d.ts +0 -52
  242. package/dist/Thread.js +0 -32
  243. package/dist/Thread.js.map +0 -1
  244. package/dist/patterns/Debate.d.ts +0 -1
  245. package/dist/patterns/Debate.js +0 -3
  246. package/dist/patterns/Debate.js.map +0 -1
  247. package/dist/patterns/Model.d.ts +0 -6
  248. package/dist/patterns/Model.js +0 -14
  249. package/dist/patterns/Model.js.map +0 -1
  250. package/dist/patterns/Route.d.ts +0 -3
  251. package/dist/patterns/Route.js +0 -14
  252. package/dist/patterns/Route.js.map +0 -1
  253. package/dist/util/JsonValue.d.ts +0 -8
  254. package/dist/util/JsonValue.js +0 -109
  255. package/dist/util/JsonValue.js.map +0 -1
  256. package/dist/util/NeverTool.d.ts +0 -3
  257. package/dist/util/NeverTool.js +0 -3
  258. package/dist/util/NeverTool.js.map +0 -1
  259. package/dist/util/Taggable.d.ts +0 -6
  260. package/dist/util/Taggable.js +0 -13
  261. package/dist/util/Taggable.js.map +0 -1
  262. package/dist/util/extract.d.ts +0 -3
  263. package/dist/util/extract.js +0 -2
  264. package/dist/util/extract.js.map +0 -1
  265. package/dist/util/messageCodec.d.ts +0 -98
  266. package/dist/util/messageCodec.js +0 -5
  267. package/dist/util/messageCodec.js.map +0 -1
  268. package/dist/util/normalizeRaw.d.ts +0 -4
  269. package/dist/util/normalizeRaw.js +0 -75
  270. package/dist/util/normalizeRaw.js.map +0 -1
  271. package/dist/util/prefix.d.ts +0 -1
  272. package/dist/util/prefix.js +0 -2
  273. package/dist/util/prefix.js.map +0 -1
  274. package/dist/util/raw.d.ts +0 -6
  275. package/dist/util/raw.js +0 -5
  276. package/dist/util/raw.js.map +0 -1
  277. package/patterns/Debate.ts +0 -2
  278. package/patterns/Model.ts +0 -29
  279. package/patterns/Route.ts +0 -25
  280. package/util/JsonValue.ts +0 -144
  281. package/util/NeverTool.ts +0 -10
  282. package/util/Taggable.ts +0 -33
  283. package/util/extract.ts +0 -7
  284. package/util/messageCodec.ts +0 -5
  285. package/util/normalizeRaw.ts +0 -93
  286. package/util/prefix.ts +0 -1
  287. package/util/raw.ts +0 -27
@@ -1,13 +0,0 @@
1
- import type { AiError } from "@effect/ai/AiError";
2
- import { AiLanguageModel } from "@effect/ai/AiLanguageModel";
3
- import * as Effect from "effect/Effect";
4
- import * as Schema from "effect/Schema";
5
- import type { Thread } from "../Thread.ts";
6
- import { type JsonValue } from "../util/JsonValue.ts";
7
- /** Infer a structured assistant message and append its JSON representation to the conversation. */
8
- export declare const assistantSchema: {
9
- <F extends Record<string, Schema.Schema.AnyNoContext>>(fields: F): Effect.Effect<{
10
- [K in keyof F]: Schema.Schema.Type<F[K]>;
11
- }, AiError, AiLanguageModel | Thread>;
12
- <O, I extends JsonValue>(schema: Schema.Schema<O, I, never>): Effect.Effect<O, AiError, AiLanguageModel | Thread>;
13
- };
@@ -1,44 +0,0 @@
1
- import { AssistantMessage, TextPart } from "@effect/ai/AiInput";
2
- import { AiLanguageModel } from "@effect/ai/AiLanguageModel";
3
- import * as Effect from "effect/Effect";
4
- import * as Option from "effect/Option";
5
- import * as Schema from "effect/Schema";
6
- import * as SchemaAST from "effect/SchemaAST";
7
- import { encodeJsonc } from "../util/JsonValue.js";
8
- import { append } from "./append.js";
9
- import { self } from "./self.js";
10
- /** Infer a structured assistant message and append its JSON representation to the conversation. */
11
- export const assistantSchema = Effect.fnUntraced(function* (schema) {
12
- const model = yield* AiLanguageModel;
13
- const { state: { system, messages } } = yield* self;
14
- const isSchema = Schema.isSchema(schema);
15
- const schema_ = isSchema ? schema : Schema.Struct(schema);
16
- const isObject = !isSchema || isObjectSchema(SchemaAST.encodedAST(schema.ast));
17
- const wrapped = isObject ? schema_ : Schema.Struct({ inner: schema_ });
18
- const value = yield* model.generateObject({
19
- system: Option.getOrUndefined(system),
20
- schema: wrapped,
21
- prompt: messages,
22
- }).pipe(Effect.map(({ value }) => isObject ? value : value["inner"]));
23
- yield* append(AssistantMessage.make({
24
- parts: [
25
- TextPart.make({
26
- text: yield* encodeJsonc(schema_)(value),
27
- }),
28
- ],
29
- }));
30
- return value;
31
- });
32
- const isObjectSchema = (ast) => {
33
- switch (ast._tag) {
34
- case "TypeLiteral": {
35
- return true;
36
- }
37
- case "Refinement":
38
- case "Transformation": {
39
- return isObjectSchema(ast.from);
40
- }
41
- }
42
- return false;
43
- };
44
- //# sourceMappingURL=assistantSchema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assistantSchema.js","sourceRoot":"","sources":["../../L/assistantSchema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAA;AAE7C,OAAO,EAAE,WAAW,EAAkB,MAAM,sBAAsB,CAAA;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,mGAAmG;AACnG,MAAM,CAAC,MAAM,eAAe,GAOxB,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAC,MAAM;IACpC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,eAAe,CAAA;IACpC,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,CAAA;IAEnD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACxC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAA+B,CAAA;IACvF,MAAM,QAAQ,GAAG,CAAC,QAAQ,IAAI,cAAc,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IAC9E,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;IAEtE,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;QACxC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC;QACrC,MAAM,EAAE,OAAO;QACf,MAAM,EAAE,QAAQ;KACjB,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAC7D,CAAA;IAED,KAAK,CAAC,CAAC,MAAM,CACX,gBAAgB,CAAC,IAAI,CAAC;QACpB,KAAK,EAAE;YACL,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,KAAK,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;aACzC,CAAC;SACH;KACF,CAAC,CACH,CAAA;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAC,CAAA;AAEF,MAAM,cAAc,GAAG,CAAC,GAAkB,EAAW,EAAE;IACrD,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,KAAK,YAAY,CAAC;QAClB,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACjC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
@@ -1,7 +0,0 @@
1
- import type { AiError } from "@effect/ai/AiError";
2
- import { AiLanguageModel } from "@effect/ai/AiLanguageModel";
3
- import type { AiResponse } from "@effect/ai/AiResponse";
4
- import * as Stream from "effect/Stream";
5
- import type { Thread } from "../Thread.ts";
6
- /** Get a stream of an assistant message (does not append the message to the thread). */
7
- export declare const assistantStream: Stream.Stream<AiResponse, AiError, AiLanguageModel | Thread>;
@@ -1,17 +0,0 @@
1
- import { AiLanguageModel } from "@effect/ai/AiLanguageModel";
2
- import * as Effect from "effect/Effect";
3
- import * as Option from "effect/Option";
4
- import * as Stream from "effect/Stream";
5
- import { self } from "./self.js";
6
- import { toolkit } from "./toolkit.js";
7
- /** Get a stream of an assistant message (does not append the message to the thread). */
8
- export const assistantStream = Stream.unwrap(Effect.gen(function* () {
9
- const model = yield* AiLanguageModel;
10
- const { state: { system, messages: prompt } } = yield* self;
11
- return model.streamText({
12
- system: Option.getOrUndefined(system),
13
- prompt,
14
- toolkit,
15
- });
16
- }));
17
- //# sourceMappingURL=assistantStream.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assistantStream.js","sourceRoot":"","sources":["../../L/assistantStream.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE5D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,wFAAwF;AACxF,MAAM,CAAC,MAAM,eAAe,GAAiE,MAAM,CAAC,MAAM,CACxG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,eAAe,CAAA;IACpC,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,CAAA;IAC3D,OAAO,KAAK,CAAC,UAAU,CAAC;QACtB,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC;QACrC,MAAM;QACN,OAAO;KACR,CAAC,CAAA;AACJ,CAAC,CAAC,CACH,CAAA"}
@@ -1,3 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import { Thread } from "../Thread.ts";
3
- export declare const branch: Effect.Effect<Thread, never, Thread>;
package/dist/L/branch.js DELETED
@@ -1,19 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import * as Option from "effect/Option";
3
- import * as PubSub from "effect/PubSub";
4
- import { Thread, ThreadState } from "../Thread.js";
5
- import { self } from "./self.js";
6
- export const branch = Effect.gen(function* () {
7
- const parent = yield* self;
8
- return Thread({
9
- id: parent.id,
10
- parent: Option.some(parent),
11
- events: yield* PubSub.unbounded(),
12
- state: ThreadState.make({
13
- system: parent.state.system,
14
- messages: [...parent.state.messages ?? []],
15
- }),
16
- tools: parent.tools.pipe(Option.map((v) => new Set(v))),
17
- });
18
- });
19
- //# sourceMappingURL=branch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"branch.js","sourceRoot":"","sources":["../../L/branch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,CAAC,MAAM,MAAM,GAAyC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC9E,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,CAAA;IAC1B,OAAO,MAAM,CAAC;QACZ,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,EAAU;QACzC,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC;YACtB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;YAC3B,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;SAC3C,CAAC;QACF,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KACxD,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
package/dist/L/clear.d.ts DELETED
@@ -1,5 +0,0 @@
1
- import type { Message } from "@effect/ai/AiInput";
2
- import * as Effect from "effect/Effect";
3
- import type { Thread } from "../Thread.ts";
4
- /** Clear the thread of messages. */
5
- export declare const clear: Effect.Effect<Array<Message>, never, Thread>;
package/dist/L/clear.js DELETED
@@ -1,12 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import { ThreadClearedEvent } from "../LEvent.js";
3
- import { self } from "./self.js";
4
- /** Clear the thread of messages. */
5
- export const clear = Effect.gen(function* () {
6
- const { state, events } = yield* self;
7
- const cleared = state.messages;
8
- state.messages = [];
9
- yield* events.publish(ThreadClearedEvent.make({ cleared }));
10
- return cleared;
11
- });
12
- //# sourceMappingURL=clear.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clear.js","sourceRoot":"","sources":["../../L/clear.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAEjD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,oCAAoC;AACpC,MAAM,CAAC,MAAM,KAAK,GAAiD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IACrF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,CAAA;IACrC,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAA;IAC9B,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAA;IACnB,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;IAC3D,OAAO,OAAO,CAAA;AAChB,CAAC,CAAC,CAAA"}
@@ -1,4 +0,0 @@
1
- import * as AiTool from "@effect/ai/AiTool";
2
- import * as Effect from "effect/Effect";
3
- import type { Thread } from "../Thread.ts";
4
- export declare const disable: (tool: AiTool.Any) => Effect.Effect<void, never, Thread>;
package/dist/L/disable.js DELETED
@@ -1,10 +0,0 @@
1
- import * as AiTool from "@effect/ai/AiTool";
2
- import * as Effect from "effect/Effect";
3
- import * as Option from "effect/Option";
4
- import { self } from "./self.js";
5
- export const disable = (tool) => Effect.map(self, ({ tools }) => {
6
- if (Option.isSome(tools)) {
7
- tools.value.delete(tool);
8
- }
9
- });
10
- //# sourceMappingURL=disable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"disable.js","sourceRoot":"","sources":["../../L/disable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAgB,EAAsC,EAAE,CAC9E,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAC7B,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAiB,CAAC,CAAA;IACvC,CAAC;AACH,CAAC,CAAC,CAAA"}
@@ -1,5 +0,0 @@
1
- import type { AiTool, AnyStructSchema, Handler } from "@effect/ai/AiTool";
2
- import * as Effect from "effect/Effect";
3
- import type { Schema } from "effect/Schema";
4
- import type { Thread } from "../Thread.ts";
5
- export declare const enable: <K extends string, E extends Schema.All, R>(tool: AiTool<K, AnyStructSchema, Schema.Any, E, R>) => Effect.Effect<void, E, Handler<K> | Thread | R>;
package/dist/L/enable.js DELETED
@@ -1,13 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import * as Option from "effect/Option";
3
- import { self } from "./self.js";
4
- export const enable = (tool) => Effect.map(self, (thread) => {
5
- const tool_ = tool;
6
- Option.match(thread.tools, {
7
- onSome: (value) => value.add(tool_),
8
- onNone: () => {
9
- thread.tools = Option.some(new Set([tool_]));
10
- },
11
- });
12
- });
13
- //# sourceMappingURL=enable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"enable.js","sourceRoot":"","sources":["../../L/enable.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAIvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,CAAC,MAAM,MAAM,GAAG,CAKpB,IAAkD,EACD,EAAE,CACnD,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;IAC1B,MAAM,KAAK,GAAc,IAAa,CAAA;IACtC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE;QACzB,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;QACnC,MAAM,EAAE,GAAG,EAAE;YACX,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAC9C,CAAC;KACF,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1,5 +0,0 @@
1
- import * as Stream from "effect/Stream";
2
- import type { LEvent } from "../LEvent.ts";
3
- import type { Thread } from "../Thread.ts";
4
- /** A stream of thread events. */
5
- export declare const events: Stream.Stream<LEvent, never, Thread>;
package/dist/L/events.js DELETED
@@ -1,6 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import * as Stream from "effect/Stream";
3
- import { self } from "./self.js";
4
- /** A stream of thread events. */
5
- export const events = self.pipe(Effect.map(({ events }) => Stream.fromPubSub(events)), Stream.unwrap);
6
- //# sourceMappingURL=events.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../L/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,iCAAiC;AACjC,MAAM,CAAC,MAAM,MAAM,GAAyC,IAAI,CAAC,IAAI,CACnE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EACrD,MAAM,CAAC,MAAM,CACd,CAAA"}
package/dist/L/json.d.ts DELETED
@@ -1,5 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import type * as Schema from "effect/Schema";
3
- import { type JsonValue } from "../util/JsonValue.ts";
4
- /** Stringify and append some JSON as a user message to the conversation. */
5
- export declare const json: <A, I extends JsonValue>(value: A, schema?: Schema.Schema<A, I>) => Effect.Effect<string>;
package/dist/L/json.js DELETED
@@ -1,8 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import { encodeJsonc } from "../util/JsonValue.js";
3
- /** Stringify and append some JSON as a user message to the conversation. */
4
- export const json = Effect.fnUntraced(function* (value, schema) {
5
- const encoded = schema ? encodeJsonc(schema)(value) : JSON.stringify(value, null, 2);
6
- return `\`\`\`json${schema ? "c" : ""}\n${encoded}\n\`\`\``;
7
- });
8
- //# sourceMappingURL=json.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"json.js","sourceRoot":"","sources":["../../L/json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,WAAW,EAAkB,MAAM,sBAAsB,CAAA;AAElE,4EAA4E;AAC5E,MAAM,CAAC,MAAM,IAAI,GAGY,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAC,KAAK,EAAE,MAAM;IACpE,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IACpF,OAAO,aAAa,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,UAAU,CAAA;AAC7D,CAAC,CAAC,CAAA"}
package/dist/L/line.d.ts DELETED
@@ -1,5 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- export interface line<RIn = never, E = never, ROut = never> {
3
- <Arg extends Array<Effect.All.EffectAny>>(...steps: Arg): Effect.Effect<Arg extends [] ? void : Arg extends [...infer _0, infer L extends Effect.All.EffectAny] ? Effect.Effect.Success<L> : never, Effect.Effect.Error<Arg[number]> | E, Exclude<Effect.Effect.Context<Arg[number]>, RIn> | ROut>;
4
- }
5
- export declare const line: line;
package/dist/L/line.js DELETED
@@ -1,11 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import { prev } from "./prev.js";
3
- export const line = Effect.fnUntraced(function* (...steps) {
4
- let acc;
5
- while (steps.length) {
6
- const current = steps.shift();
7
- acc = yield* current.pipe(Effect.provideService(prev, acc));
8
- }
9
- return acc;
10
- });
11
- //# sourceMappingURL=line.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"line.js","sourceRoot":"","sources":["../../L/line.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAahC,MAAM,CAAC,MAAM,IAAI,GAAS,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAC,GAAG,KAAK;IAC5D,IAAI,GAAY,CAAA;IAChB,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAG,CAAA;QAC9B,GAAG,GAAG,KAAK,CAAC,CAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAwB,CAAA;IACrF,CAAC;IACD,OAAO,GAAY,CAAA;AACrB,CAAC,CAAC,CAAA"}
@@ -1,7 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import type { RuntimeFiber } from "effect/Fiber";
3
- import * as Scope from "effect/Scope";
4
- import type { LEvent } from "../LEvent.ts";
5
- import type { Thread } from "../Thread.ts";
6
- /** Attach an event handler to process thread events. */
7
- export declare const listen: <A, E, R>(f: (event: LEvent) => Effect.Effect<A, E, R>) => Effect.Effect<RuntimeFiber<void, E>, never, Thread | R | Scope.Scope>;
package/dist/L/listen.js DELETED
@@ -1,14 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import * as Scope from "effect/Scope";
3
- import * as Stream from "effect/Stream";
4
- import { self } from "./self.js";
5
- /** Attach an event handler to process thread events. */
6
- export const listen = Effect.fnUntraced(function* (f) {
7
- const latch = yield* Effect.makeLatch(false);
8
- const { events } = yield* self;
9
- const dequeue = yield* events.subscribe;
10
- const fiber = yield* latch.open.pipe(Effect.zipRight(Stream.fromQueue(dequeue).pipe(Stream.runForEach(f), Effect.fork)));
11
- yield* latch.await;
12
- return fiber;
13
- });
14
- //# sourceMappingURL=listen.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"listen.js","sourceRoot":"","sources":["../../L/listen.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,wDAAwD;AACxD,MAAM,CAAC,MAAM,MAAM,GAE0D,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAC,CAAC;IACxG,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAC5C,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,CAAA;IAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAA;IACvC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAClC,MAAM,CAAC,QAAQ,CACb,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAC5B,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EACpB,MAAM,CAAC,IAAI,CACZ,CACF,CACF,CAAA;IACD,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAA;IAClB,OAAO,KAAK,CAAA;AACd,CAAC,CAAC,CAAA"}
@@ -1,5 +0,0 @@
1
- import type { Message } from "@effect/ai/AiInput";
2
- import * as Effect from "effect/Effect";
3
- import type { Thread } from "../Thread.ts";
4
- /** Get a copy of the current list of messages. */
5
- export declare const messages: Effect.Effect<Array<Message>, never, Thread>;
@@ -1,5 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import { self } from "./self.js";
3
- /** Get a copy of the current list of messages. */
4
- export const messages = Effect.map(self, ({ state: { messages: [...messages] } }) => messages);
5
- //# sourceMappingURL=messages.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../L/messages.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,kDAAkD;AAClD,MAAM,CAAC,MAAM,QAAQ,GAAiD,MAAM,CAAC,GAAG,CAC9E,IAAI,EACJ,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,CACrD,CAAA"}
package/dist/L/prev.d.ts DELETED
@@ -1,5 +0,0 @@
1
- import * as Context from "effect/Context";
2
- declare const prev_base: Context.TagClass<prev, "liminal/prev", unknown>;
3
- export declare class prev extends prev_base {
4
- }
5
- export {};
package/dist/L/prev.js DELETED
@@ -1,5 +0,0 @@
1
- import * as Context from "effect/Context";
2
- import { prefix } from "../util/prefix.js";
3
- export class prev extends Context.Tag(prefix("prev"))() {
4
- }
5
- //# sourceMappingURL=prev.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prev.js","sourceRoot":"","sources":["../../L/prev.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,MAAM,OAAO,IAAK,SAAQ,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAiB;CAAG"}
@@ -1,3 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import type { Thread } from "../Thread.ts";
3
- export declare const provide: <E, R>(thread: Effect.Effect<Thread, E, R>) => <A1, E1, R1>(a: Effect.Effect<A1, E1, R1>) => Effect.Effect<A1, E | E1, R | Exclude<R1, Thread>>;
package/dist/L/provide.js DELETED
@@ -1,4 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import { self } from "./self.js";
3
- export const provide = (thread) => (a) => Effect.provideServiceEffect(self, thread)(a);
4
- //# sourceMappingURL=provide.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"provide.js","sourceRoot":"","sources":["../../L/provide.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,MAAmC,EACnC,EAAE,CACJ,CACE,CAA4B,EACwB,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA"}
package/dist/L/self.d.ts DELETED
@@ -1,3 +0,0 @@
1
- import * as Context from "effect/Context";
2
- import type { Thread } from "../Thread.ts";
3
- export declare const self: Context.Tag<Thread, Thread>;
package/dist/L/self.js DELETED
@@ -1,4 +0,0 @@
1
- import * as Context from "effect/Context";
2
- import { prefix } from "../util/prefix.js";
3
- export const self = Context.GenericTag(prefix("Self"));
4
- //# sourceMappingURL=self.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"self.js","sourceRoot":"","sources":["../../L/self.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,MAAM,CAAC,MAAM,IAAI,GAAgC,OAAO,CAAC,UAAU,CAAS,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA"}
package/dist/L/send.d.ts DELETED
@@ -1,6 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import type { Envelope } from "../Envelope.ts";
3
- import type { Thread } from "../Thread.ts";
4
- import type { ExtractE, ExtractR } from "../util/extract.ts";
5
- import { type TaggableArg0, type TaggableArgRest } from "../util/Taggable.ts";
6
- export declare const send: (envelope: Envelope) => <A0 extends TaggableArg0, ARest extends TaggableArgRest<A0>>(a0: A0, ...aRest: ARest) => Effect.Effect<void, ExtractE<A0 | ARest[number]>, Thread | ExtractR<A0 | ARest[number]>>;
package/dist/L/send.js DELETED
@@ -1,34 +0,0 @@
1
- import * as AiInput from "@effect/ai/AiInput";
2
- import * as Array from "effect/Array";
3
- import * as Effect from "effect/Effect";
4
- import { raw } from "../util/raw.js";
5
- import { normalize } from "../util/Taggable.js";
6
- import { append } from "./append.js";
7
- import { self } from "./self.js";
8
- export const send = (envelope) => Effect.fnUntraced(function* (a0, ...aRest) {
9
- const text = yield* normalize(a0, ...aRest);
10
- if (!text)
11
- return;
12
- const { to, cc, bcc } = envelope;
13
- const ccHeader = cc?.length
14
- ? yield* raw `; ${Effect.all(cc).pipe(Effect.map(Array.join(", ")))}`
15
- : "";
16
- const headers = raw `[FROM: ${self}${ccHeader}]`;
17
- const knownRecipients = [...to ?? [], ...cc ?? []];
18
- const program = append(AiInput.UserMessage.make({
19
- parts: [
20
- AiInput.TextPart.make({
21
- text: `${headers}\n${text}`,
22
- }),
23
- ],
24
- }));
25
- for (const recipient of knownRecipients) {
26
- yield* program.pipe(Effect.provideService(self, recipient));
27
- }
28
- if (bcc?.length) {
29
- for (const hiddenRecipient of bcc) {
30
- yield* program.pipe(Effect.provideService(self, hiddenRecipient));
31
- }
32
- }
33
- });
34
- //# sourceMappingURL=send.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"send.js","sourceRoot":"","sources":["../../L/send.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAKvC,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACpC,OAAO,EAAE,SAAS,EAA2C,MAAM,qBAAqB,CAAA;AACxF,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,QAAkB,EAAE,EAAE,CACzC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAIzB,EAAM,EACN,GAAG,KAAY;IAYf,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,CAAA;IAC3C,IAAI,CAAC,IAAI;QAAE,OAAM;IACjB,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAA;IAChC,MAAM,QAAQ,GAAG,EAAE,EAAE,MAAM;QACzB,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAA,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QACpE,CAAC,CAAC,EAAE,CAAA;IACN,MAAM,OAAO,GAAG,GAAG,CAAA,UAAU,IAAI,GAAG,QAAQ,GAAG,CAAA;IAC/C,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;IAClD,MAAM,OAAO,GAAG,MAAM,CACpB,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;QACvB,KAAK,EAAE;YACL,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACpB,IAAI,EAAE,GAAG,OAAO,KAAK,IAAI,EAAE;aAC5B,CAAC;SACH;KACF,CAAC,CACH,CAAA;IACD,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE,CAAC;QACxC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAA;IAC7D,CAAC;IACD,IAAI,GAAG,EAAE,MAAM,EAAE,CAAC;QAChB,KAAK,MAAM,eAAe,IAAI,GAAG,EAAE,CAAC;YAClC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAA;QACnE,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAA"}
@@ -1,5 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import * as Option from "effect/Option";
3
- import { type TaggableArg0, type TaggableArgRest } from "../util/Taggable.ts";
4
- /** Set the thread's system instruction. */
5
- export declare const system: <A0 extends TaggableArg0, ARest extends TaggableArgRest<A0>>(a0: A0, ...aRest: ARest) => Effect.Effect<Option.Option<string>, import("../util/extract.ts").ExtractE<A0 | ARest[number]>, import("../Thread.ts").Thread | import("../util/extract.ts").ExtractR<A0 | ARest[number]>>;
package/dist/L/system.js DELETED
@@ -1,14 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import * as Option from "effect/Option";
3
- import { SystemSetEvent } from "../LEvent.js";
4
- import { normalize } from "../util/Taggable.js";
5
- import { self } from "./self.js";
6
- /** Set the thread's system instruction. */
7
- export const system = Effect.fnUntraced(function* (a0, ...aRest) {
8
- const { state, events } = yield* self;
9
- const { system } = state;
10
- state.system = a0 ? Option.some(yield* normalize(a0, ...aRest)) : Option.none();
11
- yield* events.publish(new SystemSetEvent({ system: state.system }));
12
- return system;
13
- });
14
- //# sourceMappingURL=system.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"system.js","sourceRoot":"","sources":["../../L/system.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,SAAS,EAA2C,MAAM,qBAAqB,CAAA;AACxF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,2CAA2C;AAC3C,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAI/C,EAAM,EACN,GAAG,KAAY;IAMf,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,CAAA;IACrC,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;IACxB,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;IAC/E,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,cAAc,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IACnE,OAAO,MAAM,CAAA;AACf,CAAC,CAAC,CAAA"}
@@ -1,3 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import { Thread } from "../Thread.ts";
3
- export declare const thread: Effect.Effect<Thread>;
package/dist/L/thread.js DELETED
@@ -1,15 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import * as Option from "effect/Option";
3
- import * as PubSub from "effect/PubSub";
4
- import { Thread, ThreadId, ThreadState } from "../Thread.js";
5
- import { self } from "./self.js";
6
- export const thread = Effect.gen(function* () {
7
- return Thread({
8
- id: ThreadId.make(crypto.randomUUID()),
9
- parent: yield* Effect.serviceOption(self),
10
- events: yield* PubSub.unbounded(),
11
- state: ThreadState.default(),
12
- tools: Option.none(),
13
- });
14
- });
15
- //# sourceMappingURL=thread.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"thread.js","sourceRoot":"","sources":["../../L/thread.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,CAAC,MAAM,MAAM,GAA0B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC/D,OAAO,MAAM,CAAC;QACZ,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACtC,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;QACzC,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,EAAU;QACzC,KAAK,EAAE,WAAW,CAAC,OAAO,EAAE;QAC5B,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE;KACrB,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1,4 +0,0 @@
1
- import * as AiToolkit from "@effect/ai/AiToolkit";
2
- import * as Effect from "effect/Effect";
3
- import type { NeverTool } from "../util/NeverTool.ts";
4
- export declare const toolkit: Effect.Effect<AiToolkit.ToHandler<NeverTool>, never, import("../Thread.ts").Thread | import("@effect/ai/AiTool").Handler<string>>;
package/dist/L/toolkit.js DELETED
@@ -1,9 +0,0 @@
1
- import * as AiToolkit from "@effect/ai/AiToolkit";
2
- import * as Effect from "effect/Effect";
3
- import * as Option from "effect/Option";
4
- import { self } from "./self.js";
5
- export const toolkit = self.pipe(Effect.flatMap(({ tools }) => Option.match(tools, {
6
- onSome: (tools) => AiToolkit.make(...tools),
7
- onNone: () => AiToolkit.make(),
8
- })));
9
- //# sourceMappingURL=toolkit.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"toolkit.js","sourceRoot":"","sources":["../../L/toolkit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAC9B,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAC3B,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE;IAClB,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IAC3C,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,EAA4B;CACzD,CAAC,CACH,CACF,CAAA"}
package/dist/L/user.d.ts DELETED
@@ -1,6 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import type { Thread } from "../Thread.ts";
3
- import type { ExtractE, ExtractR } from "../util/extract.ts";
4
- import { type TaggableArg0, type TaggableArgRest } from "../util/Taggable.ts";
5
- /** Append a user message to the thread. */
6
- export declare const user: <A0 extends TaggableArg0, ARest extends TaggableArgRest<A0>>(a0: A0, ...aRest: ARest) => Effect.Effect<void, ExtractE<A0 | ARest[number]>, ExtractR<A0 | ARest[number]> | Thread>;
package/dist/L/user.js DELETED
@@ -1,13 +0,0 @@
1
- import { TextPart, UserMessage } from "@effect/ai/AiInput";
2
- import * as Effect from "effect/Effect";
3
- import { normalize } from "../util/Taggable.js";
4
- import { append } from "./append.js";
5
- /** Append a user message to the thread. */
6
- export const user = (a0, ...aRest) => normalize(a0, ...aRest).pipe(Effect.flatMap((text) => text
7
- ? append(UserMessage.make({
8
- parts: [
9
- TextPart.make({ text }),
10
- ],
11
- }))
12
- : Effect.succeed(undefined)));
13
- //# sourceMappingURL=user.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../../L/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,EAAE,SAAS,EAA2C,MAAM,qBAAqB,CAAA;AACxF,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,2CAA2C;AAC3C,MAAM,CAAC,MAAM,IAAI,GAAG,CAIlB,EAAM,EACN,GAAG,KAAY,EAKf,EAAE,CACF,SAAS,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,CAC1B,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACtB,IAAI;IACF,CAAC,CAAC,MAAM,CACN,WAAW,CAAC,IAAI,CAAC;QACf,KAAK,EAAE;YACL,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;SACxB;KACF,CAAC,CACH;IACD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAC9B,CACF,CAAA"}
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- {"version":3,"file":"user.test.js","sourceRoot":"","sources":["../../L/user.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,CAC7B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,KAAK,CAAC,CAAC,IAAI,CAAA,GAAG,CAAA;IACd,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAChB,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC;QACpC,WAAW,CAAC,IAAI,CAAC;YACf,KAAK,EAAE;gBACL,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,GAAG;iBACV,CAAC;aACH;SACF,CAAC;QACF,WAAW,CAAC,IAAI,CAAC;YACf,KAAK,EAAE;gBACL,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,GAAG;iBACV,CAAC;aACH;SACF,CAAC;KACH,CAAC,CAAA;AACJ,CAAC,CAAC,CAAC,IAAI,CACL,OAAO,CACL,MAAM,CACP,CACF,CAAC,CAAA"}