@symerian/symi 2.6.41 → 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-B4RNdKQ3.js → agents-Cu2bthAX.js} +4 -4
- package/dist/{agents.config-CA31c0kN.js → agents.config-5PTwsijs.js} +1 -1
- package/dist/{agents.config-CG2klYOg.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-K-s65jbB.js → audio-preflight-COaFw917.js} +4 -4
- 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-CCGIgXvF.js → auth-choice-5gul6jy2.js} +1 -1
- package/dist/{auth-choice-CiMf3Pjp.js → auth-choice-CmSUU3t8.js} +8 -8
- package/dist/{auth-token-Cay2jwzn.js → auth-token-83A2btbE.js} +1 -1
- package/dist/{banner-BNsB_A87.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 +6 -6
- package/dist/bundled/session-memory/handler.js +6 -6
- package/dist/{call-DwpGquzW.js → call-tmHtVCkn.js} +9 -9
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-BMQlkUDX.js → channel-options-DVf4CJIu.js} +1 -1
- package/dist/{channel-options-pAH4A-xX.js → channel-options-DsWGc55A.js} +2 -2
- package/dist/{channel-selection-V2xDgw16.js → channel-selection-DaJDux-Q.js} +1 -1
- package/dist/{channel-web-Dwuj48T5.js → channel-web-vGC-WJXi.js} +17 -17
- package/dist/{channels-cli-rmDzxb0W.js → channels-cli-COayA28A.js} +76 -76
- package/dist/{channels-cli-CuExxB0U.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/{chrome-BYOhnxTr.js → chrome-CbA-qnhp.js} +7 -7
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-Mcq2pPI0.js → cli-B-g79xPe.js} +1 -1
- package/dist/{cli-BPGZalMg.js → cli-DJjOxip6.js} +63 -63
- package/dist/{client-jI1oE0_k.js → client-Bj_vTpri.js} +1 -1
- package/dist/{command-registry-BoEw2RzH.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-CQVZGJPg.js → completion-cli-CfRZ-7QF.js} +2 -2
- package/dist/{completion-cli-CE9Xqlyx.js → completion-cli-DtQcXg1N.js} +12 -12
- package/dist/{config-cli-mU_ckD4l.js → config-cli-D9Z78raJ.js} +4 -4
- package/dist/{config-cli-BucNvr-c.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-CxnBcN95.js → configure-Dq4f8WPa.js} +3 -3
- package/dist/{configure-CDOF87Fk.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/{deliver-C1HRkzPJ.js → deliver-C7NePF9Z.js} +1 -1
- 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-CoftKlUX.js → doctor-completion-Ccb83Wl5.js} +2 -2
- package/dist/{doctor-completion-CHF_TwGQ.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-SNaqDM7f.js → gateway-cli-C1zPKZ7B.js} +137 -121
- package/dist/{gateway-cli-G7fiXsQ6.js → gateway-cli-zbVm1MBQ.js} +32 -16
- package/dist/{gateway-rpc-5fREQe9Q.js → gateway-rpc-B1Wzoj99.js} +1 -1
- package/dist/{glass-ui-ws-CF0__vuO.js → glass-ui-ws-CvUFd4C6.js} +28 -9
- package/dist/{glass-ui-ws-he25wGFt.js → glass-ui-ws-D3tAmqKX.js} +104 -85
- package/dist/{health-q7706M36.js → health-DQEqLYg1.js} +1 -1
- package/dist/{health-en2N_Kqc.js → health-o847FIt1.js} +13 -13
- package/dist/{hooks-cli-ChQbBpyb.js → hooks-cli-D_UW9fc8.js} +2 -2
- package/dist/{hooks-cli-C4rVaLzZ.js → hooks-cli-sYjbF4I6.js} +77 -77
- package/dist/{image-CbyTdMd5.js → image-C3ugMkb5.js} +1 -1
- 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 +6 -6
- 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-DOTpfa7b.js → models-Zol34e73.js} +2 -2
- package/dist/{models-cli-MJAY_Wg4.js → models-cli-BzcEA9oa.js} +3 -3
- package/dist/{models-cli-CBl45f7R.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-DQdGJ1lE.js → onboard-CSseK0Co.js} +13 -13
- package/dist/{onboard-Bx02XPb1.js → onboard-CxOT_xD4.js} +2 -2
- package/dist/{onboard-channels-Bp89ZT6Q.js → onboard-channels-CUlITipG.js} +5 -5
- package/dist/{onboard-channels-Ct2eNYUC.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-Dnn_0VTy.js → onboarding-DktESmTv.js} +3 -3
- package/dist/{onboarding-DxUcsrKV.js → onboarding-Dn5agNG_.js} +13 -13
- package/dist/{onboarding.finalize-1kzzMLFM.js → onboarding.finalize-Bm-1Kdnh.js} +6 -6
- package/dist/{onboarding.finalize-Dwr-jEtL.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-BfEg6Wwb.js → pi-embedded-CYDMb5q0.js} +79 -3
- package/dist/{pi-embedded-helpers-GaCyI2oH.js → pi-embedded-helpers-BgRcgoC9.js} +4 -4
- 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-BMFEJ4FA.js → plugin-registry-CJGPW1-k.js} +1 -1
- package/dist/{plugin-registry-wAQeBSeD.js → plugin-registry-d0oZLl6y.js} +3 -3
- package/dist/plugin-sdk/agents/pi-embedded-runner/long-task-prompt.d.ts +5 -0
- package/dist/plugin-sdk/{channel-web-Ba27v-Om.js → channel-web-Dm-CzA1O.js} +1 -1
- package/dist/plugin-sdk/index.js +2 -2
- package/dist/plugin-sdk/{reply-Bok_WQGW.js → reply-4HEU7aDS.js} +79 -3
- package/dist/plugin-sdk/{web-BoOAa0Xn.js → web-Cclb7FTq.js} +2 -2
- package/dist/{plugins-DKDeQZF0.js → plugins-BAyxWQSz.js} +2 -2
- package/dist/{plugins-cli-B36YKKla.js → plugins-cli-BWgjIJQL.js} +72 -72
- package/dist/{plugins-cli-DoJbbST7.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-4f7W2RMs.js → program-BHjH97Q_.js} +7 -7
- package/dist/{program-context-Y4KnAKNT.js → program-context-CXZHSZ4D.js} +39 -39
- package/dist/{prompt-select-styled-D0sLJ4TD.js → prompt-select-styled-BUFEoSlM.js} +38 -38
- package/dist/{prompt-select-styled-Dql_0SI0.js → prompt-select-styled-D8LXSUR7.js} +4 -4
- package/dist/{provider-auth-helpers-GSv3namf.js → provider-auth-helpers-BFHctF2f.js} +1 -1
- package/dist/{provider-auth-helpers-CJbHC_mv.js → provider-auth-helpers-CeAbh3lv.js} +5 -5
- package/dist/{push-apns-giplY7u-.js → push-apns-BylbQyP9.js} +1 -1
- package/dist/{push-apns-sxB8QxSj.js → push-apns-DqFdzIkc.js} +4 -4
- package/dist/{pw-ai-pQoxTh-a.js → pw-ai--LDjnyuN.js} +1 -1
- 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-_2tVQLMK.js → register.agent-DxAqRAt3.js} +6 -6
- package/dist/{register.agent-vd2BSsyE.js → register.agent-bzSGKS-l.js} +82 -82
- package/dist/register.configure-Boyfir72.js +148 -0
- package/dist/{register.configure-BVKwTrz8.js → register.configure-WS1nlSp8.js} +6 -6
- package/dist/{register.maintenance-XySU31jf.js → register.maintenance-B1QcUr38.js} +85 -85
- package/dist/{register.maintenance-BqYR2fop.js → register.maintenance-D_qMTrgD.js} +8 -8
- package/dist/{register.message-CCfWNWs3.js → register.message-CJF8gLAN.js} +64 -64
- package/dist/{register.message-DOyREWdG.js → register.message-zu3HGGff.js} +2 -2
- package/dist/{register.onboard-Dy_D_uMj.js → register.onboard-9dwNqCe6.js} +4 -4
- package/dist/{register.onboard-zmF-euog.js → register.onboard-CswoaT7q.js} +75 -75
- package/dist/{register.setup-DiGPa1Fw.js → register.setup-CvomtGGu.js} +78 -78
- package/dist/{register.setup-cE7gPp2m.js → register.setup-TcjUu6HC.js} +4 -4
- package/dist/{register.status-health-sessions-ksv1WnIs.js → register.status-health-sessions-CM1SX81r.js} +3 -3
- package/dist/{register.status-health-sessions-DWKL1rkz.js → register.status-health-sessions-CQMvbwr6.js} +76 -76
- package/dist/{register.subclis-Crt_IYK0.js → register.subclis-CVQASXaL.js} +9 -9
- package/dist/{replies-BMqtgBhh.js → replies-Dy92jzrz.js} +1 -1
- package/dist/{reply-CjYJHt_H.js → reply-CpNWtuU4.js} +216 -140
- 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-bOlPbL7t.js → run-main-Dq6tfDry.js} +14 -14
- package/dist/{runner-DRv0uCK_.js → runner-BAVs-p6Z.js} +20 -20
- package/dist/{runner-B0AbN8wV.js → runner-cJ3m-bxK.js} +1 -1
- 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-VimYvcpY.js → server-methods-B0pdetGJ.js} +130 -64
- package/dist/{server-methods-CiwWwj6K.js → server-methods-IBEaQXPX.js} +177 -111
- package/dist/{server-node-events-DYC45lKC.js → server-node-events-BACmfyjo.js} +64 -64
- package/dist/{server-node-events-CHmLiFNV.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-DxhtJtzE.js → status-BJtbD-cG.js} +2 -2
- package/dist/{status-Dt_MXoNa.js → status-DUeTrQSz.js} +1 -1
- package/dist/{status-CA5wJHMj.js → status-DzHL-eVu.js} +3 -3
- package/dist/{status-DEpM69Pd.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-BPwn3Qm7.js → subagent-registry-CzS4CfnV.js} +79 -3
- 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-CVkyzT1I.js → unified-runner-BtO3UQSd.js} +93 -17
- 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-Dh_dfprI.js → update-cli-DRODEMSI.js} +8 -8
- package/dist/{update-cli-Dv4c5Gup.js → update-cli-gKtjyXlD.js} +95 -95
- package/dist/{update-runner-MMFI1UZ0.js → update-runner-AsKAxe31.js} +15 -15
- package/dist/{update-runner-CG_kbbGR.js → update-runner-JcdOHr71.js} +1 -1
- package/dist/{web-DCBOD-Vj.js → web-BIzWZFiN.js} +1 -1
- package/dist/{web-BUc-ts5b.js → web-DGo16lWn.js} +6 -6
- package/dist/{web-CJk-lv93.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 +12 -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 +12 -0
- package/extensions/msteams/package.json +1 -1
- package/extensions/nextcloud-talk/package.json +1 -1
- package/extensions/nostr/CHANGELOG.md +12 -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 +12 -0
- package/extensions/twitch/package.json +1 -1
- package/extensions/voice-call/CHANGELOG.md +12 -0
- package/extensions/voice-call/package.json +1 -1
- package/extensions/whatsapp/package.json +1 -1
- package/extensions/zalo/CHANGELOG.md +12 -0
- package/extensions/zalo/package.json +1 -1
- package/extensions/zalouser/CHANGELOG.md +12 -0
- package/extensions/zalouser/package.json +1 -1
- package/package.json +1 -1
- package/skills/long-task/SKILL.md +57 -0
- package/skills/long-task/scripts/detach-task.sh +135 -0
- package/dist/register.configure-D-XV6_Nb.js +0 -148
- package/dist/web-CfVd3Mhp.js +0 -110
|
@@ -1294,8 +1294,47 @@ gateway.addEventListener("history", (e) => {
|
|
|
1294
1294
|
historyStartIndex = e.detail?.startIndex ?? 0;
|
|
1295
1295
|
historyHasMore = e.detail?.hasMore ?? false;
|
|
1296
1296
|
renderHistory(msgs);
|
|
1297
|
+
// Server-side retries were exhausted — keep the cached feed visible but
|
|
1298
|
+
// show a small banner so the user knows they're on stale data and can
|
|
1299
|
+
// take action (reload, check gateway logs, /new, etc.).
|
|
1300
|
+
if (e.detail?.error === "history.unavailable") {
|
|
1301
|
+
showHistoryUnavailableBanner();
|
|
1302
|
+
} else {
|
|
1303
|
+
clearHistoryUnavailableBanner();
|
|
1304
|
+
}
|
|
1297
1305
|
});
|
|
1298
1306
|
|
|
1307
|
+
function showHistoryUnavailableBanner() {
|
|
1308
|
+
let banner = document.getElementById("history-unavailable-banner");
|
|
1309
|
+
if (!banner) {
|
|
1310
|
+
banner = document.createElement("div");
|
|
1311
|
+
banner.id = "history-unavailable-banner";
|
|
1312
|
+
banner.className = "history-unavailable-banner";
|
|
1313
|
+
banner.textContent =
|
|
1314
|
+
"History unavailable — showing cached view. Gateway retry failed; try reloading.";
|
|
1315
|
+
const dismiss = document.createElement("button");
|
|
1316
|
+
dismiss.type = "button";
|
|
1317
|
+
dismiss.className = "history-unavailable-dismiss";
|
|
1318
|
+
dismiss.textContent = "×";
|
|
1319
|
+
dismiss.addEventListener("click", clearHistoryUnavailableBanner);
|
|
1320
|
+
banner.appendChild(dismiss);
|
|
1321
|
+
// Insert at the top of the response area so it's the first thing seen.
|
|
1322
|
+
if (responseArea?.parentElement) {
|
|
1323
|
+
responseArea.parentElement.insertBefore(banner, responseArea);
|
|
1324
|
+
} else {
|
|
1325
|
+
document.body.prepend(banner);
|
|
1326
|
+
}
|
|
1327
|
+
}
|
|
1328
|
+
banner.style.display = "";
|
|
1329
|
+
}
|
|
1330
|
+
|
|
1331
|
+
function clearHistoryUnavailableBanner() {
|
|
1332
|
+
const banner = document.getElementById("history-unavailable-banner");
|
|
1333
|
+
if (banner) {
|
|
1334
|
+
banner.remove();
|
|
1335
|
+
}
|
|
1336
|
+
}
|
|
1337
|
+
|
|
1299
1338
|
gateway.addEventListener("disconnect", () => {
|
|
1300
1339
|
setStatus("offline");
|
|
1301
1340
|
// If the gateway drops while a run is in progress, surface the failure
|
|
@@ -335,8 +335,21 @@ function openDebugPanel() {
|
|
|
335
335
|
a.click();
|
|
336
336
|
});
|
|
337
337
|
|
|
338
|
-
// Start capturing events
|
|
339
|
-
|
|
338
|
+
// Start capturing events. If a previous capture closure is still attached
|
|
339
|
+
// (rapid re-open race), mark it cancelled so its body no-ops before we
|
|
340
|
+
// swap in the new one. Without this, the previous closure keeps reading
|
|
341
|
+
// the old panel's DOM even after it's gone and throws silently.
|
|
342
|
+
if (window.__debugPanelCapture && typeof window.__debugPanelCapture === "function") {
|
|
343
|
+
try {
|
|
344
|
+
window.__debugPanelCapture.__cancelled = true;
|
|
345
|
+
} catch {
|
|
346
|
+
/* non-extensible function — ignore */
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
const capture = function (type, payload) {
|
|
350
|
+
if (capture.__cancelled) {
|
|
351
|
+
return;
|
|
352
|
+
}
|
|
340
353
|
if (debugPaused) {
|
|
341
354
|
return;
|
|
342
355
|
}
|
|
@@ -356,6 +369,8 @@ function openDebugPanel() {
|
|
|
356
369
|
}
|
|
357
370
|
renderDebugEntries();
|
|
358
371
|
};
|
|
372
|
+
capture.__cancelled = false;
|
|
373
|
+
window.__debugPanelCapture = capture;
|
|
359
374
|
}
|
|
360
375
|
|
|
361
376
|
function renderDebugEntries() {
|
|
@@ -395,6 +410,16 @@ function renderDebugEntries() {
|
|
|
395
410
|
}
|
|
396
411
|
|
|
397
412
|
function closeDebugPanel() {
|
|
413
|
+
// Cancel any pending capture closure before dropping the reference so
|
|
414
|
+
// in-flight capture() calls short-circuit if they were already scheduled.
|
|
415
|
+
const existing = window.__debugPanelCapture;
|
|
416
|
+
if (existing && typeof existing === "function") {
|
|
417
|
+
try {
|
|
418
|
+
existing.__cancelled = true;
|
|
419
|
+
} catch {
|
|
420
|
+
/* non-extensible — ignore */
|
|
421
|
+
}
|
|
422
|
+
}
|
|
398
423
|
window.__debugPanelCapture = null;
|
|
399
424
|
}
|
|
400
425
|
|
|
@@ -680,16 +705,42 @@ function renderDataCard(key, value) {
|
|
|
680
705
|
</div>`;
|
|
681
706
|
}
|
|
682
707
|
|
|
683
|
-
|
|
708
|
+
// Pagination state per generic panel — keyed by the page identifier.
|
|
709
|
+
// Resets when the panel is opened; survives across refresh within one session.
|
|
710
|
+
const GENERIC_PAGE_SIZE = 50;
|
|
711
|
+
const genericShownCount = new Map();
|
|
712
|
+
|
|
713
|
+
function resetGenericPagination(page) {
|
|
714
|
+
genericShownCount.set(page, GENERIC_PAGE_SIZE);
|
|
715
|
+
}
|
|
716
|
+
|
|
717
|
+
function bumpGenericPagination(page) {
|
|
718
|
+
const cur = genericShownCount.get(page) ?? GENERIC_PAGE_SIZE;
|
|
719
|
+
genericShownCount.set(page, cur + GENERIC_PAGE_SIZE);
|
|
720
|
+
}
|
|
721
|
+
|
|
722
|
+
function renderListData(items, page) {
|
|
684
723
|
if (!items || items.length === 0) {
|
|
685
724
|
return '<div class="settings-empty">No items found.</div>';
|
|
686
725
|
}
|
|
687
|
-
|
|
726
|
+
const shown = page ? (genericShownCount.get(page) ?? GENERIC_PAGE_SIZE) : items.length;
|
|
727
|
+
const slice = items.slice(0, shown);
|
|
728
|
+
const html = slice
|
|
688
729
|
.map((item, i) => {
|
|
689
730
|
const title = item.name || item.id || item.sessionKey || item.label || `Item ${i + 1}`;
|
|
690
731
|
return renderDataCard(title, item);
|
|
691
732
|
})
|
|
692
733
|
.join("");
|
|
734
|
+
if (!page || items.length <= shown) {
|
|
735
|
+
return html;
|
|
736
|
+
}
|
|
737
|
+
const remaining = items.length - shown;
|
|
738
|
+
const nextBatch = Math.min(GENERIC_PAGE_SIZE, remaining);
|
|
739
|
+
return `${html}
|
|
740
|
+
<div class="settings-pagination">
|
|
741
|
+
<span class="settings-pagination-info">Showing ${shown} of ${items.length}</span>
|
|
742
|
+
<button class="settings-btn" id="generic-show-more-btn" data-page="${escapeSettingsHtml(page)}">Show ${nextBatch} more</button>
|
|
743
|
+
</div>`;
|
|
693
744
|
}
|
|
694
745
|
|
|
695
746
|
function renderObjectData(data) {
|
|
@@ -760,9 +811,21 @@ async function openGenericPanel(page) {
|
|
|
760
811
|
</div>
|
|
761
812
|
`;
|
|
762
813
|
|
|
763
|
-
document
|
|
764
|
-
|
|
765
|
-
|
|
814
|
+
document.getElementById("generic-refresh-btn").addEventListener("click", () => {
|
|
815
|
+
resetGenericPagination(page);
|
|
816
|
+
void loadGenericData(page);
|
|
817
|
+
});
|
|
818
|
+
// Delegated click handler for the "Show more" button rendered inside
|
|
819
|
+
// generic-content. We attach on the container so it survives innerHTML
|
|
820
|
+
// re-renders driven by loadGenericData.
|
|
821
|
+
container.addEventListener("click", (e) => {
|
|
822
|
+
const target = e.target;
|
|
823
|
+
if (target && target.id === "generic-show-more-btn") {
|
|
824
|
+
bumpGenericPagination(page);
|
|
825
|
+
void loadGenericData(page);
|
|
826
|
+
}
|
|
827
|
+
});
|
|
828
|
+
resetGenericPagination(page);
|
|
766
829
|
await loadGenericData(page);
|
|
767
830
|
}
|
|
768
831
|
|
|
@@ -788,7 +851,7 @@ async function loadGenericData(page) {
|
|
|
788
851
|
}
|
|
789
852
|
if (spec.type === "list") {
|
|
790
853
|
const items = spec.key ? result[spec.key] : Array.isArray(result) ? result : [];
|
|
791
|
-
content.innerHTML = renderListData(items);
|
|
854
|
+
content.innerHTML = renderListData(items, page);
|
|
792
855
|
} else {
|
|
793
856
|
content.innerHTML = renderObjectData(result);
|
|
794
857
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as resolveSymiPackageRootSync, t as resolveSymiPackageRoot } from "./symi-root-
|
|
1
|
+
import { n as resolveSymiPackageRootSync, t as resolveSymiPackageRoot } from "./symi-root-MF6_6SCS.js";
|
|
2
2
|
import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
|
|
3
3
|
import { t as runCommandWithTimeout } from "./exec-CWkblSrI.js";
|
|
4
4
|
import { fileURLToPath } from "node:url";
|
|
@@ -4,27 +4,27 @@ import { d as sanitizeAgentId } from "./session-key-DCt45XZa.js";
|
|
|
4
4
|
import "./registry-Cja8eT7G.js";
|
|
5
5
|
import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
|
|
6
6
|
import "./exec-CWkblSrI.js";
|
|
7
|
-
import "./agent-scope-
|
|
8
|
-
import "./model-selection-
|
|
7
|
+
import "./agent-scope-BRwEc2pG.js";
|
|
8
|
+
import "./model-selection-X1oLh3CE.js";
|
|
9
9
|
import "./github-copilot-token-DAu1a6BX.js";
|
|
10
10
|
import "./boolean-BsqeuxE6.js";
|
|
11
11
|
import "./env-DPCHYPeH.js";
|
|
12
12
|
import "./message-channel-aT-I_DTX.js";
|
|
13
|
-
import "./config-
|
|
13
|
+
import "./config-tNauHpdq.js";
|
|
14
14
|
import "./manifest-registry-C4BxOMWX.js";
|
|
15
|
-
import { n as listChannelPlugins } from "./plugins-
|
|
16
|
-
import "./accounts-
|
|
17
|
-
import "./bindings-
|
|
15
|
+
import { n as listChannelPlugins } from "./plugins-BAyxWQSz.js";
|
|
16
|
+
import "./accounts-Cd816n6l.js";
|
|
17
|
+
import "./bindings-ChzePa8q.js";
|
|
18
18
|
import "./logging-w5jq5901.js";
|
|
19
|
-
import "./client-
|
|
20
|
-
import "./call-
|
|
21
|
-
import "./pairing-token-
|
|
19
|
+
import "./client-Bj_vTpri.js";
|
|
20
|
+
import "./call-tmHtVCkn.js";
|
|
21
|
+
import "./pairing-token-AV-MMfVE.js";
|
|
22
22
|
import { t as formatDocsLink } from "./links-3i1eUga4.js";
|
|
23
23
|
import "./progress-jIePzvGA.js";
|
|
24
24
|
import { n as formatDurationHuman } from "./format-duration-D0B0Uo-I.js";
|
|
25
25
|
import { i as parseAbsoluteTimeMs, n as resolveCronStaggerMs } from "./stagger-CvFURHzt.js";
|
|
26
26
|
import { n as parsePositiveIntOrUndefined } from "./helpers-BtH6pa6c.js";
|
|
27
|
-
import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-
|
|
27
|
+
import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-B1Wzoj99.js";
|
|
28
28
|
|
|
29
29
|
//#region src/cli/cron-cli/shared.ts
|
|
30
30
|
const getCronChannelOptions = () => ["last", ...listChannelPlugins().map((plugin) => plugin.id)].join("|");
|
|
@@ -4,25 +4,25 @@ import { B as theme, R as colorize, S as shortenHomePath, U as getResolvedLogger
|
|
|
4
4
|
import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
|
|
5
5
|
import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
|
|
6
6
|
import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-aT-I_DTX.js";
|
|
7
|
-
import { i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot, r as createConfigIO } from "./config-
|
|
7
|
+
import { i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot, r as createConfigIO } from "./config-tNauHpdq.js";
|
|
8
8
|
import { n as pickPrimaryTailnetIPv4 } from "./tailnet-B2SPYrh4.js";
|
|
9
9
|
import { u as resolveGatewayBindHost } from "./ws-C7EXRv8z.js";
|
|
10
10
|
import { a as resolveGatewayAuth } from "./auth-B741uFtk.js";
|
|
11
|
-
import { a as inspectPortUsage, s as formatPortDiagnostics } from "./ports-
|
|
12
|
-
import { n as callGateway } from "./call-
|
|
11
|
+
import { a as inspectPortUsage, s as formatPortDiagnostics } from "./ports-OZQlocB7.js";
|
|
12
|
+
import { n as callGateway } from "./call-tmHtVCkn.js";
|
|
13
13
|
import { t as formatDocsLink } from "./links-3i1eUga4.js";
|
|
14
14
|
import { n as withProgress } from "./progress-jIePzvGA.js";
|
|
15
|
-
import { g as resolveControlUiLinks, h as randomToken } from "./onboard-helpers-
|
|
16
|
-
import { n as isWSLEnv } from "./wsl-
|
|
15
|
+
import { g as resolveControlUiLinks, h as randomToken } from "./onboard-helpers-CdPNw25E.js";
|
|
16
|
+
import { n as isWSLEnv } from "./wsl-xNOi_Ch8.js";
|
|
17
17
|
import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName } from "./constants-CafH8-8D.js";
|
|
18
18
|
import { n as inheritOptionFromParent } from "./command-options-BkTXKWlb.js";
|
|
19
|
-
import { i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-
|
|
20
|
-
import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-
|
|
21
|
-
import { a as createCliStatusTextStyles, c as parsePortFromArgs, d as renderRuntimeHints, f as resolveRuntimeStatusColor, g as installDaemonServiceAndEmit, h as createDaemonActionContext, i as runServiceUninstall, l as pickProbeHostForBind, m as buildDaemonServiceSnapshot, n as runServiceStart, o as filterDaemonEnv, p as safeDaemonEnv, r as runServiceStop, s as normalizeListenerAddress, t as runServiceRestart, u as renderGatewayServiceStartHints } from "./lifecycle-core-
|
|
22
|
-
import { i as auditGatewayServiceConfig, n as renderSystemdUnavailableHints, s as formatRuntimeStatus, t as isSystemdUnavailableDetail } from "./systemd-hints-
|
|
19
|
+
import { i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-u01h46bE.js";
|
|
20
|
+
import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-D80PyJxB.js";
|
|
21
|
+
import { a as createCliStatusTextStyles, c as parsePortFromArgs, d as renderRuntimeHints, f as resolveRuntimeStatusColor, g as installDaemonServiceAndEmit, h as createDaemonActionContext, i as runServiceUninstall, l as pickProbeHostForBind, m as buildDaemonServiceSnapshot, n as runServiceStart, o as filterDaemonEnv, p as safeDaemonEnv, r as runServiceStop, s as normalizeListenerAddress, t as runServiceRestart, u as renderGatewayServiceStartHints } from "./lifecycle-core-DxmxQdhS.js";
|
|
22
|
+
import { i as auditGatewayServiceConfig, n as renderSystemdUnavailableHints, s as formatRuntimeStatus, t as isSystemdUnavailableDetail } from "./systemd-hints-DmgRnw1L.js";
|
|
23
23
|
import { t as parsePort } from "./parse-port-DnJYkByg.js";
|
|
24
|
-
import { t as readLastGatewayErrorLine } from "./diagnostics-
|
|
25
|
-
import { n as renderGatewayServiceCleanupHints, t as findExtraGatewayServices } from "./inspect-
|
|
24
|
+
import { t as readLastGatewayErrorLine } from "./diagnostics-BrUo0gqs.js";
|
|
25
|
+
import { n as renderGatewayServiceCleanupHints, t as findExtraGatewayServices } from "./inspect-CNYyHVfH.js";
|
|
26
26
|
|
|
27
27
|
//#region src/cli/daemon-cli/install.ts
|
|
28
28
|
async function runDaemonInstall(opts) {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
|
|
2
|
-
import { H as VERSION, R as collectConfigServiceEnvVars } from "./config-
|
|
2
|
+
import { H as VERSION, R as collectConfigServiceEnvVars } from "./config-tNauHpdq.js";
|
|
3
3
|
import { a as NODE_SERVICE_MARKER, c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName, g as resolveNodeWindowsTaskName, h as resolveNodeSystemdServiceName, i as NODE_SERVICE_KIND, m as resolveNodeLaunchAgentLabel, n as GATEWAY_SERVICE_KIND, o as NODE_WINDOWS_TASK_SCRIPT_NAME, r as GATEWAY_SERVICE_MARKER } from "./constants-CafH8-8D.js";
|
|
4
4
|
import { n as isSupportedNodeVersion } from "./runtime-guard-Dik20CVM.js";
|
|
5
5
|
import os from "node:os";
|
|
6
6
|
import path from "node:path";
|
|
7
|
-
import
|
|
7
|
+
import fsPromises from "node:fs/promises";
|
|
8
8
|
import { execFile } from "node:child_process";
|
|
9
9
|
import { promisify } from "node:util";
|
|
10
10
|
|
|
@@ -23,23 +23,23 @@ async function resolveCliEntrypointPathForService() {
|
|
|
23
23
|
const normalized = path.resolve(argv1);
|
|
24
24
|
const resolvedPath = await resolveRealpathSafe(normalized);
|
|
25
25
|
if (/[/\\]dist[/\\].+\.(cjs|js|mjs)$/.test(resolvedPath)) {
|
|
26
|
-
await
|
|
26
|
+
await fsPromises.access(resolvedPath);
|
|
27
27
|
if (/[/\\]dist[/\\].+\.(cjs|js|mjs)$/.test(normalized) && normalized !== resolvedPath) try {
|
|
28
|
-
await
|
|
28
|
+
await fsPromises.access(normalized);
|
|
29
29
|
return normalized;
|
|
30
30
|
} catch {}
|
|
31
31
|
return resolvedPath;
|
|
32
32
|
}
|
|
33
33
|
const distCandidates = buildDistCandidates(resolvedPath, normalized);
|
|
34
34
|
for (const candidate of distCandidates) try {
|
|
35
|
-
await
|
|
35
|
+
await fsPromises.access(candidate);
|
|
36
36
|
return candidate;
|
|
37
37
|
} catch {}
|
|
38
38
|
throw new Error(`Cannot find built CLI at ${distCandidates.join(" or ")}. Run "pnpm build" first, or use dev mode.`);
|
|
39
39
|
}
|
|
40
40
|
async function resolveRealpathSafe(inputPath) {
|
|
41
41
|
try {
|
|
42
|
-
return await
|
|
42
|
+
return await fsPromises.realpath(inputPath);
|
|
43
43
|
} catch {
|
|
44
44
|
return inputPath;
|
|
45
45
|
}
|
|
@@ -99,7 +99,7 @@ async function resolveBinaryPath(binary) {
|
|
|
99
99
|
try {
|
|
100
100
|
const resolved = execFileSync(cmd, [binary], { encoding: "utf8" }).trim().split(/\r?\n/)[0]?.trim();
|
|
101
101
|
if (!resolved) throw new Error("empty");
|
|
102
|
-
await
|
|
102
|
+
await fsPromises.access(resolved);
|
|
103
103
|
return resolved;
|
|
104
104
|
} catch {
|
|
105
105
|
if (binary === "bun") throw new Error("Bun not found in PATH. Install bun: https://bun.sh");
|
|
@@ -118,7 +118,7 @@ async function resolveCliProgramArguments(params) {
|
|
|
118
118
|
if (params.dev) {
|
|
119
119
|
const repoRoot = resolveRepoRootForDev();
|
|
120
120
|
const devCliPath = path.join(repoRoot, "src", "index.ts");
|
|
121
|
-
await
|
|
121
|
+
await fsPromises.access(devCliPath);
|
|
122
122
|
return {
|
|
123
123
|
programArguments: [
|
|
124
124
|
isBunRuntime(execPath) ? execPath : await resolveBunPath(),
|
|
@@ -146,7 +146,7 @@ async function resolveCliProgramArguments(params) {
|
|
|
146
146
|
}
|
|
147
147
|
const repoRoot = resolveRepoRootForDev();
|
|
148
148
|
const devCliPath = path.join(repoRoot, "src", "index.ts");
|
|
149
|
-
await
|
|
149
|
+
await fsPromises.access(devCliPath);
|
|
150
150
|
if (isBunRuntime(execPath)) return {
|
|
151
151
|
programArguments: [
|
|
152
152
|
execPath,
|
|
@@ -259,7 +259,7 @@ function isSystemNodePath(nodePath, env = process.env, platform = process.platfo
|
|
|
259
259
|
async function resolveSystemNodePath(env = process.env, platform = process.platform) {
|
|
260
260
|
const candidates = buildSystemNodeCandidates(env, platform);
|
|
261
261
|
for (const candidate of candidates) try {
|
|
262
|
-
await
|
|
262
|
+
await fsPromises.access(candidate);
|
|
263
263
|
return candidate;
|
|
264
264
|
} catch {}
|
|
265
265
|
return null;
|
|
@@ -2,15 +2,15 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
|
2
2
|
import { g as normalizeOptionalAccountId, h as normalizeAccountId } from "./session-key-DCt45XZa.js";
|
|
3
3
|
import { C as createInternalHookEvent, T as triggerInternalHook, d as getActivePluginRegistry } from "./registry-Cja8eT7G.js";
|
|
4
4
|
import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
|
|
5
|
-
import { i as isMessagingToolDuplicate } from "./pi-embedded-helpers-
|
|
6
|
-
import { i as resolveMirroredTranscriptText, r as appendAssistantMessageToSessionTranscript } from "./sessions-
|
|
7
|
-
import { t as getChannelDock } from "./dock-
|
|
8
|
-
import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-
|
|
9
|
-
import { t as getAgentScopedMediaLocalRoots } from "./local-roots-
|
|
5
|
+
import { i as isMessagingToolDuplicate } from "./pi-embedded-helpers-Bs4eMaNo.js";
|
|
6
|
+
import { i as resolveMirroredTranscriptText, r as appendAssistantMessageToSessionTranscript } from "./sessions-jTAGYjWl.js";
|
|
7
|
+
import { t as getChannelDock } from "./dock-BYiRZSgZ.js";
|
|
8
|
+
import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-BAyxWQSz.js";
|
|
9
|
+
import { t as getAgentScopedMediaLocalRoots } from "./local-roots-BBeKX7PX.js";
|
|
10
10
|
import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-BuceUQDl.js";
|
|
11
11
|
import { c as resolveChunkMode, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph } from "./chunk-1dhPX1NK.js";
|
|
12
|
-
import { n as resolveMarkdownTableMode } from "./markdown-tables-
|
|
13
|
-
import { a as markdownToSignalTextChunks, t as sendMessageSignal } from "./send-
|
|
12
|
+
import { n as resolveMarkdownTableMode } from "./markdown-tables-ZwP14ydw.js";
|
|
13
|
+
import { a as markdownToSignalTextChunks, t as sendMessageSignal } from "./send-JWV62VbW.js";
|
|
14
14
|
import { i as failDelivery, r as enqueueDelivery, t as ackDelivery } from "./delivery-queue-CAxX6nGq.js";
|
|
15
15
|
|
|
16
16
|
//#region src/plugins/hooks.ts
|
|
@@ -3,7 +3,7 @@ import { s as resolveStateDir } from "./paths-CE7eVGHg.js";
|
|
|
3
3
|
import { m as normalizeOptionalAccountId, p as normalizeAccountId } from "./session-key-BCzIW1Y2.js";
|
|
4
4
|
import { c as getActivePluginRegistry, v as createInternalHookEvent, x as triggerInternalHook } from "./registry-DYq1AYOv.js";
|
|
5
5
|
import { t as createSubsystemLogger } from "./subsystem-BjyjJF-d.js";
|
|
6
|
-
import { B as resolveMirroredTranscriptText, i as isMessagingToolDuplicate, z as appendAssistantMessageToSessionTranscript } from "./pi-embedded-helpers-
|
|
6
|
+
import { B as resolveMirroredTranscriptText, i as isMessagingToolDuplicate, z as appendAssistantMessageToSessionTranscript } from "./pi-embedded-helpers-BgRcgoC9.js";
|
|
7
7
|
import { d as getChannelDock } from "./thinking-BprCy23Z.js";
|
|
8
8
|
import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-BzmbgY7s.js";
|
|
9
9
|
import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-W0JzCJJM.js";
|
|
@@ -3,18 +3,18 @@ import { B as theme } from "./utils-B-0b9bGM.js";
|
|
|
3
3
|
import "./registry-Cja8eT7G.js";
|
|
4
4
|
import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
|
|
5
5
|
import "./exec-CWkblSrI.js";
|
|
6
|
-
import "./agent-scope-
|
|
7
|
-
import "./model-selection-
|
|
6
|
+
import "./agent-scope-BRwEc2pG.js";
|
|
7
|
+
import "./model-selection-X1oLh3CE.js";
|
|
8
8
|
import "./github-copilot-token-DAu1a6BX.js";
|
|
9
9
|
import "./boolean-BsqeuxE6.js";
|
|
10
10
|
import "./env-DPCHYPeH.js";
|
|
11
11
|
import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-aT-I_DTX.js";
|
|
12
|
-
import "./config-
|
|
12
|
+
import "./config-tNauHpdq.js";
|
|
13
13
|
import "./manifest-registry-C4BxOMWX.js";
|
|
14
14
|
import { r as isLoopbackHost } from "./ws-C7EXRv8z.js";
|
|
15
|
-
import { Gt as summarizeDeviceTokens, It as approveDevicePairing, zt as listDevicePairing } from "./client-
|
|
16
|
-
import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-
|
|
17
|
-
import "./pairing-token-
|
|
15
|
+
import { Gt as summarizeDeviceTokens, It as approveDevicePairing, zt as listDevicePairing } from "./client-Bj_vTpri.js";
|
|
16
|
+
import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-tmHtVCkn.js";
|
|
17
|
+
import "./pairing-token-AV-MMfVE.js";
|
|
18
18
|
import { n as formatTimeAgo } from "./format-relative-BXoxEQVN.js";
|
|
19
19
|
import { n as withProgress } from "./progress-jIePzvGA.js";
|
|
20
20
|
import { t as renderTable } from "./table-BKlH0YlA.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { s as resolveGatewayLogPaths } from "./service-
|
|
2
|
-
import
|
|
1
|
+
import { s as resolveGatewayLogPaths } from "./service-D80PyJxB.js";
|
|
2
|
+
import fsPromises from "node:fs/promises";
|
|
3
3
|
|
|
4
4
|
//#region src/daemon/diagnostics.ts
|
|
5
5
|
const GATEWAY_LOG_ERROR_PATTERNS = [
|
|
@@ -11,7 +11,7 @@ const GATEWAY_LOG_ERROR_PATTERNS = [
|
|
|
11
11
|
];
|
|
12
12
|
async function readLastLogLine(filePath) {
|
|
13
13
|
try {
|
|
14
|
-
const lines = (await
|
|
14
|
+
const lines = (await fsPromises.readFile(filePath, "utf8")).split(/\r?\n/).map((line) => line.trim());
|
|
15
15
|
for (let i = lines.length - 1; i >= 0; i -= 1) if (lines[i]) return lines[i];
|
|
16
16
|
return null;
|
|
17
17
|
} catch {
|
|
@@ -20,8 +20,8 @@ async function readLastLogLine(filePath) {
|
|
|
20
20
|
}
|
|
21
21
|
async function readLastGatewayErrorLine(env) {
|
|
22
22
|
const { stdoutPath, stderrPath } = resolveGatewayLogPaths(env);
|
|
23
|
-
const stderrRaw = await
|
|
24
|
-
const stdoutRaw = await
|
|
23
|
+
const stderrRaw = await fsPromises.readFile(stderrPath, "utf8").catch(() => "");
|
|
24
|
+
const stdoutRaw = await fsPromises.readFile(stdoutPath, "utf8").catch(() => "");
|
|
25
25
|
const lines = [...stderrRaw.split(/\r?\n/), ...stdoutRaw.split(/\r?\n/)].map((line) => line.trim());
|
|
26
26
|
for (let i = lines.length - 1; i >= 0; i -= 1) {
|
|
27
27
|
const line = lines[i];
|
|
@@ -3,21 +3,21 @@ import { B as theme, O as danger } from "./utils-B-0b9bGM.js";
|
|
|
3
3
|
import "./registry-Cja8eT7G.js";
|
|
4
4
|
import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
|
|
5
5
|
import "./exec-CWkblSrI.js";
|
|
6
|
-
import "./agent-scope-
|
|
7
|
-
import "./model-selection-
|
|
6
|
+
import "./agent-scope-BRwEc2pG.js";
|
|
7
|
+
import "./model-selection-X1oLh3CE.js";
|
|
8
8
|
import "./github-copilot-token-DAu1a6BX.js";
|
|
9
9
|
import "./boolean-BsqeuxE6.js";
|
|
10
10
|
import "./env-DPCHYPeH.js";
|
|
11
11
|
import "./message-channel-aT-I_DTX.js";
|
|
12
|
-
import { i as loadConfig } from "./config-
|
|
12
|
+
import { i as loadConfig } from "./config-tNauHpdq.js";
|
|
13
13
|
import "./manifest-registry-C4BxOMWX.js";
|
|
14
|
-
import { t as getChannelPlugin } from "./plugins-
|
|
15
|
-
import "./accounts-
|
|
16
|
-
import "./bindings-
|
|
14
|
+
import { t as getChannelPlugin } from "./plugins-BAyxWQSz.js";
|
|
15
|
+
import "./accounts-Cd816n6l.js";
|
|
16
|
+
import "./bindings-ChzePa8q.js";
|
|
17
17
|
import "./logging-w5jq5901.js";
|
|
18
18
|
import { t as formatDocsLink } from "./links-3i1eUga4.js";
|
|
19
19
|
import { t as formatHelpExamples } from "./help-format-B_-M23wP.js";
|
|
20
|
-
import { n as resolveMessageChannelSelection } from "./channel-selection-
|
|
20
|
+
import { n as resolveMessageChannelSelection } from "./channel-selection-DaJDux-Q.js";
|
|
21
21
|
import { t as resolveChannelDefaultAccountId } from "./helpers-DnjQ73f_.js";
|
|
22
22
|
import { t as renderTable } from "./table-BKlH0YlA.js";
|
|
23
23
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { l as normalizeStringEntries } from "./dock-
|
|
2
|
-
import { i as readChannelAllowFromStore } from "./pairing-store-
|
|
1
|
+
import { l as normalizeStringEntries } from "./dock-BYiRZSgZ.js";
|
|
2
|
+
import { i as readChannelAllowFromStore } from "./pairing-store-B8ktu-6j.js";
|
|
3
3
|
|
|
4
4
|
//#region src/security/dm-policy-shared.ts
|
|
5
5
|
async function resolveDmAllowState(params) {
|
|
@@ -3,12 +3,12 @@ import { B as theme } from "./utils-B-0b9bGM.js";
|
|
|
3
3
|
import "./registry-Cja8eT7G.js";
|
|
4
4
|
import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
|
|
5
5
|
import "./exec-CWkblSrI.js";
|
|
6
|
-
import "./agent-scope-
|
|
7
|
-
import "./model-selection-
|
|
6
|
+
import "./agent-scope-BRwEc2pG.js";
|
|
7
|
+
import "./model-selection-X1oLh3CE.js";
|
|
8
8
|
import "./github-copilot-token-DAu1a6BX.js";
|
|
9
9
|
import "./boolean-BsqeuxE6.js";
|
|
10
10
|
import "./env-DPCHYPeH.js";
|
|
11
|
-
import { i as loadConfig } from "./config-
|
|
11
|
+
import { i as loadConfig } from "./config-tNauHpdq.js";
|
|
12
12
|
import "./manifest-registry-C4BxOMWX.js";
|
|
13
13
|
import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-B2SPYrh4.js";
|
|
14
14
|
import { t as formatDocsLink } from "./links-3i1eUga4.js";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { l as escapeRegExp, m as normalizeE164 } from "./utils-B-0b9bGM.js";
|
|
2
2
|
import { h as normalizeAccountId } from "./session-key-DCt45XZa.js";
|
|
3
3
|
import { f as requireActivePluginRegistry, n as CHAT_CHANNEL_ORDER, o as getChatChannelMeta } from "./registry-Cja8eT7G.js";
|
|
4
|
-
import { f as resolveSlackAccount, o as normalizeWhatsAppTarget, p as resolveSlackReplyToMode, u as resolveTelegramAccount, v as resolveDiscordAccount } from "./plugins-
|
|
5
|
-
import { n as resolveWhatsAppAccount } from "./accounts-
|
|
6
|
-
import { t as resolveIMessageAccount } from "./accounts-
|
|
7
|
-
import { n as resolveSignalAccount } from "./accounts-
|
|
4
|
+
import { f as resolveSlackAccount, o as normalizeWhatsAppTarget, p as resolveSlackReplyToMode, u as resolveTelegramAccount, v as resolveDiscordAccount } from "./plugins-BAyxWQSz.js";
|
|
5
|
+
import { n as resolveWhatsAppAccount } from "./accounts-Cd816n6l.js";
|
|
6
|
+
import { t as resolveIMessageAccount } from "./accounts-CokRskCl.js";
|
|
7
|
+
import { n as resolveSignalAccount } from "./accounts-mN_EcgxC.js";
|
|
8
8
|
|
|
9
9
|
//#region src/shared/string-normalization.ts
|
|
10
10
|
function normalizeStringEntries(list) {
|
|
@@ -7,7 +7,7 @@ import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
|
|
|
7
7
|
import "./boolean-BsqeuxE6.js";
|
|
8
8
|
import "./manifest-registry-C4BxOMWX.js";
|
|
9
9
|
import { d as hasBinary } from "./frontmatter-DWQhtOo7.js";
|
|
10
|
-
import "./skills-
|
|
10
|
+
import "./skills-DqQUtOph.js";
|
|
11
11
|
import "./redact-f-Q-hFt_.js";
|
|
12
12
|
import "./errors-BF3TeRH2.js";
|
|
13
13
|
import { t as formatDocsLink } from "./links-3i1eUga4.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { t as resolveSymiPackageRoot } from "./symi-root-
|
|
1
|
+
import { t as resolveSymiPackageRoot } from "./symi-root-MF6_6SCS.js";
|
|
2
2
|
import { r as resolveCliName } from "./command-format-COaS-S7B.js";
|
|
3
3
|
import { t as note } from "./note-DQ9BvHF2.js";
|
|
4
|
-
import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-
|
|
4
|
+
import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-DtQcXg1N.js";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import { spawnSync } from "node:child_process";
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { r as resolveCliName } from "./command-format-BtYOfWxC.js";
|
|
2
2
|
import { t as resolveSymiPackageRoot } from "./symi-root-BNuQ4lAT.js";
|
|
3
3
|
import { t as note } from "./note-DDecZomM.js";
|
|
4
|
-
import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-
|
|
4
|
+
import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-CfRZ-7QF.js";
|
|
5
5
|
import { spawnSync } from "node:child_process";
|
|
6
6
|
import path from "node:path";
|
|
7
7
|
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { f as resolveLegacyStateDirs, g as resolveStateDir, m as resolveOAuthDir, p as resolveNewStateDir, t as CONFIG_PATH } from "./paths-Cqn-zk3M.js";
|
|
2
2
|
import { _ as resolveHomeDir, d as isRecord } from "./utils-B-0b9bGM.js";
|
|
3
3
|
import { m as DEFAULT_ACCOUNT_ID, n as DEFAULT_MAIN_KEY, r as buildAgentMainSessionKey, s as normalizeAgentId } from "./session-key-DCt45XZa.js";
|
|
4
|
-
import { l as resolveDefaultAgentId } from "./agent-scope-
|
|
4
|
+
import { l as resolveDefaultAgentId } from "./agent-scope-BRwEc2pG.js";
|
|
5
5
|
import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
|
|
6
|
-
import { d as SymiSchema, n as migrateLegacyConfig, o as readConfigFileSnapshot } from "./config-
|
|
7
|
-
import { l as saveSessionStore, z as canonicalizeMainSessionAlias } from "./sessions-
|
|
8
|
-
import { l as listTelegramAccountIds, u as resolveTelegramAccount } from "./plugins-
|
|
6
|
+
import { d as SymiSchema, n as migrateLegacyConfig, o as readConfigFileSnapshot } from "./config-tNauHpdq.js";
|
|
7
|
+
import { l as saveSessionStore, z as canonicalizeMainSessionAlias } from "./sessions-jTAGYjWl.js";
|
|
8
|
+
import { l as listTelegramAccountIds, u as resolveTelegramAccount } from "./plugins-BAyxWQSz.js";
|
|
9
9
|
import { t as note } from "./note-DQ9BvHF2.js";
|
|
10
|
-
import { t as applyPluginAutoEnable } from "./plugin-auto-enable-
|
|
10
|
+
import { t as applyPluginAutoEnable } from "./plugin-auto-enable-DwIrzVOA.js";
|
|
11
11
|
import { t as isWithinDir } from "./path-safety-D55Cxg8r.js";
|
|
12
12
|
import { n as normalizeTelegramAllowFromEntry, t as isNumericTelegramUserId } from "./allow-from-BIJVrwCW.js";
|
|
13
13
|
import fs from "node:fs";
|
|
14
14
|
import os from "node:os";
|
|
15
15
|
import path from "node:path";
|
|
16
16
|
import JSON5 from "json5";
|
|
17
|
-
import
|
|
17
|
+
import fsPromises from "node:fs/promises";
|
|
18
18
|
|
|
19
19
|
//#region src/channels/telegram/api.ts
|
|
20
20
|
async function fetchTelegramChatId(params) {
|
|
@@ -1374,7 +1374,7 @@ async function maybeMigrateLegacyConfig() {
|
|
|
1374
1374
|
const targetDir = path.join(home, ".symi");
|
|
1375
1375
|
const targetPath = path.join(targetDir, "symi.json");
|
|
1376
1376
|
try {
|
|
1377
|
-
await
|
|
1377
|
+
await fsPromises.access(targetPath);
|
|
1378
1378
|
return changes;
|
|
1379
1379
|
} catch {}
|
|
1380
1380
|
const legacyCandidates = [
|
|
@@ -1384,14 +1384,14 @@ async function maybeMigrateLegacyConfig() {
|
|
|
1384
1384
|
];
|
|
1385
1385
|
let legacyPath = null;
|
|
1386
1386
|
for (const candidate of legacyCandidates) try {
|
|
1387
|
-
await
|
|
1387
|
+
await fsPromises.access(candidate);
|
|
1388
1388
|
legacyPath = candidate;
|
|
1389
1389
|
break;
|
|
1390
1390
|
} catch {}
|
|
1391
1391
|
if (!legacyPath) return changes;
|
|
1392
|
-
await
|
|
1392
|
+
await fsPromises.mkdir(targetDir, { recursive: true });
|
|
1393
1393
|
try {
|
|
1394
|
-
await
|
|
1394
|
+
await fsPromises.copyFile(legacyPath, targetPath, fsPromises.constants.COPYFILE_EXCL);
|
|
1395
1395
|
changes.push(`Migrated legacy config: ${legacyPath} -> ${targetPath}`);
|
|
1396
1396
|
} catch {}
|
|
1397
1397
|
return changes;
|
package/dist/entry.js
CHANGED
|
@@ -2500,7 +2500,7 @@ if (!ensureExperimentalWarningSuppressed()) {
|
|
|
2500
2500
|
applyCliProfileEnv({ profile: parsed.profile });
|
|
2501
2501
|
process$1.argv = parsed.argv;
|
|
2502
2502
|
}
|
|
2503
|
-
import("./run-main-
|
|
2503
|
+
import("./run-main-Dq6tfDry.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
|
|
2504
2504
|
console.error("[symi] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
|
|
2505
2505
|
process$1.exitCode = 1;
|
|
2506
2506
|
});
|