@vellumai/assistant 0.4.54 → 0.4.56

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 (1483) hide show
  1. package/ARCHITECTURE.md +157 -163
  2. package/Dockerfile +6 -9
  3. package/README.md +1 -1
  4. package/bun.lock +145 -112
  5. package/docs/architecture/integrations.md +22 -22
  6. package/docs/architecture/memory.md +50 -50
  7. package/docs/architecture/security.md +2 -2
  8. package/docs/credential-execution-service.md +411 -0
  9. package/knip.json +5 -1
  10. package/node_modules/@vellumai/ces-contracts/bun.lock +29 -0
  11. package/node_modules/@vellumai/ces-contracts/package.json +24 -0
  12. package/node_modules/@vellumai/ces-contracts/src/__tests__/contracts.test.ts +293 -0
  13. package/node_modules/@vellumai/ces-contracts/src/__tests__/grants.test.ts +686 -0
  14. package/node_modules/@vellumai/ces-contracts/src/error.ts +25 -0
  15. package/node_modules/@vellumai/ces-contracts/src/grants.ts +184 -0
  16. package/node_modules/@vellumai/ces-contracts/src/handles.ts +213 -0
  17. package/node_modules/@vellumai/ces-contracts/src/index.ts +147 -0
  18. package/node_modules/@vellumai/ces-contracts/src/rendering.ts +135 -0
  19. package/node_modules/@vellumai/ces-contracts/src/rpc.ts +511 -0
  20. package/node_modules/@vellumai/ces-contracts/tsconfig.json +20 -0
  21. package/node_modules/@vellumai/credential-storage/bun.lock +24 -0
  22. package/node_modules/@vellumai/credential-storage/package.json +17 -0
  23. package/node_modules/@vellumai/credential-storage/src/__tests__/package-boundary.test.ts +151 -0
  24. package/node_modules/@vellumai/credential-storage/src/index.ts +213 -0
  25. package/node_modules/@vellumai/credential-storage/src/oauth-runtime.ts +340 -0
  26. package/node_modules/@vellumai/credential-storage/src/static-credentials.ts +365 -0
  27. package/node_modules/@vellumai/credential-storage/tsconfig.json +20 -0
  28. package/node_modules/@vellumai/egress-proxy/bun.lock +24 -0
  29. package/node_modules/@vellumai/egress-proxy/package.json +17 -0
  30. package/node_modules/@vellumai/egress-proxy/src/__tests__/package-boundary.test.ts +131 -0
  31. package/node_modules/@vellumai/egress-proxy/src/index.ts +54 -0
  32. package/node_modules/@vellumai/egress-proxy/src/session-core.ts +466 -0
  33. package/node_modules/@vellumai/egress-proxy/src/types.ts +227 -0
  34. package/node_modules/@vellumai/egress-proxy/tsconfig.json +20 -0
  35. package/node_modules/zod/LICENSE +21 -0
  36. package/node_modules/zod/README.md +208 -0
  37. package/node_modules/zod/index.cjs +33 -0
  38. package/node_modules/zod/index.d.cts +4 -0
  39. package/node_modules/zod/index.d.ts +4 -0
  40. package/node_modules/zod/index.js +4 -0
  41. package/node_modules/zod/locales/index.cjs +17 -0
  42. package/node_modules/zod/locales/index.d.cts +1 -0
  43. package/node_modules/zod/locales/index.d.ts +1 -0
  44. package/node_modules/zod/locales/index.js +1 -0
  45. package/node_modules/zod/locales/package.json +6 -0
  46. package/node_modules/zod/mini/index.cjs +32 -0
  47. package/node_modules/zod/mini/index.d.cts +3 -0
  48. package/node_modules/zod/mini/index.d.ts +3 -0
  49. package/node_modules/zod/mini/index.js +3 -0
  50. package/node_modules/zod/mini/package.json +6 -0
  51. package/node_modules/zod/package.json +135 -0
  52. package/node_modules/zod/src/index.ts +4 -0
  53. package/node_modules/zod/src/locales/index.ts +1 -0
  54. package/node_modules/zod/src/mini/index.ts +3 -0
  55. package/node_modules/zod/src/v3/ZodError.ts +330 -0
  56. package/node_modules/zod/src/v3/benchmarks/datetime.ts +58 -0
  57. package/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +80 -0
  58. package/node_modules/zod/src/v3/benchmarks/index.ts +59 -0
  59. package/node_modules/zod/src/v3/benchmarks/ipv4.ts +57 -0
  60. package/node_modules/zod/src/v3/benchmarks/object.ts +69 -0
  61. package/node_modules/zod/src/v3/benchmarks/primitives.ts +162 -0
  62. package/node_modules/zod/src/v3/benchmarks/realworld.ts +63 -0
  63. package/node_modules/zod/src/v3/benchmarks/string.ts +55 -0
  64. package/node_modules/zod/src/v3/benchmarks/union.ts +80 -0
  65. package/node_modules/zod/src/v3/errors.ts +13 -0
  66. package/node_modules/zod/src/v3/external.ts +6 -0
  67. package/node_modules/zod/src/v3/helpers/enumUtil.ts +17 -0
  68. package/node_modules/zod/src/v3/helpers/errorUtil.ts +8 -0
  69. package/node_modules/zod/src/v3/helpers/parseUtil.ts +176 -0
  70. package/node_modules/zod/src/v3/helpers/partialUtil.ts +34 -0
  71. package/node_modules/zod/src/v3/helpers/typeAliases.ts +2 -0
  72. package/node_modules/zod/src/v3/helpers/util.ts +224 -0
  73. package/node_modules/zod/src/v3/index.ts +4 -0
  74. package/node_modules/zod/src/v3/locales/en.ts +124 -0
  75. package/node_modules/zod/src/v3/standard-schema.ts +113 -0
  76. package/node_modules/zod/src/v3/tests/Mocker.ts +54 -0
  77. package/node_modules/zod/src/v3/tests/all-errors.test.ts +157 -0
  78. package/node_modules/zod/src/v3/tests/anyunknown.test.ts +28 -0
  79. package/node_modules/zod/src/v3/tests/array.test.ts +71 -0
  80. package/node_modules/zod/src/v3/tests/async-parsing.test.ts +388 -0
  81. package/node_modules/zod/src/v3/tests/async-refinements.test.ts +46 -0
  82. package/node_modules/zod/src/v3/tests/base.test.ts +29 -0
  83. package/node_modules/zod/src/v3/tests/bigint.test.ts +55 -0
  84. package/node_modules/zod/src/v3/tests/branded.test.ts +53 -0
  85. package/node_modules/zod/src/v3/tests/catch.test.ts +220 -0
  86. package/node_modules/zod/src/v3/tests/coerce.test.ts +133 -0
  87. package/node_modules/zod/src/v3/tests/complex.test.ts +70 -0
  88. package/node_modules/zod/src/v3/tests/custom.test.ts +31 -0
  89. package/node_modules/zod/src/v3/tests/date.test.ts +32 -0
  90. package/node_modules/zod/src/v3/tests/deepmasking.test.ts +186 -0
  91. package/node_modules/zod/src/v3/tests/default.test.ts +112 -0
  92. package/node_modules/zod/src/v3/tests/description.test.ts +33 -0
  93. package/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +315 -0
  94. package/node_modules/zod/src/v3/tests/enum.test.ts +80 -0
  95. package/node_modules/zod/src/v3/tests/error.test.ts +551 -0
  96. package/node_modules/zod/src/v3/tests/firstparty.test.ts +87 -0
  97. package/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +21 -0
  98. package/node_modules/zod/src/v3/tests/function.test.ts +261 -0
  99. package/node_modules/zod/src/v3/tests/generics.test.ts +48 -0
  100. package/node_modules/zod/src/v3/tests/instanceof.test.ts +37 -0
  101. package/node_modules/zod/src/v3/tests/intersection.test.ts +110 -0
  102. package/node_modules/zod/src/v3/tests/language-server.source.ts +76 -0
  103. package/node_modules/zod/src/v3/tests/language-server.test.ts +207 -0
  104. package/node_modules/zod/src/v3/tests/literal.test.ts +36 -0
  105. package/node_modules/zod/src/v3/tests/map.test.ts +110 -0
  106. package/node_modules/zod/src/v3/tests/masking.test.ts +4 -0
  107. package/node_modules/zod/src/v3/tests/mocker.test.ts +19 -0
  108. package/node_modules/zod/src/v3/tests/nan.test.ts +24 -0
  109. package/node_modules/zod/src/v3/tests/nativeEnum.test.ts +87 -0
  110. package/node_modules/zod/src/v3/tests/nullable.test.ts +42 -0
  111. package/node_modules/zod/src/v3/tests/number.test.ts +176 -0
  112. package/node_modules/zod/src/v3/tests/object-augmentation.test.ts +29 -0
  113. package/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +29 -0
  114. package/node_modules/zod/src/v3/tests/object.test.ts +434 -0
  115. package/node_modules/zod/src/v3/tests/optional.test.ts +42 -0
  116. package/node_modules/zod/src/v3/tests/parseUtil.test.ts +23 -0
  117. package/node_modules/zod/src/v3/tests/parser.test.ts +41 -0
  118. package/node_modules/zod/src/v3/tests/partials.test.ts +243 -0
  119. package/node_modules/zod/src/v3/tests/pickomit.test.ts +111 -0
  120. package/node_modules/zod/src/v3/tests/pipeline.test.ts +29 -0
  121. package/node_modules/zod/src/v3/tests/preprocess.test.ts +186 -0
  122. package/node_modules/zod/src/v3/tests/primitive.test.ts +440 -0
  123. package/node_modules/zod/src/v3/tests/promise.test.ts +90 -0
  124. package/node_modules/zod/src/v3/tests/readonly.test.ts +194 -0
  125. package/node_modules/zod/src/v3/tests/record.test.ts +171 -0
  126. package/node_modules/zod/src/v3/tests/recursive.test.ts +197 -0
  127. package/node_modules/zod/src/v3/tests/refine.test.ts +313 -0
  128. package/node_modules/zod/src/v3/tests/safeparse.test.ts +27 -0
  129. package/node_modules/zod/src/v3/tests/set.test.ts +142 -0
  130. package/node_modules/zod/src/v3/tests/standard-schema.test.ts +83 -0
  131. package/node_modules/zod/src/v3/tests/string.test.ts +916 -0
  132. package/node_modules/zod/src/v3/tests/transformer.test.ts +233 -0
  133. package/node_modules/zod/src/v3/tests/tuple.test.ts +90 -0
  134. package/node_modules/zod/src/v3/tests/unions.test.ts +57 -0
  135. package/node_modules/zod/src/v3/tests/validations.test.ts +133 -0
  136. package/node_modules/zod/src/v3/tests/void.test.ts +15 -0
  137. package/node_modules/zod/src/v3/types.ts +5138 -0
  138. package/node_modules/zod/src/v4/classic/checks.ts +32 -0
  139. package/node_modules/zod/src/v4/classic/coerce.ts +27 -0
  140. package/node_modules/zod/src/v4/classic/compat.ts +70 -0
  141. package/node_modules/zod/src/v4/classic/errors.ts +82 -0
  142. package/node_modules/zod/src/v4/classic/external.ts +51 -0
  143. package/node_modules/zod/src/v4/classic/from-json-schema.ts +643 -0
  144. package/node_modules/zod/src/v4/classic/index.ts +5 -0
  145. package/node_modules/zod/src/v4/classic/iso.ts +90 -0
  146. package/node_modules/zod/src/v4/classic/parse.ts +82 -0
  147. package/node_modules/zod/src/v4/classic/schemas.ts +2409 -0
  148. package/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +26 -0
  149. package/node_modules/zod/src/v4/classic/tests/apply.test.ts +59 -0
  150. package/node_modules/zod/src/v4/classic/tests/array.test.ts +264 -0
  151. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +210 -0
  152. package/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +381 -0
  153. package/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +68 -0
  154. package/node_modules/zod/src/v4/classic/tests/base.test.ts +7 -0
  155. package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +54 -0
  156. package/node_modules/zod/src/v4/classic/tests/brand.test.ts +106 -0
  157. package/node_modules/zod/src/v4/classic/tests/catch.test.ts +276 -0
  158. package/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +20 -0
  159. package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +573 -0
  160. package/node_modules/zod/src/v4/classic/tests/codec.test.ts +562 -0
  161. package/node_modules/zod/src/v4/classic/tests/coerce.test.ts +160 -0
  162. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +374 -0
  163. package/node_modules/zod/src/v4/classic/tests/custom.test.ts +40 -0
  164. package/node_modules/zod/src/v4/classic/tests/date.test.ts +62 -0
  165. package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +302 -0
  166. package/node_modules/zod/src/v4/classic/tests/default.test.ts +365 -0
  167. package/node_modules/zod/src/v4/classic/tests/describe-meta-checks.test.ts +27 -0
  168. package/node_modules/zod/src/v4/classic/tests/description.test.ts +32 -0
  169. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +661 -0
  170. package/node_modules/zod/src/v4/classic/tests/enum.test.ts +285 -0
  171. package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +595 -0
  172. package/node_modules/zod/src/v4/classic/tests/error.test.ts +711 -0
  173. package/node_modules/zod/src/v4/classic/tests/file.test.ts +96 -0
  174. package/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +179 -0
  175. package/node_modules/zod/src/v4/classic/tests/fix-json-issue.test.ts +26 -0
  176. package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +734 -0
  177. package/node_modules/zod/src/v4/classic/tests/function.test.ts +360 -0
  178. package/node_modules/zod/src/v4/classic/tests/generics.test.ts +72 -0
  179. package/node_modules/zod/src/v4/classic/tests/hash.test.ts +68 -0
  180. package/node_modules/zod/src/v4/classic/tests/index.test.ts +939 -0
  181. package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +60 -0
  182. package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +198 -0
  183. package/node_modules/zod/src/v4/classic/tests/json.test.ts +109 -0
  184. package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +227 -0
  185. package/node_modules/zod/src/v4/classic/tests/literal.test.ts +117 -0
  186. package/node_modules/zod/src/v4/classic/tests/map.test.ts +330 -0
  187. package/node_modules/zod/src/v4/classic/tests/nan.test.ts +21 -0
  188. package/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +168 -0
  189. package/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +101 -0
  190. package/node_modules/zod/src/v4/classic/tests/nullable.test.ts +22 -0
  191. package/node_modules/zod/src/v4/classic/tests/number.test.ts +270 -0
  192. package/node_modules/zod/src/v4/classic/tests/object.test.ts +640 -0
  193. package/node_modules/zod/src/v4/classic/tests/optional.test.ts +223 -0
  194. package/node_modules/zod/src/v4/classic/tests/partial.test.ts +427 -0
  195. package/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +211 -0
  196. package/node_modules/zod/src/v4/classic/tests/pipe.test.ts +101 -0
  197. package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +74 -0
  198. package/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +282 -0
  199. package/node_modules/zod/src/v4/classic/tests/primitive.test.ts +175 -0
  200. package/node_modules/zod/src/v4/classic/tests/promise.test.ts +81 -0
  201. package/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +23 -0
  202. package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +252 -0
  203. package/node_modules/zod/src/v4/classic/tests/record.test.ts +632 -0
  204. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +582 -0
  205. package/node_modules/zod/src/v4/classic/tests/refine.test.ts +570 -0
  206. package/node_modules/zod/src/v4/classic/tests/registries.test.ts +243 -0
  207. package/node_modules/zod/src/v4/classic/tests/set.test.ts +181 -0
  208. package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +134 -0
  209. package/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +125 -0
  210. package/node_modules/zod/src/v4/classic/tests/string.test.ts +1175 -0
  211. package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +106 -0
  212. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +771 -0
  213. package/node_modules/zod/src/v4/classic/tests/to-json-schema-methods.test.ts +438 -0
  214. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +2990 -0
  215. package/node_modules/zod/src/v4/classic/tests/transform.test.ts +361 -0
  216. package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +183 -0
  217. package/node_modules/zod/src/v4/classic/tests/union.test.ts +219 -0
  218. package/node_modules/zod/src/v4/classic/tests/url.test.ts +13 -0
  219. package/node_modules/zod/src/v4/classic/tests/validations.test.ts +283 -0
  220. package/node_modules/zod/src/v4/classic/tests/void.test.ts +12 -0
  221. package/node_modules/zod/src/v4/core/api.ts +1798 -0
  222. package/node_modules/zod/src/v4/core/checks.ts +1293 -0
  223. package/node_modules/zod/src/v4/core/config.ts +15 -0
  224. package/node_modules/zod/src/v4/core/core.ts +138 -0
  225. package/node_modules/zod/src/v4/core/doc.ts +44 -0
  226. package/node_modules/zod/src/v4/core/errors.ts +448 -0
  227. package/node_modules/zod/src/v4/core/index.ts +16 -0
  228. package/node_modules/zod/src/v4/core/json-schema-generator.ts +126 -0
  229. package/node_modules/zod/src/v4/core/json-schema-processors.ts +667 -0
  230. package/node_modules/zod/src/v4/core/json-schema.ts +147 -0
  231. package/node_modules/zod/src/v4/core/parse.ts +195 -0
  232. package/node_modules/zod/src/v4/core/regexes.ts +183 -0
  233. package/node_modules/zod/src/v4/core/registries.ts +105 -0
  234. package/node_modules/zod/src/v4/core/schemas.ts +4538 -0
  235. package/node_modules/zod/src/v4/core/standard-schema.ts +159 -0
  236. package/node_modules/zod/src/v4/core/tests/extend.test.ts +59 -0
  237. package/node_modules/zod/src/v4/core/tests/index.test.ts +46 -0
  238. package/node_modules/zod/src/v4/core/tests/locales/be.test.ts +124 -0
  239. package/node_modules/zod/src/v4/core/tests/locales/en.test.ts +22 -0
  240. package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +181 -0
  241. package/node_modules/zod/src/v4/core/tests/locales/he.test.ts +379 -0
  242. package/node_modules/zod/src/v4/core/tests/locales/nl.test.ts +46 -0
  243. package/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +128 -0
  244. package/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +69 -0
  245. package/node_modules/zod/src/v4/core/tests/locales/uz.test.ts +83 -0
  246. package/node_modules/zod/src/v4/core/tests/record-constructor.test.ts +67 -0
  247. package/node_modules/zod/src/v4/core/tests/recursive-tuples.test.ts +45 -0
  248. package/node_modules/zod/src/v4/core/to-json-schema.ts +613 -0
  249. package/node_modules/zod/src/v4/core/util.ts +966 -0
  250. package/node_modules/zod/src/v4/core/versions.ts +5 -0
  251. package/node_modules/zod/src/v4/core/zsf.ts +323 -0
  252. package/node_modules/zod/src/v4/index.ts +4 -0
  253. package/node_modules/zod/src/v4/locales/ar.ts +115 -0
  254. package/node_modules/zod/src/v4/locales/az.ts +111 -0
  255. package/node_modules/zod/src/v4/locales/be.ts +176 -0
  256. package/node_modules/zod/src/v4/locales/bg.ts +128 -0
  257. package/node_modules/zod/src/v4/locales/ca.ts +116 -0
  258. package/node_modules/zod/src/v4/locales/cs.ts +118 -0
  259. package/node_modules/zod/src/v4/locales/da.ts +123 -0
  260. package/node_modules/zod/src/v4/locales/de.ts +116 -0
  261. package/node_modules/zod/src/v4/locales/en.ts +119 -0
  262. package/node_modules/zod/src/v4/locales/eo.ts +118 -0
  263. package/node_modules/zod/src/v4/locales/es.ts +141 -0
  264. package/node_modules/zod/src/v4/locales/fa.ts +126 -0
  265. package/node_modules/zod/src/v4/locales/fi.ts +121 -0
  266. package/node_modules/zod/src/v4/locales/fr-CA.ts +116 -0
  267. package/node_modules/zod/src/v4/locales/fr.ts +116 -0
  268. package/node_modules/zod/src/v4/locales/he.ts +246 -0
  269. package/node_modules/zod/src/v4/locales/hu.ts +117 -0
  270. package/node_modules/zod/src/v4/locales/hy.ts +164 -0
  271. package/node_modules/zod/src/v4/locales/id.ts +115 -0
  272. package/node_modules/zod/src/v4/locales/index.ts +49 -0
  273. package/node_modules/zod/src/v4/locales/is.ts +119 -0
  274. package/node_modules/zod/src/v4/locales/it.ts +116 -0
  275. package/node_modules/zod/src/v4/locales/ja.ts +114 -0
  276. package/node_modules/zod/src/v4/locales/ka.ts +123 -0
  277. package/node_modules/zod/src/v4/locales/kh.ts +7 -0
  278. package/node_modules/zod/src/v4/locales/km.ts +119 -0
  279. package/node_modules/zod/src/v4/locales/ko.ts +121 -0
  280. package/node_modules/zod/src/v4/locales/lt.ts +239 -0
  281. package/node_modules/zod/src/v4/locales/mk.ts +118 -0
  282. package/node_modules/zod/src/v4/locales/ms.ts +115 -0
  283. package/node_modules/zod/src/v4/locales/nl.ts +121 -0
  284. package/node_modules/zod/src/v4/locales/no.ts +116 -0
  285. package/node_modules/zod/src/v4/locales/ota.ts +117 -0
  286. package/node_modules/zod/src/v4/locales/pl.ts +118 -0
  287. package/node_modules/zod/src/v4/locales/ps.ts +126 -0
  288. package/node_modules/zod/src/v4/locales/pt.ts +116 -0
  289. package/node_modules/zod/src/v4/locales/ru.ts +176 -0
  290. package/node_modules/zod/src/v4/locales/sl.ts +118 -0
  291. package/node_modules/zod/src/v4/locales/sv.ts +119 -0
  292. package/node_modules/zod/src/v4/locales/ta.ts +118 -0
  293. package/node_modules/zod/src/v4/locales/th.ts +119 -0
  294. package/node_modules/zod/src/v4/locales/tr.ts +111 -0
  295. package/node_modules/zod/src/v4/locales/ua.ts +7 -0
  296. package/node_modules/zod/src/v4/locales/uk.ts +117 -0
  297. package/node_modules/zod/src/v4/locales/ur.ts +119 -0
  298. package/node_modules/zod/src/v4/locales/uz.ts +116 -0
  299. package/node_modules/zod/src/v4/locales/vi.ts +117 -0
  300. package/node_modules/zod/src/v4/locales/yo.ts +124 -0
  301. package/node_modules/zod/src/v4/locales/zh-CN.ts +116 -0
  302. package/node_modules/zod/src/v4/locales/zh-TW.ts +115 -0
  303. package/node_modules/zod/src/v4/mini/checks.ts +32 -0
  304. package/node_modules/zod/src/v4/mini/coerce.ts +27 -0
  305. package/node_modules/zod/src/v4/mini/external.ts +40 -0
  306. package/node_modules/zod/src/v4/mini/index.ts +3 -0
  307. package/node_modules/zod/src/v4/mini/iso.ts +66 -0
  308. package/node_modules/zod/src/v4/mini/parse.ts +14 -0
  309. package/node_modules/zod/src/v4/mini/schemas.ts +1916 -0
  310. package/node_modules/zod/src/v4/mini/tests/apply.test.ts +24 -0
  311. package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +129 -0
  312. package/node_modules/zod/src/v4/mini/tests/brand.test.ts +94 -0
  313. package/node_modules/zod/src/v4/mini/tests/checks.test.ts +144 -0
  314. package/node_modules/zod/src/v4/mini/tests/codec.test.ts +529 -0
  315. package/node_modules/zod/src/v4/mini/tests/computed.test.ts +36 -0
  316. package/node_modules/zod/src/v4/mini/tests/error.test.ts +22 -0
  317. package/node_modules/zod/src/v4/mini/tests/functions.test.ts +5 -0
  318. package/node_modules/zod/src/v4/mini/tests/index.test.ts +963 -0
  319. package/node_modules/zod/src/v4/mini/tests/number.test.ts +95 -0
  320. package/node_modules/zod/src/v4/mini/tests/object.test.ts +227 -0
  321. package/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +43 -0
  322. package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +275 -0
  323. package/node_modules/zod/src/v4/mini/tests/standard-schema.test.ts +50 -0
  324. package/node_modules/zod/src/v4/mini/tests/string.test.ts +347 -0
  325. package/node_modules/zod/src/v4-mini/index.ts +3 -0
  326. package/node_modules/zod/v3/ZodError.cjs +138 -0
  327. package/node_modules/zod/v3/ZodError.d.cts +164 -0
  328. package/node_modules/zod/v3/ZodError.d.ts +164 -0
  329. package/node_modules/zod/v3/ZodError.js +133 -0
  330. package/node_modules/zod/v3/errors.cjs +17 -0
  331. package/node_modules/zod/v3/errors.d.cts +5 -0
  332. package/node_modules/zod/v3/errors.d.ts +5 -0
  333. package/node_modules/zod/v3/errors.js +9 -0
  334. package/node_modules/zod/v3/external.cjs +22 -0
  335. package/node_modules/zod/v3/external.d.cts +6 -0
  336. package/node_modules/zod/v3/external.d.ts +6 -0
  337. package/node_modules/zod/v3/external.js +6 -0
  338. package/node_modules/zod/v3/helpers/enumUtil.cjs +2 -0
  339. package/node_modules/zod/v3/helpers/enumUtil.d.cts +8 -0
  340. package/node_modules/zod/v3/helpers/enumUtil.d.ts +8 -0
  341. package/node_modules/zod/v3/helpers/enumUtil.js +1 -0
  342. package/node_modules/zod/v3/helpers/errorUtil.cjs +9 -0
  343. package/node_modules/zod/v3/helpers/errorUtil.d.cts +9 -0
  344. package/node_modules/zod/v3/helpers/errorUtil.d.ts +9 -0
  345. package/node_modules/zod/v3/helpers/errorUtil.js +6 -0
  346. package/node_modules/zod/v3/helpers/parseUtil.cjs +124 -0
  347. package/node_modules/zod/v3/helpers/parseUtil.d.cts +78 -0
  348. package/node_modules/zod/v3/helpers/parseUtil.d.ts +78 -0
  349. package/node_modules/zod/v3/helpers/parseUtil.js +109 -0
  350. package/node_modules/zod/v3/helpers/partialUtil.cjs +2 -0
  351. package/node_modules/zod/v3/helpers/partialUtil.d.cts +8 -0
  352. package/node_modules/zod/v3/helpers/partialUtil.d.ts +8 -0
  353. package/node_modules/zod/v3/helpers/partialUtil.js +1 -0
  354. package/node_modules/zod/v3/helpers/typeAliases.cjs +2 -0
  355. package/node_modules/zod/v3/helpers/typeAliases.d.cts +2 -0
  356. package/node_modules/zod/v3/helpers/typeAliases.d.ts +2 -0
  357. package/node_modules/zod/v3/helpers/typeAliases.js +1 -0
  358. package/node_modules/zod/v3/helpers/util.cjs +137 -0
  359. package/node_modules/zod/v3/helpers/util.d.cts +85 -0
  360. package/node_modules/zod/v3/helpers/util.d.ts +85 -0
  361. package/node_modules/zod/v3/helpers/util.js +133 -0
  362. package/node_modules/zod/v3/index.cjs +33 -0
  363. package/node_modules/zod/v3/index.d.cts +4 -0
  364. package/node_modules/zod/v3/index.d.ts +4 -0
  365. package/node_modules/zod/v3/index.js +4 -0
  366. package/node_modules/zod/v3/locales/en.cjs +112 -0
  367. package/node_modules/zod/v3/locales/en.d.cts +3 -0
  368. package/node_modules/zod/v3/locales/en.d.ts +3 -0
  369. package/node_modules/zod/v3/locales/en.js +109 -0
  370. package/node_modules/zod/v3/package.json +6 -0
  371. package/node_modules/zod/v3/standard-schema.cjs +2 -0
  372. package/node_modules/zod/v3/standard-schema.d.cts +102 -0
  373. package/node_modules/zod/v3/standard-schema.d.ts +102 -0
  374. package/node_modules/zod/v3/standard-schema.js +1 -0
  375. package/node_modules/zod/v3/types.cjs +3777 -0
  376. package/node_modules/zod/v3/types.d.cts +1034 -0
  377. package/node_modules/zod/v3/types.d.ts +1034 -0
  378. package/node_modules/zod/v3/types.js +3695 -0
  379. package/node_modules/zod/v4/classic/checks.cjs +33 -0
  380. package/node_modules/zod/v4/classic/checks.d.cts +1 -0
  381. package/node_modules/zod/v4/classic/checks.d.ts +1 -0
  382. package/node_modules/zod/v4/classic/checks.js +1 -0
  383. package/node_modules/zod/v4/classic/coerce.cjs +47 -0
  384. package/node_modules/zod/v4/classic/coerce.d.cts +17 -0
  385. package/node_modules/zod/v4/classic/coerce.d.ts +17 -0
  386. package/node_modules/zod/v4/classic/coerce.js +17 -0
  387. package/node_modules/zod/v4/classic/compat.cjs +61 -0
  388. package/node_modules/zod/v4/classic/compat.d.cts +50 -0
  389. package/node_modules/zod/v4/classic/compat.d.ts +50 -0
  390. package/node_modules/zod/v4/classic/compat.js +31 -0
  391. package/node_modules/zod/v4/classic/errors.cjs +74 -0
  392. package/node_modules/zod/v4/classic/errors.d.cts +30 -0
  393. package/node_modules/zod/v4/classic/errors.d.ts +30 -0
  394. package/node_modules/zod/v4/classic/errors.js +48 -0
  395. package/node_modules/zod/v4/classic/external.cjs +73 -0
  396. package/node_modules/zod/v4/classic/external.d.cts +15 -0
  397. package/node_modules/zod/v4/classic/external.d.ts +15 -0
  398. package/node_modules/zod/v4/classic/external.js +20 -0
  399. package/node_modules/zod/v4/classic/from-json-schema.cjs +610 -0
  400. package/node_modules/zod/v4/classic/from-json-schema.d.cts +12 -0
  401. package/node_modules/zod/v4/classic/from-json-schema.d.ts +12 -0
  402. package/node_modules/zod/v4/classic/from-json-schema.js +584 -0
  403. package/node_modules/zod/v4/classic/index.cjs +33 -0
  404. package/node_modules/zod/v4/classic/index.d.cts +4 -0
  405. package/node_modules/zod/v4/classic/index.d.ts +4 -0
  406. package/node_modules/zod/v4/classic/index.js +4 -0
  407. package/node_modules/zod/v4/classic/iso.cjs +60 -0
  408. package/node_modules/zod/v4/classic/iso.d.cts +22 -0
  409. package/node_modules/zod/v4/classic/iso.d.ts +22 -0
  410. package/node_modules/zod/v4/classic/iso.js +30 -0
  411. package/node_modules/zod/v4/classic/package.json +6 -0
  412. package/node_modules/zod/v4/classic/parse.cjs +41 -0
  413. package/node_modules/zod/v4/classic/parse.d.cts +31 -0
  414. package/node_modules/zod/v4/classic/parse.d.ts +31 -0
  415. package/node_modules/zod/v4/classic/parse.js +15 -0
  416. package/node_modules/zod/v4/classic/schemas.cjs +1272 -0
  417. package/node_modules/zod/v4/classic/schemas.d.cts +739 -0
  418. package/node_modules/zod/v4/classic/schemas.d.ts +739 -0
  419. package/node_modules/zod/v4/classic/schemas.js +1157 -0
  420. package/node_modules/zod/v4/core/api.cjs +1222 -0
  421. package/node_modules/zod/v4/core/api.d.cts +304 -0
  422. package/node_modules/zod/v4/core/api.d.ts +304 -0
  423. package/node_modules/zod/v4/core/api.js +1082 -0
  424. package/node_modules/zod/v4/core/checks.cjs +601 -0
  425. package/node_modules/zod/v4/core/checks.d.cts +278 -0
  426. package/node_modules/zod/v4/core/checks.d.ts +278 -0
  427. package/node_modules/zod/v4/core/checks.js +575 -0
  428. package/node_modules/zod/v4/core/core.cjs +83 -0
  429. package/node_modules/zod/v4/core/core.d.cts +70 -0
  430. package/node_modules/zod/v4/core/core.d.ts +70 -0
  431. package/node_modules/zod/v4/core/core.js +76 -0
  432. package/node_modules/zod/v4/core/doc.cjs +39 -0
  433. package/node_modules/zod/v4/core/doc.d.cts +14 -0
  434. package/node_modules/zod/v4/core/doc.d.ts +14 -0
  435. package/node_modules/zod/v4/core/doc.js +35 -0
  436. package/node_modules/zod/v4/core/errors.cjs +213 -0
  437. package/node_modules/zod/v4/core/errors.d.cts +220 -0
  438. package/node_modules/zod/v4/core/errors.d.ts +220 -0
  439. package/node_modules/zod/v4/core/errors.js +182 -0
  440. package/node_modules/zod/v4/core/index.cjs +47 -0
  441. package/node_modules/zod/v4/core/index.d.cts +16 -0
  442. package/node_modules/zod/v4/core/index.d.ts +16 -0
  443. package/node_modules/zod/v4/core/index.js +16 -0
  444. package/node_modules/zod/v4/core/json-schema-generator.cjs +99 -0
  445. package/node_modules/zod/v4/core/json-schema-generator.d.cts +65 -0
  446. package/node_modules/zod/v4/core/json-schema-generator.d.ts +65 -0
  447. package/node_modules/zod/v4/core/json-schema-generator.js +95 -0
  448. package/node_modules/zod/v4/core/json-schema-processors.cjs +648 -0
  449. package/node_modules/zod/v4/core/json-schema-processors.d.cts +49 -0
  450. package/node_modules/zod/v4/core/json-schema-processors.d.ts +49 -0
  451. package/node_modules/zod/v4/core/json-schema-processors.js +605 -0
  452. package/node_modules/zod/v4/core/json-schema.cjs +2 -0
  453. package/node_modules/zod/v4/core/json-schema.d.cts +88 -0
  454. package/node_modules/zod/v4/core/json-schema.d.ts +88 -0
  455. package/node_modules/zod/v4/core/json-schema.js +1 -0
  456. package/node_modules/zod/v4/core/package.json +6 -0
  457. package/node_modules/zod/v4/core/parse.cjs +131 -0
  458. package/node_modules/zod/v4/core/parse.d.cts +49 -0
  459. package/node_modules/zod/v4/core/parse.d.ts +49 -0
  460. package/node_modules/zod/v4/core/parse.js +93 -0
  461. package/node_modules/zod/v4/core/regexes.cjs +166 -0
  462. package/node_modules/zod/v4/core/regexes.d.cts +79 -0
  463. package/node_modules/zod/v4/core/regexes.d.ts +79 -0
  464. package/node_modules/zod/v4/core/regexes.js +133 -0
  465. package/node_modules/zod/v4/core/registries.cjs +56 -0
  466. package/node_modules/zod/v4/core/registries.d.cts +35 -0
  467. package/node_modules/zod/v4/core/registries.d.ts +35 -0
  468. package/node_modules/zod/v4/core/registries.js +51 -0
  469. package/node_modules/zod/v4/core/schemas.cjs +2124 -0
  470. package/node_modules/zod/v4/core/schemas.d.cts +1146 -0
  471. package/node_modules/zod/v4/core/schemas.d.ts +1146 -0
  472. package/node_modules/zod/v4/core/schemas.js +2093 -0
  473. package/node_modules/zod/v4/core/standard-schema.cjs +2 -0
  474. package/node_modules/zod/v4/core/standard-schema.d.cts +126 -0
  475. package/node_modules/zod/v4/core/standard-schema.d.ts +126 -0
  476. package/node_modules/zod/v4/core/standard-schema.js +1 -0
  477. package/node_modules/zod/v4/core/to-json-schema.cjs +446 -0
  478. package/node_modules/zod/v4/core/to-json-schema.d.cts +114 -0
  479. package/node_modules/zod/v4/core/to-json-schema.d.ts +114 -0
  480. package/node_modules/zod/v4/core/to-json-schema.js +437 -0
  481. package/node_modules/zod/v4/core/util.cjs +710 -0
  482. package/node_modules/zod/v4/core/util.d.cts +199 -0
  483. package/node_modules/zod/v4/core/util.d.ts +199 -0
  484. package/node_modules/zod/v4/core/util.js +651 -0
  485. package/node_modules/zod/v4/core/versions.cjs +8 -0
  486. package/node_modules/zod/v4/core/versions.d.cts +5 -0
  487. package/node_modules/zod/v4/core/versions.d.ts +5 -0
  488. package/node_modules/zod/v4/core/versions.js +5 -0
  489. package/node_modules/zod/v4/index.cjs +22 -0
  490. package/node_modules/zod/v4/index.d.cts +3 -0
  491. package/node_modules/zod/v4/index.d.ts +3 -0
  492. package/node_modules/zod/v4/index.js +3 -0
  493. package/node_modules/zod/v4/locales/ar.cjs +133 -0
  494. package/node_modules/zod/v4/locales/ar.d.cts +5 -0
  495. package/node_modules/zod/v4/locales/ar.d.ts +4 -0
  496. package/node_modules/zod/v4/locales/ar.js +106 -0
  497. package/node_modules/zod/v4/locales/az.cjs +132 -0
  498. package/node_modules/zod/v4/locales/az.d.cts +5 -0
  499. package/node_modules/zod/v4/locales/az.d.ts +4 -0
  500. package/node_modules/zod/v4/locales/az.js +105 -0
  501. package/node_modules/zod/v4/locales/be.cjs +183 -0
  502. package/node_modules/zod/v4/locales/be.d.cts +5 -0
  503. package/node_modules/zod/v4/locales/be.d.ts +4 -0
  504. package/node_modules/zod/v4/locales/be.js +156 -0
  505. package/node_modules/zod/v4/locales/bg.cjs +147 -0
  506. package/node_modules/zod/v4/locales/bg.d.cts +5 -0
  507. package/node_modules/zod/v4/locales/bg.d.ts +4 -0
  508. package/node_modules/zod/v4/locales/bg.js +120 -0
  509. package/node_modules/zod/v4/locales/ca.cjs +134 -0
  510. package/node_modules/zod/v4/locales/ca.d.cts +5 -0
  511. package/node_modules/zod/v4/locales/ca.d.ts +4 -0
  512. package/node_modules/zod/v4/locales/ca.js +107 -0
  513. package/node_modules/zod/v4/locales/cs.cjs +138 -0
  514. package/node_modules/zod/v4/locales/cs.d.cts +5 -0
  515. package/node_modules/zod/v4/locales/cs.d.ts +4 -0
  516. package/node_modules/zod/v4/locales/cs.js +111 -0
  517. package/node_modules/zod/v4/locales/da.cjs +142 -0
  518. package/node_modules/zod/v4/locales/da.d.cts +5 -0
  519. package/node_modules/zod/v4/locales/da.d.ts +4 -0
  520. package/node_modules/zod/v4/locales/da.js +115 -0
  521. package/node_modules/zod/v4/locales/de.cjs +135 -0
  522. package/node_modules/zod/v4/locales/de.d.cts +5 -0
  523. package/node_modules/zod/v4/locales/de.d.ts +4 -0
  524. package/node_modules/zod/v4/locales/de.js +108 -0
  525. package/node_modules/zod/v4/locales/en.cjs +136 -0
  526. package/node_modules/zod/v4/locales/en.d.cts +5 -0
  527. package/node_modules/zod/v4/locales/en.d.ts +4 -0
  528. package/node_modules/zod/v4/locales/en.js +109 -0
  529. package/node_modules/zod/v4/locales/eo.cjs +136 -0
  530. package/node_modules/zod/v4/locales/eo.d.cts +5 -0
  531. package/node_modules/zod/v4/locales/eo.d.ts +4 -0
  532. package/node_modules/zod/v4/locales/eo.js +109 -0
  533. package/node_modules/zod/v4/locales/es.cjs +159 -0
  534. package/node_modules/zod/v4/locales/es.d.cts +5 -0
  535. package/node_modules/zod/v4/locales/es.d.ts +4 -0
  536. package/node_modules/zod/v4/locales/es.js +132 -0
  537. package/node_modules/zod/v4/locales/fa.cjs +141 -0
  538. package/node_modules/zod/v4/locales/fa.d.cts +5 -0
  539. package/node_modules/zod/v4/locales/fa.d.ts +4 -0
  540. package/node_modules/zod/v4/locales/fa.js +114 -0
  541. package/node_modules/zod/v4/locales/fi.cjs +139 -0
  542. package/node_modules/zod/v4/locales/fi.d.cts +5 -0
  543. package/node_modules/zod/v4/locales/fi.d.ts +4 -0
  544. package/node_modules/zod/v4/locales/fi.js +112 -0
  545. package/node_modules/zod/v4/locales/fr-CA.cjs +134 -0
  546. package/node_modules/zod/v4/locales/fr-CA.d.cts +5 -0
  547. package/node_modules/zod/v4/locales/fr-CA.d.ts +4 -0
  548. package/node_modules/zod/v4/locales/fr-CA.js +107 -0
  549. package/node_modules/zod/v4/locales/fr.cjs +135 -0
  550. package/node_modules/zod/v4/locales/fr.d.cts +5 -0
  551. package/node_modules/zod/v4/locales/fr.d.ts +4 -0
  552. package/node_modules/zod/v4/locales/fr.js +108 -0
  553. package/node_modules/zod/v4/locales/he.cjs +241 -0
  554. package/node_modules/zod/v4/locales/he.d.cts +5 -0
  555. package/node_modules/zod/v4/locales/he.d.ts +4 -0
  556. package/node_modules/zod/v4/locales/he.js +214 -0
  557. package/node_modules/zod/v4/locales/hu.cjs +135 -0
  558. package/node_modules/zod/v4/locales/hu.d.cts +5 -0
  559. package/node_modules/zod/v4/locales/hu.d.ts +4 -0
  560. package/node_modules/zod/v4/locales/hu.js +108 -0
  561. package/node_modules/zod/v4/locales/hy.cjs +174 -0
  562. package/node_modules/zod/v4/locales/hy.d.cts +5 -0
  563. package/node_modules/zod/v4/locales/hy.d.ts +4 -0
  564. package/node_modules/zod/v4/locales/hy.js +147 -0
  565. package/node_modules/zod/v4/locales/id.cjs +133 -0
  566. package/node_modules/zod/v4/locales/id.d.cts +5 -0
  567. package/node_modules/zod/v4/locales/id.d.ts +4 -0
  568. package/node_modules/zod/v4/locales/id.js +106 -0
  569. package/node_modules/zod/v4/locales/index.cjs +104 -0
  570. package/node_modules/zod/v4/locales/index.d.cts +49 -0
  571. package/node_modules/zod/v4/locales/index.d.ts +49 -0
  572. package/node_modules/zod/v4/locales/index.js +49 -0
  573. package/node_modules/zod/v4/locales/is.cjs +136 -0
  574. package/node_modules/zod/v4/locales/is.d.cts +5 -0
  575. package/node_modules/zod/v4/locales/is.d.ts +4 -0
  576. package/node_modules/zod/v4/locales/is.js +109 -0
  577. package/node_modules/zod/v4/locales/it.cjs +135 -0
  578. package/node_modules/zod/v4/locales/it.d.cts +5 -0
  579. package/node_modules/zod/v4/locales/it.d.ts +4 -0
  580. package/node_modules/zod/v4/locales/it.js +108 -0
  581. package/node_modules/zod/v4/locales/ja.cjs +134 -0
  582. package/node_modules/zod/v4/locales/ja.d.cts +5 -0
  583. package/node_modules/zod/v4/locales/ja.d.ts +4 -0
  584. package/node_modules/zod/v4/locales/ja.js +107 -0
  585. package/node_modules/zod/v4/locales/ka.cjs +139 -0
  586. package/node_modules/zod/v4/locales/ka.d.cts +5 -0
  587. package/node_modules/zod/v4/locales/ka.d.ts +4 -0
  588. package/node_modules/zod/v4/locales/ka.js +112 -0
  589. package/node_modules/zod/v4/locales/kh.cjs +12 -0
  590. package/node_modules/zod/v4/locales/kh.d.cts +5 -0
  591. package/node_modules/zod/v4/locales/kh.d.ts +5 -0
  592. package/node_modules/zod/v4/locales/kh.js +5 -0
  593. package/node_modules/zod/v4/locales/km.cjs +137 -0
  594. package/node_modules/zod/v4/locales/km.d.cts +5 -0
  595. package/node_modules/zod/v4/locales/km.d.ts +4 -0
  596. package/node_modules/zod/v4/locales/km.js +110 -0
  597. package/node_modules/zod/v4/locales/ko.cjs +138 -0
  598. package/node_modules/zod/v4/locales/ko.d.cts +5 -0
  599. package/node_modules/zod/v4/locales/ko.d.ts +4 -0
  600. package/node_modules/zod/v4/locales/ko.js +111 -0
  601. package/node_modules/zod/v4/locales/lt.cjs +230 -0
  602. package/node_modules/zod/v4/locales/lt.d.cts +5 -0
  603. package/node_modules/zod/v4/locales/lt.d.ts +4 -0
  604. package/node_modules/zod/v4/locales/lt.js +203 -0
  605. package/node_modules/zod/v4/locales/mk.cjs +136 -0
  606. package/node_modules/zod/v4/locales/mk.d.cts +5 -0
  607. package/node_modules/zod/v4/locales/mk.d.ts +4 -0
  608. package/node_modules/zod/v4/locales/mk.js +109 -0
  609. package/node_modules/zod/v4/locales/ms.cjs +134 -0
  610. package/node_modules/zod/v4/locales/ms.d.cts +5 -0
  611. package/node_modules/zod/v4/locales/ms.d.ts +4 -0
  612. package/node_modules/zod/v4/locales/ms.js +107 -0
  613. package/node_modules/zod/v4/locales/nl.cjs +137 -0
  614. package/node_modules/zod/v4/locales/nl.d.cts +5 -0
  615. package/node_modules/zod/v4/locales/nl.d.ts +4 -0
  616. package/node_modules/zod/v4/locales/nl.js +110 -0
  617. package/node_modules/zod/v4/locales/no.cjs +135 -0
  618. package/node_modules/zod/v4/locales/no.d.cts +5 -0
  619. package/node_modules/zod/v4/locales/no.d.ts +4 -0
  620. package/node_modules/zod/v4/locales/no.js +108 -0
  621. package/node_modules/zod/v4/locales/ota.cjs +136 -0
  622. package/node_modules/zod/v4/locales/ota.d.cts +5 -0
  623. package/node_modules/zod/v4/locales/ota.d.ts +4 -0
  624. package/node_modules/zod/v4/locales/ota.js +109 -0
  625. package/node_modules/zod/v4/locales/package.json +6 -0
  626. package/node_modules/zod/v4/locales/pl.cjs +136 -0
  627. package/node_modules/zod/v4/locales/pl.d.cts +5 -0
  628. package/node_modules/zod/v4/locales/pl.d.ts +4 -0
  629. package/node_modules/zod/v4/locales/pl.js +109 -0
  630. package/node_modules/zod/v4/locales/ps.cjs +141 -0
  631. package/node_modules/zod/v4/locales/ps.d.cts +5 -0
  632. package/node_modules/zod/v4/locales/ps.d.ts +4 -0
  633. package/node_modules/zod/v4/locales/ps.js +114 -0
  634. package/node_modules/zod/v4/locales/pt.cjs +135 -0
  635. package/node_modules/zod/v4/locales/pt.d.cts +5 -0
  636. package/node_modules/zod/v4/locales/pt.d.ts +4 -0
  637. package/node_modules/zod/v4/locales/pt.js +108 -0
  638. package/node_modules/zod/v4/locales/ru.cjs +183 -0
  639. package/node_modules/zod/v4/locales/ru.d.cts +5 -0
  640. package/node_modules/zod/v4/locales/ru.d.ts +4 -0
  641. package/node_modules/zod/v4/locales/ru.js +156 -0
  642. package/node_modules/zod/v4/locales/sl.cjs +136 -0
  643. package/node_modules/zod/v4/locales/sl.d.cts +5 -0
  644. package/node_modules/zod/v4/locales/sl.d.ts +4 -0
  645. package/node_modules/zod/v4/locales/sl.js +109 -0
  646. package/node_modules/zod/v4/locales/sv.cjs +137 -0
  647. package/node_modules/zod/v4/locales/sv.d.cts +5 -0
  648. package/node_modules/zod/v4/locales/sv.d.ts +4 -0
  649. package/node_modules/zod/v4/locales/sv.js +110 -0
  650. package/node_modules/zod/v4/locales/ta.cjs +137 -0
  651. package/node_modules/zod/v4/locales/ta.d.cts +5 -0
  652. package/node_modules/zod/v4/locales/ta.d.ts +4 -0
  653. package/node_modules/zod/v4/locales/ta.js +110 -0
  654. package/node_modules/zod/v4/locales/th.cjs +137 -0
  655. package/node_modules/zod/v4/locales/th.d.cts +5 -0
  656. package/node_modules/zod/v4/locales/th.d.ts +4 -0
  657. package/node_modules/zod/v4/locales/th.js +110 -0
  658. package/node_modules/zod/v4/locales/tr.cjs +132 -0
  659. package/node_modules/zod/v4/locales/tr.d.cts +5 -0
  660. package/node_modules/zod/v4/locales/tr.d.ts +4 -0
  661. package/node_modules/zod/v4/locales/tr.js +105 -0
  662. package/node_modules/zod/v4/locales/ua.cjs +12 -0
  663. package/node_modules/zod/v4/locales/ua.d.cts +5 -0
  664. package/node_modules/zod/v4/locales/ua.d.ts +5 -0
  665. package/node_modules/zod/v4/locales/ua.js +5 -0
  666. package/node_modules/zod/v4/locales/uk.cjs +135 -0
  667. package/node_modules/zod/v4/locales/uk.d.cts +5 -0
  668. package/node_modules/zod/v4/locales/uk.d.ts +4 -0
  669. package/node_modules/zod/v4/locales/uk.js +108 -0
  670. package/node_modules/zod/v4/locales/ur.cjs +137 -0
  671. package/node_modules/zod/v4/locales/ur.d.cts +5 -0
  672. package/node_modules/zod/v4/locales/ur.d.ts +4 -0
  673. package/node_modules/zod/v4/locales/ur.js +110 -0
  674. package/node_modules/zod/v4/locales/uz.cjs +136 -0
  675. package/node_modules/zod/v4/locales/uz.d.cts +5 -0
  676. package/node_modules/zod/v4/locales/uz.d.ts +4 -0
  677. package/node_modules/zod/v4/locales/uz.js +109 -0
  678. package/node_modules/zod/v4/locales/vi.cjs +135 -0
  679. package/node_modules/zod/v4/locales/vi.d.cts +5 -0
  680. package/node_modules/zod/v4/locales/vi.d.ts +4 -0
  681. package/node_modules/zod/v4/locales/vi.js +108 -0
  682. package/node_modules/zod/v4/locales/yo.cjs +134 -0
  683. package/node_modules/zod/v4/locales/yo.d.cts +5 -0
  684. package/node_modules/zod/v4/locales/yo.d.ts +4 -0
  685. package/node_modules/zod/v4/locales/yo.js +107 -0
  686. package/node_modules/zod/v4/locales/zh-CN.cjs +136 -0
  687. package/node_modules/zod/v4/locales/zh-CN.d.cts +5 -0
  688. package/node_modules/zod/v4/locales/zh-CN.d.ts +4 -0
  689. package/node_modules/zod/v4/locales/zh-CN.js +109 -0
  690. package/node_modules/zod/v4/locales/zh-TW.cjs +134 -0
  691. package/node_modules/zod/v4/locales/zh-TW.d.cts +5 -0
  692. package/node_modules/zod/v4/locales/zh-TW.d.ts +4 -0
  693. package/node_modules/zod/v4/locales/zh-TW.js +107 -0
  694. package/node_modules/zod/v4/mini/checks.cjs +34 -0
  695. package/node_modules/zod/v4/mini/checks.d.cts +1 -0
  696. package/node_modules/zod/v4/mini/checks.d.ts +1 -0
  697. package/node_modules/zod/v4/mini/checks.js +1 -0
  698. package/node_modules/zod/v4/mini/coerce.cjs +52 -0
  699. package/node_modules/zod/v4/mini/coerce.d.cts +7 -0
  700. package/node_modules/zod/v4/mini/coerce.d.ts +7 -0
  701. package/node_modules/zod/v4/mini/coerce.js +22 -0
  702. package/node_modules/zod/v4/mini/external.cjs +63 -0
  703. package/node_modules/zod/v4/mini/external.d.cts +12 -0
  704. package/node_modules/zod/v4/mini/external.d.ts +12 -0
  705. package/node_modules/zod/v4/mini/external.js +14 -0
  706. package/node_modules/zod/v4/mini/index.cjs +32 -0
  707. package/node_modules/zod/v4/mini/index.d.cts +3 -0
  708. package/node_modules/zod/v4/mini/index.d.ts +3 -0
  709. package/node_modules/zod/v4/mini/index.js +3 -0
  710. package/node_modules/zod/v4/mini/iso.cjs +64 -0
  711. package/node_modules/zod/v4/mini/iso.d.cts +22 -0
  712. package/node_modules/zod/v4/mini/iso.d.ts +22 -0
  713. package/node_modules/zod/v4/mini/iso.js +34 -0
  714. package/node_modules/zod/v4/mini/package.json +6 -0
  715. package/node_modules/zod/v4/mini/parse.cjs +16 -0
  716. package/node_modules/zod/v4/mini/parse.d.cts +1 -0
  717. package/node_modules/zod/v4/mini/parse.d.ts +1 -0
  718. package/node_modules/zod/v4/mini/parse.js +1 -0
  719. package/node_modules/zod/v4/mini/schemas.cjs +1046 -0
  720. package/node_modules/zod/v4/mini/schemas.d.cts +427 -0
  721. package/node_modules/zod/v4/mini/schemas.d.ts +427 -0
  722. package/node_modules/zod/v4/mini/schemas.js +925 -0
  723. package/node_modules/zod/v4/package.json +6 -0
  724. package/node_modules/zod/v4-mini/index.cjs +32 -0
  725. package/node_modules/zod/v4-mini/index.d.cts +3 -0
  726. package/node_modules/zod/v4-mini/index.d.ts +3 -0
  727. package/node_modules/zod/v4-mini/index.js +3 -0
  728. package/node_modules/zod/v4-mini/package.json +6 -0
  729. package/package.json +13 -2
  730. package/src/__tests__/acp-session.test.ts +292 -0
  731. package/src/__tests__/actor-token-service.test.ts +3 -3
  732. package/src/__tests__/always-loaded-tools-guard.test.ts +1 -1
  733. package/src/__tests__/anthropic-provider.test.ts +168 -46
  734. package/src/__tests__/app-builder-tool-scripts.test.ts +0 -1
  735. package/src/__tests__/approval-cascade.test.ts +121 -95
  736. package/src/__tests__/approval-primitive.test.ts +2 -2
  737. package/src/__tests__/approval-routes-http.test.ts +41 -26
  738. package/src/__tests__/asset-materialize-tool.test.ts +9 -16
  739. package/src/__tests__/asset-search-tool.test.ts +5 -12
  740. package/src/__tests__/assistant-attachments.test.ts +27 -0
  741. package/src/__tests__/assistant-event-hub.test.ts +14 -10
  742. package/src/__tests__/assistant-event.test.ts +9 -9
  743. package/src/__tests__/assistant-feature-flag-guardrails.test.ts +6 -1
  744. package/src/__tests__/assistant-feature-flags-integration.test.ts +139 -22
  745. package/src/__tests__/attachments-store.test.ts +1 -1
  746. package/src/__tests__/avatar-e2e.test.ts +16 -6
  747. package/src/__tests__/avatar-generator.test.ts +4 -7
  748. package/src/__tests__/browser-fill-credential.test.ts +17 -18
  749. package/src/__tests__/browser-skill-endstate.test.ts +1 -1
  750. package/src/__tests__/btw-routes.test.ts +21 -9
  751. package/src/__tests__/call-controller.test.ts +229 -202
  752. package/src/__tests__/call-pointer-messages.test.ts +12 -10
  753. package/src/__tests__/call-routes-http.test.ts +2 -2
  754. package/src/__tests__/call-start-guardian-guard.test.ts +0 -1
  755. package/src/__tests__/canonical-guardian-store.test.ts +8 -10
  756. package/src/__tests__/channel-approval-routes.test.ts +5 -5
  757. package/src/__tests__/channel-approval.test.ts +1 -1
  758. package/src/__tests__/channel-approvals.test.ts +13 -13
  759. package/src/__tests__/channel-guardian.test.ts +3 -3
  760. package/src/__tests__/channel-invite-transport.test.ts +5 -1
  761. package/src/__tests__/channel-readiness-routes.test.ts +4 -0
  762. package/src/__tests__/channel-reply-delivery.test.ts +1 -1
  763. package/src/__tests__/checker.test.ts +1 -1
  764. package/src/__tests__/claude-code-skill-regression.test.ts +67 -1
  765. package/src/__tests__/claude-code-tool-profiles.test.ts +1 -1
  766. package/src/__tests__/clipboard.test.ts +6 -6
  767. package/src/__tests__/commit-guarantee.test.ts +9 -9
  768. package/src/__tests__/commit-message-enrichment-service.test.ts +37 -6
  769. package/src/__tests__/computer-use-tools.test.ts +0 -1
  770. package/src/__tests__/config-loader-backfill.test.ts +6 -4
  771. package/src/__tests__/config-schema-cmd.test.ts +258 -0
  772. package/src/__tests__/config-schema.test.ts +38 -30
  773. package/src/__tests__/config-watcher.test.ts +25 -24
  774. package/src/__tests__/confirmation-request-guardian-bridge.test.ts +16 -14
  775. package/src/__tests__/contacts-tools.test.ts +0 -1
  776. package/src/__tests__/context-overflow-approval.test.ts +2 -2
  777. package/src/__tests__/{session-abort-tool-results.test.ts → conversation-abort-tool-results.test.ts} +24 -11
  778. package/src/__tests__/{session-agent-loop-overflow.test.ts → conversation-agent-loop-overflow.test.ts} +234 -59
  779. package/src/__tests__/{session-agent-loop.test.ts → conversation-agent-loop.test.ts} +77 -61
  780. package/src/__tests__/{session-approval-overrides.test.ts → conversation-approval-overrides.test.ts} +23 -23
  781. package/src/__tests__/conversation-attachments.test.ts +227 -0
  782. package/src/__tests__/conversation-attention-telegram.test.ts +2 -2
  783. package/src/__tests__/{session-confirmation-signals.test.ts → conversation-confirmation-signals.test.ts} +62 -52
  784. package/src/__tests__/{session-error.test.ts → conversation-error.test.ts} +65 -57
  785. package/src/__tests__/{session-evictor.test.ts → conversation-evictor.test.ts} +21 -17
  786. package/src/__tests__/{session-history-web-search.test.ts → conversation-history-web-search.test.ts} +34 -10
  787. package/src/__tests__/{session-init.benchmark.test.ts → conversation-init.benchmark.test.ts} +23 -23
  788. package/src/__tests__/{session-load-history-repair.test.ts → conversation-load-history-repair.test.ts} +38 -38
  789. package/src/__tests__/{session-media-retry.test.ts → conversation-media-retry.test.ts} +1 -1
  790. package/src/__tests__/{session-messaging-secret-redirect.test.ts → conversation-messaging-secret-redirect.test.ts} +1 -1
  791. package/src/__tests__/conversation-pairing.test.ts +46 -46
  792. package/src/__tests__/{session-pre-run-repair.test.ts → conversation-pre-run-repair.test.ts} +24 -11
  793. package/src/__tests__/{session-provider-retry-repair.test.ts → conversation-provider-retry-repair.test.ts} +59 -46
  794. package/src/__tests__/{session-queue.test.ts → conversation-queue.test.ts} +241 -220
  795. package/src/__tests__/conversation-routes-guardian-reply.test.ts +26 -26
  796. package/src/__tests__/conversation-routes-slash-commands.test.ts +33 -56
  797. package/src/__tests__/{session-runtime-assembly.test.ts → conversation-runtime-assembly.test.ts} +2 -2
  798. package/src/__tests__/{session-runtime-workspace.test.ts → conversation-runtime-workspace.test.ts} +1 -1
  799. package/src/__tests__/{thread-seed-composer.test.ts → conversation-seed-composer.test.ts} +50 -48
  800. package/src/__tests__/{session-skill-tools.test.ts → conversation-skill-tools.test.ts} +11 -13
  801. package/src/__tests__/{session-slash-queue.test.ts → conversation-slash-queue.test.ts} +55 -46
  802. package/src/__tests__/{session-slash-unknown.test.ts → conversation-slash-unknown.test.ts} +31 -75
  803. package/src/__tests__/conversation-store.test.ts +61 -55
  804. package/src/__tests__/{session-surfaces-deselection.test.ts → conversation-surfaces-deselection.test.ts} +5 -5
  805. package/src/__tests__/{session-surfaces-task-progress.test.ts → conversation-surfaces-task-progress.test.ts} +7 -7
  806. package/src/__tests__/{session-tool-setup-app-refresh.test.ts → conversation-tool-setup-app-refresh.test.ts} +5 -5
  807. package/src/__tests__/{session-tool-setup-memory-scope.test.ts → conversation-tool-setup-memory-scope.test.ts} +4 -4
  808. package/src/__tests__/{session-tool-setup-side-effect-flag.test.ts → conversation-tool-setup-side-effect-flag.test.ts} +4 -4
  809. package/src/__tests__/{session-tool-setup-tools-disabled.test.ts → conversation-tool-setup-tools-disabled.test.ts} +3 -3
  810. package/src/__tests__/{session-undo.test.ts → conversation-undo.test.ts} +1 -1
  811. package/src/__tests__/conversation-unread-route.test.ts +4 -0
  812. package/src/__tests__/{session-usage.test.ts → conversation-usage.test.ts} +1 -1
  813. package/src/__tests__/{session-workspace-cache-state.test.ts → conversation-workspace-cache-state.test.ts} +29 -36
  814. package/src/__tests__/{session-workspace-injection.test.ts → conversation-workspace-injection.test.ts} +58 -51
  815. package/src/__tests__/{session-workspace-tool-tracking.test.ts → conversation-workspace-tool-tracking.test.ts} +54 -47
  816. package/src/__tests__/credential-execution-admin-cli.test.ts +504 -0
  817. package/src/__tests__/credential-execution-api-key-propagation.test.ts +309 -0
  818. package/src/__tests__/credential-execution-approval-bridge.test.ts +535 -0
  819. package/src/__tests__/credential-execution-client.test.ts +380 -0
  820. package/src/__tests__/credential-execution-feature-gates.test.ts +169 -0
  821. package/src/__tests__/credential-execution-managed-contract.test.ts +526 -0
  822. package/src/__tests__/credential-execution-shell-lockdown.test.ts +149 -0
  823. package/src/__tests__/credential-execution-tools.test.ts +279 -0
  824. package/src/__tests__/credential-security-e2e.test.ts +0 -1
  825. package/src/__tests__/credential-security-invariants.test.ts +4 -8
  826. package/src/__tests__/credential-storage-oauth-compat.test.ts +606 -0
  827. package/src/__tests__/credential-storage-static-compat.test.ts +396 -0
  828. package/src/__tests__/credential-vault-unit.test.ts +0 -1
  829. package/src/__tests__/credential-vault.test.ts +0 -1
  830. package/src/__tests__/credentials-cli.test.ts +10 -22
  831. package/src/__tests__/cu-unified-flow.test.ts +8 -6
  832. package/src/__tests__/daemon-assistant-events.test.ts +15 -12
  833. package/src/__tests__/delete-managed-skill-tool.test.ts +0 -1
  834. package/src/__tests__/diagnostics-export.test.ts +30 -0
  835. package/src/__tests__/dynamic-page-surface.test.ts +2 -2
  836. package/src/__tests__/dynamic-skill-workflow-prompt.test.ts +19 -5
  837. package/src/__tests__/emit-signal-routing-intent.test.ts +1 -1
  838. package/src/__tests__/event-bus.test.ts +2 -6
  839. package/src/__tests__/file-edit-tool.test.ts +0 -1
  840. package/src/__tests__/file-read-tool.test.ts +0 -1
  841. package/src/__tests__/file-write-tool.test.ts +0 -1
  842. package/src/__tests__/fixtures/mock-signup-server.ts +2 -2
  843. package/src/__tests__/followup-tools.test.ts +25 -26
  844. package/src/__tests__/frontmatter.test.ts +12 -10
  845. package/src/__tests__/guardian-action-late-reply.test.ts +1 -1
  846. package/src/__tests__/guardian-action-no-hardcoded-copy.test.ts +1 -1
  847. package/src/__tests__/guardian-decision-primitive-canonical.test.ts +15 -15
  848. package/src/__tests__/guardian-dispatch.test.ts +9 -9
  849. package/src/__tests__/guardian-grant-minting.test.ts +5 -5
  850. package/src/__tests__/guardian-question-copy.test.ts +10 -8
  851. package/src/__tests__/guardian-routing-invariants.test.ts +61 -61
  852. package/src/__tests__/guardian-routing-state.test.ts +1 -1
  853. package/src/__tests__/guardian-verification-voice-binding.test.ts +1 -1
  854. package/src/__tests__/handlers-user-message-approval-consumption.test.ts +20 -16
  855. package/src/__tests__/headless-browser-interactions.test.ts +18 -17
  856. package/src/__tests__/headless-browser-navigate.test.ts +0 -1
  857. package/src/__tests__/headless-browser-read-tools.test.ts +5 -6
  858. package/src/__tests__/headless-browser-snapshot.test.ts +12 -9
  859. package/src/__tests__/heartbeat-service.test.ts +5 -4
  860. package/src/__tests__/hooks-ts-runner.test.ts +10 -4
  861. package/src/__tests__/host-bash-proxy.test.ts +50 -1
  862. package/src/__tests__/host-cu-proxy.test.ts +1 -1
  863. package/src/__tests__/host-file-edit-tool.test.ts +0 -1
  864. package/src/__tests__/host-file-proxy.test.ts +1 -1
  865. package/src/__tests__/host-file-read-tool.test.ts +0 -1
  866. package/src/__tests__/host-file-write-tool.test.ts +0 -1
  867. package/src/__tests__/host-shell-tool.test.ts +64 -5
  868. package/src/__tests__/http-user-message-parity.test.ts +32 -19
  869. package/src/__tests__/intent-routing.test.ts +71 -84
  870. package/src/__tests__/invite-redemption-service.test.ts +35 -0
  871. package/src/__tests__/keychain-broker-client.test.ts +150 -0
  872. package/src/__tests__/list-messages-attachments.test.ts +4 -4
  873. package/src/__tests__/log-export-workspace.test.ts +133 -60
  874. package/src/__tests__/managed-credential-catalog-cli.test.ts +349 -0
  875. package/src/__tests__/managed-skill-lifecycle.test.ts +14 -2
  876. package/src/__tests__/managed-store.test.ts +0 -38
  877. package/src/__tests__/media-generate-image.test.ts +19 -2
  878. package/src/__tests__/media-reuse-story.e2e.test.ts +82 -70
  879. package/src/__tests__/media-visibility-policy.test.ts +10 -10
  880. package/src/__tests__/memory-query-builder.test.ts +2 -2
  881. package/src/__tests__/memory-regressions.test.ts +67 -30
  882. package/src/__tests__/messaging-send-tool.test.ts +0 -2
  883. package/src/__tests__/no-domain-routing-in-prompt-guard.test.ts +51 -0
  884. package/src/__tests__/notification-broadcaster.test.ts +42 -40
  885. package/src/__tests__/{notification-thread-candidate-validation.test.ts → notification-conversation-candidate-validation.test.ts} +26 -24
  886. package/src/__tests__/{notification-thread-candidates.test.ts → notification-conversation-candidates.test.ts} +15 -15
  887. package/src/__tests__/notification-decision-fallback.test.ts +6 -6
  888. package/src/__tests__/notification-decision-identity.test.ts +209 -0
  889. package/src/__tests__/notification-decision-strategy.test.ts +40 -38
  890. package/src/__tests__/notification-deep-link.test.ts +18 -18
  891. package/src/__tests__/notification-guardian-path.test.ts +13 -10
  892. package/src/__tests__/notification-telegram-adapter.test.ts +5 -5
  893. package/src/__tests__/oauth-store.test.ts +1 -5
  894. package/src/__tests__/permission-types.test.ts +1 -1
  895. package/src/__tests__/playbook-execution.test.ts +0 -1
  896. package/src/__tests__/playbook-tools.test.ts +0 -1
  897. package/src/__tests__/provider-commit-message-generator.test.ts +7 -6
  898. package/src/__tests__/provider-fail-open-selection.test.ts +22 -28
  899. package/src/__tests__/provider-managed-proxy-integration.test.ts +35 -56
  900. package/src/__tests__/provider-registry-ollama.test.ts +13 -2
  901. package/src/__tests__/proxy-approval-callback.test.ts +2 -2
  902. package/src/__tests__/recording-handler.test.ts +20 -20
  903. package/src/__tests__/relay-server.test.ts +8 -5
  904. package/src/__tests__/require-fresh-approval.test.ts +532 -0
  905. package/src/__tests__/resolve-trust-class.test.ts +2 -2
  906. package/src/__tests__/runtime-events-sse-parity.test.ts +21 -21
  907. package/src/__tests__/runtime-events-sse.test.ts +15 -7
  908. package/src/__tests__/scaffold-managed-skill-tool.test.ts +1 -4
  909. package/src/__tests__/schedule-tools.test.ts +0 -1
  910. package/src/__tests__/scoped-approval-grants.test.ts +6 -6
  911. package/src/__tests__/scoped-grant-security-matrix.test.ts +1 -1
  912. package/src/__tests__/{script-proxy-session-manager.test.ts → script-proxy-conversation-manager.test.ts} +4 -1
  913. package/src/__tests__/secret-onetime-send.test.ts +0 -4
  914. package/src/__tests__/secret-response-routing.test.ts +1 -1
  915. package/src/__tests__/secret-routes-managed-proxy.test.ts +79 -2
  916. package/src/__tests__/secret-scanner-executor.test.ts +0 -2
  917. package/src/__tests__/send-endpoint-busy.test.ts +73 -60
  918. package/src/__tests__/send-notification-tool.test.ts +1 -3
  919. package/src/__tests__/sequence-store.test.ts +5 -5
  920. package/src/__tests__/shell-credential-ref.test.ts +1 -2
  921. package/src/__tests__/shell-tool-proxy-mode.test.ts +2 -3
  922. package/src/__tests__/skill-feature-flags-integration.test.ts +1 -2
  923. package/src/__tests__/skill-feature-flags.test.ts +7 -8
  924. package/src/__tests__/skill-include-graph.test.ts +1 -2
  925. package/src/__tests__/skill-load-feature-flag.test.ts +10 -11
  926. package/src/__tests__/skill-load-tool.test.ts +19 -15
  927. package/src/__tests__/skill-projection-feature-flag.test.ts +4 -6
  928. package/src/__tests__/skill-projection.benchmark.test.ts +3 -5
  929. package/src/__tests__/skill-script-runner-host.test.ts +3 -4
  930. package/src/__tests__/skill-script-runner-sandbox.test.ts +3 -4
  931. package/src/__tests__/skill-script-runner.test.ts +0 -1
  932. package/src/__tests__/skill-tool-factory.test.ts +0 -1
  933. package/src/__tests__/skills.test.ts +0 -37
  934. package/src/__tests__/slack-skill.test.ts +0 -4
  935. package/src/__tests__/starter-task-flow.test.ts +3 -3
  936. package/src/__tests__/subagent-manager-notify.test.ts +45 -40
  937. package/src/__tests__/subagent-tools.test.ts +78 -69
  938. package/src/__tests__/subagent-types.test.ts +3 -3
  939. package/src/__tests__/surface-mutex-cleanup.test.ts +1 -1
  940. package/src/__tests__/{swarm-session-integration.test.ts → swarm-conversation-integration.test.ts} +13 -1
  941. package/src/__tests__/swarm-recursion.test.ts +21 -9
  942. package/src/__tests__/swarm-tool.test.ts +14 -1
  943. package/src/__tests__/system-prompt.test.ts +34 -16
  944. package/src/__tests__/task-compiler.test.ts +1 -1
  945. package/src/__tests__/task-management-tools.test.ts +1 -2
  946. package/src/__tests__/terminal-sandbox.test.ts +6 -0
  947. package/src/__tests__/terminal-tools.test.ts +1 -1
  948. package/src/__tests__/token-estimator-accuracy.benchmark.test.ts +2 -2
  949. package/src/__tests__/tool-approval-handler.test.ts +2 -3
  950. package/src/__tests__/tool-audit-listener.test.ts +0 -6
  951. package/src/__tests__/tool-domain-event-publisher.test.ts +0 -11
  952. package/src/__tests__/tool-execution-abort-cleanup.test.ts +67 -14
  953. package/src/__tests__/tool-execution-pipeline.benchmark.test.ts +0 -1
  954. package/src/__tests__/tool-executor-lifecycle-events.test.ts +3 -6
  955. package/src/__tests__/tool-executor-shell-integration.test.ts +0 -1
  956. package/src/__tests__/tool-executor.test.ts +20 -20
  957. package/src/__tests__/tool-grant-request-escalation.test.ts +8 -9
  958. package/src/__tests__/tool-metrics-listener.test.ts +0 -9
  959. package/src/__tests__/tool-notification-listener.test.ts +0 -2
  960. package/src/__tests__/tool-preview-lifecycle.test.ts +6 -6
  961. package/src/__tests__/tool-profiling-listener.test.ts +0 -7
  962. package/src/__tests__/tool-trace-listener.test.ts +0 -11
  963. package/src/__tests__/trace-emitter.test.ts +1 -1
  964. package/src/__tests__/trust-context-guards.test.ts +1 -1
  965. package/src/__tests__/trusted-contact-approval-notifier.test.ts +1 -1
  966. package/src/__tests__/trusted-contact-inline-approval-integration.test.ts +9 -10
  967. package/src/__tests__/turn-commit.test.ts +3 -3
  968. package/src/__tests__/ui-file-upload-surface.test.ts +2 -2
  969. package/src/__tests__/verification-control-plane-policy.test.ts +0 -1
  970. package/src/__tests__/voice-scoped-grant-consumer.test.ts +4 -4
  971. package/src/__tests__/voice-session-bridge.test.ts +31 -31
  972. package/src/__tests__/workspace-git-service.test.ts +49 -2
  973. package/src/__tests__/workspace-lifecycle.test.ts +6 -6
  974. package/src/__tests__/workspace-migration-add-send-diagnostics.test.ts +59 -0
  975. package/src/__tests__/workspace-migration-avatar-rename.test.ts +128 -0
  976. package/src/__tests__/workspace-migration-extract-collect-usage-data.test.ts +179 -0
  977. package/src/__tests__/workspace-migration-seed-device-id.test.ts +328 -0
  978. package/src/__tests__/workspace-migrations-runner.test.ts +293 -0
  979. package/src/acp/agent-process.ts +201 -0
  980. package/src/acp/client-handler.ts +361 -0
  981. package/src/acp/index.ts +44 -0
  982. package/src/acp/session-manager.ts +348 -0
  983. package/src/acp/types.ts +79 -0
  984. package/src/approvals/AGENTS.md +2 -2
  985. package/src/approvals/approval-primitive.ts +4 -4
  986. package/src/approvals/guardian-decision-primitive.ts +7 -7
  987. package/src/approvals/guardian-request-resolvers.ts +1 -1
  988. package/src/avatar/ascii-renderer.ts +63 -0
  989. package/src/avatar/character-components.ts +454 -0
  990. package/src/avatar/png-renderer.ts +17 -0
  991. package/src/avatar/svg-compositor.ts +90 -0
  992. package/src/avatar/traits-png-sync.ts +133 -0
  993. package/src/calls/call-controller.ts +8 -8
  994. package/src/calls/call-conversation-messages.ts +1 -1
  995. package/src/calls/call-domain.ts +4 -4
  996. package/src/calls/call-pointer-message-composer.ts +2 -2
  997. package/src/calls/call-pointer-messages.ts +10 -10
  998. package/src/calls/guardian-action-sweep.ts +3 -3
  999. package/src/calls/guardian-dispatch.ts +7 -7
  1000. package/src/calls/guardian-question-copy.ts +7 -7
  1001. package/src/calls/relay-server.ts +4 -4
  1002. package/src/calls/twilio-routes.ts +1 -1
  1003. package/src/calls/voice-session-bridge.ts +59 -56
  1004. package/src/cli/AGENTS.md +2 -2
  1005. package/src/cli/commands/avatar.ts +281 -0
  1006. package/src/cli/commands/bash.ts +6 -3
  1007. package/src/cli/commands/channel-verification-sessions.ts +7 -4
  1008. package/src/cli/commands/completions.ts +4 -4
  1009. package/src/cli/commands/config.ts +52 -7
  1010. package/src/cli/commands/{sessions.ts → conversations.ts} +43 -40
  1011. package/src/cli/commands/credential-execution.ts +345 -0
  1012. package/src/cli/commands/credentials.ts +106 -6
  1013. package/src/cli/commands/doctor.ts +9 -3
  1014. package/src/cli/commands/keys.ts +30 -0
  1015. package/src/cli/commands/mcp.ts +2 -2
  1016. package/src/cli/commands/memory.ts +8 -8
  1017. package/src/cli/commands/notifications.ts +2 -2
  1018. package/src/cli/commands/oauth/connections.ts +98 -17
  1019. package/src/cli/commands/oauth/providers.ts +45 -8
  1020. package/src/cli/commands/shotgun.ts +250 -0
  1021. package/src/cli/main-screen.tsx +3 -29
  1022. package/src/cli/program.ts +13 -3
  1023. package/src/cli/reference.ts +4 -2
  1024. package/src/cli.ts +159 -235
  1025. package/src/config/acp-schema.ts +47 -0
  1026. package/src/config/bundled-skills/_shared/CLI_RETRIEVAL_PATTERN.md +14 -12
  1027. package/src/config/bundled-skills/acp/SKILL.md +58 -0
  1028. package/src/config/bundled-skills/acp/TOOLS.json +79 -0
  1029. package/src/config/bundled-skills/{settings/tools/set-avatar.ts → acp/tools/acp-abort.ts} +2 -2
  1030. package/src/config/bundled-skills/acp/tools/acp-spawn.ts +12 -0
  1031. package/src/config/bundled-skills/acp/tools/acp-status.ts +12 -0
  1032. package/src/config/bundled-skills/app-builder/SKILL.md +22 -6
  1033. package/src/config/bundled-skills/browser/SKILL.md +2 -1
  1034. package/src/config/bundled-skills/browser/TOOLS.json +2 -2
  1035. package/src/config/bundled-skills/browser/tools/browser-wait-for-download.ts +1 -1
  1036. package/src/config/bundled-skills/chatgpt-import/SKILL.md +0 -1
  1037. package/src/config/bundled-skills/claude-code/SKILL.md +1 -2
  1038. package/src/config/bundled-skills/claude-code/TOOLS.json +1 -1
  1039. package/src/config/bundled-skills/computer-use/SKILL.md +1 -3
  1040. package/src/config/bundled-skills/contacts/SKILL.md +0 -1
  1041. package/src/config/bundled-skills/contacts/TOOLS.json +4 -0
  1042. package/src/config/bundled-skills/contacts/tools/google-contacts.ts +5 -1
  1043. package/src/config/bundled-skills/followups/SKILL.md +1 -1
  1044. package/src/config/bundled-skills/followups/TOOLS.json +7 -7
  1045. package/src/config/bundled-skills/gmail/SKILL.md +0 -1
  1046. package/src/config/bundled-skills/google-calendar/SKILL.md +0 -1
  1047. package/src/config/bundled-skills/google-calendar/tools/calendar-check-availability.ts +1 -1
  1048. package/src/config/bundled-skills/google-calendar/tools/calendar-create-event.ts +1 -1
  1049. package/src/config/bundled-skills/google-calendar/tools/calendar-get-event.ts +1 -1
  1050. package/src/config/bundled-skills/google-calendar/tools/calendar-list-events.ts +1 -1
  1051. package/src/config/bundled-skills/google-calendar/tools/calendar-rsvp.ts +1 -1
  1052. package/src/config/bundled-skills/google-calendar/tools/shared.ts +1 -5
  1053. package/src/config/bundled-skills/image-studio/SKILL.md +0 -1
  1054. package/src/config/bundled-skills/image-studio/tools/media-generate-image.ts +30 -13
  1055. package/src/config/bundled-skills/media-processing/services/preprocess.ts +5 -1
  1056. package/src/config/bundled-skills/media-processing/tools/analyze-keyframes.ts +3 -3
  1057. package/src/config/bundled-skills/messaging/SKILL.md +11 -13
  1058. package/src/config/bundled-skills/messaging/TOOLS.json +0 -4
  1059. package/src/config/bundled-skills/notifications/SKILL.md +4 -5
  1060. package/src/config/bundled-skills/notifications/TOOLS.json +1 -1
  1061. package/src/config/bundled-skills/notifications/tools/send-notification.ts +2 -2
  1062. package/src/config/bundled-skills/orchestration/SKILL.md +4 -1
  1063. package/src/config/bundled-skills/phone-calls/SKILL.md +20 -8
  1064. package/src/config/bundled-skills/schedule/SKILL.md +1 -1
  1065. package/src/config/bundled-skills/screen-watch/SKILL.md +0 -1
  1066. package/src/config/bundled-skills/sequences/SKILL.md +0 -1
  1067. package/src/config/bundled-skills/sequences/TOOLS.json +4 -4
  1068. package/src/config/bundled-skills/sequences/tools/sequence-create.ts +2 -1
  1069. package/src/config/bundled-skills/sequences/tools/sequence-update.ts +2 -1
  1070. package/src/config/bundled-skills/settings/SKILL.md +2 -3
  1071. package/src/config/bundled-skills/settings/TOOLS.json +0 -22
  1072. package/src/config/bundled-skills/skill-management/SKILL.md +0 -1
  1073. package/src/config/bundled-skills/skill-management/TOOLS.json +0 -8
  1074. package/src/config/bundled-skills/slack/SKILL.md +0 -1
  1075. package/src/config/bundled-skills/subagent/SKILL.md +2 -2
  1076. package/src/config/bundled-skills/subagent/TOOLS.json +2 -2
  1077. package/src/config/bundled-skills/transcribe/tools/transcribe-media.ts +35 -5
  1078. package/src/config/bundled-tool-registry.ts +9 -2
  1079. package/src/config/env.ts +44 -2
  1080. package/src/config/feature-flag-registry.json +161 -25
  1081. package/src/config/loader.ts +3 -0
  1082. package/src/config/raw-config-utils.ts +30 -0
  1083. package/src/config/schema-utils.ts +27 -0
  1084. package/src/config/schema.ts +54 -39
  1085. package/src/config/schemas/calls.ts +219 -152
  1086. package/src/config/schemas/channels.ts +118 -71
  1087. package/src/config/schemas/elevenlabs.ts +39 -24
  1088. package/src/config/schemas/heartbeat.ts +13 -4
  1089. package/src/config/schemas/inference.ts +155 -99
  1090. package/src/config/schemas/ingress.ts +100 -64
  1091. package/src/config/schemas/logging.ts +24 -15
  1092. package/src/config/schemas/mcp.ts +95 -44
  1093. package/src/config/schemas/memory-lifecycle.ts +70 -50
  1094. package/src/config/schemas/memory-processing.ts +46 -25
  1095. package/src/config/schemas/memory-retrieval.ts +206 -139
  1096. package/src/config/schemas/memory-storage.ts +113 -79
  1097. package/src/config/schemas/memory.ts +33 -28
  1098. package/src/config/schemas/notifications.ts +12 -7
  1099. package/src/config/schemas/platform.ts +62 -39
  1100. package/src/config/schemas/sandbox.ts +10 -5
  1101. package/src/config/schemas/security.ts +72 -41
  1102. package/src/config/schemas/services.ts +54 -0
  1103. package/src/config/schemas/skills.ts +131 -81
  1104. package/src/config/schemas/swarm.ts +78 -46
  1105. package/src/config/schemas/timeouts.ts +64 -41
  1106. package/src/config/schemas/workspace-git.ts +219 -162
  1107. package/src/config/skill-state.ts +6 -47
  1108. package/src/config/skills.ts +66 -271
  1109. package/src/config/types.ts +5 -0
  1110. package/src/contacts/contact-store.ts +19 -7
  1111. package/src/contacts/contacts-write.ts +13 -2
  1112. package/src/context/window-manager.ts +1 -1
  1113. package/src/credential-execution/approval-bridge.ts +350 -0
  1114. package/src/credential-execution/client.ts +414 -0
  1115. package/src/credential-execution/executable-discovery.ts +169 -0
  1116. package/src/credential-execution/feature-gates.ts +75 -0
  1117. package/src/credential-execution/managed-catalog.ts +155 -0
  1118. package/src/credential-execution/process-manager.ts +451 -0
  1119. package/src/daemon/approval-generators.ts +13 -7
  1120. package/src/daemon/assistant-attachments.ts +3 -3
  1121. package/src/daemon/config-watcher.ts +21 -13
  1122. package/src/daemon/context-overflow-policy.ts +5 -5
  1123. package/src/daemon/context-overflow-reducer.ts +2 -2
  1124. package/src/daemon/{session-agent-loop-handlers.ts → conversation-agent-loop-handlers.ts} +21 -21
  1125. package/src/daemon/{session-agent-loop.ts → conversation-agent-loop.ts} +93 -72
  1126. package/src/daemon/{session-attachments.ts → conversation-attachments.ts} +35 -9
  1127. package/src/daemon/{session-error.ts → conversation-error.ts} +34 -24
  1128. package/src/daemon/conversation-evictor.ts +204 -0
  1129. package/src/daemon/{session-history.ts → conversation-history.ts} +37 -33
  1130. package/src/daemon/{session-lifecycle.ts → conversation-lifecycle.ts} +16 -16
  1131. package/src/daemon/{session-memory.ts → conversation-memory.ts} +1 -1
  1132. package/src/daemon/{session-messaging.ts → conversation-messaging.ts} +9 -9
  1133. package/src/daemon/{session-notifiers.ts → conversation-notifiers.ts} +25 -25
  1134. package/src/daemon/{session-process.ts → conversation-process.ts} +128 -131
  1135. package/src/daemon/{session-queue-manager.ts → conversation-queue-manager.ts} +11 -8
  1136. package/src/daemon/{session-runtime-assembly.ts → conversation-runtime-assembly.ts} +17 -11
  1137. package/src/daemon/{session-skill-tools.ts → conversation-skill-tools.ts} +18 -18
  1138. package/src/daemon/{session-slash.ts → conversation-slash.ts} +35 -62
  1139. package/src/daemon/{session-surfaces.ts → conversation-surfaces.ts} +34 -34
  1140. package/src/daemon/{session-tool-setup.ts → conversation-tool-setup.ts} +41 -36
  1141. package/src/daemon/{session-usage.ts → conversation-usage.ts} +1 -1
  1142. package/src/daemon/{session-workspace.ts → conversation-workspace.ts} +3 -3
  1143. package/src/daemon/{session.ts → conversation.ts} +96 -73
  1144. package/src/daemon/doordash-steps.ts +9 -8
  1145. package/src/daemon/guardian-action-generators.ts +8 -2
  1146. package/src/daemon/handlers/config-channels.ts +7 -4
  1147. package/src/daemon/handlers/config-model.ts +33 -32
  1148. package/src/daemon/handlers/config-slack-channel.ts +28 -6
  1149. package/src/daemon/handlers/config-voice.ts +1 -2
  1150. package/src/daemon/handlers/{session-history.ts → conversation-history.ts} +4 -4
  1151. package/src/daemon/handlers/{sessions.ts → conversations.ts} +163 -183
  1152. package/src/daemon/handlers/recording.ts +20 -20
  1153. package/src/daemon/handlers/shared.ts +17 -17
  1154. package/src/daemon/handlers/skills.ts +164 -21
  1155. package/src/daemon/history-repair.ts +1 -1
  1156. package/src/daemon/host-bash-proxy.ts +11 -3
  1157. package/src/daemon/host-cu-proxy.ts +2 -2
  1158. package/src/daemon/host-file-proxy.ts +3 -3
  1159. package/src/daemon/lifecycle.ts +103 -78
  1160. package/src/daemon/main.ts +4 -0
  1161. package/src/daemon/media-visibility-policy.ts +10 -10
  1162. package/src/daemon/message-protocol.ts +11 -8
  1163. package/src/daemon/message-types/acp.ts +66 -0
  1164. package/src/daemon/message-types/computer-use.ts +4 -4
  1165. package/src/daemon/message-types/{sessions.ts → conversations.ts} +74 -80
  1166. package/src/daemon/message-types/documents.ts +2 -2
  1167. package/src/daemon/message-types/host-bash.ts +3 -1
  1168. package/src/daemon/message-types/host-cu.ts +1 -1
  1169. package/src/daemon/message-types/host-file.ts +3 -3
  1170. package/src/daemon/message-types/integrations.ts +2 -2
  1171. package/src/daemon/message-types/messages.ts +23 -23
  1172. package/src/daemon/message-types/notifications.ts +5 -5
  1173. package/src/daemon/message-types/settings.ts +1 -1
  1174. package/src/daemon/message-types/shared.ts +5 -3
  1175. package/src/daemon/message-types/skills.ts +1 -10
  1176. package/src/daemon/message-types/subagents.ts +2 -2
  1177. package/src/daemon/message-types/surfaces.ts +7 -7
  1178. package/src/daemon/message-types/work-items.ts +4 -4
  1179. package/src/daemon/parse-actual-tokens-from-error.test.ts +3 -7
  1180. package/src/daemon/providers-setup.ts +79 -0
  1181. package/src/daemon/seed-files.ts +7 -26
  1182. package/src/daemon/server.ts +452 -209
  1183. package/src/daemon/startup-error.ts +126 -0
  1184. package/src/daemon/tool-side-effects.ts +2 -18
  1185. package/src/daemon/trace-emitter.ts +3 -3
  1186. package/src/daemon/verification-session-intent.ts +1 -1
  1187. package/src/daemon/watch-handler.ts +23 -21
  1188. package/src/email/feature-gate.ts +23 -0
  1189. package/src/events/domain-events.ts +2 -8
  1190. package/src/events/tool-domain-event-publisher.ts +0 -8
  1191. package/src/events/tool-metrics-listener.ts +0 -7
  1192. package/src/export/formatter.ts +1 -1
  1193. package/src/followups/followup-store.ts +8 -5
  1194. package/src/followups/types.ts +2 -2
  1195. package/src/heartbeat/heartbeat-service.ts +1 -1
  1196. package/src/hooks/discovery.ts +3 -0
  1197. package/src/hooks/manager.ts +27 -2
  1198. package/src/hooks/types.ts +4 -1
  1199. package/src/inbound/platform-callback-registration.ts +24 -2
  1200. package/src/instrument.ts +37 -19
  1201. package/src/media/app-icon-generator.ts +3 -3
  1202. package/src/media/avatar-router.ts +3 -3
  1203. package/src/memory/app-git-service.ts +3 -3
  1204. package/src/memory/attachments-store.ts +92 -27
  1205. package/src/memory/canonical-guardian-store.ts +37 -27
  1206. package/src/memory/channel-verification-sessions.ts +6 -6
  1207. package/src/memory/checkpoints.ts +5 -0
  1208. package/src/memory/conversation-bootstrap.ts +2 -2
  1209. package/src/memory/conversation-crud.ts +147 -22
  1210. package/src/memory/conversation-key-store.ts +40 -4
  1211. package/src/memory/conversation-queries.ts +8 -6
  1212. package/src/memory/db-init.ts +46 -2
  1213. package/src/memory/embedding-backend.ts +71 -11
  1214. package/src/memory/external-conversation-store.ts +1 -1
  1215. package/src/memory/guardian-action-store.ts +3 -3
  1216. package/src/memory/indexer.ts +20 -9
  1217. package/src/memory/invite-store.ts +4 -4
  1218. package/src/memory/items-extractor.ts +48 -4
  1219. package/src/memory/job-handlers/backfill.ts +15 -8
  1220. package/src/memory/job-handlers/capability-cards.ts +420 -0
  1221. package/src/memory/job-handlers/cleanup.ts +1 -1
  1222. package/src/memory/job-handlers/thread-starters.ts +348 -0
  1223. package/src/memory/jobs-store.ts +4 -7
  1224. package/src/memory/jobs-worker.ts +8 -0
  1225. package/src/memory/migrations/033-scoped-approval-grants.ts +4 -4
  1226. package/src/memory/migrations/102-alter-table-columns.ts +5 -0
  1227. package/src/memory/migrations/105-contacts-and-triage.ts +3 -3
  1228. package/src/memory/migrations/111-media-assets.ts +1 -106
  1229. package/src/memory/migrations/121-canonical-guardian-requests.ts +5 -5
  1230. package/src/memory/migrations/159-drop-contact-interaction-columns.ts +5 -0
  1231. package/src/memory/migrations/161-drop-orphaned-media-tables.ts +18 -0
  1232. package/src/memory/migrations/162-guardian-timestamps-epoch-ms.ts +283 -0
  1233. package/src/memory/migrations/163-rename-notification-thread-columns.ts +35 -0
  1234. package/src/memory/migrations/164-rename-conversation-type-column.ts +19 -0
  1235. package/src/memory/migrations/165-rename-inbox-thread-state-table.ts +15 -0
  1236. package/src/memory/migrations/166-rename-followups-thread-id.ts +20 -0
  1237. package/src/memory/migrations/167-rename-sequence-enrollments-thread-id.ts +20 -0
  1238. package/src/memory/migrations/168-rename-sequence-steps-reply-key.ts +17 -0
  1239. package/src/memory/migrations/169-rename-gmail-provider-key-to-google.ts +64 -0
  1240. package/src/memory/migrations/170-thread-starters-table.ts +32 -0
  1241. package/src/memory/migrations/171-capability-card-columns.ts +43 -0
  1242. package/src/memory/migrations/index.ts +11 -0
  1243. package/src/memory/migrations/registry.ts +19 -0
  1244. package/src/memory/schema/calls.ts +1 -68
  1245. package/src/memory/schema/contacts.ts +3 -3
  1246. package/src/memory/schema/conversations.ts +2 -2
  1247. package/src/memory/schema/guardian.ts +9 -9
  1248. package/src/memory/schema/memory-core.ts +37 -0
  1249. package/src/memory/schema/notifications.ts +4 -4
  1250. package/src/memory/schema/tasks.ts +1 -1
  1251. package/src/memory/scoped-approval-grants.ts +14 -14
  1252. package/src/memory/search/types.ts +3 -3
  1253. package/src/memory/thread-starters-cadence.ts +107 -0
  1254. package/src/memory/turn-events-store.ts +48 -0
  1255. package/src/messaging/providers/telegram-bot/adapter.ts +1 -1
  1256. package/src/notifications/AGENTS.md +1 -1
  1257. package/src/notifications/README.md +103 -103
  1258. package/src/notifications/adapters/slack.ts +3 -3
  1259. package/src/notifications/adapters/telegram.ts +3 -3
  1260. package/src/notifications/broadcaster.ts +40 -40
  1261. package/src/notifications/{thread-candidates.ts → conversation-candidates.ts} +18 -18
  1262. package/src/notifications/conversation-pairing.ts +35 -31
  1263. package/src/notifications/{thread-seed-composer.ts → conversation-seed-composer.ts} +9 -9
  1264. package/src/notifications/decision-engine.ts +105 -82
  1265. package/src/notifications/deliveries-store.ts +14 -14
  1266. package/src/notifications/emit-signal.ts +13 -13
  1267. package/src/notifications/signal.ts +2 -2
  1268. package/src/notifications/types.ts +16 -12
  1269. package/src/oauth/byo-connection.test.ts +1 -1
  1270. package/src/oauth/oauth-store.ts +37 -15
  1271. package/src/oauth/platform-connection.test.ts +2 -2
  1272. package/src/oauth/provider-behaviors.ts +2 -1
  1273. package/src/oauth/seed-providers.ts +3 -11
  1274. package/src/oauth/token-persistence.ts +41 -25
  1275. package/src/outbound-proxy/index.ts +27 -3
  1276. package/src/permissions/checker.ts +15 -2
  1277. package/src/permissions/prompter.ts +3 -3
  1278. package/src/permissions/secret-prompter.ts +2 -2
  1279. package/src/permissions/types.ts +2 -2
  1280. package/src/prompts/__tests__/build-cli-reference-section.test.ts +60 -9
  1281. package/src/prompts/system-prompt.ts +177 -236
  1282. package/src/prompts/templates/SOUL.md +1 -1
  1283. package/src/prompts/templates/UPDATES.md +0 -12
  1284. package/src/prompts/update-bulletin-format.ts +16 -0
  1285. package/src/prompts/update-bulletin.ts +18 -6
  1286. package/src/providers/anthropic/client.ts +135 -11
  1287. package/src/providers/managed-proxy/context.ts +26 -0
  1288. package/src/providers/provider-availability.ts +39 -0
  1289. package/src/providers/provider-send-message.ts +20 -6
  1290. package/src/providers/registry.ts +121 -82
  1291. package/src/runtime/AGENTS.md +5 -5
  1292. package/src/runtime/access-request-helper.ts +2 -2
  1293. package/src/runtime/actor-trust-resolver.ts +2 -2
  1294. package/src/runtime/approval-conversation-turn.ts +2 -2
  1295. package/src/runtime/assistant-event-hub.ts +9 -9
  1296. package/src/runtime/assistant-event.ts +5 -5
  1297. package/src/runtime/auth/__tests__/context.test.ts +2 -2
  1298. package/src/runtime/auth/__tests__/external-assistant-id.test.ts +88 -0
  1299. package/src/runtime/auth/__tests__/guard-tests.test.ts +60 -0
  1300. package/src/runtime/auth/__tests__/local-auth-context.test.ts +4 -4
  1301. package/src/runtime/auth/__tests__/middleware.test.ts +2 -2
  1302. package/src/runtime/auth/__tests__/subject.test.ts +6 -6
  1303. package/src/runtime/auth/context.ts +1 -1
  1304. package/src/runtime/auth/credential-service.ts +1 -1
  1305. package/src/runtime/auth/external-assistant-id.ts +36 -17
  1306. package/src/runtime/auth/route-policy.ts +17 -0
  1307. package/src/runtime/auth/subject.ts +7 -7
  1308. package/src/runtime/auth/types.ts +1 -1
  1309. package/src/runtime/channel-approval-types.ts +1 -1
  1310. package/src/runtime/channel-approvals.ts +9 -6
  1311. package/src/runtime/channel-invite-transport.ts +10 -7
  1312. package/src/runtime/channel-readiness-service.ts +5 -2
  1313. package/src/runtime/channel-retry-sweep.ts +1 -1
  1314. package/src/runtime/channel-verification-service.ts +2 -2
  1315. package/src/runtime/confirmation-request-guardian-bridge.ts +3 -3
  1316. package/src/runtime/{session-approval-overrides.ts → conversation-approval-overrides.ts} +6 -6
  1317. package/src/runtime/guardian-action-grant-minter.ts +2 -4
  1318. package/src/runtime/guardian-action-service.ts +2 -2
  1319. package/src/runtime/guardian-decision-types.ts +13 -8
  1320. package/src/runtime/guardian-reply-router.ts +4 -4
  1321. package/src/runtime/http-server.ts +70 -33
  1322. package/src/runtime/http-types.ts +19 -15
  1323. package/src/runtime/invite-redemption-service.ts +8 -3
  1324. package/src/runtime/local-actor-identity.ts +9 -7
  1325. package/src/runtime/pending-interactions.ts +8 -8
  1326. package/src/runtime/routes/acp-routes.ts +170 -0
  1327. package/src/runtime/routes/approval-routes.ts +3 -3
  1328. package/src/runtime/routes/approval-strategies/guardian-callback-strategy.ts +1 -1
  1329. package/src/runtime/routes/attachment-routes.ts +2 -2
  1330. package/src/runtime/routes/avatar-routes.ts +83 -0
  1331. package/src/runtime/routes/btw-routes.ts +27 -13
  1332. package/src/runtime/routes/canonical-guardian-expiry-sweep.ts +1 -1
  1333. package/src/runtime/routes/channel-route-shared.ts +5 -3
  1334. package/src/runtime/routes/channel-verification-routes.ts +3 -3
  1335. package/src/runtime/routes/{session-management-routes.ts → conversation-management-routes.ts} +103 -22
  1336. package/src/runtime/routes/{session-query-routes.ts → conversation-query-routes.ts} +22 -19
  1337. package/src/runtime/routes/conversation-routes.ts +147 -164
  1338. package/src/runtime/routes/debug-routes.ts +8 -2
  1339. package/src/runtime/routes/diagnostics-routes.ts +16 -17
  1340. package/src/runtime/routes/events-routes.ts +1 -1
  1341. package/src/runtime/routes/guardian-action-routes.ts +4 -4
  1342. package/src/runtime/routes/guardian-approval-interception.ts +1 -1
  1343. package/src/runtime/routes/host-bash-routes.ts +1 -1
  1344. package/src/runtime/routes/host-cu-routes.ts +1 -1
  1345. package/src/runtime/routes/host-file-routes.ts +1 -1
  1346. package/src/runtime/routes/inbound-message-handler.ts +1 -1
  1347. package/src/runtime/routes/inbound-stages/background-dispatch.ts +1 -1
  1348. package/src/runtime/routes/inbound-stages/escalation-intercept.ts +1 -1
  1349. package/src/runtime/routes/inbound-stages/secret-ingress-check.ts +1 -1
  1350. package/src/runtime/routes/log-export-routes.ts +360 -40
  1351. package/src/runtime/routes/recording-routes.ts +5 -5
  1352. package/src/runtime/routes/schedule-routes.ts +13 -7
  1353. package/src/runtime/routes/secret-routes.ts +178 -18
  1354. package/src/runtime/routes/settings-routes.ts +23 -10
  1355. package/src/runtime/routes/skills-routes.ts +38 -0
  1356. package/src/runtime/routes/subagents-routes.ts +10 -10
  1357. package/src/runtime/routes/surface-action-routes.ts +45 -45
  1358. package/src/runtime/routes/surface-content-routes.ts +18 -18
  1359. package/src/runtime/routes/thread-starter-routes.ts +294 -0
  1360. package/src/runtime/routes/watch-routes.ts +6 -6
  1361. package/src/runtime/routes/work-items-routes.test.ts +109 -0
  1362. package/src/runtime/routes/work-items-routes.ts +47 -46
  1363. package/src/runtime/tool-grant-request-helper.ts +3 -3
  1364. package/src/runtime/trust-context-resolver.ts +1 -1
  1365. package/src/schedule/scheduler.ts +14 -12
  1366. package/src/security/credential-backend.ts +29 -5
  1367. package/src/security/encrypted-store.ts +64 -5
  1368. package/src/security/keychain-broker-client.ts +45 -12
  1369. package/src/security/secure-keys.ts +46 -0
  1370. package/src/security/token-manager.ts +67 -167
  1371. package/src/sequence/engine.ts +12 -11
  1372. package/src/sequence/reply-matcher.ts +16 -13
  1373. package/src/sequence/store.ts +10 -7
  1374. package/src/sequence/types.ts +2 -2
  1375. package/src/signals/bash.ts +36 -3
  1376. package/src/signals/cancel.ts +14 -17
  1377. package/src/signals/confirm.ts +4 -7
  1378. package/src/signals/conversation-undo.ts +16 -20
  1379. package/src/signals/event-stream.ts +187 -0
  1380. package/src/signals/shotgun.ts +200 -0
  1381. package/src/signals/trust-rule.ts +3 -6
  1382. package/src/signals/user-message.ts +146 -0
  1383. package/src/skills/catalog-install.ts +1 -1
  1384. package/src/skills/managed-store.ts +0 -13
  1385. package/src/subagent/manager.ts +89 -71
  1386. package/src/subagent/types.ts +5 -5
  1387. package/src/swarm/backend-claude-code.ts +1 -1
  1388. package/src/tasks/SPEC.md +5 -5
  1389. package/src/tasks/task-runner.ts +1 -1
  1390. package/src/telemetry/types.ts +26 -0
  1391. package/src/telemetry/usage-telemetry-reporter.test.ts +145 -24
  1392. package/src/telemetry/usage-telemetry-reporter.ts +79 -42
  1393. package/src/tools/AGENTS.md +26 -0
  1394. package/src/tools/acp/abort.ts +32 -0
  1395. package/src/tools/acp/spawn.ts +70 -0
  1396. package/src/tools/acp/status.ts +31 -0
  1397. package/src/tools/assets/materialize.ts +34 -19
  1398. package/src/tools/assets/search.ts +13 -13
  1399. package/src/tools/browser/browser-execution.ts +63 -33
  1400. package/src/tools/browser/browser-handoff.ts +12 -9
  1401. package/src/tools/browser/browser-manager.ts +88 -78
  1402. package/src/tools/browser/browser-screencast.ts +30 -28
  1403. package/src/tools/calls/call-start.ts +1 -1
  1404. package/src/tools/calls/call-status.ts +1 -1
  1405. package/src/tools/claude-code/claude-code.ts +9 -9
  1406. package/src/tools/credential-execution/make-authenticated-request.ts +198 -0
  1407. package/src/tools/credential-execution/manage-secure-command-tool.ts +372 -0
  1408. package/src/tools/credential-execution/run-authenticated-command.ts +261 -0
  1409. package/src/tools/credentials/broker.ts +1 -1
  1410. package/src/tools/credentials/metadata-store.ts +46 -227
  1411. package/src/tools/credentials/resolve.ts +2 -1
  1412. package/src/tools/document/document-tool.ts +3 -3
  1413. package/src/tools/executor.ts +144 -9
  1414. package/src/tools/followups/followup_create.ts +8 -7
  1415. package/src/tools/followups/followup_list.ts +3 -1
  1416. package/src/tools/followups/followup_resolve.ts +8 -7
  1417. package/src/tools/host-filesystem/edit.ts +1 -1
  1418. package/src/tools/host-filesystem/read.ts +1 -1
  1419. package/src/tools/host-filesystem/write.ts +1 -1
  1420. package/src/tools/host-terminal/host-shell.ts +54 -7
  1421. package/src/tools/memory/definitions.ts +1 -1
  1422. package/src/tools/memory/handlers.ts +1 -1
  1423. package/src/tools/network/script-proxy/session-manager.ts +290 -515
  1424. package/src/tools/network/web-fetch.ts +1 -1
  1425. package/src/tools/network/web-search.ts +4 -4
  1426. package/src/tools/permission-checker.ts +38 -23
  1427. package/src/tools/registry.ts +14 -2
  1428. package/src/tools/secret-detection-handler.ts +3 -8
  1429. package/src/tools/side-effects.ts +2 -1
  1430. package/src/tools/skills/load.ts +15 -1
  1431. package/src/tools/skills/sandbox-runner.ts +0 -1
  1432. package/src/tools/skills/scaffold-managed.ts +0 -8
  1433. package/src/tools/subagent/abort.ts +1 -1
  1434. package/src/tools/subagent/message.ts +2 -2
  1435. package/src/tools/subagent/read.ts +2 -2
  1436. package/src/tools/subagent/spawn.ts +1 -1
  1437. package/src/tools/subagent/status.ts +10 -4
  1438. package/src/tools/swarm/delegate.ts +12 -12
  1439. package/src/tools/system/avatar-generator.ts +52 -79
  1440. package/src/tools/terminal/backends/native.ts +48 -8
  1441. package/src/tools/terminal/backends/types.ts +7 -0
  1442. package/src/tools/terminal/safe-env.ts +4 -1
  1443. package/src/tools/terminal/shell.ts +106 -2
  1444. package/src/tools/tool-approval-handler.ts +2 -17
  1445. package/src/tools/tool-manifest.ts +43 -0
  1446. package/src/tools/types.ts +28 -5
  1447. package/src/tools/watch/screen-watch.ts +6 -6
  1448. package/src/tools/watch/watch-state.ts +33 -26
  1449. package/src/util/clipboard.ts +1 -1
  1450. package/src/util/device-id.ts +101 -0
  1451. package/src/util/platform.ts +10 -0
  1452. package/src/util/silently.ts +7 -8
  1453. package/src/watcher/engine.ts +1 -1
  1454. package/src/work-items/resolve-required-tools.test.ts +37 -0
  1455. package/src/work-items/resolve-required-tools.ts +26 -0
  1456. package/src/work-items/work-item-runner.ts +29 -27
  1457. package/src/workspace/commit-message-enrichment-service.ts +1 -1
  1458. package/src/workspace/commit-message-provider.ts +2 -2
  1459. package/src/workspace/git-service.ts +27 -14
  1460. package/src/workspace/migrations/001-avatar-rename.ts +25 -0
  1461. package/src/workspace/migrations/002-backfill-installation-id.ts +75 -0
  1462. package/src/workspace/migrations/003-seed-device-id.ts +101 -0
  1463. package/src/workspace/migrations/004-extract-collect-usage-data.ts +50 -0
  1464. package/src/workspace/migrations/005-add-send-diagnostics.ts +12 -0
  1465. package/src/workspace/migrations/006-services-config.ts +132 -0
  1466. package/src/workspace/migrations/registry.ts +20 -0
  1467. package/src/workspace/migrations/runner.ts +117 -0
  1468. package/src/workspace/migrations/types.ts +11 -0
  1469. package/src/workspace/provider-commit-message-generator.ts +7 -4
  1470. package/src/workspace/turn-commit.ts +13 -13
  1471. package/tsconfig.json +0 -1
  1472. package/src/__tests__/handlers-task-submit-slash.test.ts +0 -39
  1473. package/src/__tests__/session-slash-known.test.ts +0 -477
  1474. package/src/__tests__/slash-commands-catalog.test.ts +0 -94
  1475. package/src/__tests__/slash-commands-parser.test.ts +0 -127
  1476. package/src/__tests__/slash-commands-resolver.test.ts +0 -231
  1477. package/src/__tests__/slash-commands-rewrite.test.ts +0 -40
  1478. package/src/cli/http-client.ts +0 -76
  1479. package/src/daemon/install-cli-launchers.ts +0 -170
  1480. package/src/daemon/session-evictor.ts +0 -203
  1481. package/src/skills/slash-commands.ts +0 -203
  1482. /package/src/__tests__/{script-proxy-session-runtime.test.ts → script-proxy-conversation-runtime.test.ts} +0 -0
  1483. /package/src/daemon/{session-media-retry.ts → conversation-media-retry.ts} +0 -0
@@ -1,4 +1,4 @@
1
- import { mkdtempSync, rmSync } from "node:fs";
1
+ import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs";
2
2
  import { tmpdir } from "node:os";
3
3
  import { join } from "node:path";
4
4
  import {
@@ -13,6 +13,8 @@ import {
13
13
 
14
14
  const testDir = mkdtempSync(join(tmpdir(), "memory-regressions-"));
15
15
 
16
+ const testWorkspaceDir = join(testDir, ".vellum", "workspace");
17
+
16
18
  mock.module("../util/platform.js", () => ({
17
19
  getDataDir: () => testDir,
18
20
  isMacOS: () => process.platform === "darwin",
@@ -22,6 +24,8 @@ mock.module("../util/platform.js", () => ({
22
24
  getDbPath: () => join(testDir, "test.db"),
23
25
  getLogPath: () => join(testDir, "test.log"),
24
26
  ensureDataDir: () => {},
27
+ getWorkspaceDir: () => testWorkspaceDir,
28
+ getWorkspacePromptPath: (file: string) => join(testWorkspaceDir, file),
25
29
  }));
26
30
 
27
31
  mock.module("../util/logger.js", () => ({
@@ -128,6 +132,7 @@ import {
128
132
  memorySummaries,
129
133
  messages,
130
134
  } from "../memory/schema.js";
135
+ import { buildCoreIdentityContext } from "../prompts/system-prompt.js";
131
136
 
132
137
  describe("Memory regressions", () => {
133
138
  beforeAll(() => {
@@ -661,7 +666,7 @@ describe("Memory regressions", () => {
661
666
  expect(updated!.verificationState).toBe("user_confirmed");
662
667
  });
663
668
 
664
- test("private thread cannot update default-scope item by ID", async () => {
669
+ test("private conversation cannot update default-scope item by ID", async () => {
665
670
  const db = getDb();
666
671
  const now = Date.now();
667
672
  const { handleMemoryUpdate } = await import("../tools/memory/handlers.js");
@@ -704,7 +709,7 @@ describe("Memory regressions", () => {
704
709
  expect(item!.statement).toBe("Original default-scope statement");
705
710
  });
706
711
 
707
- test("standard thread cannot update private-scope item by ID", async () => {
712
+ test("standard conversation cannot update private-scope item by ID", async () => {
708
713
  const db = getDb();
709
714
  const now = Date.now();
710
715
  const { handleMemoryUpdate } = await import("../tools/memory/handlers.js");
@@ -1935,7 +1940,7 @@ describe("Memory regressions", () => {
1935
1940
  VALUES ('seg-ovr-default', 'msg-override-fallback', '${convId}', 'user', 0, 'Global memory about microservices architecture patterns', 10, 'default', ${now}, ${now})
1936
1941
  `);
1937
1942
 
1938
- // Insert segment in private thread scope
1943
+ // Insert segment in private conversation scope
1939
1944
  db.run(`
1940
1945
  INSERT INTO memory_segments (id, message_id, conversation_id, role, segment_index, text, token_estimate, scope_id, created_at, updated_at)
1941
1946
  VALUES ('seg-ovr-private', 'msg-override-fallback', '${convId}', 'user', 1, 'Private thread memory about microservices architecture patterns', 10, 'private-thread-42', ${now}, ${now})
@@ -2191,15 +2196,15 @@ describe("Memory regressions", () => {
2191
2196
  // PR-17: addMessage() passes conversation scope to the indexer
2192
2197
  test("addMessage inherits private conversation scope on memory segments", async () => {
2193
2198
  const conv = createConversation({
2194
- title: "Private thread",
2195
- threadType: "private",
2199
+ title: "Private conversation",
2200
+ conversationType: "private",
2196
2201
  });
2197
2202
  expect(conv.memoryScopeId).toMatch(/^private:/);
2198
2203
 
2199
2204
  const msg = await addMessage(
2200
2205
  conv.id,
2201
2206
  "user",
2202
- "My secret project details for the private thread.",
2207
+ "My secret project details for the private conversation.",
2203
2208
  );
2204
2209
 
2205
2210
  const db = getDb();
@@ -2217,8 +2222,8 @@ describe("Memory regressions", () => {
2217
2222
 
2218
2223
  test("addMessage uses default scope for standard conversations", async () => {
2219
2224
  const conv = createConversation({
2220
- title: "Standard thread",
2221
- threadType: "standard",
2225
+ title: "Standard conversation",
2226
+ conversationType: "standard",
2222
2227
  });
2223
2228
  expect(conv.memoryScopeId).toBe("default");
2224
2229
 
@@ -2245,7 +2250,7 @@ describe("Memory regressions", () => {
2245
2250
  test("extract_items job payload includes scopeId from private conversation", async () => {
2246
2251
  const conv = createConversation({
2247
2252
  title: "Private scope job test",
2248
- threadType: "private",
2253
+ conversationType: "private",
2249
2254
  });
2250
2255
  expect(conv.memoryScopeId).toMatch(/^private:/);
2251
2256
 
@@ -2271,7 +2276,7 @@ describe("Memory regressions", () => {
2271
2276
  test("extract_items job payload defaults scopeId to default for standard conversations", async () => {
2272
2277
  const conv = createConversation({
2273
2278
  title: "Standard scope job test",
2274
- threadType: "standard",
2279
+ conversationType: "standard",
2275
2280
  });
2276
2281
  expect(conv.memoryScopeId).toBe("default");
2277
2282
 
@@ -2305,7 +2310,7 @@ describe("Memory regressions", () => {
2305
2310
  title: null,
2306
2311
  createdAt: now,
2307
2312
  updatedAt: now,
2308
- threadType: "standard",
2313
+ conversationType: "standard",
2309
2314
  memoryScopeId: "default",
2310
2315
  })
2311
2316
  .run();
@@ -2362,7 +2367,7 @@ describe("Memory regressions", () => {
2362
2367
  title: null,
2363
2368
  createdAt: now,
2364
2369
  updatedAt: now,
2365
- threadType: "standard",
2370
+ conversationType: "standard",
2366
2371
  memoryScopeId: "default",
2367
2372
  })
2368
2373
  .run();
@@ -2454,7 +2459,7 @@ describe("Memory regressions", () => {
2454
2459
  title: null,
2455
2460
  createdAt: now,
2456
2461
  updatedAt: now,
2457
- threadType: "standard",
2462
+ conversationType: "standard",
2458
2463
  memoryScopeId: "default",
2459
2464
  })
2460
2465
  .run();
@@ -2518,7 +2523,7 @@ describe("Memory regressions", () => {
2518
2523
  title: null,
2519
2524
  createdAt: now,
2520
2525
  updatedAt: now,
2521
- threadType: "standard",
2526
+ conversationType: "standard",
2522
2527
  memoryScopeId: "default",
2523
2528
  })
2524
2529
  .run();
@@ -2592,7 +2597,7 @@ describe("Memory regressions", () => {
2592
2597
 
2593
2598
  test("private conversation summary inherits private scope_id", async () => {
2594
2599
  const db = getDb();
2595
- const conv = createConversation({ threadType: "private" });
2600
+ const conv = createConversation({ conversationType: "private" });
2596
2601
  const scopeId = getConversationMemoryScopeId(conv.id);
2597
2602
  expect(scopeId).toMatch(/^private:/);
2598
2603
 
@@ -2655,7 +2660,7 @@ describe("Memory regressions", () => {
2655
2660
  const now = Date.now();
2656
2661
 
2657
2662
  // Create a private conversation and build its summary
2658
- const privConv = createConversation({ threadType: "private" });
2663
+ const privConv = createConversation({ conversationType: "private" });
2659
2664
  const privScope = getConversationMemoryScopeId(privConv.id);
2660
2665
 
2661
2666
  db.insert(messages)
@@ -2758,13 +2763,13 @@ describe("Memory regressions", () => {
2758
2763
 
2759
2764
  // ── End-to-end memory-boundary regression tests ─────────────────────
2760
2765
 
2761
- test("e2e: private-only facts are recalled in private thread but not in standard thread", async () => {
2766
+ test("e2e: private-only facts are recalled in private conversation but not in standard conversation", async () => {
2762
2767
  const db = getDb();
2763
2768
 
2764
2769
  // 1. Create a private conversation and add a message with a distinctive fact
2765
2770
  const privConv = createConversation({
2766
2771
  title: "Private e2e test",
2767
- threadType: "private",
2772
+ conversationType: "private",
2768
2773
  });
2769
2774
  const privScope = getConversationMemoryScopeId(privConv.id);
2770
2775
  expect(privScope).toMatch(/^private:/);
@@ -2796,10 +2801,10 @@ describe("Memory regressions", () => {
2796
2801
  // Collect the item IDs so we can check them in recall results
2797
2802
  const privateItemKeys = privateItems.map((i) => `item:${i.id}`);
2798
2803
 
2799
- // 3. Create a standard conversation for the "standard thread" perspective
2804
+ // 3. Create a standard conversation for the "standard conversation" perspective
2800
2805
  const stdConv = createConversation({
2801
2806
  title: "Standard e2e test",
2802
- threadType: "standard",
2807
+ conversationType: "standard",
2803
2808
  });
2804
2809
  const stdScope = getConversationMemoryScopeId(stdConv.id);
2805
2810
  expect(stdScope).toBe("default");
@@ -2824,7 +2829,7 @@ describe("Memory regressions", () => {
2824
2829
  },
2825
2830
  };
2826
2831
 
2827
- // 4. Private thread recall — should find the Zephyr fact
2832
+ // 4. Private conversation recall — should find the Zephyr fact
2828
2833
  const privRecall = await buildMemoryRecall(
2829
2834
  "Zephyr framework microservices",
2830
2835
  privConv.id,
@@ -2840,8 +2845,8 @@ describe("Memory regressions", () => {
2840
2845
  // Verify the pipeline ran and recency search found segments.
2841
2846
  expect(privRecall.recencyHits).toBeGreaterThan(0);
2842
2847
 
2843
- // 5. Standard thread recall — must NOT find the Zephyr fact (no leak)
2844
- // Mirror the production call in session-memory.ts: for standard threads
2848
+ // 5. Standard conversation recall — must NOT find the Zephyr fact (no leak)
2849
+ // Mirror the production call in conversation-memory.ts: for standard conversations
2845
2850
  // (scopeId === 'default'), scopePolicyOverride is undefined.
2846
2851
  const stdRecall = await buildMemoryRecall(
2847
2852
  "Zephyr framework microservices",
@@ -2860,14 +2865,14 @@ describe("Memory regressions", () => {
2860
2865
  expect(stdRecall.injectedText.toLowerCase()).not.toContain("zephyr");
2861
2866
  });
2862
2867
 
2863
- test("e2e: private thread still recalls facts from default memory scope", async () => {
2868
+ test("e2e: private conversation still recalls facts from default memory scope", async () => {
2864
2869
  const db = getDb();
2865
2870
  const now = Date.now();
2866
2871
 
2867
2872
  // 1. Create a standard conversation and add a fact to default scope
2868
2873
  const stdConv = createConversation({
2869
2874
  title: "Default scope source",
2870
- threadType: "standard",
2875
+ conversationType: "standard",
2871
2876
  });
2872
2877
  const stdScope = getConversationMemoryScopeId(stdConv.id);
2873
2878
  expect(stdScope).toBe("default");
@@ -2903,7 +2908,7 @@ describe("Memory regressions", () => {
2903
2908
  // 2. Create a private conversation
2904
2909
  const privConv = createConversation({
2905
2910
  title: "Private fallback test",
2906
- threadType: "private",
2911
+ conversationType: "private",
2907
2912
  });
2908
2913
  const privScope = getConversationMemoryScopeId(privConv.id);
2909
2914
  expect(privScope).toMatch(/^private:/);
@@ -2928,7 +2933,7 @@ describe("Memory regressions", () => {
2928
2933
  },
2929
2934
  };
2930
2935
 
2931
- // 3. Private thread recall with fallback to default — should find the Obsidian fact
2936
+ // 3. Private conversation recall with fallback to default — should find the Obsidian fact
2932
2937
  const privRecall = await buildMemoryRecall(
2933
2938
  "Obsidian editor note-taking",
2934
2939
  privConv.id,
@@ -2953,7 +2958,7 @@ describe("Memory regressions", () => {
2953
2958
  // Create a private conversation with a message
2954
2959
  const conv = createConversation({
2955
2960
  title: "Backfill scope test",
2956
- threadType: "private",
2961
+ conversationType: "private",
2957
2962
  });
2958
2963
  expect(conv.memoryScopeId).toMatch(/^private:/);
2959
2964
 
@@ -2965,7 +2970,7 @@ describe("Memory regressions", () => {
2965
2970
  conversationId: conv.id,
2966
2971
  role: "user",
2967
2972
  content:
2968
- "My confidential backfill test content for private thread preservation.",
2973
+ "My confidential backfill test content for private conversation preservation.",
2969
2974
  createdAt: conv.createdAt + 1,
2970
2975
  })
2971
2976
  .run();
@@ -3392,4 +3397,36 @@ describe("Memory regressions", () => {
3392
3397
  const expectedJobs = result.indexedSegments + 1; // embed per segment + summary
3393
3398
  expect(result.enqueuedJobs).toBe(expectedJobs);
3394
3399
  });
3400
+
3401
+ test("buildCoreIdentityContext includes identity files when they exist", () => {
3402
+ // Create workspace directory and write prompt files
3403
+ mkdirSync(testWorkspaceDir, { recursive: true });
3404
+ writeFileSync(
3405
+ join(testWorkspaceDir, "SOUL.md"),
3406
+ "You are a helpful assistant named Jarvis.",
3407
+ );
3408
+ writeFileSync(
3409
+ join(testWorkspaceDir, "USER.md"),
3410
+ "The user's name is Aaron Levin.",
3411
+ );
3412
+
3413
+ const context = buildCoreIdentityContext();
3414
+ expect(context).not.toBeNull();
3415
+ expect(context).toContain("helpful assistant named Jarvis");
3416
+ expect(context).toContain("Aaron Levin");
3417
+ });
3418
+
3419
+ test("buildCoreIdentityContext returns null when no prompt files exist", () => {
3420
+ // Remove workspace prompt files to simulate a clean state
3421
+ try {
3422
+ rmSync(join(testWorkspaceDir, "SOUL.md"), { force: true });
3423
+ rmSync(join(testWorkspaceDir, "IDENTITY.md"), { force: true });
3424
+ rmSync(join(testWorkspaceDir, "USER.md"), { force: true });
3425
+ } catch {
3426
+ // files may not exist
3427
+ }
3428
+
3429
+ const context = buildCoreIdentityContext();
3430
+ expect(context).toBeNull();
3431
+ });
3395
3432
  });
@@ -57,7 +57,6 @@ describe("messaging-send tool", () => {
57
57
  },
58
58
  {
59
59
  workingDir: "/tmp",
60
- sessionId: "sess-1",
61
60
  conversationId: "conv-1",
62
61
  assistantId: "ast-alpha",
63
62
  trustClass: "guardian" as const,
@@ -88,7 +87,6 @@ describe("messaging-send tool", () => {
88
87
  },
89
88
  {
90
89
  workingDir: "/tmp",
91
- sessionId: "sess-1",
92
90
  conversationId: "conv-1",
93
91
  assistantId: "ast-alpha",
94
92
  trustClass: "guardian" as const,
@@ -0,0 +1,51 @@
1
+ import { readFileSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { describe, expect, test } from "bun:test";
4
+
5
+ /**
6
+ * Guard test: domain-specific routing sections must NOT appear in the system
7
+ * prompt source file. Routing cues now live in skill frontmatter
8
+ * (`activation-hints` / `avoid-when`) and are projected into `<available_skills>` XML.
9
+ *
10
+ * If this test fails, you are re-introducing hardcoded routing into the system
11
+ * prompt. Instead, add `activation-hints` to the skill's SKILL.md frontmatter.
12
+ */
13
+
14
+ const SYSTEM_PROMPT_PATH = join(
15
+ import.meta.dirname,
16
+ "../prompts/system-prompt.ts",
17
+ );
18
+
19
+ const source = readFileSync(SYSTEM_PROMPT_PATH, "utf-8");
20
+
21
+ /** Function names that must not exist in the system prompt source. */
22
+ const BANNED_FUNCTIONS = [
23
+ "buildVerificationRoutingSection",
24
+ "buildVoiceSetupRoutingSection",
25
+ "buildPhoneCallsRoutingSection",
26
+ "buildStarterTaskRoutingSection",
27
+ "buildChannelCommandIntentSection",
28
+ ];
29
+
30
+ /** Section headings that must not appear as string literals. */
31
+ const BANNED_HEADINGS = [
32
+ "## Routing: Guardian Verification",
33
+ "## Routing: Voice Setup",
34
+ "## Routing: Phone Calls",
35
+ "## Routing: Starter Tasks",
36
+ "## Channel Command Intents",
37
+ ];
38
+
39
+ describe("no domain routing in system prompt", () => {
40
+ for (const fn of BANNED_FUNCTIONS) {
41
+ test(`source does not contain function "${fn}"`, () => {
42
+ expect(source).not.toContain(fn);
43
+ });
44
+ }
45
+
46
+ for (const heading of BANNED_HEADINGS) {
47
+ test(`source does not contain heading "${heading}"`, () => {
48
+ expect(source).not.toContain(heading);
49
+ });
50
+ }
51
+ });
@@ -6,9 +6,9 @@
6
6
  * - Handles missing adapters gracefully
7
7
  * - Falls back to copy-composer when decision copy is missing
8
8
  * - Reports delivery results per channel
9
- * - Emits notification_thread_created only when a new conversation is created
10
- * - Does NOT emit notification_thread_created when reusing an existing thread
11
- * - Threads destination binding context into conversation pairing for external channels
9
+ * - Emits notification_conversation_created only when a new conversation is created
10
+ * - Does NOT emit notification_conversation_created when reusing an existing conversation
11
+ * - Passes destination binding context into conversation pairing for external channels
12
12
  */
13
13
 
14
14
  import { beforeEach, describe, expect, mock, test } from "bun:test";
@@ -89,12 +89,12 @@ mock.module("../notifications/conversation-pairing.js", () => ({
89
89
  messageId: `mock-msg-${pairingCallCount}`,
90
90
  strategy: "start_new_conversation" as const,
91
91
  createdNewConversation: true,
92
- threadDecisionFallbackUsed: false,
92
+ conversationFallbackUsed: false,
93
93
  };
94
94
  },
95
95
  }));
96
96
 
97
- import type { ThreadCreatedInfo } from "../notifications/broadcaster.js";
97
+ import type { ConversationCreatedInfo } from "../notifications/broadcaster.js";
98
98
  import { NotificationBroadcaster } from "../notifications/broadcaster.js";
99
99
  import type { NotificationSignal } from "../notifications/signal.js";
100
100
  import type {
@@ -295,7 +295,7 @@ describe("notification broadcaster", () => {
295
295
  expect(vellumAdapter.sent[0].copy.body).toBeDefined();
296
296
  });
297
297
 
298
- test("adapter receives concise copy (title/body), not the thread seed message", async () => {
298
+ test("adapter receives concise copy (title/body), not the conversation seed message", async () => {
299
299
  const vellumAdapter = new MockAdapter("vellum");
300
300
  const broadcaster = new NotificationBroadcaster([vellumAdapter]);
301
301
 
@@ -305,7 +305,7 @@ describe("notification broadcaster", () => {
305
305
  vellum: {
306
306
  title: "Reminder",
307
307
  body: "Take out the trash",
308
- threadSeedMessage:
308
+ conversationSeedMessage:
309
309
  "This is a much richer seed message with more context about the reminder and what you should do about it.",
310
310
  },
311
311
  },
@@ -315,7 +315,7 @@ describe("notification broadcaster", () => {
315
315
 
316
316
  expect(vellumAdapter.sent).toHaveLength(1);
317
317
  // The adapter payload uses the full copy object — title/body are what
318
- // the native notification displays. threadSeedMessage is only consumed
318
+ // the native notification displays. The conversationSeedMessage is only consumed
319
319
  // by conversation pairing, not by the adapter's display logic.
320
320
  expect(vellumAdapter.sent[0].copy.title).toBe("Reminder");
321
321
  expect(vellumAdapter.sent[0].copy.body).toBe("Take out the trash");
@@ -336,46 +336,48 @@ describe("notification broadcaster", () => {
336
336
  expect(vellumAdapter.sent).toHaveLength(0);
337
337
  });
338
338
 
339
- // ── Thread-created event emission ───────────────────────────────────
339
+ // ── Conversation-created event emission ─────────────────────────────
340
340
 
341
- test("fires onThreadCreated when a new vellum conversation is created (start_new)", async () => {
341
+ test("fires onConversationCreated when a new vellum conversation is created (start_new)", async () => {
342
342
  const vellumAdapter = new MockAdapter("vellum");
343
343
  const broadcaster = new NotificationBroadcaster([vellumAdapter]);
344
- const threadCreatedCalls: ThreadCreatedInfo[] = [];
345
- broadcaster.setOnThreadCreated((info) => threadCreatedCalls.push(info));
344
+ const conversationCreatedCalls: ConversationCreatedInfo[] = [];
345
+ broadcaster.setOnConversationCreated((info) =>
346
+ conversationCreatedCalls.push(info),
347
+ );
346
348
 
347
349
  const signal = makeSignal();
348
- // No threadActions means default start_new behavior
350
+ // No conversationActions means default start_new behavior
349
351
  const decision = makeDecision();
350
352
 
351
353
  await broadcaster.broadcastDecision(signal, decision);
352
354
 
353
- // Pairing creates a new conversation by default, so onThreadCreated should fire
354
- expect(threadCreatedCalls).toHaveLength(1);
355
- expect(threadCreatedCalls[0].sourceEventName).toBe("test.event");
355
+ // Pairing creates a new conversation by default, so onConversationCreated should fire
356
+ expect(conversationCreatedCalls).toHaveLength(1);
357
+ expect(conversationCreatedCalls[0].sourceEventName).toBe("test.event");
356
358
  });
357
359
 
358
- test("fires per-dispatch onThreadCreated callback on new conversation", async () => {
360
+ test("fires per-dispatch onConversationCreated callback on new conversation", async () => {
359
361
  const vellumAdapter = new MockAdapter("vellum");
360
362
  const broadcaster = new NotificationBroadcaster([vellumAdapter]);
361
- const dispatchCalls: ThreadCreatedInfo[] = [];
363
+ const dispatchCalls: ConversationCreatedInfo[] = [];
362
364
 
363
365
  const signal = makeSignal();
364
366
  const decision = makeDecision();
365
367
 
366
368
  await broadcaster.broadcastDecision(signal, decision, {
367
- onThreadCreated: (info) => dispatchCalls.push(info),
369
+ onConversationCreated: (info) => dispatchCalls.push(info),
368
370
  });
369
371
 
370
372
  expect(dispatchCalls).toHaveLength(1);
371
373
  });
372
374
 
373
- test("does NOT fire class-level onThreadCreated when reusing an existing thread", async () => {
375
+ test("does NOT fire class-level onConversationCreated when reusing an existing conversation", async () => {
374
376
  const vellumAdapter = new MockAdapter("vellum");
375
377
  const broadcaster = new NotificationBroadcaster([vellumAdapter]);
376
- const eventCalls: ThreadCreatedInfo[] = [];
377
- const dispatchCalls: ThreadCreatedInfo[] = [];
378
- broadcaster.setOnThreadCreated((info) => eventCalls.push(info));
378
+ const eventCalls: ConversationCreatedInfo[] = [];
379
+ const dispatchCalls: ConversationCreatedInfo[] = [];
380
+ broadcaster.setOnConversationCreated((info) => eventCalls.push(info));
379
381
 
380
382
  // Simulate a successful reuse by injecting a pairing result with
381
383
  // createdNewConversation=false. This bypasses the real conversation
@@ -386,12 +388,12 @@ describe("notification broadcaster", () => {
386
388
  messageId: "msg-reused-789",
387
389
  strategy: "start_new_conversation",
388
390
  createdNewConversation: false,
389
- threadDecisionFallbackUsed: false,
391
+ conversationFallbackUsed: false,
390
392
  };
391
393
 
392
394
  const signal = makeSignal();
393
395
  const decision = makeDecision({
394
- threadActions: {
396
+ conversationActions: {
395
397
  vellum: {
396
398
  action: "reuse_existing",
397
399
  conversationId: "conv-existing-123",
@@ -400,7 +402,7 @@ describe("notification broadcaster", () => {
400
402
  });
401
403
 
402
404
  await broadcaster.broadcastDecision(signal, decision, {
403
- onThreadCreated: (info) => dispatchCalls.push(info),
405
+ onConversationCreated: (info) => dispatchCalls.push(info),
404
406
  });
405
407
 
406
408
  // The class-level event callback should NOT fire because
@@ -486,11 +488,11 @@ describe("notification broadcaster", () => {
486
488
  });
487
489
  });
488
490
 
489
- test("reused thread via binding-key continuation does NOT emit class-level onThreadCreated", async () => {
491
+ test("reused conversation via binding-key continuation does NOT emit class-level onConversationCreated", async () => {
490
492
  const vellumAdapter = new MockAdapter("vellum");
491
493
  const broadcaster = new NotificationBroadcaster([vellumAdapter]);
492
- const eventCalls: ThreadCreatedInfo[] = [];
493
- broadcaster.setOnThreadCreated((info) => eventCalls.push(info));
494
+ const eventCalls: ConversationCreatedInfo[] = [];
495
+ broadcaster.setOnConversationCreated((info) => eventCalls.push(info));
494
496
 
495
497
  // Simulate binding-key continuation: pairing reuses an existing bound
496
498
  // conversation (createdNewConversation=false, strategy=continue_existing_conversation)
@@ -499,7 +501,7 @@ describe("notification broadcaster", () => {
499
501
  messageId: "msg-bound-voice-001",
500
502
  strategy: "continue_existing_conversation" as const,
501
503
  createdNewConversation: false,
502
- threadDecisionFallbackUsed: false,
504
+ conversationFallbackUsed: false,
503
505
  };
504
506
 
505
507
  const signal = makeSignal();
@@ -508,27 +510,27 @@ describe("notification broadcaster", () => {
508
510
  await broadcaster.broadcastDecision(signal, decision);
509
511
 
510
512
  // The class-level event callback should NOT fire because
511
- // createdNewConversation is false — the thread already exists
513
+ // createdNewConversation is false — the conversation already exists
512
514
  // in the external channel and the client already knows about it.
513
515
  expect(eventCalls).toHaveLength(0);
514
516
  });
515
517
 
516
- test("fresh conversation for continue_existing_conversation does NOT emit class-level onThreadCreated", async () => {
518
+ test("fresh conversation for continue_existing_conversation does NOT emit class-level onConversationCreated", async () => {
517
519
  const vellumAdapter = new MockAdapter("vellum");
518
520
  const broadcaster = new NotificationBroadcaster([vellumAdapter]);
519
- const eventCalls: ThreadCreatedInfo[] = [];
520
- broadcaster.setOnThreadCreated((info) => eventCalls.push(info));
521
+ const eventCalls: ConversationCreatedInfo[] = [];
522
+ broadcaster.setOnConversationCreated((info) => eventCalls.push(info));
521
523
 
522
524
  // First delivery to a new destination: creates a fresh conversation but
523
525
  // the strategy is continue_existing_conversation (not start_new_conversation),
524
- // so the event should NOT fire — these are background threads not
526
+ // so the event should NOT fire — these are background conversations not
525
527
  // meant to appear in the sidebar.
526
528
  nextPairingResult = {
527
529
  conversationId: "conv-new-telegram-dest",
528
530
  messageId: "msg-new-telegram-dest",
529
531
  strategy: "continue_existing_conversation" as const,
530
532
  createdNewConversation: true,
531
- threadDecisionFallbackUsed: false,
533
+ conversationFallbackUsed: false,
532
534
  };
533
535
 
534
536
  const signal = makeSignal();
@@ -541,10 +543,10 @@ describe("notification broadcaster", () => {
541
543
  expect(eventCalls).toHaveLength(0);
542
544
  });
543
545
 
544
- test("per-dispatch onThreadCreated fires for reused binding-key conversation", async () => {
546
+ test("per-dispatch onConversationCreated fires for reused binding-key conversation", async () => {
545
547
  const vellumAdapter = new MockAdapter("vellum");
546
548
  const broadcaster = new NotificationBroadcaster([vellumAdapter]);
547
- const dispatchCalls: ThreadCreatedInfo[] = [];
549
+ const dispatchCalls: ConversationCreatedInfo[] = [];
548
550
 
549
551
  // Binding-key reuse: conversation already exists
550
552
  nextPairingResult = {
@@ -552,14 +554,14 @@ describe("notification broadcaster", () => {
552
554
  messageId: "msg-bound-telegram-789",
553
555
  strategy: "continue_existing_conversation" as const,
554
556
  createdNewConversation: false,
555
- threadDecisionFallbackUsed: false,
557
+ conversationFallbackUsed: false,
556
558
  };
557
559
 
558
560
  const signal = makeSignal();
559
561
  const decision = makeDecision();
560
562
 
561
563
  await broadcaster.broadcastDecision(signal, decision, {
562
- onThreadCreated: (info) => dispatchCalls.push(info),
564
+ onConversationCreated: (info) => dispatchCalls.push(info),
563
565
  });
564
566
 
565
567
  // The per-dispatch callback SHOULD fire regardless of reuse