@viewportai/daemon 0.2.0 → 0.2.1

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 (810) hide show
  1. package/README.md +18 -6
  2. package/bin/vpd.js +0 -1
  3. package/dist/adapters/claude-message-normalizer.d.ts +24 -0
  4. package/dist/adapters/claude-message-normalizer.d.ts.map +1 -0
  5. package/dist/adapters/claude-message-normalizer.js +192 -0
  6. package/dist/adapters/claude-message-normalizer.js.map +1 -0
  7. package/dist/adapters/claude.d.ts +1 -23
  8. package/dist/adapters/claude.d.ts.map +1 -1
  9. package/dist/adapters/claude.js +20 -215
  10. package/dist/adapters/claude.js.map +1 -1
  11. package/dist/adapters/codex-sdk-loader.d.ts +1 -0
  12. package/dist/adapters/codex-sdk-loader.d.ts.map +1 -1
  13. package/dist/adapters/codex.d.ts +6 -2
  14. package/dist/adapters/codex.d.ts.map +1 -1
  15. package/dist/adapters/codex.js +44 -19
  16. package/dist/adapters/codex.js.map +1 -1
  17. package/dist/adapters/gemini-cli.js +2 -2
  18. package/dist/adapters/gemini-cli.js.map +1 -1
  19. package/dist/adapters/pty.d.ts.map +1 -1
  20. package/dist/adapters/pty.js +12 -10
  21. package/dist/adapters/pty.js.map +1 -1
  22. package/dist/agents/codex-defaults.d.ts +2 -0
  23. package/dist/agents/codex-defaults.d.ts.map +1 -0
  24. package/dist/agents/codex-defaults.js +2 -0
  25. package/dist/agents/codex-defaults.js.map +1 -0
  26. package/dist/agents/codex.d.ts.map +1 -1
  27. package/dist/agents/codex.js +15 -3
  28. package/dist/agents/codex.js.map +1 -1
  29. package/dist/cli/agent-commands.d.ts.map +1 -1
  30. package/dist/cli/agent-commands.js +12 -2
  31. package/dist/cli/agent-commands.js.map +1 -1
  32. package/dist/cli/command-shared.d.ts +30 -2
  33. package/dist/cli/command-shared.d.ts.map +1 -1
  34. package/dist/cli/command-shared.js +25 -27
  35. package/dist/cli/command-shared.js.map +1 -1
  36. package/dist/cli/commands.d.ts +7 -2
  37. package/dist/cli/commands.d.ts.map +1 -1
  38. package/dist/cli/commands.js +7 -2
  39. package/dist/cli/commands.js.map +1 -1
  40. package/dist/cli/context-access-command.d.ts +9 -0
  41. package/dist/cli/context-access-command.d.ts.map +1 -0
  42. package/dist/cli/context-access-command.js +133 -0
  43. package/dist/cli/context-access-command.js.map +1 -0
  44. package/dist/cli/context-add-command.d.ts +2 -0
  45. package/dist/cli/context-add-command.d.ts.map +1 -0
  46. package/dist/cli/context-add-command.js +74 -0
  47. package/dist/cli/context-add-command.js.map +1 -0
  48. package/dist/cli/context-command-parsers.d.ts +4 -0
  49. package/dist/cli/context-command-parsers.d.ts.map +1 -0
  50. package/dist/cli/context-command-parsers.js +32 -0
  51. package/dist/cli/context-command-parsers.js.map +1 -0
  52. package/dist/cli/context-command.d.ts +2 -0
  53. package/dist/cli/context-command.d.ts.map +1 -0
  54. package/dist/cli/context-command.js +306 -0
  55. package/dist/cli/context-command.js.map +1 -0
  56. package/dist/cli/context-provider-command.d.ts +4 -0
  57. package/dist/cli/context-provider-command.d.ts.map +1 -0
  58. package/dist/cli/context-provider-command.js +268 -0
  59. package/dist/cli/context-provider-command.js.map +1 -0
  60. package/dist/cli/context-provider-propose.d.ts +22 -0
  61. package/dist/cli/context-provider-propose.d.ts.map +1 -0
  62. package/dist/cli/context-provider-propose.js +26 -0
  63. package/dist/cli/context-provider-propose.js.map +1 -0
  64. package/dist/cli/context-provider-resolve.d.ts +11 -0
  65. package/dist/cli/context-provider-resolve.d.ts.map +1 -0
  66. package/dist/cli/context-provider-resolve.js +22 -0
  67. package/dist/cli/context-provider-resolve.js.map +1 -0
  68. package/dist/cli/context-sync-target.d.ts +9 -0
  69. package/dist/cli/context-sync-target.d.ts.map +1 -0
  70. package/dist/cli/context-sync-target.js +54 -0
  71. package/dist/cli/context-sync-target.js.map +1 -0
  72. package/dist/cli/context-vault-metadata-command.d.ts +3 -0
  73. package/dist/cli/context-vault-metadata-command.d.ts.map +1 -0
  74. package/dist/cli/context-vault-metadata-command.js +239 -0
  75. package/dist/cli/context-vault-metadata-command.js.map +1 -0
  76. package/dist/cli/context-vault-use-command.d.ts +2 -0
  77. package/dist/cli/context-vault-use-command.d.ts.map +1 -0
  78. package/dist/cli/context-vault-use-command.js +35 -0
  79. package/dist/cli/context-vault-use-command.js.map +1 -0
  80. package/dist/cli/contract-authorization.d.ts +25 -0
  81. package/dist/cli/contract-authorization.d.ts.map +1 -0
  82. package/dist/cli/contract-authorization.js +99 -0
  83. package/dist/cli/contract-authorization.js.map +1 -0
  84. package/dist/cli/daemon-client.d.ts.map +1 -1
  85. package/dist/cli/daemon-client.js +49 -14
  86. package/dist/cli/daemon-client.js.map +1 -1
  87. package/dist/cli/daemon-lifecycle.d.ts +2 -33
  88. package/dist/cli/daemon-lifecycle.d.ts.map +1 -1
  89. package/dist/cli/daemon-lifecycle.js +42 -16
  90. package/dist/cli/daemon-lifecycle.js.map +1 -1
  91. package/dist/cli/daemon-runtime-state.d.ts +47 -0
  92. package/dist/cli/daemon-runtime-state.d.ts.map +1 -0
  93. package/dist/cli/daemon-runtime-state.js +2 -0
  94. package/dist/cli/daemon-runtime-state.js.map +1 -0
  95. package/dist/cli/daemon-settings.d.ts.map +1 -1
  96. package/dist/cli/daemon-settings.js +24 -5
  97. package/dist/cli/daemon-settings.js.map +1 -1
  98. package/dist/cli/directory-commands.js +1 -1
  99. package/dist/cli/directory-commands.js.map +1 -1
  100. package/dist/cli/global-flags.d.ts +2 -0
  101. package/dist/cli/global-flags.d.ts.map +1 -0
  102. package/dist/cli/global-flags.js +8 -0
  103. package/dist/cli/global-flags.js.map +1 -0
  104. package/dist/cli/guard-command.d.ts +34 -0
  105. package/dist/cli/guard-command.d.ts.map +1 -0
  106. package/dist/cli/guard-command.js +161 -0
  107. package/dist/cli/guard-command.js.map +1 -0
  108. package/dist/cli/hook-command.d.ts +3 -1
  109. package/dist/cli/hook-command.d.ts.map +1 -1
  110. package/dist/cli/hook-command.js +33 -3
  111. package/dist/cli/hook-command.js.map +1 -1
  112. package/dist/cli/lifecycle-commands.d.ts +7 -2
  113. package/dist/cli/lifecycle-commands.d.ts.map +1 -1
  114. package/dist/cli/lifecycle-commands.js +169 -339
  115. package/dist/cli/lifecycle-commands.js.map +1 -1
  116. package/dist/cli/lifecycle-doctor-command.d.ts +2 -0
  117. package/dist/cli/lifecycle-doctor-command.d.ts.map +1 -0
  118. package/dist/cli/lifecycle-doctor-command.js +100 -0
  119. package/dist/cli/lifecycle-doctor-command.js.map +1 -0
  120. package/dist/cli/lifecycle-pair-command.d.ts +6 -0
  121. package/dist/cli/lifecycle-pair-command.d.ts.map +1 -0
  122. package/dist/cli/lifecycle-pair-command.js +286 -0
  123. package/dist/cli/lifecycle-pair-command.js.map +1 -0
  124. package/dist/cli/lifecycle-pair-server.d.ts +26 -0
  125. package/dist/cli/lifecycle-pair-server.d.ts.map +1 -0
  126. package/dist/cli/lifecycle-pair-server.js +166 -0
  127. package/dist/cli/lifecycle-pair-server.js.map +1 -0
  128. package/dist/cli/lifecycle-status-command.d.ts +2 -0
  129. package/dist/cli/lifecycle-status-command.d.ts.map +1 -0
  130. package/dist/cli/lifecycle-status-command.js +184 -0
  131. package/dist/cli/lifecycle-status-command.js.map +1 -0
  132. package/dist/cli/lifecycle-update-command.d.ts +2 -0
  133. package/dist/cli/lifecycle-update-command.d.ts.map +1 -0
  134. package/dist/cli/lifecycle-update-command.js +71 -0
  135. package/dist/cli/lifecycle-update-command.js.map +1 -0
  136. package/dist/cli/local-tls.d.ts +9 -0
  137. package/dist/cli/local-tls.d.ts.map +1 -0
  138. package/dist/cli/local-tls.js +84 -0
  139. package/dist/cli/local-tls.js.map +1 -0
  140. package/dist/cli/network.d.ts +11 -0
  141. package/dist/cli/network.d.ts.map +1 -0
  142. package/dist/cli/network.js +172 -0
  143. package/dist/cli/network.js.map +1 -0
  144. package/dist/cli/pairing-name-resolver.d.ts +2 -0
  145. package/dist/cli/pairing-name-resolver.d.ts.map +1 -0
  146. package/dist/cli/pairing-name-resolver.js +48 -0
  147. package/dist/cli/pairing-name-resolver.js.map +1 -0
  148. package/dist/cli/permission-commands.d.ts.map +1 -1
  149. package/dist/cli/permission-commands.js +11 -1
  150. package/dist/cli/permission-commands.js.map +1 -1
  151. package/dist/cli/relay-diagnostics.d.ts +8 -0
  152. package/dist/cli/relay-diagnostics.d.ts.map +1 -0
  153. package/dist/cli/relay-diagnostics.js +45 -0
  154. package/dist/cli/relay-diagnostics.js.map +1 -0
  155. package/dist/cli/remote-commands.d.ts.map +1 -1
  156. package/dist/cli/remote-commands.js +106 -89
  157. package/dist/cli/remote-commands.js.map +1 -1
  158. package/dist/cli/resource-config-command.d.ts +9 -0
  159. package/dist/cli/resource-config-command.d.ts.map +1 -0
  160. package/dist/cli/resource-config-command.js +292 -0
  161. package/dist/cli/resource-config-command.js.map +1 -0
  162. package/dist/cli/service-commands.d.ts +2 -0
  163. package/dist/cli/service-commands.d.ts.map +1 -1
  164. package/dist/cli/service-commands.js +23 -1
  165. package/dist/cli/service-commands.js.map +1 -1
  166. package/dist/cli/session-commands.d.ts +2 -0
  167. package/dist/cli/session-commands.d.ts.map +1 -1
  168. package/dist/cli/session-commands.js +94 -3
  169. package/dist/cli/session-commands.js.map +1 -1
  170. package/dist/cli/skills-command.d.ts +2 -0
  171. package/dist/cli/skills-command.d.ts.map +1 -0
  172. package/dist/cli/skills-command.js +170 -0
  173. package/dist/cli/skills-command.js.map +1 -0
  174. package/dist/cli/supervisor-protocol.d.ts +6 -1
  175. package/dist/cli/supervisor-protocol.d.ts.map +1 -1
  176. package/dist/cli/supervisor-runtime-config.d.ts +4 -0
  177. package/dist/cli/supervisor-runtime-config.d.ts.map +1 -0
  178. package/dist/cli/supervisor-runtime-config.js +67 -0
  179. package/dist/cli/supervisor-runtime-config.js.map +1 -0
  180. package/dist/cli/supervisor.d.ts.map +1 -1
  181. package/dist/cli/supervisor.js +81 -77
  182. package/dist/cli/supervisor.js.map +1 -1
  183. package/dist/cli/workflow-commands.d.ts +3 -0
  184. package/dist/cli/workflow-commands.d.ts.map +1 -0
  185. package/dist/cli/workflow-commands.js +271 -0
  186. package/dist/cli/workflow-commands.js.map +1 -0
  187. package/dist/cli/workflow-contract-resolver.d.ts +13 -0
  188. package/dist/cli/workflow-contract-resolver.d.ts.map +1 -0
  189. package/dist/cli/workflow-contract-resolver.js +68 -0
  190. package/dist/cli/workflow-contract-resolver.js.map +1 -0
  191. package/dist/cli/workflow-run-json.d.ts +34 -0
  192. package/dist/cli/workflow-run-json.d.ts.map +1 -0
  193. package/dist/cli/workflow-run-json.js +118 -0
  194. package/dist/cli/workflow-run-json.js.map +1 -0
  195. package/dist/cli/worktree-commands.d.ts.map +1 -1
  196. package/dist/cli/worktree-commands.js +12 -2
  197. package/dist/cli/worktree-commands.js.map +1 -1
  198. package/dist/cli/ws-client.js +22 -2
  199. package/dist/cli/ws-client.js.map +1 -1
  200. package/dist/config-resolution/approval-rules.d.ts +5 -0
  201. package/dist/config-resolution/approval-rules.d.ts.map +1 -0
  202. package/dist/config-resolution/approval-rules.js +14 -0
  203. package/dist/config-resolution/approval-rules.js.map +1 -0
  204. package/dist/config-resolution/config-writer.d.ts +18 -0
  205. package/dist/config-resolution/config-writer.d.ts.map +1 -0
  206. package/dist/config-resolution/config-writer.js +97 -0
  207. package/dist/config-resolution/config-writer.js.map +1 -0
  208. package/dist/config-resolution/discovery.d.ts +18 -0
  209. package/dist/config-resolution/discovery.d.ts.map +1 -0
  210. package/dist/config-resolution/discovery.js +225 -0
  211. package/dist/config-resolution/discovery.js.map +1 -0
  212. package/dist/config-resolution/index.d.ts +4 -0
  213. package/dist/config-resolution/index.d.ts.map +1 -0
  214. package/dist/config-resolution/index.js +4 -0
  215. package/dist/config-resolution/index.js.map +1 -0
  216. package/dist/config-resolution/resolver.d.ts +16 -0
  217. package/dist/config-resolution/resolver.d.ts.map +1 -0
  218. package/dist/config-resolution/resolver.js +327 -0
  219. package/dist/config-resolution/resolver.js.map +1 -0
  220. package/dist/config-resolution/schema.d.ts +112 -0
  221. package/dist/config-resolution/schema.d.ts.map +1 -0
  222. package/dist/config-resolution/schema.js +177 -0
  223. package/dist/config-resolution/schema.js.map +1 -0
  224. package/dist/config-resolution/stable-json.d.ts +3 -0
  225. package/dist/config-resolution/stable-json.d.ts.map +1 -0
  226. package/dist/config-resolution/stable-json.js +18 -0
  227. package/dist/config-resolution/stable-json.js.map +1 -0
  228. package/dist/config-resolution/types.d.ts +120 -0
  229. package/dist/config-resolution/types.d.ts.map +1 -0
  230. package/dist/config-resolution/types.js +5 -0
  231. package/dist/config-resolution/types.js.map +1 -0
  232. package/dist/context/local-edge-candidates.d.ts +24 -0
  233. package/dist/context/local-edge-candidates.d.ts.map +1 -0
  234. package/dist/context/local-edge-candidates.js +184 -0
  235. package/dist/context/local-edge-candidates.js.map +1 -0
  236. package/dist/context/local-edge-crypto.d.ts +28 -0
  237. package/dist/context/local-edge-crypto.d.ts.map +1 -0
  238. package/dist/context/local-edge-crypto.js +76 -0
  239. package/dist/context/local-edge-crypto.js.map +1 -0
  240. package/dist/context/local-edge-decision-applications.d.ts +13 -0
  241. package/dist/context/local-edge-decision-applications.d.ts.map +1 -0
  242. package/dist/context/local-edge-decision-applications.js +78 -0
  243. package/dist/context/local-edge-decision-applications.js.map +1 -0
  244. package/dist/context/local-edge-decision-signature.d.ts +3 -0
  245. package/dist/context/local-edge-decision-signature.d.ts.map +1 -0
  246. package/dist/context/local-edge-decision-signature.js +67 -0
  247. package/dist/context/local-edge-decision-signature.js.map +1 -0
  248. package/dist/context/local-edge-engine.d.ts +38 -0
  249. package/dist/context/local-edge-engine.d.ts.map +1 -0
  250. package/dist/context/local-edge-engine.js +138 -0
  251. package/dist/context/local-edge-engine.js.map +1 -0
  252. package/dist/context/local-edge-key-store.d.ts +4 -0
  253. package/dist/context/local-edge-key-store.d.ts.map +1 -0
  254. package/dist/context/local-edge-key-store.js +21 -0
  255. package/dist/context/local-edge-key-store.js.map +1 -0
  256. package/dist/context/local-edge-metadata.d.ts +8 -0
  257. package/dist/context/local-edge-metadata.d.ts.map +1 -0
  258. package/dist/context/local-edge-metadata.js +95 -0
  259. package/dist/context/local-edge-metadata.js.map +1 -0
  260. package/dist/context/local-edge-paths.d.ts +4 -0
  261. package/dist/context/local-edge-paths.d.ts.map +1 -0
  262. package/dist/context/local-edge-paths.js +11 -0
  263. package/dist/context/local-edge-paths.js.map +1 -0
  264. package/dist/context/local-edge-store.d.ts +115 -0
  265. package/dist/context/local-edge-store.d.ts.map +1 -0
  266. package/dist/context/local-edge-store.js +233 -0
  267. package/dist/context/local-edge-store.js.map +1 -0
  268. package/dist/context/local-edge-sync.d.ts +32 -0
  269. package/dist/context/local-edge-sync.d.ts.map +1 -0
  270. package/dist/context/local-edge-sync.js +181 -0
  271. package/dist/context/local-edge-sync.js.map +1 -0
  272. package/dist/context/local-edge-types.d.ts +309 -0
  273. package/dist/context/local-edge-types.d.ts.map +1 -0
  274. package/dist/context/local-edge-types.js +5 -0
  275. package/dist/context/local-edge-types.js.map +1 -0
  276. package/dist/context-providers/registry.d.ts +5 -0
  277. package/dist/context-providers/registry.d.ts.map +1 -0
  278. package/dist/context-providers/registry.js +10 -0
  279. package/dist/context-providers/registry.js.map +1 -0
  280. package/dist/context-providers/repo-docs-provider.d.ts +19 -0
  281. package/dist/context-providers/repo-docs-provider.d.ts.map +1 -0
  282. package/dist/context-providers/repo-docs-provider.js +188 -0
  283. package/dist/context-providers/repo-docs-provider.js.map +1 -0
  284. package/dist/context-providers/types.d.ts +53 -0
  285. package/dist/context-providers/types.d.ts.map +1 -0
  286. package/dist/context-providers/types.js +2 -0
  287. package/dist/context-providers/types.js.map +1 -0
  288. package/dist/context-providers/viewport-vault-provider.d.ts +3 -0
  289. package/dist/context-providers/viewport-vault-provider.d.ts.map +1 -0
  290. package/dist/context-providers/viewport-vault-provider.js +73 -0
  291. package/dist/context-providers/viewport-vault-provider.js.map +1 -0
  292. package/dist/core/agent-registry.d.ts +2 -0
  293. package/dist/core/agent-registry.d.ts.map +1 -1
  294. package/dist/core/agent-registry.js +1 -1
  295. package/dist/core/agent-registry.js.map +1 -1
  296. package/dist/core/config-schema.d.ts +18 -4
  297. package/dist/core/config-schema.d.ts.map +1 -1
  298. package/dist/core/config-schema.js +16 -4
  299. package/dist/core/config-schema.js.map +1 -1
  300. package/dist/core/config.d.ts +42 -12
  301. package/dist/core/config.d.ts.map +1 -1
  302. package/dist/core/config.js +180 -18
  303. package/dist/core/config.js.map +1 -1
  304. package/dist/core/daemon.d.ts +14 -0
  305. package/dist/core/daemon.d.ts.map +1 -1
  306. package/dist/core/daemon.js +63 -0
  307. package/dist/core/daemon.js.map +1 -1
  308. package/dist/core/discovered-sessions.d.ts.map +1 -1
  309. package/dist/core/discovered-sessions.js +5 -0
  310. package/dist/core/discovered-sessions.js.map +1 -1
  311. package/dist/core/error-codes.d.ts +1 -0
  312. package/dist/core/error-codes.d.ts.map +1 -1
  313. package/dist/core/error-codes.js +1 -0
  314. package/dist/core/error-codes.js.map +1 -1
  315. package/dist/core/errors.js +2 -0
  316. package/dist/core/errors.js.map +1 -1
  317. package/dist/core/events.d.ts +30 -0
  318. package/dist/core/events.d.ts.map +1 -1
  319. package/dist/core/events.js.map +1 -1
  320. package/dist/core/interfaces.d.ts +15 -0
  321. package/dist/core/interfaces.d.ts.map +1 -1
  322. package/dist/core/machine-name.d.ts +3 -0
  323. package/dist/core/machine-name.d.ts.map +1 -0
  324. package/dist/core/machine-name.js +11 -0
  325. package/dist/core/machine-name.js.map +1 -0
  326. package/dist/core/package-meta.d.ts +12 -0
  327. package/dist/core/package-meta.d.ts.map +1 -0
  328. package/dist/core/package-meta.js +87 -0
  329. package/dist/core/package-meta.js.map +1 -0
  330. package/dist/core/runtime-identity.d.ts +45 -0
  331. package/dist/core/runtime-identity.d.ts.map +1 -0
  332. package/dist/core/runtime-identity.js +130 -0
  333. package/dist/core/runtime-identity.js.map +1 -0
  334. package/dist/core/session-context-prompt.d.ts +5 -0
  335. package/dist/core/session-context-prompt.d.ts.map +1 -0
  336. package/dist/core/session-context-prompt.js +85 -0
  337. package/dist/core/session-context-prompt.js.map +1 -0
  338. package/dist/core/session-manager.d.ts +6 -0
  339. package/dist/core/session-manager.d.ts.map +1 -1
  340. package/dist/core/session-manager.js +32 -0
  341. package/dist/core/session-manager.js.map +1 -1
  342. package/dist/core/types.d.ts +2 -0
  343. package/dist/core/types.d.ts.map +1 -1
  344. package/dist/core/workflow-linked-discovery.d.ts +17 -0
  345. package/dist/core/workflow-linked-discovery.d.ts.map +1 -0
  346. package/dist/core/workflow-linked-discovery.js +53 -0
  347. package/dist/core/workflow-linked-discovery.js.map +1 -0
  348. package/dist/directories/manager.d.ts +1 -0
  349. package/dist/directories/manager.d.ts.map +1 -1
  350. package/dist/directories/manager.js +46 -3
  351. package/dist/directories/manager.js.map +1 -1
  352. package/dist/discovery/claude.js +1 -0
  353. package/dist/discovery/claude.js.map +1 -1
  354. package/dist/discovery/codex-parser.d.ts +10 -0
  355. package/dist/discovery/codex-parser.d.ts.map +1 -0
  356. package/dist/discovery/codex-parser.js +246 -0
  357. package/dist/discovery/codex-parser.js.map +1 -0
  358. package/dist/discovery/codex-summary.d.ts +6 -0
  359. package/dist/discovery/codex-summary.d.ts.map +1 -0
  360. package/dist/discovery/codex-summary.js +27 -0
  361. package/dist/discovery/codex-summary.js.map +1 -0
  362. package/dist/discovery/codex.d.ts +23 -2
  363. package/dist/discovery/codex.d.ts.map +1 -1
  364. package/dist/discovery/codex.js +65 -271
  365. package/dist/discovery/codex.js.map +1 -1
  366. package/dist/discovery/dedupe.d.ts +3 -0
  367. package/dist/discovery/dedupe.d.ts.map +1 -0
  368. package/dist/discovery/dedupe.js +13 -0
  369. package/dist/discovery/dedupe.js.map +1 -0
  370. package/dist/discovery/jsonl-entry-parser.d.ts +36 -0
  371. package/dist/discovery/jsonl-entry-parser.d.ts.map +1 -0
  372. package/dist/discovery/jsonl-entry-parser.js +332 -0
  373. package/dist/discovery/jsonl-entry-parser.js.map +1 -0
  374. package/dist/discovery/jsonl-paths.d.ts +17 -0
  375. package/dist/discovery/jsonl-paths.d.ts.map +1 -0
  376. package/dist/discovery/jsonl-paths.js +56 -0
  377. package/dist/discovery/jsonl-paths.js.map +1 -0
  378. package/dist/discovery/jsonl-reader.d.ts +37 -48
  379. package/dist/discovery/jsonl-reader.d.ts.map +1 -1
  380. package/dist/discovery/jsonl-reader.js +103 -315
  381. package/dist/discovery/jsonl-reader.js.map +1 -1
  382. package/dist/hooks/capabilities.d.ts +17 -0
  383. package/dist/hooks/capabilities.d.ts.map +1 -0
  384. package/dist/hooks/capabilities.js +114 -0
  385. package/dist/hooks/capabilities.js.map +1 -0
  386. package/dist/hooks/index.d.ts +2 -0
  387. package/dist/hooks/index.d.ts.map +1 -1
  388. package/dist/hooks/index.js +1 -0
  389. package/dist/hooks/index.js.map +1 -1
  390. package/dist/hooks/plan-extractor.d.ts +20 -0
  391. package/dist/hooks/plan-extractor.d.ts.map +1 -0
  392. package/dist/hooks/plan-extractor.js +123 -0
  393. package/dist/hooks/plan-extractor.js.map +1 -0
  394. package/dist/hooks/platform-plan-sync.d.ts +19 -0
  395. package/dist/hooks/platform-plan-sync.d.ts.map +1 -0
  396. package/dist/hooks/platform-plan-sync.js +57 -0
  397. package/dist/hooks/platform-plan-sync.js.map +1 -0
  398. package/dist/hooks/router.d.ts +1 -0
  399. package/dist/hooks/router.d.ts.map +1 -1
  400. package/dist/hooks/router.js +28 -75
  401. package/dist/hooks/router.js.map +1 -1
  402. package/dist/hooks/specific-events.d.ts +11 -0
  403. package/dist/hooks/specific-events.d.ts.map +1 -0
  404. package/dist/hooks/specific-events.js +125 -0
  405. package/dist/hooks/specific-events.js.map +1 -0
  406. package/dist/hooks/types.d.ts +17 -1
  407. package/dist/hooks/types.d.ts.map +1 -1
  408. package/dist/hooks/types.js +29 -0
  409. package/dist/hooks/types.js.map +1 -1
  410. package/dist/index.d.ts +6 -0
  411. package/dist/index.d.ts.map +1 -1
  412. package/dist/index.js +77 -4
  413. package/dist/index.js.map +1 -1
  414. package/dist/relay/bridge-connections.d.ts +26 -0
  415. package/dist/relay/bridge-connections.d.ts.map +1 -0
  416. package/dist/relay/bridge-connections.js +34 -0
  417. package/dist/relay/bridge-connections.js.map +1 -0
  418. package/dist/relay/bridge-crypto.d.ts +1 -0
  419. package/dist/relay/bridge-crypto.d.ts.map +1 -1
  420. package/dist/relay/bridge-crypto.js +9 -0
  421. package/dist/relay/bridge-crypto.js.map +1 -1
  422. package/dist/relay/bridge-daemon-key-registration.d.ts +16 -0
  423. package/dist/relay/bridge-daemon-key-registration.d.ts.map +1 -0
  424. package/dist/relay/bridge-daemon-key-registration.js +70 -0
  425. package/dist/relay/bridge-daemon-key-registration.js.map +1 -0
  426. package/dist/relay/bridge-errors.d.ts +2 -0
  427. package/dist/relay/bridge-errors.d.ts.map +1 -1
  428. package/dist/relay/bridge-errors.js +14 -0
  429. package/dist/relay/bridge-errors.js.map +1 -1
  430. package/dist/relay/bridge-frame-logger.d.ts +2 -0
  431. package/dist/relay/bridge-frame-logger.d.ts.map +1 -0
  432. package/dist/relay/bridge-frame-logger.js +37 -0
  433. package/dist/relay/bridge-frame-logger.js.map +1 -0
  434. package/dist/relay/bridge-handshake-profile.d.ts +3 -0
  435. package/dist/relay/bridge-handshake-profile.d.ts.map +1 -0
  436. package/dist/relay/bridge-handshake-profile.js +7 -0
  437. package/dist/relay/bridge-handshake-profile.js.map +1 -0
  438. package/dist/relay/bridge-identity-store.d.ts +9 -0
  439. package/dist/relay/bridge-identity-store.d.ts.map +1 -0
  440. package/dist/relay/bridge-identity-store.js +73 -0
  441. package/dist/relay/bridge-identity-store.js.map +1 -0
  442. package/dist/relay/bridge-key-exchange.d.ts +3 -6
  443. package/dist/relay/bridge-key-exchange.d.ts.map +1 -1
  444. package/dist/relay/bridge-key-exchange.js +4 -52
  445. package/dist/relay/bridge-key-exchange.js.map +1 -1
  446. package/dist/relay/bridge-noise-v3.d.ts.map +1 -1
  447. package/dist/relay/bridge-noise-v3.js +7 -4
  448. package/dist/relay/bridge-noise-v3.js.map +1 -1
  449. package/dist/relay/bridge-pairing-channel.d.ts +12 -0
  450. package/dist/relay/bridge-pairing-channel.d.ts.map +1 -0
  451. package/dist/relay/bridge-pairing-channel.js +30 -0
  452. package/dist/relay/bridge-pairing-channel.js.map +1 -0
  453. package/dist/relay/bridge-pairing-control-handler.d.ts +26 -0
  454. package/dist/relay/bridge-pairing-control-handler.d.ts.map +1 -0
  455. package/dist/relay/bridge-pairing-control-handler.js +136 -0
  456. package/dist/relay/bridge-pairing-control-handler.js.map +1 -0
  457. package/dist/relay/bridge-relay-sessions.d.ts +45 -0
  458. package/dist/relay/bridge-relay-sessions.d.ts.map +1 -0
  459. package/dist/relay/bridge-relay-sessions.js +88 -0
  460. package/dist/relay/bridge-relay-sessions.js.map +1 -0
  461. package/dist/relay/bridge-token-issuer.d.ts +32 -0
  462. package/dist/relay/bridge-token-issuer.d.ts.map +1 -0
  463. package/dist/relay/bridge-token-issuer.js +173 -0
  464. package/dist/relay/bridge-token-issuer.js.map +1 -0
  465. package/dist/relay/daemon-relay-bridge.d.ts +7 -11
  466. package/dist/relay/daemon-relay-bridge.d.ts.map +1 -1
  467. package/dist/relay/daemon-relay-bridge.js +67 -531
  468. package/dist/relay/daemon-relay-bridge.js.map +1 -1
  469. package/dist/relay/relay-control-frames.d.ts +31 -0
  470. package/dist/relay/relay-control-frames.d.ts.map +1 -0
  471. package/dist/relay/relay-control-frames.js +65 -0
  472. package/dist/relay/relay-control-frames.js.map +1 -0
  473. package/dist/server/auth.d.ts +3 -2
  474. package/dist/server/auth.d.ts.map +1 -1
  475. package/dist/server/auth.js +5 -3
  476. package/dist/server/auth.js.map +1 -1
  477. package/dist/server/discovered-session-window.d.ts +4 -0
  478. package/dist/server/discovered-session-window.d.ts.map +1 -0
  479. package/dist/server/discovered-session-window.js +5 -0
  480. package/dist/server/discovered-session-window.js.map +1 -0
  481. package/dist/server/hello-builder.d.ts +66 -3
  482. package/dist/server/hello-builder.d.ts.map +1 -1
  483. package/dist/server/hello-builder.js +145 -20
  484. package/dist/server/hello-builder.js.map +1 -1
  485. package/dist/server/http-context-routes.d.ts +3 -0
  486. package/dist/server/http-context-routes.d.ts.map +1 -0
  487. package/dist/server/http-context-routes.js +119 -0
  488. package/dist/server/http-context-routes.js.map +1 -0
  489. package/dist/server/http-health-routes.d.ts +10 -0
  490. package/dist/server/http-health-routes.d.ts.map +1 -0
  491. package/dist/server/http-health-routes.js +58 -0
  492. package/dist/server/http-health-routes.js.map +1 -0
  493. package/dist/server/http-lifecycle-routes.d.ts +6 -0
  494. package/dist/server/http-lifecycle-routes.d.ts.map +1 -0
  495. package/dist/server/http-lifecycle-routes.js +17 -0
  496. package/dist/server/http-lifecycle-routes.js.map +1 -0
  497. package/dist/server/http-pairing-routes.d.ts +14 -0
  498. package/dist/server/http-pairing-routes.d.ts.map +1 -0
  499. package/dist/server/http-pairing-routes.js +110 -0
  500. package/dist/server/http-pairing-routes.js.map +1 -0
  501. package/dist/server/http-request-schemas.d.ts +114 -0
  502. package/dist/server/http-request-schemas.d.ts.map +1 -0
  503. package/dist/server/http-request-schemas.js +137 -0
  504. package/dist/server/http-request-schemas.js.map +1 -0
  505. package/dist/server/http-route-types.d.ts +11 -0
  506. package/dist/server/http-route-types.d.ts.map +1 -0
  507. package/dist/server/http-route-types.js +2 -0
  508. package/dist/server/http-route-types.js.map +1 -0
  509. package/dist/server/http-server.d.ts +4 -15
  510. package/dist/server/http-server.d.ts.map +1 -1
  511. package/dist/server/http-server.js +135 -418
  512. package/dist/server/http-server.js.map +1 -1
  513. package/dist/server/http-session-routes.d.ts +4 -0
  514. package/dist/server/http-session-routes.d.ts.map +1 -0
  515. package/dist/server/http-session-routes.js +234 -0
  516. package/dist/server/http-session-routes.js.map +1 -0
  517. package/dist/server/pairing-file-store.d.ts +10 -0
  518. package/dist/server/pairing-file-store.d.ts.map +1 -0
  519. package/dist/server/pairing-file-store.js +69 -0
  520. package/dist/server/pairing-file-store.js.map +1 -0
  521. package/dist/server/pairing-identity-store.d.ts +5 -0
  522. package/dist/server/pairing-identity-store.d.ts.map +1 -0
  523. package/dist/server/pairing-identity-store.js +121 -0
  524. package/dist/server/pairing-identity-store.js.map +1 -0
  525. package/dist/server/pairing-offer-types.d.ts +98 -0
  526. package/dist/server/pairing-offer-types.d.ts.map +1 -0
  527. package/dist/server/pairing-offer-types.js +2 -0
  528. package/dist/server/pairing-offer-types.js.map +1 -0
  529. package/dist/server/pairing-offers.d.ts +4 -54
  530. package/dist/server/pairing-offers.d.ts.map +1 -1
  531. package/dist/server/pairing-offers.js +24 -409
  532. package/dist/server/pairing-offers.js.map +1 -1
  533. package/dist/server/pairing-peer-bindings.d.ts +18 -0
  534. package/dist/server/pairing-peer-bindings.d.ts.map +1 -0
  535. package/dist/server/pairing-peer-bindings.js +198 -0
  536. package/dist/server/pairing-peer-bindings.js.map +1 -0
  537. package/dist/server/rate-limiter.d.ts.map +1 -1
  538. package/dist/server/rate-limiter.js +4 -1
  539. package/dist/server/rate-limiter.js.map +1 -1
  540. package/dist/server/replay-events.d.ts +6 -0
  541. package/dist/server/replay-events.d.ts.map +1 -0
  542. package/dist/server/replay-events.js +104 -0
  543. package/dist/server/replay-events.js.map +1 -0
  544. package/dist/server/replay-persistence.d.ts +18 -0
  545. package/dist/server/replay-persistence.d.ts.map +1 -0
  546. package/dist/server/replay-persistence.js +123 -0
  547. package/dist/server/replay-persistence.js.map +1 -0
  548. package/dist/server/replay-types.d.ts +25 -0
  549. package/dist/server/replay-types.d.ts.map +1 -0
  550. package/dist/server/replay-types.js +2 -0
  551. package/dist/server/replay-types.js.map +1 -0
  552. package/dist/server/ring-buffer.d.ts +3 -30
  553. package/dist/server/ring-buffer.d.ts.map +1 -1
  554. package/dist/server/ring-buffer.js +10 -221
  555. package/dist/server/ring-buffer.js.map +1 -1
  556. package/dist/server/session-message-reader.d.ts +15 -0
  557. package/dist/server/session-message-reader.d.ts.map +1 -0
  558. package/dist/server/session-message-reader.js +107 -0
  559. package/dist/server/session-message-reader.js.map +1 -0
  560. package/dist/server/ws-command-handlers.d.ts +4 -1
  561. package/dist/server/ws-command-handlers.d.ts.map +1 -1
  562. package/dist/server/ws-command-handlers.js +25 -74
  563. package/dist/server/ws-command-handlers.js.map +1 -1
  564. package/dist/server/ws-daemon-event-bridge.d.ts.map +1 -1
  565. package/dist/server/ws-daemon-event-bridge.js +52 -3
  566. package/dist/server/ws-daemon-event-bridge.js.map +1 -1
  567. package/dist/server/ws-protocol.d.ts +178 -5
  568. package/dist/server/ws-protocol.d.ts.map +1 -1
  569. package/dist/server/ws-protocol.js +114 -5
  570. package/dist/server/ws-protocol.js.map +1 -1
  571. package/dist/server/ws-server.d.ts.map +1 -1
  572. package/dist/server/ws-server.js +1 -0
  573. package/dist/server/ws-server.js.map +1 -1
  574. package/dist/server/ws-session-command-handlers.d.ts +29 -0
  575. package/dist/server/ws-session-command-handlers.d.ts.map +1 -0
  576. package/dist/server/ws-session-command-handlers.js +276 -0
  577. package/dist/server/ws-session-command-handlers.js.map +1 -0
  578. package/dist/server/ws-workflow-command-handlers.d.ts +17 -0
  579. package/dist/server/ws-workflow-command-handlers.d.ts.map +1 -0
  580. package/dist/server/ws-workflow-command-handlers.js +68 -0
  581. package/dist/server/ws-workflow-command-handlers.js.map +1 -0
  582. package/dist/session-enrichment/git.d.ts +9 -0
  583. package/dist/session-enrichment/git.d.ts.map +1 -0
  584. package/dist/session-enrichment/git.js +48 -0
  585. package/dist/session-enrichment/git.js.map +1 -0
  586. package/dist/startup.d.ts +9 -0
  587. package/dist/startup.d.ts.map +1 -1
  588. package/dist/startup.js +105 -48
  589. package/dist/startup.js.map +1 -1
  590. package/dist/workflows/approval-on-reject.d.ts +17 -0
  591. package/dist/workflows/approval-on-reject.d.ts.map +1 -0
  592. package/dist/workflows/approval-on-reject.js +62 -0
  593. package/dist/workflows/approval-on-reject.js.map +1 -0
  594. package/dist/workflows/artifact-collector.d.ts +11 -0
  595. package/dist/workflows/artifact-collector.d.ts.map +1 -0
  596. package/dist/workflows/artifact-collector.js +59 -0
  597. package/dist/workflows/artifact-collector.js.map +1 -0
  598. package/dist/workflows/contract-binding.d.ts +3 -0
  599. package/dist/workflows/contract-binding.d.ts.map +1 -0
  600. package/dist/workflows/contract-binding.js +19 -0
  601. package/dist/workflows/contract-binding.js.map +1 -0
  602. package/dist/workflows/daemon-session.d.ts +36 -0
  603. package/dist/workflows/daemon-session.d.ts.map +1 -0
  604. package/dist/workflows/daemon-session.js +115 -0
  605. package/dist/workflows/daemon-session.js.map +1 -0
  606. package/dist/workflows/event-types.d.ts +10 -0
  607. package/dist/workflows/event-types.d.ts.map +1 -0
  608. package/dist/workflows/event-types.js +2 -0
  609. package/dist/workflows/event-types.js.map +1 -0
  610. package/dist/workflows/expression.d.ts +74 -0
  611. package/dist/workflows/expression.d.ts.map +1 -0
  612. package/dist/workflows/expression.js +132 -0
  613. package/dist/workflows/expression.js.map +1 -0
  614. package/dist/workflows/hook-registry.d.ts +24 -0
  615. package/dist/workflows/hook-registry.d.ts.map +1 -0
  616. package/dist/workflows/hook-registry.js +52 -0
  617. package/dist/workflows/hook-registry.js.map +1 -0
  618. package/dist/workflows/hook-types.d.ts +21 -0
  619. package/dist/workflows/hook-types.d.ts.map +1 -0
  620. package/dist/workflows/hook-types.js +2 -0
  621. package/dist/workflows/hook-types.js.map +1 -0
  622. package/dist/workflows/inline-agent-types.d.ts +21 -0
  623. package/dist/workflows/inline-agent-types.d.ts.map +1 -0
  624. package/dist/workflows/inline-agent-types.js +2 -0
  625. package/dist/workflows/inline-agent-types.js.map +1 -0
  626. package/dist/workflows/inline-agents.d.ts +5 -0
  627. package/dist/workflows/inline-agents.d.ts.map +1 -0
  628. package/dist/workflows/inline-agents.js +89 -0
  629. package/dist/workflows/inline-agents.js.map +1 -0
  630. package/dist/workflows/loop-executor.d.ts +17 -0
  631. package/dist/workflows/loop-executor.d.ts.map +1 -0
  632. package/dist/workflows/loop-executor.js +173 -0
  633. package/dist/workflows/loop-executor.js.map +1 -0
  634. package/dist/workflows/node-executor.d.ts +12 -0
  635. package/dist/workflows/node-executor.d.ts.map +1 -0
  636. package/dist/workflows/node-executor.js +179 -0
  637. package/dist/workflows/node-executor.js.map +1 -0
  638. package/dist/workflows/node-registry.d.ts +42 -0
  639. package/dist/workflows/node-registry.d.ts.map +1 -0
  640. package/dist/workflows/node-registry.js +124 -0
  641. package/dist/workflows/node-registry.js.map +1 -0
  642. package/dist/workflows/parser.d.ts +17 -0
  643. package/dist/workflows/parser.d.ts.map +1 -0
  644. package/dist/workflows/parser.js +250 -0
  645. package/dist/workflows/parser.js.map +1 -0
  646. package/dist/workflows/platform-command-applier.d.ts +11 -0
  647. package/dist/workflows/platform-command-applier.d.ts.map +1 -0
  648. package/dist/workflows/platform-command-applier.js +41 -0
  649. package/dist/workflows/platform-command-applier.js.map +1 -0
  650. package/dist/workflows/platform-runtime-command.d.ts +12 -0
  651. package/dist/workflows/platform-runtime-command.d.ts.map +1 -0
  652. package/dist/workflows/platform-runtime-command.js +37 -0
  653. package/dist/workflows/platform-runtime-command.js.map +1 -0
  654. package/dist/workflows/platform-sync.d.ts +37 -0
  655. package/dist/workflows/platform-sync.d.ts.map +1 -0
  656. package/dist/workflows/platform-sync.js +306 -0
  657. package/dist/workflows/platform-sync.js.map +1 -0
  658. package/dist/workflows/plugin-loader.d.ts +28 -0
  659. package/dist/workflows/plugin-loader.d.ts.map +1 -0
  660. package/dist/workflows/plugin-loader.js +134 -0
  661. package/dist/workflows/plugin-loader.js.map +1 -0
  662. package/dist/workflows/preflight.d.ts +9 -0
  663. package/dist/workflows/preflight.d.ts.map +1 -0
  664. package/dist/workflows/preflight.js +147 -0
  665. package/dist/workflows/preflight.js.map +1 -0
  666. package/dist/workflows/prompt-output.d.ts +6 -0
  667. package/dist/workflows/prompt-output.d.ts.map +1 -0
  668. package/dist/workflows/prompt-output.js +78 -0
  669. package/dist/workflows/prompt-output.js.map +1 -0
  670. package/dist/workflows/retry-classifier.d.ts +18 -0
  671. package/dist/workflows/retry-classifier.d.ts.map +1 -0
  672. package/dist/workflows/retry-classifier.js +30 -0
  673. package/dist/workflows/retry-classifier.js.map +1 -0
  674. package/dist/workflows/review-packet.d.ts +3 -0
  675. package/dist/workflows/review-packet.d.ts.map +1 -0
  676. package/dist/workflows/review-packet.js +149 -0
  677. package/dist/workflows/review-packet.js.map +1 -0
  678. package/dist/workflows/run-types.d.ts +191 -0
  679. package/dist/workflows/run-types.d.ts.map +1 -0
  680. package/dist/workflows/run-types.js +2 -0
  681. package/dist/workflows/run-types.js.map +1 -0
  682. package/dist/workflows/runner-canceler.d.ts +22 -0
  683. package/dist/workflows/runner-canceler.d.ts.map +1 -0
  684. package/dist/workflows/runner-canceler.js +91 -0
  685. package/dist/workflows/runner-canceler.js.map +1 -0
  686. package/dist/workflows/runner-reconciler.d.ts +19 -0
  687. package/dist/workflows/runner-reconciler.d.ts.map +1 -0
  688. package/dist/workflows/runner-reconciler.js +109 -0
  689. package/dist/workflows/runner-reconciler.js.map +1 -0
  690. package/dist/workflows/runner-resumer.d.ts +33 -0
  691. package/dist/workflows/runner-resumer.d.ts.map +1 -0
  692. package/dist/workflows/runner-resumer.js +81 -0
  693. package/dist/workflows/runner-resumer.js.map +1 -0
  694. package/dist/workflows/runner-scheduler.d.ts +35 -0
  695. package/dist/workflows/runner-scheduler.d.ts.map +1 -0
  696. package/dist/workflows/runner-scheduler.js +211 -0
  697. package/dist/workflows/runner-scheduler.js.map +1 -0
  698. package/dist/workflows/runner-shared.d.ts +21 -0
  699. package/dist/workflows/runner-shared.d.ts.map +1 -0
  700. package/dist/workflows/runner-shared.js +59 -0
  701. package/dist/workflows/runner-shared.js.map +1 -0
  702. package/dist/workflows/runner.d.ts +36 -0
  703. package/dist/workflows/runner.d.ts.map +1 -0
  704. package/dist/workflows/runner.js +289 -0
  705. package/dist/workflows/runner.js.map +1 -0
  706. package/dist/workflows/runtime-helpers.d.ts +40 -0
  707. package/dist/workflows/runtime-helpers.d.ts.map +1 -0
  708. package/dist/workflows/runtime-helpers.js +170 -0
  709. package/dist/workflows/runtime-helpers.js.map +1 -0
  710. package/dist/workflows/session-completion.d.ts +7 -0
  711. package/dist/workflows/session-completion.d.ts.map +1 -0
  712. package/dist/workflows/session-completion.js +89 -0
  713. package/dist/workflows/session-completion.js.map +1 -0
  714. package/dist/workflows/session-links.d.ts +21 -0
  715. package/dist/workflows/session-links.d.ts.map +1 -0
  716. package/dist/workflows/session-links.js +77 -0
  717. package/dist/workflows/session-links.js.map +1 -0
  718. package/dist/workflows/session-output.d.ts +21 -0
  719. package/dist/workflows/session-output.d.ts.map +1 -0
  720. package/dist/workflows/session-output.js +75 -0
  721. package/dist/workflows/session-output.js.map +1 -0
  722. package/dist/workflows/shell-abort-registry.d.ts +11 -0
  723. package/dist/workflows/shell-abort-registry.d.ts.map +1 -0
  724. package/dist/workflows/shell-abort-registry.js +35 -0
  725. package/dist/workflows/shell-abort-registry.js.map +1 -0
  726. package/dist/workflows/store.d.ts +14 -0
  727. package/dist/workflows/store.d.ts.map +1 -0
  728. package/dist/workflows/store.js +160 -0
  729. package/dist/workflows/store.js.map +1 -0
  730. package/dist/workflows/structured-outputs.d.ts +19 -0
  731. package/dist/workflows/structured-outputs.d.ts.map +1 -0
  732. package/dist/workflows/structured-outputs.js +95 -0
  733. package/dist/workflows/structured-outputs.js.map +1 -0
  734. package/dist/workflows/subflow-executor.d.ts +15 -0
  735. package/dist/workflows/subflow-executor.d.ts.map +1 -0
  736. package/dist/workflows/subflow-executor.js +177 -0
  737. package/dist/workflows/subflow-executor.js.map +1 -0
  738. package/dist/workflows/trigger-rule.d.ts +22 -0
  739. package/dist/workflows/trigger-rule.d.ts.map +1 -0
  740. package/dist/workflows/trigger-rule.js +57 -0
  741. package/dist/workflows/trigger-rule.js.map +1 -0
  742. package/dist/workflows/types.d.ts +240 -0
  743. package/dist/workflows/types.d.ts.map +1 -0
  744. package/dist/workflows/types.js +2 -0
  745. package/dist/workflows/types.js.map +1 -0
  746. package/dist/workflows/workflow-executor-schema.d.ts +51 -0
  747. package/dist/workflows/workflow-executor-schema.d.ts.map +1 -0
  748. package/dist/workflows/workflow-executor-schema.js +81 -0
  749. package/dist/workflows/workflow-executor-schema.js.map +1 -0
  750. package/dist/workflows/workflow-schema.d.ts +573 -0
  751. package/dist/workflows/workflow-schema.d.ts.map +1 -0
  752. package/dist/workflows/workflow-schema.js +294 -0
  753. package/dist/workflows/workflow-schema.js.map +1 -0
  754. package/dist/workflows/workflow-source.d.ts +3 -0
  755. package/dist/workflows/workflow-source.d.ts.map +1 -0
  756. package/dist/workflows/workflow-source.js +29 -0
  757. package/dist/workflows/workflow-source.js.map +1 -0
  758. package/docs/configuration.md +51 -26
  759. package/docs/developer-workflows.md +18 -2
  760. package/docs/protocol-matrix.json +120 -11
  761. package/docs/releasing.md +19 -51
  762. package/docs/security.md +6 -9
  763. package/docs/testing.md +3 -3
  764. package/node_modules/@viewportai/context-engine/README.md +33 -0
  765. package/node_modules/@viewportai/context-engine/fixtures/protocol-vectors/README.md +37 -0
  766. package/node_modules/@viewportai/context-engine/fixtures/protocol-vectors/bundle-manifest.json +50 -0
  767. package/node_modules/@viewportai/context-engine/fixtures/protocol-vectors/erase-receipt.json +10 -0
  768. package/node_modules/@viewportai/context-engine/fixtures/protocol-vectors/event.json +29 -0
  769. package/node_modules/@viewportai/context-engine/fixtures/protocol-vectors/hpke-key-grant.json +24 -0
  770. package/node_modules/@viewportai/context-engine/fixtures/protocol-vectors/key-grant.json +21 -0
  771. package/node_modules/@viewportai/context-engine/fixtures/protocol-vectors/profile.json +12 -0
  772. package/node_modules/@viewportai/context-engine/fixtures/protocol-vectors/signed-event.json +28 -0
  773. package/node_modules/@viewportai/context-engine/fixtures/protocol-vectors/standalone-decoder.mjs +124 -0
  774. package/node_modules/@viewportai/context-engine/package.json +11 -0
  775. package/node_modules/@viewportai/context-engine/schemas/context_bundle_manifest_v1.schema.json +134 -0
  776. package/node_modules/@viewportai/context-engine/schemas/context_erase_receipt_v1.schema.json +27 -0
  777. package/node_modules/@viewportai/context-engine/schemas/context_event_v1.schema.json +214 -0
  778. package/node_modules/@viewportai/context-engine/schemas/context_key_grant_hpke_draft_01.schema.json +27 -0
  779. package/node_modules/@viewportai/context-engine/schemas/context_key_grant_v1.schema.json +24 -0
  780. package/node_modules/@viewportai/context-engine/schemas/context_profile_v1.schema.json +24 -0
  781. package/node_modules/@viewportai/context-engine/src/cli.js +177 -0
  782. package/node_modules/@viewportai/context-engine/src/crypto/canonical.js +21 -0
  783. package/node_modules/@viewportai/context-engine/src/crypto/envelope.js +37 -0
  784. package/node_modules/@viewportai/context-engine/src/crypto/hpke-grants.js +298 -0
  785. package/node_modules/@viewportai/context-engine/src/crypto/keys.js +122 -0
  786. package/node_modules/@viewportai/context-engine/src/crypto/signatures.js +23 -0
  787. package/node_modules/@viewportai/context-engine/src/index.js +12 -0
  788. package/node_modules/@viewportai/context-engine/src/protocol/schemas.js +50 -0
  789. package/node_modules/@viewportai/context-engine/src/repo/access-model.js +170 -0
  790. package/node_modules/@viewportai/context-engine/src/repo/bundles.js +180 -0
  791. package/node_modules/@viewportai/context-engine/src/repo/candidates.js +205 -0
  792. package/node_modules/@viewportai/context-engine/src/repo/devices.js +141 -0
  793. package/node_modules/@viewportai/context-engine/src/repo/events.js +87 -0
  794. package/node_modules/@viewportai/context-engine/src/repo/files.js +33 -0
  795. package/node_modules/@viewportai/context-engine/src/repo/identities.js +128 -0
  796. package/node_modules/@viewportai/context-engine/src/repo/key-store.js +126 -0
  797. package/node_modules/@viewportai/context-engine/src/repo/materializer.js +299 -0
  798. package/node_modules/@viewportai/context-engine/src/repo/membership.js +177 -0
  799. package/node_modules/@viewportai/context-engine/src/repo/paths.js +25 -0
  800. package/node_modules/@viewportai/context-engine/src/repo/profiles.js +54 -0
  801. package/node_modules/@viewportai/context-engine/src/repo/receipts.js +68 -0
  802. package/node_modules/@viewportai/context-engine/src/repo/sync.js +163 -0
  803. package/node_modules/@viewportai/context-engine/src/repo/users.js +134 -0
  804. package/node_modules/@viewportai/context-engine/src/repo/vault.js +527 -0
  805. package/node_modules/@viewportai/context-engine/src/store/local-semantic.js +69 -0
  806. package/node_modules/@viewportai/context-engine/src/store/search.js +25 -0
  807. package/node_modules/@viewportai/context-engine/src/store/sqlite.js +76 -0
  808. package/package.json +22 -7
  809. package/schemas/viewport-config-v1.schema.json +209 -0
  810. package/schemas/workflow-v1.schema.json +245 -0
@@ -7,7 +7,10 @@
7
7
  "schema": "src/server/ws-protocol.ts#LaunchSchema",
8
8
  "handler": "src/server/ws-command-handlers.ts#launch",
9
9
  "unitTests": ["tests/server/ws-protocol.test.ts", "tests/server/ws-command-handlers.test.ts"],
10
- "integrationTests": ["tests/server/ws-server.test.ts", "tests/e2e/protocol-session-lifecycle.test.ts"],
10
+ "integrationTests": [
11
+ "tests/server/ws-server.test.ts",
12
+ "tests/e2e/protocol-session-lifecycle.test.ts"
13
+ ],
11
14
  "surfacedInUi": true,
12
15
  "surfacedInCli": true
13
16
  },
@@ -17,7 +20,10 @@
17
20
  "schema": "src/server/ws-protocol.ts#KillSchema",
18
21
  "handler": "src/server/ws-command-handlers.ts#kill",
19
22
  "unitTests": ["tests/server/ws-protocol.test.ts"],
20
- "integrationTests": ["tests/server/ws-server.test.ts", "tests/e2e/protocol-session-lifecycle.test.ts"],
23
+ "integrationTests": [
24
+ "tests/server/ws-server.test.ts",
25
+ "tests/e2e/protocol-session-lifecycle.test.ts"
26
+ ],
21
27
  "surfacedInUi": true,
22
28
  "surfacedInCli": false
23
29
  },
@@ -27,7 +33,10 @@
27
33
  "schema": "src/server/ws-protocol.ts#PromptSchema",
28
34
  "handler": "src/server/ws-command-handlers.ts#prompt",
29
35
  "unitTests": ["tests/server/ws-protocol.test.ts", "tests/server/ws-command-handlers.test.ts"],
30
- "integrationTests": ["tests/server/ws-server.test.ts", "tests/e2e/protocol-session-lifecycle.test.ts"],
36
+ "integrationTests": [
37
+ "tests/server/ws-server.test.ts",
38
+ "tests/e2e/protocol-session-lifecycle.test.ts"
39
+ ],
31
40
  "surfacedInUi": true,
32
41
  "surfacedInCli": true
33
42
  },
@@ -37,7 +46,10 @@
37
46
  "schema": "src/server/ws-protocol.ts#RespondPermissionSchema",
38
47
  "handler": "src/server/ws-command-handlers.ts#respond-permission",
39
48
  "unitTests": ["tests/server/ws-protocol.test.ts"],
40
- "integrationTests": ["tests/server/ws-server.test.ts", "tests/e2e/protocol-session-lifecycle.test.ts"],
49
+ "integrationTests": [
50
+ "tests/server/ws-server.test.ts",
51
+ "tests/e2e/protocol-session-lifecycle.test.ts"
52
+ ],
41
53
  "surfacedInUi": true,
42
54
  "surfacedInCli": true
43
55
  },
@@ -95,7 +107,17 @@
95
107
  "type": "list-sessions",
96
108
  "class": "stable",
97
109
  "schema": "src/server/ws-protocol.ts#ListSessionsSchema",
98
- "handler": "src/server/ws-command-handlers.ts#list-sessions",
110
+ "handler": "src/server/ws-session-command-handlers.ts#list-sessions",
111
+ "unitTests": ["tests/server/ws-protocol.test.ts", "tests/server/ws-command-handlers.test.ts"],
112
+ "integrationTests": ["tests/server/ws-server.test.ts"],
113
+ "surfacedInUi": true,
114
+ "surfacedInCli": false
115
+ },
116
+ {
117
+ "type": "read-session-messages",
118
+ "class": "stable",
119
+ "schema": "src/server/ws-protocol.ts#ReadSessionMessagesSchema",
120
+ "handler": "src/server/ws-session-command-handlers.ts#read-session-messages",
99
121
  "unitTests": ["tests/server/ws-protocol.test.ts", "tests/server/ws-command-handlers.test.ts"],
100
122
  "integrationTests": ["tests/server/ws-server.test.ts"],
101
123
  "surfacedInUi": true,
@@ -105,19 +127,103 @@
105
127
  "type": "resume",
106
128
  "class": "stable",
107
129
  "schema": "src/server/ws-protocol.ts#ResumeSchema",
108
- "handler": "src/server/ws-command-handlers.ts#resume",
130
+ "handler": "src/server/ws-session-command-handlers.ts#resume",
109
131
  "unitTests": ["tests/server/ws-protocol.test.ts", "tests/server/ws-command-handlers.test.ts"],
110
- "integrationTests": ["tests/server/ws-server.test.ts", "tests/e2e/protocol-session-lifecycle.test.ts"],
132
+ "integrationTests": [
133
+ "tests/server/ws-server.test.ts",
134
+ "tests/e2e/protocol-session-lifecycle.test.ts"
135
+ ],
111
136
  "surfacedInUi": true,
112
137
  "surfacedInCli": false
113
138
  },
139
+ {
140
+ "type": "sync-request",
141
+ "class": "stable",
142
+ "schema": "src/server/ws-protocol.ts#SyncRequestSchema",
143
+ "handler": "src/server/ws-command-handlers.ts#sync-request",
144
+ "unitTests": ["tests/server/ws-protocol.test.ts", "tests/server/ws-command-handlers.test.ts"],
145
+ "integrationTests": [
146
+ "tests/server/ws-server.test.ts",
147
+ "tests/e2e/protocol-session-lifecycle.test.ts"
148
+ ],
149
+ "surfacedInUi": true,
150
+ "surfacedInCli": false
151
+ },
152
+ {
153
+ "type": "workflow-run",
154
+ "class": "experimental",
155
+ "schema": "src/server/ws-protocol.ts#WorkflowRunSchema",
156
+ "handler": "src/server/ws-workflow-command-handlers.ts#workflow-run",
157
+ "unitTests": [
158
+ "tests/server/ws-protocol.test.ts",
159
+ "tests/server/ws-workflow-command-handlers.test.ts"
160
+ ],
161
+ "integrationTests": ["tests/e2e/protocol-workflow-run.test.ts"],
162
+ "surfacedInUi": true,
163
+ "surfacedInCli": true
164
+ },
165
+ {
166
+ "type": "workflow-list-runs",
167
+ "class": "experimental",
168
+ "schema": "src/server/ws-protocol.ts#WorkflowListRunsSchema",
169
+ "handler": "src/server/ws-workflow-command-handlers.ts#workflow-list-runs",
170
+ "unitTests": [
171
+ "tests/server/ws-protocol.test.ts",
172
+ "tests/server/ws-workflow-command-handlers.test.ts"
173
+ ],
174
+ "integrationTests": ["tests/e2e/protocol-workflow-run.test.ts"],
175
+ "surfacedInUi": true,
176
+ "surfacedInCli": true
177
+ },
178
+ {
179
+ "type": "workflow-show-run",
180
+ "class": "experimental",
181
+ "schema": "src/server/ws-protocol.ts#WorkflowShowRunSchema",
182
+ "handler": "src/server/ws-workflow-command-handlers.ts#workflow-show-run",
183
+ "unitTests": [
184
+ "tests/server/ws-protocol.test.ts",
185
+ "tests/server/ws-workflow-command-handlers.test.ts"
186
+ ],
187
+ "integrationTests": ["tests/e2e/protocol-workflow-run.test.ts"],
188
+ "surfacedInUi": true,
189
+ "surfacedInCli": true
190
+ },
191
+ {
192
+ "type": "workflow-approve",
193
+ "class": "experimental",
194
+ "schema": "src/server/ws-protocol.ts#WorkflowApproveRunSchema",
195
+ "handler": "src/server/ws-workflow-command-handlers.ts#workflow-approve",
196
+ "unitTests": [
197
+ "tests/server/ws-protocol.test.ts",
198
+ "tests/server/ws-workflow-command-handlers.test.ts"
199
+ ],
200
+ "integrationTests": ["tests/e2e/protocol-workflow-run.test.ts"],
201
+ "surfacedInUi": true,
202
+ "surfacedInCli": true
203
+ },
204
+ {
205
+ "type": "workflow-cancel",
206
+ "class": "experimental",
207
+ "schema": "src/server/ws-protocol.ts#WorkflowCancelRunSchema",
208
+ "handler": "src/server/ws-workflow-command-handlers.ts#workflow-cancel",
209
+ "unitTests": [
210
+ "tests/server/ws-protocol.test.ts",
211
+ "tests/server/ws-workflow-command-handlers.test.ts"
212
+ ],
213
+ "integrationTests": ["tests/e2e/protocol-workflow-run.test.ts"],
214
+ "surfacedInUi": true,
215
+ "surfacedInCli": true
216
+ },
114
217
  {
115
218
  "type": "watch-discovered-session",
116
219
  "class": "stable",
117
220
  "schema": "src/server/ws-protocol.ts#WatchDiscoveredSessionSchema",
118
- "handler": "src/server/ws-command-handlers.ts#watch-discovered-session",
221
+ "handler": "src/server/ws-session-command-handlers.ts#watch-discovered-session",
119
222
  "unitTests": ["tests/server/ws-protocol.test.ts", "tests/server/ws-command-handlers.test.ts"],
120
- "integrationTests": ["tests/server/ws-server.test.ts", "tests/e2e/protocol-discovery-hooks.test.ts"],
223
+ "integrationTests": [
224
+ "tests/server/ws-server.test.ts",
225
+ "tests/e2e/protocol-discovery-hooks.test.ts"
226
+ ],
121
227
  "surfacedInUi": true,
122
228
  "surfacedInCli": false
123
229
  },
@@ -125,9 +231,12 @@
125
231
  "type": "unwatch-discovered-session",
126
232
  "class": "stable",
127
233
  "schema": "src/server/ws-protocol.ts#UnwatchDiscoveredSessionSchema",
128
- "handler": "src/server/ws-command-handlers.ts#unwatch-discovered-session",
234
+ "handler": "src/server/ws-session-command-handlers.ts#unwatch-discovered-session",
129
235
  "unitTests": ["tests/server/ws-protocol.test.ts", "tests/server/ws-command-handlers.test.ts"],
130
- "integrationTests": ["tests/server/ws-server.test.ts", "tests/e2e/protocol-discovery-hooks.test.ts"],
236
+ "integrationTests": [
237
+ "tests/server/ws-server.test.ts",
238
+ "tests/e2e/protocol-discovery-hooks.test.ts"
239
+ ],
131
240
  "surfacedInUi": true,
132
241
  "surfacedInCli": false
133
242
  },
package/docs/releasing.md CHANGED
@@ -1,65 +1,33 @@
1
1
  # Releasing and npm Publish
2
2
 
3
- ## Current source of truth
3
+ ## Scope
4
4
 
5
- 1. npm package name: `@viewportai/daemon` (`package.json` `name`).
6
- 2. Version source: semantic-release from commit history on `main`.
7
- 3. Publish trigger: `.github/workflows/release.yml` after `CI` succeeds on a push to `main`.
8
- 4. npm auth: granular `NPM_TOKEN` secret in GitHub Actions.
5
+ This document is intentionally narrow: it describes release validation for `@viewportai/daemon`, not the repo's package-versioning policy.
9
6
 
10
- ## Version rules
7
+ Feature PRs should not carry release metadata unless the goal of the PR is to cut a package release.
11
8
 
12
- 1. `feat:` => `minor` (for example `0.4.0` -> `0.5.0`).
13
- 2. `fix:` => `patch` (for example `0.4.1` -> `0.4.2`).
14
- 3. `perf:` / `refactor:` / `revert:` => `patch`.
15
- 4. `BREAKING CHANGE:` footer or `!` in type/scope => `major`.
16
- 5. `docs:`, `test:`, `chore:` alone => no release.
9
+ Package metadata lives in `packages/daemon/package.json`. Publishing is performed through the repo's current release workflow on `main` with `NPM_TOKEN`.
17
10
 
18
- ## One-time setup for production publish
11
+ ## Release checklist
19
12
 
20
- 1. Create npm organization scope `@viewportai` (or verify ownership if it already exists).
21
- 2. Ensure repository package name remains `@viewportai/daemon`.
22
- 3. Create a granular npm token with publish rights to `@viewportai/daemon`.
23
- 4. Add GitHub Actions secret `NPM_TOKEN` in repo settings.
24
- 5. Ensure branch protection on `main` requires the `CI` workflow to pass before merge.
25
- 6. Ensure branch protection on `main` requires the `Semantic PR` workflow to pass before merge.
26
- 7. Use squash-merge so the semantic PR title becomes the release-driving commit on `main`.
27
- 8. Ensure npm package access is public (already configured via `publishConfig.access=public`).
28
- 9. For this repository, enforce a pre-1.0 stream with a one-time baseline tag on the bootstrap `main` commit: `git tag v0.0.0 && git push origin v0.0.0`.
29
- 10. Keep `package.json` publish metadata canonical for provenance:
30
- - `repository.url` must be exactly `https://github.com/viewportai/daemon`
31
- - `bin.vpd` must be exactly `bin/vpd.js`
13
+ Before maintainers publish:
32
14
 
33
- ## Release flow
15
+ 1. Merge the intended daemon changes to `main`.
16
+ 2. Confirm the repo's current release workflow is the one you intend to use.
17
+ 3. Confirm npm auth is configured through the repository secret.
34
18
 
35
- 1. Open PR with semantic commits.
36
- 2. Merge to `main` after CI green.
37
- 3. `release.yml` runs semantic-release:
38
- - calculates next version,
39
- - updates `CHANGELOG.md`, `package.json`, and `package-lock.json`,
40
- - creates git tag,
41
- - creates GitHub release,
42
- - publishes package to npm.
43
- 4. Validate via:
44
- - GitHub release/tag exists (`vX.Y.Z`),
45
- - npm package version appears in registry,
46
- - `vpd --version` from fresh global install matches.
19
+ ## Validation
47
20
 
48
- ## Local dry run
49
-
50
- Use this before rollout changes to release config:
21
+ Before publish:
51
22
 
52
23
  ```bash
53
- npx -y \
54
- -p semantic-release \
55
- -p @semantic-release/changelog \
56
- -p @semantic-release/commit-analyzer \
57
- -p conventional-changelog-conventionalcommits \
58
- -p @semantic-release/git \
59
- -p @semantic-release/github \
60
- -p @semantic-release/npm \
61
- -p @semantic-release/release-notes-generator \
62
- semantic-release --dry-run
24
+ npm run build -w @viewportai/daemon
25
+ npm run test -w @viewportai/daemon
26
+ node packages/daemon/dist/index.js --version
63
27
  ```
64
28
 
65
- This does not publish; it only reports what version would be released.
29
+ After publish:
30
+
31
+ 1. Confirm the new version exists on npm.
32
+ 2. Confirm the git tag exists.
33
+ 3. Confirm a fresh global install reports the same `vpd --version`.
package/docs/security.md CHANGED
@@ -12,7 +12,7 @@
12
12
  - `relay`
13
13
  - Requires explicit host allowlist.
14
14
  - Auth required.
15
- - Relay transport and key exchange are next-phase work.
15
+ - Intended for managed or self-hosted relay-backed runtime access.
16
16
 
17
17
  ## Current controls
18
18
 
@@ -30,9 +30,6 @@
30
30
 
31
31
  - `vpd pair` creates short-lived offers (default 10 minutes, max 60 minutes).
32
32
  - Offer URL contains `offerId`, one-time proof, trust-anchor fingerprint, and connection metadata, not the auth token.
33
- - Offers are persisted and can be listed/revoked:
34
- - `vpd pair list`
35
- - `vpd pair revoke <offer-id>`
36
33
  - Daemon trust anchor can be inspected:
37
34
  - `vpd pair anchor`
38
35
  - Offer redemption is one-time:
@@ -40,10 +37,10 @@
40
37
  - Local loopback profile can bypass bearer auth for redeem; LAN/relay profiles cannot.
41
38
  - Pairing events are written to `~/.viewport/pairing-audit.jsonl`.
42
39
 
43
- ## Relay-phase extensions
40
+ ## Remaining hardening work
44
41
 
45
- The next phase should add:
42
+ The current foundation still needs dedicated security review in these areas:
46
43
 
47
- - Explicit device identity binding.
48
- - Revocation propagation across relay sessions.
49
- - Short-lived capability tokens scoped by command/permission class.
44
+ - explicit device identity lifecycle
45
+ - revocation propagation across relay sessions
46
+ - short-lived capability-token scoping by command or permission class
package/docs/testing.md CHANGED
@@ -49,13 +49,13 @@ npm run check
49
49
  Local environment verification:
50
50
 
51
51
  ```bash
52
- # isolated daemon lifecycle verification (temp VIEWPORT_HOME + dedicated listen target)
52
+ # daemon lifecycle verification with temporary config + dedicated listen target
53
53
  npm run verify:env
54
54
 
55
55
  # includes launchd/systemd install + active status checks
56
56
  npm run verify:env:service
57
57
 
58
- # validates local tarball install + binary lifecycle in isolated npm prefix
58
+ # validates local tarball install + binary lifecycle in a temporary npm prefix
59
59
  npm run verify:install
60
60
  ```
61
61
 
@@ -84,7 +84,7 @@ npm run verify:linux:ci
84
84
 
85
85
  This validates:
86
86
  1. Tarball install verification (`verify:install`)
87
- 2. Dev install + isolated daemon lifecycle verification (`verify:env`)
87
+ 2. Dev install + temporary-config daemon lifecycle verification (`verify:env`)
88
88
  3. systemd user-service verification when available on runner (`verify:env:service`)
89
89
 
90
90
  ## What fullstack e2e proves
@@ -0,0 +1,33 @@
1
+ # @viewportai/context-engine
2
+
3
+ Canonical Context Vault engine for encrypted-edge context.
4
+
5
+ This package is intentionally package-local CommonJS while the standalone POC is being landed into the Viewport monorepo. The daemon should depend on this package instead of reimplementing context encryption, event storage, materialization, candidate gating, profile resolution, or bundle manifest logic.
6
+
7
+ ## Boundary
8
+
9
+ - Stable event schema: `viewport.context_event/v1`
10
+ - Stable bundle manifest schema: `viewport.context_bundle_manifest/v1`
11
+ - Server sync is still disabled until platform ciphertext-only guards and external protocol review exist.
12
+ - Device-local private material is still file-backed in this engine; OS keychain / Secure Enclave storage is a separate hardening PR.
13
+
14
+ ## Threat / Test Map
15
+
16
+ | Threat or claim | Proof |
17
+ | --- | --- |
18
+ | Context bodies are encrypted in sync events | `crypto-envelope.test.js`, `private-context.test.js`, `shared-context-sync.test.js` |
19
+ | Wrong recipient cannot unwrap shared context | `crypto-envelope.test.js`, `hpke-grants.test.js` |
20
+ | Tampered grants or envelopes are rejected | `crypto-envelope.test.js`, `hpke-grants.test.js`, `protocol-schemas.test.js` |
21
+ | Untrusted agent/tool output cannot bypass candidate review | `poisoning-guard.test.js`, `candidate-workflow.test.js` |
22
+ | Revocation blocks future access while old plaintext remains an explicit limitation | `key-rotation.test.js`, `team-scale-revocation.test.js`, `user-device-access.test.js` |
23
+ | New approved user device can read existing resource history without resource-level rewrap | `user-device-access.test.js` |
24
+ | User-owned events are signed by approved devices instead of a plaintext identity shadow | `user-device-access.test.js` |
25
+ | User private key material is absent from exported encrypted sync events | `user-device-access.test.js` |
26
+ | Any authorized peer can fulfill a missing user grant | `access-model.test.js` |
27
+ | Missing grants are key-delivery-pending, not silently denied | `access-model.test.js` |
28
+ | Resolver/profile drift is refused unless an override is recorded | `resolver-pins.test.js`, `profile-registry.test.js` |
29
+ | Bundle manifests are reproducible and cite selected context | `bundle-resolution.test.js`, `protocol-vectors.test.js` |
30
+ | Offline local resolution avoids remote plaintext calls | `offline-bundle.test.js`, `local-semantic-retrieval.test.js` |
31
+ | Cooperative erase is a signed compliance receipt, not a cryptographic claw-back | `cooperative-erase.test.js` |
32
+
33
+ This map is not a replacement for the full threat model in `plan/context/`; it is the package-level release checklist for engine behavior.
@@ -0,0 +1,37 @@
1
+ # Protocol Vectors
2
+
3
+ These fixtures are synthetic protocol vectors for validating external
4
+ implementations. They are not customer data and are not production secrets.
5
+
6
+ Run the standalone decoder proof from the repository root:
7
+
8
+ ```bash
9
+ node packages/context-engine/fixtures/protocol-vectors/standalone-decoder.mjs
10
+ ```
11
+
12
+ That script intentionally imports no `@viewportai/context-engine` source modules. It
13
+ uses Node's built-in `crypto` APIs plus the documented HPKE library to prove the
14
+ decoder surface from fixture fields alone.
15
+
16
+ Cryptographic decoder vectors:
17
+
18
+ - `key-grant.json` is the legacy X25519/HKDF/AES-GCM key-grant vector. It includes
19
+ synthetic recipient private key material so an independent decoder can unwrap the
20
+ repo key from documented fields.
21
+ - `hpke-key-grant.json` is the canonical HPKE draft grant vector for
22
+ `viewport.context_key_grant/hpke-draft-01`. It includes synthetic recipient HPKE
23
+ private key material so an independent decoder can recover the 32-byte repo key
24
+ from the suite, `enc`, ciphertext, info, and AAD fields.
25
+ - `signed-event.json` is a canonical-JSON Ed25519 event-signature vector. It omits
26
+ the private signing key and includes the public signing key needed to verify the
27
+ event.
28
+
29
+ Schema fixtures:
30
+
31
+ - `event.json`
32
+ - `bundle-manifest.json`
33
+ - `profile.json`
34
+ - `erase-receipt.json`
35
+
36
+ Those schema fixtures intentionally use synthetic placeholder signatures/digests
37
+ where the test target is JSON-schema shape rather than cryptographic decoding.
@@ -0,0 +1,50 @@
1
+ {
2
+ "apiVersion": "viewport.context_bundle_manifest/v1",
3
+ "bundle_id": "ctxb_00000000-0000-4000-8000-000000000001",
4
+ "resolved_at": "2026-05-06T12:00:00.000Z",
5
+ "resolver": {
6
+ "kind": "context-vault-poc",
7
+ "version": "0.0.1"
8
+ },
9
+ "index": {
10
+ "engine": "sqlite-fts5+local-hash-embeddings",
11
+ "embedding_model_id": "viewport-local-hash-embed-v0",
12
+ "embedding_model_digest": "sha256:local-hash-embed-v0"
13
+ },
14
+ "request": {
15
+ "packs": ["project-standards"],
16
+ "target": { "type": "pull_request", "ref": "123" },
17
+ "include_private": false,
18
+ "pins": { "resolverVersion": "0.0.1" },
19
+ "query": "auth proof",
20
+ "max_items": 2
21
+ },
22
+ "profile": {
23
+ "name": "code-review",
24
+ "path": ".viewport/context/profiles/code-review.json",
25
+ "digest": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
26
+ "schemaVersion": "viewport.context_profile/v1"
27
+ },
28
+ "retrieval": {
29
+ "mode": "local-semantic",
30
+ "local_only": true,
31
+ "remote_plaintext_calls": 0
32
+ },
33
+ "offline": {
34
+ "active": false,
35
+ "last_sync_at": null
36
+ },
37
+ "items": [
38
+ {
39
+ "entry_id": "ctxe_00000000-0000-4000-8000-000000000001",
40
+ "version_id": "ctxev_00000000-0000-4000-8000-000000000001",
41
+ "source": "git://api/AGENTS.md#auth",
42
+ "trust": "approved",
43
+ "scope": "resource",
44
+ "body_mode": "included",
45
+ "title": "Auth review standard",
46
+ "retrieval_score": 3
47
+ }
48
+ ],
49
+ "digest": "sha256:2222222222222222222222222222222222222222222222222222222222222222"
50
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "schemaVersion": "viewport.context_erase_receipt/v1",
3
+ "id": "erase_00000000-0000-4000-8000-000000000001",
4
+ "repoId": "project-api",
5
+ "actorName": "bob",
6
+ "revocationEventId": "evt_00000000-0000-4000-8000-000000000099",
7
+ "erasedAt": "2026-05-06T12:00:00.000Z",
8
+ "cacheTombstoned": true,
9
+ "signature": "test-signature"
10
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "id": "evt_00000000-0000-4000-8000-000000000001",
3
+ "repoId": "project-api",
4
+ "type": "member.granted",
5
+ "actorName": "alice",
6
+ "keyEpoch": 1,
7
+ "visibility": "shared",
8
+ "createdAt": "2026-05-06T12:00:00.000Z",
9
+ "parentIds": [],
10
+ "encrypted": null,
11
+ "grant": {
12
+ "recipientName": "bob",
13
+ "keyEpoch": 1,
14
+ "wrappedRepoKeyEnvelope": {
15
+ "version": "viewport.context_key_grant/v1",
16
+ "recipientName": "bob",
17
+ "ephemeralPublicKey": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VuAyEAAklmjmOHFwx0OcI+CUZZJzXISJodl6sR1F+t2n0AxwM=\n-----END PUBLIC KEY-----\n",
18
+ "encryptedRepoKey": {
19
+ "alg": "x25519-hkdf-sha256+a256gcm",
20
+ "iv": "rc9ruAWOthZ/IqST",
21
+ "ciphertext": "OtqgEWfOa+iyYAZzcPaxt32iPN5r+jlQin96fg+VjOM=",
22
+ "tag": "nVQlT/MYdUeLYU2f9A1Vag=="
23
+ }
24
+ }
25
+ },
26
+ "payloadDigest": null,
27
+ "schemaVersion": "viewport.context_event/v1",
28
+ "signature": "test-signature"
29
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "schemaVersion": "viewport.context_hpke_grant_test_vector/v1",
3
+ "note": "Synthetic test-only key material for independent HPKE decoder validation.",
4
+ "recipient": {
5
+ "name": "bob",
6
+ "hpkePublicKey": "hMEIiwjdhCBLmIIZplaNKGp1mYTwLgmUZaueCxO/UEg=",
7
+ "hpkePrivateKey": "syFrnRn1OPjUlejS91CacJeZJXyrlauwZZJT9uX1M80="
8
+ },
9
+ "grant": {
10
+ "version": "viewport.context_key_grant/hpke-draft-01",
11
+ "recipientName": "bob",
12
+ "repoId": "ctx_protocol_golden",
13
+ "keyEpoch": 7,
14
+ "suite": {
15
+ "kem": "DHKEM_X25519_HKDF_SHA256",
16
+ "kdf": "HKDF_SHA256",
17
+ "aead": "AES_256_GCM"
18
+ },
19
+ "enc": "HLJVnA/9rEKTXOQ56xlbNXJZjW3AH4C7sAH9jyOisDY=",
20
+ "ciphertext": "i86AuN9MGuZoGI/5oNeE8m1yZSvNF5Opoc3BmwnSnKK6fXJ90+lWqucVY8Us4rQs",
21
+ "aadDigest": "sha256:1aee4f1b637f12e595218e8bb882e1bd8eb904a77ce9da6fcf19ac32c4ba7374"
22
+ },
23
+ "expectedRepoKeyDigest": "sha256:109ec41db86953f8fc155548d636770073705a6e0939a14b7e924d2e636d64f7"
24
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "schemaVersion": "viewport.context_key_grant_test_vector/v1",
3
+ "note": "Synthetic test-only key material for independent decoder validation.",
4
+ "recipient": {
5
+ "name": "bob",
6
+ "encryptionPrivateKey": "-----BEGIN PRIVATE KEY-----\nMC4CAQAwBQYDK2VuBCIEIMi+ecpm6YRMTXcHDWs11iPmBhG6bo1cSsgpapylIcVv\n-----END PRIVATE KEY-----\n",
7
+ "encryptionPublicKey": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VuAyEAT67E4n8i4NWKrJ/GFV82l50w7wpSFfbi9+OhLYFPESc=\n-----END PUBLIC KEY-----\n"
8
+ },
9
+ "grant": {
10
+ "version": "viewport.context_key_grant/v1",
11
+ "recipientName": "bob",
12
+ "ephemeralPublicKey": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VuAyEAAklmjmOHFwx0OcI+CUZZJzXISJodl6sR1F+t2n0AxwM=\n-----END PUBLIC KEY-----\n",
13
+ "encryptedRepoKey": {
14
+ "alg": "x25519-hkdf-sha256+a256gcm",
15
+ "iv": "rc9ruAWOthZ/IqST",
16
+ "ciphertext": "OtqgEWfOa+iyYAZzcPaxt32iPN5r+jlQin96fg+VjOM=",
17
+ "tag": "nVQlT/MYdUeLYU2f9A1Vag=="
18
+ }
19
+ },
20
+ "expectedRepoKeyDigest": "sha256:aae82925967d6e95d553eb2c5c1e71ac29de7b4c7208ca8bbdb5f1d32ff1e8c5"
21
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "schemaVersion": "viewport.context_profile/v1",
3
+ "name": "code-review",
4
+ "path": ".viewport/context/profiles/code-review.json",
5
+ "profile": {
6
+ "packs": ["project-standards", "review-rules"],
7
+ "query": "What auth regression proof is needed for review?",
8
+ "maxItems": 2
9
+ },
10
+ "digest": "sha256:3333333333333333333333333333333333333333333333333333333333333333",
11
+ "updatedAt": "2026-05-06T12:00:00.000Z"
12
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "schemaVersion": "viewport.context_signed_event_test_vector/v1",
3
+ "note": "Synthetic signed event vector. The private key is intentionally omitted; decoders verify against the public key.",
4
+ "actor": {
5
+ "name": "alice-laptop",
6
+ "signingPublicKey": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAdc43VFGaywZlUGIEbJDnyU/Lnaib26Tjy3knMsHF/7U=\n-----END PUBLIC KEY-----\n"
7
+ },
8
+ "event": {
9
+ "id": "evt_protocol_golden_000000000000000001",
10
+ "repoId": "ctx_protocol_golden",
11
+ "type": "entry.approved",
12
+ "actorName": "alice-laptop",
13
+ "keyEpoch": 7,
14
+ "visibility": "shared",
15
+ "createdAt": "2026-05-10T00:00:00.000Z",
16
+ "parentIds": [],
17
+ "encrypted": {
18
+ "alg": "aes-256-gcm",
19
+ "iv": "AAAAAAAAAAAAAAAA",
20
+ "ciphertext": "cHJvdG9jb2wtZ29sZGVuLWNpcGhlcnRleHQ=",
21
+ "tag": "BBBBBBBBBBBBBBBBBBBBBB=="
22
+ },
23
+ "grant": null,
24
+ "payloadDigest": "sha256:748800bd8e465b4369449954e39905047be7849b0d5158917f45eccef0fb6392",
25
+ "schemaVersion": "viewport.context_event/v1",
26
+ "signature": "n+itl+5FYUAKQ+xEBZlgBfogNuVkG4tGTETT7lp6fk6k2JeS6uSaqIxiCUAEZ7UvCxQT3RHdsJBYliuaAy67Cg=="
27
+ }
28
+ }