@maudecode/talaria-web 1.18.0 → 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 (567) hide show
  1. package/_release.json +8 -8
  2. package/dist/api/auth-raw.js +16 -16
  3. package/dist/api/auth-raw.js.map +1 -1
  4. package/dist/api/automation-raw.d.ts +2 -2
  5. package/dist/api/automation-raw.js +32 -32
  6. package/dist/api/automation-raw.js.map +1 -1
  7. package/dist/api/automation-router.d.ts +102 -22
  8. package/dist/api/automation-router.js +15 -13
  9. package/dist/api/automation-router.js.map +1 -1
  10. package/dist/api/chat-router.d.ts +1205 -34
  11. package/dist/api/chat-router.js +158 -78
  12. package/dist/api/chat-router.js.map +1 -1
  13. package/dist/api/git-router.d.ts +2 -2
  14. package/dist/api/git-router.js +29 -29
  15. package/dist/api/git-router.js.map +1 -1
  16. package/dist/api/raw-routes.d.ts +3 -3
  17. package/dist/api/raw-routes.js +63 -61
  18. package/dist/api/raw-routes.js.map +1 -1
  19. package/dist/api/router.d.ts +6 -6
  20. package/dist/api/router.js +22 -22
  21. package/dist/api/router.js.map +1 -1
  22. package/dist/api/session-visibility.d.ts +4 -4
  23. package/dist/api/session-visibility.js +26 -16
  24. package/dist/api/session-visibility.js.map +1 -1
  25. package/dist/api/sessions-router.d.ts +1928 -124
  26. package/dist/api/sessions-router.js +177 -173
  27. package/dist/api/sessions-router.js.map +1 -1
  28. package/dist/api/settings-router.d.ts +427 -9
  29. package/dist/api/settings-router.js +48 -32
  30. package/dist/api/settings-router.js.map +1 -1
  31. package/dist/api/sse-routes.d.ts +2 -2
  32. package/dist/api/sse-routes.js +63 -63
  33. package/dist/api/sse-routes.js.map +1 -1
  34. package/dist/api/tools-raw.d.ts +5 -0
  35. package/dist/api/tools-raw.js +58 -33
  36. package/dist/api/tools-raw.js.map +1 -1
  37. package/dist/api/tools-router.d.ts +663 -91
  38. package/dist/api/tools-router.js +309 -52
  39. package/dist/api/tools-router.js.map +1 -1
  40. package/dist/api/transcribe-stream.d.ts +16 -0
  41. package/dist/api/transcribe-stream.js +172 -0
  42. package/dist/api/transcribe-stream.js.map +1 -0
  43. package/dist/app.d.ts +4 -1
  44. package/dist/app.js +66 -47
  45. package/dist/app.js.map +1 -1
  46. package/dist/auth/gate.js +10 -9
  47. package/dist/auth/gate.js.map +1 -1
  48. package/dist/auth/passkeys.d.ts +15 -14
  49. package/dist/auth/passkeys.js +89 -91
  50. package/dist/auth/passkeys.js.map +1 -1
  51. package/dist/auth/store.d.ts +17 -7
  52. package/dist/auth/store.js +93 -52
  53. package/dist/auth/store.js.map +1 -1
  54. package/dist/bin/talaria-web.js +12 -81
  55. package/dist/bin/talaria-web.js.map +1 -1
  56. package/dist/cli/ctl.js +2 -1
  57. package/dist/cli/ctl.js.map +1 -1
  58. package/dist/cli/dotenv.d.ts +5 -0
  59. package/dist/cli/dotenv.js +14 -2
  60. package/dist/cli/dotenv.js.map +1 -1
  61. package/dist/cli/launcher.js +5 -5
  62. package/dist/cli/launcher.js.map +1 -1
  63. package/dist/cli/main.d.ts +1 -0
  64. package/dist/cli/main.js +85 -0
  65. package/dist/cli/main.js.map +1 -0
  66. package/dist/cli/supervise.d.ts +2 -0
  67. package/dist/cli/supervise.js +67 -4
  68. package/dist/cli/supervise.js.map +1 -1
  69. package/dist/config/agent-config.d.ts +34 -11
  70. package/dist/config/agent-config.js +113 -58
  71. package/dist/config/agent-config.js.map +1 -1
  72. package/dist/config.d.ts +2 -0
  73. package/dist/config.js +14 -5
  74. package/dist/config.js.map +1 -1
  75. package/dist/fs/atomic.d.ts +1 -0
  76. package/dist/fs/atomic.js +4 -1
  77. package/dist/fs/atomic.js.map +1 -1
  78. package/dist/fs/stat.d.ts +1 -0
  79. package/dist/fs/stat.js +11 -0
  80. package/dist/fs/stat.js.map +1 -0
  81. package/dist/http/context.d.ts +14 -9
  82. package/dist/http/context.js +29 -20
  83. package/dist/http/context.js.map +1 -1
  84. package/dist/onboarding.d.ts +2 -2
  85. package/dist/onboarding.js +10 -8
  86. package/dist/onboarding.js.map +1 -1
  87. package/dist/profiles/profiles.d.ts +10 -4
  88. package/dist/profiles/profiles.js +77 -30
  89. package/dist/profiles/profiles.js.map +1 -1
  90. package/dist/projects.d.ts +15 -6
  91. package/dist/projects.js +55 -47
  92. package/dist/projects.js.map +1 -1
  93. package/dist/providers/catalog.d.ts +78 -12
  94. package/dist/providers/catalog.js +445 -141
  95. package/dist/providers/catalog.js.map +1 -1
  96. package/dist/providers/env-file.d.ts +10 -3
  97. package/dist/providers/env-file.js +24 -75
  98. package/dist/providers/env-file.js.map +1 -1
  99. package/dist/providers/runtime-env.d.ts +4 -2
  100. package/dist/providers/runtime-env.js +9 -6
  101. package/dist/providers/runtime-env.js.map +1 -1
  102. package/dist/providers/tables.d.ts +3 -1
  103. package/dist/providers/tables.js +4 -2
  104. package/dist/providers/tables.js.map +1 -1
  105. package/dist/redact.js +18 -9
  106. package/dist/redact.js.map +1 -1
  107. package/dist/release.d.ts +7 -0
  108. package/dist/release.js +14 -0
  109. package/dist/release.js.map +1 -1
  110. package/dist/runtime.d.ts +5 -1
  111. package/dist/runtime.js +233 -90
  112. package/dist/runtime.js.map +1 -1
  113. package/dist/server.js +10 -0
  114. package/dist/server.js.map +1 -1
  115. package/dist/sessions/anchor.d.ts +9 -3
  116. package/dist/sessions/anchor.js +28 -36
  117. package/dist/sessions/anchor.js.map +1 -1
  118. package/dist/sessions/background-events.d.ts +2 -0
  119. package/dist/sessions/background-events.js +10 -0
  120. package/dist/sessions/background-events.js.map +1 -0
  121. package/dist/sessions/background-tasks.d.ts +26 -20
  122. package/dist/sessions/background-tasks.js +88 -86
  123. package/dist/sessions/background-tasks.js.map +1 -1
  124. package/dist/sessions/background-updates.d.ts +15 -8
  125. package/dist/sessions/background-updates.js +101 -25
  126. package/dist/sessions/background-updates.js.map +1 -1
  127. package/dist/sessions/cli-sessions.d.ts +15 -5
  128. package/dist/sessions/cli-sessions.js +62 -43
  129. package/dist/sessions/cli-sessions.js.map +1 -1
  130. package/dist/sessions/completions.d.ts +30 -2
  131. package/dist/sessions/completions.js +294 -53
  132. package/dist/sessions/completions.js.map +1 -1
  133. package/dist/sessions/compress.d.ts +8 -0
  134. package/dist/sessions/compress.js +2 -2
  135. package/dist/sessions/compress.js.map +1 -1
  136. package/dist/sessions/drafts.d.ts +14 -10
  137. package/dist/sessions/drafts.js +38 -43
  138. package/dist/sessions/drafts.js.map +1 -1
  139. package/dist/sessions/gateway-sessions.d.ts +46 -0
  140. package/dist/sessions/gateway-sessions.js +378 -0
  141. package/dist/sessions/gateway-sessions.js.map +1 -0
  142. package/dist/sessions/goals.d.ts +31 -0
  143. package/dist/sessions/goals.js +75 -0
  144. package/dist/sessions/goals.js.map +1 -0
  145. package/dist/sessions/journal.d.ts +5 -79
  146. package/dist/sessions/journal.js +15 -606
  147. package/dist/sessions/journal.js.map +1 -1
  148. package/dist/sessions/list.d.ts +27 -18
  149. package/dist/sessions/list.js +133 -131
  150. package/dist/sessions/list.js.map +1 -1
  151. package/dist/sessions/merge.d.ts +68 -10
  152. package/dist/sessions/merge.js +259 -51
  153. package/dist/sessions/merge.js.map +1 -1
  154. package/dist/sessions/notices.d.ts +22 -0
  155. package/dist/sessions/notices.js +72 -0
  156. package/dist/sessions/notices.js.map +1 -0
  157. package/dist/sessions/pending.d.ts +10 -4
  158. package/dist/sessions/pending.js +83 -7
  159. package/dist/sessions/pending.js.map +1 -1
  160. package/dist/sessions/prefix-index.d.ts +82 -0
  161. package/dist/sessions/prefix-index.js +232 -0
  162. package/dist/sessions/prefix-index.js.map +1 -0
  163. package/dist/sessions/recovery.d.ts +4 -7
  164. package/dist/sessions/recovery.js +97 -281
  165. package/dist/sessions/recovery.js.map +1 -1
  166. package/dist/sessions/relay.d.ts +20 -20
  167. package/dist/sessions/relay.js +205 -127
  168. package/dist/sessions/relay.js.map +1 -1
  169. package/dist/sessions/service.d.ts +162 -59
  170. package/dist/sessions/service.js +1133 -521
  171. package/dist/sessions/service.js.map +1 -1
  172. package/dist/sessions/session.d.ts +18 -2
  173. package/dist/sessions/session.js +29 -5
  174. package/dist/sessions/session.js.map +1 -1
  175. package/dist/sessions/shares.d.ts +7 -6
  176. package/dist/sessions/shares.js +22 -45
  177. package/dist/sessions/shares.js.map +1 -1
  178. package/dist/sessions/source-kind.js +1 -0
  179. package/dist/sessions/source-kind.js.map +1 -1
  180. package/dist/sessions/state-db-identity.d.ts +18 -0
  181. package/dist/sessions/state-db-identity.js +67 -0
  182. package/dist/sessions/state-db-identity.js.map +1 -0
  183. package/dist/sessions/state-db-worker.js +3 -1
  184. package/dist/sessions/state-db-worker.js.map +1 -1
  185. package/dist/sessions/state-db.d.ts +53 -8
  186. package/dist/sessions/state-db.js +576 -50
  187. package/dist/sessions/state-db.js.map +1 -1
  188. package/dist/sessions/storage/backend.d.ts +162 -0
  189. package/dist/sessions/storage/backend.js +19 -0
  190. package/dist/sessions/storage/backend.js.map +1 -0
  191. package/dist/sessions/storage/conformance.d.ts +20 -0
  192. package/dist/sessions/storage/conformance.js +237 -0
  193. package/dist/sessions/storage/conformance.js.map +1 -0
  194. package/dist/sessions/storage/document.d.ts +16 -0
  195. package/dist/sessions/storage/document.js +44 -0
  196. package/dist/sessions/storage/document.js.map +1 -0
  197. package/dist/sessions/storage/json-documents.d.ts +23 -0
  198. package/dist/sessions/storage/json-documents.js +233 -0
  199. package/dist/sessions/storage/json-documents.js.map +1 -0
  200. package/dist/sessions/storage/json-files.d.ts +12 -0
  201. package/dist/sessions/storage/json-files.js +124 -0
  202. package/dist/sessions/storage/json-files.js.map +1 -0
  203. package/dist/sessions/storage/json-installation.d.ts +3 -0
  204. package/dist/sessions/storage/json-installation.js +31 -0
  205. package/dist/sessions/storage/json-installation.js.map +1 -0
  206. package/dist/sessions/storage/json-journal.d.ts +114 -0
  207. package/dist/sessions/storage/json-journal.js +686 -0
  208. package/dist/sessions/storage/json-journal.js.map +1 -0
  209. package/dist/sessions/storage/json-recovery.d.ts +4 -0
  210. package/dist/sessions/storage/json-recovery.js +195 -0
  211. package/dist/sessions/storage/json-recovery.js.map +1 -0
  212. package/dist/sessions/storage/json.d.ts +68 -0
  213. package/dist/sessions/storage/json.js +258 -0
  214. package/dist/sessions/storage/json.js.map +1 -0
  215. package/dist/sessions/storage/row.d.ts +6 -0
  216. package/dist/sessions/storage/row.js +49 -0
  217. package/dist/sessions/storage/row.js.map +1 -0
  218. package/dist/sessions/storage/search-text.d.ts +4 -0
  219. package/dist/sessions/storage/search-text.js +16 -0
  220. package/dist/sessions/storage/search-text.js.map +1 -0
  221. package/dist/sessions/store.d.ts +63 -73
  222. package/dist/sessions/store.js +305 -611
  223. package/dist/sessions/store.js.map +1 -1
  224. package/dist/sessions/streams.d.ts +4 -0
  225. package/dist/sessions/streams.js +9 -1
  226. package/dist/sessions/streams.js.map +1 -1
  227. package/dist/sessions/titles.js +1 -1
  228. package/dist/sessions/titles.js.map +1 -1
  229. package/dist/sessions/todo.d.ts +5 -0
  230. package/dist/sessions/todo.js +28 -21
  231. package/dist/sessions/todo.js.map +1 -1
  232. package/dist/sessions/tool-display.d.ts +5 -4
  233. package/dist/sessions/tool-display.js +22 -16
  234. package/dist/sessions/tool-display.js.map +1 -1
  235. package/dist/sessions/turn-context.d.ts +10 -1
  236. package/dist/sessions/turn-context.js +7 -4
  237. package/dist/sessions/turn-context.js.map +1 -1
  238. package/dist/sessions/turn.d.ts +87 -17
  239. package/dist/sessions/turn.js +795 -347
  240. package/dist/sessions/turn.js.map +1 -1
  241. package/dist/sessions/wakeup-pause.d.ts +8 -13
  242. package/dist/sessions/wakeup-pause.js +31 -49
  243. package/dist/sessions/wakeup-pause.js.map +1 -1
  244. package/dist/sessions/window.js +13 -12
  245. package/dist/sessions/window.js.map +1 -1
  246. package/dist/settings.d.ts +19 -7
  247. package/dist/settings.js +179 -183
  248. package/dist/settings.js.map +1 -1
  249. package/dist/sidecar/client.d.ts +17 -3
  250. package/dist/sidecar/client.js +78 -8
  251. package/dist/sidecar/client.js.map +1 -1
  252. package/dist/sidecar/discover.d.ts +2 -1
  253. package/dist/sidecar/discover.js +93 -10
  254. package/dist/sidecar/discover.js.map +1 -1
  255. package/dist/sidecar/env.d.ts +4 -0
  256. package/dist/sidecar/env.js +3 -0
  257. package/dist/sidecar/env.js.map +1 -0
  258. package/dist/sidecar/fake.js +19 -2
  259. package/dist/sidecar/fake.js.map +1 -1
  260. package/dist/test/env-file.d.ts +5 -0
  261. package/dist/test/env-file.js +88 -0
  262. package/dist/test/env-file.js.map +1 -0
  263. package/dist/test/harness.d.ts +1 -0
  264. package/dist/test/harness.js +1 -1
  265. package/dist/test/harness.js.map +1 -1
  266. package/dist/test/passkeys.d.ts +22 -0
  267. package/dist/test/passkeys.js +62 -0
  268. package/dist/test/passkeys.js.map +1 -0
  269. package/dist/test/storage.d.ts +15 -0
  270. package/dist/test/storage.js +26 -0
  271. package/dist/test/storage.js.map +1 -0
  272. package/dist/tools/commands.d.ts +6 -1
  273. package/dist/tools/commands.js +8 -2
  274. package/dist/tools/commands.js.map +1 -1
  275. package/dist/tools/connectors.d.ts +33 -0
  276. package/dist/tools/connectors.js +121 -0
  277. package/dist/tools/connectors.js.map +1 -0
  278. package/dist/tools/crons.d.ts +38 -1
  279. package/dist/tools/crons.js +82 -15
  280. package/dist/tools/crons.js.map +1 -1
  281. package/dist/tools/dashboard-plugins.d.ts +5 -5
  282. package/dist/tools/dashboard-plugins.js +14 -14
  283. package/dist/tools/dashboard-plugins.js.map +1 -1
  284. package/dist/tools/extensions.d.ts +5 -4
  285. package/dist/tools/extensions.js +213 -207
  286. package/dist/tools/extensions.js.map +1 -1
  287. package/dist/tools/gateway-restart.d.ts +62 -0
  288. package/dist/tools/gateway-restart.js +142 -0
  289. package/dist/tools/gateway-restart.js.map +1 -0
  290. package/dist/tools/health.d.ts +15 -3
  291. package/dist/tools/health.js +97 -34
  292. package/dist/tools/health.js.map +1 -1
  293. package/dist/tools/hygiene.d.ts +4 -3
  294. package/dist/tools/hygiene.js +23 -9
  295. package/dist/tools/hygiene.js.map +1 -1
  296. package/dist/tools/kanban.d.ts +4 -2
  297. package/dist/tools/kanban.js +28 -19
  298. package/dist/tools/kanban.js.map +1 -1
  299. package/dist/tools/memory-masks.d.ts +5 -0
  300. package/dist/tools/memory-masks.js +256 -0
  301. package/dist/tools/memory-masks.js.map +1 -0
  302. package/dist/tools/memory.d.ts +29 -3
  303. package/dist/tools/memory.js +69 -27
  304. package/dist/tools/memory.js.map +1 -1
  305. package/dist/tools/plugin-settings.d.ts +15 -0
  306. package/dist/tools/plugin-settings.js +90 -0
  307. package/dist/tools/plugin-settings.js.map +1 -0
  308. package/dist/tools/skills.d.ts +9 -4
  309. package/dist/tools/skills.js +44 -13
  310. package/dist/tools/skills.js.map +1 -1
  311. package/dist/tools/update-notifications.d.ts +34 -15
  312. package/dist/tools/update-notifications.js +141 -57
  313. package/dist/tools/update-notifications.js.map +1 -1
  314. package/dist/tools/update-rollback.d.ts +11 -0
  315. package/dist/tools/update-rollback.js +28 -0
  316. package/dist/tools/update-rollback.js.map +1 -0
  317. package/dist/tools/updates.d.ts +93 -33
  318. package/dist/tools/updates.js +1051 -345
  319. package/dist/tools/updates.js.map +1 -1
  320. package/dist/util.d.ts +2 -0
  321. package/dist/util.js +5 -0
  322. package/dist/util.js.map +1 -1
  323. package/dist/workspace/git.d.ts +16 -1
  324. package/dist/workspace/git.js +291 -11
  325. package/dist/workspace/git.js.map +1 -1
  326. package/dist/workspace/media.d.ts +12 -9
  327. package/dist/workspace/media.js +31 -20
  328. package/dist/workspace/media.js.map +1 -1
  329. package/dist/workspace/rollback.d.ts +2 -2
  330. package/dist/workspace/rollback.js +5 -5
  331. package/dist/workspace/rollback.js.map +1 -1
  332. package/dist/workspace/workspaces.d.ts +15 -19
  333. package/dist/workspace/workspaces.js +55 -127
  334. package/dist/workspace/workspaces.js.map +1 -1
  335. package/dist/workspace/worktrees.js +170 -32
  336. package/dist/workspace/worktrees.js.map +1 -1
  337. package/package.json +5 -3
  338. package/sidecar/agent_dependency.json +4 -4
  339. package/sidecar/agent_support.json +26 -0
  340. package/sidecar/scripts/record-fixtures.py +12 -3
  341. package/sidecar/scripts/replay_sidecar.py +8 -0
  342. package/sidecar/scripts/suite_runner.py +302 -0
  343. package/sidecar/scripts/test.sh +12 -4
  344. package/sidecar/talaria_sidecar/__init__.py +6 -1
  345. package/sidecar/talaria_sidecar/__main__.py +4 -2
  346. package/sidecar/talaria_sidecar/agent_mutation.py +975 -0
  347. package/sidecar/talaria_sidecar/agent_services.py +1053 -0
  348. package/sidecar/talaria_sidecar/dependency_sync.py +85 -0
  349. package/sidecar/talaria_sidecar/home.py +43 -1
  350. package/sidecar/talaria_sidecar/methods/__init__.py +2 -2
  351. package/sidecar/talaria_sidecar/methods/aux.py +139 -31
  352. package/sidecar/talaria_sidecar/methods/chat.py +847 -134
  353. package/sidecar/talaria_sidecar/methods/commands.py +213 -4
  354. package/sidecar/talaria_sidecar/methods/config.py +123 -4
  355. package/sidecar/talaria_sidecar/methods/connectors.py +343 -0
  356. package/sidecar/talaria_sidecar/methods/cron.py +366 -34
  357. package/sidecar/talaria_sidecar/methods/cron_execution.py +284 -0
  358. package/sidecar/talaria_sidecar/methods/gateway.py +194 -54
  359. package/sidecar/talaria_sidecar/methods/gateway_sessions.py +234 -0
  360. package/sidecar/talaria_sidecar/methods/goals.py +81 -41
  361. package/sidecar/talaria_sidecar/methods/kanban.py +80 -27
  362. package/sidecar/talaria_sidecar/methods/memory.py +84 -0
  363. package/sidecar/talaria_sidecar/methods/oauth.py +5 -2
  364. package/sidecar/talaria_sidecar/methods/process.py +160 -11
  365. package/sidecar/talaria_sidecar/methods/profiles.py +44 -6
  366. package/sidecar/talaria_sidecar/methods/providers.py +196 -26
  367. package/sidecar/talaria_sidecar/methods/runtime.py +69 -1
  368. package/sidecar/talaria_sidecar/methods/skills.py +67 -4
  369. package/sidecar/talaria_sidecar/methods/state_db.py +277 -70
  370. package/sidecar/talaria_sidecar/methods/stt.py +159 -78
  371. package/sidecar/talaria_sidecar/methods/text.py +14 -1
  372. package/sidecar/talaria_sidecar/methods/toolsets.py +49 -0
  373. package/sidecar/talaria_sidecar/methods/usage.py +113 -14
  374. package/sidecar/talaria_sidecar/methods/worktree.py +26 -19
  375. package/sidecar/talaria_sidecar/methods/write_approval.py +181 -0
  376. package/sidecar/talaria_sidecar/rpc.py +45 -4
  377. package/sidecar/talaria_sidecar/runtime.py +81 -12
  378. package/sidecar/talaria_sidecar/speed.py +35 -0
  379. package/static/dist/FILES.txt +126 -127
  380. package/static/dist/assets/AppShell-cey33v9s.js +8 -0
  381. package/static/dist/assets/ChatPage-i8wnugr7.js +18 -0
  382. package/static/dist/assets/ConnectTargets-hg19553x.js +1 -0
  383. package/static/dist/assets/ExtensionRoute-cly4apm5.js +1 -0
  384. package/static/dist/assets/Field-j8uqoigz.js +9 -0
  385. package/static/dist/assets/HubRoute-e4bgz41j.js +2 -0
  386. package/static/dist/assets/Markdown-lahuichm.js +598 -0
  387. package/static/dist/assets/RightPanel-lbo4i0fn.js +1 -0
  388. package/static/dist/assets/Select-gqatm2e0.js +1 -0
  389. package/static/dist/assets/SessionListPanel-mfqayfjh.js +1 -0
  390. package/static/dist/assets/SettingsLayout-b8980u7k.js +1 -0
  391. package/static/dist/assets/States-e7dkgtxf.js +1 -0
  392. package/static/dist/assets/Toaster-bfqqy786.js +1 -0
  393. package/static/dist/assets/_app-n1n6pfx1.js +1 -0
  394. package/static/dist/assets/{_app.ext._extensionId-gfbzpoou.js → _app.ext._extensionId-buxjxav3.js} +1 -1
  395. package/static/dist/assets/_app.index-jt8zwiu2.js +1 -0
  396. package/static/dist/assets/_app.insights-cv76ml71.js +1 -0
  397. package/static/dist/assets/_app.kanban-h6ts53j7.js +1 -0
  398. package/static/dist/assets/_app.logs-dm873z90.js +1 -0
  399. package/static/dist/assets/_app.memory-glk5y6m8.js +1 -0
  400. package/static/dist/assets/_app.profiles-ka6zpstq.js +1 -0
  401. package/static/dist/assets/{_app.session._sessionId-fn1bhde6.js → _app.session._sessionId-g2vzghvc.js} +1 -1
  402. package/static/dist/assets/_app.settings-hgjdhzcd.js +1 -0
  403. package/static/dist/assets/_app.settings._section-jf2kmhae.js +3 -0
  404. package/static/dist/assets/_app.skills-cii852yq.js +1 -0
  405. package/static/dist/assets/_app.tasks-fp9q7atm.js +1 -0
  406. package/static/dist/assets/_app.todos-dw94qzue.js +1 -0
  407. package/static/dist/assets/_app.workspaces-inyygzze.js +1 -0
  408. package/static/dist/assets/{abnfDiagram-VCTEODGH-c8kdixke.js → abnfDiagram-VCTEODGH-gjayq3ra.js} +1 -1
  409. package/static/dist/assets/architecture-7GRP2DOG-lp56972r.js +1 -0
  410. package/static/dist/assets/{architectureDiagram-5GKGNRK7-cku06x1p.js → architectureDiagram-5GKGNRK7-nwb3xovn.js} +1 -1
  411. package/static/dist/assets/archive-b1j004vn.js +1 -0
  412. package/static/dist/assets/back-g74gkozu.js +1 -0
  413. package/static/dist/assets/{blockDiagram-I7D4REHJ-jzthp1wa.js → blockDiagram-I7D4REHJ-joedghi3.js} +1 -1
  414. package/static/dist/assets/{c4Diagram-7LVT6UL2-mwr67mt8.js → c4Diagram-7LVT6UL2-hyrjrohe.js} +1 -1
  415. package/static/dist/assets/channel-es95o4y8.js +1 -0
  416. package/static/dist/assets/{chunk-4HAMMTFA-gpq1y228.js → chunk-4HAMMTFA-koouqbut.js} +1 -1
  417. package/static/dist/assets/{chunk-75Z2AOVW-ktje58c4.js → chunk-75Z2AOVW-bl4bhdnt.js} +1 -1
  418. package/static/dist/assets/{chunk-DU6HZSFF-ofajdixh.js → chunk-DU6HZSFF-gpedttsp.js} +3 -3
  419. package/static/dist/assets/{chunk-F27PBJKO-cmev85ti.js → chunk-F27PBJKO-d8xxi0zi.js} +1 -1
  420. package/static/dist/assets/{chunk-GMAD6QVW-htjgt22y.js → chunk-GMAD6QVW-jro0hl73.js} +1 -1
  421. package/static/dist/assets/{chunk-GVQU2GXP-qndvoxl7.js → chunk-GVQU2GXP-djn6gbyu.js} +1 -1
  422. package/static/dist/assets/{chunk-IMKFNOWR-e5bkd5q6.js → chunk-IMKFNOWR-vw4p5p7o.js} +1 -1
  423. package/static/dist/assets/{chunk-L3NEJ4N5-mj1155r6.js → chunk-L3NEJ4N5-n1hj77q8.js} +1 -1
  424. package/static/dist/assets/{chunk-OSK3NFVY-e7gkikcw.js → chunk-OSK3NFVY-oy0gwn2n.js} +1 -1
  425. package/static/dist/assets/{chunk-P2QGCYS3-f7t54xfm.js → chunk-P2QGCYS3-onf1hz6c.js} +1 -1
  426. package/static/dist/assets/{chunk-POPQ4Y6H-i927v9oa.js → chunk-POPQ4Y6H-m8sqn7cs.js} +1 -1
  427. package/static/dist/assets/{chunk-PWAF6VOD-m84lmnyt.js → chunk-PWAF6VOD-ek4smc8x.js} +1 -1
  428. package/static/dist/assets/{chunk-SHT3W25Y-mi0tlcu9.js → chunk-SHT3W25Y-g9gfvefo.js} +3 -3
  429. package/static/dist/assets/{chunk-SVP7TREG-dnau702j.js → chunk-SVP7TREG-f9nfv2cu.js} +1 -1
  430. package/static/dist/assets/{chunk-TICWLB2K-edem1gkg.js → chunk-TICWLB2K-bnk3m1mq.js} +1 -1
  431. package/static/dist/assets/classDiagram-ZZMXUADV-kmihoqxh.js +1 -0
  432. package/static/dist/assets/classDiagram-v2-VYDZK3BY-kmihoqxh.js +1 -0
  433. package/static/dist/assets/copied-bli9tbcx.js +1 -0
  434. package/static/dist/assets/{copy-magtofyp.js → copy-jamtd1pf.js} +1 -1
  435. package/static/dist/assets/{cynefin-OW5HDTMX-siqlulkl.js → cynefin-OW5HDTMX-f8xfdd3f.js} +1 -1
  436. package/static/dist/assets/{cynefinDiagram-5FMLGOSQ-i648tah9.js → cynefinDiagram-5FMLGOSQ-n9lb99h9.js} +1 -1
  437. package/static/dist/assets/{dagre-GXQ25YYZ-mwn6uc17.js → dagre-GXQ25YYZ-dgailddi.js} +4 -4
  438. package/static/dist/assets/{diagram-S7CK7UJ4-l8abxaes.js → diagram-S7CK7UJ4-m6aeoe7c.js} +1 -1
  439. package/static/dist/assets/{diagram-UQ7AKVKN-mekq7zgq.js → diagram-UQ7AKVKN-jall3j0x.js} +1 -1
  440. package/static/dist/assets/{diagram-VSXAHHWV-fnky6lvc.js → diagram-VSXAHHWV-hbawi7hn.js} +1 -1
  441. package/static/dist/assets/{diagram-VX7I27RA-xe6r5qfw.js → diagram-VX7I27RA-hendl2tt.js} +1 -1
  442. package/static/dist/assets/{diagram-Z3DM3KII-nq07dg7k.js → diagram-Z3DM3KII-igwc35p3.js} +1 -1
  443. package/static/dist/assets/{ebnfDiagram-PWID7BFC-c62ipm3g.js → ebnfDiagram-PWID7BFC-c64knz08.js} +1 -1
  444. package/static/dist/assets/{erDiagram-RLTQ6QDP-h39kmnzy.js → erDiagram-RLTQ6QDP-brdu9lcm.js} +1 -1
  445. package/static/dist/assets/eventmodeling-NTZA5JFV-njk1j8wl.js +1 -0
  446. package/static/dist/assets/flowDiagram-HODETNUW-nma6f0ga.js +1 -0
  447. package/static/dist/assets/folder-plus-lvt9kudb.js +1 -0
  448. package/static/dist/assets/{ganttDiagram-EL5Y4UJY-ngbsyp37.js → ganttDiagram-EL5Y4UJY-ma6jxj5i.js} +1 -1
  449. package/static/dist/assets/{gitGraph-4MIJSDKK-fr2i7caa.js → gitGraph-4MIJSDKK-naa9w6xa.js} +1 -1
  450. package/static/dist/assets/{gitGraphDiagram-WWUBYQGX-eravdti4.js → gitGraphDiagram-WWUBYQGX-hzltvsod.js} +1 -1
  451. package/static/dist/assets/{highlighted-body-KPVGNVTW-jwpop9p8.js → highlighted-body-KPVGNVTW-ghoavj8d.js} +1 -1
  452. package/static/dist/assets/host-hzm8n85n.js +1 -0
  453. package/static/dist/assets/index-drdcaqeq.css +2 -0
  454. package/static/dist/assets/index-jzm844he.js +11 -0
  455. package/static/dist/assets/{info-A6RAGUB7-h11x0dxo.js → info-A6RAGUB7-mn2ut5ko.js} +1 -1
  456. package/static/dist/assets/{infoDiagram-27XIBGKW-dfh47dw9.js → infoDiagram-27XIBGKW-h6kuqvsb.js} +1 -1
  457. package/static/dist/assets/{ishikawaDiagram-5VMMS53U-i6ypq351.js → ishikawaDiagram-5VMMS53U-e7bnwq7h.js} +1 -1
  458. package/static/dist/assets/{journeyDiagram-3NMN7TZE-lduf1z95.js → journeyDiagram-3NMN7TZE-etd1bi6p.js} +1 -1
  459. package/static/dist/assets/{kanban-definition-UXKFOSKX-e18bu4pg.js → kanban-definition-UXKFOSKX-emb1g9dz.js} +4 -4
  460. package/static/dist/assets/lazyRouteComponent-o816ytzl.js +1 -0
  461. package/static/dist/assets/{line-meizqsvn.js → line-h0ojzsvs.js} +1 -1
  462. package/static/dist/assets/link-k01ryaf9.js +1 -0
  463. package/static/dist/assets/login-bsae49ew.js +1 -0
  464. package/static/dist/assets/mermaid-HWGCJPDP-ihl34s74.js +1 -0
  465. package/static/dist/assets/{mermaid-parser.core-ntne45i9.js → mermaid-parser.core-bnre27u8.js} +3 -3
  466. package/static/dist/assets/{mindmap-definition-YA3MSWOX-27b26eok.js → mindmap-definition-YA3MSWOX-o1vathns.js} +1 -1
  467. package/static/dist/assets/onboarding-c65tysya.js +1 -0
  468. package/static/dist/assets/onboarding_model_label-gpn28uix.js +1 -0
  469. package/static/dist/assets/{packet-AYTQ26CC-l6jdka8p.js → packet-AYTQ26CC-hatq7m2e.js} +1 -1
  470. package/static/dist/assets/pcmTap.worklet-74EKjWAZ.js +1 -0
  471. package/static/dist/assets/{pegDiagram-XKGWAZYB-g1er3bxj.js → pegDiagram-XKGWAZYB-gwisz8jv.js} +1 -1
  472. package/static/dist/assets/{pie-WAS4IAKB-i0ylcrt9.js → pie-WAS4IAKB-fpftf0mk.js} +1 -1
  473. package/static/dist/assets/{pieDiagram-E7YTZNPT-fbz1e55z.js → pieDiagram-E7YTZNPT-khm1o9a6.js} +1 -1
  474. package/static/dist/assets/{quadrantDiagram-AXDQQJYC-hhue7d8o.js → quadrantDiagram-AXDQQJYC-owqc4uqn.js} +1 -1
  475. package/static/dist/assets/{radar-RG4KPBEZ-f9b70aa4.js → radar-RG4KPBEZ-cntfwjpq.js} +1 -1
  476. package/static/dist/assets/{railroad-74A4TZTK-lgsuoeda.js → railroad-74A4TZTK-a7t5eibp.js} +1 -1
  477. package/static/dist/assets/railroad-abnf-HS5TGJTU-ol8cdktf.js +1 -0
  478. package/static/dist/assets/railroad-ebnf-LZEXJU2U-i8vzd429.js +1 -0
  479. package/static/dist/assets/railroad-peg-WCYAUIDC-nw3ulewz.js +1 -0
  480. package/static/dist/assets/{railroadDiagram-O6MQD6OU-eqpy9fnz.js → railroadDiagram-O6MQD6OU-etuh0qa0.js} +1 -1
  481. package/static/dist/assets/{refresh-cw-hlwb02qv.js → refresh-cw-mqbkv2a3.js} +1 -1
  482. package/static/dist/assets/refresh-l29ljp76.js +1 -0
  483. package/static/dist/assets/{requirementDiagram-BXWQKSXE-ogf6puhi.js → requirementDiagram-BXWQKSXE-oq2ulk22.js} +1 -1
  484. package/static/dist/assets/{sankeyDiagram-P5KCCOFB-fqb8xcjf.js → sankeyDiagram-P5KCCOFB-iqc02emv.js} +1 -1
  485. package/static/dist/assets/saved-ndd4t2xb.js +1 -0
  486. package/static/dist/assets/{sequenceDiagram-WJ2MYXX4-dlcz6qjz.js → sequenceDiagram-WJ2MYXX4-i0v116q0.js} +2 -2
  487. package/static/dist/assets/settings_section_extensions_title-jhfo6o8z.js +1 -0
  488. package/static/dist/assets/share._token-c1ri0hy1.js +2 -0
  489. package/static/dist/assets/sliders-horizontal-j3jjt9tv.js +1 -0
  490. package/static/dist/assets/{stateDiagram-D77RDMKH-fyoznpcs.js → stateDiagram-D77RDMKH-dnpt1ato.js} +1 -1
  491. package/static/dist/assets/stateDiagram-v2-MP3YSRHH-bxjacpk6.js +1 -0
  492. package/static/dist/assets/{swimlanes-42K2YHIH-oefldhfy.js → swimlanes-42K2YHIH-loqbdazb.js} +1 -1
  493. package/static/dist/assets/swimlanesDiagram-VR7AAH4N-id62p9hz.js +8 -0
  494. package/static/dist/assets/{timeline-definition-24CTP7MA-b1vl2zil.js → timeline-definition-24CTP7MA-ol2hnvma.js} +1 -1
  495. package/static/dist/assets/toast-i3h34v6o.js +64 -0
  496. package/static/dist/assets/{treeView-Q6P3EWNA-f7hcci5o.js → treeView-Q6P3EWNA-idrj6iox.js} +1 -1
  497. package/static/dist/assets/{treemap-WGGIJYW6-nl85071a.js → treemap-WGGIJYW6-lzr49vv5.js} +1 -1
  498. package/static/dist/assets/untitled-oaoya4qj.js +1 -0
  499. package/static/dist/assets/useForm-nfaxgmsk.js +1 -0
  500. package/static/dist/assets/{useParams-b4dq6n4q.js → useParams-gjc70qru.js} +1 -1
  501. package/static/dist/assets/{useSearch-ipfmv3he.js → useSearch-e6ae539u.js} +1 -1
  502. package/static/dist/assets/{vennDiagram-4TSXK5OY-h5hzbk0n.js → vennDiagram-4TSXK5OY-bvwr9o2z.js} +1 -1
  503. package/static/dist/assets/{wardley-WFR3VGLG-jftvpm3e.js → wardley-WFR3VGLG-31ui8tma.js} +1 -1
  504. package/static/dist/assets/{wardleyDiagram-VM6X3IG4-hedh85ge.js → wardleyDiagram-VM6X3IG4-k5wqtx4b.js} +1 -1
  505. package/static/dist/assets/{xychartDiagram-S5SC5T6Z-e49523ab.js → xychartDiagram-S5SC5T6Z-aqbgvujg.js} +1 -1
  506. package/static/dist/index.html +1 -1
  507. package/static/dist/sw.js +1 -1
  508. package/static/dist/assets/AppShell-g3bkgnvt.js +0 -1
  509. package/static/dist/assets/ChatPage-oo7bdan6.js +0 -25
  510. package/static/dist/assets/Dialog-g355qxhp.js +0 -1
  511. package/static/dist/assets/ExtensionRoute-i2y9fvjm.js +0 -1
  512. package/static/dist/assets/HubRoute-lmkrbw47.js +0 -2
  513. package/static/dist/assets/Markdown-j4kut4j2.js +0 -598
  514. package/static/dist/assets/RightPanel-ohlsdzfl.js +0 -1
  515. package/static/dist/assets/Select-kddq75qc.js +0 -1
  516. package/static/dist/assets/SessionListPanel-lu3oy0hw.js +0 -1
  517. package/static/dist/assets/SettingsLayout-o9bv4mgb.js +0 -1
  518. package/static/dist/assets/States-eq6fe29m.js +0 -1
  519. package/static/dist/assets/Toaster-pc247u9f.js +0 -1
  520. package/static/dist/assets/_app-f8n1i0m1.js +0 -1
  521. package/static/dist/assets/_app.index-bzzv80hk.js +0 -1
  522. package/static/dist/assets/_app.insights-dzixbryi.js +0 -1
  523. package/static/dist/assets/_app.kanban-c6hep2us.js +0 -1
  524. package/static/dist/assets/_app.logs-i69qds98.js +0 -1
  525. package/static/dist/assets/_app.memory-kl4vf0gd.js +0 -1
  526. package/static/dist/assets/_app.profiles-b8zinmyp.js +0 -1
  527. package/static/dist/assets/_app.settings-cg8plwmf.js +0 -1
  528. package/static/dist/assets/_app.settings._section-bkwbi9zn.js +0 -3
  529. package/static/dist/assets/_app.skills-cs47sbvs.js +0 -1
  530. package/static/dist/assets/_app.tasks-dwvk64tc.js +0 -1
  531. package/static/dist/assets/_app.todos-c8xjm8p3.js +0 -1
  532. package/static/dist/assets/_app.workspaces-ehvd1gds.js +0 -1
  533. package/static/dist/assets/architecture-7GRP2DOG-6crvnylg.js +0 -1
  534. package/static/dist/assets/back-h7aun7ew.js +0 -1
  535. package/static/dist/assets/cancel-fhi0vcnu.js +0 -1
  536. package/static/dist/assets/channel-b2zo73z1.js +0 -1
  537. package/static/dist/assets/classDiagram-ZZMXUADV-oe99st8x.js +0 -1
  538. package/static/dist/assets/classDiagram-v2-VYDZK3BY-oe99st8x.js +0 -1
  539. package/static/dist/assets/copied-hcplv46p.js +0 -1
  540. package/static/dist/assets/endpoints-klbxod4t.js +0 -64
  541. package/static/dist/assets/eventmodeling-NTZA5JFV-obfede4u.js +0 -1
  542. package/static/dist/assets/flowDiagram-HODETNUW-kdpsp1je.js +0 -1
  543. package/static/dist/assets/host-i828xuo7.js +0 -1
  544. package/static/dist/assets/index-eh8zilnv.css +0 -2
  545. package/static/dist/assets/index-r648f4o1.js +0 -11
  546. package/static/dist/assets/lazyRouteComponent-e1y4t2i9.js +0 -1
  547. package/static/dist/assets/link-oot2yn73.js +0 -1
  548. package/static/dist/assets/login-gu28l9ou.js +0 -1
  549. package/static/dist/assets/mermaid-HWGCJPDP-mtwrj8fn.js +0 -1
  550. package/static/dist/assets/onboarding-lkphzu1s.js +0 -1
  551. package/static/dist/assets/onboarding_model_label-ftpjdwqk.js +0 -1
  552. package/static/dist/assets/railroad-abnf-HS5TGJTU-nf9d6pdx.js +0 -1
  553. package/static/dist/assets/railroad-ebnf-LZEXJU2U-f7ummkt5.js +0 -1
  554. package/static/dist/assets/railroad-peg-WCYAUIDC-oczq5tqs.js +0 -1
  555. package/static/dist/assets/refresh-abtu93ke.js +0 -1
  556. package/static/dist/assets/saved-girnabkf.js +0 -1
  557. package/static/dist/assets/settings_section_extensions_title-h14cwk6f.js +0 -1
  558. package/static/dist/assets/share._token-kl0r7ido.js +0 -2
  559. package/static/dist/assets/sliders-horizontal-n1zm34qq.js +0 -1
  560. package/static/dist/assets/sse-iwku0sjo.js +0 -1
  561. package/static/dist/assets/stateDiagram-v2-MP3YSRHH-ixhx8r46.js +0 -1
  562. package/static/dist/assets/swimlanesDiagram-VR7AAH4N-h9ersk2e.js +0 -8
  563. package/static/dist/assets/todoStore-jjr5yr78.js +0 -1
  564. package/static/dist/assets/units-kgxzxfhi.js +0 -1
  565. package/static/dist/assets/untitled-cikfjntn.js +0 -1
  566. package/static/dist/assets/useForm-kqoqg0k9.js +0 -1
  567. package/static/dist/assets/useLocale-o59tbiea.js +0 -1
package/dist/settings.js CHANGED
@@ -7,10 +7,7 @@
7
7
  * and are supplied by hooks the config domain wires in; the store itself never
8
8
  * reads config.yaml.
9
9
  */
10
- import { readFileSync, statSync } from 'node:fs';
11
- import { mkdirSync } from 'node:fs';
12
- import { dirname } from 'node:path';
13
- import { atomicWriteText } from './fs/atomic.js';
10
+ import { InvalidDocument, RevisionConflict } from './sessions/storage/backend.js';
14
11
  import { resolveDefaultWorkspace } from './config.js';
15
12
  import { normalizeTrustedLinkHosts } from './links.js';
16
13
  export const SETTINGS_SPEECH_KEYS = new Set([
@@ -53,6 +50,7 @@ export function settingsDefaults(opts) {
53
50
  show_previous_messaging_sessions: false,
54
51
  sync_to_insights: false,
55
52
  check_for_updates: true,
53
+ summarize_updates_automatically: true,
56
54
  auto_apply_updates: false,
57
55
  update_channel: 'stable',
58
56
  agent_update_channel: 'stable',
@@ -236,7 +234,7 @@ function thresholdsByProfile(settings) {
236
234
  return typeof stored === 'object' && stored !== null && !Array.isArray(stored) ? { ...stored } : {};
237
235
  }
238
236
  export class SettingsStore {
239
- file;
237
+ documents;
240
238
  hooks;
241
239
  /** Incremented on every successful save so callers can detect changes cheaply. */
242
240
  writeVersion = 0;
@@ -244,9 +242,9 @@ export class SettingsStore {
244
242
  stateDir;
245
243
  defaultWorkspace;
246
244
  botName;
247
- cache = null;
245
+ cache = {};
248
246
  constructor(opts) {
249
- this.file = opts.file;
247
+ this.documents = opts.documents;
250
248
  this.env = opts.env;
251
249
  this.stateDir = opts.stateDir;
252
250
  this.defaultWorkspace = opts.defaultWorkspace;
@@ -257,43 +255,30 @@ export class SettingsStore {
257
255
  return settingsDefaults({ defaultWorkspace: this.defaultWorkspace, botName: this.botName });
258
256
  }
259
257
  /** The profile's quota thresholds, defaults filled in. */
260
- quotaThresholds(profile) {
261
- return mergeQuotaThresholds(QUOTA_THRESHOLD_DEFAULTS, thresholdsByProfile(this.readRaw())[profile]);
258
+ async quotaThresholds(profile) {
259
+ return mergeQuotaThresholds(QUOTA_THRESHOLD_DEFAULTS, thresholdsByProfile(await this.readRaw())[profile]);
262
260
  }
263
- /** Read settings.json; `strict` callers distinguish absence from an unreadable file. */
264
- readRaw(opts = {}) {
265
- let st;
261
+ /** Sync policies use the last loaded server snapshot; request handlers and writes refresh through the async port. */
262
+ peek() { return this.fromRaw(this.cache); }
263
+ async readRaw(opts = {}) {
266
264
  try {
267
- st = statSync(this.file, { bigint: true });
268
- }
269
- catch (error) {
270
- if (error.code === 'ENOENT' || !opts.strict)
271
- return {};
272
- throw error;
273
- }
274
- const key = `${st.mtimeNs}:${st.size}:${st.ino}:${st.ctimeNs}`;
275
- if (this.cache?.key === key)
276
- return structuredClone(this.cache.raw);
277
- let loaded;
278
- try {
279
- loaded = JSON.parse(readFileSync(this.file, 'utf8'));
265
+ const record = await this.documents.get('settings', 'settings');
266
+ const loaded = record ? record.value : {};
267
+ if (typeof loaded !== 'object' || loaded === null || Array.isArray(loaded))
268
+ throw new Error('Settings must contain an object');
269
+ this.cache = loaded;
270
+ return structuredClone(this.cache);
280
271
  }
281
272
  catch (error) {
273
+ this.cache = {};
282
274
  if (opts.strict)
283
275
  throw error;
284
276
  return {};
285
277
  }
286
- if (typeof loaded !== 'object' || loaded === null || Array.isArray(loaded)) {
287
- if (opts.strict)
288
- throw new Error('settings.json must contain an object');
289
- return {};
290
- }
291
- this.cache = { key, raw: loaded };
292
- return structuredClone(loaded);
293
278
  }
294
- load() {
279
+ async load() { return this.fromRaw(await this.readRaw()); }
280
+ fromRaw(stored) {
295
281
  const settings = this.defaults();
296
- const stored = this.readRaw();
297
282
  if (!('worklog_details_expanded_default' in stored) && 'activity_feed_expanded_default' in stored) {
298
283
  settings.worklog_details_expanded_default = pyBool(stored.activity_feed_expanded_default);
299
284
  }
@@ -332,193 +317,204 @@ export class SettingsStore {
332
317
  Reflect.deleteProperty(persisted, key);
333
318
  return persisted;
334
319
  }
335
- writeSettings(persisted) {
336
- mkdirSync(dirname(this.file), { recursive: true });
337
- atomicWriteText(this.file, JSON.stringify(persisted, null, 2));
320
+ async writeSettings(persisted, expected) {
321
+ await this.documents.put('settings', 'settings', persisted, expected);
322
+ this.cache = structuredClone(persisted);
338
323
  this.writeVersion += 1;
339
324
  }
340
325
  /** Save a patch, ignoring unknown keys and invalid values. `provider_quota_thresholds` patches `profile`'s set. Returns the merged settings. */
341
326
  async save(input, opts = {}) {
342
327
  const settings = { ...input };
343
- // Hash before snapshotting the file: the PBKDF2 await is the only yield in this method, so once `readRaw()`
344
- // runs the read/merge/write below is atomic with respect to concurrent saves.
328
+ // Preserve request intent and hash once before retrying revisioned reads and writes.
345
329
  const rawPw = settings._set_password;
346
330
  delete settings._set_password;
331
+ const clearPw = settings._clear_password;
332
+ delete settings._clear_password;
347
333
  let newPasswordHash = null;
348
334
  if (typeof rawPw === 'string' && rawPw.trim()) {
349
335
  if (!this.hooks.hashPassword)
350
336
  throw new Error('password hashing is not wired');
351
337
  newPasswordHash = await this.hooks.hashPassword(rawPw.trim());
352
338
  }
353
- const raw = this.readRaw();
354
- const persistedSpeechKeys = this.persistedSpeechKeys(raw);
355
- const current = this.load();
356
- const appliedSpeechKeys = new Set();
357
- const allowed = new Set(Object.keys(this.defaults()));
358
- for (const k of ['password_hash', 'default_model', 'simplified_tool_calling'])
359
- allowed.delete(k);
360
- const composerKeys = new Set([...allowed].filter((k) => k.startsWith('hide_composer_')));
361
- if (!('worklog_details_expanded_default' in settings) && 'activity_feed_expanded_default' in settings) {
362
- settings.worklog_details_expanded_default = settings.activity_feed_expanded_default;
363
- }
364
- delete settings.activity_feed_expanded_default;
365
- if (!('default_message_mode' in settings) && 'busy_input_mode' in settings)
366
- settings.default_message_mode = settings.busy_input_mode;
367
- delete settings.busy_input_mode;
368
- delete settings.simplified_tool_calling;
369
- let pendingTheme = current.theme;
370
- let pendingSkin = current.skin;
371
- let themeExplicit = false;
372
- let skinExplicit = false;
373
- let passwordChanged = false;
374
- if (newPasswordHash !== null) {
375
- current.password_hash = newPasswordHash;
376
- passwordChanged = true;
377
- }
378
- const clearPw = settings._clear_password;
379
- delete settings._clear_password;
380
- if (pyBool(clearPw)) {
381
- current.password_hash = null;
382
- passwordChanged = true;
383
- }
384
- const dashboardPlugins = settings.dashboard_plugins;
385
- if (dashboardPlugins && typeof dashboardPlugins === 'object' && !Array.isArray(dashboardPlugins)) {
386
- const currentDash = current.dashboard_plugins;
387
- // A malformed stored value (null, string, array) is replaced, so the patch is never silently dropped.
388
- const merged = (currentDash && typeof currentDash === 'object' && !Array.isArray(currentDash) ? currentDash : {});
389
- for (const [k, v] of Object.entries(dashboardPlugins))
390
- merged[k] = pyBool(v);
391
- current.dashboard_plugins = merged;
392
- }
393
- for (const [k, rawValue] of Object.entries(settings)) {
394
- let v = rawValue;
395
- if (k === 'auto_apply_updates' && typeof v !== 'boolean')
396
- continue;
397
- if (k === 'provider_quota_thresholds' && opts.profile !== undefined) {
398
- const byProfile = thresholdsByProfile(current);
399
- byProfile[opts.profile] = mergeQuotaThresholds(mergeQuotaThresholds(QUOTA_THRESHOLD_DEFAULTS, byProfile[opts.profile]), v);
400
- current[QUOTA_THRESHOLDS_BY_PROFILE_KEY] = byProfile;
401
- continue;
339
+ for (let attempt = 0;; attempt += 1) {
340
+ let record;
341
+ try {
342
+ record = await this.documents.get('settings', 'settings');
402
343
  }
403
- if (k === 'dashboard_plugins' || !allowed.has(k))
404
- continue;
405
- if (k === 'theme') {
406
- if (typeof v === 'string' && v.trim()) {
407
- pendingTheme = v;
408
- themeExplicit = true;
409
- }
410
- continue;
344
+ catch (error) {
345
+ if (!(error instanceof InvalidDocument))
346
+ throw error;
347
+ record = { value: {}, revision: error.revision };
411
348
  }
412
- if (k === 'skin') {
413
- if (typeof v === 'string' && v.trim()) {
414
- pendingSkin = v;
415
- skinExplicit = true;
416
- }
417
- continue;
349
+ const raw = record?.value && typeof record.value === 'object' && !Array.isArray(record.value) ? record.value : {};
350
+ const persistedSpeechKeys = this.persistedSpeechKeys(raw);
351
+ const current = this.fromRaw(raw);
352
+ const appliedSpeechKeys = new Set();
353
+ const allowed = new Set(Object.keys(this.defaults()));
354
+ for (const k of ['password_hash', 'default_model', 'simplified_tool_calling'])
355
+ allowed.delete(k);
356
+ const composerKeys = new Set([...allowed].filter((k) => k.startsWith('hide_composer_')));
357
+ if (!('worklog_details_expanded_default' in settings) && 'activity_feed_expanded_default' in settings) {
358
+ settings.worklog_details_expanded_default = settings.activity_feed_expanded_default;
418
359
  }
419
- const enumValues = ENUM_VALUES[k];
420
- if (enumValues && !(typeof v === 'string' && enumValues.has(v)))
421
- continue;
422
- const intRange = INT_RANGES[k];
423
- if (intRange) {
424
- const n = pyInt(v);
425
- if (n === null || n < intRange[0] || n > intRange[1])
426
- continue;
427
- v = n;
360
+ delete settings.activity_feed_expanded_default;
361
+ if (!('default_message_mode' in settings) && 'busy_input_mode' in settings)
362
+ settings.default_message_mode = settings.busy_input_mode;
363
+ delete settings.busy_input_mode;
364
+ delete settings.simplified_tool_calling;
365
+ let pendingTheme = current.theme;
366
+ let pendingSkin = current.skin;
367
+ let themeExplicit = false;
368
+ let skinExplicit = false;
369
+ let passwordChanged = false;
370
+ if (newPasswordHash !== null) {
371
+ current.password_hash = newPasswordHash;
372
+ passwordChanged = true;
428
373
  }
429
- const floatRange = FLOAT_RANGES[k];
430
- if (floatRange) {
431
- const f = pyFloat(v);
432
- if (f === null || !Number.isFinite(f) || f < floatRange[0] || f > floatRange[1])
433
- continue;
434
- v = f;
374
+ if (pyBool(clearPw)) {
375
+ current.password_hash = null;
376
+ passwordChanged = true;
377
+ }
378
+ const dashboardPlugins = settings.dashboard_plugins;
379
+ if (dashboardPlugins && typeof dashboardPlugins === 'object' && !Array.isArray(dashboardPlugins)) {
380
+ const currentDash = current.dashboard_plugins;
381
+ // A malformed stored value (null, string, array) is replaced, so the patch is never silently dropped.
382
+ const merged = (currentDash && typeof currentDash === 'object' && !Array.isArray(currentDash) ? currentDash : {});
383
+ for (const [k, v] of Object.entries(dashboardPlugins))
384
+ merged[k] = pyBool(v);
385
+ current.dashboard_plugins = merged;
435
386
  }
436
- if (k === 'tts_engine') {
437
- if (typeof v !== 'string')
387
+ for (const [k, rawValue] of Object.entries(settings)) {
388
+ let v = rawValue;
389
+ if (['auto_apply_updates', 'summarize_updates_automatically'].includes(k) && typeof v !== 'boolean')
438
390
  continue;
439
- v = v.trim();
440
- if (!TTS_ENGINE_RE.test(v))
391
+ if (k === 'provider_quota_thresholds' && opts.profile !== undefined) {
392
+ const byProfile = thresholdsByProfile(current);
393
+ byProfile[opts.profile] = mergeQuotaThresholds(mergeQuotaThresholds(QUOTA_THRESHOLD_DEFAULTS, byProfile[opts.profile]), v);
394
+ current[QUOTA_THRESHOLDS_BY_PROFILE_KEY] = byProfile;
441
395
  continue;
442
- }
443
- if (k === 'tts_voice' && (typeof v !== 'string' || v.length > 200 || v.includes('\0')))
444
- continue;
445
- if (k === 'language' && (typeof v !== 'string' || !LANG_RE.test(v)))
446
- continue;
447
- if (LIST_KEYS.has(k)) {
448
- if (!Array.isArray(v))
396
+ }
397
+ if (k === 'dashboard_plugins' || !allowed.has(k))
398
+ continue;
399
+ if (k === 'theme') {
400
+ if (typeof v === 'string' && v.trim()) {
401
+ pendingTheme = v;
402
+ themeExplicit = true;
403
+ }
404
+ continue;
405
+ }
406
+ if (k === 'skin') {
407
+ if (typeof v === 'string' && v.trim()) {
408
+ pendingSkin = v;
409
+ skinExplicit = true;
410
+ }
411
+ continue;
412
+ }
413
+ const enumValues = ENUM_VALUES[k];
414
+ if (enumValues && !(typeof v === 'string' && enumValues.has(v)))
449
415
  continue;
450
- const seen = new Set();
451
- const cleaned = [];
452
- for (const item of v) {
453
- if (typeof item !== 'string')
416
+ const intRange = INT_RANGES[k];
417
+ if (intRange) {
418
+ const n = pyInt(v);
419
+ if (n === null || n < intRange[0] || n > intRange[1])
454
420
  continue;
455
- const s = item.trim();
456
- if (!s || seen.has(s))
421
+ v = n;
422
+ }
423
+ const floatRange = FLOAT_RANGES[k];
424
+ if (floatRange) {
425
+ const f = pyFloat(v);
426
+ if (f === null || !Number.isFinite(f) || f < floatRange[0] || f > floatRange[1])
457
427
  continue;
458
- if ((k === 'hidden_tabs' || k === 'tab_order') && (s === 'chat' || s === 'settings'))
428
+ v = f;
429
+ }
430
+ if (k === 'tts_engine') {
431
+ if (typeof v !== 'string')
459
432
  continue;
460
- if (k === 'composer_control_order' && !composerKeys.has(s))
433
+ v = v.trim();
434
+ if (!TTS_ENGINE_RE.test(v))
461
435
  continue;
462
- seen.add(s);
463
- cleaned.push(s);
464
436
  }
465
- v = cleaned;
466
- }
467
- if (k === 'trusted_link_hosts') {
468
- if (!Array.isArray(v))
437
+ if (k === 'tts_voice' && (typeof v !== 'string' || v.length > 200 || v.includes('\0')))
469
438
  continue;
470
- v = normalizeTrustedLinkHosts(v);
471
- }
472
- if (k === 'provider_cost_budget') {
473
- if (v === null || v === undefined || v === '') {
474
- current[k] = null;
439
+ if (k === 'language' && (typeof v !== 'string' || !LANG_RE.test(v)))
475
440
  continue;
441
+ if (LIST_KEYS.has(k)) {
442
+ if (!Array.isArray(v))
443
+ continue;
444
+ const seen = new Set();
445
+ const cleaned = [];
446
+ for (const item of v) {
447
+ if (typeof item !== 'string')
448
+ continue;
449
+ const s = item.trim();
450
+ if (!s || seen.has(s))
451
+ continue;
452
+ if ((k === 'hidden_tabs' || k === 'tab_order') && (s === 'chat' || s === 'settings'))
453
+ continue;
454
+ if (k === 'composer_control_order' && !composerKeys.has(s))
455
+ continue;
456
+ seen.add(s);
457
+ cleaned.push(s);
458
+ }
459
+ v = cleaned;
460
+ }
461
+ if (k === 'trusted_link_hosts') {
462
+ if (!Array.isArray(v))
463
+ continue;
464
+ v = normalizeTrustedLinkHosts(v);
476
465
  }
477
- const budget = coerceProviderCostBudget(v);
478
- if (budget === null)
466
+ if (k === 'provider_cost_budget') {
467
+ if (v === null || v === undefined || v === '') {
468
+ current[k] = null;
469
+ continue;
470
+ }
471
+ const budget = coerceProviderCostBudget(v);
472
+ if (budget === null)
473
+ continue;
474
+ current[k] = budget;
479
475
  continue;
480
- current[k] = budget;
481
- continue;
476
+ }
477
+ if (typeof this.defaults()[k] === 'boolean')
478
+ v = pyBool(v);
479
+ current[k] = v;
480
+ if (SETTINGS_SPEECH_KEYS.has(k))
481
+ appliedSpeechKeys.add(k);
482
482
  }
483
- if (typeof this.defaults()[k] === 'boolean')
484
- v = pyBool(v);
485
- current[k] = v;
486
- if (SETTINGS_SPEECH_KEYS.has(k))
487
- appliedSpeechKeys.add(k);
488
- }
489
- let skinValue = pendingSkin;
490
- if (themeExplicit && !skinExplicit) {
491
- const rawTheme = typeof pendingTheme === 'string' ? pendingTheme.trim().toLowerCase() : '';
492
- if (!SETTINGS_THEME_VALUES.has(rawTheme))
493
- skinValue = null;
483
+ let skinValue = pendingSkin;
484
+ if (themeExplicit && !skinExplicit) {
485
+ const rawTheme = typeof pendingTheme === 'string' ? pendingTheme.trim().toLowerCase() : '';
486
+ if (!SETTINGS_THEME_VALUES.has(rawTheme))
487
+ skinValue = null;
488
+ }
489
+ ;
490
+ [current.theme, current.skin] = normalizeAppearance(pendingTheme, skinValue);
491
+ current.default_workspace = resolveDefaultWorkspace(typeof current.default_workspace === 'string' ? current.default_workspace : null, { env: this.env, stateDir: this.stateDir });
492
+ const effectiveSpeech = new Set([...persistedSpeechKeys, ...appliedSpeechKeys]);
493
+ try {
494
+ await this.writeSettings(this.payloadForWrite(current, effectiveSpeech), record?.revision ?? null);
495
+ }
496
+ catch (error) {
497
+ if (error instanceof RevisionConflict && attempt < 1)
498
+ continue;
499
+ throw error;
500
+ }
501
+ if (passwordChanged)
502
+ this.hooks.onPasswordChanged?.();
503
+ this.defaultWorkspace = current.default_workspace;
504
+ current.default_model = this.hooks.defaultModel?.() ?? '';
505
+ return current;
494
506
  }
495
- ;
496
- [current.theme, current.skin] = normalizeAppearance(pendingTheme, skinValue);
497
- current.default_workspace = resolveDefaultWorkspace(typeof current.default_workspace === 'string' ? current.default_workspace : null, { env: this.env, stateDir: this.stateDir });
498
- const effectiveSpeech = new Set([...persistedSpeechKeys, ...appliedSpeechKeys]);
499
- this.writeSettings(this.payloadForWrite(current, effectiveSpeech));
500
- if (passwordChanged)
501
- this.hooks.onPasswordChanged?.();
502
- this.defaultWorkspace = current.default_workspace;
503
- current.default_model = this.hooks.defaultModel?.() ?? '';
504
- return current;
505
507
  }
506
508
  /**
507
509
  * Startup reconciliation (Python module-level block): a stored
508
510
  * `default_workspace` wins over discovery unless the env override is set, and
509
511
  * a stale stored value is rewritten once.
510
512
  */
511
- applyStartupWorkspace() {
512
- let exists = false;
513
- try {
514
- exists = statSync(this.file).isFile();
515
- }
516
- catch {
517
- exists = false;
518
- }
519
- if (!exists)
513
+ async applyStartupWorkspace() {
514
+ const record = await this.documents.get('settings', 'settings').catch(() => null);
515
+ if (!record)
520
516
  return;
521
- const startup = this.load();
517
+ const startup = await this.load();
522
518
  if (!this.env.HERMES_WEBUI_DEFAULT_WORKSPACE) {
523
519
  this.defaultWorkspace = resolveDefaultWorkspace(typeof startup.default_workspace === 'string' ? startup.default_workspace : null, { env: this.env, stateDir: this.stateDir });
524
520
  }
@@ -526,7 +522,7 @@ export class SettingsStore {
526
522
  if (startup.default_workspace !== this.defaultWorkspace) {
527
523
  startup.default_workspace = this.defaultWorkspace;
528
524
  try {
529
- this.writeSettings(this.payloadForWrite(startup, this.persistedSpeechKeys(this.readRaw())));
525
+ await this.writeSettings(this.payloadForWrite(startup, this.persistedSpeechKeys(await this.readRaw())), record.revision);
530
526
  }
531
527
  catch {
532
528
  /* best effort, matches Python */
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type RpcErrorObject, type RuntimeDescribe, type SidecarMethodName, type SidecarParams, type SidecarResult } from '@maudecode/talaria-web-contracts';
1
+ import { type AgentRuntimeMetadata, type ChatReadiness, type RpcErrorObject, type RuntimeDescribe, type SidecarMethodName, type SidecarParams, type SidecarResult } from '@maudecode/talaria-web-contracts';
2
2
  export declare class SidecarError extends Error {
3
3
  readonly code: number;
4
4
  readonly condition: string;
@@ -23,7 +23,8 @@ export interface CallOptions {
23
23
  timeoutMs?: number;
24
24
  }
25
25
  export interface SidecarSpawnOptions {
26
- python: string;
26
+ /** Resolve at every start so PM generation replacement is observed on sidecar-only restarts. */
27
+ python: string | (() => string | null);
27
28
  /** Full spawn command; defaults to `<python> -m talaria_sidecar` (a scripted replay sidecar for contract runs). */
28
29
  command?: string[];
29
30
  agentDir: string;
@@ -45,9 +46,19 @@ export interface SidecarLike {
45
46
  close(): Promise<void>;
46
47
  /** Kill the child so it restarts from the current environment; pending calls fail with `sidecar_unavailable`. */
47
48
  recycle(reason: string): void;
49
+ /** Observe future validated handshakes, including import-failed runtimes that recovery can repair. */
50
+ onHandshake?: (listener: (runtime: RuntimeDescribe) => void) => () => void;
48
51
  }
49
52
  export type SidecarStatus = 'stopped' | 'starting' | 'ready' | 'incompatible' | 'restarting';
50
- /** The configured environment (credentials, proxies, CA bundles) flows through as it did in-process in Python; the sidecar identity keys win. */
53
+ /** Normalize typed sidecar evidence once for health, preflight, and journalled turn errors. */
54
+ export declare function runtimeFailureDetails(condition: string, data?: Record<string, unknown>): AgentRuntimeMetadata & {
55
+ condition: string;
56
+ type: string;
57
+ message?: string;
58
+ };
59
+ /** Whether Agent operations (chat turns) can run on `sidecar`, and the failure condition when they cannot. */
60
+ export declare function chatReadiness(sidecar: Pick<SidecarLike, 'status' | 'describe'> | null): ChatReadiness;
61
+ /** The configured environment (credentials, proxies, CA bundles) flows through as it did in-process in Python, minus Web-only keys; the sidecar identity keys win. */
51
62
  export declare function sidecarSpawnEnv(opts: Pick<SidecarSpawnOptions, 'env' | 'hermesHome' | 'agentDir' | 'sidecarDir'>): Record<string, string>;
52
63
  export declare class SidecarClient implements SidecarLike {
53
64
  private readonly opts;
@@ -55,12 +66,15 @@ export declare class SidecarClient implements SidecarLike {
55
66
  describe: RuntimeDescribe | null;
56
67
  private child;
57
68
  private nextId;
69
+ private runtimeStatusSequence;
70
+ private readonly handshakeListeners;
58
71
  private readonly pending;
59
72
  private restartAttempt;
60
73
  private restartTimer;
61
74
  private closed;
62
75
  private readonly log;
63
76
  constructor(opts: SidecarSpawnOptions);
77
+ onHandshake(listener: (runtime: RuntimeDescribe) => void): () => void;
64
78
  /** Spawn and handshake. Resolves with the handshake payload; rejects only on spawn failure. */
65
79
  start(): Promise<RuntimeDescribe>;
66
80
  private onLine;