@symerian/symi 2.7.0 → 2.7.2
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-Cd816n6l.js → accounts-DDuIpcln.js} +7 -7
- package/dist/{accounts-mN_EcgxC.js → accounts-DyJN4_vR.js} +1 -1
- package/dist/{accounts-CokRskCl.js → accounts-bK-Yqdwx.js} +1 -1
- package/dist/{acp-cli-COzlJi3B.js → acp-cli-B2f0qBiM.js} +6 -6
- package/dist/{acp-cli-BLUeUUA5.js → acp-cli-D-9rzaOI.js} +2 -2
- package/dist/{agent-scope-BRwEc2pG.js → agent-scope-CgUHAtCo.js} +18 -18
- package/dist/{agents-Cu2bthAX.js → agents-Z8ruJPz2.js} +5 -5
- package/dist/{agents.config-Dib8Uo2P.js → agents.config-B9BZoM2m.js} +2 -2
- package/dist/{agents.config-5PTwsijs.js → agents.config-C951ocyh.js} +1 -1
- package/dist/{api-key-rotation-CEr3lKih.js → api-key-rotation-CzuPlV2t.js} +1 -1
- package/dist/{audio-preflight-mj-z_vQ6.js → audio-preflight-CIiS5cfP.js} +28 -28
- package/dist/{audio-preflight-DD18zIZd.js → audio-preflight-HILy3i0m.js} +4 -4
- package/dist/{audit-Djfdh06o.js → audit-BgdM9XZl.js} +23 -23
- package/dist/{audit-BjI_Yyr5.js → audit-xSagQWH8.js} +2 -2
- package/dist/{auth-choice-CmSUU3t8.js → auth-choice-BmYi6pBy.js} +8 -8
- package/dist/{auth-choice-5gul6jy2.js → auth-choice-D_VfXxhG.js} +2 -2
- package/dist/{auth-token-83A2btbE.js → auth-token-Cay2jwzn.js} +1 -1
- package/dist/{banner-B4vQpMIJ.js → banner-Bucr6qZ5.js} +1 -1
- package/dist/{bindings-ChzePa8q.js → bindings-DFaVVCsf.js} +1 -1
- package/dist/{browser-cli-kDUw45Y0.js → browser-cli-Bc_JVdTj.js} +3 -3
- package/dist/{browser-cli-BTD0NlrA.js → browser-cli-Dr0yx7-7.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-tmHtVCkn.js → call-CX0cs106.js} +9 -9
- package/dist/{call-DKi-hnaF.js → call-DeCQ2DhS.js} +1 -1
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-DVf4CJIu.js → channel-options-BMDryXHq.js} +1 -1
- package/dist/{channel-options-DsWGc55A.js → channel-options-z8-WeZyO.js} +2 -2
- package/dist/{channel-selection-DaJDux-Q.js → channel-selection-V2xDgw16.js} +1 -1
- package/dist/{channel-web-vGC-WJXi.js → channel-web-D_YxZAHT.js} +17 -17
- package/dist/{channels-cli-CSv05N3q.js → channels-cli-397NgC51.js} +7 -7
- package/dist/{channels-cli-COayA28A.js → channels-cli-CV7_JUru.js} +76 -76
- package/dist/{channels-status-issues-B_PI3nEE.js → channels-status-issues-CJ0Vb_9z.js} +1 -1
- package/dist/{chrome-BxwUEWrH.js → chrome-CiOKaTN-.js} +7 -7
- package/dist/{chrome-CSJzpT9Z.js → chrome-DU2ZysN3.js} +2 -2
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-B-g79xPe.js → cli-4XU7pNlM.js} +4 -4
- package/dist/{cli-DJjOxip6.js → cli-Dq95udFO.js} +63 -63
- package/dist/{client-Bj_vTpri.js → client-B8xmq-Pw.js} +14 -2
- package/dist/{client-T3qcxXru.js → client-qUlxXXVJ.js} +13 -1
- package/dist/{command-registry-BvpLfzl7.js → command-registry-yRiaU4-n.js} +10 -10
- package/dist/{commands-CtocZ4Lg.js → commands-BNLCWX6e.js} +1 -1
- package/dist/{commands-registry-BZ0ZSQpM.js → commands-registry-BT0-zzs3.js} +3 -3
- package/dist/{completion-cli-CfRZ-7QF.js → completion-cli-DrQai9KM.js} +2 -2
- package/dist/{completion-cli-DtQcXg1N.js → completion-cli-_aqxDQoz.js} +12 -12
- package/dist/{config-tNauHpdq.js → config-Dz95lSBW.js} +2 -2
- package/dist/{config-cli-DL2RdfLM.js → config-cli-CMymzmrI.js} +1 -1
- package/dist/{config-cli-D9Z78raJ.js → config-cli-EdmbBExA.js} +4 -4
- package/dist/{config-guard-4oRmpR0a.js → config-guard-CEkSg4hl.js} +12 -12
- package/dist/{config-validation-BoDWiwe3.js → config-validation-HDVDlMSV.js} +1 -1
- package/dist/{configure-jDpF8lmx.js → configure-DRMAIBBf.js} +15 -15
- package/dist/{configure-Dq4f8WPa.js → configure-DkFujfiY.js} +6 -6
- package/dist/{control-service-BBnhN7aZ.js → control-service-BYKXzY4f.js} +4 -4
- package/dist/control-ui/css/style.css +128 -0
- package/dist/control-ui/js/history.js +233 -85
- package/dist/{control-ui-assets-6n-YayeS.js → control-ui-assets-B7moDVHX.js} +1 -1
- package/dist/{cron-cli-D165ecaj.js → cron-cli-BHxfvWeT.js} +10 -10
- package/dist/{cron-cli-QCTdVZuP.js → cron-cli-DacyI1Pw.js} +3 -3
- package/dist/{daemon-cli-BccZzUb0.js → daemon-cli-BLhFbih0.js} +11 -11
- package/dist/{daemon-cli-DhJYEAoL.js → daemon-cli-BxKtiouf.js} +2 -2
- package/dist/daemon-cli.js +12 -0
- package/dist/{daemon-runtime-u01h46bE.js → daemon-runtime-mE1b-Q48.js} +10 -10
- package/dist/{deliver-BYdNAEqj.js → deliver-B4KZ6-oZ.js} +7 -7
- package/dist/{deliver-DtuY4Wgl.js → deliver-D6IcPfbt.js} +1 -1
- package/dist/{devices-cli-BNG-fvdl.js → devices-cli-1kiO08aL.js} +2 -2
- package/dist/{devices-cli-D0N71nqX.js → devices-cli-B8Q8AzbX.js} +6 -6
- package/dist/{diagnostics-BrUo0gqs.js → diagnostics-BRwihzJG.js} +5 -5
- package/dist/{directory-cli-aj7aXIBM.js → directory-cli-KgsAVTA0.js} +7 -7
- package/dist/{dm-policy-shared-epgkayyq.js → dm-policy-shared-DlDAGtZL.js} +2 -2
- package/dist/{dns-cli-Dit09wbu.js → dns-cli-Cwr92Aiq.js} +3 -3
- package/dist/{dock-BYiRZSgZ.js → dock-BhS32F6E.js} +4 -4
- package/dist/{docs-cli-CyWGMA-e.js → docs-cli-qE-blOLC.js} +1 -1
- package/dist/{doctor-completion-Ccb83Wl5.js → doctor-completion-BbrsQOW-.js} +2 -2
- package/dist/{doctor-completion-oQemZItC.js → doctor-completion-Cx-AR_dB.js} +1 -1
- package/dist/{doctor-config-flow-BXmHd2bb.js → doctor-config-flow-iIzSEQxb.js} +10 -10
- package/dist/entry.js +1 -1
- package/dist/{exec-approvals-cli-CmndFjEA.js → exec-approvals-cli-BRx2oxs5.js} +4 -4
- package/dist/{exec-approvals-cli-CZ-iTtNO.js → exec-approvals-cli-Cj6Z-vxL.js} +13 -13
- package/dist/extensionAPI.js +6 -6
- package/dist/{fs-safe-CTDvb1DF.js → fs-safe-CUjO1ca2.js} +6 -6
- package/dist/{gateway-cli-C1zPKZ7B.js → gateway-cli-C7JTXqby.js} +269 -175
- package/dist/{gateway-cli-zbVm1MBQ.js → gateway-cli-CaaX65eF.js} +169 -75
- package/dist/{gateway-rpc-BMdVa3QV.js → gateway-rpc-BWTK7g8B.js} +1 -1
- package/dist/{gateway-rpc-B1Wzoj99.js → gateway-rpc-WM-HXUbl.js} +1 -1
- package/dist/{glass-ui-ws-D3tAmqKX.js → glass-ui-ws-BI81Lh6Z.js} +83 -83
- package/dist/{glass-ui-ws-CvUFd4C6.js → glass-ui-ws-jAbqZVc9.js} +11 -11
- package/dist/{health-o847FIt1.js → health-B1nih5LD.js} +13 -13
- package/dist/{health-DQEqLYg1.js → health-CsTxt66a.js} +2 -2
- package/dist/{hooks-cli-sYjbF4I6.js → hooks-cli-BhxMFkKe.js} +77 -77
- package/dist/{hooks-cli-D_UW9fc8.js → hooks-cli-CIlvtt2M.js} +5 -5
- package/dist/{image-lCS3o9xj.js → image-BWmcNF8N.js} +3 -3
- package/dist/{image-lp19FlzF.js → image-D7Fl08gG.js} +1 -1
- package/dist/{image-ops-DYbDWaIA.js → image-ops-1OJMSAUX.js} +10 -10
- package/dist/index.js +73 -73
- package/dist/{inspect-CNYyHVfH.js → inspect-CvbbCuoa.js} +4 -4
- package/dist/{install-safe-path-D3mg1DMG.js → install-safe-path-D3Uz77u7.js} +11 -11
- package/dist/{installs-CYTVYWH_.js → installs-DQcRVF1U.js} +10 -10
- package/dist/{ir-Dt4hOzxG.js → ir-DZam9q5M.js} +6 -6
- package/dist/{lifecycle-core-DxmxQdhS.js → lifecycle-core-C4HzGXA1.js} +5 -5
- package/dist/llm-slug-generator.js +1 -1
- package/dist/{local-roots-BBeKX7PX.js → local-roots-aAFLQGkY.js} +2 -2
- package/dist/{login-CnjdNmGD.js → login-DODfJ3Dn.js} +3 -3
- package/dist/{login-qr-DUf6CM0M.js → login-qr-CBRxijIg.js} +5 -5
- package/dist/{logs-cli-DtlrLf7u.js → logs-cli-BZV7dq_U.js} +3 -3
- package/dist/{logs-cli-BVd6h2-Q.js → logs-cli-DyCcDkRs.js} +7 -7
- package/dist/{manager-C1CfGzZ2.js → manager-D4LJSRyZ.js} +13 -13
- package/dist/{markdown-tables-ZwP14ydw.js → markdown-tables-CEbN0fEm.js} +1 -1
- package/dist/{memory-cli-DhkRAIdT.js → memory-cli-DDumUksr.js} +14 -14
- package/dist/{model-catalog-CvbwxWuC.js → model-catalog-8Son0J4O.js} +4 -4
- package/dist/{model-picker-C2MqloOs.js → model-picker-CAm2Bftd.js} +3 -3
- package/dist/{model-selection-X1oLh3CE.js → model-selection-CyFvYcRt.js} +9 -9
- package/dist/{model-CeeOcylL.js → model-tWhwnFf8.js} +1 -1
- package/dist/{models-Zol34e73.js → models-DhMe2rzL.js} +3 -3
- package/dist/{models-cli-DnMUzr15.js → models-cli-DKM5sCQM.js} +72 -72
- package/dist/{models-cli-BzcEA9oa.js → models-cli-Dewg24W2.js} +6 -6
- package/dist/{models-config-CEMioDUi.js → models-config-CFFjJPe7.js} +7 -7
- package/dist/{node-cli-BVJid4L_.js → node-cli-4eMRkmrw.js} +28 -28
- package/dist/{node-cli-eHn9-YfJ.js → node-cli-Dfs0UmnJ.js} +1 -1
- package/dist/{node-service-CXzMs782.js → node-service-CD47Qpf1.js} +1 -1
- package/dist/{nodes-cli-Ct4M7JOe.js → nodes-cli-BKb61OjH.js} +3 -3
- package/dist/{nodes-cli-BN2Nslim.js → nodes-cli-DxfP9DIz.js} +10 -10
- package/dist/{nodes-screen-Cd49cSPb.js → nodes-screen-8Bq7DiSa.js} +4 -4
- package/dist/{npm-registry-spec-DchndI6P.js → npm-registry-spec-C0CPT3vr.js} +9 -9
- package/dist/{onboard-CSseK0Co.js → onboard-C6XtdirM.js} +13 -13
- package/dist/{onboard-CxOT_xD4.js → onboard-CVfE-Bjj.js} +3 -3
- package/dist/{onboard-channels-D-lh_Vh1.js → onboard-channels-8ynJSZL6.js} +1 -1
- package/dist/{onboard-channels-CUlITipG.js → onboard-channels-ChxtmhFY.js} +5 -5
- package/dist/{onboard-custom-DTcLdtA9.js → onboard-custom-XiomtQr7.js} +3 -3
- package/dist/{onboard-helpers-CdPNw25E.js → onboard-helpers-CueJ7O_B.js} +8 -8
- package/dist/{onboard-helpers-BBtPmJEe.js → onboard-helpers-PpGrZIGw.js} +1 -1
- package/dist/{onboard-hooks-C_2_jpWg.js → onboard-hooks-C3ok8kqB.js} +1 -1
- package/dist/{onboard-remote-v6QMnyJD.js → onboard-remote-Cd9kIiSG.js} +1 -1
- package/dist/{onboard-remote-D-B4EiOE.js → onboard-remote-DCdpB2HH.js} +1 -1
- package/dist/{onboard-skills-BDCzVjxb.js → onboard-skills-CC2CV5Er.js} +1 -1
- package/dist/{onboard-skills-CQtkRP20.js → onboard-skills-DRICcBwa.js} +4 -4
- package/dist/{onboarding-Dn5agNG_.js → onboarding-Dg6nx_ph.js} +13 -13
- package/dist/{onboarding-DktESmTv.js → onboarding-fN3GGyiv.js} +7 -7
- package/dist/{onboarding.finalize-Bm-1Kdnh.js → onboarding.finalize--MZAe4B0.js} +10 -10
- package/dist/{onboarding.finalize-CTIZ1zvV.js → onboarding.finalize-CBE2mBQQ.js} +75 -75
- package/dist/{onboarding.gateway-config-CwnQkyO0.js → onboarding.gateway-config-DTWQ-Bqq.js} +14 -14
- package/dist/{onboarding.gateway-config-B9zGPfCl.js → onboarding.gateway-config-Dj68bVBt.js} +3 -3
- package/dist/{openai-model-default-4kBA1_78.js → openai-model-default-WqcGxyFM.js} +2 -2
- package/dist/{outbound-attachment-Qfh5dlsg.js → outbound-attachment-Bw-c5Cdp.js} +2 -2
- package/dist/{outbound-_Ir3M05f.js → outbound-wnv03tb3.js} +4 -4
- package/dist/{pairing-cli-C8UXBJ_A.js → pairing-cli-DSM82gJG.js} +8 -8
- package/dist/{pairing-labels-Dxb898X5.js → pairing-labels-DyXoD1DS.js} +1 -1
- package/dist/{pairing-store-B8ktu-6j.js → pairing-store-CK726Dzq.js} +2 -2
- package/dist/{pairing-token-AV-MMfVE.js → pairing-token-CX3NN_qj.js} +7 -7
- package/dist/{paths-CT6jsi4E.js → paths-BBm9fwuG.js} +1 -1
- package/dist/{pi-auth-json-FpfHyEcu.js → pi-auth-json-zHckislA.js} +5 -5
- package/dist/{pi-embedded-CYDMb5q0.js → pi-embedded-BzS693I1.js} +28 -16
- package/dist/{pi-embedded-helpers-Bs4eMaNo.js → pi-embedded-helpers-BgdB5kvy.js} +6 -6
- package/dist/{pi-embedded-helpers-Dij3O6ox.js → pi-embedded-helpers-DXAoe1Bx.js} +4 -4
- package/dist/{pi-tools.policy-BBxnqCay.js → pi-tools.policy-DRWb_Cax.js} +4 -4
- package/dist/{plugin-auto-enable-DwIrzVOA.js → plugin-auto-enable-CP0nONRL.js} +2 -2
- package/dist/{plugin-registry-CJGPW1-k.js → plugin-registry-Bzz7mUyl.js} +1 -1
- package/dist/{plugin-registry-d0oZLl6y.js → plugin-registry-SUa2FFIj.js} +3 -3
- package/dist/plugin-sdk/{channel-web-Dm-CzA1O.js → channel-web-DRabhx1e.js} +1 -1
- package/dist/plugin-sdk/gateway/protocol/index.d.ts +13 -2
- package/dist/plugin-sdk/gateway/protocol/schema/sessions.d.ts +11 -0
- package/dist/plugin-sdk/gateway/protocol/schema/types.d.ts +4 -1
- package/dist/plugin-sdk/index.js +2 -2
- package/dist/plugin-sdk/{reply-4HEU7aDS.js → reply-Cw3shPk2.js} +14 -2
- package/dist/plugin-sdk/{web-Cclb7FTq.js → web-CH43nBP0.js} +2 -2
- package/dist/{plugins-BAyxWQSz.js → plugins-DKDeQZF0.js} +2 -2
- package/dist/{plugins-cli-CL0tzkMo.js → plugins-cli-DwtoU3xk.js} +5 -5
- package/dist/{plugins-cli-BWgjIJQL.js → plugins-cli-qG50__1A.js} +72 -72
- package/dist/{ports-OZQlocB7.js → ports-BOmtxoTv.js} +2 -2
- package/dist/{ports-u9lWy2Jt.js → ports-DtW62rqS.js} +1 -1
- package/dist/{program-BHjH97Q_.js → program-BDspObZY.js} +10 -10
- package/dist/{program-context-CXZHSZ4D.js → program-context-BqUFQnhR.js} +39 -39
- package/dist/{prompt-select-styled-BUFEoSlM.js → prompt-select-styled-C7DydfxH.js} +38 -38
- package/dist/{prompt-select-styled-D8LXSUR7.js → prompt-select-styled-CRUuzDrg.js} +6 -6
- package/dist/{provider-auth-helpers-BFHctF2f.js → provider-auth-helpers-CEYCb2mJ.js} +1 -1
- package/dist/{provider-auth-helpers-CeAbh3lv.js → provider-auth-helpers-D60nbSLq.js} +5 -5
- package/dist/{push-apns-BylbQyP9.js → push-apns-B5txhDVi.js} +1 -1
- package/dist/{push-apns-DqFdzIkc.js → push-apns-CoG1P_P0.js} +4 -4
- package/dist/{pw-ai-BO5cSmwD.js → pw-ai-CANiWpMA.js} +1 -1
- package/dist/{pw-ai-CfrnAHwA.js → pw-ai-DQohWnzT.js} +7 -7
- package/dist/{qmd-manager-DUNbG4Qr.js → qmd-manager-CCUK1xoc.js} +18 -18
- package/dist/{qr-cli-BZYa2gvF.js → qr-cli-CejYwqsj.js} +3 -3
- package/dist/{register.agent-DxAqRAt3.js → register.agent-BY_Df_Me.js} +9 -9
- package/dist/{register.agent-bzSGKS-l.js → register.agent-CopGIf9e.js} +82 -82
- package/dist/{register.configure-WS1nlSp8.js → register.configure-Bu_XKu7Z.js} +11 -11
- package/dist/register.configure-CoYQhQBT.js +148 -0
- package/dist/{register.maintenance-B1QcUr38.js → register.maintenance-4Q3E_gqv.js} +85 -85
- package/dist/{register.maintenance-D_qMTrgD.js → register.maintenance-DhnICgeT.js} +11 -11
- package/dist/{register.message-zu3HGGff.js → register.message-DZCCEK01.js} +5 -5
- package/dist/{register.message-CJF8gLAN.js → register.message-dd1xYBZT.js} +64 -64
- package/dist/{register.onboard-CswoaT7q.js → register.onboard-Bfz-EJGb.js} +75 -75
- package/dist/{register.onboard-9dwNqCe6.js → register.onboard-e8L_UxR4.js} +7 -7
- package/dist/{register.setup-CvomtGGu.js → register.setup-C5CZKKAB.js} +78 -78
- package/dist/{register.setup-TcjUu6HC.js → register.setup-DuU3Ywi-.js} +7 -7
- package/dist/{register.status-health-sessions-CM1SX81r.js → register.status-health-sessions-Dvj4mlom.js} +7 -7
- package/dist/{register.status-health-sessions-CQMvbwr6.js → register.status-health-sessions-jeiqtgl7.js} +76 -76
- package/dist/{register.subclis-CVQASXaL.js → register.subclis-DD6G0dov.js} +20 -20
- package/dist/{replies-Dy92jzrz.js → replies-BMqtgBhh.js} +1 -1
- package/dist/{reply-CpNWtuU4.js → reply-XaXqDK9F.js} +139 -139
- package/dist/{reply-prefix-BLOOs1aW.js → reply-prefix-CE2YmmsD.js} +1 -1
- package/dist/{resolve-route-BcnaXYvh.js → resolve-route-BMoTaVAH.js} +2 -2
- package/dist/{routes-CVwRcA9D.js → routes-BAZTZNuQ.js} +8 -8
- package/dist/{rpc-CZFfee1J.js → rpc-N1nf_c1A.js} +1 -1
- package/dist/{rpc-D0FiEinj.js → rpc-QHo-8pCM.js} +1 -1
- package/dist/{run-main-Dq6tfDry.js → run-main-BrUOBCsG.js} +17 -17
- package/dist/{runner-Ct0suQrd.js → runner-BS9gGL5i.js} +1 -1
- package/dist/{runner-BAVs-p6Z.js → runner-DRv0uCK_.js} +20 -20
- package/dist/{sandbox-HZ_uilsn.js → sandbox-B6N8cV4d.js} +18 -18
- package/dist/{sandbox-cli-wZtiyo8g.js → sandbox-cli-DwzaNjIJ.js} +20 -20
- package/dist/{security-cli-BESmRIrl.js → security-cli-B-4J6enu.js} +36 -36
- package/dist/{security-cli-CG1uSlRK.js → security-cli-CSMUEGPK.js} +3 -3
- package/dist/{send-DsSI8z3F.js → send-9SapUCg7.js} +6 -6
- package/dist/{send-DT-5buW5.js → send-B3RdXvjC.js} +6 -6
- package/dist/{send-JWV62VbW.js → send-Bm4ULEzh.js} +6 -6
- package/dist/{send-BVBCh27_.js → send-CQVnyJyF.js} +13 -13
- package/dist/{send-CXFTeD_J.js → send-DVm0du0_.js} +4 -4
- package/dist/{server-context-VlF1_hYj.js → server-context-CCBZN8a0.js} +5 -5
- package/dist/{server-methods-B0pdetGJ.js → server-methods-0ksPFnev.js} +441 -124
- package/dist/{server-methods-IBEaQXPX.js → server-methods-Bu1RjLe6.js} +484 -167
- package/dist/{server-node-events-CyDj7Txd.js → server-node-events-DCbzFyQF.js} +5 -5
- package/dist/{server-node-events-BACmfyjo.js → server-node-events-DZAN3hWE.js} +64 -64
- package/dist/{service-D80PyJxB.js → service-osK70kTZ.js} +15 -15
- package/dist/{session-6Qyc4cBQ.js → session-DsJGtM7g.js} +2 -2
- package/dist/{session-dirs-DPzjjra2.js → session-dirs-Dgz7kkUM.js} +2 -2
- package/dist/{sessions-jTAGYjWl.js → sessions-Cpgnq0pA.js} +13 -13
- package/dist/{shared-BfhtOZAz.js → shared-73T9fyuK.js} +3 -3
- package/dist/{shared-BV7WhIkY.js → shared-DnmJ0ABB.js} +1 -1
- package/dist/{skill-commands-ZXbEITKi.js → skill-commands-Cxw-jNxU.js} +5 -5
- package/dist/{skill-scanner-w3DJvw1Q.js → skill-scanner-hMtQbWPV.js} +5 -5
- package/dist/{skills-DqQUtOph.js → skills-6jdJQ5ZL.js} +4 -4
- package/dist/{skills-cli-D3lePXkf.js → skills-cli-DXkx4vNV.js} +7 -7
- package/dist/{skills-install-HGYidhrv.js → skills-install-CWVdJkLn.js} +3 -3
- package/dist/{skills-status-Cjsh8we0.js → skills-status-C3ptXwnh.js} +1 -1
- package/dist/{sqlite-BV5ILFtC.js → sqlite-Dx3J_aSE.js} +12 -12
- package/dist/{status-DzHL-eVu.js → status-CiHkFbIh.js} +3 -3
- package/dist/{status-nzJEZmNT.js → status-DOTlXdcN.js} +25 -25
- package/dist/{status-DUeTrQSz.js → status-IWqSLXLR.js} +1 -1
- package/dist/{status-BJtbD-cG.js → status-qkmUAeWo.js} +5 -5
- package/dist/{status.update-TlYwuzTa.js → status.update-CG0ciGaf.js} +3 -3
- package/dist/{store-DvtcmOKj.js → store-r1DJSDq-.js} +5 -5
- package/dist/{subagent-registry-CzS4CfnV.js → subagent-registry-DCoU9xIE.js} +5 -5
- package/dist/{symi-root-MF6_6SCS.js → symi-root-CrGJbkzf.js} +2 -2
- package/dist/{system-cli-C2yhGP4C.js → system-cli-DY7ov1OT.js} +7 -7
- package/dist/{system-cli-Z7uzO8qd.js → system-cli-LFURKpwS.js} +3 -3
- package/dist/{systemd-CevHlgD4.js → systemd-DT6SbCim.js} +5 -5
- package/dist/{systemd-hints-DmgRnw1L.js → systemd-hints-xYZbFny_.js} +6 -6
- package/dist/{systemd-linger-ScxQ1_H4.js → systemd-linger-DCskIKcx.js} +1 -1
- package/dist/{tables-C38rzF6E.js → tables-BEzT0Da4.js} +1 -1
- package/dist/{target-errors-CCz79CmV.js → target-errors-7AvoVa10.js} +4 -4
- package/dist/{tool-images-B-pqX3nX.js → tool-images-DvUBlqjX.js} +1 -1
- package/dist/{tui-D2MOx3Kx.js → tui-BH7JwqvB.js} +7 -7
- package/dist/{tui-DrATGNms.js → tui-C_5HG495.js} +2 -2
- package/dist/{tui-cli-D19-MCXt.js → tui-cli-B65PKZMj.js} +3 -3
- package/dist/{tui-cli-B2ii7u23.js → tui-cli-CJnfmuxq.js} +28 -28
- package/dist/{unified-runner-BtO3UQSd.js → unified-runner-CApgXtVC.js} +14 -2
- package/dist/{update-Don6XTH9.js → update-Ya0e-JnM.js} +3 -3
- package/dist/{update-check-DCo5RtKp.js → update-check-7EzEjSzb.js} +5 -5
- package/dist/{update-cli-gKtjyXlD.js → update-cli-D5_jTEJv.js} +95 -95
- package/dist/{update-cli-DRODEMSI.js → update-cli-Dxb3pUyu.js} +12 -12
- package/dist/{update-runner-JcdOHr71.js → update-runner-BhVsdpxm.js} +1 -1
- package/dist/{update-runner-AsKAxe31.js → update-runner-FhW6n-Nv.js} +15 -15
- package/dist/{web-BIzWZFiN.js → web-ConlA_Ch.js} +4 -4
- package/dist/{web-DGo16lWn.js → web-CthDLVSz.js} +1 -1
- package/dist/{web-DKwOxo8E.js → web-Db_-ahjX.js} +6 -6
- package/dist/web-Dpb_tv_j.js +110 -0
- package/dist/{webhooks-cli-DbnQ2BVE.js → webhooks-cli-BRxe4uCg.js} +4 -4
- package/dist/{whatsapp-actions-CqXxtCoj.js → whatsapp-actions-ChO_shrk.js} +15 -15
- package/dist/{with-timeout-Cm5EhxG_.js → with-timeout-CtVdu_1U.js} +1 -1
- package/dist/{workspace-dirs-DKu48umx.js → workspace-dirs-GpkFi6Kw.js} +1 -1
- package/dist/{wsl-xNOi_Ch8.js → wsl-q8spwrME.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/dist/register.configure-Boyfir72.js +0 -148
- package/dist/web-sefqR11J.js +0 -110
|
@@ -1,156 +1,156 @@
|
|
|
1
1
|
import { _ as expandHomePrefix, g as resolveStateDir, i as isNixMode, l as resolveGatewayLockDir, o as resolveConfigPath, r as STATE_DIR, t as CONFIG_PATH, u as resolveGatewayPort } from "./paths-Cqn-zk3M.js";
|
|
2
2
|
import { B as theme, E as truncateUtf16Safe, H as getLogger, P as setVerbose, R as colorize, S as shortenHomePath, U as getResolvedLoggerSettings, V as getChildLogger, c as ensureDir, t as CONFIG_DIR, y as resolveUserPath, z as isRich } from "./utils-B-0b9bGM.js";
|
|
3
3
|
import { d as supportsXHighThinking, l as normalizeVerboseLevel, s as normalizeThinkLevel } from "./thinking-EAliFiVK.js";
|
|
4
|
-
import { $ as buildDeliveryFromLegacyPayload, A as emitGatewayRestart, An as initSubagentRegistry, Ar as extractImageContentFromSource, B as summarizeRestartSentinel, Bn as registerAgentRunContext, Ct as requestBodyErrorToText, Dr as DEFAULT_INPUT_MAX_REDIRECTS, E as resetDirectoryCache, Er as DEFAULT_INPUT_IMAGE_MIMES, Et as agentCommand, F as setPreRestartDeferralCheck, Fn as readLatestAssistantReply, Gt as getCliSessionId, I as consumeRestartSentinel, In as clearAgentRunContext, J as normalizeOptionalSessionKey, K as inferLegacyName, Kt as setCliSessionId, Ln as emitAgentEvent, Lt as createDefaultDeps, M as markGatewaySigusr1RestartHandled, Mr as resolveInputFileLimits, Mt as resolveOutboundTarget, Nt as resolveSessionDeliveryTarget, O as consumeGatewaySigusr1RestartAuthorization, On as countActiveDescendantRuns, Or as DEFAULT_INPUT_TIMEOUT_MS, P as setGatewaySigusr1RestartPolicy, Pn as runSubagentAnnounceFlow, Pr as resolveAgentTimeoutMs, Pt as createOutboundSendDeps, Q as migrateLegacyCronPayload, R as formatRestartSentinelMessage, Rn as getAgentRunContext, St as readJsonBodyWithLimit, Tr as DEFAULT_INPUT_IMAGE_MAX_BYTES, Tt as sleepWithAbort, U as normalizeHttpWebhookUrl, Ut as resolveModelProfile, Vt as getActiveEmbeddedRunCount, Wt as runWithModelFallback, X as normalizePayloadToSystemText, Xt as resolveAgentAvatar, Y as normalizeOptionalText, Z as normalizeRequiredName, _ as loadCombinedSessionStoreForGateway, ar as setCommandLaneConcurrency, cn as buildHistoryContextFromEntries, cr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, d as createSymiTools, en as buildSafeExternalPrompt, et as hasLegacyDeliveryHints, f as resolveAnnounceTargetFromKey, fr as stripHeartbeatToken, ft as loadSymiPlugins, g as listSessionsFromStore, hn as getTotalPendingReplies, i as resolveCronStyleNow, ir as resetAllLanes, j as isGatewaySigusr1RestartExternallyAllowed, jn as listDescendantRunsForRequester, jr as normalizeMimeList, k as deferGatewayRestartUntilIdle, kn as countActiveRunsForSession, kr as extractFileContentFromSource, l as applyToolPolicyPipeline, nn as getHookType, or as waitForActiveTasks, pr as lookupContextTokens, q as normalizeOptionalAgentId, qt as runCliAgent, rn as isExternalHookSession, rr as getTotalQueueSize, sr as CommandLane, st as requestHeartbeatNow, tn as detectSuspiciousPatterns, tr as getActiveTaskCount, tt as stripLegacyDeliveryFields, u as buildDefaultToolPolicyPipelineSteps, ut as getPluginToolMeta, v as loadSessionEntry, w as resolveOutboundSessionRoute, wt as computeBackoff, xr as enqueueSystemEvent, xt as handleSlackHttpRequest, zn as onAgentEvent, zt as runAgentTurn } from "./reply-
|
|
4
|
+
import { $ as buildDeliveryFromLegacyPayload, A as emitGatewayRestart, An as initSubagentRegistry, Ar as extractImageContentFromSource, B as summarizeRestartSentinel, Bn as registerAgentRunContext, Ct as requestBodyErrorToText, Dr as DEFAULT_INPUT_MAX_REDIRECTS, E as resetDirectoryCache, Er as DEFAULT_INPUT_IMAGE_MIMES, Et as agentCommand, F as setPreRestartDeferralCheck, Fn as readLatestAssistantReply, Gt as getCliSessionId, I as consumeRestartSentinel, In as clearAgentRunContext, J as normalizeOptionalSessionKey, K as inferLegacyName, Kt as setCliSessionId, Ln as emitAgentEvent, Lt as createDefaultDeps, M as markGatewaySigusr1RestartHandled, Mr as resolveInputFileLimits, Mt as resolveOutboundTarget, Nt as resolveSessionDeliveryTarget, O as consumeGatewaySigusr1RestartAuthorization, On as countActiveDescendantRuns, Or as DEFAULT_INPUT_TIMEOUT_MS, P as setGatewaySigusr1RestartPolicy, Pn as runSubagentAnnounceFlow, Pr as resolveAgentTimeoutMs, Pt as createOutboundSendDeps, Q as migrateLegacyCronPayload, R as formatRestartSentinelMessage, Rn as getAgentRunContext, St as readJsonBodyWithLimit, Tr as DEFAULT_INPUT_IMAGE_MAX_BYTES, Tt as sleepWithAbort, U as normalizeHttpWebhookUrl, Ut as resolveModelProfile, Vt as getActiveEmbeddedRunCount, Wt as runWithModelFallback, X as normalizePayloadToSystemText, Xt as resolveAgentAvatar, Y as normalizeOptionalText, Z as normalizeRequiredName, _ as loadCombinedSessionStoreForGateway, ar as setCommandLaneConcurrency, cn as buildHistoryContextFromEntries, cr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, d as createSymiTools, en as buildSafeExternalPrompt, et as hasLegacyDeliveryHints, f as resolveAnnounceTargetFromKey, fr as stripHeartbeatToken, ft as loadSymiPlugins, g as listSessionsFromStore, hn as getTotalPendingReplies, i as resolveCronStyleNow, ir as resetAllLanes, j as isGatewaySigusr1RestartExternallyAllowed, jn as listDescendantRunsForRequester, jr as normalizeMimeList, k as deferGatewayRestartUntilIdle, kn as countActiveRunsForSession, kr as extractFileContentFromSource, l as applyToolPolicyPipeline, nn as getHookType, or as waitForActiveTasks, pr as lookupContextTokens, q as normalizeOptionalAgentId, qt as runCliAgent, rn as isExternalHookSession, rr as getTotalQueueSize, sr as CommandLane, st as requestHeartbeatNow, tn as detectSuspiciousPatterns, tr as getActiveTaskCount, tt as stripLegacyDeliveryFields, u as buildDefaultToolPolicyPipelineSteps, ut as getPluginToolMeta, v as loadSessionEntry, w as resolveOutboundSessionRoute, wt as computeBackoff, xr as enqueueSystemEvent, xt as handleSlackHttpRequest, zn as onAgentEvent, zt as runAgentTurn } from "./reply-XaXqDK9F.js";
|
|
5
5
|
import { S as parseAgentSessionKey, c as normalizeMainKey, f as toAgentRequestSessionKey, l as resolveAgentIdFromSessionKey, m as DEFAULT_ACCOUNT_ID, p as toAgentStoreSessionKey, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, x as isSubagentSessionKey, y as isCronRunSessionKey } from "./session-key-DCt45XZa.js";
|
|
6
|
-
import { r as matchesSkillFilter, t as resolveSymiPackageRoot } from "./symi-root-
|
|
6
|
+
import { r as matchesSkillFilter, t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
|
|
7
7
|
import { C as createInternalHookEvent, S as clearInternalHooks, T as triggerInternalHook, m as createEmptyPluginRegistry, r as DEFAULT_CHAT_CHANNEL, w as registerInternalHook } from "./registry-Cja8eT7G.js";
|
|
8
8
|
import { a as setConsoleSubsystemFilter, f as defaultRuntime, n as runtimeForLogger, o as setConsoleTimestampPrefix, t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
|
|
9
9
|
import { i as logDebug, n as runExec, s as logWarn, t as runCommandWithTimeout } from "./exec-CWkblSrI.js";
|
|
10
|
-
import { C as ensureAgentWorkspace, D as resolveDefaultAgentWorkspaceDir, O as resolveWorkspaceTemplateDir, a as resolveAgentModelFallbacksOverride, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, i as resolveAgentDir, l as resolveDefaultAgentId, n as listAgentIds, r as resolveAgentConfig, s as resolveAgentSkillsFilter } from "./agent-scope-
|
|
11
|
-
import { Gt as DEFAULT_MODEL, Kt as DEFAULT_PROVIDER, Rt as isPidAlive, Wt as DEFAULT_CONTEXT_TOKENS, a as getModelRefStatus, d as resolveAllowedModelRef, h as resolveHooksGmailModel, o as isCliProvider, p as resolveConfiguredModelRef, y as resolveThinkingDefault } from "./model-selection-
|
|
10
|
+
import { C as ensureAgentWorkspace, D as resolveDefaultAgentWorkspaceDir, O as resolveWorkspaceTemplateDir, a as resolveAgentModelFallbacksOverride, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, i as resolveAgentDir, l as resolveDefaultAgentId, n as listAgentIds, r as resolveAgentConfig, s as resolveAgentSkillsFilter } from "./agent-scope-CgUHAtCo.js";
|
|
11
|
+
import { Gt as DEFAULT_MODEL, Kt as DEFAULT_PROVIDER, Rt as isPidAlive, Wt as DEFAULT_CONTEXT_TOKENS, a as getModelRefStatus, d as resolveAllowedModelRef, h as resolveHooksGmailModel, o as isCliProvider, p as resolveConfiguredModelRef, y as resolveThinkingDefault } from "./model-selection-CyFvYcRt.js";
|
|
12
12
|
import "./github-copilot-token-DAu1a6BX.js";
|
|
13
13
|
import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
|
|
14
14
|
import "./boolean-BsqeuxE6.js";
|
|
15
15
|
import { n as logAcceptedEnvOption, t as isTruthyEnvValue } from "./env-DPCHYPeH.js";
|
|
16
16
|
import { _ as normalizeGatewayClientMode, h as GATEWAY_CLIENT_NAMES, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, p as GATEWAY_CLIENT_IDS, r as isGatewayCliClient, s as isWebchatClient } from "./message-channel-aT-I_DTX.js";
|
|
17
|
-
import "./send-
|
|
18
|
-
import { B as resolveAgentMaxConcurrent, C as parseDurationMs, H as VERSION, U as resolveRuntimeServiceVersion, V as resolveSubagentMaxConcurrent, i as loadConfig, l as writeConfigFile, n as migrateLegacyConfig, o as readConfigFileSnapshot, r as createConfigIO } from "./config-
|
|
17
|
+
import "./send-CQVnyJyF.js";
|
|
18
|
+
import { B as resolveAgentMaxConcurrent, C as parseDurationMs, H as VERSION, U as resolveRuntimeServiceVersion, V as resolveSubagentMaxConcurrent, i as loadConfig, l as writeConfigFile, n as migrateLegacyConfig, o as readConfigFileSnapshot, r as createConfigIO } from "./config-Dz95lSBW.js";
|
|
19
19
|
import { l as isTestDefaultMemorySlotDisabled } from "./manifest-registry-C4BxOMWX.js";
|
|
20
20
|
import { a as isPathInsideWithRealpath } from "./legacy-names-Be3msDZo.js";
|
|
21
|
-
import { d as registerUnhandledRejectionHandler } from "./runner-
|
|
22
|
-
import "./image-
|
|
23
|
-
import "./models-config-
|
|
21
|
+
import { d as registerUnhandledRejectionHandler } from "./runner-DRv0uCK_.js";
|
|
22
|
+
import "./image-BWmcNF8N.js";
|
|
23
|
+
import "./models-config-CFFjJPe7.js";
|
|
24
24
|
import "./pi-model-discovery-4uUnLc3n.js";
|
|
25
|
-
import "./pi-embedded-helpers-
|
|
26
|
-
import { S as resolveToolProfilePolicy, _ as collectExplicitAllowlist, b as mergeAlsoAllowPolicy } from "./sandbox-
|
|
27
|
-
import "./chrome-
|
|
25
|
+
import "./pi-embedded-helpers-BgdB5kvy.js";
|
|
26
|
+
import { S as resolveToolProfilePolicy, _ as collectExplicitAllowlist, b as mergeAlsoAllowPolicy } from "./sandbox-B6N8cV4d.js";
|
|
27
|
+
import "./chrome-DU2ZysN3.js";
|
|
28
28
|
import { i as enableTailscaleServe, n as disableTailscaleServe, o as getTailnetHostname, r as enableTailscaleFunnel, t as disableTailscaleFunnel } from "./tailscale-D5dKabOc.js";
|
|
29
29
|
import { t as safeEqualSecret } from "./secret-equal-D7A3Bol7.js";
|
|
30
30
|
import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-B2SPYrh4.js";
|
|
31
31
|
import { a as isTrustedProxyAddress, d as resolveGatewayListenHosts, f as resolveHostName, l as resolveClientIp, n as isLoopbackAddress, o as isValidIPv4, r as isLoopbackHost, s as normalizeHostHeader, t as rawDataToString, u as resolveGatewayBindHost } from "./ws-C7EXRv8z.js";
|
|
32
32
|
import { a as resolveGatewayAuth, c as createAuthRateLimiter, i as isLocalDirectRequest, n as authorizeHttpGatewayConnect, o as AUTH_RATE_LIMIT_SCOPE_DEVICE_TOKEN, r as authorizeWsControlUiGatewayConnect, s as AUTH_RATE_LIMIT_SCOPE_SHARED_SECRET, t as assertGatewayAuthConfigured } from "./auth-B741uFtk.js";
|
|
33
|
-
import { g as mergeGatewayTailscaleConfig, h as ensureGatewayStartupAuth } from "./server-context-
|
|
33
|
+
import { g as mergeGatewayTailscaleConfig, h as ensureGatewayStartupAuth } from "./server-context-CCBZN8a0.js";
|
|
34
34
|
import { d as hasBinary } from "./frontmatter-DWQhtOo7.js";
|
|
35
|
-
import { r as buildWorkspaceSkillSnapshot } from "./skills-
|
|
36
|
-
import "./routes-
|
|
35
|
+
import { r as buildWorkspaceSkillSnapshot } from "./skills-6jdJQ5ZL.js";
|
|
36
|
+
import "./routes-BAZTZNuQ.js";
|
|
37
37
|
import "./redact-f-Q-hFt_.js";
|
|
38
38
|
import { a as isErrno, n as formatErrorMessage } from "./errors-BF3TeRH2.js";
|
|
39
|
-
import { n as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-
|
|
40
|
-
import "./paths-
|
|
39
|
+
import { n as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-CUjO1ca2.js";
|
|
40
|
+
import "./paths-BBm9fwuG.js";
|
|
41
41
|
import { t as SsrFBlockedError } from "./ssrf-BCYMnxkM.js";
|
|
42
|
-
import { c as detectMime } from "./image-ops-
|
|
43
|
-
import "./store-
|
|
44
|
-
import { a as inspectPortUsage, r as ensurePortAvailable, s as formatPortDiagnostics } from "./ports-
|
|
42
|
+
import { c as detectMime } from "./image-ops-1OJMSAUX.js";
|
|
43
|
+
import "./store-r1DJSDq-.js";
|
|
44
|
+
import { a as inspectPortUsage, r as ensurePortAvailable, s as formatPortDiagnostics } from "./ports-BOmtxoTv.js";
|
|
45
45
|
import "./trash-DcMh1i4B.js";
|
|
46
|
-
import { B as resolveAgentMainSessionKey, H as resolveMainSessionKey, M as evaluateSessionFreshness, P as resolveSessionResetPolicy, U as resolveMainSessionKeyFromConfig, Y as cleanStaleLockFiles, _ as mergeDeliveryContext, d as updateSessionStore, h as deliveryContextFromSession, n as parseSessionThreadInfo, o as loadSessionStore, z as canonicalizeMainSessionAlias } from "./sessions-
|
|
47
|
-
import "./dock-
|
|
48
|
-
import { n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-
|
|
49
|
-
import { n as resolveWhatsAppAccount } from "./accounts-
|
|
50
|
-
import "./accounts-
|
|
51
|
-
import "./accounts-
|
|
52
|
-
import { t as buildChannelAccountBindings } from "./bindings-
|
|
46
|
+
import { B as resolveAgentMainSessionKey, H as resolveMainSessionKey, M as evaluateSessionFreshness, P as resolveSessionResetPolicy, U as resolveMainSessionKeyFromConfig, Y as cleanStaleLockFiles, _ as mergeDeliveryContext, d as updateSessionStore, h as deliveryContextFromSession, n as parseSessionThreadInfo, o as loadSessionStore, z as canonicalizeMainSessionAlias } from "./sessions-Cpgnq0pA.js";
|
|
47
|
+
import "./dock-BhS32F6E.js";
|
|
48
|
+
import { n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-DKDeQZF0.js";
|
|
49
|
+
import { n as resolveWhatsAppAccount } from "./accounts-DDuIpcln.js";
|
|
50
|
+
import "./accounts-bK-Yqdwx.js";
|
|
51
|
+
import "./accounts-DyJN4_vR.js";
|
|
52
|
+
import { t as buildChannelAccountBindings } from "./bindings-DFaVVCsf.js";
|
|
53
53
|
import "./logging-w5jq5901.js";
|
|
54
|
-
import "./send-
|
|
54
|
+
import "./send-DVm0du0_.js";
|
|
55
55
|
import { c as resolveStorePath, i as resolveSessionTranscriptPath, s as resolveSessionTranscriptsDirForAgent } from "./paths-CyhzMxFA.js";
|
|
56
|
-
import "./tool-images-
|
|
56
|
+
import "./tool-images-DvUBlqjX.js";
|
|
57
57
|
import "./tool-display-D8N3rsYt.js";
|
|
58
58
|
import { t as fetchWithSsrFGuard } from "./fetch-guard-DOPkVbh3.js";
|
|
59
|
-
import "./api-key-rotation-
|
|
60
|
-
import "./local-roots-
|
|
61
|
-
import "./sqlite-
|
|
62
|
-
import { n as loadModelCatalog } from "./model-catalog-
|
|
59
|
+
import "./api-key-rotation-CzuPlV2t.js";
|
|
60
|
+
import "./local-roots-aAFLQGkY.js";
|
|
61
|
+
import "./sqlite-Dx3J_aSE.js";
|
|
62
|
+
import { n as loadModelCatalog } from "./model-catalog-8Son0J4O.js";
|
|
63
63
|
import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-BuceUQDl.js";
|
|
64
|
-
import { r as getMachineDisplayName } from "./with-timeout-
|
|
65
|
-
import { C as getGlobalHookRunner, T as runGlobalGatewayStopSafely, t as deliverOutboundPayloads } from "./deliver-
|
|
64
|
+
import { r as getMachineDisplayName } from "./with-timeout-CtVdu_1U.js";
|
|
65
|
+
import { C as getGlobalHookRunner, T as runGlobalGatewayStopSafely, t as deliverOutboundPayloads } from "./deliver-B4KZ6-oZ.js";
|
|
66
66
|
import { d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, m as isDiagnosticsEnabled } from "./diagnostic-CH0skkp6.js";
|
|
67
67
|
import "./diagnostic-session-state-CUslJyKP.js";
|
|
68
|
-
import "./send-
|
|
69
|
-
import "./model-
|
|
70
|
-
import { a as resolveAgentIdentity } from "./reply-prefix-
|
|
71
|
-
import { i as resolveMemoryBackendConfig, r as getMemorySearchManager } from "./memory-cli-
|
|
72
|
-
import { i as resolveMemorySearchConfig } from "./manager-
|
|
68
|
+
import "./send-B3RdXvjC.js";
|
|
69
|
+
import "./model-tWhwnFf8.js";
|
|
70
|
+
import { a as resolveAgentIdentity } from "./reply-prefix-CE2YmmsD.js";
|
|
71
|
+
import { i as resolveMemoryBackendConfig, r as getMemorySearchManager } from "./memory-cli-DDumUksr.js";
|
|
72
|
+
import { i as resolveMemorySearchConfig } from "./manager-D4LJSRyZ.js";
|
|
73
73
|
import "./retry-BoS4e4X_.js";
|
|
74
|
-
import { a as ToolInputError } from "./target-errors-
|
|
74
|
+
import { a as ToolInputError } from "./target-errors-7AvoVa10.js";
|
|
75
75
|
import "./chunk-1dhPX1NK.js";
|
|
76
|
-
import "./markdown-tables-
|
|
77
|
-
import "./ir-
|
|
76
|
+
import "./markdown-tables-CEbN0fEm.js";
|
|
77
|
+
import "./ir-DZam9q5M.js";
|
|
78
78
|
import "./render-CXDO_kgw.js";
|
|
79
|
-
import { r as isRestartEnabled } from "./commands-
|
|
80
|
-
import "./commands-registry-
|
|
81
|
-
import { $t as
|
|
82
|
-
import { f as loadGatewayTlsRuntime$1, n as callGateway } from "./call-
|
|
83
|
-
import "./pairing-token-
|
|
79
|
+
import { r as isRestartEnabled } from "./commands-BNLCWX6e.js";
|
|
80
|
+
import "./commands-registry-BT0-zzs3.js";
|
|
81
|
+
import { $t as deriveDeviceIdFromPublicKey, Bt as ensureDeviceToken, Ft as errorShape, Gt as requestDevicePairing, Nt as PROTOCOL_VERSION, Pt as ErrorCodes, R as validateExecApprovalRequestParams, Rt as buildDeviceAuthPayload, Vt as getPairedDevice, Xt as verifyDeviceToken, Yt as updatePairedDeviceMetadata, Zt as roleScopesAllow, at as validateRequestFrame, n as formatValidationErrors, nn as verifyDeviceSignature, tn as normalizeDevicePublicKeyBase64Url, w as validateConnectParams, z as validateExecApprovalResolveParams, zt as approveDevicePairing } from "./client-B8xmq-Pw.js";
|
|
82
|
+
import { f as loadGatewayTlsRuntime$1, n as callGateway } from "./call-CX0cs106.js";
|
|
83
|
+
import "./pairing-token-CX3NN_qj.js";
|
|
84
84
|
import "./channel-activity-BOiuJS3t.js";
|
|
85
85
|
import "./fetch-DTNGXEzX.js";
|
|
86
|
-
import "./tables-
|
|
87
|
-
import "./send-
|
|
88
|
-
import { a as readChannelAllowFromStoreSync } from "./pairing-store-
|
|
86
|
+
import "./tables-BEzT0Da4.js";
|
|
87
|
+
import "./send-Bm4ULEzh.js";
|
|
88
|
+
import { a as readChannelAllowFromStoreSync } from "./pairing-store-CK726Dzq.js";
|
|
89
89
|
import "./proxy-DU7W9XSc.js";
|
|
90
90
|
import { t as formatDocsLink } from "./links-3i1eUga4.js";
|
|
91
91
|
import { n as runCommandWithRuntime } from "./cli-utils-DN_hM6ov.js";
|
|
92
92
|
import { t as formatHelpExamples } from "./help-format-B_-M23wP.js";
|
|
93
93
|
import { n as withProgress } from "./progress-jIePzvGA.js";
|
|
94
|
-
import "./resolve-route-
|
|
95
|
-
import "./replies-
|
|
96
|
-
import { S as registerSkillsChangeListener, c as recordRemoteNodeInfo, d as removeRemoteNodeInfo, f as setSkillsRemoteRegistry, l as refreshRemoteBinsForConnectedNodes, o as getRemoteSkillEligibility, s as primeRemoteSkillsCache, u as refreshRemoteNodeBins, v as updatePairedNodeMetadata, x as getSkillsSnapshotVersion } from "./skill-commands-
|
|
97
|
-
import "./workspace-dirs-
|
|
98
|
-
import "./pi-auth-json-
|
|
94
|
+
import "./resolve-route-BMoTaVAH.js";
|
|
95
|
+
import "./replies-BMqtgBhh.js";
|
|
96
|
+
import { S as registerSkillsChangeListener, c as recordRemoteNodeInfo, d as removeRemoteNodeInfo, f as setSkillsRemoteRegistry, l as refreshRemoteBinsForConnectedNodes, o as getRemoteSkillEligibility, s as primeRemoteSkillsCache, u as refreshRemoteNodeBins, v as updatePairedNodeMetadata, x as getSkillsSnapshotVersion } from "./skill-commands-Cxw-jNxU.js";
|
|
97
|
+
import "./workspace-dirs-GpkFi6Kw.js";
|
|
98
|
+
import "./pi-auth-json-zHckislA.js";
|
|
99
99
|
import { c as hasNonzeroUsage, s as deriveSessionTotalTokens } from "./session-cost-usage-BXAI7CNH.js";
|
|
100
|
-
import "./outbound-attachment-
|
|
100
|
+
import "./outbound-attachment-Bw-c5Cdp.js";
|
|
101
101
|
import "./delivery-queue-CAxX6nGq.js";
|
|
102
|
-
import "./send-
|
|
103
|
-
import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-
|
|
102
|
+
import "./send-9SapUCg7.js";
|
|
103
|
+
import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-CueJ7O_B.js";
|
|
104
104
|
import "./prompt-style-CnkMpSXt.js";
|
|
105
|
-
import "./pairing-labels-
|
|
105
|
+
import "./pairing-labels-DyXoD1DS.js";
|
|
106
106
|
import { n as formatTokenCount, r as formatUsd } from "./usage-format-BgUx3Bm4.js";
|
|
107
107
|
import { t as DEFAULT_EXEC_APPROVAL_TIMEOUT_MS } from "./exec-approvals-DXM2pQYL.js";
|
|
108
|
-
import "./nodes-screen-
|
|
109
|
-
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-
|
|
110
|
-
import "./control-service-
|
|
108
|
+
import "./nodes-screen-8Bq7DiSa.js";
|
|
109
|
+
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-DRWb_Cax.js";
|
|
110
|
+
import "./control-service-BYKXzY4f.js";
|
|
111
111
|
import { i as parseAbsoluteTimeMs, n as resolveCronStaggerMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-CvFURHzt.js";
|
|
112
|
-
import { n as resolveMessageChannelSelection } from "./channel-selection-
|
|
112
|
+
import { n as resolveMessageChannelSelection } from "./channel-selection-V2xDgw16.js";
|
|
113
113
|
import { i as onHeartbeatEvent, t as resolveHeartbeatVisibility } from "./heartbeat-visibility-ChEo5Zvk.js";
|
|
114
114
|
import { t as ensureSymiCliOnPath } from "./path-env-BaQ2E7uD.js";
|
|
115
115
|
import "./runtime-guard-Dik20CVM.js";
|
|
116
|
-
import { t as forceFreePortAndWait } from "./ports-
|
|
116
|
+
import { t as forceFreePortAndWait } from "./ports-DtW62rqS.js";
|
|
117
117
|
import "./catalog-NQ4pj9RI.js";
|
|
118
|
-
import "./skills-status-
|
|
118
|
+
import "./skills-status-C3ptXwnh.js";
|
|
119
119
|
import { n as DEFAULT_GATEWAY_HTTP_TOOL_DENY } from "./dangerous-tools-BvU3-DRl.js";
|
|
120
120
|
import { n as inheritOptionFromParent } from "./command-options-BkTXKWlb.js";
|
|
121
121
|
import { t as resolveChannelDefaultAccountId } from "./helpers-DnjQ73f_.js";
|
|
122
|
-
import { t as applyPluginAutoEnable } from "./plugin-auto-enable-
|
|
123
|
-
import "./install-safe-path-
|
|
124
|
-
import "./skill-scanner-
|
|
125
|
-
import "./channels-status-issues-
|
|
126
|
-
import "./daemon-runtime-
|
|
127
|
-
import "./systemd-
|
|
128
|
-
import "./service-
|
|
129
|
-
import "./lifecycle-core-
|
|
130
|
-
import "./systemd-hints-
|
|
122
|
+
import { t as applyPluginAutoEnable } from "./plugin-auto-enable-CP0nONRL.js";
|
|
123
|
+
import "./install-safe-path-D3Uz77u7.js";
|
|
124
|
+
import "./skill-scanner-hMtQbWPV.js";
|
|
125
|
+
import "./channels-status-issues-CJ0Vb_9z.js";
|
|
126
|
+
import "./daemon-runtime-mE1b-Q48.js";
|
|
127
|
+
import "./systemd-DT6SbCim.js";
|
|
128
|
+
import "./service-osK70kTZ.js";
|
|
129
|
+
import "./lifecycle-core-C4HzGXA1.js";
|
|
130
|
+
import "./systemd-hints-xYZbFny_.js";
|
|
131
131
|
import { t as parsePort$1 } from "./parse-port-DnJYkByg.js";
|
|
132
|
-
import { n as addGatewayServiceCommands } from "./daemon-cli-
|
|
133
|
-
import "./diagnostics-
|
|
132
|
+
import { n as addGatewayServiceCommands } from "./daemon-cli-BLhFbih0.js";
|
|
133
|
+
import "./diagnostics-BRwihzJG.js";
|
|
134
134
|
import "./table-BKlH0YlA.js";
|
|
135
135
|
import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-CyVOLgNE.js";
|
|
136
|
-
import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-
|
|
137
|
-
import { c as probeGateway, s as resolveNodeCommandAllowlist } from "./audit-
|
|
136
|
+
import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-DnmJ0ABB.js";
|
|
137
|
+
import { c as probeGateway, s as resolveNodeCommandAllowlist } from "./audit-BgdM9XZl.js";
|
|
138
138
|
import { t as discoverGatewayBeacons } from "./bonjour-discovery-DUQ6tE92.js";
|
|
139
|
-
import { r as pickGatewaySelfPresence } from "./status-
|
|
140
|
-
import { c as startHeartbeatRunner, i as styleHealthChannelLine, n as getHealthSnapshot, o as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-
|
|
141
|
-
import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-
|
|
142
|
-
import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, m as normalizeUpdateChannel, n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-
|
|
143
|
-
import { t as runOnboardingWizard } from "./onboarding-
|
|
144
|
-
import { _ as
|
|
145
|
-
import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-
|
|
139
|
+
import { r as pickGatewaySelfPresence } from "./status-DOTlXdcN.js";
|
|
140
|
+
import { c as startHeartbeatRunner, i as styleHealthChannelLine, n as getHealthSnapshot, o as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-B1nih5LD.js";
|
|
141
|
+
import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-B7moDVHX.js";
|
|
142
|
+
import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, m as normalizeUpdateChannel, n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-7EzEjSzb.js";
|
|
143
|
+
import { t as runOnboardingWizard } from "./onboarding-Dg6nx_ph.js";
|
|
144
|
+
import { C as startGatewayConfigReloader, S as resolveCronRunLogPath, _ as MAX_PAYLOAD_BYTES, a as loadFavoritesSet, b as abortChatRunById, c as resolveAssistantIdentity, d as formatError, f as loadVoiceWakeConfig, g as MAX_BUFFERED_BYTES, h as HEALTH_REFRESH_INTERVAL_MS, i as safeParseJson, l as listSystemPresence, m as DEDUPE_TTL_MS, n as handleGatewayRequest, o as reconcileFavorites, p as DEDUPE_MAX, r as broadcastPresenceSnapshot, s as DEFAULT_ASSISTANT_IDENTITY, t as coreGatewayHandlers, u as upsertPresence, v as TICK_INTERVAL_MS, x as appendCronRunLog, y as getHandshakeTimeoutMs } from "./server-methods-Bu1RjLe6.js";
|
|
145
|
+
import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-CoG1P_P0.js";
|
|
146
146
|
import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-Dq6vwkWW.js";
|
|
147
|
-
import "./agents.config-
|
|
148
|
-
import "./dm-policy-shared-
|
|
149
|
-
import "./node-service-
|
|
150
|
-
import "./status.update-
|
|
151
|
-
import "./skills-install-
|
|
152
|
-
import "./update-runner-
|
|
153
|
-
import { t as resolveAgentSessionDirs } from "./session-dirs-
|
|
147
|
+
import "./agents.config-B9BZoM2m.js";
|
|
148
|
+
import "./dm-policy-shared-DlDAGtZL.js";
|
|
149
|
+
import "./node-service-CD47Qpf1.js";
|
|
150
|
+
import "./status.update-CG0ciGaf.js";
|
|
151
|
+
import "./skills-install-CWVdJkLn.js";
|
|
152
|
+
import "./update-runner-FhW6n-Nv.js";
|
|
153
|
+
import { t as resolveAgentSessionDirs } from "./session-dirs-Dgz7kkUM.js";
|
|
154
154
|
import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-B4H-2N8y.js";
|
|
155
155
|
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
156
156
|
import * as fsSync from "node:fs";
|
|
@@ -159,7 +159,7 @@ import os from "node:os";
|
|
|
159
159
|
import path from "node:path";
|
|
160
160
|
import JSON5 from "json5";
|
|
161
161
|
import chalk from "chalk";
|
|
162
|
-
import
|
|
162
|
+
import fs$1 from "node:fs/promises";
|
|
163
163
|
import { spawn } from "node:child_process";
|
|
164
164
|
import crypto, { createHash, randomBytes, randomUUID } from "node:crypto";
|
|
165
165
|
import { z } from "zod";
|
|
@@ -1152,7 +1152,7 @@ function shouldSkipCheck(allowInTests) {
|
|
|
1152
1152
|
}
|
|
1153
1153
|
async function readState(statePath) {
|
|
1154
1154
|
try {
|
|
1155
|
-
const raw = await
|
|
1155
|
+
const raw = await fs$1.readFile(statePath, "utf-8");
|
|
1156
1156
|
const parsed = JSON.parse(raw);
|
|
1157
1157
|
return parsed && typeof parsed === "object" ? parsed : {};
|
|
1158
1158
|
} catch {
|
|
@@ -1160,8 +1160,8 @@ async function readState(statePath) {
|
|
|
1160
1160
|
}
|
|
1161
1161
|
}
|
|
1162
1162
|
async function writeState(statePath, state) {
|
|
1163
|
-
await
|
|
1164
|
-
await
|
|
1163
|
+
await fs$1.mkdir(path.dirname(statePath), { recursive: true });
|
|
1164
|
+
await fs$1.writeFile(statePath, JSON.stringify(state, null, 2), "utf-8");
|
|
1165
1165
|
}
|
|
1166
1166
|
function sameUpdateAvailable(a, b) {
|
|
1167
1167
|
if (a === b) return true;
|
|
@@ -5598,6 +5598,9 @@ const BASE_METHODS = [
|
|
|
5598
5598
|
"sessions.patch",
|
|
5599
5599
|
"sessions.reset",
|
|
5600
5600
|
"sessions.restore",
|
|
5601
|
+
"sessions.adoptFile",
|
|
5602
|
+
"sessions.favoriteFile",
|
|
5603
|
+
"sessions.deleteFile",
|
|
5601
5604
|
"sessions.delete",
|
|
5602
5605
|
"sessions.compact",
|
|
5603
5606
|
"last-heartbeat",
|
|
@@ -6458,7 +6461,7 @@ function normalizeAgentPayload(payload) {
|
|
|
6458
6461
|
async function startBrowserControlServerIfEnabled() {
|
|
6459
6462
|
if (isTruthyEnvValue(process.env.SYMI_SKIP_BROWSER_CONTROL_SERVER)) return null;
|
|
6460
6463
|
const override = process.env.SYMI_BROWSER_CONTROL_MODULE?.trim();
|
|
6461
|
-
const mod = override ? await import(override) : await import("./control-service-
|
|
6464
|
+
const mod = override ? await import(override) : await import("./control-service-BYKXzY4f.js").then((n) => n.t);
|
|
6462
6465
|
const start = typeof mod.startBrowserControlServiceFromConfig === "function" ? mod.startBrowserControlServiceFromConfig : mod.startBrowserControlServerFromConfig;
|
|
6463
6466
|
const stop = typeof mod.stopBrowserControlService === "function" ? mod.stopBrowserControlService : mod.stopBrowserControlServer;
|
|
6464
6467
|
if (!start) return null;
|
|
@@ -6686,7 +6689,7 @@ async function resolveFileWithinRoot(rootReal, urlPath) {
|
|
|
6686
6689
|
if (normalized.endsWith("/")) return await tryOpen(path.posix.join(rel, "index.html"));
|
|
6687
6690
|
const candidate = path.join(rootReal, rel);
|
|
6688
6691
|
try {
|
|
6689
|
-
const st = await
|
|
6692
|
+
const st = await fs$1.lstat(candidate);
|
|
6690
6693
|
if (st.isSymbolicLink()) return null;
|
|
6691
6694
|
if (st.isDirectory()) return await tryOpen(path.posix.join(rel, "index.html"));
|
|
6692
6695
|
} catch {}
|
|
@@ -6723,8 +6726,8 @@ async function resolveA2uiRoot() {
|
|
|
6723
6726
|
for (const dir of candidates) try {
|
|
6724
6727
|
const indexPath = path.join(dir, "index.html");
|
|
6725
6728
|
const bundlePath = path.join(dir, "a2ui.bundle.js");
|
|
6726
|
-
await
|
|
6727
|
-
await
|
|
6729
|
+
await fs$1.stat(indexPath);
|
|
6730
|
+
await fs$1.stat(bundlePath);
|
|
6728
6731
|
return dir;
|
|
6729
6732
|
} catch {}
|
|
6730
6733
|
return null;
|
|
@@ -6733,7 +6736,7 @@ async function resolveA2uiRootReal() {
|
|
|
6733
6736
|
if (cachedA2uiRootReal !== void 0 && (cachedA2uiRootReal !== null || Date.now() - cachedA2uiResolvedAtMs < A2UI_ROOT_RETRY_NULL_AFTER_MS)) return cachedA2uiRootReal;
|
|
6734
6737
|
if (!resolvingA2uiRoot) resolvingA2uiRoot = (async () => {
|
|
6735
6738
|
const root = await resolveA2uiRoot();
|
|
6736
|
-
cachedA2uiRootReal = root ? await
|
|
6739
|
+
cachedA2uiRootReal = root ? await fs$1.realpath(root) : null;
|
|
6737
6740
|
cachedA2uiResolvedAtMs = Date.now();
|
|
6738
6741
|
resolvingA2uiRoot = null;
|
|
6739
6742
|
return cachedA2uiRootReal;
|
|
@@ -6954,13 +6957,13 @@ function normalizeBasePath(rawPath) {
|
|
|
6954
6957
|
}
|
|
6955
6958
|
async function prepareCanvasRoot(rootDir) {
|
|
6956
6959
|
await ensureDir(rootDir);
|
|
6957
|
-
const rootReal = await
|
|
6960
|
+
const rootReal = await fs$1.realpath(rootDir);
|
|
6958
6961
|
try {
|
|
6959
6962
|
const indexPath = path.join(rootReal, "index.html");
|
|
6960
|
-
await
|
|
6963
|
+
await fs$1.stat(indexPath);
|
|
6961
6964
|
} catch {
|
|
6962
6965
|
try {
|
|
6963
|
-
await
|
|
6966
|
+
await fs$1.writeFile(path.join(rootReal, "index.html"), defaultIndexHTML(), "utf8");
|
|
6964
6967
|
} catch {}
|
|
6965
6968
|
}
|
|
6966
6969
|
return rootReal;
|
|
@@ -8862,22 +8865,25 @@ async function handleOpenResponsesHttpRequest(req, res, opts) {
|
|
|
8862
8865
|
/**
|
|
8863
8866
|
* HTTP API for session history — serves the Glass UI History drawer.
|
|
8864
8867
|
*
|
|
8865
|
-
* GET /api/sessions
|
|
8866
|
-
*
|
|
8868
|
+
* GET /api/sessions?currentKey=<sessionKey>
|
|
8869
|
+
* List all sessions (live + archived) with metadata. Passing `currentKey`
|
|
8870
|
+
* lets the server mark exactly one row as `kind: "current"`. Response shape:
|
|
8871
|
+
* { sessions: SessionHistoryRow[] }
|
|
8867
8872
|
*
|
|
8868
|
-
*
|
|
8869
|
-
*
|
|
8873
|
+
* GET /api/transcript?file=<basename>
|
|
8874
|
+
* Read a session transcript (active or archived). Returns:
|
|
8875
|
+
* { messages: AgentMessage[] }
|
|
8876
|
+
*
|
|
8877
|
+
* Both endpoints are read-only. Mutations (adopt, favorite, delete) go
|
|
8878
|
+
* through the gateway RPC (`sessions.adoptFile`, `sessions.favoriteFile`,
|
|
8879
|
+
* `sessions.deleteFile`).
|
|
8870
8880
|
*
|
|
8871
8881
|
* @module
|
|
8872
8882
|
*/
|
|
8873
|
-
/**
|
|
8874
|
-
* Handle /api/sessions and /api/transcript HTTP requests.
|
|
8875
|
-
* Returns true if the request was handled, false otherwise.
|
|
8876
|
-
*/
|
|
8877
8883
|
function handleSessionsApiRequest(req, res, cfg) {
|
|
8878
8884
|
const url = new URL(req.url ?? "/", "http://localhost");
|
|
8879
8885
|
if (url.pathname === "/api/sessions" && req.method === "GET") {
|
|
8880
|
-
handleListSessions(res, cfg);
|
|
8886
|
+
handleListSessions(res, cfg, url.searchParams.get("currentKey") ?? void 0);
|
|
8881
8887
|
return true;
|
|
8882
8888
|
}
|
|
8883
8889
|
if (url.pathname === "/api/transcript" && req.method === "GET") {
|
|
@@ -8890,11 +8896,62 @@ function sendJson$1(res, data, status = 200) {
|
|
|
8890
8896
|
res.writeHead(status, { "Content-Type": "application/json" });
|
|
8891
8897
|
res.end(JSON.stringify(data));
|
|
8892
8898
|
}
|
|
8893
|
-
|
|
8899
|
+
/**
|
|
8900
|
+
* Convert an archive-suffix timestamp (e.g. `2026-03-31T03-26-10.444Z`) back
|
|
8901
|
+
* to a valid ISO-8601 string. The timestamp is created by
|
|
8902
|
+
* `archiveFileOnDisk()` as `new Date().toISOString().replaceAll(":", "-")`,
|
|
8903
|
+
* so we only need to restore the colons in the time portion (after "T").
|
|
8904
|
+
*
|
|
8905
|
+
* Returns `undefined` if the input cannot be parsed as a valid date.
|
|
8906
|
+
*/
|
|
8907
|
+
function parseArchivedAt(suffix) {
|
|
8908
|
+
const dotIdx = suffix.indexOf(".");
|
|
8909
|
+
if (dotIdx < 0) return;
|
|
8910
|
+
const raw = suffix.slice(dotIdx + 1);
|
|
8911
|
+
const tIdx = raw.indexOf("T");
|
|
8912
|
+
if (tIdx < 0) return;
|
|
8913
|
+
const iso = raw.slice(0, tIdx) + "T" + raw.slice(tIdx + 1).replace(/-/g, ":");
|
|
8914
|
+
const d = new Date(iso);
|
|
8915
|
+
if (Number.isNaN(d.getTime())) return;
|
|
8916
|
+
return d.toISOString();
|
|
8917
|
+
}
|
|
8918
|
+
/**
|
|
8919
|
+
* Count user + assistant messages in a JSONL transcript and extract the
|
|
8920
|
+
* first user message as an 80-char preview. Silent on malformed lines —
|
|
8921
|
+
* we never fail the whole list request because one transcript is corrupt.
|
|
8922
|
+
*/
|
|
8923
|
+
function scanTranscript(filePath) {
|
|
8924
|
+
let msgCount = 0;
|
|
8925
|
+
let preview = null;
|
|
8894
8926
|
try {
|
|
8895
|
-
const
|
|
8927
|
+
const lines = fs.readFileSync(filePath, "utf-8").split(/\r?\n/);
|
|
8928
|
+
for (const line of lines) {
|
|
8929
|
+
const trimmed = line.trim();
|
|
8930
|
+
if (!trimmed) continue;
|
|
8931
|
+
try {
|
|
8932
|
+
const parsed = JSON.parse(trimmed);
|
|
8933
|
+
const role = parsed?.message?.role;
|
|
8934
|
+
if (role === "user" || role === "assistant") msgCount++;
|
|
8935
|
+
if (!preview && role === "user") {
|
|
8936
|
+
const content = parsed.message?.content;
|
|
8937
|
+
const snipped = (typeof content === "string" ? content : Array.isArray(content) ? content.filter((b) => typeof b === "object" && b !== null && b.type === "text").map((b) => b.text ?? "").join(" ") : "").trim().slice(0, 80);
|
|
8938
|
+
if (snipped) preview = snipped;
|
|
8939
|
+
}
|
|
8940
|
+
} catch {}
|
|
8941
|
+
}
|
|
8942
|
+
} catch {}
|
|
8943
|
+
return {
|
|
8944
|
+
msgCount,
|
|
8945
|
+
preview
|
|
8946
|
+
};
|
|
8947
|
+
}
|
|
8948
|
+
function handleListSessions(res, cfg, currentKey) {
|
|
8949
|
+
try {
|
|
8950
|
+
const agentId = resolveDefaultAgentId(cfg);
|
|
8951
|
+
const sessionsDir = resolveSessionTranscriptsDirForAgent(agentId);
|
|
8952
|
+
const existingFiles = /* @__PURE__ */ new Set();
|
|
8896
8953
|
const { storePath, store } = loadCombinedSessionStoreForGateway(cfg);
|
|
8897
|
-
const
|
|
8954
|
+
const storeResult = listSessionsFromStore({
|
|
8898
8955
|
cfg,
|
|
8899
8956
|
storePath,
|
|
8900
8957
|
store,
|
|
@@ -8902,62 +8959,99 @@ function handleListSessions(res, cfg) {
|
|
|
8902
8959
|
includeDerivedTitles: true,
|
|
8903
8960
|
includeLastMessage: true
|
|
8904
8961
|
}
|
|
8905
|
-
})
|
|
8906
|
-
|
|
8907
|
-
|
|
8908
|
-
|
|
8909
|
-
|
|
8910
|
-
|
|
8911
|
-
|
|
8912
|
-
|
|
8913
|
-
|
|
8914
|
-
|
|
8915
|
-
|
|
8916
|
-
|
|
8917
|
-
|
|
8962
|
+
});
|
|
8963
|
+
const liveRows = [];
|
|
8964
|
+
const liveSessionIds = /* @__PURE__ */ new Set();
|
|
8965
|
+
for (const s of storeResult.sessions) {
|
|
8966
|
+
if (!s.sessionId) continue;
|
|
8967
|
+
const fileName = `${s.sessionId}.jsonl`;
|
|
8968
|
+
const filePath = path.join(sessionsDir, fileName);
|
|
8969
|
+
if (!fs.existsSync(filePath)) continue;
|
|
8970
|
+
existingFiles.add(fileName);
|
|
8971
|
+
liveSessionIds.add(s.sessionId);
|
|
8972
|
+
const stat = fs.statSync(filePath);
|
|
8973
|
+
const { msgCount, preview: scanPreview } = scanTranscript(filePath);
|
|
8974
|
+
const preview = s.lastMessagePreview ?? s.derivedTitle ?? s.displayName ?? s.label ?? scanPreview ?? null;
|
|
8975
|
+
const mtime = stat.mtime.toISOString();
|
|
8976
|
+
const updatedAtMs = typeof s.updatedAt === "number" ? s.updatedAt : 0;
|
|
8977
|
+
const updatedAtIso = updatedAtMs > 0 ? new Date(updatedAtMs).toISOString() : mtime;
|
|
8978
|
+
const lastActivity = mtime > updatedAtIso ? mtime : updatedAtIso;
|
|
8979
|
+
const isCurrent = currentKey !== void 0 && s.key === currentKey;
|
|
8980
|
+
if (!isCurrent && msgCount === 0) {
|
|
8981
|
+
existingFiles.add(fileName);
|
|
8982
|
+
continue;
|
|
8983
|
+
}
|
|
8984
|
+
liveRows.push({
|
|
8985
|
+
file: fileName,
|
|
8986
|
+
sessionId: s.sessionId,
|
|
8987
|
+
sessionKey: s.key,
|
|
8988
|
+
kind: isCurrent ? "current" : "past",
|
|
8989
|
+
mtime,
|
|
8990
|
+
lastActivity,
|
|
8991
|
+
msgCount,
|
|
8992
|
+
size: stat.size,
|
|
8993
|
+
preview,
|
|
8994
|
+
model: s.model,
|
|
8995
|
+
modelProvider: s.modelProvider,
|
|
8996
|
+
favorited: false,
|
|
8997
|
+
canLoad: !isCurrent,
|
|
8998
|
+
canDelete: !isCurrent
|
|
8999
|
+
});
|
|
9000
|
+
}
|
|
9001
|
+
const archivedRows = [];
|
|
8918
9002
|
if (fs.existsSync(sessionsDir)) {
|
|
8919
|
-
const
|
|
8920
|
-
for (const file of
|
|
9003
|
+
const entries = fs.readdirSync(sessionsDir);
|
|
9004
|
+
for (const file of entries) {
|
|
8921
9005
|
if (!file.includes(".jsonl.")) continue;
|
|
8922
9006
|
const parts = file.split(".jsonl.");
|
|
8923
|
-
if (parts.length < 2 || !parts[1]) continue;
|
|
9007
|
+
if (parts.length < 2 || !parts[0] || !parts[1]) continue;
|
|
9008
|
+
const sessionId = parts[0];
|
|
9009
|
+
const suffix = parts[1];
|
|
9010
|
+
const reason = suffix.match(/^(reset|deleted)\./)?.[1];
|
|
9011
|
+
if (!reason) continue;
|
|
8924
9012
|
const filePath = path.join(sessionsDir, file);
|
|
9013
|
+
let stat;
|
|
8925
9014
|
try {
|
|
8926
|
-
|
|
8927
|
-
|
|
8928
|
-
|
|
8929
|
-
|
|
8930
|
-
|
|
8931
|
-
|
|
8932
|
-
|
|
8933
|
-
|
|
8934
|
-
|
|
8935
|
-
|
|
8936
|
-
|
|
8937
|
-
|
|
8938
|
-
|
|
8939
|
-
|
|
8940
|
-
|
|
8941
|
-
|
|
8942
|
-
|
|
8943
|
-
|
|
8944
|
-
|
|
8945
|
-
|
|
8946
|
-
|
|
8947
|
-
|
|
8948
|
-
|
|
9015
|
+
stat = fs.statSync(filePath);
|
|
9016
|
+
} catch {
|
|
9017
|
+
continue;
|
|
9018
|
+
}
|
|
9019
|
+
existingFiles.add(file);
|
|
9020
|
+
const archivedAt = parseArchivedAt(suffix);
|
|
9021
|
+
const mtime = stat.mtime.toISOString();
|
|
9022
|
+
const { msgCount, preview } = scanTranscript(filePath);
|
|
9023
|
+
const lastActivity = archivedAt ?? mtime;
|
|
9024
|
+
if (msgCount === 0) continue;
|
|
9025
|
+
archivedRows.push({
|
|
9026
|
+
file,
|
|
9027
|
+
sessionId,
|
|
9028
|
+
sessionKey: void 0,
|
|
9029
|
+
kind: "archived",
|
|
9030
|
+
archivedReason: reason,
|
|
9031
|
+
mtime,
|
|
9032
|
+
archivedAt,
|
|
9033
|
+
lastActivity,
|
|
9034
|
+
msgCount,
|
|
9035
|
+
size: stat.size,
|
|
9036
|
+
preview,
|
|
9037
|
+
favorited: false,
|
|
9038
|
+
canLoad: true,
|
|
9039
|
+
canDelete: true
|
|
9040
|
+
});
|
|
8949
9041
|
}
|
|
8950
9042
|
}
|
|
8951
|
-
|
|
8952
|
-
|
|
8953
|
-
|
|
8954
|
-
|
|
8955
|
-
|
|
8956
|
-
|
|
8957
|
-
|
|
8958
|
-
|
|
9043
|
+
const favorites = reconcileFavorites(existingFiles, agentId);
|
|
9044
|
+
const favSet = favorites.size > 0 ? favorites : loadFavoritesSet(agentId);
|
|
9045
|
+
for (const row of liveRows) row.favorited = favSet.has(row.file);
|
|
9046
|
+
for (const row of archivedRows) row.favorited = favSet.has(row.file);
|
|
9047
|
+
sendJson$1(res, { sessions: [...liveRows, ...archivedRows].toSorted((a, b) => {
|
|
9048
|
+
if (a.kind === "current" && b.kind !== "current") return -1;
|
|
9049
|
+
if (b.kind === "current" && a.kind !== "current") return 1;
|
|
9050
|
+
if (a.favorited !== b.favorited) return a.favorited ? -1 : 1;
|
|
9051
|
+
return b.lastActivity.localeCompare(a.lastActivity);
|
|
9052
|
+
}) });
|
|
8959
9053
|
} catch (err) {
|
|
8960
|
-
sendJson$1(res, { error: String(err) }, 500);
|
|
9054
|
+
sendJson$1(res, { error: err instanceof Error ? err.message : String(err) }, 500);
|
|
8961
9055
|
}
|
|
8962
9056
|
}
|
|
8963
9057
|
function handleTranscript(res, cfg, file) {
|
|
@@ -8985,7 +9079,7 @@ function handleTranscript(res, cfg, file) {
|
|
|
8985
9079
|
} catch {}
|
|
8986
9080
|
sendJson$1(res, { messages });
|
|
8987
9081
|
} catch (err) {
|
|
8988
|
-
sendJson$1(res, { error: String(err) }, 500);
|
|
9082
|
+
sendJson$1(res, { error: err instanceof Error ? err.message : String(err) }, 500);
|
|
8989
9083
|
}
|
|
8990
9084
|
}
|
|
8991
9085
|
|
|
@@ -9808,7 +9902,7 @@ function resolveGatewayOwnerStatus(pid, payload, platform) {
|
|
|
9808
9902
|
}
|
|
9809
9903
|
async function readLockPayload(lockPath) {
|
|
9810
9904
|
try {
|
|
9811
|
-
const raw = await
|
|
9905
|
+
const raw = await fs$1.readFile(lockPath, "utf8");
|
|
9812
9906
|
const parsed = JSON.parse(raw);
|
|
9813
9907
|
if (typeof parsed.pid !== "number") return null;
|
|
9814
9908
|
if (typeof parsed.createdAt !== "string") return null;
|
|
@@ -9842,11 +9936,11 @@ async function acquireGatewayLock(opts = {}) {
|
|
|
9842
9936
|
const staleMs = opts.staleMs ?? DEFAULT_STALE_MS;
|
|
9843
9937
|
const platform = opts.platform ?? process.platform;
|
|
9844
9938
|
const { lockPath, configPath } = resolveGatewayLockPath(env);
|
|
9845
|
-
await
|
|
9939
|
+
await fs$1.mkdir(path.dirname(lockPath), { recursive: true });
|
|
9846
9940
|
const startedAt = Date.now();
|
|
9847
9941
|
let lastPayload = null;
|
|
9848
9942
|
while (Date.now() - startedAt < timeoutMs) try {
|
|
9849
|
-
const handle = await
|
|
9943
|
+
const handle = await fs$1.open(lockPath, "wx");
|
|
9850
9944
|
const startTime = platform === "linux" ? readLinuxStartTime(process.pid) : null;
|
|
9851
9945
|
const payload = {
|
|
9852
9946
|
pid: process.pid,
|
|
@@ -9860,7 +9954,7 @@ async function acquireGatewayLock(opts = {}) {
|
|
|
9860
9954
|
configPath,
|
|
9861
9955
|
release: async () => {
|
|
9862
9956
|
await handle.close().catch(() => void 0);
|
|
9863
|
-
await
|
|
9957
|
+
await fs$1.rm(lockPath, { force: true });
|
|
9864
9958
|
}
|
|
9865
9959
|
};
|
|
9866
9960
|
} catch (err) {
|
|
@@ -9869,7 +9963,7 @@ async function acquireGatewayLock(opts = {}) {
|
|
|
9869
9963
|
const ownerPid = lastPayload?.pid;
|
|
9870
9964
|
const ownerStatus = ownerPid ? resolveGatewayOwnerStatus(ownerPid, lastPayload, platform) : "unknown";
|
|
9871
9965
|
if (ownerStatus === "dead" && ownerPid) {
|
|
9872
|
-
await
|
|
9966
|
+
await fs$1.rm(lockPath, { force: true });
|
|
9873
9967
|
continue;
|
|
9874
9968
|
}
|
|
9875
9969
|
if (ownerStatus !== "alive") {
|
|
@@ -9879,13 +9973,13 @@ async function acquireGatewayLock(opts = {}) {
|
|
|
9879
9973
|
stale = Number.isFinite(createdAt) ? Date.now() - createdAt > staleMs : false;
|
|
9880
9974
|
}
|
|
9881
9975
|
if (!stale) try {
|
|
9882
|
-
const st = await
|
|
9976
|
+
const st = await fs$1.stat(lockPath);
|
|
9883
9977
|
stale = Date.now() - st.mtimeMs > staleMs;
|
|
9884
9978
|
} catch {
|
|
9885
9979
|
stale = true;
|
|
9886
9980
|
}
|
|
9887
9981
|
if (stale) {
|
|
9888
|
-
await
|
|
9982
|
+
await fs$1.rm(lockPath, { force: true });
|
|
9889
9983
|
continue;
|
|
9890
9984
|
}
|
|
9891
9985
|
}
|
|
@@ -11790,7 +11884,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
|
|
|
11790
11884
|
if (!minimalTestGateway) cron.start().catch((err) => logCron.error(`failed to start: ${String(err)}`));
|
|
11791
11885
|
if (!minimalTestGateway) (async () => {
|
|
11792
11886
|
const { recoverPendingDeliveries } = await import("./delivery-queue-CAxX6nGq.js").then((n) => n.n);
|
|
11793
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
11887
|
+
const { deliverOutboundPayloads } = await import("./deliver-B4KZ6-oZ.js").then((n) => n.n);
|
|
11794
11888
|
await recoverPendingDeliveries({
|
|
11795
11889
|
deliver: deliverOutboundPayloads,
|
|
11796
11890
|
log: log.child("delivery-recovery"),
|
|
@@ -11863,7 +11957,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
|
|
|
11863
11957
|
});
|
|
11864
11958
|
let glassUiBridgeCleanup = null;
|
|
11865
11959
|
if (!minimalTestGateway) {
|
|
11866
|
-
const { createGlassUiBridge } = await import("./glass-ui-ws-
|
|
11960
|
+
const { createGlassUiBridge } = await import("./glass-ui-ws-BI81Lh6Z.js");
|
|
11867
11961
|
glassUiBridgeCleanup = createGlassUiBridge({
|
|
11868
11962
|
wss: glassUiWss,
|
|
11869
11963
|
context: gatewayRequestContext,
|