@symerian/symi 2.6.42 → 2.7.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/dist/{accounts-DDuIpcln.js → accounts-Cd816n6l.js} +7 -7
- package/dist/{accounts-bK-Yqdwx.js → accounts-CokRskCl.js} +1 -1
- package/dist/{accounts-DyJN4_vR.js → accounts-mN_EcgxC.js} +1 -1
- package/dist/{acp-cli-CrEIx-c7.js → acp-cli-COzlJi3B.js} +6 -6
- package/dist/{agent-scope-CgUHAtCo.js → agent-scope-BRwEc2pG.js} +18 -18
- package/dist/{agents-DDRDszOI.js → agents-Cu2bthAX.js} +4 -4
- package/dist/{agents.config-BKCY6F2A.js → agents.config-5PTwsijs.js} +1 -1
- package/dist/{agents.config-BEVb1Pyx.js → agents.config-Dib8Uo2P.js} +2 -2
- package/dist/{api-key-rotation-CzuPlV2t.js → api-key-rotation-CEr3lKih.js} +1 -1
- package/dist/{audio-preflight-CIiS5cfP.js → audio-preflight-mj-z_vQ6.js} +28 -28
- package/dist/{audit-DB9YkTVX.js → audit-Djfdh06o.js} +23 -23
- package/dist/{auth-choice-BbzReh6k.js → auth-choice-5gul6jy2.js} +1 -1
- package/dist/{auth-choice-D2xXwBeN.js → auth-choice-CmSUU3t8.js} +8 -8
- package/dist/{auth-token-Cay2jwzn.js → auth-token-83A2btbE.js} +1 -1
- package/dist/{banner-DqqRwplt.js → banner-B4vQpMIJ.js} +1 -1
- package/dist/{bindings-DFaVVCsf.js → bindings-ChzePa8q.js} +1 -1
- package/dist/{browser-cli-Ctn9do4z.js → browser-cli-BTD0NlrA.js} +9 -9
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +1 -1
- package/dist/bundled/session-memory/handler.js +1 -1
- package/dist/{call-DwpGquzW.js → call-tmHtVCkn.js} +9 -9
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-DQcpDVCx.js → channel-options-DVf4CJIu.js} +1 -1
- package/dist/{channel-options-DcazVJQf.js → channel-options-DsWGc55A.js} +2 -2
- package/dist/{channel-selection-V2xDgw16.js → channel-selection-DaJDux-Q.js} +1 -1
- package/dist/{channel-web-u5yMYO4j.js → channel-web-vGC-WJXi.js} +17 -17
- package/dist/{channels-cli-Bog4Kn3X.js → channels-cli-COayA28A.js} +76 -76
- package/dist/{channels-cli-C3iJE8eg.js → channels-cli-CSv05N3q.js} +4 -4
- package/dist/{channels-status-issues-CJ0Vb_9z.js → channels-status-issues-B_PI3nEE.js} +1 -1
- package/dist/{chrome-DU2ZysN3.js → chrome-CSJzpT9Z.js} +2 -2
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-eBtEEHLK.js → cli-B-g79xPe.js} +1 -1
- package/dist/{cli-QybdZdE7.js → cli-DJjOxip6.js} +63 -63
- package/dist/{client-jI1oE0_k.js → client-Bj_vTpri.js} +1 -1
- package/dist/{command-registry-BWnZSpbL.js → command-registry-BvpLfzl7.js} +9 -9
- package/dist/{commands-BNLCWX6e.js → commands-CtocZ4Lg.js} +1 -1
- package/dist/{commands-registry-BT0-zzs3.js → commands-registry-BZ0ZSQpM.js} +3 -3
- package/dist/{completion-cli-CUKm7Hb6.js → completion-cli-CfRZ-7QF.js} +2 -2
- package/dist/{completion-cli-BhJFXaVU.js → completion-cli-DtQcXg1N.js} +12 -12
- package/dist/{config-cli-CjnQyv45.js → config-cli-D9Z78raJ.js} +4 -4
- package/dist/{config-cli-B796xZBe.js → config-cli-DL2RdfLM.js} +1 -1
- package/dist/{config-guard-CEkSg4hl.js → config-guard-4oRmpR0a.js} +12 -12
- package/dist/{config-Dz95lSBW.js → config-tNauHpdq.js} +2 -2
- package/dist/{config-validation-HDVDlMSV.js → config-validation-BoDWiwe3.js} +1 -1
- package/dist/{configure-DUqT7Dyn.js → configure-Dq4f8WPa.js} +3 -3
- package/dist/{configure-D3wIQ0yI.js → configure-jDpF8lmx.js} +15 -15
- package/dist/{control-service-BYKXzY4f.js → control-service-BBnhN7aZ.js} +4 -4
- package/dist/control-ui/css/style.css +51 -0
- package/dist/control-ui/js/app.js +39 -0
- package/dist/control-ui/js/gateway.js +2 -0
- package/dist/control-ui/js/settings.js +71 -8
- package/dist/{control-ui-assets-B7moDVHX.js → control-ui-assets-6n-YayeS.js} +1 -1
- package/dist/{cron-cli-DCpsXkrw.js → cron-cli-D165ecaj.js} +10 -10
- package/dist/{daemon-cli-DSDcmWOi.js → daemon-cli-BccZzUb0.js} +11 -11
- package/dist/{daemon-runtime-mE1b-Q48.js → daemon-runtime-u01h46bE.js} +10 -10
- package/dist/{deliver-B4KZ6-oZ.js → deliver-BYdNAEqj.js} +7 -7
- package/dist/{devices-cli-x3jIP4Ih.js → devices-cli-D0N71nqX.js} +6 -6
- package/dist/{diagnostics-BRwihzJG.js → diagnostics-BrUo0gqs.js} +5 -5
- package/dist/{directory-cli-KgsAVTA0.js → directory-cli-aj7aXIBM.js} +7 -7
- package/dist/{dm-policy-shared-DlDAGtZL.js → dm-policy-shared-epgkayyq.js} +2 -2
- package/dist/{dns-cli-Cwr92Aiq.js → dns-cli-Dit09wbu.js} +3 -3
- package/dist/{dock-BhS32F6E.js → dock-BYiRZSgZ.js} +4 -4
- package/dist/{docs-cli-qE-blOLC.js → docs-cli-CyWGMA-e.js} +1 -1
- package/dist/{doctor-completion-D3oUNFQM.js → doctor-completion-Ccb83Wl5.js} +2 -2
- package/dist/{doctor-completion-DBE1IVKj.js → doctor-completion-oQemZItC.js} +1 -1
- package/dist/{doctor-config-flow-iIzSEQxb.js → doctor-config-flow-BXmHd2bb.js} +10 -10
- package/dist/entry.js +1 -1
- package/dist/{exec-approvals-cli-BSgxsdMt.js → exec-approvals-cli-CZ-iTtNO.js} +13 -13
- package/dist/extensionAPI.js +1 -1
- package/dist/{fs-safe-CUjO1ca2.js → fs-safe-CTDvb1DF.js} +6 -6
- package/dist/{gateway-cli-BguO9yV4.js → gateway-cli-C1zPKZ7B.js} +135 -120
- package/dist/{gateway-cli-Dc1RT_b9.js → gateway-cli-zbVm1MBQ.js} +30 -15
- package/dist/{gateway-rpc-5fREQe9Q.js → gateway-rpc-B1Wzoj99.js} +1 -1
- package/dist/{glass-ui-ws-D0UYleBF.js → glass-ui-ws-CvUFd4C6.js} +28 -9
- package/dist/{glass-ui-ws-DoIZyE9O.js → glass-ui-ws-D3tAmqKX.js} +104 -85
- package/dist/{health-cVvZdeDu.js → health-DQEqLYg1.js} +1 -1
- package/dist/{health-D3w4YMlC.js → health-o847FIt1.js} +13 -13
- package/dist/{hooks-cli-DZIbjfOA.js → hooks-cli-D_UW9fc8.js} +2 -2
- package/dist/{hooks-cli-te5hzOAB.js → hooks-cli-sYjbF4I6.js} +77 -77
- package/dist/{image-BWmcNF8N.js → image-lCS3o9xj.js} +3 -3
- package/dist/{image-ops-1OJMSAUX.js → image-ops-DYbDWaIA.js} +10 -10
- package/dist/index.js +73 -73
- package/dist/{inspect-CvbbCuoa.js → inspect-CNYyHVfH.js} +4 -4
- package/dist/{install-safe-path-D3Uz77u7.js → install-safe-path-D3mg1DMG.js} +11 -11
- package/dist/{installs-DQcRVF1U.js → installs-CYTVYWH_.js} +10 -10
- package/dist/{ir-DZam9q5M.js → ir-Dt4hOzxG.js} +6 -6
- package/dist/{lifecycle-core-C4HzGXA1.js → lifecycle-core-DxmxQdhS.js} +5 -5
- package/dist/llm-slug-generator.js +1 -1
- package/dist/{local-roots-aAFLQGkY.js → local-roots-BBeKX7PX.js} +2 -2
- package/dist/{login-DODfJ3Dn.js → login-CnjdNmGD.js} +3 -3
- package/dist/{login-qr-CBRxijIg.js → login-qr-DUf6CM0M.js} +5 -5
- package/dist/{logs-cli-CfGj-dOg.js → logs-cli-BVd6h2-Q.js} +7 -7
- package/dist/{manager-D4LJSRyZ.js → manager-C1CfGzZ2.js} +13 -13
- package/dist/{markdown-tables-CEbN0fEm.js → markdown-tables-ZwP14ydw.js} +1 -1
- package/dist/{memory-cli-DDumUksr.js → memory-cli-DhkRAIdT.js} +14 -14
- package/dist/{model-tWhwnFf8.js → model-CeeOcylL.js} +1 -1
- package/dist/{model-catalog-8Son0J4O.js → model-catalog-CvbwxWuC.js} +4 -4
- package/dist/{model-picker-CAm2Bftd.js → model-picker-C2MqloOs.js} +3 -3
- package/dist/{model-selection-CyFvYcRt.js → model-selection-X1oLh3CE.js} +9 -9
- package/dist/{models-BCfPhQ4m.js → models-Zol34e73.js} +2 -2
- package/dist/{models-cli-Cj2CwbPw.js → models-cli-BzcEA9oa.js} +3 -3
- package/dist/{models-cli-BFAtjNIF.js → models-cli-DnMUzr15.js} +72 -72
- package/dist/{models-config-CFFjJPe7.js → models-config-CEMioDUi.js} +7 -7
- package/dist/{node-cli-DnfDOh1d.js → node-cli-BVJid4L_.js} +28 -28
- package/dist/{node-service-CD47Qpf1.js → node-service-CXzMs782.js} +1 -1
- package/dist/{nodes-cli-Ci3oxw8k.js → nodes-cli-BN2Nslim.js} +10 -10
- package/dist/{nodes-screen-8Bq7DiSa.js → nodes-screen-Cd49cSPb.js} +4 -4
- package/dist/{npm-registry-spec-C0CPT3vr.js → npm-registry-spec-DchndI6P.js} +9 -9
- package/dist/{onboard-VcdBF5TB.js → onboard-CSseK0Co.js} +13 -13
- package/dist/{onboard-BMq8qc1m.js → onboard-CxOT_xD4.js} +2 -2
- package/dist/{onboard-channels-CiOun4k1.js → onboard-channels-CUlITipG.js} +5 -5
- package/dist/{onboard-channels-B5wgcffj.js → onboard-channels-D-lh_Vh1.js} +1 -1
- package/dist/{onboard-custom-XiomtQr7.js → onboard-custom-DTcLdtA9.js} +3 -3
- package/dist/{onboard-helpers-DFvWPFhU.js → onboard-helpers-CdPNw25E.js} +8 -8
- package/dist/{onboard-hooks-C3ok8kqB.js → onboard-hooks-C_2_jpWg.js} +1 -1
- package/dist/{onboard-remote-BURDxwoE.js → onboard-remote-v6QMnyJD.js} +1 -1
- package/dist/{onboard-skills-CbzgBT1W.js → onboard-skills-CQtkRP20.js} +4 -4
- package/dist/{onboarding-Dp7p6zKa.js → onboarding-DktESmTv.js} +3 -3
- package/dist/{onboarding-CGNpTyg2.js → onboarding-Dn5agNG_.js} +13 -13
- package/dist/{onboarding.finalize-CrsE5P43.js → onboarding.finalize-Bm-1Kdnh.js} +6 -6
- package/dist/{onboarding.finalize-B6DOu8vp.js → onboarding.finalize-CTIZ1zvV.js} +75 -75
- package/dist/{onboarding.gateway-config-DKwJ5bWd.js → onboarding.gateway-config-CwnQkyO0.js} +14 -14
- package/dist/{openai-model-default-WqcGxyFM.js → openai-model-default-4kBA1_78.js} +2 -2
- package/dist/{outbound-wnv03tb3.js → outbound-_Ir3M05f.js} +4 -4
- package/dist/{outbound-attachment-Bw-c5Cdp.js → outbound-attachment-Qfh5dlsg.js} +2 -2
- package/dist/{pairing-cli-DSM82gJG.js → pairing-cli-C8UXBJ_A.js} +8 -8
- package/dist/{pairing-labels-DyXoD1DS.js → pairing-labels-Dxb898X5.js} +1 -1
- package/dist/{pairing-store-CK726Dzq.js → pairing-store-B8ktu-6j.js} +2 -2
- package/dist/{pairing-token-CX3NN_qj.js → pairing-token-AV-MMfVE.js} +7 -7
- package/dist/{paths-BBm9fwuG.js → paths-CT6jsi4E.js} +1 -1
- package/dist/{pi-auth-json-zHckislA.js → pi-auth-json-FpfHyEcu.js} +5 -5
- package/dist/{pi-embedded-DQe8vBwU.js → pi-embedded-CYDMb5q0.js} +46 -7
- package/dist/{pi-embedded-helpers-BgdB5kvy.js → pi-embedded-helpers-Bs4eMaNo.js} +6 -6
- package/dist/{pi-tools.policy-DRWb_Cax.js → pi-tools.policy-BBxnqCay.js} +4 -4
- package/dist/{plugin-auto-enable-CP0nONRL.js → plugin-auto-enable-DwIrzVOA.js} +2 -2
- package/dist/{plugin-registry-BzIbwU3K.js → plugin-registry-CJGPW1-k.js} +1 -1
- package/dist/{plugin-registry-D3TUplW8.js → plugin-registry-d0oZLl6y.js} +3 -3
- package/dist/plugin-sdk/{channel-web-B6m8UOCl.js → channel-web-Dm-CzA1O.js} +1 -1
- package/dist/plugin-sdk/index.js +2 -2
- package/dist/plugin-sdk/{reply-CGoJQT_s.js → reply-4HEU7aDS.js} +46 -7
- package/dist/plugin-sdk/{web-CJjSOTnI.js → web-Cclb7FTq.js} +2 -2
- package/dist/{plugins-DKDeQZF0.js → plugins-BAyxWQSz.js} +2 -2
- package/dist/{plugins-cli-DFyRjAtJ.js → plugins-cli-BWgjIJQL.js} +72 -72
- package/dist/{plugins-cli-BD1Jb2Ml.js → plugins-cli-CL0tzkMo.js} +2 -2
- package/dist/{ports-BOmtxoTv.js → ports-OZQlocB7.js} +2 -2
- package/dist/{ports-DtW62rqS.js → ports-u9lWy2Jt.js} +1 -1
- package/dist/{program-qGm2M9PG.js → program-BHjH97Q_.js} +7 -7
- package/dist/{program-context-45vPEw2G.js → program-context-CXZHSZ4D.js} +39 -39
- package/dist/{prompt-select-styled-DRIS9jSv.js → prompt-select-styled-BUFEoSlM.js} +38 -38
- package/dist/{prompt-select-styled-DRraJGwA.js → prompt-select-styled-D8LXSUR7.js} +4 -4
- package/dist/{provider-auth-helpers-BNOWsjW5.js → provider-auth-helpers-BFHctF2f.js} +1 -1
- package/dist/{provider-auth-helpers-BREVjR7R.js → provider-auth-helpers-CeAbh3lv.js} +5 -5
- package/dist/{push-apns-CYC70eKy.js → push-apns-BylbQyP9.js} +1 -1
- package/dist/{push-apns-CObVeJLC.js → push-apns-DqFdzIkc.js} +4 -4
- package/dist/{pw-ai-DQohWnzT.js → pw-ai-CfrnAHwA.js} +7 -7
- package/dist/{qmd-manager-CCUK1xoc.js → qmd-manager-DUNbG4Qr.js} +18 -18
- package/dist/{qr-cli-CejYwqsj.js → qr-cli-BZYa2gvF.js} +3 -3
- package/dist/{register.agent-DzzY8jON.js → register.agent-DxAqRAt3.js} +6 -6
- package/dist/{register.agent-DRrHvYcz.js → register.agent-bzSGKS-l.js} +82 -82
- package/dist/register.configure-Boyfir72.js +148 -0
- package/dist/{register.configure-DlXkwkNR.js → register.configure-WS1nlSp8.js} +6 -6
- package/dist/{register.maintenance-CXLXouZV.js → register.maintenance-B1QcUr38.js} +85 -85
- package/dist/{register.maintenance-LEf8Q_5p.js → register.maintenance-D_qMTrgD.js} +8 -8
- package/dist/{register.message-C4ifV9vG.js → register.message-CJF8gLAN.js} +64 -64
- package/dist/{register.message-DsPa-xHV.js → register.message-zu3HGGff.js} +2 -2
- package/dist/{register.onboard-DLRPa_4B.js → register.onboard-9dwNqCe6.js} +4 -4
- package/dist/{register.onboard-CrY4PxLP.js → register.onboard-CswoaT7q.js} +75 -75
- package/dist/{register.setup-fBG_dJfi.js → register.setup-CvomtGGu.js} +78 -78
- package/dist/{register.setup-By37g1vN.js → register.setup-TcjUu6HC.js} +4 -4
- package/dist/{register.status-health-sessions-DG7KGnD0.js → register.status-health-sessions-CM1SX81r.js} +3 -3
- package/dist/{register.status-health-sessions-Ckw86-gn.js → register.status-health-sessions-CQMvbwr6.js} +76 -76
- package/dist/{register.subclis-C_xKLugM.js → register.subclis-CVQASXaL.js} +9 -9
- package/dist/{replies-BMqtgBhh.js → replies-Dy92jzrz.js} +1 -1
- package/dist/{reply-DyjXROKp.js → reply-CpNWtuU4.js} +183 -144
- package/dist/{reply-prefix-CE2YmmsD.js → reply-prefix-BLOOs1aW.js} +1 -1
- package/dist/{resolve-route-BMoTaVAH.js → resolve-route-BcnaXYvh.js} +2 -2
- package/dist/{routes-BAZTZNuQ.js → routes-CVwRcA9D.js} +8 -8
- package/dist/{rpc-Co5PQ3IJ.js → rpc-CZFfee1J.js} +1 -1
- package/dist/{run-main-Cg3ecTbO.js → run-main-Dq6tfDry.js} +14 -14
- package/dist/{runner-DRv0uCK_.js → runner-BAVs-p6Z.js} +20 -20
- package/dist/{sandbox-B6N8cV4d.js → sandbox-HZ_uilsn.js} +18 -18
- package/dist/{sandbox-cli-DwzaNjIJ.js → sandbox-cli-wZtiyo8g.js} +20 -20
- package/dist/{security-cli-D5BWzqEJ.js → security-cli-BESmRIrl.js} +36 -36
- package/dist/{send-CQVnyJyF.js → send-BVBCh27_.js} +13 -13
- package/dist/{send-DVm0du0_.js → send-CXFTeD_J.js} +4 -4
- package/dist/{send-B3RdXvjC.js → send-DT-5buW5.js} +6 -6
- package/dist/{send-9SapUCg7.js → send-DsSI8z3F.js} +6 -6
- package/dist/{send-Bm4ULEzh.js → send-JWV62VbW.js} +6 -6
- package/dist/{server-context-CCBZN8a0.js → server-context-VlF1_hYj.js} +5 -5
- package/dist/{server-methods-CWcLut3F.js → server-methods-B0pdetGJ.js} +130 -64
- package/dist/{server-methods-CW8eFTGD.js → server-methods-IBEaQXPX.js} +177 -111
- package/dist/{server-node-events-CDB0u8PP.js → server-node-events-BACmfyjo.js} +64 -64
- package/dist/{server-node-events-C2h9OPo7.js → server-node-events-CyDj7Txd.js} +2 -2
- package/dist/{service-osK70kTZ.js → service-D80PyJxB.js} +15 -15
- package/dist/{session-DsJGtM7g.js → session-6Qyc4cBQ.js} +2 -2
- package/dist/{session-dirs-Dgz7kkUM.js → session-dirs-DPzjjra2.js} +2 -2
- package/dist/{sessions-Cpgnq0pA.js → sessions-jTAGYjWl.js} +13 -13
- package/dist/{shared-DnmJ0ABB.js → shared-BV7WhIkY.js} +1 -1
- package/dist/{shared-73T9fyuK.js → shared-BfhtOZAz.js} +3 -3
- package/dist/{skill-commands-Cxw-jNxU.js → skill-commands-ZXbEITKi.js} +5 -5
- package/dist/{skill-scanner-hMtQbWPV.js → skill-scanner-w3DJvw1Q.js} +5 -5
- package/dist/{skills-6jdJQ5ZL.js → skills-DqQUtOph.js} +4 -4
- package/dist/{skills-cli-DXkx4vNV.js → skills-cli-D3lePXkf.js} +7 -7
- package/dist/{skills-install-CWVdJkLn.js → skills-install-HGYidhrv.js} +3 -3
- package/dist/{skills-status-C3ptXwnh.js → skills-status-Cjsh8we0.js} +1 -1
- package/dist/{sqlite-Dx3J_aSE.js → sqlite-BV5ILFtC.js} +12 -12
- package/dist/{status-DfPfMVNZ.js → status-BJtbD-cG.js} +2 -2
- package/dist/{status-CMx3GAax.js → status-DUeTrQSz.js} +1 -1
- package/dist/{status-B2Qt-5kL.js → status-DzHL-eVu.js} +3 -3
- package/dist/{status-ZPW5EACm.js → status-nzJEZmNT.js} +25 -25
- package/dist/{status.update-CG0ciGaf.js → status.update-TlYwuzTa.js} +3 -3
- package/dist/{store-r1DJSDq-.js → store-DvtcmOKj.js} +5 -5
- package/dist/{subagent-registry-DQHg3jUV.js → subagent-registry-CzS4CfnV.js} +46 -7
- package/dist/{symi-root-CrGJbkzf.js → symi-root-MF6_6SCS.js} +2 -2
- package/dist/{system-cli-DFZNGx0i.js → system-cli-C2yhGP4C.js} +7 -7
- package/dist/{systemd-DT6SbCim.js → systemd-CevHlgD4.js} +5 -5
- package/dist/{systemd-hints-xYZbFny_.js → systemd-hints-DmgRnw1L.js} +6 -6
- package/dist/{systemd-linger-DCskIKcx.js → systemd-linger-ScxQ1_H4.js} +1 -1
- package/dist/{tables-BEzT0Da4.js → tables-C38rzF6E.js} +1 -1
- package/dist/{target-errors-7AvoVa10.js → target-errors-CCz79CmV.js} +4 -4
- package/dist/{tool-images-DvUBlqjX.js → tool-images-B-pqX3nX.js} +1 -1
- package/dist/{tui-DjPsMdL6.js → tui-D2MOx3Kx.js} +7 -7
- package/dist/{tui-cli-pWD_NrUR.js → tui-cli-B2ii7u23.js} +28 -28
- package/dist/{unified-runner-DvOFqcrw.js → unified-runner-BtO3UQSd.js} +46 -7
- package/dist/{update-Ya0e-JnM.js → update-Don6XTH9.js} +3 -3
- package/dist/{update-check-7EzEjSzb.js → update-check-DCo5RtKp.js} +5 -5
- package/dist/{update-cli-DBasZeVl.js → update-cli-DRODEMSI.js} +8 -8
- package/dist/{update-cli-Df9rh_aN.js → update-cli-gKtjyXlD.js} +95 -95
- package/dist/{update-runner-BRKFzAwV.js → update-runner-AsKAxe31.js} +15 -15
- package/dist/{update-runner-DVa6cMqp.js → update-runner-JcdOHr71.js} +1 -1
- package/dist/{web-Dd05xbUr.js → web-BIzWZFiN.js} +1 -1
- package/dist/{web-Cw3bFAiP.js → web-DGo16lWn.js} +1 -1
- package/dist/{web-CGh5tw__.js → web-DKwOxo8E.js} +1 -1
- package/dist/web-sefqR11J.js +110 -0
- package/dist/{webhooks-cli-BRxe4uCg.js → webhooks-cli-DbnQ2BVE.js} +4 -4
- package/dist/{whatsapp-actions-ChO_shrk.js → whatsapp-actions-CqXxtCoj.js} +15 -15
- package/dist/{with-timeout-CtVdu_1U.js → with-timeout-Cm5EhxG_.js} +1 -1
- package/dist/{workspace-dirs-GpkFi6Kw.js → workspace-dirs-DKu48umx.js} +1 -1
- package/dist/{wsl-q8spwrME.js → wsl-xNOi_Ch8.js} +2 -2
- package/extensions/bluebubbles/package.json +1 -1
- package/extensions/copilot-proxy/package.json +1 -1
- package/extensions/diagnostics-otel/package.json +1 -1
- package/extensions/discord/package.json +1 -1
- package/extensions/feishu/package.json +1 -1
- package/extensions/google-antigravity-auth/package.json +1 -1
- package/extensions/google-gemini-cli-auth/package.json +1 -1
- package/extensions/googlechat/package.json +1 -1
- package/extensions/imessage/package.json +1 -1
- package/extensions/irc/package.json +1 -1
- package/extensions/learning-loop/package.json +1 -1
- package/extensions/line/package.json +1 -1
- package/extensions/llm-task/package.json +1 -1
- package/extensions/matrix/CHANGELOG.md +6 -0
- package/extensions/matrix/package.json +1 -1
- package/extensions/mattermost/package.json +1 -1
- package/extensions/memory-core/package.json +1 -1
- package/extensions/memory-lancedb/package.json +1 -1
- package/extensions/minimax-portal-auth/package.json +1 -1
- package/extensions/msteams/CHANGELOG.md +6 -0
- package/extensions/msteams/package.json +1 -1
- package/extensions/nextcloud-talk/package.json +1 -1
- package/extensions/nostr/CHANGELOG.md +6 -0
- package/extensions/nostr/package.json +1 -1
- package/extensions/open-prose/package.json +1 -1
- package/extensions/outlook/package.json +1 -1
- package/extensions/pipeline/package.json +1 -1
- package/extensions/signal/package.json +1 -1
- package/extensions/slack/package.json +1 -1
- package/extensions/telegram/package.json +1 -1
- package/extensions/tlon/package.json +1 -1
- package/extensions/twitch/CHANGELOG.md +6 -0
- package/extensions/twitch/package.json +1 -1
- package/extensions/voice-call/CHANGELOG.md +6 -0
- package/extensions/voice-call/package.json +1 -1
- package/extensions/whatsapp/package.json +1 -1
- package/extensions/zalo/CHANGELOG.md +6 -0
- package/extensions/zalo/package.json +1 -1
- package/extensions/zalouser/CHANGELOG.md +6 -0
- package/extensions/zalouser/package.json +1 -1
- package/package.json +1 -1
- package/skills/long-task/scripts/detach-task.sh +91 -14
- package/dist/register.configure-BxtTIFTa.js +0 -148
- package/dist/web-KiuDkd0x.js +0 -110
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
2
|
import { X as resolvePreferredSymiTmpDir } from "./utils-B-0b9bGM.js";
|
|
3
|
-
import { i as loadConfig } from "./config-
|
|
4
|
-
import { _ as maxBytesForKind, l as extensionForMime } from "./image-ops-
|
|
5
|
-
import { v as resolveDiscordAccount, y as normalizeDiscordToken } from "./plugins-
|
|
3
|
+
import { i as loadConfig } from "./config-tNauHpdq.js";
|
|
4
|
+
import { _ as maxBytesForKind, l as extensionForMime } from "./image-ops-DYbDWaIA.js";
|
|
5
|
+
import { v as resolveDiscordAccount, y as normalizeDiscordToken } from "./plugins-BAyxWQSz.js";
|
|
6
6
|
import { a as requireTargetKind, i as parseTargetPrefixes, n as ensureTargetId, r as parseTargetMention, t as buildMessagingTarget } from "./targets-bG1Q8FzV.js";
|
|
7
7
|
import { n as retryAsync, t as resolveRetryConfig } from "./retry-BoS4e4X_.js";
|
|
8
8
|
import { c as resolveChunkMode, i as chunkMarkdownTextWithMode } from "./chunk-1dhPX1NK.js";
|
|
9
|
-
import { n as resolveMarkdownTableMode } from "./markdown-tables-
|
|
10
|
-
import { a as loadWebMedia, o as loadWebMediaRaw } from "./ir-
|
|
9
|
+
import { n as resolveMarkdownTableMode } from "./markdown-tables-ZwP14ydw.js";
|
|
10
|
+
import { a as loadWebMedia, o as loadWebMediaRaw } from "./ir-Dt4hOzxG.js";
|
|
11
11
|
import { n as normalizePollInput, t as normalizePollDurationHours } from "./polls-DhH5YkzN.js";
|
|
12
12
|
import { n as recordChannelActivity, r as createDiscordRetryRunner } from "./channel-activity-BOiuJS3t.js";
|
|
13
13
|
import { t as resolveFetch } from "./fetch-DTNGXEzX.js";
|
|
14
|
-
import { t as convertMarkdownTables } from "./tables-
|
|
14
|
+
import { t as convertMarkdownTables } from "./tables-C38rzF6E.js";
|
|
15
15
|
import path from "node:path";
|
|
16
|
-
import
|
|
16
|
+
import fsPromises from "node:fs/promises";
|
|
17
17
|
import { execFile } from "node:child_process";
|
|
18
18
|
import { promisify } from "node:util";
|
|
19
19
|
import crypto from "node:crypto";
|
|
@@ -1524,7 +1524,7 @@ async function generateWaveformFromPcm(filePath) {
|
|
|
1524
1524
|
"8000",
|
|
1525
1525
|
tempPcm
|
|
1526
1526
|
]);
|
|
1527
|
-
const pcmData = await
|
|
1527
|
+
const pcmData = await fsPromises.readFile(tempPcm);
|
|
1528
1528
|
const samples = new Int16Array(pcmData.buffer, pcmData.byteOffset, pcmData.byteLength / 2);
|
|
1529
1529
|
const step = Math.max(1, Math.floor(samples.length / WAVEFORM_SAMPLES));
|
|
1530
1530
|
const waveform = [];
|
|
@@ -1543,7 +1543,7 @@ async function generateWaveformFromPcm(filePath) {
|
|
|
1543
1543
|
return Buffer.from(waveform).toString("base64");
|
|
1544
1544
|
} finally {
|
|
1545
1545
|
try {
|
|
1546
|
-
await
|
|
1546
|
+
await fsPromises.unlink(tempPcm);
|
|
1547
1547
|
} catch {}
|
|
1548
1548
|
}
|
|
1549
1549
|
}
|
|
@@ -1855,7 +1855,7 @@ async function materializeVoiceMessageInput(mediaUrl) {
|
|
|
1855
1855
|
const ext = extFromName || extFromMime || ".bin";
|
|
1856
1856
|
const tempDir = resolvePreferredSymiTmpDir();
|
|
1857
1857
|
const filePath = path.join(tempDir, `voice-src-${crypto.randomUUID()}${ext}`);
|
|
1858
|
-
await
|
|
1858
|
+
await fsPromises.writeFile(filePath, media.buffer, { mode: 384 });
|
|
1859
1859
|
return { filePath };
|
|
1860
1860
|
}
|
|
1861
1861
|
/**
|
|
@@ -1891,7 +1891,7 @@ async function sendVoiceMessageDiscord(to, audioPath, opts = {}) {
|
|
|
1891
1891
|
oggPath = ogg.path;
|
|
1892
1892
|
oggCleanup = ogg.cleanup;
|
|
1893
1893
|
const metadata = await getVoiceMessageMetadata(oggPath);
|
|
1894
|
-
const audioBuffer = await
|
|
1894
|
+
const audioBuffer = await fsPromises.readFile(oggPath);
|
|
1895
1895
|
const result = await sendDiscordVoiceMessage(rest, channelId, audioBuffer, metadata, opts.replyTo, request, opts.silent);
|
|
1896
1896
|
recordChannelActivity({
|
|
1897
1897
|
channel: "discord",
|
|
@@ -1909,10 +1909,10 @@ async function sendVoiceMessageDiscord(to, audioPath, opts = {}) {
|
|
|
1909
1909
|
throw err;
|
|
1910
1910
|
} finally {
|
|
1911
1911
|
if (oggCleanup && oggPath) try {
|
|
1912
|
-
await
|
|
1912
|
+
await fsPromises.unlink(oggPath);
|
|
1913
1913
|
} catch {}
|
|
1914
1914
|
try {
|
|
1915
|
-
await
|
|
1915
|
+
await fsPromises.unlink(localInputPath);
|
|
1916
1916
|
} catch {}
|
|
1917
1917
|
}
|
|
1918
1918
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
2
|
import { M as logVerbose } from "./utils-B-0b9bGM.js";
|
|
3
|
-
import { i as loadConfig } from "./config-
|
|
4
|
-
import { f as resolveSlackAccount, h as resolveSlackBotToken } from "./plugins-
|
|
3
|
+
import { i as loadConfig } from "./config-tNauHpdq.js";
|
|
4
|
+
import { f as resolveSlackAccount, h as resolveSlackBotToken } from "./plugins-BAyxWQSz.js";
|
|
5
5
|
import { a as requireTargetKind, i as parseTargetPrefixes, n as ensureTargetId, r as parseTargetMention, t as buildMessagingTarget } from "./targets-bG1Q8FzV.js";
|
|
6
6
|
import { c as resolveChunkMode, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit } from "./chunk-1dhPX1NK.js";
|
|
7
|
-
import { n as resolveMarkdownTableMode } from "./markdown-tables-
|
|
8
|
-
import { a as loadWebMedia, n as markdownToIR, t as chunkMarkdownIR } from "./ir-
|
|
7
|
+
import { n as resolveMarkdownTableMode } from "./markdown-tables-ZwP14ydw.js";
|
|
8
|
+
import { a as loadWebMedia, n as markdownToIR, t as chunkMarkdownIR } from "./ir-Dt4hOzxG.js";
|
|
9
9
|
import { t as renderMarkdownWithMarkers } from "./render-CXDO_kgw.js";
|
|
10
10
|
import { WebClient } from "@slack/web-api";
|
|
11
11
|
|
|
@@ -2,18 +2,18 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
|
2
2
|
import { M as logVerbose, O as danger } from "./utils-B-0b9bGM.js";
|
|
3
3
|
import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
|
|
4
4
|
import { t as isTruthyEnvValue } from "./env-DPCHYPeH.js";
|
|
5
|
-
import { i as loadConfig } from "./config-
|
|
5
|
+
import { i as loadConfig } from "./config-tNauHpdq.js";
|
|
6
6
|
import { n as redactSensitiveText } from "./redact-f-Q-hFt_.js";
|
|
7
7
|
import { n as formatErrorMessage, r as formatUncaughtError, t as extractErrorCode } from "./errors-BF3TeRH2.js";
|
|
8
|
-
import { h as normalizeMimeType, p as isGifMedia, u as getFileExtension, v as mediaKindFromMime } from "./image-ops-
|
|
9
|
-
import { u as resolveTelegramAccount } from "./plugins-
|
|
10
|
-
import { n as resolveMarkdownTableMode } from "./markdown-tables-
|
|
11
|
-
import { a as loadWebMedia, n as markdownToIR, t as chunkMarkdownIR } from "./ir-
|
|
8
|
+
import { h as normalizeMimeType, p as isGifMedia, u as getFileExtension, v as mediaKindFromMime } from "./image-ops-DYbDWaIA.js";
|
|
9
|
+
import { u as resolveTelegramAccount } from "./plugins-BAyxWQSz.js";
|
|
10
|
+
import { n as resolveMarkdownTableMode } from "./markdown-tables-ZwP14ydw.js";
|
|
11
|
+
import { a as loadWebMedia, n as markdownToIR, t as chunkMarkdownIR } from "./ir-Dt4hOzxG.js";
|
|
12
12
|
import { t as renderMarkdownWithMarkers } from "./render-CXDO_kgw.js";
|
|
13
13
|
import { n as normalizePollInput } from "./polls-DhH5YkzN.js";
|
|
14
14
|
import { i as createTelegramRetryRunner, n as recordChannelActivity } from "./channel-activity-BOiuJS3t.js";
|
|
15
15
|
import { t as resolveFetch } from "./fetch-DTNGXEzX.js";
|
|
16
|
-
import { i as readChannelAllowFromStore } from "./pairing-store-
|
|
16
|
+
import { i as readChannelAllowFromStore } from "./pairing-store-B8ktu-6j.js";
|
|
17
17
|
import { t as makeProxyFetch } from "./proxy-DU7W9XSc.js";
|
|
18
18
|
import process$1 from "node:process";
|
|
19
19
|
import * as net$1 from "node:net";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
2
|
import { m as normalizeE164, y as resolveUserPath } from "./utils-B-0b9bGM.js";
|
|
3
|
-
import { i as loadConfig } from "./config-
|
|
4
|
-
import { v as mediaKindFromMime } from "./image-ops-
|
|
5
|
-
import { t as resolveIMessageAccount } from "./accounts-
|
|
6
|
-
import { n as resolveMarkdownTableMode } from "./markdown-tables-
|
|
7
|
-
import { t as convertMarkdownTables } from "./tables-
|
|
8
|
-
import { t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-
|
|
3
|
+
import { i as loadConfig } from "./config-tNauHpdq.js";
|
|
4
|
+
import { v as mediaKindFromMime } from "./image-ops-DYbDWaIA.js";
|
|
5
|
+
import { t as resolveIMessageAccount } from "./accounts-CokRskCl.js";
|
|
6
|
+
import { n as resolveMarkdownTableMode } from "./markdown-tables-ZwP14ydw.js";
|
|
7
|
+
import { t as convertMarkdownTables } from "./tables-C38rzF6E.js";
|
|
8
|
+
import { t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-Qfh5dlsg.js";
|
|
9
9
|
import { spawn } from "node:child_process";
|
|
10
10
|
import { createInterface } from "node:readline";
|
|
11
11
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { i as loadConfig } from "./config-
|
|
3
|
-
import { v as mediaKindFromMime } from "./image-ops-
|
|
4
|
-
import { n as resolveSignalAccount } from "./accounts-
|
|
2
|
+
import { i as loadConfig } from "./config-tNauHpdq.js";
|
|
3
|
+
import { v as mediaKindFromMime } from "./image-ops-DYbDWaIA.js";
|
|
4
|
+
import { n as resolveSignalAccount } from "./accounts-mN_EcgxC.js";
|
|
5
5
|
import { n as fetchWithTimeout } from "./fetch-timeout-Db3da8yR.js";
|
|
6
|
-
import { n as resolveMarkdownTableMode } from "./markdown-tables-
|
|
7
|
-
import { n as markdownToIR, t as chunkMarkdownIR } from "./ir-
|
|
6
|
+
import { n as resolveMarkdownTableMode } from "./markdown-tables-ZwP14ydw.js";
|
|
7
|
+
import { n as markdownToIR, t as chunkMarkdownIR } from "./ir-Dt4hOzxG.js";
|
|
8
8
|
import { t as resolveFetch } from "./fetch-DTNGXEzX.js";
|
|
9
|
-
import { t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-
|
|
9
|
+
import { t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-Qfh5dlsg.js";
|
|
10
10
|
import { randomUUID } from "node:crypto";
|
|
11
11
|
|
|
12
12
|
//#region src/signal/client.ts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { u as resolveGatewayPort } from "./paths-Cqn-zk3M.js";
|
|
2
|
-
import { i as loadConfig, l as writeConfigFile, r as createConfigIO } from "./config-
|
|
3
|
-
import { A as DEFAULT_SYMI_BROWSER_PROFILE_NAME, D as DEFAULT_BROWSER_EVALUATE_ENABLED, E as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, O as DEFAULT_SYMI_BROWSER_COLOR, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, d as normalizeCdpWsUrl, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, k as DEFAULT_SYMI_BROWSER_ENABLED, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, v as fetchOk, x as ensureChromeExtensionRelayServer } from "./chrome-
|
|
2
|
+
import { i as loadConfig, l as writeConfigFile, r as createConfigIO } from "./config-tNauHpdq.js";
|
|
3
|
+
import { A as DEFAULT_SYMI_BROWSER_PROFILE_NAME, D as DEFAULT_BROWSER_EVALUATE_ENABLED, E as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, O as DEFAULT_SYMI_BROWSER_COLOR, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, d as normalizeCdpWsUrl, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, k as DEFAULT_SYMI_BROWSER_ENABLED, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, v as fetchOk, x as ensureChromeExtensionRelayServer } from "./chrome-CSJzpT9Z.js";
|
|
4
4
|
import { r as isLoopbackHost } from "./ws-C7EXRv8z.js";
|
|
5
5
|
import { a as resolveGatewayAuth } from "./auth-B741uFtk.js";
|
|
6
6
|
import { n as formatErrorMessage, t as extractErrorCode } from "./errors-BF3TeRH2.js";
|
|
@@ -152,7 +152,7 @@ function isModuleNotFoundError(err) {
|
|
|
152
152
|
}
|
|
153
153
|
async function loadPwAiModule(mode) {
|
|
154
154
|
try {
|
|
155
|
-
return await import("./pw-ai-
|
|
155
|
+
return await import("./pw-ai-CfrnAHwA.js");
|
|
156
156
|
} catch (err) {
|
|
157
157
|
if (mode === "soft") return null;
|
|
158
158
|
if (isModuleNotFoundError(err)) return null;
|
|
@@ -775,11 +775,11 @@ function createProfileContext(opts, profile) {
|
|
|
775
775
|
const userDataDir = resolveSymiUserDataDir(profile.name);
|
|
776
776
|
const profileState = getProfileState();
|
|
777
777
|
if (await isHttpReachable(300) && !profileState.running) try {
|
|
778
|
-
await (await import("./pw-ai-
|
|
778
|
+
await (await import("./pw-ai-CfrnAHwA.js")).closePlaywrightBrowserConnection();
|
|
779
779
|
} catch {}
|
|
780
780
|
if (profileState.running) await stopRunningBrowser();
|
|
781
781
|
try {
|
|
782
|
-
await (await import("./pw-ai-
|
|
782
|
+
await (await import("./pw-ai-CfrnAHwA.js")).closePlaywrightBrowserConnection();
|
|
783
783
|
} catch {}
|
|
784
784
|
if (!fs.existsSync(userDataDir)) return {
|
|
785
785
|
moved: false,
|
|
@@ -12,7 +12,7 @@ import { f as GATEWAY_CLIENT_CAPS, g as hasGatewayClientCap, i as isGatewayMessa
|
|
|
12
12
|
import { c as writeJsonAtomic, o as createAsyncLock, s as readJsonFile } from "./pairing-token-Byh6drgn.js";
|
|
13
13
|
import { s as pickPrimaryLanIPv4 } from "./net-DZ5Ayk-W.js";
|
|
14
14
|
import { i as normalizeInputProvenance } from "./input-provenance-D0lNkCf6.js";
|
|
15
|
-
import { $n as resolveTtsAutoMode, B as dispatchInboundMessage, C as resolveAgentDeliveryPlan, Cn as enqueueSystemEvent, Cr as onAgentEvent, D as createOutboundSendDeps, Dt as normalizeCronJobPatch, Et as normalizeCronJobCreate, G as BARE_SESSION_RESET_PROMPT, Gn as stopSubagentsForRequester, Gt as persistBrowserProxyFiles, In as resolveAgentTimeoutMs, Jn as resolveUserTimezone, Qn as resolveTtsApiKey, Sn as parseVerboseOverride, V as createReplyDispatcher, Vn as formatZonedTimestamp, Wn as isAbortTrigger, Wt as applyBrowserProxyPaths, Xn as isTtsEnabled, Y as abortEmbeddedPiRun, Yn as getTtsProvider, Z as waitForEmbeddedPiRunEnd, Zn as isTtsProviderConfigured, Zt as scheduleGatewaySigusr1Restart, a as listSubagentRunsForRequester, ar as textToSpeech, bn as applyModelOverrideToSessionEntry, c as clearSessionQueues, ct as resolveOutboundSessionRoute, dt as resolveOutboundTarget, en as unbindThreadBindingsBySessionKey, er as resolveTtsConfig, hn as resolveSendPolicy, i as listDescendantRunsForRequester, ir as setTtsProvider, m as loadSymiPlugins, mn as normalizeSendPolicy, nr as resolveTtsProviderOrder, or as OPENAI_TTS_MODELS, rn as loadProviderUsageSummary, rr as setTtsEnabled, sr as OPENAI_TTS_VOICES, st as ensureOutboundSessionEntry, tn as normalizeGroupActivation, tr as resolveTtsPrefsPath, w as resolveAgentOutboundTarget, wn as isSystemEventContextChanged, wr as registerAgentRunContext, wt as writeRestartSentinel, x as agentCommand, xn as applyVerboseOverride, yt as formatDoctorNonInteractiveHint } from "./subagent-registry-
|
|
15
|
+
import { $n as resolveTtsAutoMode, B as dispatchInboundMessage, C as resolveAgentDeliveryPlan, Cn as enqueueSystemEvent, Cr as onAgentEvent, D as createOutboundSendDeps, Dt as normalizeCronJobPatch, Et as normalizeCronJobCreate, G as BARE_SESSION_RESET_PROMPT, Gn as stopSubagentsForRequester, Gt as persistBrowserProxyFiles, In as resolveAgentTimeoutMs, Jn as resolveUserTimezone, Qn as resolveTtsApiKey, Sn as parseVerboseOverride, V as createReplyDispatcher, Vn as formatZonedTimestamp, Wn as isAbortTrigger, Wt as applyBrowserProxyPaths, Xn as isTtsEnabled, Y as abortEmbeddedPiRun, Yn as getTtsProvider, Z as waitForEmbeddedPiRunEnd, Zn as isTtsProviderConfigured, Zt as scheduleGatewaySigusr1Restart, a as listSubagentRunsForRequester, ar as textToSpeech, bn as applyModelOverrideToSessionEntry, c as clearSessionQueues, ct as resolveOutboundSessionRoute, dt as resolveOutboundTarget, en as unbindThreadBindingsBySessionKey, er as resolveTtsConfig, hn as resolveSendPolicy, i as listDescendantRunsForRequester, ir as setTtsProvider, m as loadSymiPlugins, mn as normalizeSendPolicy, nr as resolveTtsProviderOrder, or as OPENAI_TTS_MODELS, rn as loadProviderUsageSummary, rr as setTtsEnabled, sr as OPENAI_TTS_VOICES, st as ensureOutboundSessionEntry, tn as normalizeGroupActivation, tr as resolveTtsPrefsPath, w as resolveAgentOutboundTarget, wn as isSystemEventContextChanged, wr as registerAgentRunContext, wt as writeRestartSentinel, x as agentCommand, xn as applyVerboseOverride, yt as formatDoctorNonInteractiveHint } from "./subagent-registry-CzS4CfnV.js";
|
|
16
16
|
import { F as resolveMainSessionKey, I as resolveMainSessionKeyFromConfig, J as normalizeSessionDeliveryFields, N as resolveAgentMainSessionKey, P as resolveExplicitAgentSessionKey, R as snapshotSessionOrigin, S as stripEnvelopeFromMessages, _ as capArrayByJsonBytes, d as updateSessionStore, g as archiveSessionTranscripts, h as archiveFileOnDisk, o as loadSessionStore, t as extractDeliveryInfo, v as readSessionMessages, x as resolveSessionTranscriptCandidates, y as readSessionPreviewItemsFromTranscript } from "./sessions-Cfa6JEB3.js";
|
|
17
17
|
import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-CwSlLxM8.js";
|
|
18
18
|
import { n as createBrowserRouteDispatcher } from "./with-timeout-Cgi3TwWN.js";
|
|
@@ -37,14 +37,14 @@ import { t as WizardCancelledError } from "./prompts-m1IJwIAx.js";
|
|
|
37
37
|
import { t as resolveChannelDefaultAccountId } from "./helpers-cLP5YLeQ.js";
|
|
38
38
|
import { t as buildChannelAccountSnapshot } from "./status-BUedPCLb.js";
|
|
39
39
|
import { o as isNodeCommandAllowed, s as resolveNodeCommandAllowlist } from "./audit-BjI_Yyr5.js";
|
|
40
|
-
import { r as getStatusSummary } from "./status-
|
|
41
|
-
import { c as setHeartbeatsEnabled } from "./health-
|
|
40
|
+
import { r as getStatusSummary } from "./status-BJtbD-cG.js";
|
|
41
|
+
import { c as setHeartbeatsEnabled } from "./health-DQEqLYg1.js";
|
|
42
42
|
import { m as normalizeUpdateChannel } from "./update-check-ZdimP1aU.js";
|
|
43
|
-
import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-
|
|
44
|
-
import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-
|
|
43
|
+
import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-BylbQyP9.js";
|
|
44
|
+
import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-5PTwsijs.js";
|
|
45
45
|
import { t as resolveSystemRunCommand } from "./system-run-command-ByVa3txU.js";
|
|
46
46
|
import { t as installSkill } from "./skills-install-1ZdwGTnh.js";
|
|
47
|
-
import { t as runGatewayUpdate } from "./update-runner-
|
|
47
|
+
import { t as runGatewayUpdate } from "./update-runner-JcdOHr71.js";
|
|
48
48
|
import { spawnSync } from "node:child_process";
|
|
49
49
|
import * as os$1 from "node:os";
|
|
50
50
|
import os from "node:os";
|
|
@@ -1609,6 +1609,33 @@ async function emitSessionUnboundLifecycleEvent(params) {
|
|
|
1609
1609
|
outcome: params.reason === "session-reset" ? "reset" : "deleted"
|
|
1610
1610
|
}, { childSessionKey: params.targetSessionKey });
|
|
1611
1611
|
}
|
|
1612
|
+
/**
|
|
1613
|
+
* Per-session in-flight lock for sessions.restore. Prevents two concurrent
|
|
1614
|
+
* restore calls for the same session from corrupting each other (e.g. one
|
|
1615
|
+
* archives the active transcript while the other is mid-rename).
|
|
1616
|
+
*/
|
|
1617
|
+
const restoreInFlight = /* @__PURE__ */ new Set();
|
|
1618
|
+
/**
|
|
1619
|
+
* Best-effort inverse of `archiveFileOnDisk(file, "reset")` — renames
|
|
1620
|
+
* `<file>.reset.<timestamp>` back to `<file>`. Used by the sessions.restore
|
|
1621
|
+
* rollback path when a later step fails after the current transcript was
|
|
1622
|
+
* archived. Swallows all errors and logs; the goal is to recover as much
|
|
1623
|
+
* state as possible, not to guarantee success.
|
|
1624
|
+
*/
|
|
1625
|
+
function renameArchivedBackToOriginal(archivedPath, reason) {
|
|
1626
|
+
const marker = `.${reason}.`;
|
|
1627
|
+
const idx = archivedPath.lastIndexOf(marker);
|
|
1628
|
+
if (idx <= 0) {
|
|
1629
|
+
console.warn(`[sessions.restore] cannot parse archived path for rollback: ${archivedPath}`);
|
|
1630
|
+
return;
|
|
1631
|
+
}
|
|
1632
|
+
const originalPath = archivedPath.slice(0, idx);
|
|
1633
|
+
try {
|
|
1634
|
+
fs.renameSync(archivedPath, originalPath);
|
|
1635
|
+
} catch (err) {
|
|
1636
|
+
console.warn(`[sessions.restore] rollback failed: could not rename ${archivedPath} back to ${originalPath}: ${String(err)}`);
|
|
1637
|
+
}
|
|
1638
|
+
}
|
|
1612
1639
|
async function ensureSessionRuntimeCleanup(params) {
|
|
1613
1640
|
const queueKeys = new Set(params.target.storeKeys);
|
|
1614
1641
|
queueKeys.add(params.target.canonicalKey);
|
|
@@ -1857,69 +1884,108 @@ const sessionsHandlers = {
|
|
|
1857
1884
|
respond(false, void 0, errorShape(ErrorCodes.INVALID_REQUEST, "Target file is not a valid session transcript."));
|
|
1858
1885
|
return;
|
|
1859
1886
|
}
|
|
1860
|
-
const
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
cfg,
|
|
1864
|
-
key,
|
|
1865
|
-
target,
|
|
1866
|
-
sessionId
|
|
1867
|
-
});
|
|
1868
|
-
if (cleanupError) {
|
|
1869
|
-
respond(false, void 0, cleanupError);
|
|
1887
|
+
const lockKey = target.canonicalKey ?? key;
|
|
1888
|
+
if (restoreInFlight.has(lockKey)) {
|
|
1889
|
+
respond(false, void 0, errorShape(ErrorCodes.UNAVAILABLE, `Restore already in progress for session ${lockKey}; try again in a moment.`));
|
|
1870
1890
|
return;
|
|
1871
1891
|
}
|
|
1872
|
-
|
|
1873
|
-
const
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
reason: "reset"
|
|
1880
|
-
});
|
|
1881
|
-
const restoredFileName = `${restoredSessionId}.jsonl`;
|
|
1882
|
-
const restoredPath = path.join(sessionsDir, restoredFileName);
|
|
1883
|
-
if (targetPath !== restoredPath) fs.renameSync(targetPath, restoredPath);
|
|
1884
|
-
const next = await updateSessionStore(storePath, (store) => {
|
|
1885
|
-
const { primaryKey } = migrateAndPruneSessionStoreKey({
|
|
1892
|
+
restoreInFlight.add(lockKey);
|
|
1893
|
+
const rollback = [];
|
|
1894
|
+
let responded = false;
|
|
1895
|
+
try {
|
|
1896
|
+
const { entry } = loadSessionEntry(key);
|
|
1897
|
+
const sessionId = entry?.sessionId;
|
|
1898
|
+
const cleanupError = await ensureSessionRuntimeCleanup({
|
|
1886
1899
|
cfg,
|
|
1887
1900
|
key,
|
|
1888
|
-
|
|
1901
|
+
target,
|
|
1902
|
+
sessionId
|
|
1889
1903
|
});
|
|
1890
|
-
|
|
1891
|
-
|
|
1904
|
+
if (cleanupError) {
|
|
1905
|
+
respond(false, void 0, cleanupError);
|
|
1906
|
+
responded = true;
|
|
1907
|
+
return;
|
|
1908
|
+
}
|
|
1909
|
+
const archivedPaths = archiveSessionTranscriptsForSession({
|
|
1910
|
+
sessionId: entry?.sessionId,
|
|
1911
|
+
storePath,
|
|
1912
|
+
sessionFile: entry?.sessionFile,
|
|
1913
|
+
agentId: target.agentId,
|
|
1914
|
+
reason: "reset"
|
|
1915
|
+
});
|
|
1916
|
+
for (const archived of archivedPaths) rollback.push({
|
|
1917
|
+
desc: `un-archive ${archived}`,
|
|
1918
|
+
fn: () => renameArchivedBackToOriginal(archived, "reset")
|
|
1919
|
+
});
|
|
1920
|
+
const restoredFileName = `${restoredSessionId}.jsonl`;
|
|
1921
|
+
const restoredPath = path.join(sessionsDir, restoredFileName);
|
|
1922
|
+
if (targetPath !== restoredPath) {
|
|
1923
|
+
fs.renameSync(targetPath, restoredPath);
|
|
1924
|
+
rollback.push({
|
|
1925
|
+
desc: `re-archive ${restoredPath} to ${targetPath}`,
|
|
1926
|
+
fn: () => {
|
|
1927
|
+
try {
|
|
1928
|
+
fs.renameSync(restoredPath, targetPath);
|
|
1929
|
+
} catch (err) {
|
|
1930
|
+
console.warn(`[sessions.restore] rollback failed: could not rename ${restoredPath} back to ${targetPath}: ${String(err)}`);
|
|
1931
|
+
}
|
|
1932
|
+
}
|
|
1933
|
+
});
|
|
1934
|
+
}
|
|
1935
|
+
const next = await updateSessionStore(storePath, (store) => {
|
|
1936
|
+
const { primaryKey } = migrateAndPruneSessionStoreKey({
|
|
1937
|
+
cfg,
|
|
1938
|
+
key,
|
|
1939
|
+
store
|
|
1940
|
+
});
|
|
1941
|
+
const existingEntry = store[primaryKey];
|
|
1942
|
+
const nextEntry = {
|
|
1943
|
+
sessionId: restoredSessionId,
|
|
1944
|
+
sessionFile: restoredPath,
|
|
1945
|
+
updatedAt: Date.now(),
|
|
1946
|
+
systemSent: false,
|
|
1947
|
+
abortedLastRun: false,
|
|
1948
|
+
thinkingLevel: existingEntry?.thinkingLevel,
|
|
1949
|
+
verboseLevel: existingEntry?.verboseLevel,
|
|
1950
|
+
reasoningLevel: existingEntry?.reasoningLevel,
|
|
1951
|
+
responseUsage: existingEntry?.responseUsage,
|
|
1952
|
+
model: existingEntry?.model,
|
|
1953
|
+
contextTokens: existingEntry?.contextTokens,
|
|
1954
|
+
sendPolicy: existingEntry?.sendPolicy,
|
|
1955
|
+
label: existingEntry?.label,
|
|
1956
|
+
origin: snapshotSessionOrigin(existingEntry),
|
|
1957
|
+
lastChannel: existingEntry?.lastChannel,
|
|
1958
|
+
lastTo: existingEntry?.lastTo,
|
|
1959
|
+
skillsSnapshot: existingEntry?.skillsSnapshot,
|
|
1960
|
+
inputTokens: 0,
|
|
1961
|
+
outputTokens: 0,
|
|
1962
|
+
totalTokens: 0,
|
|
1963
|
+
totalTokensFresh: true
|
|
1964
|
+
};
|
|
1965
|
+
store[primaryKey] = nextEntry;
|
|
1966
|
+
return nextEntry;
|
|
1967
|
+
});
|
|
1968
|
+
rollback.length = 0;
|
|
1969
|
+
respond(true, {
|
|
1970
|
+
ok: true,
|
|
1971
|
+
key: target.canonicalKey,
|
|
1892
1972
|
sessionId: restoredSessionId,
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
inputTokens: 0,
|
|
1910
|
-
outputTokens: 0,
|
|
1911
|
-
totalTokens: 0,
|
|
1912
|
-
totalTokensFresh: true
|
|
1913
|
-
};
|
|
1914
|
-
store[primaryKey] = nextEntry;
|
|
1915
|
-
return nextEntry;
|
|
1916
|
-
});
|
|
1917
|
-
respond(true, {
|
|
1918
|
-
ok: true,
|
|
1919
|
-
key: target.canonicalKey,
|
|
1920
|
-
sessionId: restoredSessionId,
|
|
1921
|
-
entry: next
|
|
1922
|
-
}, void 0);
|
|
1973
|
+
entry: next
|
|
1974
|
+
}, void 0);
|
|
1975
|
+
responded = true;
|
|
1976
|
+
} catch (err) {
|
|
1977
|
+
console.warn(`[sessions.restore] failed for ${lockKey}; running ${rollback.length} rollback step(s): ${String(err)}`);
|
|
1978
|
+
for (let i = rollback.length - 1; i >= 0; i--) {
|
|
1979
|
+
const step = rollback[i];
|
|
1980
|
+
if (step) step.fn();
|
|
1981
|
+
}
|
|
1982
|
+
if (!responded) {
|
|
1983
|
+
respond(false, void 0, errorShape(ErrorCodes.UNAVAILABLE, `Restore failed: ${err instanceof Error ? err.message : String(err)}`));
|
|
1984
|
+
responded = true;
|
|
1985
|
+
}
|
|
1986
|
+
} finally {
|
|
1987
|
+
restoreInFlight.delete(lockKey);
|
|
1988
|
+
}
|
|
1923
1989
|
},
|
|
1924
1990
|
"sessions.delete": async ({ params, respond, client, isWebchatConnect }) => {
|
|
1925
1991
|
if (!assertValidParams(params, validateSessionsDeleteParams, "sessions.delete", respond)) return;
|
|
@@ -6942,7 +7008,7 @@ const nodeHandlers = {
|
|
|
6942
7008
|
const p = params;
|
|
6943
7009
|
const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
|
|
6944
7010
|
await respondUnavailableOnThrow(respond, async () => {
|
|
6945
|
-
const { handleNodeEvent } = await import("./server-node-events-
|
|
7011
|
+
const { handleNodeEvent } = await import("./server-node-events-CyDj7Txd.js");
|
|
6946
7012
|
const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
|
|
6947
7013
|
await handleNodeEvent({
|
|
6948
7014
|
deps: context.deps,
|