liminal 0.16.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 (275) 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 -206
  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 -5
  109. package/dist/index.js +9 -5
  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 -5
  131. package/package.json +26 -23
  132. package/tsconfig.json +9 -0
  133. package/Envelope.ts +0 -48
  134. package/L/L.ts +0 -21
  135. package/L/Self.ts +0 -5
  136. package/L/append.ts +0 -14
  137. package/L/assistant.ts +0 -30
  138. package/L/assistantSchema.ts +0 -61
  139. package/L/assistantStream.ts +0 -22
  140. package/L/branch.ts +0 -33
  141. package/L/clear.ts +0 -14
  142. package/L/disable.ts +0 -13
  143. package/L/enable.ts +0 -24
  144. package/L/events.ts +0 -11
  145. package/L/fqn.ts +0 -9
  146. package/L/handle.ts +0 -26
  147. package/L/messages.ts +0 -10
  148. package/L/raw.ts +0 -30
  149. package/L/sequence.ts +0 -9
  150. package/L/system.ts +0 -14
  151. package/L/thread.ts +0 -28
  152. package/L/to.ts +0 -4
  153. package/L/toolkit.ts +0 -14
  154. package/L/user.test.ts +0 -30
  155. package/L/user.ts +0 -22
  156. package/L/userJson.ts +0 -14
  157. package/LEvent.ts +0 -23
  158. package/LPretty.ts +0 -41
  159. package/Thread.ts +0 -69
  160. package/dist/Envelope.d.ts +0 -15
  161. package/dist/Envelope.js +0 -30
  162. package/dist/Envelope.js.map +0 -1
  163. package/dist/L/L.d.ts +0 -21
  164. package/dist/L/L.js +0 -22
  165. package/dist/L/L.js.map +0 -1
  166. package/dist/L/Self.d.ts +0 -3
  167. package/dist/L/Self.js +0 -4
  168. package/dist/L/Self.js.map +0 -1
  169. package/dist/L/append.d.ts +0 -5
  170. package/dist/L/append.js +0 -10
  171. package/dist/L/append.js.map +0 -1
  172. package/dist/L/assistant.d.ts +0 -6
  173. package/dist/L/assistant.js +0 -26
  174. package/dist/L/assistant.js.map +0 -1
  175. package/dist/L/assistantSchema.d.ts +0 -13
  176. package/dist/L/assistantSchema.js +0 -44
  177. package/dist/L/assistantSchema.js.map +0 -1
  178. package/dist/L/assistantStream.d.ts +0 -7
  179. package/dist/L/assistantStream.js +0 -17
  180. package/dist/L/assistantStream.js.map +0 -1
  181. package/dist/L/branch.d.ts +0 -6
  182. package/dist/L/branch.js +0 -22
  183. package/dist/L/branch.js.map +0 -1
  184. package/dist/L/clear.d.ts +0 -5
  185. package/dist/L/clear.js +0 -12
  186. package/dist/L/clear.js.map +0 -1
  187. package/dist/L/disable.d.ts +0 -4
  188. package/dist/L/disable.js +0 -10
  189. package/dist/L/disable.js.map +0 -1
  190. package/dist/L/enable.d.ts +0 -5
  191. package/dist/L/enable.js +0 -13
  192. package/dist/L/enable.js.map +0 -1
  193. package/dist/L/events.d.ts +0 -5
  194. package/dist/L/events.js +0 -6
  195. package/dist/L/events.js.map +0 -1
  196. package/dist/L/fqn.d.ts +0 -3
  197. package/dist/L/fqn.js +0 -8
  198. package/dist/L/fqn.js.map +0 -1
  199. package/dist/L/handle.d.ts +0 -7
  200. package/dist/L/handle.js +0 -14
  201. package/dist/L/handle.js.map +0 -1
  202. package/dist/L/messages.d.ts +0 -5
  203. package/dist/L/messages.js +0 -5
  204. package/dist/L/messages.js.map +0 -1
  205. package/dist/L/raw.d.ts +0 -3
  206. package/dist/L/raw.js +0 -18
  207. package/dist/L/raw.js.map +0 -1
  208. package/dist/L/sequence.d.ts +0 -2
  209. package/dist/L/sequence.js +0 -5
  210. package/dist/L/sequence.js.map +0 -1
  211. package/dist/L/system.d.ts +0 -5
  212. package/dist/L/system.js +0 -12
  213. package/dist/L/system.js.map +0 -1
  214. package/dist/L/thread.d.ts +0 -6
  215. package/dist/L/thread.js +0 -17
  216. package/dist/L/thread.js.map +0 -1
  217. package/dist/L/to.d.ts +0 -3
  218. package/dist/L/to.js +0 -3
  219. package/dist/L/to.js.map +0 -1
  220. package/dist/L/toolkit.d.ts +0 -4
  221. package/dist/L/toolkit.js +0 -9
  222. package/dist/L/toolkit.js.map +0 -1
  223. package/dist/L/user.d.ts +0 -4
  224. package/dist/L/user.js +0 -13
  225. package/dist/L/user.js.map +0 -1
  226. package/dist/L/user.test.d.ts +0 -1
  227. package/dist/L/user.test.js.map +0 -1
  228. package/dist/L/userJson.d.ts +0 -6
  229. package/dist/L/userJson.js +0 -9
  230. package/dist/L/userJson.js.map +0 -1
  231. package/dist/LEvent.d.ts +0 -26
  232. package/dist/LEvent.js +0 -16
  233. package/dist/LEvent.js.map +0 -1
  234. package/dist/LPretty.d.ts +0 -4
  235. package/dist/LPretty.js +0 -37
  236. package/dist/LPretty.js.map +0 -1
  237. package/dist/Thread.d.ts +0 -55
  238. package/dist/Thread.js +0 -38
  239. package/dist/Thread.js.map +0 -1
  240. package/dist/patterns/Debate.d.ts +0 -1
  241. package/dist/patterns/Debate.js +0 -3
  242. package/dist/patterns/Debate.js.map +0 -1
  243. package/dist/patterns/Model.d.ts +0 -6
  244. package/dist/patterns/Model.js +0 -14
  245. package/dist/patterns/Model.js.map +0 -1
  246. package/dist/patterns/Route.d.ts +0 -3
  247. package/dist/patterns/Route.js +0 -14
  248. package/dist/patterns/Route.js.map +0 -1
  249. package/dist/util/JsonValue.d.ts +0 -8
  250. package/dist/util/JsonValue.js +0 -109
  251. package/dist/util/JsonValue.js.map +0 -1
  252. package/dist/util/NeverTool.d.ts +0 -3
  253. package/dist/util/NeverTool.js +0 -3
  254. package/dist/util/NeverTool.js.map +0 -1
  255. package/dist/util/Sequencer.d.ts +0 -4
  256. package/dist/util/Sequencer.js +0 -2
  257. package/dist/util/Sequencer.js.map +0 -1
  258. package/dist/util/Taggable.d.ts +0 -5
  259. package/dist/util/Taggable.js +0 -2
  260. package/dist/util/Taggable.js.map +0 -1
  261. package/dist/util/normalizeRaw.d.ts +0 -4
  262. package/dist/util/normalizeRaw.js +0 -75
  263. package/dist/util/normalizeRaw.js.map +0 -1
  264. package/dist/util/prefix.d.ts +0 -1
  265. package/dist/util/prefix.js +0 -2
  266. package/dist/util/prefix.js.map +0 -1
  267. package/patterns/Debate.ts +0 -2
  268. package/patterns/Model.ts +0 -29
  269. package/patterns/Route.ts +0 -21
  270. package/util/JsonValue.ts +0 -144
  271. package/util/NeverTool.ts +0 -10
  272. package/util/Sequencer.ts +0 -13
  273. package/util/Taggable.ts +0 -14
  274. package/util/normalizeRaw.ts +0 -93
  275. package/util/prefix.ts +0 -1
@@ -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,6 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import { Thread } from "../Thread.ts";
3
- import type { Sequencer } from "../util/Sequencer.ts";
4
- export interface branch extends Sequencer<never, Thread>, Effect.Effect<Thread, never, Thread> {
5
- }
6
- export declare const branch: branch;
package/dist/L/branch.js DELETED
@@ -1,22 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import { flow } from "effect/Function";
3
- import * as Option from "effect/Option";
4
- import * as PubSub from "effect/PubSub";
5
- import { Thread, ThreadState } from "../Thread.js";
6
- import { Self } from "./Self.js";
7
- import { sequence } from "./sequence.js";
8
- const branch_ = Effect.gen(function* () {
9
- const parent = yield* Self;
10
- return Thread({
11
- parent: Option.some(parent),
12
- events: yield* PubSub.unbounded(),
13
- state: ThreadState.make({
14
- fqn: parent.state.fqn,
15
- system: parent.state.system,
16
- messages: [...parent.state.messages ?? []],
17
- }),
18
- tools: parent.tools.pipe(Option.map((v) => new Set(v))),
19
- });
20
- });
21
- export const branch = Object.assign(flow(sequence, Effect.provideServiceEffect(Self, branch_)), branch_);
22
- //# 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,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAElD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAIxC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,CAAA;IAC1B,OAAO,MAAM,CAAC;QACZ,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,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG;YACrB,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;AAEF,MAAM,CAAC,MAAM,MAAM,GAAW,MAAM,CAAC,MAAM,CACzC,IAAI,CACF,QAAQ,EACR,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAC3C,EACD,OAAO,CACR,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 { MessagesCleared } 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(MessagesCleared.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,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,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,eAAe,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;IACxD,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/fqn.d.ts DELETED
@@ -1,3 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import { type Thread } from "../Thread.ts";
3
- export declare const fqn: (id: string) => Effect.Effect<void, never, Thread>;
package/dist/L/fqn.js DELETED
@@ -1,8 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import * as Option from "effect/Option";
3
- import { ThreadFqn } from "../Thread.js";
4
- import { Self } from "./Self.js";
5
- export const fqn = (id) => Effect.map(Self, (thread) => {
6
- thread.state.fqn = Option.some(ThreadFqn.make(id));
7
- });
8
- //# sourceMappingURL=fqn.js.map
package/dist/L/fqn.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"fqn.js","sourceRoot":"","sources":["../../L/fqn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAe,SAAS,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,EAAU,EAAsC,EAAE,CACpE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;IAC1B,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;AACpD,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/handle.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=handle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handle.js","sourceRoot":"","sources":["../../L/handle.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/raw.d.ts DELETED
@@ -1,3 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import type { TaggableArg0 } from "../util/Taggable.ts";
3
- export declare const raw: <A0 extends TaggableArg0 | Effect.Effect<string | undefined, any, any>, L extends Array<unknown>>(a0: A0, ...aRest: L) => Effect.Effect<string | (undefined extends A0 ? undefined : never)>;
package/dist/L/raw.js DELETED
@@ -1,18 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import { normalizeRaw } from "../util/normalizeRaw.js";
3
- export const raw = Effect.fnUntraced(function* (a0, ...aRest) {
4
- const a0_ = Effect.isEffect(a0)
5
- ? yield* a0
6
- : a0;
7
- if (!a0_)
8
- return undefined;
9
- const aRest_ = yield* Effect.all(aRest.map((v) => Effect.isEffect(v)
10
- ? v
11
- : Effect.succeed(v)));
12
- return typeof a0_ === "string"
13
- ? aRest_.length === 0
14
- ? a0_
15
- : [a0_, ...aRest_].join("")
16
- : normalizeRaw(a0_, aRest_);
17
- });
18
- //# sourceMappingURL=raw.js.map
package/dist/L/raw.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"raw.js","sourceRoot":"","sources":["../../L/raw.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAGtD,MAAM,CAAC,MAAM,GAAG,GAQZ,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAC,EAAE,EAAE,GAAG,KAAK;IAC1C,MAAM,GAAG,GAAiB,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3C,CAAC,CAAC,KAAK,CAAC,CAAC,EAAiC;QAC1C,CAAC,CAAC,EAAE,CAAA;IACN,IAAI,CAAC,GAAG;QAAE,OAAO,SAAkB,CAAA;IACnC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAC9B,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACd,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CACtB,CACwC,CAAA;IAC3C,OAAO,OAAO,GAAG,KAAK,QAAQ;QAC5B,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YACnB,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;AAC/B,CAAC,CAAC,CAAA"}
@@ -1,2 +0,0 @@
1
- import type { Sequencer } from "../util/Sequencer.ts";
2
- export declare const sequence: Sequencer;
@@ -1,5 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- export const sequence = (...steps) => Effect.all(steps, {
3
- concurrency: 1,
4
- }).pipe(Effect.map((v) => v.pop()));
5
- //# sourceMappingURL=sequence.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sequence.js","sourceRoot":"","sources":["../../L/sequence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,MAAM,CAAC,MAAM,QAAQ,GAAc,CAAC,GAAG,KAAK,EAAE,EAAE,CAC9C,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE;IAChB,WAAW,EAAE,CAAC;CACf,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,GAAG,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAG,CAAU,CACnD,CAAA"}
@@ -1,5 +0,0 @@
1
- import * as Option from "effect/Option";
2
- import type { Thread } from "../Thread.ts";
3
- import type { Taggable } from "../util/Taggable.ts";
4
- /** Set the thread's system instruction. */
5
- export declare const system: Taggable<Option.Option<string>, never, Thread>;
package/dist/L/system.js DELETED
@@ -1,12 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import * as Option from "effect/Option";
3
- import { raw } from "./raw.js";
4
- import { Self } from "./Self.js";
5
- /** Set the thread's system instruction. */
6
- export const system = Effect.fnUntraced(function* (a0, ...aRest) {
7
- const { state } = yield* Self;
8
- const { system } = state;
9
- state.system = a0 ? Option.some(yield* raw(a0, ...aRest)) : Option.none();
10
- return system;
11
- });
12
- //# 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;AAGvC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,2CAA2C;AAC3C,MAAM,CAAC,MAAM,MAAM,GAAmD,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAC,EAAE,EAAE,GAAG,KAAK;IAC5G,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,CAAA;IAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;IACxB,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;IACzE,OAAO,MAAM,CAAA;AACf,CAAC,CAAC,CAAA"}
@@ -1,6 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import { Thread } from "../Thread.ts";
3
- import type { Sequencer } from "../util/Sequencer.ts";
4
- export interface thread extends Sequencer<Thread>, Effect.Effect<Thread> {
5
- }
6
- export declare const thread: thread;
package/dist/L/thread.js DELETED
@@ -1,17 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import { flow } from "effect/Function";
3
- import * as Option from "effect/Option";
4
- import * as PubSub from "effect/PubSub";
5
- import { Thread, ThreadState } from "../Thread.js";
6
- import { Self } from "./Self.js";
7
- import { sequence } from "./sequence.js";
8
- const thread_ = Effect.gen(function* () {
9
- return Thread({
10
- parent: yield* Effect.serviceOption(Self),
11
- events: yield* PubSub.unbounded(),
12
- state: ThreadState.default(),
13
- tools: Option.none(),
14
- });
15
- });
16
- export const thread = Object.assign(flow(sequence, Effect.provideServiceEffect(Self, thread_)), thread_);
17
- //# 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,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAElD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAIxC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClC,OAAO,MAAM,CAAC;QACZ,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;AAEF,MAAM,CAAC,MAAM,MAAM,GAAW,MAAM,CAAC,MAAM,CACzC,IAAI,CACF,QAAQ,EACR,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAC3C,EACD,OAAO,CACR,CAAA"}
package/dist/L/to.d.ts DELETED
@@ -1,3 +0,0 @@
1
- import { Envelope } from "../Envelope.ts";
2
- import type { Thread } from "../Thread.ts";
3
- export declare const to: (...to: Array<Thread>) => Envelope;
package/dist/L/to.js DELETED
@@ -1,3 +0,0 @@
1
- import { Envelope } from "../Envelope.js";
2
- export const to = (...to) => Envelope({ to });
3
- //# sourceMappingURL=to.js.map
package/dist/L/to.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"to.js","sourceRoot":"","sources":["../../L/to.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAGzC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAiB,EAAY,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,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,4 +0,0 @@
1
- import type { Thread } from "../Thread.ts";
2
- import type { Taggable } from "../util/Taggable.ts";
3
- /** Append a user message to the conversation. */
4
- export declare const user: Taggable<void, never, 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 { append } from "./append.js";
4
- import { raw } from "./raw.js";
5
- /** Append a user message to the conversation. */
6
- export const user = (a0, ...aRest) => raw(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,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAE9B,iDAAiD;AACjD,MAAM,CAAC,MAAM,IAAI,GAAkC,CAAC,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,CAClE,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,CACpB,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,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,MAAM,CACP,CAAC,CAAA"}
@@ -1,6 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import type * as Schema from "effect/Schema";
3
- import type { Thread } from "../Thread.ts";
4
- import { type JsonValue } from "../util/JsonValue.ts";
5
- /** Stringify and append some JSON as a user message to the conversation. */
6
- export declare const userJson: <A, I extends JsonValue>(value: A, schema?: Schema.Schema<A, I>) => Effect.Effect<void, never, Thread>;
@@ -1,9 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import { encodeJsonc } from "../util/JsonValue.js";
3
- import { user } from "./user.js";
4
- /** Stringify and append some JSON as a user message to the conversation. */
5
- export const userJson = Effect.fnUntraced(function* (value, schema) {
6
- const encoded = schema ? encodeJsonc(schema)(value) : JSON.stringify(value, null, 2);
7
- return yield* user `\`\`\`json${schema ? "c" : ""}\n${encoded}\n\`\`\``;
8
- });
9
- //# sourceMappingURL=userJson.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"userJson.js","sourceRoot":"","sources":["../../L/userJson.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,EAAE,WAAW,EAAkB,MAAM,sBAAsB,CAAA;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,4EAA4E;AAC5E,MAAM,CAAC,MAAM,QAAQ,GAGqB,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAC,KAAK,EAAE,MAAM;IACjF,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,KAAK,CAAC,CAAC,IAAI,CAAA,aAAa,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,UAAU,CAAA;AACxE,CAAC,CAAC,CAAA"}
package/dist/LEvent.d.ts DELETED
@@ -1,26 +0,0 @@
1
- import * as Schema from "effect/Schema";
2
- declare const Messages_base: Schema.Array$<Schema.Union<[typeof import("@effect/ai/AiInput").UserMessage, typeof import("@effect/ai/AiInput").AssistantMessage, typeof import("@effect/ai/AiInput").ToolMessage]>>;
3
- export declare class Messages extends Messages_base {
4
- }
5
- declare const MessagesAppended_base: Schema.TaggedClass<MessagesAppended, "MessagesAppended", {
6
- readonly _tag: Schema.tag<"MessagesAppended">;
7
- } & {
8
- messages: typeof Messages;
9
- }>;
10
- /** An event in which one or more messages were added to the thread. */
11
- export declare class MessagesAppended extends MessagesAppended_base {
12
- }
13
- declare const MessagesCleared_base: Schema.TaggedClass<MessagesCleared, "MessagesCleared", {
14
- readonly _tag: Schema.tag<"MessagesCleared">;
15
- } & {
16
- cleared: typeof Messages;
17
- }>;
18
- /** An event in which the thread is cleared of messages. */
19
- export declare class MessagesCleared extends MessagesCleared_base {
20
- }
21
- export type LEvent = typeof LEvent["Type"];
22
- export declare const LEvent: Schema.Union<[
23
- typeof MessagesAppended,
24
- typeof MessagesCleared
25
- ]>;
26
- export {};
package/dist/LEvent.js DELETED
@@ -1,16 +0,0 @@
1
- import { Message } from "@effect/ai/AiInput";
2
- import * as Schema from "effect/Schema";
3
- export class Messages extends Schema.Array(Message) {
4
- }
5
- /** An event in which one or more messages were added to the thread. */
6
- export class MessagesAppended extends Schema.TaggedClass("MessagesAppended")("MessagesAppended", {
7
- messages: Messages,
8
- }) {
9
- }
10
- /** An event in which the thread is cleared of messages. */
11
- export class MessagesCleared extends Schema.TaggedClass("MessagesCleared")("MessagesCleared", {
12
- cleared: Messages,
13
- }) {
14
- }
15
- export const LEvent = Schema.Union(MessagesAppended, MessagesCleared);
16
- //# sourceMappingURL=LEvent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LEvent.js","sourceRoot":"","sources":["../LEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,MAAM,OAAO,QAAS,SAAQ,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;CAAG;AAEtD,uEAAuE;AACvE,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,WAAW,CAAmB,kBAAkB,CAAC,CAAC,kBAAkB,EAAE;IACjH,QAAQ,EAAE,QAAQ;CACnB,CAAC;CAAG;AAEL,2DAA2D;AAC3D,MAAM,OAAO,eAAgB,SAAQ,MAAM,CAAC,WAAW,CAAkB,iBAAiB,CAAC,CAAC,iBAAiB,EAAE;IAC7G,OAAO,EAAE,QAAQ;CAClB,CAAC;CAAG;AAGL,MAAM,CAAC,MAAM,MAAM,GAGd,MAAM,CAAC,KAAK,CACf,gBAAgB,EAChB,eAAe,CAChB,CAAA"}
package/dist/LPretty.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import type { Message } from "@effect/ai/AiInput";
2
- import type { LEvent } from "./LEvent.ts";
3
- export declare const event: (event: typeof LEvent["Type"]) => string;
4
- export declare const message: ({ _tag, parts }: Message) => string;
package/dist/LPretty.js DELETED
@@ -1,37 +0,0 @@
1
- const GRAY = "\x1b[90m";
2
- const RESET = "\x1b[0m";
3
- const BOLD = "\x1b[1m";
4
- const GRAY_BG = "\x1b[47m";
5
- export const event = (event) => {
6
- let text = `${GRAY}${event._tag}${RESET}`;
7
- switch (event._tag) {
8
- case "MessagesAppended": {
9
- text += event.messages.map(message).join("\n");
10
- break;
11
- }
12
- case "MessagesCleared": {
13
- text += `\n${event.cleared.length} messages cleared.`;
14
- break;
15
- }
16
- }
17
- return text;
18
- };
19
- export const message = ({ _tag, parts }) => {
20
- let value = "";
21
- for (const part of parts) {
22
- value += `\n${BOLD}${_tag}\n${GRAY_BG}`;
23
- switch (part._tag) {
24
- case "TextPart": {
25
- value += `${part.text}`;
26
- break;
27
- }
28
- default: {
29
- value += `${JSON.stringify(part, null, 2)}`;
30
- break;
31
- }
32
- }
33
- value += RESET;
34
- }
35
- return value;
36
- };
37
- //# sourceMappingURL=LPretty.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LPretty.js","sourceRoot":"","sources":["../LPretty.ts"],"names":[],"mappings":"AAGA,MAAM,IAAI,GAAG,UAAU,CAAA;AACvB,MAAM,KAAK,GAAG,SAAS,CAAA;AACvB,MAAM,IAAI,GAAG,SAAS,CAAA;AACtB,MAAM,OAAO,GAAG,UAAU,CAAA;AAE1B,MAAM,CAAC,MAAM,KAAK,GAA6C,CAAC,KAAK,EAAE,EAAE;IACvE,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,EAAE,CAAA;IACzC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC9C,MAAK;QACP,CAAC;QACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,IAAI,IAAI,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,oBAAoB,CAAA;YACrD,MAAK;QACP,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAW,EAAU,EAAE;IAC1D,IAAI,KAAK,GAAG,EAAE,CAAA;IACd,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,OAAO,EAAE,CAAA;QACvC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,KAAK,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;gBACvB,MAAK;YACP,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACR,KAAK,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAA;gBAC3C,MAAK;YACP,CAAC;QACH,CAAC;QACD,KAAK,IAAI,KAAK,CAAA;IAChB,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}