@hyperdrive.bot/fleet-server 0.3.99

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 (991) hide show
  1. package/.env.example +31 -0
  2. package/README.md +111 -0
  3. package/dist/scripts/dev-runner.js +37 -0
  4. package/dist/scripts/mcp-stdio-socket-bridge-cli.mjs +62 -0
  5. package/dist/scripts/supervisor-entrypoint.js +156 -0
  6. package/dist/scripts/supervisor-log-config.js +31 -0
  7. package/dist/scripts/supervisor.js +345 -0
  8. package/dist/server/executable-resolution/executable-resolution.d.ts +10 -0
  9. package/dist/server/executable-resolution/executable-resolution.js +118 -0
  10. package/dist/server/executable-resolution/windows.d.ts +18 -0
  11. package/dist/server/executable-resolution/windows.js +65 -0
  12. package/dist/server/extensions/daemon-backend.d.ts +11 -0
  13. package/dist/server/extensions/daemon-backend.js +146 -0
  14. package/dist/server/extensions/extension-host-manager.d.ts +48 -0
  15. package/dist/server/extensions/extension-host-manager.js +141 -0
  16. package/dist/server/extensions/extension-loader.d.ts +11 -0
  17. package/dist/server/extensions/extension-loader.js +47 -0
  18. package/dist/server/extensions/extension-service.d.ts +17 -0
  19. package/dist/server/extensions/extension-service.js +76 -0
  20. package/dist/server/server/agent/activity-curator.d.ts +28 -0
  21. package/dist/server/server/agent/activity-curator.js +227 -0
  22. package/dist/server/server/agent/agent-archive.d.ts +11 -0
  23. package/dist/server/server/agent/agent-archive.js +16 -0
  24. package/dist/server/server/agent/agent-list-filter.d.ts +76 -0
  25. package/dist/server/server/agent/agent-list-filter.js +184 -0
  26. package/dist/server/server/agent/agent-loading.d.ts +12 -0
  27. package/dist/server/server/agent/agent-loading.js +76 -0
  28. package/dist/server/server/agent/agent-manager.d.ts +628 -0
  29. package/dist/server/server/agent/agent-manager.js +3370 -0
  30. package/dist/server/server/agent/agent-projections.d.ts +65 -0
  31. package/dist/server/server/agent/agent-projections.js +548 -0
  32. package/dist/server/server/agent/agent-prompt.d.ts +65 -0
  33. package/dist/server/server/agent/agent-prompt.js +271 -0
  34. package/dist/server/server/agent/agent-response-loop.d.ts +67 -0
  35. package/dist/server/server/agent/agent-response-loop.js +326 -0
  36. package/dist/server/server/agent/agent-routes.d.ts +18 -0
  37. package/dist/server/server/agent/agent-routes.js +107 -0
  38. package/dist/server/server/agent/agent-sdk-types.d.ts +809 -0
  39. package/dist/server/server/agent/agent-sdk-types.js +22 -0
  40. package/dist/server/server/agent/agent-storage.d.ts +209 -0
  41. package/dist/server/server/agent/agent-storage.js +365 -0
  42. package/dist/server/server/agent/agent-stream-coalescer.d.ts +41 -0
  43. package/dist/server/server/agent/agent-stream-coalescer.js +166 -0
  44. package/dist/server/server/agent/agent-timeline-store-types.d.ts +50 -0
  45. package/dist/server/server/agent/agent-timeline-store-types.js +2 -0
  46. package/dist/server/server/agent/agent-timeline-store.d.ts +27 -0
  47. package/dist/server/server/agent/agent-timeline-store.js +277 -0
  48. package/dist/server/server/agent/audio-utils.d.ts +3 -0
  49. package/dist/server/server/agent/audio-utils.js +19 -0
  50. package/dist/server/server/agent/authorship-ledger.d.ts +139 -0
  51. package/dist/server/server/agent/authorship-ledger.js +207 -0
  52. package/dist/server/server/agent/authorship-markup.d.ts +198 -0
  53. package/dist/server/server/agent/authorship-markup.js +288 -0
  54. package/dist/server/server/agent/blocker-log.d.ts +81 -0
  55. package/dist/server/server/agent/blocker-log.js +113 -0
  56. package/dist/server/server/agent/card-move-log.d.ts +66 -0
  57. package/dist/server/server/agent/card-move-log.js +113 -0
  58. package/dist/server/server/agent/create-agent/create.d.ts +126 -0
  59. package/dist/server/server/agent/create-agent/create.js +378 -0
  60. package/dist/server/server/agent/create-agent/routine.d.ts +45 -0
  61. package/dist/server/server/agent/create-agent/routine.js +53 -0
  62. package/dist/server/server/agent/create-agent-lifecycle-dispatch.d.ts +54 -0
  63. package/dist/server/server/agent/create-agent-lifecycle-dispatch.js +152 -0
  64. package/dist/server/server/agent/create-agent-mode.d.ts +13 -0
  65. package/dist/server/server/agent/create-agent-mode.js +62 -0
  66. package/dist/server/server/agent/create-agent-title.d.ts +10 -0
  67. package/dist/server/server/agent/create-agent-title.js +34 -0
  68. package/dist/server/server/agent/dictation-debug.d.ts +13 -0
  69. package/dist/server/server/agent/dictation-debug.js +50 -0
  70. package/dist/server/server/agent/foreground-run-state.d.ts +50 -0
  71. package/dist/server/server/agent/foreground-run-state.js +160 -0
  72. package/dist/server/server/agent/import-sessions.d.ts +52 -0
  73. package/dist/server/server/agent/import-sessions.js +170 -0
  74. package/dist/server/server/agent/jarvis-judge.d.ts +157 -0
  75. package/dist/server/server/agent/jarvis-judge.js +289 -0
  76. package/dist/server/server/agent/judge-relay-gate.d.ts +70 -0
  77. package/dist/server/server/agent/judge-relay-gate.js +92 -0
  78. package/dist/server/server/agent/lifecycle-command.d.ts +75 -0
  79. package/dist/server/server/agent/lifecycle-command.js +97 -0
  80. package/dist/server/server/agent/mcp-server.d.ts +22 -0
  81. package/dist/server/server/agent/mcp-server.js +653 -0
  82. package/dist/server/server/agent/mcp-shared.d.ts +239 -0
  83. package/dist/server/server/agent/mcp-shared.js +200 -0
  84. package/dist/server/server/agent/output-language.d.ts +16 -0
  85. package/dist/server/server/agent/output-language.js +62 -0
  86. package/dist/server/server/agent/pcm16-resampler.d.ts +14 -0
  87. package/dist/server/server/agent/pcm16-resampler.js +63 -0
  88. package/dist/server/server/agent/permission-response.d.ts +15 -0
  89. package/dist/server/server/agent/permission-response.js +14 -0
  90. package/dist/server/server/agent/prompt-attachments.d.ts +7 -0
  91. package/dist/server/server/agent/prompt-attachments.js +90 -0
  92. package/dist/server/server/agent/provider-config-reload.d.ts +27 -0
  93. package/dist/server/server/agent/provider-config-reload.js +65 -0
  94. package/dist/server/server/agent/provider-history-timestamps.d.ts +2 -0
  95. package/dist/server/server/agent/provider-history-timestamps.js +16 -0
  96. package/dist/server/server/agent/provider-launch-config.d.ts +51 -0
  97. package/dist/server/server/agent/provider-launch-config.js +183 -0
  98. package/dist/server/server/agent/provider-notices.d.ts +3 -0
  99. package/dist/server/server/agent/provider-notices.js +5 -0
  100. package/dist/server/server/agent/provider-registry-contract.d.ts +40 -0
  101. package/dist/server/server/agent/provider-registry-contract.js +28 -0
  102. package/dist/server/server/agent/provider-registry.d.ts +97 -0
  103. package/dist/server/server/agent/provider-registry.js +686 -0
  104. package/dist/server/server/agent/provider-session-import.d.ts +10 -0
  105. package/dist/server/server/agent/provider-session-import.js +49 -0
  106. package/dist/server/server/agent/provider-snapshot-manager.d.ts +166 -0
  107. package/dist/server/server/agent/provider-snapshot-manager.js +760 -0
  108. package/dist/server/server/agent/providers/acp-agent.d.ts +354 -0
  109. package/dist/server/server/agent/providers/acp-agent.js +2438 -0
  110. package/dist/server/server/agent/providers/claude/agent.d.ts +491 -0
  111. package/dist/server/server/agent/providers/claude/agent.js +5128 -0
  112. package/dist/server/server/agent/providers/claude/background-shell-kill-keys.d.ts +32 -0
  113. package/dist/server/server/agent/providers/claude/background-shell-kill-keys.js +34 -0
  114. package/dist/server/server/agent/providers/claude/background-task-tracker.d.ts +217 -0
  115. package/dist/server/server/agent/providers/claude/background-task-tracker.js +511 -0
  116. package/dist/server/server/agent/providers/claude/background-work-kinds.d.ts +124 -0
  117. package/dist/server/server/agent/providers/claude/background-work-kinds.js +96 -0
  118. package/dist/server/server/agent/providers/claude/feature-definitions.d.ts +8 -0
  119. package/dist/server/server/agent/providers/claude/feature-definitions.js +24 -0
  120. package/dist/server/server/agent/providers/claude/hook-handler.d.ts +37 -0
  121. package/dist/server/server/agent/providers/claude/hook-handler.js +193 -0
  122. package/dist/server/server/agent/providers/claude/hooks/event-translator.d.ts +49 -0
  123. package/dist/server/server/agent/providers/claude/hooks/event-translator.js +151 -0
  124. package/dist/server/server/agent/providers/claude/image-compression.d.ts +10 -0
  125. package/dist/server/server/agent/providers/claude/image-compression.js +32 -0
  126. package/dist/server/server/agent/providers/claude/model-manifest.d.ts +116 -0
  127. package/dist/server/server/agent/providers/claude/model-manifest.js +279 -0
  128. package/dist/server/server/agent/providers/claude/models.d.ts +11 -0
  129. package/dist/server/server/agent/providers/claude/models.js +97 -0
  130. package/dist/server/server/agent/providers/claude/partial-json.d.ts +5 -0
  131. package/dist/server/server/agent/providers/claude/partial-json.js +306 -0
  132. package/dist/server/server/agent/providers/claude/project-dir.d.ts +6 -0
  133. package/dist/server/server/agent/providers/claude/project-dir.js +57 -0
  134. package/dist/server/server/agent/providers/claude/pty-session-launcher.d.ts +62 -0
  135. package/dist/server/server/agent/providers/claude/pty-session-launcher.js +175 -0
  136. package/dist/server/server/agent/providers/claude/resume-source.d.ts +11 -0
  137. package/dist/server/server/agent/providers/claude/resume-source.js +37 -0
  138. package/dist/server/server/agent/providers/claude/rewind.d.ts +30 -0
  139. package/dist/server/server/agent/providers/claude/rewind.js +30 -0
  140. package/dist/server/server/agent/providers/claude/sidechain-tracker.d.ts +22 -0
  141. package/dist/server/server/agent/providers/claude/sidechain-tracker.js +232 -0
  142. package/dist/server/server/agent/providers/claude/spawn-config-writer.d.ts +70 -0
  143. package/dist/server/server/agent/providers/claude/spawn-config-writer.js +229 -0
  144. package/dist/server/server/agent/providers/claude/task-notification-tool-call.d.ts +47 -0
  145. package/dist/server/server/agent/providers/claude/task-notification-tool-call.js +292 -0
  146. package/dist/server/server/agent/providers/claude/test-rewind-claude-sdk.d.ts +24 -0
  147. package/dist/server/server/agent/providers/claude/test-rewind-claude-sdk.js +23 -0
  148. package/dist/server/server/agent/providers/claude/tool-allowlist-guard.d.ts +41 -0
  149. package/dist/server/server/agent/providers/claude/tool-allowlist-guard.js +95 -0
  150. package/dist/server/server/agent/providers/claude/tool-allowlist.d.ts +68 -0
  151. package/dist/server/server/agent/providers/claude/tool-allowlist.js +133 -0
  152. package/dist/server/server/agent/providers/claude/tool-call-detail-parser.d.ts +3 -0
  153. package/dist/server/server/agent/providers/claude/tool-call-detail-parser.js +130 -0
  154. package/dist/server/server/agent/providers/claude/tool-call-mapper.d.ts +16 -0
  155. package/dist/server/server/agent/providers/claude/tool-call-mapper.js +129 -0
  156. package/dist/server/server/agent/providers/claude/transport/claude-paths.d.ts +31 -0
  157. package/dist/server/server/agent/providers/claude/transport/claude-paths.js +63 -0
  158. package/dist/server/server/agent/providers/claude/transport/continue-flag.d.ts +31 -0
  159. package/dist/server/server/agent/providers/claude/transport/continue-flag.js +42 -0
  160. package/dist/server/server/agent/providers/claude/transport/pty-query.d.ts +493 -0
  161. package/dist/server/server/agent/providers/claude/transport/pty-query.js +2075 -0
  162. package/dist/server/server/agent/providers/claude/transport/pty.d.ts +153 -0
  163. package/dist/server/server/agent/providers/claude/transport/pty.js +367 -0
  164. package/dist/server/server/agent/providers/claude/transport/redact.d.ts +8 -0
  165. package/dist/server/server/agent/providers/claude/transport/redact.js +33 -0
  166. package/dist/server/server/agent/providers/claude/transport/sdk.d.ts +65 -0
  167. package/dist/server/server/agent/providers/claude/transport/sdk.js +219 -0
  168. package/dist/server/server/agent/providers/claude/transport/tmux.d.ts +141 -0
  169. package/dist/server/server/agent/providers/claude/transport/tmux.js +218 -0
  170. package/dist/server/server/agent/providers/claude/transport/transcript-sdk-reader.d.ts +53 -0
  171. package/dist/server/server/agent/providers/claude/transport/transcript-sdk-reader.js +243 -0
  172. package/dist/server/server/agent/providers/claude/transport/transcript-tailer.d.ts +28 -0
  173. package/dist/server/server/agent/providers/claude/transport/transcript-tailer.js +166 -0
  174. package/dist/server/server/agent/providers/claude/transport/truncate-session.d.ts +50 -0
  175. package/dist/server/server/agent/providers/claude/transport/truncate-session.js +121 -0
  176. package/dist/server/server/agent/providers/claude/transport/turn-id-reconciler.d.ts +36 -0
  177. package/dist/server/server/agent/providers/claude/transport/turn-id-reconciler.js +75 -0
  178. package/dist/server/server/agent/providers/claude/transport/types.d.ts +61 -0
  179. package/dist/server/server/agent/providers/claude/transport/types.js +2 -0
  180. package/dist/server/server/agent/providers/codex/app-server-transport.d.ts +90 -0
  181. package/dist/server/server/agent/providers/codex/app-server-transport.js +262 -0
  182. package/dist/server/server/agent/providers/codex/rewind.d.ts +21 -0
  183. package/dist/server/server/agent/providers/codex/rewind.js +46 -0
  184. package/dist/server/server/agent/providers/codex/test-utils/fake-app-server.d.ts +36 -0
  185. package/dist/server/server/agent/providers/codex/test-utils/fake-app-server.js +217 -0
  186. package/dist/server/server/agent/providers/codex/tool-call-detail-parser.d.ts +12 -0
  187. package/dist/server/server/agent/providers/codex/tool-call-detail-parser.js +104 -0
  188. package/dist/server/server/agent/providers/codex/tool-call-mapper.d.ts +24 -0
  189. package/dist/server/server/agent/providers/codex/tool-call-mapper.js +830 -0
  190. package/dist/server/server/agent/providers/codex-app-server-agent.d.ts +308 -0
  191. package/dist/server/server/agent/providers/codex-app-server-agent.js +4515 -0
  192. package/dist/server/server/agent/providers/codex-feature-definitions.d.ts +11 -0
  193. package/dist/server/server/agent/providers/codex-feature-definitions.js +45 -0
  194. package/dist/server/server/agent/providers/copilot-acp-agent.d.ts +26 -0
  195. package/dist/server/server/agent/providers/copilot-acp-agent.js +187 -0
  196. package/dist/server/server/agent/providers/cursor-acp-agent.d.ts +15 -0
  197. package/dist/server/server/agent/providers/cursor-acp-agent.js +18 -0
  198. package/dist/server/server/agent/providers/diagnostic-utils.d.ts +36 -0
  199. package/dist/server/server/agent/providers/diagnostic-utils.js +355 -0
  200. package/dist/server/server/agent/providers/generic-acp-agent.d.ts +42 -0
  201. package/dist/server/server/agent/providers/generic-acp-agent.js +161 -0
  202. package/dist/server/server/agent/providers/kiro-acp-agent.d.ts +17 -0
  203. package/dist/server/server/agent/providers/kiro-acp-agent.js +78 -0
  204. package/dist/server/server/agent/providers/mock-load-test-agent.d.ts +85 -0
  205. package/dist/server/server/agent/providers/mock-load-test-agent.js +1010 -0
  206. package/dist/server/server/agent/providers/mock-slow-provider.d.ts +14 -0
  207. package/dist/server/server/agent/providers/mock-slow-provider.js +39 -0
  208. package/dist/server/server/agent/providers/opencode/paths.d.ts +2 -0
  209. package/dist/server/server/agent/providers/opencode/paths.js +7 -0
  210. package/dist/server/server/agent/providers/opencode/rewind.d.ts +18 -0
  211. package/dist/server/server/agent/providers/opencode/rewind.js +14 -0
  212. package/dist/server/server/agent/providers/opencode/server-manager.d.ts +91 -0
  213. package/dist/server/server/agent/providers/opencode/server-manager.js +425 -0
  214. package/dist/server/server/agent/providers/opencode/test-server-manager.d.ts +25 -0
  215. package/dist/server/server/agent/providers/opencode/test-server-manager.js +39 -0
  216. package/dist/server/server/agent/providers/opencode/test-utils/test-opencode-harness.d.ts +92 -0
  217. package/dist/server/server/agent/providers/opencode/test-utils/test-opencode-harness.js +268 -0
  218. package/dist/server/server/agent/providers/opencode/tool-call-detail-parser.d.ts +3 -0
  219. package/dist/server/server/agent/providers/opencode/tool-call-detail-parser.js +256 -0
  220. package/dist/server/server/agent/providers/opencode/tool-call-mapper.d.ts +13 -0
  221. package/dist/server/server/agent/providers/opencode/tool-call-mapper.js +53 -0
  222. package/dist/server/server/agent/providers/opencode-agent.d.ts +293 -0
  223. package/dist/server/server/agent/providers/opencode-agent.js +2908 -0
  224. package/dist/server/server/agent/providers/pi/agent.d.ts +137 -0
  225. package/dist/server/server/agent/providers/pi/agent.js +1651 -0
  226. package/dist/server/server/agent/providers/pi/cli-runtime.d.ts +21 -0
  227. package/dist/server/server/agent/providers/pi/cli-runtime.js +233 -0
  228. package/dist/server/server/agent/providers/pi/history-mapper.d.ts +9 -0
  229. package/dist/server/server/agent/providers/pi/history-mapper.js +140 -0
  230. package/dist/server/server/agent/providers/pi/rewind.d.ts +8 -0
  231. package/dist/server/server/agent/providers/pi/rewind.js +8 -0
  232. package/dist/server/server/agent/providers/pi/rpc-types.d.ts +208 -0
  233. package/dist/server/server/agent/providers/pi/rpc-types.js +2 -0
  234. package/dist/server/server/agent/providers/pi/runtime.d.ts +57 -0
  235. package/dist/server/server/agent/providers/pi/runtime.js +56 -0
  236. package/dist/server/server/agent/providers/pi/session-descriptor.d.ts +16 -0
  237. package/dist/server/server/agent/providers/pi/session-descriptor.js +346 -0
  238. package/dist/server/server/agent/providers/pi/test-utils/fake-pi.d.ts +83 -0
  239. package/dist/server/server/agent/providers/pi/test-utils/fake-pi.js +184 -0
  240. package/dist/server/server/agent/providers/pi/tool-call-mapper.d.ts +112 -0
  241. package/dist/server/server/agent/providers/pi/tool-call-mapper.js +284 -0
  242. package/dist/server/server/agent/providers/provider-image-output.d.ts +25 -0
  243. package/dist/server/server/agent/providers/provider-image-output.js +111 -0
  244. package/dist/server/server/agent/providers/provider-runner.d.ts +27 -0
  245. package/dist/server/server/agent/providers/provider-runner.js +81 -0
  246. package/dist/server/server/agent/providers/test-utils/session-stream-adapter.d.ts +3 -0
  247. package/dist/server/server/agent/providers/test-utils/session-stream-adapter.js +60 -0
  248. package/dist/server/server/agent/providers/tool-call-detail-primitives.d.ts +884 -0
  249. package/dist/server/server/agent/providers/tool-call-detail-primitives.js +778 -0
  250. package/dist/server/server/agent/providers/tool-call-mapper-utils.d.ts +25 -0
  251. package/dist/server/server/agent/providers/tool-call-mapper-utils.js +208 -0
  252. package/dist/server/server/agent/recordings-debug.d.ts +3 -0
  253. package/dist/server/server/agent/recordings-debug.js +19 -0
  254. package/dist/server/server/agent/render-file-attachment.d.ts +29 -0
  255. package/dist/server/server/agent/render-file-attachment.js +41 -0
  256. package/dist/server/server/agent/resolve-resume-cwd.d.ts +14 -0
  257. package/dist/server/server/agent/resolve-resume-cwd.js +49 -0
  258. package/dist/server/server/agent/rewind/rewind.d.ts +10 -0
  259. package/dist/server/server/agent/rewind/rewind.js +29 -0
  260. package/dist/server/server/agent/rewind/test-rewind-session.d.ts +48 -0
  261. package/dist/server/server/agent/rewind/test-rewind-session.js +88 -0
  262. package/dist/server/server/agent/runtime-mcp-config.d.ts +14 -0
  263. package/dist/server/server/agent/runtime-mcp-config.js +53 -0
  264. package/dist/server/server/agent/session-digest-generator.d.ts +64 -0
  265. package/dist/server/server/agent/session-digest-generator.js +306 -0
  266. package/dist/server/server/agent/session-digest.d.ts +81 -0
  267. package/dist/server/server/agent/session-digest.js +226 -0
  268. package/dist/server/server/agent/structured-generation-providers.d.ts +29 -0
  269. package/dist/server/server/agent/structured-generation-providers.js +236 -0
  270. package/dist/server/server/agent/stt-debug.d.ts +10 -0
  271. package/dist/server/server/agent/stt-debug.js +33 -0
  272. package/dist/server/server/agent/stt-manager.d.ts +47 -0
  273. package/dist/server/server/agent/stt-manager.js +263 -0
  274. package/dist/server/server/agent/system-prompt.d.ts +2 -0
  275. package/dist/server/server/agent/system-prompt.js +8 -0
  276. package/dist/server/server/agent/timeline-append.d.ts +10 -0
  277. package/dist/server/server/agent/timeline-append.js +27 -0
  278. package/dist/server/server/agent/timeline-projection.d.ts +71 -0
  279. package/dist/server/server/agent/timeline-projection.js +373 -0
  280. package/dist/server/server/agent/tools/paseo-tools.d.ts +66 -0
  281. package/dist/server/server/agent/tools/paseo-tools.js +2616 -0
  282. package/dist/server/server/agent/tools/read-only-surface.d.ts +53 -0
  283. package/dist/server/server/agent/tools/read-only-surface.js +69 -0
  284. package/dist/server/server/agent/tools/types.d.ts +41 -0
  285. package/dist/server/server/agent/tools/types.js +2 -0
  286. package/dist/server/server/agent/tts-debug.d.ts +8 -0
  287. package/dist/server/server/agent/tts-debug.js +24 -0
  288. package/dist/server/server/agent/tts-manager.d.ts +41 -0
  289. package/dist/server/server/agent/tts-manager.js +375 -0
  290. package/dist/server/server/agent/wait-for-agent-tracker.d.ts +15 -0
  291. package/dist/server/server/agent/wait-for-agent-tracker.js +53 -0
  292. package/dist/server/server/agent-attention-policy.d.ts +29 -0
  293. package/dist/server/server/agent-attention-policy.js +36 -0
  294. package/dist/server/server/atomic-file.d.ts +3 -0
  295. package/dist/server/server/atomic-file.js +19 -0
  296. package/dist/server/server/auth.d.ts +68 -0
  297. package/dist/server/server/auth.js +207 -0
  298. package/dist/server/server/auto-archive-on-merge/archive-if-safe.d.ts +40 -0
  299. package/dist/server/server/auto-archive-on-merge/archive-if-safe.js +92 -0
  300. package/dist/server/server/auto-archive-on-merge/index.d.ts +8 -0
  301. package/dist/server/server/auto-archive-on-merge/index.js +15 -0
  302. package/dist/server/server/bootstrap.d.ts +163 -0
  303. package/dist/server/server/bootstrap.js +1597 -0
  304. package/dist/server/server/browser-tools/broker.d.ts +45 -0
  305. package/dist/server/server/browser-tools/broker.js +390 -0
  306. package/dist/server/server/browser-tools/errors.d.ts +22 -0
  307. package/dist/server/server/browser-tools/errors.js +27 -0
  308. package/dist/server/server/browser-tools/policy.d.ts +10 -0
  309. package/dist/server/server/browser-tools/policy.js +16 -0
  310. package/dist/server/server/browser-tools/tools.d.ts +16 -0
  311. package/dist/server/server/browser-tools/tools.js +845 -0
  312. package/dist/server/server/chat/chat-mentions.d.ts +47 -0
  313. package/dist/server/server/chat/chat-mentions.js +113 -0
  314. package/dist/server/server/chat/chat-service.d.ts +78 -0
  315. package/dist/server/server/chat/chat-service.js +337 -0
  316. package/dist/server/server/checkout/status-projection.d.ts +19 -0
  317. package/dist/server/server/checkout/status-projection.js +102 -0
  318. package/dist/server/server/checkout-diff-manager.d.ts +41 -0
  319. package/dist/server/server/checkout-diff-manager.js +189 -0
  320. package/dist/server/server/checkout-git-utils.d.ts +11 -0
  321. package/dist/server/server/checkout-git-utils.js +34 -0
  322. package/dist/server/server/client-message-id.d.ts +3 -0
  323. package/dist/server/server/client-message-id.js +12 -0
  324. package/dist/server/server/config.d.ts +20 -0
  325. package/dist/server/server/config.js +427 -0
  326. package/dist/server/server/connection-offer.d.ts +20 -0
  327. package/dist/server/server/connection-offer.js +59 -0
  328. package/dist/server/server/daemon-config-store.d.ts +78 -0
  329. package/dist/server/server/daemon-config-store.js +320 -0
  330. package/dist/server/server/daemon-keypair.d.ts +8 -0
  331. package/dist/server/server/daemon-keypair.js +42 -0
  332. package/dist/server/server/daemon-version.d.ts +5 -0
  333. package/dist/server/server/daemon-version.js +22 -0
  334. package/dist/server/server/daemon-worker.d.ts +2 -0
  335. package/dist/server/server/daemon-worker.js +251 -0
  336. package/dist/server/server/dictation/dictation-stream-manager.d.ts +95 -0
  337. package/dist/server/server/dictation/dictation-stream-manager.js +581 -0
  338. package/dist/server/server/editor-targets.d.ts +18 -0
  339. package/dist/server/server/editor-targets.js +109 -0
  340. package/dist/server/server/ensure-workspace-for-create.d.ts +30 -0
  341. package/dist/server/server/ensure-workspace-for-create.js +20 -0
  342. package/dist/server/server/exports.d.ts +28 -0
  343. package/dist/server/server/exports.js +31 -0
  344. package/dist/server/server/file-download/token-store.d.ts +24 -0
  345. package/dist/server/server/file-download/token-store.js +40 -0
  346. package/dist/server/server/file-explorer/file-download-frames.d.ts +27 -0
  347. package/dist/server/server/file-explorer/file-download-frames.js +47 -0
  348. package/dist/server/server/file-explorer/mime-types.d.ts +58 -0
  349. package/dist/server/server/file-explorer/mime-types.js +212 -0
  350. package/dist/server/server/file-explorer/service.d.ts +97 -0
  351. package/dist/server/server/file-explorer/service.js +362 -0
  352. package/dist/server/server/file-upload/index.d.ts +27 -0
  353. package/dist/server/server/file-upload/index.js +158 -0
  354. package/dist/server/server/fleet/decision-service.d.ts +47 -0
  355. package/dist/server/server/fleet/decision-service.js +156 -0
  356. package/dist/server/server/fleet/fleet-controls.d.ts +77 -0
  357. package/dist/server/server/fleet/fleet-controls.js +217 -0
  358. package/dist/server/server/fleet/fleet-reader.d.ts +106 -0
  359. package/dist/server/server/fleet/fleet-reader.js +470 -0
  360. package/dist/server/server/fleet/fleet-scaffold.d.ts +26 -0
  361. package/dist/server/server/fleet/fleet-scaffold.js +48 -0
  362. package/dist/server/server/fleet/fleet-scheduler.d.ts +75 -0
  363. package/dist/server/server/fleet/fleet-scheduler.js +186 -0
  364. package/dist/server/server/fleet/fleet-service.d.ts +75 -0
  365. package/dist/server/server/fleet/fleet-service.js +134 -0
  366. package/dist/server/server/hostnames.d.ts +13 -0
  367. package/dist/server/server/hostnames.js +94 -0
  368. package/dist/server/server/ingestion/adapters.d.ts +21 -0
  369. package/dist/server/server/ingestion/adapters.js +27 -0
  370. package/dist/server/server/ingestion/apply.d.ts +220 -0
  371. package/dist/server/server/ingestion/apply.js +345 -0
  372. package/dist/server/server/ingestion/backfill.d.ts +123 -0
  373. package/dist/server/server/ingestion/backfill.js +160 -0
  374. package/dist/server/server/ingestion/cap-limiter.d.ts +148 -0
  375. package/dist/server/server/ingestion/cap-limiter.js +264 -0
  376. package/dist/server/server/ingestion/cohort-recorder-memory.d.ts +25 -0
  377. package/dist/server/server/ingestion/cohort-recorder-memory.js +78 -0
  378. package/dist/server/server/ingestion/cohort-recorder-store.d.ts +12 -0
  379. package/dist/server/server/ingestion/cohort-recorder-store.js +99 -0
  380. package/dist/server/server/ingestion/cohort-resume.d.ts +22 -0
  381. package/dist/server/server/ingestion/cohort-resume.js +171 -0
  382. package/dist/server/server/ingestion/cohort-store.d.ts +227 -0
  383. package/dist/server/server/ingestion/cohort-store.js +462 -0
  384. package/dist/server/server/ingestion/composio/gateway.d.ts +8 -0
  385. package/dist/server/server/ingestion/composio/gateway.js +469 -0
  386. package/dist/server/server/ingestion/dry-run.d.ts +70 -0
  387. package/dist/server/server/ingestion/dry-run.js +142 -0
  388. package/dist/server/server/ingestion/errors.d.ts +48 -0
  389. package/dist/server/server/ingestion/errors.js +63 -0
  390. package/dist/server/server/ingestion/external-user-id.d.ts +24 -0
  391. package/dist/server/server/ingestion/external-user-id.js +35 -0
  392. package/dist/server/server/ingestion/filters/store.d.ts +28 -0
  393. package/dist/server/server/ingestion/filters/store.js +74 -0
  394. package/dist/server/server/ingestion/fingerprint.d.ts +13 -0
  395. package/dist/server/server/ingestion/fingerprint.js +31 -0
  396. package/dist/server/server/ingestion/grouping.d.ts +26 -0
  397. package/dist/server/server/ingestion/grouping.js +116 -0
  398. package/dist/server/server/ingestion/hard-failure.d.ts +73 -0
  399. package/dist/server/server/ingestion/hard-failure.js +125 -0
  400. package/dist/server/server/ingestion/health.d.ts +38 -0
  401. package/dist/server/server/ingestion/health.js +90 -0
  402. package/dist/server/server/ingestion/ledger-schema.d.ts +99 -0
  403. package/dist/server/server/ingestion/ledger-schema.js +359 -0
  404. package/dist/server/server/ingestion/ledger.d.ts +562 -0
  405. package/dist/server/server/ingestion/ledger.js +881 -0
  406. package/dist/server/server/ingestion/match.d.ts +57 -0
  407. package/dist/server/server/ingestion/match.js +102 -0
  408. package/dist/server/server/ingestion/pipedream/gateway.d.ts +8 -0
  409. package/dist/server/server/ingestion/pipedream/gateway.js +282 -0
  410. package/dist/server/server/ingestion/presets.d.ts +57 -0
  411. package/dist/server/server/ingestion/presets.js +57 -0
  412. package/dist/server/server/ingestion/reconcile/artifact-kind.d.ts +19 -0
  413. package/dist/server/server/ingestion/reconcile/artifact-kind.js +65 -0
  414. package/dist/server/server/ingestion/reconcile/calendar.d.ts +19 -0
  415. package/dist/server/server/ingestion/reconcile/calendar.js +110 -0
  416. package/dist/server/server/ingestion/reconcile/constants.d.ts +60 -0
  417. package/dist/server/server/ingestion/reconcile/constants.js +62 -0
  418. package/dist/server/server/ingestion/reconcile/github.d.ts +21 -0
  419. package/dist/server/server/ingestion/reconcile/github.js +83 -0
  420. package/dist/server/server/ingestion/reconcile/gitlab.d.ts +23 -0
  421. package/dist/server/server/ingestion/reconcile/gitlab.js +94 -0
  422. package/dist/server/server/ingestion/reconcile/gmail.d.ts +9 -0
  423. package/dist/server/server/ingestion/reconcile/gmail.js +141 -0
  424. package/dist/server/server/ingestion/reconcile/jira.d.ts +17 -0
  425. package/dist/server/server/ingestion/reconcile/jira.js +76 -0
  426. package/dist/server/server/ingestion/reconcile/kinds.d.ts +16 -0
  427. package/dist/server/server/ingestion/reconcile/kinds.js +59 -0
  428. package/dist/server/server/ingestion/reconcile/mcp-call.d.ts +18 -0
  429. package/dist/server/server/ingestion/reconcile/mcp-call.js +105 -0
  430. package/dist/server/server/ingestion/reconcile/payload.d.ts +38 -0
  431. package/dist/server/server/ingestion/reconcile/payload.js +82 -0
  432. package/dist/server/server/ingestion/reconcile/registry.d.ts +40 -0
  433. package/dist/server/server/ingestion/reconcile/registry.js +72 -0
  434. package/dist/server/server/ingestion/reconcile/runner.d.ts +43 -0
  435. package/dist/server/server/ingestion/reconcile/runner.js +91 -0
  436. package/dist/server/server/ingestion/reconcile/sentry.d.ts +20 -0
  437. package/dist/server/server/ingestion/reconcile/sentry.js +85 -0
  438. package/dist/server/server/ingestion/reconcile/service.d.ts +134 -0
  439. package/dist/server/server/ingestion/reconcile/service.js +409 -0
  440. package/dist/server/server/ingestion/reconcile/signature-guard.d.ts +30 -0
  441. package/dist/server/server/ingestion/reconcile/signature-guard.js +82 -0
  442. package/dist/server/server/ingestion/reconcile/testing/fake-mcp-server.d.ts +68 -0
  443. package/dist/server/server/ingestion/reconcile/testing/fake-mcp-server.js +158 -0
  444. package/dist/server/server/ingestion/reconcile/types.d.ts +65 -0
  445. package/dist/server/server/ingestion/reconcile/types.js +11 -0
  446. package/dist/server/server/ingestion/reconcile/verdict-mapping.d.ts +54 -0
  447. package/dist/server/server/ingestion/reconcile/verdict-mapping.js +82 -0
  448. package/dist/server/server/ingestion/resolve-items.d.ts +23 -0
  449. package/dist/server/server/ingestion/resolve-items.js +54 -0
  450. package/dist/server/server/ingestion/run-projection.d.ts +35 -0
  451. package/dist/server/server/ingestion/run-projection.js +76 -0
  452. package/dist/server/server/ingestion/service.d.ts +147 -0
  453. package/dist/server/server/ingestion/service.js +364 -0
  454. package/dist/server/server/ingestion/sources/store.d.ts +27 -0
  455. package/dist/server/server/ingestion/sources/store.js +71 -0
  456. package/dist/server/server/ingestion/testing/claim-and-hang.d.ts +2 -0
  457. package/dist/server/server/ingestion/testing/claim-and-hang.js +21 -0
  458. package/dist/server/server/ingestion/testing/cohort-crash.d.ts +2 -0
  459. package/dist/server/server/ingestion/testing/cohort-crash.js +89 -0
  460. package/dist/server/server/ingestion/types.d.ts +226 -0
  461. package/dist/server/server/ingestion/types.js +18 -0
  462. package/dist/server/server/ingestion/utc-day.d.ts +27 -0
  463. package/dist/server/server/ingestion/utc-day.js +44 -0
  464. package/dist/server/server/json-utils.d.ts +11 -0
  465. package/dist/server/server/json-utils.js +45 -0
  466. package/dist/server/server/lifecycle-reasons.d.ts +4 -0
  467. package/dist/server/server/lifecycle-reasons.js +6 -0
  468. package/dist/server/server/logger.d.ts +29 -0
  469. package/dist/server/server/logger.js +125 -0
  470. package/dist/server/server/loop-service.d.ts +234 -0
  471. package/dist/server/server/loop-service.js +769 -0
  472. package/dist/server/server/managed-processes/managed-processes.d.ts +76 -0
  473. package/dist/server/server/managed-processes/managed-processes.js +326 -0
  474. package/dist/server/server/meetings/capture-http.d.ts +3 -0
  475. package/dist/server/server/meetings/capture-http.js +71 -0
  476. package/dist/server/server/meetings/capture-orchestrator.d.ts +123 -0
  477. package/dist/server/server/meetings/capture-orchestrator.js +531 -0
  478. package/dist/server/server/meetings/capture-stream-ws.d.ts +42 -0
  479. package/dist/server/server/meetings/capture-stream-ws.js +68 -0
  480. package/dist/server/server/meetings/live-transcription.d.ts +57 -0
  481. package/dist/server/server/meetings/live-transcription.js +280 -0
  482. package/dist/server/server/meetings/meetings-http.d.ts +42 -0
  483. package/dist/server/server/meetings/meetings-http.js +266 -0
  484. package/dist/server/server/messages.d.ts +9 -0
  485. package/dist/server/server/messages.js +29 -0
  486. package/dist/server/server/migrations/backfill-workspace-id.migration.d.ts +9 -0
  487. package/dist/server/server/migrations/backfill-workspace-id.migration.js +64 -0
  488. package/dist/server/server/monitoring/telemetry.d.ts +13 -0
  489. package/dist/server/server/monitoring/telemetry.js +21 -0
  490. package/dist/server/server/package-version.d.ts +19 -0
  491. package/dist/server/server/package-version.js +60 -0
  492. package/dist/server/server/pagination/cursor.d.ts +16 -0
  493. package/dist/server/server/pagination/cursor.js +62 -0
  494. package/dist/server/server/pagination/sortable-pager.d.ts +24 -0
  495. package/dist/server/server/pagination/sortable-pager.js +68 -0
  496. package/dist/server/server/pairing-offer.d.ts +18 -0
  497. package/dist/server/server/pairing-offer.js +47 -0
  498. package/dist/server/server/pairing-qr.d.ts +7 -0
  499. package/dist/server/server/pairing-qr.js +45 -0
  500. package/dist/server/server/paseo-env.d.ts +13 -0
  501. package/dist/server/server/paseo-env.js +53 -0
  502. package/dist/server/server/paseo-home.d.ts +2 -0
  503. package/dist/server/server/paseo-home.js +19 -0
  504. package/dist/server/server/paseo-worktree-service.d.ts +52 -0
  505. package/dist/server/server/paseo-worktree-service.js +294 -0
  506. package/dist/server/server/path-utils.d.ts +5 -0
  507. package/dist/server/server/path-utils.js +34 -0
  508. package/dist/server/server/persisted-config.d.ts +390 -0
  509. package/dist/server/server/persisted-config.js +424 -0
  510. package/dist/server/server/persistence-hooks.d.ts +32 -0
  511. package/dist/server/server/persistence-hooks.js +99 -0
  512. package/dist/server/server/pid-lock.d.ts +32 -0
  513. package/dist/server/server/pid-lock.js +170 -0
  514. package/dist/server/server/private-files.d.ts +6 -0
  515. package/dist/server/server/private-files.js +37 -0
  516. package/dist/server/server/process-diagnostics.d.ts +17 -0
  517. package/dist/server/server/process-diagnostics.js +22 -0
  518. package/dist/server/server/push/categories.d.ts +35 -0
  519. package/dist/server/server/push/categories.js +40 -0
  520. package/dist/server/server/push/expo-worker.d.ts +51 -0
  521. package/dist/server/server/push/expo-worker.js +188 -0
  522. package/dist/server/server/push/index.d.ts +39 -0
  523. package/dist/server/server/push/index.js +45 -0
  524. package/dist/server/server/push/notifications.d.ts +9 -0
  525. package/dist/server/server/push/notifications.js +15 -0
  526. package/dist/server/server/push/push-service.d.ts +20 -0
  527. package/dist/server/server/push/push-service.js +66 -0
  528. package/dist/server/server/push/routes.d.ts +28 -0
  529. package/dist/server/server/push/routes.js +74 -0
  530. package/dist/server/server/push/subscriptions.d.ts +42 -0
  531. package/dist/server/server/push/subscriptions.js +112 -0
  532. package/dist/server/server/push/token-store.d.ts +29 -0
  533. package/dist/server/server/push/token-store.js +78 -0
  534. package/dist/server/server/push/triggers.d.ts +68 -0
  535. package/dist/server/server/push/triggers.js +103 -0
  536. package/dist/server/server/push/vapid-keys.d.ts +15 -0
  537. package/dist/server/server/push/vapid-keys.js +52 -0
  538. package/dist/server/server/push/web-worker.d.ts +44 -0
  539. package/dist/server/server/push/web-worker.js +99 -0
  540. package/dist/server/server/reference-enricher.d.ts +41 -0
  541. package/dist/server/server/reference-enricher.js +392 -0
  542. package/dist/server/server/relay-transport.d.ts +31 -0
  543. package/dist/server/server/relay-transport.js +545 -0
  544. package/dist/server/server/resolve-workspace-id-for-path.d.ts +4 -0
  545. package/dist/server/server/resolve-workspace-id-for-path.js +71 -0
  546. package/dist/server/server/resolve-worktree-creation-intent.d.ts +32 -0
  547. package/dist/server/server/resolve-worktree-creation-intent.js +121 -0
  548. package/dist/server/server/restart-manifest.d.ts +83 -0
  549. package/dist/server/server/restart-manifest.js +122 -0
  550. package/dist/server/server/resume-after-restart.d.ts +50 -0
  551. package/dist/server/server/resume-after-restart.js +108 -0
  552. package/dist/server/server/schedule/create-cadence.d.ts +22 -0
  553. package/dist/server/server/schedule/create-cadence.js +70 -0
  554. package/dist/server/server/schedule/cron.d.ts +8 -0
  555. package/dist/server/server/schedule/cron.js +114 -0
  556. package/dist/server/server/schedule/service.d.ts +207 -0
  557. package/dist/server/server/schedule/service.js +867 -0
  558. package/dist/server/server/schedule/source-prompt.d.ts +42 -0
  559. package/dist/server/server/schedule/source-prompt.js +87 -0
  560. package/dist/server/server/schedule/store.d.ts +13 -0
  561. package/dist/server/server/schedule/store.js +57 -0
  562. package/dist/server/server/script-health-monitor.d.ts +39 -0
  563. package/dist/server/server/script-health-monitor.js +159 -0
  564. package/dist/server/server/script-proxy.d.ts +3 -0
  565. package/dist/server/server/script-proxy.js +2 -0
  566. package/dist/server/server/script-route-branch-handler.d.ts +10 -0
  567. package/dist/server/server/script-route-branch-handler.js +11 -0
  568. package/dist/server/server/script-status-projection.d.ts +36 -0
  569. package/dist/server/server/script-status-projection.js +200 -0
  570. package/dist/server/server/search/extract.d.ts +53 -0
  571. package/dist/server/server/search/extract.js +222 -0
  572. package/dist/server/server/search/index-store.d.ts +83 -0
  573. package/dist/server/server/search/index-store.js +241 -0
  574. package/dist/server/server/search/indexer.d.ts +69 -0
  575. package/dist/server/server/search/indexer.js +362 -0
  576. package/dist/server/server/search/resolve-cwd.d.ts +40 -0
  577. package/dist/server/server/search/resolve-cwd.js +109 -0
  578. package/dist/server/server/search/session-search-service.d.ts +59 -0
  579. package/dist/server/server/search/session-search-service.js +171 -0
  580. package/dist/server/server/server-id.d.ts +17 -0
  581. package/dist/server/server/server-id.js +68 -0
  582. package/dist/server/server/service-proxy.d.ts +237 -0
  583. package/dist/server/server/service-proxy.js +714 -0
  584. package/dist/server/server/session/agent-config/agent-config-session.d.ts +50 -0
  585. package/dist/server/server/session/agent-config/agent-config-session.js +98 -0
  586. package/dist/server/server/session/agent-updates/agent-updates-service.d.ts +59 -0
  587. package/dist/server/server/session/agent-updates/agent-updates-service.js +220 -0
  588. package/dist/server/server/session/chat/chat-ingestion-session.d.ts +285 -0
  589. package/dist/server/server/session/chat/chat-ingestion-session.js +504 -0
  590. package/dist/server/server/session/chat/chat-schedule-loop-session.d.ts +175 -0
  591. package/dist/server/server/session/chat/chat-schedule-loop-session.js +720 -0
  592. package/dist/server/server/session/checkout/checkout-session.d.ts +140 -0
  593. package/dist/server/server/session/checkout/checkout-session.js +927 -0
  594. package/dist/server/server/session/checkout/git-metadata-generator.d.ts +53 -0
  595. package/dist/server/server/session/checkout/git-metadata-generator.js +159 -0
  596. package/dist/server/server/session/daemon/daemon-self-update-session-controller.d.ts +32 -0
  597. package/dist/server/server/session/daemon/daemon-self-update-session-controller.js +88 -0
  598. package/dist/server/server/session/daemon/daemon-self-updater.d.ts +32 -0
  599. package/dist/server/server/session/daemon/daemon-self-updater.js +56 -0
  600. package/dist/server/server/session/daemon/daemon-session.d.ts +89 -0
  601. package/dist/server/server/session/daemon/daemon-session.js +179 -0
  602. package/dist/server/server/session/daemon/diagnostics.d.ts +41 -0
  603. package/dist/server/server/session/daemon/diagnostics.js +431 -0
  604. package/dist/server/server/session/daemon/install-origin.d.ts +7 -0
  605. package/dist/server/server/session/daemon/install-origin.js +64 -0
  606. package/dist/server/server/session/daemon/npm-global-cli.d.ts +29 -0
  607. package/dist/server/server/session/daemon/npm-global-cli.js +98 -0
  608. package/dist/server/server/session/files/workspace-files-session.d.ts +53 -0
  609. package/dist/server/server/session/files/workspace-files-session.js +245 -0
  610. package/dist/server/server/session/git-mutation/git-mutation-service.d.ts +34 -0
  611. package/dist/server/server/session/git-mutation/git-mutation-service.js +71 -0
  612. package/dist/server/server/session/ingestion/source-session.d.ts +78 -0
  613. package/dist/server/server/session/ingestion/source-session.js +191 -0
  614. package/dist/server/server/session/project-config/project-config-session.d.ts +34 -0
  615. package/dist/server/server/session/project-config/project-config-session.js +125 -0
  616. package/dist/server/server/session/provider/provider-catalog-session.d.ts +105 -0
  617. package/dist/server/server/session/provider/provider-catalog-session.js +364 -0
  618. package/dist/server/server/session/session-rename-route.d.ts +4 -0
  619. package/dist/server/server/session/session-rename-route.js +71 -0
  620. package/dist/server/server/session/session-rename-service.d.ts +25 -0
  621. package/dist/server/server/session/session-rename-service.js +76 -0
  622. package/dist/server/server/session/voice/voice-session.d.ts +166 -0
  623. package/dist/server/server/session/voice/voice-session.js +899 -0
  624. package/dist/server/server/session/voice/voice-turn-controller.d.ts +38 -0
  625. package/dist/server/server/session/voice/voice-turn-controller.js +393 -0
  626. package/dist/server/server/session/workspace-git-observer/workspace-git-observer-service.d.ts +36 -0
  627. package/dist/server/server/session/workspace-git-observer/workspace-git-observer-service.js +134 -0
  628. package/dist/server/server/session/workspace-provisioning/workspace-provisioning-service.d.ts +46 -0
  629. package/dist/server/server/session/workspace-provisioning/workspace-provisioning-service.js +214 -0
  630. package/dist/server/server/session/workspace-scripts/workspace-scripts-service.d.ts +41 -0
  631. package/dist/server/server/session/workspace-scripts/workspace-scripts-service.js +100 -0
  632. package/dist/server/server/session.d.ts +677 -0
  633. package/dist/server/server/session.js +6531 -0
  634. package/dist/server/server/speech/audio.d.ts +10 -0
  635. package/dist/server/server/speech/audio.js +101 -0
  636. package/dist/server/server/speech/provider-resolver.d.ts +3 -0
  637. package/dist/server/server/speech/provider-resolver.js +7 -0
  638. package/dist/server/server/speech/providers/local/config.d.ts +30 -0
  639. package/dist/server/server/speech/providers/local/config.js +134 -0
  640. package/dist/server/server/speech/providers/local/models.d.ts +11 -0
  641. package/dist/server/server/speech/providers/local/models.js +17 -0
  642. package/dist/server/server/speech/providers/local/runtime.d.ts +31 -0
  643. package/dist/server/server/speech/providers/local/runtime.js +135 -0
  644. package/dist/server/server/speech/providers/local/sherpa/assets/silero_vad.onnx +0 -0
  645. package/dist/server/server/speech/providers/local/sherpa/model-catalog.d.ts +56 -0
  646. package/dist/server/server/speech/providers/local/sherpa/model-catalog.js +74 -0
  647. package/dist/server/server/speech/providers/local/sherpa/model-downloader.d.ts +15 -0
  648. package/dist/server/server/speech/providers/local/sherpa/model-downloader.js +142 -0
  649. package/dist/server/server/speech/providers/local/sherpa/sherpa-offline-recognizer.d.ts +49 -0
  650. package/dist/server/server/speech/providers/local/sherpa/sherpa-offline-recognizer.js +73 -0
  651. package/dist/server/server/speech/providers/local/sherpa/sherpa-onnx-node-loader.d.ts +9 -0
  652. package/dist/server/server/speech/providers/local/sherpa/sherpa-onnx-node-loader.js +107 -0
  653. package/dist/server/server/speech/providers/local/sherpa/sherpa-parakeet-realtime-session.d.ts +28 -0
  654. package/dist/server/server/speech/providers/local/sherpa/sherpa-parakeet-realtime-session.js +137 -0
  655. package/dist/server/server/speech/providers/local/sherpa/sherpa-parakeet-stt.d.ts +21 -0
  656. package/dist/server/server/speech/providers/local/sherpa/sherpa-parakeet-stt.js +133 -0
  657. package/dist/server/server/speech/providers/local/sherpa/sherpa-runtime-env.d.ts +18 -0
  658. package/dist/server/server/speech/providers/local/sherpa/sherpa-runtime-env.js +84 -0
  659. package/dist/server/server/speech/providers/local/sherpa/sherpa-tts.d.ts +21 -0
  660. package/dist/server/server/speech/providers/local/sherpa/sherpa-tts.js +101 -0
  661. package/dist/server/server/speech/providers/local/sherpa/silero-vad-provider.d.ts +19 -0
  662. package/dist/server/server/speech/providers/local/sherpa/silero-vad-provider.js +49 -0
  663. package/dist/server/server/speech/providers/local/sherpa/silero-vad-session.d.ts +38 -0
  664. package/dist/server/server/speech/providers/local/sherpa/silero-vad-session.js +176 -0
  665. package/dist/server/server/speech/providers/local/worker-bytes.d.ts +4 -0
  666. package/dist/server/server/speech/providers/local/worker-bytes.js +9 -0
  667. package/dist/server/server/speech/providers/local/worker-client.d.ts +93 -0
  668. package/dist/server/server/speech/providers/local/worker-client.js +611 -0
  669. package/dist/server/server/speech/providers/local/worker-process.d.ts +2 -0
  670. package/dist/server/server/speech/providers/local/worker-process.js +270 -0
  671. package/dist/server/server/speech/providers/local/worker-protocol.d.ts +95 -0
  672. package/dist/server/server/speech/providers/local/worker-protocol.js +2 -0
  673. package/dist/server/server/speech/providers/openai/config.d.ts +19 -0
  674. package/dist/server/server/speech/providers/openai/config.js +148 -0
  675. package/dist/server/server/speech/providers/openai/runtime.d.ts +29 -0
  676. package/dist/server/server/speech/providers/openai/runtime.js +102 -0
  677. package/dist/server/server/speech/providers/openai/stt.d.ts +23 -0
  678. package/dist/server/server/speech/providers/openai/stt.js +209 -0
  679. package/dist/server/server/speech/providers/openai/tts.d.ts +19 -0
  680. package/dist/server/server/speech/providers/openai/tts.js +48 -0
  681. package/dist/server/server/speech/speech-config-resolver.d.ts +11 -0
  682. package/dist/server/server/speech/speech-config-resolver.js +132 -0
  683. package/dist/server/server/speech/speech-provider.d.ts +59 -0
  684. package/dist/server/server/speech/speech-provider.js +2 -0
  685. package/dist/server/server/speech/speech-runtime.d.ts +45 -0
  686. package/dist/server/server/speech/speech-runtime.js +562 -0
  687. package/dist/server/server/speech/speech-types.d.ts +22 -0
  688. package/dist/server/server/speech/speech-types.js +8 -0
  689. package/dist/server/server/speech/turn-detection-provider.d.ts +23 -0
  690. package/dist/server/server/speech/turn-detection-provider.js +2 -0
  691. package/dist/server/server/tenant-token-verifier.d.ts +43 -0
  692. package/dist/server/server/tenant-token-verifier.js +79 -0
  693. package/dist/server/server/update/installer.d.ts +70 -0
  694. package/dist/server/server/update/installer.js +181 -0
  695. package/dist/server/server/update/registry.d.ts +47 -0
  696. package/dist/server/server/update/registry.js +95 -0
  697. package/dist/server/server/update/slots.d.ts +45 -0
  698. package/dist/server/server/update/slots.js +97 -0
  699. package/dist/server/server/update/state.d.ts +41 -0
  700. package/dist/server/server/update/state.js +65 -0
  701. package/dist/server/server/uploads/file-attachment-validation.d.ts +61 -0
  702. package/dist/server/server/uploads/file-attachment-validation.js +56 -0
  703. package/dist/server/server/uploads/staging-service.d.ts +91 -0
  704. package/dist/server/server/uploads/staging-service.js +144 -0
  705. package/dist/server/server/utils/diff-highlighter.d.ts +57 -0
  706. package/dist/server/server/utils/diff-highlighter.js +279 -0
  707. package/dist/server/server/voice/voice-turn-controller.d.ts +38 -0
  708. package/dist/server/server/voice/voice-turn-controller.js +393 -0
  709. package/dist/server/server/voice-config.d.ts +15 -0
  710. package/dist/server/server/voice-config.js +54 -0
  711. package/dist/server/server/voice-permission-policy.d.ts +4 -0
  712. package/dist/server/server/voice-permission-policy.js +13 -0
  713. package/dist/server/server/voice-types.d.ts +12 -0
  714. package/dist/server/server/voice-types.js +2 -0
  715. package/dist/server/server/watch/composer-dictate.d.ts +42 -0
  716. package/dist/server/server/watch/composer-dictate.js +37 -0
  717. package/dist/server/server/watch/notification-action.d.ts +38 -0
  718. package/dist/server/server/watch/notification-action.js +54 -0
  719. package/dist/server/server/watch/notification-registry.d.ts +16 -0
  720. package/dist/server/server/watch/notification-registry.js +2 -0
  721. package/dist/server/server/web-ui.d.ts +10 -0
  722. package/dist/server/server/web-ui.js +247 -0
  723. package/dist/server/server/websocket/runtime-metrics.d.ts +94 -0
  724. package/dist/server/server/websocket/runtime-metrics.js +148 -0
  725. package/dist/server/server/websocket-server.d.ts +231 -0
  726. package/dist/server/server/websocket-server.js +1853 -0
  727. package/dist/server/server/whatsapp-bridge.d.ts +74 -0
  728. package/dist/server/server/whatsapp-bridge.js +142 -0
  729. package/dist/server/server/workflow/workflow-agent-resolution.d.ts +82 -0
  730. package/dist/server/server/workflow/workflow-agent-resolution.js +105 -0
  731. package/dist/server/server/workflow/workflow-feature.d.ts +2 -0
  732. package/dist/server/server/workflow/workflow-feature.js +8 -0
  733. package/dist/server/server/workflow/workflow-http-routes.d.ts +27 -0
  734. package/dist/server/server/workflow/workflow-http-routes.js +97 -0
  735. package/dist/server/server/workflow/workflow-manager.d.ts +363 -0
  736. package/dist/server/server/workflow/workflow-manager.js +852 -0
  737. package/dist/server/server/workflow/workflow-progress.d.ts +148 -0
  738. package/dist/server/server/workflow/workflow-progress.js +274 -0
  739. package/dist/server/server/workflow/workflow-storage.d.ts +36 -0
  740. package/dist/server/server/workflow/workflow-storage.js +143 -0
  741. package/dist/server/server/workspace/all-sessions-route.d.ts +32 -0
  742. package/dist/server/server/workspace/all-sessions-route.js +218 -0
  743. package/dist/server/server/workspace/recall-search-feature.d.ts +2 -0
  744. package/dist/server/server/workspace/recall-search-feature.js +31 -0
  745. package/dist/server/server/workspace/session-openable.d.ts +16 -0
  746. package/dist/server/server/workspace/session-openable.js +48 -0
  747. package/dist/server/server/workspace/sessions-route.d.ts +15 -0
  748. package/dist/server/server/workspace/sessions-route.js +108 -0
  749. package/dist/server/server/workspace/sessions-search-route.d.ts +40 -0
  750. package/dist/server/server/workspace/sessions-search-route.js +74 -0
  751. package/dist/server/server/workspace-archive-service.d.ts +65 -0
  752. package/dist/server/server/workspace-archive-service.js +229 -0
  753. package/dist/server/server/workspace-auto-name.d.ts +55 -0
  754. package/dist/server/server/workspace-auto-name.js +128 -0
  755. package/dist/server/server/workspace-bootstrap-dedupe.d.ts +34 -0
  756. package/dist/server/server/workspace-bootstrap-dedupe.js +23 -0
  757. package/dist/server/server/workspace-directory.d.ts +93 -0
  758. package/dist/server/server/workspace-directory.js +440 -0
  759. package/dist/server/server/workspace-git-metadata.d.ts +24 -0
  760. package/dist/server/server/workspace-git-metadata.js +55 -0
  761. package/dist/server/server/workspace-git-service.d.ts +257 -0
  762. package/dist/server/server/workspace-git-service.js +1386 -0
  763. package/dist/server/server/workspace-reconciliation-service.d.ts +57 -0
  764. package/dist/server/server/workspace-reconciliation-service.js +278 -0
  765. package/dist/server/server/workspace-registry-bootstrap.d.ts +13 -0
  766. package/dist/server/server/workspace-registry-bootstrap.js +121 -0
  767. package/dist/server/server/workspace-registry-model.d.ts +55 -0
  768. package/dist/server/server/workspace-registry-model.js +190 -0
  769. package/dist/server/server/workspace-registry.d.ts +117 -0
  770. package/dist/server/server/workspace-registry.js +194 -0
  771. package/dist/server/server/workspace-script-runtime-store.d.ts +28 -0
  772. package/dist/server/server/workspace-script-runtime-store.js +78 -0
  773. package/dist/server/server/workspace-service-env.d.ts +18 -0
  774. package/dist/server/server/workspace-service-env.js +85 -0
  775. package/dist/server/server/workspace-service-port-registry.d.ts +19 -0
  776. package/dist/server/server/workspace-service-port-registry.js +59 -0
  777. package/dist/server/server/worktree/commands.d.ts +55 -0
  778. package/dist/server/server/worktree/commands.js +107 -0
  779. package/dist/server/server/worktree-bootstrap.d.ts +76 -0
  780. package/dist/server/server/worktree-bootstrap.js +720 -0
  781. package/dist/server/server/worktree-branch-name-generator.d.ts +35 -0
  782. package/dist/server/server/worktree-branch-name-generator.js +91 -0
  783. package/dist/server/server/worktree-core.d.ts +31 -0
  784. package/dist/server/server/worktree-core.js +105 -0
  785. package/dist/server/server/worktree-errors.d.ts +12 -0
  786. package/dist/server/server/worktree-errors.js +28 -0
  787. package/dist/server/server/worktree-session.d.ts +152 -0
  788. package/dist/server/server/worktree-session.js +466 -0
  789. package/dist/server/services/github-service.d.ts +337 -0
  790. package/dist/server/services/github-service.js +2101 -0
  791. package/dist/server/services/quota-fetcher/manifest.d.ts +4 -0
  792. package/dist/server/services/quota-fetcher/manifest.js +52 -0
  793. package/dist/server/services/quota-fetcher/provider.d.ts +17 -0
  794. package/dist/server/services/quota-fetcher/provider.js +2 -0
  795. package/dist/server/services/quota-fetcher/providers/claude.d.ts +26 -0
  796. package/dist/server/services/quota-fetcher/providers/claude.js +217 -0
  797. package/dist/server/services/quota-fetcher/providers/codex.d.ts +23 -0
  798. package/dist/server/services/quota-fetcher/providers/codex.js +211 -0
  799. package/dist/server/services/quota-fetcher/providers/copilot.d.ts +17 -0
  800. package/dist/server/services/quota-fetcher/providers/copilot.js +75 -0
  801. package/dist/server/services/quota-fetcher/providers/cursor.d.ts +17 -0
  802. package/dist/server/services/quota-fetcher/providers/cursor.js +123 -0
  803. package/dist/server/services/quota-fetcher/providers/grok.d.ts +18 -0
  804. package/dist/server/services/quota-fetcher/providers/grok.js +89 -0
  805. package/dist/server/services/quota-fetcher/providers/kimi.d.ts +20 -0
  806. package/dist/server/services/quota-fetcher/providers/kimi.js +89 -0
  807. package/dist/server/services/quota-fetcher/providers/minimax.d.ts +29 -0
  808. package/dist/server/services/quota-fetcher/providers/minimax.js +227 -0
  809. package/dist/server/services/quota-fetcher/providers/zai.d.ts +17 -0
  810. package/dist/server/services/quota-fetcher/providers/zai.js +58 -0
  811. package/dist/server/services/quota-fetcher/service.d.ts +28 -0
  812. package/dist/server/services/quota-fetcher/service.js +58 -0
  813. package/dist/server/services/quota-fetcher/usage.d.ts +22 -0
  814. package/dist/server/services/quota-fetcher/usage.js +49 -0
  815. package/dist/server/terminal/activity/terminal-activity-tracker.d.ts +20 -0
  816. package/dist/server/terminal/activity/terminal-activity-tracker.js +59 -0
  817. package/dist/server/terminal/agent-hooks/agent-hook-installer.d.ts +62 -0
  818. package/dist/server/terminal/agent-hooks/agent-hook-installer.js +117 -0
  819. package/dist/server/terminal/agent-hooks/claude/claude-settings.d.ts +7 -0
  820. package/dist/server/terminal/agent-hooks/claude/claude-settings.js +88 -0
  821. package/dist/server/terminal/agent-hooks/claude/claude.d.ts +4 -0
  822. package/dist/server/terminal/agent-hooks/claude/claude.js +47 -0
  823. package/dist/server/terminal/agent-hooks/codex/codex-settings.d.ts +7 -0
  824. package/dist/server/terminal/agent-hooks/codex/codex-settings.js +99 -0
  825. package/dist/server/terminal/agent-hooks/codex/codex.d.ts +4 -0
  826. package/dist/server/terminal/agent-hooks/codex/codex.js +30 -0
  827. package/dist/server/terminal/agent-hooks/opencode/opencode-plugin.d.ts +4 -0
  828. package/dist/server/terminal/agent-hooks/opencode/opencode-plugin.js +46 -0
  829. package/dist/server/terminal/agent-hooks/opencode/opencode.d.ts +3 -0
  830. package/dist/server/terminal/agent-hooks/opencode/opencode.js +23 -0
  831. package/dist/server/terminal/agent-hooks/provider-registry.d.ts +24 -0
  832. package/dist/server/terminal/agent-hooks/provider-registry.js +36 -0
  833. package/dist/server/terminal/agent-hooks/terminal-agent-hook-setting.d.ts +10 -0
  834. package/dist/server/terminal/agent-hooks/terminal-agent-hook-setting.js +26 -0
  835. package/dist/server/terminal/shell-integration/zsh/.zshenv +17 -0
  836. package/dist/server/terminal/shell-integration/zsh/paseo-integration.zsh +32 -0
  837. package/dist/server/terminal/terminal-capture.d.ts +12 -0
  838. package/dist/server/terminal/terminal-capture.js +43 -0
  839. package/dist/server/terminal/terminal-manager-factory.d.ts +6 -0
  840. package/dist/server/terminal/terminal-manager-factory.js +5 -0
  841. package/dist/server/terminal/terminal-manager.d.ts +78 -0
  842. package/dist/server/terminal/terminal-manager.js +319 -0
  843. package/dist/server/terminal/terminal-output-coalescer.d.ts +34 -0
  844. package/dist/server/terminal/terminal-output-coalescer.js +73 -0
  845. package/dist/server/terminal/terminal-restore.d.ts +18 -0
  846. package/dist/server/terminal/terminal-restore.js +52 -0
  847. package/dist/server/terminal/terminal-session-controller.d.ts +85 -0
  848. package/dist/server/terminal/terminal-session-controller.js +819 -0
  849. package/dist/server/terminal/terminal-ts-loader.mjs +20 -0
  850. package/dist/server/terminal/terminal-worker-process.d.ts +2 -0
  851. package/dist/server/terminal/terminal-worker-process.js +304 -0
  852. package/dist/server/terminal/terminal-worker-protocol.d.ts +119 -0
  853. package/dist/server/terminal/terminal-worker-protocol.js +2 -0
  854. package/dist/server/terminal/terminal.d.ts +151 -0
  855. package/dist/server/terminal/terminal.js +1161 -0
  856. package/dist/server/terminal/worker-terminal-manager.d.ts +20 -0
  857. package/dist/server/terminal/worker-terminal-manager.js +688 -0
  858. package/dist/server/utils/build-metadata-prompt.d.ts +19 -0
  859. package/dist/server/utils/build-metadata-prompt.js +29 -0
  860. package/dist/server/utils/checkout-git.d.ts +253 -0
  861. package/dist/server/utils/checkout-git.js +2238 -0
  862. package/dist/server/utils/directory-suggestions.d.ts +26 -0
  863. package/dist/server/utils/directory-suggestions.js +860 -0
  864. package/dist/server/utils/git-rev-parse-path.d.ts +3 -0
  865. package/dist/server/utils/git-rev-parse-path.js +21 -0
  866. package/dist/server/utils/github-remote.d.ts +9 -0
  867. package/dist/server/utils/github-remote.js +62 -0
  868. package/dist/server/utils/paseo-config-file.d.ts +30 -0
  869. package/dist/server/utils/paseo-config-file.js +90 -0
  870. package/dist/server/utils/path.d.ts +18 -0
  871. package/dist/server/utils/path.js +123 -0
  872. package/dist/server/utils/project-icon.d.ts +39 -0
  873. package/dist/server/utils/project-icon.js +364 -0
  874. package/dist/server/utils/promise-timeout.d.ts +9 -0
  875. package/dist/server/utils/promise-timeout.js +25 -0
  876. package/dist/server/utils/run-git-command.d.ts +37 -0
  877. package/dist/server/utils/run-git-command.js +232 -0
  878. package/dist/server/utils/spawn.d.ts +33 -0
  879. package/dist/server/utils/spawn.js +71 -0
  880. package/dist/server/utils/string-command-shell.d.ts +10 -0
  881. package/dist/server/utils/string-command-shell.js +21 -0
  882. package/dist/server/utils/tree-kill.d.ts +18 -0
  883. package/dist/server/utils/tree-kill.js +77 -0
  884. package/dist/server/utils/windows-command.d.ts +15 -0
  885. package/dist/server/utils/windows-command.js +41 -0
  886. package/dist/server/utils/worktree-metadata.d.ts +39 -0
  887. package/dist/server/utils/worktree-metadata.js +174 -0
  888. package/dist/server/utils/worktree.d.ts +205 -0
  889. package/dist/server/utils/worktree.js +1119 -0
  890. package/dist/server/web-ui/_expo/static/css/xterm-3bb1704bf6cb0876640973dc0244b4cb.css +1 -0
  891. package/dist/server/web-ui/_expo/static/css/xterm-3bb1704bf6cb0876640973dc0244b4cb.css.br +0 -0
  892. package/dist/server/web-ui/_expo/static/css/xterm-3bb1704bf6cb0876640973dc0244b4cb.css.gz +0 -0
  893. package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-bridge-67f19cbfce758da6aa23c38c2dbd6a33.js +5 -0
  894. package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-bridge-67f19cbfce758da6aa23c38c2dbd6a33.js.br +0 -0
  895. package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-bridge-67f19cbfce758da6aa23c38c2dbd6a33.js.gz +0 -0
  896. package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-bridge-67f19cbfce758da6aa23c38c2dbd6a33.js.map.br +0 -0
  897. package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-bridge-67f19cbfce758da6aa23c38c2dbd6a33.js.map.gz +0 -0
  898. package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-store-6888615a6b700f975c1f78501ad8577c.js +3 -0
  899. package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-store-6888615a6b700f975c1f78501ad8577c.js.br +0 -0
  900. package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-store-6888615a6b700f975c1f78501ad8577c.js.gz +0 -0
  901. package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-store-6888615a6b700f975c1f78501ad8577c.js.map.br +0 -0
  902. package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-store-6888615a6b700f975c1f78501ad8577c.js.map.gz +0 -0
  903. package/dist/server/web-ui/_expo/static/js/web/index-dc1e81e7cbad84d30a01c48dcc9a5a3e.js +16683 -0
  904. package/dist/server/web-ui/_expo/static/js/web/index-dc1e81e7cbad84d30a01c48dcc9a5a3e.js.br +0 -0
  905. package/dist/server/web-ui/_expo/static/js/web/index-dc1e81e7cbad84d30a01c48dcc9a5a3e.js.gz +0 -0
  906. package/dist/server/web-ui/_expo/static/js/web/index-dc1e81e7cbad84d30a01c48dcc9a5a3e.js.map.br +0 -0
  907. package/dist/server/web-ui/_expo/static/js/web/index-dc1e81e7cbad84d30a01c48dcc9a5a3e.js.map.gz +0 -0
  908. package/dist/server/web-ui/_expo/static/js/web/indexeddb-attachment-store-991ae7fd00f9fed45084fbb39160e8b8.js +3 -0
  909. package/dist/server/web-ui/_expo/static/js/web/indexeddb-attachment-store-991ae7fd00f9fed45084fbb39160e8b8.js.br +0 -0
  910. package/dist/server/web-ui/_expo/static/js/web/indexeddb-attachment-store-991ae7fd00f9fed45084fbb39160e8b8.js.gz +0 -0
  911. package/dist/server/web-ui/_expo/static/js/web/indexeddb-attachment-store-991ae7fd00f9fed45084fbb39160e8b8.js.map.br +0 -0
  912. package/dist/server/web-ui/_expo/static/js/web/indexeddb-attachment-store-991ae7fd00f9fed45084fbb39160e8b8.js.map.gz +0 -0
  913. package/dist/server/web-ui/_expo/static/js/web/native-file-attachment-store-fdb4d787a259ce350f76280ca0e2bfa2.js +5 -0
  914. package/dist/server/web-ui/_expo/static/js/web/native-file-attachment-store-fdb4d787a259ce350f76280ca0e2bfa2.js.br +0 -0
  915. package/dist/server/web-ui/_expo/static/js/web/native-file-attachment-store-fdb4d787a259ce350f76280ca0e2bfa2.js.gz +0 -0
  916. package/dist/server/web-ui/_expo/static/js/web/native-file-attachment-store-fdb4d787a259ce350f76280ca0e2bfa2.js.map.br +0 -0
  917. package/dist/server/web-ui/_expo/static/js/web/native-file-attachment-store-fdb4d787a259ce350f76280ca0e2bfa2.js.map.gz +0 -0
  918. package/dist/server/web-ui/_expo/static/js/web/profiler-9502a8e721925a6353ec45f7613f537e.js +11 -0
  919. package/dist/server/web-ui/_expo/static/js/web/profiler-9502a8e721925a6353ec45f7613f537e.js.br +0 -0
  920. package/dist/server/web-ui/_expo/static/js/web/profiler-9502a8e721925a6353ec45f7613f537e.js.gz +0 -0
  921. package/dist/server/web-ui/_expo/static/js/web/profiler-9502a8e721925a6353ec45f7613f537e.js.map.br +0 -0
  922. package/dist/server/web-ui/_expo/static/js/web/profiler-9502a8e721925a6353ec45f7613f537e.js.map.gz +0 -0
  923. package/dist/server/web-ui/_expo/static/js/web/startRecording-4ed5094aa059a0fc724f5ae70dd2f693.js +60 -0
  924. package/dist/server/web-ui/_expo/static/js/web/startRecording-4ed5094aa059a0fc724f5ae70dd2f693.js.br +0 -0
  925. package/dist/server/web-ui/_expo/static/js/web/startRecording-4ed5094aa059a0fc724f5ae70dd2f693.js.gz +0 -0
  926. package/dist/server/web-ui/_expo/static/js/web/startRecording-4ed5094aa059a0fc724f5ae70dd2f693.js.map.br +0 -0
  927. package/dist/server/web-ui/_expo/static/js/web/startRecording-4ed5094aa059a0fc724f5ae70dd2f693.js.map.gz +0 -0
  928. package/dist/server/web-ui/apple-touch-icon.png +0 -0
  929. package/dist/server/web-ui/assets/__node_modules/@react-navigation/elements/lib/module/assets/back-icon-mask.0a328cd9c1afd0afe8e3b1ec5165b1b4.png +0 -0
  930. package/dist/server/web-ui/assets/__node_modules/@react-navigation/elements/lib/module/assets/back-icon.35ba0eaec5a4f5ed12ca16fabeae451d.png +0 -0
  931. package/dist/server/web-ui/assets/__node_modules/@react-navigation/elements/lib/module/assets/clear-icon.c94f6478e7ae0cdd9f15de1fcb9e5e55.png +0 -0
  932. package/dist/server/web-ui/assets/__node_modules/@react-navigation/elements/lib/module/assets/clear-icon.c94f6478e7ae0cdd9f15de1fcb9e5e55@2x.png +0 -0
  933. package/dist/server/web-ui/assets/__node_modules/@react-navigation/elements/lib/module/assets/clear-icon.c94f6478e7ae0cdd9f15de1fcb9e5e55@3x.png +0 -0
  934. package/dist/server/web-ui/assets/__node_modules/@react-navigation/elements/lib/module/assets/clear-icon.c94f6478e7ae0cdd9f15de1fcb9e5e55@4x.png +0 -0
  935. package/dist/server/web-ui/assets/__node_modules/@react-navigation/elements/lib/module/assets/close-icon.808e1b1b9b53114ec2838071a7e6daa7.png +0 -0
  936. package/dist/server/web-ui/assets/__node_modules/@react-navigation/elements/lib/module/assets/close-icon.808e1b1b9b53114ec2838071a7e6daa7@2x.png +0 -0
  937. package/dist/server/web-ui/assets/__node_modules/@react-navigation/elements/lib/module/assets/close-icon.808e1b1b9b53114ec2838071a7e6daa7@3x.png +0 -0
  938. package/dist/server/web-ui/assets/__node_modules/@react-navigation/elements/lib/module/assets/close-icon.808e1b1b9b53114ec2838071a7e6daa7@4x.png +0 -0
  939. package/dist/server/web-ui/assets/__node_modules/@react-navigation/elements/lib/module/assets/search-icon.286d67d3f74808a60a78d3ebf1a5fb57.png +0 -0
  940. package/dist/server/web-ui/assets/__node_modules/expo-router/assets/arrow_down.017bc6ba3fc25503e5eb5e53826d48a8.png +0 -0
  941. package/dist/server/web-ui/assets/__node_modules/expo-router/assets/error.d1ea1496f9057eb392d5bbf3732a61b7.png +0 -0
  942. package/dist/server/web-ui/assets/__node_modules/expo-router/assets/file.19eeb73b9593a38f8e9f418337fc7d10.png +0 -0
  943. package/dist/server/web-ui/assets/__node_modules/expo-router/assets/forward.d8b800c443b8972542883e0b9de2bdc6.png +0 -0
  944. package/dist/server/web-ui/assets/__node_modules/expo-router/assets/pkg.ab19f4cbc543357183a20571f68380a3.png +0 -0
  945. package/dist/server/web-ui/assets/__node_modules/expo-router/assets/sitemap.412dd9275b6b48ad28f5e3d81bb1f626.png +0 -0
  946. package/dist/server/web-ui/assets/__node_modules/expo-router/assets/unmatched.20e71bdf79e3a97bf55fd9e164041578.png +0 -0
  947. package/dist/server/web-ui/assets/assets/images/editor-apps/antigravity.6e91a685c33435e0b466a56db86cf141.png +0 -0
  948. package/dist/server/web-ui/assets/assets/images/editor-apps/cursor.c31d6bce4fe9aadc3fe59962f4c4fcf3.png +0 -0
  949. package/dist/server/web-ui/assets/assets/images/editor-apps/file-explorer.3e15e8f72c825c85ce336bcb0cdef776.png +0 -0
  950. package/dist/server/web-ui/assets/assets/images/editor-apps/finder.7f68fc2c475621a672e1be09309d5567.png +0 -0
  951. package/dist/server/web-ui/assets/assets/images/editor-apps/vscode.832bdb4c685d930f1c864c793703600b.png +0 -0
  952. package/dist/server/web-ui/assets/assets/images/editor-apps/webstorm.aa5dc2cd8c20cc0a155c4c5c5ab3c5f5.png +0 -0
  953. package/dist/server/web-ui/assets/assets/images/editor-apps/zed.f3a670b7f9aa226da4fe53fb86f1abbd.png +0 -0
  954. package/dist/server/web-ui/assets/assets/images/favicon-dark-attention.882b3a27dcb2073e9e31b334f9ed9728.png +0 -0
  955. package/dist/server/web-ui/assets/assets/images/favicon-dark-running.8112342ff0d39e047a7f8d4fad9402f3.png +0 -0
  956. package/dist/server/web-ui/assets/assets/images/favicon-dark.8005ed36ac07a5a7c60de25780897bd4.png +0 -0
  957. package/dist/server/web-ui/assets/assets/images/favicon-light-attention.882b3a27dcb2073e9e31b334f9ed9728.png +0 -0
  958. package/dist/server/web-ui/assets/assets/images/favicon-light-running.8112342ff0d39e047a7f8d4fad9402f3.png +0 -0
  959. package/dist/server/web-ui/assets/assets/images/favicon-light.8005ed36ac07a5a7c60de25780897bd4.png +0 -0
  960. package/dist/server/web-ui/assets/assets/images/notification-icon.3bf81d33ddbf380606bdd248ba83e158.png +0 -0
  961. package/dist/server/web-ui/favicon.ico +0 -0
  962. package/dist/server/web-ui/index.html +196 -0
  963. package/dist/server/web-ui/index.html.br +0 -0
  964. package/dist/server/web-ui/index.html.gz +0 -0
  965. package/dist/server/web-ui/manifest.json +27 -0
  966. package/dist/server/web-ui/manifest.json.br +0 -0
  967. package/dist/server/web-ui/manifest.json.gz +0 -0
  968. package/dist/server/web-ui/metadata.json +1 -0
  969. package/dist/server/web-ui/metadata.json.br +1 -0
  970. package/dist/server/web-ui/metadata.json.gz +0 -0
  971. package/dist/server/web-ui/pwa-icon-192.png +0 -0
  972. package/dist/server/web-ui/pwa-icon-512.png +0 -0
  973. package/dist/server/web-ui/robots.txt +2 -0
  974. package/dist/server/web-ui/service-worker.js +87 -0
  975. package/dist/server/web-ui/service-worker.js.br +0 -0
  976. package/dist/server/web-ui/service-worker.js.gz +0 -0
  977. package/dist/src/executable-resolution/executable-resolution.js +118 -0
  978. package/dist/src/executable-resolution/windows.js +65 -0
  979. package/dist/src/server/agent/provider-launch-config.js +183 -0
  980. package/dist/src/server/paseo-env.js +53 -0
  981. package/dist/src/server/paseo-home.js +19 -0
  982. package/dist/src/server/persisted-config.js +424 -0
  983. package/dist/src/server/pid-lock.js +170 -0
  984. package/dist/src/server/private-files.js +37 -0
  985. package/dist/src/server/speech/providers/local/sherpa/sherpa-runtime-env.js +84 -0
  986. package/dist/src/server/update/slots.js +97 -0
  987. package/dist/src/terminal/shell-integration/zsh/.zshenv +17 -0
  988. package/dist/src/terminal/shell-integration/zsh/paseo-integration.zsh +32 -0
  989. package/dist/src/utils/spawn.js +71 -0
  990. package/dist/src/utils/windows-command.js +41 -0
  991. package/package.json +146 -0
@@ -0,0 +1,65 @@
1
+ import { readFileSync, writeFileSync, renameSync, mkdirSync } from "node:fs";
2
+ import path from "node:path";
3
+ export const EMPTY_UPDATE_STATE = {
4
+ pinned: null,
5
+ pinnedReason: null,
6
+ lastInstalled: null,
7
+ lastCheckedAt: null,
8
+ lastSeenVersion: null,
9
+ installId: null,
10
+ };
11
+ function statePath(paseoHome) {
12
+ return path.join(paseoHome, "update-state.json");
13
+ }
14
+ /** Read state, returning defaults for a missing or unparseable file. */
15
+ export function readUpdateState(paseoHome) {
16
+ try {
17
+ const raw = readFileSync(statePath(paseoHome), "utf8");
18
+ const parsed = JSON.parse(raw);
19
+ return {
20
+ pinned: typeof parsed.pinned === "string" ? parsed.pinned : null,
21
+ pinnedReason: typeof parsed.pinnedReason === "string" ? parsed.pinnedReason : null,
22
+ lastInstalled: typeof parsed.lastInstalled === "string" ? parsed.lastInstalled : null,
23
+ lastCheckedAt: typeof parsed.lastCheckedAt === "number" ? parsed.lastCheckedAt : null,
24
+ lastSeenVersion: typeof parsed.lastSeenVersion === "string" ? parsed.lastSeenVersion : null,
25
+ installId: typeof parsed.installId === "string" ? parsed.installId : null,
26
+ };
27
+ }
28
+ catch {
29
+ // A corrupt state file must not stop the daemon booting. Losing it means one
30
+ // extra registry check and a re-rolled bucket, both harmless.
31
+ return { ...EMPTY_UPDATE_STATE };
32
+ }
33
+ }
34
+ /** Merge a patch into state and write it atomically. */
35
+ export function writeUpdateState(paseoHome, patch) {
36
+ const next = { ...readUpdateState(paseoHome), ...patch };
37
+ const target = statePath(paseoHome);
38
+ mkdirSync(path.dirname(target), { recursive: true });
39
+ // Write-then-rename: a torn state file would be read as "no state" on next boot,
40
+ // silently un-pinning a version known to crash.
41
+ const tmp = `${target}.tmp-${process.pid}`;
42
+ writeFileSync(tmp, `${JSON.stringify(next, null, 2)}\n`);
43
+ renameSync(tmp, target);
44
+ return next;
45
+ }
46
+ /** True when this version previously failed and must not be auto-installed. */
47
+ export function isPinned(state, version) {
48
+ return state.pinned !== null && state.pinned === version;
49
+ }
50
+ /**
51
+ * Stable install id, created on first use.
52
+ *
53
+ * Not a machine fingerprint on purpose: it only needs to be stable and uniformly
54
+ * distributed to seed the rollout bucket.
55
+ */
56
+ export function ensureInstallId(paseoHome, generate) {
57
+ const state = readUpdateState(paseoHome);
58
+ if (state.installId) {
59
+ return state.installId;
60
+ }
61
+ const installId = generate();
62
+ writeUpdateState(paseoHome, { installId });
63
+ return installId;
64
+ }
65
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1,61 @@
1
+ /**
2
+ * One finalized inbound upload, recorded by the Session at the `FileEnd` finalize site
3
+ * (story 2.1) and looked up when a later `send_agent_message` references the `fileId`.
4
+ *
5
+ * `agentId` is the VERBATIM client-supplied identifier from `files.upload.begin.request`
6
+ * (the same string story 2.2 uses to build the staging dir). It is compared with `===`
7
+ * against `msg.agentId` on the message — never resolved through `resolveAgentIdentifier`.
8
+ * `stagedPath` is the server-constructed path; the client-supplied attachment `path` is
9
+ * never trusted — the canonical path is always re-derived from `stagedPath` via realpath.
10
+ */
11
+ export interface StagedUploadRecord {
12
+ fileId: string;
13
+ agentId: string;
14
+ stagedPath: string;
15
+ size: number;
16
+ mimeType: string;
17
+ fileName: string;
18
+ }
19
+ /**
20
+ * Why a `file` attachment was rejected. Each maps to a fail-closed outcome — an attachment
21
+ * the user added must never be silently dropped from the dispatched prompt.
22
+ */
23
+ export type FileAttachmentError = "unknown_file_id" | "cross_agent_file_id" | "staging_path_escape" | "file_missing";
24
+ /**
25
+ * Result of validating one `file` attachment. On success it carries the canonical,
26
+ * symlink-resolved server path that the caller overwrites onto the attachment.
27
+ */
28
+ export type FileAttachmentResolution = {
29
+ ok: true;
30
+ path: string;
31
+ } | {
32
+ ok: false;
33
+ error: FileAttachmentError;
34
+ };
35
+ /**
36
+ * Validate a single staged `file` attachment against the agent's upload staging area.
37
+ *
38
+ * Pure (the caller owns the registry and passes the already-looked-up record), so this is
39
+ * trivially unit-testable against an adversarial table. Checks run in order so the most
40
+ * specific failure wins:
41
+ *
42
+ * (a) no record for the `fileId` → `unknown_file_id`
43
+ * (b) record belongs to a different agent → `cross_agent_file_id`
44
+ * (c) `realpathSync` throws (file gone) → `file_missing`
45
+ * (d) resolved path escapes the agent dir → `staging_path_escape`
46
+ * (e) otherwise → `{ ok: true, path: <realpath> }`
47
+ *
48
+ * `realpathSync` follows symlinks, so a symlink whose target lives outside the agent staging
49
+ * dir is caught by the containment check in (d) — the resolved path can never escape.
50
+ *
51
+ * @param args.paseoHome - the daemon's resolved `$PASEO_HOME`
52
+ * @param args.agentId - the client-supplied agent identifier (`msg.agentId`), the staging scope key
53
+ * @param args.record - the looked-up registry record for the attachment's `fileId`, or undefined
54
+ * @returns an accepted resolution carrying the canonical realpath, or a typed rejection
55
+ */
56
+ export declare function resolveStagedFileAttachment(args: {
57
+ paseoHome: string;
58
+ agentId: string;
59
+ record: StagedUploadRecord | undefined;
60
+ }): FileAttachmentResolution;
61
+ //# sourceMappingURL=file-attachment-validation.d.ts.map
@@ -0,0 +1,56 @@
1
+ import { realpathSync } from "node:fs";
2
+ import * as path from "node:path";
3
+ /**
4
+ * Validate a single staged `file` attachment against the agent's upload staging area.
5
+ *
6
+ * Pure (the caller owns the registry and passes the already-looked-up record), so this is
7
+ * trivially unit-testable against an adversarial table. Checks run in order so the most
8
+ * specific failure wins:
9
+ *
10
+ * (a) no record for the `fileId` → `unknown_file_id`
11
+ * (b) record belongs to a different agent → `cross_agent_file_id`
12
+ * (c) `realpathSync` throws (file gone) → `file_missing`
13
+ * (d) resolved path escapes the agent dir → `staging_path_escape`
14
+ * (e) otherwise → `{ ok: true, path: <realpath> }`
15
+ *
16
+ * `realpathSync` follows symlinks, so a symlink whose target lives outside the agent staging
17
+ * dir is caught by the containment check in (d) — the resolved path can never escape.
18
+ *
19
+ * @param args.paseoHome - the daemon's resolved `$PASEO_HOME`
20
+ * @param args.agentId - the client-supplied agent identifier (`msg.agentId`), the staging scope key
21
+ * @param args.record - the looked-up registry record for the attachment's `fileId`, or undefined
22
+ * @returns an accepted resolution carrying the canonical realpath, or a typed rejection
23
+ */
24
+ export function resolveStagedFileAttachment(args) {
25
+ const { paseoHome, agentId, record } = args;
26
+ if (!record) {
27
+ return { ok: false, error: "unknown_file_id" };
28
+ }
29
+ if (record.agentId !== agentId) {
30
+ return { ok: false, error: "cross_agent_file_id" };
31
+ }
32
+ let real;
33
+ try {
34
+ real = realpathSync(record.stagedPath);
35
+ }
36
+ catch {
37
+ return { ok: false, error: "file_missing" };
38
+ }
39
+ // Compare canonical-to-canonical: realpath BOTH sides. The staging root is realpath'd too so
40
+ // a symlinked $PASEO_HOME (e.g. macOS /var → /private/var) doesn't make a legitimately-staged
41
+ // file look like an escape. Containment is still strict — a symlink inside the dir whose
42
+ // target lives elsewhere resolves outside `realRoot` and is rejected. A root that cannot be
43
+ // resolved (never created) fails closed as an escape.
44
+ let realRoot;
45
+ try {
46
+ realRoot = realpathSync(path.resolve(paseoHome, "uploads", agentId));
47
+ }
48
+ catch {
49
+ return { ok: false, error: "staging_path_escape" };
50
+ }
51
+ if (!real.startsWith(realRoot + path.sep)) {
52
+ return { ok: false, error: "staging_path_escape" };
53
+ }
54
+ return { ok: true, path: real };
55
+ }
56
+ //# sourceMappingURL=file-attachment-validation.js.map
@@ -0,0 +1,91 @@
1
+ import { type WriteStream } from "node:fs";
2
+ import type { z } from "zod";
3
+ import { FileBeginMetadataSchema } from "@hyperdrive.bot/fleet-protocol/binary-frames/index";
4
+ import type { FileUploadErrorCode } from "../messages.js";
5
+ export type FileBeginMetadata = z.infer<typeof FileBeginMetadataSchema>;
6
+ /**
7
+ * Default per-file upload size cap: 100 MB.
8
+ *
9
+ * Single source of the cap literal — the `session.ts` begin/chunk handlers consume the
10
+ * RESOLVED cap via `StagingService.maxFileSizeBytes`, never this constant directly, so the
11
+ * "100 * 1024 * 1024" literal lives only here.
12
+ */
13
+ export declare const DEFAULT_MAX_UPLOAD_BYTES: number;
14
+ export interface StagingBeginArgs {
15
+ agentId: string;
16
+ uploadId: string;
17
+ requestId: string;
18
+ /**
19
+ * Client-declared original filename, if any. Optional because the Epic-1
20
+ * `files.upload.begin.request` schema carries no filename field today — when absent the
21
+ * staged suffix falls back to `upload{ext}`. NEVER participates in the path except through
22
+ * `sanitizeUploadFilename`.
23
+ */
24
+ fileName?: string;
25
+ metadata: FileBeginMetadata;
26
+ }
27
+ /**
28
+ * Result of opening a disk-backed staging target for an inbound upload.
29
+ * On success it hands back a streamed write target (never an in-memory buffer);
30
+ * on rejection it carries the protocol error code so the caller can abort.
31
+ */
32
+ export type StagingBeginResult = {
33
+ accepted: true;
34
+ writeStream: WriteStream;
35
+ stagedPath: string;
36
+ fileId: string;
37
+ } | {
38
+ accepted: false;
39
+ error: FileUploadErrorCode;
40
+ };
41
+ export interface StagingService {
42
+ /**
43
+ * Resolved per-file upload size cap in bytes (config override or `DEFAULT_MAX_UPLOAD_BYTES`).
44
+ * Single source for the `session.ts` declared-size early reject and the mid-stream
45
+ * cumulative-bytes abort — neither re-declares the cap literal.
46
+ */
47
+ readonly maxFileSizeBytes: number;
48
+ /**
49
+ * Open a streamed write target for an inbound upload.
50
+ *
51
+ * Owns sanitization + server-side path construction + containment assertion + stream open
52
+ * ONLY. It does NOT enforce the size cap — the declared-size early reject lives in the
53
+ * `session.ts` begin handler so it can refuse before registering the transfer / opening a
54
+ * stream, and the mid-stream cumulative abort lives in the `session.ts` chunk handler.
55
+ * `beginUpload` is only reached after the early-reject gate passes.
56
+ *
57
+ * @param args - agent/upload/request identity, optional client filename, declared metadata
58
+ * @returns an accepted result carrying the write stream + staged path + fileId,
59
+ * or a rejected result carrying `"write_failed"` (containment / fs failure).
60
+ */
61
+ beginUpload(args: StagingBeginArgs): Promise<StagingBeginResult>;
62
+ }
63
+ /**
64
+ * Map a small set of common mimes to a file extension for the no-filename fallback.
65
+ * Exhaustive coverage is NOT a goal — the uuid prefix already guarantees uniqueness.
66
+ */
67
+ export declare function extFromMime(mime: string): string;
68
+ /**
69
+ * Sanitize a raw client filename into a safe staging suffix. Pure (no I/O), so it is
70
+ * unit-tested directly against adversarial inputs. Rules applied in order:
71
+ *
72
+ * (a) Unicode-normalize to NFC
73
+ * (b) strip path separators `/` and `\`
74
+ * (c) strip ASCII control chars `0x00`-`0x1F` and `0x7F` (NUL included)
75
+ * (d) strip leading dots so the result is never `.`, `..`, or `.`-prefixed-only
76
+ * (e) replace any remaining character not in `[A-Za-z0-9._-]` with `_`
77
+ * (f) cap to <= 128 bytes, truncating the base and preserving a trailing extension
78
+ * (g) if the result is empty, return the literal `"file"`
79
+ */
80
+ export declare function sanitizeUploadFilename(rawName: string): string;
81
+ /**
82
+ * Real staging service (story 2.2 — replaces the 2.1 stub).
83
+ *
84
+ * Stages each upload at `${paseoHome}/uploads/${agentId}/${uuid}-${sanitizedFilename}` via a
85
+ * real `fs.WriteStream` (never buffering). The raw client filename participates in the path
86
+ * ONLY through `sanitizeUploadFilename`, and a defense-in-depth containment assert guarantees
87
+ * the resolved path can never escape the agent staging dir. The size cap is resolved ONCE
88
+ * here and exposed via `maxFileSizeBytes` for the `session.ts` cap seams.
89
+ */
90
+ export declare function createStagingService(paseoHome: string): StagingService;
91
+ //# sourceMappingURL=staging-service.d.ts.map
@@ -0,0 +1,144 @@
1
+ import { createWriteStream } from "node:fs";
2
+ import { mkdir } from "node:fs/promises";
3
+ import { randomUUID } from "node:crypto";
4
+ import * as path from "node:path";
5
+ import { loadPersistedConfig } from "../persisted-config.js";
6
+ /**
7
+ * Default per-file upload size cap: 100 MB.
8
+ *
9
+ * Single source of the cap literal — the `session.ts` begin/chunk handlers consume the
10
+ * RESOLVED cap via `StagingService.maxFileSizeBytes`, never this constant directly, so the
11
+ * "100 * 1024 * 1024" literal lives only here.
12
+ */
13
+ export const DEFAULT_MAX_UPLOAD_BYTES = 100 * 1024 * 1024;
14
+ /** Max staged filename length in bytes (the uuid prefix guarantees uniqueness regardless). */
15
+ const MAX_FILENAME_BYTES = 128;
16
+ const MIME_EXTENSIONS = {
17
+ "image/png": ".png",
18
+ "image/jpeg": ".jpg",
19
+ "application/pdf": ".pdf",
20
+ "text/plain": ".txt",
21
+ };
22
+ /**
23
+ * Map a small set of common mimes to a file extension for the no-filename fallback.
24
+ * Exhaustive coverage is NOT a goal — the uuid prefix already guarantees uniqueness.
25
+ */
26
+ export function extFromMime(mime) {
27
+ return MIME_EXTENSIONS[mime] ?? ".bin";
28
+ }
29
+ /**
30
+ * Truncate a filename to at most `maxBytes` UTF-8 bytes, preserving a trailing extension
31
+ * where present. The base name is truncated on character boundaries so the result is always
32
+ * valid UTF-8.
33
+ */
34
+ function capFilenameBytes(name, maxBytes) {
35
+ if (Buffer.byteLength(name, "utf8") <= maxBytes) {
36
+ return name;
37
+ }
38
+ const ext = path.extname(name);
39
+ const extBytes = Buffer.byteLength(ext, "utf8");
40
+ const base = ext.length > 0 ? name.slice(0, name.length - ext.length) : name;
41
+ const budget = Math.max(0, maxBytes - extBytes);
42
+ let truncated = "";
43
+ let bytes = 0;
44
+ for (const ch of base) {
45
+ const chBytes = Buffer.byteLength(ch, "utf8");
46
+ if (bytes + chBytes > budget) {
47
+ break;
48
+ }
49
+ truncated += ch;
50
+ bytes += chBytes;
51
+ }
52
+ return truncated + ext;
53
+ }
54
+ /**
55
+ * Sanitize a raw client filename into a safe staging suffix. Pure (no I/O), so it is
56
+ * unit-tested directly against adversarial inputs. Rules applied in order:
57
+ *
58
+ * (a) Unicode-normalize to NFC
59
+ * (b) strip path separators `/` and `\`
60
+ * (c) strip ASCII control chars `0x00`-`0x1F` and `0x7F` (NUL included)
61
+ * (d) strip leading dots so the result is never `.`, `..`, or `.`-prefixed-only
62
+ * (e) replace any remaining character not in `[A-Za-z0-9._-]` with `_`
63
+ * (f) cap to <= 128 bytes, truncating the base and preserving a trailing extension
64
+ * (g) if the result is empty, return the literal `"file"`
65
+ */
66
+ export function sanitizeUploadFilename(rawName) {
67
+ let name = rawName.normalize("NFC");
68
+ name = name.replace(/[/\\]/g, "");
69
+ // Strip ASCII control chars 0x00-0x1F and 0x7F (NUL included). Done by code-point
70
+ // filter (not a regex) so the source carries no control chars and avoids
71
+ // no-control-regex.
72
+ name = [...name]
73
+ .filter((ch) => {
74
+ const code = ch.codePointAt(0) ?? 0;
75
+ return !(code <= 0x1f || code === 0x7f);
76
+ })
77
+ .join("");
78
+ name = name.replace(/^\.+/, "");
79
+ name = name.replace(/[^A-Za-z0-9._-]/g, "_");
80
+ name = capFilenameBytes(name, MAX_FILENAME_BYTES);
81
+ if (name.length === 0) {
82
+ return "file";
83
+ }
84
+ return name;
85
+ }
86
+ /**
87
+ * Resolve the per-file upload size cap from persisted config, falling back to the default.
88
+ * Reads `daemon.uploads.maxFileSizeBytes` and only honors it when it is a positive integer;
89
+ * absent / zero / negative values yield `DEFAULT_MAX_UPLOAD_BYTES` (the positive-int guard).
90
+ */
91
+ function resolveMaxUploadBytes(paseoHome) {
92
+ const configured = loadPersistedConfig(paseoHome).daemon?.uploads?.maxFileSizeBytes;
93
+ if (typeof configured === "number" && Number.isInteger(configured) && configured > 0) {
94
+ return configured;
95
+ }
96
+ return DEFAULT_MAX_UPLOAD_BYTES;
97
+ }
98
+ /**
99
+ * Real staging service (story 2.2 — replaces the 2.1 stub).
100
+ *
101
+ * Stages each upload at `${paseoHome}/uploads/${agentId}/${uuid}-${sanitizedFilename}` via a
102
+ * real `fs.WriteStream` (never buffering). The raw client filename participates in the path
103
+ * ONLY through `sanitizeUploadFilename`, and a defense-in-depth containment assert guarantees
104
+ * the resolved path can never escape the agent staging dir. The size cap is resolved ONCE
105
+ * here and exposed via `maxFileSizeBytes` for the `session.ts` cap seams.
106
+ */
107
+ export function createStagingService(paseoHome) {
108
+ const maxFileSizeBytes = resolveMaxUploadBytes(paseoHome);
109
+ return {
110
+ maxFileSizeBytes,
111
+ async beginUpload(args) {
112
+ const { agentId, fileName, metadata } = args;
113
+ const suffix = sanitizeUploadFilename(fileName ?? `upload${extFromMime(metadata.mime)}`);
114
+ const stagedPath = path.join(paseoHome, "uploads", agentId, `${randomUUID()}-${suffix}`);
115
+ // Containment assert (defense-in-depth): the uuid prefix + sanitization make escape
116
+ // unreachable in practice, but the assert is acceptance-gating — no stream is opened
117
+ // unless the resolved path is strictly inside the agent staging dir.
118
+ const agentDir = path.resolve(paseoHome, "uploads", agentId);
119
+ if (!path.resolve(stagedPath).startsWith(agentDir + path.sep)) {
120
+ return { accepted: false, error: "write_failed" };
121
+ }
122
+ try {
123
+ await mkdir(path.dirname(stagedPath), { recursive: true });
124
+ const writeStream = createWriteStream(stagedPath);
125
+ // `createWriteStream` opens the fd ASYNCHRONOUSLY. Wait for the file to
126
+ // actually exist on disk before handing the stream back, otherwise:
127
+ // - a chunk written immediately after begin races the open (the staged
128
+ // file isn't on disk yet), and
129
+ // - an abort's `rm` can run before the open completes, deleting nothing
130
+ // and then the late open re-creates the partial AFTER cleanup.
131
+ // Awaiting `open` makes begin/chunk/abort observe a real on-disk file.
132
+ await new Promise((resolve, reject) => {
133
+ writeStream.once("open", () => resolve());
134
+ writeStream.once("error", reject);
135
+ });
136
+ return { accepted: true, writeStream, stagedPath, fileId: randomUUID() };
137
+ }
138
+ catch {
139
+ return { accepted: false, error: "write_failed" };
140
+ }
141
+ },
142
+ };
143
+ }
144
+ //# sourceMappingURL=staging-service.js.map
@@ -0,0 +1,57 @@
1
+ import { type HighlightToken } from "@hyperdrive.bot/fleet-highlight";
2
+ export interface DiffLine {
3
+ type: "add" | "remove" | "context" | "header";
4
+ content: string;
5
+ tokens?: HighlightToken[];
6
+ }
7
+ export interface DiffHunk {
8
+ oldStart: number;
9
+ oldCount: number;
10
+ newStart: number;
11
+ newCount: number;
12
+ lines: DiffLine[];
13
+ }
14
+ export interface ParsedDiffFile {
15
+ path: string;
16
+ isNew: boolean;
17
+ isDeleted: boolean;
18
+ additions: number;
19
+ deletions: number;
20
+ hunks: DiffHunk[];
21
+ status?: "ok" | "too_large" | "binary";
22
+ }
23
+ interface HighlightDiffWithFileContentOptions {
24
+ oldFileContent?: string | null;
25
+ newFileContent?: string | null;
26
+ }
27
+ interface ParseAndHighlightDiffOptions {
28
+ getOldFileContent?: (file: ParsedDiffFile) => Promise<string | null>;
29
+ getNewFileContent?: (file: ParsedDiffFile) => Promise<string | null>;
30
+ }
31
+ export declare function parseDiff(diffText: string): ParsedDiffFile[];
32
+ /**
33
+ * Reconstruct the "new" version of a file from diff hunks.
34
+ * Returns a map of new line numbers to their content.
35
+ */
36
+ export declare function reconstructNewFile(hunks: DiffHunk[]): Map<number, string>;
37
+ /**
38
+ * Reconstruct the "old" version of a file from diff hunks.
39
+ * Returns a map of old line numbers to their content.
40
+ */
41
+ export declare function reconstructOldFile(hunks: DiffHunk[]): Map<number, string>;
42
+ /**
43
+ * Apply syntax highlighting to diff hunks using reconstructed file content.
44
+ * This is the fallback when actual file content is not available.
45
+ */
46
+ export declare function highlightDiffFromHunks(file: ParsedDiffFile): ParsedDiffFile;
47
+ /**
48
+ * Apply syntax highlighting to diff hunks using actual file content.
49
+ * This provides better context for the parser.
50
+ */
51
+ export declare function highlightDiffWithFileContent(file: ParsedDiffFile, cwd: string, options?: HighlightDiffWithFileContentOptions): Promise<ParsedDiffFile>;
52
+ /**
53
+ * Parse and highlight a complete diff, using actual file content when available.
54
+ */
55
+ export declare function parseAndHighlightDiff(diffText: string, cwd: string, options?: ParseAndHighlightDiffOptions): Promise<ParsedDiffFile[]>;
56
+ export type { HighlightToken };
57
+ //# sourceMappingURL=diff-highlighter.d.ts.map