@maudecode/talaria-web 1.14.0 → 1.15.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.
- package/_release.json +4 -4
- package/dist/api/automation-router.d.ts +102 -0
- package/dist/api/automation-router.js +2 -0
- package/dist/api/automation-router.js.map +1 -1
- package/dist/api/chat-router.d.ts +589 -52
- package/dist/api/chat-router.js +111 -121
- package/dist/api/chat-router.js.map +1 -1
- package/dist/api/router.d.ts +2 -1
- package/dist/api/router.js +3 -1
- package/dist/api/router.js.map +1 -1
- package/dist/api/sessions-router.d.ts +1913 -299
- package/dist/api/sessions-router.js +35 -24
- package/dist/api/sessions-router.js.map +1 -1
- package/dist/api/settings-router.d.ts +35 -8
- package/dist/api/settings-router.js +14 -10
- package/dist/api/settings-router.js.map +1 -1
- package/dist/api/sse-routes.js +1 -1
- package/dist/api/sse-routes.js.map +1 -1
- package/dist/app.d.ts +2715 -418
- package/dist/config/agent-config.js +20 -15
- package/dist/config/agent-config.js.map +1 -1
- package/dist/http/context.d.ts +4 -2
- package/dist/http/context.js.map +1 -1
- package/dist/onboarding.d.ts +1 -1
- package/dist/onboarding.js +2 -1
- package/dist/onboarding.js.map +1 -1
- package/dist/providers/catalog.d.ts +11 -0
- package/dist/providers/catalog.js +32 -1
- package/dist/providers/catalog.js.map +1 -1
- package/dist/runtime.js +54 -16
- package/dist/runtime.js.map +1 -1
- package/dist/sessions/background-tasks.d.ts +137 -0
- package/dist/sessions/background-tasks.js +349 -0
- package/dist/sessions/background-tasks.js.map +1 -0
- package/dist/sessions/background-updates.d.ts +56 -0
- package/dist/sessions/background-updates.js +152 -0
- package/dist/sessions/background-updates.js.map +1 -0
- package/dist/sessions/cli-sessions.d.ts +6 -0
- package/dist/sessions/cli-sessions.js +20 -7
- package/dist/sessions/cli-sessions.js.map +1 -1
- package/dist/sessions/completions.d.ts +17 -1
- package/dist/sessions/completions.js +83 -12
- package/dist/sessions/completions.js.map +1 -1
- package/dist/sessions/compress.d.ts +33 -0
- package/dist/sessions/compress.js +66 -0
- package/dist/sessions/compress.js.map +1 -0
- package/dist/sessions/list.d.ts +14 -0
- package/dist/sessions/list.js +89 -16
- package/dist/sessions/list.js.map +1 -1
- package/dist/sessions/merge.d.ts +12 -1
- package/dist/sessions/merge.js +64 -7
- package/dist/sessions/merge.js.map +1 -1
- package/dist/sessions/relay.d.ts +7 -1
- package/dist/sessions/relay.js +17 -4
- package/dist/sessions/relay.js.map +1 -1
- package/dist/sessions/service.d.ts +61 -3
- package/dist/sessions/service.js +243 -15
- package/dist/sessions/service.js.map +1 -1
- package/dist/sessions/session.d.ts +16 -0
- package/dist/sessions/session.js +23 -2
- package/dist/sessions/session.js.map +1 -1
- package/dist/sessions/source-kind.d.ts +22 -0
- package/dist/sessions/source-kind.js +54 -0
- package/dist/sessions/source-kind.js.map +1 -0
- package/dist/sessions/state-db.d.ts +10 -1
- package/dist/sessions/state-db.js +48 -17
- package/dist/sessions/state-db.js.map +1 -1
- package/dist/sessions/store.d.ts +2 -0
- package/dist/sessions/store.js +23 -4
- package/dist/sessions/store.js.map +1 -1
- package/dist/sessions/streams.d.ts +3 -0
- package/dist/sessions/streams.js +0 -5
- package/dist/sessions/streams.js.map +1 -1
- package/dist/sessions/titles.d.ts +4 -0
- package/dist/sessions/titles.js +16 -0
- package/dist/sessions/titles.js.map +1 -1
- package/dist/sessions/turn-context.d.ts +1 -0
- package/dist/sessions/turn-context.js +3 -0
- package/dist/sessions/turn-context.js.map +1 -1
- package/dist/sessions/turn.d.ts +66 -6
- package/dist/sessions/turn.js +304 -61
- package/dist/sessions/turn.js.map +1 -1
- package/dist/settings.d.ts +2 -0
- package/dist/settings.js +4 -0
- package/dist/settings.js.map +1 -1
- package/dist/tools/crons.d.ts +34 -3
- package/dist/tools/crons.js +271 -31
- package/dist/tools/crons.js.map +1 -1
- package/package.json +2 -2
- package/sidecar/talaria_sidecar/__init__.py +1 -1
- package/sidecar/talaria_sidecar/methods/chat.py +233 -6
- package/sidecar/talaria_sidecar/methods/cron.py +22 -14
- package/sidecar/talaria_sidecar/methods/process.py +318 -0
- package/static/dist/FILES.txt +120 -119
- package/static/dist/assets/AppShell-orat1s43.js +1 -0
- package/static/dist/assets/ChatPage-ojhka3hy.js +22 -0
- package/static/dist/assets/HubRoute-gxgw1t33.js +2 -0
- package/static/dist/assets/{Markdown-emii55o0.js → Markdown-dy8t4dy7.js} +7 -7
- package/static/dist/assets/{RightPanel-o73y98dn.js → RightPanel-c66ani1s.js} +1 -1
- package/static/dist/assets/Select-fswf66up.js +1 -0
- package/static/dist/assets/SessionListPanel-goh5mtt8.js +1 -0
- package/static/dist/assets/{SettingsLayout-lnn2wo2s.js → SettingsLayout-n5d4wq4m.js} +1 -1
- package/static/dist/assets/{States-e5hv6gdh.js → States-kxyu50at.js} +1 -1
- package/static/dist/assets/{Toaster-c4jq1i26.js → Toaster-6zmbcqgg.js} +1 -1
- package/static/dist/assets/_app-fowyruiu.js +1 -0
- package/static/dist/assets/_app.ext._extensionId-nvjyrwhy.js +1 -0
- package/static/dist/assets/_app.index-c9zv4y7w.js +1 -0
- package/static/dist/assets/_app.insights-jf12nofo.js +1 -0
- package/static/dist/assets/_app.kanban-lri5a4yu.js +1 -0
- package/static/dist/assets/_app.logs-md1p0zqo.js +1 -0
- package/static/dist/assets/_app.memory-bzvf2e28.js +1 -0
- package/static/dist/assets/_app.profiles-jpg7zmbn.js +1 -0
- package/static/dist/assets/{_app.session._sessionId-m6nx9g8t.js → _app.session._sessionId-gyoh5ylx.js} +1 -1
- package/static/dist/assets/_app.settings-mpuwlx4j.js +1 -0
- package/static/dist/assets/_app.settings._section-knz8rwoj.js +1 -0
- package/static/dist/assets/_app.skills-fwu1dkir.js +1 -0
- package/static/dist/assets/_app.tasks-h9gphtl3.js +2 -0
- package/static/dist/assets/_app.todos-hd1dnvrh.js +1 -0
- package/static/dist/assets/_app.workspaces-l8toyn5f.js +1 -0
- package/static/dist/assets/{abnfDiagram-VCTEODGH-kejgxpil.js → abnfDiagram-VCTEODGH-cjqletra.js} +1 -1
- package/static/dist/assets/architecture-7GRP2DOG-cavnusaw.js +1 -0
- package/static/dist/assets/{architectureDiagram-5GKGNRK7-hqnf84fc.js → architectureDiagram-5GKGNRK7-k5a7v36n.js} +1 -1
- package/static/dist/assets/back-e4m6nsnm.js +1 -0
- package/static/dist/assets/{blockDiagram-I7D4REHJ-l1466a7j.js → blockDiagram-I7D4REHJ-b195z021.js} +1 -1
- package/static/dist/assets/{c4Diagram-7LVT6UL2-gg3aq3sr.js → c4Diagram-7LVT6UL2-olu212k1.js} +1 -1
- package/static/dist/assets/channel-gozy3dp3.js +1 -0
- package/static/dist/assets/{chunk-4HAMMTFA-oalgz5l8.js → chunk-4HAMMTFA-b8o1nufs.js} +1 -1
- package/static/dist/assets/{chunk-75Z2AOVW-babmzhdg.js → chunk-75Z2AOVW-l1seddto.js} +1 -1
- package/static/dist/assets/{chunk-DU6HZSFF-lagu350c.js → chunk-DU6HZSFF-lo5zg15v.js} +3 -3
- package/static/dist/assets/{chunk-F27PBJKO-gjh2tqif.js → chunk-F27PBJKO-dsdzrp16.js} +1 -1
- package/static/dist/assets/{chunk-GMAD6QVW-ipdgja5c.js → chunk-GMAD6QVW-f3fxqq8b.js} +1 -1
- package/static/dist/assets/{chunk-GVQU2GXP-j8wkn1at.js → chunk-GVQU2GXP-h8egxtf6.js} +1 -1
- package/static/dist/assets/{chunk-IMKFNOWR-k00laqyk.js → chunk-IMKFNOWR-iolwd8s0.js} +1 -1
- package/static/dist/assets/{chunk-L3NEJ4N5-fju6xqj4.js → chunk-L3NEJ4N5-b88bbtwi.js} +1 -1
- package/static/dist/assets/{chunk-OSK3NFVY-bi6widqt.js → chunk-OSK3NFVY-e3e7nr6s.js} +1 -1
- package/static/dist/assets/{chunk-P2QGCYS3-czr4tebv.js → chunk-P2QGCYS3-mdc46rt1.js} +1 -1
- package/static/dist/assets/{chunk-POPQ4Y6H-ktdhn67w.js → chunk-POPQ4Y6H-kqlllrrm.js} +1 -1
- package/static/dist/assets/{chunk-PWAF6VOD-ii4dsu0d.js → chunk-PWAF6VOD-he585k2x.js} +1 -1
- package/static/dist/assets/{chunk-SHT3W25Y-fpwk3xxp.js → chunk-SHT3W25Y-gh94y9a4.js} +1 -1
- package/static/dist/assets/{chunk-SVP7TREG-k0jrvhei.js → chunk-SVP7TREG-euxp9y7e.js} +1 -1
- package/static/dist/assets/{chunk-TICWLB2K-nkqv9ot0.js → chunk-TICWLB2K-c8cxes1q.js} +1 -1
- package/static/dist/assets/classDiagram-ZZMXUADV-n0vs2f2q.js +1 -0
- package/static/dist/assets/classDiagram-v2-VYDZK3BY-n0vs2f2q.js +1 -0
- package/static/dist/assets/{copied-gpchexqu.js → copied-kq0u3ht7.js} +1 -1
- package/static/dist/assets/{cynefin-OW5HDTMX-lqxt8rs3.js → cynefin-OW5HDTMX-lxd44ux4.js} +1 -1
- package/static/dist/assets/{cynefinDiagram-5FMLGOSQ-j9eqovf5.js → cynefinDiagram-5FMLGOSQ-njpiwat8.js} +1 -1
- package/static/dist/assets/{dagre-GXQ25YYZ-m9agobjm.js → dagre-GXQ25YYZ-nvgy6yju.js} +1 -1
- package/static/dist/assets/{diagram-S7CK7UJ4-itodc50c.js → diagram-S7CK7UJ4-g98nyv72.js} +1 -1
- package/static/dist/assets/{diagram-UQ7AKVKN-n1h2t4ah.js → diagram-UQ7AKVKN-ovgm6lvv.js} +1 -1
- package/static/dist/assets/{diagram-VSXAHHWV-lvtvm9bj.js → diagram-VSXAHHWV-pb2bn2e4.js} +1 -1
- package/static/dist/assets/{diagram-VX7I27RA-cgas58sy.js → diagram-VX7I27RA-6j4mvfqo.js} +1 -1
- package/static/dist/assets/{diagram-Z3DM3KII-d0aeps1q.js → diagram-Z3DM3KII-dqmb982r.js} +1 -1
- package/static/dist/assets/{ebnfDiagram-PWID7BFC-md345fyq.js → ebnfDiagram-PWID7BFC-ozbpzb6d.js} +1 -1
- package/static/dist/assets/{endpoints-e58saih3.js → endpoints-k8agnro8.js} +8 -8
- package/static/dist/assets/{erDiagram-RLTQ6QDP-i4rua63b.js → erDiagram-RLTQ6QDP-hl7m8vua.js} +1 -1
- package/static/dist/assets/eventmodeling-NTZA5JFV-j1y2ekec.js +1 -0
- package/static/dist/assets/flowDiagram-HODETNUW-g2cvcbm5.js +1 -0
- package/static/dist/assets/{ganttDiagram-EL5Y4UJY-geqx7zgl.js → ganttDiagram-EL5Y4UJY-ompixqmh.js} +1 -1
- package/static/dist/assets/{gitGraph-4MIJSDKK-leoq0z8t.js → gitGraph-4MIJSDKK-b6vxwp9q.js} +1 -1
- package/static/dist/assets/{gitGraphDiagram-WWUBYQGX-llrlxfha.js → gitGraphDiagram-WWUBYQGX-k98f57on.js} +1 -1
- package/static/dist/assets/{highlighted-body-KPVGNVTW-kq2cnw6q.js → highlighted-body-KPVGNVTW-cd3ff6ge.js} +1 -1
- package/static/dist/assets/index-nfy0ezs6.css +2 -0
- package/static/dist/assets/{index-f9bzglkn.js → index-nqed3oum.js} +3 -3
- package/static/dist/assets/{info-A6RAGUB7-lkly4xj6.js → info-A6RAGUB7-hjcwjami.js} +1 -1
- package/static/dist/assets/{infoDiagram-27XIBGKW-oo7kdyte.js → infoDiagram-27XIBGKW-fm06rj36.js} +1 -1
- package/static/dist/assets/{ishikawaDiagram-5VMMS53U-hq6jf374.js → ishikawaDiagram-5VMMS53U-bxak4mwu.js} +1 -1
- package/static/dist/assets/{journeyDiagram-3NMN7TZE-is03ntb0.js → journeyDiagram-3NMN7TZE-khmihclr.js} +1 -1
- package/static/dist/assets/{kanban-definition-UXKFOSKX-jmerizqb.js → kanban-definition-UXKFOSKX-h1r32wdx.js} +1 -1
- package/static/dist/assets/{lazyRouteComponent-b1h2ykmb.js → lazyRouteComponent-b2eg0fws.js} +1 -1
- package/static/dist/assets/{line-laaa8h99.js → line-friyjof3.js} +1 -1
- package/static/dist/assets/{link-d8f0788e.js → link-m90ahx3n.js} +1 -1
- package/static/dist/assets/login-bw7m2fzo.js +1 -0
- package/static/dist/assets/mermaid-HWGCJPDP-njwcl62n.js +1 -0
- package/static/dist/assets/{mermaid-parser.core-ix4junux.js → mermaid-parser.core-f1gvpwrt.js} +3 -3
- package/static/dist/assets/{mindmap-definition-YA3MSWOX-o0e0adl1.js → mindmap-definition-YA3MSWOX-mt2oxwue.js} +1 -1
- package/static/dist/assets/{onboarding-lx0d6b38.js → onboarding-ret37j1e.js} +1 -1
- package/static/dist/assets/{packet-AYTQ26CC-kl8pwsyg.js → packet-AYTQ26CC-jik4ixlf.js} +1 -1
- package/static/dist/assets/{pegDiagram-XKGWAZYB-bbqn9jo4.js → pegDiagram-XKGWAZYB-erxlv6cc.js} +1 -1
- package/static/dist/assets/{pie-WAS4IAKB-cpyo8bkr.js → pie-WAS4IAKB-mnkoldfl.js} +1 -1
- package/static/dist/assets/{pieDiagram-E7YTZNPT-pelug34f.js → pieDiagram-E7YTZNPT-i7lwrada.js} +1 -1
- package/static/dist/assets/{quadrantDiagram-AXDQQJYC-jds4jmr5.js → quadrantDiagram-AXDQQJYC-fr8ejdoy.js} +1 -1
- package/static/dist/assets/{radar-RG4KPBEZ-e02oxnvd.js → radar-RG4KPBEZ-otarjte2.js} +1 -1
- package/static/dist/assets/{railroad-74A4TZTK-kz3delwo.js → railroad-74A4TZTK-lw362oto.js} +1 -1
- package/static/dist/assets/railroad-abnf-HS5TGJTU-m741owar.js +1 -0
- package/static/dist/assets/railroad-ebnf-LZEXJU2U-noa4fbia.js +1 -0
- package/static/dist/assets/railroad-peg-WCYAUIDC-o4bpw4nb.js +1 -0
- package/static/dist/assets/{railroadDiagram-O6MQD6OU-jgroj2ew.js → railroadDiagram-O6MQD6OU-esyn75pw.js} +1 -1
- package/static/dist/assets/{refresh-cw-k7yxjdn3.js → refresh-cw-k66keho6.js} +1 -1
- package/static/dist/assets/{requirementDiagram-BXWQKSXE-m4az5e0j.js → requirementDiagram-BXWQKSXE-cyhi5u29.js} +1 -1
- package/static/dist/assets/{sankeyDiagram-P5KCCOFB-vlryqiv3.js → sankeyDiagram-P5KCCOFB-jljpbo0h.js} +1 -1
- package/static/dist/assets/{saved-brdfjjnw.js → saved-do49si3v.js} +1 -1
- package/static/dist/assets/{search-gt2ueyvg.js → search-j5ki6a9o.js} +1 -1
- package/static/dist/assets/{sequenceDiagram-WJ2MYXX4-fr8hrpql.js → sequenceDiagram-WJ2MYXX4-fz0dhlu7.js} +1 -1
- package/static/dist/assets/{settings_section_extensions_title-l0zodj0b.js → settings_section_extensions_title-b7lojn0o.js} +1 -1
- package/static/dist/assets/share._token-kg8w647b.js +2 -0
- package/static/dist/assets/{sliders-horizontal-gcgscv8r.js → sliders-horizontal-c4wya4dy.js} +1 -1
- package/static/dist/assets/{stateDiagram-D77RDMKH-bg548iyr.js → stateDiagram-D77RDMKH-kdnithdx.js} +1 -1
- package/static/dist/assets/stateDiagram-v2-MP3YSRHH-k2wg2645.js +1 -0
- package/static/dist/assets/{swimlanes-42K2YHIH-hk5z3efh.js → swimlanes-42K2YHIH-esd6gmz3.js} +1 -1
- package/static/dist/assets/swimlanesDiagram-VR7AAH4N-n5kvjtgr.js +8 -0
- package/static/dist/assets/tabBuild-bjmyvmn5.js +56 -0
- package/static/dist/assets/{timeline-definition-24CTP7MA-olvknr62.js → timeline-definition-24CTP7MA-g0qygccv.js} +1 -1
- package/static/dist/assets/todoStore-kjk5l0sy.js +1 -0
- package/static/dist/assets/{treeView-Q6P3EWNA-ovvjsxtf.js → treeView-Q6P3EWNA-ndchzkuu.js} +1 -1
- package/static/dist/assets/{treemap-WGGIJYW6-ggkipj59.js → treemap-WGGIJYW6-hwjxj0zz.js} +1 -1
- package/static/dist/assets/{untitled-c8ydw0bu.js → untitled-mbr6tuhu.js} +1 -1
- package/static/dist/assets/{useForm-kd759sjk.js → useForm-ocxu460f.js} +1 -1
- package/static/dist/assets/useLocale-fzy5jhg6.js +1 -0
- package/static/dist/assets/{useParams-katwvzil.js → useParams-lo9u33d1.js} +1 -1
- package/static/dist/assets/{useSearch-c70sgau1.js → useSearch-lq1mr090.js} +1 -1
- package/static/dist/assets/{vennDiagram-4TSXK5OY-hzld7zt7.js → vennDiagram-4TSXK5OY-gubovd1r.js} +1 -1
- package/static/dist/assets/{wardley-WFR3VGLG-hxkeoms8.js → wardley-WFR3VGLG-ir3om65j.js} +1 -1
- package/static/dist/assets/{wardleyDiagram-VM6X3IG4-ljh90mb1.js → wardleyDiagram-VM6X3IG4-ce0or1ie.js} +1 -1
- package/static/dist/assets/{xychartDiagram-S5SC5T6Z-mnuaes03.js → xychartDiagram-S5SC5T6Z-dexylcjg.js} +1 -1
- package/static/dist/index.html +1 -1
- package/static/dist/sw.js +1 -1
- package/static/dist/assets/AppShell-haqi9qzu.js +0 -1
- package/static/dist/assets/ChatPage-hjyu2g64.js +0 -22
- package/static/dist/assets/HubRoute-gkd8o1vg.js +0 -2
- package/static/dist/assets/Select-jld3yeni.js +0 -1
- package/static/dist/assets/SessionListPanel-d3qx4ric.js +0 -1
- package/static/dist/assets/_app-bnip2pjg.js +0 -1
- package/static/dist/assets/_app.ext._extensionId-egptzrfy.js +0 -1
- package/static/dist/assets/_app.index-vdz13ul5.js +0 -1
- package/static/dist/assets/_app.insights-lgjshsba.js +0 -1
- package/static/dist/assets/_app.kanban-c18cjrpz.js +0 -1
- package/static/dist/assets/_app.logs-ezhojgeg.js +0 -1
- package/static/dist/assets/_app.memory-i00paisv.js +0 -1
- package/static/dist/assets/_app.profiles-kd02bwjx.js +0 -1
- package/static/dist/assets/_app.settings-giaudkuk.js +0 -1
- package/static/dist/assets/_app.settings._section-k4qtlexk.js +0 -1
- package/static/dist/assets/_app.skills-bby2uvl8.js +0 -1
- package/static/dist/assets/_app.tasks-1kz9bosm.js +0 -2
- package/static/dist/assets/_app.todos-izjdbkm2.js +0 -1
- package/static/dist/assets/_app.workspaces-lfh2kw7s.js +0 -1
- package/static/dist/assets/architecture-7GRP2DOG-b4u9z1w3.js +0 -1
- package/static/dist/assets/channel-o77ioktg.js +0 -1
- package/static/dist/assets/classDiagram-ZZMXUADV-f5rvod26.js +0 -1
- package/static/dist/assets/classDiagram-v2-VYDZK3BY-f5rvod26.js +0 -1
- package/static/dist/assets/eventmodeling-NTZA5JFV-bn3fjsaq.js +0 -1
- package/static/dist/assets/flowDiagram-HODETNUW-li70d120.js +0 -1
- package/static/dist/assets/index-gkh7kum4.css +0 -2
- package/static/dist/assets/login-llkohrcg.js +0 -1
- package/static/dist/assets/mermaid-HWGCJPDP-id0ffk2r.js +0 -1
- package/static/dist/assets/railroad-abnf-HS5TGJTU-l13ped2z.js +0 -1
- package/static/dist/assets/railroad-ebnf-LZEXJU2U-c7rg3g4g.js +0 -1
- package/static/dist/assets/railroad-peg-WCYAUIDC-od0b8niq.js +0 -1
- package/static/dist/assets/share._token-oyjv046r.js +0 -2
- package/static/dist/assets/stateDiagram-v2-MP3YSRHH-j5v40qih.js +0 -1
- package/static/dist/assets/swimlanesDiagram-VR7AAH4N-grzefo9c.js +0 -8
- package/static/dist/assets/tabBuild-idliyw9f.js +0 -56
- package/static/dist/assets/todoStore-j4c2xq0b.js +0 -1
- package/static/dist/assets/useLocale-hds4xmja.js +0 -1
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { isDict, messageText } from './merge.js';
|
|
2
|
+
import { str } from '../util.js';
|
|
3
|
+
const RECORD_KEY = 'background_updates';
|
|
4
|
+
const RECORD_LIMIT = 200;
|
|
5
|
+
const SUMMARY_LIMIT = 200;
|
|
6
|
+
const LABEL_LIMIT = 120;
|
|
7
|
+
/** Hermes `LIVE_GATEWAY_SILENT_MARKERS`: a whole reply that is exactly one of these means "nothing to say". */
|
|
8
|
+
const SILENT_MARKERS = new Set(['[SILENT]', 'SILENT', 'NO_REPLY', 'NO REPLY']);
|
|
9
|
+
const SILENT_MAX_LENGTH = 64;
|
|
10
|
+
const BACKGROUND_SOURCE = 'process_wakeup';
|
|
11
|
+
/** The one instruction a background turn gets on top of the usual ones (TAL-460). */
|
|
12
|
+
export const BACKGROUND_TURN_PROMPT = 'This turn was started by a background result, not by the user. If it needs nothing from the user, reply exactly [SILENT]. Otherwise tell the user what matters.';
|
|
13
|
+
const DELEGATION_DONE = new Set(['completed', 'success']);
|
|
14
|
+
/** The Agent's own state.db tags for notifications it wrote into the transcript itself. */
|
|
15
|
+
const AGENT_UPDATE_KINDS = { async_delegation_complete: 'delegation', internal_notification: 'other' };
|
|
16
|
+
/** The notification's first line without its `[ … ]` wrapper, like the `bg_task_complete` summary. */
|
|
17
|
+
export function backgroundUpdateSummary(text) {
|
|
18
|
+
const first = text.split('\n').map((l) => l.trim()).find(Boolean)?.replace(/^\[/, '').replace(/\]$/, '').trim() ?? '';
|
|
19
|
+
return first.length <= SUMMARY_LIMIT ? first : `${first.slice(0, SUMMARY_LIMIT)}…`;
|
|
20
|
+
}
|
|
21
|
+
export function turnOrigin(source) {
|
|
22
|
+
return source === BACKGROUND_SOURCE ? 'background' : 'user';
|
|
23
|
+
}
|
|
24
|
+
/** Hermes `_canonical_silence_candidates`: the reply as written and without edge punctuation (brackets stay), upper-cased. */
|
|
25
|
+
function silenceCandidates(text) {
|
|
26
|
+
const canonical = (t) => t.trim().toUpperCase().split(/\s+/).join(' ');
|
|
27
|
+
const stripped = text.replace(/^(?:(?![[\]])\p{P})+/u, '').replace(/(?:(?![[\]])\p{P})+$/u, '').trim();
|
|
28
|
+
return [canonical(text), canonical(stripped)];
|
|
29
|
+
}
|
|
30
|
+
/** Hermes `is_intentional_silence_response`: the whole reply is exactly a silence marker. */
|
|
31
|
+
export function isSilentReply(text) {
|
|
32
|
+
const t = text.trim();
|
|
33
|
+
return Boolean(t) && t.length <= SILENT_MAX_LENGTH && silenceCandidates(t).some((c) => SILENT_MARKERS.has(c));
|
|
34
|
+
}
|
|
35
|
+
/** Hermes's streaming counterpart: text so far that could still become a silence marker is held back. */
|
|
36
|
+
export function mayBecomeSilentReply(text) {
|
|
37
|
+
const t = text.trim();
|
|
38
|
+
return Boolean(t) && t.length <= SILENT_MAX_LENGTH && silenceCandidates(t).some((c) => Boolean(c) && [...SILENT_MARKERS].some((m) => m.startsWith(c)));
|
|
39
|
+
}
|
|
40
|
+
function label(text) {
|
|
41
|
+
const first = str(text).split('\n').map((l) => l.trim()).find(Boolean) ?? '';
|
|
42
|
+
return first.length <= LABEL_LIMIT ? first : `${first.slice(0, LABEL_LIMIT)}…`;
|
|
43
|
+
}
|
|
44
|
+
/** The completion lines of one event: one per agent of a delegation batch, one for a command, else one notice. */
|
|
45
|
+
export function eventLines(evt, prompt) {
|
|
46
|
+
const type = str(evt.type ?? 'completion');
|
|
47
|
+
if (type === 'async_delegation') {
|
|
48
|
+
const results = Array.isArray(evt.results) ? evt.results.filter(isDict) : [];
|
|
49
|
+
const goals = Array.isArray(evt.goals) ? evt.goals : [];
|
|
50
|
+
if (!results.length)
|
|
51
|
+
return [{ kind: 'agent', status: eventUpdate(evt).attention ? 'failed' : 'completed', label: label(evt.goal) || backgroundUpdateSummary(prompt) }];
|
|
52
|
+
return results.map((r, i) => ({ kind: 'agent', status: DELEGATION_DONE.has(str(r.status)) ? 'completed' : 'failed', label: label(goals[i] ?? r.goal ?? evt.goal) }));
|
|
53
|
+
}
|
|
54
|
+
if (type === 'completion') {
|
|
55
|
+
const exit = evt.exit_code === undefined || evt.exit_code === null ? null : Number(evt.exit_code);
|
|
56
|
+
return [{ kind: 'command', status: exit !== null && exit !== 0 ? 'failed' : 'completed', label: label(evt.command), exit_code: exit }];
|
|
57
|
+
}
|
|
58
|
+
return [{ kind: 'other', status: 'notice', label: backgroundUpdateSummary(prompt) }];
|
|
59
|
+
}
|
|
60
|
+
/** Kind and attention of one completion event: failures and watch notices need attention without expanding. */
|
|
61
|
+
export function eventUpdate(evt) {
|
|
62
|
+
const type = str(evt.type ?? 'completion');
|
|
63
|
+
if (type === 'async_delegation') {
|
|
64
|
+
const results = Array.isArray(evt.results) ? evt.results.filter(isDict) : [];
|
|
65
|
+
const failed = Boolean(evt.task_failure_notice) || Boolean(evt.error) || results.some((r) => !DELEGATION_DONE.has(str(r.status)));
|
|
66
|
+
return { kind: 'delegation', attention: failed };
|
|
67
|
+
}
|
|
68
|
+
if (type === 'completion')
|
|
69
|
+
return { kind: 'process', attention: evt.exit_code !== undefined && evt.exit_code !== null && Number(evt.exit_code) !== 0 };
|
|
70
|
+
// Watch matches and watch overflow / disablement notices.
|
|
71
|
+
return { kind: 'process', attention: true };
|
|
72
|
+
}
|
|
73
|
+
/** One update for a batched wakeup of these events, summarised by its first notification. */
|
|
74
|
+
export function batchUpdate(entries) {
|
|
75
|
+
const parts = entries.map((e) => eventUpdate(e.event));
|
|
76
|
+
const kinds = new Set(parts.map((p) => p.kind));
|
|
77
|
+
return {
|
|
78
|
+
kind: kinds.size === 1 ? parts[0].kind : 'mixed',
|
|
79
|
+
attention: parts.some((p) => p.attention),
|
|
80
|
+
count: entries.length,
|
|
81
|
+
summary: backgroundUpdateSummary(entries[0]?.prompt ?? ''),
|
|
82
|
+
lines: entries.flatMap((e) => eventLines(e.event, e.prompt)),
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
/** An update without event metadata (older records, the Agent's own rows): one line from its summary. */
|
|
86
|
+
function summaryUpdate(kind, attention, summary) {
|
|
87
|
+
return { kind, attention, count: 1, summary, lines: [{ kind: 'other', status: attention ? 'failed' : 'completed', label: summary }] };
|
|
88
|
+
}
|
|
89
|
+
/** Remember a started wakeup's update by its turn id; the transcript row only carries `_source` and `_turn_id`. */
|
|
90
|
+
export function recordBackgroundUpdate(session, turnId, update) {
|
|
91
|
+
if (!turnId)
|
|
92
|
+
return;
|
|
93
|
+
const existing = isDict(session.extra[RECORD_KEY]) ? session.extra[RECORD_KEY] : {};
|
|
94
|
+
// Oldest first in insertion order; keep the newest RECORD_LIMIT so the session file stays bounded.
|
|
95
|
+
const entries = Object.entries({ ...existing, [turnId]: update });
|
|
96
|
+
session.extra[RECORD_KEY] = Object.fromEntries(entries.slice(-RECORD_LIMIT));
|
|
97
|
+
}
|
|
98
|
+
function recordedUpdate(recorded, turnId) {
|
|
99
|
+
const raw = recorded[str(turnId)];
|
|
100
|
+
if (!isDict(raw))
|
|
101
|
+
return null;
|
|
102
|
+
const kind = str(raw.kind);
|
|
103
|
+
if (!['delegation', 'process', 'mixed', 'other'].includes(kind))
|
|
104
|
+
return null;
|
|
105
|
+
const update = summaryUpdate(kind, raw.attention === true, str(raw.summary));
|
|
106
|
+
// ponytail: line entries are trusted as the server wrote them; validate per field if records ever come from elsewhere.
|
|
107
|
+
return { ...update, count: Math.max(1, Number(raw.count) || 1), lines: Array.isArray(raw.lines) && raw.lines.length ? raw.lines.filter(isDict) : update.lines };
|
|
108
|
+
}
|
|
109
|
+
function agentUpdate(m) {
|
|
110
|
+
const kind = AGENT_UPDATE_KINDS[str(m.display_kind)];
|
|
111
|
+
if (!kind)
|
|
112
|
+
return null;
|
|
113
|
+
const meta = isDict(m.display_metadata) ? m.display_metadata : {};
|
|
114
|
+
return summaryUpdate(kind, Number(meta.failed_count) > 0, backgroundUpdateSummary(messageText(m.content)));
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Stamps `_background_update` on user rows that are automatic wakeups: Web's own (`_source: process_wakeup`, with the
|
|
118
|
+
* update recorded at delivery, else a generic one for older rows) and the Agent's (`display_kind` from state.db). A
|
|
119
|
+
* person typing the same text stays an ordinary user message. The rest of a wakeup's turn is the Agent's reply to it
|
|
120
|
+
* (`_background_reply`); a reply that ends on a silence marker is `_background_silent` throughout. Needs `_turn_id` on
|
|
121
|
+
* every row (`withTurnIds`). Returns copies; stored rows are untouched.
|
|
122
|
+
*/
|
|
123
|
+
export function withBackgroundUpdates(messages, session) {
|
|
124
|
+
const recorded = isDict(session.extra[RECORD_KEY]) ? session.extra[RECORD_KEY] : {};
|
|
125
|
+
const backgroundTurns = new Set();
|
|
126
|
+
const stamped = messages.map((m) => {
|
|
127
|
+
if (!isDict(m) || m.role !== 'user')
|
|
128
|
+
return m;
|
|
129
|
+
const update = m._source === BACKGROUND_SOURCE
|
|
130
|
+
? recordedUpdate(recorded, m._turn_id) ?? summaryUpdate('other', false, backgroundUpdateSummary(messageText(m.content)))
|
|
131
|
+
: agentUpdate(m);
|
|
132
|
+
if (!update)
|
|
133
|
+
return m;
|
|
134
|
+
backgroundTurns.add(str(m._turn_id));
|
|
135
|
+
return { ...m, _background_update: update };
|
|
136
|
+
});
|
|
137
|
+
// A turn is silent when its last assistant text is exactly a silence marker; a running turn has no final text yet.
|
|
138
|
+
const silent = new Set();
|
|
139
|
+
const lastText = new Map();
|
|
140
|
+
for (const m of stamped)
|
|
141
|
+
if (isDict(m) && m.role === 'assistant' && backgroundTurns.has(str(m._turn_id)) && messageText(m.content).trim())
|
|
142
|
+
lastText.set(str(m._turn_id), messageText(m.content));
|
|
143
|
+
for (const [turn, text] of lastText)
|
|
144
|
+
if (isSilentReply(text))
|
|
145
|
+
silent.add(turn);
|
|
146
|
+
return stamped.map((m) => {
|
|
147
|
+
if (!isDict(m) || m.role === 'user' || !backgroundTurns.has(str(m._turn_id)))
|
|
148
|
+
return m;
|
|
149
|
+
return { ...m, _background_reply: true, ...(silent.has(str(m._turn_id)) ? { _background_silent: true } : {}) };
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=background-updates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"background-updates.js","sourceRoot":"","sources":["../../src/sessions/background-updates.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,10 @@ export interface CliSessionsDeps {
|
|
|
13
13
|
export interface CliLoadOptions {
|
|
14
14
|
sourceFilter?: string | null;
|
|
15
15
|
}
|
|
16
|
+
export interface CliSessionRead {
|
|
17
|
+
rows: Dict[];
|
|
18
|
+
truncated: ReadonlySet<string>;
|
|
19
|
+
}
|
|
16
20
|
export declare class CliSessionSource {
|
|
17
21
|
private readonly deps;
|
|
18
22
|
private readonly cache;
|
|
@@ -21,6 +25,8 @@ export declare class CliSessionSource {
|
|
|
21
25
|
invalidate(): void;
|
|
22
26
|
/** Python `get_cli_sessions(profile=...)` for one profile; Claude Code imports are not projected here. */
|
|
23
27
|
load(profile: string, opts?: CliLoadOptions): Dict[];
|
|
28
|
+
/** `load` plus the source kinds whose rows stopped at the per-kind window, from the same read (TAL-482). */
|
|
29
|
+
read(profile: string, opts?: CliLoadOptions): CliSessionRead;
|
|
24
30
|
private sidecarMeta;
|
|
25
31
|
private cronJobNames;
|
|
26
32
|
private loadUncached;
|
|
@@ -31,6 +31,10 @@ export class CliSessionSource {
|
|
|
31
31
|
invalidate() { this.cache.clear(); }
|
|
32
32
|
/** Python `get_cli_sessions(profile=...)` for one profile; Claude Code imports are not projected here. */
|
|
33
33
|
load(profile, opts = {}) {
|
|
34
|
+
return this.read(profile, opts).rows;
|
|
35
|
+
}
|
|
36
|
+
/** `load` plus the source kinds whose rows stopped at the per-kind window, from the same read (TAL-482). */
|
|
37
|
+
read(profile, opts = {}) {
|
|
34
38
|
const dbPath = this.dbPath(profile);
|
|
35
39
|
const sourceFilter = str(opts.sourceFilter).trim().toLowerCase() || null;
|
|
36
40
|
const cacheKey = `${profile}\n${sourceFilter ?? ''}`;
|
|
@@ -38,17 +42,18 @@ export class CliSessionSource {
|
|
|
38
42
|
const hit = this.cache.get(cacheKey);
|
|
39
43
|
const now = this.deps.now();
|
|
40
44
|
if (hit?.key === key && hit.until > now)
|
|
41
|
-
return hit.rows.map((r) => ({ ...r }));
|
|
45
|
+
return { rows: hit.rows.map((r) => ({ ...r })), truncated: hit.truncated };
|
|
42
46
|
let rows;
|
|
47
|
+
const truncated = new Set();
|
|
43
48
|
try {
|
|
44
|
-
rows = this.loadUncached(profile, dbPath, sourceFilter);
|
|
49
|
+
rows = this.loadUncached(profile, dbPath, sourceFilter, truncated);
|
|
45
50
|
}
|
|
46
51
|
catch (error) {
|
|
47
52
|
this.deps.log(`[webui] get_cli_sessions() failed; check state.db schema or path (${dbPath}): ${error.message}`);
|
|
48
53
|
rows = [];
|
|
49
54
|
}
|
|
50
|
-
this.cache.set(cacheKey, { key, until: now + CACHE_TTL_S, rows });
|
|
51
|
-
return rows.map((r) => ({ ...r }));
|
|
55
|
+
this.cache.set(cacheKey, { key, until: now + CACHE_TTL_S, rows, truncated });
|
|
56
|
+
return { rows: rows.map((r) => ({ ...r })), truncated };
|
|
52
57
|
}
|
|
53
58
|
sidecarMeta(sid) {
|
|
54
59
|
const session = this.deps.store.loadMetadataOnly(sid);
|
|
@@ -70,7 +75,7 @@ export class CliSessionSource {
|
|
|
70
75
|
catch { /* degrade to the generic title */ }
|
|
71
76
|
return names;
|
|
72
77
|
}
|
|
73
|
-
loadUncached(profile, dbPath, sourceFilter) {
|
|
78
|
+
loadUncached(profile, dbPath, sourceFilter, truncated) {
|
|
74
79
|
if (!existsSync(dbPath))
|
|
75
80
|
return [];
|
|
76
81
|
const home = this.deps.profileHome(profile);
|
|
@@ -128,7 +133,11 @@ export class CliSessionSource {
|
|
|
128
133
|
};
|
|
129
134
|
const background = new Set(['cron', 'webhook', 'kanban']);
|
|
130
135
|
const interactiveLimit = sourceFilter === null ? CLI_VISIBLE_SESSION_LIMIT : BACKGROUND_PROJECT_CHIP_LIMIT;
|
|
131
|
-
|
|
136
|
+
// A filtered read takes one row past its window too, so a single-source list knows more exist (TAL-482).
|
|
137
|
+
const interactive = readImportableAgentSessionRows(dbPath, { limit: sourceFilter === null ? interactiveLimit : interactiveLimit + 1, excludeSources: sourceFilter === null ? ['cron', 'webhook', 'kanban'] : null, includeSources: sourceFilter === null ? null : [sourceFilter], log: this.deps.log });
|
|
138
|
+
if (sourceFilter !== null && interactive.length > interactiveLimit)
|
|
139
|
+
truncated.add(sourceFilter);
|
|
140
|
+
for (const row of sourceFilter === null ? interactive : interactive.slice(0, interactiveLimit)) {
|
|
132
141
|
const sid = str(row.id);
|
|
133
142
|
const source = str(row.source) || 'cli';
|
|
134
143
|
if (source === 'webui' && tombstone.has(sid) && !existsSync(join(this.deps.store.sessionDir, `${sid}.json`)))
|
|
@@ -140,7 +149,11 @@ export class CliSessionSource {
|
|
|
140
149
|
return out;
|
|
141
150
|
for (const kind of background) {
|
|
142
151
|
try {
|
|
143
|
-
|
|
152
|
+
// One row past the cap tells the sidebar that more sessions of this kind exist than it lists (TAL-482).
|
|
153
|
+
const rows = readImportableAgentSessionRows(dbPath, { limit: BACKGROUND_PROJECT_CHIP_LIMIT + 1, excludeSources: null, includeSources: [kind], log: this.deps.log });
|
|
154
|
+
if (rows.length > BACKGROUND_PROJECT_CHIP_LIMIT)
|
|
155
|
+
truncated.add(kind);
|
|
156
|
+
for (const row of rows.slice(0, BACKGROUND_PROJECT_CHIP_LIMIT)) {
|
|
144
157
|
const sid = str(row.id);
|
|
145
158
|
if (seen.has(sid) || (str(row.source) || kind) !== kind)
|
|
146
159
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-sessions.js","sourceRoot":"","sources":["../../src/sessions/cli-sessions.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,eAAe,EAAE,2BAA2B,EAAE,8BAA8B,EAAa,MAAM,eAAe,CAAA;AAEvH,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAEhC,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAA;AAC3C,MAAM,6BAA6B,GAAG,GAAG,CAAA;AACzC,MAAM,WAAW,GAAG,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"cli-sessions.js","sourceRoot":"","sources":["../../src/sessions/cli-sessions.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import type { SidecarLike } from '../sidecar/client.js';
|
|
|
2
2
|
import type { SessionChannels, StreamRegistry } from './streams.js';
|
|
3
3
|
import type { SessionStore } from './store.js';
|
|
4
4
|
import type { Session } from './session.js';
|
|
5
|
+
import type { BackgroundActivity } from './background-tasks.js';
|
|
5
6
|
type Dict = Record<string, unknown>;
|
|
6
7
|
export declare const COMPLETION_POLL_MS = 1000;
|
|
7
8
|
export interface CompletionDrainDeps {
|
|
@@ -20,6 +21,8 @@ export interface CompletionDrainDeps {
|
|
|
20
21
|
now: () => number;
|
|
21
22
|
log: (line: string) => void;
|
|
22
23
|
pollMs?: number;
|
|
24
|
+
/** TAL-372: each routed completion settles its background record. */
|
|
25
|
+
background?: Pick<BackgroundActivity, 'recordEvent'>;
|
|
23
26
|
}
|
|
24
27
|
/** Python `format_wakeup_prompt` for plain completion events; async delegations use the sidecar formatter. */
|
|
25
28
|
export declare function formatWakeupPrompt(evt: Dict): string | null;
|
|
@@ -48,9 +51,22 @@ export declare class CompletionDrain {
|
|
|
48
51
|
private emitNow;
|
|
49
52
|
/** Python `_emit_bg_task_complete_events_coalesced`: first emit immediately, bursts flush the latest payload after 1 s of quiet. */
|
|
50
53
|
private emitCoalesced;
|
|
51
|
-
recordDeferred(sid: string, processId: string, prompt: string): void;
|
|
54
|
+
recordDeferred(sid: string, processId: string, prompt: string, event?: Dict): void;
|
|
52
55
|
deferredCount(sid: string): number;
|
|
53
56
|
private markConsumed;
|
|
57
|
+
/**
|
|
58
|
+
* TAL-459: claim each async delegation in the Agent's durable ledger right before delivering it. A refused claim means
|
|
59
|
+
* another consumer delivered (or holds) it, so it leaves the batch; a sidecar failure returns null so the caller keeps
|
|
60
|
+
* every entry pending. Claims are taken at delivery, never while deferred, so a long turn cannot outlive the lease.
|
|
61
|
+
*/
|
|
62
|
+
private claimBatch;
|
|
63
|
+
/**
|
|
64
|
+
* Acknowledge (`complete`) or hand back held claims: `defer` when the busy session never admitted the wakeup (no delivery
|
|
65
|
+
* attempt spent), `release` when it failed (spends one; the Agent drops a row past its budget). Best effort: the Agent's
|
|
66
|
+
* lease bounds a lost hand-back.
|
|
67
|
+
*/
|
|
68
|
+
private settleClaims;
|
|
69
|
+
private profileHome;
|
|
54
70
|
private scheduleRetry;
|
|
55
71
|
/** Python `_start_server_side_wakeup_turn`: one batched turn; 409 re-defers, other failures re-defer with a timed retry. */
|
|
56
72
|
private startWakeup;
|
|
@@ -8,11 +8,13 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { randomUUID } from 'node:crypto';
|
|
10
10
|
import { str } from '../util.js';
|
|
11
|
+
import { batchUpdate, recordBackgroundUpdate } from './background-updates.js';
|
|
11
12
|
export const COMPLETION_POLL_MS = 1000;
|
|
12
13
|
const EMIT_COALESCE_WINDOW_S = 1;
|
|
13
14
|
const WAKEUP_RETRY_SECONDS = 30;
|
|
14
15
|
const WAKEUP_RETRY_MAX_ATTEMPTS = 5;
|
|
15
16
|
const WAKEUP_BATCH_MAX_CHARS = 24_000;
|
|
17
|
+
const DELIVERY_CONSUMER = 'webui';
|
|
16
18
|
/** Python `format_wakeup_prompt` for plain completion events; async delegations use the sidecar formatter. */
|
|
17
19
|
export function formatWakeupPrompt(evt) {
|
|
18
20
|
const type = str(evt.type ?? 'completion');
|
|
@@ -158,13 +160,14 @@ export class CompletionDrain {
|
|
|
158
160
|
seen.add(processId);
|
|
159
161
|
this.pendingSessions.add(sid);
|
|
160
162
|
const prompt = await this.wakeupPrompt(evt);
|
|
163
|
+
this.deps.background?.recordEvent(sid, evt, prompt);
|
|
161
164
|
this.emitCoalesced(sid, this.buildPayload(evt, sid, prompt));
|
|
162
165
|
if (!prompt)
|
|
163
166
|
return true;
|
|
164
167
|
if (this.hasActiveTurn(sid))
|
|
165
|
-
this.recordDeferred(sid, processId, prompt);
|
|
168
|
+
this.recordDeferred(sid, processId, prompt, evt);
|
|
166
169
|
else
|
|
167
|
-
await this.startWakeup(sid, [{ process_id: processId, wakeup_prompt: prompt }]);
|
|
170
|
+
await this.startWakeup(sid, [{ process_id: processId, wakeup_prompt: prompt, event: evt }]);
|
|
168
171
|
return true;
|
|
169
172
|
}
|
|
170
173
|
buildPayload(evt, sid, prompt) {
|
|
@@ -214,13 +217,13 @@ export class CompletionDrain {
|
|
|
214
217
|
timer.unref();
|
|
215
218
|
this.pendingEmit.set(sid, { payload, timer });
|
|
216
219
|
}
|
|
217
|
-
recordDeferred(sid, processId, prompt) {
|
|
220
|
+
recordDeferred(sid, processId, prompt, event) {
|
|
218
221
|
if (!sid || !prompt)
|
|
219
222
|
return;
|
|
220
223
|
const entries = this.deferred.get(sid) ?? [];
|
|
221
224
|
if (processId && entries.some((e) => e.process_id === processId))
|
|
222
225
|
return;
|
|
223
|
-
entries.push({ process_id: processId, wakeup_prompt: prompt });
|
|
226
|
+
entries.push({ process_id: processId, wakeup_prompt: prompt, ...(event ? { event } : {}) });
|
|
224
227
|
this.deferred.set(sid, entries);
|
|
225
228
|
this.pendingSessions.add(sid);
|
|
226
229
|
}
|
|
@@ -236,6 +239,58 @@ export class CompletionDrain {
|
|
|
236
239
|
catch { /* best effort */ }
|
|
237
240
|
}
|
|
238
241
|
}
|
|
242
|
+
/**
|
|
243
|
+
* TAL-459: claim each async delegation in the Agent's durable ledger right before delivering it. A refused claim means
|
|
244
|
+
* another consumer delivered (or holds) it, so it leaves the batch; a sidecar failure returns null so the caller keeps
|
|
245
|
+
* every entry pending. Claims are taken at delivery, never while deferred, so a long turn cannot outlive the lease.
|
|
246
|
+
*/
|
|
247
|
+
async claimBatch(batched) {
|
|
248
|
+
const deliver = [];
|
|
249
|
+
const held = [];
|
|
250
|
+
for (const entry of batched) {
|
|
251
|
+
if (entry.event?.type !== 'async_delegation') {
|
|
252
|
+
deliver.push(entry);
|
|
253
|
+
continue;
|
|
254
|
+
}
|
|
255
|
+
const sidecar = this.deps.sidecar();
|
|
256
|
+
let claimId;
|
|
257
|
+
try {
|
|
258
|
+
if (!sidecar)
|
|
259
|
+
throw new Error('sidecar unavailable');
|
|
260
|
+
claimId = (await sidecar.call('process.claim_delivery', { profile_home: this.profileHome(), event: entry.event, consumer: DELIVERY_CONSUMER })).claim_id;
|
|
261
|
+
}
|
|
262
|
+
catch (error) {
|
|
263
|
+
await this.settleClaims('process.release_delivery', held);
|
|
264
|
+
this.deps.log(`[webui] WARNING: async delegation delivery claim failed for ${entry.process_id}: ${error.message}; kept pending`);
|
|
265
|
+
return null;
|
|
266
|
+
}
|
|
267
|
+
if (claimId === null)
|
|
268
|
+
continue;
|
|
269
|
+
deliver.push(entry);
|
|
270
|
+
if (claimId)
|
|
271
|
+
held.push({ event: entry.event, claim_id: claimId });
|
|
272
|
+
}
|
|
273
|
+
return { deliver, held };
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Acknowledge (`complete`) or hand back held claims: `defer` when the busy session never admitted the wakeup (no delivery
|
|
277
|
+
* attempt spent), `release` when it failed (spends one; the Agent drops a row past its budget). Best effort: the Agent's
|
|
278
|
+
* lease bounds a lost hand-back.
|
|
279
|
+
*/
|
|
280
|
+
async settleClaims(method, held) {
|
|
281
|
+
const sidecar = this.deps.sidecar();
|
|
282
|
+
if (!sidecar)
|
|
283
|
+
return;
|
|
284
|
+
for (const claim of held) {
|
|
285
|
+
try {
|
|
286
|
+
await sidecar.call(method, { profile_home: this.profileHome(), event: claim.event, claim_id: claim.claim_id });
|
|
287
|
+
}
|
|
288
|
+
catch (error) {
|
|
289
|
+
this.deps.log(`[webui] WARNING: ${method} failed for ${str(claim.event.delegation_id)}: ${error.message}`);
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
profileHome() { return this.deps.profileHome(this.deps.activeProfile()); }
|
|
239
294
|
scheduleRetry(sid) {
|
|
240
295
|
const attempts = (this.retryAttempts.get(sid) ?? 0) + 1;
|
|
241
296
|
this.retryAttempts.set(sid, attempts);
|
|
@@ -252,45 +307,61 @@ export class CompletionDrain {
|
|
|
252
307
|
}
|
|
253
308
|
/** Python `_start_server_side_wakeup_turn`: one batched turn; 409 re-defers, other failures re-defer with a timed retry. */
|
|
254
309
|
async startWakeup(sid, batched) {
|
|
255
|
-
const
|
|
256
|
-
|
|
257
|
-
this.recordDeferred(sid, e.process_id, e.wakeup_prompt); };
|
|
310
|
+
const redefer = (entries) => { for (const e of entries)
|
|
311
|
+
this.recordDeferred(sid, e.process_id, e.wakeup_prompt, e.event); };
|
|
258
312
|
let session;
|
|
259
313
|
try {
|
|
260
314
|
session = this.deps.store.get(sid);
|
|
261
315
|
}
|
|
262
316
|
catch {
|
|
263
|
-
redefer();
|
|
317
|
+
redefer(batched);
|
|
264
318
|
this.deps.log(`[webui] WARNING: server-side wakeup retained for session ${sid}: session unavailable`);
|
|
265
319
|
return false;
|
|
266
320
|
}
|
|
267
321
|
if (session.pre_compression_snapshot) {
|
|
268
|
-
redefer();
|
|
322
|
+
redefer(batched);
|
|
269
323
|
this.deps.log(`[webui] WARNING: automatic wakeup retained: sealed snapshot ${sid} cannot own a turn`);
|
|
270
324
|
return false;
|
|
271
325
|
}
|
|
326
|
+
const claimed = await this.claimBatch(batched);
|
|
327
|
+
if (!claimed) {
|
|
328
|
+
redefer(batched);
|
|
329
|
+
this.scheduleRetry(sid);
|
|
330
|
+
return false;
|
|
331
|
+
}
|
|
332
|
+
const { deliver, held } = claimed;
|
|
333
|
+
// Entries another consumer already delivered are done here too.
|
|
334
|
+
if (!deliver.length) {
|
|
335
|
+
await this.markConsumed(batched.map((e) => e.process_id));
|
|
336
|
+
return true;
|
|
337
|
+
}
|
|
338
|
+
// A wakeup that does not start hands its claims back, so those rows stay pending for the retry or the next restart.
|
|
339
|
+
const giveBack = async (method = 'process.release_delivery') => { await this.settleClaims(method, held); redefer(deliver); };
|
|
340
|
+
const prompt = deliver.length === 1 ? deliver[0].wakeup_prompt : deliver.map((e) => e.wakeup_prompt).join('\n\n');
|
|
272
341
|
let resp;
|
|
273
342
|
try {
|
|
274
343
|
resp = this.deps.startTurn(session, prompt);
|
|
275
344
|
}
|
|
276
345
|
catch (error) {
|
|
277
|
-
|
|
346
|
+
await giveBack();
|
|
278
347
|
this.scheduleRetry(sid);
|
|
279
348
|
this.deps.log(`[webui] WARNING: server-side wakeup turn raised for session ${sid}: ${error.message}`);
|
|
280
349
|
return false;
|
|
281
350
|
}
|
|
282
351
|
const status = resp._status ?? (resp.stream_id ? 200 : 500);
|
|
283
352
|
if (status === 409) {
|
|
284
|
-
|
|
353
|
+
await giveBack('process.defer_delivery');
|
|
285
354
|
return false;
|
|
286
355
|
}
|
|
287
356
|
if (status >= 400) {
|
|
288
|
-
|
|
357
|
+
await giveBack();
|
|
289
358
|
this.scheduleRetry(sid);
|
|
290
359
|
this.deps.log(`[webui] WARNING: server-side wakeup failed for session ${sid}: status=${String(status)} err=${str(resp.error)}; re-deferred for redelivery`);
|
|
291
360
|
return false;
|
|
292
361
|
}
|
|
293
362
|
this.retryAttempts.delete(sid);
|
|
363
|
+
recordBackgroundUpdate(session, str(resp.stream_id), batchUpdate(deliver.map((e) => ({ event: e.event ?? {}, prompt: e.wakeup_prompt }))));
|
|
364
|
+
await this.settleClaims('process.complete_delivery', held);
|
|
294
365
|
await this.markConsumed(batched.map((e) => e.process_id));
|
|
295
366
|
this.deps.log(`[webui] server-side wakeup turn started for session ${sid} (stream_id=${str(resp.stream_id)})`);
|
|
296
367
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completions.js","sourceRoot":"","sources":["../../src/sessions/completions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"completions.js","sourceRoot":"","sources":["../../src/sessions/completions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { Message } from './session.js';
|
|
2
|
+
/** Python `visible_messages_for_anchor(auto_compression=False)`: the transcript rows a manual compression anchors to. */
|
|
3
|
+
export declare function visibleMessagesForAnchor(messages: Message[]): Message[];
|
|
4
|
+
/** Python `_anchor_message_key`: the identity a client matches the anchor row by. */
|
|
5
|
+
export declare function anchorMessageKey(m: Message | undefined): Record<string, unknown> | null;
|
|
6
|
+
/** Python: the anchor summary is the reference line, else the token line or headline, else the compressor's own summary row. */
|
|
7
|
+
export declare function anchorSummary(summary: Record<string, unknown> | null, compressed: Message[]): string | null;
|
|
8
|
+
/** Old `_MANUAL_COMPRESSION_JOB_TTL_SECONDS`: a finished job stays readable so every open tab sees one result. */
|
|
9
|
+
export declare const COMPRESSION_JOB_TTL_SECONDS: number;
|
|
10
|
+
export interface CompressionJob {
|
|
11
|
+
session_id: string;
|
|
12
|
+
focus_topic: string | null;
|
|
13
|
+
status: 'running' | 'done' | 'error';
|
|
14
|
+
started_at: number;
|
|
15
|
+
updated_at: number;
|
|
16
|
+
result?: Record<string, unknown>;
|
|
17
|
+
error?: string;
|
|
18
|
+
error_status?: number;
|
|
19
|
+
/** The typed fields of a stale-runtime refusal (`type`, `retryable`, ...). */
|
|
20
|
+
error_extra?: Record<string, unknown>;
|
|
21
|
+
/** Settles when the worker finishes; never rejects. */
|
|
22
|
+
done: Promise<void>;
|
|
23
|
+
}
|
|
24
|
+
/** Old `_manual_compression_status_payload`. */
|
|
25
|
+
export declare function compressionStatusPayload(job: CompressionJob): Record<string, unknown>;
|
|
26
|
+
export declare class CompressionJobs {
|
|
27
|
+
private readonly jobs;
|
|
28
|
+
get(sid: string): CompressionJob | undefined;
|
|
29
|
+
set(job: CompressionJob): void;
|
|
30
|
+
delete(sid: string): void;
|
|
31
|
+
/** Drops a finished job (and the session payload it holds) after the TTL, whether or not anything reads it again. */
|
|
32
|
+
expireLater(job: CompressionJob): void;
|
|
33
|
+
}
|