@maudecode/talaria-web 1.17.2 → 1.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (623) hide show
  1. package/_release.json +8 -8
  2. package/dist/api/auth-raw.d.ts +1 -1
  3. package/dist/api/auth-raw.js +20 -20
  4. package/dist/api/auth-raw.js.map +1 -1
  5. package/dist/api/automation-raw.d.ts +7 -1
  6. package/dist/api/automation-raw.js +74 -27
  7. package/dist/api/automation-raw.js.map +1 -1
  8. package/dist/api/automation-router.d.ts +128 -23
  9. package/dist/api/automation-router.js +29 -13
  10. package/dist/api/automation-router.js.map +1 -1
  11. package/dist/api/chat-router.d.ts +1845 -40
  12. package/dist/api/chat-router.js +196 -114
  13. package/dist/api/chat-router.js.map +1 -1
  14. package/dist/api/git-router.d.ts +37 -3
  15. package/dist/api/git-router.js +47 -48
  16. package/dist/api/git-router.js.map +1 -1
  17. package/dist/api/raw-routes.d.ts +9 -1
  18. package/dist/api/raw-routes.js +286 -73
  19. package/dist/api/raw-routes.js.map +1 -1
  20. package/dist/api/router.d.ts +16 -6
  21. package/dist/api/router.js +28 -26
  22. package/dist/api/router.js.map +1 -1
  23. package/dist/api/session-visibility.d.ts +4 -4
  24. package/dist/api/session-visibility.js +26 -16
  25. package/dist/api/session-visibility.js.map +1 -1
  26. package/dist/api/sessions-router.d.ts +3312 -131
  27. package/dist/api/sessions-router.js +287 -157
  28. package/dist/api/sessions-router.js.map +1 -1
  29. package/dist/api/settings-router.d.ts +457 -8
  30. package/dist/api/settings-router.js +54 -33
  31. package/dist/api/settings-router.js.map +1 -1
  32. package/dist/api/sse-routes.d.ts +7 -2
  33. package/dist/api/sse-routes.js +109 -62
  34. package/dist/api/sse-routes.js.map +1 -1
  35. package/dist/api/tools-raw.d.ts +5 -0
  36. package/dist/api/tools-raw.js +63 -55
  37. package/dist/api/tools-raw.js.map +1 -1
  38. package/dist/api/tools-router.d.ts +998 -85
  39. package/dist/api/tools-router.js +447 -61
  40. package/dist/api/tools-router.js.map +1 -1
  41. package/dist/api/transcribe-stream.d.ts +16 -0
  42. package/dist/api/transcribe-stream.js +172 -0
  43. package/dist/api/transcribe-stream.js.map +1 -0
  44. package/dist/app.d.ts +4 -1
  45. package/dist/app.js +98 -59
  46. package/dist/app.js.map +1 -1
  47. package/dist/auth/gate.js +15 -11
  48. package/dist/auth/gate.js.map +1 -1
  49. package/dist/auth/oidc.d.ts +5 -2
  50. package/dist/auth/oidc.js +8 -7
  51. package/dist/auth/oidc.js.map +1 -1
  52. package/dist/auth/passkeys.d.ts +15 -14
  53. package/dist/auth/passkeys.js +89 -91
  54. package/dist/auth/passkeys.js.map +1 -1
  55. package/dist/auth/store.d.ts +17 -7
  56. package/dist/auth/store.js +93 -52
  57. package/dist/auth/store.js.map +1 -1
  58. package/dist/bin/talaria-web.js +12 -81
  59. package/dist/bin/talaria-web.js.map +1 -1
  60. package/dist/cli/ctl.js +2 -1
  61. package/dist/cli/ctl.js.map +1 -1
  62. package/dist/cli/dotenv.d.ts +5 -0
  63. package/dist/cli/dotenv.js +15 -2
  64. package/dist/cli/dotenv.js.map +1 -1
  65. package/dist/cli/launcher.js +5 -5
  66. package/dist/cli/launcher.js.map +1 -1
  67. package/dist/cli/main.d.ts +1 -0
  68. package/dist/cli/main.js +85 -0
  69. package/dist/cli/main.js.map +1 -0
  70. package/dist/cli/supervise.d.ts +2 -0
  71. package/dist/cli/supervise.js +67 -4
  72. package/dist/cli/supervise.js.map +1 -1
  73. package/dist/config/agent-config.d.ts +34 -11
  74. package/dist/config/agent-config.js +116 -60
  75. package/dist/config/agent-config.js.map +1 -1
  76. package/dist/config.d.ts +4 -0
  77. package/dist/config.js +19 -6
  78. package/dist/config.js.map +1 -1
  79. package/dist/fs/atomic.d.ts +1 -0
  80. package/dist/fs/atomic.js +4 -1
  81. package/dist/fs/atomic.js.map +1 -1
  82. package/dist/fs/stat.d.ts +1 -0
  83. package/dist/fs/stat.js +11 -0
  84. package/dist/fs/stat.js.map +1 -0
  85. package/dist/http/context.d.ts +31 -12
  86. package/dist/http/context.js +60 -24
  87. package/dist/http/context.js.map +1 -1
  88. package/dist/http/csp.d.ts +2 -1
  89. package/dist/http/csp.js +3 -2
  90. package/dist/http/csp.js.map +1 -1
  91. package/dist/onboarding.d.ts +2 -2
  92. package/dist/onboarding.js +10 -8
  93. package/dist/onboarding.js.map +1 -1
  94. package/dist/profiles/profiles.d.ts +20 -4
  95. package/dist/profiles/profiles.js +115 -30
  96. package/dist/profiles/profiles.js.map +1 -1
  97. package/dist/projects.d.ts +15 -6
  98. package/dist/projects.js +55 -47
  99. package/dist/projects.js.map +1 -1
  100. package/dist/providers/catalog.d.ts +84 -14
  101. package/dist/providers/catalog.js +474 -151
  102. package/dist/providers/catalog.js.map +1 -1
  103. package/dist/providers/env-file.d.ts +10 -3
  104. package/dist/providers/env-file.js +24 -75
  105. package/dist/providers/env-file.js.map +1 -1
  106. package/dist/providers/runtime-env.d.ts +4 -2
  107. package/dist/providers/runtime-env.js +9 -6
  108. package/dist/providers/runtime-env.js.map +1 -1
  109. package/dist/providers/tables.d.ts +3 -1
  110. package/dist/providers/tables.js +4 -2
  111. package/dist/providers/tables.js.map +1 -1
  112. package/dist/raster-image.d.ts +7 -0
  113. package/dist/raster-image.js +267 -0
  114. package/dist/raster-image.js.map +1 -0
  115. package/dist/redact.js +342 -46
  116. package/dist/redact.js.map +1 -1
  117. package/dist/release.d.ts +7 -0
  118. package/dist/release.js +14 -0
  119. package/dist/release.js.map +1 -1
  120. package/dist/runtime.d.ts +5 -1
  121. package/dist/runtime.js +305 -96
  122. package/dist/runtime.js.map +1 -1
  123. package/dist/server.js +15 -0
  124. package/dist/server.js.map +1 -1
  125. package/dist/sessions/anchor.d.ts +9 -3
  126. package/dist/sessions/anchor.js +28 -36
  127. package/dist/sessions/anchor.js.map +1 -1
  128. package/dist/sessions/background-events.d.ts +2 -0
  129. package/dist/sessions/background-events.js +10 -0
  130. package/dist/sessions/background-events.js.map +1 -0
  131. package/dist/sessions/background-tasks.d.ts +26 -27
  132. package/dist/sessions/background-tasks.js +89 -97
  133. package/dist/sessions/background-tasks.js.map +1 -1
  134. package/dist/sessions/background-updates.d.ts +15 -8
  135. package/dist/sessions/background-updates.js +101 -25
  136. package/dist/sessions/background-updates.js.map +1 -1
  137. package/dist/sessions/cli-sessions.d.ts +27 -6
  138. package/dist/sessions/cli-sessions.js +152 -42
  139. package/dist/sessions/cli-sessions.js.map +1 -1
  140. package/dist/sessions/completions.d.ts +77 -9
  141. package/dist/sessions/completions.js +482 -45
  142. package/dist/sessions/completions.js.map +1 -1
  143. package/dist/sessions/compress.d.ts +8 -0
  144. package/dist/sessions/compress.js +2 -2
  145. package/dist/sessions/compress.js.map +1 -1
  146. package/dist/sessions/drafts.d.ts +14 -10
  147. package/dist/sessions/drafts.js +38 -43
  148. package/dist/sessions/drafts.js.map +1 -1
  149. package/dist/sessions/export.d.ts +5 -0
  150. package/dist/sessions/export.js +30 -0
  151. package/dist/sessions/export.js.map +1 -1
  152. package/dist/sessions/gateway-sessions.d.ts +46 -0
  153. package/dist/sessions/gateway-sessions.js +378 -0
  154. package/dist/sessions/gateway-sessions.js.map +1 -0
  155. package/dist/sessions/gateway-watcher.d.ts +7 -3
  156. package/dist/sessions/gateway-watcher.js +31 -19
  157. package/dist/sessions/gateway-watcher.js.map +1 -1
  158. package/dist/sessions/goals.d.ts +31 -0
  159. package/dist/sessions/goals.js +75 -0
  160. package/dist/sessions/goals.js.map +1 -0
  161. package/dist/sessions/handoff.d.ts +32 -0
  162. package/dist/sessions/handoff.js +114 -0
  163. package/dist/sessions/handoff.js.map +1 -0
  164. package/dist/sessions/journal.d.ts +5 -79
  165. package/dist/sessions/journal.js +15 -606
  166. package/dist/sessions/journal.js.map +1 -1
  167. package/dist/sessions/list.d.ts +31 -16
  168. package/dist/sessions/list.js +139 -129
  169. package/dist/sessions/list.js.map +1 -1
  170. package/dist/sessions/merge.d.ts +69 -13
  171. package/dist/sessions/merge.js +265 -64
  172. package/dist/sessions/merge.js.map +1 -1
  173. package/dist/sessions/notices.d.ts +22 -0
  174. package/dist/sessions/notices.js +72 -0
  175. package/dist/sessions/notices.js.map +1 -0
  176. package/dist/sessions/pending.d.ts +10 -4
  177. package/dist/sessions/pending.js +83 -7
  178. package/dist/sessions/pending.js.map +1 -1
  179. package/dist/sessions/prefix-index.d.ts +82 -0
  180. package/dist/sessions/prefix-index.js +232 -0
  181. package/dist/sessions/prefix-index.js.map +1 -0
  182. package/dist/sessions/recovery.d.ts +19 -0
  183. package/dist/sessions/recovery.js +322 -0
  184. package/dist/sessions/recovery.js.map +1 -0
  185. package/dist/sessions/relay.d.ts +38 -19
  186. package/dist/sessions/relay.js +302 -79
  187. package/dist/sessions/relay.js.map +1 -1
  188. package/dist/sessions/service.d.ts +260 -55
  189. package/dist/sessions/service.js +1448 -462
  190. package/dist/sessions/service.js.map +1 -1
  191. package/dist/sessions/session.d.ts +24 -2
  192. package/dist/sessions/session.js +69 -7
  193. package/dist/sessions/session.js.map +1 -1
  194. package/dist/sessions/shares.d.ts +7 -6
  195. package/dist/sessions/shares.js +22 -45
  196. package/dist/sessions/shares.js.map +1 -1
  197. package/dist/sessions/source-kind.js +1 -0
  198. package/dist/sessions/source-kind.js.map +1 -1
  199. package/dist/sessions/state-db-identity.d.ts +18 -0
  200. package/dist/sessions/state-db-identity.js +67 -0
  201. package/dist/sessions/state-db-identity.js.map +1 -0
  202. package/dist/sessions/state-db-worker.d.ts +1 -0
  203. package/dist/sessions/state-db-worker.js +35 -0
  204. package/dist/sessions/state-db-worker.js.map +1 -0
  205. package/dist/sessions/state-db.d.ts +113 -7
  206. package/dist/sessions/state-db.js +861 -44
  207. package/dist/sessions/state-db.js.map +1 -1
  208. package/dist/sessions/storage/backend.d.ts +162 -0
  209. package/dist/sessions/storage/backend.js +19 -0
  210. package/dist/sessions/storage/backend.js.map +1 -0
  211. package/dist/sessions/storage/conformance.d.ts +20 -0
  212. package/dist/sessions/storage/conformance.js +237 -0
  213. package/dist/sessions/storage/conformance.js.map +1 -0
  214. package/dist/sessions/storage/document.d.ts +16 -0
  215. package/dist/sessions/storage/document.js +44 -0
  216. package/dist/sessions/storage/document.js.map +1 -0
  217. package/dist/sessions/storage/json-documents.d.ts +23 -0
  218. package/dist/sessions/storage/json-documents.js +233 -0
  219. package/dist/sessions/storage/json-documents.js.map +1 -0
  220. package/dist/sessions/storage/json-files.d.ts +12 -0
  221. package/dist/sessions/storage/json-files.js +124 -0
  222. package/dist/sessions/storage/json-files.js.map +1 -0
  223. package/dist/sessions/storage/json-installation.d.ts +3 -0
  224. package/dist/sessions/storage/json-installation.js +31 -0
  225. package/dist/sessions/storage/json-installation.js.map +1 -0
  226. package/dist/sessions/storage/json-journal.d.ts +114 -0
  227. package/dist/sessions/storage/json-journal.js +686 -0
  228. package/dist/sessions/storage/json-journal.js.map +1 -0
  229. package/dist/sessions/storage/json-recovery.d.ts +4 -0
  230. package/dist/sessions/storage/json-recovery.js +195 -0
  231. package/dist/sessions/storage/json-recovery.js.map +1 -0
  232. package/dist/sessions/storage/json.d.ts +68 -0
  233. package/dist/sessions/storage/json.js +258 -0
  234. package/dist/sessions/storage/json.js.map +1 -0
  235. package/dist/sessions/storage/row.d.ts +6 -0
  236. package/dist/sessions/storage/row.js +49 -0
  237. package/dist/sessions/storage/row.js.map +1 -0
  238. package/dist/sessions/storage/search-text.d.ts +4 -0
  239. package/dist/sessions/storage/search-text.js +16 -0
  240. package/dist/sessions/storage/search-text.js.map +1 -0
  241. package/dist/sessions/store.d.ts +65 -68
  242. package/dist/sessions/store.js +305 -602
  243. package/dist/sessions/store.js.map +1 -1
  244. package/dist/sessions/streams.d.ts +4 -0
  245. package/dist/sessions/streams.js +9 -1
  246. package/dist/sessions/streams.js.map +1 -1
  247. package/dist/sessions/titles.d.ts +2 -0
  248. package/dist/sessions/titles.js +5 -1
  249. package/dist/sessions/titles.js.map +1 -1
  250. package/dist/sessions/todo.d.ts +5 -0
  251. package/dist/sessions/todo.js +28 -21
  252. package/dist/sessions/todo.js.map +1 -1
  253. package/dist/sessions/tool-display.d.ts +5 -4
  254. package/dist/sessions/tool-display.js +30 -50
  255. package/dist/sessions/tool-display.js.map +1 -1
  256. package/dist/sessions/turn-context.d.ts +11 -2
  257. package/dist/sessions/turn-context.js +18 -11
  258. package/dist/sessions/turn-context.js.map +1 -1
  259. package/dist/sessions/turn.d.ts +122 -17
  260. package/dist/sessions/turn.js +939 -358
  261. package/dist/sessions/turn.js.map +1 -1
  262. package/dist/sessions/wakeup-pause.d.ts +54 -0
  263. package/dist/sessions/wakeup-pause.js +163 -0
  264. package/dist/sessions/wakeup-pause.js.map +1 -0
  265. package/dist/sessions/window.js +13 -12
  266. package/dist/sessions/window.js.map +1 -1
  267. package/dist/settings.d.ts +19 -7
  268. package/dist/settings.js +178 -184
  269. package/dist/settings.js.map +1 -1
  270. package/dist/sidecar/client.d.ts +17 -3
  271. package/dist/sidecar/client.js +78 -8
  272. package/dist/sidecar/client.js.map +1 -1
  273. package/dist/sidecar/discover.d.ts +2 -1
  274. package/dist/sidecar/discover.js +93 -10
  275. package/dist/sidecar/discover.js.map +1 -1
  276. package/dist/sidecar/env.d.ts +4 -0
  277. package/dist/sidecar/env.js +3 -0
  278. package/dist/sidecar/env.js.map +1 -0
  279. package/dist/sidecar/fake.d.ts +2 -2
  280. package/dist/sidecar/fake.js +19 -2
  281. package/dist/sidecar/fake.js.map +1 -1
  282. package/dist/startup.d.ts +13 -5
  283. package/dist/startup.js +48 -0
  284. package/dist/startup.js.map +1 -1
  285. package/dist/test/env-file.d.ts +5 -0
  286. package/dist/test/env-file.js +88 -0
  287. package/dist/test/env-file.js.map +1 -0
  288. package/dist/test/harness.d.ts +1 -0
  289. package/dist/test/harness.js +1 -1
  290. package/dist/test/harness.js.map +1 -1
  291. package/dist/test/passkeys.d.ts +22 -0
  292. package/dist/test/passkeys.js +62 -0
  293. package/dist/test/passkeys.js.map +1 -0
  294. package/dist/test/storage.d.ts +15 -0
  295. package/dist/test/storage.js +26 -0
  296. package/dist/test/storage.js.map +1 -0
  297. package/dist/test/ts-worker-hooks.d.ts +1 -0
  298. package/dist/test/ts-worker-hooks.js +24 -0
  299. package/dist/test/ts-worker-hooks.js.map +1 -0
  300. package/dist/text/diff.d.ts +9 -14
  301. package/dist/text/diff.js +74 -108
  302. package/dist/text/diff.js.map +1 -1
  303. package/dist/tools/commands.d.ts +6 -1
  304. package/dist/tools/commands.js +8 -2
  305. package/dist/tools/commands.js.map +1 -1
  306. package/dist/tools/connectors.d.ts +33 -0
  307. package/dist/tools/connectors.js +121 -0
  308. package/dist/tools/connectors.js.map +1 -0
  309. package/dist/tools/crons.d.ts +38 -1
  310. package/dist/tools/crons.js +122 -18
  311. package/dist/tools/crons.js.map +1 -1
  312. package/dist/tools/dashboard-plugins.d.ts +53 -0
  313. package/dist/tools/dashboard-plugins.js +188 -0
  314. package/dist/tools/dashboard-plugins.js.map +1 -0
  315. package/dist/tools/extensions.d.ts +18 -5
  316. package/dist/tools/extensions.js +344 -266
  317. package/dist/tools/extensions.js.map +1 -1
  318. package/dist/tools/gateway-restart.d.ts +62 -0
  319. package/dist/tools/gateway-restart.js +142 -0
  320. package/dist/tools/gateway-restart.js.map +1 -0
  321. package/dist/tools/health.d.ts +44 -0
  322. package/dist/tools/health.js +201 -46
  323. package/dist/tools/health.js.map +1 -1
  324. package/dist/tools/hygiene.d.ts +4 -3
  325. package/dist/tools/hygiene.js +23 -9
  326. package/dist/tools/hygiene.js.map +1 -1
  327. package/dist/tools/kanban.d.ts +4 -2
  328. package/dist/tools/kanban.js +28 -19
  329. package/dist/tools/kanban.js.map +1 -1
  330. package/dist/tools/mcp.d.ts +13 -0
  331. package/dist/tools/mcp.js +88 -0
  332. package/dist/tools/mcp.js.map +1 -1
  333. package/dist/tools/memory-masks.d.ts +5 -0
  334. package/dist/tools/memory-masks.js +256 -0
  335. package/dist/tools/memory-masks.js.map +1 -0
  336. package/dist/tools/memory.d.ts +29 -3
  337. package/dist/tools/memory.js +69 -27
  338. package/dist/tools/memory.js.map +1 -1
  339. package/dist/tools/plugin-settings.d.ts +15 -0
  340. package/dist/tools/plugin-settings.js +90 -0
  341. package/dist/tools/plugin-settings.js.map +1 -0
  342. package/dist/tools/project-os.d.ts +11 -0
  343. package/dist/tools/project-os.js +267 -0
  344. package/dist/tools/project-os.js.map +1 -0
  345. package/dist/tools/skills.d.ts +14 -5
  346. package/dist/tools/skills.js +49 -16
  347. package/dist/tools/skills.js.map +1 -1
  348. package/dist/tools/update-notifications.d.ts +34 -15
  349. package/dist/tools/update-notifications.js +141 -57
  350. package/dist/tools/update-notifications.js.map +1 -1
  351. package/dist/tools/update-rollback.d.ts +11 -0
  352. package/dist/tools/update-rollback.js +28 -0
  353. package/dist/tools/update-rollback.js.map +1 -0
  354. package/dist/tools/updates.d.ts +110 -32
  355. package/dist/tools/updates.js +1112 -294
  356. package/dist/tools/updates.js.map +1 -1
  357. package/dist/tools/wiki.d.ts +68 -0
  358. package/dist/tools/wiki.js +413 -0
  359. package/dist/tools/wiki.js.map +1 -0
  360. package/dist/util.d.ts +2 -0
  361. package/dist/util.js +5 -0
  362. package/dist/util.js.map +1 -1
  363. package/dist/workspace/escape.d.ts +61 -0
  364. package/dist/workspace/escape.js +149 -0
  365. package/dist/workspace/escape.js.map +1 -0
  366. package/dist/workspace/extract.d.ts +22 -0
  367. package/dist/workspace/extract.js +308 -0
  368. package/dist/workspace/extract.js.map +1 -0
  369. package/dist/workspace/fs.d.ts +12 -0
  370. package/dist/workspace/fs.js +92 -23
  371. package/dist/workspace/fs.js.map +1 -1
  372. package/dist/workspace/git.d.ts +34 -1
  373. package/dist/workspace/git.js +328 -35
  374. package/dist/workspace/git.js.map +1 -1
  375. package/dist/workspace/media.d.ts +16 -13
  376. package/dist/workspace/media.js +43 -61
  377. package/dist/workspace/media.js.map +1 -1
  378. package/dist/workspace/rollback.d.ts +36 -22
  379. package/dist/workspace/rollback.js +178 -272
  380. package/dist/workspace/rollback.js.map +1 -1
  381. package/dist/workspace/unzip.js +4 -1
  382. package/dist/workspace/unzip.js.map +1 -1
  383. package/dist/workspace/upload.d.ts +7 -4
  384. package/dist/workspace/upload.js +5 -2
  385. package/dist/workspace/upload.js.map +1 -1
  386. package/dist/workspace/workspaces.d.ts +15 -19
  387. package/dist/workspace/workspaces.js +55 -127
  388. package/dist/workspace/workspaces.js.map +1 -1
  389. package/dist/workspace/worktrees.d.ts +2 -1
  390. package/dist/workspace/worktrees.js +179 -42
  391. package/dist/workspace/worktrees.js.map +1 -1
  392. package/package.json +7 -3
  393. package/sidecar/agent_dependency.json +4 -4
  394. package/sidecar/agent_support.json +26 -0
  395. package/sidecar/scripts/record-fixtures.py +12 -3
  396. package/sidecar/scripts/replay_sidecar.py +32 -0
  397. package/sidecar/scripts/suite_runner.py +302 -0
  398. package/sidecar/scripts/test.sh +12 -4
  399. package/sidecar/talaria_sidecar/__init__.py +6 -1
  400. package/sidecar/talaria_sidecar/__main__.py +4 -2
  401. package/sidecar/talaria_sidecar/agent_mutation.py +975 -0
  402. package/sidecar/talaria_sidecar/agent_services.py +1053 -0
  403. package/sidecar/talaria_sidecar/dependency_sync.py +85 -0
  404. package/sidecar/talaria_sidecar/home.py +56 -3
  405. package/sidecar/talaria_sidecar/methods/__init__.py +2 -2
  406. package/sidecar/talaria_sidecar/methods/aux.py +166 -24
  407. package/sidecar/talaria_sidecar/methods/chat.py +852 -135
  408. package/sidecar/talaria_sidecar/methods/checkpoints.py +89 -0
  409. package/sidecar/talaria_sidecar/methods/commands.py +294 -4
  410. package/sidecar/talaria_sidecar/methods/config.py +123 -4
  411. package/sidecar/talaria_sidecar/methods/connectors.py +343 -0
  412. package/sidecar/talaria_sidecar/methods/cron.py +395 -36
  413. package/sidecar/talaria_sidecar/methods/cron_execution.py +284 -0
  414. package/sidecar/talaria_sidecar/methods/gateway.py +212 -55
  415. package/sidecar/talaria_sidecar/methods/gateway_sessions.py +234 -0
  416. package/sidecar/talaria_sidecar/methods/goals.py +81 -41
  417. package/sidecar/talaria_sidecar/methods/kanban.py +108 -34
  418. package/sidecar/talaria_sidecar/methods/mcp.py +1 -1
  419. package/sidecar/talaria_sidecar/methods/memory.py +84 -0
  420. package/sidecar/talaria_sidecar/methods/oauth.py +5 -2
  421. package/sidecar/talaria_sidecar/methods/process.py +218 -15
  422. package/sidecar/talaria_sidecar/methods/profiles.py +121 -13
  423. package/sidecar/talaria_sidecar/methods/providers.py +217 -28
  424. package/sidecar/talaria_sidecar/methods/runtime.py +69 -1
  425. package/sidecar/talaria_sidecar/methods/skills.py +67 -4
  426. package/sidecar/talaria_sidecar/methods/state_db.py +316 -75
  427. package/sidecar/talaria_sidecar/methods/stt.py +159 -78
  428. package/sidecar/talaria_sidecar/methods/text.py +14 -1
  429. package/sidecar/talaria_sidecar/methods/toolsets.py +49 -0
  430. package/sidecar/talaria_sidecar/methods/usage.py +113 -14
  431. package/sidecar/talaria_sidecar/methods/worktree.py +26 -19
  432. package/sidecar/talaria_sidecar/methods/write_approval.py +181 -0
  433. package/sidecar/talaria_sidecar/rpc.py +45 -4
  434. package/sidecar/talaria_sidecar/runtime.py +98 -13
  435. package/sidecar/talaria_sidecar/speed.py +35 -0
  436. package/static/dist/FILES.txt +126 -126
  437. package/static/dist/assets/AppShell-cey33v9s.js +8 -0
  438. package/static/dist/assets/ChatPage-i8wnugr7.js +18 -0
  439. package/static/dist/assets/ConnectTargets-hg19553x.js +1 -0
  440. package/static/dist/assets/ExtensionRoute-cly4apm5.js +1 -0
  441. package/static/dist/assets/Field-j8uqoigz.js +9 -0
  442. package/static/dist/assets/HubRoute-e4bgz41j.js +2 -0
  443. package/static/dist/assets/Markdown-lahuichm.js +598 -0
  444. package/static/dist/assets/RightPanel-lbo4i0fn.js +1 -0
  445. package/static/dist/assets/Select-gqatm2e0.js +1 -0
  446. package/static/dist/assets/SessionListPanel-mfqayfjh.js +1 -0
  447. package/static/dist/assets/SettingsLayout-b8980u7k.js +1 -0
  448. package/static/dist/assets/States-e7dkgtxf.js +1 -0
  449. package/static/dist/assets/Toaster-bfqqy786.js +1 -0
  450. package/static/dist/assets/_app-n1n6pfx1.js +1 -0
  451. package/static/dist/assets/{_app.ext._extensionId-opyh9y0v.js → _app.ext._extensionId-buxjxav3.js} +1 -1
  452. package/static/dist/assets/_app.index-jt8zwiu2.js +1 -0
  453. package/static/dist/assets/_app.insights-cv76ml71.js +1 -0
  454. package/static/dist/assets/_app.kanban-h6ts53j7.js +1 -0
  455. package/static/dist/assets/_app.logs-dm873z90.js +1 -0
  456. package/static/dist/assets/_app.memory-glk5y6m8.js +1 -0
  457. package/static/dist/assets/_app.profiles-ka6zpstq.js +1 -0
  458. package/static/dist/assets/{_app.session._sessionId-bfd4h3id.js → _app.session._sessionId-g2vzghvc.js} +1 -1
  459. package/static/dist/assets/_app.settings-hgjdhzcd.js +1 -0
  460. package/static/dist/assets/_app.settings._section-jf2kmhae.js +3 -0
  461. package/static/dist/assets/_app.skills-cii852yq.js +1 -0
  462. package/static/dist/assets/_app.tasks-fp9q7atm.js +1 -0
  463. package/static/dist/assets/_app.todos-dw94qzue.js +1 -0
  464. package/static/dist/assets/_app.workspaces-inyygzze.js +1 -0
  465. package/static/dist/assets/{abnfDiagram-VCTEODGH-b2x1lqot.js → abnfDiagram-VCTEODGH-gjayq3ra.js} +1 -1
  466. package/static/dist/assets/architecture-7GRP2DOG-lp56972r.js +1 -0
  467. package/static/dist/assets/{architectureDiagram-5GKGNRK7-h38o5l7b.js → architectureDiagram-5GKGNRK7-nwb3xovn.js} +1 -1
  468. package/static/dist/assets/archive-b1j004vn.js +1 -0
  469. package/static/dist/assets/back-g74gkozu.js +1 -0
  470. package/static/dist/assets/{blockDiagram-I7D4REHJ-bqquxv2u.js → blockDiagram-I7D4REHJ-joedghi3.js} +1 -1
  471. package/static/dist/assets/{c4Diagram-7LVT6UL2-f3fb8w6z.js → c4Diagram-7LVT6UL2-hyrjrohe.js} +1 -1
  472. package/static/dist/assets/channel-es95o4y8.js +1 -0
  473. package/static/dist/assets/{chunk-4HAMMTFA-bzfyyzp3.js → chunk-4HAMMTFA-koouqbut.js} +1 -1
  474. package/static/dist/assets/{chunk-75Z2AOVW-ly99rfx5.js → chunk-75Z2AOVW-bl4bhdnt.js} +1 -1
  475. package/static/dist/assets/{chunk-DU6HZSFF-bg6ecfqf.js → chunk-DU6HZSFF-gpedttsp.js} +3 -3
  476. package/static/dist/assets/{chunk-F27PBJKO-e8k7mmqw.js → chunk-F27PBJKO-d8xxi0zi.js} +1 -1
  477. package/static/dist/assets/{chunk-GMAD6QVW-cmalnoaj.js → chunk-GMAD6QVW-jro0hl73.js} +1 -1
  478. package/static/dist/assets/{chunk-GVQU2GXP-gmif5o01.js → chunk-GVQU2GXP-djn6gbyu.js} +1 -1
  479. package/static/dist/assets/{chunk-IMKFNOWR-f1nwwh6u.js → chunk-IMKFNOWR-vw4p5p7o.js} +1 -1
  480. package/static/dist/assets/{chunk-L3NEJ4N5-oktfh5v7.js → chunk-L3NEJ4N5-n1hj77q8.js} +1 -1
  481. package/static/dist/assets/{chunk-OSK3NFVY-b1sdx96z.js → chunk-OSK3NFVY-oy0gwn2n.js} +1 -1
  482. package/static/dist/assets/{chunk-P2QGCYS3-fhu4nzxt.js → chunk-P2QGCYS3-onf1hz6c.js} +1 -1
  483. package/static/dist/assets/{chunk-POPQ4Y6H-em31rnef.js → chunk-POPQ4Y6H-m8sqn7cs.js} +1 -1
  484. package/static/dist/assets/{chunk-PWAF6VOD-bxhhyftw.js → chunk-PWAF6VOD-ek4smc8x.js} +1 -1
  485. package/static/dist/assets/{chunk-SHT3W25Y-fmrvwcav.js → chunk-SHT3W25Y-g9gfvefo.js} +3 -3
  486. package/static/dist/assets/{chunk-SVP7TREG-lymukl2j.js → chunk-SVP7TREG-f9nfv2cu.js} +1 -1
  487. package/static/dist/assets/{chunk-TICWLB2K-lmza6k23.js → chunk-TICWLB2K-bnk3m1mq.js} +1 -1
  488. package/static/dist/assets/classDiagram-ZZMXUADV-kmihoqxh.js +1 -0
  489. package/static/dist/assets/classDiagram-v2-VYDZK3BY-kmihoqxh.js +1 -0
  490. package/static/dist/assets/copied-bli9tbcx.js +1 -0
  491. package/static/dist/assets/{copy-fw5b1pc6.js → copy-jamtd1pf.js} +1 -1
  492. package/static/dist/assets/{cynefin-OW5HDTMX-czlhbyhs.js → cynefin-OW5HDTMX-f8xfdd3f.js} +1 -1
  493. package/static/dist/assets/{cynefinDiagram-5FMLGOSQ-gq7mvswb.js → cynefinDiagram-5FMLGOSQ-n9lb99h9.js} +1 -1
  494. package/static/dist/assets/{dagre-GXQ25YYZ-cqdbf7dr.js → dagre-GXQ25YYZ-dgailddi.js} +4 -4
  495. package/static/dist/assets/{diagram-S7CK7UJ4-o6arxa58.js → diagram-S7CK7UJ4-m6aeoe7c.js} +1 -1
  496. package/static/dist/assets/{diagram-UQ7AKVKN-nhnd68tz.js → diagram-UQ7AKVKN-jall3j0x.js} +1 -1
  497. package/static/dist/assets/{diagram-VSXAHHWV-dk2sclzn.js → diagram-VSXAHHWV-hbawi7hn.js} +1 -1
  498. package/static/dist/assets/{diagram-VX7I27RA-n3k5nyx3.js → diagram-VX7I27RA-hendl2tt.js} +1 -1
  499. package/static/dist/assets/{diagram-Z3DM3KII-m6q9cwdh.js → diagram-Z3DM3KII-igwc35p3.js} +1 -1
  500. package/static/dist/assets/{ebnfDiagram-PWID7BFC-lsa5641p.js → ebnfDiagram-PWID7BFC-c64knz08.js} +1 -1
  501. package/static/dist/assets/{erDiagram-RLTQ6QDP-fo2ckbe6.js → erDiagram-RLTQ6QDP-brdu9lcm.js} +1 -1
  502. package/static/dist/assets/eventmodeling-NTZA5JFV-njk1j8wl.js +1 -0
  503. package/static/dist/assets/flowDiagram-HODETNUW-nma6f0ga.js +1 -0
  504. package/static/dist/assets/folder-plus-lvt9kudb.js +1 -0
  505. package/static/dist/assets/{ganttDiagram-EL5Y4UJY-nzqz6x9g.js → ganttDiagram-EL5Y4UJY-ma6jxj5i.js} +1 -1
  506. package/static/dist/assets/{gitGraph-4MIJSDKK-gukvcxe6.js → gitGraph-4MIJSDKK-naa9w6xa.js} +1 -1
  507. package/static/dist/assets/{gitGraphDiagram-WWUBYQGX-lqhdp8f0.js → gitGraphDiagram-WWUBYQGX-hzltvsod.js} +1 -1
  508. package/static/dist/assets/{highlighted-body-KPVGNVTW-igw6cp39.js → highlighted-body-KPVGNVTW-ghoavj8d.js} +1 -1
  509. package/static/dist/assets/host-hzm8n85n.js +1 -0
  510. package/static/dist/assets/index-drdcaqeq.css +2 -0
  511. package/static/dist/assets/index-jzm844he.js +11 -0
  512. package/static/dist/assets/{info-A6RAGUB7-gvu7a93l.js → info-A6RAGUB7-mn2ut5ko.js} +1 -1
  513. package/static/dist/assets/{infoDiagram-27XIBGKW-m8t8g6w1.js → infoDiagram-27XIBGKW-h6kuqvsb.js} +1 -1
  514. package/static/dist/assets/{ishikawaDiagram-5VMMS53U-l07vkbgj.js → ishikawaDiagram-5VMMS53U-e7bnwq7h.js} +1 -1
  515. package/static/dist/assets/{journeyDiagram-3NMN7TZE-hybkgj8l.js → journeyDiagram-3NMN7TZE-etd1bi6p.js} +1 -1
  516. package/static/dist/assets/{kanban-definition-UXKFOSKX-by13uvtn.js → kanban-definition-UXKFOSKX-emb1g9dz.js} +4 -4
  517. package/static/dist/assets/lazyRouteComponent-o816ytzl.js +1 -0
  518. package/static/dist/assets/{line-osxq6fq7.js → line-h0ojzsvs.js} +1 -1
  519. package/static/dist/assets/link-k01ryaf9.js +1 -0
  520. package/static/dist/assets/login-bsae49ew.js +1 -0
  521. package/static/dist/assets/mermaid-HWGCJPDP-ihl34s74.js +1 -0
  522. package/static/dist/assets/{mermaid-parser.core-i91oxmou.js → mermaid-parser.core-bnre27u8.js} +3 -3
  523. package/static/dist/assets/{mindmap-definition-YA3MSWOX-m82mx8ww.js → mindmap-definition-YA3MSWOX-o1vathns.js} +1 -1
  524. package/static/dist/assets/onboarding-c65tysya.js +1 -0
  525. package/static/dist/assets/onboarding_model_label-gpn28uix.js +1 -0
  526. package/static/dist/assets/{packet-AYTQ26CC-nbtgge2o.js → packet-AYTQ26CC-hatq7m2e.js} +1 -1
  527. package/static/dist/assets/pcmTap.worklet-74EKjWAZ.js +1 -0
  528. package/static/dist/assets/{pegDiagram-XKGWAZYB-f1zxzga1.js → pegDiagram-XKGWAZYB-gwisz8jv.js} +1 -1
  529. package/static/dist/assets/{pie-WAS4IAKB-of8vuhxs.js → pie-WAS4IAKB-fpftf0mk.js} +1 -1
  530. package/static/dist/assets/{pieDiagram-E7YTZNPT-o7y8ftio.js → pieDiagram-E7YTZNPT-khm1o9a6.js} +1 -1
  531. package/static/dist/assets/{quadrantDiagram-AXDQQJYC-iqiwia1t.js → quadrantDiagram-AXDQQJYC-owqc4uqn.js} +1 -1
  532. package/static/dist/assets/{radar-RG4KPBEZ-delnsy2v.js → radar-RG4KPBEZ-cntfwjpq.js} +1 -1
  533. package/static/dist/assets/{railroad-74A4TZTK-nspnyq9u.js → railroad-74A4TZTK-a7t5eibp.js} +1 -1
  534. package/static/dist/assets/railroad-abnf-HS5TGJTU-ol8cdktf.js +1 -0
  535. package/static/dist/assets/railroad-ebnf-LZEXJU2U-i8vzd429.js +1 -0
  536. package/static/dist/assets/railroad-peg-WCYAUIDC-nw3ulewz.js +1 -0
  537. package/static/dist/assets/{railroadDiagram-O6MQD6OU-z41tqx5z.js → railroadDiagram-O6MQD6OU-etuh0qa0.js} +1 -1
  538. package/static/dist/assets/{refresh-cw-nt1dtsx4.js → refresh-cw-mqbkv2a3.js} +1 -1
  539. package/static/dist/assets/refresh-l29ljp76.js +1 -0
  540. package/static/dist/assets/{requirementDiagram-BXWQKSXE-bdvif194.js → requirementDiagram-BXWQKSXE-oq2ulk22.js} +1 -1
  541. package/static/dist/assets/{sankeyDiagram-P5KCCOFB-h73e0rol.js → sankeyDiagram-P5KCCOFB-iqc02emv.js} +1 -1
  542. package/static/dist/assets/saved-ndd4t2xb.js +1 -0
  543. package/static/dist/assets/{sequenceDiagram-WJ2MYXX4-iv95mb1z.js → sequenceDiagram-WJ2MYXX4-i0v116q0.js} +2 -2
  544. package/static/dist/assets/settings_section_extensions_title-jhfo6o8z.js +1 -0
  545. package/static/dist/assets/share._token-c1ri0hy1.js +2 -0
  546. package/static/dist/assets/sliders-horizontal-j3jjt9tv.js +1 -0
  547. package/static/dist/assets/{stateDiagram-D77RDMKH-k417ixmf.js → stateDiagram-D77RDMKH-dnpt1ato.js} +1 -1
  548. package/static/dist/assets/stateDiagram-v2-MP3YSRHH-bxjacpk6.js +1 -0
  549. package/static/dist/assets/{swimlanes-42K2YHIH-esola70w.js → swimlanes-42K2YHIH-loqbdazb.js} +1 -1
  550. package/static/dist/assets/swimlanesDiagram-VR7AAH4N-id62p9hz.js +8 -0
  551. package/static/dist/assets/{timeline-definition-24CTP7MA-getrz2y8.js → timeline-definition-24CTP7MA-ol2hnvma.js} +1 -1
  552. package/static/dist/assets/toast-i3h34v6o.js +64 -0
  553. package/static/dist/assets/{treeView-Q6P3EWNA-hc7ap1q7.js → treeView-Q6P3EWNA-idrj6iox.js} +1 -1
  554. package/static/dist/assets/{treemap-WGGIJYW6-b7k1syy5.js → treemap-WGGIJYW6-lzr49vv5.js} +1 -1
  555. package/static/dist/assets/untitled-oaoya4qj.js +1 -0
  556. package/static/dist/assets/useForm-nfaxgmsk.js +1 -0
  557. package/static/dist/assets/{useParams-lhg566ew.js → useParams-gjc70qru.js} +1 -1
  558. package/static/dist/assets/{useSearch-lbrh6ejn.js → useSearch-e6ae539u.js} +1 -1
  559. package/static/dist/assets/{vennDiagram-4TSXK5OY-n6pcy5qb.js → vennDiagram-4TSXK5OY-bvwr9o2z.js} +1 -1
  560. package/static/dist/assets/{wardley-WFR3VGLG-lpa18vz1.js → wardley-WFR3VGLG-31ui8tma.js} +1 -1
  561. package/static/dist/assets/{wardleyDiagram-VM6X3IG4-kpclwwg7.js → wardleyDiagram-VM6X3IG4-k5wqtx4b.js} +1 -1
  562. package/static/dist/assets/{xychartDiagram-S5SC5T6Z-paa2n8y0.js → xychartDiagram-S5SC5T6Z-aqbgvujg.js} +1 -1
  563. package/static/dist/index.html +1 -1
  564. package/static/dist/sw.js +1 -1
  565. package/static/dist/assets/AppShell-fb2td9zi.js +0 -1
  566. package/static/dist/assets/ChatPage-cj96kiy9.js +0 -25
  567. package/static/dist/assets/Dialog-kxcg7ard.js +0 -1
  568. package/static/dist/assets/ExtensionRoute-jf7h0754.js +0 -1
  569. package/static/dist/assets/HubRoute-gmanpd5y.js +0 -2
  570. package/static/dist/assets/Markdown-mdwlvj3w.js +0 -598
  571. package/static/dist/assets/RightPanel-ftvrjlcp.js +0 -1
  572. package/static/dist/assets/Select-bilaypej.js +0 -1
  573. package/static/dist/assets/SessionListPanel-og8n36qs.js +0 -1
  574. package/static/dist/assets/SettingsLayout-jonjefmj.js +0 -1
  575. package/static/dist/assets/States-nmejrwrm.js +0 -1
  576. package/static/dist/assets/Toaster-nnl8zkt9.js +0 -1
  577. package/static/dist/assets/_app-gdidzd94.js +0 -1
  578. package/static/dist/assets/_app.index-hbarzbjx.js +0 -1
  579. package/static/dist/assets/_app.insights-luywlarz.js +0 -1
  580. package/static/dist/assets/_app.kanban-kincnbr8.js +0 -1
  581. package/static/dist/assets/_app.logs-oi2gr3gs.js +0 -1
  582. package/static/dist/assets/_app.memory-b6jfivt6.js +0 -1
  583. package/static/dist/assets/_app.profiles-lpvixmqp.js +0 -1
  584. package/static/dist/assets/_app.settings-vowx3iq0.js +0 -1
  585. package/static/dist/assets/_app.settings._section-cnntg1tu.js +0 -3
  586. package/static/dist/assets/_app.skills-fb57lpau.js +0 -1
  587. package/static/dist/assets/_app.tasks-eszpx1q7.js +0 -2
  588. package/static/dist/assets/_app.todos-nr05ac6w.js +0 -1
  589. package/static/dist/assets/_app.workspaces-d2luomu6.js +0 -1
  590. package/static/dist/assets/architecture-7GRP2DOG-hd0o7bde.js +0 -1
  591. package/static/dist/assets/back-bemaer09.js +0 -1
  592. package/static/dist/assets/cancel-drd0g6d9.js +0 -1
  593. package/static/dist/assets/channel-cpdgf867.js +0 -1
  594. package/static/dist/assets/classDiagram-ZZMXUADV-ko09sguk.js +0 -1
  595. package/static/dist/assets/classDiagram-v2-VYDZK3BY-ko09sguk.js +0 -1
  596. package/static/dist/assets/copied-ima3pysb.js +0 -1
  597. package/static/dist/assets/endpoints-d33siokx.js +0 -64
  598. package/static/dist/assets/eventmodeling-NTZA5JFV-emctlo64.js +0 -1
  599. package/static/dist/assets/flowDiagram-HODETNUW-bfi3moqa.js +0 -1
  600. package/static/dist/assets/index-cxq58xb1.js +0 -11
  601. package/static/dist/assets/index-hgtx08n5.css +0 -2
  602. package/static/dist/assets/lazyRouteComponent-af0lvgjx.js +0 -1
  603. package/static/dist/assets/link-jyxicdhg.js +0 -1
  604. package/static/dist/assets/login-ec21t39x.js +0 -1
  605. package/static/dist/assets/mermaid-HWGCJPDP-gfl8z3ep.js +0 -1
  606. package/static/dist/assets/onboarding-btnltvyz.js +0 -1
  607. package/static/dist/assets/onboarding_model_label-dp7xffoh.js +0 -1
  608. package/static/dist/assets/railroad-abnf-HS5TGJTU-nst1qxyn.js +0 -1
  609. package/static/dist/assets/railroad-ebnf-LZEXJU2U-ci37x8qy.js +0 -1
  610. package/static/dist/assets/railroad-peg-WCYAUIDC-aimkk07z.js +0 -1
  611. package/static/dist/assets/refresh-b4uams1i.js +0 -1
  612. package/static/dist/assets/saved-kg52csy7.js +0 -1
  613. package/static/dist/assets/settings_section_extensions_title-ej0iapxe.js +0 -1
  614. package/static/dist/assets/share._token-f97e94r0.js +0 -2
  615. package/static/dist/assets/sliders-horizontal-fj18it47.js +0 -1
  616. package/static/dist/assets/sse-fwpqtzbg.js +0 -1
  617. package/static/dist/assets/stateDiagram-v2-MP3YSRHH-hwn4apct.js +0 -1
  618. package/static/dist/assets/swimlanesDiagram-VR7AAH4N-d1h97oyg.js +0 -8
  619. package/static/dist/assets/todoStore-eginf9h4.js +0 -1
  620. package/static/dist/assets/tts-lxdxnmjd.js +0 -1
  621. package/static/dist/assets/untitled-ovpfthg4.js +0 -1
  622. package/static/dist/assets/useForm-bcblv1rx.js +0 -1
  623. package/static/dist/assets/useLocale-fi5jb8ma.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export declare function writeFullyAsync(handle: FileHandle, data: string | Uint8
9
9
  /** `atomicWriteText` on `node:fs/promises`, so a slow fsync never stalls the event loop. */
10
10
  export declare function atomicWriteTextAsync(path: string, text: string, opts?: {
11
11
  mode?: number;
12
+ commit?: (staged: string, target: string) => void | Promise<void>;
12
13
  }): Promise<void>;
13
14
  /** Atomic JSON write with a fixed 0600 mode. */
14
15
  export declare function atomicWriteSecretJson(path: string, value: unknown): void;
package/dist/fs/atomic.js CHANGED
@@ -102,7 +102,10 @@ export async function atomicWriteTextAsync(path, text, opts = {}) {
102
102
  await handle.close();
103
103
  if (mode !== undefined)
104
104
  await chmod(tmp, mode);
105
- await rename(tmp, writePath);
105
+ if (opts.commit)
106
+ await opts.commit(tmp, writePath);
107
+ else
108
+ await rename(tmp, writePath);
106
109
  }
107
110
  catch (error) {
108
111
  await handle.close().catch(() => undefined);
@@ -1 +1 @@
1
- {"version":3,"file":"atomic.js","sourceRoot":"","sources":["../../src/fs/atomic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"atomic.js","sourceRoot":"","sources":["../../src/fs/atomic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function statSignature(path: string): string | null;
@@ -0,0 +1,11 @@
1
+ import { statSync } from 'node:fs';
2
+ export function statSignature(path) {
3
+ try {
4
+ const st = statSync(path, { bigint: true });
5
+ return `${path}:${st.mtimeNs}:${st.size}:${st.ctimeNs}`;
6
+ }
7
+ catch {
8
+ return null;
9
+ }
10
+ }
11
+ //# sourceMappingURL=stat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stat.js","sourceRoot":"","sources":["../../src/fs/stat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QAC3C,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC"}
@@ -20,7 +20,8 @@ import type { WorkspaceRegistry } from '../workspace/workspaces.js';
20
20
  import type { GitRunner } from '../workspace/git.js';
21
21
  import type { RollbackStore } from '../workspace/rollback.js';
22
22
  import type { UploadInbox } from '../workspace/upload.js';
23
- import type { MediaAccessDeps, MediaPolicyDeps } from '../workspace/media.js';
23
+ import type { EscapeGrants } from '../workspace/escape.js';
24
+ import type { MediaAccessDeps } from '../workspace/media.js';
24
25
  import type { WorktreeLocks } from '../workspace/worktrees.js';
25
26
  import type { Session } from '../sessions/session.js';
26
27
  import type { SidecarLike } from '../sidecar/client.js';
@@ -32,7 +33,7 @@ import type { BackgroundActivity } from '../sessions/background-tasks.js';
32
33
  import type { StreamSlots } from '../api/sse-routes.js';
33
34
  import type { BootstrapFeatures, ReleaseInfo } from '@maudecode/talaria-web-contracts';
34
35
  import { type CspExtras } from './csp.js';
35
- import type { CsrfFailure } from './origin.js';
36
+ import { type CsrfFailure } from './origin.js';
36
37
  import type { AgentConfig } from '../config/agent-config.js';
37
38
  import type { ProviderCatalog } from '../providers/catalog.js';
38
39
  import type { ProfileService } from '../profiles/profiles.js';
@@ -42,6 +43,7 @@ import type { McpService } from '../tools/mcp.js';
42
43
  import type { WindowLimiter } from '../api/tools-router.js';
43
44
  import type { CronService } from '../tools/crons.js';
44
45
  import type { KanbanService } from '../tools/kanban.js';
46
+ import type { DashboardPlugins } from '../tools/dashboard-plugins.js';
45
47
  import type { ExtensionService } from '../tools/extensions.js';
46
48
  import type { TerminalRegistry } from '../tools/terminal.js';
47
49
  import type { OidcService } from '../auth/oidc.js';
@@ -53,7 +55,13 @@ import type { McpHealthProber } from '../tools/mcp-health.js';
53
55
  import type { GatewayWatcherRegistry } from '../sessions/gateway-watcher.js';
54
56
  import type { PasskeyStore } from '../auth/passkeys.js';
55
57
  import type { UpdateService } from '../tools/updates.js';
58
+ import type { GatewayRestartQueue } from '../tools/gateway-restart.js';
56
59
  import type { UpdateNotificationStore } from '../tools/update-notifications.js';
60
+ /**
61
+ * A request target fit for logs: `token` query values (escape grants, media tokens) are masked. Keys are compared
62
+ * decoded, as the query parser reads them, so `tok%65n=` cannot carry a token past the mask.
63
+ */
64
+ export declare function loggedUrl(url: string | undefined): string;
57
65
  export interface AppDeps {
58
66
  config: ServerConfig;
59
67
  settings: SettingsStore;
@@ -116,7 +124,8 @@ export interface AppDeps {
116
124
  git: GitRunner;
117
125
  rollback: RollbackStore;
118
126
  uploads: UploadInbox;
119
- mediaPolicy: MediaPolicyDeps;
127
+ /** Read-only grants for workspace symlinks that point outside the workspace (TAL-263). */
128
+ escapeGrants: EscapeGrants;
120
129
  /** The `/api/media` allow-list, shared with the transcript media projection (TAL-186). */
121
130
  mediaAccess: MediaAccessDeps;
122
131
  worktreeLocks: WorktreeLocks;
@@ -139,7 +148,7 @@ export interface AppDeps {
139
148
  /** Running Agent version from the sidecar handshake, else the pinned version. */
140
149
  agentVersion: () => string;
141
150
  /** Passkey credentials are dropped when password auth is cleared. */
142
- clearPasskeys: () => void;
151
+ clearPasskeys: () => void | Promise<void>;
143
152
  skills: SkillsService;
144
153
  mcp: McpService;
145
154
  nowSeconds: () => number;
@@ -151,9 +160,13 @@ export interface AppDeps {
151
160
  requestRestart: () => void;
152
161
  updates: UpdateService;
153
162
  updateNotifications: UpdateNotificationStore;
163
+ /** TAL-953: the post-update gateway restart that waits for the gateway to go idle. */
164
+ gatewayRestarts: GatewayRestartQueue;
154
165
  cspLimiter: WindowLimiter;
155
166
  clientEventLimiter: WindowLimiter;
156
167
  ttsLimiter: WindowLimiter;
168
+ /** Detached sidecar work for a profile (`null` = root): profile deletion is refused until the returned release runs. */
169
+ profileActivity: (profile: string | null) => () => void;
157
170
  fetch: typeof fetch;
158
171
  /** Vetted outbound (`http/pinned.ts`): DNS answers are checked and the connection is pinned to them. */
159
172
  dnsLookup: DnsLookup;
@@ -171,6 +184,7 @@ export interface AppDeps {
171
184
  crons: CronService;
172
185
  kanban: KanbanService;
173
186
  extensions: ExtensionService;
187
+ dashboardPlugins: DashboardPlugins;
174
188
  terminals: TerminalRegistry;
175
189
  }
176
190
  export interface VsCodeConfig {
@@ -234,11 +248,14 @@ export declare class RequestContext {
234
248
  /** Sliding renewal on a successful response (Python `refresh_session_for_response`). */
235
249
  private refreshSessionForResponse;
236
250
  authCookieHeader(cookieValue: string, ttl?: number): string;
237
- securityHeaders(): HeaderMap;
251
+ /** `frameable`: the same-origin app may frame this response (a sandboxed panel document). */
252
+ securityHeaders(opts?: {
253
+ frameable?: boolean;
254
+ }): HeaderMap;
238
255
  /** The report-only twin mirrors the default policy, so a response that pins its own CSP instead (a sandboxed,
239
256
  * frameable preview) skips it; its `frame-ancestors 'none'` would report every framing of the preview. */
240
257
  private reportOnlyPolicy;
241
- send(opts: SendOptions): void;
258
+ send(opts: SendOptions): Promise<void>;
242
259
  /** Stream a body with backpressure (large file spans); headers and cookies are applied like `send`, the stream owns its source. */
243
260
  sendStream(opts: {
244
261
  status?: number;
@@ -246,10 +263,10 @@ export declare class RequestContext {
246
263
  security?: boolean;
247
264
  }, body: NodeJS.ReadableStream & {
248
265
  destroy?: (error?: Error) => void;
249
- }): void;
266
+ }): Promise<void>;
250
267
  logRequest(status: number): void;
251
268
  /** Sliding renewal and queued-cookie flush for a response the oRPC adapter writes. */
252
- beforeOrpcResponse(status: number): void;
269
+ beforeOrpcResponse(status: number): Promise<void>;
253
270
  /** Called by the pipeline for responses written outside `send()` (oRPC). */
254
271
  markFinished(status: number): void;
255
272
  get isFinished(): boolean;
@@ -259,25 +276,27 @@ export declare class RequestContext {
259
276
  security?: boolean;
260
277
  etag?: string;
261
278
  pretty?: boolean;
262
- }): void;
279
+ }): Promise<void>;
263
280
  /** Bare `{"error":...}` responses the Python auth gate wrote without the security-header set. */
264
- rawJson(status: number, payload: unknown, headers?: HeaderMap): void;
281
+ rawJson(status: number, payload: unknown, headers?: HeaderMap): Promise<void>;
265
282
  text(body: string | Buffer, opts?: {
266
283
  status?: number;
267
284
  contentType?: string;
268
285
  headers?: HeaderMap;
269
- }): void;
286
+ }): Promise<void>;
270
287
  redirect(location: string, opts?: {
271
288
  status?: number;
272
289
  headers?: HeaderMap;
273
290
  security?: boolean;
274
- }): void;
291
+ }): Promise<void>;
275
292
  /** Read and JSON-parse the request body as an object (Python `read_body`, 20 MiB cap). */
276
293
  /** The request body as bytes, bounded by `maxBytes`. */
277
294
  readRawBody(maxBytes: number): Promise<Buffer>;
278
295
  readJsonBody(maxBytes?: number): Promise<Record<string, unknown>>;
279
296
  }
280
297
  export declare class BodyError extends Error {
298
+ readonly status: number;
299
+ constructor(message: string, status?: number);
281
300
  }
282
301
  /** RFC 7232 3.2 weak comparison; `W/` prefixes are ignored on both sides. */
283
302
  export declare function ifNoneMatchMatches(headerValue: string, etag: string): boolean;
@@ -2,6 +2,28 @@ import { gzipSync } from 'node:zlib';
2
2
  import { truthy } from '../config.js';
3
3
  import { parseCookieHeader } from '../auth/cookies.js';
4
4
  import { buildCspEnforcedPolicy, buildCspReportOnlyPolicy, cspExtras, CSP_REPORT_TO } from './csp.js';
5
+ import { forwardedClientIp, rawPeerIsTrustedProxy } from './origin.js';
6
+ /**
7
+ * A request target fit for logs: `token` query values (escape grants, media tokens) are masked. Keys are compared
8
+ * decoded, as the query parser reads them, so `tok%65n=` cannot carry a token past the mask.
9
+ */
10
+ export function loggedUrl(url) {
11
+ const target = url ?? '';
12
+ const q = target.indexOf('?');
13
+ if (q < 0)
14
+ return target;
15
+ const query = target.slice(q + 1).split('&').map((part) => {
16
+ const eq = part.indexOf('=');
17
+ const key = eq < 0 ? part : part.slice(0, eq);
18
+ let name = key;
19
+ try {
20
+ name = decodeURIComponent(key.replaceAll('+', ' '));
21
+ }
22
+ catch { /* malformed escapes stay raw */ }
23
+ return name.trim().toLowerCase() === 'token' ? `${key}=***` : part;
24
+ });
25
+ return `${target.slice(0, q + 1)}${query.join('&')}`;
26
+ }
5
27
  export const PROFILE_ID_RE = /^[a-z0-9][a-z0-9_-]{0,63}$/;
6
28
  export function validProfileName(name) {
7
29
  return name === 'default' || PROFILE_ID_RE.test(name);
@@ -100,13 +122,13 @@ export class RequestContext {
100
122
  this.pendingCookies.push(header);
101
123
  }
102
124
  /** Sliding renewal on a successful response (Python `refresh_session_for_response`). */
103
- refreshSessionForResponse(status) {
125
+ async refreshSessionForResponse(status) {
104
126
  const cookieValue = this.authRefreshCookie;
105
127
  this.authRefreshCookie = null;
106
128
  if (!cookieValue || status < 200 || status >= 400)
107
129
  return;
108
130
  const auth = this.deps.auth;
109
- if (!auth.resolveSessionSliding())
131
+ if (!(await auth.resolveSessionSliding()))
110
132
  return;
111
133
  const ttl = auth.resolveSessionTtl();
112
134
  if (auth.extendSession(cookieValue, ttl))
@@ -119,12 +141,13 @@ export class RequestContext {
119
141
  parts.push('Secure');
120
142
  return parts.join('; ');
121
143
  }
122
- securityHeaders() {
144
+ /** `frameable`: the same-origin app may frame this response (a sandboxed panel document). */
145
+ securityHeaders(opts = {}) {
123
146
  return {
124
147
  'X-Content-Type-Options': 'nosniff',
125
- 'X-Frame-Options': 'DENY',
148
+ 'X-Frame-Options': opts.frameable ? 'SAMEORIGIN' : 'DENY',
126
149
  'Referrer-Policy': 'same-origin',
127
- 'Content-Security-Policy': buildCspEnforcedPolicy(this.cspExtras),
150
+ 'Content-Security-Policy': buildCspEnforcedPolicy(this.cspExtras, opts.frameable ? "'self'" : "'none'"),
128
151
  'Permissions-Policy': 'camera=(), microphone=(self), geolocation=(), clipboard-write=(self)',
129
152
  };
130
153
  }
@@ -136,12 +159,12 @@ export class RequestContext {
136
159
  headers['Content-Security-Policy-Report-Only'] = buildCspReportOnlyPolicy(this.cspExtras);
137
160
  headers['Report-To'] = CSP_REPORT_TO;
138
161
  }
139
- send(opts) {
162
+ async send(opts) {
140
163
  if (this.finished)
141
164
  return;
142
165
  this.finished = true;
143
166
  const status = opts.status ?? 200;
144
- this.refreshSessionForResponse(status);
167
+ await this.refreshSessionForResponse(status);
145
168
  const headers = {};
146
169
  if (opts.security ?? true)
147
170
  Object.assign(headers, this.securityHeaders());
@@ -162,12 +185,16 @@ export class RequestContext {
162
185
  this.logRequest(status);
163
186
  }
164
187
  /** Stream a body with backpressure (large file spans); headers and cookies are applied like `send`, the stream owns its source. */
165
- sendStream(opts, body) {
188
+ async sendStream(opts, body) {
166
189
  if (this.finished)
167
190
  return;
168
191
  this.finished = true;
169
192
  const status = opts.status ?? 200;
170
- this.refreshSessionForResponse(status);
193
+ await this.refreshSessionForResponse(status);
194
+ if (this.res.destroyed) {
195
+ body.destroy?.();
196
+ return;
197
+ }
171
198
  const headers = {};
172
199
  if (opts.security ?? true)
173
200
  Object.assign(headers, this.securityHeaders());
@@ -194,18 +221,22 @@ export class RequestContext {
194
221
  ts: new Date().toISOString().replace(/\.\d{3}Z$/, 'Z'),
195
222
  remote: this.peer || '-',
196
223
  method: this.method,
197
- path: this.req.url ?? '-',
224
+ path: loggedUrl(this.req.url) || '-',
198
225
  status,
199
226
  ms: Math.round((Date.now() - this.startedAtMs) * 10) / 10,
200
227
  };
201
- const forwardedFor = (this.header('x-forwarded-for') ?? '').split(',')[0]?.trim();
202
- if (forwardedFor)
203
- record.forwarded_for = forwardedFor;
228
+ const env = this.deps.config.env;
229
+ if (truthy(env.HERMES_WEBUI_TRUST_FORWARDED_FOR) && rawPeerIsTrustedProxy(this.peer, env) &&
230
+ (this.header('x-forwarded-for') !== undefined || this.header('x-real-ip') !== undefined)) {
231
+ const forwardedFor = forwardedClientIp(this.headerAll('x-forwarded-for'), this.header('x-real-ip'), this.peer, env);
232
+ if (forwardedFor)
233
+ record.forwarded_for = forwardedFor.slice(0, 256);
234
+ }
204
235
  this.deps.log(`[webui] ${JSON.stringify(record)}`);
205
236
  }
206
237
  /** Sliding renewal and queued-cookie flush for a response the oRPC adapter writes. */
207
- beforeOrpcResponse(status) {
208
- this.refreshSessionForResponse(status);
238
+ async beforeOrpcResponse(status) {
239
+ await this.refreshSessionForResponse(status);
209
240
  }
210
241
  /** Called by the pipeline for responses written outside `send()` (oRPC). */
211
242
  markFinished(status) {
@@ -217,27 +248,27 @@ export class RequestContext {
217
248
  get isFinished() {
218
249
  return this.finished;
219
250
  }
220
- json(payload, opts = {}) {
251
+ async json(payload, opts = {}) {
221
252
  const status = opts.status ?? 200;
222
253
  if (opts.etag && status === 200 && ifNoneMatchMatches(this.header('if-none-match') ?? '', opts.etag)) {
223
- this.send({ status: 304, headers: { ETag: opts.etag, 'Cache-Control': 'no-store', ...opts.headers }, security: opts.security ?? true });
254
+ await this.send({ status: 304, headers: { ETag: opts.etag, 'Cache-Control': 'no-store', ...opts.headers }, security: opts.security ?? true });
224
255
  return;
225
256
  }
226
257
  const body = opts.pretty === false ? JSON.stringify(payload) : JSON.stringify(payload, null, 2);
227
258
  const headers = { 'Content-Type': 'application/json; charset=utf-8', 'Cache-Control': 'no-store', ...opts.headers };
228
259
  if (opts.etag)
229
260
  headers.ETag = opts.etag;
230
- this.send({ status, headers, body, gzip: true, security: opts.security ?? true });
261
+ await this.send({ status, headers, body, gzip: true, security: opts.security ?? true });
231
262
  }
232
263
  /** Bare `{"error":...}` responses the Python auth gate wrote without the security-header set. */
233
- rawJson(status, payload, headers = {}) {
234
- this.send({ status, headers: { 'Content-Type': 'application/json', ...headers }, body: JSON.stringify(payload), security: false });
264
+ async rawJson(status, payload, headers = {}) {
265
+ await this.send({ status, headers: { 'Content-Type': 'application/json', ...headers }, body: JSON.stringify(payload), security: false });
235
266
  }
236
- text(body, opts = {}) {
237
- this.send({ status: opts.status ?? 200, headers: { 'Content-Type': opts.contentType ?? 'text/plain; charset=utf-8', 'Cache-Control': 'no-store', ...opts.headers }, body });
267
+ async text(body, opts = {}) {
268
+ await this.send({ status: opts.status ?? 200, headers: { 'Content-Type': opts.contentType ?? 'text/plain; charset=utf-8', 'Cache-Control': 'no-store', ...opts.headers }, body });
238
269
  }
239
- redirect(location, opts = {}) {
240
- this.send({ status: opts.status ?? 302, headers: { Location: location, ...opts.headers }, security: opts.security ?? true });
270
+ async redirect(location, opts = {}) {
271
+ await this.send({ status: opts.status ?? 302, headers: { Location: location, ...opts.headers }, security: opts.security ?? true });
241
272
  }
242
273
  /** Read and JSON-parse the request body as an object (Python `read_body`, 20 MiB cap). */
243
274
  /** The request body as bytes, bounded by `maxBytes`. */
@@ -291,6 +322,11 @@ export class RequestContext {
291
322
  }
292
323
  }
293
324
  export class BodyError extends Error {
325
+ status;
326
+ constructor(message, status = 413) {
327
+ super(message);
328
+ this.status = status;
329
+ }
294
330
  }
295
331
  /** RFC 7232 3.2 weak comparison; `W/` prefixes are ignored on both sides. */
296
332
  export function ifNoneMatchMatches(headerValue, etag) {
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/http/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/http/context.ts"],"names":[],"mappings":"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"}
@@ -7,5 +7,6 @@ export interface CspExtras {
7
7
  frame: string;
8
8
  }
9
9
  export declare function cspExtras(env: Env, warn?: (line: string) => void): CspExtras;
10
- export declare function buildCspEnforcedPolicy(extras: CspExtras): string;
10
+ /** `frameAncestors: "'self'"` is only for a sandboxed document the app frames itself (an extension or plugin panel). */
11
+ export declare function buildCspEnforcedPolicy(extras: CspExtras, frameAncestors?: string): string;
11
12
  export declare function buildCspReportOnlyPolicy(extras: CspExtras): string;
package/dist/http/csp.js CHANGED
@@ -30,10 +30,11 @@ export function cspExtras(env, warn = () => undefined) {
30
30
  frame: extraSources(env.HERMES_WEBUI_CSP_FRAME_EXTRA, EXTRA_FRAME_RE, () => { warn('Ignoring invalid HERMES_WEBUI_CSP_FRAME_EXTRA value'); }),
31
31
  };
32
32
  }
33
- export function buildCspEnforcedPolicy(extras) {
33
+ /** `frameAncestors: "'self'"` is only for a sandboxed document the app frames itself (an extension or plugin panel). */
34
+ export function buildCspEnforcedPolicy(extras, frameAncestors = "'none'") {
34
35
  return ("default-src 'self' https://*.cloudflareaccess.com; " +
35
36
  "object-src 'none'; " +
36
- "frame-ancestors 'none'; " +
37
+ `frame-ancestors ${frameAncestors}; ` +
37
38
  "script-src 'self' https://static.cloudflareinsights.com; " +
38
39
  "worker-src 'self' blob:; " +
39
40
  "style-src 'self' 'unsafe-inline'; " +
@@ -1 +1 @@
1
- {"version":3,"file":"csp.js","sourceRoot":"","sources":["../../src/http/csp.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,gBAAgB,GAC3B,6IAA6I,CAAA;AAC/I,MAAM,cAAc,GAAG,QAAQ,CAAA;AAC/B,MAAM,gBAAgB,GAAG,mEAAmE,CAAA;AAC5F,MAAM,cAAc,GAAG,0DAA0D,CAAA;AACjF,MAAM,CAAC,MAAM,aAAa,GAAG,qFAAqF,CAAA;AAElH,SAAS,WAAW,CAAC,EAAU,EAAE,MAAc;IAC7C,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACzB,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAA;IACpB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACjB,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,IAAI,CAAA;IACtC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IACtB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAA;AAC7B,CAAC;AAED,SAAS,YAAY,CAAC,GAAuB,EAAE,EAAU,EAAE,IAAgB;IACzE,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IAChC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAA;IACrB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAClC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,IAAI,EAAE,CAAA;QACN,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAChC,CAAC;AAID,MAAM,UAAU,SAAS,CAAC,GAAQ,EAAE,OAA+B,GAAG,EAAE,CAAC,SAAS;IAChF,OAAO;QACL,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,8BAA8B,EAAE,gBAAgB,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,uDAAuD,CAAC,CAAA,CAAC,CAAC,CAAC;QACpJ,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,4BAA4B,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,qDAAqD,CAAC,CAAA,CAAC,CAAC,CAAC;KAC7I,CAAA;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAAiB;IACtD,OAAO,CACL,qDAAqD;QACrD,qBAAqB;QACrB,0BAA0B;QAC1B,2DAA2D;QAC3D,2BAA2B;QAC3B,oCAAoC;QACpC,qCAAqC;QACrC,yBAAyB;QACzB,gCAAgC;QAChC,eAAe,gBAAgB,GAAG,MAAM,CAAC,OAAO,IAAI;QACpD,aAAa,cAAc,GAAG,MAAM,CAAC,KAAK,IAAI;QAC9C,sDAAsD;QACtD,qCAAqC,CACtC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAiB;IACxD,OAAO,sBAAsB,CAAC,MAAM,CAAC,GAAG,sDAAsD,CAAA;AAChG,CAAC"}
1
+ {"version":3,"file":"csp.js","sourceRoot":"","sources":["../../src/http/csp.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,gBAAgB,GAC3B,6IAA6I,CAAA;AAC/I,MAAM,cAAc,GAAG,QAAQ,CAAA;AAC/B,MAAM,gBAAgB,GAAG,mEAAmE,CAAA;AAC5F,MAAM,cAAc,GAAG,0DAA0D,CAAA;AACjF,MAAM,CAAC,MAAM,aAAa,GAAG,qFAAqF,CAAA;AAElH,SAAS,WAAW,CAAC,EAAU,EAAE,MAAc;IAC7C,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACzB,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAA;IACpB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACjB,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,IAAI,CAAA;IACtC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IACtB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAA;AAC7B,CAAC;AAED,SAAS,YAAY,CAAC,GAAuB,EAAE,EAAU,EAAE,IAAgB;IACzE,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IAChC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAA;IACrB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAClC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,IAAI,EAAE,CAAA;QACN,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAChC,CAAC;AAID,MAAM,UAAU,SAAS,CAAC,GAAQ,EAAE,OAA+B,GAAG,EAAE,CAAC,SAAS;IAChF,OAAO;QACL,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,8BAA8B,EAAE,gBAAgB,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,uDAAuD,CAAC,CAAA,CAAC,CAAC,CAAC;QACpJ,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,4BAA4B,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,qDAAqD,CAAC,CAAA,CAAC,CAAC,CAAC;KAC7I,CAAA;AACH,CAAC;AAED,wHAAwH;AACxH,MAAM,UAAU,sBAAsB,CAAC,MAAiB,EAAE,cAAc,GAAG,QAAQ;IACjF,OAAO,CACL,qDAAqD;QACrD,qBAAqB;QACrB,mBAAmB,cAAc,IAAI;QACrC,2DAA2D;QAC3D,2BAA2B;QAC3B,oCAAoC;QACpC,qCAAqC;QACrC,yBAAyB;QACzB,gCAAgC;QAChC,eAAe,gBAAgB,GAAG,MAAM,CAAC,OAAO,IAAI;QACpD,aAAa,cAAc,GAAG,MAAM,CAAC,KAAK,IAAI;QAC9C,sDAAsD;QACtD,qCAAqC,CACtC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAiB;IACxD,OAAO,sBAAsB,CAAC,MAAM,CAAC,GAAG,sDAAsD,CAAA;AAChG,CAAC"}
@@ -21,13 +21,13 @@ export interface OnboardingDeps {
21
21
  errors: Record<string, string>;
22
22
  };
23
23
  isAuthEnabled: () => Promise<boolean>;
24
- workspaces: () => {
24
+ workspaces: () => Promise<{
25
25
  items: {
26
26
  path: string;
27
27
  name: string;
28
28
  }[];
29
29
  last: string | null;
30
- };
30
+ }>;
31
31
  models: (profileHome: string) => Promise<ModelsCatalog>;
32
32
  defaultWorkspace: () => string;
33
33
  defaultModel: () => string;
@@ -5,7 +5,7 @@ import { existsSync } from 'node:fs';
5
5
  import { join } from 'node:path';
6
6
  import { readFileSync } from 'node:fs';
7
7
  import { canonicaliseProviderId, dict, isDict, modelSection, parseProviderQualifiedModel } from './config/agent-config.js';
8
- import { loadEnvFile, writeEnvFile } from './providers/env-file.js';
8
+ import { EnvWriteError, loadEnvFile } from './providers/env-file.js';
9
9
  import { PROVIDER_CATEGORIES, PROVIDER_DISPLAY, SUPPORTED_PROVIDER_SETUPS, UNSUPPORTED_PROVIDER_NOTE } from './providers/tables.js';
10
10
  import { displayBotName } from './settings.js';
11
11
  import { str } from './util.js';
@@ -183,7 +183,7 @@ export class Onboarding {
183
183
  }
184
184
  async status() {
185
185
  const home = this.deps.profileHome();
186
- const settings = this.deps.settings.load();
186
+ const settings = (await this.deps.settings.load());
187
187
  let cfg = {};
188
188
  try {
189
189
  cfg = await this.deps.config.read(home);
@@ -217,25 +217,25 @@ export class Onboarding {
217
217
  settings: { default_model: str(settings.default_model) || this.deps.defaultModel(), default_workspace: str(settings.default_workspace) || this.deps.defaultWorkspace(), password_enabled: await this.deps.isAuthEnabled(), bot_name: displayBotName(settings.bot_name) },
218
218
  system: { hermes_found: agent.found, imports_ok: agent.importsOk, missing_modules: agent.missing, import_errors: agent.errors, config_path: configPath, config_exists: configExists, ...runtime },
219
219
  setup: this.setupCatalog(cfg, home),
220
- workspaces: this.deps.workspaces(),
220
+ workspaces: (await this.deps.workspaces()),
221
221
  models,
222
222
  };
223
223
  }
224
224
  async complete() {
225
225
  await this.deps.settings.save({ onboarding_completed: true });
226
- return this.status();
226
+ return (await this.status());
227
227
  }
228
228
  /** Python `apply_onboarding_setup`. */
229
229
  async setup(body) {
230
230
  if (this.skipRequested())
231
- return this.complete();
231
+ return (await this.complete());
232
232
  const provider = str(body.provider).trim().toLowerCase();
233
233
  const model = str(body.model).trim();
234
234
  const apiKey = str(body.api_key).trim();
235
235
  const baseUrl = normalizeBaseUrl(body.base_url);
236
236
  const meta = SUPPORTED_PROVIDER_SETUPS[provider];
237
237
  if (!meta)
238
- return this.complete();
238
+ return (await this.complete());
239
239
  if (!model)
240
240
  throw new OnboardingError('model is required');
241
241
  if (meta.requires_base_url) {
@@ -274,17 +274,19 @@ export class Onboarding {
274
274
  // A sign-in provider has no API key: its credential is the Agent's own auth-store entry.
275
275
  if (apiKey && meta.env_var)
276
276
  await this.writeCredential(home, meta.env_var, apiKey);
277
- return this.status();
277
+ return (await this.status());
278
278
  }
279
279
  /** A root-profile key written by setup reaches the running process and sidecar like a settings-panel edit does. */
280
280
  async writeCredential(home, envVar, apiKey) {
281
281
  const rootProfile = this.deps.isRootProfileHome(home);
282
282
  try {
283
- await writeRuntimeCredential({ env: this.deps.env, sidecar: this.deps.sidecar, log: this.deps.log }, rootProfile, envVar, apiKey, () => { writeEnvFile(join(home, '.env'), { [envVar]: apiKey }); });
283
+ await writeRuntimeCredential({ env: this.deps.env, sidecar: this.deps.sidecar, log: this.deps.log }, rootProfile, home, envVar, apiKey);
284
284
  }
285
285
  catch (error) {
286
286
  if (error instanceof RuntimeCredentialError)
287
287
  throw new OnboardingError(error.message, 503);
288
+ if (error instanceof EnvWriteError)
289
+ throw new OnboardingError(`Failed to save API key: ${error.message}`, error.status);
288
290
  throw error;
289
291
  }
290
292
  }