@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,9 +1,9 @@
1
1
  /**
2
- * Queue drain and message processing logic extracted from Session.
2
+ * Queue drain and message processing logic extracted from Conversation.
3
3
  *
4
- * Session delegates `drainQueue` and `processMessage` to the module-level
4
+ * Conversation delegates `drainQueue` and `processMessage` to the module-level
5
5
  * functions exported here, following the same context-interface pattern
6
- * used by session-history.ts.
6
+ * used by conversation-history.ts.
7
7
  */
8
8
 
9
9
  import {
@@ -15,7 +15,7 @@ import type {
15
15
  TurnInterfaceContext,
16
16
  } from "../channels/types.js";
17
17
  import { parseChannelId, parseInterfaceId } from "../channels/types.js";
18
- import { API_KEY_PROVIDERS, getConfig } from "../config/loader.js";
18
+ import { getConfig } from "../config/loader.js";
19
19
  import { listPendingRequestsByConversationScope } from "../memory/canonical-guardian-store.js";
20
20
  import {
21
21
  addMessage,
@@ -25,43 +25,36 @@ import {
25
25
  } from "../memory/conversation-crud.js";
26
26
  import { extractPreferences } from "../notifications/preference-extractor.js";
27
27
  import { createPreference } from "../notifications/preferences-store.js";
28
+ import { getConfiguredProviders } from "../providers/provider-availability.js";
28
29
  import type { Message } from "../providers/types.js";
29
30
  import { routeGuardianReply } from "../runtime/guardian-reply-router.js";
30
- import { getSecureKeyAsync } from "../security/secure-keys.js";
31
31
  import { getLogger } from "../util/logger.js";
32
+ import type { MessageQueue } from "./conversation-queue-manager.js";
33
+ import type { QueueDrainReason } from "./conversation-queue-manager.js";
34
+ import type { TrustContext } from "./conversation-runtime-assembly.js";
35
+ import {
36
+ isProviderShortcut,
37
+ resolveSlash,
38
+ type SlashContext,
39
+ } from "./conversation-slash.js";
32
40
  import type {
33
41
  ServerMessage,
34
42
  UsageStats,
35
43
  UserMessageAttachment,
36
44
  } from "./message-protocol.js";
37
- import type { MessageQueue } from "./session-queue-manager.js";
38
- import type { QueueDrainReason } from "./session-queue-manager.js";
39
- import type { TrustContext } from "./session-runtime-assembly.js";
40
- import {
41
- isProviderShortcut,
42
- resolveSlash,
43
- type SlashContext,
44
- } from "./session-slash.js";
45
45
  import type { TraceEmitter } from "./trace-emitter.js";
46
46
  import { resolveVerificationSessionIntent } from "./verification-session-intent.js";
47
47
 
48
- const log = getLogger("session-process");
48
+ const log = getLogger("conversation-process");
49
49
 
50
50
  /** Build a model_info event with fresh config data. */
51
51
  export async function buildModelInfoEvent(): Promise<ServerMessage> {
52
52
  const config = getConfig();
53
- const configured: string[] = ["ollama"];
54
- for (const p of API_KEY_PROVIDERS) {
55
- if (p === "ollama") continue;
56
- if (await getSecureKeyAsync(p)) {
57
- configured.push(p);
58
- }
59
- }
60
53
  return {
61
54
  type: "model_info",
62
- model: config.model,
63
- provider: config.provider,
64
- configuredProviders: configured,
55
+ model: config.services.inference.model,
56
+ provider: config.services.inference.provider,
57
+ configuredProviders: await getConfiguredProviders(),
65
58
  };
66
59
  }
67
60
 
@@ -78,11 +71,11 @@ export function isModelSlashCommand(content: string): boolean {
78
71
  // ── Context Interface ────────────────────────────────────────────────
79
72
 
80
73
  /**
81
- * Subset of Session state that drainQueue / processMessage need access to.
82
- * The Session class implements this interface so its instances can be
74
+ * Subset of Conversation state that drainQueue / processMessage need access to.
75
+ * The Conversation class implements this interface so its instances can be
83
76
  * passed directly to the extracted functions.
84
77
  */
85
- export interface ProcessSessionContext {
78
+ export interface ProcessConversationContext {
86
79
  readonly conversationId: string;
87
80
  messages: Message[];
88
81
  processing: boolean;
@@ -92,9 +85,9 @@ export interface ProcessSessionContext {
92
85
  readonly traceEmitter: TraceEmitter;
93
86
  currentActiveSurfaceId?: string;
94
87
  currentPage?: string;
95
- /** Cumulative token usage stats for the session. */
88
+ /** Cumulative token usage stats for the conversation. */
96
89
  readonly usageStats: UsageStats;
97
- /** Request-scoped skill IDs preactivated via slash resolution. */
90
+ /** Request-scoped skill IDs preactivated via config or programmatic injection. */
98
91
  preactivatedSkillIds?: string[];
99
92
  /** Add a skill ID to the preactivated set without replacing existing entries. */
100
93
  addPreactivatedSkillId(id: string): void;
@@ -198,17 +191,19 @@ function resolveQueuedTurnInterfaceContext(
198
191
  return fallback;
199
192
  }
200
193
 
201
- /** Build a SlashContext from the current session state and config. */
202
- function buildSlashContext(session: ProcessSessionContext): SlashContext {
194
+ /** Build a SlashContext from the current conversation state and config. */
195
+ function buildSlashContext(
196
+ conversation: ProcessConversationContext,
197
+ ): SlashContext {
203
198
  const config = getConfig();
204
199
  return {
205
- messageCount: session.messages.length,
206
- inputTokens: session.usageStats.inputTokens,
207
- outputTokens: session.usageStats.outputTokens,
200
+ messageCount: conversation.messages.length,
201
+ inputTokens: conversation.usageStats.inputTokens,
202
+ outputTokens: conversation.usageStats.outputTokens,
208
203
  maxInputTokens: config.contextWindow.maxInputTokens,
209
- model: config.model,
210
- provider: config.provider,
211
- estimatedCost: session.usageStats.estimatedCost,
204
+ model: config.services.inference.model,
205
+ provider: config.services.inference.provider,
206
+ estimatedCost: conversation.usageStats.estimatedCost,
212
207
  };
213
208
  }
214
209
 
@@ -225,26 +220,26 @@ function buildSlashContext(session: ProcessSessionContext): SlashContext {
225
220
  * remaining queued messages would be stranded.
226
221
  */
227
222
  export async function drainQueue(
228
- session: ProcessSessionContext,
223
+ conversation: ProcessConversationContext,
229
224
  reason: QueueDrainReason = "loop_complete",
230
225
  ): Promise<void> {
231
- const next = session.queue.shift();
226
+ const next = conversation.queue.shift();
232
227
  if (!next) return;
233
228
 
234
229
  // Reset per-turn preactivation so a prior iteration (e.g. an unknown-slash
235
230
  // from a desktop source that skips runAgentLoop) can't leak CU preactivation
236
231
  // into the next queued message.
237
- session.preactivatedSkillIds = undefined;
232
+ conversation.preactivatedSkillIds = undefined;
238
233
 
239
234
  log.info(
240
235
  {
241
- conversationId: session.conversationId,
236
+ conversationId: conversation.conversationId,
242
237
  requestId: next.requestId,
243
238
  reason,
244
239
  },
245
240
  "Dequeuing message",
246
241
  );
247
- session.traceEmitter.emit(
242
+ conversation.traceEmitter.emit(
248
243
  "request_dequeued",
249
244
  `Message dequeued (${reason})`,
250
245
  {
@@ -255,10 +250,10 @@ export async function drainQueue(
255
250
  );
256
251
  next.onEvent({
257
252
  type: "message_dequeued",
258
- sessionId: session.conversationId,
253
+ conversationId: conversation.conversationId,
259
254
  requestId: next.requestId,
260
255
  });
261
- session.emitActivityState(
256
+ conversation.emitActivityState(
262
257
  "thinking",
263
258
  "message_dequeued",
264
259
  "assistant_turn",
@@ -267,50 +262,52 @@ export async function drainQueue(
267
262
 
268
263
  const queuedTurnCtx = resolveQueuedTurnContext(
269
264
  next,
270
- session.getTurnChannelContext(),
265
+ conversation.getTurnChannelContext(),
271
266
  );
272
267
  if (queuedTurnCtx) {
273
- session.setTurnChannelContext(queuedTurnCtx);
268
+ conversation.setTurnChannelContext(queuedTurnCtx);
274
269
  }
275
270
 
276
271
  const queuedInterfaceCtx = resolveQueuedTurnInterfaceContext(
277
272
  next,
278
- session.getTurnInterfaceContext(),
273
+ conversation.getTurnInterfaceContext(),
279
274
  );
280
275
  if (queuedInterfaceCtx) {
281
- session.setTurnInterfaceContext(queuedInterfaceCtx);
276
+ conversation.setTurnInterfaceContext(queuedInterfaceCtx);
282
277
  }
283
278
 
284
279
  // Non-interactive queued messages (channel requests) must not execute tools
285
280
  // via the desktop host proxy. Clear proxy availability so isAvailable()
286
281
  // returns false and tool execution falls back to local.
287
282
  if (next.isInteractive === false) {
288
- session.clearProxyAvailability();
283
+ conversation.clearProxyAvailability();
289
284
  } else {
290
285
  // Restore proxy availability only for desktop-originating turns (macos/ios)
291
286
  // in case a prior non-interactive drain disabled it. Non-desktop interactive
292
287
  // interfaces (CLI, Vellum) should not re-enable desktop host proxies.
293
288
  const interfaceCtx =
294
- queuedInterfaceCtx ?? session.getTurnInterfaceContext();
289
+ queuedInterfaceCtx ?? conversation.getTurnInterfaceContext();
295
290
  const sourceInterface = interfaceCtx?.userMessageInterface;
296
291
  if (sourceInterface === "macos" || sourceInterface === "ios") {
297
- session.restoreProxyAvailability();
298
- session.addPreactivatedSkillId("computer-use");
292
+ conversation.restoreProxyAvailability();
293
+ conversation.addPreactivatedSkillId("computer-use");
299
294
  }
300
295
  }
301
296
 
302
297
  // Resolve slash commands for queued messages
303
298
  const slashResult = await resolveSlash(
304
299
  next.content,
305
- buildSlashContext(session),
300
+ buildSlashContext(conversation),
306
301
  );
307
302
 
308
303
  // Unknown slash — persist the exchange and continue draining.
309
- // Persist each message before pushing to session.messages so that a
304
+ // Persist each message before pushing to conversation.messages so that a
310
305
  // failed write never leaves an unpersisted message in memory.
311
306
  if (slashResult.kind === "unknown") {
312
307
  try {
313
- const drainProvenance = provenanceFromTrustContext(session.trustContext);
308
+ const drainProvenance = provenanceFromTrustContext(
309
+ conversation.trustContext,
310
+ );
314
311
  const drainChannelMeta = {
315
312
  ...drainProvenance,
316
313
  ...(queuedTurnCtx
@@ -326,6 +323,7 @@ export async function drainQueue(
326
323
  queuedInterfaceCtx.assistantMessageInterface,
327
324
  }
328
325
  : {}),
326
+ ...(next.metadata?.automated ? { automated: true } : {}),
329
327
  };
330
328
  const userMsg = createUserMessage(next.content, next.attachments);
331
329
  // When displayContent is provided (e.g. original text before recording
@@ -337,31 +335,31 @@ export async function drainQueue(
337
335
  )
338
336
  : JSON.stringify(userMsg.content);
339
337
  await addMessage(
340
- session.conversationId,
338
+ conversation.conversationId,
341
339
  "user",
342
340
  contentToPersist,
343
341
  drainChannelMeta,
344
342
  );
345
- session.messages.push(userMsg);
343
+ conversation.messages.push(userMsg);
346
344
 
347
345
  const assistantMsg = createAssistantMessage(slashResult.message);
348
346
  await addMessage(
349
- session.conversationId,
347
+ conversation.conversationId,
350
348
  "assistant",
351
349
  JSON.stringify(assistantMsg.content),
352
350
  drainChannelMeta,
353
351
  );
354
- session.messages.push(assistantMsg);
352
+ conversation.messages.push(assistantMsg);
355
353
 
356
354
  if (queuedTurnCtx) {
357
355
  setConversationOriginChannelIfUnset(
358
- session.conversationId,
356
+ conversation.conversationId,
359
357
  queuedTurnCtx.userMessageChannel,
360
358
  );
361
359
  }
362
360
  if (queuedInterfaceCtx) {
363
361
  setConversationOriginInterfaceIfUnset(
364
- session.conversationId,
362
+ conversation.conversationId,
365
363
  queuedInterfaceCtx.userMessageInterface,
366
364
  );
367
365
  }
@@ -375,7 +373,7 @@ export async function drainQueue(
375
373
  next.onEvent(await buildModelInfoEvent());
376
374
  }
377
375
  next.onEvent({ type: "assistant_text_delta", text: slashResult.message });
378
- session.traceEmitter.emit(
376
+ conversation.traceEmitter.emit(
379
377
  "message_complete",
380
378
  "Unknown slash command handled",
381
379
  {
@@ -385,19 +383,19 @@ export async function drainQueue(
385
383
  );
386
384
  next.onEvent({
387
385
  type: "message_complete",
388
- sessionId: session.conversationId,
386
+ conversationId: conversation.conversationId,
389
387
  });
390
388
  } catch (err) {
391
389
  const message = err instanceof Error ? err.message : String(err);
392
390
  log.error(
393
391
  {
394
392
  err,
395
- conversationId: session.conversationId,
393
+ conversationId: conversation.conversationId,
396
394
  requestId: next.requestId,
397
395
  },
398
396
  "Failed to persist unknown-slash exchange",
399
397
  );
400
- session.traceEmitter.emit(
398
+ conversation.traceEmitter.emit(
401
399
  "request_error",
402
400
  `Unknown-slash persist failed: ${message}`,
403
401
  {
@@ -409,17 +407,12 @@ export async function drainQueue(
409
407
  next.onEvent({ type: "error", message });
410
408
  }
411
409
  // Continue draining regardless of success/failure
412
- await drainQueue(session);
410
+ await drainQueue(conversation);
413
411
  return;
414
412
  }
415
413
 
416
414
  const resolvedContent = slashResult.content;
417
415
 
418
- // Preactivate skill tools when slash resolution identifies a known skill
419
- if (slashResult.kind === "rewritten") {
420
- session.preactivatedSkillIds = [slashResult.skillId];
421
- }
422
-
423
416
  // Guardian verification intent interception for queued messages.
424
417
  // Preserve the original user content for persistence; only the agent
425
418
  // loop receives the rewritten instruction.
@@ -430,13 +423,13 @@ export async function drainQueue(
430
423
  if (verificationIntent.kind === "direct_setup") {
431
424
  log.info(
432
425
  {
433
- conversationId: session.conversationId,
426
+ conversationId: conversation.conversationId,
434
427
  channelHint: verificationIntent.channelHint,
435
428
  },
436
429
  "Verification session intent intercepted in queue — forcing skill flow",
437
430
  );
438
431
  agentLoopContent = verificationIntent.rewrittenContent;
439
- session.preactivatedSkillIds = ["guardian-verify-setup"];
432
+ conversation.preactivatedSkillIds = ["guardian-verify-setup"];
440
433
  }
441
434
  }
442
435
 
@@ -446,7 +439,7 @@ export async function drainQueue(
446
439
  // resolves early (no runAgentLoop call), so we must continue draining.
447
440
  let userMessageId: string;
448
441
  try {
449
- userMessageId = await session.persistUserMessage(
442
+ userMessageId = await conversation.persistUserMessage(
450
443
  resolvedContent,
451
444
  next.attachments,
452
445
  next.requestId,
@@ -458,12 +451,12 @@ export async function drainQueue(
458
451
  log.error(
459
452
  {
460
453
  err,
461
- conversationId: session.conversationId,
454
+ conversationId: conversation.conversationId,
462
455
  requestId: next.requestId,
463
456
  },
464
457
  "Failed to persist queued message",
465
458
  );
466
- session.traceEmitter.emit(
459
+ conversation.traceEmitter.emit(
467
460
  "request_error",
468
461
  `Queued message persist failed: ${message}`,
469
462
  {
@@ -474,19 +467,19 @@ export async function drainQueue(
474
467
  );
475
468
  next.onEvent({ type: "error", message });
476
469
  // runAgentLoop never ran, so its finally block won't clear this
477
- session.preactivatedSkillIds = undefined;
470
+ conversation.preactivatedSkillIds = undefined;
478
471
  // Continue draining — don't strand remaining messages
479
- await drainQueue(session);
472
+ await drainQueue(conversation);
480
473
  return;
481
474
  }
482
475
 
483
476
  // Set the active surface for the dequeued message so runAgentLoop can inject context
484
- session.currentActiveSurfaceId = next.activeSurfaceId;
485
- session.currentPage = next.currentPage;
477
+ conversation.currentActiveSurfaceId = next.activeSurfaceId;
478
+ conversation.currentPage = next.currentPage;
486
479
 
487
480
  // Fire-and-forget: detect notification preferences in the queued message
488
481
  // and persist any that are found, mirroring the logic in processMessage.
489
- if (session.assistantId) {
482
+ if (conversation.assistantId) {
490
483
  extractPreferences(resolvedContent)
491
484
  .then((result) => {
492
485
  if (!result.detected) return;
@@ -500,7 +493,7 @@ export async function drainQueue(
500
493
  log.info(
501
494
  {
502
495
  count: result.preferences.length,
503
- conversationId: session.conversationId,
496
+ conversationId: conversation.conversationId,
504
497
  },
505
498
  "Persisted extracted notification preferences (queued)",
506
499
  );
@@ -508,13 +501,13 @@ export async function drainQueue(
508
501
  .catch((err) => {
509
502
  const errMsg = err instanceof Error ? err.message : String(err);
510
503
  log.warn(
511
- { err: errMsg, conversationId: session.conversationId },
504
+ { err: errMsg, conversationId: conversation.conversationId },
512
505
  "Background preference extraction failed (queued)",
513
506
  );
514
507
  });
515
508
  }
516
509
 
517
- // Fire-and-forget: persistUserMessage set session.processing = true
510
+ // Fire-and-forget: persistUserMessage set conversation.processing = true
518
511
  // so subsequent messages will still be enqueued.
519
512
  // runAgentLoop's finally block will call drainQueue when this run completes.
520
513
  const drainLoopOptions: {
@@ -527,7 +520,7 @@ export async function drainQueue(
527
520
  if (agentLoopContent !== resolvedContent)
528
521
  drainLoopOptions.titleText = resolvedContent;
529
522
 
530
- session
523
+ conversation
531
524
  .runAgentLoop(
532
525
  agentLoopContent,
533
526
  userMessageId,
@@ -539,7 +532,7 @@ export async function drainQueue(
539
532
  log.error(
540
533
  {
541
534
  err,
542
- conversationId: session.conversationId,
535
+ conversationId: conversation.conversationId,
543
536
  requestId: next.requestId,
544
537
  },
545
538
  "Error processing queued message",
@@ -558,7 +551,7 @@ export async function drainQueue(
558
551
  * in a single call. Used by the message-handler path where blocking is expected.
559
552
  */
560
553
  export async function processMessage(
561
- session: ProcessSessionContext,
554
+ conversation: ProcessConversationContext,
562
555
  content: string,
563
556
  attachments: UserMessageAttachment[],
564
557
  onEvent: (msg: ServerMessage) => void,
@@ -568,14 +561,14 @@ export async function processMessage(
568
561
  options?: { isInteractive?: boolean },
569
562
  displayContent?: string,
570
563
  ): Promise<string> {
571
- await session.ensureActorScopedHistory();
572
- session.currentActiveSurfaceId = activeSurfaceId;
573
- session.currentPage = currentPage;
564
+ await conversation.ensureActorScopedHistory();
565
+ conversation.currentActiveSurfaceId = activeSurfaceId;
566
+ conversation.currentPage = currentPage;
574
567
  const trimmedContent = content.trim();
575
568
  const canonicalPendingRequestHintIdsForConversation =
576
569
  trimmedContent.length > 0
577
570
  ? listPendingRequestsByConversationScope(
578
- session.conversationId,
571
+ conversation.conversationId,
579
572
  "vellum",
580
573
  ).map((request) => request.id)
581
574
  : [];
@@ -584,8 +577,8 @@ export async function processMessage(
584
577
  ? canonicalPendingRequestHintIdsForConversation
585
578
  : undefined;
586
579
 
587
- // ── Canonical guardian reply router (desktop/session path) ──
588
- // Desktop/session guardian replies are canonical-only. Messages consumed
580
+ // ── Canonical guardian reply router (desktop/conversation path) ──
581
+ // Desktop/conversation guardian replies are canonical-only. Messages consumed
589
582
  // by the router never hit the general agent loop.
590
583
  if (trimmedContent.length > 0) {
591
584
  const routerResult = await routeGuardianReply({
@@ -593,13 +586,13 @@ export async function processMessage(
593
586
  channel: "vellum",
594
587
  actor: {
595
588
  actorPrincipalId:
596
- session.trustContext?.guardianPrincipalId ?? undefined,
597
- actorExternalUserId: session.trustContext?.guardianExternalUserId,
589
+ conversation.trustContext?.guardianPrincipalId ?? undefined,
590
+ actorExternalUserId: conversation.trustContext?.guardianExternalUserId,
598
591
  channel: "vellum",
599
592
  guardianPrincipalId:
600
- session.trustContext?.guardianPrincipalId ?? undefined,
593
+ conversation.trustContext?.guardianPrincipalId ?? undefined,
601
594
  },
602
- conversationId: session.conversationId,
595
+ conversationId: conversation.conversationId,
603
596
  pendingRequestIds: canonicalPendingRequestIdsForConversation,
604
597
  // Desktop path: disable NL classification to avoid consuming non-decision
605
598
  // messages while a tool confirmation is pending. Deterministic code-prefix
@@ -608,7 +601,7 @@ export async function processMessage(
608
601
  });
609
602
 
610
603
  if (routerResult.consumed) {
611
- const guardianIfCtx = session.getTurnInterfaceContext();
604
+ const guardianIfCtx = conversation.getTurnInterfaceContext();
612
605
  const routerChannelMeta = {
613
606
  userMessageChannel: "vellum" as const,
614
607
  assistantMessageChannel: "vellum" as const,
@@ -620,12 +613,12 @@ export async function processMessage(
620
613
 
621
614
  const userMsg = createUserMessage(content, attachments);
622
615
  const persisted = await addMessage(
623
- session.conversationId,
616
+ conversation.conversationId,
624
617
  "user",
625
618
  JSON.stringify(userMsg.content),
626
619
  routerChannelMeta,
627
620
  );
628
- session.messages.push(userMsg);
621
+ conversation.messages.push(userMsg);
629
622
 
630
623
  const replyText =
631
624
  routerResult.replyText ??
@@ -634,23 +627,26 @@ export async function processMessage(
634
627
  : "Request already resolved.");
635
628
  const assistantMsg = createAssistantMessage(replyText);
636
629
  await addMessage(
637
- session.conversationId,
630
+ conversation.conversationId,
638
631
  "assistant",
639
632
  JSON.stringify(assistantMsg.content),
640
633
  routerChannelMeta,
641
634
  );
642
- session.messages.push(assistantMsg);
635
+ conversation.messages.push(assistantMsg);
643
636
 
644
637
  onEvent({ type: "assistant_text_delta", text: replyText });
645
- onEvent({ type: "message_complete", sessionId: session.conversationId });
638
+ onEvent({
639
+ type: "message_complete",
640
+ conversationId: conversation.conversationId,
641
+ });
646
642
 
647
643
  log.info(
648
644
  {
649
- conversationId: session.conversationId,
645
+ conversationId: conversation.conversationId,
650
646
  routerType: routerResult.type,
651
647
  requestId: routerResult.requestId,
652
648
  },
653
- "Session guardian reply routed through canonical pipeline",
649
+ "Conversation guardian reply routed through canonical pipeline",
654
650
  );
655
651
 
656
652
  return persisted.id;
@@ -658,15 +654,18 @@ export async function processMessage(
658
654
  }
659
655
 
660
656
  // Resolve slash commands before persistence
661
- const slashResult = await resolveSlash(content, buildSlashContext(session));
657
+ const slashResult = await resolveSlash(
658
+ content,
659
+ buildSlashContext(conversation),
660
+ );
662
661
 
663
662
  // Unknown slash command — persist the exchange (user + assistant) so the
664
- // messageId is real. Persist each message before pushing to session.messages
663
+ // messageId is real. Persist each message before pushing to conversation.messages
665
664
  // so that a failed write never leaves an unpersisted message in memory.
666
665
  if (slashResult.kind === "unknown") {
667
- const pmTurnCtx = session.getTurnChannelContext();
668
- const pmInterfaceCtx = session.getTurnInterfaceContext();
669
- const pmProvenance = provenanceFromTrustContext(session.trustContext);
666
+ const pmTurnCtx = conversation.getTurnChannelContext();
667
+ const pmInterfaceCtx = conversation.getTurnInterfaceContext();
668
+ const pmProvenance = provenanceFromTrustContext(conversation.trustContext);
670
669
  const pmChannelMeta = {
671
670
  ...pmProvenance,
672
671
  ...(pmTurnCtx
@@ -690,31 +689,31 @@ export async function processMessage(
690
689
  ? JSON.stringify(createUserMessage(displayContent, attachments).content)
691
690
  : JSON.stringify(userMsg.content);
692
691
  const persisted = await addMessage(
693
- session.conversationId,
692
+ conversation.conversationId,
694
693
  "user",
695
694
  contentToPersist,
696
695
  pmChannelMeta,
697
696
  );
698
- session.messages.push(userMsg);
697
+ conversation.messages.push(userMsg);
699
698
 
700
699
  const assistantMsg = createAssistantMessage(slashResult.message);
701
700
  await addMessage(
702
- session.conversationId,
701
+ conversation.conversationId,
703
702
  "assistant",
704
703
  JSON.stringify(assistantMsg.content),
705
704
  pmChannelMeta,
706
705
  );
707
- session.messages.push(assistantMsg);
706
+ conversation.messages.push(assistantMsg);
708
707
 
709
708
  if (pmTurnCtx) {
710
709
  setConversationOriginChannelIfUnset(
711
- session.conversationId,
710
+ conversation.conversationId,
712
711
  pmTurnCtx.userMessageChannel,
713
712
  );
714
713
  }
715
714
  if (pmInterfaceCtx) {
716
715
  setConversationOriginInterfaceIfUnset(
717
- session.conversationId,
716
+ conversation.conversationId,
718
717
  pmInterfaceCtx.userMessageInterface,
719
718
  );
720
719
  }
@@ -725,7 +724,7 @@ export async function processMessage(
725
724
  onEvent(await buildModelInfoEvent());
726
725
  }
727
726
  onEvent({ type: "assistant_text_delta", text: slashResult.message });
728
- session.traceEmitter.emit(
727
+ conversation.traceEmitter.emit(
729
728
  "message_complete",
730
729
  "Unknown slash command handled",
731
730
  {
@@ -733,17 +732,15 @@ export async function processMessage(
733
732
  status: "success",
734
733
  },
735
734
  );
736
- onEvent({ type: "message_complete", sessionId: session.conversationId });
735
+ onEvent({
736
+ type: "message_complete",
737
+ conversationId: conversation.conversationId,
738
+ });
737
739
  return persisted.id;
738
740
  }
739
741
 
740
742
  const resolvedContent = slashResult.content;
741
743
 
742
- // Preactivate skill tools when slash resolution identifies a known skill
743
- if (slashResult.kind === "rewritten") {
744
- session.preactivatedSkillIds = [slashResult.skillId];
745
- }
746
-
747
744
  // Guardian verification intent interception — force direct guardian
748
745
  // verification requests into the guardian-verify-setup skill flow on
749
746
  // the first turn, avoiding conceptual preambles from the agent.
@@ -756,19 +753,19 @@ export async function processMessage(
756
753
  if (verificationIntent.kind === "direct_setup") {
757
754
  log.info(
758
755
  {
759
- conversationId: session.conversationId,
756
+ conversationId: conversation.conversationId,
760
757
  channelHint: verificationIntent.channelHint,
761
758
  },
762
759
  "Verification session intent intercepted — forcing skill flow",
763
760
  );
764
761
  agentLoopContent = verificationIntent.rewrittenContent;
765
- session.preactivatedSkillIds = ["guardian-verify-setup"];
762
+ conversation.preactivatedSkillIds = ["guardian-verify-setup"];
766
763
  }
767
764
  }
768
765
 
769
766
  let userMessageId: string;
770
767
  try {
771
- userMessageId = await session.persistUserMessage(
768
+ userMessageId = await conversation.persistUserMessage(
772
769
  resolvedContent,
773
770
  attachments,
774
771
  requestId,
@@ -779,14 +776,14 @@ export async function processMessage(
779
776
  const message = err instanceof Error ? err.message : String(err);
780
777
  onEvent({ type: "error", message });
781
778
  // runAgentLoop never ran, so its finally block won't clear this
782
- session.preactivatedSkillIds = undefined;
779
+ conversation.preactivatedSkillIds = undefined;
783
780
  return "";
784
781
  }
785
782
 
786
783
  // Fire-and-forget: detect notification preferences in the user message
787
784
  // and persist any that are found. Runs in the background so it doesn't
788
785
  // block the main conversation flow.
789
- if (session.assistantId) {
786
+ if (conversation.assistantId) {
790
787
  extractPreferences(resolvedContent)
791
788
  .then((result) => {
792
789
  if (!result.detected) return;
@@ -800,7 +797,7 @@ export async function processMessage(
800
797
  log.info(
801
798
  {
802
799
  count: result.preferences.length,
803
- conversationId: session.conversationId,
800
+ conversationId: conversation.conversationId,
804
801
  },
805
802
  "Persisted extracted notification preferences",
806
803
  );
@@ -808,7 +805,7 @@ export async function processMessage(
808
805
  .catch((err) => {
809
806
  const errMsg = err instanceof Error ? err.message : String(err);
810
807
  log.warn(
811
- { err: errMsg, conversationId: session.conversationId },
808
+ { err: errMsg, conversationId: conversation.conversationId },
812
809
  "Background preference extraction failed",
813
810
  );
814
811
  });
@@ -824,7 +821,7 @@ export async function processMessage(
824
821
  if (agentLoopContent !== resolvedContent)
825
822
  loopOptions.titleText = resolvedContent;
826
823
 
827
- await session.runAgentLoop(
824
+ await conversation.runAgentLoop(
828
825
  agentLoopContent,
829
826
  userMessageId,
830
827
  onEvent,