@maudecode/talaria-web 1.13.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 +1918 -299
- package/dist/api/sessions-router.js +39 -24
- package/dist/api/sessions-router.js.map +1 -1
- package/dist/api/settings-router.d.ts +45 -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 +2728 -416
- 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 +56 -17
- package/dist/runtime.js.map +1 -1
- package/dist/server.js +3 -0
- package/dist/server.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/journal.d.ts +27 -12
- package/dist/sessions/journal.js +115 -40
- package/dist/sessions/journal.js.map +1 -1
- 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 +19 -1
- package/dist/sessions/merge.js +75 -7
- package/dist/sessions/merge.js.map +1 -1
- package/dist/sessions/relay.d.ts +17 -1
- package/dist/sessions/relay.js +74 -13
- package/dist/sessions/relay.js.map +1 -1
- package/dist/sessions/service.d.ts +61 -3
- package/dist/sessions/service.js +244 -16
- 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 +306 -63
- package/dist/sessions/turn.js.map +1 -1
- package/dist/settings.d.ts +2 -0
- package/dist/settings.js +6 -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/dist/tools/hygiene.d.ts +11 -3
- package/dist/tools/hygiene.js +32 -14
- package/dist/tools/hygiene.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-bx4n7qs4.js → Markdown-dy8t4dy7.js} +7 -7
- package/static/dist/assets/{RightPanel-ds4majj3.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-oigbg9rl.js → SettingsLayout-n5d4wq4m.js} +1 -1
- package/static/dist/assets/States-kxyu50at.js +1 -0
- package/static/dist/assets/Toaster-6zmbcqgg.js +1 -0
- 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-ciix6itb.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-krt0yaru.js → abnfDiagram-VCTEODGH-cjqletra.js} +1 -1
- package/static/dist/assets/architecture-7GRP2DOG-cavnusaw.js +1 -0
- package/static/dist/assets/{architectureDiagram-5GKGNRK7-i54t9ywl.js → architectureDiagram-5GKGNRK7-k5a7v36n.js} +1 -1
- package/static/dist/assets/back-e4m6nsnm.js +1 -0
- package/static/dist/assets/{blockDiagram-I7D4REHJ-fevbz4mz.js → blockDiagram-I7D4REHJ-b195z021.js} +1 -1
- package/static/dist/assets/{c4Diagram-7LVT6UL2-np8eclmc.js → c4Diagram-7LVT6UL2-olu212k1.js} +1 -1
- package/static/dist/assets/channel-gozy3dp3.js +1 -0
- package/static/dist/assets/{chunk-4HAMMTFA-owoi036m.js → chunk-4HAMMTFA-b8o1nufs.js} +1 -1
- package/static/dist/assets/{chunk-75Z2AOVW-md44zf1n.js → chunk-75Z2AOVW-l1seddto.js} +1 -1
- package/static/dist/assets/{chunk-DU6HZSFF-ka3rw8d6.js → chunk-DU6HZSFF-lo5zg15v.js} +3 -3
- package/static/dist/assets/{chunk-F27PBJKO-iasnjsky.js → chunk-F27PBJKO-dsdzrp16.js} +1 -1
- package/static/dist/assets/{chunk-GMAD6QVW-ex1up6tz.js → chunk-GMAD6QVW-f3fxqq8b.js} +1 -1
- package/static/dist/assets/{chunk-GVQU2GXP-d4kmmg9p.js → chunk-GVQU2GXP-h8egxtf6.js} +1 -1
- package/static/dist/assets/{chunk-IMKFNOWR-mwy42t85.js → chunk-IMKFNOWR-iolwd8s0.js} +1 -1
- package/static/dist/assets/{chunk-L3NEJ4N5-fv7ry213.js → chunk-L3NEJ4N5-b88bbtwi.js} +1 -1
- package/static/dist/assets/{chunk-OSK3NFVY-jg9ir8ac.js → chunk-OSK3NFVY-e3e7nr6s.js} +1 -1
- package/static/dist/assets/{chunk-P2QGCYS3-pe9ms3ua.js → chunk-P2QGCYS3-mdc46rt1.js} +1 -1
- package/static/dist/assets/{chunk-POPQ4Y6H-dimsjrn1.js → chunk-POPQ4Y6H-kqlllrrm.js} +1 -1
- package/static/dist/assets/{chunk-PWAF6VOD-m4hv98dy.js → chunk-PWAF6VOD-he585k2x.js} +1 -1
- package/static/dist/assets/{chunk-SHT3W25Y-gkjgl6qe.js → chunk-SHT3W25Y-gh94y9a4.js} +1 -1
- package/static/dist/assets/{chunk-SVP7TREG-bc8qss5l.js → chunk-SVP7TREG-euxp9y7e.js} +1 -1
- package/static/dist/assets/{chunk-TICWLB2K-k9wzw38w.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-d5joolw7.js → copied-kq0u3ht7.js} +1 -1
- package/static/dist/assets/{cynefin-OW5HDTMX-hueklikk.js → cynefin-OW5HDTMX-lxd44ux4.js} +1 -1
- package/static/dist/assets/{cynefinDiagram-5FMLGOSQ-e83o1wr1.js → cynefinDiagram-5FMLGOSQ-njpiwat8.js} +1 -1
- package/static/dist/assets/{dagre-GXQ25YYZ-ir1tj2ar.js → dagre-GXQ25YYZ-nvgy6yju.js} +1 -1
- package/static/dist/assets/{diagram-S7CK7UJ4-o5218p2q.js → diagram-S7CK7UJ4-g98nyv72.js} +1 -1
- package/static/dist/assets/{diagram-UQ7AKVKN-ciad4o1i.js → diagram-UQ7AKVKN-ovgm6lvv.js} +1 -1
- package/static/dist/assets/{diagram-VSXAHHWV-oharqjbt.js → diagram-VSXAHHWV-pb2bn2e4.js} +1 -1
- package/static/dist/assets/{diagram-VX7I27RA-wkwy62iv.js → diagram-VX7I27RA-6j4mvfqo.js} +1 -1
- package/static/dist/assets/{diagram-Z3DM3KII-bl252i7r.js → diagram-Z3DM3KII-dqmb982r.js} +1 -1
- package/static/dist/assets/{ebnfDiagram-PWID7BFC-nm0rcly7.js → ebnfDiagram-PWID7BFC-ozbpzb6d.js} +1 -1
- package/static/dist/assets/endpoints-k8agnro8.js +9 -0
- package/static/dist/assets/{erDiagram-RLTQ6QDP-m1w0vta2.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-czxo6iew.js → ganttDiagram-EL5Y4UJY-ompixqmh.js} +1 -1
- package/static/dist/assets/{gitGraph-4MIJSDKK-ip9j1rph.js → gitGraph-4MIJSDKK-b6vxwp9q.js} +1 -1
- package/static/dist/assets/{gitGraphDiagram-WWUBYQGX-kalxdole.js → gitGraphDiagram-WWUBYQGX-k98f57on.js} +1 -1
- package/static/dist/assets/{highlighted-body-KPVGNVTW-lgsj6fsk.js → highlighted-body-KPVGNVTW-cd3ff6ge.js} +1 -1
- package/static/dist/assets/index-nfy0ezs6.css +2 -0
- package/static/dist/assets/index-nqed3oum.js +11 -0
- package/static/dist/assets/{info-A6RAGUB7-fv4fbc5m.js → info-A6RAGUB7-hjcwjami.js} +1 -1
- package/static/dist/assets/{infoDiagram-27XIBGKW-kinx5jsl.js → infoDiagram-27XIBGKW-fm06rj36.js} +1 -1
- package/static/dist/assets/{ishikawaDiagram-5VMMS53U-kozvlqdv.js → ishikawaDiagram-5VMMS53U-bxak4mwu.js} +1 -1
- package/static/dist/assets/{journeyDiagram-3NMN7TZE-lgpouxoe.js → journeyDiagram-3NMN7TZE-khmihclr.js} +1 -1
- package/static/dist/assets/{kanban-definition-UXKFOSKX-b320wo7b.js → kanban-definition-UXKFOSKX-h1r32wdx.js} +1 -1
- package/static/dist/assets/{lazyRouteComponent-hy8doeye.js → lazyRouteComponent-b2eg0fws.js} +1 -1
- package/static/dist/assets/{line-gxfwyhjq.js → line-friyjof3.js} +1 -1
- package/static/dist/assets/link-m90ahx3n.js +1 -0
- 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-loxeqsu3.js → mermaid-parser.core-f1gvpwrt.js} +3 -3
- package/static/dist/assets/{mindmap-definition-YA3MSWOX-edi534gc.js → mindmap-definition-YA3MSWOX-mt2oxwue.js} +1 -1
- package/static/dist/assets/onboarding-ret37j1e.js +1 -0
- package/static/dist/assets/{packet-AYTQ26CC-gmb3yy71.js → packet-AYTQ26CC-jik4ixlf.js} +1 -1
- package/static/dist/assets/{pegDiagram-XKGWAZYB-fxy5j8cx.js → pegDiagram-XKGWAZYB-erxlv6cc.js} +1 -1
- package/static/dist/assets/{pie-WAS4IAKB-do2pm4s6.js → pie-WAS4IAKB-mnkoldfl.js} +1 -1
- package/static/dist/assets/{pieDiagram-E7YTZNPT-mgjvb365.js → pieDiagram-E7YTZNPT-i7lwrada.js} +1 -1
- package/static/dist/assets/{quadrantDiagram-AXDQQJYC-dhok6m1j.js → quadrantDiagram-AXDQQJYC-fr8ejdoy.js} +1 -1
- package/static/dist/assets/{radar-RG4KPBEZ-n5giw3vb.js → radar-RG4KPBEZ-otarjte2.js} +1 -1
- package/static/dist/assets/{railroad-74A4TZTK-h6nfs9bj.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-lfwg92r4.js → railroadDiagram-O6MQD6OU-esyn75pw.js} +1 -1
- package/static/dist/assets/{refresh-cw-bg6oc499.js → refresh-cw-k66keho6.js} +1 -1
- package/static/dist/assets/{requirementDiagram-BXWQKSXE-c5k5pg07.js → requirementDiagram-BXWQKSXE-cyhi5u29.js} +1 -1
- package/static/dist/assets/{sankeyDiagram-P5KCCOFB-o9auio4y.js → sankeyDiagram-P5KCCOFB-jljpbo0h.js} +1 -1
- package/static/dist/assets/{saved-j5wyhbik.js → saved-do49si3v.js} +1 -1
- package/static/dist/assets/{search-ipa17zlr.js → search-j5ki6a9o.js} +1 -1
- package/static/dist/assets/{sequenceDiagram-WJ2MYXX4-pfgodnmk.js → sequenceDiagram-WJ2MYXX4-fz0dhlu7.js} +1 -1
- package/static/dist/assets/{settings_section_extensions_title-fcfjf6l8.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-bfrh4rch.js → sliders-horizontal-c4wya4dy.js} +1 -1
- package/static/dist/assets/{stateDiagram-D77RDMKH-m1y2cr3q.js → stateDiagram-D77RDMKH-kdnithdx.js} +1 -1
- package/static/dist/assets/stateDiagram-v2-MP3YSRHH-k2wg2645.js +1 -0
- package/static/dist/assets/{swimlanes-42K2YHIH-hzai6fwo.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-gwefy9gi.js → timeline-definition-24CTP7MA-g0qygccv.js} +1 -1
- package/static/dist/assets/todoStore-kjk5l0sy.js +1 -0
- package/static/dist/assets/{treeView-Q6P3EWNA-7q91p0dn.js → treeView-Q6P3EWNA-ndchzkuu.js} +1 -1
- package/static/dist/assets/{treemap-WGGIJYW6-occom39a.js → treemap-WGGIJYW6-hwjxj0zz.js} +1 -1
- package/static/dist/assets/{untitled-cgw2enra.js → untitled-mbr6tuhu.js} +1 -1
- package/static/dist/assets/useForm-ocxu460f.js +1 -0
- package/static/dist/assets/useLocale-fzy5jhg6.js +1 -0
- package/static/dist/assets/{useParams-gpbjxj8s.js → useParams-lo9u33d1.js} +1 -1
- package/static/dist/assets/{useSearch-bhdptos7.js → useSearch-lq1mr090.js} +1 -1
- package/static/dist/assets/{vennDiagram-4TSXK5OY-ew4bhldi.js → vennDiagram-4TSXK5OY-gubovd1r.js} +1 -1
- package/static/dist/assets/{wardley-WFR3VGLG-njdacy0u.js → wardley-WFR3VGLG-ir3om65j.js} +1 -1
- package/static/dist/assets/{wardleyDiagram-VM6X3IG4-mkvxx7u9.js → wardleyDiagram-VM6X3IG4-ce0or1ie.js} +1 -1
- package/static/dist/assets/{xychartDiagram-S5SC5T6Z-8uriotdw.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-irdqom6e.js +0 -1
- package/static/dist/assets/ChatPage-ldhqevjn.js +0 -20
- package/static/dist/assets/HubRoute-hq24vhj8.js +0 -2
- package/static/dist/assets/Select-gpqmt6x1.js +0 -1
- package/static/dist/assets/SessionListPanel-hkvipik4.js +0 -1
- package/static/dist/assets/States-fn4o2wdf.js +0 -1
- package/static/dist/assets/Toaster-cwnut53k.js +0 -1
- package/static/dist/assets/_app-h6ago6y6.js +0 -1
- package/static/dist/assets/_app.ext._extensionId-erqnfff5.js +0 -1
- package/static/dist/assets/_app.index-cq2fxmda.js +0 -1
- package/static/dist/assets/_app.insights-nzhld9gu.js +0 -1
- package/static/dist/assets/_app.kanban-m5uggety.js +0 -1
- package/static/dist/assets/_app.logs-d2kk9lza.js +0 -1
- package/static/dist/assets/_app.memory-gcmop1e7.js +0 -1
- package/static/dist/assets/_app.profiles-e9b2my7x.js +0 -1
- package/static/dist/assets/_app.settings-kcjum3c1.js +0 -1
- package/static/dist/assets/_app.settings._section-bi4jjex0.js +0 -1
- package/static/dist/assets/_app.skills-e4e61l23.js +0 -1
- package/static/dist/assets/_app.tasks-f1evdhbl.js +0 -2
- package/static/dist/assets/_app.todos-o7ijtk42.js +0 -1
- package/static/dist/assets/_app.workspaces-o18voh0w.js +0 -1
- package/static/dist/assets/architecture-7GRP2DOG-notdhmpv.js +0 -1
- package/static/dist/assets/channel-jpk1nas2.js +0 -1
- package/static/dist/assets/classDiagram-ZZMXUADV-hld301gc.js +0 -1
- package/static/dist/assets/classDiagram-v2-VYDZK3BY-hld301gc.js +0 -1
- package/static/dist/assets/endpoints-d8n28yf3.js +0 -64
- package/static/dist/assets/eventmodeling-NTZA5JFV-eaqs19mj.js +0 -1
- package/static/dist/assets/flowDiagram-HODETNUW-eli5764n.js +0 -1
- package/static/dist/assets/index-l08181vr.js +0 -11
- package/static/dist/assets/index-pdtcl20t.css +0 -2
- package/static/dist/assets/link-ib4prsn5.js +0 -1
- package/static/dist/assets/login-llplsuey.js +0 -1
- package/static/dist/assets/mermaid-HWGCJPDP-f3scrlds.js +0 -1
- package/static/dist/assets/onboarding-n1xhlgym.js +0 -1
- package/static/dist/assets/railroad-abnf-HS5TGJTU-d5gaaud9.js +0 -1
- package/static/dist/assets/railroad-ebnf-LZEXJU2U-ihudnbec.js +0 -1
- package/static/dist/assets/railroad-peg-WCYAUIDC-lgpvhel7.js +0 -1
- package/static/dist/assets/share._token-i339gqj4.js +0 -2
- package/static/dist/assets/stateDiagram-v2-MP3YSRHH-hehvfv55.js +0 -1
- package/static/dist/assets/swimlanesDiagram-VR7AAH4N-nfk9mtst.js +0 -8
- package/static/dist/assets/todoStore-fhvdsen0.js +0 -1
- package/static/dist/assets/useForm-jwbfla68.js +0 -1
- package/static/dist/assets/useLocale-gieo1fn7.js +0 -1
- package/static/dist/assets/useSelector-f2aak1ol.js +0 -1
package/dist/tools/crons.js
CHANGED
|
@@ -1,18 +1,54 @@
|
|
|
1
|
+
/** Cron jobs across profiles through the sidecar `cron.*` namespace (Python `api/routes.py` cron section). */
|
|
2
|
+
import { join } from 'node:path';
|
|
1
3
|
import { HttpFailure } from '../sessions/service.js';
|
|
2
4
|
import { SidecarError } from '../sidecar/client.js';
|
|
5
|
+
import { latestCronSessionInfo } from '../sessions/state-db.js';
|
|
3
6
|
import { str } from '../util.js';
|
|
4
7
|
const JOB_ID_RE = /^[A-Za-z0-9_-][A-Za-z0-9_.-]{0,63}$/;
|
|
5
8
|
const PASSTHROUGH_FIELDS = ['script', 'no_agent', 'context_from', 'reasoning_effort'];
|
|
6
|
-
/** Python `_cron_job_for_api
|
|
7
|
-
export function jobForApi(job) {
|
|
9
|
+
/** Python `_cron_job_for_api`, plus the derived status every client renders (TAL-296). */
|
|
10
|
+
export function jobForApi(job, running = false) {
|
|
8
11
|
const payload = { ...job };
|
|
9
12
|
if (!('profile' in payload))
|
|
10
13
|
payload.profile = null;
|
|
11
14
|
payload.toast_notifications = payload.toast_notifications !== false;
|
|
12
15
|
payload.monitor = str(payload.monitor_url) || str(payload.monitor_script) || '';
|
|
13
16
|
payload.continuity = (Array.isArray(payload.context_from) ? payload.context_from : []).some((r) => str(r).trim().toLowerCase() === 'self');
|
|
17
|
+
const state = cronDerivedState(job);
|
|
18
|
+
payload.derived_state = state;
|
|
19
|
+
payload.needs_attention = state === 'needs_attention' || state === 'schedule_error';
|
|
20
|
+
payload.resumable = payload.needs_attention || state === 'paused' || state === 'off';
|
|
21
|
+
payload.running = running || job.running === true;
|
|
14
22
|
return payload;
|
|
15
23
|
}
|
|
24
|
+
/** `repeat.times == null` means "forever" in the store; a missing record is not unlimited. */
|
|
25
|
+
function hasUnlimitedRepeat(job) {
|
|
26
|
+
return !!job.repeat && typeof job.repeat === 'object' && job.repeat.times == null;
|
|
27
|
+
}
|
|
28
|
+
function isRecurring(job) {
|
|
29
|
+
const schedule = job.schedule;
|
|
30
|
+
if (typeof schedule === 'object' && schedule)
|
|
31
|
+
return schedule.kind === 'cron' || schedule.kind === 'interval';
|
|
32
|
+
// Legacy string schedules carry no kind; an unlimited repeat record marks the job recurring (a one-shot has times: 1).
|
|
33
|
+
return typeof schedule === 'string' && hasUnlimitedRepeat(job);
|
|
34
|
+
}
|
|
35
|
+
/** Older agents report `paused` / `status` / `next_run` instead of `state` / `last_status` / `next_run_at`; all stay supported. */
|
|
36
|
+
function cronDerivedState(job) {
|
|
37
|
+
const errored = job.state === 'error' || completionOutcome(job.last_status) === 'failed' || job.status === 'error';
|
|
38
|
+
const nextRun = job.next_run_at ?? (typeof job.next_run === 'number' || typeof job.next_run === 'string' ? job.next_run : null);
|
|
39
|
+
if (isRecurring(job) && hasUnlimitedRepeat(job) && job.enabled === false && job.state === 'completed' && !nextRun)
|
|
40
|
+
return 'needs_attention';
|
|
41
|
+
// A paused job keeps the last run's error and has no next run; that is not a schedule failure.
|
|
42
|
+
if (job.state === 'paused' || job.paused)
|
|
43
|
+
return 'paused';
|
|
44
|
+
if (isRecurring(job) && !nextRun && errored)
|
|
45
|
+
return 'schedule_error';
|
|
46
|
+
if (job.enabled === false)
|
|
47
|
+
return 'off';
|
|
48
|
+
if (errored)
|
|
49
|
+
return 'error';
|
|
50
|
+
return 'active';
|
|
51
|
+
}
|
|
16
52
|
function monitorStorage(monitor) {
|
|
17
53
|
const value = str(monitor).trim();
|
|
18
54
|
if (!value)
|
|
@@ -53,6 +89,50 @@ export function jobFieldUpdates(body, currentContextFrom = null) {
|
|
|
53
89
|
export function validJobId(id) {
|
|
54
90
|
return JOB_ID_RE.test(id) && id !== '.' && id !== '..';
|
|
55
91
|
}
|
|
92
|
+
const PY_FLOAT_RE = /^[+-]?(\d+\.?\d*|\.\d+)([eE][+-]?\d+)?$/;
|
|
93
|
+
/** Python `float(since)` with its ValueError mapped to 0: a malformed `since` means "from the epoch", never a 500. */
|
|
94
|
+
export function parseSince(raw) {
|
|
95
|
+
const t = (raw ?? '').trim();
|
|
96
|
+
const n = PY_FLOAT_RE.test(t) ? Number(t) : 0;
|
|
97
|
+
return Number.isFinite(n) ? n : 0;
|
|
98
|
+
}
|
|
99
|
+
const ISO_RE = /^(\d{4})-(\d{2})-(\d{2})(?:[T ](\d{2})(?::(\d{2})(?::(\d{2})(?:\.(\d{1,6}))?)?)?)?(Z|[+-]\d{2}(?::?\d{2})?)?$/;
|
|
100
|
+
/**
|
|
101
|
+
* Python `_handle_cron_recent`'s `last_run_at` read (`datetime.fromisoformat` after `Z` → `+00:00`, or a number).
|
|
102
|
+
* Only ISO-shaped strings count, so `Date.parse` leniency ("Jan 2 2026") never invents a completion; a time without
|
|
103
|
+
* an offset is server-local, as in Python. Anything else is skipped.
|
|
104
|
+
*/
|
|
105
|
+
export function completedAtSeconds(value) {
|
|
106
|
+
if (typeof value === 'number')
|
|
107
|
+
return value && Number.isFinite(value) ? value : null;
|
|
108
|
+
if (typeof value !== 'string')
|
|
109
|
+
return null;
|
|
110
|
+
const m = ISO_RE.exec(value);
|
|
111
|
+
if (!m)
|
|
112
|
+
return null;
|
|
113
|
+
const [y, mo, d, h, mi, sec] = [1, 2, 3, 4, 5, 6].map((i) => Number(m[i] ?? 0));
|
|
114
|
+
const ms = Number((m[7] ?? '').padEnd(3, '0').slice(0, 3));
|
|
115
|
+
if (mo < 1 || mo > 12 || d < 1 || new Date(Date.UTC(y, mo - 1, d)).getUTCDate() !== d || h > 23 || mi > 59 || sec > 59)
|
|
116
|
+
return null;
|
|
117
|
+
const offset = m[8];
|
|
118
|
+
if (offset === undefined)
|
|
119
|
+
return new Date(y, mo - 1, d, h, mi, sec, ms).getTime() / 1000;
|
|
120
|
+
let offsetMinutes = 0;
|
|
121
|
+
if (offset !== 'Z') {
|
|
122
|
+
const digits = offset.slice(1).replace(':', '');
|
|
123
|
+
offsetMinutes = (offset.startsWith('-') ? -1 : 1) * (Number(digits.slice(0, 2)) * 60 + Number(digits.slice(2) || 0));
|
|
124
|
+
}
|
|
125
|
+
return (Date.UTC(y, mo - 1, d, h, mi, sec, ms) - offsetMinutes * 60_000) / 1000;
|
|
126
|
+
}
|
|
127
|
+
/** The one place a job's `last_status` becomes the success/failure the clients render. */
|
|
128
|
+
export function completionOutcome(status) {
|
|
129
|
+
const s = str(status).trim().toLowerCase();
|
|
130
|
+
if (s === 'error' || s === 'failed')
|
|
131
|
+
return 'failed';
|
|
132
|
+
if (s === 'ok' || s === 'success' || s === 'completed')
|
|
133
|
+
return 'succeeded';
|
|
134
|
+
return 'unknown';
|
|
135
|
+
}
|
|
56
136
|
export class CronService {
|
|
57
137
|
deps;
|
|
58
138
|
constructor(deps) {
|
|
@@ -72,6 +152,8 @@ export class CronService {
|
|
|
72
152
|
names.push(n);
|
|
73
153
|
} };
|
|
74
154
|
add(active);
|
|
155
|
+
if (this.deps.isolatedProfileMode())
|
|
156
|
+
return names;
|
|
75
157
|
for (const row of await this.deps.profileNames())
|
|
76
158
|
if (row.visible || this.deps.profilesMatch(row.name, active))
|
|
77
159
|
add(row.name);
|
|
@@ -97,41 +179,178 @@ export class CronService {
|
|
|
97
179
|
throw new HttpFailure(400, `Unknown profile: ${profile}`);
|
|
98
180
|
return profile;
|
|
99
181
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
const
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
182
|
+
async profileForHome(home) {
|
|
183
|
+
const names = this.deps.isolatedProfileMode() ? (await this.deps.profileNames()).map((row) => row.name) : await this.availableProfileNames();
|
|
184
|
+
for (const profile of names)
|
|
185
|
+
if (this.deps.profileHome(profile) === home)
|
|
186
|
+
return profile;
|
|
187
|
+
throw new HttpFailure(403, 'Unknown cron profile home');
|
|
188
|
+
}
|
|
189
|
+
/** The physical store owns execution. Additive owner_profile metadata lets the creator manage a new job there. */
|
|
190
|
+
async storedJobs(active) {
|
|
191
|
+
// ponytail: scan visible stores per request; add an index only if profile/job counts make this expensive.
|
|
192
|
+
const rows = [];
|
|
193
|
+
const seen = new Set();
|
|
194
|
+
for (const profile of await this.profileNames(active)) {
|
|
195
|
+
const home = this.deps.profileHome(profile);
|
|
196
|
+
if (seen.has(home))
|
|
109
197
|
continue;
|
|
110
|
-
|
|
111
|
-
const
|
|
198
|
+
seen.add(home);
|
|
199
|
+
const local = this.deps.profilesMatch(profile, active);
|
|
112
200
|
let jobs;
|
|
113
201
|
try {
|
|
114
|
-
jobs = (await sidecar.call('cron.list', { profile_home: home })).jobs
|
|
202
|
+
jobs = (await this.sidecar().call('cron.list', { profile_home: home })).jobs;
|
|
115
203
|
}
|
|
116
204
|
catch (error) {
|
|
117
|
-
if (
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
205
|
+
if (local)
|
|
206
|
+
throw error;
|
|
207
|
+
continue;
|
|
208
|
+
}
|
|
209
|
+
for (const job of jobs) {
|
|
210
|
+
const creator = str(job.owner_profile).trim();
|
|
211
|
+
rows.push({ home, profile, job, managed: local || Boolean(creator && this.deps.profilesMatch(creator, active)) });
|
|
122
212
|
}
|
|
123
|
-
|
|
124
|
-
|
|
213
|
+
}
|
|
214
|
+
return rows;
|
|
215
|
+
}
|
|
216
|
+
view(row) {
|
|
217
|
+
return { ...jobForApi(row.job, this.deps.runningJobs?.has(str(row.job.id)) ?? false), profile: str(row.job.profile).trim() || row.profile, owner_profile: row.profile, read_only: !row.managed };
|
|
218
|
+
}
|
|
219
|
+
requireExecutionStore(row) {
|
|
220
|
+
const profile = str(row.job.profile).trim();
|
|
221
|
+
if (profile && !this.deps.profilesMatch(profile, row.profile))
|
|
222
|
+
throw new HttpFailure(409, 'This legacy task must be recreated in its execution profile before it can run or resume');
|
|
223
|
+
}
|
|
224
|
+
async validateContext(home, fields) {
|
|
225
|
+
const refs = continuityRefs(fields.context_from, false);
|
|
226
|
+
if (!refs.length)
|
|
227
|
+
return;
|
|
228
|
+
const ids = new Set((await this.sidecar().call('cron.list', { profile_home: home })).jobs.map((job) => job.id));
|
|
229
|
+
if (refs.some((ref) => !ids.has(str(ref))))
|
|
230
|
+
throw new HttpFailure(400, 'Context jobs must belong to the execution profile');
|
|
231
|
+
}
|
|
232
|
+
async resolveStore(home, ref) {
|
|
233
|
+
const active = await this.profileForHome(home);
|
|
234
|
+
const allRows = await this.storedJobs(active);
|
|
235
|
+
const rows = allRows.filter((row) => row.managed);
|
|
236
|
+
const exact = rows.filter((row) => row.job.id === ref);
|
|
237
|
+
const matches = exact.length ? exact : rows.filter((row) => row.job.name === ref);
|
|
238
|
+
if (!matches.length)
|
|
239
|
+
throw new HttpFailure(404, 'Job not found');
|
|
240
|
+
if (matches.length !== 1)
|
|
241
|
+
throw new HttpFailure(409, 'Ambiguous cron job reference');
|
|
242
|
+
const match = matches[0];
|
|
243
|
+
if (allRows.filter((row) => row.home === match.home && row.job.id === match.job.id).length !== 1)
|
|
244
|
+
throw new HttpFailure(409, 'Ambiguous cron job reference');
|
|
245
|
+
return match;
|
|
246
|
+
}
|
|
247
|
+
async contextSources(home, input) {
|
|
248
|
+
const active = await this.profileForHome(home);
|
|
249
|
+
const editing = input.editing_job_id ? await this.resolveStore(home, input.editing_job_id) : null;
|
|
250
|
+
const profile = await this.normalizeProfile(input.profile);
|
|
251
|
+
if (profile && !(await this.profileNames(active)).some((name) => this.deps.profilesMatch(name, profile)))
|
|
252
|
+
throw new HttpFailure(403, 'Execution profile is not accessible');
|
|
253
|
+
const executionHome = profile ? this.deps.profileHome(profile) : editing?.home ?? home;
|
|
254
|
+
const rows = await this.storedJobs(active);
|
|
255
|
+
const inStore = rows.filter((row) => row.home === executionHome);
|
|
256
|
+
const excludeId = editing ? str(editing.job.id) : input.exclude_job_id;
|
|
257
|
+
const counts = new Map();
|
|
258
|
+
for (const row of inStore)
|
|
259
|
+
counts.set(str(row.job.id), (counts.get(str(row.job.id)) ?? 0) + 1);
|
|
260
|
+
const sources = [];
|
|
261
|
+
const included = new Set();
|
|
262
|
+
for (const row of inStore) {
|
|
263
|
+
const id = str(row.job.id).trim();
|
|
264
|
+
if (!row.managed || !id || id === excludeId || counts.get(id) !== 1)
|
|
265
|
+
continue;
|
|
266
|
+
sources.push({ job_id: id, label: str(row.job.name).trim() || id, selectable: true });
|
|
267
|
+
included.add(id);
|
|
268
|
+
}
|
|
269
|
+
for (const raw of input.selected_refs ?? []) {
|
|
270
|
+
const id = raw.trim();
|
|
271
|
+
if (!id || id.toLowerCase() === 'self' || included.has(id))
|
|
272
|
+
continue;
|
|
273
|
+
const owned = rows.find((row) => row.managed && row.job.id === id);
|
|
274
|
+
sources.push({ job_id: id, label: str(owned?.job.name).trim() || id, selectable: false });
|
|
275
|
+
included.add(id);
|
|
276
|
+
}
|
|
277
|
+
return { profile: profile ?? editing?.profile ?? active, sources };
|
|
278
|
+
}
|
|
279
|
+
/** Python `/api/crons`: the active profile's rows plus foreign rows (hidden unless `all_profiles`). */
|
|
280
|
+
async list(active, allProfiles) {
|
|
281
|
+
const activeJobs = [];
|
|
282
|
+
const otherJobs = [];
|
|
283
|
+
try {
|
|
284
|
+
for (const row of await this.storedJobs(active))
|
|
285
|
+
(row.managed ? activeJobs : otherJobs).push(this.view(row));
|
|
286
|
+
}
|
|
287
|
+
catch (error) {
|
|
288
|
+
if (error instanceof SidecarError && error.condition === 'cron_unavailable')
|
|
289
|
+
return { jobs: [], cron_unavailable: true };
|
|
290
|
+
throw error;
|
|
125
291
|
}
|
|
126
292
|
const all = allProfiles && !this.deps.isolatedProfileMode();
|
|
127
293
|
return { jobs: all ? [...activeJobs, ...otherJobs] : activeJobs, all_profiles: all, active_profile: active, other_profile_count: all ? 0 : otherJobs.length };
|
|
128
294
|
}
|
|
295
|
+
/**
|
|
296
|
+
* Python `/api/crons/recent`: each active-profile job's latest completion after `since`, newest first (ties by
|
|
297
|
+
* `job_id`), with the server's `outcome` and the newest cron session for that job. One row per job, not a run archive.
|
|
298
|
+
*/
|
|
299
|
+
async recent(home, rawSince) {
|
|
300
|
+
const since = parseSince(rawSince);
|
|
301
|
+
let rows;
|
|
302
|
+
try {
|
|
303
|
+
rows = (await this.storedJobs(await this.profileForHome(home))).filter((row) => row.managed);
|
|
304
|
+
}
|
|
305
|
+
catch (error) {
|
|
306
|
+
if (error instanceof SidecarError && error.condition === 'cron_unavailable')
|
|
307
|
+
return { completions: [], since };
|
|
308
|
+
throw error;
|
|
309
|
+
}
|
|
310
|
+
const completions = [];
|
|
311
|
+
for (const { job } of rows) {
|
|
312
|
+
const jobId = str(job.id).trim();
|
|
313
|
+
const completedAt = completedAtSeconds(job.last_run_at);
|
|
314
|
+
if (!jobId || completedAt === null || completedAt <= since)
|
|
315
|
+
continue;
|
|
316
|
+
const status = 'last_status' in job ? (job.last_status === null ? null : str(job.last_status)) : 'unknown';
|
|
317
|
+
completions.push({
|
|
318
|
+
job_id: jobId,
|
|
319
|
+
name: 'name' in job ? (job.name === null ? null : str(job.name)) : 'Unknown',
|
|
320
|
+
status,
|
|
321
|
+
outcome: completionOutcome(status),
|
|
322
|
+
completed_at: completedAt,
|
|
323
|
+
toast_notifications: job.toast_notifications !== false,
|
|
324
|
+
session_id: '',
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
completions.sort((a, b) => b.completed_at - a.completed_at || (a.job_id < b.job_id ? -1 : a.job_id > b.job_id ? 1 : 0));
|
|
328
|
+
for (const storeHome of new Set(rows.map((row) => row.home))) {
|
|
329
|
+
const ids = rows.filter((row) => row.home === storeHome).map((row) => str(row.job.id));
|
|
330
|
+
const sessions = latestCronSessionInfo(join(storeHome, 'state.db'), ids, completions.filter((c) => ids.includes(c.job_id)).map((c) => c.job_id));
|
|
331
|
+
for (const completion of completions) {
|
|
332
|
+
if (!ids.includes(completion.job_id))
|
|
333
|
+
continue;
|
|
334
|
+
const info = sessions.get(completion.job_id);
|
|
335
|
+
if (!info)
|
|
336
|
+
continue;
|
|
337
|
+
completion.session_id = info.session_id;
|
|
338
|
+
if (info.message_count !== null)
|
|
339
|
+
completion.message_count = info.message_count;
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
return { completions, since };
|
|
343
|
+
}
|
|
129
344
|
async create(home, body) {
|
|
130
345
|
if (!('schedule' in body) || body.schedule === null || body.schedule === undefined)
|
|
131
346
|
throw new HttpFailure(400, 'Missing required field(s): schedule');
|
|
132
347
|
if (!body.prompt && !body.script && !body.skills)
|
|
133
348
|
throw new HttpFailure(400, 'Missing required field(s): prompt');
|
|
134
349
|
const profile = await this.normalizeProfile(body.profile);
|
|
350
|
+
const active = await this.profileForHome(home);
|
|
351
|
+
if (profile && !(await this.profileNames(active)).some((name) => this.deps.profilesMatch(name, profile)))
|
|
352
|
+
throw new HttpFailure(403, 'Execution profile is not accessible');
|
|
353
|
+
const executionHome = profile ? this.deps.profileHome(profile) : home;
|
|
135
354
|
const job = { prompt: body.prompt ?? '', schedule: body.schedule, name: body.name ?? null, deliver: body.deliver ?? 'local', skills: body.skills ?? [], model: body.model ?? null, provider: body.provider ?? null, ...jobFieldUpdates(body) };
|
|
136
355
|
if (body.repeat !== null && body.repeat !== undefined)
|
|
137
356
|
job.repeat = body.repeat;
|
|
@@ -139,9 +358,11 @@ export class CronService {
|
|
|
139
358
|
job.profile = profile;
|
|
140
359
|
if (body.toast_notifications === false)
|
|
141
360
|
job.toast_notifications = false;
|
|
361
|
+
job.owner_profile = active;
|
|
362
|
+
await this.validateContext(executionHome, job);
|
|
142
363
|
try {
|
|
143
|
-
const result = await this.sidecar().call('cron.create', { profile_home:
|
|
144
|
-
return { ok: true, job:
|
|
364
|
+
const result = await this.sidecar().call('cron.create', { profile_home: executionHome, job, execution_home: profile ? executionHome : null });
|
|
365
|
+
return { ok: true, job: this.view({ home: executionHome, profile: profile ?? active, job: result.job, managed: true }) };
|
|
145
366
|
}
|
|
146
367
|
catch (error) {
|
|
147
368
|
throw new HttpFailure(400, str(error.message));
|
|
@@ -151,12 +372,19 @@ export class CronService {
|
|
|
151
372
|
const jobId = str(body.job_id);
|
|
152
373
|
if (!jobId)
|
|
153
374
|
throw new HttpFailure(400, 'Missing required field(s): job_id');
|
|
375
|
+
const store = await this.resolveStore(home, jobId);
|
|
376
|
+
const storedId = str(store.job.id);
|
|
377
|
+
home = store.home;
|
|
154
378
|
const updates = {};
|
|
155
379
|
for (const [k, v] of Object.entries(body)) {
|
|
156
|
-
if (k === 'job_id')
|
|
380
|
+
if (k === 'job_id' || k === 'id' || k === 'owner_profile')
|
|
157
381
|
continue;
|
|
158
|
-
if (k === 'profile')
|
|
159
|
-
|
|
382
|
+
if (k === 'profile') {
|
|
383
|
+
const profile = await this.normalizeProfile(v);
|
|
384
|
+
if (profile && !this.deps.profilesMatch(profile, store.profile))
|
|
385
|
+
throw new HttpFailure(400, 'To change the execution profile, duplicate the task in that profile and delete the old task');
|
|
386
|
+
updates.profile = profile;
|
|
387
|
+
}
|
|
160
388
|
else if (k === 'model' || k === 'provider')
|
|
161
389
|
updates[k] = v ? v : null;
|
|
162
390
|
else if (k === 'monitor' || k === 'continuity' || k === 'repeat')
|
|
@@ -167,16 +395,17 @@ export class CronService {
|
|
|
167
395
|
let currentContextFrom = null;
|
|
168
396
|
if ('continuity' in body && !('context_from' in body)) {
|
|
169
397
|
try {
|
|
170
|
-
currentContextFrom = (await this.sidecar().call('cron.get', { profile_home: home, job_id:
|
|
398
|
+
currentContextFrom = (await this.sidecar().call('cron.get', { profile_home: home, job_id: storedId })).job?.context_from ?? null;
|
|
171
399
|
}
|
|
172
400
|
catch {
|
|
173
401
|
currentContextFrom = null;
|
|
174
402
|
}
|
|
175
403
|
}
|
|
176
404
|
Object.assign(updates, jobFieldUpdates(body, currentContextFrom));
|
|
405
|
+
await this.validateContext(home, updates);
|
|
177
406
|
try {
|
|
178
|
-
const result = await this.sidecar().call('cron.update', { profile_home: home, job_id:
|
|
179
|
-
return { ok: true, job:
|
|
407
|
+
const result = await this.sidecar().call('cron.update', { profile_home: home, job_id: storedId, updates });
|
|
408
|
+
return { ok: true, job: this.view({ ...store, job: result.job }) };
|
|
180
409
|
}
|
|
181
410
|
catch (error) {
|
|
182
411
|
if (error instanceof SidecarError && error.condition === 'not_found')
|
|
@@ -187,10 +416,13 @@ export class CronService {
|
|
|
187
416
|
async simple(method, home, jobId, extra = {}) {
|
|
188
417
|
if (!jobId)
|
|
189
418
|
throw new HttpFailure(400, method === 'cron.delete' ? 'Missing required field(s): job_id' : 'job_id required');
|
|
419
|
+
const store = await this.resolveStore(home, jobId);
|
|
420
|
+
if (method === 'cron.resume')
|
|
421
|
+
this.requireExecutionStore(store);
|
|
190
422
|
try {
|
|
191
|
-
const result = await this.sidecar().call(method, { profile_home: home, job_id:
|
|
423
|
+
const result = await this.sidecar().call(method, { profile_home: store.home, job_id: str(store.job.id), ...extra });
|
|
192
424
|
// Python returned the raw `pause_job`/`resume_job` record and `{ok, job_id}` for delete.
|
|
193
|
-
return 'job' in result ? { ok: true, job: result.job } : { ok: true, job_id: jobId };
|
|
425
|
+
return 'job' in result ? { ok: true, job: this.view({ ...store, job: result.job }) } : { ok: true, job_id: jobId };
|
|
194
426
|
}
|
|
195
427
|
catch (error) {
|
|
196
428
|
if (error instanceof SidecarError && error.condition === 'not_found')
|
|
@@ -216,6 +448,11 @@ export class CronService {
|
|
|
216
448
|
running?.set(jobId, Date.now() / 1000);
|
|
217
449
|
try {
|
|
218
450
|
const sidecar = this.sidecar();
|
|
451
|
+
const store = await this.resolveStore(home, jobId);
|
|
452
|
+
if (store.job.id !== jobId)
|
|
453
|
+
throw new HttpFailure(404, 'Job not found');
|
|
454
|
+
this.requireExecutionStore(store);
|
|
455
|
+
home = store.home;
|
|
219
456
|
let job;
|
|
220
457
|
try {
|
|
221
458
|
job = (await sidecar.call('cron.get', { profile_home: home, job_id: jobId })).job;
|
|
@@ -287,6 +524,7 @@ export class CronService {
|
|
|
287
524
|
const l = pyInt(limit, 50);
|
|
288
525
|
if (!Number.isFinite(o) || !Number.isFinite(l))
|
|
289
526
|
throw new HttpFailure(400, 'offset and limit must be integers');
|
|
527
|
+
home = (await this.resolveStore(home, jobId)).home;
|
|
290
528
|
return this.sidecar().call('cron.history', { profile_home: home, job_id: jobId, offset: Math.max(0, o), limit: Math.max(1, Math.min(500, l)) });
|
|
291
529
|
}
|
|
292
530
|
async runDetail(home, jobId, filename) {
|
|
@@ -296,6 +534,7 @@ export class CronService {
|
|
|
296
534
|
throw new HttpFailure(400, 'invalid job_id');
|
|
297
535
|
if (filename.includes('/') || filename.includes('\\') || filename === '..')
|
|
298
536
|
throw new HttpFailure(400, 'invalid filename');
|
|
537
|
+
home = (await this.resolveStore(home, jobId)).home;
|
|
299
538
|
try {
|
|
300
539
|
return await this.sidecar().call('cron.run_detail', { profile_home: home, job_id: jobId, filename });
|
|
301
540
|
}
|
|
@@ -311,6 +550,7 @@ export class CronService {
|
|
|
311
550
|
if (!JOB_ID_RE.test(jobId))
|
|
312
551
|
throw new HttpFailure(400, 'invalid job_id');
|
|
313
552
|
const l = Number.parseInt(limit ?? '5', 10);
|
|
553
|
+
home = (await this.resolveStore(home, jobId)).home;
|
|
314
554
|
return this.sidecar().call('cron.output', { profile_home: home, job_id: jobId, limit: Number.isFinite(l) ? Math.max(1, Math.min(500, l)) : 5 });
|
|
315
555
|
}
|
|
316
556
|
async deliveryOptions() {
|
package/dist/tools/crons.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crons.js","sourceRoot":"","sources":["../../src/tools/crons.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"crons.js","sourceRoot":"","sources":["../../src/tools/crons.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/hygiene.d.ts
CHANGED
|
@@ -21,9 +21,17 @@ export declare class HygieneTicker {
|
|
|
21
21
|
private readonly deps;
|
|
22
22
|
private timer;
|
|
23
23
|
private retentionLastRun;
|
|
24
|
+
private retention;
|
|
25
|
+
private abort;
|
|
24
26
|
constructor(deps: HygieneDeps);
|
|
25
27
|
start(intervalMs?: number): void;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
28
|
+
/** Stops the schedule; an in-flight retention sweep stops at its next yield, and the result settles when it has. */
|
|
29
|
+
stop(): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Python `_run_process_hygiene`: every step is best effort. Retention runs in
|
|
32
|
+
* the background, one sweep at a time; the returned promise settles when the
|
|
33
|
+
* current sweep (if any) does.
|
|
34
|
+
*/
|
|
35
|
+
tick(): Promise<void>;
|
|
36
|
+
private warn;
|
|
29
37
|
}
|
package/dist/tools/hygiene.js
CHANGED
|
@@ -74,39 +74,57 @@ export class HygieneTicker {
|
|
|
74
74
|
deps;
|
|
75
75
|
timer = null;
|
|
76
76
|
retentionLastRun = null;
|
|
77
|
+
retention = null;
|
|
78
|
+
abort = new AbortController();
|
|
77
79
|
constructor(deps) {
|
|
78
80
|
this.deps = deps;
|
|
79
81
|
}
|
|
80
82
|
start(intervalMs = HYGIENE_INTERVAL_MS) {
|
|
81
83
|
if (this.timer)
|
|
82
84
|
return;
|
|
83
|
-
|
|
85
|
+
if (this.abort.signal.aborted)
|
|
86
|
+
this.abort = new AbortController();
|
|
87
|
+
this.timer = setInterval(() => { void this.tick(); }, intervalMs);
|
|
84
88
|
this.timer.unref();
|
|
85
89
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
this.timer
|
|
89
|
-
|
|
90
|
-
|
|
90
|
+
/** Stops the schedule; an in-flight retention sweep stops at its next yield, and the result settles when it has. */
|
|
91
|
+
stop() {
|
|
92
|
+
if (this.timer) {
|
|
93
|
+
clearInterval(this.timer);
|
|
94
|
+
this.timer = null;
|
|
95
|
+
}
|
|
96
|
+
this.abort.abort();
|
|
97
|
+
return this.retention ?? Promise.resolve();
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Python `_run_process_hygiene`: every step is best effort. Retention runs in
|
|
101
|
+
* the background, one sweep at a time; the returned promise settles when the
|
|
102
|
+
* current sweep (if any) does.
|
|
103
|
+
*/
|
|
91
104
|
tick() {
|
|
92
105
|
const step = (label, run) => { try {
|
|
93
106
|
run();
|
|
94
107
|
}
|
|
95
108
|
catch (error) {
|
|
96
|
-
this.
|
|
109
|
+
this.warn(label, error);
|
|
97
110
|
} };
|
|
98
111
|
step('WebUI log rotation', () => { rotateWebuiLog(webuiLogPaths(this.deps.env, this.deps.stateDir, this.deps.port()), webuiLogMaxBytes(this.deps.env), this.deps.log); });
|
|
99
112
|
for (const sweep of this.deps.sweeps ?? [])
|
|
100
113
|
step('hygiene sweep', sweep);
|
|
114
|
+
if (this.retention)
|
|
115
|
+
return this.retention;
|
|
101
116
|
const now = this.deps.now();
|
|
102
|
-
|
|
103
|
-
|
|
117
|
+
const { signal } = this.abort;
|
|
118
|
+
if (signal.aborted || (this.retentionLastRun !== null && now - this.retentionLastRun < RETENTION_INTERVAL_S))
|
|
119
|
+
return Promise.resolve();
|
|
104
120
|
this.retentionLastRun = now;
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
121
|
+
this.retention = this.deps.journal.pruneSettled({ now, signal, isActive: (path) => this.deps.activeJournalPaths().has(path) })
|
|
122
|
+
.then((result) => { if (result.pruned)
|
|
123
|
+
this.deps.log(`[webui] run-journal retention pruned ${String(result.pruned)} files (${String(result.bytes_reclaimed)} bytes)`); })
|
|
124
|
+
.catch((error) => { this.warn('run-journal retention', error); })
|
|
125
|
+
.finally(() => { this.retention = null; });
|
|
126
|
+
return this.retention;
|
|
110
127
|
}
|
|
128
|
+
warn(label, error) { this.deps.log(`[webui] WARNING: ${label} failed: ${error.message}`); }
|
|
111
129
|
}
|
|
112
130
|
//# sourceMappingURL=hygiene.js.map
|