liminal 0.5.2 → 0.5.3

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 (669) hide show
  1. package/Agent.ts +25 -7
  2. package/CHANGELOG.md +10 -0
  3. package/Fiber.ts +117 -0
  4. package/Globals.ts +10 -0
  5. package/Handler.ts +0 -0
  6. package/L/L.ts +13 -0
  7. package/L/_infer.ts +35 -0
  8. package/L/_message.ts +18 -0
  9. package/L/all.ts +11 -0
  10. package/L/assistant.ts +34 -0
  11. package/L/branch.ts +45 -0
  12. package/L/emit.ts +11 -0
  13. package/L/fork.ts +18 -0
  14. package/L/join.ts +9 -0
  15. package/L/model.ts +11 -0
  16. package/L/namespace.ts +11 -0
  17. package/L/rune.ts +19 -0
  18. package/L/self.ts +13 -0
  19. package/L/state.ts +20 -0
  20. package/L/system.ts +13 -0
  21. package/L/user.ts +13 -0
  22. package/LEvent.ts +35 -0
  23. package/Message.ts +11 -90
  24. package/Model.ts +10 -23
  25. package/Rune.ts +17 -0
  26. package/Runic.ts +22 -0
  27. package/cli/main.ts +1 -24
  28. package/dist/Agent.d.ts +12 -7
  29. package/dist/Agent.js +15 -1
  30. package/dist/Agent.js.map +1 -1
  31. package/dist/Fiber.d.ts +38 -0
  32. package/dist/Fiber.js +79 -0
  33. package/dist/Fiber.js.map +1 -0
  34. package/dist/Globals.d.ts +7 -0
  35. package/dist/Globals.js +2 -0
  36. package/dist/Globals.js.map +1 -0
  37. package/dist/Handler.js +2 -0
  38. package/dist/Handler.js.map +1 -0
  39. package/dist/L/L.d.ts +13 -0
  40. package/dist/L/L.js +14 -0
  41. package/dist/L/L.js.map +1 -0
  42. package/dist/L/_infer.d.ts +4 -0
  43. package/dist/L/_infer.js +29 -0
  44. package/dist/L/_infer.js.map +1 -0
  45. package/dist/L/_message.d.ts +6 -0
  46. package/dist/L/_message.js +14 -0
  47. package/dist/L/_message.js.map +1 -0
  48. package/dist/L/all.d.ts +7 -0
  49. package/dist/L/all.js +5 -0
  50. package/dist/L/all.js.map +1 -0
  51. package/dist/L/assistant.d.ts +7 -0
  52. package/dist/L/assistant.js +23 -0
  53. package/dist/L/assistant.js.map +1 -0
  54. package/dist/L/branch.d.ts +11 -0
  55. package/dist/L/branch.js +32 -0
  56. package/dist/L/branch.js.map +1 -0
  57. package/dist/L/emit.d.ts +5 -0
  58. package/dist/L/emit.js +7 -0
  59. package/dist/L/emit.js.map +1 -0
  60. package/dist/L/fork.d.ts +7 -0
  61. package/dist/L/fork.js +11 -0
  62. package/dist/L/fork.js.map +1 -0
  63. package/dist/L/join.d.ts +5 -0
  64. package/dist/L/join.js +5 -0
  65. package/dist/L/join.js.map +1 -0
  66. package/dist/L/model.d.ts +5 -0
  67. package/dist/L/model.js +7 -0
  68. package/dist/L/model.js.map +1 -0
  69. package/dist/L/namespace.js +12 -0
  70. package/dist/L/namespace.js.map +1 -0
  71. package/dist/L/rune.d.ts +6 -0
  72. package/dist/L/rune.js +11 -0
  73. package/dist/L/rune.js.map +1 -0
  74. package/dist/L/self.d.ts +6 -0
  75. package/dist/L/self.js +7 -0
  76. package/dist/L/self.js.map +1 -0
  77. package/dist/L/state.d.ts +7 -0
  78. package/dist/L/state.js +14 -0
  79. package/dist/L/state.js.map +1 -0
  80. package/dist/L/system.d.ts +6 -0
  81. package/dist/L/system.js +7 -0
  82. package/dist/L/system.js.map +1 -0
  83. package/dist/L/user.d.ts +6 -0
  84. package/dist/L/user.js +7 -0
  85. package/dist/L/user.js.map +1 -0
  86. package/dist/LEvent.d.ts +28 -0
  87. package/dist/LEvent.js +5 -0
  88. package/dist/LEvent.js.map +1 -0
  89. package/dist/Message.d.ts +12 -81
  90. package/dist/Model.d.ts +4 -20
  91. package/dist/Model.js +6 -0
  92. package/dist/Model.js.map +1 -1
  93. package/dist/Rune.d.ts +11 -0
  94. package/dist/Rune.js +5 -0
  95. package/dist/Rune.js.map +1 -0
  96. package/dist/Runic.d.ts +9 -0
  97. package/dist/Runic.js +18 -0
  98. package/dist/Runic.js.map +1 -0
  99. package/dist/cli/main.d.ts +0 -1
  100. package/dist/cli/main.js +2 -19
  101. package/dist/cli/main.js.map +1 -1
  102. package/dist/index.d.ts +9 -39
  103. package/dist/index.js +9 -39
  104. package/dist/index.js.map +1 -1
  105. package/dist/state/Counter.d.ts +6 -0
  106. package/dist/state/Counter.js +13 -0
  107. package/dist/state/Counter.js.map +1 -0
  108. package/dist/state/DefaultStateMap.d.ts +4 -0
  109. package/dist/state/DefaultStateMap.js +14 -0
  110. package/dist/state/DefaultStateMap.js.map +1 -0
  111. package/dist/state/MessageRegistry.d.ts +7 -0
  112. package/dist/state/MessageRegistry.js +14 -0
  113. package/dist/state/MessageRegistry.js.map +1 -0
  114. package/dist/state/ModelConfig.d.ts +49 -0
  115. package/dist/state/ModelConfig.js +18 -0
  116. package/dist/state/ModelConfig.js.map +1 -0
  117. package/dist/state/ModelRegistry.d.ts +15 -0
  118. package/dist/state/ModelRegistry.js +43 -0
  119. package/dist/state/ModelRegistry.js.map +1 -0
  120. package/dist/state/StateMap.d.ts +7 -0
  121. package/dist/state/StateMap.js +10 -0
  122. package/dist/state/StateMap.js.map +1 -0
  123. package/dist/tsconfig.tsbuildinfo +1 -1
  124. package/index.ts +9 -39
  125. package/package.json +6 -9
  126. package/state/Counter.ts +11 -0
  127. package/state/DefaultStateMap.ts +14 -0
  128. package/state/MessageRegistry.ts +17 -0
  129. package/state/ModelConfig.ts +49 -0
  130. package/state/ModelRegistry.ts +55 -0
  131. package/state/StateMap.ts +15 -0
  132. package/tsconfig.json +5 -1
  133. package/Action.ts +0 -29
  134. package/Exec.ts +0 -51
  135. package/L.ts +0 -24
  136. package/LiminalAssertionError.ts +0 -3
  137. package/LiminalConfig.ts +0 -7
  138. package/PathLike.ts +0 -17
  139. package/Scope.ts +0 -152
  140. package/Spec.ts +0 -29
  141. package/Tool.ts +0 -58
  142. package/_.ts +0 -11
  143. package/actions/abort.ts +0 -23
  144. package/actions/actions_common/updateModels.ts +0 -23
  145. package/actions/actions_derived/__snapshots__/declareModel.test.ts.snap +0 -89
  146. package/actions/actions_derived/clear.ts +0 -6
  147. package/actions/actions_derived/declareModel.test.ts +0 -36
  148. package/actions/actions_derived/declareModel.ts +0 -9
  149. package/actions/actions_derived/declareModel.type-test.ts +0 -70
  150. package/actions/actions_derived/messages.test.ts +0 -88
  151. package/actions/actions_derived/messages.ts +0 -18
  152. package/actions/actions_derived/metatype.ts +0 -9
  153. package/actions/actions_derived/readers_derived.ts +0 -15
  154. package/actions/appendMessage.ts +0 -54
  155. package/actions/await.ts +0 -13
  156. package/actions/branch.ts +0 -106
  157. package/actions/catch.ts +0 -42
  158. package/actions/declareArg.ts +0 -14
  159. package/actions/disableTool.ts +0 -26
  160. package/actions/embed.ts +0 -29
  161. package/actions/emit.ts +0 -21
  162. package/actions/enableTool.ts +0 -75
  163. package/actions/enableTool.type-test.ts +0 -118
  164. package/actions/infer.ts +0 -49
  165. package/actions/messages.ts +0 -62
  166. package/actions/pushModel.ts +0 -52
  167. package/actions/scope.ts +0 -13
  168. package/actions/section.ts +0 -105
  169. package/actions/throw.ts +0 -18
  170. package/cli/WriteHandler.ts +0 -35
  171. package/cli/cli_common.ts +0 -4
  172. package/cli/runExec.ts +0 -72
  173. package/dist/Action.d.ts +0 -15
  174. package/dist/Action.js +0 -13
  175. package/dist/Action.js.map +0 -1
  176. package/dist/Exec.d.ts +0 -25
  177. package/dist/Exec.js +0 -19
  178. package/dist/Exec.js.map +0 -1
  179. package/dist/L.d.ts +0 -23
  180. package/dist/L.js +0 -24
  181. package/dist/L.js.map +0 -1
  182. package/dist/LiminalAssertionError.d.ts +0 -3
  183. package/dist/LiminalAssertionError.js +0 -4
  184. package/dist/LiminalAssertionError.js.map +0 -1
  185. package/dist/LiminalConfig.d.ts +0 -6
  186. package/dist/LiminalConfig.js +0 -2
  187. package/dist/LiminalConfig.js.map +0 -1
  188. package/dist/PathLike.d.ts +0 -11
  189. package/dist/PathLike.js +0 -2
  190. package/dist/PathLike.js.map +0 -1
  191. package/dist/Scope.d.ts +0 -42
  192. package/dist/Scope.js +0 -93
  193. package/dist/Scope.js.map +0 -1
  194. package/dist/Spec.d.ts +0 -20
  195. package/dist/Spec.js +0 -2
  196. package/dist/Spec.js.map +0 -1
  197. package/dist/Tool.d.ts +0 -21
  198. package/dist/Tool.js +0 -32
  199. package/dist/Tool.js.map +0 -1
  200. package/dist/_.d.ts +0 -5
  201. package/dist/_.js +0 -7
  202. package/dist/_.js.map +0 -1
  203. package/dist/actions/abort.d.ts +0 -9
  204. package/dist/actions/abort.js +0 -15
  205. package/dist/actions/abort.js.map +0 -1
  206. package/dist/actions/actions_common/updateModels.d.ts +0 -3
  207. package/dist/actions/actions_common/updateModels.js +0 -17
  208. package/dist/actions/actions_common/updateModels.js.map +0 -1
  209. package/dist/actions/actions_derived/clear.d.ts +0 -8
  210. package/dist/actions/actions_derived/clear.js +0 -5
  211. package/dist/actions/actions_derived/clear.js.map +0 -1
  212. package/dist/actions/actions_derived/declareModel.d.ts +0 -5
  213. package/dist/actions/actions_derived/declareModel.js +0 -7
  214. package/dist/actions/actions_derived/declareModel.js.map +0 -1
  215. package/dist/actions/actions_derived/declareModel.test.js +0 -35
  216. package/dist/actions/actions_derived/declareModel.test.js.map +0 -1
  217. package/dist/actions/actions_derived/declareModel.type-test.js +0 -66
  218. package/dist/actions/actions_derived/declareModel.type-test.js.map +0 -1
  219. package/dist/actions/actions_derived/messages.d.ts +0 -6
  220. package/dist/actions/actions_derived/messages.js +0 -15
  221. package/dist/actions/actions_derived/messages.js.map +0 -1
  222. package/dist/actions/actions_derived/messages.test.d.ts +0 -1
  223. package/dist/actions/actions_derived/messages.test.js +0 -72
  224. package/dist/actions/actions_derived/messages.test.js.map +0 -1
  225. package/dist/actions/actions_derived/metatype.d.ts +0 -9
  226. package/dist/actions/actions_derived/metatype.js +0 -7
  227. package/dist/actions/actions_derived/metatype.js.map +0 -1
  228. package/dist/actions/actions_derived/readers_derived.d.ts +0 -6
  229. package/dist/actions/actions_derived/readers_derived.js +0 -14
  230. package/dist/actions/actions_derived/readers_derived.js.map +0 -1
  231. package/dist/actions/appendMessage.d.ts +0 -14
  232. package/dist/actions/appendMessage.js +0 -41
  233. package/dist/actions/appendMessage.js.map +0 -1
  234. package/dist/actions/await.d.ts +0 -5
  235. package/dist/actions/await.js +0 -10
  236. package/dist/actions/await.js.map +0 -1
  237. package/dist/actions/branch.d.ts +0 -39
  238. package/dist/actions/branch.js +0 -40
  239. package/dist/actions/branch.js.map +0 -1
  240. package/dist/actions/catch.d.ts +0 -10
  241. package/dist/actions/catch.js +0 -27
  242. package/dist/actions/catch.js.map +0 -1
  243. package/dist/actions/declareArg.d.ts +0 -8
  244. package/dist/actions/declareArg.js +0 -10
  245. package/dist/actions/declareArg.js.map +0 -1
  246. package/dist/actions/disableTool.d.ts +0 -10
  247. package/dist/actions/disableTool.js +0 -17
  248. package/dist/actions/disableTool.js.map +0 -1
  249. package/dist/actions/embed.d.ts +0 -9
  250. package/dist/actions/embed.js +0 -24
  251. package/dist/actions/embed.js.map +0 -1
  252. package/dist/actions/emit.d.ts +0 -9
  253. package/dist/actions/emit.js +0 -14
  254. package/dist/actions/emit.js.map +0 -1
  255. package/dist/actions/enableTool.d.ts +0 -20
  256. package/dist/actions/enableTool.js +0 -26
  257. package/dist/actions/enableTool.js.map +0 -1
  258. package/dist/actions/enableTool.type-test.d.ts +0 -1
  259. package/dist/actions/enableTool.type-test.js +0 -30
  260. package/dist/actions/enableTool.type-test.js.map +0 -1
  261. package/dist/actions/infer.d.ts +0 -15
  262. package/dist/actions/infer.js +0 -29
  263. package/dist/actions/infer.js.map +0 -1
  264. package/dist/actions/messages.d.ts +0 -24
  265. package/dist/actions/messages.js +0 -35
  266. package/dist/actions/messages.js.map +0 -1
  267. package/dist/actions/pushModel.d.ts +0 -15
  268. package/dist/actions/pushModel.js +0 -36
  269. package/dist/actions/pushModel.js.map +0 -1
  270. package/dist/actions/scope.d.ts +0 -7
  271. package/dist/actions/scope.js +0 -10
  272. package/dist/actions/scope.js.map +0 -1
  273. package/dist/actions/section.d.ts +0 -23
  274. package/dist/actions/section.js +0 -64
  275. package/dist/actions/section.js.map +0 -1
  276. package/dist/actions/throw.d.ts +0 -9
  277. package/dist/actions/throw.js +0 -13
  278. package/dist/actions/throw.js.map +0 -1
  279. package/dist/cli/WriteHandler.d.ts +0 -9
  280. package/dist/cli/WriteHandler.js +0 -24
  281. package/dist/cli/WriteHandler.js.map +0 -1
  282. package/dist/cli/cli_common.d.ts +0 -4
  283. package/dist/cli/cli_common.js +0 -2
  284. package/dist/cli/cli_common.js.map +0 -1
  285. package/dist/cli/runExec.d.ts +0 -2
  286. package/dist/cli/runExec.js +0 -74
  287. package/dist/cli/runExec.js.map +0 -1
  288. package/dist/events/Aborted.d.ts +0 -4
  289. package/dist/events/Aborted.js +0 -2
  290. package/dist/events/Aborted.js.map +0 -1
  291. package/dist/events/Embedded.d.ts +0 -5
  292. package/dist/events/Embedded.js +0 -2
  293. package/dist/events/Embedded.js.map +0 -1
  294. package/dist/events/EmbeddingRequested.d.ts +0 -4
  295. package/dist/events/EmbeddingRequested.js +0 -2
  296. package/dist/events/EmbeddingRequested.js.map +0 -1
  297. package/dist/events/Emitted.d.ts +0 -4
  298. package/dist/events/Emitted.js +0 -2
  299. package/dist/events/Emitted.js.map +0 -1
  300. package/dist/events/EventBase.d.ts +0 -3
  301. package/dist/events/EventBase.js +0 -2
  302. package/dist/events/EventBase.js.map +0 -1
  303. package/dist/events/EventHandler.d.ts +0 -2
  304. package/dist/events/EventHandler.js +0 -2
  305. package/dist/events/EventHandler.js.map +0 -1
  306. package/dist/events/EventResolved.d.ts +0 -19
  307. package/dist/events/EventResolved.js +0 -2
  308. package/dist/events/EventResolved.js.map +0 -1
  309. package/dist/events/Forked.d.ts +0 -3
  310. package/dist/events/Forked.js +0 -2
  311. package/dist/events/Forked.js.map +0 -1
  312. package/dist/events/InferenceRequested.d.ts +0 -3
  313. package/dist/events/InferenceRequested.js +0 -2
  314. package/dist/events/InferenceRequested.js.map +0 -1
  315. package/dist/events/Inferred.d.ts +0 -5
  316. package/dist/events/Inferred.js +0 -2
  317. package/dist/events/Inferred.js.map +0 -1
  318. package/dist/events/LEvent.d.ts +0 -20
  319. package/dist/events/LEvent.js +0 -2
  320. package/dist/events/LEvent.js.map +0 -1
  321. package/dist/events/MessageAppended.d.ts +0 -5
  322. package/dist/events/MessageAppended.js +0 -2
  323. package/dist/events/MessageAppended.js.map +0 -1
  324. package/dist/events/MessageRemoved.d.ts +0 -5
  325. package/dist/events/MessageRemoved.js +0 -2
  326. package/dist/events/MessageRemoved.js.map +0 -1
  327. package/dist/events/MessagesSet.d.ts +0 -5
  328. package/dist/events/MessagesSet.js +0 -2
  329. package/dist/events/MessagesSet.js.map +0 -1
  330. package/dist/events/ModelPushed.d.ts +0 -7
  331. package/dist/events/ModelPushed.js +0 -2
  332. package/dist/events/ModelPushed.js.map +0 -1
  333. package/dist/events/ModelRemoved.d.ts +0 -7
  334. package/dist/events/ModelRemoved.js +0 -2
  335. package/dist/events/ModelRemoved.js.map +0 -1
  336. package/dist/events/Returned.d.ts +0 -4
  337. package/dist/events/Returned.js +0 -2
  338. package/dist/events/Returned.js.map +0 -1
  339. package/dist/events/SectionCleared.d.ts +0 -5
  340. package/dist/events/SectionCleared.js +0 -2
  341. package/dist/events/SectionCleared.js.map +0 -1
  342. package/dist/events/Sectioned.d.ts +0 -5
  343. package/dist/events/Sectioned.js +0 -2
  344. package/dist/events/Sectioned.js.map +0 -1
  345. package/dist/events/Threw.d.ts +0 -4
  346. package/dist/events/Threw.js +0 -2
  347. package/dist/events/Threw.js.map +0 -1
  348. package/dist/events/ToolCalled.d.ts +0 -6
  349. package/dist/events/ToolCalled.js +0 -2
  350. package/dist/events/ToolCalled.js.map +0 -1
  351. package/dist/events/ToolDisabled.d.ts +0 -5
  352. package/dist/events/ToolDisabled.js +0 -2
  353. package/dist/events/ToolDisabled.js.map +0 -1
  354. package/dist/events/ToolEnabled.d.ts +0 -7
  355. package/dist/events/ToolEnabled.js +0 -2
  356. package/dist/events/ToolEnabled.js.map +0 -1
  357. package/dist/events/isScopeChildEvent.d.ts +0 -6
  358. package/dist/events/isScopeChildEvent.js +0 -9
  359. package/dist/events/isScopeChildEvent.js.map +0 -1
  360. package/dist/events/isScopeDescendantEvent.d.ts +0 -14
  361. package/dist/events/isScopeDescendantEvent.js +0 -12
  362. package/dist/events/isScopeDescendantEvent.js.map +0 -1
  363. package/dist/testing/AgentAssertions.d.ts +0 -9
  364. package/dist/testing/AgentAssertions.js +0 -6
  365. package/dist/testing/AgentAssertions.js.map +0 -1
  366. package/dist/testing/TestEmbeddingModel.d.ts +0 -6
  367. package/dist/testing/TestEmbeddingModel.js +0 -11
  368. package/dist/testing/TestEmbeddingModel.js.map +0 -1
  369. package/dist/testing/TestLanguageModel.d.ts +0 -8
  370. package/dist/testing/TestLanguageModel.js +0 -22
  371. package/dist/testing/TestLanguageModel.js.map +0 -1
  372. package/dist/testing/index.d.ts +0 -4
  373. package/dist/testing/index.js +0 -5
  374. package/dist/testing/index.js.map +0 -1
  375. package/dist/testing/takeFirstAction.d.ts +0 -3
  376. package/dist/testing/takeFirstAction.js +0 -6
  377. package/dist/testing/takeFirstAction.js.map +0 -1
  378. package/dist/types/AssertDiagnostics.d.ts +0 -18
  379. package/dist/types/AssertDiagnostics.js +0 -152
  380. package/dist/types/AssertDiagnostics.js.map +0 -1
  381. package/dist/types/JSONRootType.d.ts +0 -6
  382. package/dist/types/JSONRootType.js +0 -2
  383. package/dist/types/JSONRootType.js.map +0 -1
  384. package/dist/types/JSONType.d.ts +0 -16
  385. package/dist/types/JSONType.js +0 -2
  386. package/dist/types/JSONType.js.map +0 -1
  387. package/dist/types/JSONTypeBase.d.ts +0 -3
  388. package/dist/types/JSONTypeBase.js +0 -2
  389. package/dist/types/JSONTypeBase.js.map +0 -1
  390. package/dist/types/Metatype/MetatypeDescriptor.d.ts +0 -41
  391. package/dist/types/Metatype/MetatypeDescriptor.js +0 -38
  392. package/dist/types/Metatype/MetatypeDescriptor.js.map +0 -1
  393. package/dist/types/Metatype/fromMetatypeDescriptor.d.ts +0 -6
  394. package/dist/types/Metatype/fromMetatypeDescriptor.js +0 -43
  395. package/dist/types/Metatype/fromMetatypeDescriptor.js.map +0 -1
  396. package/dist/types/Type.d.ts +0 -31
  397. package/dist/types/Type.js +0 -5
  398. package/dist/types/Type.js.map +0 -1
  399. package/dist/types/TypeContext.d.ts +0 -7
  400. package/dist/types/TypeContext.js +0 -17
  401. package/dist/types/TypeContext.js.map +0 -1
  402. package/dist/types/TypeLike.d.ts +0 -23
  403. package/dist/types/TypeLike.js +0 -23
  404. package/dist/types/TypeLike.js.map +0 -1
  405. package/dist/types/TypeVisitor.d.ts +0 -14
  406. package/dist/types/TypeVisitor.js +0 -12
  407. package/dist/types/TypeVisitor.js.map +0 -1
  408. package/dist/types/array.d.ts +0 -10
  409. package/dist/types/array.js +0 -9
  410. package/dist/types/array.js.map +0 -1
  411. package/dist/types/boolean.d.ts +0 -6
  412. package/dist/types/boolean.js +0 -3
  413. package/dist/types/boolean.js.map +0 -1
  414. package/dist/types/const.d.ts +0 -8
  415. package/dist/types/const.js +0 -7
  416. package/dist/types/const.js.map +0 -1
  417. package/dist/types/enum.d.ts +0 -8
  418. package/dist/types/enum.js +0 -7
  419. package/dist/types/enum.js.map +0 -1
  420. package/dist/types/factories.d.ts +0 -8
  421. package/dist/types/factories.js +0 -9
  422. package/dist/types/factories.js.map +0 -1
  423. package/dist/types/index.d.ts +0 -2
  424. package/dist/types/index.js +0 -3
  425. package/dist/types/index.js.map +0 -1
  426. package/dist/types/integer.d.ts +0 -6
  427. package/dist/types/integer.js +0 -3
  428. package/dist/types/integer.js.map +0 -1
  429. package/dist/types/intrinsics.d.ts +0 -11
  430. package/dist/types/intrinsics.js +0 -12
  431. package/dist/types/intrinsics.js.map +0 -1
  432. package/dist/types/makeType.d.ts +0 -2
  433. package/dist/types/makeType.js +0 -58
  434. package/dist/types/makeType.js.map +0 -1
  435. package/dist/types/match.d.ts +0 -3
  436. package/dist/types/match.js +0 -11
  437. package/dist/types/match.js.map +0 -1
  438. package/dist/types/non_factories.d.ts +0 -21
  439. package/dist/types/non_factories.js +0 -9
  440. package/dist/types/non_factories.js.map +0 -1
  441. package/dist/types/null.d.ts +0 -7
  442. package/dist/types/null.js +0 -4
  443. package/dist/types/null.js.map +0 -1
  444. package/dist/types/number.d.ts +0 -6
  445. package/dist/types/number.js +0 -3
  446. package/dist/types/number.js.map +0 -1
  447. package/dist/types/object.d.ts +0 -16
  448. package/dist/types/object.js +0 -10
  449. package/dist/types/object.js.map +0 -1
  450. package/dist/types/ref.d.ts +0 -7
  451. package/dist/types/ref.js +0 -5
  452. package/dist/types/ref.js.map +0 -1
  453. package/dist/types/string.d.ts +0 -6
  454. package/dist/types/string.js +0 -3
  455. package/dist/types/string.js.map +0 -1
  456. package/dist/types/toJSON.d.ts +0 -5
  457. package/dist/types/toJSON.js +0 -97
  458. package/dist/types/toJSON.js.map +0 -1
  459. package/dist/types/type_common.d.ts +0 -10
  460. package/dist/types/type_common.js +0 -12
  461. package/dist/types/type_common.js.map +0 -1
  462. package/dist/types/types_derived/option.d.ts +0 -5
  463. package/dist/types/types_derived/option.js +0 -6
  464. package/dist/types/types_derived/option.js.map +0 -1
  465. package/dist/types/types_derived/taggedUnion.d.ts +0 -19
  466. package/dist/types/types_derived/taggedUnion.js +0 -8
  467. package/dist/types/types_derived/taggedUnion.js.map +0 -1
  468. package/dist/types/types_derived/wrapper.d.ts +0 -8
  469. package/dist/types/types_derived/wrapper.js +0 -5
  470. package/dist/types/types_derived/wrapper.js.map +0 -1
  471. package/dist/types/union.d.ts +0 -9
  472. package/dist/types/union.js +0 -9
  473. package/dist/types/union.js.map +0 -1
  474. package/dist/util/ArrayOfLength.d.ts +0 -1
  475. package/dist/util/ArrayOfLength.js +0 -2
  476. package/dist/util/ArrayOfLength.js.map +0 -1
  477. package/dist/util/DeferredOr.d.ts +0 -1
  478. package/dist/util/DeferredOr.js +0 -2
  479. package/dist/util/DeferredOr.js.map +0 -1
  480. package/dist/util/EnsureNarrow.d.ts +0 -2
  481. package/dist/util/EnsureNarrow.js +0 -2
  482. package/dist/util/EnsureNarrow.js.map +0 -1
  483. package/dist/util/EnsureRecord.d.ts +0 -2
  484. package/dist/util/EnsureRecord.js +0 -2
  485. package/dist/util/EnsureRecord.js.map +0 -1
  486. package/dist/util/Expand.d.ts +0 -3
  487. package/dist/util/Expand.js +0 -2
  488. package/dist/util/Expand.js.map +0 -1
  489. package/dist/util/Falsy.d.ts +0 -1
  490. package/dist/util/Falsy.js +0 -2
  491. package/dist/util/Falsy.js.map +0 -1
  492. package/dist/util/FromEntries.d.ts +0 -3
  493. package/dist/util/FromEntries.js +0 -2
  494. package/dist/util/FromEntries.js.map +0 -1
  495. package/dist/util/IteratorLike.d.ts +0 -1
  496. package/dist/util/IteratorLike.js +0 -2
  497. package/dist/util/IteratorLike.js.map +0 -1
  498. package/dist/util/JSONEntry.d.ts +0 -2
  499. package/dist/util/JSONEntry.js +0 -2
  500. package/dist/util/JSONEntry.js.map +0 -1
  501. package/dist/util/JSONKey.d.ts +0 -1
  502. package/dist/util/JSONKey.js +0 -2
  503. package/dist/util/JSONKey.js.map +0 -1
  504. package/dist/util/JSONObject.d.ts +0 -5
  505. package/dist/util/JSONObject.js +0 -2
  506. package/dist/util/JSONObject.js.map +0 -1
  507. package/dist/util/JSONSchemaMemo.d.ts +0 -2
  508. package/dist/util/JSONSchemaMemo.js +0 -13
  509. package/dist/util/JSONSchemaMemo.js.map +0 -1
  510. package/dist/util/JSONValue.d.ts +0 -2
  511. package/dist/util/JSONValue.js +0 -2
  512. package/dist/util/JSONValue.js.map +0 -1
  513. package/dist/util/PromiseOr.d.ts +0 -1
  514. package/dist/util/PromiseOr.js +0 -2
  515. package/dist/util/PromiseOr.js.map +0 -1
  516. package/dist/util/Result.d.ts +0 -7
  517. package/dist/util/Result.js +0 -2
  518. package/dist/util/Result.js.map +0 -1
  519. package/dist/util/Taggable.d.ts +0 -9
  520. package/dist/util/Taggable.js +0 -8
  521. package/dist/util/Taggable.js.map +0 -1
  522. package/dist/util/TupleToRecord.d.ts +0 -5
  523. package/dist/util/TupleToRecord.js +0 -2
  524. package/dist/util/TupleToRecord.js.map +0 -1
  525. package/dist/util/assert.d.ts +0 -1
  526. package/dist/util/assert.js +0 -7
  527. package/dist/util/assert.js.map +0 -1
  528. package/dist/util/dedent.d.ts +0 -1
  529. package/dist/util/dedent.js +0 -5
  530. package/dist/util/dedent.js.map +0 -1
  531. package/dist/util/fixTemplateStrings.d.ts +0 -11
  532. package/dist/util/fixTemplateStrings.js +0 -83
  533. package/dist/util/fixTemplateStrings.js.map +0 -1
  534. package/dist/util/fixTemplateStrings.test.d.ts +0 -1
  535. package/dist/util/fixTemplateStrings.test.js +0 -221
  536. package/dist/util/fixTemplateStrings.test.js.map +0 -1
  537. package/dist/util/isAsyncIterator.d.ts +0 -1
  538. package/dist/util/isAsyncIterator.js +0 -7
  539. package/dist/util/isAsyncIterator.js.map +0 -1
  540. package/dist/util/isIterator.d.ts +0 -1
  541. package/dist/util/isIterator.js +0 -7
  542. package/dist/util/isIterator.js.map +0 -1
  543. package/dist/util/isJSONValue.d.ts +0 -2
  544. package/dist/util/isJSONValue.js +0 -16
  545. package/dist/util/isJSONValue.js.map +0 -1
  546. package/dist/util/isPropertyKey.d.ts +0 -1
  547. package/dist/util/isPropertyKey.js +0 -4
  548. package/dist/util/isPropertyKey.js.map +0 -1
  549. package/dist/util/isTemplateStringsArray.d.ts +0 -1
  550. package/dist/util/isTemplateStringsArray.js +0 -4
  551. package/dist/util/isTemplateStringsArray.js.map +0 -1
  552. package/dist/util/jsonEquals.d.ts +0 -2
  553. package/dist/util/jsonEquals.js +0 -33
  554. package/dist/util/jsonEquals.js.map +0 -1
  555. package/dist/util/nullaryMemo.d.ts +0 -1
  556. package/dist/util/nullaryMemo.js +0 -12
  557. package/dist/util/nullaryMemo.js.map +0 -1
  558. package/dist/util/peekLast.d.ts +0 -1
  559. package/dist/util/peekLast.js +0 -4
  560. package/dist/util/peekLast.js.map +0 -1
  561. package/dist/util/unimplemented.d.ts +0 -1
  562. package/dist/util/unimplemented.js +0 -5
  563. package/dist/util/unimplemented.js.map +0 -1
  564. package/dist/util/unreachable.d.ts +0 -1
  565. package/dist/util/unreachable.js +0 -5
  566. package/dist/util/unreachable.js.map +0 -1
  567. package/dist/util/unwrapDeferred.d.ts +0 -2
  568. package/dist/util/unwrapDeferred.js +0 -4
  569. package/dist/util/unwrapDeferred.js.map +0 -1
  570. package/dist/util/util.d.ts +0 -10
  571. package/dist/util/util.js +0 -11
  572. package/dist/util/util.js.map +0 -1
  573. package/events/Aborted.ts +0 -5
  574. package/events/Embedded.ts +0 -6
  575. package/events/EmbeddingRequested.ts +0 -5
  576. package/events/Emitted.ts +0 -5
  577. package/events/EventBase.ts +0 -3
  578. package/events/EventHandler.ts +0 -3
  579. package/events/EventResolved.ts +0 -30
  580. package/events/Forked.ts +0 -3
  581. package/events/InferenceRequested.ts +0 -3
  582. package/events/Inferred.ts +0 -6
  583. package/events/LEvent.ts +0 -40
  584. package/events/MessageAppended.ts +0 -6
  585. package/events/MessageRemoved.ts +0 -6
  586. package/events/MessagesSet.ts +0 -6
  587. package/events/ModelPushed.ts +0 -10
  588. package/events/ModelRemoved.ts +0 -10
  589. package/events/Returned.ts +0 -5
  590. package/events/SectionCleared.ts +0 -6
  591. package/events/Sectioned.ts +0 -6
  592. package/events/Threw.ts +0 -5
  593. package/events/ToolCalled.ts +0 -7
  594. package/events/ToolDisabled.ts +0 -6
  595. package/events/ToolEnabled.ts +0 -8
  596. package/events/isScopeChildEvent.ts +0 -15
  597. package/events/isScopeDescendantEvent.ts +0 -30
  598. package/testing/AgentAssertions.ts +0 -17
  599. package/testing/TestEmbeddingModel.ts +0 -19
  600. package/testing/TestLanguageModel.ts +0 -33
  601. package/testing/index.ts +0 -4
  602. package/testing/takeFirstAction.ts +0 -8
  603. package/types/AssertDiagnostics.ts +0 -183
  604. package/types/JSONRootType.ts +0 -8
  605. package/types/JSONType.ts +0 -27
  606. package/types/JSONTypeBase.ts +0 -3
  607. package/types/Metatype/MetatypeDescriptor.ts +0 -80
  608. package/types/Metatype/fromMetatypeDescriptor.ts +0 -52
  609. package/types/Type.ts +0 -47
  610. package/types/TypeContext.ts +0 -19
  611. package/types/TypeLike.ts +0 -60
  612. package/types/TypeVisitor.ts +0 -49
  613. package/types/array.ts +0 -20
  614. package/types/boolean.ts +0 -9
  615. package/types/const.ts +0 -17
  616. package/types/enum.ts +0 -14
  617. package/types/factories.ts +0 -8
  618. package/types/index.ts +0 -2
  619. package/types/integer.ts +0 -9
  620. package/types/intrinsics.ts +0 -11
  621. package/types/makeType.ts +0 -72
  622. package/types/match.ts +0 -13
  623. package/types/non_factories.ts +0 -26
  624. package/types/null.ts +0 -10
  625. package/types/number.ts +0 -9
  626. package/types/object.ts +0 -27
  627. package/types/ref.ts +0 -12
  628. package/types/string.ts +0 -9
  629. package/types/toJSON.ts +0 -111
  630. package/types/type_common.ts +0 -21
  631. package/types/types_derived/option.ts +0 -10
  632. package/types/types_derived/taggedUnion.ts +0 -30
  633. package/types/types_derived/wrapper.ts +0 -10
  634. package/types/union.ts +0 -19
  635. package/util/ArrayOfLength.ts +0 -5
  636. package/util/DeferredOr.ts +0 -1
  637. package/util/EnsureNarrow.ts +0 -5
  638. package/util/EnsureRecord.ts +0 -3
  639. package/util/Expand.ts +0 -1
  640. package/util/Falsy.ts +0 -1
  641. package/util/FromEntries.ts +0 -3
  642. package/util/IteratorLike.ts +0 -1
  643. package/util/JSONEntry.ts +0 -3
  644. package/util/JSONKey.ts +0 -1
  645. package/util/JSONObject.ts +0 -6
  646. package/util/JSONSchemaMemo.ts +0 -15
  647. package/util/JSONValue.ts +0 -3
  648. package/util/PromiseOr.ts +0 -1
  649. package/util/Result.ts +0 -7
  650. package/util/Taggable.ts +0 -18
  651. package/util/TupleToRecord.ts +0 -5
  652. package/util/assert.ts +0 -7
  653. package/util/dedent.ts +0 -5
  654. package/util/fixTemplateStrings.test.ts +0 -250
  655. package/util/fixTemplateStrings.ts +0 -99
  656. package/util/isAsyncIterator.ts +0 -6
  657. package/util/isIterator.ts +0 -6
  658. package/util/isJSONValue.ts +0 -20
  659. package/util/isPropertyKey.ts +0 -3
  660. package/util/isTemplateStringsArray.ts +0 -3
  661. package/util/jsonEquals.ts +0 -41
  662. package/util/nullaryMemo.ts +0 -11
  663. package/util/peekLast.ts +0 -3
  664. package/util/unimplemented.ts +0 -5
  665. package/util/unreachable.ts +0 -5
  666. package/util/unwrapDeferred.ts +0 -5
  667. package/util/util.ts +0 -10
  668. /package/dist/{actions/actions_derived/declareModel.test.d.ts → Handler.d.ts} +0 -0
  669. /package/dist/{actions/actions_derived/declareModel.type-test.d.ts → L/namespace.d.ts} +0 -0
@@ -1,30 +0,0 @@
1
- import type { Spec } from "../Spec.ts"
2
- import type { Expand } from "../util/Expand.ts"
3
- import type { JSONKey } from "../util/JSONKey.ts"
4
- import type { Forked } from "./Forked.ts"
5
- import type { LEvent } from "./LEvent.ts"
6
- import type { Returned } from "./Returned.ts"
7
-
8
- export type EventResolved<E extends LEvent = LEvent> = E & {
9
- scope: Array<JSONKey>
10
- index: number
11
- }
12
-
13
- export type ExtractEventResolved<S extends Spec, P extends Array<JSONKey> = []> =
14
- | ([S["Event"]] extends [never] ? never
15
- : Expand<
16
- {
17
- scope: P
18
- index: number
19
- } & (S["Event"] | (P extends [] ? never : Forked))
20
- >)
21
- | ([S["Child"]] extends [infer C extends [JSONKey, Spec]] ? {
22
- [L in C[0]]: ExtractEventResolved<Extract<C, [L, Spec]>[1], [...P, L]>
23
- }[C[0]]
24
- : never)
25
- | ([S["Value"]] extends [never] ? never : Expand<
26
- {
27
- scope: P
28
- index: number
29
- } & Returned<S["Value"]>
30
- >)
package/events/Forked.ts DELETED
@@ -1,3 +0,0 @@
1
- import type { EventBase } from "./EventBase"
2
-
3
- export interface Forked extends EventBase<"forked"> {}
@@ -1,3 +0,0 @@
1
- import type { EventBase } from "./EventBase.ts"
2
-
3
- export interface InferenceRequested extends EventBase<"inference_requested"> {}
@@ -1,6 +0,0 @@
1
- import type { JSONValue } from "../util/JSONValue.ts"
2
- import type { EventBase } from "./EventBase.ts"
3
-
4
- export interface Inferred extends EventBase<"inferred"> {
5
- value: JSONValue
6
- }
package/events/LEvent.ts DELETED
@@ -1,40 +0,0 @@
1
- import type { Aborted } from "./Aborted.ts"
2
- import type { Embedded } from "./Embedded.ts"
3
- import type { EmbeddingRequested } from "./EmbeddingRequested.ts"
4
- import type { Emitted } from "./Emitted.ts"
5
- import type { Forked } from "./Forked.ts"
6
- import type { InferenceRequested } from "./InferenceRequested.ts"
7
- import type { Inferred } from "./Inferred.ts"
8
- import type { MessageAppended } from "./MessageAppended.ts"
9
- import type { MessageRemoved } from "./MessageRemoved.ts"
10
- import type { MessagesSet } from "./MessagesSet.ts"
11
- import type { ModelPushed } from "./ModelPushed.ts"
12
- import type { ModelRemoved } from "./ModelRemoved.ts"
13
- import type { Returned } from "./Returned.ts"
14
- import type { SectionCleared } from "./SectionCleared.ts"
15
- import type { Sectioned } from "./Sectioned.ts"
16
- import type { Threw } from "./Threw.ts"
17
- import type { ToolCalled } from "./ToolCalled.ts"
18
- import type { ToolDisabled } from "./ToolDisabled.ts"
19
- import type { ToolEnabled } from "./ToolEnabled.ts"
20
-
21
- export type LEvent =
22
- | Embedded
23
- | EmbeddingRequested
24
- | Emitted
25
- | Inferred
26
- | InferenceRequested
27
- | MessageAppended
28
- | MessagesSet
29
- | Returned
30
- | Threw
31
- | ToolCalled
32
- | ToolDisabled
33
- | ToolEnabled
34
- | Aborted
35
- | MessageRemoved
36
- | Forked
37
- | ModelPushed
38
- | ModelRemoved
39
- | Sectioned
40
- | SectionCleared
@@ -1,6 +0,0 @@
1
- import type { Message } from "../Message.ts"
2
- import type { EventBase } from "./EventBase.ts"
3
-
4
- export interface MessageAppended<M extends Message = Message> extends EventBase<"message_appended"> {
5
- message: M
6
- }
@@ -1,6 +0,0 @@
1
- import type { Message } from "../Message.ts"
2
- import type { EventBase } from "./EventBase.ts"
3
-
4
- export interface MessageRemoved extends EventBase<"message_removed"> {
5
- message: Message
6
- }
@@ -1,6 +0,0 @@
1
- import type { Message } from "../Message.ts"
2
- import type { EventBase } from "./EventBase.ts"
3
-
4
- export interface MessagesSet extends EventBase<"messages_set"> {
5
- messages: Array<Message>
6
- }
@@ -1,10 +0,0 @@
1
- import type { ModelType } from "../Model.ts"
2
- import type { JSONKey } from "../util/JSONKey.ts"
3
- import type { EventBase } from "./EventBase.ts"
4
-
5
- export interface ModelPushed<K extends JSONKey = JSONKey, M extends ModelType = ModelType>
6
- extends EventBase<"model_pushed">
7
- {
8
- modelKey: K
9
- modelType: M
10
- }
@@ -1,10 +0,0 @@
1
- import type { ModelType } from "../Model.ts"
2
- import type { JSONKey } from "../util/JSONKey.ts"
3
- import type { EventBase } from "./EventBase.ts"
4
-
5
- export interface ModelRemoved<K extends JSONKey = JSONKey, M extends ModelType = ModelType>
6
- extends EventBase<"model_removed">
7
- {
8
- modelKey: K
9
- modelType: M
10
- }
@@ -1,5 +0,0 @@
1
- import type { EventBase } from "./EventBase.ts"
2
-
3
- export interface Returned<T = any> extends EventBase<"returned"> {
4
- value: T
5
- }
@@ -1,6 +0,0 @@
1
- import type { JSONKey } from "../util/JSONKey.ts"
2
- import type { EventBase } from "./EventBase.ts"
3
-
4
- export interface SectionCleared<K extends JSONKey = JSONKey> extends EventBase<"section_cleared"> {
5
- sectionKey: K
6
- }
@@ -1,6 +0,0 @@
1
- import type { JSONKey } from "../util/JSONKey.ts"
2
- import type { EventBase } from "./EventBase.ts"
3
-
4
- export interface Sectioned<K extends JSONKey = JSONKey> extends EventBase<"sectioned"> {
5
- sectionKey: K
6
- }
package/events/Threw.ts DELETED
@@ -1,5 +0,0 @@
1
- import type { EventBase } from "./EventBase.ts"
2
-
3
- export interface Threw extends EventBase<"threw"> {
4
- thrown: unknown
5
- }
@@ -1,7 +0,0 @@
1
- import type { JSONKey } from "../util/JSONKey.ts"
2
- import type { EventBase } from "./EventBase.ts"
3
-
4
- export interface ToolCalled<K extends JSONKey = JSONKey, A = any> extends EventBase<"tool_called"> {
5
- tool: K
6
- args: A
7
- }
@@ -1,6 +0,0 @@
1
- import type { JSONKey } from "../util/JSONKey.ts"
2
- import type { EventBase } from "./EventBase.ts"
3
-
4
- export interface ToolDisabled<K extends JSONKey = JSONKey> extends EventBase<"tool_disabled"> {
5
- tool: K
6
- }
@@ -1,8 +0,0 @@
1
- import type { JSONKey } from "../util/JSONKey.ts"
2
- import type { EventBase } from "./EventBase.ts"
3
-
4
- export interface ToolEnabled<K extends JSONKey = JSONKey> extends EventBase<"tool_enabled"> {
5
- tool: K
6
- description: string
7
- schema: object
8
- }
@@ -1,15 +0,0 @@
1
- import { type _ } from "../_.ts"
2
- import type { Path, PathLike } from "../PathLike.ts"
3
- import type { Expand } from "../util/Expand.ts"
4
- import type { EventResolved } from "./EventResolved.ts"
5
- import { isScopeDescendantEvent } from "./isScopeDescendantEvent.ts"
6
-
7
- export function isScopeChildEvent<E extends EventResolved, const P extends PathLike.FromPath<E["scope"]>>(
8
- event: E,
9
- path: P,
10
- ): event is Expand<Extract<E, { scope: Path.FromPathLike<P> }>> {
11
- if (event.scope.length !== path.length) {
12
- return false
13
- }
14
- return isScopeDescendantEvent(event, path as never)
15
- }
@@ -1,30 +0,0 @@
1
- import { type _, is_ } from "../_.ts"
2
- import type { Path, PathLike } from "../PathLike.ts"
3
- import type { Expand } from "../util/Expand.ts"
4
- import type { JSONKey } from "../util/JSONKey.ts"
5
- import type { EventResolved } from "./EventResolved.ts"
6
-
7
- export function isScopeDescendantEvent<
8
- E extends EventResolved,
9
- const P extends PathLike.FromPath<Subscope<E["scope"]>>,
10
- >(
11
- event: E,
12
- path: P,
13
- ): event is Expand<Extract<E, { scope: Subscope.Select<E["scope"], Path.FromPathLike<P>> }>> {
14
- for (let i = 0; i < path.length; i++) {
15
- const currentMatchKey = path[i]!
16
- const currentActualKey = event.scope[i]!
17
- if (currentActualKey !== currentMatchKey || !is_(currentMatchKey)) {
18
- return false
19
- }
20
- }
21
- return true
22
- }
23
-
24
- export type Subscope<A extends Array<JSONKey>> = A extends
25
- [infer E0 extends JSONKey, ...infer ERest extends Array<JSONKey>] ? [E0, ...([] | Subscope<ERest>)]
26
- : []
27
-
28
- export declare namespace Subscope {
29
- export type Select<A extends Array<JSONKey>, S extends Array<JSONKey>> = Extract<A, [...S, ...Array<JSONKey>]>
30
- }
@@ -1,17 +0,0 @@
1
- import type { IsExact } from "conditional-type-checks"
2
- import type { Action } from "../Action.ts"
3
- import type { AgentLike } from "../Agent.ts"
4
- import type { Spec } from "../Spec.ts"
5
- import type { Expand } from "../util/Expand.ts"
6
-
7
- export interface AgentAssertions<S extends Spec> {
8
- assertSpec<A extends Spec>(
9
- ...[passes]: IsExact<S, Expand<A>> extends true ? [passes?: true] : [passes: false]
10
- ): void
11
- }
12
-
13
- export function AgentAssertions<Y extends Action, R>(_agentLike: AgentLike<Y, R>): AgentAssertions<Y[""]> {
14
- return {
15
- assertSpec: () => {},
16
- }
17
- }
@@ -1,19 +0,0 @@
1
- import type { EmbeddingModel } from "../Model.ts"
2
-
3
- export interface TestEmbeddingModelConfig {
4
- getEmbedding: () => Promise<Array<number>>
5
- }
6
-
7
- export const defaultTestingEmbeddingModelConfig: TestEmbeddingModelConfig = {
8
- getEmbedding: () => Promise.resolve([]),
9
- }
10
-
11
- export function TestEmbeddingModel({
12
- getEmbedding,
13
- }: TestEmbeddingModelConfig = defaultTestingEmbeddingModelConfig): EmbeddingModel {
14
- return {
15
- type: "embedding",
16
- vendor: "liminal_testing",
17
- embed: getEmbedding,
18
- }
19
- }
@@ -1,33 +0,0 @@
1
- import { assistant } from "../actions/actions_derived/messages.ts"
2
- import type { LanguageModel } from "../Model.ts"
3
- import type { JSONValue } from "../util/JSONValue.ts"
4
-
5
- export interface TestLanguageModelConfig {
6
- getObject: () => JSONValue
7
- getText: () => string
8
- }
9
-
10
- export const defaultTestLanguageModelConfig: TestLanguageModelConfig = {
11
- getObject: () => ({}),
12
- getText: () => "",
13
- }
14
-
15
- export function TestLanguageModel({
16
- getObject,
17
- getText,
18
- }: TestLanguageModelConfig = defaultTestLanguageModelConfig): LanguageModel {
19
- return {
20
- type: "language",
21
- vendor: "liminal_testing",
22
- async *infer(type) {
23
- if (type) {
24
- const object = getObject()
25
- yield* assistant`${JSON.stringify(object)}`
26
- return object
27
- }
28
- const text = getText()
29
- yield* assistant`${text}`
30
- return text
31
- },
32
- }
33
- }
package/testing/index.ts DELETED
@@ -1,4 +0,0 @@
1
- export * from "./AgentAssertions.ts"
2
- export * from "./takeFirstAction.ts"
3
- export * from "./TestEmbeddingModel.ts"
4
- export * from "./TestLanguageModel.ts"
@@ -1,8 +0,0 @@
1
- import type { Action } from "../Action.ts"
2
- import type { AgentLike } from "../Agent.ts"
3
- import { unwrapDeferred } from "../util/unwrapDeferred.ts"
4
-
5
- export async function takeFirstAction<Y extends Action>(f: AgentLike<Y>): Promise<Y | undefined> {
6
- const { value } = await unwrapDeferred(f).next()
7
- return value
8
- }
@@ -1,183 +0,0 @@
1
- import { assert } from "../util/assert.ts"
2
- import { isJSONValue } from "../util/isJSONValue.ts"
3
- import { jsonEquals } from "../util/jsonEquals.ts"
4
- import type { JSONKey } from "../util/JSONKey.ts"
5
- import type { JSONValue } from "../util/JSONValue.ts"
6
- import type { JSONType } from "./JSONType.ts"
7
- import type { Type } from "./Type.ts"
8
- import { TypeVisitor } from "./TypeVisitor.ts"
9
-
10
- export type AssertDiagnostics = Array<Diagnostic>
11
-
12
- export type Diagnostic = ReturnType<typeof Diagnostic>
13
- export function Diagnostic(path: AssertPath, type: Type, error: unknown) {
14
- return {
15
- path,
16
- type,
17
- error,
18
- message,
19
- formatPath,
20
- }
21
-
22
- function message() {
23
- return error instanceof Error ? error.message : JSON.stringify(error)
24
- }
25
-
26
- function formatPath() {
27
- let formatted = ""
28
- for (let i = 0; i < path.length; i++) {
29
- const key = path[i]!
30
- if (typeof key === "string") {
31
- try {
32
- const int = parseInt(key)
33
- if (Number.isInteger(int)) {
34
- formatted += `[${int}]`
35
- } else {
36
- formatted += `.${key}`
37
- }
38
- } catch (_e: unknown) {
39
- formatted += `.${key}`
40
- }
41
- } else {
42
- formatted += `[${key}]`
43
- }
44
- }
45
- return formatted
46
- }
47
- }
48
-
49
- export type AssertPath = Array<JSONKey>
50
-
51
- // Possibly: `nullUnionFieldsAsOptional?: boolean`
52
- export interface AssertDiagnosticsConfig {}
53
-
54
- export function AssertDiagnostics<T extends JSONValue, J extends JSONType>(
55
- config: AssertDiagnosticsConfig,
56
- type: Type<T, J>,
57
- value: unknown,
58
- ): Array<Diagnostic> {
59
- const state = ValueVisitorState()
60
- visit([config, false], type)(value, state)
61
- return state.diagnostics
62
- }
63
-
64
- type ValueVisitorState = ReturnType<typeof ValueVisitorState>
65
- function ValueVisitorState(
66
- diagnostics: Array<Diagnostic> = [],
67
- path: Array<number | string> = [],
68
- ) {
69
- return {
70
- diagnostics,
71
- path,
72
- next,
73
- }
74
-
75
- function next(key?: JSONKey) {
76
- return ValueVisitorState(diagnostics, [...path, ...key !== undefined ? [key] : []])
77
- }
78
- }
79
-
80
- const visit: TypeVisitor<AssertDiagnosticsConfig, (value: unknown, vState: ValueVisitorState) => void> = TypeVisitor(
81
- {
82
- hook(next, tState, type) {
83
- return (value, vState) => {
84
- try {
85
- next(tState, type)(value, vState)
86
- } catch (error) {
87
- vState.diagnostics.push(Diagnostic(vState.path, type, error))
88
- }
89
- }
90
- },
91
- null() {
92
- return (value) => {
93
- assert(value === null)
94
- }
95
- },
96
- boolean() {
97
- return (value) => {
98
- assert(typeof value === "boolean")
99
- }
100
- },
101
- integer() {
102
- return (value) => {
103
- assert(typeof value === "number" && Number.isInteger(value))
104
- }
105
- },
106
- number() {
107
- return (value) => {
108
- assert(typeof value === "number")
109
- }
110
- },
111
- string() {
112
- return (value) => {
113
- assert(typeof value === "string")
114
- }
115
- },
116
- const(_tState, _type, _valueType, value_) {
117
- return (value) => {
118
- assert(isJSONValue(value) && jsonEquals(value_, value))
119
- }
120
- },
121
- _array(tState, _type, element) {
122
- const visitElement = visit(tState, element)
123
- return (value, vState) => {
124
- assert(Array.isArray(value))
125
- value.forEach((e, i) => visitElement(e, vState.next(i)))
126
- }
127
- },
128
- enum(_tState, _type, ...values) {
129
- return (value) => {
130
- assert(typeof value == "string")
131
- assert(values.includes(value))
132
- }
133
- },
134
- _union(tState, _type, ...members) {
135
- return (value, vState) => {
136
- assert(members.some((member) => {
137
- const memberState = vState.next()
138
- visit(tState, member)(value, memberState)
139
- return !memberState.diagnostics.length
140
- }))
141
- }
142
- },
143
- _object(tState, _type, fields) {
144
- return (value, vState) => {
145
- assert(typeof value === "object" && value !== null)
146
- if (Array.isArray(fields)) {
147
- fields.forEach((v, i) => {
148
- visitField(tState, vState, value, i, v)
149
- })
150
- } else {
151
- Object.entries(fields).forEach(([k, v]) => {
152
- visitField(tState, vState, value, k, v)
153
- })
154
- }
155
- }
156
- },
157
- ref(tState, _type, getType) {
158
- return (value, vState) => {
159
- visit(tState, getType())(value, vState)
160
- }
161
- },
162
- },
163
- )
164
-
165
- function visitField(
166
- tState: AssertDiagnosticsConfig,
167
- vState: ValueVisitorState,
168
- value: object,
169
- key: JSONKey,
170
- type: Type,
171
- ) {
172
- assert(key in value)
173
- const childValue = value[key as never]
174
- assert(childValue !== undefined)
175
- visit(tState, type)(childValue, vState.next(key))
176
- }
177
-
178
- // TODO: serialize signature
179
- export function formatAssertDiagnostics(diagnostics: AssertDiagnostics) {
180
- return diagnostics
181
- .map((diagnostic) => `Error "${diagnostic.message()}"; encountered at ${diagnostic.formatPath()}`)
182
- .join("\n")
183
- }
@@ -1,8 +0,0 @@
1
- import type { JSONIdentifiedType, JSONType } from "./JSONType.ts"
2
-
3
- export const JSONSchema$schema = "http://json-schema.org/draft-07/schema#"
4
-
5
- export type JSONRootType<J extends JSONType> = J & {
6
- $schema: typeof JSONSchema$schema
7
- $defs: Record<string, JSONIdentifiedType | undefined>
8
- }
package/types/JSONType.ts DELETED
@@ -1,27 +0,0 @@
1
- import type { JSONArrayType } from "./array.ts"
2
- import type { JSONBooleanType } from "./boolean.ts"
3
- import type { JSONConstType } from "./const.ts"
4
- import type { JSONEnumType } from "./enum.ts"
5
- import type { JSONIntegerType } from "./integer.ts"
6
- import type { JSONNullType } from "./null.ts"
7
- import type { JSONNumberType } from "./number.ts"
8
- import type { JSONObjectType } from "./object.ts"
9
- import type { JSONRefType } from "./ref.ts"
10
- import type { JSONStringType } from "./string.ts"
11
- import type { JSONUnionType } from "./union.ts"
12
-
13
- export type JSONIdentifiedType = JSONArrayType | JSONObjectType | JSONUnionType
14
-
15
- export type JSONAnonymousType =
16
- | JSONNullType
17
- | JSONBooleanType
18
- | JSONIntegerType
19
- | JSONNumberType
20
- | JSONStringType
21
- | JSONEnumType
22
-
23
- export type ConstableType = JSONAnonymousType | JSONIdentifiedType
24
-
25
- export type JSONRootableType = ConstableType | JSONConstType
26
-
27
- export type JSONType = JSONRootableType | JSONRefType
@@ -1,3 +0,0 @@
1
- export interface JSONTypeBase {
2
- description?: string
3
- }
@@ -1,80 +0,0 @@
1
- import { array } from "../array.ts"
2
- import { enum as enum_ } from "../enum.ts"
3
- import { type JSONObjectType, object } from "../object.ts"
4
- import { ref } from "../ref.ts"
5
- import { string } from "../string.ts"
6
- import type { Type } from "../Type.ts"
7
- import { taggedUnion } from "../types_derived/taggedUnion.ts"
8
- import type { JSONUnionType } from "../union.ts"
9
-
10
- export type MetatypeRootDescriptor = {
11
- type: "record"
12
- value: {
13
- description: string
14
- fields: Array<{
15
- description: string
16
- key: string
17
- value: MetatypeDescriptor
18
- }>
19
- }
20
- }
21
-
22
- const recordFields = {
23
- description: string,
24
- fields: array({
25
- description: string,
26
- key: string,
27
- value: ref(() => MetatypeDescriptor),
28
- }),
29
- }
30
-
31
- export const MetatypeRootDescriptor: Type<MetatypeRootDescriptor, JSONObjectType> = object({
32
- type: "record",
33
- value: recordFields,
34
- })
35
-
36
- export type MetatypeDescriptor = MetatypeRootDescriptor | {
37
- type: "atom"
38
- value: {
39
- description: string
40
- atomType: "boolean" | "integer" | "number" | "string"
41
- }
42
- } | {
43
- type: "enum"
44
- value: {
45
- description: string
46
- variants: Array<string>
47
- }
48
- } | {
49
- type: "array"
50
- value: {
51
- description: string
52
- items: MetatypeDescriptor
53
- }
54
- } | {
55
- type: "union"
56
- value: {
57
- description: string
58
- members: Array<MetatypeDescriptor>
59
- }
60
- }
61
-
62
- export const MetatypeDescriptor: Type<MetatypeDescriptor, JSONUnionType> = taggedUnion({
63
- atom: {
64
- description: string,
65
- atomType: enum_("boolean", "integer", "number", "string"),
66
- },
67
- enum: {
68
- description: string,
69
- variants: array(string),
70
- },
71
- array: {
72
- description: string,
73
- items: ref(() => MetatypeDescriptor),
74
- },
75
- record: recordFields,
76
- union: {
77
- description: string,
78
- members: array(ref(() => MetatypeDescriptor)),
79
- },
80
- })