@far-world-labs/verblets 0.2.0 → 0.4.0

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 (330) hide show
  1. package/README.md +98 -213
  2. package/dist/index.browser.js +221 -0
  3. package/dist/index.js +696 -0
  4. package/dist/shared-CMgpfDG4.js +10714 -0
  5. package/package.json +38 -15
  6. package/.cursor/launch.json +0 -30
  7. package/.cursor/settings.json +0 -20
  8. package/.github/workflows/branch-protection.yml +0 -22
  9. package/.github/workflows/ci.yml +0 -165
  10. package/.husky/pre-commit +0 -4
  11. package/.prettierrc +0 -6
  12. package/.release-it.json +0 -12
  13. package/.vitest.config.examples.js +0 -12
  14. package/.vitest.config.js +0 -8
  15. package/.vscode/launch.json +0 -31
  16. package/AGENTS.md +0 -220
  17. package/DEVELOPING.md +0 -105
  18. package/docker-compose.yml +0 -7
  19. package/eslint.config.js +0 -80
  20. package/scripts/clear-redis.js +0 -74
  21. package/scripts/generate-chain/index.js +0 -111
  22. package/scripts/generate-lib/index.js +0 -68
  23. package/scripts/generate-test/index.js +0 -137
  24. package/scripts/generate-verblet/README.md +0 -17
  25. package/scripts/generate-verblet/index.js +0 -110
  26. package/scripts/run.sh +0 -15
  27. package/scripts/runner/index.js +0 -56
  28. package/scripts/simple-editor/README.md +0 -34
  29. package/scripts/simple-editor/index.js +0 -79
  30. package/scripts/summarize-files/index.js +0 -70
  31. package/src/chains/README.md +0 -30
  32. package/src/chains/anonymize/README.md +0 -21
  33. package/src/chains/anonymize/index.examples.js +0 -75
  34. package/src/chains/anonymize/index.js +0 -121
  35. package/src/chains/anonymize/index.spec.js +0 -78
  36. package/src/chains/bulk-central-tendency/index.examples.js +0 -138
  37. package/src/chains/bulk-central-tendency/index.js +0 -91
  38. package/src/chains/bulk-filter/README.md +0 -21
  39. package/src/chains/bulk-filter/index.examples.js +0 -22
  40. package/src/chains/bulk-filter/index.js +0 -58
  41. package/src/chains/bulk-filter/index.spec.js +0 -38
  42. package/src/chains/bulk-find/README.md +0 -16
  43. package/src/chains/bulk-find/index.examples.js +0 -20
  44. package/src/chains/bulk-find/index.js +0 -30
  45. package/src/chains/bulk-find/index.spec.js +0 -26
  46. package/src/chains/bulk-group/README.md +0 -23
  47. package/src/chains/bulk-group/index.examples.js +0 -18
  48. package/src/chains/bulk-group/index.js +0 -34
  49. package/src/chains/bulk-group/index.spec.js +0 -41
  50. package/src/chains/bulk-map/README.md +0 -43
  51. package/src/chains/bulk-map/index.examples.js +0 -17
  52. package/src/chains/bulk-map/index.js +0 -86
  53. package/src/chains/bulk-map/index.spec.js +0 -44
  54. package/src/chains/bulk-reduce/README.md +0 -12
  55. package/src/chains/bulk-reduce/index.examples.js +0 -15
  56. package/src/chains/bulk-reduce/index.js +0 -13
  57. package/src/chains/bulk-reduce/index.spec.js +0 -25
  58. package/src/chains/bulk-score/README.md +0 -16
  59. package/src/chains/bulk-score/bulk-score-result.json +0 -18
  60. package/src/chains/bulk-score/index.examples.js +0 -22
  61. package/src/chains/bulk-score/index.js +0 -133
  62. package/src/chains/bulk-score/index.spec.js +0 -30
  63. package/src/chains/category-samples/README.md +0 -61
  64. package/src/chains/category-samples/index.examples.js +0 -103
  65. package/src/chains/category-samples/index.js +0 -134
  66. package/src/chains/collect-terms/README.md +0 -12
  67. package/src/chains/collect-terms/index.examples.js +0 -16
  68. package/src/chains/collect-terms/index.js +0 -44
  69. package/src/chains/collect-terms/index.spec.js +0 -25
  70. package/src/chains/conversation/README.md +0 -26
  71. package/src/chains/conversation/index.examples.js +0 -398
  72. package/src/chains/conversation/index.js +0 -126
  73. package/src/chains/conversation/index.spec.js +0 -148
  74. package/src/chains/conversation/turn-policies.js +0 -93
  75. package/src/chains/conversation/turn-policies.md +0 -123
  76. package/src/chains/conversation/turn-policies.spec.js +0 -135
  77. package/src/chains/date/README.md +0 -12
  78. package/src/chains/date/index.examples.js +0 -47
  79. package/src/chains/date/index.js +0 -74
  80. package/src/chains/date/index.spec.js +0 -62
  81. package/src/chains/disambiguate/README.md +0 -22
  82. package/src/chains/disambiguate/disambiguate-meanings-result.json +0 -16
  83. package/src/chains/disambiguate/index.examples.js +0 -18
  84. package/src/chains/disambiguate/index.js +0 -92
  85. package/src/chains/disambiguate/index.spec.js +0 -25
  86. package/src/chains/dismantle/README.md +0 -67
  87. package/src/chains/dismantle/dismantle.examples.js +0 -27
  88. package/src/chains/dismantle/index.examples.js +0 -30
  89. package/src/chains/dismantle/index.js +0 -303
  90. package/src/chains/dismantle/index.spec.js +0 -32
  91. package/src/chains/expect/README.md +0 -171
  92. package/src/chains/expect/index.examples.js +0 -146
  93. package/src/chains/expect/index.js +0 -207
  94. package/src/chains/expect/index.spec.js +0 -324
  95. package/src/chains/filter-ambiguous/README.md +0 -11
  96. package/src/chains/filter-ambiguous/index.examples.js +0 -20
  97. package/src/chains/filter-ambiguous/index.js +0 -49
  98. package/src/chains/filter-ambiguous/index.spec.js +0 -31
  99. package/src/chains/glossary/README.md +0 -19
  100. package/src/chains/glossary/index.examples.js +0 -386
  101. package/src/chains/glossary/index.js +0 -75
  102. package/src/chains/glossary/index.spec.js +0 -19
  103. package/src/chains/intersections/README.md +0 -166
  104. package/src/chains/intersections/index.examples.js +0 -280
  105. package/src/chains/intersections/index.js +0 -218
  106. package/src/chains/intersections/intersection-result.json +0 -38
  107. package/src/chains/list/index.examples.js +0 -68
  108. package/src/chains/list/index.js +0 -214
  109. package/src/chains/list/index.spec.js +0 -67
  110. package/src/chains/list/list-result.json +0 -16
  111. package/src/chains/list/schema.json +0 -24
  112. package/src/chains/llm-logger/README.md +0 -366
  113. package/src/chains/llm-logger/index.js +0 -591
  114. package/src/chains/llm-logger/index.spec.js +0 -391
  115. package/src/chains/llm-logger/schema.json +0 -105
  116. package/src/chains/questions/index.examples.js +0 -69
  117. package/src/chains/questions/index.js +0 -135
  118. package/src/chains/questions/index.spec.js +0 -29
  119. package/src/chains/scan-js/index.js +0 -116
  120. package/src/chains/set-interval/README.md +0 -81
  121. package/src/chains/set-interval/index.examples.js +0 -64
  122. package/src/chains/set-interval/index.js +0 -152
  123. package/src/chains/set-interval/index.spec.js +0 -70
  124. package/src/chains/socratic/README.md +0 -17
  125. package/src/chains/socratic/index.js +0 -64
  126. package/src/chains/socratic/index.spec.js +0 -24
  127. package/src/chains/sort/index.examples.js +0 -36
  128. package/src/chains/sort/index.js +0 -163
  129. package/src/chains/sort/index.spec.js +0 -112
  130. package/src/chains/sort/sort-result.json +0 -16
  131. package/src/chains/summary-map/README.md +0 -41
  132. package/src/chains/summary-map/index.examples.js +0 -64
  133. package/src/chains/summary-map/index.js +0 -226
  134. package/src/chains/summary-map/index.spec.js +0 -153
  135. package/src/chains/test/index.js +0 -114
  136. package/src/chains/test-advice/index.js +0 -35
  137. package/src/chains/themes/README.md +0 -20
  138. package/src/chains/themes/index.examples.js +0 -17
  139. package/src/chains/themes/index.js +0 -28
  140. package/src/chains/themes/index.spec.js +0 -19
  141. package/src/chains/veiled-variants/index.examples.js +0 -18
  142. package/src/chains/veiled-variants/index.js +0 -107
  143. package/src/chains/veiled-variants/index.spec.js +0 -40
  144. package/src/constants/common.js +0 -13
  145. package/src/constants/messages.js +0 -3
  146. package/src/constants/models.js +0 -184
  147. package/src/index.js +0 -203
  148. package/src/json-schemas/README.md +0 -13
  149. package/src/json-schemas/cars-test.json +0 -11
  150. package/src/json-schemas/index.js +0 -12
  151. package/src/json-schemas/intent.json +0 -38
  152. package/src/json-schemas/schema-dot-org-photograph.json +0 -133
  153. package/src/json-schemas/schema-dot-org-place.json +0 -129
  154. package/src/lib/README.md +0 -26
  155. package/src/lib/any-signal/index.js +0 -28
  156. package/src/lib/assert/README.md +0 -84
  157. package/src/lib/assert/index.js +0 -50
  158. package/src/lib/bulk-filter/README.md +0 -22
  159. package/src/lib/bulk-filter/index.examples.js +0 -27
  160. package/src/lib/bulk-filter/index.js +0 -63
  161. package/src/lib/bulk-filter/index.spec.js +0 -38
  162. package/src/lib/bulk-find/README.md +0 -18
  163. package/src/lib/bulk-find/index.examples.js +0 -19
  164. package/src/lib/bulk-find/index.js +0 -30
  165. package/src/lib/bulk-find/index.spec.js +0 -41
  166. package/src/lib/chatgpt/index.js +0 -163
  167. package/src/lib/combinations/index.js +0 -30
  168. package/src/lib/combinations/index.spec.js +0 -23
  169. package/src/lib/editor/index.js +0 -31
  170. package/src/lib/functional/index.js +0 -28
  171. package/src/lib/logger-service/index.js +0 -32
  172. package/src/lib/parse-js-parts/index.js +0 -321
  173. package/src/lib/parse-js-parts/index.spec.js +0 -156
  174. package/src/lib/parse-llm-list/README.md +0 -39
  175. package/src/lib/parse-llm-list/index.js +0 -54
  176. package/src/lib/parse-llm-list/index.spec.js +0 -59
  177. package/src/lib/path-aliases/index.js +0 -37
  178. package/src/lib/path-aliases/index.spec.js +0 -64
  179. package/src/lib/pave/index.js +0 -34
  180. package/src/lib/pave/index.spec.js +0 -76
  181. package/src/lib/prompt-cache/index.js +0 -50
  182. package/src/lib/retry/index.js +0 -66
  183. package/src/lib/retry/index.spec.js +0 -86
  184. package/src/lib/ring-buffer/README.md +0 -82
  185. package/src/lib/ring-buffer/index.js +0 -235
  186. package/src/lib/ring-buffer/index.spec.js +0 -388
  187. package/src/lib/search-best-first/city-walk.spec.js +0 -37
  188. package/src/lib/search-best-first/index.js +0 -97
  189. package/src/lib/search-best-first/index.spec.js +0 -35
  190. package/src/lib/search-js-files/code-features-property-definitions.json +0 -123
  191. package/src/lib/search-js-files/index.examples.js +0 -22
  192. package/src/lib/search-js-files/index.js +0 -155
  193. package/src/lib/search-js-files/index.spec.js +0 -34
  194. package/src/lib/search-js-files/scan-file.js +0 -242
  195. package/src/lib/shorten-text/index.js +0 -25
  196. package/src/lib/shorten-text/index.spec.js +0 -68
  197. package/src/lib/strip-numeric/index.js +0 -5
  198. package/src/lib/strip-response/index.js +0 -30
  199. package/src/lib/template-replace/index.js +0 -23
  200. package/src/lib/template-replace/index.spec.js +0 -60
  201. package/src/lib/timed-abort-controller/index.js +0 -41
  202. package/src/lib/to-bool/index.js +0 -8
  203. package/src/lib/to-date/index.js +0 -11
  204. package/src/lib/to-enum/index.js +0 -14
  205. package/src/lib/to-number/index.js +0 -12
  206. package/src/lib/to-number-with-units/index.js +0 -51
  207. package/src/lib/transcribe/index.js +0 -78
  208. package/src/prompts/README.md +0 -17
  209. package/src/prompts/as-enum.js +0 -5
  210. package/src/prompts/as-json-schema.js +0 -9
  211. package/src/prompts/as-object-with-schema.js +0 -26
  212. package/src/prompts/as-schema-org-text.js +0 -25
  213. package/src/prompts/as-schema-org-type.js +0 -1
  214. package/src/prompts/blog-post.js +0 -7
  215. package/src/prompts/code-features.js +0 -24
  216. package/src/prompts/constants.js +0 -101
  217. package/src/prompts/features-json-schema.js +0 -27
  218. package/src/prompts/generate-collection.js +0 -26
  219. package/src/prompts/generate-list.js +0 -48
  220. package/src/prompts/generate-questions.js +0 -19
  221. package/src/prompts/index.js +0 -20
  222. package/src/prompts/intent.js +0 -60
  223. package/src/prompts/output-succinct-names.js +0 -3
  224. package/src/prompts/select-from-threshold.js +0 -17
  225. package/src/prompts/sort.js +0 -31
  226. package/src/prompts/style.js +0 -38
  227. package/src/prompts/summarize.js +0 -13
  228. package/src/prompts/token-budget.js +0 -3
  229. package/src/prompts/wrap-list.js +0 -11
  230. package/src/prompts/wrap-variable.js +0 -36
  231. package/src/services/llm-model/global-overrides.spec.js +0 -432
  232. package/src/services/llm-model/index.js +0 -308
  233. package/src/services/llm-model/model.js +0 -21
  234. package/src/services/llm-model/negotiate.spec.js +0 -447
  235. package/src/services/redis/index.js +0 -147
  236. package/src/test/setup.js +0 -20
  237. package/src/verblets/README.md +0 -26
  238. package/src/verblets/auto/index.examples.js +0 -31
  239. package/src/verblets/auto/index.js +0 -28
  240. package/src/verblets/auto/index.spec.js +0 -32
  241. package/src/verblets/bool/README.md +0 -36
  242. package/src/verblets/bool/index.examples.js +0 -80
  243. package/src/verblets/bool/index.js +0 -25
  244. package/src/verblets/bool/index.schema.json +0 -14
  245. package/src/verblets/bool/index.spec.js +0 -33
  246. package/src/verblets/central-tendency/README.md +0 -166
  247. package/src/verblets/central-tendency/central-tendency-result.json +0 -24
  248. package/src/verblets/central-tendency/index.examples.js +0 -196
  249. package/src/verblets/central-tendency/index.js +0 -171
  250. package/src/verblets/central-tendency/index.spec.js +0 -148
  251. package/src/verblets/conversation-turn/README.md +0 -33
  252. package/src/verblets/conversation-turn/index.examples.js +0 -218
  253. package/src/verblets/conversation-turn/index.js +0 -68
  254. package/src/verblets/conversation-turn/index.spec.js +0 -77
  255. package/src/verblets/conversation-turn-multi/README.md +0 -31
  256. package/src/verblets/conversation-turn-multi/index.examples.js +0 -160
  257. package/src/verblets/conversation-turn-multi/index.js +0 -104
  258. package/src/verblets/conversation-turn-multi/index.spec.js +0 -63
  259. package/src/verblets/enum/index.examples.js +0 -30
  260. package/src/verblets/enum/index.js +0 -18
  261. package/src/verblets/enum/index.spec.js +0 -35
  262. package/src/verblets/expect/README.md +0 -64
  263. package/src/verblets/expect/index.examples.js +0 -109
  264. package/src/verblets/expect/index.js +0 -75
  265. package/src/verblets/expect/index.spec.js +0 -127
  266. package/src/verblets/intent/index.examples.js +0 -139
  267. package/src/verblets/intent/index.js +0 -60
  268. package/src/verblets/intent/index.spec.js +0 -31
  269. package/src/verblets/intersection/README.md +0 -16
  270. package/src/verblets/intersection/index.examples.js +0 -89
  271. package/src/verblets/intersection/index.js +0 -125
  272. package/src/verblets/intersection/index.spec.js +0 -60
  273. package/src/verblets/intersection/intersection-result.json +0 -16
  274. package/src/verblets/list-expand/README.md +0 -10
  275. package/src/verblets/list-expand/index.examples.js +0 -14
  276. package/src/verblets/list-expand/index.js +0 -104
  277. package/src/verblets/list-expand/index.spec.js +0 -18
  278. package/src/verblets/list-expand/list-expand-result.json +0 -16
  279. package/src/verblets/list-filter/README.md +0 -22
  280. package/src/verblets/list-filter/index.examples.js +0 -26
  281. package/src/verblets/list-filter/index.js +0 -18
  282. package/src/verblets/list-filter/index.spec.js +0 -19
  283. package/src/verblets/list-find/README.md +0 -11
  284. package/src/verblets/list-find/index.examples.js +0 -15
  285. package/src/verblets/list-find/index.js +0 -17
  286. package/src/verblets/list-find/index.spec.js +0 -19
  287. package/src/verblets/list-group/README.md +0 -16
  288. package/src/verblets/list-group/index.examples.js +0 -16
  289. package/src/verblets/list-group/index.js +0 -112
  290. package/src/verblets/list-group/index.spec.js +0 -35
  291. package/src/verblets/list-group/list-group-result.json +0 -16
  292. package/src/verblets/list-map/README.md +0 -11
  293. package/src/verblets/list-map/index.examples.js +0 -15
  294. package/src/verblets/list-map/index.js +0 -26
  295. package/src/verblets/list-map/index.spec.js +0 -17
  296. package/src/verblets/list-reduce/README.md +0 -10
  297. package/src/verblets/list-reduce/index.examples.js +0 -14
  298. package/src/verblets/list-reduce/index.js +0 -21
  299. package/src/verblets/list-reduce/index.spec.js +0 -27
  300. package/src/verblets/list-reduce/index.spec.jsx +0 -27
  301. package/src/verblets/name/README.md +0 -15
  302. package/src/verblets/name/index.examples.js +0 -28
  303. package/src/verblets/name/index.js +0 -19
  304. package/src/verblets/name/index.spec.js +0 -33
  305. package/src/verblets/name-similar-to/README.md +0 -26
  306. package/src/verblets/name-similar-to/index.examples.js +0 -18
  307. package/src/verblets/name-similar-to/index.js +0 -20
  308. package/src/verblets/name-similar-to/index.spec.js +0 -13
  309. package/src/verblets/number/index.examples.js +0 -199
  310. package/src/verblets/number/index.js +0 -25
  311. package/src/verblets/number/index.spec.js +0 -33
  312. package/src/verblets/number-with-units/index.examples.js +0 -38
  313. package/src/verblets/number-with-units/index.js +0 -84
  314. package/src/verblets/number-with-units/index.spec.js +0 -46
  315. package/src/verblets/number-with-units/number-with-units-result.json +0 -23
  316. package/src/verblets/people-list/README.md +0 -28
  317. package/src/verblets/people-list/index.examples.js +0 -184
  318. package/src/verblets/people-list/index.js +0 -44
  319. package/src/verblets/people-list/index.spec.js +0 -49
  320. package/src/verblets/schema-org/index.examples.js +0 -51
  321. package/src/verblets/schema-org/index.js +0 -37
  322. package/src/verblets/schema-org/index.spec.js +0 -39
  323. package/src/verblets/sentiment/README.md +0 -10
  324. package/src/verblets/sentiment/index.examples.js +0 -20
  325. package/src/verblets/sentiment/index.js +0 -9
  326. package/src/verblets/sentiment/index.spec.js +0 -20
  327. package/src/verblets/to-object/README.md +0 -38
  328. package/src/verblets/to-object/index.examples.js +0 -29
  329. package/src/verblets/to-object/index.js +0 -131
  330. package/src/verblets/to-object/index.spec.js +0 -71
package/README.md CHANGED
@@ -1,253 +1,138 @@
1
1
  # Verblets
2
2
 
3
- Verblets is a library of AI-powered utilities that transform natural language and structured data into reliable, structured outputs. Each function uses language model intelligence while constraining outputs to limit hallucination and ensure software reliability.
3
+ Verblets /ˈvaɪb.ləts/ is a utility library of AI-powered functions for creating new kinds of applications. Verblets are composable and reusable while constraining outputs to ensure software reliability. Many of the API interfaces are familiar to developers but support intelligent operations in ways classical analogues do not, sometimes via complex algorithms that have surprising results.
4
+
5
+ Instead of mimicking humans in order to automate tasks, an AI standard library *extends* people in *new* ways via intelligent software applications that are built on those utilities. Top-down AI approaches to automate people lead to forgetful, error-prone NPC-like replicas that can't be shaped the way software can. By contrast, AI-based software tools lead to new roles and new ways of working together for us humans.
6
+
7
+ Why the name? Verblets are *verbally* based: they're LLM-powered; and you can think of functions as verbs.
4
8
 
5
9
  ## Repository Guide
6
10
 
7
11
  ### Quick Links
8
12
 
9
- - [Chains](./src/chains/) - AI-powered workflows and operations
10
- - [Verblets](./src/verblets/) - Core AI utility functions
13
+ - [Chains](./src/chains/) - Prompt chains and algorithms based on LLMs
14
+ - [Verblets](./src/verblets/) - Core AI utility functions. At most a single LLM call, no prompt chains.
11
15
  - [Library Helpers](./src/lib/) - Utility functions and wrappers
12
16
  - [Prompts](./src/prompts/) - Reusable prompt templates
13
17
  - [JSON Schemas](./src/json-schemas/) - Data validation schemas
14
18
 
15
- ## Verblets
19
+ ## Utilities
16
20
 
17
21
  ### Primitives
18
22
 
19
23
  Primitive verblets extract basic data types from natural language with high reliability. They constrain LLM outputs to prevent hallucination while handling the complexity of human expression.
20
24
 
21
- - [bool](./src/verblets/bool) - interpret text as true/false decisions
22
- - [enum](./src/verblets/enum) - map text to predefined options
23
- - [number](./src/verblets/number) - extract numeric values from text
24
- - [number-with-units](./src/verblets/number-with-units) - parse numbers with units and conversions
25
- - [date](./src/chains/date) - return Date objects from natural language prompts
25
+ - [bool](./src/verblets/bool) - Interpret yes/no, true/false, and conditional statements
26
+ - [date](./src/chains/date) - Parse dates from relative expressions, natural language, standard formats, and longer descriptions
27
+ - [enum](./src/verblets/enum) - Convert free-form input to exactly one of several predefined options
28
+ - [number](./src/verblets/number) - Convert a block of text to a single number
29
+ - [number-with-units](./src/verblets/number-with-units) - Parse measurements and convert between unit systems
30
+
31
+ ### Math
32
+
33
+ Math chains transform values using conceptual reasoning and subjective judgments beyond simple calculations.
34
+
35
+ - [scale](./src/chains/scale) - Convert qualitative descriptions to numeric values. Uses a specification generator to maintain consistency across invocations.
26
36
 
27
37
  ### Lists
28
38
 
29
- List operations transform, filter, and organize collections using natural language criteria. They handle both small lists with individual verblets and large datasets with batch processing chains.
30
-
31
- - [bulk-map](./src/chains/bulk-map) - process long lists in retryable batches
32
- - [bulk-reduce](./src/chains/bulk-reduce) - reduce long lists in manageable chunks
33
- - [bulk-find](./src/chains/bulk-find) - locate the best match in large datasets
34
- - [bulk-group](./src/chains/bulk-group) - group large datasets efficiently
35
- - [bulk-filter](./src/chains/bulk-filter) - filter huge lists in batches
36
- - [intersections](./src/chains/intersections) - find comprehensive intersections for all combinations
37
- - [list](./src/chains/list) - generate contextual lists from prompts
38
- - [list-map](./src/verblets/list-map) - transform each item in a list
39
- - [list-reduce](./src/verblets/list-reduce) - combine list items using custom logic
40
- - [list-find](./src/verblets/list-find) - pick the single best item from a list
41
- - [list-filter](./src/verblets/list-filter) - filter lists with natural language criteria
42
- - [list-group](./src/verblets/list-group) - categorize list items into groups
43
- - [list-expand](./src/verblets/list-expand) - generate additional similar items
44
- - [intersection](./src/verblets/intersection) - describe common traits between items
45
- - [sort](./src/chains/sort) - order lists by any describable criteria
46
- - [bulk-score](./src/chains/bulk-score) - score lists with calibrated examples
39
+ List operations transform, filter, and organize collections. They handle both individual items and batch processing for datasets larger than a context window. Many list operations support bulk operation with built-in retry. Many have alternative single invocation versions in the verblets directory. Many utilities have list support via specification-generators that maintain continuity, or prompt fragments that adapt single-invcation behavior to list processing.
40
+
41
+ - [central-tendency](./src/chains/central-tendency) - Find the most representative examples from a collection
42
+ - [detect-patterns](./src/chains/detect-patterns) - Identify repeating structures, sequences, or relationships in data
43
+ - [detect-threshold](./src/chains/detect-threshold) - Find meaningful breakpoints in numeric values, for use in metrics and alerting
44
+ - [entities](./src/chains/entities) - Extract names, places, organizations, and custom entity types
45
+ - [filter](./src/chains/filter) - Keep items matching natural language criteria through parallel batch processing
46
+ - [find](./src/chains/find) - Return the single best match using parallel evaluation with early stopping
47
+ - [glossary](./src/chains/glossary) - Extract key terms and generate definitions from their usage
48
+ - [group](./src/chains/group) - Cluster items by first discovering categories then assigning members
49
+ - [intersections](./src/chains/intersections) - Find overlapping concepts between all item pairs
50
+ - [list](./src/chains/list) - Extract lists from prose, tables, or generate from descriptions
51
+ - [list-expand](./src/verblets/list-expand) - Add similar items matching the pattern of existing ones
52
+ - [map](./src/chains/map) - Transform each item using consistent rules applied in parallel batches
53
+ - [reduce](./src/chains/reduce) - Combine items sequentially, building up a result across batches
54
+ - [score](./src/chains/score) - Rate items on multiple criteria using weighted evaluation
55
+ - [sort](./src/chains/sort) - Order by complex criteria using tournament-style comparisons
56
+ - [tags](./src/chains/tags) - Apply vocabulary-based tags to categorize items
47
57
 
48
58
  ### Content
49
59
 
50
- Content utilities generate, transform, and analyze text while maintaining structure and meaning. They excel at creative tasks, system analysis, and privacy-aware text processing.
51
-
52
- - [anonymize](./src/chains/anonymize) - scrub personal details from text
53
- - [collect-terms](./src/chains/collect-terms) - extract difficult vocabulary
54
- - [dismantle](./src/chains/dismantle) - break systems into components
55
- - [disambiguate](./src/chains/disambiguate) - resolve ambiguous word meanings using context
56
- - [filter-ambiguous](./src/chains/filter-ambiguous) - find and rank unclear terms for disambiguation
57
- - [name](./src/verblets/name) - name something from a definition or description
58
- - [name-similar-to](./src/verblets/name-similar-to) - suggest short names that match a style
59
- - [questions](./src/chains/questions) - produce clarifying questions
60
- - [schema-org](./src/verblets/schema-org) - create schema.org objects
61
- - [socratic](./src/chains/socratic) - explore assumptions using a Socratic dialogue
62
- - [summary-map](./src/chains/summary-map) - summarize a collection
63
- - [themes](./src/chains/themes) - identify themes in text
64
- - [category-samples](./src/chains/category-samples) - generate diverse examples for any category
65
- - [to-object](./src/verblets/to-object) - convert descriptions to structured objects
66
- - [veiled-variants](./src/chains/veiled-variants) - rephrase sensitive queries safely
60
+ Content utilities generate, transform, and analyze text while maintaining structure and meaning. They handle creative tasks, system analysis, and privacy-aware text processing.
61
+
62
+ - [anonymize](./src/chains/anonymize) - Replace names, dates, and identifying details with placeholders
63
+ - [category-samples](./src/chains/category-samples) - Create examples ranging from typical to edge cases
64
+ - [collect-terms](./src/chains/collect-terms) - Find domain-specific or complex vocabulary
65
+ - [commonalities](./src/verblets/commonalities) - Identify what items share conceptually, not just literally
66
+ - [conversation](./src/chains/conversation) - Manage multi-turn dialogues with memory and context tracking
67
+ - [disambiguate](./src/chains/disambiguate) - Determine which meaning of ambiguous terms fits the context
68
+ - [dismantle](./src/chains/dismantle) - Break down systems into parts, subparts, and their connections
69
+ - [document-shrink](./src/chains/document-shrink) - Remove less relevant sections while keeping query-related content
70
+ - [fill-missing](./src/verblets/fill-missing) - Predict likely content for redacted or corrupted sections
71
+ - [filter-ambiguous](./src/chains/filter-ambiguous) - Flag items that need human clarification
72
+ - [join](./src/chains/join) - Connect text fragments by adding transitions and maintaining flow
73
+ - [name](./src/verblets/name) - Parse names handling titles, suffixes, and cultural variations
74
+ - [name-similar-to](./src/verblets/name-similar-to) - Generate names following example patterns
75
+ - [people](./src/chains/people) - Build artificial person profiles with consistent demographics and traits. Useful as LLM roles.
76
+ - [pop-reference](./src/chains/pop-reference) - Match concepts to movies, songs, memes, or cultural touchstones
77
+ - [questions](./src/chains/questions) - Generate follow-up questions that branch from initial inquiry
78
+ - [relations](./src/chains/relations) - Extract relationship tuples from text
79
+ - [schema-org](./src/verblets/schema-org) - Convert unstructured data to schema.org JSON-LD format
80
+ - [socratic](./src/chains/socratic) - Ask questions that reveal hidden assumptions and logic gaps
81
+ - [split](./src/chains/split) - Find topic boundaries in continuous text
82
+ - [summary-map](./src/chains/summary-map) - Build layered summaries for navigating large documents
83
+ - [tag-vocabulary](./src/chains/tag-vocabulary) - Generate and refine tag vocabularies through iterative analysis
84
+ - [themes](./src/chains/themes) - Surface recurring ideas through multi-pass extraction and merging
85
+ - [timeline](./src/chains/timeline) - Order events chronologically from scattered mentions
86
+ - [to-object](./src/chains/to-object) - Extract key-value pairs from natural language descriptions
87
+ - [truncate](./src/chains/truncate) - Remove trailing content after a semantic boundary
88
+ - [veiled-variants](./src/chains/veiled-variants) - Reword queries to avoid triggering content filters
89
+
90
+
91
+ ### Retrieval
92
+
93
+ Retrieval utilities transform queries and prepare text for search and RAG workflows.
94
+
95
+ - [embed-rewrite-query](./src/verblets/embed-rewrite-query) - Rewrite search queries for clarity and specificity
96
+ - [embed-multi-query](./src/verblets/embed-multi-query) - Generate diverse query variants for broader retrieval
97
+ - [embed-step-back](./src/verblets/embed-step-back) - Broaden queries to underlying concepts and principles
98
+ - [embed-subquestions](./src/verblets/embed-subquestions) - Split complex queries into atomic sub-questions
99
+
67
100
 
68
101
  ### Utility Operations
69
102
 
70
- Utility operations provide meta-functionality like automatic tool selection, intent parsing, and context compression. They're essential for building intelligent systems that can adapt and scale.
103
+ Utility operations are uncategorized functionality like automatic tool selection, intent parsing, and context compression.
71
104
 
72
- - [auto](./src/verblets/auto) - automatically select the best verblet for a task
73
- - [expect](./src/verblets/expect) - simple LLM assertions
74
- - [expect chain](./src/chains/expect) - assert things about data with LLM reasoning
75
- - [intent](./src/verblets/intent) - extract user intent and structured parameters
76
- - [sentiment](./src/verblets/sentiment) - detect emotional tone of text
77
- - [summary-map](./src/chains/summary-map) - store self-resizing hash table values. Useful for fixed-sized contexts.
78
- - [set-interval](./src/chains/set-interval) - Conversational scheduler
105
+ - [ai-arch-expect](./src/chains/ai-arch-expect) - Validate AI architecture constraints and patterns
106
+ - [auto](./src/verblets/auto) - Match task descriptions to available tools using function calling
107
+ - [expect](./src/verblets/expect) - Check if conditions are met and explain why if not
108
+ - [expect chain](./src/chains/expect) - Validate complex data relationships with detailed failure analysis
109
+ - [intent](./src/verblets/intent) - Extract action and parameters from natural language commands
110
+ - [llm-logger](./src/chains/llm-logger) - Summarize log patterns and detect anomalies across time windows
111
+ - [sentiment](./src/verblets/sentiment) - Classify as positive, negative, or neutral with nuance detection
112
+ - [set-interval](./src/chains/set-interval) - Schedule tasks using natural language time descriptions
79
113
 
80
114
  ### Codebase
81
115
 
82
- Codebase utilities analyze, test, and improve code quality using AI reasoning. They provide insights that traditional static analysis tools miss by understanding context and intent.
116
+ Codebase utilities analyze, test, and improve code quality using AI reasoning.
117
+
118
+ - [scan-js](./src/chains/scan-js) - Examine JavaScript for patterns, anti-patterns, and potential issues
119
+ - [test](./src/chains/test) - Generate test cases covering happy paths, edge cases, and error conditions
83
120
 
84
- - [scan-js](./src/chains/scan-js) - analyze JavaScript code quality
85
- - [test](./src/chains/test) - run AI-driven software tests
86
- - [test-advice](./src/chains/test-advice) - get feedback on test coverage
87
121
 
88
122
  ## Library Helpers
89
123
 
90
- - [chatgpt](./src/lib/chatgpt) - OpenAI ChatGPT wrapper
91
- - [prompt-cache](./src/lib/prompt-cache) - cache prompts and responses
92
- - [retry](./src/lib/retry) - retry asynchronous calls
93
- - [search-best-first](./src/lib/search-best-first) - best-first search algorithm
94
- - [search-js-files](./src/lib/search-js-files) - scan JavaScript sources
95
- - [combinations](./src/lib/combinations) - generate array combinations
96
- - [shorten-text](./src/lib/shorten-text) - shorten text using a model
97
- - [strip-numeric](./src/lib/strip-numeric) - remove non-digit characters
98
- - [strip-response](./src/lib/strip-response) - clean up model responses
99
- - [to-bool](./src/lib/to-bool) - parse text to boolean
100
- - [to-enum](./src/lib/to-enum) - parse text to enum values
101
- - [to-number](./src/lib/to-number) - parse text to numbers
102
- - [to-number-with-units](./src/lib/to-number-with-units) - parse numbers with units
103
- - [to-date](./src/lib/to-date) - parse text to JavaScript Date objects
104
- - [transcribe](./src/lib/transcribe) - microphone transcription via Whisper
105
-
106
- ## Example: Intelligent Customer Support System
107
-
108
- This example shows how verblets enable building systems that understand context, make nuanced decisions, and adapt to complex real-world scenarios - capabilities that would be nearly impossible with traditional programming approaches.
109
-
110
- ```javascript
111
- import bulkMap from './src/chains/bulk-map/index.js';
112
- import list from './src/chains/list/index.js';
113
- import {
114
- anonymize,
115
- bool,
116
- enum,
117
- intent,
118
- listFilter,
119
- questions,
120
- sort,
121
- toObject,
122
- sentiment,
123
- bulkScore
124
- } from 'verblets';
125
-
126
- // Intelligent customer support system that handles complex, contextual requests
127
- async function handleCustomerRequest(message, history, catalog) {
128
- const customerIntent = await intent({
129
- text: message,
130
- operations: [
131
- { name: 'refund-request', parameters: { reason: 'string', orderNumber: 'string?' } },
132
- { name: 'product-inquiry', parameters: { productType: 'string', feature: 'string?' } },
133
- { name: 'technical-support', parameters: { issue: 'string', urgency: 'string' } },
134
- { name: 'complaint', parameters: { category: 'string', severity: 'string' } }
135
- ]
136
- });
137
-
138
- const emotion = await sentiment(message);
139
- const urgent = await bool(`Is this urgent? ${message}`);
140
-
141
- const strategy = await enum(message, {
142
- immediate_escalation: 'Customer is very upset, escalate to human agent',
143
- detailed_help: 'Customer needs comprehensive assistance',
144
- quick_resolution: 'Simple issue that can be resolved quickly',
145
- educational: 'Customer needs to understand how something works'
146
- });
147
-
148
- const followUpQuestions = await questions(
149
- `Customer says: "${message}". What should we ask to help them better?`
150
- );
151
-
152
- const candidates = await listFilter(
153
- catalog,
154
- `Products that might solve: ${
155
- customerIntent.parameters.issue || customerIntent.parameters.productType
156
- }`
157
- );
158
-
159
- const scores = await bulkScore(candidates, 'resolution likelihood');
160
- const prioritized = await sort(candidates, `by likelihood score ${scores.join(', ')}`);
161
-
162
- const bulletPoints = await bulkMap(
163
- prioritized.map(p => p.name),
164
- 'Write a friendly one-line apology referencing <list>.'
165
- );
166
-
167
- const sampleReplies = await list('3 reassuring follow-up messages for this customer');
168
-
169
- const caseSummary = await anonymize(
170
- `Customer ${customerIntent.intent.operation}: ${message}.
171
- History: ${history}. Resolution: ${prioritized[0]}`
172
- );
173
-
174
- const response = await toObject(
175
- `
176
- Customer needs ${customerIntent.intent.operation} help.
177
- They are ${emotion} and ${urgent ? 'urgent' : 'not urgent'}.
178
- Best approach: ${strategy}.
179
- Top solution: ${prioritized[0]?.name}
180
- `,
181
- {
182
- type: 'object',
183
- properties: {
184
- intent: { type: 'string' },
185
- urgency: { type: 'string' },
186
- emotion: { type: 'string' },
187
- strategy: { type: 'string' },
188
- recommendedSolution: { type: 'string' },
189
- followUpQuestions: { type: 'array' }
190
- }
191
- }
192
- );
193
-
194
-
195
- return {
196
- ...response,
197
- followUpQuestions: followUpQuestions.slice(0, 3),
198
- anonymizedCase: caseSummary,
199
- bulletPoints,
200
- sampleReplies
201
- };
202
- }
203
-
204
- // Usage: Handle a complex customer scenario
205
- const result = await handleCustomerRequest(
206
- "I'm really frustrated! I ordered your premium headphones 2 weeks ago for my daughter's birthday tomorrow and they still haven't arrived. The tracking says 'processing' but I paid for 2-day shipping. This is completely unacceptable and I want my money back immediately!",
207
- 'Previous orders: 3 successful deliveries, 1 late delivery complaint resolved',
208
- [
209
- {
210
- name: 'Premium Wireless Headphones',
211
- category: 'audio',
212
- features: ['noise-canceling', 'wireless']
213
- },
214
- { name: 'Express Shipping Upgrade', category: 'service', features: ['priority', 'tracking'] },
215
- { name: 'Gift Card', category: 'compensation', features: ['flexible', 'immediate'] }
216
- ]
217
- );
218
-
219
- /* Returns something like:
220
- {
221
- intent: "refund-request",
222
- urgency: "high",
223
- emotion: "frustrated",
224
- strategy: "immediate_escalation",
225
- recommendedSolution: "Express Shipping Upgrade",
226
- followUpQuestions: [
227
- "What's your order number so I can track this immediately?",
228
- "Would you like us to expedite a replacement for tomorrow delivery?",
229
- "How can we make this right for your daughter's birthday?"
230
- ],
231
- anonymizedCase: "Customer refund-request: Customer frustrated about delayed premium headphones order for child's birthday..."
232
- bulletPoints: ["Apologies for the delay on Premium Wireless Headphones", ...],
233
- sampleReplies: ["We're monitoring shipping updates...", ...]
234
- }
235
- */
236
- ```
237
-
238
- This system demonstrates capabilities that would require thousands of lines of traditional code and extensive machine learning expertise:
239
-
240
- - **Contextual understanding** of customer emotions and intent
241
- - **Dynamic decision making** based on multiple factors
242
- - **Adaptive questioning** that changes based on the situation
243
- - **Intelligent prioritization** of solutions
244
- - **Privacy-aware data handling** for compliance
245
- - **Structured output** that integrates with existing systems
124
+ Helpers support higher-level operations. They make no LLM calls and are often synchronous.
246
125
 
126
+ - [llm](./src/lib/llm) - LLM wrapper
127
+ - [prompt-cache](./src/lib/prompt-cache) - Cache prompts and responses
128
+ - [retry](./src/lib/retry) - Retry asynchronous calls
129
+ - [ring-buffer](./src/lib/ring-buffer) - Circular buffer implementation for running LLMs on streams of data
130
+ - [embed-normalize-text](./src/lib/embed-normalize-text) - Normalize text (NFC, whitespace, line endings) for consistent processing
131
+ - [embed-neighbor-chunks](./src/lib/embed-neighbor-chunks) - Expand retrieved chunks with neighboring context
247
132
 
248
133
  ## Contributing
249
134
 
250
- Help us explore what's possible when we rebuild software primitives with intelligence at their core.
135
+ Help us explore what's possible when we extend software primitives with language model intelligence.
251
136
 
252
137
  ## License
253
138
 
@@ -0,0 +1,221 @@
1
+ import { cy as a } from "./shared-CMgpfDG4.js";
2
+ import { cv as r, B as i, C as c, F as n, D as o, E as l, a8 as b, Q as p, bN as m, bM as u, z as d, U as g, aT as I, m as S, ae as h, ao as y, bf as T, b_ as C, f as P, ay as f, R as B, x as R, y as E, ax as F, bd as v, M, N as x, cd as N, bG as k, az as L, bE as O, aA as A, ce as w, b5 as G, cx as D, d as U, aB as V, aC as W, cf as _, bZ as q, bY as z, bI as Q, A as Y, G as j, V as K, aU as J, o as X, ap as H, aq as Z, g as $, bH as aa, a as sa, O as ea, P as ta, a9 as ra, aD as ia, aF as ca, aH as na, aI as oa, bn as la, bC as ba, bo as pa, bA as ma, bp as ua, bB as da, bu as ga, bz as Ia, by as Sa, bt as ha, bx as ya, bs as Ta, bD as Ca, bv as Pa, bw as fa, bq as Ba, bV as Ra, bW as Ea, bU as Fa, bS as va, bX as Ma, bQ as xa, bR as Na, bT as ka, S as La, X as Oa, Z as Aa, _ as wa, W as Ga, Y as Da, T as Ua, i as Va, bg as Wa, bh as _a, $ as qa, aw as za, c4 as Qa, aJ as Ya, a0 as ja, aK as Ka, c0 as Ja, a1 as Xa, a6 as Ha, cu as Za, aE as $a, J as as, K as ss, a2 as es, a3 as ts, cw as rs, bi as is, a4 as cs, aL as ns, cg as os, a5 as ls, a7 as bs, aa as ps, a as ms, bj as us, bk as ds, ab as gs, aM as Is, aN as Ss, bJ as hs, n as ys, h as Ts, H as Cs, I as Ps, ch as fs, bK as Bs, bL as Rs, cc as Es, aV as Fs, aW as vs, aO as Ms, bk as xs, ci as Ns, co as ks, aP as Ls, w as Os, cr as As, cs as ws, cp as Gs, aQ as Ds, bF as Us, r as Vs, aS as Ws, aR as _s, aY as qs, a_ as zs, a$ as Qs, aX as Ys, aZ as js, ct as Ks, c as Js, bP as Xs, k as Hs, q as Zs, u as $s, v as ae, p as se, t as ee, l as te, b0 as re, cq as ie, bc as ce, s as ne, b$ as oe, ac as le, ah as be, aj as pe, ak as me, af as ue, ag as de, ai as ge, ad as Ie, bl as Se, e as he, br as ye, bm as Te, cn as Ce, aG as Pe, b1 as fe, be as Be, al as Re, cj as Ee, b2 as Fe, c6 as ve, c5 as Me, b3 as xe, an as Ne, b4 as ke, am as Le, as as Oe, au as Ae, av as we, ar as Ge, at as De, bO as Ue, b6 as Ve, b7 as We, c7 as _e, c9 as qe, ca as ze, c8 as Qe, cb as Ye, b8 as je, b9 as Ke, ck as Je, cl as Xe, bb as He, ba as Ze, c1 as $e, c2 as at, c3 as st, L as et, cm as tt } from "./shared-CMgpfDG4.js";
3
+ a();
4
+ export {
5
+ r as CAPABILITY_KEYS,
6
+ i as COMPLIANCE,
7
+ c as CONTEXT_KINDS,
8
+ n as COST_POSTURE,
9
+ o as DOMAIN,
10
+ l as ENVIRONMENT,
11
+ b as ListStyle,
12
+ p as QUALITY_INTENT,
13
+ m as TimedAbortController,
14
+ u as anySignal,
15
+ d as applyCalibrate,
16
+ g as applyEntities,
17
+ I as applyRelations,
18
+ S as applyScale,
19
+ h as applyScore,
20
+ y as applyTags,
21
+ T as auto,
22
+ C as batchTracker,
23
+ P as bool,
24
+ f as buildSeedGenerationPrompt,
25
+ B as calculateStatistics,
26
+ R as calibrate,
27
+ E as calibrateSpec,
28
+ F as categorySamples,
29
+ v as causalFramePrompt,
30
+ M as centralTendency,
31
+ x as centralTendencyLines,
32
+ N as chunk,
33
+ k as chunkSentences,
34
+ L as collectTerms,
35
+ O as combinations,
36
+ A as commonalities,
37
+ w as compact,
38
+ G as computeTagStatistics,
39
+ D as config,
40
+ U as constants,
41
+ V as conversation,
42
+ W as conversationTurnReduce,
43
+ _ as cosineSimilarity,
44
+ q as createBatchContext,
45
+ z as createBatchProgressCallback,
46
+ Q as createBatches,
47
+ Y as createCalibratedClassifier,
48
+ j as createContextBuilder,
49
+ K as createEntityExtractor,
50
+ J as createRelationExtractor,
51
+ X as createScale,
52
+ H as createTagExtractor,
53
+ Z as createTagger,
54
+ $ as date,
55
+ aa as debug,
56
+ sa as default,
57
+ ea as detectPatterns,
58
+ ta as detectThreshold,
59
+ ra as determineStyle,
60
+ ia as disambiguate,
61
+ ca as dismantle,
62
+ na as dismantleFactory,
63
+ oa as documentShrink,
64
+ la as embed,
65
+ ba as embedAssembleSpan,
66
+ pa as embedBatch,
67
+ ma as embedBuildIndex,
68
+ ua as embedChunked,
69
+ da as embedMergeRanges,
70
+ ga as embedMultiQuery,
71
+ Ia as embedNeighborChunks,
72
+ Sa as embedNormalizeText,
73
+ ha as embedRewriteQuery,
74
+ ya as embedRewriteToOutputDoc,
75
+ Ta as embedScore,
76
+ Ca as embedStandaloneSpan,
77
+ Pa as embedStepBack,
78
+ fa as embedSubquestions,
79
+ Ba as embedWarmup,
80
+ Ra as emitBatchComplete,
81
+ Ea as emitBatchProcessed,
82
+ Fa as emitBatchStart,
83
+ va as emitComplete,
84
+ Ma as emitPhaseProgress,
85
+ xa as emitProgress,
86
+ Na as emitStart,
87
+ ka as emitStepProgress,
88
+ La as entities,
89
+ Oa as entitiesFilterInstructions,
90
+ Aa as entitiesFindInstructions,
91
+ wa as entitiesGroupInstructions,
92
+ Ga as entitiesMapInstructions,
93
+ Da as entitiesReduceInstructions,
94
+ Ua as entitySpec,
95
+ Va as enums,
96
+ Wa as expect,
97
+ _a as expectChain,
98
+ qa as extractBlocks,
99
+ za as extractFeatures,
100
+ Qa as extractJson,
101
+ Ya as fillMissing,
102
+ ja as filter,
103
+ Ka as filterAmbiguous,
104
+ Ja as filterProgress,
105
+ Xa as find,
106
+ Ha as generateList,
107
+ Za as getCapabilities,
108
+ $a as getMeanings,
109
+ as as getOption,
110
+ ss as getOptions,
111
+ es as glossary,
112
+ ts as group,
113
+ rs as init,
114
+ is as intent,
115
+ cs as intersections,
116
+ ns as join,
117
+ os as last,
118
+ ls as list,
119
+ bs as listBatch,
120
+ ps as listExpand,
121
+ ms as llm,
122
+ us as llmLogger,
123
+ ds as makePrompt,
124
+ gs as map,
125
+ Is as name,
126
+ Ss as nameSimilarTo,
127
+ hs as normalizeLlm,
128
+ ys as number,
129
+ Ts as numberWithUnits,
130
+ Cs as observeApplication,
131
+ Ps as observeProviders,
132
+ fs as omit,
133
+ Bs as parallel,
134
+ Rs as parallelMap,
135
+ Es as parseLLMList,
136
+ Fs as parseRDFLiteral,
137
+ vs as parseRelations,
138
+ Ms as people,
139
+ xs as phailForge,
140
+ Ns as pick,
141
+ ks as pipe,
142
+ Ls as popReference,
143
+ Os as probeScan,
144
+ As as promptCache,
145
+ ws as promptPiece,
146
+ Gs as prompts,
147
+ Ds as questions,
148
+ Us as rangeCombinations,
149
+ Vs as reduce,
150
+ Ws as relationSpec,
151
+ _s as relations,
152
+ qs as relationsFilterInstructions,
153
+ zs as relationsFindInstructions,
154
+ Qs as relationsGroupInstructions,
155
+ Ys as relationsMapInstructions,
156
+ js as relationsReduceInstructions,
157
+ Ks as resolveModel,
158
+ Js as retry,
159
+ Xs as ringBuffer,
160
+ Hs as scale,
161
+ Zs as scaleFilterInstructions,
162
+ $s as scaleFindInstructions,
163
+ ae as scaleGroupInstructions,
164
+ se as scaleMapInstructions,
165
+ ee as scaleReduceInstructions,
166
+ te as scaleSpec,
167
+ re as schemaOrg,
168
+ ie as schemas,
169
+ ce as scientificFramingPrompt,
170
+ ne as scopeOperation,
171
+ oe as scopeProgress,
172
+ le as score,
173
+ be as scoreFilterInstructions,
174
+ pe as scoreFindInstructions,
175
+ me as scoreGroupInstructions,
176
+ ue as scoreItem,
177
+ de as scoreMapInstructions,
178
+ ge as scoreReduceInstructions,
179
+ Ie as scoreSpec,
180
+ Se as sentiment,
181
+ he as services,
182
+ ye as setEmbedEnabled,
183
+ Te as setInterval,
184
+ Ce as shuffle,
185
+ Pe as simplifyTree,
186
+ fe as socratic,
187
+ Be as softCoverPrompt,
188
+ Re as sort,
189
+ Ee as sortBy,
190
+ Fe as split,
191
+ ve as stripNumeric,
192
+ Me as stripResponse,
193
+ xe as summaryMap,
194
+ Ne as tagSpec,
195
+ ke as tagVocabulary,
196
+ Le as tags,
197
+ Oe as tagsFilterInstructions,
198
+ Ae as tagsFindInstructions,
199
+ we as tagsGroupInstructions,
200
+ Ge as tagsMapInstructions,
201
+ De as tagsReduceInstructions,
202
+ Ue as templateReplace,
203
+ Ve as themes,
204
+ We as timeline,
205
+ _e as toBool,
206
+ qe as toDate,
207
+ ze as toEnum,
208
+ Qe as toNumber,
209
+ Ye as toNumberWithUnits,
210
+ je as toObject,
211
+ Ke as truncate,
212
+ Je as unionBy,
213
+ Xe as vectorSearch,
214
+ He as veiledVariantStrategies,
215
+ Ze as veiledVariants,
216
+ $e as version,
217
+ at as windowFor,
218
+ st as withInactivityTimeout,
219
+ et as withPolicy,
220
+ tt as zipWith
221
+ };