@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
@@ -17,6 +17,13 @@ const agentProfileSchema = z.object({
17
17
  label: z.string().min(1),
18
18
  command: z.string().min(1).optional(),
19
19
  historyModel: z.enum(["append-only", "authoritative-linear"]).optional(),
20
+ defaultModel: z.string().min(1).optional(),
21
+ models: z.array(z.object({
22
+ id: z.string().min(1),
23
+ label: z.string().min(1).optional(),
24
+ unavailable: z.boolean().optional(),
25
+ reason: z.string().min(1).optional(),
26
+ })).optional(),
20
27
  sessionPrimitives: z.object({
21
28
  resume: z.enum(["acpx", "native", "checkpoint", "unsupported"]),
22
29
  rewind: z.enum(["acpx", "native", "checkpoint", "unsupported"]),
@@ -68,6 +75,12 @@ export const sessionSnapshotSchema = z.object({
68
75
  encryptedMetadata: encryptedEnvelopeSchema.optional(),
69
76
  currentHead: z.string().min(1).optional(),
70
77
  lastTurnId: z.string().min(1).optional(),
78
+ headBasis: z.object({
79
+ eventId: z.number().int().nonnegative().optional(),
80
+ messageId: z.string().min(1).optional(),
81
+ logicalTime: z.number().optional(),
82
+ turnSeq: z.number().int().nonnegative().optional(),
83
+ }).optional(),
71
84
  sourceSessionId: z.string().min(1).optional(),
72
85
  sourceCheckpointId: z.string().min(1).optional(),
73
86
  historyModel: z.enum(["append-only", "authoritative-linear"]).optional(),
@@ -177,4 +190,264 @@ export const machineDevExecResultSchema = z.object({
177
190
  durationMs: z.number().nonnegative(),
178
191
  timedOut: z.boolean().optional(),
179
192
  });
193
+ export const turnReconcileResultSchema = z.object({
194
+ sessionId: z.string().min(1),
195
+ turnId: z.string().min(1).optional(),
196
+ requestId: z.string().min(1).optional(),
197
+ status: z.enum(["active", "terminal", "unknown", "not_found", "uninspectable"]),
198
+ terminalStatus: z.enum(["completed", "cancelled", "failed"]).optional(),
199
+ currentHead: z.string().min(1).optional(),
200
+ lastTurnId: z.string().min(1).optional(),
201
+ providerTurnId: z.string().min(1).optional(),
202
+ reason: z.string().optional(),
203
+ error: z.string().optional(),
204
+ evidence: z.object({
205
+ type: z.enum(["in_memory", "provider_history", "provider_inspect", "unsupported", "missing"]),
206
+ detail: z.string().optional(),
207
+ }).optional(),
208
+ });
209
+ const gatewayLastDeliveredMessageSchema = z.object({
210
+ externalConversationId: z.string().min(1),
211
+ externalMessageId: z.string().min(1),
212
+ requestId: z.string().min(1),
213
+ sessionId: z.string().min(1),
214
+ turnId: z.string().min(1),
215
+ deliveredAt: z.string().min(1),
216
+ });
217
+ const gatewayLastMessageRefSchema = z.object({
218
+ externalConversationId: z.string().min(1),
219
+ externalMessageId: z.string().min(1),
220
+ requestId: z.string().min(1).optional(),
221
+ sessionId: z.string().min(1).optional(),
222
+ turnId: z.string().min(1).optional(),
223
+ deliveryId: z.string().min(1).optional(),
224
+ platformMessageId: z.string().min(1).optional(),
225
+ at: z.string().min(1),
226
+ });
227
+ const gatewayProcessingReactionConfigSchema = z.object({
228
+ enabled: z.boolean(),
229
+ emojiType: z.string().min(1),
230
+ });
231
+ export const gatewayChannelPublicSchema = z.object({
232
+ id: z.string().min(1),
233
+ type: z.enum(["fake", "lark"]),
234
+ enabled: z.boolean(),
235
+ domain: z.enum(["feishu", "lark"]).optional(),
236
+ inboundMode: z.enum(["mention", "all"]).optional(),
237
+ processingReaction: gatewayProcessingReactionConfigSchema.optional(),
238
+ targetMachineId: z.string().min(1).optional(),
239
+ targetSessionId: z.string().min(1).optional(),
240
+ targetCwd: z.string().optional(),
241
+ defaultAgent: z.string().min(1),
242
+ defaultModel: z.string().min(1).optional(),
243
+ allowAnySender: z.boolean().optional(),
244
+ allowedChatIds: z.array(z.string().min(1)).optional(),
245
+ allowedSenderIds: z.array(z.string().min(1)).optional(),
246
+ hasAppId: z.boolean(),
247
+ hasAppSecret: z.boolean(),
248
+ hasLocalToken: z.boolean().optional(),
249
+ hasLocalSecret: z.boolean().optional(),
250
+ listening: z.boolean().optional(),
251
+ lastError: z.string().optional(),
252
+ lastReceived: gatewayLastMessageRefSchema.optional(),
253
+ lastAdmitted: gatewayLastMessageRefSchema.optional(),
254
+ lastReplied: gatewayLastMessageRefSchema.optional(),
255
+ lastDeliveredMessage: gatewayLastDeliveredMessageSchema.optional(),
256
+ createdAt: z.string().min(1),
257
+ updatedAt: z.string().min(1),
258
+ });
259
+ export const gatewayChannelInputSchema = z.object({
260
+ id: z.string().min(1).optional(),
261
+ type: z.enum(["fake", "lark"]),
262
+ enabled: z.boolean().optional(),
263
+ targetMachineId: z.string().min(1).optional(),
264
+ targetSessionId: z.string().min(1).optional(),
265
+ targetCwd: z.string().optional(),
266
+ defaultAgent: z.string().min(1).optional(),
267
+ defaultModel: z.string().min(1).optional(),
268
+ allowAnySender: z.boolean().optional(),
269
+ allowedChatIds: z.array(z.string().min(1)).optional(),
270
+ allowedSenderIds: z.array(z.string().min(1)).optional(),
271
+ domain: z.enum(["feishu", "lark"]).optional(),
272
+ appId: z.string().min(1).optional(),
273
+ appSecret: z.string().min(1).optional(),
274
+ encryptedAppSecret: encryptedEnvelopeSchema.optional(),
275
+ inboundMode: z.enum(["mention", "all"]).optional(),
276
+ processingReaction: gatewayProcessingReactionConfigSchema.partial().optional(),
277
+ localToken: z.string().min(1).optional(),
278
+ localSecret: z.string().min(1).optional(),
279
+ });
280
+ export const gatewayDeliveryResultSchema = z.object({
281
+ channelId: z.string().min(1),
282
+ externalConversationId: z.string().min(1),
283
+ externalMessageId: z.string().min(1),
284
+ sessionId: z.string().min(1).optional(),
285
+ requestId: z.string().min(1).optional(),
286
+ turnId: z.string().min(1).optional(),
287
+ deliveryId: z.string().min(1).optional(),
288
+ platformMessageId: z.string().min(1).optional(),
289
+ admission: z.enum(["accepted", "replayed"]).optional(),
290
+ dispatch: z.enum(["queued", "delivered"]).optional(),
291
+ queued: z.boolean().optional(),
292
+ duplicate: z.boolean().optional(),
293
+ });
294
+ export const gatewayCommandResultSchema = z.object({
295
+ action: z.enum(["list", "get", "upsert", "enable", "disable", "test", "notify"]),
296
+ channels: z.array(gatewayChannelPublicSchema).optional(),
297
+ channel: gatewayChannelPublicSchema.optional(),
298
+ delivery: gatewayDeliveryResultSchema.optional(),
299
+ });
300
+ export const scheduleSpecSchema = z.discriminatedUnion("type", [
301
+ z.object({ type: z.literal("manual") }),
302
+ z.object({ type: z.literal("oneshot"), runAt: z.string().min(1) }),
303
+ z.object({ type: z.literal("interval"), everyMs: z.number().positive() }),
304
+ z.object({ type: z.literal("cron"), expr: z.string().min(1), timezone: z.string().min(1).optional() }),
305
+ ]);
306
+ export const scheduleTargetSchema = z.discriminatedUnion("type", [
307
+ z.object({ type: z.literal("sourceSession"), sourceSessionId: z.string().min(1) }),
308
+ z.object({
309
+ type: z.literal("project"),
310
+ machineId: z.string().min(1).optional(),
311
+ cwd: z.string().min(1),
312
+ agent: z.string().min(1),
313
+ sourceSessionId: z.string().min(1).optional(),
314
+ }),
315
+ ]);
316
+ const scheduleExecutionSchema = z.enum(["continue", "isolated"]);
317
+ const scheduleMemoryModeSchema = z.enum(["inherit", "off", "readonly", "readwrite"]);
318
+ const scheduleStopReasonSchema = z.enum(["blocked", "failed", "permission"]);
319
+ export const scheduleRunRecordSchema = z.object({
320
+ occurrenceId: z.string().min(1),
321
+ dueAt: z.string().min(1),
322
+ requestId: z.string().min(1),
323
+ turnId: z.string().min(1),
324
+ status: z.enum(["scheduled", "admitted", "missed", "blocked", "paused", "deleted", "failed", "completed"]),
325
+ reason: z.string().optional(),
326
+ sessionId: z.string().min(1).optional(),
327
+ sourceSessionId: z.string().min(1).optional(),
328
+ admittedAt: z.string().min(1).optional(),
329
+ finishedAt: z.string().min(1).optional(),
330
+ outputPreview: z.string().optional(),
331
+ error: z.string().optional(),
332
+ });
333
+ export const scheduleRecordSchema = z.object({
334
+ id: z.string().min(1),
335
+ name: z.string().min(1).optional(),
336
+ sessionId: z.string().min(1).optional(),
337
+ sourceSessionId: z.string().min(1).optional(),
338
+ target: scheduleTargetSchema.optional(),
339
+ prompt: z.string(),
340
+ dueAt: z.string().min(1).optional(),
341
+ schedule: scheduleSpecSchema.optional(),
342
+ execution: scheduleExecutionSchema.optional(),
343
+ memoryMode: scheduleMemoryModeSchema.optional(),
344
+ stopOn: z.array(scheduleStopReasonSchema).optional(),
345
+ status: z.enum(["active", "paused", "completed", "deleted"]),
346
+ nextRunAt: z.string().min(1).optional(),
347
+ previewRunAt: z.array(z.string().min(1)).optional(),
348
+ pendingRunId: z.string().min(1).optional(),
349
+ runCount: z.number().int().nonnegative().optional(),
350
+ lastRun: scheduleRunRecordSchema.optional(),
351
+ createdAt: z.string().min(1),
352
+ updatedAt: z.string().min(1),
353
+ runs: z.array(scheduleRunRecordSchema),
354
+ });
355
+ export const scheduleCreateInputSchema = z.object({
356
+ id: z.string().min(1).optional(),
357
+ name: z.string().min(1).optional(),
358
+ sessionId: z.string().min(1).optional(),
359
+ sourceSessionId: z.string().min(1).optional(),
360
+ target: scheduleTargetSchema.optional(),
361
+ prompt: z.string().min(1),
362
+ dueAt: z.string().min(1).optional(),
363
+ schedule: scheduleSpecSchema.optional(),
364
+ execution: scheduleExecutionSchema.optional(),
365
+ memoryMode: scheduleMemoryModeSchema.optional(),
366
+ stopOn: z.array(scheduleStopReasonSchema).optional(),
367
+ });
368
+ export const scheduleCommandResultSchema = z.object({
369
+ action: z.enum(["list", "show", "create", "pause", "resume", "delete", "history", "run", "runDue", "runMissed"]),
370
+ schedules: z.array(scheduleRecordSchema).optional(),
371
+ schedule: scheduleRecordSchema.optional(),
372
+ scheduleId: z.string().min(1).optional(),
373
+ history: z.array(scheduleRunRecordSchema).optional(),
374
+ runs: z.array(z.object({
375
+ scheduleId: z.string().min(1),
376
+ run: scheduleRunRecordSchema,
377
+ })).optional(),
378
+ run: scheduleRunRecordSchema.optional(),
379
+ });
380
+ const memoryLayerSchema = z.enum(["user", "curated", "daily"]);
381
+ const memoryModeSchema = z.enum(["off", "readonly", "readwrite"]);
382
+ export const memoryCitationSchema = z.object({
383
+ path: z.string().min(1),
384
+ startLine: z.number().int().min(1),
385
+ endLine: z.number().int().min(1),
386
+ contentHash: z.string().min(1).optional(),
387
+ stale: z.boolean().optional(),
388
+ });
389
+ export const memoryFileSummarySchema = z.object({
390
+ path: z.string().min(1),
391
+ layer: memoryLayerSchema,
392
+ updatedAt: z.string().min(1),
393
+ lineCount: z.number().int().nonnegative(),
394
+ byteSize: z.number().int().nonnegative(),
395
+ contentHash: z.string().min(1),
396
+ });
397
+ export const memorySearchResultSchema = z.object({
398
+ id: z.string().min(1),
399
+ layer: memoryLayerSchema,
400
+ path: z.string().min(1),
401
+ title: z.string().min(1).optional(),
402
+ snippet: z.string(),
403
+ citation: memoryCitationSchema,
404
+ score: z.number(),
405
+ updatedAt: z.string().min(1),
406
+ });
407
+ export const memoryOverviewSchema = z.object({
408
+ projectKey: z.string().min(1),
409
+ mode: memoryModeSchema,
410
+ root: z.string().min(1),
411
+ files: z.array(memoryFileSummarySchema),
412
+ updatedAt: z.string().min(1),
413
+ });
414
+ export const memoryWriteInputSchema = z.object({
415
+ projectKey: z.string().min(1),
416
+ layer: memoryLayerSchema,
417
+ text: z.string().min(1),
418
+ title: z.string().min(1).optional(),
419
+ date: z.string().min(1).optional(),
420
+ });
421
+ export const memoryPromoteInputSchema = z.object({
422
+ projectKey: z.string().min(1),
423
+ source: memoryCitationSchema,
424
+ targetLayer: z.enum(["user", "curated"]),
425
+ title: z.string().min(1).optional(),
426
+ });
427
+ export const memorySyncConflictSchema = z.object({
428
+ path: z.string().min(1),
429
+ layer: memoryLayerSchema,
430
+ localContentHash: z.string().min(1).optional(),
431
+ remoteContentHash: z.string().min(1).optional(),
432
+ mergedContentHash: z.string().min(1),
433
+ });
434
+ export const memoryTurnOptionsSchema = z.object({
435
+ mode: memoryModeSchema,
436
+ projectKey: z.string().min(1),
437
+ topN: z.number().int().positive().optional(),
438
+ });
439
+ export const memoryCommandResultSchema = z.object({
440
+ action: z.enum(["overview", "read", "search", "reindex", "write", "promote", "status", "sync"]),
441
+ overview: memoryOverviewSchema.optional(),
442
+ path: z.string().min(1).optional(),
443
+ layer: memoryLayerSchema.optional(),
444
+ content: z.string().optional(),
445
+ citations: z.array(memoryCitationSchema).optional(),
446
+ results: z.array(memorySearchResultSchema).optional(),
447
+ written: memoryFileSummarySchema.optional(),
448
+ promoted: memoryFileSummarySchema.optional(),
449
+ conflicts: z.array(memorySyncConflictSchema).optional(),
450
+ mode: memoryModeSchema.optional(),
451
+ syncedAt: z.string().min(1).optional(),
452
+ });
180
453
  //# sourceMappingURL=protocol-schemas.js.map
@@ -4,6 +4,13 @@ export type AgentProfile = {
4
4
  label: string;
5
5
  command?: string;
6
6
  historyModel?: "append-only" | "authoritative-linear";
7
+ defaultModel?: string;
8
+ models?: Array<{
9
+ id: string;
10
+ label?: string;
11
+ unavailable?: boolean;
12
+ reason?: string;
13
+ }>;
7
14
  sessionPrimitives?: {
8
15
  resume: "acpx" | "native" | "checkpoint" | "unsupported";
9
16
  rewind: "acpx" | "native" | "checkpoint" | "unsupported";
@@ -12,6 +19,7 @@ export type AgentProfile = {
12
19
  };
13
20
  };
14
21
  export type PermissionMode = "approve-all" | "approve-reads" | "deny-all";
22
+ export type MemoryMode = "off" | "readonly" | "readwrite";
15
23
  export type MachineSnapshot = {
16
24
  id: string;
17
25
  name: string;
@@ -45,6 +53,12 @@ export type SessionSnapshot = {
45
53
  encryptedMetadata?: EncryptedEnvelope;
46
54
  currentHead?: string;
47
55
  lastTurnId?: string;
56
+ headBasis?: {
57
+ eventId?: number;
58
+ messageId?: string;
59
+ logicalTime?: number;
60
+ turnSeq?: number;
61
+ };
48
62
  sourceSessionId?: string;
49
63
  sourceCheckpointId?: string;
50
64
  historyModel?: "append-only" | "authoritative-linear";
@@ -153,6 +167,309 @@ export type MachineDevExecResult = {
153
167
  durationMs: number;
154
168
  timedOut?: boolean;
155
169
  };
170
+ export type TurnInspectionStatus = "active" | "terminal" | "unknown" | "not_found" | "uninspectable";
171
+ export type TurnReconcileResult = {
172
+ sessionId: string;
173
+ turnId?: string;
174
+ requestId?: string;
175
+ status: TurnInspectionStatus;
176
+ terminalStatus?: "completed" | "cancelled" | "failed";
177
+ currentHead?: string;
178
+ lastTurnId?: string;
179
+ providerTurnId?: string;
180
+ reason?: string;
181
+ error?: string;
182
+ evidence?: {
183
+ type: "in_memory" | "provider_history" | "provider_inspect" | "unsupported" | "missing";
184
+ detail?: string;
185
+ };
186
+ };
187
+ export type GatewayChannelType = "fake" | "lark";
188
+ export type GatewayChannelDomain = "feishu" | "lark";
189
+ export type GatewayInboundMode = "mention" | "all";
190
+ export type GatewayProcessingReactionConfig = {
191
+ enabled: boolean;
192
+ emojiType: string;
193
+ };
194
+ export type GatewayConversationKey = {
195
+ platformChatId: string;
196
+ contextKind: "main";
197
+ contextKey?: never;
198
+ } | {
199
+ platformChatId: string;
200
+ contextKind: "thread";
201
+ contextKey: string;
202
+ };
203
+ export type GatewayDestination = GatewayConversationKey & {
204
+ replyToMessageId?: string;
205
+ };
206
+ export type GatewayLastDeliveredMessage = {
207
+ externalConversationId: string;
208
+ externalMessageId: string;
209
+ requestId: string;
210
+ sessionId: string;
211
+ turnId: string;
212
+ deliveredAt: string;
213
+ };
214
+ export type GatewayLastMessageRef = {
215
+ externalConversationId: string;
216
+ externalMessageId: string;
217
+ requestId?: string;
218
+ sessionId?: string;
219
+ turnId?: string;
220
+ deliveryId?: string;
221
+ platformMessageId?: string;
222
+ at: string;
223
+ };
224
+ export type GatewayActionHint = {
225
+ label: string;
226
+ prompt?: string;
227
+ };
228
+ export type GatewayEventPayload = {
229
+ type: "turn_stopped";
230
+ sessionId: string;
231
+ machineId: string;
232
+ turnId: string;
233
+ status: "completed" | "cancelled" | "failed" | "blocked" | "needs_user";
234
+ stopReason?: string;
235
+ error?: string;
236
+ outputPreview?: string;
237
+ sessionName?: string;
238
+ actionHints?: GatewayActionHint[];
239
+ } | {
240
+ type: "notice";
241
+ title: string;
242
+ text: string;
243
+ severity?: "info" | "warning" | "error";
244
+ };
245
+ export type GatewayChannelPublic = {
246
+ id: string;
247
+ type: GatewayChannelType;
248
+ enabled: boolean;
249
+ domain?: GatewayChannelDomain;
250
+ inboundMode?: GatewayInboundMode;
251
+ processingReaction?: GatewayProcessingReactionConfig;
252
+ targetMachineId?: string;
253
+ targetSessionId?: string;
254
+ targetCwd?: string;
255
+ defaultAgent: string;
256
+ defaultModel?: string;
257
+ allowAnySender?: boolean;
258
+ allowedChatIds?: string[];
259
+ allowedSenderIds?: string[];
260
+ hasAppId: boolean;
261
+ hasAppSecret: boolean;
262
+ hasLocalToken?: boolean;
263
+ hasLocalSecret?: boolean;
264
+ listening?: boolean;
265
+ lastError?: string;
266
+ lastReceived?: GatewayLastMessageRef;
267
+ lastAdmitted?: GatewayLastMessageRef;
268
+ lastReplied?: GatewayLastMessageRef;
269
+ lastDeliveredMessage?: GatewayLastDeliveredMessage;
270
+ createdAt: string;
271
+ updatedAt: string;
272
+ };
273
+ export type GatewayChannelInput = {
274
+ id?: string;
275
+ type: GatewayChannelType;
276
+ enabled?: boolean;
277
+ targetMachineId?: string;
278
+ targetSessionId?: string;
279
+ targetCwd?: string;
280
+ defaultAgent?: string;
281
+ defaultModel?: string;
282
+ allowAnySender?: boolean;
283
+ allowedChatIds?: string[];
284
+ allowedSenderIds?: string[];
285
+ domain?: GatewayChannelDomain;
286
+ appId?: string;
287
+ appSecret?: string;
288
+ encryptedAppSecret?: EncryptedEnvelope;
289
+ inboundMode?: GatewayInboundMode;
290
+ processingReaction?: Partial<GatewayProcessingReactionConfig>;
291
+ localToken?: string;
292
+ localSecret?: string;
293
+ };
294
+ export type GatewayDeliveryResult = {
295
+ channelId: string;
296
+ externalConversationId: string;
297
+ externalMessageId: string;
298
+ sessionId?: string;
299
+ requestId?: string;
300
+ turnId?: string;
301
+ deliveryId?: string;
302
+ platformMessageId?: string;
303
+ admission?: "accepted" | "replayed";
304
+ dispatch?: "queued" | "delivered";
305
+ queued?: boolean;
306
+ duplicate?: boolean;
307
+ };
308
+ export type GatewayCommandResult = {
309
+ action: "list" | "get" | "upsert" | "enable" | "disable" | "test" | "notify";
310
+ channels?: GatewayChannelPublic[];
311
+ channel?: GatewayChannelPublic;
312
+ delivery?: GatewayDeliveryResult;
313
+ };
314
+ export type ScheduleSpec = {
315
+ type: "manual";
316
+ } | {
317
+ type: "oneshot";
318
+ runAt: string;
319
+ } | {
320
+ type: "interval";
321
+ everyMs: number;
322
+ } | {
323
+ type: "cron";
324
+ expr: string;
325
+ timezone?: string;
326
+ };
327
+ export type ScheduleTarget = {
328
+ type: "sourceSession";
329
+ sourceSessionId: string;
330
+ } | {
331
+ type: "project";
332
+ machineId?: string;
333
+ cwd: string;
334
+ agent: string;
335
+ sourceSessionId?: string;
336
+ };
337
+ export type ScheduleExecution = "continue" | "isolated";
338
+ export type ScheduleMemoryMode = "inherit" | "off" | "readonly" | "readwrite";
339
+ export type ScheduleStopReason = "blocked" | "failed" | "permission";
340
+ export type ScheduleRunRecord = {
341
+ occurrenceId: string;
342
+ dueAt: string;
343
+ requestId: string;
344
+ turnId: string;
345
+ status: "scheduled" | "admitted" | "missed" | "blocked" | "paused" | "deleted" | "failed" | "completed";
346
+ reason?: string;
347
+ sessionId?: string;
348
+ sourceSessionId?: string;
349
+ admittedAt?: string;
350
+ finishedAt?: string;
351
+ outputPreview?: string;
352
+ error?: string;
353
+ };
354
+ export type ScheduleRecord = {
355
+ id: string;
356
+ name?: string;
357
+ sessionId?: string;
358
+ sourceSessionId?: string;
359
+ target?: ScheduleTarget;
360
+ prompt: string;
361
+ dueAt?: string;
362
+ schedule?: ScheduleSpec;
363
+ execution?: ScheduleExecution;
364
+ memoryMode?: ScheduleMemoryMode;
365
+ stopOn?: ScheduleStopReason[];
366
+ status: "active" | "paused" | "completed" | "deleted";
367
+ nextRunAt?: string;
368
+ previewRunAt?: string[];
369
+ pendingRunId?: string;
370
+ runCount?: number;
371
+ lastRun?: ScheduleRunRecord;
372
+ createdAt: string;
373
+ updatedAt: string;
374
+ runs: ScheduleRunRecord[];
375
+ };
376
+ export type ScheduleCreateInput = {
377
+ id?: string;
378
+ name?: string;
379
+ sessionId?: string;
380
+ sourceSessionId?: string;
381
+ target?: ScheduleTarget;
382
+ prompt: string;
383
+ dueAt?: string;
384
+ schedule?: ScheduleSpec;
385
+ execution?: ScheduleExecution;
386
+ memoryMode?: ScheduleMemoryMode;
387
+ stopOn?: ScheduleStopReason[];
388
+ };
389
+ export type ScheduleCommandResult = {
390
+ action: "list" | "show" | "create" | "pause" | "resume" | "delete" | "history" | "run" | "runDue" | "runMissed";
391
+ schedules?: ScheduleRecord[];
392
+ schedule?: ScheduleRecord;
393
+ scheduleId?: string;
394
+ history?: ScheduleRunRecord[];
395
+ runs?: Array<{
396
+ scheduleId: string;
397
+ run: ScheduleRunRecord;
398
+ }>;
399
+ run?: ScheduleRunRecord;
400
+ };
401
+ export type MemoryLayer = "user" | "curated" | "daily";
402
+ export type MemoryCitation = {
403
+ path: string;
404
+ startLine: number;
405
+ endLine: number;
406
+ contentHash?: string;
407
+ stale?: boolean;
408
+ };
409
+ export type MemoryFileSummary = {
410
+ path: string;
411
+ layer: MemoryLayer;
412
+ updatedAt: string;
413
+ lineCount: number;
414
+ byteSize: number;
415
+ contentHash: string;
416
+ };
417
+ export type MemorySearchResult = {
418
+ id: string;
419
+ layer: MemoryLayer;
420
+ path: string;
421
+ title?: string;
422
+ snippet: string;
423
+ citation: MemoryCitation;
424
+ score: number;
425
+ updatedAt: string;
426
+ };
427
+ export type MemoryPromoteInput = {
428
+ projectKey: string;
429
+ source: MemoryCitation;
430
+ targetLayer: "user" | "curated";
431
+ title?: string;
432
+ };
433
+ export type MemorySyncConflict = {
434
+ path: string;
435
+ layer: MemoryLayer;
436
+ localContentHash?: string;
437
+ remoteContentHash?: string;
438
+ mergedContentHash: string;
439
+ };
440
+ export type MemoryOverview = {
441
+ projectKey: string;
442
+ mode: MemoryMode;
443
+ root: string;
444
+ files: MemoryFileSummary[];
445
+ updatedAt: string;
446
+ };
447
+ export type MemoryWriteInput = {
448
+ projectKey: string;
449
+ layer: MemoryLayer;
450
+ text: string;
451
+ title?: string;
452
+ date?: string;
453
+ };
454
+ export type MemoryCommandResult = {
455
+ action: "overview" | "read" | "search" | "reindex" | "write" | "promote" | "status" | "sync";
456
+ overview?: MemoryOverview;
457
+ path?: string;
458
+ layer?: MemoryLayer;
459
+ content?: string;
460
+ citations?: MemoryCitation[];
461
+ results?: MemorySearchResult[];
462
+ written?: MemoryFileSummary;
463
+ promoted?: MemoryFileSummary;
464
+ conflicts?: MemorySyncConflict[];
465
+ mode?: MemoryMode;
466
+ syncedAt?: string;
467
+ };
468
+ export type MemoryTurnOptions = {
469
+ mode: MemoryMode;
470
+ projectKey: string;
471
+ topN?: number;
472
+ };
156
473
  export type EncryptedSessionEvent = {
157
474
  id: number;
158
475
  sessionId: string;
@@ -172,17 +489,68 @@ export type EncryptedTranscriptReplacementEvent = {
172
489
  occurredAt?: number;
173
490
  payload: EncryptedEnvelope;
174
491
  };
175
- export type TranscriptWindowState = {
176
- hasMoreBefore?: boolean;
177
- nextBefore?: string;
492
+ export type SessionHeadAdvanceBasis = {
493
+ turnId: string;
494
+ eventMessageId: string;
495
+ turnSeq: number;
496
+ occurredAt?: number;
497
+ };
498
+ export type SessionUsageSnapshot = {
499
+ source: "provider" | "estimated";
500
+ usedTokens: number;
501
+ contextWindowTokens?: number;
502
+ inputTokens?: number;
503
+ outputTokens?: number;
504
+ cachedInputTokens?: number;
505
+ reasoningOutputTokens?: number;
506
+ totalTokens?: number;
507
+ };
508
+ export type PromptAttachment = {
509
+ id: string;
510
+ name: string;
511
+ mediaType: string;
512
+ sizeBytes: number;
513
+ data: string;
514
+ };
515
+ export type OptionChoice = {
516
+ id: string;
517
+ label: string;
518
+ description?: string;
178
519
  };
179
520
  export type SessionEventPayload = {
180
521
  type: "user_prompt";
181
522
  text: string;
523
+ attachments?: PromptAttachment[];
524
+ } | {
525
+ type: "option_request";
526
+ optionRequestId: string;
527
+ title?: string;
528
+ message: string;
529
+ options: OptionChoice[];
530
+ allowFreeText?: boolean;
531
+ } | {
532
+ type: "option_response";
533
+ optionRequestId: string;
534
+ selectedOptionId?: string;
535
+ text?: string;
182
536
  } | {
183
537
  type: "status";
184
538
  text: string;
185
539
  tag?: string;
540
+ } | {
541
+ type: "memory_used";
542
+ mode: MemoryMode;
543
+ projectKey: string;
544
+ memories: Array<{
545
+ id: string;
546
+ layer: MemoryLayer;
547
+ path: string;
548
+ title?: string;
549
+ citation: MemoryCitation;
550
+ }>;
551
+ } | {
552
+ type: "session_usage";
553
+ usage: SessionUsageSnapshot;
186
554
  } | {
187
555
  type: "text_delta";
188
556
  text: string;