@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
@@ -3,7 +3,7 @@
3
3
  * detail payload, list and search, and every mutation with its guards.
4
4
  * Runtime concerns owned by other domains arrive through `SessionServiceDeps`.
5
5
  */
6
- import type { PendingSteer, RecoveryAudit, RecoveryRepair } from '@maudecode/talaria-web-contracts';
6
+ import type { AgentStorage, ChatReadiness, PendingSteer, RecoveryAudit, RunStatus, SessionGoal, SessionNotice, RecoveryRepair, SidecarResult } from '@maudecode/talaria-web-contracts';
7
7
  import type { RunJournal } from './journal.js';
8
8
  import type { DraftStore } from './drafts.js';
9
9
  import type { SessionEventBus } from './events.js';
@@ -11,7 +11,7 @@ import { type ListParams, type ListResponse, type Row, type RuntimeOverlay } fro
11
11
  import { Session, titleFrom, type Message } from './session.js';
12
12
  import { type SessionStore } from './store.js';
13
13
  import { type ClaudeCodeSessionSource } from './claude-code.js';
14
- import { type StateDbRead } from './state-db.js';
14
+ import { type StateDbRead, type StateDbSessionSource } from './state-db.js';
15
15
  import { type CompressionJob } from './compress.js';
16
16
  import { type SidecarLike } from '../sidecar/client.js';
17
17
  import { type ToolResultView } from './merge.js';
@@ -21,6 +21,7 @@ import { type ShareStore } from './shares.js';
21
21
  import { type MediaAccessDeps } from '../workspace/media.js';
22
22
  import { type MediaProjection } from '../workspace/media-refs.js';
23
23
  import type { ProjectStore } from '../projects.js';
24
+ import type { GatewaySessions } from './gateway-sessions.js';
24
25
  export declare class HttpFailure extends Error {
25
26
  readonly status: number;
26
27
  readonly extra: Record<string, unknown>;
@@ -31,9 +32,15 @@ export declare class HttpFailure extends Error {
31
32
  * mutates anything. Any other failure of the check is not a verdict and lets the caller proceed.
32
33
  */
33
34
  export declare function ensureAgentRuntimeCurrent(sidecar: SidecarLike | null): Promise<void>;
35
+ /**
36
+ * TAL-951: whether a chat turn would be admitted now. Ready and source-stale incompatible sidecars both run turn
37
+ * admission's live check: recovery state can change after the handshake. A check
38
+ * that cannot answer fails closed as `sidecar_unavailable`.
39
+ */
40
+ export declare function currentChatReadiness(sidecar: SidecarLike | null): Promise<ChatReadiness>;
34
41
  export interface SessionServiceDeps {
35
42
  /** TAL-259: epoch seconds of the state directory's `recovery_stamping_since` marker. */
36
- recoveryStampingSince: () => number;
43
+ recoveryStampingSince: () => Promise<number>;
37
44
  /** TAL-255: the Agent sidecar for manual compression (`chat.compress`); null while it is down. */
38
45
  sidecar?: () => SidecarLike | null;
39
46
  /** Detached sidecar work for a profile: deletion waits for the returned release, so the home outlives the work. */
@@ -41,7 +48,8 @@ export interface SessionServiceDeps {
41
48
  /** A profile whose deletion has started takes no new detached work. */
42
49
  profileDeleting?: (profile: string | null) => boolean;
43
50
  /** TAL-372: the session's background work receipts, for the delegation rows that started them. */
44
- backgroundReceipts?: (sid: string) => Receipt[];
51
+ backgroundReceipts?: (sid: string) => Receipt[] | Promise<Receipt[]>;
52
+ backgroundPending?: (sid: string) => Promise<Set<string>>;
45
53
  store: SessionStore;
46
54
  drafts: DraftStore;
47
55
  events: SessionEventBus;
@@ -64,15 +72,26 @@ export interface SessionServiceDeps {
64
72
  journalDegraded: (streamId: string) => boolean;
65
73
  /** TAL-424: the live stream's pending steers, as clients show them. */
66
74
  pendingSteers?: (streamId: string) => PendingSteer[];
75
+ /** The live stream's server-selected presentation, else null. */
76
+ runStatus?: (streamId: string) => RunStatus | null;
77
+ /** TAL-1006: the live stream's open compression span start (epoch seconds), else null. */
78
+ compressionStartedAt?: (streamId: string) => number | null;
79
+ /** TAL-899: whether a Stop holds the session's automatic turns until the user's next turn. */
80
+ automaticTurnsHeld?: (sid: string) => Promise<boolean>;
81
+ sessionNotices?: (sid: string) => SessionNotice[];
82
+ sessionGoal?: (sid: string) => SessionGoal | null;
67
83
  /** Drop the session's cached agent; `endSession` (delete/clear) also ends its approval grants and parked approvals. */
68
- evictAgent: (sid: string, endSession?: boolean) => void;
84
+ evictAgent: (sid: string, endSession?: boolean) => Promise<void>;
69
85
  closeTerminal: (sid: string) => void;
70
- /** Python `delete_cli_session`: remove the session's rows from the profile's state.db; resolves false on failure. */
71
- deleteCliSession: (profile: string | null, sid: string) => Promise<boolean>;
86
+ /**
87
+ * Python `delete_cli_session`: remove the session and its compression continuations from the profile's state.db in one
88
+ * transaction; `ok` is false on failure, with `refused` when another Agent process holds any of them (TAL-792).
89
+ */
90
+ deleteCliSession: (profile: string | null, sid: string) => Promise<SidecarResult<'state_db.delete_cli_session'>>;
72
91
  };
73
92
  attachmentDir: (sid: string) => string;
74
93
  /** A deleted session can never be viewed, so its finished runs are cleared from the relay. */
75
- clearRelayCompletions?: (sid: string, profile: string | null) => void;
94
+ clearRelayCompletions?: (sid: string, profile: string | null) => Promise<void>;
76
95
  /** Run journals are removed with their session (Python `delete_run_journal`). */
77
96
  journal?: RunJournal;
78
97
  hermesHome: string;
@@ -103,22 +122,25 @@ export interface SessionServiceDeps {
103
122
  /** `truncated`: source kinds whose rows stopped at the per-kind window on this read (TAL-482). */
104
123
  cliSessions: (profile: string, opts: {
105
124
  sourceFilter: string | null;
125
+ sessionIds?: readonly string[];
106
126
  }) => Promise<{
107
127
  rows: Row[];
108
128
  truncated: ReadonlySet<string>;
129
+ storage: AgentStorage;
109
130
  }>;
110
131
  /** `cliSessions` read on this thread, for the synchronous single-session lookups. */
111
132
  cliSessionsSync: (profile: string, opts: {
112
133
  sourceFilter: string | null;
113
- }) => {
134
+ sessionIds?: readonly string[];
135
+ }) => Promise<{
114
136
  rows: Row[];
115
137
  truncated: ReadonlySet<string>;
116
- };
138
+ }>;
117
139
  /** TAL-551: read-only Claude Code transcripts, listed with the CLI rows when both toggles are on. */
118
140
  claudeCode?: ClaudeCodeSessionSource;
119
141
  profileHome: (profile: string) => string;
120
142
  /** Python `commit_session_memory` (fire-and-forget): the cached Agent flushes memory for a session the user left. */
121
- commitSessionMemory?: (sid: string) => void;
143
+ commitSessionMemory?: (sid: string) => Promise<void>;
122
144
  /** TAL-186: the `/api/media` allow-list the transcript media projection rewrites against; without it nothing local is rewritten. */
123
145
  media?: {
124
146
  access: MediaAccessDeps;
@@ -127,22 +149,25 @@ export interface SessionServiceDeps {
127
149
  }
128
150
  export declare class SessionService {
129
151
  readonly deps: SessionServiceDeps;
152
+ owner: GatewaySessions | null;
130
153
  /** TAL-255: one manual compression worker per session, shared by every compress route. */
131
154
  private readonly compressionJobs;
155
+ /** TAL-1005: the turns now waiting on their session's compression job before they read its history. */
156
+ private readonly compactionWaiters;
132
157
  constructor(deps: SessionServiceDeps);
133
158
  private get store();
134
159
  /**
135
- * TAL-577: user-turn admission shared by `chat.start` and server-side wakeups, after `ensureAgentRuntimeCurrent`.
160
+ * User-turn admission shared by `chat.start` and automatic turns through `TurnRunner.startServerTurn`.
136
161
  * A requested workspace must be trusted; the session's own one, when its directory is gone, falls back to the last one.
137
162
  */
138
- turnWorkspace(s: Session, requested?: unknown): string;
163
+ turnWorkspace(s: Session, requested?: unknown): Promise<string>;
139
164
  /** A `@provider:` id is split; any other model an explicit pick did not just choose is checked against the catalog (TAL-542). */
140
165
  turnModel(s: Session, body?: Record<string, unknown>): [string | null, string | null, boolean];
141
166
  /**
142
167
  * TAL-186: rewrites a session's media references to their URLs. A local path is rewritten only when `/api/media`
143
168
  * serves it for this session, under the same resolution, so every rewritten reference loads.
144
169
  */
145
- mediaProjector(s: Session): (text: string) => MediaProjection | null;
170
+ mediaProjector(s: Session): Promise<(text: string) => MediaProjection | null>;
146
171
  publish(reason: string, profile?: string | null, sessionId?: string | null): void;
147
172
  visibleToActiveProfile(profile: string | null | undefined): boolean;
148
173
  /**
@@ -150,13 +175,16 @@ export declare class SessionService {
150
175
  * not slip past the profile check into a handler that trims and trusts it. A non-empty id that is still unsafe after
151
176
  * trimming can name no session and is refused here instead of falling through.
152
177
  */
153
- sessionIdVisible(raw: unknown): boolean;
178
+ sessionIdVisible(raw: unknown): Promise<boolean>;
179
+ private localTargets;
180
+ /** One receipt-backed physical target for every operation on a local conversation alias. */
181
+ resolveSessionId(sid: string): string;
154
182
  /** Python `_lookup_cli_session_metadata(...).get('read_only')` plus the persisted sidecar flag and a not-claimable foreign owner. */
155
183
  private isReadOnlyImport;
156
184
  /** Python `_session_is_subagent_view_only`: a delegated child by any signal — the persisted sidecar or the state.db row. */
157
- isSubagentViewOnly(sid: string): boolean;
185
+ isSubagentViewOnly(sid: string): Promise<boolean>;
158
186
  /** TAL-358: batched `sessions.source` owners from the active profile's state.db. */
159
- readonly stateDbSources: (ids: string[]) => Map<string, string> | null;
187
+ readonly stateDbSources: (ids: string[], profile?: string) => Map<string, StateDbSessionSource> | null;
160
188
  /**
161
189
  * TAL-590 (Python #3238): the read-only CLI or API-server imports among `rows` whose active-profile state.db row is
162
190
  * gone, so their source was deleted outside Web and no Web action could remove them. An unreadable state.db proves
@@ -172,14 +200,25 @@ export declare class SessionService {
172
200
  */
173
201
  private listStateDbLookups;
174
202
  /** The persisted flag folded with the state.db owner lock (TAL-358): the one read-only rule for mutation gates and the wire. */
175
- isReadOnly(s: Session): boolean;
203
+ readOnlyReason(s: Session | string, profile?: string): Promise<string | null>;
204
+ private loadedReadOnlyReason;
205
+ /** A loaded session's final owner check stays synchronous with the protected sidecar dispatch. */
206
+ assertWritable(session: Session, profile?: string): void;
207
+ assertWritable(session: string, profile?: string): Promise<void>;
208
+ /** Controls can exist without a local session file; use the same id the sidecar will address. */
209
+ idForMutation(sid: string): Promise<string>;
210
+ isReadOnly(s: Session): Promise<boolean>;
211
+ /** Recheck after the mutex wait; legacy local metadata/handoff actions keep their existing read-only allowance. */
212
+ private withMutationLock;
176
213
  /** Full session for mutation, refusing read-only imports (Python `_get_or_materialize_session`). */
177
- getForMutation(sid: string): Session;
214
+ getForMutation(sid: string): Promise<Session>;
178
215
  private get404;
179
216
  /** The Agent's state.db rows for this session (empty for subagent views, which never merge). */
180
217
  stateDbRows(s: Session): Message[];
181
218
  /** `stateDbRows` and whether the read succeeded on a state.db whose messages carry ids (TAL-493). */
182
219
  stateDbRead(s: Session): StateDbRead;
220
+ /** Preserve existing transcript provenance before a turn adds Agent rows from its starting database read. */
221
+ beginStateDbTurn(s: Session): StateDbRead;
183
222
  private stateDbPath;
184
223
  /**
185
224
  * Python `_merged_session_messages_for_display`: the sidecar transcript merged append-only with the Agent's state.db
@@ -208,6 +247,7 @@ export declare class SessionService {
208
247
  previousContext: Message[];
209
248
  agentRows?: Message[] | null;
210
249
  startId?: number | null;
250
+ startGeneration?: string | null;
211
251
  read?: StateDbRead;
212
252
  }): void;
213
253
  /**
@@ -247,43 +287,54 @@ export declare class SessionService {
247
287
  * a WebUI sidecar. `materialized` sessions are writeable (the caller persists the sidecar), `not_claimable` ones are
248
288
  * read-only stubs, `was_webui`/`no_foreign_state`/`invalid_sid` answer 404.
249
289
  */
250
- claimOrSynthesizeCliSession(sid: string, metaIn?: Row | null): {
290
+ claimOrSynthesizeCliSession(sid: string, metaIn?: Row | null): Promise<{
251
291
  session: Session | null;
252
292
  reason: 'materialized' | 'not_claimable' | 'was_webui' | 'no_foreign_state' | 'invalid_sid';
253
- };
293
+ }>;
254
294
  private mutationTarget;
255
295
  /**
256
296
  * TAL-551: a Claude Code import is a live view of a transcript Claude Code keeps writing. Web never stores a copy,
257
297
  * which would freeze its messages and pin it to one profile.
258
298
  */
259
299
  private rejectClaudeCode;
260
- private rejectSubagent;
300
+ private rejectViewOnly;
301
+ /** All transcript transports use the same live-run and durable-pending evidence. */
302
+ backgroundUpdates<T>(s: Session, messages: T[], reviewRows?: (turnId: string) => Message[]): Promise<T[]>;
261
303
  /** TAL-372: each delegation row of a turn's scene carries the status of the work it started. */
262
- backgroundLinked(s: Session, messages: unknown[]): unknown[];
304
+ backgroundLinked(s: Session, messages: unknown[]): Promise<unknown[]>;
263
305
  /** `compact()` plus messages, redacted for the wire (Python `_public_session_projection`). */
264
- publicSession(s: Session, withMessages?: boolean): Record<string, unknown>;
306
+ publicSession(s: Session, withMessages?: boolean, messages?: Message[]): Promise<Record<string, unknown>>;
265
307
  /** `compact()` with the wire streaming/read-only flags (TAL-312), for replies that return the session row. */
266
- wireRow(s: Session): Record<string, unknown>;
308
+ wireRow(s: Session): Promise<Record<string, unknown>>;
267
309
  /**
268
310
  * TAL-303: the label for a session's workspace, from its own profile's registry (a profileless row is the root's).
269
311
  * One resolver serves one response, so each profile's registry is read once however many rows it names.
270
312
  */
271
- workspaceNames(): (row: {
313
+ workspaceNames(rows: readonly {
272
314
  profile?: unknown;
273
315
  workspace?: unknown;
274
- }) => string | null;
316
+ }[]): Promise<(row: {
317
+ profile?: unknown;
318
+ workspace?: unknown;
319
+ }) => string | null>;
275
320
  /** The agent's display name for a session's profile (`assistant_name`). */
276
321
  assistantName(s: Session): string;
277
322
  /** Python `public_session_projection(s.__dict__)`: every persisted field, redacted (session export). */
278
323
  publicSessionDocument(s: Session): Record<string, unknown>;
279
324
  private loadRevision;
325
+ private readonly pageTails;
326
+ private readonly pageContexts;
327
+ private prefixIndex;
328
+ /** Existing projections, once per complete turn range, in absolute transcript coordinates. */
329
+ private deriveRange;
330
+ private limitedDetail;
280
331
  /** Python `_handle_session_get` on the WebUI sidecar (state.db merge pending). */
281
332
  detail(sid: string, query: {
282
333
  messages?: string | null | undefined;
283
334
  msg_limit?: string | null | undefined;
284
335
  msg_before?: string | null | undefined;
285
336
  resolve_model?: string | null | undefined;
286
- }): Record<string, unknown>;
337
+ }): Promise<Record<string, unknown>>;
287
338
  /**
288
339
  * TAL-454: the chat `/branch` copied, while it still loads (archived included). A compression continuation is also a
289
340
  * fork of its parent but not a branch, so it links nowhere.
@@ -299,10 +350,13 @@ export declare class SessionService {
299
350
  /** A session without a sidecar, synthesized from state.db for this profile; 404/409 like the detail. */
300
351
  private foreignSession;
301
352
  /** Python `_handle_session_get` without a sidecar: the state.db transcript as a (read-only or claimable) foreign stub. */
353
+ foreignMessages(messages: Message[], session: object): Message[];
302
354
  private foreignSessionDetail;
303
355
  /** Clear persisted streaming flags when no live stream backs them (Python `_clear_stale_stream_state`). */
304
- clearStaleStreamState(session: Session): boolean;
305
- list(params: Omit<ListParams, 'activeProfile' | 'isolatedProfileMode' | 'profilesMatch' | 'cliRows' | 'gatewayIdentity' | 'stateDbSources' | 'truncatedSources' | 'pruneOrphanedImports' | 'webuiRows'>): Promise<{
356
+ clearStaleStreamState(session: Session): Promise<boolean>;
357
+ /** Expand saved aliases in one worker query independently of the bounded native sidebar window. */
358
+ private persistedAliasMetadata;
359
+ list(params: Omit<ListParams, 'activeProfile' | 'isolatedProfileMode' | 'profilesMatch' | 'cliRows' | 'gatewayIdentity' | 'stateDbSources' | 'truncatedSources' | 'agentStorage' | 'pruneOrphanedImports' | 'webuiRows'>): Promise<{
306
360
  body: ListResponse;
307
361
  etag: string;
308
362
  }>;
@@ -310,7 +364,7 @@ export declare class SessionService {
310
364
  content: boolean;
311
365
  depth: number;
312
366
  allProfiles: boolean;
313
- }): Record<string, unknown>;
367
+ }): Promise<Record<string, unknown>>;
314
368
  /**
315
369
  * TAL-308: the sidebar search. The candidates are exactly the `/api/sessions` rows for `params` (visibility, source,
316
370
  * archived, projection and order), narrowed to `projectId` (`none`: rows without a project), then matched on the
@@ -323,9 +377,9 @@ export declare class SessionService {
323
377
  }): Promise<Record<string, unknown>>;
324
378
  /** The first of a stored session's first `depth` messages (0: all) containing every term, with its redacted excerpt. */
325
379
  private contentMatch;
326
- status(sid: string): Record<string, unknown>;
327
- usage(sid: string): Record<string, unknown>;
328
- resolveNewSessionWorkspace(body: Record<string, unknown>, visiblePrevSessionId: string | null, profile: string | null): string | null;
380
+ status(sid: string): Promise<Record<string, unknown>>;
381
+ usage(sid: string): Promise<Record<string, unknown>>;
382
+ resolveNewSessionWorkspace(body: Record<string, unknown>, visiblePrevSessionId: string | null, profile: string | null): Promise<string | null>;
329
383
  /** The server owns the names' normalization (TAL-631): trimmed, blanks dropped, and nothing left is the profile's defaults. */
330
384
  validateToolsetsShape(toolsets: unknown): string[] | null;
331
385
  create(body: Record<string, unknown>, opts?: {
@@ -335,7 +389,7 @@ export declare class SessionService {
335
389
  repo_root: string;
336
390
  created_at: number;
337
391
  } | null;
338
- }): Session;
392
+ }): Promise<Session>;
339
393
  /** Python `_persist_generated_session_title`: title + generated/manual flags under the session lock, then insights sync. */
340
394
  persistGeneratedTitle(sid: string, nextTitle: string, eventReason: string): Promise<Session>;
341
395
  rename(sid: string, rawTitle: unknown): Promise<Record<string, unknown>>;
@@ -344,32 +398,74 @@ export declare class SessionService {
344
398
  private pinUnserialized;
345
399
  archive(sid: string, archived: boolean): Promise<Record<string, unknown>>;
346
400
  move(sid: string, targetProjectId: string | null): Promise<Record<string, unknown>>;
401
+ private readonly modelConfirmationKey;
402
+ private confirmModelSwitch;
347
403
  update(sid: string, body: Record<string, unknown>): Promise<Record<string, unknown>>;
348
404
  setToolsets(sid: string, toolsets: unknown): Promise<Record<string, unknown>>;
349
405
  /** Python `/api/personality/set` persistence: the name only; the prompt is resolved by the caller. */
350
406
  setPersonality(sid: string, name: string | null): Promise<string | null>;
351
- truncate(sid: string, keepRaw: unknown): Promise<Record<string, unknown>>;
407
+ /**
408
+ * TAL-929: under a `hold`, a cut that discards more than one user turn changes nothing and answers with its counts,
409
+ * unless `confirmToken` is the token of the rows it would remove now: a transcript that changed since asks again.
410
+ * Without one (a released App, which asked on the device) the cut proceeds as before.
411
+ */
412
+ truncate(sid: string, keepRaw: unknown, hold?: {
413
+ confirmToken: string | null;
414
+ } | null): Promise<Record<string, unknown>>;
415
+ /**
416
+ * TAL-929: the confirmation a cut at `keep` needs, or null for one that removes at most one user turn. Counted on the rows
417
+ * the detail shows, state.db continuation included, since `keep` indexes them: the user turns the cut removes, and the
418
+ * messages after the row it starts at.
419
+ */
420
+ private heldCut;
352
421
  /**
353
422
  * Python `_handle_session_compress_start`: validate, then join the session's running job or start a fresh one (a
354
423
  * finished job is replaced). The stale-runtime refusal comes before a job exists; a running job is joined without it.
355
424
  */
356
- startCompression(sid: string, focusRaw: unknown): Promise<CompressionJob>;
425
+ startCompression(sid: string, focusRaw: unknown, opts?: {
426
+ automatic?: boolean;
427
+ }): Promise<CompressionJob>;
428
+ /**
429
+ * TAL-1005: compact the session in its joinable compression job before the next turn reads its history. A running job
430
+ * is always joined; a new one starts when the session is `due` (`compactionDue`, read from the store when omitted).
431
+ * `turn` is the waiting turn's stream: the job leaves its rows alone. `onWait` runs once a job is being waited on; an abort of `signal` (the turn's Stop) ends the wait but not the
432
+ * job. True when the job installed a compressed context. Never throws: a failed job leaves the Agent's own preflight.
433
+ */
434
+ ensureCompacted(sid: string, opts?: {
435
+ turn?: string;
436
+ signal?: AbortSignal;
437
+ onWait?: () => void | Promise<void>;
438
+ due?: boolean;
439
+ }): Promise<boolean>;
440
+ /**
441
+ * TAL-1005: measure the model context again when it holds a post-compression estimate the rows after it may have
442
+ * outgrown (a waiting turn's prompt, a stopped or failed turn's work). Skipped while a turn owns the session, which
443
+ * settles its own figures, or once the estimate changed meanwhile. True when it stored a new estimate.
444
+ */
445
+ remeasureContext(sid: string): Promise<boolean>;
446
+ private storedCompactionDue;
447
+ /** Whether the session's context (the post-compression estimate, else the last prompt) reached the next turn's threshold. */
448
+ compactionDue(s: Session): boolean;
357
449
  /** The session a compression may run on now, and the model history it compresses: the context a turn would send, so a
358
- * repeat compression builds on the previous summary instead of re-reading the whole display transcript. */
450
+ * repeat compression builds on the previous summary instead of re-reading the whole display transcript. `context` is
451
+ * that history unsanitized and `stateRows` the state.db read it came from. */
359
452
  private compressionTarget;
360
- /** The loaded session's own compression guards: no running turn and enough model history. */
361
- private compressionHistory;
453
+ /**
454
+ * The loaded session's own compression guards: no running turn and enough model history. TAL-1005: a turn waiting on
455
+ * the compression has not read its history yet, so it does not block; the context leaves out its rows, as it does.
456
+ */
457
+ private compressionContext;
362
458
  /** TAL-614: whether a manual compression would start now: `compressionTarget`'s gates, with `readOnly` the wire flag. */
363
459
  private canCompress;
364
460
  /** TAL-258: the session's WebUI record (absent for a CLI or gateway session) and the profile whose state.db holds its rows. */
365
461
  private handoffTarget;
366
462
  /** Python `_handle_conversation_rounds` (TAL-258): the session's rounds and whether the handoff dock is due. */
367
- conversationRounds(sid: string, since: number | null): {
463
+ conversationRounds(sid: string, since: number | null): Promise<{
368
464
  ok: true;
369
465
  rounds: number;
370
466
  threshold: number;
371
467
  should_show: boolean;
372
- };
468
+ }>;
373
469
  /**
374
470
  * Python `_handle_handoff_summary` (TAL-258): the session's main model summarizes its last 50 state.db messages after
375
471
  * `since`, and the summary is appended as a display-only `handoff_summary` tool row. A failed or cut-off answer falls
@@ -391,25 +487,30 @@ export declare class SessionService {
391
487
  * the session lock keeps two summaries from both passing that check. A card neither store saved answers 503.
392
488
  */
393
489
  private persistHandoffMarker;
490
+ /** The same live presentation for session detail and journal snapshot recovery. */
491
+ currentRunStatus(sid: string, streamId: string | null): RunStatus | null;
394
492
  /** The session's compression job; a deleted session's finished result is dropped rather than served. */
395
- compressionJob(sid: string): CompressionJob | undefined;
493
+ compressionJob(sid: string): Promise<CompressionJob | undefined>;
396
494
  /**
397
495
  * Python `_handle_session_compress`: compress the sanitized transcript in the sidecar outside the lock, then under the
398
- * session lock refuse a result the session moved past (stream state or transcript changed) and install it as the
496
+ * session lock refuse a result the session moved past (another stream, or a transcript changed) and install it as the
399
497
  * model context with the manual anchor and the #4836 boundary that keeps state.db from replaying compressed rows.
400
- * The guards run again first: a stream may have started while the caller awaited the runtime check.
498
+ * The guards run again first: a stream may have started while the caller awaited the runtime check. TAL-1005: rows
499
+ * the job's waiting turns added meanwhile (a prompt, a Stop) stay after the compressed context.
401
500
  */
402
501
  private compressSession;
502
+ /** Clear and delete share the profile-scoped, best-effort Agent session boundary. */
503
+ private finalizeSession;
403
504
  clear(sid: string): Promise<Record<string, unknown>>;
404
505
  retry(sid: string): Promise<Record<string, unknown>>;
405
506
  undo(sid: string): Promise<Record<string, unknown>>;
406
- duplicate(sid: string): Record<string, unknown>;
407
- branch(sid: string, body: Record<string, unknown>): Record<string, unknown>;
507
+ duplicate(sid: string): Promise<Record<string, unknown>>;
508
+ branch(sid: string, body: Record<string, unknown>): Promise<Record<string, unknown>>;
408
509
  /** Python `read_session_lineage_report` on the active profile's state.db. */
409
510
  lineageReport(sid: string): Record<string, unknown>;
410
511
  /** TAL-259: recovery reads the active profile's state.db, and a recovered sidecar joins that profile. */
411
512
  private recoveryDeps;
412
- recoveryAudit(): RecoveryAudit;
513
+ recoveryAudit(): Promise<RecoveryAudit>;
413
514
  recoveryRepairSafe(): Promise<RecoveryRepair>;
414
515
  /**
415
516
  * Python `_handle_session_compression_recovery_start`: open a compression-exhausted session's focused continuation, an
@@ -420,30 +521,32 @@ export declare class SessionService {
420
521
  /** Python `find_compression_recovery_session`: the oldest same-profile continuation started from `sid`, cached or persisted. */
421
522
  private compressionRecoveryChild;
422
523
  /** The run that keeps `delete` answering 409, if any; stream status reports it so a draining client can wait on it (TAL-622). */
423
- activeRunBlocking(sid: string): string | null;
524
+ activeRunBlocking(sid: string): Promise<string | null>;
424
525
  delete(sid: string): Promise<Record<string, unknown>>;
425
- cleanup(zeroOnly: boolean): Record<string, unknown>;
426
- import(body: Record<string, unknown>): Record<string, unknown>;
427
- readDraft(sid: string): Record<string, unknown>;
526
+ /** The committed Agent deletion targets and cleanup outcome; throws 409 `refused` while an Agent process holds a row. */
527
+ private deleteStateDbRows;
528
+ cleanup(zeroOnly: boolean): Promise<Record<string, unknown>>;
529
+ import(body: Record<string, unknown>): Promise<Record<string, unknown>>;
530
+ readDraft(sid: string): Promise<Record<string, unknown>>;
428
531
  writeDraft(body: Record<string, unknown>): Promise<Record<string, unknown>>;
429
532
  saveAnchorScene(body: Record<string, unknown>): Promise<Record<string, unknown>>;
430
533
  /** The session and the full transcript its detail is built from; a state.db-only session gives its synthesized one. */
431
534
  private fullTranscript;
432
- readAnchorScene(query: Record<string, string | null | undefined>): Record<string, unknown>;
535
+ readAnchorScene(query: Record<string, string | null | undefined>): Promise<Record<string, unknown>>;
433
536
  /** TAL-331: one tool call's whole result, which a limited response clipped (`result_truncated`), redacted like the detail. */
434
537
  readToolResult(query: {
435
538
  session_id: string;
436
539
  tool_call_id: string;
437
- }): {
540
+ }): Promise<{
438
541
  tool_call_id: string;
439
542
  result: string;
440
543
  result_view: ToolResultView;
441
- };
442
- createShare(sid: string): Record<string, unknown>;
443
- revokeShare(sid: string): Record<string, unknown>;
444
- loadShare(token: string): Record<string, unknown>;
544
+ }>;
545
+ createShare(sid: string): Promise<Record<string, unknown>>;
546
+ revokeShare(sid: string): Promise<Record<string, unknown>>;
547
+ loadShare(token: string): Promise<Record<string, unknown>>;
445
548
  yolo(sid: string): Record<string, unknown>;
446
- setYolo(sid: string, enabled: boolean): Record<string, unknown>;
549
+ setYolo(sid: string, enabled: boolean): Promise<Record<string, unknown>>;
447
550
  }
448
551
  export declare const AUTO_TITLE_LABELS: Set<string>;
449
552
  /** Python `apply_session_title_rename`. */