@vellumai/assistant 0.4.55 → 0.4.57

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 (1673) hide show
  1. package/ARCHITECTURE.md +161 -167
  2. package/Dockerfile +9 -9
  3. package/README.md +12 -12
  4. package/bun.lock +145 -112
  5. package/docs/architecture/integrations.md +24 -24
  6. package/docs/architecture/memory.md +53 -54
  7. package/docs/architecture/security.md +2 -2
  8. package/docs/credential-execution-service.md +404 -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 +26 -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 +10 -10
  732. package/src/__tests__/always-loaded-tools-guard.test.ts +1 -1
  733. package/src/__tests__/anthropic-provider.test.ts +340 -46
  734. package/src/__tests__/app-builder-tool-scripts.test.ts +15 -2
  735. package/src/__tests__/approval-cascade.test.ts +123 -97
  736. package/src/__tests__/approval-primitive.test.ts +2 -2
  737. package/src/__tests__/approval-routes-http.test.ts +42 -28
  738. package/src/__tests__/asset-materialize-tool.test.ts +14 -21
  739. package/src/__tests__/asset-search-tool.test.ts +6 -13
  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-events-sse-hardening.test.ts +1 -1
  744. package/src/__tests__/assistant-feature-flag-guardrails.test.ts +6 -1
  745. package/src/__tests__/assistant-feature-flags-integration.test.ts +169 -40
  746. package/src/__tests__/attachments-store.test.ts +2 -2
  747. package/src/__tests__/avatar-e2e.test.ts +19 -7
  748. package/src/__tests__/avatar-generator.test.ts +4 -7
  749. package/src/__tests__/browser-fill-credential.test.ts +17 -18
  750. package/src/__tests__/browser-skill-endstate.test.ts +1 -2
  751. package/src/__tests__/btw-routes.test.ts +21 -9
  752. package/src/__tests__/call-controller.test.ts +229 -202
  753. package/src/__tests__/call-pointer-messages.test.ts +12 -10
  754. package/src/__tests__/call-routes-http.test.ts +4 -4
  755. package/src/__tests__/call-start-guardian-guard.test.ts +0 -1
  756. package/src/__tests__/callback-handoff-copy.test.ts +1 -1
  757. package/src/__tests__/cancel-resolves-conversation-key.test.ts +158 -0
  758. package/src/__tests__/canonical-guardian-store.test.ts +8 -10
  759. package/src/__tests__/channel-approval-routes.test.ts +5 -5
  760. package/src/__tests__/channel-approval.test.ts +1 -1
  761. package/src/__tests__/channel-approvals.test.ts +13 -13
  762. package/src/__tests__/channel-guardian.test.ts +3 -3
  763. package/src/__tests__/channel-invite-transport.test.ts +5 -1
  764. package/src/__tests__/channel-readiness-routes.test.ts +4 -1
  765. package/src/__tests__/channel-readiness-service.test.ts +0 -1
  766. package/src/__tests__/channel-reply-delivery.test.ts +1 -1
  767. package/src/__tests__/checker.test.ts +32 -33
  768. package/src/__tests__/chrome-cdp.test.ts +47 -18
  769. package/src/__tests__/claude-code-skill-regression.test.ts +67 -1
  770. package/src/__tests__/claude-code-tool-profiles.test.ts +1 -1
  771. package/src/__tests__/clipboard.test.ts +6 -6
  772. package/src/__tests__/commit-guarantee.test.ts +9 -9
  773. package/src/__tests__/commit-message-enrichment-service.test.ts +37 -6
  774. package/src/__tests__/computer-use-tools.test.ts +0 -1
  775. package/src/__tests__/config-loader-backfill.test.ts +6 -4
  776. package/src/__tests__/config-schema-cmd.test.ts +258 -0
  777. package/src/__tests__/config-schema.test.ts +45 -46
  778. package/src/__tests__/config-watcher.test.ts +25 -24
  779. package/src/__tests__/confirmation-request-guardian-bridge.test.ts +17 -15
  780. package/src/__tests__/contacts-tools.test.ts +0 -1
  781. package/src/__tests__/context-overflow-approval.test.ts +2 -2
  782. package/src/__tests__/{session-abort-tool-results.test.ts → conversation-abort-tool-results.test.ts} +26 -13
  783. package/src/__tests__/{session-agent-loop-overflow.test.ts → conversation-agent-loop-overflow.test.ts} +236 -61
  784. package/src/__tests__/{session-agent-loop.test.ts → conversation-agent-loop.test.ts} +88 -65
  785. package/src/__tests__/{session-approval-overrides.test.ts → conversation-approval-overrides.test.ts} +23 -23
  786. package/src/__tests__/conversation-attachments.test.ts +227 -0
  787. package/src/__tests__/conversation-attention-telegram.test.ts +2 -2
  788. package/src/__tests__/{session-confirmation-signals.test.ts → conversation-confirmation-signals.test.ts} +64 -54
  789. package/src/__tests__/{session-error.test.ts → conversation-error.test.ts} +98 -57
  790. package/src/__tests__/{session-evictor.test.ts → conversation-evictor.test.ts} +21 -17
  791. package/src/__tests__/{session-history-web-search.test.ts → conversation-history-web-search.test.ts} +34 -10
  792. package/src/__tests__/{session-init.benchmark.test.ts → conversation-init.benchmark.test.ts} +23 -24
  793. package/src/__tests__/{session-load-history-repair.test.ts → conversation-load-history-repair.test.ts} +39 -39
  794. package/src/__tests__/{session-media-retry.test.ts → conversation-media-retry.test.ts} +1 -1
  795. package/src/__tests__/{session-messaging-secret-redirect.test.ts → conversation-messaging-secret-redirect.test.ts} +1 -1
  796. package/src/__tests__/conversation-pairing.test.ts +47 -47
  797. package/src/__tests__/{session-pre-run-repair.test.ts → conversation-pre-run-repair.test.ts} +26 -13
  798. package/src/__tests__/{session-provider-retry-repair.test.ts → conversation-provider-retry-repair.test.ts} +61 -48
  799. package/src/__tests__/{session-queue.test.ts → conversation-queue.test.ts} +260 -230
  800. package/src/__tests__/conversation-routes-guardian-reply.test.ts +26 -26
  801. package/src/__tests__/conversation-routes-slash-commands.test.ts +34 -57
  802. package/src/__tests__/{session-runtime-assembly.test.ts → conversation-runtime-assembly.test.ts} +187 -175
  803. package/src/__tests__/{session-runtime-workspace.test.ts → conversation-runtime-workspace.test.ts} +1 -1
  804. package/src/__tests__/{thread-seed-composer.test.ts → conversation-seed-composer.test.ts} +51 -49
  805. package/src/__tests__/{session-skill-tools.test.ts → conversation-skill-tools.test.ts} +11 -13
  806. package/src/__tests__/{session-slash-queue.test.ts → conversation-slash-queue.test.ts} +57 -48
  807. package/src/__tests__/{session-slash-unknown.test.ts → conversation-slash-unknown.test.ts} +33 -77
  808. package/src/__tests__/conversation-starter-routes.test.ts +291 -0
  809. package/src/__tests__/conversation-store.test.ts +61 -55
  810. package/src/__tests__/{session-surfaces-deselection.test.ts → conversation-surfaces-deselection.test.ts} +5 -5
  811. package/src/__tests__/{session-surfaces-task-progress.test.ts → conversation-surfaces-task-progress.test.ts} +7 -7
  812. package/src/__tests__/{session-tool-setup-app-refresh.test.ts → conversation-tool-setup-app-refresh.test.ts} +5 -5
  813. package/src/__tests__/{session-tool-setup-memory-scope.test.ts → conversation-tool-setup-memory-scope.test.ts} +4 -4
  814. package/src/__tests__/{session-tool-setup-side-effect-flag.test.ts → conversation-tool-setup-side-effect-flag.test.ts} +4 -4
  815. package/src/__tests__/{session-tool-setup-tools-disabled.test.ts → conversation-tool-setup-tools-disabled.test.ts} +3 -3
  816. package/src/__tests__/{session-undo.test.ts → conversation-undo.test.ts} +1 -1
  817. package/src/__tests__/conversation-unread-route.test.ts +4 -0
  818. package/src/__tests__/{session-usage.test.ts → conversation-usage.test.ts} +1 -1
  819. package/src/__tests__/conversation-wipe.test.ts +438 -0
  820. package/src/__tests__/{session-workspace-cache-state.test.ts → conversation-workspace-cache-state.test.ts} +31 -39
  821. package/src/__tests__/{session-workspace-injection.test.ts → conversation-workspace-injection.test.ts} +60 -54
  822. package/src/__tests__/{session-workspace-tool-tracking.test.ts → conversation-workspace-tool-tracking.test.ts} +56 -50
  823. package/src/__tests__/credential-execution-admin-cli.test.ts +504 -0
  824. package/src/__tests__/credential-execution-api-key-propagation.test.ts +309 -0
  825. package/src/__tests__/credential-execution-approval-bridge.test.ts +535 -0
  826. package/src/__tests__/credential-execution-client.test.ts +380 -0
  827. package/src/__tests__/credential-execution-feature-gates.test.ts +169 -0
  828. package/src/__tests__/credential-execution-managed-contract.test.ts +526 -0
  829. package/src/__tests__/credential-execution-shell-lockdown.test.ts +149 -0
  830. package/src/__tests__/credential-execution-tools.test.ts +279 -0
  831. package/src/__tests__/credential-security-e2e.test.ts +20 -1
  832. package/src/__tests__/credential-security-invariants.test.ts +5 -8
  833. package/src/__tests__/credential-storage-oauth-compat.test.ts +606 -0
  834. package/src/__tests__/credential-storage-static-compat.test.ts +396 -0
  835. package/src/__tests__/credential-vault-unit.test.ts +227 -1
  836. package/src/__tests__/credential-vault.test.ts +0 -1
  837. package/src/__tests__/credentials-cli.test.ts +13 -22
  838. package/src/__tests__/cu-unified-flow.test.ts +8 -6
  839. package/src/__tests__/daemon-assistant-events.test.ts +15 -12
  840. package/src/__tests__/date-context.test.ts +59 -377
  841. package/src/__tests__/delete-managed-skill-tool.test.ts +0 -1
  842. package/src/__tests__/diagnostics-export.test.ts +30 -0
  843. package/src/__tests__/drop-capability-card-state-migration.test.ts +169 -0
  844. package/src/__tests__/dynamic-page-surface.test.ts +2 -2
  845. package/src/__tests__/dynamic-skill-workflow-prompt.test.ts +23 -43
  846. package/src/__tests__/emit-signal-routing-intent.test.ts +4 -4
  847. package/src/__tests__/encrypted-store.test.ts +237 -15
  848. package/src/__tests__/ephemeral-permissions.test.ts +4 -5
  849. package/src/__tests__/event-bus.test.ts +5 -9
  850. package/src/__tests__/file-edit-tool.test.ts +0 -1
  851. package/src/__tests__/file-read-tool.test.ts +0 -1
  852. package/src/__tests__/file-write-tool.test.ts +0 -1
  853. package/src/__tests__/fixtures/mock-signup-server.ts +2 -2
  854. package/src/__tests__/followup-tools.test.ts +25 -26
  855. package/src/__tests__/frontmatter.test.ts +12 -10
  856. package/src/__tests__/gateway-only-enforcement.test.ts +2 -2
  857. package/src/__tests__/gateway-only-guard.test.ts +1 -0
  858. package/src/__tests__/gemini-image-service.test.ts +4 -4
  859. package/src/__tests__/gemini-provider.test.ts +6 -9
  860. package/src/__tests__/guardian-action-late-reply.test.ts +1 -1
  861. package/src/__tests__/guardian-action-no-hardcoded-copy.test.ts +1 -1
  862. package/src/__tests__/guardian-binding-drift-heal.test.ts +128 -0
  863. package/src/__tests__/guardian-decision-primitive-canonical.test.ts +15 -15
  864. package/src/__tests__/guardian-dispatch.test.ts +9 -10
  865. package/src/__tests__/guardian-grant-minting.test.ts +5 -5
  866. package/src/__tests__/guardian-question-copy.test.ts +10 -8
  867. package/src/__tests__/guardian-routing-invariants.test.ts +61 -61
  868. package/src/__tests__/guardian-routing-state.test.ts +1 -1
  869. package/src/__tests__/guardian-verification-voice-binding.test.ts +1 -1
  870. package/src/__tests__/handlers-user-message-approval-consumption.test.ts +20 -16
  871. package/src/__tests__/headless-browser-interactions.test.ts +18 -17
  872. package/src/__tests__/headless-browser-navigate.test.ts +0 -1
  873. package/src/__tests__/headless-browser-read-tools.test.ts +5 -6
  874. package/src/__tests__/headless-browser-snapshot.test.ts +12 -9
  875. package/src/__tests__/heartbeat-service.test.ts +5 -4
  876. package/src/__tests__/hooks-ts-runner.test.ts +10 -4
  877. package/src/__tests__/host-bash-proxy.test.ts +50 -1
  878. package/src/__tests__/host-cu-proxy.test.ts +1 -1
  879. package/src/__tests__/host-file-edit-tool.test.ts +0 -1
  880. package/src/__tests__/host-file-proxy.test.ts +1 -1
  881. package/src/__tests__/host-file-read-tool.test.ts +0 -1
  882. package/src/__tests__/host-file-write-tool.test.ts +0 -1
  883. package/src/__tests__/host-shell-tool.test.ts +70 -11
  884. package/src/__tests__/http-user-message-parity.test.ts +32 -19
  885. package/src/__tests__/intent-routing.test.ts +68 -129
  886. package/src/__tests__/invite-redemption-service.test.ts +35 -0
  887. package/src/__tests__/invite-routes-http.test.ts +5 -0
  888. package/src/__tests__/keychain-broker-client.test.ts +150 -0
  889. package/src/__tests__/list-messages-attachments.test.ts +1 -1
  890. package/src/__tests__/log-export-workspace.test.ts +133 -60
  891. package/src/__tests__/managed-credential-catalog-cli.test.ts +349 -0
  892. package/src/__tests__/managed-proxy-context.test.ts +2 -5
  893. package/src/__tests__/managed-skill-lifecycle.test.ts +20 -8
  894. package/src/__tests__/managed-store.test.ts +0 -38
  895. package/src/__tests__/media-generate-image.test.ts +48 -14
  896. package/src/__tests__/media-reuse-story.e2e.test.ts +83 -71
  897. package/src/__tests__/media-visibility-policy.test.ts +10 -10
  898. package/src/__tests__/memory-context-benchmark.benchmark.test.ts +1 -1
  899. package/src/__tests__/memory-lifecycle-e2e.test.ts +24 -18
  900. package/src/__tests__/memory-query-builder.test.ts +2 -2
  901. package/src/__tests__/memory-recall-quality.test.ts +4 -3
  902. package/src/__tests__/memory-regressions.test.ts +153 -120
  903. package/src/__tests__/messaging-send-tool.test.ts +0 -2
  904. package/src/__tests__/migration-cross-version-compatibility.test.ts +32 -32
  905. package/src/__tests__/migration-export-http.test.ts +26 -27
  906. package/src/__tests__/migration-import-commit-http.test.ts +165 -37
  907. package/src/__tests__/migration-import-preflight-http.test.ts +81 -20
  908. package/src/__tests__/migration-validate-http.test.ts +16 -16
  909. package/src/__tests__/model-intents.test.ts +1 -1
  910. package/src/__tests__/no-domain-routing-in-prompt-guard.test.ts +51 -0
  911. package/src/__tests__/notification-broadcaster.test.ts +43 -41
  912. package/src/__tests__/{notification-thread-candidate-validation.test.ts → notification-conversation-candidate-validation.test.ts} +26 -24
  913. package/src/__tests__/{notification-thread-candidates.test.ts → notification-conversation-candidates.test.ts} +15 -15
  914. package/src/__tests__/notification-decision-fallback.test.ts +8 -8
  915. package/src/__tests__/notification-decision-identity.test.ts +208 -0
  916. package/src/__tests__/notification-decision-strategy.test.ts +41 -39
  917. package/src/__tests__/notification-deep-link.test.ts +19 -19
  918. package/src/__tests__/notification-guardian-path.test.ts +13 -11
  919. package/src/__tests__/notification-schedule-dedup.test.ts +7 -7
  920. package/src/__tests__/notification-telegram-adapter.test.ts +5 -5
  921. package/src/__tests__/oauth-store.test.ts +2 -8
  922. package/src/__tests__/oauth2-gateway-transport.test.ts +6 -1
  923. package/src/__tests__/onboarding-template-contract.test.ts +23 -59
  924. package/src/__tests__/permission-types.test.ts +1 -1
  925. package/src/__tests__/playbook-execution.test.ts +0 -1
  926. package/src/__tests__/playbook-tools.test.ts +0 -1
  927. package/src/__tests__/provider-commit-message-generator.test.ts +7 -6
  928. package/src/__tests__/provider-error-scenarios.test.ts +154 -0
  929. package/src/__tests__/provider-fail-open-selection.test.ts +22 -28
  930. package/src/__tests__/provider-managed-proxy-integration.test.ts +41 -63
  931. package/src/__tests__/provider-registry-ollama.test.ts +16 -2
  932. package/src/__tests__/proxy-approval-callback.test.ts +2 -2
  933. package/src/__tests__/qdrant-manager.test.ts +7 -7
  934. package/src/__tests__/ratelimit.test.ts +0 -74
  935. package/src/__tests__/recording-handler.test.ts +20 -21
  936. package/src/__tests__/relay-server.test.ts +8 -5
  937. package/src/__tests__/require-fresh-approval.test.ts +532 -0
  938. package/src/__tests__/resolve-trust-class.test.ts +2 -2
  939. package/src/__tests__/runtime-attachment-metadata.test.ts +1 -1
  940. package/src/__tests__/runtime-events-sse-parity.test.ts +22 -22
  941. package/src/__tests__/runtime-events-sse.test.ts +16 -8
  942. package/src/__tests__/scaffold-managed-skill-tool.test.ts +1 -4
  943. package/src/__tests__/schedule-tools.test.ts +0 -1
  944. package/src/__tests__/scheduler-recurrence.test.ts +46 -2
  945. package/src/__tests__/schema-transforms.test.ts +114 -54
  946. package/src/__tests__/scoped-approval-grants.test.ts +6 -6
  947. package/src/__tests__/scoped-grant-security-matrix.test.ts +1 -1
  948. package/src/__tests__/{script-proxy-session-manager.test.ts → script-proxy-conversation-manager.test.ts} +4 -1
  949. package/src/__tests__/secret-onetime-send.test.ts +20 -4
  950. package/src/__tests__/secret-response-routing.test.ts +1 -1
  951. package/src/__tests__/secret-routes-managed-proxy.test.ts +82 -2
  952. package/src/__tests__/secret-scanner-executor.test.ts +1 -4
  953. package/src/__tests__/send-endpoint-busy.test.ts +134 -62
  954. package/src/__tests__/send-notification-tool.test.ts +2 -4
  955. package/src/__tests__/sequence-store.test.ts +5 -5
  956. package/src/__tests__/shell-credential-ref.test.ts +1 -3
  957. package/src/__tests__/shell-tool-proxy-mode.test.ts +3 -5
  958. package/src/__tests__/skill-feature-flags-integration.test.ts +1 -2
  959. package/src/__tests__/skill-feature-flags.test.ts +7 -8
  960. package/src/__tests__/skill-include-graph.test.ts +1 -2
  961. package/src/__tests__/skill-load-feature-flag.test.ts +10 -11
  962. package/src/__tests__/skill-load-tool.test.ts +19 -15
  963. package/src/__tests__/skill-memory.test.ts +547 -0
  964. package/src/__tests__/skill-projection-feature-flag.test.ts +4 -6
  965. package/src/__tests__/skill-projection.benchmark.test.ts +3 -5
  966. package/src/__tests__/skill-script-runner-host.test.ts +3 -4
  967. package/src/__tests__/skill-script-runner-sandbox.test.ts +4 -6
  968. package/src/__tests__/skill-script-runner.test.ts +0 -1
  969. package/src/__tests__/skill-tool-factory.test.ts +0 -1
  970. package/src/__tests__/skills.test.ts +0 -37
  971. package/src/__tests__/slack-app-setup-skill-regression.test.ts +37 -0
  972. package/src/__tests__/slack-channel-config.test.ts +109 -94
  973. package/src/__tests__/slack-skill.test.ts +0 -4
  974. package/src/__tests__/starter-task-flow.test.ts +3 -3
  975. package/src/__tests__/subagent-manager-notify.test.ts +45 -40
  976. package/src/__tests__/subagent-tools.test.ts +78 -69
  977. package/src/__tests__/subagent-types.test.ts +3 -3
  978. package/src/__tests__/surface-mutex-cleanup.test.ts +1 -1
  979. package/src/__tests__/{swarm-session-integration.test.ts → swarm-conversation-integration.test.ts} +13 -1
  980. package/src/__tests__/swarm-recursion.test.ts +21 -9
  981. package/src/__tests__/swarm-tool.test.ts +14 -1
  982. package/src/__tests__/system-prompt.test.ts +50 -79
  983. package/src/__tests__/task-compiler.test.ts +1 -1
  984. package/src/__tests__/task-management-tools.test.ts +1 -2
  985. package/src/__tests__/telegram-config.test.ts +121 -0
  986. package/src/__tests__/terminal-sandbox.test.ts +6 -0
  987. package/src/__tests__/terminal-tools.test.ts +2 -2
  988. package/src/__tests__/token-estimator-accuracy.benchmark.test.ts +2 -2
  989. package/src/__tests__/tool-approval-handler.test.ts +2 -3
  990. package/src/__tests__/tool-audit-listener.test.ts +0 -6
  991. package/src/__tests__/tool-domain-event-publisher.test.ts +0 -11
  992. package/src/__tests__/tool-execution-abort-cleanup.test.ts +68 -16
  993. package/src/__tests__/tool-execution-pipeline.benchmark.test.ts +0 -1
  994. package/src/__tests__/tool-executor-lifecycle-events.test.ts +4 -7
  995. package/src/__tests__/tool-executor-shell-integration.test.ts +1 -2
  996. package/src/__tests__/tool-executor.test.ts +21 -21
  997. package/src/__tests__/tool-grant-request-escalation.test.ts +8 -9
  998. package/src/__tests__/tool-metrics-listener.test.ts +0 -9
  999. package/src/__tests__/tool-notification-listener.test.ts +0 -2
  1000. package/src/__tests__/tool-preview-lifecycle.test.ts +6 -6
  1001. package/src/__tests__/tool-profiling-listener.test.ts +0 -7
  1002. package/src/__tests__/tool-trace-listener.test.ts +0 -11
  1003. package/src/__tests__/trace-emitter.test.ts +9 -2
  1004. package/src/__tests__/trust-context-guards.test.ts +1 -1
  1005. package/src/__tests__/trust-store.test.ts +7 -8
  1006. package/src/__tests__/trusted-contact-approval-notifier.test.ts +1 -1
  1007. package/src/__tests__/trusted-contact-inline-approval-integration.test.ts +9 -10
  1008. package/src/__tests__/turn-commit.test.ts +3 -3
  1009. package/src/__tests__/twilio-routes.test.ts +1 -18
  1010. package/src/__tests__/ui-file-upload-surface.test.ts +2 -2
  1011. package/src/__tests__/user-reference.test.ts +82 -2
  1012. package/src/__tests__/vbundle-pax-and-symlink.test.ts +196 -0
  1013. package/src/__tests__/verification-control-plane-policy.test.ts +1 -2
  1014. package/src/__tests__/voice-scoped-grant-consumer.test.ts +4 -4
  1015. package/src/__tests__/voice-session-bridge.test.ts +31 -31
  1016. package/src/__tests__/workspace-git-service.test.ts +49 -2
  1017. package/src/__tests__/workspace-lifecycle.test.ts +6 -6
  1018. package/src/__tests__/workspace-migration-add-send-diagnostics.test.ts +59 -0
  1019. package/src/__tests__/workspace-migration-avatar-rename.test.ts +128 -0
  1020. package/src/__tests__/workspace-migration-extract-collect-usage-data.test.ts +179 -0
  1021. package/src/__tests__/workspace-migration-seed-device-id.test.ts +328 -0
  1022. package/src/__tests__/workspace-migrations-runner.test.ts +293 -0
  1023. package/src/acp/agent-process.ts +201 -0
  1024. package/src/acp/client-handler.ts +361 -0
  1025. package/src/acp/index.ts +44 -0
  1026. package/src/acp/session-manager.ts +348 -0
  1027. package/src/acp/types.ts +79 -0
  1028. package/src/approvals/AGENTS.md +2 -2
  1029. package/src/approvals/approval-primitive.ts +4 -4
  1030. package/src/approvals/guardian-decision-primitive.ts +7 -7
  1031. package/src/approvals/guardian-request-resolvers.ts +4 -4
  1032. package/src/avatar/ascii-renderer.ts +63 -0
  1033. package/src/avatar/character-components.ts +454 -0
  1034. package/src/avatar/png-renderer.ts +17 -0
  1035. package/src/avatar/resvg-lazy.ts +21 -0
  1036. package/src/avatar/svg-compositor.ts +90 -0
  1037. package/src/avatar/traits-png-sync.ts +133 -0
  1038. package/src/calls/call-controller.ts +8 -8
  1039. package/src/calls/call-conversation-messages.ts +1 -1
  1040. package/src/calls/call-domain.ts +4 -4
  1041. package/src/calls/call-pointer-message-composer.ts +2 -2
  1042. package/src/calls/call-pointer-messages.ts +10 -10
  1043. package/src/calls/guardian-action-sweep.ts +3 -3
  1044. package/src/calls/guardian-dispatch.ts +8 -8
  1045. package/src/calls/guardian-question-copy.ts +7 -7
  1046. package/src/calls/relay-access-wait.ts +2 -2
  1047. package/src/calls/relay-server.ts +4 -4
  1048. package/src/calls/twilio-rest.ts +0 -248
  1049. package/src/calls/twilio-routes.ts +1 -1
  1050. package/src/calls/voice-session-bridge.ts +59 -56
  1051. package/src/cli/AGENTS.md +6 -9
  1052. package/src/cli/__tests__/notifications.test.ts +5 -5
  1053. package/src/cli/commands/avatar.ts +343 -0
  1054. package/src/cli/commands/bash.ts +3 -3
  1055. package/src/cli/commands/channel-verification-sessions.ts +7 -4
  1056. package/src/cli/commands/completions.ts +4 -4
  1057. package/src/cli/commands/config.ts +52 -7
  1058. package/src/cli/commands/conversations.ts +386 -0
  1059. package/src/cli/commands/credential-execution.ts +345 -0
  1060. package/src/cli/commands/credentials.ts +108 -6
  1061. package/src/cli/commands/doctor.ts +9 -3
  1062. package/src/cli/commands/keys.ts +30 -0
  1063. package/src/cli/commands/mcp.ts +2 -2
  1064. package/src/cli/commands/memory.ts +8 -8
  1065. package/src/cli/commands/notifications.ts +4 -4
  1066. package/src/cli/commands/oauth/connections.ts +98 -17
  1067. package/src/cli/commands/oauth/providers.ts +45 -8
  1068. package/src/cli/commands/shotgun.ts +250 -0
  1069. package/src/cli/main-screen.tsx +3 -29
  1070. package/src/cli/program.ts +13 -3
  1071. package/src/cli.ts +169 -235
  1072. package/src/config/acp-schema.ts +47 -0
  1073. package/src/config/bundled-skills/_shared/CLI_RETRIEVAL_PATTERN.md +14 -12
  1074. package/src/config/bundled-skills/acp/SKILL.md +58 -0
  1075. package/src/config/bundled-skills/acp/TOOLS.json +79 -0
  1076. package/src/config/bundled-skills/{settings/tools/set-avatar.ts → acp/tools/acp-abort.ts} +2 -2
  1077. package/src/config/bundled-skills/acp/tools/acp-spawn.ts +12 -0
  1078. package/src/config/bundled-skills/acp/tools/acp-status.ts +12 -0
  1079. package/src/config/bundled-skills/app-builder/SKILL.md +63 -47
  1080. package/src/config/bundled-skills/app-builder/TOOLS.json +10 -10
  1081. package/src/config/bundled-skills/browser/SKILL.md +17 -16
  1082. package/src/config/bundled-skills/browser/TOOLS.json +16 -16
  1083. package/src/config/bundled-skills/browser/tools/browser-wait-for-download.ts +1 -1
  1084. package/src/config/bundled-skills/chatgpt-import/SKILL.md +2 -3
  1085. package/src/config/bundled-skills/chatgpt-import/TOOLS.json +1 -1
  1086. package/src/config/bundled-skills/chatgpt-import/tools/chatgpt-import.ts +1 -1
  1087. package/src/config/bundled-skills/claude-code/SKILL.md +6 -7
  1088. package/src/config/bundled-skills/claude-code/TOOLS.json +1 -1
  1089. package/src/config/bundled-skills/computer-use/SKILL.md +3 -5
  1090. package/src/config/bundled-skills/computer-use/TOOLS.json +15 -15
  1091. package/src/config/bundled-skills/contacts/SKILL.md +3 -4
  1092. package/src/config/bundled-skills/contacts/TOOLS.json +8 -4
  1093. package/src/config/bundled-skills/contacts/tools/google-contacts.ts +5 -1
  1094. package/src/config/bundled-skills/document/SKILL.md +4 -4
  1095. package/src/config/bundled-skills/document/TOOLS.json +2 -2
  1096. package/src/config/bundled-skills/followups/SKILL.md +1 -1
  1097. package/src/config/bundled-skills/followups/TOOLS.json +10 -10
  1098. package/src/config/bundled-skills/gmail/SKILL.md +32 -33
  1099. package/src/config/bundled-skills/gmail/TOOLS.json +16 -16
  1100. package/src/config/bundled-skills/gmail/tools/gmail-archive.ts +1 -1
  1101. package/src/config/bundled-skills/gmail/tools/gmail-sender-digest.ts +1 -1
  1102. package/src/config/bundled-skills/google-calendar/SKILL.md +1 -2
  1103. package/src/config/bundled-skills/google-calendar/TOOLS.json +5 -5
  1104. package/src/config/bundled-skills/google-calendar/tools/calendar-check-availability.ts +1 -1
  1105. package/src/config/bundled-skills/google-calendar/tools/calendar-create-event.ts +1 -1
  1106. package/src/config/bundled-skills/google-calendar/tools/calendar-get-event.ts +1 -1
  1107. package/src/config/bundled-skills/google-calendar/tools/calendar-list-events.ts +1 -1
  1108. package/src/config/bundled-skills/google-calendar/tools/calendar-rsvp.ts +1 -1
  1109. package/src/config/bundled-skills/google-calendar/tools/shared.ts +1 -5
  1110. package/src/config/bundled-skills/google-calendar/types.ts +1 -1
  1111. package/src/config/bundled-skills/heartbeat/SKILL.md +43 -0
  1112. package/src/config/bundled-skills/image-studio/SKILL.md +3 -4
  1113. package/src/config/bundled-skills/image-studio/TOOLS.json +2 -3
  1114. package/src/config/bundled-skills/image-studio/tools/media-generate-image.ts +44 -23
  1115. package/src/config/bundled-skills/media-processing/SKILL.md +40 -40
  1116. package/src/config/bundled-skills/media-processing/TOOLS.json +8 -8
  1117. package/src/config/bundled-skills/media-processing/__tests__/concurrency-pool.test.ts +2 -2
  1118. package/src/config/bundled-skills/media-processing/__tests__/preprocess.test.ts +1 -1
  1119. package/src/config/bundled-skills/media-processing/services/gemini-map.ts +5 -5
  1120. package/src/config/bundled-skills/media-processing/services/gemini-video.ts +2 -2
  1121. package/src/config/bundled-skills/media-processing/services/preprocess.ts +7 -3
  1122. package/src/config/bundled-skills/media-processing/services/processing-pipeline.ts +2 -2
  1123. package/src/config/bundled-skills/media-processing/services/reduce.ts +3 -3
  1124. package/src/config/bundled-skills/media-processing/tools/analyze-keyframes.ts +3 -3
  1125. package/src/config/bundled-skills/media-processing/tools/generate-clip.ts +2 -2
  1126. package/src/config/bundled-skills/media-processing/tools/query-media-events.ts +1 -1
  1127. package/src/config/bundled-skills/messaging/SKILL.md +39 -37
  1128. package/src/config/bundled-skills/messaging/TOOLS.json +11 -15
  1129. package/src/config/bundled-skills/messaging/tools/messaging-send.ts +1 -1
  1130. package/src/config/bundled-skills/messaging/tools/shared.ts +1 -1
  1131. package/src/config/bundled-skills/notifications/SKILL.md +5 -6
  1132. package/src/config/bundled-skills/notifications/TOOLS.json +3 -3
  1133. package/src/config/bundled-skills/notifications/tools/send-notification.ts +3 -3
  1134. package/src/config/bundled-skills/orchestration/SKILL.md +5 -2
  1135. package/src/config/bundled-skills/orchestration/TOOLS.json +1 -1
  1136. package/src/config/bundled-skills/phone-calls/SKILL.md +37 -21
  1137. package/src/config/bundled-skills/phone-calls/TOOLS.json +3 -3
  1138. package/src/config/bundled-skills/phone-calls/references/CONFIG.md +2 -2
  1139. package/src/config/bundled-skills/phone-calls/references/TRANSCRIPTS.md +2 -2
  1140. package/src/config/bundled-skills/phone-calls/references/TROUBLESHOOTING.md +1 -1
  1141. package/src/config/bundled-skills/playbooks/TOOLS.json +4 -4
  1142. package/src/config/bundled-skills/schedule/SKILL.md +26 -26
  1143. package/src/config/bundled-skills/schedule/TOOLS.json +5 -5
  1144. package/src/config/bundled-skills/screen-watch/SKILL.md +3 -4
  1145. package/src/config/bundled-skills/screen-watch/TOOLS.json +1 -1
  1146. package/src/config/bundled-skills/sequences/SKILL.md +2 -3
  1147. package/src/config/bundled-skills/sequences/TOOLS.json +14 -14
  1148. package/src/config/bundled-skills/sequences/tools/sequence-analytics.ts +2 -2
  1149. package/src/config/bundled-skills/sequences/tools/sequence-create.ts +2 -1
  1150. package/src/config/bundled-skills/sequences/tools/sequence-enroll.ts +2 -2
  1151. package/src/config/bundled-skills/sequences/tools/sequence-enrollment-list.ts +1 -1
  1152. package/src/config/bundled-skills/sequences/tools/sequence-get.ts +1 -1
  1153. package/src/config/bundled-skills/sequences/tools/sequence-import.ts +3 -3
  1154. package/src/config/bundled-skills/sequences/tools/sequence-list.ts +1 -1
  1155. package/src/config/bundled-skills/sequences/tools/sequence-update.ts +3 -2
  1156. package/src/config/bundled-skills/settings/SKILL.md +2 -3
  1157. package/src/config/bundled-skills/settings/TOOLS.json +3 -25
  1158. package/src/config/bundled-skills/settings/tools/open-system-settings.ts +1 -1
  1159. package/src/config/bundled-skills/skill-management/SKILL.md +0 -1
  1160. package/src/config/bundled-skills/skill-management/TOOLS.json +5 -13
  1161. package/src/config/bundled-skills/skills-catalog/SKILL.md +84 -0
  1162. package/src/config/bundled-skills/slack/SKILL.md +2 -3
  1163. package/src/config/bundled-skills/slack/TOOLS.json +8 -8
  1164. package/src/config/bundled-skills/slack/tools/slack-scan-digest.ts +3 -3
  1165. package/src/config/bundled-skills/subagent/SKILL.md +2 -2
  1166. package/src/config/bundled-skills/subagent/TOOLS.json +7 -7
  1167. package/src/config/bundled-skills/tasks/SKILL.md +1 -1
  1168. package/src/config/bundled-skills/tasks/TOOLS.json +9 -9
  1169. package/src/config/bundled-skills/transcribe/SKILL.md +5 -5
  1170. package/src/config/bundled-skills/transcribe/TOOLS.json +1 -1
  1171. package/src/config/bundled-skills/transcribe/tools/transcribe-media.ts +43 -13
  1172. package/src/config/bundled-skills/watcher/SKILL.md +4 -4
  1173. package/src/config/bundled-skills/watcher/TOOLS.json +5 -5
  1174. package/src/config/bundled-tool-registry.ts +9 -2
  1175. package/src/config/env.ts +44 -2
  1176. package/src/config/feature-flag-registry.json +185 -33
  1177. package/src/config/loader.ts +3 -0
  1178. package/src/config/raw-config-utils.ts +30 -0
  1179. package/src/config/schema-utils.ts +27 -0
  1180. package/src/config/schema.ts +54 -39
  1181. package/src/config/schemas/calls.ts +219 -152
  1182. package/src/config/schemas/channels.ts +118 -71
  1183. package/src/config/schemas/elevenlabs.ts +39 -24
  1184. package/src/config/schemas/heartbeat.ts +13 -4
  1185. package/src/config/schemas/inference.ts +155 -99
  1186. package/src/config/schemas/ingress.ts +100 -64
  1187. package/src/config/schemas/logging.ts +24 -15
  1188. package/src/config/schemas/mcp.ts +95 -44
  1189. package/src/config/schemas/memory-lifecycle.ts +70 -50
  1190. package/src/config/schemas/memory-processing.ts +46 -25
  1191. package/src/config/schemas/memory-retrieval.ts +206 -139
  1192. package/src/config/schemas/memory-storage.ts +113 -79
  1193. package/src/config/schemas/memory.ts +33 -28
  1194. package/src/config/schemas/notifications.ts +12 -7
  1195. package/src/config/schemas/platform.ts +62 -39
  1196. package/src/config/schemas/sandbox.ts +10 -5
  1197. package/src/config/schemas/security.ts +72 -41
  1198. package/src/config/schemas/services.ts +64 -0
  1199. package/src/config/schemas/skills.ts +131 -81
  1200. package/src/config/schemas/swarm.ts +78 -46
  1201. package/src/config/schemas/timeouts.ts +54 -41
  1202. package/src/config/schemas/workspace-git.ts +219 -162
  1203. package/src/config/skill-state.ts +6 -47
  1204. package/src/config/skills.ts +66 -271
  1205. package/src/config/types.ts +5 -0
  1206. package/src/contacts/contact-store.ts +82 -7
  1207. package/src/contacts/contacts-write.ts +13 -2
  1208. package/src/context/window-manager.ts +1 -1
  1209. package/src/credential-execution/approval-bridge.ts +350 -0
  1210. package/src/credential-execution/client.ts +414 -0
  1211. package/src/credential-execution/executable-discovery.ts +169 -0
  1212. package/src/credential-execution/feature-gates.ts +75 -0
  1213. package/src/credential-execution/managed-catalog.ts +155 -0
  1214. package/src/credential-execution/process-manager.ts +451 -0
  1215. package/src/daemon/approval-generators.ts +13 -7
  1216. package/src/daemon/assistant-attachments.ts +3 -3
  1217. package/src/daemon/config-watcher.ts +23 -15
  1218. package/src/daemon/context-overflow-policy.ts +5 -5
  1219. package/src/daemon/context-overflow-reducer.ts +2 -2
  1220. package/src/daemon/{session-agent-loop-handlers.ts → conversation-agent-loop-handlers.ts} +23 -23
  1221. package/src/daemon/{session-agent-loop.ts → conversation-agent-loop.ts} +99 -101
  1222. package/src/daemon/{session-attachments.ts → conversation-attachments.ts} +35 -9
  1223. package/src/daemon/{session-error.ts → conversation-error.ts} +58 -24
  1224. package/src/daemon/conversation-evictor.ts +204 -0
  1225. package/src/daemon/{session-history.ts → conversation-history.ts} +37 -33
  1226. package/src/daemon/{session-lifecycle.ts → conversation-lifecycle.ts} +16 -16
  1227. package/src/daemon/{session-memory.ts → conversation-memory.ts} +9 -8
  1228. package/src/daemon/{session-messaging.ts → conversation-messaging.ts} +9 -9
  1229. package/src/daemon/{session-notifiers.ts → conversation-notifiers.ts} +25 -25
  1230. package/src/daemon/{session-process.ts → conversation-process.ts} +128 -131
  1231. package/src/daemon/{session-queue-manager.ts → conversation-queue-manager.ts} +11 -8
  1232. package/src/daemon/{session-runtime-assembly.ts → conversation-runtime-assembly.ts} +156 -285
  1233. package/src/daemon/{session-skill-tools.ts → conversation-skill-tools.ts} +18 -18
  1234. package/src/daemon/{session-slash.ts → conversation-slash.ts} +42 -88
  1235. package/src/daemon/{session-surfaces.ts → conversation-surfaces.ts} +48 -34
  1236. package/src/daemon/{session-tool-setup.ts → conversation-tool-setup.ts} +50 -44
  1237. package/src/daemon/{session-usage.ts → conversation-usage.ts} +1 -1
  1238. package/src/daemon/{session-workspace.ts → conversation-workspace.ts} +3 -3
  1239. package/src/daemon/{session.ts → conversation.ts} +98 -73
  1240. package/src/daemon/daemon-control.ts +1 -1
  1241. package/src/daemon/date-context.ts +10 -83
  1242. package/src/daemon/doordash-steps.ts +9 -8
  1243. package/src/daemon/guardian-action-generators.ts +8 -2
  1244. package/src/daemon/handlers/config-channels.ts +19 -6
  1245. package/src/daemon/handlers/config-model.ts +33 -32
  1246. package/src/daemon/handlers/config-slack-channel.ts +35 -7
  1247. package/src/daemon/handlers/config-telegram.ts +6 -1
  1248. package/src/daemon/handlers/config-voice.ts +1 -2
  1249. package/src/daemon/handlers/{session-history.ts → conversation-history.ts} +4 -4
  1250. package/src/daemon/handlers/{sessions.ts → conversations.ts} +165 -185
  1251. package/src/daemon/handlers/recording.ts +20 -20
  1252. package/src/daemon/handlers/shared.ts +17 -17
  1253. package/src/daemon/handlers/skills.ts +168 -21
  1254. package/src/daemon/history-repair.ts +1 -1
  1255. package/src/daemon/host-bash-proxy.ts +11 -3
  1256. package/src/daemon/host-cu-proxy.ts +2 -2
  1257. package/src/daemon/host-file-proxy.ts +3 -3
  1258. package/src/daemon/lifecycle.ts +131 -82
  1259. package/src/daemon/main.ts +4 -0
  1260. package/src/daemon/media-visibility-policy.ts +10 -10
  1261. package/src/daemon/message-protocol.ts +11 -8
  1262. package/src/daemon/message-types/acp.ts +66 -0
  1263. package/src/daemon/message-types/computer-use.ts +4 -4
  1264. package/src/daemon/message-types/{sessions.ts → conversations.ts} +74 -80
  1265. package/src/daemon/message-types/documents.ts +2 -2
  1266. package/src/daemon/message-types/host-bash.ts +3 -1
  1267. package/src/daemon/message-types/host-cu.ts +1 -1
  1268. package/src/daemon/message-types/host-file.ts +3 -3
  1269. package/src/daemon/message-types/integrations.ts +2 -2
  1270. package/src/daemon/message-types/messages.ts +23 -23
  1271. package/src/daemon/message-types/notifications.ts +5 -5
  1272. package/src/daemon/message-types/settings.ts +1 -1
  1273. package/src/daemon/message-types/shared.ts +5 -3
  1274. package/src/daemon/message-types/skills.ts +1 -10
  1275. package/src/daemon/message-types/subagents.ts +2 -2
  1276. package/src/daemon/message-types/surfaces.ts +7 -7
  1277. package/src/daemon/message-types/work-items.ts +4 -4
  1278. package/src/daemon/parse-actual-tokens-from-error.test.ts +3 -7
  1279. package/src/daemon/providers-setup.ts +79 -0
  1280. package/src/daemon/seed-files.ts +7 -26
  1281. package/src/daemon/server.ts +452 -214
  1282. package/src/daemon/shutdown-handlers.ts +9 -3
  1283. package/src/daemon/startup-error.ts +126 -0
  1284. package/src/daemon/tool-side-effects.ts +42 -18
  1285. package/src/daemon/trace-emitter.ts +28 -5
  1286. package/src/daemon/verification-session-intent.ts +1 -1
  1287. package/src/daemon/watch-handler.ts +23 -21
  1288. package/src/email/feature-gate.ts +23 -0
  1289. package/src/events/domain-events.ts +3 -9
  1290. package/src/events/tool-domain-event-publisher.ts +0 -8
  1291. package/src/events/tool-metrics-listener.ts +0 -7
  1292. package/src/events/tool-permission-telemetry-listener.ts +46 -0
  1293. package/src/export/formatter.ts +1 -1
  1294. package/src/followups/followup-store.ts +8 -5
  1295. package/src/followups/types.ts +2 -2
  1296. package/src/heartbeat/heartbeat-service.ts +1 -1
  1297. package/src/hooks/discovery.ts +3 -0
  1298. package/src/hooks/manager.ts +27 -2
  1299. package/src/hooks/types.ts +4 -1
  1300. package/src/inbound/platform-callback-registration.ts +6 -2
  1301. package/src/instrument.ts +37 -19
  1302. package/src/media/app-icon-generator.ts +17 -10
  1303. package/src/media/avatar-router.ts +17 -10
  1304. package/src/media/gemini-image-service.ts +125 -21
  1305. package/src/memory/app-git-service.ts +3 -3
  1306. package/src/memory/attachments-store.ts +92 -27
  1307. package/src/memory/canonical-guardian-store.ts +37 -27
  1308. package/src/memory/channel-verification-sessions.ts +6 -6
  1309. package/src/memory/checkpoints.ts +5 -0
  1310. package/src/memory/conversation-bootstrap.ts +2 -2
  1311. package/src/memory/conversation-crud.ts +343 -23
  1312. package/src/memory/conversation-key-store.ts +40 -4
  1313. package/src/memory/conversation-queries.ts +8 -6
  1314. package/src/memory/conversation-starters-cadence.ts +74 -0
  1315. package/src/memory/conversation-title-service.ts +2 -3
  1316. package/src/memory/db-init.ts +70 -2
  1317. package/src/memory/embedding-backend.ts +71 -11
  1318. package/src/memory/external-conversation-store.ts +1 -1
  1319. package/src/memory/guardian-action-store.ts +3 -3
  1320. package/src/memory/indexer.ts +20 -9
  1321. package/src/memory/invite-store.ts +4 -4
  1322. package/src/memory/items-extractor.ts +48 -4
  1323. package/src/memory/job-handlers/backfill.ts +15 -8
  1324. package/src/memory/job-handlers/cleanup.ts +1 -1
  1325. package/src/memory/job-handlers/conversation-starters.ts +433 -0
  1326. package/src/memory/jobs-store.ts +5 -7
  1327. package/src/memory/jobs-worker.ts +10 -0
  1328. package/src/memory/lifecycle-events-store.ts +63 -0
  1329. package/src/memory/migrations/033-scoped-approval-grants.ts +4 -4
  1330. package/src/memory/migrations/102-alter-table-columns.ts +5 -0
  1331. package/src/memory/migrations/105-contacts-and-triage.ts +3 -3
  1332. package/src/memory/migrations/111-media-assets.ts +1 -106
  1333. package/src/memory/migrations/121-canonical-guardian-requests.ts +5 -5
  1334. package/src/memory/migrations/159-drop-contact-interaction-columns.ts +5 -0
  1335. package/src/memory/migrations/161-drop-orphaned-media-tables.ts +18 -0
  1336. package/src/memory/migrations/162-guardian-timestamps-epoch-ms.ts +283 -0
  1337. package/src/memory/migrations/163-rename-notification-thread-columns.ts +35 -0
  1338. package/src/memory/migrations/164-rename-conversation-type-column.ts +19 -0
  1339. package/src/memory/migrations/165-rename-inbox-thread-state-table.ts +15 -0
  1340. package/src/memory/migrations/166-rename-followups-thread-id.ts +20 -0
  1341. package/src/memory/migrations/167-rename-sequence-enrollments-thread-id.ts +20 -0
  1342. package/src/memory/migrations/168-rename-sequence-steps-reply-key.ts +17 -0
  1343. package/src/memory/migrations/169-rename-gmail-provider-key-to-google.ts +64 -0
  1344. package/src/memory/migrations/170-thread-starters-table.ts +32 -0
  1345. package/src/memory/migrations/171-capability-card-columns.ts +43 -0
  1346. package/src/memory/migrations/172-rename-created-by-session-id.ts +27 -0
  1347. package/src/memory/migrations/173-rename-source-session-id.ts +16 -0
  1348. package/src/memory/migrations/174-rename-thread-starters-table.ts +52 -0
  1349. package/src/memory/migrations/175-create-lifecycle-events.ts +15 -0
  1350. package/src/memory/migrations/176-drop-capability-card-state.ts +36 -0
  1351. package/src/memory/migrations/177-create-trace-events-table.ts +40 -0
  1352. package/src/memory/migrations/index.ts +17 -0
  1353. package/src/memory/migrations/registry.ts +32 -0
  1354. package/src/memory/retriever.test.ts +223 -96
  1355. package/src/memory/retriever.ts +115 -138
  1356. package/src/memory/schema/calls.ts +1 -1
  1357. package/src/memory/schema/contacts.ts +3 -3
  1358. package/src/memory/schema/conversations.ts +2 -2
  1359. package/src/memory/schema/guardian.ts +9 -9
  1360. package/src/memory/schema/infrastructure.ts +29 -0
  1361. package/src/memory/schema/memory-core.ts +27 -0
  1362. package/src/memory/schema/notifications.ts +5 -5
  1363. package/src/memory/schema/tasks.ts +1 -1
  1364. package/src/memory/scoped-approval-grants.ts +14 -14
  1365. package/src/memory/search/formatting.ts +23 -6
  1366. package/src/memory/search/lexical.ts +2 -0
  1367. package/src/memory/search/semantic.ts +2 -0
  1368. package/src/memory/search/staleness.ts +1 -0
  1369. package/src/memory/search/types.ts +7 -3
  1370. package/src/memory/task-memory-cleanup.ts +96 -6
  1371. package/src/memory/trace-event-store.ts +148 -0
  1372. package/src/memory/turn-events-store.ts +48 -0
  1373. package/src/messaging/providers/telegram-bot/adapter.ts +1 -1
  1374. package/src/notifications/AGENTS.md +1 -1
  1375. package/src/notifications/README.md +103 -103
  1376. package/src/notifications/adapters/slack.ts +3 -3
  1377. package/src/notifications/adapters/telegram.ts +3 -3
  1378. package/src/notifications/broadcaster.ts +40 -40
  1379. package/src/notifications/{thread-candidates.ts → conversation-candidates.ts} +18 -18
  1380. package/src/notifications/conversation-pairing.ts +35 -31
  1381. package/src/notifications/{thread-seed-composer.ts → conversation-seed-composer.ts} +9 -9
  1382. package/src/notifications/decision-engine.ts +107 -84
  1383. package/src/notifications/deliveries-store.ts +14 -14
  1384. package/src/notifications/emit-signal.ts +16 -16
  1385. package/src/notifications/events-store.ts +4 -4
  1386. package/src/notifications/signal.ts +3 -3
  1387. package/src/notifications/types.ts +16 -12
  1388. package/src/oauth/byo-connection.test.ts +1 -1
  1389. package/src/oauth/manual-token-connection.ts +49 -25
  1390. package/src/oauth/oauth-store.ts +37 -15
  1391. package/src/oauth/platform-connection.test.ts +2 -2
  1392. package/src/oauth/provider-behaviors.ts +2 -1
  1393. package/src/oauth/seed-providers.ts +3 -11
  1394. package/src/oauth/token-persistence.ts +41 -25
  1395. package/src/outbound-proxy/index.ts +27 -3
  1396. package/src/permissions/checker.ts +21 -7
  1397. package/src/permissions/defaults.ts +4 -4
  1398. package/src/permissions/prompter.ts +3 -3
  1399. package/src/permissions/secret-prompter.ts +2 -2
  1400. package/src/permissions/types.ts +2 -2
  1401. package/src/prompts/__tests__/build-cli-reference-section.test.ts +10 -40
  1402. package/src/prompts/cache-boundary.ts +8 -0
  1403. package/src/prompts/system-prompt.ts +155 -743
  1404. package/src/prompts/templates/BOOTSTRAP.md +166 -33
  1405. package/src/prompts/templates/IDENTITY.md +8 -23
  1406. package/src/prompts/templates/SOUL.md +20 -41
  1407. package/src/prompts/templates/UPDATES.md +0 -12
  1408. package/src/prompts/templates/USER.md +3 -19
  1409. package/src/prompts/update-bulletin-format.ts +16 -0
  1410. package/src/prompts/update-bulletin.ts +18 -6
  1411. package/src/prompts/user-reference.ts +14 -16
  1412. package/src/providers/anthropic/client.ts +181 -13
  1413. package/src/providers/gemini/client.ts +6 -9
  1414. package/src/providers/managed-proxy/constants.ts +1 -7
  1415. package/src/providers/managed-proxy/context.ts +26 -1
  1416. package/src/providers/model-intents.ts +5 -5
  1417. package/src/providers/openai/client.ts +10 -1
  1418. package/src/providers/openrouter/client.ts +1 -0
  1419. package/src/providers/provider-availability.ts +39 -0
  1420. package/src/providers/provider-send-message.ts +20 -6
  1421. package/src/providers/ratelimit.ts +0 -35
  1422. package/src/providers/registry.ts +119 -82
  1423. package/src/providers/retry.ts +18 -1
  1424. package/src/runtime/AGENTS.md +5 -5
  1425. package/src/runtime/access-request-helper.ts +3 -3
  1426. package/src/runtime/actor-trust-resolver.ts +2 -2
  1427. package/src/runtime/approval-conversation-turn.ts +2 -2
  1428. package/src/runtime/assistant-event-hub.ts +9 -9
  1429. package/src/runtime/assistant-event.ts +5 -5
  1430. package/src/runtime/auth/__tests__/context.test.ts +2 -2
  1431. package/src/runtime/auth/__tests__/external-assistant-id.test.ts +88 -0
  1432. package/src/runtime/auth/__tests__/guard-tests.test.ts +1 -5
  1433. package/src/runtime/auth/__tests__/local-auth-context.test.ts +4 -4
  1434. package/src/runtime/auth/__tests__/middleware.test.ts +2 -2
  1435. package/src/runtime/auth/__tests__/subject.test.ts +6 -6
  1436. package/src/runtime/auth/context.ts +1 -1
  1437. package/src/runtime/auth/credential-service.ts +1 -1
  1438. package/src/runtime/auth/external-assistant-id.ts +36 -17
  1439. package/src/runtime/auth/route-policy.ts +24 -0
  1440. package/src/runtime/auth/subject.ts +7 -7
  1441. package/src/runtime/auth/types.ts +1 -1
  1442. package/src/runtime/channel-approval-types.ts +1 -1
  1443. package/src/runtime/channel-approvals.ts +9 -6
  1444. package/src/runtime/channel-invite-transport.ts +10 -7
  1445. package/src/runtime/channel-readiness-service.ts +5 -2
  1446. package/src/runtime/channel-retry-sweep.ts +1 -1
  1447. package/src/runtime/channel-verification-service.ts +2 -2
  1448. package/src/runtime/confirmation-request-guardian-bridge.ts +4 -4
  1449. package/src/runtime/{session-approval-overrides.ts → conversation-approval-overrides.ts} +6 -6
  1450. package/src/runtime/guardian-action-grant-minter.ts +2 -4
  1451. package/src/runtime/guardian-action-service.ts +2 -2
  1452. package/src/runtime/guardian-decision-types.ts +13 -8
  1453. package/src/runtime/guardian-reply-router.ts +4 -4
  1454. package/src/runtime/guardian-vellum-migration.ts +63 -1
  1455. package/src/runtime/http-server.ts +76 -35
  1456. package/src/runtime/http-types.ts +19 -15
  1457. package/src/runtime/invite-redemption-service.ts +8 -3
  1458. package/src/runtime/local-actor-identity.ts +9 -7
  1459. package/src/runtime/migrations/vbundle-builder.ts +212 -32
  1460. package/src/runtime/migrations/vbundle-import-analyzer.ts +74 -8
  1461. package/src/runtime/migrations/vbundle-importer.ts +66 -1
  1462. package/src/runtime/migrations/vbundle-validator.ts +17 -3
  1463. package/src/runtime/pending-interactions.ts +8 -8
  1464. package/src/runtime/routes/acp-routes.ts +170 -0
  1465. package/src/runtime/routes/approval-routes.ts +3 -3
  1466. package/src/runtime/routes/approval-strategies/guardian-callback-strategy.ts +5 -5
  1467. package/src/runtime/routes/attachment-routes.ts +2 -2
  1468. package/src/runtime/routes/avatar-routes.ts +83 -0
  1469. package/src/runtime/routes/btw-routes.ts +36 -13
  1470. package/src/runtime/routes/canonical-guardian-expiry-sweep.ts +1 -1
  1471. package/src/runtime/routes/channel-route-shared.ts +5 -3
  1472. package/src/runtime/routes/channel-verification-routes.ts +22 -5
  1473. package/src/runtime/routes/conversation-management-routes.ts +298 -0
  1474. package/src/runtime/routes/{session-query-routes.ts → conversation-query-routes.ts} +23 -20
  1475. package/src/runtime/routes/conversation-routes.ts +196 -169
  1476. package/src/runtime/routes/conversation-starter-routes.ts +207 -0
  1477. package/src/runtime/routes/debug-routes.ts +8 -2
  1478. package/src/runtime/routes/diagnostics-routes.ts +16 -17
  1479. package/src/runtime/routes/events-routes.ts +1 -1
  1480. package/src/runtime/routes/guardian-action-routes.ts +4 -4
  1481. package/src/runtime/routes/guardian-approval-interception.ts +1 -1
  1482. package/src/runtime/routes/guardian-bootstrap-routes.ts +13 -9
  1483. package/src/runtime/routes/host-bash-routes.ts +1 -1
  1484. package/src/runtime/routes/host-cu-routes.ts +1 -1
  1485. package/src/runtime/routes/host-file-routes.ts +1 -1
  1486. package/src/runtime/routes/inbound-message-handler.ts +1 -1
  1487. package/src/runtime/routes/inbound-stages/background-dispatch.ts +1 -1
  1488. package/src/runtime/routes/inbound-stages/escalation-intercept.ts +2 -2
  1489. package/src/runtime/routes/inbound-stages/secret-ingress-check.ts +1 -1
  1490. package/src/runtime/routes/inbound-stages/verification-intercept.ts +1 -1
  1491. package/src/runtime/routes/log-export-routes.ts +360 -40
  1492. package/src/runtime/routes/migration-routes.ts +25 -13
  1493. package/src/runtime/routes/recording-routes.ts +5 -5
  1494. package/src/runtime/routes/schedule-routes.ts +13 -7
  1495. package/src/runtime/routes/secret-routes.ts +196 -18
  1496. package/src/runtime/routes/settings-routes.ts +31 -18
  1497. package/src/runtime/routes/skills-routes.ts +38 -0
  1498. package/src/runtime/routes/subagents-routes.ts +10 -10
  1499. package/src/runtime/routes/surface-action-routes.ts +45 -45
  1500. package/src/runtime/routes/surface-content-routes.ts +18 -18
  1501. package/src/runtime/routes/telemetry-routes.ts +53 -0
  1502. package/src/runtime/routes/trace-event-routes.ts +62 -0
  1503. package/src/runtime/routes/watch-routes.ts +6 -6
  1504. package/src/runtime/routes/work-items-routes.test.ts +109 -0
  1505. package/src/runtime/routes/work-items-routes.ts +47 -46
  1506. package/src/runtime/tool-grant-request-helper.ts +4 -4
  1507. package/src/runtime/trust-context-resolver.ts +1 -1
  1508. package/src/runtime/verification-outbound-actions.ts +47 -31
  1509. package/src/schedule/scheduler.ts +14 -12
  1510. package/src/security/credential-backend.ts +29 -5
  1511. package/src/security/encrypted-store.ts +292 -48
  1512. package/src/security/keychain-broker-client.ts +45 -12
  1513. package/src/security/secure-keys.ts +46 -0
  1514. package/src/security/token-manager.ts +67 -167
  1515. package/src/sequence/engine.ts +12 -11
  1516. package/src/sequence/reply-matcher.ts +16 -13
  1517. package/src/sequence/store.ts +10 -7
  1518. package/src/sequence/types.ts +2 -2
  1519. package/src/signals/bash.ts +4 -4
  1520. package/src/signals/cancel.ts +14 -17
  1521. package/src/signals/confirm.ts +4 -7
  1522. package/src/signals/conversation-undo.ts +16 -20
  1523. package/src/signals/event-stream.ts +187 -0
  1524. package/src/signals/shotgun.ts +200 -0
  1525. package/src/signals/trust-rule.ts +3 -6
  1526. package/src/signals/user-message.ts +146 -0
  1527. package/src/skills/catalog-install.ts +11 -1
  1528. package/src/skills/managed-store.ts +2 -13
  1529. package/src/skills/skill-memory.ts +220 -0
  1530. package/src/subagent/manager.ts +83 -75
  1531. package/src/subagent/types.ts +5 -5
  1532. package/src/swarm/backend-claude-code.ts +1 -1
  1533. package/src/tasks/SPEC.md +5 -5
  1534. package/src/tasks/task-runner.ts +1 -1
  1535. package/src/telemetry/types.ts +35 -0
  1536. package/src/telemetry/usage-telemetry-reporter.test.ts +145 -24
  1537. package/src/telemetry/usage-telemetry-reporter.ts +126 -42
  1538. package/src/tools/AGENTS.md +32 -6
  1539. package/src/tools/acp/abort.ts +32 -0
  1540. package/src/tools/acp/spawn.ts +70 -0
  1541. package/src/tools/acp/status.ts +31 -0
  1542. package/src/tools/apps/executors.ts +8 -8
  1543. package/src/tools/apps/registry.ts +1 -1
  1544. package/src/tools/assets/materialize.ts +39 -24
  1545. package/src/tools/assets/search.ts +21 -21
  1546. package/src/tools/browser/__tests__/auth-cache.test.ts +2 -2
  1547. package/src/tools/browser/__tests__/auth-detector.test.ts +4 -4
  1548. package/src/tools/browser/auth-detector.ts +6 -6
  1549. package/src/tools/browser/browser-execution.ts +76 -46
  1550. package/src/tools/browser/browser-handoff.ts +12 -9
  1551. package/src/tools/browser/browser-manager.ts +91 -81
  1552. package/src/tools/browser/browser-screencast.ts +30 -28
  1553. package/src/tools/browser/chrome-cdp.ts +5 -5
  1554. package/src/tools/browser/jit-auth.ts +2 -2
  1555. package/src/tools/browser/network-recorder.test.ts +2 -2
  1556. package/src/tools/browser/network-recorder.ts +3 -3
  1557. package/src/tools/browser/runtime-check.ts +3 -3
  1558. package/src/tools/calls/call-start.ts +1 -1
  1559. package/src/tools/calls/call-status.ts +1 -1
  1560. package/src/tools/claude-code/claude-code.ts +11 -11
  1561. package/src/tools/computer-use/definitions.ts +18 -18
  1562. package/src/tools/credential-execution/make-authenticated-request.ts +198 -0
  1563. package/src/tools/credential-execution/manage-secure-command-tool.ts +372 -0
  1564. package/src/tools/credential-execution/run-authenticated-command.ts +261 -0
  1565. package/src/tools/credentials/broker-types.ts +5 -5
  1566. package/src/tools/credentials/broker.ts +16 -16
  1567. package/src/tools/credentials/metadata-store.ts +46 -227
  1568. package/src/tools/credentials/resolve.ts +3 -2
  1569. package/src/tools/credentials/selection.ts +1 -1
  1570. package/src/tools/credentials/tool-policy.ts +1 -1
  1571. package/src/tools/credentials/vault.ts +115 -25
  1572. package/src/tools/document/document-tool.ts +3 -3
  1573. package/src/tools/execution-target.ts +2 -2
  1574. package/src/tools/executor.ts +147 -12
  1575. package/src/tools/filesystem/edit.ts +2 -2
  1576. package/src/tools/filesystem/read.ts +1 -1
  1577. package/src/tools/filesystem/write.ts +1 -1
  1578. package/src/tools/followups/followup_create.ts +8 -7
  1579. package/src/tools/followups/followup_list.ts +3 -1
  1580. package/src/tools/followups/followup_resolve.ts +8 -7
  1581. package/src/tools/host-filesystem/edit.ts +3 -2
  1582. package/src/tools/host-filesystem/read.ts +3 -2
  1583. package/src/tools/host-filesystem/write.ts +2 -2
  1584. package/src/tools/host-terminal/host-shell.ts +60 -12
  1585. package/src/tools/mcp/mcp-tool-factory.ts +7 -6
  1586. package/src/tools/memory/definitions.ts +6 -5
  1587. package/src/tools/memory/handlers.test.ts +1 -1
  1588. package/src/tools/memory/handlers.ts +1 -1
  1589. package/src/tools/network/__tests__/web-search.test.ts +3 -3
  1590. package/src/tools/network/domain-normalize.ts +2 -2
  1591. package/src/tools/network/script-proxy/session-manager.ts +292 -517
  1592. package/src/tools/network/web-fetch.ts +2 -2
  1593. package/src/tools/network/web-search.ts +7 -7
  1594. package/src/tools/permission-checker.ts +43 -28
  1595. package/src/tools/registry.ts +20 -8
  1596. package/src/tools/schedule/list.ts +2 -2
  1597. package/src/tools/schema-transforms.ts +31 -21
  1598. package/src/tools/secret-detection-handler.ts +4 -9
  1599. package/src/tools/sensitive-output-placeholders.ts +1 -1
  1600. package/src/tools/shared/filesystem/edit-engine.ts +1 -1
  1601. package/src/tools/shared/filesystem/file-ops-service.ts +3 -3
  1602. package/src/tools/shared/filesystem/image-read.ts +25 -5
  1603. package/src/tools/shared/filesystem/path-policy.ts +2 -2
  1604. package/src/tools/shared/shell-output.ts +1 -1
  1605. package/src/tools/side-effects.ts +3 -2
  1606. package/src/tools/skills/execute.ts +1 -1
  1607. package/src/tools/skills/load.ts +18 -4
  1608. package/src/tools/skills/sandbox-runner.ts +3 -4
  1609. package/src/tools/skills/scaffold-managed.ts +0 -8
  1610. package/src/tools/subagent/abort.ts +1 -1
  1611. package/src/tools/subagent/message.ts +2 -2
  1612. package/src/tools/subagent/read.ts +3 -3
  1613. package/src/tools/subagent/spawn.ts +3 -3
  1614. package/src/tools/subagent/status.ts +10 -4
  1615. package/src/tools/swarm/delegate.ts +13 -13
  1616. package/src/tools/system/avatar-generator.ts +52 -79
  1617. package/src/tools/system/request-permission.ts +5 -4
  1618. package/src/tools/terminal/backends/native.ts +51 -11
  1619. package/src/tools/terminal/backends/types.ts +7 -0
  1620. package/src/tools/terminal/parser.ts +6 -6
  1621. package/src/tools/terminal/safe-env.ts +4 -1
  1622. package/src/tools/terminal/sandbox-diagnostics.ts +1 -1
  1623. package/src/tools/terminal/shell.ts +114 -10
  1624. package/src/tools/tool-approval-handler.ts +23 -29
  1625. package/src/tools/tool-manifest.ts +45 -2
  1626. package/src/tools/types.ts +30 -7
  1627. package/src/tools/ui-surface/definitions.ts +9 -37
  1628. package/src/tools/watch/screen-watch.ts +6 -6
  1629. package/src/tools/watch/watch-state.ts +33 -26
  1630. package/src/tools/watcher/list.ts +1 -1
  1631. package/src/util/clipboard.ts +1 -1
  1632. package/src/util/device-id.ts +101 -0
  1633. package/src/util/logger.ts +7 -2
  1634. package/src/util/platform.ts +10 -0
  1635. package/src/util/retry.ts +29 -1
  1636. package/src/util/silently.ts +7 -8
  1637. package/src/watcher/engine.ts +1 -1
  1638. package/src/work-items/resolve-required-tools.test.ts +37 -0
  1639. package/src/work-items/resolve-required-tools.ts +26 -0
  1640. package/src/work-items/work-item-runner.ts +29 -27
  1641. package/src/workspace/commit-message-enrichment-service.ts +1 -1
  1642. package/src/workspace/commit-message-provider.ts +2 -2
  1643. package/src/workspace/git-service.ts +27 -14
  1644. package/src/workspace/migrations/001-avatar-rename.ts +25 -0
  1645. package/src/workspace/migrations/002-backfill-installation-id.ts +75 -0
  1646. package/src/workspace/migrations/003-seed-device-id.ts +101 -0
  1647. package/src/workspace/migrations/004-extract-collect-usage-data.ts +50 -0
  1648. package/src/workspace/migrations/005-add-send-diagnostics.ts +12 -0
  1649. package/src/workspace/migrations/006-services-config.ts +132 -0
  1650. package/src/workspace/migrations/007-web-search-provider-rename.ts +37 -0
  1651. package/src/workspace/migrations/registry.ts +22 -0
  1652. package/src/workspace/migrations/runner.ts +117 -0
  1653. package/src/workspace/migrations/types.ts +11 -0
  1654. package/src/workspace/provider-commit-message-generator.ts +7 -4
  1655. package/src/workspace/turn-commit.ts +13 -13
  1656. package/tsconfig.json +0 -1
  1657. package/src/__tests__/cli-help-reference-sync.test.ts +0 -26
  1658. package/src/__tests__/handlers-task-submit-slash.test.ts +0 -39
  1659. package/src/__tests__/onboarding-starter-tasks.test.ts +0 -190
  1660. package/src/__tests__/session-slash-known.test.ts +0 -477
  1661. package/src/__tests__/slash-commands-catalog.test.ts +0 -94
  1662. package/src/__tests__/slash-commands-parser.test.ts +0 -127
  1663. package/src/__tests__/slash-commands-resolver.test.ts +0 -231
  1664. package/src/__tests__/slash-commands-rewrite.test.ts +0 -40
  1665. package/src/cli/commands/sessions.ts +0 -253
  1666. package/src/cli/http-client.ts +0 -76
  1667. package/src/cli/reference.ts +0 -36
  1668. package/src/daemon/install-cli-launchers.ts +0 -170
  1669. package/src/daemon/session-evictor.ts +0 -203
  1670. package/src/runtime/routes/session-management-routes.ts +0 -190
  1671. package/src/skills/slash-commands.ts +0 -203
  1672. /package/src/__tests__/{script-proxy-session-runtime.test.ts → script-proxy-conversation-runtime.test.ts} +0 -0
  1673. /package/src/daemon/{session-media-retry.ts → conversation-media-retry.ts} +0 -0
@@ -1,39 +1,38 @@
1
1
  ---
2
2
  name: gmail
3
- description: Archive, label, draft, unsubscribe, and manage Gmail with smart inbox tools
3
+ description: Archive, label, draft, unsubscribe, and manage Gmail
4
4
  compatibility: "Designed for Vellum personal assistants"
5
5
  metadata:
6
6
  emoji: "📨"
7
7
  vellum:
8
8
  display-name: "Gmail"
9
- user-invocable: true
10
9
  ---
11
10
 
12
- This skill provides Gmail-specific tools. For cross-platform messaging (send, read, search, reply), use the **messaging** skill. Gmail tools depend on the messaging skill's provider infrastructure load messaging first if Gmail is not yet connected.
11
+ This skill provides Gmail-specific tools. For cross-platform messaging (send, read, search, reply), use the **messaging** skill. Gmail tools depend on the messaging skill's provider infrastructure - load messaging first if Gmail is not yet connected.
13
12
 
14
13
  ## Email Routing Priority
15
14
 
16
- When the user mentions "email" sending, reading, checking, decluttering, drafting, or anything else **always default to the user's own email (Gmail)** unless they explicitly ask about the assistant's own email address (e.g., "set up your email", "send from your address", "check your inbox"). The vast majority of email requests are about the user's Gmail, not the assistant's AgentMail address.
15
+ When the user mentions "email" - sending, reading, checking, decluttering, drafting, or anything else - **always default to the user's own email (Gmail)** unless they explicitly ask about the assistant's own email address (e.g., "set up your email", "send from your address", "check your inbox"). The vast majority of email requests are about the user's Gmail, not the assistant's AgentMail address.
17
16
 
18
- Do not offer AgentMail as an option or mention it unless the user specifically asks. If Gmail is not connected, guide them through Gmail setup do not suggest AgentMail as an alternative.
17
+ Do not offer AgentMail as an option or mention it unless the user specifically asks. If Gmail is not connected, guide them through Gmail setup - do not suggest AgentMail as an alternative.
19
18
 
20
19
  ## Communication Style
21
20
 
22
- - **Be action-oriented.** When the user asks to do something ("declutter", "check my email"), start doing it immediately. Don't ask for permission to read their inbox that's obviously what they want.
23
- - **Keep it human.** Never mention OAuth, tokens, APIs, sandboxes, credential proxies, or other technical internals. If something isn't working, say "Gmail needs to be reconnected" not "the OAuth2 access token for integration:google has expired."
21
+ - **Be action-oriented.** When the user asks to do something ("declutter", "check my email"), start doing it immediately. Don't ask for permission to read their inbox - that's obviously what they want.
22
+ - **Keep it human.** Never mention OAuth, tokens, APIs, sandboxes, credential proxies, or other technical internals. If something isn't working, say "Gmail needs to be reconnected" - not "the OAuth2 access token for integration:google has expired."
24
23
  - **Show progress.** When running a tool that scans many emails, tell the user what you're doing: "Scanning your inbox for clutter..." Don't go silent.
25
- - **Be brief and warm.** One or two sentences per update is plenty. Don't over-explain what you're about to do just do it and narrate lightly.
24
+ - **Be brief and warm.** One or two sentences per update is plenty. Don't over-explain what you're about to do - just do it and narrate lightly.
26
25
 
27
26
  ## Connection Setup
28
27
 
29
28
  ### Gmail
30
29
 
31
- 1. **Try connecting directly first.** Call `credential_store` with `action: "oauth2_connect"` and `service: "gmail"`. The tool auto-fills Google's OAuth endpoints and looks up any previously stored client credentials so this single call may be all that's needed.
30
+ 1. **Try connecting directly first.** Call `credential_store` with `action: "oauth2_connect"` and `service: "gmail"`. The tool auto-fills Google's OAuth endpoints and looks up any previously stored client credentials - so this single call may be all that's needed.
32
31
  2. **If it fails because no client_id is found:** The user needs to create Google Cloud OAuth credentials first. Load the **google-oauth-applescript** skill:
33
32
  - Call `skill_load` with `skill: "google-oauth-applescript"` to load the dependency skill.
34
33
  - Tell the user Gmail isn't connected yet and briefly explain what the setup involves, then use `ui_show` with `surface_type: "confirmation"` to ask for permission to start:
35
34
  - **message:** "Ready to set up Gmail?"
36
- - **detail:** "I'll open a few pages in your browser and walk you through setting up Google Cloud credentials creating a project, enabling APIs, and connecting your account. Takes about 5 minutes."
35
+ - **detail:** "I'll open a few pages in your browser and walk you through setting up Google Cloud credentials - creating a project, enabling APIs, and connecting your account. Takes about 5 minutes."
37
36
  - **confirmLabel:** "Get Started"
38
37
  - **cancelLabel:** "Not Now"
39
38
  - If the user confirms, briefly acknowledge (e.g., "Setting up Gmail now...") and proceed with the setup guide. If they decline, acknowledge and let them know they can set it up later.
@@ -44,7 +43,7 @@ Do not offer AgentMail as an option or mention it unless the user specifically a
44
43
  When a Gmail tool fails with a token or authorization error:
45
44
 
46
45
  1. **Try to reconnect silently.** Call `credential_store` with `action: "oauth2_connect"` and `service: "gmail"`. This often resolves expired tokens automatically.
47
- 2. **If reconnection fails, go straight to setup.** Don't present options, ask which route the user prefers, or explain what went wrong technically. Just tell the user briefly (e.g., "Gmail needs to be reconnected let me set that up") and immediately follow the connection setup flow for Gmail (e.g., install and load **google-oauth-applescript**). The user came to you to get something done, not to troubleshoot OAuth make it seamless.
46
+ 2. **If reconnection fails, go straight to setup.** Don't present options, ask which route the user prefers, or explain what went wrong technically. Just tell the user briefly (e.g., "Gmail needs to be reconnected - let me set that up") and immediately follow the connection setup flow for Gmail (e.g., install and load **google-oauth-applescript**). The user came to you to get something done, not to troubleshoot OAuth - make it seamless.
48
47
  3. **Never try alternative approaches.** Don't use bash, curl, browser automation, or any workaround. If the Gmail tools can't do it, the reconnection flow is the answer.
49
48
  4. **Never expose error details.** The user doesn't need to see error messages about tokens, OAuth, or API failures. Translate errors into plain language.
50
49
 
@@ -60,20 +59,20 @@ When a Gmail tool fails with a token or authorization error:
60
59
 
61
60
  ### Attachments
62
61
 
63
- - **Attachments**: `gmail_attachments` list or download Gmail attachments. Use `action: "list"` to enumerate attachments on a message (returns filename, MIME type, size, and attachment ID), then `action: "download"` with `attachment_id` and `filename` to save a specific attachment to disk.
64
- - **Send with Attachments**: `messaging_send` with `attachment_paths` create a Gmail draft with file attachments (reads files from disk, builds multipart MIME)
62
+ - **Attachments**: `gmail_attachments` - list or download Gmail attachments. Use `action: "list"` to enumerate attachments on a message (returns filename, MIME type, size, and attachment ID), then `action: "download"` with `attachment_id` and `filename` to save a specific attachment to disk.
63
+ - **Send with Attachments**: `messaging_send` with `attachment_paths` - create a Gmail draft with file attachments (reads files from disk, builds multipart MIME)
65
64
 
66
65
  Workflow: use `gmail_attachments` with `action: "list"` to discover attachments, then `gmail_attachments` with `action: "download"` to save them locally.
67
66
 
68
67
  ### Forward & Thread Operations
69
68
 
70
- - **Forward**: `gmail_forward` forward a message to another recipient, preserving all attachments. Optionally prepend your own text
71
- - **Follow-up Tracking**: `gmail_follow_up` track/untrack messages for follow-up using a dedicated "Follow-up" label, or list all tracked messages
69
+ - **Forward**: `gmail_forward` - forward a message to another recipient, preserving all attachments. Optionally prepend your own text
70
+ - **Follow-up Tracking**: `gmail_follow_up` - track/untrack messages for follow-up using a dedicated "Follow-up" label, or list all tracked messages
72
71
 
73
72
  ### Inbox Automation
74
73
 
75
- - **Filters**: `gmail_filters` list, create, or delete Gmail filters. Filter criteria include from, to, subject, query, has_attachment. Actions include adding/removing labels and forwarding
76
- - **Vacation Responder**: `gmail_vacation` get, enable, or disable the vacation auto-responder with custom message, date range, and domain/contact restrictions
74
+ - **Filters**: `gmail_filters` - list, create, or delete Gmail filters. Filter criteria include from, to, subject, query, has_attachment. Actions include adding/removing labels and forwarding
75
+ - **Vacation Responder**: `gmail_vacation` - get, enable, or disable the vacation auto-responder with custom message, date range, and domain/contact restrictions
77
76
 
78
77
  ## Drafting vs Sending (Gmail)
79
78
 
@@ -93,7 +92,7 @@ Gmail uses a **draft-first workflow**. All compose and reply tools create Gmail
93
92
 
94
93
  When replying to or continuing an email thread:
95
94
 
96
- - Use `messaging_send` with the thread's `thread_id` it automatically handles threading, reply-all recipients, and subject lines.
95
+ - Use `messaging_send` with the thread's `thread_id` - it automatically handles threading, reply-all recipients, and subject lines.
97
96
  - The `in_reply_to` field on `gmail_draft` requires the **RFC 822 Message-ID header** (looks like `<CABx...@mail.gmail.com>`), NOT the Gmail message ID (which looks like `18e4a5b2c3d4e5f6`). Get it by reading the thread messages and extracting the `Message-ID` header.
98
97
 
99
98
  ## Gmail Search Syntax
@@ -113,9 +112,9 @@ When searching Gmail, the query uses Gmail's search operators:
113
112
 
114
113
  ## Email Decluttering
115
114
 
116
- When a user asks to declutter, clean up, or organize their email start scanning immediately. Don't ask what kind of cleanup they want or request permission to read their inbox. Go straight to scanning but once results are ready, always show them via `ui_show` and let the user choose actions before archiving or unsubscribing.
115
+ When a user asks to declutter, clean up, or organize their email - start scanning immediately. Don't ask what kind of cleanup they want or request permission to read their inbox. Go straight to scanning - but once results are ready, always show them via `ui_show` and let the user choose actions before archiving or unsubscribing.
117
116
 
118
- **CRITICAL**: Never call `gmail_archive`, `gmail_unsubscribe`, or `messaging_archive_by_sender` unless the user has clicked an action button on the table for that specific batch. Each batch of results requires its own explicit user confirmation via the table UI. If the user says "keep going" or "keep decluttering," that means scan and present a new table NOT auto-archive. Previous batch approvals do not carry forward, but **deselections DO carry forward**: when the user deselects senders from a cleanup table, the system records those deselections as user preferences. Before building the next cleanup table, check `<dynamic-user-profile>` for previously deselected senders and exclude them from future cleanup tables the user already indicated they want to keep those.
117
+ **CRITICAL**: Never call `gmail_archive`, `gmail_unsubscribe`, or `messaging_archive_by_sender` unless the user has clicked an action button on the table for that specific batch. Each batch of results requires its own explicit user confirmation via the table UI. If the user says "keep going" or "keep decluttering," that means scan and present a new table - NOT auto-archive. Previous batch approvals do not carry forward, but **deselections DO carry forward**: when the user deselects senders from a cleanup table, the system records those deselections as user preferences. Before building the next cleanup table, check `<dynamic-user-profile>` for previously deselected senders and exclude them from future cleanup tables - the user already indicated they want to keep those.
119
118
 
120
119
  ### Workflow
121
120
 
@@ -123,17 +122,17 @@ When a user asks to declutter, clean up, or organize their email — start scann
123
122
  2. **Present**: Show results as a `ui_show` table with `selectionMode: "multiple"`:
124
123
  - **Columns (exactly 3)**: Sender, Emails Found, Unsub?
125
124
  - **Unsub? cell values**: Use rich cell format: `{ "text": "Yes", "icon": "checkmark.circle.fill", "iconColor": "success" }` when `has_unsubscribe` is true, `{ "text": "No", "icon": "minus.circle", "iconColor": "muted" }` when false.
126
- - **Pre-select all rows** (`selected: true`) users deselect what they want to keep
127
- - **Caption**: Include two parts separated by a newline: (1) data scope, e.g. "Newsletters, notifications, and outreach from last 90 days. Deselect anything you want to keep." (adjusted to match the query used), and (2) the Unsub? column legend: "Unsub? \"Yes\" means these emails contain an unsubscribe link, so I can opt you out automatically. \"No\" means no unsubscribe link was found these will be archived but you may continue receiving them."
125
+ - **Pre-select all rows** (`selected: true`) - users deselect what they want to keep
126
+ - **Caption**: Include two parts separated by a newline: (1) data scope, e.g. "Newsletters, notifications, and outreach from last 90 days. Deselect anything you want to keep." (adjusted to match the query used), and (2) the Unsub? column legend: "Unsub? - \"Yes\" means these emails contain an unsubscribe link, so I can opt you out automatically. \"No\" means no unsubscribe link was found - these will be archived but you may continue receiving them."
128
127
  - **Action buttons (exactly 2)**: "Archive & Unsubscribe" (primary), "Archive Only" (secondary). **NEVER offer Delete, Trash, or any destructive action.**
129
128
  3. **Wait for user action**: Stop and wait. Do NOT proceed to archiving or unsubscribing until the user clicks one of the action buttons on the table. When the user clicks an action button:
130
- - **Dismiss the table immediately** with `ui_dismiss` it collapses to a completion chip
129
+ - **Dismiss the table immediately** with `ui_dismiss` - it collapses to a completion chip
131
130
  - **Show a `task_progress` card** with steps for each phase (e.g., "Archiving 89 senders (2,400 emails)", "Unsubscribing from 72 senders"). Update each step from `in_progress` → `completed` as each phase finishes.
132
131
  - When all senders are processed, set the progress card's `status: "completed"`.
133
- 4. **Act on selection** batch, don't loop:
134
- - **Archive all at once**: Call `gmail_archive` **once** with `scan_id` + **all** selected senders' `id` values in the `sender_ids` array. The tool resolves message IDs server-side and batches the Gmail API calls internally never loop sender-by-sender.
135
- - **Unsubscribe in bulk**: If the action is "Archive & Unsubscribe", call `gmail_unsubscribe` for each sender that has `has_unsubscribe: true` but emit **all** unsubscribe tool calls in a **single assistant response** (parallel tool use) rather than one-at-a-time across separate turns.
136
- 5. **Accurate summary**: The scan counts are exact the `message_count` shown in the table matches the number of messages archived. Format: "Cleaned up [total_archived] emails from [sender_count] senders. Unsubscribed from [unsub_count]."
132
+ 4. **Act on selection** - batch, don't loop:
133
+ - **Archive all at once**: Call `gmail_archive` **once** with `scan_id` + **all** selected senders' `id` values in the `sender_ids` array. The tool resolves message IDs server-side and batches the Gmail API calls internally - never loop sender-by-sender.
134
+ - **Unsubscribe in bulk**: If the action is "Archive & Unsubscribe", call `gmail_unsubscribe` for each sender that has `has_unsubscribe: true` - but emit **all** unsubscribe tool calls in a **single assistant response** (parallel tool use) rather than one-at-a-time across separate turns.
135
+ 5. **Accurate summary**: The scan counts are exact - the `message_count` shown in the table matches the number of messages archived. Format: "Cleaned up [total_archived] emails from [sender_count] senders. Unsubscribed from [unsub_count]."
137
136
  6. **Ongoing protection offer**: After reporting results, offer auto-archive filters:
138
137
  - "Want me to set up auto-archive filters so future emails from these senders skip your inbox?"
139
138
  - If yes, call `gmail_filters` with `action: "create"` for each sender with `from` set to the sender's email and `remove_label_ids: ["INBOX"]`.
@@ -143,21 +142,21 @@ When a user asks to declutter, clean up, or organize their email — start scann
143
142
 
144
143
  - **Zero results**: Tell the user "No newsletter emails found" and suggest broadening the query (e.g. removing the category filter or extending the date range)
145
144
  - **Unsubscribe failures**: Report per-sender success/failure; the existing `gmail_unsubscribe` tool handles edge cases
146
- - **Truncation handling**: The scan covers up to 5,000 messages by default (cap 10,000). If `truncated` is true, the top senders are still captured don't offer to scan more. Tell the user: "Scanned [N] messages here are your top senders."
147
- - **Time budget exceeded**: If the scan returns `time_budget_exceeded: true`, present whatever results were collected. Do not retry or continue the partial results are useful as-is.
145
+ - **Truncation handling**: The scan covers up to 5,000 messages by default (cap 10,000). If `truncated` is true, the top senders are still captured - don't offer to scan more. Tell the user: "Scanned [N] messages - here are your top senders."
146
+ - **Time budget exceeded**: If the scan returns `time_budget_exceeded: true`, present whatever results were collected. Do not retry or continue - the partial results are useful as-is.
148
147
 
149
148
  ## Scan ID
150
149
 
151
- Scan tools (`gmail_sender_digest`, `gmail_outreach_scan`) return a `scan_id` that references message IDs stored server-side. This keeps thousands of message IDs out of the conversation context. `gmail_outreach_scan` is a pure data aggregation tool it finds senders without List-Unsubscribe headers (potential cold outreach) and does not use LLM classification.
150
+ Scan tools (`gmail_sender_digest`, `gmail_outreach_scan`) return a `scan_id` that references message IDs stored server-side. This keeps thousands of message IDs out of the conversation context. `gmail_outreach_scan` is a pure data aggregation tool - it finds senders without List-Unsubscribe headers (potential cold outreach) and does not use LLM classification.
152
151
 
153
152
  - Pass `scan_id` + `sender_ids` to `gmail_archive` instead of `message_ids`
154
- - Scan results expire after **30 minutes** if archiving fails with an expiration error, re-run the scan
153
+ - Scan results expire after **30 minutes** - if archiving fails with an expiration error, re-run the scan
155
154
  - Raw `message_ids` still work as a fallback for non-scan workflows
156
155
 
157
156
  ## Batch Operations
158
157
 
159
158
  - `gmail_archive` supports `scan_id` + `sender_ids` (preferred for declutter workflows) or raw `message_ids`.
160
- - `gmail_label` supports `message_id` or `message_ids` only it does not accept `scan_id`.
159
+ - `gmail_label` supports `message_id` or `message_ids` only - it does not accept `scan_id`.
161
160
  - First scan to get a `scan_id`, then use `gmail_archive` to batch-archive by sender.
162
161
  - Always confirm with the user before batch operations on large numbers of messages.
163
162
 
@@ -165,7 +164,7 @@ Scan tools (`gmail_sender_digest`, `gmail_outreach_scan`) return a `scan_id` tha
165
164
 
166
165
  Before composing any email that references a date or time:
167
166
 
168
- 1. Check the `<temporal_context>` block in the current turn for today's date and upcoming dates
167
+ 1. Check the `<temporal_context>` block in the current turn for today's date and timezone
169
168
  2. Verify that "tomorrow" means the day after today's date, "next week" means the upcoming Monday–Friday, etc.
170
169
  3. If the email references a date from another message, cross-check it against the temporal context to ensure it's in the future
171
170
 
@@ -39,7 +39,7 @@
39
39
  "type": "number",
40
40
  "description": "Confidence score (0-1) for this action"
41
41
  },
42
- "reason": {
42
+ "activity": {
43
43
  "type": "string",
44
44
  "description": "Brief non-technical explanation of why this tool is being called"
45
45
  },
@@ -90,7 +90,7 @@
90
90
  "type": "number",
91
91
  "description": "Confidence score (0-1) for this action"
92
92
  },
93
- "reason": {
93
+ "activity": {
94
94
  "type": "string",
95
95
  "description": "Brief non-technical explanation of why this tool is being called"
96
96
  },
@@ -120,7 +120,7 @@
120
120
  "type": "number",
121
121
  "description": "Confidence score (0-1) for this action"
122
122
  },
123
- "reason": {
123
+ "activity": {
124
124
  "type": "string",
125
125
  "description": "Brief non-technical explanation of why this tool is being called"
126
126
  },
@@ -150,7 +150,7 @@
150
150
  "type": "number",
151
151
  "description": "Confidence score (0-1) for this action"
152
152
  },
153
- "reason": {
153
+ "activity": {
154
154
  "type": "string",
155
155
  "description": "Brief non-technical explanation of why this tool is being called"
156
156
  },
@@ -196,7 +196,7 @@
196
196
  "type": "string",
197
197
  "description": "BCC recipients (comma-separated email addresses)"
198
198
  },
199
- "reason": {
199
+ "activity": {
200
200
  "type": "string",
201
201
  "description": "Brief non-technical explanation of why this tool is being called"
202
202
  },
@@ -226,7 +226,7 @@
226
226
  "type": "number",
227
227
  "description": "Confidence score (0-1) for this action"
228
228
  },
229
- "reason": {
229
+ "activity": {
230
230
  "type": "string",
231
231
  "description": "Brief non-technical explanation of why this tool is being called"
232
232
  },
@@ -265,7 +265,7 @@
265
265
  "type": "string",
266
266
  "description": "Filename to save as (required for download)"
267
267
  },
268
- "reason": {
268
+ "activity": {
269
269
  "type": "string",
270
270
  "description": "Brief non-technical explanation of why this tool is being called"
271
271
  },
@@ -303,7 +303,7 @@
303
303
  "type": "number",
304
304
  "description": "Confidence score (0-1) for this action"
305
305
  },
306
- "reason": {
306
+ "activity": {
307
307
  "type": "string",
308
308
  "description": "Brief non-technical explanation of why this tool is being called"
309
309
  },
@@ -338,7 +338,7 @@
338
338
  "type": "number",
339
339
  "description": "Confidence score (0-1) for this action"
340
340
  },
341
- "reason": {
341
+ "activity": {
342
342
  "type": "string",
343
343
  "description": "Brief non-technical explanation of why this tool is being called"
344
344
  },
@@ -411,7 +411,7 @@
411
411
  "type": "number",
412
412
  "description": "Confidence score (0-1) for this action"
413
413
  },
414
- "reason": {
414
+ "activity": {
415
415
  "type": "string",
416
416
  "description": "Brief non-technical explanation of why this tool is being called"
417
417
  },
@@ -466,7 +466,7 @@
466
466
  "type": "number",
467
467
  "description": "Confidence score (0-1) for this action"
468
468
  },
469
- "reason": {
469
+ "activity": {
470
470
  "type": "string",
471
471
  "description": "Brief non-technical explanation of why this tool is being called"
472
472
  },
@@ -502,9 +502,9 @@
502
502
  },
503
503
  "page_token": {
504
504
  "type": "string",
505
- "description": "Resume token from a previous scan (rarely needed scans now cover up to 10,000 messages in a single call)"
505
+ "description": "Resume token from a previous scan (rarely needed - scans now cover up to 10,000 messages in a single call)"
506
506
  },
507
- "reason": {
507
+ "activity": {
508
508
  "type": "string",
509
509
  "description": "Brief non-technical explanation of why this tool is being called"
510
510
  },
@@ -519,7 +519,7 @@
519
519
  },
520
520
  {
521
521
  "name": "gmail_outreach_scan",
522
- "description": "Scan Gmail inbox for senders without List-Unsubscribe headers (potential cold outreach). Returns top senders with message counts and sample subjects. Read-only use gmail_archive and gmail_filters for cleanup.",
522
+ "description": "Scan Gmail inbox for senders without List-Unsubscribe headers (potential cold outreach). Returns top senders with message counts and sample subjects. Read-only - use gmail_archive and gmail_filters for cleanup.",
523
523
  "category": "gmail",
524
524
  "risk": "low",
525
525
  "input_schema": {
@@ -539,9 +539,9 @@
539
539
  },
540
540
  "page_token": {
541
541
  "type": "string",
542
- "description": "Resume token from a previous scan (rarely needed scans now cover up to 5,000 messages in a single call)"
542
+ "description": "Resume token from a previous scan (rarely needed - scans now cover up to 5,000 messages in a single call)"
543
543
  },
544
- "reason": {
544
+ "activity": {
545
545
  "type": "string",
546
546
  "description": "Brief non-technical explanation of why this tool is being called"
547
547
  },
@@ -124,7 +124,7 @@ export async function run(
124
124
 
125
125
  // Batch path for scan_id+sender_ids and message_ids
126
126
  if (!messageIds?.length) {
127
- return err("Resolved message list is empty no messages to archive.");
127
+ return err("Resolved message list is empty - no messages to archive.");
128
128
  }
129
129
 
130
130
  try {
@@ -171,7 +171,7 @@ export async function run(
171
171
  agg.hasMore = true;
172
172
  }
173
173
 
174
- // Track date range compare using internalDate (epoch ms) for reliability
174
+ // Track date range - compare using internalDate (epoch ms) for reliability
175
175
  const msgEpoch = msg.internalDate ? Number(msg.internalDate) : 0;
176
176
  const oldestEpoch = agg.oldestDate
177
177
  ? new Date(agg.oldestDate).getTime()
@@ -6,7 +6,6 @@ metadata:
6
6
  emoji: "📅"
7
7
  vellum:
8
8
  display-name: "Google Calendar"
9
- user-invocable: true
10
9
  ---
11
10
 
12
11
  You are a Google Calendar assistant with full access to the user's calendar. Use the Calendar tools to help them view, create, and manage events.
@@ -18,7 +17,7 @@ Before using any Calendar tool, verify that Google Calendar is connected by atte
18
17
  1. **Do NOT call `credential_store oauth2_connect` yourself.** You do not have valid OAuth client credentials, and fabricating a client_id will cause a "401: invalid_client" error from Google.
19
18
  2. Instead, load the **google-oauth-applescript** skill, which walks the user through creating real credentials in Google Cloud Console:
20
19
  - Call `skill_load` with `skill: "google-oauth-applescript"` to load the dependency skill.
21
- 3. Tell the user: _"Google Calendar isn't connected yet. I've loaded a setup guide that will walk you through connecting your Google account it only takes a couple of minutes."_
20
+ 3. Tell the user: _"Google Calendar isn't connected yet. I've loaded a setup guide that will walk you through connecting your Google account - it only takes a couple of minutes."_
22
21
 
23
22
  ## Capabilities
24
23
 
@@ -38,7 +38,7 @@
38
38
  "enum": ["startTime", "updated"],
39
39
  "description": "Sort order (default \"startTime\"). Only valid when single_events is true."
40
40
  },
41
- "reason": {
41
+ "activity": {
42
42
  "type": "string",
43
43
  "description": "Brief non-technical explanation of why this tool is being called"
44
44
  },
@@ -67,7 +67,7 @@
67
67
  "type": "string",
68
68
  "description": "Calendar ID (default \"primary\")"
69
69
  },
70
- "reason": {
70
+ "activity": {
71
71
  "type": "string",
72
72
  "description": "Brief non-technical explanation of why this tool is being called"
73
73
  },
@@ -128,7 +128,7 @@
128
128
  "type": "number",
129
129
  "description": "Confidence score (0-1) for this action"
130
130
  },
131
- "reason": {
131
+ "activity": {
132
132
  "type": "string",
133
133
  "description": "Brief non-technical explanation of why this tool is being called"
134
134
  },
@@ -169,7 +169,7 @@
169
169
  "type": "string",
170
170
  "description": "IANA timezone for interpreting results (e.g. \"America/New_York\")"
171
171
  },
172
- "reason": {
172
+ "activity": {
173
173
  "type": "string",
174
174
  "description": "Brief non-technical explanation of why this tool is being called"
175
175
  },
@@ -208,7 +208,7 @@
208
208
  "type": "number",
209
209
  "description": "Confidence score (0-1) for this action"
210
210
  },
211
- "reason": {
211
+ "activity": {
212
212
  "type": "string",
213
213
  "description": "Brief non-technical explanation of why this tool is being called"
214
214
  },
@@ -15,7 +15,7 @@ export async function run(
15
15
  const calendarIds = (input.calendar_ids as string[]) ?? ["primary"];
16
16
  const timezone = input.timezone as string | undefined;
17
17
 
18
- const connection = await getCalendarConnection(account, calendarIds[0]);
18
+ const connection = await getCalendarConnection(account);
19
19
  const result = await calendar.freeBusy(connection, {
20
20
  timeMin,
21
21
  timeMax,
@@ -41,7 +41,7 @@ export async function run(
41
41
  eventBody.attendees = attendees.map((email) => ({ email }));
42
42
  }
43
43
 
44
- const connection = await getCalendarConnection(account, calendarId);
44
+ const connection = await getCalendarConnection(account);
45
45
  const event = await calendar.createEvent(connection, eventBody, calendarId);
46
46
  const link = event.htmlLink ? ` View it here: ${event.htmlLink}` : "";
47
47
  return ok(`Event created (ID: ${event.id}).${link}`);
@@ -13,7 +13,7 @@ export async function run(
13
13
  const eventId = input.event_id as string;
14
14
  const calendarId = (input.calendar_id as string) ?? "primary";
15
15
 
16
- const connection = await getCalendarConnection(account, calendarId);
16
+ const connection = await getCalendarConnection(account);
17
17
  const event = await calendar.getEvent(connection, eventId, calendarId);
18
18
  return ok(JSON.stringify(event, null, 2));
19
19
  }
@@ -18,7 +18,7 @@ export async function run(
18
18
  const singleEvents = (input.single_events as boolean) ?? true;
19
19
  const orderBy = input.order_by as "startTime" | "updated" | undefined;
20
20
 
21
- const connection = await getCalendarConnection(account, calendarId);
21
+ const connection = await getCalendarConnection(account);
22
22
  const result = await calendar.listEvents(connection, calendarId, {
23
23
  timeMin,
24
24
  timeMax,
@@ -14,7 +14,7 @@ export async function run(
14
14
  const response = input.response as "accepted" | "declined" | "tentative";
15
15
  const calendarId = (input.calendar_id as string) ?? "primary";
16
16
 
17
- const connection = await getCalendarConnection(account, calendarId);
17
+ const connection = await getCalendarConnection(account);
18
18
 
19
19
  // First get the event to find the user's attendee entry
20
20
  const event = await calendar.getEvent(connection, eventId, calendarId);
@@ -12,10 +12,6 @@ export function ok(content: string): ToolExecutionResult {
12
12
  */
13
13
  export async function getCalendarConnection(
14
14
  account?: string,
15
- calendarId?: string,
16
15
  ): Promise<OAuthConnection> {
17
- // If no explicit account but calendar_id looks like an email, use it as the account hint
18
- const resolved =
19
- account ?? (calendarId?.includes("@") ? calendarId : undefined);
20
- return resolveOAuthConnection("integration:google", resolved);
16
+ return resolveOAuthConnection("integration:google", account);
21
17
  }
@@ -1,4 +1,4 @@
1
- /** Event time either a dateTime with timezone or a date for all-day events. */
1
+ /** Event time - either a dateTime with timezone or a date for all-day events. */
2
2
  export interface EventDateTime {
3
3
  dateTime?: string;
4
4
  date?: string;
@@ -0,0 +1,43 @@
1
+ ---
2
+ name: heartbeat
3
+ description: Configure periodic background checklist runs
4
+ compatibility: "Designed for Vellum personal assistants"
5
+ metadata:
6
+ emoji: "\U0001F493"
7
+ vellum:
8
+ display-name: "Heartbeat"
9
+ activation-hints:
10
+ - "Set up a heartbeat, periodic checklist, background health check, or recurring background task"
11
+ avoid-when:
12
+ - "One-off or recurring schedules with specific payloads - use the schedule skill instead"
13
+ ---
14
+
15
+ The heartbeat feature runs your `HEARTBEAT.md` checklist periodically in a background conversation. Each run, the assistant works through the checklist and flags anything that needs attention.
16
+
17
+ ## Setup
18
+
19
+ Edit `config.json` using `file_edit`:
20
+
21
+ 1. **Enable heartbeat**: Set `heartbeat.enabled` to `true`.
22
+ 2. **Set interval**: Set `heartbeat.intervalMs` (milliseconds between runs, default: 3600000 = 1 hour).
23
+ 3. **Optional active hours**: Set `heartbeat.activeHoursStart` and `heartbeat.activeHoursEnd` (0-23) to restrict runs to certain hours. Both must be set together.
24
+
25
+ Example config.json heartbeat section:
26
+ ```json
27
+ {
28
+ "heartbeat": {
29
+ "enabled": true,
30
+ "intervalMs": 1800000,
31
+ "activeHoursStart": 8,
32
+ "activeHoursEnd": 22
33
+ }
34
+ }
35
+ ```
36
+
37
+ Then edit `HEARTBEAT.md` with the checklist items. The assistant will work through this file each heartbeat run.
38
+
39
+ ## Notes
40
+
41
+ - Toggling `heartbeat.enabled` requires an assistant restart to take effect.
42
+ - Changes to `HEARTBEAT.md` take effect on the next heartbeat run (no restart needed).
43
+ - The heartbeat runs in a separate background conversation, not the user's active chat.
@@ -6,7 +6,6 @@ metadata:
6
6
  emoji: "🎨"
7
7
  vellum:
8
8
  display-name: "Image Studio"
9
- user-invocable: true
10
9
  ---
11
10
 
12
11
  You are an image generation assistant. When the user asks you to create or edit images, use the `media_generate_image` tool.
@@ -24,12 +23,12 @@ You are an image generation assistant. When the user asks you to create or edit
24
23
 
25
24
  ## Models
26
25
 
27
- - `gemini-2.5-flash-image` (default) fast, good quality
28
- - `gemini-3-pro-image` higher quality, slower
26
+ - `gemini-3.1-flash-image-preview` (default) - Nano Banana 2, fast, good quality
27
+ - `gemini-3-pro-image-preview` - Nano Banana Pro, higher quality, slower
29
28
 
30
29
  ## Tips
31
30
 
32
31
  - Be descriptive in your prompts for better results. Include details about style, composition, lighting, and mood.
33
32
  - When editing images, clearly describe what changes you want made to the source image.
34
33
  - Use the `variants` parameter (1-4) to generate multiple options and pick the best one.
35
- - If no Gemini API key is configured, the tool will return an error ask the user to set one up.
34
+ - If no Gemini API key is configured, the tool will return an error - ask the user to set one up.
@@ -28,8 +28,7 @@
28
28
  "model": {
29
29
  "type": "string",
30
30
  "enum": [
31
- "gemini-2.5-flash-image",
32
- "gemini-3-pro-image",
31
+ "gemini-3.1-flash-image-preview",
33
32
  "gemini-3-pro-image-preview"
34
33
  ],
35
34
  "description": "Which model to use for generation. If omitted, uses the user's configured preference."
@@ -38,7 +37,7 @@
38
37
  "type": "number",
39
38
  "description": "Number of image variants to generate (1-4, default: 1)"
40
39
  },
41
- "reason": {
40
+ "activity": {
42
41
  "type": "string",
43
42
  "description": "Brief non-technical explanation of why this tool is being called"
44
43
  }