@cydm/happy-elves 0.1.0-beta.31 → 0.1.0-beta.310

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 (342) hide show
  1. package/apps/cli/dist/commands/app.js +10 -0
  2. package/apps/cli/dist/commands/daemon.js +92 -4
  3. package/apps/cli/dist/commands/gateway.d.ts +2 -0
  4. package/apps/cli/dist/commands/gateway.js +429 -0
  5. package/apps/cli/dist/commands/lib/args.js +49 -0
  6. package/apps/cli/dist/commands/lib/bootstrap-daemon.d.ts +2 -2
  7. package/apps/cli/dist/commands/lib/bootstrap-daemon.js +2 -2
  8. package/apps/cli/dist/commands/lib/doctor.d.ts +11 -0
  9. package/apps/cli/dist/commands/lib/doctor.js +276 -11
  10. package/apps/cli/dist/commands/lib/gateway-store.d.ts +38 -0
  11. package/apps/cli/dist/commands/lib/gateway-store.js +33 -0
  12. package/apps/cli/dist/commands/lib/index.d.ts +4 -2
  13. package/apps/cli/dist/commands/lib/index.js +2 -0
  14. package/apps/cli/dist/commands/lib/json.d.ts +2 -2
  15. package/apps/cli/dist/commands/lib/json.js +5 -2
  16. package/apps/cli/dist/commands/lib/local-daemon.d.ts +1 -0
  17. package/apps/cli/dist/commands/lib/local-daemon.js +14 -0
  18. package/apps/cli/dist/commands/lib/paths.d.ts +2 -0
  19. package/apps/cli/dist/commands/lib/paths.js +2 -0
  20. package/apps/cli/dist/commands/lib/relay-db-audit.d.ts +37 -0
  21. package/apps/cli/dist/commands/lib/relay-db-audit.js +300 -0
  22. package/apps/cli/dist/commands/lib/relay-http.d.ts +1 -1
  23. package/apps/cli/dist/commands/lib/scope.d.ts +1 -1
  24. package/apps/cli/dist/commands/lib/session-output.d.ts +15 -1
  25. package/apps/cli/dist/commands/lib/session-output.js +214 -6
  26. package/apps/cli/dist/commands/lib/session-view.d.ts +2 -2
  27. package/apps/cli/dist/commands/lib/status.js +5 -1
  28. package/apps/cli/dist/commands/lib/types.d.ts +4 -2
  29. package/apps/cli/dist/commands/lib/usage.js +123 -10
  30. package/apps/cli/dist/commands/lib/workspace.d.ts +2 -2
  31. package/apps/cli/dist/commands/lib/workspace.js +63 -10
  32. package/apps/cli/dist/commands/machine.js +50 -9
  33. package/apps/cli/dist/commands/memory.d.ts +2 -0
  34. package/apps/cli/dist/commands/memory.js +179 -0
  35. package/apps/cli/dist/commands/relay.js +29 -2
  36. package/apps/cli/dist/commands/release.d.ts +2 -0
  37. package/apps/cli/dist/commands/release.js +197 -0
  38. package/apps/cli/dist/commands/remote.js +10 -2
  39. package/apps/cli/dist/commands/schedule.d.ts +2 -0
  40. package/apps/cli/dist/commands/schedule.js +273 -0
  41. package/apps/cli/dist/commands/session.js +517 -5
  42. package/apps/cli/dist/commands/turn.js +225 -9
  43. package/apps/cli/dist/commands/workspace.d.ts +2 -0
  44. package/apps/cli/dist/commands/workspace.js +68 -0
  45. package/apps/cli/package.json +6 -0
  46. package/apps/daemon/dist/gateway/adapters.d.ts +38 -0
  47. package/apps/daemon/dist/gateway/adapters.js +2 -0
  48. package/apps/daemon/dist/gateway/feishu.d.ts +65 -0
  49. package/apps/daemon/dist/gateway/feishu.js +493 -0
  50. package/apps/daemon/dist/gateway/format.d.ts +2 -0
  51. package/apps/daemon/dist/gateway/format.js +19 -0
  52. package/apps/daemon/dist/gateway/handler.d.ts +7 -0
  53. package/apps/daemon/dist/gateway/handler.js +151 -0
  54. package/apps/daemon/dist/gateway/runtime.d.ts +33 -0
  55. package/apps/daemon/dist/gateway/runtime.js +850 -0
  56. package/apps/daemon/dist/gateway/store.d.ts +92 -0
  57. package/apps/daemon/dist/gateway/store.js +268 -0
  58. package/apps/daemon/dist/memory/handler.d.ts +7 -0
  59. package/apps/daemon/dist/memory/handler.js +105 -0
  60. package/apps/daemon/dist/memory/manager.d.ts +44 -0
  61. package/apps/daemon/dist/memory/manager.js +359 -0
  62. package/apps/daemon/dist/paths.d.ts +3 -0
  63. package/apps/daemon/dist/paths.js +3 -0
  64. package/apps/daemon/dist/relay/admission.d.ts +30 -0
  65. package/apps/daemon/dist/relay/admission.js +31 -0
  66. package/apps/daemon/dist/relay/connection.js +37 -1
  67. package/apps/daemon/dist/relay/devtools.d.ts +1 -1
  68. package/apps/daemon/dist/relay/register.js +2 -0
  69. package/apps/daemon/dist/relay/send.d.ts +2 -2
  70. package/apps/daemon/dist/relay/send.js +2 -0
  71. package/apps/daemon/dist/relay-http.d.ts +1 -1
  72. package/apps/daemon/dist/runtime/external-provider.d.ts +1 -1
  73. package/apps/daemon/dist/runtime/external-provider.js +187 -17
  74. package/apps/daemon/dist/runtime.d.ts +1 -2
  75. package/apps/daemon/dist/runtime.js +0 -3
  76. package/apps/daemon/dist/schedule/handler.d.ts +9 -0
  77. package/apps/daemon/dist/schedule/handler.js +148 -0
  78. package/apps/daemon/dist/schedule/runner.d.ts +21 -0
  79. package/apps/daemon/dist/schedule/runner.js +547 -0
  80. package/apps/daemon/dist/schedule/store.d.ts +9 -0
  81. package/apps/daemon/dist/schedule/store.js +143 -0
  82. package/apps/daemon/dist/session/create-session.d.ts +1 -1
  83. package/apps/daemon/dist/session/directory.d.ts +1 -1
  84. package/apps/daemon/dist/session/events.d.ts +15 -2
  85. package/apps/daemon/dist/session/events.js +76 -24
  86. package/apps/daemon/dist/session/file-preview.d.ts +1 -1
  87. package/apps/daemon/dist/session/lifecycle.d.ts +26 -3
  88. package/apps/daemon/dist/session/lifecycle.js +161 -22
  89. package/apps/daemon/dist/session/metadata.d.ts +2 -2
  90. package/apps/daemon/dist/session/metadata.js +42 -1
  91. package/apps/daemon/dist/session/primitives.d.ts +1 -1
  92. package/apps/daemon/dist/session/primitives.js +37 -6
  93. package/apps/daemon/dist/session/prompt.d.ts +28 -1
  94. package/apps/daemon/dist/session/prompt.js +340 -5
  95. package/apps/daemon/dist/session/reconcile.d.ts +3 -0
  96. package/apps/daemon/dist/session/reconcile.js +235 -0
  97. package/apps/daemon/dist/session/runtime-handle.d.ts +1 -1
  98. package/apps/daemon/dist/start.js +5 -1
  99. package/apps/daemon/dist/state.d.ts +2 -2
  100. package/apps/daemon/dist/turn-coordinator.d.ts +1 -0
  101. package/apps/daemon/dist/turn-coordinator.js +4 -0
  102. package/apps/daemon/dist/types.d.ts +16 -1
  103. package/apps/daemon/package.json +3 -25
  104. package/apps/relay/dist/connections.d.ts +2 -0
  105. package/apps/relay/dist/controller-handlers.d.ts +42 -2
  106. package/apps/relay/dist/controller-handlers.js +349 -37
  107. package/apps/relay/dist/db.js +296 -2
  108. package/apps/relay/dist/errors.d.ts +2 -1
  109. package/apps/relay/dist/errors.js +3 -1
  110. package/apps/relay/dist/http-routes.js +659 -33
  111. package/apps/relay/dist/http-schemas.d.ts +156 -0
  112. package/apps/relay/dist/http-schemas.js +85 -0
  113. package/apps/relay/dist/index.js +31 -1
  114. package/apps/relay/dist/machine-handlers.d.ts +15 -7
  115. package/apps/relay/dist/machine-handlers.js +567 -27
  116. package/apps/relay/dist/projections.d.ts +1 -1
  117. package/apps/relay/dist/projections.js +13 -0
  118. package/apps/relay/dist/relay-context.d.ts +41 -3
  119. package/apps/relay/dist/relay-context.js +244 -19
  120. package/apps/relay/dist/repositories.d.ts +2 -2
  121. package/apps/relay/dist/repositories.js +28 -1
  122. package/apps/relay/dist/runtime-bindings.d.ts +25 -0
  123. package/apps/relay/dist/runtime-bindings.js +49 -0
  124. package/apps/relay/dist/scope.d.ts +1 -1
  125. package/apps/relay/dist/types.d.ts +71 -1
  126. package/apps/relay/dist/websocket.js +2 -0
  127. package/package.json +5 -11
  128. package/packages/agent-sdk/dist/index.d.ts +80 -0
  129. package/packages/agent-sdk/dist/index.js +16 -0
  130. package/packages/client/dist/account.d.ts +35 -2
  131. package/packages/client/dist/account.js +98 -1
  132. package/packages/client/dist/client.d.ts +59 -6
  133. package/packages/client/dist/client.js +312 -58
  134. package/packages/client/dist/index.d.ts +1 -1
  135. package/packages/client/dist/parsers.d.ts +28 -2
  136. package/packages/client/dist/parsers.js +167 -0
  137. package/packages/client/dist/transport.d.ts +21 -1
  138. package/packages/client/dist/transport.js +69 -6
  139. package/packages/client/dist/types.d.ts +177 -1
  140. package/packages/client/dist/validation.d.ts +1 -1
  141. package/packages/runtime/dist/index.d.ts +66 -0
  142. package/packages/runtime-acpx/dist/index.d.ts +1 -1
  143. package/packages/runtime-acpx/dist/index.js +8 -0
  144. package/packages/runtime-cli/dist/claude-history.d.ts +1 -2
  145. package/packages/runtime-cli/dist/claude-history.js +0 -3
  146. package/packages/runtime-cli/dist/claude-session-store.d.ts +0 -1
  147. package/packages/runtime-cli/dist/claude-session-store.js +1 -1
  148. package/packages/runtime-cli/dist/claude-turn.d.ts +2 -1
  149. package/packages/runtime-cli/dist/claude-turn.js +29 -9
  150. package/packages/runtime-cli/dist/codex-app-server.d.ts +8 -3
  151. package/packages/runtime-cli/dist/codex-app-server.js +122 -25
  152. package/packages/runtime-cli/dist/codex-history.d.ts +1 -2
  153. package/packages/runtime-cli/dist/codex-history.js +11 -5
  154. package/packages/runtime-cli/dist/codex-protocol.d.ts +2 -2
  155. package/packages/runtime-cli/dist/codex-protocol.js +4 -4
  156. package/packages/runtime-cli/dist/history-merge.d.ts +1 -1
  157. package/packages/runtime-cli/dist/index.d.ts +1 -1
  158. package/packages/runtime-cli/dist/index.js +108 -2
  159. package/packages/runtime-cli/dist/permissions.d.ts +1 -1
  160. package/packages/runtime-cli/dist/session-store.d.ts +2 -1
  161. package/packages/runtime-cli/dist/session-store.js +9 -8
  162. package/packages/shared/dist/index.d.ts +2 -0
  163. package/packages/shared/dist/index.js +2 -0
  164. package/packages/shared/dist/protocol-schemas.d.ts +1077 -0
  165. package/packages/shared/dist/protocol-schemas.js +273 -0
  166. package/packages/shared/dist/protocol-types.d.ts +371 -3
  167. package/packages/shared/dist/protocol.d.ts +181 -2
  168. package/packages/shared/dist/protocol.js +197 -1
  169. package/packages/shared/dist/session-tags.d.ts +12 -0
  170. package/packages/shared/dist/session-tags.js +50 -0
  171. package/apps/cli/dist/commands/account.js.map +0 -1
  172. package/apps/cli/dist/commands/app.js.map +0 -1
  173. package/apps/cli/dist/commands/collect.js.map +0 -1
  174. package/apps/cli/dist/commands/command.js.map +0 -1
  175. package/apps/cli/dist/commands/config.js.map +0 -1
  176. package/apps/cli/dist/commands/daemon.js.map +0 -1
  177. package/apps/cli/dist/commands/lib/args.js.map +0 -1
  178. package/apps/cli/dist/commands/lib/audit.js.map +0 -1
  179. package/apps/cli/dist/commands/lib/bootstrap-config.js.map +0 -1
  180. package/apps/cli/dist/commands/lib/bootstrap-daemon.js.map +0 -1
  181. package/apps/cli/dist/commands/lib/bootstrap-output.js.map +0 -1
  182. package/apps/cli/dist/commands/lib/bootstrap.js.map +0 -1
  183. package/apps/cli/dist/commands/lib/config.js.map +0 -1
  184. package/apps/cli/dist/commands/lib/doctor.js.map +0 -1
  185. package/apps/cli/dist/commands/lib/exit.js.map +0 -1
  186. package/apps/cli/dist/commands/lib/index.js.map +0 -1
  187. package/apps/cli/dist/commands/lib/json.js.map +0 -1
  188. package/apps/cli/dist/commands/lib/local-daemon.js.map +0 -1
  189. package/apps/cli/dist/commands/lib/loop-store.js.map +0 -1
  190. package/apps/cli/dist/commands/lib/paths.js.map +0 -1
  191. package/apps/cli/dist/commands/lib/relay-http.js.map +0 -1
  192. package/apps/cli/dist/commands/lib/scope.js.map +0 -1
  193. package/apps/cli/dist/commands/lib/session-output.js.map +0 -1
  194. package/apps/cli/dist/commands/lib/session-view.js.map +0 -1
  195. package/apps/cli/dist/commands/lib/status.js.map +0 -1
  196. package/apps/cli/dist/commands/lib/types.js.map +0 -1
  197. package/apps/cli/dist/commands/lib/usage.js.map +0 -1
  198. package/apps/cli/dist/commands/lib/workspace.js.map +0 -1
  199. package/apps/cli/dist/commands/loop.js.map +0 -1
  200. package/apps/cli/dist/commands/machine.js.map +0 -1
  201. package/apps/cli/dist/commands/relay.js.map +0 -1
  202. package/apps/cli/dist/commands/remote.js.map +0 -1
  203. package/apps/cli/dist/commands/session.js.map +0 -1
  204. package/apps/cli/dist/commands/token.js.map +0 -1
  205. package/apps/cli/dist/commands/turn.js.map +0 -1
  206. package/apps/cli/dist/errors.js.map +0 -1
  207. package/apps/cli/dist/index.js.map +0 -1
  208. package/apps/daemon/dist/app.js.map +0 -1
  209. package/apps/daemon/dist/args.js.map +0 -1
  210. package/apps/daemon/dist/audit.js.map +0 -1
  211. package/apps/daemon/dist/cli.js.map +0 -1
  212. package/apps/daemon/dist/config.js.map +0 -1
  213. package/apps/daemon/dist/errors.js.map +0 -1
  214. package/apps/daemon/dist/loop/runner.js.map +0 -1
  215. package/apps/daemon/dist/loop/store.js.map +0 -1
  216. package/apps/daemon/dist/pair.js.map +0 -1
  217. package/apps/daemon/dist/paths.js.map +0 -1
  218. package/apps/daemon/dist/process.js.map +0 -1
  219. package/apps/daemon/dist/relay/connection.js.map +0 -1
  220. package/apps/daemon/dist/relay/devtools.js.map +0 -1
  221. package/apps/daemon/dist/relay/register.js.map +0 -1
  222. package/apps/daemon/dist/relay/send.js.map +0 -1
  223. package/apps/daemon/dist/relay-http.js.map +0 -1
  224. package/apps/daemon/dist/runtime/external-provider.js.map +0 -1
  225. package/apps/daemon/dist/runtime.js.map +0 -1
  226. package/apps/daemon/dist/session/create-session.js.map +0 -1
  227. package/apps/daemon/dist/session/directory.js.map +0 -1
  228. package/apps/daemon/dist/session/events.js.map +0 -1
  229. package/apps/daemon/dist/session/file-preview.js.map +0 -1
  230. package/apps/daemon/dist/session/lifecycle.js.map +0 -1
  231. package/apps/daemon/dist/session/metadata.js.map +0 -1
  232. package/apps/daemon/dist/session/primitives.js.map +0 -1
  233. package/apps/daemon/dist/session/prompt.js.map +0 -1
  234. package/apps/daemon/dist/session/runtime-handle.js.map +0 -1
  235. package/apps/daemon/dist/start.js.map +0 -1
  236. package/apps/daemon/dist/state.js.map +0 -1
  237. package/apps/daemon/dist/turn-coordinator.js.map +0 -1
  238. package/apps/daemon/dist/types.js.map +0 -1
  239. package/apps/daemon/dist/utils.js.map +0 -1
  240. package/apps/relay/dist/auth.js.map +0 -1
  241. package/apps/relay/dist/connections.js.map +0 -1
  242. package/apps/relay/dist/controller-handlers.js.map +0 -1
  243. package/apps/relay/dist/db.js.map +0 -1
  244. package/apps/relay/dist/errors.js.map +0 -1
  245. package/apps/relay/dist/http-routes.js.map +0 -1
  246. package/apps/relay/dist/http-schemas.js.map +0 -1
  247. package/apps/relay/dist/index.js.map +0 -1
  248. package/apps/relay/dist/machine-handlers.js.map +0 -1
  249. package/apps/relay/dist/projections.js.map +0 -1
  250. package/apps/relay/dist/relay-context.js.map +0 -1
  251. package/apps/relay/dist/repositories.js.map +0 -1
  252. package/apps/relay/dist/retention.js.map +0 -1
  253. package/apps/relay/dist/scope.js.map +0 -1
  254. package/apps/relay/dist/security.js.map +0 -1
  255. package/apps/relay/dist/types.js.map +0 -1
  256. package/apps/relay/dist/websocket.js.map +0 -1
  257. package/apps/relay/package.json +0 -29
  258. package/packages/agent-sdk/dist/index.d.ts.map +0 -1
  259. package/packages/agent-sdk/dist/index.js.map +0 -1
  260. package/packages/agent-sdk/package.json +0 -20
  261. package/packages/client/dist/account.d.ts.map +0 -1
  262. package/packages/client/dist/account.js.map +0 -1
  263. package/packages/client/dist/client.d.ts.map +0 -1
  264. package/packages/client/dist/client.js.map +0 -1
  265. package/packages/client/dist/errors.d.ts.map +0 -1
  266. package/packages/client/dist/errors.js.map +0 -1
  267. package/packages/client/dist/http.d.ts.map +0 -1
  268. package/packages/client/dist/http.js.map +0 -1
  269. package/packages/client/dist/index.d.ts.map +0 -1
  270. package/packages/client/dist/index.js.map +0 -1
  271. package/packages/client/dist/parsers.d.ts.map +0 -1
  272. package/packages/client/dist/parsers.js.map +0 -1
  273. package/packages/client/dist/transport.d.ts.map +0 -1
  274. package/packages/client/dist/transport.js.map +0 -1
  275. package/packages/client/dist/types.d.ts.map +0 -1
  276. package/packages/client/dist/types.js.map +0 -1
  277. package/packages/client/dist/validation.d.ts.map +0 -1
  278. package/packages/client/dist/validation.js.map +0 -1
  279. package/packages/client/package.json +0 -22
  280. package/packages/pie-provider/dist/index.d.ts.map +0 -1
  281. package/packages/pie-provider/dist/index.js.map +0 -1
  282. package/packages/pie-provider/package.json +0 -26
  283. package/packages/runtime/dist/index.d.ts.map +0 -1
  284. package/packages/runtime/dist/index.js.map +0 -1
  285. package/packages/runtime/package.json +0 -19
  286. package/packages/runtime-acpx/dist/index.d.ts.map +0 -1
  287. package/packages/runtime-acpx/dist/index.js.map +0 -1
  288. package/packages/runtime-acpx/package.json +0 -23
  289. package/packages/runtime-cli/dist/async-queue.d.ts.map +0 -1
  290. package/packages/runtime-cli/dist/async-queue.js.map +0 -1
  291. package/packages/runtime-cli/dist/claude-history.d.ts.map +0 -1
  292. package/packages/runtime-cli/dist/claude-history.js.map +0 -1
  293. package/packages/runtime-cli/dist/claude-json.d.ts.map +0 -1
  294. package/packages/runtime-cli/dist/claude-json.js.map +0 -1
  295. package/packages/runtime-cli/dist/claude-rename.d.ts.map +0 -1
  296. package/packages/runtime-cli/dist/claude-rename.js.map +0 -1
  297. package/packages/runtime-cli/dist/claude-session-store.d.ts.map +0 -1
  298. package/packages/runtime-cli/dist/claude-session-store.js.map +0 -1
  299. package/packages/runtime-cli/dist/claude-turn.d.ts.map +0 -1
  300. package/packages/runtime-cli/dist/claude-turn.js.map +0 -1
  301. package/packages/runtime-cli/dist/codex-app-server.d.ts.map +0 -1
  302. package/packages/runtime-cli/dist/codex-app-server.js.map +0 -1
  303. package/packages/runtime-cli/dist/codex-approvals.d.ts.map +0 -1
  304. package/packages/runtime-cli/dist/codex-approvals.js.map +0 -1
  305. package/packages/runtime-cli/dist/codex-history.d.ts.map +0 -1
  306. package/packages/runtime-cli/dist/codex-history.js.map +0 -1
  307. package/packages/runtime-cli/dist/codex-json-rpc.d.ts.map +0 -1
  308. package/packages/runtime-cli/dist/codex-json-rpc.js.map +0 -1
  309. package/packages/runtime-cli/dist/codex-lifecycle.d.ts.map +0 -1
  310. package/packages/runtime-cli/dist/codex-lifecycle.js.map +0 -1
  311. package/packages/runtime-cli/dist/codex-protocol.d.ts.map +0 -1
  312. package/packages/runtime-cli/dist/codex-protocol.js.map +0 -1
  313. package/packages/runtime-cli/dist/command-resolver.d.ts.map +0 -1
  314. package/packages/runtime-cli/dist/command-resolver.js.map +0 -1
  315. package/packages/runtime-cli/dist/history-merge.d.ts.map +0 -1
  316. package/packages/runtime-cli/dist/history-merge.js.map +0 -1
  317. package/packages/runtime-cli/dist/index.d.ts.map +0 -1
  318. package/packages/runtime-cli/dist/index.js.map +0 -1
  319. package/packages/runtime-cli/dist/permissions.d.ts.map +0 -1
  320. package/packages/runtime-cli/dist/permissions.js.map +0 -1
  321. package/packages/runtime-cli/dist/session-store.d.ts.map +0 -1
  322. package/packages/runtime-cli/dist/session-store.js.map +0 -1
  323. package/packages/runtime-cli/package.json +0 -22
  324. package/packages/shared/dist/args.d.ts.map +0 -1
  325. package/packages/shared/dist/args.js.map +0 -1
  326. package/packages/shared/dist/crypto.d.ts.map +0 -1
  327. package/packages/shared/dist/crypto.js.map +0 -1
  328. package/packages/shared/dist/ids.d.ts.map +0 -1
  329. package/packages/shared/dist/ids.js.map +0 -1
  330. package/packages/shared/dist/index.d.ts.map +0 -1
  331. package/packages/shared/dist/index.js.map +0 -1
  332. package/packages/shared/dist/protocol-schemas.d.ts.map +0 -1
  333. package/packages/shared/dist/protocol-schemas.js.map +0 -1
  334. package/packages/shared/dist/protocol-types.d.ts.map +0 -1
  335. package/packages/shared/dist/protocol-types.js.map +0 -1
  336. package/packages/shared/dist/protocol.d.ts.map +0 -1
  337. package/packages/shared/dist/protocol.js.map +0 -1
  338. package/packages/shared/dist/session-name.d.ts.map +0 -1
  339. package/packages/shared/dist/session-name.js.map +0 -1
  340. package/packages/shared/dist/session-state.d.ts.map +0 -1
  341. package/packages/shared/dist/session-state.js.map +0 -1
  342. package/packages/shared/package.json +0 -24
@@ -25,6 +25,10 @@ export declare const pairingClaimSchema: z.ZodObject<{
25
25
  export declare const deviceRevokeSchema: z.ZodObject<{
26
26
  deviceId: z.ZodString;
27
27
  }, z.core.$strip>;
28
+ export declare const deviceRenameSchema: z.ZodObject<{
29
+ deviceId: z.ZodString;
30
+ name: z.ZodString;
31
+ }, z.core.$strip>;
28
32
  export declare const scopedTokenCreateSchema: z.ZodObject<{
29
33
  name: z.ZodOptional<z.ZodString>;
30
34
  expiresAt: z.ZodOptional<z.ZodNumber>;
@@ -46,3 +50,155 @@ export declare const sessionEventsQuerySchema: z.ZodObject<{
46
50
  limit: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
47
51
  since: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
48
52
  }, z.core.$strip>;
53
+ export declare const sessionHeadAdvanceSchema: z.ZodObject<{
54
+ currentHead: z.ZodString;
55
+ lastTurnId: z.ZodString;
56
+ status: z.ZodOptional<z.ZodEnum<{
57
+ completed: "completed";
58
+ failed: "failed";
59
+ cancelled: "cancelled";
60
+ }>>;
61
+ basis: z.ZodObject<{
62
+ turnId: z.ZodString;
63
+ eventMessageId: z.ZodString;
64
+ turnSeq: z.ZodNumber;
65
+ occurredAt: z.ZodOptional<z.ZodNumber>;
66
+ }, z.core.$strip>;
67
+ }, z.core.$strip>;
68
+ export declare const workspaceSessionStarSchema: z.ZodObject<{
69
+ sessionId: z.ZodString;
70
+ starred: z.ZodBoolean;
71
+ }, z.core.$strip>;
72
+ export declare const workspaceSessionRecentSchema: z.ZodObject<{
73
+ sessionId: z.ZodString;
74
+ }, z.core.$strip>;
75
+ export declare const workspaceCwdPinSchema: z.ZodObject<{
76
+ machineId: z.ZodString;
77
+ cwd: z.ZodString;
78
+ label: z.ZodOptional<z.ZodString>;
79
+ }, z.core.$strip>;
80
+ export declare const workspaceCwdUnpinSchema: z.ZodObject<{
81
+ machineId: z.ZodString;
82
+ cwd: z.ZodString;
83
+ }, z.core.$strip>;
84
+ export declare const workspaceProjectPreferenceSchema: z.ZodObject<{
85
+ projectKey: z.ZodString;
86
+ machineId: z.ZodOptional<z.ZodString>;
87
+ cwd: z.ZodOptional<z.ZodString>;
88
+ agent: z.ZodOptional<z.ZodString>;
89
+ memoryMode: z.ZodOptional<z.ZodEnum<{
90
+ off: "off";
91
+ readonly: "readonly";
92
+ readwrite: "readwrite";
93
+ }>>;
94
+ }, z.core.$strip>;
95
+ export declare const sessionMetadataUpdateSchema: z.ZodObject<{
96
+ encryptedMetadata: z.ZodObject<{
97
+ v: z.ZodLiteral<1>;
98
+ alg: z.ZodLiteral<"A256GCM">;
99
+ scope: z.ZodString;
100
+ key: z.ZodObject<{
101
+ nonce: z.ZodString;
102
+ ciphertext: z.ZodString;
103
+ }, z.core.$strip>;
104
+ data: z.ZodObject<{
105
+ nonce: z.ZodString;
106
+ ciphertext: z.ZodString;
107
+ }, z.core.$strip>;
108
+ }, z.core.$strip>;
109
+ }, z.core.$strip>;
110
+ export declare const memoryListQuerySchema: z.ZodObject<{
111
+ projectKey: z.ZodOptional<z.ZodString>;
112
+ }, z.core.$strip>;
113
+ export declare const memorySaveSchema: z.ZodObject<{
114
+ id: z.ZodString;
115
+ projectKey: z.ZodString;
116
+ encryptedMemory: z.ZodUnknown;
117
+ }, z.core.$strip>;
118
+ export declare const memoryDeleteSchema: z.ZodObject<{
119
+ id: z.ZodString;
120
+ }, z.core.$strip>;
121
+ export declare const memorySettingsSchema: z.ZodObject<{
122
+ projectKey: z.ZodString;
123
+ disabled: z.ZodOptional<z.ZodBoolean>;
124
+ injectionEnabled: z.ZodOptional<z.ZodBoolean>;
125
+ }, z.core.$strip>;
126
+ export declare const machineMemoryDocumentsQuerySchema: z.ZodObject<{
127
+ projectKey: z.ZodString;
128
+ }, z.core.$strip>;
129
+ export declare const machineMemoryDocumentSaveSchema: z.ZodObject<{
130
+ id: z.ZodString;
131
+ projectKey: z.ZodString;
132
+ encryptedDocument: z.ZodObject<{
133
+ v: z.ZodLiteral<1>;
134
+ alg: z.ZodLiteral<"A256GCM">;
135
+ scope: z.ZodString;
136
+ key: z.ZodObject<{
137
+ nonce: z.ZodString;
138
+ ciphertext: z.ZodString;
139
+ }, z.core.$strip>;
140
+ data: z.ZodObject<{
141
+ nonce: z.ZodString;
142
+ ciphertext: z.ZodString;
143
+ }, z.core.$strip>;
144
+ }, z.core.$strip>;
145
+ }, z.core.$strip>;
146
+ export declare const machineCreateSessionAdmissionSchema: z.ZodObject<{
147
+ requestId: z.ZodString;
148
+ sessionId: z.ZodOptional<z.ZodString>;
149
+ agent: z.ZodString;
150
+ cwd: z.ZodString;
151
+ name: z.ZodString;
152
+ model: z.ZodOptional<z.ZodString>;
153
+ encryptedMetadata: z.ZodOptional<z.ZodObject<{
154
+ v: z.ZodLiteral<1>;
155
+ alg: z.ZodLiteral<"A256GCM">;
156
+ scope: z.ZodString;
157
+ key: z.ZodObject<{
158
+ nonce: z.ZodString;
159
+ ciphertext: z.ZodString;
160
+ }, z.core.$strip>;
161
+ data: z.ZodObject<{
162
+ nonce: z.ZodString;
163
+ ciphertext: z.ZodString;
164
+ }, z.core.$strip>;
165
+ }, z.core.$strip>>;
166
+ }, z.core.$strip>;
167
+ export declare const machinePromptAdmissionSchema: z.ZodObject<{
168
+ requestId: z.ZodString;
169
+ sessionId: z.ZodString;
170
+ turnId: z.ZodString;
171
+ encryptedPrompt: z.ZodObject<{
172
+ v: z.ZodLiteral<1>;
173
+ alg: z.ZodLiteral<"A256GCM">;
174
+ scope: z.ZodString;
175
+ key: z.ZodObject<{
176
+ nonce: z.ZodString;
177
+ ciphertext: z.ZodString;
178
+ }, z.core.$strip>;
179
+ data: z.ZodObject<{
180
+ nonce: z.ZodString;
181
+ ciphertext: z.ZodString;
182
+ }, z.core.$strip>;
183
+ }, z.core.$strip>;
184
+ permissionMode: z.ZodOptional<z.ZodEnum<{
185
+ "approve-all": "approve-all";
186
+ "approve-reads": "approve-reads";
187
+ "deny-all": "deny-all";
188
+ }>>;
189
+ model: z.ZodOptional<z.ZodString>;
190
+ encryptedMemoryOptions: z.ZodOptional<z.ZodObject<{
191
+ v: z.ZodLiteral<1>;
192
+ alg: z.ZodLiteral<"A256GCM">;
193
+ scope: z.ZodString;
194
+ key: z.ZodObject<{
195
+ nonce: z.ZodString;
196
+ ciphertext: z.ZodString;
197
+ }, z.core.$strip>;
198
+ data: z.ZodObject<{
199
+ nonce: z.ZodString;
200
+ ciphertext: z.ZodString;
201
+ }, z.core.$strip>;
202
+ }, z.core.$strip>>;
203
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
204
+ }, z.core.$strip>;
@@ -1,4 +1,5 @@
1
1
  import { z } from "zod";
2
+ import { encryptedEnvelopeSchema } from "../../../packages/shared/dist/index.js";
2
3
  export const pairingStartSchema = z.object({
3
4
  deviceId: z.string().min(1),
4
5
  deviceName: z.string().min(1),
@@ -25,6 +26,10 @@ export const pairingClaimSchema = z.object({
25
26
  export const deviceRevokeSchema = z.object({
26
27
  deviceId: z.string().min(1),
27
28
  });
29
+ export const deviceRenameSchema = z.object({
30
+ deviceId: z.string().min(1),
31
+ name: z.string().min(1),
32
+ });
28
33
  const scopedTokenScopeSchema = z.object({
29
34
  name: z.string().min(1).optional(),
30
35
  machines: z.array(z.string().min(1)).nonempty().optional(),
@@ -53,4 +58,84 @@ export const sessionEventsQuerySchema = z.object({
53
58
  }).refine((query) => query.beforeCursor === undefined || query.since === undefined, {
54
59
  message: "since and beforeCursor cannot both be provided",
55
60
  });
61
+ export const sessionHeadAdvanceSchema = z.object({
62
+ currentHead: z.string().min(1),
63
+ lastTurnId: z.string().min(1),
64
+ status: z.enum(["completed", "cancelled", "failed"]).optional(),
65
+ basis: z.object({
66
+ turnId: z.string().min(1),
67
+ eventMessageId: z.string().min(1),
68
+ turnSeq: z.number().int().min(0),
69
+ occurredAt: z.number().int().optional(),
70
+ }),
71
+ });
72
+ export const workspaceSessionStarSchema = z.object({
73
+ sessionId: z.string().min(1),
74
+ starred: z.boolean(),
75
+ });
76
+ export const workspaceSessionRecentSchema = z.object({
77
+ sessionId: z.string().min(1),
78
+ });
79
+ export const workspaceCwdPinSchema = z.object({
80
+ machineId: z.string().min(1),
81
+ cwd: z.string().min(1),
82
+ label: z.string().min(1).optional(),
83
+ });
84
+ export const workspaceCwdUnpinSchema = z.object({
85
+ machineId: z.string().min(1),
86
+ cwd: z.string().min(1),
87
+ });
88
+ export const workspaceProjectPreferenceSchema = z.object({
89
+ projectKey: z.string().min(1),
90
+ machineId: z.string().min(1).optional(),
91
+ cwd: z.string().min(1).optional(),
92
+ agent: z.string().min(1).optional(),
93
+ memoryMode: z.enum(["off", "readonly", "readwrite"]).optional(),
94
+ });
95
+ export const sessionMetadataUpdateSchema = z.object({
96
+ encryptedMetadata: encryptedEnvelopeSchema,
97
+ });
98
+ export const memoryListQuerySchema = z.object({
99
+ projectKey: z.string().min(1).optional(),
100
+ });
101
+ export const memorySaveSchema = z.object({
102
+ id: z.string().min(1),
103
+ projectKey: z.string().min(1),
104
+ encryptedMemory: z.unknown(),
105
+ });
106
+ export const memoryDeleteSchema = z.object({
107
+ id: z.string().min(1),
108
+ });
109
+ export const memorySettingsSchema = z.object({
110
+ projectKey: z.string().min(1),
111
+ disabled: z.boolean().optional(),
112
+ injectionEnabled: z.boolean().optional(),
113
+ });
114
+ export const machineMemoryDocumentsQuerySchema = z.object({
115
+ projectKey: z.string().min(1),
116
+ });
117
+ export const machineMemoryDocumentSaveSchema = z.object({
118
+ id: z.string().min(1),
119
+ projectKey: z.string().min(1),
120
+ encryptedDocument: encryptedEnvelopeSchema,
121
+ });
122
+ export const machineCreateSessionAdmissionSchema = z.object({
123
+ requestId: z.string().min(1),
124
+ sessionId: z.string().min(1).optional(),
125
+ agent: z.string().min(1),
126
+ cwd: z.string(),
127
+ name: z.string().min(1),
128
+ model: z.string().min(1).optional(),
129
+ encryptedMetadata: encryptedEnvelopeSchema.optional(),
130
+ });
131
+ export const machinePromptAdmissionSchema = z.object({
132
+ requestId: z.string().min(1),
133
+ sessionId: z.string().min(1),
134
+ turnId: z.string().min(1),
135
+ encryptedPrompt: encryptedEnvelopeSchema,
136
+ permissionMode: z.enum(["approve-all", "approve-reads", "deny-all"]).optional(),
137
+ model: z.string().min(1).optional(),
138
+ encryptedMemoryOptions: encryptedEnvelopeSchema.optional(),
139
+ timeoutMs: z.number().positive().optional(),
140
+ });
56
141
  //# sourceMappingURL=http-schemas.js.map
@@ -18,9 +18,11 @@ const dbPath = process.env.HAPPY_ELVES_DB ?? path.join(process.cwd(), ".happy-el
18
18
  const pairingTtlMs = 10 * 60 * 1000;
19
19
  const controllerInviteTtlMs = 10 * 60 * 1000;
20
20
  const eventReplayLimit = intEnv("HAPPY_ELVES_EVENT_REPLAY_LIMIT", process.env.HAPPY_ELVES_EVENT_REPLAY_LIMIT, 100);
21
+ const lanPackDir = process.env.HAPPY_ELVES_LAN_PACK_DIR ? path.resolve(process.env.HAPPY_ELVES_LAN_PACK_DIR) : undefined;
21
22
  const retention = createRetentionConfig(process.env);
22
23
  const retentionPruneIntervalMs = retentionMs("HAPPY_ELVES_RETENTION_PRUNE_INTERVAL_MS", process.env.HAPPY_ELVES_RETENTION_PRUNE_INTERVAL_MS, 60_000);
23
24
  const originAllowed = createOriginPolicy(process.env);
25
+ const fixedNow = process.env.HAPPY_ELVES_TEST_FIXED_NOW ? intEnv("HAPPY_ELVES_TEST_FIXED_NOW", process.env.HAPPY_ELVES_TEST_FIXED_NOW, 0) : undefined;
24
26
  function intEnv(name, value, defaultValue) {
25
27
  if (value === undefined || value.trim() === "")
26
28
  return defaultValue;
@@ -41,6 +43,7 @@ const context = createRelayContext({
41
43
  eventReplayLimit,
42
44
  pairingTtlMs,
43
45
  pruneRetention: createRetentionPruner({ db, config: retention, intervalMs: retentionPruneIntervalMs }),
46
+ now: fixedNow === undefined ? undefined : () => fixedNow,
44
47
  });
45
48
  const app = fastify({ logger: { level: process.env.HAPPY_ELVES_RELAY_LOG_LEVEL ?? "info" } });
46
49
  await app.register(cors, {
@@ -59,7 +62,7 @@ app.addHook("onRequest", (request, reply, done) => {
59
62
  });
60
63
  app.setErrorHandler((error, _request, reply) => {
61
64
  if (error instanceof HttpError) {
62
- reply.code(error.statusCode).send({ error: { code: error.code, message: error.message } });
65
+ reply.code(error.statusCode).send({ error: { code: error.code, message: error.message, ...(error.details ?? {}) } });
63
66
  return;
64
67
  }
65
68
  if (error instanceof z.ZodError) {
@@ -75,6 +78,33 @@ app.setErrorHandler((error, _request, reply) => {
75
78
  }
76
79
  reply.code(500).send({ error: { code: "INTERNAL_ERROR", message } });
77
80
  });
81
+ if (lanPackDir) {
82
+ app.get("/__lan/*", async (request, reply) => {
83
+ const params = request.params;
84
+ const requested = decodeURIComponent(params["*"] ?? "");
85
+ const filePath = path.resolve(lanPackDir, requested);
86
+ if (!filePath.startsWith(`${lanPackDir}${path.sep}`)) {
87
+ reply.code(403).send("forbidden");
88
+ return;
89
+ }
90
+ let stat;
91
+ try {
92
+ stat = fs.statSync(filePath);
93
+ }
94
+ catch {
95
+ reply.code(404).send("not found");
96
+ return;
97
+ }
98
+ if (!stat.isFile()) {
99
+ reply.code(404).send("not found");
100
+ return;
101
+ }
102
+ const extension = path.extname(filePath);
103
+ reply.header("content-length", String(stat.size));
104
+ reply.type(extension === ".ps1" ? "text/plain; charset=utf-8" : extension === ".tgz" ? "application/gzip" : "application/octet-stream");
105
+ return reply.send(fs.createReadStream(filePath));
106
+ });
107
+ }
78
108
  registerHttpRoutes(app, context, controllerInviteTtlMs);
79
109
  registerWebsocketRoute(app, context, originAllowed);
80
110
  export async function startRelay(options = {}) {
@@ -1,5 +1,5 @@
1
1
  import type { DatabaseSync } from "node:sqlite";
2
- import type { ClientMessage, EncryptedEnvelope, MachineSnapshot, ServerMessage, SessionSnapshot } from "@happy-elves/shared";
2
+ import type { ClientMessage, EncryptedEnvelope, MachineSnapshot, ServerMessage, SessionSnapshot } from "../../../packages/shared/dist/index.js";
3
3
  import type { MachineConnection, SessionRow } from "./types.js";
4
4
  type MachineHandlerContext = {
5
5
  broadcastAck(accountId: string, message: Extract<ServerMessage, {
@@ -11,24 +11,32 @@ type MachineHandlerContext = {
11
11
  }>): void;
12
12
  clearCommandPending(accountId: string, requestId: string): void;
13
13
  db: DatabaseSync;
14
+ finishSessionClaim(params: {
15
+ accountId: string;
16
+ sessionId: string;
17
+ requestId?: string;
18
+ turnId?: string;
19
+ terminalStatus: "completed" | "cancelled" | "failed" | "error" | "unknown";
20
+ errorCode?: string;
21
+ finishedAt?: number;
22
+ }): {
23
+ request_id: string;
24
+ turn_id: string;
25
+ } | undefined;
14
26
  insertEvent(params: {
15
27
  accountId: string;
16
28
  sessionId: string;
17
29
  machineId: string;
30
+ source: "controller" | "machine";
18
31
  messageId?: string;
19
32
  turnId: string;
20
33
  turnSeq?: number;
21
34
  occurredAt?: number;
22
35
  payload: EncryptedEnvelope;
36
+ updateSession?: boolean;
23
37
  }): Extract<ServerMessage, {
24
38
  type: "server:event";
25
39
  }>["event"];
26
- aliasedRuntimeEventHasRequestEvents(params: {
27
- accountId: string;
28
- sessionId: string;
29
- machineId: string;
30
- runtimeTurnId: string;
31
- }): boolean;
32
40
  machineMessageProcessed(accountId: string, machineId: string, messageId: string): boolean;
33
41
  markMachineMessageProcessed(accountId: string, machineId: string, messageId: string): void;
34
42
  now(): number;