hivehq 2.0.0

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 (883) hide show
  1. package/CHANGELOG.md +592 -0
  2. package/LICENSE +208 -0
  3. package/LICENSE.BSL +101 -0
  4. package/NOTICE +15 -0
  5. package/README.en.md +451 -0
  6. package/README.md +329 -0
  7. package/SECURITY.md +59 -0
  8. package/TRADEMARK.md +41 -0
  9. package/assets/hive-hero.png +0 -0
  10. package/assets/hive-team-view.png +0 -0
  11. package/assets/logo.png +0 -0
  12. package/assets/qq-group.jpg +0 -0
  13. package/dist/bin/team +7 -0
  14. package/dist/bin/team.cmd +3 -0
  15. package/dist/src/cli/hive-remote.d.ts +46 -0
  16. package/dist/src/cli/hive-remote.js +257 -0
  17. package/dist/src/cli/hive-update.d.ts +75 -0
  18. package/dist/src/cli/hive-update.js +215 -0
  19. package/dist/src/cli/hive.d.ts +78 -0
  20. package/dist/src/cli/hive.js +336 -0
  21. package/dist/src/cli/team.d.ts +38 -0
  22. package/dist/src/cli/team.js +762 -0
  23. package/dist/src/server/agent-command-resolver.d.ts +17 -0
  24. package/dist/src/server/agent-command-resolver.js +106 -0
  25. package/dist/src/server/agent-exit-classification.d.ts +6 -0
  26. package/dist/src/server/agent-exit-classification.js +6 -0
  27. package/dist/src/server/agent-launch-cache.d.ts +20 -0
  28. package/dist/src/server/agent-launch-cache.js +75 -0
  29. package/dist/src/server/agent-launch-resolver.d.ts +4 -0
  30. package/dist/src/server/agent-launch-resolver.js +38 -0
  31. package/dist/src/server/agent-manager-support.d.ts +36 -0
  32. package/dist/src/server/agent-manager-support.js +318 -0
  33. package/dist/src/server/agent-manager.d.ts +54 -0
  34. package/dist/src/server/agent-manager.js +104 -0
  35. package/dist/src/server/agent-run-bootstrap.d.ts +83 -0
  36. package/dist/src/server/agent-run-bootstrap.js +101 -0
  37. package/dist/src/server/agent-run-exit-handler.d.ts +8 -0
  38. package/dist/src/server/agent-run-exit-handler.js +32 -0
  39. package/dist/src/server/agent-run-start-context.d.ts +24 -0
  40. package/dist/src/server/agent-run-start-context.js +1 -0
  41. package/dist/src/server/agent-run-starter.d.ts +30 -0
  42. package/dist/src/server/agent-run-starter.js +155 -0
  43. package/dist/src/server/agent-run-store.d.ts +51 -0
  44. package/dist/src/server/agent-run-store.js +137 -0
  45. package/dist/src/server/agent-run-sync.d.ts +10 -0
  46. package/dist/src/server/agent-run-sync.js +32 -0
  47. package/dist/src/server/agent-runtime-active-run.d.ts +3 -0
  48. package/dist/src/server/agent-runtime-active-run.js +10 -0
  49. package/dist/src/server/agent-runtime-close.d.ts +5 -0
  50. package/dist/src/server/agent-runtime-close.js +36 -0
  51. package/dist/src/server/agent-runtime-contract.d.ts +48 -0
  52. package/dist/src/server/agent-runtime-contract.js +1 -0
  53. package/dist/src/server/agent-runtime-flow-adapter.d.ts +10 -0
  54. package/dist/src/server/agent-runtime-flow-adapter.js +14 -0
  55. package/dist/src/server/agent-runtime-list-runs.d.ts +3 -0
  56. package/dist/src/server/agent-runtime-list-runs.js +18 -0
  57. package/dist/src/server/agent-runtime-ports.d.ts +22 -0
  58. package/dist/src/server/agent-runtime-ports.js +1 -0
  59. package/dist/src/server/agent-runtime-stop-run.d.ts +4 -0
  60. package/dist/src/server/agent-runtime-stop-run.js +19 -0
  61. package/dist/src/server/agent-runtime-types.d.ts +5 -0
  62. package/dist/src/server/agent-runtime-types.js +1 -0
  63. package/dist/src/server/agent-runtime.d.ts +10 -0
  64. package/dist/src/server/agent-runtime.js +143 -0
  65. package/dist/src/server/agent-session-store.d.ts +7 -0
  66. package/dist/src/server/agent-session-store.js +45 -0
  67. package/dist/src/server/agent-startup-instructions.d.ts +20 -0
  68. package/dist/src/server/agent-startup-instructions.js +36 -0
  69. package/dist/src/server/agent-stdin-dispatcher.d.ts +52 -0
  70. package/dist/src/server/agent-stdin-dispatcher.js +224 -0
  71. package/dist/src/server/agent-tokens.d.ts +15 -0
  72. package/dist/src/server/agent-tokens.js +25 -0
  73. package/dist/src/server/app-state-store.d.ts +10 -0
  74. package/dist/src/server/app-state-store.js +12 -0
  75. package/dist/src/server/app.d.ts +20 -0
  76. package/dist/src/server/app.js +211 -0
  77. package/dist/src/server/claude-command-defaults.d.ts +1 -0
  78. package/dist/src/server/claude-command-defaults.js +5 -0
  79. package/dist/src/server/claude-session-coordinator.d.ts +10 -0
  80. package/dist/src/server/claude-session-coordinator.js +68 -0
  81. package/dist/src/server/claude-session-support.d.ts +1 -0
  82. package/dist/src/server/claude-session-support.js +1 -0
  83. package/dist/src/server/command-preset-defaults.d.ts +11 -0
  84. package/dist/src/server/command-preset-defaults.js +63 -0
  85. package/dist/src/server/command-preset-store.d.ts +49 -0
  86. package/dist/src/server/command-preset-store.js +83 -0
  87. package/dist/src/server/cron-util.d.ts +7 -0
  88. package/dist/src/server/cron-util.js +19 -0
  89. package/dist/src/server/dispatch-ledger-serializer.d.ts +15 -0
  90. package/dist/src/server/dispatch-ledger-serializer.js +14 -0
  91. package/dist/src/server/dispatch-ledger-store.d.ts +108 -0
  92. package/dist/src/server/dispatch-ledger-store.js +241 -0
  93. package/dist/src/server/env-sync-message.d.ts +9 -0
  94. package/dist/src/server/env-sync-message.js +29 -0
  95. package/dist/src/server/feature-flags.d.ts +42 -0
  96. package/dist/src/server/feature-flags.js +24 -0
  97. package/dist/src/server/fs-browse.d.ts +40 -0
  98. package/dist/src/server/fs-browse.js +306 -0
  99. package/dist/src/server/fs-pick-folder.d.ts +25 -0
  100. package/dist/src/server/fs-pick-folder.js +115 -0
  101. package/dist/src/server/fs-sandbox.d.ts +15 -0
  102. package/dist/src/server/fs-sandbox.js +56 -0
  103. package/dist/src/server/hive-team-guidance.d.ts +39 -0
  104. package/dist/src/server/hive-team-guidance.js +295 -0
  105. package/dist/src/server/http-errors.d.ts +22 -0
  106. package/dist/src/server/http-errors.js +44 -0
  107. package/dist/src/server/live-run-registry.d.ts +22 -0
  108. package/dist/src/server/live-run-registry.js +52 -0
  109. package/dist/src/server/local-request-guard.d.ts +3 -0
  110. package/dist/src/server/local-request-guard.js +41 -0
  111. package/dist/src/server/machine-name.d.ts +2 -0
  112. package/dist/src/server/machine-name.js +13 -0
  113. package/dist/src/server/marketplace-store.d.ts +38 -0
  114. package/dist/src/server/marketplace-store.js +85 -0
  115. package/dist/src/server/message-log-store.d.ts +51 -0
  116. package/dist/src/server/message-log-store.js +90 -0
  117. package/dist/src/server/open-target-commands.d.ts +54 -0
  118. package/dist/src/server/open-target-commands.js +204 -0
  119. package/dist/src/server/orchestrator-autostart.d.ts +42 -0
  120. package/dist/src/server/orchestrator-autostart.js +114 -0
  121. package/dist/src/server/orchestrator-launch.d.ts +24 -0
  122. package/dist/src/server/orchestrator-launch.js +71 -0
  123. package/dist/src/server/package-version.d.ts +17 -0
  124. package/dist/src/server/package-version.js +32 -0
  125. package/dist/src/server/path-canonicalization.d.ts +3 -0
  126. package/dist/src/server/path-canonicalization.js +29 -0
  127. package/dist/src/server/platform-path.d.ts +4 -0
  128. package/dist/src/server/platform-path.js +26 -0
  129. package/dist/src/server/post-start-input-writer.d.ts +6 -0
  130. package/dist/src/server/post-start-input-writer.js +242 -0
  131. package/dist/src/server/preset-launch-support.d.ts +6 -0
  132. package/dist/src/server/preset-launch-support.js +98 -0
  133. package/dist/src/server/pty-output-bus.d.ts +8 -0
  134. package/dist/src/server/pty-output-bus.js +32 -0
  135. package/dist/src/server/recovery-summary.d.ts +15 -0
  136. package/dist/src/server/recovery-summary.js +92 -0
  137. package/dist/src/server/remote-audit-store.d.ts +51 -0
  138. package/dist/src/server/remote-audit-store.js +108 -0
  139. package/dist/src/server/remote-config-keys.d.ts +17 -0
  140. package/dist/src/server/remote-config-keys.js +27 -0
  141. package/dist/src/server/remote-control-constants.d.ts +30 -0
  142. package/dist/src/server/remote-control-constants.js +29 -0
  143. package/dist/src/server/remote-device-session.d.ts +40 -0
  144. package/dist/src/server/remote-device-session.js +22 -0
  145. package/dist/src/server/remote-device-store.d.ts +36 -0
  146. package/dist/src/server/remote-device-store.js +67 -0
  147. package/dist/src/server/remote-frame-bridge.d.ts +102 -0
  148. package/dist/src/server/remote-frame-bridge.js +791 -0
  149. package/dist/src/server/remote-gateway-client.d.ts +14 -0
  150. package/dist/src/server/remote-gateway-client.js +36 -0
  151. package/dist/src/server/remote-loopback-auth.d.ts +6 -0
  152. package/dist/src/server/remote-loopback-auth.js +112 -0
  153. package/dist/src/server/remote-pairing-tunnel.d.ts +59 -0
  154. package/dist/src/server/remote-pairing-tunnel.js +146 -0
  155. package/dist/src/server/remote-pairing.d.ts +58 -0
  156. package/dist/src/server/remote-pairing.js +237 -0
  157. package/dist/src/server/remote-tunnel.d.ts +113 -0
  158. package/dist/src/server/remote-tunnel.js +514 -0
  159. package/dist/src/server/report-outbox-store.d.ts +36 -0
  160. package/dist/src/server/report-outbox-store.js +33 -0
  161. package/dist/src/server/restart-policy-support.d.ts +30 -0
  162. package/dist/src/server/restart-policy-support.js +21 -0
  163. package/dist/src/server/restart-policy.d.ts +18 -0
  164. package/dist/src/server/restart-policy.js +77 -0
  165. package/dist/src/server/role-template-store.d.ts +45 -0
  166. package/dist/src/server/role-template-store.js +76 -0
  167. package/dist/src/server/role-templates.d.ts +7 -0
  168. package/dist/src/server/role-templates.js +54 -0
  169. package/dist/src/server/route-helpers.d.ts +9 -0
  170. package/dist/src/server/route-helpers.js +61 -0
  171. package/dist/src/server/route-types.d.ts +121 -0
  172. package/dist/src/server/route-types.js +1 -0
  173. package/dist/src/server/routes-dispatches.d.ts +2 -0
  174. package/dist/src/server/routes-dispatches.js +54 -0
  175. package/dist/src/server/routes-fs.d.ts +2 -0
  176. package/dist/src/server/routes-fs.js +24 -0
  177. package/dist/src/server/routes-marketplace.d.ts +2 -0
  178. package/dist/src/server/routes-marketplace.js +54 -0
  179. package/dist/src/server/routes-open-workspace.d.ts +2 -0
  180. package/dist/src/server/routes-open-workspace.js +47 -0
  181. package/dist/src/server/routes-remote.d.ts +2 -0
  182. package/dist/src/server/routes-remote.js +166 -0
  183. package/dist/src/server/routes-runtime.d.ts +2 -0
  184. package/dist/src/server/routes-runtime.js +79 -0
  185. package/dist/src/server/routes-settings.d.ts +2 -0
  186. package/dist/src/server/routes-settings.js +213 -0
  187. package/dist/src/server/routes-tasks.d.ts +2 -0
  188. package/dist/src/server/routes-tasks.js +47 -0
  189. package/dist/src/server/routes-team-memory.d.ts +2 -0
  190. package/dist/src/server/routes-team-memory.js +154 -0
  191. package/dist/src/server/routes-team-recall.d.ts +2 -0
  192. package/dist/src/server/routes-team-recall.js +119 -0
  193. package/dist/src/server/routes-team.d.ts +2 -0
  194. package/dist/src/server/routes-team.js +351 -0
  195. package/dist/src/server/routes-ui.d.ts +2 -0
  196. package/dist/src/server/routes-ui.js +17 -0
  197. package/dist/src/server/routes-version.d.ts +2 -0
  198. package/dist/src/server/routes-version.js +6 -0
  199. package/dist/src/server/routes-workflow-schedules.d.ts +2 -0
  200. package/dist/src/server/routes-workflow-schedules.js +58 -0
  201. package/dist/src/server/routes-workflows.d.ts +2 -0
  202. package/dist/src/server/routes-workflows.js +83 -0
  203. package/dist/src/server/routes-workspace-memory-dreams.d.ts +2 -0
  204. package/dist/src/server/routes-workspace-memory-dreams.js +105 -0
  205. package/dist/src/server/routes-workspace-memory.d.ts +2 -0
  206. package/dist/src/server/routes-workspace-memory.js +215 -0
  207. package/dist/src/server/routes-workspaces.d.ts +2 -0
  208. package/dist/src/server/routes-workspaces.js +177 -0
  209. package/dist/src/server/routes.d.ts +6 -0
  210. package/dist/src/server/routes.js +55 -0
  211. package/dist/src/server/runtime-database.d.ts +3 -0
  212. package/dist/src/server/runtime-database.js +41 -0
  213. package/dist/src/server/runtime-message-builders.d.ts +7 -0
  214. package/dist/src/server/runtime-message-builders.js +60 -0
  215. package/dist/src/server/runtime-restart-policy.d.ts +18 -0
  216. package/dist/src/server/runtime-restart-policy.js +12 -0
  217. package/dist/src/server/runtime-store-contract.d.ts +162 -0
  218. package/dist/src/server/runtime-store-contract.js +1 -0
  219. package/dist/src/server/runtime-store-dream.d.ts +23 -0
  220. package/dist/src/server/runtime-store-dream.js +16 -0
  221. package/dist/src/server/runtime-store-helpers.d.ts +115 -0
  222. package/dist/src/server/runtime-store-helpers.js +411 -0
  223. package/dist/src/server/runtime-store-memory.d.ts +33 -0
  224. package/dist/src/server/runtime-store-memory.js +37 -0
  225. package/dist/src/server/runtime-store-remote.d.ts +5 -0
  226. package/dist/src/server/runtime-store-remote.js +45 -0
  227. package/dist/src/server/runtime-store-workflows.d.ts +6 -0
  228. package/dist/src/server/runtime-store-workflows.js +108 -0
  229. package/dist/src/server/runtime-store.d.ts +4 -0
  230. package/dist/src/server/runtime-store.js +165 -0
  231. package/dist/src/server/session-capture-claude.d.ts +34 -0
  232. package/dist/src/server/session-capture-claude.js +103 -0
  233. package/dist/src/server/session-capture-codex.d.ts +6 -0
  234. package/dist/src/server/session-capture-codex.js +108 -0
  235. package/dist/src/server/session-capture-gemini.d.ts +5 -0
  236. package/dist/src/server/session-capture-gemini.js +81 -0
  237. package/dist/src/server/session-capture-opencode.d.ts +22 -0
  238. package/dist/src/server/session-capture-opencode.js +75 -0
  239. package/dist/src/server/session-capture.d.ts +77 -0
  240. package/dist/src/server/session-capture.js +123 -0
  241. package/dist/src/server/settings-store.d.ts +22 -0
  242. package/dist/src/server/settings-store.js +22 -0
  243. package/dist/src/server/sqlite-schema-v10.d.ts +2 -0
  244. package/dist/src/server/sqlite-schema-v10.js +13 -0
  245. package/dist/src/server/sqlite-schema-v11.d.ts +2 -0
  246. package/dist/src/server/sqlite-schema-v11.js +10 -0
  247. package/dist/src/server/sqlite-schema-v12.d.ts +2 -0
  248. package/dist/src/server/sqlite-schema-v12.js +21 -0
  249. package/dist/src/server/sqlite-schema-v13.d.ts +2 -0
  250. package/dist/src/server/sqlite-schema-v13.js +4 -0
  251. package/dist/src/server/sqlite-schema-v14.d.ts +2 -0
  252. package/dist/src/server/sqlite-schema-v14.js +84 -0
  253. package/dist/src/server/sqlite-schema-v15.d.ts +2 -0
  254. package/dist/src/server/sqlite-schema-v15.js +73 -0
  255. package/dist/src/server/sqlite-schema-v16.d.ts +2 -0
  256. package/dist/src/server/sqlite-schema-v16.js +6 -0
  257. package/dist/src/server/sqlite-schema-v17.d.ts +2 -0
  258. package/dist/src/server/sqlite-schema-v17.js +15 -0
  259. package/dist/src/server/sqlite-schema-v18.d.ts +2 -0
  260. package/dist/src/server/sqlite-schema-v18.js +6 -0
  261. package/dist/src/server/sqlite-schema-v19.d.ts +2 -0
  262. package/dist/src/server/sqlite-schema-v19.js +17 -0
  263. package/dist/src/server/sqlite-schema-v20.d.ts +2 -0
  264. package/dist/src/server/sqlite-schema-v20.js +20 -0
  265. package/dist/src/server/sqlite-schema-v21.d.ts +2 -0
  266. package/dist/src/server/sqlite-schema-v21.js +20 -0
  267. package/dist/src/server/sqlite-schema-v22.d.ts +2 -0
  268. package/dist/src/server/sqlite-schema-v22.js +27 -0
  269. package/dist/src/server/sqlite-schema-v23.d.ts +2 -0
  270. package/dist/src/server/sqlite-schema-v23.js +43 -0
  271. package/dist/src/server/sqlite-schema-v24.d.ts +2 -0
  272. package/dist/src/server/sqlite-schema-v24.js +34 -0
  273. package/dist/src/server/sqlite-schema-v25.d.ts +2 -0
  274. package/dist/src/server/sqlite-schema-v25.js +127 -0
  275. package/dist/src/server/sqlite-schema-v26.d.ts +2 -0
  276. package/dist/src/server/sqlite-schema-v26.js +56 -0
  277. package/dist/src/server/sqlite-schema-v27.d.ts +6 -0
  278. package/dist/src/server/sqlite-schema-v27.js +92 -0
  279. package/dist/src/server/sqlite-schema-v28.d.ts +2 -0
  280. package/dist/src/server/sqlite-schema-v28.js +19 -0
  281. package/dist/src/server/sqlite-schema-v5.d.ts +2 -0
  282. package/dist/src/server/sqlite-schema-v5.js +61 -0
  283. package/dist/src/server/sqlite-schema-v7.d.ts +2 -0
  284. package/dist/src/server/sqlite-schema-v7.js +70 -0
  285. package/dist/src/server/sqlite-schema-v8.d.ts +2 -0
  286. package/dist/src/server/sqlite-schema-v8.js +6 -0
  287. package/dist/src/server/sqlite-schema-v9.d.ts +2 -0
  288. package/dist/src/server/sqlite-schema-v9.js +6 -0
  289. package/dist/src/server/sqlite-schema.d.ts +3 -0
  290. package/dist/src/server/sqlite-schema.js +353 -0
  291. package/dist/src/server/startup-command-parser.d.ts +20 -0
  292. package/dist/src/server/startup-command-parser.js +72 -0
  293. package/dist/src/server/system-message.d.ts +8 -0
  294. package/dist/src/server/system-message.js +8 -0
  295. package/dist/src/server/task-deps.d.ts +32 -0
  296. package/dist/src/server/task-deps.js +40 -0
  297. package/dist/src/server/tasks-file-watcher.d.ts +47 -0
  298. package/dist/src/server/tasks-file-watcher.js +200 -0
  299. package/dist/src/server/tasks-file.d.ts +23 -0
  300. package/dist/src/server/tasks-file.js +101 -0
  301. package/dist/src/server/tasks-websocket-server.d.ts +8 -0
  302. package/dist/src/server/tasks-websocket-server.js +95 -0
  303. package/dist/src/server/team-authz.d.ts +13 -0
  304. package/dist/src/server/team-authz.js +53 -0
  305. package/dist/src/server/team-autostaff.d.ts +16 -0
  306. package/dist/src/server/team-autostaff.js +16 -0
  307. package/dist/src/server/team-list-enrichment.d.ts +22 -0
  308. package/dist/src/server/team-list-enrichment.js +40 -0
  309. package/dist/src/server/team-list-serializer.d.ts +2 -0
  310. package/dist/src/server/team-list-serializer.js +11 -0
  311. package/dist/src/server/team-memory-digest.d.ts +52 -0
  312. package/dist/src/server/team-memory-digest.js +200 -0
  313. package/dist/src/server/team-memory-dream-applier.d.ts +5 -0
  314. package/dist/src/server/team-memory-dream-applier.js +234 -0
  315. package/dist/src/server/team-memory-dream-http-serializers.d.ts +13 -0
  316. package/dist/src/server/team-memory-dream-http-serializers.js +12 -0
  317. package/dist/src/server/team-memory-dream-ops.d.ts +40 -0
  318. package/dist/src/server/team-memory-dream-ops.js +153 -0
  319. package/dist/src/server/team-memory-dream-reverter.d.ts +22 -0
  320. package/dist/src/server/team-memory-dream-reverter.js +221 -0
  321. package/dist/src/server/team-memory-dream-run-store.d.ts +23 -0
  322. package/dist/src/server/team-memory-dream-run-store.js +211 -0
  323. package/dist/src/server/team-memory-dream-runner.d.ts +37 -0
  324. package/dist/src/server/team-memory-dream-runner.js +178 -0
  325. package/dist/src/server/team-memory-dream-scheduler.d.ts +32 -0
  326. package/dist/src/server/team-memory-dream-scheduler.js +115 -0
  327. package/dist/src/server/team-memory-dream-store.d.ts +19 -0
  328. package/dist/src/server/team-memory-dream-store.js +16 -0
  329. package/dist/src/server/team-memory-dream-types.d.ts +104 -0
  330. package/dist/src/server/team-memory-dream-types.js +23 -0
  331. package/dist/src/server/team-memory-export.d.ts +22 -0
  332. package/dist/src/server/team-memory-export.js +220 -0
  333. package/dist/src/server/team-memory-feature.d.ts +12 -0
  334. package/dist/src/server/team-memory-feature.js +12 -0
  335. package/dist/src/server/team-memory-http-serializers.d.ts +102 -0
  336. package/dist/src/server/team-memory-http-serializers.js +46 -0
  337. package/dist/src/server/team-memory-injection.d.ts +31 -0
  338. package/dist/src/server/team-memory-injection.js +49 -0
  339. package/dist/src/server/team-memory-store.d.ts +116 -0
  340. package/dist/src/server/team-memory-store.js +513 -0
  341. package/dist/src/server/team-operations.d.ts +102 -0
  342. package/dist/src/server/team-operations.js +387 -0
  343. package/dist/src/server/team-recall-store.d.ts +38 -0
  344. package/dist/src/server/team-recall-store.js +205 -0
  345. package/dist/src/server/terminal-flow-control.d.ts +19 -0
  346. package/dist/src/server/terminal-flow-control.js +116 -0
  347. package/dist/src/server/terminal-input-profile.d.ts +10 -0
  348. package/dist/src/server/terminal-input-profile.js +9 -0
  349. package/dist/src/server/terminal-protocol.d.ts +29 -0
  350. package/dist/src/server/terminal-protocol.js +47 -0
  351. package/dist/src/server/terminal-state-mirror.d.ts +21 -0
  352. package/dist/src/server/terminal-state-mirror.js +67 -0
  353. package/dist/src/server/terminal-stream-hub.d.ts +9 -0
  354. package/dist/src/server/terminal-stream-hub.js +192 -0
  355. package/dist/src/server/terminal-ws-server.d.ts +6 -0
  356. package/dist/src/server/terminal-ws-server.js +115 -0
  357. package/dist/src/server/ui-auth-helpers.d.ts +4 -0
  358. package/dist/src/server/ui-auth-helpers.js +28 -0
  359. package/dist/src/server/ui-auth.d.ts +8 -0
  360. package/dist/src/server/ui-auth.js +32 -0
  361. package/dist/src/server/version-service.d.ts +16 -0
  362. package/dist/src/server/version-service.js +72 -0
  363. package/dist/src/server/webhook-notifier.d.ts +34 -0
  364. package/dist/src/server/webhook-notifier.js +47 -0
  365. package/dist/src/server/websocket-upgrade-safety.d.ts +10 -0
  366. package/dist/src/server/websocket-upgrade-safety.js +35 -0
  367. package/dist/src/server/windows-command-line.d.ts +3 -0
  368. package/dist/src/server/windows-command-line.js +9 -0
  369. package/dist/src/server/windows-filename.d.ts +2 -0
  370. package/dist/src/server/windows-filename.js +33 -0
  371. package/dist/src/server/worker-output-tracker.d.ts +14 -0
  372. package/dist/src/server/worker-output-tracker.js +50 -0
  373. package/dist/src/server/workflow-cli-policy.d.ts +60 -0
  374. package/dist/src/server/workflow-cli-policy.js +110 -0
  375. package/dist/src/server/workflow-dispatch-awaiter.d.ts +12 -0
  376. package/dist/src/server/workflow-dispatch-awaiter.js +80 -0
  377. package/dist/src/server/workflow-feature.d.ts +15 -0
  378. package/dist/src/server/workflow-feature.js +15 -0
  379. package/dist/src/server/workflow-http-serializers.d.ts +64 -0
  380. package/dist/src/server/workflow-http-serializers.js +58 -0
  381. package/dist/src/server/workflow-output-schema.d.ts +18 -0
  382. package/dist/src/server/workflow-output-schema.js +41 -0
  383. package/dist/src/server/workflow-run-log-store.d.ts +19 -0
  384. package/dist/src/server/workflow-run-log-store.js +45 -0
  385. package/dist/src/server/workflow-run-store.d.ts +50 -0
  386. package/dist/src/server/workflow-run-store.js +103 -0
  387. package/dist/src/server/workflow-runner.d.ts +147 -0
  388. package/dist/src/server/workflow-runner.js +411 -0
  389. package/dist/src/server/workflow-schedule-create.d.ts +14 -0
  390. package/dist/src/server/workflow-schedule-create.js +41 -0
  391. package/dist/src/server/workflow-schedule-store.d.ts +43 -0
  392. package/dist/src/server/workflow-schedule-store.js +112 -0
  393. package/dist/src/server/workflow-scheduler.d.ts +36 -0
  394. package/dist/src/server/workflow-scheduler.js +97 -0
  395. package/dist/src/server/workflow-script-loader.d.ts +34 -0
  396. package/dist/src/server/workflow-script-loader.js +106 -0
  397. package/dist/src/server/workspace-path-validation.d.ts +1 -0
  398. package/dist/src/server/workspace-path-validation.js +42 -0
  399. package/dist/src/server/workspace-shell-runtime.d.ts +35 -0
  400. package/dist/src/server/workspace-shell-runtime.js +228 -0
  401. package/dist/src/server/workspace-store-contract.d.ts +32 -0
  402. package/dist/src/server/workspace-store-contract.js +1 -0
  403. package/dist/src/server/workspace-store-hydration.d.ts +5 -0
  404. package/dist/src/server/workspace-store-hydration.js +76 -0
  405. package/dist/src/server/workspace-store-mutations.d.ts +14 -0
  406. package/dist/src/server/workspace-store-mutations.js +48 -0
  407. package/dist/src/server/workspace-store-support.d.ts +33 -0
  408. package/dist/src/server/workspace-store-support.js +36 -0
  409. package/dist/src/server/workspace-store.d.ts +5 -0
  410. package/dist/src/server/workspace-store.js +153 -0
  411. package/dist/src/shared/fs-browse.d.ts +1 -0
  412. package/dist/src/shared/fs-browse.js +1 -0
  413. package/dist/src/shared/open-targets.d.ts +20 -0
  414. package/dist/src/shared/open-targets.js +36 -0
  415. package/dist/src/shared/path-input.d.ts +12 -0
  416. package/dist/src/shared/path-input.js +22 -0
  417. package/dist/src/shared/remote-bridge-routing.d.ts +19 -0
  418. package/dist/src/shared/remote-bridge-routing.js +141 -0
  419. package/dist/src/shared/remote-crypto.d.ts +138 -0
  420. package/dist/src/shared/remote-crypto.js +427 -0
  421. package/dist/src/shared/remote-pairing-code.d.ts +7 -0
  422. package/dist/src/shared/remote-pairing-code.js +47 -0
  423. package/dist/src/shared/remote-protocol.d.ts +160 -0
  424. package/dist/src/shared/remote-protocol.js +526 -0
  425. package/dist/src/shared/team-memory.d.ts +11 -0
  426. package/dist/src/shared/team-memory.js +10 -0
  427. package/dist/src/shared/team-recall.d.ts +1 -0
  428. package/dist/src/shared/team-recall.js +1 -0
  429. package/dist/src/shared/types.d.ts +66 -0
  430. package/dist/src/shared/types.js +1 -0
  431. package/dist/vendor/marketplace/en/LICENSE +21 -0
  432. package/dist/vendor/marketplace/en/SOURCES.md +12 -0
  433. package/dist/vendor/marketplace/en/academic/academic-anthropologist.md +125 -0
  434. package/dist/vendor/marketplace/en/academic/academic-geographer.md +127 -0
  435. package/dist/vendor/marketplace/en/academic/academic-historian.md +123 -0
  436. package/dist/vendor/marketplace/en/academic/academic-narratologist.md +118 -0
  437. package/dist/vendor/marketplace/en/academic/academic-psychologist.md +118 -0
  438. package/dist/vendor/marketplace/en/design/design-brand-guardian.md +322 -0
  439. package/dist/vendor/marketplace/en/design/design-image-prompt-engineer.md +236 -0
  440. package/dist/vendor/marketplace/en/design/design-inclusive-visuals-specialist.md +71 -0
  441. package/dist/vendor/marketplace/en/design/design-ui-designer.md +383 -0
  442. package/dist/vendor/marketplace/en/design/design-ux-architect.md +469 -0
  443. package/dist/vendor/marketplace/en/design/design-ux-researcher.md +329 -0
  444. package/dist/vendor/marketplace/en/design/design-visual-storyteller.md +149 -0
  445. package/dist/vendor/marketplace/en/design/design-whimsy-injector.md +438 -0
  446. package/dist/vendor/marketplace/en/engineering/engineering-ai-data-remediation-engineer.md +211 -0
  447. package/dist/vendor/marketplace/en/engineering/engineering-ai-engineer.md +146 -0
  448. package/dist/vendor/marketplace/en/engineering/engineering-autonomous-optimization-architect.md +107 -0
  449. package/dist/vendor/marketplace/en/engineering/engineering-backend-architect.md +235 -0
  450. package/dist/vendor/marketplace/en/engineering/engineering-cms-developer.md +536 -0
  451. package/dist/vendor/marketplace/en/engineering/engineering-code-reviewer.md +76 -0
  452. package/dist/vendor/marketplace/en/engineering/engineering-codebase-onboarding-engineer.md +173 -0
  453. package/dist/vendor/marketplace/en/engineering/engineering-data-engineer.md +306 -0
  454. package/dist/vendor/marketplace/en/engineering/engineering-database-optimizer.md +176 -0
  455. package/dist/vendor/marketplace/en/engineering/engineering-devops-automator.md +376 -0
  456. package/dist/vendor/marketplace/en/engineering/engineering-email-intelligence-engineer.md +353 -0
  457. package/dist/vendor/marketplace/en/engineering/engineering-embedded-firmware-engineer.md +173 -0
  458. package/dist/vendor/marketplace/en/engineering/engineering-feishu-integration-developer.md +598 -0
  459. package/dist/vendor/marketplace/en/engineering/engineering-filament-optimization-specialist.md +283 -0
  460. package/dist/vendor/marketplace/en/engineering/engineering-frontend-developer.md +225 -0
  461. package/dist/vendor/marketplace/en/engineering/engineering-git-workflow-master.md +84 -0
  462. package/dist/vendor/marketplace/en/engineering/engineering-incident-response-commander.md +444 -0
  463. package/dist/vendor/marketplace/en/engineering/engineering-minimal-change-engineer.md +207 -0
  464. package/dist/vendor/marketplace/en/engineering/engineering-mobile-app-builder.md +493 -0
  465. package/dist/vendor/marketplace/en/engineering/engineering-rapid-prototyper.md +462 -0
  466. package/dist/vendor/marketplace/en/engineering/engineering-security-engineer.md +304 -0
  467. package/dist/vendor/marketplace/en/engineering/engineering-senior-developer.md +176 -0
  468. package/dist/vendor/marketplace/en/engineering/engineering-software-architect.md +81 -0
  469. package/dist/vendor/marketplace/en/engineering/engineering-solidity-smart-contract-engineer.md +522 -0
  470. package/dist/vendor/marketplace/en/engineering/engineering-sre.md +90 -0
  471. package/dist/vendor/marketplace/en/engineering/engineering-technical-writer.md +393 -0
  472. package/dist/vendor/marketplace/en/engineering/engineering-threat-detection-engineer.md +534 -0
  473. package/dist/vendor/marketplace/en/engineering/engineering-voice-ai-integration-engineer.md +561 -0
  474. package/dist/vendor/marketplace/en/engineering/engineering-wechat-mini-program-developer.md +350 -0
  475. package/dist/vendor/marketplace/en/finance/finance-bookkeeper-controller.md +260 -0
  476. package/dist/vendor/marketplace/en/finance/finance-financial-analyst.md +234 -0
  477. package/dist/vendor/marketplace/en/finance/finance-fpa-analyst.md +263 -0
  478. package/dist/vendor/marketplace/en/finance/finance-investment-researcher.md +272 -0
  479. package/dist/vendor/marketplace/en/finance/finance-tax-strategist.md +239 -0
  480. package/dist/vendor/marketplace/en/game-development/blender/blender-addon-engineer.md +234 -0
  481. package/dist/vendor/marketplace/en/game-development/game-audio-engineer.md +264 -0
  482. package/dist/vendor/marketplace/en/game-development/game-designer.md +167 -0
  483. package/dist/vendor/marketplace/en/game-development/godot/godot-gameplay-scripter.md +334 -0
  484. package/dist/vendor/marketplace/en/game-development/godot/godot-multiplayer-engineer.md +297 -0
  485. package/dist/vendor/marketplace/en/game-development/godot/godot-shader-developer.md +266 -0
  486. package/dist/vendor/marketplace/en/game-development/level-designer.md +208 -0
  487. package/dist/vendor/marketplace/en/game-development/narrative-designer.md +243 -0
  488. package/dist/vendor/marketplace/en/game-development/roblox-studio/roblox-avatar-creator.md +297 -0
  489. package/dist/vendor/marketplace/en/game-development/roblox-studio/roblox-experience-designer.md +305 -0
  490. package/dist/vendor/marketplace/en/game-development/roblox-studio/roblox-systems-scripter.md +325 -0
  491. package/dist/vendor/marketplace/en/game-development/technical-artist.md +229 -0
  492. package/dist/vendor/marketplace/en/game-development/unity/unity-architect.md +271 -0
  493. package/dist/vendor/marketplace/en/game-development/unity/unity-editor-tool-developer.md +310 -0
  494. package/dist/vendor/marketplace/en/game-development/unity/unity-multiplayer-engineer.md +321 -0
  495. package/dist/vendor/marketplace/en/game-development/unity/unity-shader-graph-artist.md +269 -0
  496. package/dist/vendor/marketplace/en/game-development/unreal-engine/unreal-multiplayer-architect.md +313 -0
  497. package/dist/vendor/marketplace/en/game-development/unreal-engine/unreal-systems-engineer.md +310 -0
  498. package/dist/vendor/marketplace/en/game-development/unreal-engine/unreal-technical-artist.md +256 -0
  499. package/dist/vendor/marketplace/en/game-development/unreal-engine/unreal-world-builder.md +273 -0
  500. package/dist/vendor/marketplace/en/integrations/mcp-memory/backend-architect-with-memory.md +247 -0
  501. package/dist/vendor/marketplace/en/manifest.json +1869 -0
  502. package/dist/vendor/marketplace/en/marketing/marketing-agentic-search-optimizer.md +311 -0
  503. package/dist/vendor/marketplace/en/marketing/marketing-ai-citation-strategist.md +170 -0
  504. package/dist/vendor/marketplace/en/marketing/marketing-app-store-optimizer.md +321 -0
  505. package/dist/vendor/marketplace/en/marketing/marketing-baidu-seo-specialist.md +226 -0
  506. package/dist/vendor/marketplace/en/marketing/marketing-bilibili-content-strategist.md +199 -0
  507. package/dist/vendor/marketplace/en/marketing/marketing-book-co-author.md +110 -0
  508. package/dist/vendor/marketplace/en/marketing/marketing-carousel-growth-engine.md +199 -0
  509. package/dist/vendor/marketplace/en/marketing/marketing-china-ecommerce-operator.md +283 -0
  510. package/dist/vendor/marketplace/en/marketing/marketing-china-market-localization-strategist.md +283 -0
  511. package/dist/vendor/marketplace/en/marketing/marketing-content-creator.md +54 -0
  512. package/dist/vendor/marketplace/en/marketing/marketing-cross-border-ecommerce.md +259 -0
  513. package/dist/vendor/marketplace/en/marketing/marketing-douyin-strategist.md +149 -0
  514. package/dist/vendor/marketplace/en/marketing/marketing-growth-hacker.md +54 -0
  515. package/dist/vendor/marketplace/en/marketing/marketing-instagram-curator.md +113 -0
  516. package/dist/vendor/marketplace/en/marketing/marketing-kuaishou-strategist.md +223 -0
  517. package/dist/vendor/marketplace/en/marketing/marketing-linkedin-content-creator.md +214 -0
  518. package/dist/vendor/marketplace/en/marketing/marketing-livestream-commerce-coach.md +305 -0
  519. package/dist/vendor/marketplace/en/marketing/marketing-podcast-strategist.md +277 -0
  520. package/dist/vendor/marketplace/en/marketing/marketing-private-domain-operator.md +308 -0
  521. package/dist/vendor/marketplace/en/marketing/marketing-reddit-community-builder.md +123 -0
  522. package/dist/vendor/marketplace/en/marketing/marketing-seo-specialist.md +321 -0
  523. package/dist/vendor/marketplace/en/marketing/marketing-short-video-editing-coach.md +412 -0
  524. package/dist/vendor/marketplace/en/marketing/marketing-social-media-strategist.md +125 -0
  525. package/dist/vendor/marketplace/en/marketing/marketing-tiktok-strategist.md +125 -0
  526. package/dist/vendor/marketplace/en/marketing/marketing-twitter-engager.md +126 -0
  527. package/dist/vendor/marketplace/en/marketing/marketing-video-optimization-specialist.md +119 -0
  528. package/dist/vendor/marketplace/en/marketing/marketing-wechat-official-account.md +145 -0
  529. package/dist/vendor/marketplace/en/marketing/marketing-weibo-strategist.md +240 -0
  530. package/dist/vendor/marketplace/en/marketing/marketing-xiaohongshu-specialist.md +138 -0
  531. package/dist/vendor/marketplace/en/marketing/marketing-zhihu-strategist.md +162 -0
  532. package/dist/vendor/marketplace/en/paid-media/paid-media-auditor.md +71 -0
  533. package/dist/vendor/marketplace/en/paid-media/paid-media-creative-strategist.md +71 -0
  534. package/dist/vendor/marketplace/en/paid-media/paid-media-paid-social-strategist.md +71 -0
  535. package/dist/vendor/marketplace/en/paid-media/paid-media-ppc-strategist.md +71 -0
  536. package/dist/vendor/marketplace/en/paid-media/paid-media-programmatic-buyer.md +71 -0
  537. package/dist/vendor/marketplace/en/paid-media/paid-media-search-query-analyst.md +71 -0
  538. package/dist/vendor/marketplace/en/paid-media/paid-media-tracking-specialist.md +71 -0
  539. package/dist/vendor/marketplace/en/product/product-behavioral-nudge-engine.md +80 -0
  540. package/dist/vendor/marketplace/en/product/product-feedback-synthesizer.md +119 -0
  541. package/dist/vendor/marketplace/en/product/product-manager.md +469 -0
  542. package/dist/vendor/marketplace/en/product/product-sprint-prioritizer.md +154 -0
  543. package/dist/vendor/marketplace/en/product/product-trend-researcher.md +159 -0
  544. package/dist/vendor/marketplace/en/project-management/project-management-experiment-tracker.md +198 -0
  545. package/dist/vendor/marketplace/en/project-management/project-management-jira-workflow-steward.md +230 -0
  546. package/dist/vendor/marketplace/en/project-management/project-management-project-shepherd.md +194 -0
  547. package/dist/vendor/marketplace/en/project-management/project-management-studio-operations.md +200 -0
  548. package/dist/vendor/marketplace/en/project-management/project-management-studio-producer.md +203 -0
  549. package/dist/vendor/marketplace/en/project-management/project-manager-senior.md +135 -0
  550. package/dist/vendor/marketplace/en/sales/sales-account-strategist.md +227 -0
  551. package/dist/vendor/marketplace/en/sales/sales-coach.md +271 -0
  552. package/dist/vendor/marketplace/en/sales/sales-deal-strategist.md +180 -0
  553. package/dist/vendor/marketplace/en/sales/sales-discovery-coach.md +225 -0
  554. package/dist/vendor/marketplace/en/sales/sales-engineer.md +182 -0
  555. package/dist/vendor/marketplace/en/sales/sales-outbound-strategist.md +201 -0
  556. package/dist/vendor/marketplace/en/sales/sales-pipeline-analyst.md +267 -0
  557. package/dist/vendor/marketplace/en/sales/sales-proposal-strategist.md +217 -0
  558. package/dist/vendor/marketplace/en/spatial-computing/macos-spatial-metal-engineer.md +337 -0
  559. package/dist/vendor/marketplace/en/spatial-computing/terminal-integration-specialist.md +70 -0
  560. package/dist/vendor/marketplace/en/spatial-computing/visionos-spatial-engineer.md +54 -0
  561. package/dist/vendor/marketplace/en/spatial-computing/xr-cockpit-interaction-specialist.md +32 -0
  562. package/dist/vendor/marketplace/en/spatial-computing/xr-immersive-developer.md +32 -0
  563. package/dist/vendor/marketplace/en/spatial-computing/xr-interface-architect.md +32 -0
  564. package/dist/vendor/marketplace/en/specialized/accounts-payable-agent.md +185 -0
  565. package/dist/vendor/marketplace/en/specialized/agentic-identity-trust.md +387 -0
  566. package/dist/vendor/marketplace/en/specialized/agents-orchestrator.md +367 -0
  567. package/dist/vendor/marketplace/en/specialized/automation-governance-architect.md +216 -0
  568. package/dist/vendor/marketplace/en/specialized/blockchain-security-auditor.md +463 -0
  569. package/dist/vendor/marketplace/en/specialized/compliance-auditor.md +158 -0
  570. package/dist/vendor/marketplace/en/specialized/corporate-training-designer.md +192 -0
  571. package/dist/vendor/marketplace/en/specialized/customer-service.md +398 -0
  572. package/dist/vendor/marketplace/en/specialized/data-consolidation-agent.md +60 -0
  573. package/dist/vendor/marketplace/en/specialized/government-digital-presales-consultant.md +363 -0
  574. package/dist/vendor/marketplace/en/specialized/healthcare-customer-service.md +389 -0
  575. package/dist/vendor/marketplace/en/specialized/healthcare-marketing-compliance.md +395 -0
  576. package/dist/vendor/marketplace/en/specialized/hospitality-guest-services.md +603 -0
  577. package/dist/vendor/marketplace/en/specialized/hr-onboarding.md +451 -0
  578. package/dist/vendor/marketplace/en/specialized/identity-graph-operator.md +260 -0
  579. package/dist/vendor/marketplace/en/specialized/language-translator.md +264 -0
  580. package/dist/vendor/marketplace/en/specialized/legal-billing-time-tracking.md +569 -0
  581. package/dist/vendor/marketplace/en/specialized/legal-client-intake.md +492 -0
  582. package/dist/vendor/marketplace/en/specialized/legal-document-review.md +454 -0
  583. package/dist/vendor/marketplace/en/specialized/loan-officer-assistant.md +555 -0
  584. package/dist/vendor/marketplace/en/specialized/lsp-index-engineer.md +314 -0
  585. package/dist/vendor/marketplace/en/specialized/real-estate-buyer-seller.md +596 -0
  586. package/dist/vendor/marketplace/en/specialized/recruitment-specialist.md +509 -0
  587. package/dist/vendor/marketplace/en/specialized/report-distribution-agent.md +65 -0
  588. package/dist/vendor/marketplace/en/specialized/retail-customer-returns.md +566 -0
  589. package/dist/vendor/marketplace/en/specialized/sales-data-extraction-agent.md +67 -0
  590. package/dist/vendor/marketplace/en/specialized/sales-outreach.md +425 -0
  591. package/dist/vendor/marketplace/en/specialized/specialized-chief-of-staff.md +279 -0
  592. package/dist/vendor/marketplace/en/specialized/specialized-civil-engineer.md +356 -0
  593. package/dist/vendor/marketplace/en/specialized/specialized-cultural-intelligence-strategist.md +88 -0
  594. package/dist/vendor/marketplace/en/specialized/specialized-developer-advocate.md +317 -0
  595. package/dist/vendor/marketplace/en/specialized/specialized-document-generator.md +55 -0
  596. package/dist/vendor/marketplace/en/specialized/specialized-french-consulting-market.md +192 -0
  597. package/dist/vendor/marketplace/en/specialized/specialized-korean-business-navigator.md +216 -0
  598. package/dist/vendor/marketplace/en/specialized/specialized-mcp-builder.md +248 -0
  599. package/dist/vendor/marketplace/en/specialized/specialized-model-qa.md +488 -0
  600. package/dist/vendor/marketplace/en/specialized/specialized-salesforce-architect.md +180 -0
  601. package/dist/vendor/marketplace/en/specialized/specialized-workflow-architect.md +597 -0
  602. package/dist/vendor/marketplace/en/specialized/study-abroad-advisor.md +282 -0
  603. package/dist/vendor/marketplace/en/specialized/supply-chain-strategist.md +582 -0
  604. package/dist/vendor/marketplace/en/support/support-analytics-reporter.md +365 -0
  605. package/dist/vendor/marketplace/en/support/support-executive-summary-generator.md +212 -0
  606. package/dist/vendor/marketplace/en/support/support-finance-tracker.md +442 -0
  607. package/dist/vendor/marketplace/en/support/support-infrastructure-maintainer.md +618 -0
  608. package/dist/vendor/marketplace/en/support/support-legal-compliance-checker.md +588 -0
  609. package/dist/vendor/marketplace/en/support/support-support-responder.md +585 -0
  610. package/dist/vendor/marketplace/en/testing/testing-accessibility-auditor.md +316 -0
  611. package/dist/vendor/marketplace/en/testing/testing-api-tester.md +306 -0
  612. package/dist/vendor/marketplace/en/testing/testing-evidence-collector.md +210 -0
  613. package/dist/vendor/marketplace/en/testing/testing-performance-benchmarker.md +268 -0
  614. package/dist/vendor/marketplace/en/testing/testing-reality-checker.md +236 -0
  615. package/dist/vendor/marketplace/en/testing/testing-test-results-analyzer.md +305 -0
  616. package/dist/vendor/marketplace/en/testing/testing-tool-evaluator.md +394 -0
  617. package/dist/vendor/marketplace/en/testing/testing-workflow-optimizer.md +450 -0
  618. package/dist/vendor/marketplace/zh/LICENSE +22 -0
  619. package/dist/vendor/marketplace/zh/SOURCES.md +12 -0
  620. package/dist/vendor/marketplace/zh/academic/academic-anthropologist.md +124 -0
  621. package/dist/vendor/marketplace/zh/academic/academic-geographer.md +126 -0
  622. package/dist/vendor/marketplace/zh/academic/academic-historian.md +122 -0
  623. package/dist/vendor/marketplace/zh/academic/academic-narratologist.md +117 -0
  624. package/dist/vendor/marketplace/zh/academic/academic-psychologist.md +117 -0
  625. package/dist/vendor/marketplace/zh/academic/academic-study-planner.md +214 -0
  626. package/dist/vendor/marketplace/zh/design/design-brand-guardian.md +321 -0
  627. package/dist/vendor/marketplace/zh/design/design-image-prompt-engineer.md +255 -0
  628. package/dist/vendor/marketplace/zh/design/design-inclusive-visuals-specialist.md +177 -0
  629. package/dist/vendor/marketplace/zh/design/design-ui-designer.md +382 -0
  630. package/dist/vendor/marketplace/zh/design/design-ux-architect.md +482 -0
  631. package/dist/vendor/marketplace/zh/design/design-ux-researcher.md +328 -0
  632. package/dist/vendor/marketplace/zh/design/design-visual-storyteller.md +159 -0
  633. package/dist/vendor/marketplace/zh/design/design-whimsy-injector.md +453 -0
  634. package/dist/vendor/marketplace/zh/engineering/engineering-ai-data-remediation-engineer.md +209 -0
  635. package/dist/vendor/marketplace/zh/engineering/engineering-ai-engineer.md +161 -0
  636. package/dist/vendor/marketplace/zh/engineering/engineering-autonomous-optimization-architect.md +115 -0
  637. package/dist/vendor/marketplace/zh/engineering/engineering-backend-architect.md +234 -0
  638. package/dist/vendor/marketplace/zh/engineering/engineering-cms-developer.md +534 -0
  639. package/dist/vendor/marketplace/zh/engineering/engineering-code-reviewer.md +172 -0
  640. package/dist/vendor/marketplace/zh/engineering/engineering-codebase-onboarding-engineer.md +172 -0
  641. package/dist/vendor/marketplace/zh/engineering/engineering-data-engineer.md +324 -0
  642. package/dist/vendor/marketplace/zh/engineering/engineering-database-optimizer.md +175 -0
  643. package/dist/vendor/marketplace/zh/engineering/engineering-devops-automator.md +375 -0
  644. package/dist/vendor/marketplace/zh/engineering/engineering-dingtalk-integration-developer.md +574 -0
  645. package/dist/vendor/marketplace/zh/engineering/engineering-email-intelligence-engineer.md +349 -0
  646. package/dist/vendor/marketplace/zh/engineering/engineering-embedded-firmware-engineer.md +168 -0
  647. package/dist/vendor/marketplace/zh/engineering/engineering-embedded-linux-driver-engineer.md +255 -0
  648. package/dist/vendor/marketplace/zh/engineering/engineering-feishu-integration-developer.md +597 -0
  649. package/dist/vendor/marketplace/zh/engineering/engineering-filament-optimization-specialist.md +283 -0
  650. package/dist/vendor/marketplace/zh/engineering/engineering-fpga-digital-design-engineer.md +227 -0
  651. package/dist/vendor/marketplace/zh/engineering/engineering-frontend-developer.md +224 -0
  652. package/dist/vendor/marketplace/zh/engineering/engineering-git-workflow-master.md +220 -0
  653. package/dist/vendor/marketplace/zh/engineering/engineering-incident-response-commander.md +465 -0
  654. package/dist/vendor/marketplace/zh/engineering/engineering-iot-solution-architect.md +220 -0
  655. package/dist/vendor/marketplace/zh/engineering/engineering-mechanical-design-engineer.md +311 -0
  656. package/dist/vendor/marketplace/zh/engineering/engineering-minimal-change-engineer.md +206 -0
  657. package/dist/vendor/marketplace/zh/engineering/engineering-mobile-app-builder.md +434 -0
  658. package/dist/vendor/marketplace/zh/engineering/engineering-pc-host-engineer.md +231 -0
  659. package/dist/vendor/marketplace/zh/engineering/engineering-rapid-prototyper.md +461 -0
  660. package/dist/vendor/marketplace/zh/engineering/engineering-security-engineer.md +303 -0
  661. package/dist/vendor/marketplace/zh/engineering/engineering-senior-developer.md +177 -0
  662. package/dist/vendor/marketplace/zh/engineering/engineering-software-architect.md +200 -0
  663. package/dist/vendor/marketplace/zh/engineering/engineering-solidity-smart-contract-engineer.md +541 -0
  664. package/dist/vendor/marketplace/zh/engineering/engineering-sre.md +233 -0
  665. package/dist/vendor/marketplace/zh/engineering/engineering-technical-writer.md +409 -0
  666. package/dist/vendor/marketplace/zh/engineering/engineering-threat-detection-engineer.md +553 -0
  667. package/dist/vendor/marketplace/zh/engineering/engineering-voice-ai-integration-engineer.md +560 -0
  668. package/dist/vendor/marketplace/zh/engineering/engineering-wechat-mini-program-developer.md +288 -0
  669. package/dist/vendor/marketplace/zh/finance/finance-bookkeeper-controller.md +271 -0
  670. package/dist/vendor/marketplace/zh/finance/finance-financial-analyst.md +244 -0
  671. package/dist/vendor/marketplace/zh/finance/finance-financial-forecaster.md +213 -0
  672. package/dist/vendor/marketplace/zh/finance/finance-fpa-analyst.md +272 -0
  673. package/dist/vendor/marketplace/zh/finance/finance-fraud-detector.md +241 -0
  674. package/dist/vendor/marketplace/zh/finance/finance-investment-researcher.md +283 -0
  675. package/dist/vendor/marketplace/zh/finance/finance-invoice-manager.md +242 -0
  676. package/dist/vendor/marketplace/zh/finance/finance-tax-strategist.md +250 -0
  677. package/dist/vendor/marketplace/zh/game-development/blender/blender-addon-engineer.md +233 -0
  678. package/dist/vendor/marketplace/zh/game-development/game-audio-engineer.md +265 -0
  679. package/dist/vendor/marketplace/zh/game-development/game-designer.md +168 -0
  680. package/dist/vendor/marketplace/zh/game-development/godot/godot-gameplay-scripter.md +335 -0
  681. package/dist/vendor/marketplace/zh/game-development/godot/godot-multiplayer-engineer.md +296 -0
  682. package/dist/vendor/marketplace/zh/game-development/godot/godot-shader-developer.md +267 -0
  683. package/dist/vendor/marketplace/zh/game-development/level-designer.md +209 -0
  684. package/dist/vendor/marketplace/zh/game-development/narrative-designer.md +244 -0
  685. package/dist/vendor/marketplace/zh/game-development/roblox-studio/roblox-avatar-creator.md +298 -0
  686. package/dist/vendor/marketplace/zh/game-development/roblox-studio/roblox-experience-designer.md +306 -0
  687. package/dist/vendor/marketplace/zh/game-development/roblox-studio/roblox-systems-scripter.md +325 -0
  688. package/dist/vendor/marketplace/zh/game-development/technical-artist.md +230 -0
  689. package/dist/vendor/marketplace/zh/game-development/unity/unity-architect.md +272 -0
  690. package/dist/vendor/marketplace/zh/game-development/unity/unity-editor-tool-developer.md +300 -0
  691. package/dist/vendor/marketplace/zh/game-development/unity/unity-multiplayer-engineer.md +238 -0
  692. package/dist/vendor/marketplace/zh/game-development/unity/unity-shader-graph-artist.md +270 -0
  693. package/dist/vendor/marketplace/zh/game-development/unreal-engine/unreal-multiplayer-architect.md +314 -0
  694. package/dist/vendor/marketplace/zh/game-development/unreal-engine/unreal-systems-engineer.md +311 -0
  695. package/dist/vendor/marketplace/zh/game-development/unreal-engine/unreal-technical-artist.md +256 -0
  696. package/dist/vendor/marketplace/zh/game-development/unreal-engine/unreal-world-builder.md +274 -0
  697. package/dist/vendor/marketplace/zh/hr/hr-performance-reviewer.md +248 -0
  698. package/dist/vendor/marketplace/zh/hr/hr-recruiter.md +232 -0
  699. package/dist/vendor/marketplace/zh/legal/legal-contract-reviewer.md +240 -0
  700. package/dist/vendor/marketplace/zh/legal/legal-policy-writer.md +308 -0
  701. package/dist/vendor/marketplace/zh/manifest.json +2181 -0
  702. package/dist/vendor/marketplace/zh/marketing/marketing-agentic-search-optimizer.md +312 -0
  703. package/dist/vendor/marketplace/zh/marketing/marketing-ai-citation-strategist.md +169 -0
  704. package/dist/vendor/marketplace/zh/marketing/marketing-app-store-optimizer.md +319 -0
  705. package/dist/vendor/marketplace/zh/marketing/marketing-baidu-seo-specialist.md +220 -0
  706. package/dist/vendor/marketplace/zh/marketing/marketing-bilibili-strategist.md +194 -0
  707. package/dist/vendor/marketplace/zh/marketing/marketing-book-co-author.md +109 -0
  708. package/dist/vendor/marketplace/zh/marketing/marketing-carousel-growth-engine.md +215 -0
  709. package/dist/vendor/marketplace/zh/marketing/marketing-china-ecommerce-operator.md +277 -0
  710. package/dist/vendor/marketplace/zh/marketing/marketing-china-market-localization-strategist.md +282 -0
  711. package/dist/vendor/marketplace/zh/marketing/marketing-content-creator.md +145 -0
  712. package/dist/vendor/marketplace/zh/marketing/marketing-cross-border-ecommerce.md +260 -0
  713. package/dist/vendor/marketplace/zh/marketing/marketing-daily-news-briefing.md +303 -0
  714. package/dist/vendor/marketplace/zh/marketing/marketing-douyin-strategist.md +150 -0
  715. package/dist/vendor/marketplace/zh/marketing/marketing-ecommerce-operator.md +216 -0
  716. package/dist/vendor/marketplace/zh/marketing/marketing-growth-hacker.md +121 -0
  717. package/dist/vendor/marketplace/zh/marketing/marketing-instagram-curator.md +179 -0
  718. package/dist/vendor/marketplace/zh/marketing/marketing-knowledge-commerce-strategist.md +384 -0
  719. package/dist/vendor/marketplace/zh/marketing/marketing-kuaishou-strategist.md +182 -0
  720. package/dist/vendor/marketplace/zh/marketing/marketing-linkedin-content-creator.md +232 -0
  721. package/dist/vendor/marketplace/zh/marketing/marketing-livestream-commerce-coach.md +303 -0
  722. package/dist/vendor/marketplace/zh/marketing/marketing-podcast-strategist.md +278 -0
  723. package/dist/vendor/marketplace/zh/marketing/marketing-private-domain-operator.md +309 -0
  724. package/dist/vendor/marketplace/zh/marketing/marketing-reddit-community-builder.md +127 -0
  725. package/dist/vendor/marketplace/zh/marketing/marketing-seo-specialist.md +298 -0
  726. package/dist/vendor/marketplace/zh/marketing/marketing-short-video-editing-coach.md +413 -0
  727. package/dist/vendor/marketplace/zh/marketing/marketing-social-media-strategist.md +118 -0
  728. package/dist/vendor/marketplace/zh/marketing/marketing-tiktok-strategist.md +124 -0
  729. package/dist/vendor/marketplace/zh/marketing/marketing-twitter-engager.md +132 -0
  730. package/dist/vendor/marketplace/zh/marketing/marketing-video-optimization-specialist.md +128 -0
  731. package/dist/vendor/marketplace/zh/marketing/marketing-wechat-official-account.md +158 -0
  732. package/dist/vendor/marketplace/zh/marketing/marketing-wechat-operator.md +156 -0
  733. package/dist/vendor/marketplace/zh/marketing/marketing-weibo-strategist.md +241 -0
  734. package/dist/vendor/marketplace/zh/marketing/marketing-weixin-channels-strategist.md +297 -0
  735. package/dist/vendor/marketplace/zh/marketing/marketing-xiaohongshu-operator.md +139 -0
  736. package/dist/vendor/marketplace/zh/marketing/marketing-xiaohongshu-specialist.md +151 -0
  737. package/dist/vendor/marketplace/zh/marketing/marketing-zhihu-strategist.md +175 -0
  738. package/dist/vendor/marketplace/zh/paid-media/paid-media-auditor.md +170 -0
  739. package/dist/vendor/marketplace/zh/paid-media/paid-media-creative-strategist.md +173 -0
  740. package/dist/vendor/marketplace/zh/paid-media/paid-media-paid-social-strategist.md +180 -0
  741. package/dist/vendor/marketplace/zh/paid-media/paid-media-ppc-strategist.md +180 -0
  742. package/dist/vendor/marketplace/zh/paid-media/paid-media-programmatic-buyer.md +177 -0
  743. package/dist/vendor/marketplace/zh/paid-media/paid-media-search-query-analyst.md +182 -0
  744. package/dist/vendor/marketplace/zh/paid-media/paid-media-tracking-specialist.md +199 -0
  745. package/dist/vendor/marketplace/zh/product/product-behavioral-nudge-engine.md +246 -0
  746. package/dist/vendor/marketplace/zh/product/product-feedback-synthesizer.md +175 -0
  747. package/dist/vendor/marketplace/zh/product/product-manager.md +474 -0
  748. package/dist/vendor/marketplace/zh/product/product-sprint-prioritizer.md +133 -0
  749. package/dist/vendor/marketplace/zh/product/product-trend-researcher.md +143 -0
  750. package/dist/vendor/marketplace/zh/project-management/project-management-experiment-tracker.md +206 -0
  751. package/dist/vendor/marketplace/zh/project-management/project-management-jira-workflow-steward.md +249 -0
  752. package/dist/vendor/marketplace/zh/project-management/project-management-project-shepherd.md +202 -0
  753. package/dist/vendor/marketplace/zh/project-management/project-management-studio-operations.md +208 -0
  754. package/dist/vendor/marketplace/zh/project-management/project-management-studio-producer.md +211 -0
  755. package/dist/vendor/marketplace/zh/project-management/project-manager-senior.md +135 -0
  756. package/dist/vendor/marketplace/zh/sales/sales-account-strategist.md +243 -0
  757. package/dist/vendor/marketplace/zh/sales/sales-coach.md +291 -0
  758. package/dist/vendor/marketplace/zh/sales/sales-deal-strategist.md +204 -0
  759. package/dist/vendor/marketplace/zh/sales/sales-discovery-coach.md +230 -0
  760. package/dist/vendor/marketplace/zh/sales/sales-engineer.md +200 -0
  761. package/dist/vendor/marketplace/zh/sales/sales-outbound-strategist.md +208 -0
  762. package/dist/vendor/marketplace/zh/sales/sales-pipeline-analyst.md +284 -0
  763. package/dist/vendor/marketplace/zh/sales/sales-proposal-strategist.md +233 -0
  764. package/dist/vendor/marketplace/zh/spatial-computing/macos-spatial-metal-engineer.md +337 -0
  765. package/dist/vendor/marketplace/zh/spatial-computing/terminal-integration-specialist.md +236 -0
  766. package/dist/vendor/marketplace/zh/spatial-computing/visionos-spatial-engineer.md +282 -0
  767. package/dist/vendor/marketplace/zh/spatial-computing/xr-cockpit-interaction-specialist.md +220 -0
  768. package/dist/vendor/marketplace/zh/spatial-computing/xr-immersive-developer.md +229 -0
  769. package/dist/vendor/marketplace/zh/spatial-computing/xr-interface-architect.md +253 -0
  770. package/dist/vendor/marketplace/zh/specialized/accounts-payable-agent.md +212 -0
  771. package/dist/vendor/marketplace/zh/specialized/agentic-identity-trust.md +388 -0
  772. package/dist/vendor/marketplace/zh/specialized/agents-orchestrator.md +366 -0
  773. package/dist/vendor/marketplace/zh/specialized/automation-governance-architect.md +215 -0
  774. package/dist/vendor/marketplace/zh/specialized/blockchain-security-auditor.md +484 -0
  775. package/dist/vendor/marketplace/zh/specialized/compliance-auditor.md +172 -0
  776. package/dist/vendor/marketplace/zh/specialized/corporate-training-designer.md +191 -0
  777. package/dist/vendor/marketplace/zh/specialized/data-consolidation-agent.md +327 -0
  778. package/dist/vendor/marketplace/zh/specialized/gaokao-college-advisor.md +333 -0
  779. package/dist/vendor/marketplace/zh/specialized/government-digital-presales-consultant.md +362 -0
  780. package/dist/vendor/marketplace/zh/specialized/healthcare-customer-service.md +388 -0
  781. package/dist/vendor/marketplace/zh/specialized/healthcare-marketing-compliance.md +394 -0
  782. package/dist/vendor/marketplace/zh/specialized/hospitality-guest-services.md +597 -0
  783. package/dist/vendor/marketplace/zh/specialized/hr-onboarding.md +450 -0
  784. package/dist/vendor/marketplace/zh/specialized/identity-graph-operator.md +270 -0
  785. package/dist/vendor/marketplace/zh/specialized/language-translator.md +275 -0
  786. package/dist/vendor/marketplace/zh/specialized/legal-billing-time-tracking.md +566 -0
  787. package/dist/vendor/marketplace/zh/specialized/legal-client-intake.md +487 -0
  788. package/dist/vendor/marketplace/zh/specialized/legal-document-review.md +452 -0
  789. package/dist/vendor/marketplace/zh/specialized/livestock-archive-auditor.md +135 -0
  790. package/dist/vendor/marketplace/zh/specialized/loan-officer-assistant.md +549 -0
  791. package/dist/vendor/marketplace/zh/specialized/lsp-index-engineer.md +334 -0
  792. package/dist/vendor/marketplace/zh/specialized/prompt-engineer.md +176 -0
  793. package/dist/vendor/marketplace/zh/specialized/real-estate-buyer-seller.md +594 -0
  794. package/dist/vendor/marketplace/zh/specialized/recruitment-specialist.md +508 -0
  795. package/dist/vendor/marketplace/zh/specialized/report-distribution-agent.md +354 -0
  796. package/dist/vendor/marketplace/zh/specialized/retail-customer-returns.md +564 -0
  797. package/dist/vendor/marketplace/zh/specialized/sales-data-extraction-agent.md +159 -0
  798. package/dist/vendor/marketplace/zh/specialized/specialized-ai-policy-writer.md +217 -0
  799. package/dist/vendor/marketplace/zh/specialized/specialized-chief-of-staff.md +278 -0
  800. package/dist/vendor/marketplace/zh/specialized/specialized-civil-engineer.md +355 -0
  801. package/dist/vendor/marketplace/zh/specialized/specialized-cultural-intelligence-strategist.md +168 -0
  802. package/dist/vendor/marketplace/zh/specialized/specialized-developer-advocate.md +334 -0
  803. package/dist/vendor/marketplace/zh/specialized/specialized-document-generator.md +346 -0
  804. package/dist/vendor/marketplace/zh/specialized/specialized-french-consulting-market.md +191 -0
  805. package/dist/vendor/marketplace/zh/specialized/specialized-korean-business-navigator.md +215 -0
  806. package/dist/vendor/marketplace/zh/specialized/specialized-mcp-builder.md +351 -0
  807. package/dist/vendor/marketplace/zh/specialized/specialized-meeting-assistant.md +236 -0
  808. package/dist/vendor/marketplace/zh/specialized/specialized-model-qa.md +507 -0
  809. package/dist/vendor/marketplace/zh/specialized/specialized-pricing-optimizer.md +254 -0
  810. package/dist/vendor/marketplace/zh/specialized/specialized-risk-assessor.md +240 -0
  811. package/dist/vendor/marketplace/zh/specialized/specialized-salesforce-architect.md +179 -0
  812. package/dist/vendor/marketplace/zh/specialized/specialized-workflow-architect.md +596 -0
  813. package/dist/vendor/marketplace/zh/specialized/study-abroad-advisor.md +281 -0
  814. package/dist/vendor/marketplace/zh/specialized/technical-translator-agent.md +167 -0
  815. package/dist/vendor/marketplace/zh/specialized/zk-steward.md +228 -0
  816. package/dist/vendor/marketplace/zh/supply-chain/supply-chain-inventory-forecaster.md +212 -0
  817. package/dist/vendor/marketplace/zh/supply-chain/supply-chain-route-optimizer.md +224 -0
  818. package/dist/vendor/marketplace/zh/supply-chain/supply-chain-strategist.md +581 -0
  819. package/dist/vendor/marketplace/zh/supply-chain/supply-chain-vendor-evaluator.md +232 -0
  820. package/dist/vendor/marketplace/zh/support/support-analytics-reporter.md +364 -0
  821. package/dist/vendor/marketplace/zh/support/support-executive-summary-generator.md +217 -0
  822. package/dist/vendor/marketplace/zh/support/support-finance-tracker.md +447 -0
  823. package/dist/vendor/marketplace/zh/support/support-infrastructure-maintainer.md +623 -0
  824. package/dist/vendor/marketplace/zh/support/support-legal-compliance-checker.md +587 -0
  825. package/dist/vendor/marketplace/zh/support/support-recruitment-specialist.md +508 -0
  826. package/dist/vendor/marketplace/zh/support/support-support-responder.md +584 -0
  827. package/dist/vendor/marketplace/zh/testing/testing-accessibility-auditor.md +329 -0
  828. package/dist/vendor/marketplace/zh/testing/testing-api-tester.md +305 -0
  829. package/dist/vendor/marketplace/zh/testing/testing-embedded-qa-engineer.md +258 -0
  830. package/dist/vendor/marketplace/zh/testing/testing-evidence-collector.md +153 -0
  831. package/dist/vendor/marketplace/zh/testing/testing-performance-benchmarker.md +196 -0
  832. package/dist/vendor/marketplace/zh/testing/testing-reality-checker.md +235 -0
  833. package/dist/vendor/marketplace/zh/testing/testing-test-results-analyzer.md +313 -0
  834. package/dist/vendor/marketplace/zh/testing/testing-tool-evaluator.md +402 -0
  835. package/dist/vendor/marketplace/zh/testing/testing-workflow-optimizer.md +458 -0
  836. package/package.json +131 -0
  837. package/scripts/postinstall-native-artifacts.mjs +113 -0
  838. package/web/dist/assets/AddWorkerDialog-BU2Fn-Mx.js +2 -0
  839. package/web/dist/assets/AddWorkspaceFlow-BV04MkRt.js +1 -0
  840. package/web/dist/assets/FirstRunWizard-DS4IYOrd.js +1 -0
  841. package/web/dist/assets/MarketplaceDrawer-CIQ2B6Fx.js +76 -0
  842. package/web/dist/assets/TaskGraphDrawer-BPMcRocd.js +1 -0
  843. package/web/dist/assets/WhatsNewDialog-DEgVY_LD.js +1 -0
  844. package/web/dist/assets/WorkerModal-DiCcTPpc.js +1 -0
  845. package/web/dist/assets/WorkflowsDrawer-M2CgAJWK.js +1 -0
  846. package/web/dist/assets/WorkspaceMemoryDrawer-ClJIqWck.js +1 -0
  847. package/web/dist/assets/WorkspaceTaskDrawer-gjvXuZ2K.js +1 -0
  848. package/web/dist/assets/addon-clipboard-wHJhZAA4.js +1 -0
  849. package/web/dist/assets/addon-fit-DX4qG4td.js +1 -0
  850. package/web/dist/assets/addon-unicode11-Bt8F3D7-.js +7 -0
  851. package/web/dist/assets/addon-web-links-DIbG5aQx.js +1 -0
  852. package/web/dist/assets/addon-webgl-DCtw1yLn.js +64 -0
  853. package/web/dist/assets/finder-C4Jmsb0B.png +0 -0
  854. package/web/dist/assets/ghostty-D-Js4rdm.png +0 -0
  855. package/web/dist/assets/index-bOMtwrkA.js +73 -0
  856. package/web/dist/assets/index-i9YgsMdD.css +1 -0
  857. package/web/dist/assets/path-join-7MR1s7b1.js +1 -0
  858. package/web/dist/assets/search-CmzeVhy0.js +1 -0
  859. package/web/dist/assets/xterm-B-qIQCd3.js +16 -0
  860. package/web/dist/assets/zed-C5BQT8X3.png +0 -0
  861. package/web/dist/bilibili.ico +0 -0
  862. package/web/dist/cli-icons/claude.png +0 -0
  863. package/web/dist/cli-icons/codex.png +0 -0
  864. package/web/dist/cli-icons/gemini.png +0 -0
  865. package/web/dist/cli-icons/hermes.png +0 -0
  866. package/web/dist/cli-icons/opencode.svg +18 -0
  867. package/web/dist/icons/apple-touch-icon-180.png +0 -0
  868. package/web/dist/icons/icon-192.png +0 -0
  869. package/web/dist/icons/icon-32.png +0 -0
  870. package/web/dist/icons/icon-512-maskable.png +0 -0
  871. package/web/dist/icons/icon-512.png +0 -0
  872. package/web/dist/index.html +39 -0
  873. package/web/dist/logo.png +0 -0
  874. package/web/dist/manifest.webmanifest +60 -0
  875. package/web/dist/screenshots/wide-overview.png +0 -0
  876. package/web/dist/sounds/LICENSE-KENNEY.txt +22 -0
  877. package/web/dist/sounds/hive-beacon.ogg +0 -0
  878. package/web/dist/sounds/hive-cascade.ogg +0 -0
  879. package/web/dist/sounds/hive-chime.ogg +0 -0
  880. package/web/dist/sounds/hive-ping.ogg +0 -0
  881. package/web/dist/sounds/hive-resolve.ogg +0 -0
  882. package/web/dist/sounds/hive-soft.ogg +0 -0
  883. package/web/dist/sw.js +99 -0
@@ -0,0 +1,411 @@
1
+ import { createAgentRunStore } from './agent-run-store.js';
2
+ import { createAgentRuntime } from './agent-runtime.js';
3
+ import { createAgentSessionStore } from './agent-session-store.js';
4
+ import { createDispatchLedgerStore } from './dispatch-ledger-store.js';
5
+ import { readFeatureFlags } from './feature-flags.js';
6
+ import { createMessageLogStore } from './message-log-store.js';
7
+ import { seedOrchestratorLaunchConfig } from './orchestrator-launch.js';
8
+ import { createRemoteAuditStore } from './remote-audit-store.js';
9
+ import { REMOTE_DAEMON_ID_KEY, REMOTE_GATEWAY_URL_KEY } from './remote-config-keys.js';
10
+ import { createPersistentDeviceSessionProvider, createRemoteDeviceStore, } from './remote-device-store.js';
11
+ import { createRemotePairing } from './remote-pairing.js';
12
+ import { createReportOutboxStore } from './report-outbox-store.js';
13
+ import { openRuntimeDatabase } from './runtime-database.js';
14
+ import { buildRuntimeRestartPolicy } from './runtime-restart-policy.js';
15
+ import { createSettingsStore } from './settings-store.js';
16
+ import { createTasksFileService } from './tasks-file.js';
17
+ import { createTasksFileWatcher } from './tasks-file-watcher.js';
18
+ import { createWorkspaceMemoryDigestProvider } from './team-memory-digest.js';
19
+ import { createTeamMemoryDreamRunner, defaultDreamCliCommand, dreamCliCommandForLaunchCommand, } from './team-memory-dream-runner.js';
20
+ import { createTeamMemoryDreamScheduler } from './team-memory-dream-scheduler.js';
21
+ import { createTeamMemoryDreamStore } from './team-memory-dream-store.js';
22
+ import { createTeamMemoryExportService, MEMORY_EXPORT_DREAM_CHANGELOG_LIMIT, } from './team-memory-export.js';
23
+ import { createTeamMemoryStore } from './team-memory-store.js';
24
+ import { createTeamOperations } from './team-operations.js';
25
+ import { createTeamRecallStore } from './team-recall-store.js';
26
+ import { resolveTerminalInputProfile } from './terminal-input-profile.js';
27
+ import { createUiAuth } from './ui-auth.js';
28
+ import { createWebhookNotifier, WEBHOOK_URL_KEY } from './webhook-notifier.js';
29
+ import { createWorkerOutputTracker } from './worker-output-tracker.js';
30
+ import { readWorkflowCliPolicy, WORKFLOW_CLI_POLICY_KEY } from './workflow-cli-policy.js';
31
+ import { createWorkflowDispatchAwaiter, } from './workflow-dispatch-awaiter.js';
32
+ import { createWorkflowRunLogStore } from './workflow-run-log-store.js';
33
+ import { createWorkflowRunStore } from './workflow-run-store.js';
34
+ import { createWorkflowScheduleStore } from './workflow-schedule-store.js';
35
+ import { createWorkspaceShellRuntime } from './workspace-shell-runtime.js';
36
+ import { createWorkspaceStore } from './workspace-store.js';
37
+ import { getOrchestratorId } from './workspace-store-support.js';
38
+ const notifyTasksUpdated = (callbacks, workspaceId, content) => {
39
+ for (const callback of callbacks) {
40
+ callback(workspaceId, content);
41
+ }
42
+ };
43
+ export const logTasksFileWatchStartError = (workspaceId, error) => {
44
+ console.error(`[hive] failed to start tasks watcher for workspace ${workspaceId}`, error);
45
+ };
46
+ export const createRuntimeStoreServices = (options = {}) => {
47
+ const db = openRuntimeDatabase(options.dataDir);
48
+ const messageLogStore = createMessageLogStore(db);
49
+ const dispatchLedgerStore = createDispatchLedgerStore(db);
50
+ const teamMemoryStore = createTeamMemoryStore(db);
51
+ const teamMemoryDreamStore = createTeamMemoryDreamStore(db);
52
+ const teamRecallStore = createTeamRecallStore(db);
53
+ const reportOutbox = createReportOutboxStore(db);
54
+ const workflowDispatchAwaiter = createWorkflowDispatchAwaiter();
55
+ const workflowRunStore = createWorkflowRunStore(db);
56
+ const workflowRunLogStore = createWorkflowRunLogStore(db);
57
+ const workflowScheduleStore = createWorkflowScheduleStore(db);
58
+ const agentRunStore = createAgentRunStore(db);
59
+ const agentSessionStore = createAgentSessionStore(db);
60
+ const settings = createSettingsStore(db);
61
+ const getFlags = () => readFeatureFlags(settings);
62
+ const memoryDigestProvider = createWorkspaceMemoryDigestProvider({
63
+ memoryStore: teamMemoryStore,
64
+ settings,
65
+ });
66
+ const memoryInjection = {
67
+ buildDigest: memoryDigestProvider.buildDigest,
68
+ buildDispatchDigest: memoryDigestProvider.buildDispatchDigest,
69
+ deleteInjections: teamMemoryStore.deleteInjections,
70
+ logInjections: teamMemoryStore.logInjections,
71
+ };
72
+ const webhookNotifier = createWebhookNotifier({
73
+ getUrl: () => settings.getAppState(WEBHOOK_URL_KEY)?.value ?? null,
74
+ });
75
+ const tasksFileService = createTasksFileService();
76
+ const tasksFileWatchCallbacks = new Set();
77
+ const tasksFileWatcher = createTasksFileWatcher({
78
+ onTasksUpdated: (workspaceId, content) => {
79
+ notifyTasksUpdated(tasksFileWatchCallbacks, workspaceId, content);
80
+ },
81
+ getWorkflowCliPolicy: () => readWorkflowCliPolicy(settings.getAppState(WORKFLOW_CLI_POLICY_KEY)?.value ?? null),
82
+ getFlags,
83
+ });
84
+ const uiAuth = createUiAuth();
85
+ const remoteAuditStore = createRemoteAuditStore(db);
86
+ // M4: the live runtime uses the PERSISTENT provider backed by the device store (M3's
87
+ // InMemoryDeviceSessionProvider stays test-only). A device row exists only after a desktop confirm,
88
+ // so this provider serves nothing until then; a revoke drops it from get()/candidates() at once.
89
+ const remoteDeviceStore = createRemoteDeviceStore(db);
90
+ const remoteDeviceSessions = createPersistentDeviceSessionProvider(remoteDeviceStore);
91
+ const remotePairing = createRemotePairing({
92
+ deviceStore: remoteDeviceStore,
93
+ audit: remoteAuditStore,
94
+ getGatewayUrl: () => settings.getAppState(REMOTE_GATEWAY_URL_KEY)?.value ?? null,
95
+ getDaemonId: () => settings.getAppState(REMOTE_DAEMON_ID_KEY)?.value ?? null,
96
+ });
97
+ const shellRuntime = createWorkspaceShellRuntime(options.agentManager);
98
+ agentRunStore.markUnfinishedRunsStale();
99
+ workflowRunStore.markUnfinishedRunsInterrupted();
100
+ const workspaceStore = createWorkspaceStore(db, dispatchLedgerStore.listOpenDispatchKinds());
101
+ const teamMemoryExport = createTeamMemoryExportService({
102
+ getWorkspacePath: (workspaceId) => workspaceStore.getWorkspaceSnapshot(workspaceId).summary.path,
103
+ listDreamRuns: (workspaceId) => teamMemoryDreamStore.listRuns(workspaceId, MEMORY_EXPORT_DREAM_CHANGELOG_LIMIT),
104
+ listEntries: teamMemoryStore.listExportEntries,
105
+ });
106
+ const startExistingWorkspaceWatches = () => {
107
+ for (const workspace of workspaceStore.listWorkspaces()) {
108
+ void tasksFileWatcher
109
+ .start(workspace.id, workspace.path)
110
+ .catch((error) => logTasksFileWatchStartError(workspace.id, error));
111
+ }
112
+ };
113
+ const restartPolicy = buildRuntimeRestartPolicy({
114
+ agentRunStore,
115
+ messageLogStore,
116
+ memoryInjection,
117
+ tasksFileService,
118
+ workspaceStore,
119
+ getFlags,
120
+ });
121
+ const workerOutputTracker = options.agentManager
122
+ ? createWorkerOutputTracker(options.agentManager.getOutputBus())
123
+ : null;
124
+ const agentRuntime = createAgentRuntime(options.agentManager, agentRunStore, agentSessionStore, settings.getCommandPreset, (workspaceId, agentId) => {
125
+ workerOutputTracker?.detach(workspaceId, agentId);
126
+ if (!workspaceStore.hasAgent(workspaceId, agentId))
127
+ return;
128
+ workspaceStore.markAgentStopped(workspaceId, agentId);
129
+ // TIER 1 #1 — if the exiting worker had any open workflow dispatches,
130
+ // tell the workflow awaiter so the runner's `awaitReport` rejects
131
+ // immediately instead of hanging until DEFAULT_TIMEOUT_MS (10 min).
132
+ // This is the only signal the runtime has that an ephemeral
133
+ // workflow worker died without calling `team report`.
134
+ const openWorkflowDispatches = dispatchLedgerStore.listOpenWorkflowDispatchesForWorker(workspaceId, agentId);
135
+ for (const { dispatchId } of openWorkflowDispatches) {
136
+ try {
137
+ const cancelled = dispatchLedgerStore.markCancelled({
138
+ dispatchId,
139
+ reason: 'worker PTY exited before report',
140
+ workspaceId,
141
+ });
142
+ if (!cancelled)
143
+ continue;
144
+ try {
145
+ workspaceStore.markTaskCancelled(workspaceId, agentId);
146
+ }
147
+ catch (error) {
148
+ console.error('[hive] onAgentExit.markTaskCancelled failed', dispatchId, error);
149
+ }
150
+ workflowDispatchAwaiter.notifyCancel(dispatchId, 'worker PTY exited before report');
151
+ }
152
+ catch (error) {
153
+ console.error('[hive] onAgentExit.markCancelled failed', dispatchId, error);
154
+ }
155
+ }
156
+ // Cascade: when the orchestrator's PTY exits, dismiss the ephemeral
157
+ // workers it spawned via `team spawn` (spec §6.3). Workflow-spawned
158
+ // workers are owned by the runner, not the orchestrator.
159
+ if (agentId === getOrchestratorId(workspaceId)) {
160
+ const children = workspaceStore
161
+ .getWorkspaceSnapshot(workspaceId)
162
+ .agents.filter((agent) => agent.ephemeral === true && agent.spawnedBy === 'orchestrator');
163
+ for (const child of children)
164
+ removeWorkerCompletely(workspaceId, child.id);
165
+ }
166
+ }, restartPolicy, (workspaceId, agentId) => workspaceStore.getAgent(workspaceId, agentId), getFlags, memoryInjection);
167
+ const teamMemoryDreamRunner = createTeamMemoryDreamRunner({
168
+ dreamStore: teamMemoryDreamStore,
169
+ getDreamCliCommand: (workspaceId) => {
170
+ seedOrchestratorLaunchConfig(agentRuntime, settings, workspaceId);
171
+ const config = agentRuntime.peekAgentLaunchConfig(workspaceId, getOrchestratorId(workspaceId));
172
+ return config?.command
173
+ ? dreamCliCommandForLaunchCommand(config.command)
174
+ : defaultDreamCliCommand();
175
+ },
176
+ getWorkspacePath: (workspaceId) => workspaceStore.getWorkspaceSnapshot(workspaceId).summary.path,
177
+ memoryStore: teamMemoryStore,
178
+ scheduleExport: teamMemoryExport.schedule,
179
+ });
180
+ const teamMemoryDreamScheduler = createTeamMemoryDreamScheduler({
181
+ getScheduleState: teamMemoryDreamStore.getScheduleState,
182
+ getWorkspaceSnapshot: (workspaceId) => workspaceStore.getWorkspaceSnapshot(workspaceId),
183
+ listWorkspaces: workspaceStore.listWorkspaces,
184
+ runScheduled: teamMemoryDreamRunner.runScheduled,
185
+ settings,
186
+ });
187
+ teamMemoryDreamScheduler.start();
188
+ // Mirrors runtime-store.deleteWorker (drop dispatches + worker row
189
+ // transactionally → drop launch config → stop run). Hoisted `function` so the
190
+ // onAgentExit closure above can reference it; only invoked at runtime, after
191
+ // agentRuntime is assigned.
192
+ function removeWorkerCompletely(workspaceId, workerId) {
193
+ const activeRun = agentRuntime.getActiveRunByAgentId(workspaceId, workerId);
194
+ db.transaction(() => {
195
+ dispatchLedgerStore.deleteWorkerDispatches(workspaceId, workerId);
196
+ workspaceStore.deleteWorker(workspaceId, workerId);
197
+ })();
198
+ agentRuntime.deleteAgentLaunchConfig(workspaceId, workerId);
199
+ if (activeRun)
200
+ agentRuntime.stopAgentRun(activeRun.runId);
201
+ }
202
+ // Boot cleanup: after a runtime restart every ephemeral worker is an orphan
203
+ // (its spawner — a workflow run or an orchestrator PTY — is gone). Remove
204
+ // them so they don't accumulate (spec §6.3).
205
+ const cleanupOrphanEphemeralWorkers = () => {
206
+ for (const workspace of workspaceStore.listWorkspaces()) {
207
+ const ephemeral = workspaceStore
208
+ .getWorkspaceSnapshot(workspace.id)
209
+ .agents.filter((agent) => agent.ephemeral === true);
210
+ for (const agent of ephemeral)
211
+ removeWorkerCompletely(workspace.id, agent.id);
212
+ }
213
+ };
214
+ const teamOps = createTeamOperations({
215
+ agentRuntime,
216
+ createDispatch: dispatchLedgerStore.createDispatch,
217
+ deleteDispatch: dispatchLedgerStore.deleteDispatch,
218
+ deleteMessage: messageLogStore.deleteMessage,
219
+ findOpenDispatch: dispatchLedgerStore.findOpenDispatch,
220
+ findOpenDispatchById: dispatchLedgerStore.findOpenDispatchById,
221
+ insertMessage: messageLogStore.insertMessage,
222
+ markDispatchCancelled: dispatchLedgerStore.markCancelled,
223
+ markDispatchReportedByWorker: dispatchLedgerStore.markReportedByWorker,
224
+ markDispatchSubmitted: dispatchLedgerStore.markSubmitted,
225
+ reportOutbox,
226
+ notifyWebhook: webhookNotifier.notify,
227
+ workflowDispatchAwaiter,
228
+ workspaceStore,
229
+ dismissEphemeralWorker: (workspaceId, workerId) => removeWorkerCompletely(workspaceId, workerId),
230
+ });
231
+ cleanupOrphanEphemeralWorkers();
232
+ startExistingWorkspaceWatches();
233
+ return {
234
+ agentRunStore,
235
+ agentRuntime,
236
+ db,
237
+ dispatchLedgerStore,
238
+ messageLogStore,
239
+ remoteAuditStore,
240
+ remoteDeviceSessions,
241
+ remoteDeviceStore,
242
+ remotePairing,
243
+ settings,
244
+ shellRuntime,
245
+ tasksFileWatcher,
246
+ tasksFileWatchCallbacks,
247
+ tasksFileService,
248
+ teamMemoryDreamRunner,
249
+ teamMemoryDreamScheduler,
250
+ teamMemoryDreamStore,
251
+ teamMemoryExport,
252
+ teamMemoryStore,
253
+ teamRecallStore,
254
+ teamOps,
255
+ uiAuth,
256
+ webhookNotifier,
257
+ workerOutputTracker,
258
+ workflowDispatchAwaiter,
259
+ workflowRunLogStore,
260
+ workflowRunStore,
261
+ workflowScheduleStore,
262
+ workspaceStore,
263
+ };
264
+ };
265
+ export const createRuntimeStoreLifecycle = ({ agentManager, services, }) => {
266
+ const startAgent = async (workspaceId, agentId, input) => {
267
+ services.workspaceStore.getAgent(workspaceId, agentId);
268
+ services.workspaceStore.markAgentStarted(workspaceId, agentId);
269
+ try {
270
+ const run = await services.agentRuntime.startAgent(services.workspaceStore.getWorkspaceSnapshot(workspaceId).summary, agentId, input);
271
+ if (run.status === 'error') {
272
+ services.workspaceStore.markAgentStopped(workspaceId, agentId);
273
+ }
274
+ else {
275
+ services.workerOutputTracker?.attach(workspaceId, agentId, run.runId, run.output);
276
+ }
277
+ return run;
278
+ }
279
+ catch (error) {
280
+ services.workspaceStore.markAgentStopped(workspaceId, agentId);
281
+ throw error;
282
+ }
283
+ };
284
+ const autostartConfiguredAgents = async (input) => {
285
+ if (!agentManager)
286
+ return [];
287
+ const starts = services.workspaceStore.listWorkspaces().flatMap((workspace) => {
288
+ seedOrchestratorLaunchConfig(services.agentRuntime, services.settings, workspace.id);
289
+ return services.workspaceStore
290
+ .getWorkspaceSnapshot(workspace.id)
291
+ .agents.filter((agent) => !services.agentRuntime.getActiveRunByAgentId(workspace.id, agent.id) &&
292
+ services.agentRuntime.peekAgentLaunchConfig(workspace.id, agent.id))
293
+ .map(async (agent) => {
294
+ try {
295
+ const run = await startAgent(workspace.id, agent.id, input);
296
+ return {
297
+ agent_id: agent.id,
298
+ error: null,
299
+ ok: true,
300
+ run_id: run.runId,
301
+ workspace_id: workspace.id,
302
+ };
303
+ }
304
+ catch (error) {
305
+ return {
306
+ agent_id: agent.id,
307
+ error: error instanceof Error ? error.message : String(error),
308
+ ok: false,
309
+ run_id: null,
310
+ workspace_id: workspace.id,
311
+ };
312
+ }
313
+ });
314
+ });
315
+ return Promise.all(starts);
316
+ };
317
+ return {
318
+ close: async () => {
319
+ // Fail in-flight workflow awaiters BEFORE their workers vanish, so the
320
+ // runner's `await agent(...)` rejects with a clear shutdown error
321
+ // instead of hanging on a Promise that can never resolve.
322
+ services.workflowDispatchAwaiter.cancelAll('runtime closing');
323
+ services.shellRuntime.close();
324
+ await services.teamMemoryExport.close();
325
+ await services.agentRuntime.close();
326
+ await services.tasksFileWatcher.close();
327
+ services.workerOutputTracker?.closeAll();
328
+ services.agentRunStore.close?.();
329
+ services.db.close();
330
+ },
331
+ configureAgentLaunch: (workspaceId, agentId, input) => {
332
+ services.workspaceStore.getAgent(workspaceId, agentId);
333
+ services.agentRuntime.configureAgentLaunch(workspaceId, agentId, input);
334
+ },
335
+ peekAgentLaunchConfig: (workspaceId, agentId) => services.agentRuntime.peekAgentLaunchConfig(workspaceId, agentId),
336
+ deleteWorkspaceShell: (workspaceId) => {
337
+ services.shellRuntime.deleteWorkspace(workspaceId);
338
+ },
339
+ closeWorkspaceShell: (workspaceId, runId) => services.shellRuntime.closeRun(workspaceId, runId),
340
+ getLiveRun: (runId) => services.shellRuntime.getLiveRun(runId) ?? services.agentRuntime.getLiveRun(runId),
341
+ getPtyOutputBus: () => {
342
+ if (!agentManager)
343
+ throw new Error('Agent manager is required for PTY output subscriptions');
344
+ return agentManager.getOutputBus();
345
+ },
346
+ listTerminalRuns: (workspaceId) => [
347
+ ...services.workspaceStore.getWorkspaceSnapshot(workspaceId).agents.flatMap((agent) => {
348
+ const run = services.agentRuntime.getActiveRunByAgentId(workspaceId, agent.id);
349
+ if (!run)
350
+ return [];
351
+ const launchConfig = services.agentRuntime.peekAgentLaunchConfig(workspaceId, agent.id);
352
+ return [
353
+ {
354
+ agent_id: agent.id,
355
+ agent_name: agent.name,
356
+ run_id: run.runId,
357
+ status: run.status,
358
+ terminal_input_profile: resolveTerminalInputProfile(launchConfig),
359
+ },
360
+ ];
361
+ }),
362
+ ...services.shellRuntime.listTerminalRuns(workspaceId),
363
+ ],
364
+ startAgent,
365
+ startWorkspaceShell: (workspaceId) => services.shellRuntime.start(services.workspaceStore.getWorkspaceSnapshot(workspaceId).summary),
366
+ autostartConfiguredAgents,
367
+ registerTasksListener: (listener) => {
368
+ services.tasksFileWatchCallbacks.add(listener);
369
+ return () => {
370
+ services.tasksFileWatchCallbacks.delete(listener);
371
+ };
372
+ },
373
+ startWorkspaceWatch: async (workspaceId) => {
374
+ const workspace = services.workspaceStore.getWorkspaceSnapshot(workspaceId);
375
+ await services.tasksFileWatcher.start(workspaceId, workspace.summary.path);
376
+ },
377
+ writeRunInput: (runId, input) => {
378
+ if (!agentManager)
379
+ throw new Error('Agent manager is required for PTY stdin writes');
380
+ if (services.shellRuntime.hasRun(runId)) {
381
+ services.shellRuntime.writeInput(runId, input);
382
+ return;
383
+ }
384
+ agentManager.writeInput(runId, input);
385
+ },
386
+ pauseTerminalRun: (runId) => {
387
+ if (services.shellRuntime.hasRun(runId))
388
+ services.shellRuntime.pauseRun(runId);
389
+ else
390
+ services.agentRuntime.pauseRun(runId);
391
+ },
392
+ resizeTerminalRun: (runId, cols, rows) => {
393
+ if (services.shellRuntime.hasRun(runId))
394
+ services.shellRuntime.resizeRun(runId, cols, rows);
395
+ else
396
+ services.agentRuntime.resizeAgentRun(runId, cols, rows);
397
+ },
398
+ resumeTerminalRun: (runId) => {
399
+ if (services.shellRuntime.hasRun(runId))
400
+ services.shellRuntime.resumeRun(runId);
401
+ else
402
+ services.agentRuntime.resumeRun(runId);
403
+ },
404
+ stopTerminalRun: (runId) => {
405
+ if (services.shellRuntime.hasRun(runId))
406
+ services.shellRuntime.stopRun(runId);
407
+ else
408
+ services.agentRuntime.stopAgentRun(runId);
409
+ },
410
+ };
411
+ };
@@ -0,0 +1,33 @@
1
+ import type { AddMemoryEntryInput, LogMemoryInjectionsInput, MemoryEntryWithSources, MemoryInjectionWithMemory, MemoryListOptions, MemorySearchOptions, MemorySearchResult } from './team-memory-store.js';
2
+ interface RuntimeStoreMemoryServices {
3
+ teamMemoryExport: {
4
+ schedule: (workspaceId: string) => void;
5
+ };
6
+ teamMemoryStore: {
7
+ addEntry: (input: AddMemoryEntryInput) => MemoryEntryWithSources;
8
+ approveCandidate: (workspaceId: string, memoryId: string) => MemoryEntryWithSources;
9
+ archiveEntry: (workspaceId: string, memoryId: string) => MemoryEntryWithSources;
10
+ getEntryWithSources: (workspaceId: string, memoryId: string) => MemoryEntryWithSources | undefined;
11
+ listEntries: (workspaceId: string, options?: MemoryListOptions) => MemoryEntryWithSources[];
12
+ listInjectionsForDispatch: (workspaceId: string, dispatchId: string) => MemoryInjectionWithMemory[];
13
+ logInjections: (input: LogMemoryInjectionsInput) => string[];
14
+ rejectCandidate: (workspaceId: string, memoryId: string) => MemoryEntryWithSources;
15
+ searchEntries: (workspaceId: string, query: string, options?: MemorySearchOptions) => MemorySearchResult[];
16
+ setDisabled: (workspaceId: string, memoryId: string, disabled: boolean) => MemoryEntryWithSources;
17
+ setPinned: (workspaceId: string, memoryId: string, pinned: boolean) => MemoryEntryWithSources;
18
+ };
19
+ }
20
+ export declare const createRuntimeStoreMemoryMethods: (services: RuntimeStoreMemoryServices) => {
21
+ addMemoryEntry(input: AddMemoryEntryInput): MemoryEntryWithSources;
22
+ approveMemoryCandidate(workspaceId: string, memoryId: string): MemoryEntryWithSources;
23
+ archiveMemoryEntry(workspaceId: string, memoryId: string): MemoryEntryWithSources;
24
+ getMemoryEntry: (workspaceId: string, memoryId: string) => MemoryEntryWithSources | undefined;
25
+ listMemoryEntries: (workspaceId: string, options?: MemoryListOptions) => MemoryEntryWithSources[];
26
+ listMemoryInjectionsForDispatch: (workspaceId: string, dispatchId: string) => MemoryInjectionWithMemory[];
27
+ logMemoryInjections: (input: LogMemoryInjectionsInput) => string[];
28
+ rejectMemoryCandidate(workspaceId: string, memoryId: string): MemoryEntryWithSources;
29
+ searchMemoryEntries: (workspaceId: string, query: string, options?: MemorySearchOptions) => MemorySearchResult[];
30
+ setMemoryDisabled(workspaceId: string, memoryId: string, disabled: boolean): MemoryEntryWithSources;
31
+ setMemoryPinned(workspaceId: string, memoryId: string, pinned: boolean): MemoryEntryWithSources;
32
+ };
33
+ export {};
@@ -0,0 +1,37 @@
1
+ export const createRuntimeStoreMemoryMethods = (services) => ({
2
+ addMemoryEntry(input) {
3
+ const memory = services.teamMemoryStore.addEntry(input);
4
+ services.teamMemoryExport.schedule(input.workspaceId);
5
+ return memory;
6
+ },
7
+ approveMemoryCandidate(workspaceId, memoryId) {
8
+ const memory = services.teamMemoryStore.approveCandidate(workspaceId, memoryId);
9
+ services.teamMemoryExport.schedule(workspaceId);
10
+ return memory;
11
+ },
12
+ archiveMemoryEntry(workspaceId, memoryId) {
13
+ const memory = services.teamMemoryStore.archiveEntry(workspaceId, memoryId);
14
+ services.teamMemoryExport.schedule(workspaceId);
15
+ return memory;
16
+ },
17
+ getMemoryEntry: (workspaceId, memoryId) => services.teamMemoryStore.getEntryWithSources(workspaceId, memoryId),
18
+ listMemoryEntries: (workspaceId, options) => services.teamMemoryStore.listEntries(workspaceId, options),
19
+ listMemoryInjectionsForDispatch: (workspaceId, dispatchId) => services.teamMemoryStore.listInjectionsForDispatch(workspaceId, dispatchId),
20
+ logMemoryInjections: (input) => services.teamMemoryStore.logInjections(input),
21
+ rejectMemoryCandidate(workspaceId, memoryId) {
22
+ const memory = services.teamMemoryStore.rejectCandidate(workspaceId, memoryId);
23
+ services.teamMemoryExport.schedule(workspaceId);
24
+ return memory;
25
+ },
26
+ searchMemoryEntries: (workspaceId, query, options) => services.teamMemoryStore.searchEntries(workspaceId, query, options),
27
+ setMemoryDisabled(workspaceId, memoryId, disabled) {
28
+ const memory = services.teamMemoryStore.setDisabled(workspaceId, memoryId, disabled);
29
+ services.teamMemoryExport.schedule(workspaceId);
30
+ return memory;
31
+ },
32
+ setMemoryPinned(workspaceId, memoryId, pinned) {
33
+ const memory = services.teamMemoryStore.setPinned(workspaceId, memoryId, pinned);
34
+ services.teamMemoryExport.schedule(workspaceId);
35
+ return memory;
36
+ },
37
+ });
@@ -0,0 +1,5 @@
1
+ import type { RuntimeStore } from './runtime-store-contract.js';
2
+ import type { RuntimeStoreServices } from './runtime-store-helpers.js';
3
+ type RuntimeStoreRemoteMethods = Pick<RuntimeStore, 'authorizeRemoteTunnelRequest' | 'bindRemoteTunnel' | 'confirmRemotePairing' | 'getRemoteAuditStore' | 'getRemoteDeviceSessions' | 'getRemoteDeviceStore' | 'getRemotePairing' | 'getRemoteTunnelSecret' | 'getRemoteTunnelStatus' | 'revokeRemoteDevice' | 'setRemoteEnabled' | 'setRemoteTunnelStatus'>;
4
+ export declare const createRuntimeStoreRemoteMethods: (services: RuntimeStoreServices) => RuntimeStoreRemoteMethods;
5
+ export {};
@@ -0,0 +1,45 @@
1
+ import { REMOTE_ENABLED_KEY } from './remote-config-keys.js';
2
+ export const createRuntimeStoreRemoteMethods = (services) => {
3
+ // Remote tunnel handle (M4). bindRemoteTunnel sets it in hive.ts after the tunnel is constructed;
4
+ // a runtime that never builds a tunnel leaves it null and the revoke closed loop still rejects new
5
+ // streams via the persistent provider.
6
+ let remoteTunnel = null;
7
+ let remoteTunnelStatus = 'disabled';
8
+ return {
9
+ authorizeRemoteTunnelRequest: (request) => services.uiAuth.isTunnelRequest(request),
10
+ getRemoteTunnelSecret: () => services.uiAuth.getTunnelSecret(),
11
+ getRemoteAuditStore: () => services.remoteAuditStore,
12
+ getRemoteDeviceSessions: () => services.remoteDeviceSessions,
13
+ getRemotePairing: () => services.remotePairing,
14
+ confirmRemotePairing: async (pairingId, name) => {
15
+ // D3: the tunnel driver owns the full confirm sequence (local row -> gateway /pair/confirm ->
16
+ // `confirmed` to the phone). If no tunnel is bound, fall back to local-only confirm.
17
+ if (remoteTunnel)
18
+ return remoteTunnel.confirmPairing(pairingId, name);
19
+ return services.remotePairing.confirmPairing(pairingId, name === undefined ? undefined : { name });
20
+ },
21
+ getRemoteDeviceStore: () => services.remoteDeviceStore,
22
+ getRemoteTunnelStatus: () => remoteTunnelStatus,
23
+ setRemoteTunnelStatus: (status) => {
24
+ remoteTunnelStatus = status;
25
+ },
26
+ bindRemoteTunnel: (tunnel) => {
27
+ remoteTunnel = tunnel;
28
+ },
29
+ setRemoteEnabled: (enabled) => {
30
+ services.settings.setAppState(REMOTE_ENABLED_KEY, enabled ? 'true' : 'false');
31
+ // Reconcile the outbound socket against the new flag. No-op when no tunnel is bound.
32
+ remoteTunnel?.refresh();
33
+ },
34
+ revokeRemoteDevice: (deviceId) => {
35
+ // (1) Persistent provider drops the session at once; (2) live streams are closed best-effort;
36
+ // (3) audit one revoke row for actual state changes.
37
+ const revoked = services.remoteDeviceStore.revoke(deviceId);
38
+ remoteTunnel?.closeDevice(deviceId, 'revoked');
39
+ if (revoked) {
40
+ services.remoteAuditStore.enqueue({ action: 'revoke', deviceId, result: 'ok' });
41
+ }
42
+ return revoked;
43
+ },
44
+ };
45
+ };
@@ -0,0 +1,6 @@
1
+ import type { RuntimeStore } from './runtime-store-contract.js';
2
+ import type { RuntimeStoreServices } from './runtime-store-helpers.js';
3
+ export declare const createRuntimeStoreWorkflowRuntime: (services: RuntimeStoreServices, store: RuntimeStore) => {
4
+ runner: import("./workflow-runner.js").WorkflowRunner;
5
+ scheduler: import("./workflow-scheduler.js").WorkflowScheduler;
6
+ };
@@ -0,0 +1,108 @@
1
+ import { readWorkflowCliPolicy, WORKFLOW_CLI_POLICY_KEY } from './workflow-cli-policy.js';
2
+ import { readWorkflowEnabled, WORKFLOW_ENABLED_KEY } from './workflow-feature.js';
3
+ import { createWorkflowRunner } from './workflow-runner.js';
4
+ import { createWorkflowScheduler } from './workflow-scheduler.js';
5
+ export const createRuntimeStoreWorkflowRuntime = (services, store) => {
6
+ const runner = createWorkflowRunner({
7
+ awaiter: services.workflowDispatchAwaiter,
8
+ workflowRunStore: services.workflowRunStore,
9
+ dispatchPort: {
10
+ listOpenDispatchIdsForRun: (runId) => services.dispatchLedgerStore.listOpenDispatchIdsForRun(runId),
11
+ },
12
+ resolveWorkspacePath: (workspaceId) => services.workspaceStore.getWorkspaceSnapshot(workspaceId).summary.path,
13
+ logStore: {
14
+ append: (runId, message, ts) => services.workflowRunLogStore.append(runId, message, ts),
15
+ },
16
+ getWorkflowCliPolicy: () => readWorkflowCliPolicy(services.settings.getAppState(WORKFLOW_CLI_POLICY_KEY)?.value ?? null),
17
+ roleTemplateResolver: {
18
+ findByName: (name) => {
19
+ const t = services.settings.findRoleTemplateByName(name);
20
+ if (!t)
21
+ return undefined;
22
+ return {
23
+ name: t.name,
24
+ roleType: t.roleType,
25
+ defaultCommand: t.defaultCommand,
26
+ defaultArgs: t.defaultArgs,
27
+ };
28
+ },
29
+ },
30
+ onRunFinished: ({ runId, triggeredByAgentId, finalRecord }) => {
31
+ const workspaceId = finalRecord.workspaceId;
32
+ const dispatches = services.dispatchLedgerStore.listWorkflowRunDispatches(runId);
33
+ const errorLine = finalRecord.error ? `\nerror: ${finalRecord.error}` : '';
34
+ const dispatchSummary = dispatches.length === 0
35
+ ? '\n(no agent() calls in this run)'
36
+ : '\n' +
37
+ dispatches
38
+ .map((d) => {
39
+ const reply = d.reportText
40
+ ? d.reportText.length > 200
41
+ ? `${d.reportText.slice(0, 197).trim()}...`
42
+ : d.reportText.trim()
43
+ : `(no report; status=${d.status})`;
44
+ return ` #${d.stepIndex ?? '?'} -> ${reply}`;
45
+ })
46
+ .join('\n');
47
+ const resultBlock = (() => {
48
+ if (finalRecord.result === null || finalRecord.result === undefined)
49
+ return '';
50
+ const serialized = typeof finalRecord.result === 'string'
51
+ ? finalRecord.result
52
+ : JSON.stringify(finalRecord.result, null, 2);
53
+ const truncated = serialized.length > 4000
54
+ ? `${serialized.slice(0, 4000)}\n...(truncated; ${serialized.length - 4000} more chars)`
55
+ : serialized;
56
+ return `\nResult (workflow return value):\n${truncated}`;
57
+ })();
58
+ const logTail = services.workflowRunLogStore.tailForRun(runId, 8);
59
+ const logBlock = logTail.length === 0
60
+ ? ''
61
+ : `\nNarrator (last ${logTail.length} log line${logTail.length === 1 ? '' : 's'}):\n` +
62
+ logTail.map((line) => ` - ${line}`).join('\n');
63
+ const payload = '<hive-system-reminder>\n' +
64
+ `Hive workflow \`${finalRecord.name}\` finished: status=${finalRecord.status}` +
65
+ ` (run_id=${runId}, ${dispatches.length} agent call${dispatches.length === 1 ? '' : 's'}).` +
66
+ errorLine +
67
+ resultBlock +
68
+ logBlock +
69
+ dispatchSummary +
70
+ '\nThis result is what you should synthesize back to the user. ' +
71
+ 'Per-agent transcripts are available via `team workflow show ' +
72
+ runId +
73
+ '` if needed.\n' +
74
+ '</hive-system-reminder>\n';
75
+ try {
76
+ services.agentRuntime.writeSystemMessageToAgent(workspaceId, triggeredByAgentId, payload);
77
+ }
78
+ catch (error) {
79
+ console.error('[hive] workflow.notifyTrigger failed', error);
80
+ }
81
+ // Outbound completion webhook (best-effort) so the user is pinged when a
82
+ // long fan-out finishes without watching the drawer.
83
+ services.webhookNotifier.notify({
84
+ type: 'workflow_finished',
85
+ workspaceId,
86
+ summary: `${finalRecord.name}: ${finalRecord.status}${finalRecord.error ? ` — ${finalRecord.error}` : ''}`,
87
+ at: Date.now(),
88
+ });
89
+ },
90
+ store: {
91
+ addWorkerWithLaunch: (ws, input, launch) => store.addWorkerWithLaunch(ws, input, launch),
92
+ deleteWorker: (ws, workerId) => store.deleteWorker(ws, workerId),
93
+ dispatchTaskByWorkerName: async (ws, name, text, input) => {
94
+ const dispatch = await store.dispatchTaskByWorkerName(ws, name, text, input);
95
+ return { id: dispatch.id };
96
+ },
97
+ startAgent: (ws, agentId, input) => store.startAgent(ws, agentId, input),
98
+ },
99
+ });
100
+ const scheduler = createWorkflowScheduler({
101
+ schedules: services.workflowScheduleStore,
102
+ startWorkflow: (input) => store.startWorkflow(input),
103
+ workspaceExists: (workspaceId) => services.workspaceStore.hasWorkspace(workspaceId),
104
+ isWorkflowEnabled: () => readWorkflowEnabled(services.settings.getAppState(WORKFLOW_ENABLED_KEY)?.value ?? null),
105
+ });
106
+ scheduler.start();
107
+ return { runner, scheduler };
108
+ };
@@ -0,0 +1,4 @@
1
+ import type { RuntimeStore, RuntimeStoreOptions } from './runtime-store-contract.js';
2
+ import type { WorkflowRunRecord } from './workflow-run-store.js';
3
+ export type { RuntimeStore, WorkflowRunRecord };
4
+ export declare const createRuntimeStore: (options?: RuntimeStoreOptions) => RuntimeStore;