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
package/util/NeverTool.ts DELETED
@@ -1,10 +0,0 @@
1
- import * as AiTool from "@effect/ai/AiTool"
2
- import * as Schema from "effect/Schema"
3
-
4
- export type NeverTool = AiTool.AiTool<
5
- string,
6
- AiTool.AnyStructSchema,
7
- Schema.Schema.Any,
8
- Schema.Schema.Any,
9
- never
10
- >
package/util/Sequencer.ts DELETED
@@ -1,13 +0,0 @@
1
- import type * as Effect from "effect/Effect"
2
-
3
- export interface Sequencer<Provides = never, Requires = never> {
4
- <Arg extends Array<Effect.All.EffectAny>>(
5
- ...steps: Arg
6
- ): Effect.Effect<
7
- Arg extends [] ? void
8
- : Arg extends [...infer _0, infer L extends Effect.All.EffectAny] ? Effect.Effect.Success<L>
9
- : never,
10
- Effect.Effect.Error<Arg[number]>,
11
- Exclude<Effect.Effect.Context<Arg[number]>, Provides> | Requires
12
- >
13
- }
package/util/Taggable.ts DELETED
@@ -1,14 +0,0 @@
1
- import * as Effect from "effect/Effect"
2
-
3
- export type Taggable<A, E, R> = <L extends Array<unknown>, E1 = never, R1 = never>(
4
- template?: TaggableArg0 | Effect.Effect<string | undefined, E1, R1>,
5
- ...substitutions: L
6
- ) => Effect.Effect<
7
- A,
8
- ([ExtractEffect<L>] extends [never] ? never : Effect.Effect.Error<ExtractEffect<L>>) | E | E1,
9
- ([ExtractEffect<L>] extends [never] ? never : Effect.Effect.Context<ExtractEffect<L>>) | R | R1
10
- >
11
-
12
- export type TaggableArg0 = TemplateStringsArray | string | undefined
13
-
14
- type ExtractEffect<T extends Array<unknown>> = Extract<T[number], Effect.All.EffectAny>
@@ -1,93 +0,0 @@
1
- const LEADING_SPACE_RE = /^([ \t]*)/
2
- const INDENTATION_RE = /^\n([ \t]+)/
3
- const ESCAPE_SEQ_RE = /\\([`${\\]|\n)/g
4
- const LAST_INDENTATION_RE = /\n[ \t]+$/
5
-
6
- export const normalizeRaw = (strings: TemplateStringsArray, values: Array<unknown>): string => {
7
- const fixedStrings = normalizeTemplateStrings(strings)
8
- const rawArr = fixedStrings.raw
9
- const valuesLength = values.length
10
-
11
- const resultParts = new Array(Math.max(1, rawArr.length * 2 - 1))
12
- let resultIndex = 0
13
-
14
- for (let i = 0; i < rawArr.length; i++) {
15
- const str = rawArr[i] || ""
16
- resultParts[resultIndex++] = str
17
-
18
- // Only process values for non-final segments.
19
- if (i < valuesLength) {
20
- const value = String(values[i])
21
-
22
- // If value has line breaks, we should indent it.
23
- if (value.includes("\n")) {
24
- const lastNewlineIndex = str.lastIndexOf("\n")
25
-
26
- if (lastNewlineIndex !== -1) {
27
- // Extract the indentation after the last newline.
28
- const textAfterLastNewline = str.substring(lastNewlineIndex + 1)
29
- const leadingSpaceMatch = LEADING_SPACE_RE.exec(textAfterLastNewline)
30
- const indentationToApply = leadingSpaceMatch && leadingSpaceMatch[1] ? leadingSpaceMatch[1] : ""
31
-
32
- if (indentationToApply) {
33
- // Split the value into lines once.
34
- const lines = value.split("\n")
35
- const linesLength = lines.length
36
-
37
- // First line doesn't need indentation.
38
- resultParts[resultIndex++] = lines[0]
39
-
40
- // Apply indentation to subsequent lines.
41
- for (let j = 1; j < linesLength; j++) {
42
- resultParts[resultIndex++] = "\n" + indentationToApply + lines[j]
43
- }
44
- continue
45
- }
46
- }
47
- }
48
- // For simple values or when no indentation is needed.
49
- resultParts[resultIndex++] = value
50
- }
51
- }
52
-
53
- // Combine all parts at once
54
- return resultParts.slice(0, resultIndex).join("")
55
- }
56
-
57
- export const normalizeTemplateStrings = (template: TemplateStringsArray): {
58
- readonly raw: ReadonlyArray<string>
59
- } => {
60
- const leadingIndentMatch = INDENTATION_RE.exec(template.raw[0]!)
61
- const indentation = leadingIndentMatch?.[1]
62
-
63
- const rawLength = template.raw.length
64
- const raw = new Array(rawLength)
65
-
66
- for (let i = 0; i < rawLength; i++) {
67
- let str = template.raw[i]!
68
- // Only perform common indentation replacements if needed.
69
- if (indentation) {
70
- // Remove leading newline and indentation in the first segment.
71
- if (i === 0) {
72
- str = str.slice(indentation.length + 1)
73
- }
74
- // Use a simple string replacement with a regular expression for better performance.
75
- str = str.replaceAll(`\n${indentation}`, "\n")
76
- }
77
-
78
- // Replace common escape sequences in a single pass.
79
- str = str.replace(ESCAPE_SEQ_RE, (_match, char) => {
80
- // Keep the escaped newline replacement separate for clarity.
81
- return char === "\n" ? "" : char
82
- })
83
-
84
- // Handle trailing spaces only for the last segment.
85
- if (indentation && i === rawLength - 1) {
86
- str = str.replace(LAST_INDENTATION_RE, "")
87
- }
88
-
89
- raw[i] = str
90
- }
91
-
92
- return { raw }
93
- }
package/util/prefix.ts DELETED
@@ -1 +0,0 @@
1
- export const prefix = <K extends string>(key: K) => `liminal/${key}` as const