@symerian/symi 2.8.12 → 2.8.14
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-BuZxOb3B.js → accounts-Bsg6r6H7.js} +1 -1
- package/dist/{accounts-BRw8yhIW.js → accounts-BsgY6sda.js} +21 -21
- package/dist/{accounts-3dCrO3oZ.js → accounts-wWWkC0JH.js} +1 -1
- package/dist/{active-listener-BVZOh2T1.js → active-listener-AVNn5_U9.js} +1 -1
- package/dist/{agent-scope-CpEJ0B88.js → agent-scope-Cpm7a9ss.js} +3 -3
- package/dist/{agents-OAonMxYV.js → agents-DlAvDWxz.js} +4 -4
- package/dist/{agents.config-BIhaDwT2.js → agents.config-BKKMbeeE.js} +1 -1
- package/dist/{agents.config-DGu_K5xz.js → agents.config-Dd-11klq.js} +1 -1
- package/dist/{audio-preflight-Cb-T0r6e.js → audio-preflight-rrz8KyHd.js} +29 -29
- package/dist/{audit-Bi9Je9FZ.js → audit-BhCJV2l6.js} +1 -1
- package/dist/{audit-Oa5dsn5p.js → audit-CB97BqHJ.js} +1 -1
- package/dist/{auth-choice-BvPX7B4c.js → auth-choice-C6woT6k2.js} +1 -1
- package/dist/{auth-choice-DDzWns1k.js → auth-choice-CRQRPwQt.js} +1 -1
- package/dist/{auth-profiles-C2vj6htZ.js → auth-profiles-BzB_Exeq.js} +17 -17
- package/dist/{banner-BFdiq-O5.js → banner-DrNha2_N.js} +1 -1
- package/dist/{bindings-BsHoBLIE.js → bindings-xcRox9xM.js} +2 -2
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +54 -54
- package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
- package/dist/bundled/command-logger/handler.js +1 -1
- package/dist/bundled/session-memory/handler.js +54 -54
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-activity-D8QD7GoV.js → channel-activity-CzHaIUAp.js} +1 -1
- package/dist/{channel-options-DTqUB0OP.js → channel-options-D8q9En4T.js} +1 -1
- package/dist/{channel-options-tfnOGSNF.js → channel-options-DYy2sCfN.js} +1 -1
- package/dist/{channel-web-CcUXobcu.js → channel-web-CRBU4eZk.js} +1 -1
- package/dist/{channels-cli-CmShA-wJ.js → channels-cli-BUk43hHR.js} +7 -7
- package/dist/{channels-cli-BcE5tHIr.js → channels-cli-Dk3kUw9A.js} +7 -7
- package/dist/{chrome-ROtrXlNs.js → chrome-DwXnykXR.js} +14 -14
- package/dist/{chunk-BRe1o4Af.js → chunk-BcxcL1U3.js} +1 -1
- package/dist/{cli-BxoD2wzk.js → cli-5gWsnsB7.js} +4 -4
- package/dist/{cli-CKG2iAr3.js → cli-DjZzJy3t.js} +4 -4
- package/dist/{command-registry-D1Le-Fmh.js → command-registry-LjFltTU9.js} +10 -10
- package/dist/{commands-registry-DxbSTLNQ.js → commands-registry-ByGkL6hs.js} +4 -4
- package/dist/{completion-cli-DgiFjSGS.js → completion-cli-BVTGy8th.js} +1 -1
- package/dist/{completion-cli-D9pC-ttw.js → completion-cli-Cf6fYZWL.js} +2 -2
- package/dist/{config-BkZ9HOKT.js → config-C4WnAd-c.js} +17 -17
- package/dist/{config-cli-C_uZQsTl.js → config-cli-C7DIbGxx.js} +1 -1
- package/dist/{config-cli-5mFA0UDP.js → config-cli-EgWrCemi.js} +1 -1
- package/dist/{configure-BJcy7wXm.js → configure-B67uIawm.js} +3 -3
- package/dist/{configure-DuRTFCuW.js → configure-Bk-snuxh.js} +3 -3
- package/dist/{consolidate-07QMweFF.js → consolidate-DRtVvG2U.js} +4 -4
- package/dist/{deliver-B0OUq6RP.js → deliver-SLYAWE19.js} +20 -20
- package/dist/{diagnostic-BUcR3Meg.js → diagnostic-DTkZsRNM.js} +1 -1
- package/dist/{doctor-completion-sQVhKKei.js → doctor-completion-By066O3p.js} +1 -1
- package/dist/{doctor-completion-DCRTHpiY.js → doctor-completion-lE_33xaY.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/{env-BDXYbTKj.js → env-CB65jmJQ.js} +1 -1
- package/dist/extensionAPI.js +2 -2
- package/dist/{frontmatter-CTR5f_Ez.js → frontmatter-CT1M0pRK.js} +4 -4
- package/dist/{gateway-cli-C3ujhxO0.js → gateway-cli-C6uT2x34.js} +182 -13
- package/dist/{gateway-cli-C_MT4JFm.js → gateway-cli-DqEgqVKC.js} +182 -13
- package/dist/{gemini-auth-BefM10YB.js → gemini-auth-D80BsXr2.js} +1 -1
- package/dist/{github-copilot-token-cCYzSU9h.js → github-copilot-token-B8B2pmph.js} +7 -7
- package/dist/{glass-ui-ws-ColAiWUr.js → glass-ui-ws-77TY57IO.js} +11 -11
- package/dist/{glass-ui-ws-B7zRY2BL.js → glass-ui-ws-CLAUHeZR.js} +11 -11
- package/dist/{health-C12hy3Ao.js → health-2jkjZxY8.js} +1 -1
- package/dist/{health-vKJZ7iJR.js → health-CvMHgR-L.js} +1 -1
- package/dist/{hooks-cli-CdUQvj8s.js → hooks-cli-CRZySOiz.js} +5 -5
- package/dist/{hooks-cli-fCPl5hur.js → hooks-cli-DSaezFsD.js} +5 -5
- package/dist/{image-BuVL0jHI.js → image-BHF_fnIp.js} +4 -4
- package/dist/{image-ops-C7CauEK8.js → image-ops-CY7v6vvp.js} +16 -16
- package/dist/index.js +9 -9
- package/dist/{internal-DjnxpF_K.js → internal-FNqguZSK.js} +11 -11
- package/dist/{ir-7tMVY7D_.js → ir-D6MiJpAy.js} +4 -4
- package/dist/llm-slug-generator.js +54 -54
- package/dist/{local-roots-ClipCZ9s.js → local-roots-tcdaIEhh.js} +5 -5
- package/dist/{login-D4rZWBXe.js → login-D4ZkmSrY.js} +7 -7
- package/dist/{login-qr-DdAVHOEC.js → login-qr-C9ftIq3n.js} +12 -12
- package/dist/{manager-DHRBy5oR.js → manager-BtWtmpxN.js} +1 -1
- package/dist/{manager-CLrJn9l-.js → manager-DDELj5o9.js} +1 -1
- package/dist/{manager-BJvYQ7xP.js → manager-DrmlegR2.js} +1 -1
- package/dist/{manager-Df_ZdrNG.js → manager-DxCmjSfP.js} +24 -24
- package/dist/{manifest-registry-CBCGTsIb.js → manifest-registry-BvGv6lp9.js} +19 -19
- package/dist/{markdown-tables-x2Xe2UXh.js → markdown-tables-CE-qSMGB.js} +1 -1
- package/dist/{memory-cli-T-a5-lqZ.js → memory-cli-ENCASZJk.js} +3 -3
- package/dist/{memory-cli-BgJciaHC.js → memory-cli-Qgbcxvuf.js} +3 -3
- package/dist/{message-channel-OlFBYAw8.js → message-channel-lwVT8QjK.js} +1 -1
- package/dist/{models-BXXV_sZU.js → models-COhUz7M9.js} +2 -2
- package/dist/{models-cli-BI-DyItH.js → models-cli-CCxYcF4R.js} +5 -5
- package/dist/{models-cli-Bs6JAGq-.js → models-cli-CYvXBvmZ.js} +6 -6
- package/dist/{onboard-Czi_FRdi.js → onboard-CQNUYBIp.js} +2 -2
- package/dist/{onboard-channels-sTuhQBVu.js → onboard-channels-9erx07qe.js} +1 -1
- package/dist/{onboard-channels-BUCYZF02.js → onboard-channels-CWw8G-6n.js} +1 -1
- package/dist/{onboard-DKDCWveE.js → onboard-fVpLVnwg.js} +2 -2
- package/dist/{onboarding-Bgx0qZhA.js → onboarding-CtEiH9WG.js} +3 -3
- package/dist/{onboarding-CokRRVEi.js → onboarding-D-OIkDwZ.js} +3 -3
- package/dist/{onboarding.finalize-BCv5jB0d.js → onboarding.finalize-BY3HNjX4.js} +9 -9
- package/dist/{onboarding.finalize-BzEKyraI.js → onboarding.finalize-DTbpLV-T.js} +8 -8
- package/dist/{outbound-Zmd7UyQH.js → outbound-C6Gm22UF.js} +7 -7
- package/dist/{outbound-attachment-DeCnZT-8.js → outbound-attachment-BWyKV1Gy.js} +2 -2
- package/dist/paths-CYmyCDsE.js +212 -0
- package/dist/{paths-CbQV9WEg.js → paths-DEuVuViW.js} +1 -1
- package/dist/{pi-auth-json-RXOlh8ar.js → pi-auth-json-Bv1NzJdR.js} +1 -1
- package/dist/{pi-embedded-DXY7TLac.js → pi-embedded-CdOdQw2i.js} +265 -13
- package/dist/{pi-embedded-helpers-D1_Sab0M.js → pi-embedded-helpers-DwQ9wJeT.js} +73 -73
- package/dist/{pi-tools.policy-BZrM6a-w.js → pi-tools.policy-Bx5zp45n.js} +2 -0
- package/dist/{pi-tools.policy-QIVWAVVI.js → pi-tools.policy-o0ytjRqu.js} +2 -0
- package/dist/{plugin-registry-CyrsJDyE.js → plugin-registry-BrJ0-qlu.js} +1 -1
- package/dist/{plugin-registry-B2cpTmJz.js → plugin-registry-Cuc8ORuR.js} +1 -1
- package/dist/plugin-sdk/agents/pi-embedded-runner/long-task-prompt.d.ts +7 -0
- package/dist/plugin-sdk/agents/tools/task-tool.d.ts +7 -0
- package/dist/plugin-sdk/{channel-web-t6enTxNE.js → channel-web-t8UOP6Zu.js} +1 -1
- package/dist/plugin-sdk/index.js +3 -3
- package/dist/plugin-sdk/{manager-LRE7zEk2.js → manager-BPm5oefC.js} +1 -1
- package/dist/plugin-sdk/{reply-JypoGhql.js → reply-BKAHTugL.js} +265 -13
- package/dist/plugin-sdk/{synthesis-_WpVyZKx.js → synthesis-CVF7Fwhd.js} +2 -2
- package/dist/plugin-sdk/{web-BTVj4kiQ.js → web-D0DsmFvw.js} +3 -3
- package/dist/{plugins-cli-B-zoQyqU.js → plugins-cli-BDalhI46.js} +5 -5
- package/dist/{plugins-cli-DJwRd3EZ.js → plugins-cli-DFmriy-c.js} +5 -5
- package/dist/{plugins-BzmbgY7s.js → plugins-v8k1XVOy.js} +9 -9
- package/dist/{program-H7h6Iqrq.js → program-DKh41c2a.js} +10 -10
- package/dist/{program-context-BgecQAHU.js → program-context-Cq7pqOrw.js} +19 -19
- package/dist/{prompt-select-styled-BglmD29e.js → prompt-select-styled-BFCAZLwK.js} +6 -6
- package/dist/{prompt-select-styled-BDN2o35i.js → prompt-select-styled-DvvSE_ni.js} +6 -6
- package/dist/{provider-auth-helpers-BGIgr7xM.js → provider-auth-helpers-B-LkDxxi.js} +1 -1
- package/dist/{provider-auth-helpers-MfKmTeLY.js → provider-auth-helpers-DXppgV1l.js} +1 -1
- package/dist/{push-apns-b6bH1EBC.js → push-apns-DCA47WA5.js} +1 -1
- package/dist/{push-apns-IcfSTzfr.js → push-apns-DvudhEAb.js} +1 -1
- package/dist/{pw-ai-DWkC5eGA.js → pw-ai-XGqnSWju.js} +11 -11
- package/dist/{qmd-manager-BXkbA8Y9.js → qmd-manager-CbRJhonG.js} +8 -8
- package/dist/{register.agent-ChwMSIC4.js → register.agent-_BV5KyFb.js} +9 -9
- package/dist/{register.agent-BgyETrrj.js → register.agent-aFj_SMi3.js} +8 -8
- package/dist/{register.configure-DH3L2tqW.js → register.configure-CvOoD5gE.js} +9 -9
- package/dist/{register.configure-Bm4CvoLF.js → register.configure-Dx0Uhmlz.js} +9 -9
- package/dist/{register.maintenance-BbOBw1eI.js → register.maintenance-BuZpoSik.js} +10 -10
- package/dist/{register.maintenance-CAyHUEzP.js → register.maintenance-CMeJR7DG.js} +11 -11
- package/dist/{register.message-DheqsiR0.js → register.message-qysZPg3G.js} +5 -5
- package/dist/{register.message-DQ3MOWFE.js → register.message-xxGePuRC.js} +5 -5
- package/dist/{register.onboard-DOJkUhoY.js → register.onboard-1MP2I0q4.js} +7 -7
- package/dist/{register.onboard-CxqR4S1C.js → register.onboard-D4Aow7Gc.js} +7 -7
- package/dist/{register.setup-zdrIJA2P.js → register.setup-BT74aXzA.js} +7 -7
- package/dist/{register.setup-48YBHzMZ.js → register.setup-DzliKkWh.js} +7 -7
- package/dist/{register.status-health-sessions-CeT5pVXb.js → register.status-health-sessions-B3K2gZ72.js} +7 -7
- package/dist/{register.status-health-sessions-CimrhScH.js → register.status-health-sessions-D7VYZlrU.js} +7 -7
- package/dist/{register.subclis-B-zh940S.js → register.subclis-BCy0IDRv.js} +10 -10
- package/dist/{registry-DYq1AYOv.js → registry-X6fUE0K7.js} +19 -19
- package/dist/{replies-CUWXgyx2.js → replies-86F3PldM.js} +3 -3
- package/dist/{reply-CUR4xpYM.js → reply-Dg1ZU3DZ.js} +263 -13
- package/dist/{reply-prefix-CvEIl6_d.js → reply-prefix-CI_IdwqH.js} +1 -1
- package/dist/{resolve-route-Jy5dFY67.js → resolve-route-BgSuN9c6.js} +4 -4
- package/dist/{retry-B-y5suGA.js → retry-4oEAHckB.js} +1 -1
- package/dist/{run-main-CW_kj5Lj.js → run-main-OS2aFAJ2.js} +18 -18
- package/dist/{runner-ecX1WzDt.js → runner-B5oNTtgf.js} +22 -22
- package/dist/{security-cli-BpnzAB5_.js → security-cli-BadXDWTh.js} +2 -2
- package/dist/{security-cli-D9WEiEjD.js → security-cli-D5y28-RH.js} +2 -2
- package/dist/{send-DFtnbzqy.js → send-ASDB3AzC.js} +7 -7
- package/dist/{send-Bb4it0te.js → send-BTfqlrYd.js} +18 -18
- package/dist/{send-C0QjmPaf.js → send-CSydU49L.js} +10 -10
- package/dist/{send-Cpk3Ti6-.js → send-Du-IfSne.js} +6 -6
- package/dist/{send-BKo1T3HF.js → send-cCTQjuOZ.js} +6 -6
- package/dist/{server-methods-C1h0A5n0.js → server-methods-BszFAkbJ.js} +8 -8
- package/dist/{server-methods-C4id-H_X.js → server-methods-D_iKJ-sj.js} +8 -8
- package/dist/{server-node-events-CD2yDaEj.js → server-node-events-CENHuAVz.js} +5 -5
- package/dist/{server-node-events-BPZEGV_N.js → server-node-events-uBu3XOjd.js} +5 -5
- package/dist/{session-BTeY6Gn2.js → session-D8qLj_xN.js} +8 -8
- package/dist/{skill-commands-DG2lcozb.js → skill-commands-BcOduw6G.js} +16 -16
- package/dist/{skills-CXxrn_e2.js → skills-BrYDT4Jr.js} +24 -24
- package/dist/{sqlite-BN_hIcmu.js → sqlite-P-gMg7fi.js} +3 -3
- package/dist/{status-_xBnHTlx.js → status-BvbJavmh.js} +1 -1
- package/dist/{status-DCeW2a07.js → status-CA0mUJld.js} +4 -4
- package/dist/{status-Cb932Vl4.js → status-CBnCPUMG.js} +4 -4
- package/dist/{status-DvHD1cnq.js → status-DJAeKN4G.js} +1 -1
- package/dist/{store-01F_JM7O.js → store-Ceagbc4L.js} +6 -6
- package/dist/{subagent-registry-BKuL9PdW.js → subagent-registry-C1OyZl-M.js} +263 -13
- package/dist/{subsystem-BjyjJF-d.js → subsystem-CzXhCdeY.js} +1 -1
- package/dist/{synthesis-DOiTUsXQ.js → synthesis-DNTyB7JY.js} +2 -2
- package/dist/{synthesis-BUqDGjlc.js → synthesis-DuqSkHEr.js} +54 -54
- package/dist/{synthesis-C9RputIi.js → synthesis-brHrnNF2.js} +4 -4
- package/dist/{synthesis-Ia9egx87.js → synthesis-z5B41p_r.js} +4 -4
- package/dist/{tables-DoG-pFrf.js → tables-qbCoZrYA.js} +1 -1
- package/dist/{target-errors-DeJTztcq.js → target-errors-uNitqCCT.js} +2 -2
- package/dist/{thinking-BprCy23Z.js → thinking-BV7SCNJP.js} +5 -5
- package/dist/{tokens-W0JzCJJM.js → tokens-Bl5R3wPD.js} +1 -1
- package/dist/{tool-images-SqqWIT22.js → tool-images-JxNglLSr.js} +2 -2
- package/dist/{tool-loop-detection-Dj9h1ogr.js → tool-loop-detection-dfE771kg.js} +3 -3
- package/dist/{unified-runner-CVItnwwP.js → unified-runner-Czg3pdBc.js} +489 -237
- package/dist/{update-cli-ChEABesZ.js → update-cli-0lyGyl31.js} +11 -11
- package/dist/{update-cli-D6ax3jSX.js → update-cli-CIzkVfmj.js} +10 -10
- package/dist/{update-runner-B2EY9BWM.js → update-runner-D7-LDziQ.js} +1 -1
- package/dist/{update-runner-CWG6GxKs.js → update-runner-aYPcKYAN.js} +1 -1
- package/dist/{web-z-yQ8riS.js → web-B90A99YU.js} +58 -58
- package/dist/{web-CpSE67Jp.js → web-BJ5dUZso.js} +5 -5
- package/dist/{web-D6PPeyG7.js → web-CN7wnU7w.js} +4 -4
- package/dist/{web-DMdb2p-h.js → web-Wk1ay1eQ.js} +2 -2
- package/dist/{whatsapp-actions-DmVpLXmh.js → whatsapp-actions-llk0IUn2.js} +23 -23
- package/dist/{workspace-DscDraUb.js → workspace-CywO4ayZ.js} +27 -27
- 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/scripts/detach-task.sh +57 -5
|
@@ -206,7 +206,7 @@ async function runConfigUnset(opts) {
|
|
|
206
206
|
}
|
|
207
207
|
function registerConfigCli(program) {
|
|
208
208
|
const cmd = program.command("config").description("Non-interactive config helpers (get/set/unset). Run without subcommand for the setup wizard.").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/config", "docs.symi.ai/cli/config")}\n`).option("--section <section>", "Configure wizard sections (repeatable). Use with no subcommand.", (value, previous) => [...previous, value], []).action(async (opts) => {
|
|
209
|
-
const { configureCommandFromSectionsArg } = await import("./configure-
|
|
209
|
+
const { configureCommandFromSectionsArg } = await import("./configure-B67uIawm.js").then((n) => n.t);
|
|
210
210
|
await configureCommandFromSectionsArg(opts.section, defaultRuntime);
|
|
211
211
|
});
|
|
212
212
|
cmd.command("get").description("Get a config value by dot path").argument("<path>", "Config path (dot or bracket notation)").option("--json", "Output JSON", false).action(async (path, opts) => {
|
|
@@ -13,14 +13,14 @@ import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint }
|
|
|
13
13
|
import { t as note$1 } from "./note-ByDX0v9V.js";
|
|
14
14
|
import { t as WizardCancelledError } from "./prompts-NOUgk6FH.js";
|
|
15
15
|
import { t as createClackPrompter } from "./clack-prompter-CM5UgVAv.js";
|
|
16
|
-
import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-
|
|
16
|
+
import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-9erx07qe.js";
|
|
17
17
|
import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-Cp7obV7Q.js";
|
|
18
18
|
import { t as resolveGatewayService } from "./service-DzLem5vL.js";
|
|
19
|
-
import { r as healthCommand } from "./health-
|
|
19
|
+
import { r as healthCommand } from "./health-CvMHgR-L.js";
|
|
20
20
|
import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-BrP31IQR.js";
|
|
21
21
|
import { n as logConfigUpdated } from "./logging-CZuxhCZR.js";
|
|
22
22
|
import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-PeQmwVpp.js";
|
|
23
|
-
import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-
|
|
23
|
+
import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-CRQRPwQt.js";
|
|
24
24
|
import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-BNWV-jU4.js";
|
|
25
25
|
import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-0C265XKH.js";
|
|
26
26
|
import { a as promptCustomApiConfig } from "./onboard-custom-Dk9cL3Uu.js";
|
|
@@ -11,14 +11,14 @@ import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint }
|
|
|
11
11
|
import { t as note$1 } from "./note-DewoEWtc.js";
|
|
12
12
|
import { t as WizardCancelledError } from "./prompts-DbHSz44H.js";
|
|
13
13
|
import { t as createClackPrompter } from "./clack-prompter-CTPf_777.js";
|
|
14
|
-
import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-
|
|
14
|
+
import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-CWw8G-6n.js";
|
|
15
15
|
import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-D_elkkFW.js";
|
|
16
16
|
import { t as resolveGatewayService } from "./service-RxN7lQKN.js";
|
|
17
|
-
import { r as healthCommand } from "./health-
|
|
17
|
+
import { r as healthCommand } from "./health-2jkjZxY8.js";
|
|
18
18
|
import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-Clf7H-Sm.js";
|
|
19
19
|
import { n as logConfigUpdated } from "./logging-PVQxLC6I.js";
|
|
20
20
|
import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-DF6R_pgV.js";
|
|
21
|
-
import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-
|
|
21
|
+
import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-C6woT6k2.js";
|
|
22
22
|
import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-n7beL1F5.js";
|
|
23
23
|
import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-ipoPa7o0.js";
|
|
24
24
|
import { a as promptCustomApiConfig } from "./onboard-custom-CJGSIPt3.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import "./paths-
|
|
2
|
-
import "./registry-
|
|
3
|
-
import { t as createSubsystemLogger } from "./subsystem-
|
|
4
|
-
import { l as parseEmbedding, r as cosineSimilarity } from "./internal-
|
|
1
|
+
import "./paths-CYmyCDsE.js";
|
|
2
|
+
import "./registry-X6fUE0K7.js";
|
|
3
|
+
import { t as createSubsystemLogger } from "./subsystem-CzXhCdeY.js";
|
|
4
|
+
import { l as parseEmbedding, r as cosineSimilarity } from "./internal-FNqguZSK.js";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import fs from "node:fs/promises";
|
|
7
7
|
import crypto from "node:crypto";
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { s as resolveStateDir } from "./paths-
|
|
2
|
+
import { s as resolveStateDir } from "./paths-CYmyCDsE.js";
|
|
3
3
|
import { m as normalizeOptionalAccountId, p as normalizeAccountId } from "./session-key-BCzIW1Y2.js";
|
|
4
|
-
import { c as getActivePluginRegistry, v as createInternalHookEvent, x as triggerInternalHook } from "./registry-
|
|
5
|
-
import { t as createSubsystemLogger } from "./subsystem-
|
|
6
|
-
import { B as resolveMirroredTranscriptText, i as isMessagingToolDuplicate, z as appendAssistantMessageToSessionTranscript } from "./pi-embedded-helpers-
|
|
7
|
-
import { d as getChannelDock } from "./thinking-
|
|
8
|
-
import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-
|
|
9
|
-
import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-
|
|
10
|
-
import { c as resolveChunkMode, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph } from "./chunk-
|
|
11
|
-
import { n as resolveMarkdownTableMode } from "./markdown-tables-
|
|
12
|
-
import { t as getAgentScopedMediaLocalRoots } from "./local-roots-
|
|
13
|
-
import { l as markdownToSignalTextChunks, t as sendMessageSignal } from "./send-
|
|
4
|
+
import { c as getActivePluginRegistry, v as createInternalHookEvent, x as triggerInternalHook } from "./registry-X6fUE0K7.js";
|
|
5
|
+
import { t as createSubsystemLogger } from "./subsystem-CzXhCdeY.js";
|
|
6
|
+
import { B as resolveMirroredTranscriptText, i as isMessagingToolDuplicate, z as appendAssistantMessageToSessionTranscript } from "./pi-embedded-helpers-DwQ9wJeT.js";
|
|
7
|
+
import { d as getChannelDock } from "./thinking-BV7SCNJP.js";
|
|
8
|
+
import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-v8k1XVOy.js";
|
|
9
|
+
import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-Bl5R3wPD.js";
|
|
10
|
+
import { c as resolveChunkMode, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph } from "./chunk-BcxcL1U3.js";
|
|
11
|
+
import { n as resolveMarkdownTableMode } from "./markdown-tables-CE-qSMGB.js";
|
|
12
|
+
import { t as getAgentScopedMediaLocalRoots } from "./local-roots-tcdaIEhh.js";
|
|
13
|
+
import { l as markdownToSignalTextChunks, t as sendMessageSignal } from "./send-Du-IfSne.js";
|
|
14
14
|
import path from "node:path";
|
|
15
|
-
import
|
|
15
|
+
import fsSync from "node:fs";
|
|
16
16
|
import crypto from "node:crypto";
|
|
17
17
|
|
|
18
18
|
//#region src/plugins/hooks.ts
|
|
@@ -721,11 +721,11 @@ function resolveFailedDir(stateDir) {
|
|
|
721
721
|
/** Ensure the queue directory (and failed/ subdirectory) exist. */
|
|
722
722
|
async function ensureQueueDir(stateDir) {
|
|
723
723
|
const queueDir = resolveQueueDir(stateDir);
|
|
724
|
-
await
|
|
724
|
+
await fsSync.promises.mkdir(queueDir, {
|
|
725
725
|
recursive: true,
|
|
726
726
|
mode: 448
|
|
727
727
|
});
|
|
728
|
-
await
|
|
728
|
+
await fsSync.promises.mkdir(resolveFailedDir(stateDir), {
|
|
729
729
|
recursive: true,
|
|
730
730
|
mode: 448
|
|
731
731
|
});
|
|
@@ -752,18 +752,18 @@ async function enqueueDelivery(params, stateDir) {
|
|
|
752
752
|
const filePath = path.join(queueDir, `${id}.json`);
|
|
753
753
|
const tmp = `${filePath}.${process.pid}.tmp`;
|
|
754
754
|
const json = JSON.stringify(entry, null, 2);
|
|
755
|
-
await
|
|
755
|
+
await fsSync.promises.writeFile(tmp, json, {
|
|
756
756
|
encoding: "utf-8",
|
|
757
757
|
mode: 384
|
|
758
758
|
});
|
|
759
|
-
await
|
|
759
|
+
await fsSync.promises.rename(tmp, filePath);
|
|
760
760
|
return id;
|
|
761
761
|
}
|
|
762
762
|
/** Remove a successfully delivered entry from the queue. */
|
|
763
763
|
async function ackDelivery(id, stateDir) {
|
|
764
764
|
const filePath = path.join(resolveQueueDir(stateDir), `${id}.json`);
|
|
765
765
|
try {
|
|
766
|
-
await
|
|
766
|
+
await fsSync.promises.unlink(filePath);
|
|
767
767
|
} catch (err) {
|
|
768
768
|
if ((err && typeof err === "object" && "code" in err ? String(err.code) : null) !== "ENOENT") throw err;
|
|
769
769
|
}
|
|
@@ -771,16 +771,16 @@ async function ackDelivery(id, stateDir) {
|
|
|
771
771
|
/** Update a queue entry after a failed delivery attempt. */
|
|
772
772
|
async function failDelivery(id, error, stateDir) {
|
|
773
773
|
const filePath = path.join(resolveQueueDir(stateDir), `${id}.json`);
|
|
774
|
-
const raw = await
|
|
774
|
+
const raw = await fsSync.promises.readFile(filePath, "utf-8");
|
|
775
775
|
const entry = JSON.parse(raw);
|
|
776
776
|
entry.retryCount += 1;
|
|
777
777
|
entry.lastError = error;
|
|
778
778
|
const tmp = `${filePath}.${process.pid}.tmp`;
|
|
779
|
-
await
|
|
779
|
+
await fsSync.promises.writeFile(tmp, JSON.stringify(entry, null, 2), {
|
|
780
780
|
encoding: "utf-8",
|
|
781
781
|
mode: 384
|
|
782
782
|
});
|
|
783
|
-
await
|
|
783
|
+
await fsSync.promises.rename(tmp, filePath);
|
|
784
784
|
}
|
|
785
785
|
|
|
786
786
|
//#endregion
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { t as createSubsystemLogger } from "./subsystem-
|
|
2
|
+
import { t as createSubsystemLogger } from "./subsystem-CzXhCdeY.js";
|
|
3
3
|
import { i as pruneDiagnosticSessionStates, r as getDiagnosticSessionState, t as diagnosticSessionStates } from "./diagnostic-session-state-Zw87xFym.js";
|
|
4
4
|
|
|
5
5
|
//#region src/infra/diagnostic-events.ts
|
|
@@ -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-DewoEWtc.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-Cf6fYZWL.js";
|
|
5
5
|
import { spawnSync } from "node:child_process";
|
|
6
6
|
import path from "node:path";
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
|
|
2
2
|
import { r as resolveCliName } from "./command-format-COaS-S7B.js";
|
|
3
3
|
import { t as note } from "./note-ByDX0v9V.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-BVTGy8th.js";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import { spawnSync } from "node:child_process";
|
|
7
7
|
|
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-OS2aFAJ2.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
|
});
|
package/dist/extensionAPI.js
CHANGED
|
@@ -7,7 +7,7 @@ import { a as resolveAgentIdentity } from "./reply-prefix-K_J_nfgx.js";
|
|
|
7
7
|
import "./github-copilot-token-BbsJ0Qbo.js";
|
|
8
8
|
import "./env-CQ_DQOwT.js";
|
|
9
9
|
import "./tokens-Cn6drXx2.js";
|
|
10
|
-
import { O as resolveAgentTimeoutMs, m as runEmbeddedPiAgent } from "./pi-embedded-
|
|
10
|
+
import { O as resolveAgentTimeoutMs, m as runEmbeddedPiAgent } from "./pi-embedded-CdOdQw2i.js";
|
|
11
11
|
import "./plugins-71oIavrF.js";
|
|
12
12
|
import "./accounts-DDEyGwby.js";
|
|
13
13
|
import "./bindings-DYVakimr.js";
|
|
@@ -35,7 +35,7 @@ import "./accounts-DImOt9jX.js";
|
|
|
35
35
|
import { n as resolveSessionFilePath, s as resolveStorePath } from "./paths-DkMamAQ-.js";
|
|
36
36
|
import "./tool-images-ChC2CXaN.js";
|
|
37
37
|
import "./image-MNvheU8U.js";
|
|
38
|
-
import "./manager-
|
|
38
|
+
import "./manager-BtWtmpxN.js";
|
|
39
39
|
import "./gemini-auth-DVcG-42i.js";
|
|
40
40
|
import "./retry-QGp0jvVi.js";
|
|
41
41
|
import "./sqlite-Bo4pHfp8.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as parseBooleanValue } from "./boolean-CE7i9tBR.js";
|
|
2
2
|
import { n as MANIFEST_KEY, t as LEGACY_MANIFEST_KEYS } from "./legacy-names-CePMUvus.js";
|
|
3
3
|
import path from "node:path";
|
|
4
|
-
import
|
|
5
|
-
import
|
|
4
|
+
import fsSync from "node:fs";
|
|
5
|
+
import json5 from "json5";
|
|
6
6
|
import YAML from "yaml";
|
|
7
7
|
|
|
8
8
|
//#region src/shared/config-eval.ts
|
|
@@ -79,7 +79,7 @@ function hasBinary(bin) {
|
|
|
79
79
|
for (const part of parts) for (const ext of extensions) {
|
|
80
80
|
const candidate = path.join(part, bin + ext);
|
|
81
81
|
try {
|
|
82
|
-
|
|
82
|
+
fsSync.accessSync(candidate, fsSync.constants.X_OK);
|
|
83
83
|
hasBinaryCache.set(bin, true);
|
|
84
84
|
return true;
|
|
85
85
|
} catch {}
|
|
@@ -210,7 +210,7 @@ function resolveSymiManifestBlock(params) {
|
|
|
210
210
|
const raw = getFrontmatterString(params.frontmatter, params.key ?? "metadata");
|
|
211
211
|
if (!raw) return;
|
|
212
212
|
try {
|
|
213
|
-
const parsed =
|
|
213
|
+
const parsed = json5.parse(raw);
|
|
214
214
|
if (!parsed || typeof parsed !== "object") return;
|
|
215
215
|
const manifestKeys = [MANIFEST_KEY, ...LEGACY_MANIFEST_KEYS];
|
|
216
216
|
for (const key of manifestKeys) {
|
|
@@ -22,7 +22,7 @@ import "./pairing-token-Byh6drgn.js";
|
|
|
22
22
|
import { t as safeEqualSecret } from "./secret-equal-CbntzRkh.js";
|
|
23
23
|
import { a as isValidIPv4, c as resolveClientIp, d as resolveHostName, f as rawDataToString, i as isTrustedProxyAddress, l as resolveGatewayBindHost, n as isLoopbackHost, o as normalizeHostHeader, t as isLoopbackAddress, u as resolveGatewayListenHosts } from "./net-DZ5Ayk-W.js";
|
|
24
24
|
import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-Cmumpn76.js";
|
|
25
|
-
import { $ as getCliSessionId, $t as setPreRestartDeferralCheck, An as DEFAULT_INPUT_TIMEOUT_MS, At as normalizeOptionalSessionKey, Bt as buildSafeExternalPrompt, Cn as enqueueSystemEvent, Cr as onAgentEvent, Dn as DEFAULT_INPUT_IMAGE_MAX_BYTES, E as createDefaultDeps, F as buildHistoryContextFromEntries, Ft as buildDeliveryFromLegacyPayload, H as getTotalPendingReplies, Ht as getHookType, In as resolveAgentTimeoutMs, It as hasLegacyDeliveryHints, J as runAgentTurn, Jt as emitGatewayRestart, Kt as consumeGatewaySigusr1RestartAuthorization, Lt as stripLegacyDeliveryFields, Mn as extractImageContentFromSource, Mt as normalizePayloadToSystemText, Nn as normalizeMimeList, Nt as normalizeRequiredName, O as resolveAgentAvatar, On as DEFAULT_INPUT_IMAGE_MIMES, Ot as inferLegacyName, Pn as resolveInputFileLimits, Pt as migrateLegacyCronPayload, Q as resolveModelProfile, Qt as setGatewaySigusr1RestartPolicy, Sr as getAgentRunContext, St as summarizeRestartSentinel, T as createOutboundSendDeps, Tt as normalizeHttpWebhookUrl, Ut as isExternalHookSession, Vt as detectSuspiciousPatterns, X as getActiveEmbeddedRunCount, Xt as markGatewaySigusr1RestartHandled, Yt as isGatewaySigusr1RestartExternallyAllowed, _ as readJsonBodyWithLimit, at as resolveAnnounceTargetFromKey, b as sleepWithAbort, br as clearAgentRunContext, bt as formatRestartSentinelMessage, cr as getActiveTaskCount, ct as resolveOutboundSessionRoute, dn as requestHeartbeatNow, dr as resetAllLanes, dt as resolveOutboundTarget, et as setCliSessionId, f as getPluginToolMeta, fr as setCommandLaneConcurrency, ft as resolveSessionDeliveryTarget, g as handleSlackHttpRequest, gt as runWithModelFallback, hr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, i as listDescendantRunsForRequester, it as readLatestAssistantReply, jn as extractFileContentFromSource, jt as normalizeOptionalText, kn as DEFAULT_INPUT_MAX_REDIRECTS, kt as normalizeOptionalAgentId, l as applyToolPolicyPipeline, m as loadSymiPlugins, mr as CommandLane, mt as resetDirectoryCache, n as countActiveRunsForSession, pr as waitForActiveTasks, q as resolveCronStyleNow, qt as deferGatewayRestartUntilIdle, r as initSubagentRegistry, rt as createSymiTools, s as runSubagentAnnounceFlow, t as countActiveDescendantRuns, tt as runCliAgent, u as buildDefaultToolPolicyPipelineSteps, ur as getTotalQueueSize, v as requestBodyErrorToText, vt as consumeRestartSentinel, wr as registerAgentRunContext, x as agentCommand, xr as emitAgentEvent, y as computeBackoff, yr as stripHeartbeatToken } from "./subagent-registry-
|
|
25
|
+
import { $ as getCliSessionId, $t as setPreRestartDeferralCheck, An as DEFAULT_INPUT_TIMEOUT_MS, At as normalizeOptionalSessionKey, Bt as buildSafeExternalPrompt, Cn as enqueueSystemEvent, Cr as onAgentEvent, Dn as DEFAULT_INPUT_IMAGE_MAX_BYTES, E as createDefaultDeps, F as buildHistoryContextFromEntries, Ft as buildDeliveryFromLegacyPayload, H as getTotalPendingReplies, Ht as getHookType, In as resolveAgentTimeoutMs, It as hasLegacyDeliveryHints, J as runAgentTurn, Jt as emitGatewayRestart, Kt as consumeGatewaySigusr1RestartAuthorization, Lt as stripLegacyDeliveryFields, Mn as extractImageContentFromSource, Mt as normalizePayloadToSystemText, Nn as normalizeMimeList, Nt as normalizeRequiredName, O as resolveAgentAvatar, On as DEFAULT_INPUT_IMAGE_MIMES, Ot as inferLegacyName, Pn as resolveInputFileLimits, Pt as migrateLegacyCronPayload, Q as resolveModelProfile, Qt as setGatewaySigusr1RestartPolicy, Sr as getAgentRunContext, St as summarizeRestartSentinel, T as createOutboundSendDeps, Tt as normalizeHttpWebhookUrl, Ut as isExternalHookSession, Vt as detectSuspiciousPatterns, X as getActiveEmbeddedRunCount, Xt as markGatewaySigusr1RestartHandled, Yt as isGatewaySigusr1RestartExternallyAllowed, _ as readJsonBodyWithLimit, at as resolveAnnounceTargetFromKey, b as sleepWithAbort, br as clearAgentRunContext, bt as formatRestartSentinelMessage, cr as getActiveTaskCount, ct as resolveOutboundSessionRoute, dn as requestHeartbeatNow, dr as resetAllLanes, dt as resolveOutboundTarget, et as setCliSessionId, f as getPluginToolMeta, fr as setCommandLaneConcurrency, ft as resolveSessionDeliveryTarget, g as handleSlackHttpRequest, gt as runWithModelFallback, hr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, i as listDescendantRunsForRequester, it as readLatestAssistantReply, jn as extractFileContentFromSource, jt as normalizeOptionalText, kn as DEFAULT_INPUT_MAX_REDIRECTS, kt as normalizeOptionalAgentId, l as applyToolPolicyPipeline, m as loadSymiPlugins, mr as CommandLane, mt as resetDirectoryCache, n as countActiveRunsForSession, pr as waitForActiveTasks, q as resolveCronStyleNow, qt as deferGatewayRestartUntilIdle, r as initSubagentRegistry, rt as createSymiTools, s as runSubagentAnnounceFlow, t as countActiveDescendantRuns, tt as runCliAgent, u as buildDefaultToolPolicyPipelineSteps, ur as getTotalQueueSize, v as requestBodyErrorToText, vt as consumeRestartSentinel, wr as registerAgentRunContext, x as agentCommand, xr as emitAgentEvent, y as computeBackoff, yr as stripHeartbeatToken } from "./subagent-registry-C1OyZl-M.js";
|
|
26
26
|
import { D as resolveSessionResetPolicy, F as resolveMainSessionKey, H as cleanStaleLockFiles, I as resolveMainSessionKeyFromConfig, K as mergeDeliveryContext, M as canonicalizeMainSessionAlias, N as resolveAgentMainSessionKey, T as evaluateSessionFreshness, W as deliveryContextFromSession, d as updateSessionStore, n as parseSessionThreadInfo, o as loadSessionStore } from "./sessions-BPD85pWA.js";
|
|
27
27
|
import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-Csntmwwn.js";
|
|
28
28
|
import { n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-CwSlLxM8.js";
|
|
@@ -60,8 +60,8 @@ import "./tool-images-CVLISeRT.js";
|
|
|
60
60
|
import { d as supportsXHighThinking, l as normalizeVerboseLevel, s as normalizeThinkLevel } from "./thinking-8sKPnzpp.js";
|
|
61
61
|
import "./models-config-J1x_DaPn.js";
|
|
62
62
|
import { a as resolveAgentIdentity } from "./reply-prefix-BUN71nd5.js";
|
|
63
|
-
import { i as resolveMemoryBackendConfig, r as getMemorySearchManager } from "./memory-cli-
|
|
64
|
-
import { a as resolveMemorySearchConfig } from "./manager-
|
|
63
|
+
import { i as resolveMemoryBackendConfig, r as getMemorySearchManager } from "./memory-cli-Qgbcxvuf.js";
|
|
64
|
+
import { a as resolveMemorySearchConfig } from "./manager-DDELj5o9.js";
|
|
65
65
|
import "./gemini-auth-DEakvf-D.js";
|
|
66
66
|
import "./retry-C4Q_VPOo.js";
|
|
67
67
|
import "./sqlite-BP8tiuca.js";
|
|
@@ -106,7 +106,7 @@ import "./replies-Sxbew659.js";
|
|
|
106
106
|
import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-CF0Cp3OB.js";
|
|
107
107
|
import "./prompt-style-BxVdnrLq.js";
|
|
108
108
|
import "./pairing-labels-BHx_CdbP.js";
|
|
109
|
-
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-
|
|
109
|
+
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-o0ytjRqu.js";
|
|
110
110
|
import { i as onHeartbeatEvent, t as resolveHeartbeatVisibility } from "./heartbeat-visibility-D0_vbMWW.js";
|
|
111
111
|
import { t as ensureSymiCliOnPath } from "./path-env-CaiY2aOj.js";
|
|
112
112
|
import { n as DEFAULT_GATEWAY_HTTP_TOOL_DENY } from "./dangerous-tools-Cw6NBIXW.js";
|
|
@@ -129,22 +129,22 @@ import "./diagnostics-C6xPE2ln.js";
|
|
|
129
129
|
import "./table-Bka4fasy.js";
|
|
130
130
|
import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-BrG9qS1M.js";
|
|
131
131
|
import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-vevi4OAS.js";
|
|
132
|
-
import { c as probeGateway, s as resolveNodeCommandAllowlist } from "./audit-
|
|
132
|
+
import { c as probeGateway, s as resolveNodeCommandAllowlist } from "./audit-CB97BqHJ.js";
|
|
133
133
|
import { t as discoverGatewayBeacons } from "./bonjour-discovery-BWaTCKHh.js";
|
|
134
|
-
import { i as pickGatewaySelfPresence } from "./status-
|
|
135
|
-
import { a as styleHealthChannelLine, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-
|
|
134
|
+
import { i as pickGatewaySelfPresence } from "./status-CBnCPUMG.js";
|
|
135
|
+
import { a as styleHealthChannelLine, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-2jkjZxY8.js";
|
|
136
136
|
import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-Clf7H-Sm.js";
|
|
137
137
|
import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, m as normalizeUpdateChannel, n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-BNjupSIM.js";
|
|
138
|
-
import { t as runOnboardingWizard } from "./onboarding-
|
|
139
|
-
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-
|
|
140
|
-
import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-
|
|
138
|
+
import { t as runOnboardingWizard } from "./onboarding-CtEiH9WG.js";
|
|
139
|
+
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-BszFAkbJ.js";
|
|
140
|
+
import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-DvudhEAb.js";
|
|
141
141
|
import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-YTXXLbHH.js";
|
|
142
|
-
import "./agents.config-
|
|
142
|
+
import "./agents.config-BKKMbeeE.js";
|
|
143
143
|
import "./dm-policy-shared-JiSNSaKz.js";
|
|
144
144
|
import "./node-service-B-qdOCNb.js";
|
|
145
145
|
import "./status.update-B5zI1_Id.js";
|
|
146
146
|
import "./skills-install-BnEN_qla.js";
|
|
147
|
-
import "./update-runner-
|
|
147
|
+
import "./update-runner-aYPcKYAN.js";
|
|
148
148
|
import { t as resolveAgentSessionDirs } from "./session-dirs-Dgz7kkUM.js";
|
|
149
149
|
import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-mCPSj6kV.js";
|
|
150
150
|
import { n as forceFreePortAndWait } from "./ports-DQg7kV5s.js";
|
|
@@ -5405,6 +5405,174 @@ function applyGatewayLaneConcurrency(cfg) {
|
|
|
5405
5405
|
setCommandLaneConcurrency(CommandLane.Subagent, resolveSubagentMaxConcurrent(cfg));
|
|
5406
5406
|
}
|
|
5407
5407
|
|
|
5408
|
+
//#endregion
|
|
5409
|
+
//#region src/infra/long-task-janitor.ts
|
|
5410
|
+
const TASK_FILE_SUFFIXES = [
|
|
5411
|
+
".pid",
|
|
5412
|
+
".cmd",
|
|
5413
|
+
".started",
|
|
5414
|
+
".log",
|
|
5415
|
+
".status"
|
|
5416
|
+
];
|
|
5417
|
+
const TASK_FILE_PREFIX = "task-";
|
|
5418
|
+
const DEFAULT_TASK_FILE_AGE_MS = 10080 * 60 * 1e3;
|
|
5419
|
+
const DEFAULT_SWEEP_INTERVAL_MS = 1440 * 60 * 1e3;
|
|
5420
|
+
function defaultIsPidAlive(pid) {
|
|
5421
|
+
try {
|
|
5422
|
+
process.kill(pid, 0);
|
|
5423
|
+
return true;
|
|
5424
|
+
} catch (err) {
|
|
5425
|
+
if (err.code === "EPERM") return true;
|
|
5426
|
+
return false;
|
|
5427
|
+
}
|
|
5428
|
+
}
|
|
5429
|
+
/**
|
|
5430
|
+
* Sweep dead-task state files from a single workspace directory.
|
|
5431
|
+
*
|
|
5432
|
+
* A task-id is eligible for sweep when its recorded PID is no longer alive
|
|
5433
|
+
* AND the oldest of its state files is older than ageMs. Conservative on
|
|
5434
|
+
* purpose: leaving a stale set for one extra cycle is harmless; deleting
|
|
5435
|
+
* the state of a live task is not.
|
|
5436
|
+
*
|
|
5437
|
+
* Orphans without a `.pid` file (parent crashed before line 180) are also
|
|
5438
|
+
* caught — we key on any task-<id>.<suffix> match.
|
|
5439
|
+
*/
|
|
5440
|
+
async function sweepLongTaskFiles(workdir, options = {}) {
|
|
5441
|
+
const result = {
|
|
5442
|
+
scanned: 0,
|
|
5443
|
+
swept: 0,
|
|
5444
|
+
errors: 0,
|
|
5445
|
+
sweptIds: []
|
|
5446
|
+
};
|
|
5447
|
+
const now = options.now ?? Date.now();
|
|
5448
|
+
const ageMs = options.ageMs ?? DEFAULT_TASK_FILE_AGE_MS;
|
|
5449
|
+
const isPidAlive = options.isPidAlive ?? defaultIsPidAlive;
|
|
5450
|
+
let entries;
|
|
5451
|
+
try {
|
|
5452
|
+
entries = await fs.promises.readdir(workdir);
|
|
5453
|
+
} catch {
|
|
5454
|
+
return result;
|
|
5455
|
+
}
|
|
5456
|
+
const taskIds = /* @__PURE__ */ new Set();
|
|
5457
|
+
for (const entry of entries) {
|
|
5458
|
+
if (!entry.startsWith(TASK_FILE_PREFIX)) continue;
|
|
5459
|
+
for (const suffix of TASK_FILE_SUFFIXES) if (entry.endsWith(suffix)) {
|
|
5460
|
+
const id = entry.slice(5, -suffix.length);
|
|
5461
|
+
if (id.length > 0) taskIds.add(id);
|
|
5462
|
+
break;
|
|
5463
|
+
}
|
|
5464
|
+
}
|
|
5465
|
+
for (const taskId of taskIds) {
|
|
5466
|
+
result.scanned++;
|
|
5467
|
+
const pidPath = path.join(workdir, `${TASK_FILE_PREFIX}${taskId}.pid`);
|
|
5468
|
+
let pid = 0;
|
|
5469
|
+
let pidStatMs = null;
|
|
5470
|
+
try {
|
|
5471
|
+
const pidText = await fs.promises.readFile(pidPath, "utf8");
|
|
5472
|
+
pid = Number.parseInt(pidText.trim(), 10);
|
|
5473
|
+
pidStatMs = (await fs.promises.stat(pidPath)).mtimeMs;
|
|
5474
|
+
} catch (err) {
|
|
5475
|
+
if (err.code !== "ENOENT") {
|
|
5476
|
+
result.errors++;
|
|
5477
|
+
continue;
|
|
5478
|
+
}
|
|
5479
|
+
}
|
|
5480
|
+
if (pid > 0 && Number.isFinite(pid) && isPidAlive(pid)) continue;
|
|
5481
|
+
let oldestMs = pidStatMs ?? Number.POSITIVE_INFINITY;
|
|
5482
|
+
for (const suffix of TASK_FILE_SUFFIXES) {
|
|
5483
|
+
if (suffix === ".pid" && pidStatMs !== null) continue;
|
|
5484
|
+
try {
|
|
5485
|
+
const stat = await fs.promises.stat(path.join(workdir, `${TASK_FILE_PREFIX}${taskId}${suffix}`));
|
|
5486
|
+
if (stat.mtimeMs < oldestMs) oldestMs = stat.mtimeMs;
|
|
5487
|
+
} catch {}
|
|
5488
|
+
}
|
|
5489
|
+
if (!Number.isFinite(oldestMs)) continue;
|
|
5490
|
+
if (now - oldestMs < ageMs) continue;
|
|
5491
|
+
let unlinkErrors = 0;
|
|
5492
|
+
for (const suffix of TASK_FILE_SUFFIXES) try {
|
|
5493
|
+
await fs.promises.unlink(path.join(workdir, `${TASK_FILE_PREFIX}${taskId}${suffix}`));
|
|
5494
|
+
} catch (err) {
|
|
5495
|
+
if (err.code !== "ENOENT") unlinkErrors++;
|
|
5496
|
+
}
|
|
5497
|
+
if (unlinkErrors > 0) result.errors++;
|
|
5498
|
+
else {
|
|
5499
|
+
result.swept++;
|
|
5500
|
+
result.sweptIds.push(taskId);
|
|
5501
|
+
}
|
|
5502
|
+
}
|
|
5503
|
+
return result;
|
|
5504
|
+
}
|
|
5505
|
+
async function collectAgentWorkspaces(cfg) {
|
|
5506
|
+
const config = cfg ?? loadConfig();
|
|
5507
|
+
const seen = /* @__PURE__ */ new Set();
|
|
5508
|
+
for (const agentId of listAgentIds(config)) try {
|
|
5509
|
+
const ws = resolveAgentWorkspaceDir(config, agentId);
|
|
5510
|
+
if (ws) seen.add(ws);
|
|
5511
|
+
} catch {}
|
|
5512
|
+
return [...seen];
|
|
5513
|
+
}
|
|
5514
|
+
let janitorTimer = null;
|
|
5515
|
+
let janitorBootKick = null;
|
|
5516
|
+
function startLongTaskJanitor(options = {}) {
|
|
5517
|
+
if (janitorTimer) return () => stopLongTaskJanitor();
|
|
5518
|
+
const log = getChildLogger({ module: "long-task-janitor" });
|
|
5519
|
+
const intervalMs = options.intervalMs ?? DEFAULT_SWEEP_INTERVAL_MS;
|
|
5520
|
+
const ageMs = options.ageMs ?? DEFAULT_TASK_FILE_AGE_MS;
|
|
5521
|
+
const getWorkspaces = options.getWorkspaces ?? (() => collectAgentWorkspaces());
|
|
5522
|
+
const nowFn = options.now ?? Date.now;
|
|
5523
|
+
const sweep = async () => {
|
|
5524
|
+
let workspaces = [];
|
|
5525
|
+
try {
|
|
5526
|
+
workspaces = await getWorkspaces();
|
|
5527
|
+
} catch (err) {
|
|
5528
|
+
log.warn({ err: String(err) }, "long-task-janitor: collect workspaces failed");
|
|
5529
|
+
return;
|
|
5530
|
+
}
|
|
5531
|
+
let scanned = 0;
|
|
5532
|
+
let swept = 0;
|
|
5533
|
+
let errors = 0;
|
|
5534
|
+
for (const ws of workspaces) try {
|
|
5535
|
+
const r = await sweepLongTaskFiles(ws, {
|
|
5536
|
+
now: nowFn(),
|
|
5537
|
+
ageMs
|
|
5538
|
+
});
|
|
5539
|
+
scanned += r.scanned;
|
|
5540
|
+
swept += r.swept;
|
|
5541
|
+
errors += r.errors;
|
|
5542
|
+
} catch (err) {
|
|
5543
|
+
errors++;
|
|
5544
|
+
log.warn({
|
|
5545
|
+
err: String(err),
|
|
5546
|
+
workdir: ws
|
|
5547
|
+
}, "long-task-janitor: sweep failed");
|
|
5548
|
+
}
|
|
5549
|
+
if (swept > 0 || errors > 0) log.info({
|
|
5550
|
+
scanned,
|
|
5551
|
+
swept,
|
|
5552
|
+
errors
|
|
5553
|
+
}, "long-task-janitor: sweep complete");
|
|
5554
|
+
};
|
|
5555
|
+
janitorBootKick = setTimeout(() => {
|
|
5556
|
+
sweep();
|
|
5557
|
+
}, 6e4);
|
|
5558
|
+
janitorBootKick.unref?.();
|
|
5559
|
+
janitorTimer = setInterval(() => {
|
|
5560
|
+
sweep();
|
|
5561
|
+
}, intervalMs);
|
|
5562
|
+
janitorTimer.unref?.();
|
|
5563
|
+
return () => stopLongTaskJanitor();
|
|
5564
|
+
}
|
|
5565
|
+
function stopLongTaskJanitor() {
|
|
5566
|
+
if (janitorTimer) {
|
|
5567
|
+
clearInterval(janitorTimer);
|
|
5568
|
+
janitorTimer = null;
|
|
5569
|
+
}
|
|
5570
|
+
if (janitorBootKick) {
|
|
5571
|
+
clearTimeout(janitorBootKick);
|
|
5572
|
+
janitorBootKick = null;
|
|
5573
|
+
}
|
|
5574
|
+
}
|
|
5575
|
+
|
|
5408
5576
|
//#endregion
|
|
5409
5577
|
//#region src/gateway/server/health-state.ts
|
|
5410
5578
|
let presenceVersion = 1;
|
|
@@ -5493,6 +5661,7 @@ function startGatewayMaintenanceTimers(params) {
|
|
|
5493
5661
|
params.refreshGatewayHealthSnapshot({ probe: true }).catch((err) => params.logHealth.error(`refresh failed: ${formatError(err)}`));
|
|
5494
5662
|
}, HEALTH_REFRESH_INTERVAL_MS);
|
|
5495
5663
|
params.refreshGatewayHealthSnapshot({ probe: true }).catch((err) => params.logHealth.error(`initial refresh failed: ${formatError(err)}`));
|
|
5664
|
+
startLongTaskJanitor();
|
|
5496
5665
|
return {
|
|
5497
5666
|
tickInterval,
|
|
5498
5667
|
healthInterval,
|
|
@@ -11955,7 +12124,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
|
|
|
11955
12124
|
});
|
|
11956
12125
|
let glassUiBridgeCleanup = null;
|
|
11957
12126
|
if (!minimalTestGateway) {
|
|
11958
|
-
const { createGlassUiBridge } = await import("./glass-ui-ws-
|
|
12127
|
+
const { createGlassUiBridge } = await import("./glass-ui-ws-CLAUHeZR.js");
|
|
11959
12128
|
glassUiBridgeCleanup = createGlassUiBridge({
|
|
11960
12129
|
wss: glassUiWss,
|
|
11961
12130
|
context: gatewayRequestContext,
|