@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
|
@@ -53,7 +53,7 @@ import { S as minimaxUnderstandImage, _ as stripThinkingTagsFromText, a as decod
|
|
|
53
53
|
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-LbcEa65a.js";
|
|
54
54
|
import { c as normalizeExtraMemoryPaths, m as runTasksWithConcurrency, s as listMemoryFiles } from "./internal-Qi-tyvHh.js";
|
|
55
55
|
import { r as getDiagnosticSessionState } from "./diagnostic-session-state-Wd5tNeQG.js";
|
|
56
|
-
import { a as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, r as probeOllamaEmbeddingModels, t as MemoryIndexManager } from "./manager-
|
|
56
|
+
import { a as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, r as probeOllamaEmbeddingModels, t as MemoryIndexManager } from "./manager-BPm5oefC.js";
|
|
57
57
|
import { _ as resolveNativeCommandsEnabled, a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, g as isRestartEnabled, h as isNativeCommandsExplicitlyDisabled, i as listChatCommands, l as parseCommandArgs, m as isCommandFlagEnabled, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices, v as resolveNativeSkillsEnabled } from "./commands-registry-BuYpmEx-.js";
|
|
58
58
|
import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-CGhw9mO3.js";
|
|
59
59
|
import { t as makeProxyFetch } from "./proxy-D27OUbrW.js";
|
|
@@ -11575,7 +11575,7 @@ async function getMemorySearchManager(params) {
|
|
|
11575
11575
|
const wrapper = new FallbackMemoryManager({
|
|
11576
11576
|
primary,
|
|
11577
11577
|
fallbackFactory: async () => {
|
|
11578
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
11578
|
+
const { MemoryIndexManager } = await import("./manager-BPm5oefC.js").then((n) => n.n);
|
|
11579
11579
|
return await MemoryIndexManager.get(params);
|
|
11580
11580
|
}
|
|
11581
11581
|
}, () => QMD_MANAGER_CACHE.delete(cacheKey));
|
|
@@ -11588,7 +11588,7 @@ async function getMemorySearchManager(params) {
|
|
|
11588
11588
|
}
|
|
11589
11589
|
}
|
|
11590
11590
|
try {
|
|
11591
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
11591
|
+
const { MemoryIndexManager } = await import("./manager-BPm5oefC.js").then((n) => n.n);
|
|
11592
11592
|
return { manager: await MemoryIndexManager.get(params) };
|
|
11593
11593
|
} catch (err) {
|
|
11594
11594
|
return {
|
|
@@ -33902,6 +33902,7 @@ async function resolveDetachScriptPath(params) {
|
|
|
33902
33902
|
return cachedScriptPath;
|
|
33903
33903
|
}
|
|
33904
33904
|
async function buildLongTaskPromptSuffix(params) {
|
|
33905
|
+
if (params.cronEnabled === false) return "";
|
|
33905
33906
|
const scriptPath = await resolveDetachScriptPath(params);
|
|
33906
33907
|
if (!scriptPath) return "";
|
|
33907
33908
|
return "\n\n" + [
|
|
@@ -33913,10 +33914,7 @@ async function buildLongTaskPromptSuffix(params) {
|
|
|
33913
33914
|
" • workdir: absolute path you own (e.g. the agent workspace).",
|
|
33914
33915
|
" • Script spawns under setsid+nohup+disown, writes task-<id>.{pid,cmd,started,log,status} files.",
|
|
33915
33916
|
"- Immediately after detaching, respond to the user with: task id, PID, log file path, your ETA estimate, and that a cron monitor has been scheduled.",
|
|
33916
|
-
"- Register a cron monitor
|
|
33917
|
-
" • schedule: { kind: \"interval\", ms: 180000 } (every 3 minutes; minimum 60000)",
|
|
33918
|
-
" • payload: { kind: \"agent\", sessionTarget: \"isolated\", text: <job prompt> }",
|
|
33919
|
-
" The job prompt must literally contain the task-id, PID, log path, and status path so the future turn has enough context without re-deriving them.",
|
|
33917
|
+
"- Register a cron monitor via the `cron` tool's `add` action. Use the schema documented in that tool's own description for the exact field names — do NOT guess. The monitor should fire roughly every 3 minutes as an isolated agentTurn job, and its message must literally contain the task-id, PID, log path, and status path so the future turn has enough context without re-deriving them.",
|
|
33920
33918
|
"- Safe status read (inside the monitor turn):",
|
|
33921
33919
|
" `status=$(cat \"<workdir>/task-<id>.status\" 2>/dev/null || echo missing)`",
|
|
33922
33920
|
" Possible values: `running pid=<N> started=<ISO>`, `complete rc=<N> ended=<ISO>`, `aborted rc=<N> signal=<TERM|INT|HUP> ended=<ISO>`, or `missing` if the file was cleaned up.",
|
|
@@ -33924,7 +33922,8 @@ async function buildLongTaskPromptSuffix(params) {
|
|
|
33924
33922
|
" • If status begins with `running`: tail -n 20 <log>, post a one-sentence progress line.",
|
|
33925
33923
|
" • If status begins with `complete`: post a final summary with rc and tail, then call cron action=remove on this job id.",
|
|
33926
33924
|
" • If status begins with `aborted`: post a failure summary with signal and tail, then call cron action=remove.",
|
|
33927
|
-
" • Never leave stale monitors running after the task finishes."
|
|
33925
|
+
" • Never leave stale monitors running after the task finishes.",
|
|
33926
|
+
"- Inspecting and killing tasks: use `task_list` to enumerate detached tasks in the workspace (returns id/pid/alive/status/started for each), and `task_cancel` with `taskId` (and optional `signal`, default SIGTERM) to terminate a running task. Prefer these over raw `kill`/`ps` exec calls — they share the detach script's task-id allow-list and report alreadyDead cleanly."
|
|
33928
33927
|
].join("\n");
|
|
33929
33928
|
}
|
|
33930
33929
|
|
|
@@ -34994,7 +34993,8 @@ async function runEmbeddedAttempt(params) {
|
|
|
34994
34993
|
const longTaskSuffix = await buildLongTaskPromptSuffix({
|
|
34995
34994
|
argv1: process.argv[1],
|
|
34996
34995
|
cwd: process.cwd(),
|
|
34997
|
-
moduleUrl: import.meta.url
|
|
34996
|
+
moduleUrl: import.meta.url,
|
|
34997
|
+
cronEnabled: process.env.SYMI_SKIP_CRON !== "1" && params.config?.cron?.enabled !== false
|
|
34998
34998
|
});
|
|
34999
34999
|
const emailCapabilitySuffix = buildEmailCapabilityPromptSuffix();
|
|
35000
35000
|
const systemPromptText = createSystemPromptOverride(appendPrompt + longTaskSuffix + emailCapabilitySuffix + profilePromptSuffix)();
|
|
@@ -36838,7 +36838,7 @@ async function runAgentTurn(params) {
|
|
|
36838
36838
|
function createDefaultDeps() {
|
|
36839
36839
|
return {
|
|
36840
36840
|
sendMessageWhatsApp: async (...args) => {
|
|
36841
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
36841
|
+
const { sendMessageWhatsApp } = await import("./web-D0DsmFvw.js");
|
|
36842
36842
|
return await sendMessageWhatsApp(...args);
|
|
36843
36843
|
},
|
|
36844
36844
|
sendMessageTelegram: async (...args) => {
|
|
@@ -54276,7 +54276,7 @@ function loadWebLoginQr() {
|
|
|
54276
54276
|
return webLoginQrPromise;
|
|
54277
54277
|
}
|
|
54278
54278
|
function loadWebChannel() {
|
|
54279
|
-
webChannelPromise ??= import("./web-
|
|
54279
|
+
webChannelPromise ??= import("./web-D0DsmFvw.js");
|
|
54280
54280
|
return webChannelPromise;
|
|
54281
54281
|
}
|
|
54282
54282
|
function loadWhatsAppActions() {
|
|
@@ -57543,7 +57543,7 @@ async function resolveSandboxWorkdir(params) {
|
|
|
57543
57543
|
};
|
|
57544
57544
|
}
|
|
57545
57545
|
}
|
|
57546
|
-
function resolveWorkdir(workdir, warnings) {
|
|
57546
|
+
function resolveWorkdir$1(workdir, warnings) {
|
|
57547
57547
|
const fallback = safeCwd() ?? homedir();
|
|
57548
57548
|
try {
|
|
57549
57549
|
if (statSync(workdir).isDirectory()) return workdir;
|
|
@@ -58685,7 +58685,7 @@ function createExecTool(defaults) {
|
|
|
58685
58685
|
});
|
|
58686
58686
|
workdir = resolved.hostWorkdir;
|
|
58687
58687
|
containerWorkdir = resolved.containerWorkdir;
|
|
58688
|
-
} else workdir = resolveWorkdir(rawWorkdir, warnings);
|
|
58688
|
+
} else workdir = resolveWorkdir$1(rawWorkdir, warnings);
|
|
58689
58689
|
const baseEnv = coerceEnv(process.env);
|
|
58690
58690
|
if (host !== "sandbox" && params.env) validateHostEnv(params.env);
|
|
58691
58691
|
const mergedEnv = params.env ? {
|
|
@@ -59599,6 +59599,8 @@ const SUBAGENT_TOOL_DENY_ALWAYS = [
|
|
|
59599
59599
|
"whatsapp_login",
|
|
59600
59600
|
"session_status",
|
|
59601
59601
|
"cron",
|
|
59602
|
+
"task_list",
|
|
59603
|
+
"task_cancel",
|
|
59602
59604
|
"memory_search",
|
|
59603
59605
|
"memory_get",
|
|
59604
59606
|
"memory_pin",
|
|
@@ -68668,6 +68670,254 @@ function createSubagentsTool(opts) {
|
|
|
68668
68670
|
};
|
|
68669
68671
|
}
|
|
68670
68672
|
|
|
68673
|
+
//#endregion
|
|
68674
|
+
//#region src/agents/tools/task-tool.ts
|
|
68675
|
+
/**
|
|
68676
|
+
* Long-task management tools (task_list, task_cancel).
|
|
68677
|
+
*
|
|
68678
|
+
* Companions to the detach-task pattern in skills/long-task. The detach
|
|
68679
|
+
* script writes task-<id>.{pid,cmd,started,log,status} state files into
|
|
68680
|
+
* the agent's workspace; these tools read and act on those files so the
|
|
68681
|
+
* agent can answer "what's running?" and kill a task without needing
|
|
68682
|
+
* shell access.
|
|
68683
|
+
*
|
|
68684
|
+
* task-id allow-list mirrors detach-task.sh: 1–60 chars from
|
|
68685
|
+
* [a-zA-Z0-9._-], must not start with '.' or '-'. Diverging would let the
|
|
68686
|
+
* agent kill processes it never spawned via path traversal.
|
|
68687
|
+
*/
|
|
68688
|
+
const TASK_FILE_PREFIX = "task-";
|
|
68689
|
+
const TASK_ID_RE = /^[a-zA-Z0-9_][a-zA-Z0-9._-]{0,59}$/;
|
|
68690
|
+
const TASK_FILE_SUFFIXES = [
|
|
68691
|
+
".pid",
|
|
68692
|
+
".status",
|
|
68693
|
+
".started",
|
|
68694
|
+
".cmd",
|
|
68695
|
+
".log"
|
|
68696
|
+
];
|
|
68697
|
+
const ALLOWED_SIGNALS = new Set([
|
|
68698
|
+
"SIGTERM",
|
|
68699
|
+
"SIGINT",
|
|
68700
|
+
"SIGHUP",
|
|
68701
|
+
"SIGQUIT",
|
|
68702
|
+
"SIGKILL",
|
|
68703
|
+
"SIGUSR1",
|
|
68704
|
+
"SIGUSR2"
|
|
68705
|
+
]);
|
|
68706
|
+
const TaskListSchema = Type.Object({ workdir: Type.Optional(Type.String()) });
|
|
68707
|
+
const TaskCancelSchema = Type.Object({
|
|
68708
|
+
taskId: Type.String(),
|
|
68709
|
+
workdir: Type.Optional(Type.String()),
|
|
68710
|
+
signal: Type.Optional(Type.String())
|
|
68711
|
+
});
|
|
68712
|
+
function normaliseSignal(input) {
|
|
68713
|
+
if (!input) return "SIGTERM";
|
|
68714
|
+
const upper = input.trim().toUpperCase();
|
|
68715
|
+
const candidate = upper.startsWith("SIG") ? upper : `SIG${upper}`;
|
|
68716
|
+
if (ALLOWED_SIGNALS.has(candidate)) return candidate;
|
|
68717
|
+
throw new Error(`Unsupported signal: ${input}. Allowed: TERM, INT, HUP, QUIT, KILL, USR1, USR2.`);
|
|
68718
|
+
}
|
|
68719
|
+
function isPidAlive(pid) {
|
|
68720
|
+
try {
|
|
68721
|
+
process.kill(pid, 0);
|
|
68722
|
+
return true;
|
|
68723
|
+
} catch (err) {
|
|
68724
|
+
if (err.code === "EPERM") return true;
|
|
68725
|
+
return false;
|
|
68726
|
+
}
|
|
68727
|
+
}
|
|
68728
|
+
async function safeRead(filePath) {
|
|
68729
|
+
try {
|
|
68730
|
+
return (await fs.promises.readFile(filePath, "utf8")).trim();
|
|
68731
|
+
} catch {
|
|
68732
|
+
return null;
|
|
68733
|
+
}
|
|
68734
|
+
}
|
|
68735
|
+
function resolveWorkdir(deps, override) {
|
|
68736
|
+
const raw = override?.trim();
|
|
68737
|
+
if (!raw) return deps.workspaceDir;
|
|
68738
|
+
if (!path.isAbsolute(raw)) throw new Error(`workdir must be an absolute path (got: ${raw})`);
|
|
68739
|
+
return raw;
|
|
68740
|
+
}
|
|
68741
|
+
async function readTaskInfo(workdir, id) {
|
|
68742
|
+
const pidPath = path.join(workdir, `${TASK_FILE_PREFIX}${id}.pid`);
|
|
68743
|
+
const [pidText, status, started, cmd] = await Promise.all([
|
|
68744
|
+
safeRead(pidPath),
|
|
68745
|
+
safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.status`)),
|
|
68746
|
+
safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.started`)),
|
|
68747
|
+
safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.cmd`))
|
|
68748
|
+
]);
|
|
68749
|
+
let pid = null;
|
|
68750
|
+
if (pidText) {
|
|
68751
|
+
const parsed = Number.parseInt(pidText, 10);
|
|
68752
|
+
if (Number.isFinite(parsed) && parsed > 0) pid = parsed;
|
|
68753
|
+
}
|
|
68754
|
+
return {
|
|
68755
|
+
id,
|
|
68756
|
+
pid,
|
|
68757
|
+
alive: pid !== null && isPidAlive(pid),
|
|
68758
|
+
status: status ?? "missing",
|
|
68759
|
+
started,
|
|
68760
|
+
cmd,
|
|
68761
|
+
pidPath,
|
|
68762
|
+
statusPath: path.join(workdir, `${TASK_FILE_PREFIX}${id}.status`),
|
|
68763
|
+
logPath: path.join(workdir, `${TASK_FILE_PREFIX}${id}.log`)
|
|
68764
|
+
};
|
|
68765
|
+
}
|
|
68766
|
+
function createTaskListTool(deps) {
|
|
68767
|
+
return {
|
|
68768
|
+
label: "Task List",
|
|
68769
|
+
name: "task_list",
|
|
68770
|
+
description: `List long-running detached tasks in the agent's workspace.
|
|
68771
|
+
|
|
68772
|
+
Globs task-<id>.{pid,status,started,cmd,log} files, reads their state, and
|
|
68773
|
+
checks each PID's liveness. Use this to find the task-id of a running
|
|
68774
|
+
detach-task before calling task_cancel, or to answer "what's running right
|
|
68775
|
+
now?" without re-asking the user.
|
|
68776
|
+
|
|
68777
|
+
Returns: { workdir, tasks: [{ id, pid, alive, status, started, cmd, pidPath, statusPath, logPath }] }.
|
|
68778
|
+
Tasks whose .pid file is missing are still listed (alive=false, pid=null) so
|
|
68779
|
+
the agent can spot orphan state files.`,
|
|
68780
|
+
parameters: TaskListSchema,
|
|
68781
|
+
execute: async (_toolCallId, args) => {
|
|
68782
|
+
const override = readStringParam(args, "workdir");
|
|
68783
|
+
let workdir;
|
|
68784
|
+
try {
|
|
68785
|
+
workdir = resolveWorkdir(deps, override);
|
|
68786
|
+
} catch (err) {
|
|
68787
|
+
return jsonResult({
|
|
68788
|
+
workdir: override ?? deps.workspaceDir,
|
|
68789
|
+
tasks: [],
|
|
68790
|
+
error: err instanceof Error ? err.message : String(err)
|
|
68791
|
+
});
|
|
68792
|
+
}
|
|
68793
|
+
let entries;
|
|
68794
|
+
try {
|
|
68795
|
+
entries = await fs.promises.readdir(workdir);
|
|
68796
|
+
} catch (err) {
|
|
68797
|
+
if (err.code === "ENOENT") return jsonResult({
|
|
68798
|
+
workdir,
|
|
68799
|
+
tasks: []
|
|
68800
|
+
});
|
|
68801
|
+
return jsonResult({
|
|
68802
|
+
workdir,
|
|
68803
|
+
tasks: [],
|
|
68804
|
+
error: err instanceof Error ? err.message : String(err)
|
|
68805
|
+
});
|
|
68806
|
+
}
|
|
68807
|
+
const taskIds = /* @__PURE__ */ new Set();
|
|
68808
|
+
for (const entry of entries) {
|
|
68809
|
+
if (!entry.startsWith(TASK_FILE_PREFIX)) continue;
|
|
68810
|
+
for (const suffix of TASK_FILE_SUFFIXES) if (entry.endsWith(suffix)) {
|
|
68811
|
+
const id = entry.slice(5, -suffix.length);
|
|
68812
|
+
if (id.length > 0 && TASK_ID_RE.test(id)) taskIds.add(id);
|
|
68813
|
+
break;
|
|
68814
|
+
}
|
|
68815
|
+
}
|
|
68816
|
+
const tasks = await Promise.all([...taskIds].toSorted().map((id) => readTaskInfo(workdir, id)));
|
|
68817
|
+
return jsonResult({
|
|
68818
|
+
workdir,
|
|
68819
|
+
tasks
|
|
68820
|
+
});
|
|
68821
|
+
}
|
|
68822
|
+
};
|
|
68823
|
+
}
|
|
68824
|
+
function createTaskCancelTool(deps) {
|
|
68825
|
+
return {
|
|
68826
|
+
label: "Task Cancel",
|
|
68827
|
+
name: "task_cancel",
|
|
68828
|
+
description: `Send a signal (default SIGTERM) to a running detached task.
|
|
68829
|
+
|
|
68830
|
+
Reads task-<id>.pid in the workdir, validates the recorded PID is alive,
|
|
68831
|
+
and sends the signal via process.kill. The task's TERM/INT/HUP trap will
|
|
68832
|
+
write an "aborted" status before exiting, so a follow-up task_list call
|
|
68833
|
+
sees the canonical end state.
|
|
68834
|
+
|
|
68835
|
+
task-id must match the same allow-list as detach-task.sh: 1–60 chars from
|
|
68836
|
+
[a-zA-Z0-9._-], no leading '.' or '-'. signal accepts TERM (default), INT,
|
|
68837
|
+
HUP, QUIT, KILL, USR1, USR2 — with or without the "SIG" prefix.
|
|
68838
|
+
|
|
68839
|
+
Returns: { ok, taskId, pid, sentSignal, alreadyDead?, error? }.`,
|
|
68840
|
+
parameters: TaskCancelSchema,
|
|
68841
|
+
execute: async (_toolCallId, args) => {
|
|
68842
|
+
const params = args;
|
|
68843
|
+
const taskId = readStringParam(params, "taskId", { required: true });
|
|
68844
|
+
if (!TASK_ID_RE.test(taskId)) return jsonResult({
|
|
68845
|
+
ok: false,
|
|
68846
|
+
taskId,
|
|
68847
|
+
error: "taskId must be 1–60 chars from [a-zA-Z0-9._-] and must not start with '.' or '-'."
|
|
68848
|
+
});
|
|
68849
|
+
const override = readStringParam(params, "workdir");
|
|
68850
|
+
let workdir;
|
|
68851
|
+
try {
|
|
68852
|
+
workdir = resolveWorkdir(deps, override);
|
|
68853
|
+
} catch (err) {
|
|
68854
|
+
return jsonResult({
|
|
68855
|
+
ok: false,
|
|
68856
|
+
taskId,
|
|
68857
|
+
error: err instanceof Error ? err.message : String(err)
|
|
68858
|
+
});
|
|
68859
|
+
}
|
|
68860
|
+
const signalRaw = readStringParam(params, "signal");
|
|
68861
|
+
let signal;
|
|
68862
|
+
try {
|
|
68863
|
+
signal = normaliseSignal(signalRaw);
|
|
68864
|
+
} catch (err) {
|
|
68865
|
+
return jsonResult({
|
|
68866
|
+
ok: false,
|
|
68867
|
+
taskId,
|
|
68868
|
+
error: err instanceof Error ? err.message : String(err)
|
|
68869
|
+
});
|
|
68870
|
+
}
|
|
68871
|
+
const pidPath = path.join(workdir, `${TASK_FILE_PREFIX}${taskId}.pid`);
|
|
68872
|
+
let pidText;
|
|
68873
|
+
try {
|
|
68874
|
+
pidText = (await fs.promises.readFile(pidPath, "utf8")).trim();
|
|
68875
|
+
} catch (err) {
|
|
68876
|
+
if (err.code === "ENOENT") return jsonResult({
|
|
68877
|
+
ok: false,
|
|
68878
|
+
taskId,
|
|
68879
|
+
error: `no pid file at ${pidPath} — task is unknown or already cleaned up`
|
|
68880
|
+
});
|
|
68881
|
+
return jsonResult({
|
|
68882
|
+
ok: false,
|
|
68883
|
+
taskId,
|
|
68884
|
+
error: err instanceof Error ? err.message : String(err)
|
|
68885
|
+
});
|
|
68886
|
+
}
|
|
68887
|
+
const pid = Number.parseInt(pidText, 10);
|
|
68888
|
+
if (!Number.isFinite(pid) || pid <= 0) return jsonResult({
|
|
68889
|
+
ok: false,
|
|
68890
|
+
taskId,
|
|
68891
|
+
error: `pid file at ${pidPath} did not contain a positive integer`
|
|
68892
|
+
});
|
|
68893
|
+
if (!isPidAlive(pid)) return jsonResult({
|
|
68894
|
+
ok: false,
|
|
68895
|
+
taskId,
|
|
68896
|
+
pid,
|
|
68897
|
+
alreadyDead: true,
|
|
68898
|
+
error: "process is no longer running"
|
|
68899
|
+
});
|
|
68900
|
+
try {
|
|
68901
|
+
process.kill(pid, signal);
|
|
68902
|
+
} catch (err) {
|
|
68903
|
+
return jsonResult({
|
|
68904
|
+
ok: false,
|
|
68905
|
+
taskId,
|
|
68906
|
+
pid,
|
|
68907
|
+
sentSignal: signal,
|
|
68908
|
+
error: err instanceof Error ? err.message : String(err)
|
|
68909
|
+
});
|
|
68910
|
+
}
|
|
68911
|
+
return jsonResult({
|
|
68912
|
+
ok: true,
|
|
68913
|
+
taskId,
|
|
68914
|
+
pid,
|
|
68915
|
+
sentSignal: signal
|
|
68916
|
+
});
|
|
68917
|
+
}
|
|
68918
|
+
};
|
|
68919
|
+
}
|
|
68920
|
+
|
|
68671
68921
|
//#endregion
|
|
68672
68922
|
//#region src/agents/tools/tts-tool.ts
|
|
68673
68923
|
const TtsToolSchema = Type.Object({
|
|
@@ -69968,6 +70218,8 @@ function createSymiTools(options) {
|
|
|
69968
70218
|
config: options?.config
|
|
69969
70219
|
}),
|
|
69970
70220
|
createCronTool({ agentSessionKey: options?.agentSessionKey }),
|
|
70221
|
+
createTaskListTool({ workspaceDir }),
|
|
70222
|
+
createTaskCancelTool({ workspaceDir }),
|
|
69971
70223
|
...messageTool ? [messageTool] : [],
|
|
69972
70224
|
createTtsTool({
|
|
69973
70225
|
agentChannel: options?.agentChannel,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "./accounts-D9zGZU5t.js";
|
|
2
|
-
import { u as runAgentTurn } from "./reply-
|
|
2
|
+
import { u as runAgentTurn } from "./reply-BKAHTugL.js";
|
|
3
3
|
import "./paths-DR2yt_mP.js";
|
|
4
4
|
import "./github-copilot-token-D9X2phUj.js";
|
|
5
5
|
import "./plugins-BbAvhC25.js";
|
|
@@ -49,7 +49,7 @@ import "./image-DFyINnvE.js";
|
|
|
49
49
|
import "./pi-model-discovery-LbcEa65a.js";
|
|
50
50
|
import "./api-key-rotation-CBsLb_4V.js";
|
|
51
51
|
import "./diagnostic-session-state-Wd5tNeQG.js";
|
|
52
|
-
import "./manager-
|
|
52
|
+
import "./manager-BPm5oefC.js";
|
|
53
53
|
import "./sqlite-CmVrFEYD.js";
|
|
54
54
|
import "./commands-registry-BuYpmEx-.js";
|
|
55
55
|
import "./send-CGhw9mO3.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as WA_WEB_AUTH_DIR, g as webAuthExists, s as logWebSelfId, u as pickWebChannel } from "./accounts-D9zGZU5t.js";
|
|
2
|
-
import "./reply-
|
|
2
|
+
import "./reply-BKAHTugL.js";
|
|
3
3
|
import "./paths-DR2yt_mP.js";
|
|
4
4
|
import "./github-copilot-token-D9X2phUj.js";
|
|
5
5
|
import "./plugins-BbAvhC25.js";
|
|
@@ -45,12 +45,12 @@ import "./pi-embedded-helpers-BL7ZRhGv.js";
|
|
|
45
45
|
import "./paths-A0xdf3yk.js";
|
|
46
46
|
import "./diagnostic-_oc91gNi.js";
|
|
47
47
|
import "./store-Do3t33-c.js";
|
|
48
|
-
import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-
|
|
48
|
+
import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-t8UOP6Zu.js";
|
|
49
49
|
import "./image-DFyINnvE.js";
|
|
50
50
|
import "./pi-model-discovery-LbcEa65a.js";
|
|
51
51
|
import "./api-key-rotation-CBsLb_4V.js";
|
|
52
52
|
import "./diagnostic-session-state-Wd5tNeQG.js";
|
|
53
|
-
import "./manager-
|
|
53
|
+
import "./manager-BPm5oefC.js";
|
|
54
54
|
import "./sqlite-CmVrFEYD.js";
|
|
55
55
|
import "./commands-registry-BuYpmEx-.js";
|
|
56
56
|
import "./send-CGhw9mO3.js";
|
|
@@ -14,7 +14,7 @@ import "./client-qUlxXXVJ.js";
|
|
|
14
14
|
import "./call-BrRWr7Lj.js";
|
|
15
15
|
import "./message-channel-C9dERklz.js";
|
|
16
16
|
import "./pairing-token-Byh6drgn.js";
|
|
17
|
-
import "./subagent-registry-
|
|
17
|
+
import "./subagent-registry-C1OyZl-M.js";
|
|
18
18
|
import "./sessions-BPD85pWA.js";
|
|
19
19
|
import "./tokens-Csntmwwn.js";
|
|
20
20
|
import "./plugins-CwSlLxM8.js";
|
|
@@ -52,8 +52,8 @@ import "./tool-images-CVLISeRT.js";
|
|
|
52
52
|
import "./thinking-8sKPnzpp.js";
|
|
53
53
|
import "./models-config-J1x_DaPn.js";
|
|
54
54
|
import "./reply-prefix-BUN71nd5.js";
|
|
55
|
-
import "./memory-cli-
|
|
56
|
-
import "./manager-
|
|
55
|
+
import "./memory-cli-Qgbcxvuf.js";
|
|
56
|
+
import "./manager-DDELj5o9.js";
|
|
57
57
|
import "./gemini-auth-DEakvf-D.js";
|
|
58
58
|
import "./retry-C4Q_VPOo.js";
|
|
59
59
|
import "./sqlite-BP8tiuca.js";
|
|
@@ -97,13 +97,13 @@ import "./replies-Sxbew659.js";
|
|
|
97
97
|
import "./onboard-helpers-CF0Cp3OB.js";
|
|
98
98
|
import "./prompt-style-BxVdnrLq.js";
|
|
99
99
|
import "./pairing-labels-BHx_CdbP.js";
|
|
100
|
-
import "./pi-tools.policy-
|
|
100
|
+
import "./pi-tools.policy-o0ytjRqu.js";
|
|
101
101
|
import { c as resolveArchiveKind } from "./install-safe-path-C__62m3G.js";
|
|
102
102
|
import "./npm-registry-spec-PuS2I1Em.js";
|
|
103
103
|
import "./skill-scanner-BV3QHmsf.js";
|
|
104
104
|
import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-B4sNNRaW.js";
|
|
105
105
|
import { t as renderTable } from "./table-Bka4fasy.js";
|
|
106
|
-
import { t as buildPluginStatusReport } from "./status-
|
|
106
|
+
import { t as buildPluginStatusReport } from "./status-DJAeKN4G.js";
|
|
107
107
|
import { n as updateNpmInstalledPlugins } from "./update-DticqU4-.js";
|
|
108
108
|
import os from "node:os";
|
|
109
109
|
import path from "node:path";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { g as resolveStateDir } from "./paths-Cqn-zk3M.js";
|
|
2
2
|
import { B as theme, S as shortenHomePath, g as resolveConfigDir, x as shortenHomeInString, y as resolveUserPath } from "./utils-B-0b9bGM.js";
|
|
3
3
|
import "./thinking-EAliFiVK.js";
|
|
4
|
-
import "./reply-
|
|
4
|
+
import "./reply-Dg1ZU3DZ.js";
|
|
5
5
|
import "./registry-Cja8eT7G.js";
|
|
6
6
|
import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
|
|
7
7
|
import "./exec-CWkblSrI.js";
|
|
@@ -60,8 +60,8 @@ import "./diagnostic-session-state-CUslJyKP.js";
|
|
|
60
60
|
import "./send-DpMnSIi5.js";
|
|
61
61
|
import "./model-ECsJuJew.js";
|
|
62
62
|
import "./reply-prefix-CE2YmmsD.js";
|
|
63
|
-
import "./memory-cli-
|
|
64
|
-
import "./manager-
|
|
63
|
+
import "./memory-cli-ENCASZJk.js";
|
|
64
|
+
import "./manager-DrmlegR2.js";
|
|
65
65
|
import "./retry-BoS4e4X_.js";
|
|
66
66
|
import "./sqlite-D55gRQbH.js";
|
|
67
67
|
import "./target-errors-C9e6dMU_.js";
|
|
@@ -98,7 +98,7 @@ import "./prompt-style-Y2J72w6p.js";
|
|
|
98
98
|
import "./pairing-labels-CTL1gXZb.js";
|
|
99
99
|
import "./exec-approvals-DEigTi7M.js";
|
|
100
100
|
import "./nodes-screen-BZS89z6C.js";
|
|
101
|
-
import "./pi-tools.policy-
|
|
101
|
+
import "./pi-tools.policy-Bx5zp45n.js";
|
|
102
102
|
import "./control-service-C0pRqIFv.js";
|
|
103
103
|
import "./stagger-CZ1Rrj7O.js";
|
|
104
104
|
import "./channel-selection-9fIQGtZy.js";
|
|
@@ -107,7 +107,7 @@ import "./npm-registry-spec-B98RgVZF.js";
|
|
|
107
107
|
import "./skill-scanner-BTgjeQBf.js";
|
|
108
108
|
import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-BPZKRjsO.js";
|
|
109
109
|
import { t as renderTable } from "./table-BWuvjnmY.js";
|
|
110
|
-
import { t as buildPluginStatusReport } from "./status-
|
|
110
|
+
import { t as buildPluginStatusReport } from "./status-BvbJavmh.js";
|
|
111
111
|
import { n as updateNpmInstalledPlugins } from "./update-D4uLu0dv.js";
|
|
112
112
|
import fs from "node:fs";
|
|
113
113
|
import os from "node:os";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { f as DEFAULT_ACCOUNT_ID, p as normalizeAccountId } from "./session-key-BCzIW1Y2.js";
|
|
2
|
-
import { M as normalizeE164, a as normalizeAnyChannelId, l as requireActivePluginRegistry, n as CHAT_CHANNEL_ORDER } from "./registry-
|
|
3
|
-
import { t as isTruthyEnvValue } from "./env-
|
|
2
|
+
import { M as normalizeE164, a as normalizeAnyChannelId, l as requireActivePluginRegistry, n as CHAT_CHANNEL_ORDER } from "./registry-X6fUE0K7.js";
|
|
3
|
+
import { t as isTruthyEnvValue } from "./env-CB65jmJQ.js";
|
|
4
4
|
import { t as normalizeChatType } from "./chat-type-3FRbbjbq.js";
|
|
5
|
-
import { m as createAccountListHelpers } from "./accounts-
|
|
6
|
-
import { n as listBoundAccountIds, r as resolveDefaultAgentBoundAccountId } from "./bindings-
|
|
7
|
-
import
|
|
5
|
+
import { m as createAccountListHelpers } from "./accounts-BsgY6sda.js";
|
|
6
|
+
import { n as listBoundAccountIds, r as resolveDefaultAgentBoundAccountId } from "./bindings-xcRox9xM.js";
|
|
7
|
+
import fsSync from "node:fs";
|
|
8
8
|
|
|
9
9
|
//#region src/channels/plugins/account-action-gate.ts
|
|
10
10
|
function createAccountActionGate(params) {
|
|
@@ -186,7 +186,7 @@ function resolveTelegramToken(cfg, opts = {}) {
|
|
|
186
186
|
const accountCfg = resolveAccountCfg(accountId !== DEFAULT_ACCOUNT_ID ? accountId : DEFAULT_ACCOUNT_ID);
|
|
187
187
|
const accountTokenFile = accountCfg?.tokenFile?.trim();
|
|
188
188
|
if (accountTokenFile) {
|
|
189
|
-
if (!
|
|
189
|
+
if (!fsSync.existsSync(accountTokenFile)) {
|
|
190
190
|
opts.logMissingFile?.(`channels.telegram.accounts.${accountId}.tokenFile not found: ${accountTokenFile}`);
|
|
191
191
|
return {
|
|
192
192
|
token: "",
|
|
@@ -194,7 +194,7 @@ function resolveTelegramToken(cfg, opts = {}) {
|
|
|
194
194
|
};
|
|
195
195
|
}
|
|
196
196
|
try {
|
|
197
|
-
const token =
|
|
197
|
+
const token = fsSync.readFileSync(accountTokenFile, "utf-8").trim();
|
|
198
198
|
if (token) return {
|
|
199
199
|
token,
|
|
200
200
|
source: "tokenFile"
|
|
@@ -219,7 +219,7 @@ function resolveTelegramToken(cfg, opts = {}) {
|
|
|
219
219
|
const allowEnv = accountId === DEFAULT_ACCOUNT_ID;
|
|
220
220
|
const tokenFile = telegramCfg?.tokenFile?.trim();
|
|
221
221
|
if (tokenFile && allowEnv) {
|
|
222
|
-
if (!
|
|
222
|
+
if (!fsSync.existsSync(tokenFile)) {
|
|
223
223
|
opts.logMissingFile?.(`channels.telegram.tokenFile not found: ${tokenFile}`);
|
|
224
224
|
return {
|
|
225
225
|
token: "",
|
|
@@ -227,7 +227,7 @@ function resolveTelegramToken(cfg, opts = {}) {
|
|
|
227
227
|
};
|
|
228
228
|
}
|
|
229
229
|
try {
|
|
230
|
-
const token =
|
|
230
|
+
const token = fsSync.readFileSync(tokenFile, "utf-8").trim();
|
|
231
231
|
if (token) return {
|
|
232
232
|
token,
|
|
233
233
|
source: "tokenFile"
|
|
@@ -15,7 +15,7 @@ import "./client-qUlxXXVJ.js";
|
|
|
15
15
|
import "./call-BrRWr7Lj.js";
|
|
16
16
|
import "./message-channel-C9dERklz.js";
|
|
17
17
|
import "./pairing-token-Byh6drgn.js";
|
|
18
|
-
import "./subagent-registry-
|
|
18
|
+
import "./subagent-registry-C1OyZl-M.js";
|
|
19
19
|
import "./sessions-BPD85pWA.js";
|
|
20
20
|
import "./tokens-Csntmwwn.js";
|
|
21
21
|
import "./plugins-CwSlLxM8.js";
|
|
@@ -53,8 +53,8 @@ import "./tool-images-CVLISeRT.js";
|
|
|
53
53
|
import "./thinking-8sKPnzpp.js";
|
|
54
54
|
import "./models-config-J1x_DaPn.js";
|
|
55
55
|
import "./reply-prefix-BUN71nd5.js";
|
|
56
|
-
import "./memory-cli-
|
|
57
|
-
import "./manager-
|
|
56
|
+
import "./memory-cli-Qgbcxvuf.js";
|
|
57
|
+
import "./manager-DDELj5o9.js";
|
|
58
58
|
import "./gemini-auth-DEakvf-D.js";
|
|
59
59
|
import "./retry-C4Q_VPOo.js";
|
|
60
60
|
import "./sqlite-BP8tiuca.js";
|
|
@@ -98,15 +98,15 @@ import "./replies-Sxbew659.js";
|
|
|
98
98
|
import "./onboard-helpers-CF0Cp3OB.js";
|
|
99
99
|
import "./prompt-style-BxVdnrLq.js";
|
|
100
100
|
import "./pairing-labels-BHx_CdbP.js";
|
|
101
|
-
import "./pi-tools.policy-
|
|
101
|
+
import "./pi-tools.policy-o0ytjRqu.js";
|
|
102
102
|
import "./catalog-KcLvtTfa.js";
|
|
103
|
-
import "./plugin-registry-
|
|
104
|
-
import { n as resolveCliChannelOptions } from "./channel-options-
|
|
105
|
-
import { t as getSubCliCommandsWithSubcommands } from "./register.subclis-
|
|
106
|
-
import { a as registerProgramCommands, r as getCoreCliCommandsWithSubcommands } from "./command-registry-
|
|
103
|
+
import "./plugin-registry-Cuc8ORuR.js";
|
|
104
|
+
import { n as resolveCliChannelOptions } from "./channel-options-DYy2sCfN.js";
|
|
105
|
+
import { t as getSubCliCommandsWithSubcommands } from "./register.subclis-BCy0IDRv.js";
|
|
106
|
+
import { a as registerProgramCommands, r as getCoreCliCommandsWithSubcommands } from "./command-registry-LjFltTU9.js";
|
|
107
107
|
import { r as setProgramContext } from "./program-context-DeZ44oQ9.js";
|
|
108
108
|
import { t as forceFreePort } from "./ports-DQg7kV5s.js";
|
|
109
|
-
import { n as formatCliBannerLine, r as hasEmittedCliBanner, t as emitCliBanner } from "./banner-
|
|
109
|
+
import { n as formatCliBannerLine, r as hasEmittedCliBanner, t as emitCliBanner } from "./banner-DrNha2_N.js";
|
|
110
110
|
import { Command } from "commander";
|
|
111
111
|
|
|
112
112
|
//#region src/cli/program/context.ts
|
|
@@ -214,7 +214,7 @@ function registerPreActionHooks(program, programVersion) {
|
|
|
214
214
|
commandPath
|
|
215
215
|
});
|
|
216
216
|
if (PLUGIN_REQUIRED_COMMANDS.has(commandPath[0])) {
|
|
217
|
-
const { ensurePluginRegistryLoaded } = await import("./plugin-registry-
|
|
217
|
+
const { ensurePluginRegistryLoaded } = await import("./plugin-registry-Cuc8ORuR.js").then((n) => n.n);
|
|
218
218
|
ensurePluginRegistryLoaded();
|
|
219
219
|
}
|
|
220
220
|
});
|