@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,7 +1,7 @@
|
|
|
1
1
|
import { g as resolveStateDir, m as resolveOAuthDir, y as resolveRequiredHomeDir } from "./paths-Cqn-zk3M.js";
|
|
2
2
|
import { b as safeParseJson } from "./utils-B-0b9bGM.js";
|
|
3
|
-
import { It as withFileLock$1 } from "./model-selection-
|
|
4
|
-
import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-
|
|
3
|
+
import { It as withFileLock$1 } from "./model-selection-X1oLh3CE.js";
|
|
4
|
+
import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-BAyxWQSz.js";
|
|
5
5
|
import fs from "node:fs";
|
|
6
6
|
import os from "node:os";
|
|
7
7
|
import path from "node:path";
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { g as resolveStateDir } from "./paths-Cqn-zk3M.js";
|
|
2
2
|
import { t as safeEqualSecret } from "./secret-equal-D7A3Bol7.js";
|
|
3
3
|
import path from "node:path";
|
|
4
|
-
import
|
|
4
|
+
import fsPromises from "node:fs/promises";
|
|
5
5
|
import { randomBytes, randomUUID } from "node:crypto";
|
|
6
6
|
|
|
7
7
|
//#region src/infra/json-files.ts
|
|
8
8
|
async function readJsonFile(filePath) {
|
|
9
9
|
try {
|
|
10
|
-
const raw = await
|
|
10
|
+
const raw = await fsPromises.readFile(filePath, "utf8");
|
|
11
11
|
return JSON.parse(raw);
|
|
12
12
|
} catch {
|
|
13
13
|
return null;
|
|
@@ -16,15 +16,15 @@ async function readJsonFile(filePath) {
|
|
|
16
16
|
async function writeJsonAtomic(filePath, value, options) {
|
|
17
17
|
const mode = options?.mode ?? 384;
|
|
18
18
|
const dir = path.dirname(filePath);
|
|
19
|
-
await
|
|
19
|
+
await fsPromises.mkdir(dir, { recursive: true });
|
|
20
20
|
const tmp = `${filePath}.${randomUUID()}.tmp`;
|
|
21
|
-
await
|
|
21
|
+
await fsPromises.writeFile(tmp, JSON.stringify(value, null, 2), "utf8");
|
|
22
22
|
try {
|
|
23
|
-
await
|
|
23
|
+
await fsPromises.chmod(tmp, mode);
|
|
24
24
|
} catch {}
|
|
25
|
-
await
|
|
25
|
+
await fsPromises.rename(tmp, filePath);
|
|
26
26
|
try {
|
|
27
|
-
await
|
|
27
|
+
await fsPromises.chmod(filePath, mode);
|
|
28
28
|
} catch {}
|
|
29
29
|
}
|
|
30
30
|
function createAsyncLock() {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { X as resolvePreferredSymiTmpDir } from "./utils-B-0b9bGM.js";
|
|
2
|
-
import { n as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-
|
|
2
|
+
import { n as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-CTDvb1DF.js";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
|
|
5
5
|
//#region src/browser/paths.ts
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { At as ensureAuthProfileStore, l as normalizeProviderId, zt as normalizeOptionalSecretInput } from "./model-selection-
|
|
2
|
+
import { At as ensureAuthProfileStore, l as normalizeProviderId, zt as normalizeOptionalSecretInput } from "./model-selection-X1oLh3CE.js";
|
|
3
3
|
import path from "node:path";
|
|
4
|
-
import
|
|
4
|
+
import fsPromises from "node:fs/promises";
|
|
5
5
|
|
|
6
6
|
//#region src/agents/pi-auth-json.ts
|
|
7
7
|
var pi_auth_json_exports = /* @__PURE__ */ __exportAll({ ensurePiAuthJsonFromAuthProfiles: () => ensurePiAuthJsonFromAuthProfiles });
|
|
8
8
|
async function readAuthJson(filePath) {
|
|
9
9
|
try {
|
|
10
|
-
const raw = await
|
|
10
|
+
const raw = await fsPromises.readFile(filePath, "utf8");
|
|
11
11
|
const parsed = JSON.parse(raw);
|
|
12
12
|
if (!parsed || typeof parsed !== "object") return {};
|
|
13
13
|
return parsed;
|
|
@@ -118,11 +118,11 @@ async function ensurePiAuthJsonFromAuthProfiles(agentDir, options) {
|
|
|
118
118
|
wrote: false,
|
|
119
119
|
authPath
|
|
120
120
|
};
|
|
121
|
-
await
|
|
121
|
+
await fsPromises.mkdir(agentDir, {
|
|
122
122
|
recursive: true,
|
|
123
123
|
mode: 448
|
|
124
124
|
});
|
|
125
|
-
await
|
|
125
|
+
await fsPromises.writeFile(authPath, `${JSON.stringify(existing, null, 2)}\n`, { mode: 384 });
|
|
126
126
|
return {
|
|
127
127
|
wrote: true,
|
|
128
128
|
authPath
|
|
@@ -45586,6 +45586,21 @@ const getDmHistoryLimitFromSessionKey = getHistoryLimitFromSessionKey;
|
|
|
45586
45586
|
//#region src/agents/pi-embedded-runner/long-task-prompt.ts
|
|
45587
45587
|
const SCRIPT_REL_PATH = "skills/long-task/scripts/detach-task.sh";
|
|
45588
45588
|
let cachedScriptPath;
|
|
45589
|
+
function isExecutable(candidatePath) {
|
|
45590
|
+
try {
|
|
45591
|
+
fs.accessSync(candidatePath, fs.constants.X_OK);
|
|
45592
|
+
return true;
|
|
45593
|
+
} catch {
|
|
45594
|
+
return false;
|
|
45595
|
+
}
|
|
45596
|
+
}
|
|
45597
|
+
/**
|
|
45598
|
+
* Ensure the script is present AND has the exec bit. npm usually preserves
|
|
45599
|
+
* mode 100755 on pack/install, but a subset of filesystems (FAT32, some
|
|
45600
|
+
* container mounts) silently drop it. If the bit is missing, we try to set
|
|
45601
|
+
* it; on failure we return null rather than emit a prompt that would break
|
|
45602
|
+
* when the model tries to exec the script.
|
|
45603
|
+
*/
|
|
45589
45604
|
async function resolveDetachScriptPath(params) {
|
|
45590
45605
|
if (cachedScriptPath !== void 0) return cachedScriptPath;
|
|
45591
45606
|
const packageRoot = await resolveSymiPackageRoot({
|
|
@@ -45598,7 +45613,17 @@ async function resolveDetachScriptPath(params) {
|
|
|
45598
45613
|
return null;
|
|
45599
45614
|
}
|
|
45600
45615
|
const candidate = path.join(packageRoot, SCRIPT_REL_PATH);
|
|
45601
|
-
|
|
45616
|
+
if (!fs.existsSync(candidate)) {
|
|
45617
|
+
cachedScriptPath = null;
|
|
45618
|
+
return null;
|
|
45619
|
+
}
|
|
45620
|
+
if (!isExecutable(candidate)) try {
|
|
45621
|
+
fs.chmodSync(candidate, 493);
|
|
45622
|
+
} catch {
|
|
45623
|
+
cachedScriptPath = null;
|
|
45624
|
+
return null;
|
|
45625
|
+
}
|
|
45626
|
+
cachedScriptPath = candidate;
|
|
45602
45627
|
return cachedScriptPath;
|
|
45603
45628
|
}
|
|
45604
45629
|
async function buildLongTaskPromptSuffix(params) {
|
|
@@ -45606,11 +45631,25 @@ async function buildLongTaskPromptSuffix(params) {
|
|
|
45606
45631
|
if (!scriptPath) return "";
|
|
45607
45632
|
return "\n\n" + [
|
|
45608
45633
|
"LONG-RUNNING TASK PATTERN:",
|
|
45609
|
-
"-
|
|
45610
|
-
|
|
45634
|
+
"- Applies ONLY when a command is expected to take longer than about 15 minutes (deep nmap scans of /24 or larger, full brute-force sweeps, long builds, exhaustive enumeration). For anything shorter, use the normal exec tool — detaching short tasks creates pointless cron noise.",
|
|
45635
|
+
"- Foreground-blocking the exec tool for the full duration will fail: the agent turn will hit its timeout and the process will be SIGTERMed mid-run. Detach instead.",
|
|
45636
|
+
`- Detach pattern: exec \`${scriptPath} <task-id> <workdir> <command...>\`.`,
|
|
45637
|
+
" • task-id: alphanumeric + dot/dash/underscore, 1–60 chars, must not start with '.' or '-'.",
|
|
45638
|
+
" • workdir: absolute path you own (e.g. the agent workspace).",
|
|
45639
|
+
" • Script spawns under setsid+nohup+disown, writes task-<id>.{pid,cmd,started,log,status} files.",
|
|
45611
45640
|
"- Immediately after detaching, respond to the user with: task id, PID, log file path, your ETA estimate, and that a cron monitor has been scheduled.",
|
|
45612
|
-
"- Register a cron monitor using the `cron` tool with action=add.
|
|
45613
|
-
"
|
|
45641
|
+
"- Register a cron monitor using the `cron` tool with action=add. Required fields:",
|
|
45642
|
+
" • schedule: { kind: \"interval\", ms: 180000 } (every 3 minutes; minimum 60000)",
|
|
45643
|
+
" • payload: { kind: \"agent\", sessionTarget: \"isolated\", text: <job prompt> }",
|
|
45644
|
+
" The job prompt must literally contain the task-id, PID, log path, and status path so the future turn has enough context without re-deriving them.",
|
|
45645
|
+
"- Safe status read (inside the monitor turn):",
|
|
45646
|
+
" `status=$(cat \"<workdir>/task-<id>.status\" 2>/dev/null || echo missing)`",
|
|
45647
|
+
" Possible values: `running pid=<N> started=<ISO>`, `complete rc=<N> ended=<ISO>`, `aborted rc=<N> signal=<TERM|INT|HUP> ended=<ISO>`, or `missing` if the file was cleaned up.",
|
|
45648
|
+
"- Monitor responsibilities each tick:",
|
|
45649
|
+
" • If status begins with `running`: tail -n 20 <log>, post a one-sentence progress line.",
|
|
45650
|
+
" • If status begins with `complete`: post a final summary with rc and tail, then call cron action=remove on this job id.",
|
|
45651
|
+
" • If status begins with `aborted`: post a failure summary with signal and tail, then call cron action=remove.",
|
|
45652
|
+
" • Never leave stale monitors running after the task finishes."
|
|
45614
45653
|
].join("\n");
|
|
45615
45654
|
}
|
|
45616
45655
|
|
|
@@ -60949,7 +60988,7 @@ function isVoiceChannelType(type) {
|
|
|
60949
60988
|
function createDefaultDeps() {
|
|
60950
60989
|
return {
|
|
60951
60990
|
sendMessageWhatsApp: async (...args) => {
|
|
60952
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
60991
|
+
const { sendMessageWhatsApp } = await import("./web-DKwOxo8E.js");
|
|
60953
60992
|
return await sendMessageWhatsApp(...args);
|
|
60954
60993
|
},
|
|
60955
60994
|
sendMessageTelegram: async (...args) => {
|
|
@@ -76229,7 +76268,7 @@ function loadWebLoginQr() {
|
|
|
76229
76268
|
return webLoginQrPromise;
|
|
76230
76269
|
}
|
|
76231
76270
|
function loadWebChannel() {
|
|
76232
|
-
webChannelPromise ??= import("./web-
|
|
76271
|
+
webChannelPromise ??= import("./web-DKwOxo8E.js");
|
|
76233
76272
|
return webChannelPromise;
|
|
76234
76273
|
}
|
|
76235
76274
|
function loadWhatsAppActions() {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { E as truncateUtf16Safe } from "./utils-B-0b9bGM.js";
|
|
2
2
|
import { s as normalizeThinkLevel } from "./thinking-EAliFiVK.js";
|
|
3
|
-
import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-
|
|
4
|
-
import { t as sanitizeContentBlocksImages } from "./tool-images-
|
|
3
|
+
import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-HZ_uilsn.js";
|
|
4
|
+
import { t as sanitizeContentBlocksImages } from "./tool-images-B-pqX3nX.js";
|
|
5
5
|
import path from "node:path";
|
|
6
|
-
import
|
|
6
|
+
import fsPromises from "node:fs/promises";
|
|
7
7
|
import { createHash } from "node:crypto";
|
|
8
8
|
|
|
9
9
|
//#region src/agents/pi-embedded-helpers/bootstrap.ts
|
|
@@ -101,10 +101,10 @@ function clampToBudget(content, budget) {
|
|
|
101
101
|
async function ensureSessionHeader(params) {
|
|
102
102
|
const file = params.sessionFile;
|
|
103
103
|
try {
|
|
104
|
-
await
|
|
104
|
+
await fsPromises.stat(file);
|
|
105
105
|
return;
|
|
106
106
|
} catch {}
|
|
107
|
-
await
|
|
107
|
+
await fsPromises.mkdir(path.dirname(file), { recursive: true });
|
|
108
108
|
const entry = {
|
|
109
109
|
type: "session",
|
|
110
110
|
version: 2,
|
|
@@ -112,7 +112,7 @@ async function ensureSessionHeader(params) {
|
|
|
112
112
|
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
113
113
|
cwd: params.cwd
|
|
114
114
|
};
|
|
115
|
-
await
|
|
115
|
+
await fsPromises.writeFile(file, `${JSON.stringify(entry)}\n`, "utf-8");
|
|
116
116
|
}
|
|
117
117
|
function buildBootstrapContextFiles(files, opts) {
|
|
118
118
|
const maxChars = opts?.maxChars ?? DEFAULT_BOOTSTRAP_MAX_CHARS;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { C as resolveThreadParentSessionKey, l as resolveAgentIdFromSessionKey } from "./session-key-DCt45XZa.js";
|
|
2
|
-
import { r as resolveAgentConfig } from "./agent-scope-
|
|
2
|
+
import { r as resolveAgentConfig } from "./agent-scope-BRwEc2pG.js";
|
|
3
3
|
import { l as normalizeMessageChannel } from "./message-channel-aT-I_DTX.js";
|
|
4
|
-
import { z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-
|
|
5
|
-
import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-
|
|
6
|
-
import { o as resolveChannelGroupToolsPolicy, t as getChannelDock } from "./dock-
|
|
4
|
+
import { z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-tNauHpdq.js";
|
|
5
|
+
import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-HZ_uilsn.js";
|
|
6
|
+
import { o as resolveChannelGroupToolsPolicy, t as getChannelDock } from "./dock-BYiRZSgZ.js";
|
|
7
7
|
|
|
8
8
|
//#region src/agents/sandbox-tool-policy.ts
|
|
9
9
|
function unionAllow(base, extra) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { d as isRecord } from "./utils-B-0b9bGM.js";
|
|
2
2
|
import { o as getChatChannelMeta, s as listChatChannels, u as normalizeChatChannelId } from "./registry-Cja8eT7G.js";
|
|
3
|
-
import { l as normalizeProviderId } from "./model-selection-
|
|
4
|
-
import { t as hasAnyWhatsAppAuth } from "./accounts-
|
|
3
|
+
import { l as normalizeProviderId } from "./model-selection-X1oLh3CE.js";
|
|
4
|
+
import { t as hasAnyWhatsAppAuth } from "./accounts-Cd816n6l.js";
|
|
5
5
|
import { n as getChannelPluginCatalogEntry, r as listChannelPluginCatalogEntries } from "./catalog-NQ4pj9RI.js";
|
|
6
6
|
import { t as ensurePluginAllowlisted } from "./plugins-allowlist-BjKJrQ0e.js";
|
|
7
7
|
|
|
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
|
2
2
|
import { M as getActivePluginRegistry, o as createSubsystemLogger } from "./entry.js";
|
|
3
3
|
import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-D-jRCY0d.js";
|
|
4
4
|
import { i as loadConfig } from "./config-BNTB6qj8.js";
|
|
5
|
-
import { m as loadSymiPlugins } from "./subagent-registry-
|
|
5
|
+
import { m as loadSymiPlugins } from "./subagent-registry-CzS4CfnV.js";
|
|
6
6
|
|
|
7
7
|
//#region src/cli/plugin-registry.ts
|
|
8
8
|
var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { ft as loadSymiPlugins } from "./reply-
|
|
2
|
+
import { ft as loadSymiPlugins } from "./reply-CpNWtuU4.js";
|
|
3
3
|
import { d as getActivePluginRegistry } from "./registry-Cja8eT7G.js";
|
|
4
4
|
import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
|
|
5
|
-
import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-
|
|
6
|
-
import { i as loadConfig } from "./config-
|
|
5
|
+
import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-BRwEc2pG.js";
|
|
6
|
+
import { i as loadConfig } from "./config-tNauHpdq.js";
|
|
7
7
|
|
|
8
8
|
//#region src/cli/plugin-registry.ts
|
|
9
9
|
var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { a as buildGroupHistoryKey, n as DEFAULT_MAIN_KEY, r as buildAgentMainSessionKey, s as normalizeAgentId } from "./session-key-C_0eELjb.js";
|
|
2
2
|
import { f as readWebSelfId, o as getWebAuthAgeMs, r as resolveWhatsAppAccount } from "./accounts-D9zGZU5t.js";
|
|
3
|
-
import { E as enqueueSystemEvent, G as resolveMentionGating, W as shouldAckReactionForWhatsApp, X as buildHistoryContextFromEntries, Y as DEFAULT_GROUP_HISTORY_LIMIT, _ as resolveEnvelopeFormatOptions, c as computeBackoff, d as formatDurationPrecise, f as dispatchReplyWithBufferedBlockDispatcher, g as formatInboundEnvelope, h as resolveInboundDebounceMs, ht as createDedupeCache, l as sleepWithAbort, m as createInboundDebouncer, n as normalizeGroupActivation, nt as buildMentionRegexes, r as parseActivationCommand, rt as normalizeMentionText, t as getReplyFromConfig, tt as recordPendingHistoryEntryIfEnabled, u as buildPairingReply, v as hasControlCommand, y as shouldComputeCommandAuthorized } from "./reply-
|
|
3
|
+
import { E as enqueueSystemEvent, G as resolveMentionGating, W as shouldAckReactionForWhatsApp, X as buildHistoryContextFromEntries, Y as DEFAULT_GROUP_HISTORY_LIMIT, _ as resolveEnvelopeFormatOptions, c as computeBackoff, d as formatDurationPrecise, f as dispatchReplyWithBufferedBlockDispatcher, g as formatInboundEnvelope, h as resolveInboundDebounceMs, ht as createDedupeCache, l as sleepWithAbort, m as createInboundDebouncer, n as normalizeGroupActivation, nt as buildMentionRegexes, r as parseActivationCommand, rt as normalizeMentionText, t as getReplyFromConfig, tt as recordPendingHistoryEntryIfEnabled, u as buildPairingReply, v as hasControlCommand, y as shouldComputeCommandAuthorized } from "./reply-4HEU7aDS.js";
|
|
4
4
|
import { A as normalizeE164, B as toWhatsappJid, K as logVerbose, N as resolveJidToE164, O as isSelfChatMode, R as sleep, Y as shouldLogVerbose, k as jidToE164, s as normalizeChatChannelId, tt as getChildLogger, x as clamp } from "./registry--_pGht6S.js";
|
|
5
5
|
import { n as loadConfig } from "./config-DdA6JiyD.js";
|
|
6
6
|
import { i as defaultRuntime, t as createSubsystemLogger } from "./subsystem-Coz2AgU8.js";
|
package/dist/plugin-sdk/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { f as DEFAULT_ACCOUNT_ID, p as normalizeAccountId } from "./session-key-C_0eELjb.js";
|
|
2
2
|
import { _ as createAccountListHelpers, i as resolveWhatsAppAuthDir, n as resolveDefaultWhatsAppAccountId, r as resolveWhatsAppAccount, t as listWhatsAppAccountIds } from "./accounts-D9zGZU5t.js";
|
|
3
|
-
import { $ as clearHistoryEntriesIfEnabled, A as resolveDiscordUserAllowlist, B as logTypingFailure, C as stripMarkdown, Ct as unbindThreadBindingsBySessionKey, D as resolveSlackUserAllowlist, Dt as BLUEBUBBLES_ACTION_NAMES, Et as BLUEBUBBLES_ACTIONS, F as stringEnum, G as resolveMentionGating, H as removeAckReactionAfterReply, I as recordInboundSession, J as summarizeMapping, K as resolveMentionGatingWithBypass, L as resolveControlCommandGate, M as collectDiscordAuditChannelIds, N as formatDocsLink, O as resolveSlackChannelAllowlist, Ot as BLUEBUBBLES_GROUP_ACTIONS, P as optionalStringEnum, Q as clearHistoryEntries, R as logAckFailure, S as processLineMessage, St as listThreadBindingsBySessionKey, T as attachFooterText, Tt as resolveAllowlistMatchSimple, U as shouldAckReaction, V as createTypingCallbacks, W as shouldAckReactionForWhatsApp, Y as DEFAULT_GROUP_HISTORY_LIMIT, Z as buildPendingHistoryContextFromMap, _t as listDevicePairing, a as normalizeAccountId$1, at as isWSLEnv, bt as registerPluginHttpRoute, ct as DEFAULT_WEBHOOK_MAX_BODY_BYTES, dt as isRequestBodyLimitError, et as recordPendingHistoryEntry, ft as readJsonBodyWithLimit, gt as approveDevicePairing, ht as createDedupeCache, i as listLineAccountIds, it as isWSL2Sync, j as resolveDiscordChannelAllowlist, k as detectBinary, kt as CHANNEL_MESSAGE_ACTION_NAMES, lt as RequestBodyLimitError, mt as requestBodyErrorToText, o as resolveDefaultLineAccountId, ot as isWSLSync, pt as readRequestBodyWithLimit, q as mergeAllowlist, s as resolveLineAccount, st as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, tt as recordPendingHistoryEntryIfEnabled, ut as installRequestBodyLimitGuard, vt as rejectDevicePairing, w as createReceiptCard, wt as formatAllowlistMatchMeta, x as hasMarkdownToConvert, xt as autoBindSpawnedDiscordSubagent, yt as extractToolSend, z as logInboundDrop } from "./reply-
|
|
3
|
+
import { $ as clearHistoryEntriesIfEnabled, A as resolveDiscordUserAllowlist, B as logTypingFailure, C as stripMarkdown, Ct as unbindThreadBindingsBySessionKey, D as resolveSlackUserAllowlist, Dt as BLUEBUBBLES_ACTION_NAMES, Et as BLUEBUBBLES_ACTIONS, F as stringEnum, G as resolveMentionGating, H as removeAckReactionAfterReply, I as recordInboundSession, J as summarizeMapping, K as resolveMentionGatingWithBypass, L as resolveControlCommandGate, M as collectDiscordAuditChannelIds, N as formatDocsLink, O as resolveSlackChannelAllowlist, Ot as BLUEBUBBLES_GROUP_ACTIONS, P as optionalStringEnum, Q as clearHistoryEntries, R as logAckFailure, S as processLineMessage, St as listThreadBindingsBySessionKey, T as attachFooterText, Tt as resolveAllowlistMatchSimple, U as shouldAckReaction, V as createTypingCallbacks, W as shouldAckReactionForWhatsApp, Y as DEFAULT_GROUP_HISTORY_LIMIT, Z as buildPendingHistoryContextFromMap, _t as listDevicePairing, a as normalizeAccountId$1, at as isWSLEnv, bt as registerPluginHttpRoute, ct as DEFAULT_WEBHOOK_MAX_BODY_BYTES, dt as isRequestBodyLimitError, et as recordPendingHistoryEntry, ft as readJsonBodyWithLimit, gt as approveDevicePairing, ht as createDedupeCache, i as listLineAccountIds, it as isWSL2Sync, j as resolveDiscordChannelAllowlist, k as detectBinary, kt as CHANNEL_MESSAGE_ACTION_NAMES, lt as RequestBodyLimitError, mt as requestBodyErrorToText, o as resolveDefaultLineAccountId, ot as isWSLSync, pt as readRequestBodyWithLimit, q as mergeAllowlist, s as resolveLineAccount, st as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, tt as recordPendingHistoryEntryIfEnabled, ut as installRequestBodyLimitGuard, vt as rejectDevicePairing, w as createReceiptCard, wt as formatAllowlistMatchMeta, x as hasMarkdownToConvert, xt as autoBindSpawnedDiscordSubagent, yt as extractToolSend, z as logInboundDrop } from "./reply-4HEU7aDS.js";
|
|
4
4
|
import "./paths-DR2yt_mP.js";
|
|
5
5
|
import "./github-copilot-token-D9X2phUj.js";
|
|
6
6
|
import { D as resolveSlackAccount, E as resolveDefaultSlackAccountId, F as resolveDiscordAccount, M as listDiscordAccountIds, O as resolveSlackReplyToMode, P as resolveDefaultDiscordAccountId, S as resolveTelegramAccount, T as listSlackAccountIds, _ as normalizeWhatsAppTarget, a as listDiscordDirectoryPeersFromConfig, b as listTelegramAccountIds, c as listTelegramDirectoryGroupsFromConfig, d as listWhatsAppDirectoryPeersFromConfig, f as looksLikeSlackTargetId, g as isWhatsAppGroupJid, i as listDiscordDirectoryGroupsFromConfig, l as listTelegramDirectoryPeersFromConfig, o as listSlackDirectoryGroupsFromConfig, p as normalizeSlackMessagingTarget, s as listSlackDirectoryPeersFromConfig, u as listWhatsAppDirectoryGroupsFromConfig, w as listEnabledSlackAccounts, x as resolveDefaultTelegramAccountId } from "./plugins-BbAvhC25.js";
|
|
@@ -47,7 +47,7 @@ import "./paths-A0xdf3yk.js";
|
|
|
47
47
|
import { h as onDiagnosticEvent, m as isDiagnosticsEnabled, p as emitDiagnosticEvent } from "./diagnostic-EyuCSUXO.js";
|
|
48
48
|
import { n as extractOriginalFilename } from "./store-Do3t33-c.js";
|
|
49
49
|
import { t as resolveWhatsAppOutboundTarget } from "./resolve-outbound-target-BkCUbYGV.js";
|
|
50
|
-
import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-
|
|
50
|
+
import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-Dm-CzA1O.js";
|
|
51
51
|
import "./image-aq-JAobP.js";
|
|
52
52
|
import "./pi-model-discovery-LbcEa65a.js";
|
|
53
53
|
import "./api-key-rotation-LTEeykrm.js";
|
|
@@ -33640,6 +33640,21 @@ const getDmHistoryLimitFromSessionKey = getHistoryLimitFromSessionKey;
|
|
|
33640
33640
|
//#region src/agents/pi-embedded-runner/long-task-prompt.ts
|
|
33641
33641
|
const SCRIPT_REL_PATH = "skills/long-task/scripts/detach-task.sh";
|
|
33642
33642
|
let cachedScriptPath;
|
|
33643
|
+
function isExecutable(candidatePath) {
|
|
33644
|
+
try {
|
|
33645
|
+
fs.accessSync(candidatePath, fs.constants.X_OK);
|
|
33646
|
+
return true;
|
|
33647
|
+
} catch {
|
|
33648
|
+
return false;
|
|
33649
|
+
}
|
|
33650
|
+
}
|
|
33651
|
+
/**
|
|
33652
|
+
* Ensure the script is present AND has the exec bit. npm usually preserves
|
|
33653
|
+
* mode 100755 on pack/install, but a subset of filesystems (FAT32, some
|
|
33654
|
+
* container mounts) silently drop it. If the bit is missing, we try to set
|
|
33655
|
+
* it; on failure we return null rather than emit a prompt that would break
|
|
33656
|
+
* when the model tries to exec the script.
|
|
33657
|
+
*/
|
|
33643
33658
|
async function resolveDetachScriptPath(params) {
|
|
33644
33659
|
if (cachedScriptPath !== void 0) return cachedScriptPath;
|
|
33645
33660
|
const packageRoot = await resolveSymiPackageRoot({
|
|
@@ -33652,7 +33667,17 @@ async function resolveDetachScriptPath(params) {
|
|
|
33652
33667
|
return null;
|
|
33653
33668
|
}
|
|
33654
33669
|
const candidate = path.join(packageRoot, SCRIPT_REL_PATH);
|
|
33655
|
-
|
|
33670
|
+
if (!fs.existsSync(candidate)) {
|
|
33671
|
+
cachedScriptPath = null;
|
|
33672
|
+
return null;
|
|
33673
|
+
}
|
|
33674
|
+
if (!isExecutable(candidate)) try {
|
|
33675
|
+
fs.chmodSync(candidate, 493);
|
|
33676
|
+
} catch {
|
|
33677
|
+
cachedScriptPath = null;
|
|
33678
|
+
return null;
|
|
33679
|
+
}
|
|
33680
|
+
cachedScriptPath = candidate;
|
|
33656
33681
|
return cachedScriptPath;
|
|
33657
33682
|
}
|
|
33658
33683
|
async function buildLongTaskPromptSuffix(params) {
|
|
@@ -33660,11 +33685,25 @@ async function buildLongTaskPromptSuffix(params) {
|
|
|
33660
33685
|
if (!scriptPath) return "";
|
|
33661
33686
|
return "\n\n" + [
|
|
33662
33687
|
"LONG-RUNNING TASK PATTERN:",
|
|
33663
|
-
"-
|
|
33664
|
-
|
|
33688
|
+
"- Applies ONLY when a command is expected to take longer than about 15 minutes (deep nmap scans of /24 or larger, full brute-force sweeps, long builds, exhaustive enumeration). For anything shorter, use the normal exec tool — detaching short tasks creates pointless cron noise.",
|
|
33689
|
+
"- Foreground-blocking the exec tool for the full duration will fail: the agent turn will hit its timeout and the process will be SIGTERMed mid-run. Detach instead.",
|
|
33690
|
+
`- Detach pattern: exec \`${scriptPath} <task-id> <workdir> <command...>\`.`,
|
|
33691
|
+
" • task-id: alphanumeric + dot/dash/underscore, 1–60 chars, must not start with '.' or '-'.",
|
|
33692
|
+
" • workdir: absolute path you own (e.g. the agent workspace).",
|
|
33693
|
+
" • Script spawns under setsid+nohup+disown, writes task-<id>.{pid,cmd,started,log,status} files.",
|
|
33665
33694
|
"- Immediately after detaching, respond to the user with: task id, PID, log file path, your ETA estimate, and that a cron monitor has been scheduled.",
|
|
33666
|
-
"- Register a cron monitor using the `cron` tool with action=add.
|
|
33667
|
-
"
|
|
33695
|
+
"- Register a cron monitor using the `cron` tool with action=add. Required fields:",
|
|
33696
|
+
" • schedule: { kind: \"interval\", ms: 180000 } (every 3 minutes; minimum 60000)",
|
|
33697
|
+
" • payload: { kind: \"agent\", sessionTarget: \"isolated\", text: <job prompt> }",
|
|
33698
|
+
" The job prompt must literally contain the task-id, PID, log path, and status path so the future turn has enough context without re-deriving them.",
|
|
33699
|
+
"- Safe status read (inside the monitor turn):",
|
|
33700
|
+
" `status=$(cat \"<workdir>/task-<id>.status\" 2>/dev/null || echo missing)`",
|
|
33701
|
+
" Possible values: `running pid=<N> started=<ISO>`, `complete rc=<N> ended=<ISO>`, `aborted rc=<N> signal=<TERM|INT|HUP> ended=<ISO>`, or `missing` if the file was cleaned up.",
|
|
33702
|
+
"- Monitor responsibilities each tick:",
|
|
33703
|
+
" • If status begins with `running`: tail -n 20 <log>, post a one-sentence progress line.",
|
|
33704
|
+
" • If status begins with `complete`: post a final summary with rc and tail, then call cron action=remove on this job id.",
|
|
33705
|
+
" • If status begins with `aborted`: post a failure summary with signal and tail, then call cron action=remove.",
|
|
33706
|
+
" • Never leave stale monitors running after the task finishes."
|
|
33668
33707
|
].join("\n");
|
|
33669
33708
|
}
|
|
33670
33709
|
|
|
@@ -36544,7 +36583,7 @@ async function runAgentTurn(params) {
|
|
|
36544
36583
|
function createDefaultDeps() {
|
|
36545
36584
|
return {
|
|
36546
36585
|
sendMessageWhatsApp: async (...args) => {
|
|
36547
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
36586
|
+
const { sendMessageWhatsApp } = await import("./web-Cclb7FTq.js");
|
|
36548
36587
|
return await sendMessageWhatsApp(...args);
|
|
36549
36588
|
},
|
|
36550
36589
|
sendMessageTelegram: async (...args) => {
|
|
@@ -53982,7 +54021,7 @@ function loadWebLoginQr() {
|
|
|
53982
54021
|
return webLoginQrPromise;
|
|
53983
54022
|
}
|
|
53984
54023
|
function loadWebChannel() {
|
|
53985
|
-
webChannelPromise ??= import("./web-
|
|
54024
|
+
webChannelPromise ??= import("./web-Cclb7FTq.js");
|
|
53986
54025
|
return webChannelPromise;
|
|
53987
54026
|
}
|
|
53988
54027
|
function loadWhatsAppActions() {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as WA_WEB_AUTH_DIR, g as webAuthExists, s as logWebSelfId, u as pickWebChannel } from "./accounts-D9zGZU5t.js";
|
|
2
|
-
import "./reply-
|
|
2
|
+
import "./reply-4HEU7aDS.js";
|
|
3
3
|
import "./paths-DR2yt_mP.js";
|
|
4
4
|
import "./github-copilot-token-D9X2phUj.js";
|
|
5
5
|
import "./plugins-BbAvhC25.js";
|
|
@@ -45,7 +45,7 @@ import "./pi-embedded-helpers-BPvzgLtj.js";
|
|
|
45
45
|
import "./paths-A0xdf3yk.js";
|
|
46
46
|
import "./diagnostic-EyuCSUXO.js";
|
|
47
47
|
import "./store-Do3t33-c.js";
|
|
48
|
-
import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-
|
|
48
|
+
import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-Dm-CzA1O.js";
|
|
49
49
|
import "./image-aq-JAobP.js";
|
|
50
50
|
import "./pi-model-discovery-LbcEa65a.js";
|
|
51
51
|
import "./api-key-rotation-LTEeykrm.js";
|
|
@@ -4,8 +4,8 @@ import { h as normalizeAccountId, m as DEFAULT_ACCOUNT_ID } from "./session-key-
|
|
|
4
4
|
import { c as normalizeAnyChannelId, f as requireActivePluginRegistry, n as CHAT_CHANNEL_ORDER } from "./registry-Cja8eT7G.js";
|
|
5
5
|
import { t as isTruthyEnvValue } from "./env-DPCHYPeH.js";
|
|
6
6
|
import { t as normalizeChatType } from "./chat-type-DyovJwCt.js";
|
|
7
|
-
import { h as createAccountListHelpers } from "./accounts-
|
|
8
|
-
import { i as resolveDefaultAgentBoundAccountId, r as listBoundAccountIds } from "./bindings-
|
|
7
|
+
import { h as createAccountListHelpers } from "./accounts-Cd816n6l.js";
|
|
8
|
+
import { i as resolveDefaultAgentBoundAccountId, r as listBoundAccountIds } from "./bindings-ChzePa8q.js";
|
|
9
9
|
import fs from "node:fs";
|
|
10
10
|
|
|
11
11
|
//#region src/channels/plugins/account-action-gate.ts
|
|
@@ -1,118 +1,118 @@
|
|
|
1
1
|
import { g as resolveStateDir } from "./paths-Cqn-zk3M.js";
|
|
2
2
|
import { B as theme, S as shortenHomePath, g as resolveConfigDir, x as shortenHomeInString, y as resolveUserPath } from "./utils-B-0b9bGM.js";
|
|
3
3
|
import "./thinking-EAliFiVK.js";
|
|
4
|
-
import "./reply-
|
|
4
|
+
import "./reply-CpNWtuU4.js";
|
|
5
5
|
import "./registry-Cja8eT7G.js";
|
|
6
6
|
import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
|
|
7
7
|
import "./exec-CWkblSrI.js";
|
|
8
|
-
import "./agent-scope-
|
|
9
|
-
import "./model-selection-
|
|
8
|
+
import "./agent-scope-BRwEc2pG.js";
|
|
9
|
+
import "./model-selection-X1oLh3CE.js";
|
|
10
10
|
import "./github-copilot-token-DAu1a6BX.js";
|
|
11
11
|
import "./boolean-BsqeuxE6.js";
|
|
12
12
|
import "./env-DPCHYPeH.js";
|
|
13
13
|
import "./message-channel-aT-I_DTX.js";
|
|
14
|
-
import "./send-
|
|
15
|
-
import { i as loadConfig, l as writeConfigFile } from "./config-
|
|
14
|
+
import "./send-BVBCh27_.js";
|
|
15
|
+
import { i as loadConfig, l as writeConfigFile } from "./config-tNauHpdq.js";
|
|
16
16
|
import { m as defaultSlotIdForKey, p as applyExclusiveSlotSelection, s as resolveBundledPluginsDir, t as clearPluginManifestRegistryCache } from "./manifest-registry-C4BxOMWX.js";
|
|
17
|
-
import "./runner-
|
|
18
|
-
import "./image-
|
|
19
|
-
import "./models-config-
|
|
17
|
+
import "./runner-BAVs-p6Z.js";
|
|
18
|
+
import "./image-lCS3o9xj.js";
|
|
19
|
+
import "./models-config-CEMioDUi.js";
|
|
20
20
|
import "./pi-model-discovery-4uUnLc3n.js";
|
|
21
|
-
import "./pi-embedded-helpers-
|
|
22
|
-
import "./sandbox-
|
|
23
|
-
import "./chrome-
|
|
21
|
+
import "./pi-embedded-helpers-Bs4eMaNo.js";
|
|
22
|
+
import "./sandbox-HZ_uilsn.js";
|
|
23
|
+
import "./chrome-CSJzpT9Z.js";
|
|
24
24
|
import { u as promptYesNo } from "./tailscale-D5dKabOc.js";
|
|
25
25
|
import "./auth-B741uFtk.js";
|
|
26
|
-
import "./server-context-
|
|
26
|
+
import "./server-context-VlF1_hYj.js";
|
|
27
27
|
import "./frontmatter-DWQhtOo7.js";
|
|
28
|
-
import "./skills-
|
|
29
|
-
import "./routes-
|
|
28
|
+
import "./skills-DqQUtOph.js";
|
|
29
|
+
import "./routes-CVwRcA9D.js";
|
|
30
30
|
import "./redact-f-Q-hFt_.js";
|
|
31
31
|
import "./errors-BF3TeRH2.js";
|
|
32
|
-
import "./fs-safe-
|
|
33
|
-
import "./paths-
|
|
32
|
+
import "./fs-safe-CTDvb1DF.js";
|
|
33
|
+
import "./paths-CT6jsi4E.js";
|
|
34
34
|
import "./ssrf-BCYMnxkM.js";
|
|
35
|
-
import "./image-ops-
|
|
36
|
-
import "./store-
|
|
37
|
-
import "./ports-
|
|
35
|
+
import "./image-ops-DYbDWaIA.js";
|
|
36
|
+
import "./store-DvtcmOKj.js";
|
|
37
|
+
import "./ports-OZQlocB7.js";
|
|
38
38
|
import "./trash-DcMh1i4B.js";
|
|
39
|
-
import "./sessions-
|
|
40
|
-
import "./dock-
|
|
41
|
-
import "./plugins-
|
|
42
|
-
import "./accounts-
|
|
43
|
-
import "./accounts-
|
|
44
|
-
import "./accounts-
|
|
45
|
-
import "./bindings-
|
|
39
|
+
import "./sessions-jTAGYjWl.js";
|
|
40
|
+
import "./dock-BYiRZSgZ.js";
|
|
41
|
+
import "./plugins-BAyxWQSz.js";
|
|
42
|
+
import "./accounts-Cd816n6l.js";
|
|
43
|
+
import "./accounts-CokRskCl.js";
|
|
44
|
+
import "./accounts-mN_EcgxC.js";
|
|
45
|
+
import "./bindings-ChzePa8q.js";
|
|
46
46
|
import "./logging-w5jq5901.js";
|
|
47
|
-
import "./send-
|
|
47
|
+
import "./send-CXFTeD_J.js";
|
|
48
48
|
import "./paths-CyhzMxFA.js";
|
|
49
|
-
import "./tool-images-
|
|
49
|
+
import "./tool-images-B-pqX3nX.js";
|
|
50
50
|
import "./tool-display-D8N3rsYt.js";
|
|
51
51
|
import "./fetch-guard-DOPkVbh3.js";
|
|
52
|
-
import "./api-key-rotation-
|
|
53
|
-
import "./local-roots-
|
|
54
|
-
import "./sqlite-
|
|
55
|
-
import "./model-catalog-
|
|
52
|
+
import "./api-key-rotation-CEr3lKih.js";
|
|
53
|
+
import "./local-roots-BBeKX7PX.js";
|
|
54
|
+
import "./sqlite-BV5ILFtC.js";
|
|
55
|
+
import "./model-catalog-CvbwxWuC.js";
|
|
56
56
|
import "./tokens-BuceUQDl.js";
|
|
57
|
-
import "./with-timeout-
|
|
58
|
-
import "./deliver-
|
|
57
|
+
import "./with-timeout-Cm5EhxG_.js";
|
|
58
|
+
import "./deliver-BYdNAEqj.js";
|
|
59
59
|
import "./diagnostic-CH0skkp6.js";
|
|
60
60
|
import "./diagnostic-session-state-CUslJyKP.js";
|
|
61
|
-
import "./send-
|
|
62
|
-
import "./model-
|
|
63
|
-
import "./reply-prefix-
|
|
64
|
-
import "./memory-cli-
|
|
65
|
-
import "./manager-
|
|
61
|
+
import "./send-DT-5buW5.js";
|
|
62
|
+
import "./model-CeeOcylL.js";
|
|
63
|
+
import "./reply-prefix-BLOOs1aW.js";
|
|
64
|
+
import "./memory-cli-DhkRAIdT.js";
|
|
65
|
+
import "./manager-C1CfGzZ2.js";
|
|
66
66
|
import "./retry-BoS4e4X_.js";
|
|
67
|
-
import "./target-errors-
|
|
67
|
+
import "./target-errors-CCz79CmV.js";
|
|
68
68
|
import "./chunk-1dhPX1NK.js";
|
|
69
|
-
import "./markdown-tables-
|
|
70
|
-
import "./ir-
|
|
69
|
+
import "./markdown-tables-ZwP14ydw.js";
|
|
70
|
+
import "./ir-Dt4hOzxG.js";
|
|
71
71
|
import "./render-CXDO_kgw.js";
|
|
72
|
-
import "./commands-
|
|
73
|
-
import "./commands-registry-
|
|
74
|
-
import "./client-
|
|
75
|
-
import "./call-
|
|
76
|
-
import "./pairing-token-
|
|
72
|
+
import "./commands-CtocZ4Lg.js";
|
|
73
|
+
import "./commands-registry-BZ0ZSQpM.js";
|
|
74
|
+
import "./client-Bj_vTpri.js";
|
|
75
|
+
import "./call-tmHtVCkn.js";
|
|
76
|
+
import "./pairing-token-AV-MMfVE.js";
|
|
77
77
|
import "./channel-activity-BOiuJS3t.js";
|
|
78
78
|
import "./fetch-DTNGXEzX.js";
|
|
79
|
-
import "./tables-
|
|
80
|
-
import "./send-
|
|
81
|
-
import "./pairing-store-
|
|
79
|
+
import "./tables-C38rzF6E.js";
|
|
80
|
+
import "./send-JWV62VbW.js";
|
|
81
|
+
import "./pairing-store-B8ktu-6j.js";
|
|
82
82
|
import "./proxy-DU7W9XSc.js";
|
|
83
83
|
import { t as formatDocsLink } from "./links-3i1eUga4.js";
|
|
84
84
|
import "./cli-utils-DN_hM6ov.js";
|
|
85
85
|
import "./help-format-B_-M23wP.js";
|
|
86
86
|
import "./progress-jIePzvGA.js";
|
|
87
|
-
import "./resolve-route-
|
|
88
|
-
import "./replies-
|
|
89
|
-
import "./skill-commands-
|
|
90
|
-
import "./workspace-dirs-
|
|
91
|
-
import "./pi-auth-json-
|
|
87
|
+
import "./resolve-route-BcnaXYvh.js";
|
|
88
|
+
import "./replies-Dy92jzrz.js";
|
|
89
|
+
import "./skill-commands-ZXbEITKi.js";
|
|
90
|
+
import "./workspace-dirs-DKu48umx.js";
|
|
91
|
+
import "./pi-auth-json-FpfHyEcu.js";
|
|
92
92
|
import "./session-cost-usage-BXAI7CNH.js";
|
|
93
|
-
import "./outbound-attachment-
|
|
93
|
+
import "./outbound-attachment-Qfh5dlsg.js";
|
|
94
94
|
import "./delivery-queue-CAxX6nGq.js";
|
|
95
|
-
import "./send-
|
|
96
|
-
import "./onboard-helpers-
|
|
95
|
+
import "./send-DsSI8z3F.js";
|
|
96
|
+
import "./onboard-helpers-CdPNw25E.js";
|
|
97
97
|
import "./prompt-style-CnkMpSXt.js";
|
|
98
|
-
import "./pairing-labels-
|
|
98
|
+
import "./pairing-labels-Dxb898X5.js";
|
|
99
99
|
import "./exec-approvals-DXM2pQYL.js";
|
|
100
|
-
import "./nodes-screen-
|
|
101
|
-
import "./pi-tools.policy-
|
|
102
|
-
import "./control-service-
|
|
100
|
+
import "./nodes-screen-Cd49cSPb.js";
|
|
101
|
+
import "./pi-tools.policy-BBxnqCay.js";
|
|
102
|
+
import "./control-service-BBnhN7aZ.js";
|
|
103
103
|
import "./stagger-CvFURHzt.js";
|
|
104
|
-
import "./channel-selection-
|
|
105
|
-
import { c as resolveArchiveKind } from "./install-safe-path-
|
|
106
|
-
import "./npm-registry-spec-
|
|
107
|
-
import "./skill-scanner-
|
|
108
|
-
import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-
|
|
104
|
+
import "./channel-selection-DaJDux-Q.js";
|
|
105
|
+
import { c as resolveArchiveKind } from "./install-safe-path-D3mg1DMG.js";
|
|
106
|
+
import "./npm-registry-spec-DchndI6P.js";
|
|
107
|
+
import "./skill-scanner-w3DJvw1Q.js";
|
|
108
|
+
import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-CYTVYWH_.js";
|
|
109
109
|
import { t as renderTable } from "./table-BKlH0YlA.js";
|
|
110
|
-
import { t as buildPluginStatusReport } from "./status-
|
|
111
|
-
import { n as updateNpmInstalledPlugins } from "./update-
|
|
110
|
+
import { t as buildPluginStatusReport } from "./status-DzHL-eVu.js";
|
|
111
|
+
import { n as updateNpmInstalledPlugins } from "./update-Don6XTH9.js";
|
|
112
112
|
import fs from "node:fs";
|
|
113
113
|
import os from "node:os";
|
|
114
114
|
import path from "node:path";
|
|
115
|
-
import
|
|
115
|
+
import fsPromises from "node:fs/promises";
|
|
116
116
|
|
|
117
117
|
//#region src/plugins/source-display.ts
|
|
118
118
|
function tryRelative(root, filePath) {
|
|
@@ -274,9 +274,9 @@ async function uninstallPlugin(params) {
|
|
|
274
274
|
extensionsDir
|
|
275
275
|
}) : null;
|
|
276
276
|
if (deleteTarget) {
|
|
277
|
-
const existed = await
|
|
277
|
+
const existed = await fsPromises.access(deleteTarget).then(() => true).catch(() => false) ?? false;
|
|
278
278
|
try {
|
|
279
|
-
await
|
|
279
|
+
await fsPromises.rm(deleteTarget, {
|
|
280
280
|
recursive: true,
|
|
281
281
|
force: true
|
|
282
282
|
});
|