@symerian/symi 2.8.17 → 2.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{agents-9cAyC5ED.js → agents-CvNeiuSB.js} +4 -4
- package/dist/{agents.config-Cu9zTq04.js → agents.config-BCgY5FjE.js} +1 -1
- package/dist/{agents.config-DuwhYjpi.js → agents.config-Ct64cGQ8.js} +1 -1
- package/dist/{audio-preflight-rjCWpcfE.js → audio-preflight-Cb-T0r6e.js} +4 -4
- package/dist/{auth-choice-CPqyqc93.js → auth-choice-ChFU9OCF.js} +1 -1
- package/dist/{auth-choice-DeNzlUAR.js → auth-choice-DmMyKZX4.js} +1 -1
- package/dist/{banner-S1NGA6-s.js → banner-Bf46tqiY.js} +1 -1
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +7 -7
- package/dist/bundled/session-memory/handler.js +7 -7
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-C0v4BJgp.js → channel-options-Bqc2VCgt.js} +1 -1
- package/dist/{channel-options-C6y7Khvq.js → channel-options-D4a0ZJ72.js} +1 -1
- package/dist/{channel-web-DirOFV_n.js → channel-web-YNC2xS5K.js} +1 -1
- package/dist/{channels-cli-BhNHckMo.js → channels-cli-BFJcNLbB.js} +6 -6
- package/dist/{channels-cli-By_SbriI.js → channels-cli-h3GnmmM9.js} +6 -6
- package/dist/{chrome-C08Z0XAa.js → chrome-ROtrXlNs.js} +7 -7
- package/dist/{cli-B1QQv1cb.js → cli-BX54CAM7.js} +3 -3
- package/dist/{cli-Bx4RQCuK.js → cli-BpQlSGVs.js} +3 -3
- package/dist/{command-registry-uMOPbrbY.js → command-registry-BiRjJ2Sy.js} +10 -10
- package/dist/{completion-cli-B6s_3rEE.js → completion-cli-BYXofVqv.js} +2 -2
- package/dist/{completion-cli-DVD79pVj.js → completion-cli-C8K5J1ld.js} +1 -1
- package/dist/{config-cli-DzudcNAD.js → config-cli-BPPD3xqE.js} +1 -1
- package/dist/{config-cli-DCGgd-ZL.js → config-cli-Deoo6r2K.js} +1 -1
- package/dist/{configure-BybpK_1N.js → configure-BKHxUAAh.js} +3 -3
- package/dist/{configure-CItWwZwI.js → configure-D4f0P3bH.js} +3 -3
- package/dist/{deliver-qUx-eLKt.js → deliver-B0OUq6RP.js} +1 -1
- package/dist/{doctor-completion-BkwgaO4G.js → doctor-completion-gMWymNcA.js} +1 -1
- package/dist/{doctor-completion-Bf6dN4D-.js → doctor-completion-woDYSVtY.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/extensionAPI.js +2 -2
- package/dist/{gateway-cli-eNV6kb1V.js → gateway-cli-Bnh42-56.js} +85 -41
- package/dist/{gateway-cli-7CVmb3cX.js → gateway-cli-DsnkTUOp.js} +85 -41
- package/dist/{glass-ui-ws-i91Ms6ts.js → glass-ui-ws-0Y0KsBvU.js} +9 -9
- package/dist/{glass-ui-ws-B4fsBuHx.js → glass-ui-ws-uj3DRmL8.js} +9 -9
- package/dist/{health-C4tWTDu_.js → health-CcV5nKIK.js} +1 -1
- package/dist/{health-dA8r4WJ4.js → health-Dl2WRoTa.js} +1 -1
- package/dist/{hooks-cli-DYn9nXX0.js → hooks-cli-CTcHtm_0.js} +4 -4
- package/dist/{hooks-cli-uGLWBIcW.js → hooks-cli-DEJe3dUH.js} +4 -4
- package/dist/{image-C6rCON9L.js → image-BuVL0jHI.js} +1 -1
- package/dist/index.js +8 -8
- package/dist/llm-slug-generator.js +7 -7
- package/dist/{manager-DhGfNqfc.js → manager-9Mni2AA9.js} +1 -1
- package/dist/{manager-D6E6EGWa.js → manager-C-H0XXJq.js} +1 -1
- package/dist/{manager-BaSutzfz.js → manager-CjW8kPVc.js} +1 -1
- package/dist/{manager-CgQo1mIM.js → manager-QPF0UtOC.js} +1 -1
- package/dist/{memory-cli-BMb31chU.js → memory-cli-BTByRgM0.js} +3 -3
- package/dist/{memory-cli-lJe72a5i.js → memory-cli-OW9XfyYu.js} +3 -3
- package/dist/{models-BITN17gY.js → models-Q1jV8ArL.js} +2 -2
- package/dist/{models-cli-CHjxevMe.js → models-cli-Cy6H1sFq.js} +5 -5
- package/dist/{models-cli-C6JJWWoI.js → models-cli-pfVmmgpv.js} +4 -4
- package/dist/{onboard-C8Si08MS.js → onboard-CvpyaUQd.js} +2 -2
- package/dist/{onboard-DdJV-Doq.js → onboard-EL8foMiP.js} +2 -2
- package/dist/{onboard-channels-Cb-bemSg.js → onboard-channels-BRoSUijQ.js} +1 -1
- package/dist/{onboard-channels-PQP9wlk8.js → onboard-channels-Bupbm6zh.js} +1 -1
- package/dist/{onboarding-QAtuyHtA.js → onboarding-Ch8WSJ3j.js} +3 -3
- package/dist/{onboarding-CAaoPaVQ.js → onboarding-Dg5ydWSh.js} +3 -3
- package/dist/{onboarding.finalize-MuO2mvHv.js → onboarding.finalize-Bo8-8TtH.js} +7 -7
- package/dist/{onboarding.finalize-BhlQmJlX.js → onboarding.finalize-CCTaCp2s.js} +8 -8
- package/dist/{pi-embedded-BUYKq7Wv.js → pi-embedded-Bl3YkBkI.js} +149 -35
- package/dist/{pi-embedded-helpers-P13adotN.js → pi-embedded-helpers-D1_Sab0M.js} +4 -4
- package/dist/{plugin-registry-tXiHw0vr.js → plugin-registry-BVYZLxmo.js} +1 -1
- package/dist/{plugin-registry-DEhkDNDx.js → plugin-registry-Bn9Mj8mP.js} +1 -1
- package/dist/plugin-sdk/agents/pi-tools.read-edit-guard.d.ts +5 -0
- package/dist/plugin-sdk/agents/pi-tools.read-edit-tracker.d.ts +26 -0
- package/dist/plugin-sdk/{channel-web-C7aP_KKZ.js → channel-web-BhqGIC7q.js} +1 -1
- package/dist/plugin-sdk/index.js +3 -3
- package/dist/plugin-sdk/{manager-CvrDwB1Q.js → manager-DdOb0Em2.js} +1 -1
- package/dist/plugin-sdk/{reply-BI7Rf3_S.js → reply-Cjjf4VYT.js} +149 -35
- package/dist/plugin-sdk/{synthesis-B3z0Jqt1.js → synthesis-CZ8BYNXP.js} +2 -2
- package/dist/plugin-sdk/{web-D2WrY-DI.js → web-B8upqMUo.js} +3 -3
- package/dist/{plugins-cli-ByG6o7D2.js → plugins-cli-3h1N5N8n.js} +4 -4
- package/dist/{plugins-cli-D1vPxTOQ.js → plugins-cli-CYOQh2DM.js} +4 -4
- package/dist/{program-Q44fKoq6.js → program-D3_xE9BL.js} +9 -9
- package/dist/{program-context-C3QEc34t.js → program-context-COwsYCbf.js} +18 -18
- package/dist/{prompt-select-styled-DBVeLysq.js → prompt-select-styled-D88AWCeM.js} +6 -6
- package/dist/{prompt-select-styled-BSZrZcW2.js → prompt-select-styled-rKPBDv7n.js} +6 -6
- package/dist/{provider-auth-helpers-Bm4cf-Ms.js → provider-auth-helpers-CyZyVx-V.js} +1 -1
- package/dist/{provider-auth-helpers-rH91VXG-.js → provider-auth-helpers-rff7s_gC.js} +1 -1
- package/dist/{push-apns-CRD9IH1s.js → push-apns-BNzgqUl3.js} +1 -1
- package/dist/{push-apns-Cj10sUbK.js → push-apns-d9qKGKPe.js} +1 -1
- package/dist/{pw-ai-CeWN4iD9.js → pw-ai-DWkC5eGA.js} +1 -1
- package/dist/{register.agent-DGDnsvVd.js → register.agent-BjaqQA02.js} +7 -7
- package/dist/{register.agent-Dfu85lRL.js → register.agent-D_MON8p-.js} +8 -8
- package/dist/{register.configure-FCTbPCwe.js → register.configure-BWkkQhpH.js} +8 -8
- package/dist/{register.configure-BcdyiQui.js → register.configure-UJi9sfNv.js} +8 -8
- package/dist/{register.maintenance-Y8P9AnLe.js → register.maintenance-ChskcWGz.js} +10 -10
- package/dist/{register.maintenance-DvDwpW6B.js → register.maintenance-DJptz3DR.js} +9 -9
- package/dist/{register.message-mTqwOntI.js → register.message-BDTsiyrW.js} +4 -4
- package/dist/{register.message-C57ubt4f.js → register.message-CiadI_oS.js} +4 -4
- package/dist/{register.onboard-MIChlygg.js → register.onboard-BflOE1jy.js} +6 -6
- package/dist/{register.onboard-YCmMzAW-.js → register.onboard-KR_-4TLY.js} +6 -6
- package/dist/{register.setup-sQeN5xag.js → register.setup-Cl0sD25T.js} +6 -6
- package/dist/{register.setup-DzUZ2x6y.js → register.setup-W-oNfOp0.js} +6 -6
- package/dist/{register.status-health-sessions-DaPK2tow.js → register.status-health-sessions-CCQs235z.js} +5 -5
- package/dist/{register.status-health-sessions-DsptpS7K.js → register.status-health-sessions-CT_SmmOH.js} +5 -5
- package/dist/{register.subclis-17z5d7uO.js → register.subclis-ByZAz4st.js} +9 -9
- package/dist/{reply-2awhibgG.js → reply-CgyjcoxC.js} +148 -34
- package/dist/{run-main-CfVO6DFS.js → run-main-xmWpjZL9.js} +17 -17
- package/dist/{runner-D633VT13.js → runner-ecX1WzDt.js} +1 -1
- package/dist/{server-methods-Bdgs89ve.js → server-methods-CBn954AO.js} +8 -8
- package/dist/{server-methods-D_g3GJhv.js → server-methods-DDpCXuOU.js} +8 -8
- package/dist/{server-node-events-BZN3RZ8H.js → server-node-events-BBEMSKVE.js} +4 -4
- package/dist/{server-node-events-Cvgmf8fS.js → server-node-events-BUEZ3py9.js} +4 -4
- package/dist/{status-CwqBkxi2.js → status-BjMiGq0n.js} +1 -1
- package/dist/{status-Dkr4Celv.js → status-CG5iHUJ6.js} +3 -3
- package/dist/{status-DcxWlds6.js → status-CpvzoCOC.js} +1 -1
- package/dist/{status-Ca_VZkZV.js → status-PfvX-BjO.js} +3 -3
- package/dist/{subagent-registry-CncIZPCd.js → subagent-registry-D0IYimMO.js} +148 -34
- package/dist/{synthesis-CxvpkXBW.js → synthesis-BVZ5RJLg.js} +3 -3
- package/dist/{synthesis-lD0Vb_9q.js → synthesis-CBwKBuLy.js} +7 -7
- package/dist/{synthesis-CTC73eY9.js → synthesis-D55QrjAJ.js} +3 -3
- package/dist/{synthesis-DOmJ2Gay.js → synthesis-itgrzpuj.js} +2 -2
- package/dist/{unified-runner-JQaSdhSg.js → unified-runner-BhnvjB1J.js} +163 -49
- package/dist/{update-cli-BO1uw-SU.js → update-cli-CL1_LPBS.js} +10 -10
- package/dist/{update-cli-CplnPSZ5.js → update-cli-D3K4mhrr.js} +9 -9
- package/dist/{update-runner-Df4mjndq.js → update-runner-Bmq67eos.js} +1 -1
- package/dist/{update-runner-DFp9PDMN.js → update-runner-DMucmRlv.js} +1 -1
- package/dist/{web-CCEVjDcU.js → web-B0lZdBBl.js} +3 -3
- package/dist/{web-CZoQ03ZE.js → web-C1HPdY_D.js} +2 -2
- package/dist/{web-BEDc6iEz.js → web-DCO_YCRw.js} +7 -7
- package/dist/{web-Dn33Cd3-.js → web-DmgQtLx3.js} +4 -4
- package/extensions/bluebubbles/package.json +1 -1
- package/extensions/copilot-proxy/package.json +1 -1
- package/extensions/diagnostics-otel/package.json +1 -1
- package/extensions/discord/package.json +1 -1
- package/extensions/feishu/package.json +1 -1
- package/extensions/google-antigravity-auth/package.json +1 -1
- package/extensions/google-gemini-cli-auth/package.json +1 -1
- package/extensions/googlechat/package.json +1 -1
- package/extensions/imessage/package.json +1 -1
- package/extensions/irc/package.json +1 -1
- package/extensions/learning-loop/package.json +1 -1
- package/extensions/line/package.json +1 -1
- package/extensions/llm-task/package.json +1 -1
- package/extensions/matrix/CHANGELOG.md +6 -0
- package/extensions/matrix/package.json +1 -1
- package/extensions/mattermost/package.json +1 -1
- package/extensions/memory-core/package.json +1 -1
- package/extensions/memory-lancedb/package.json +1 -1
- package/extensions/minimax-portal-auth/package.json +1 -1
- package/extensions/msteams/CHANGELOG.md +6 -0
- package/extensions/msteams/package.json +1 -1
- package/extensions/nextcloud-talk/package.json +1 -1
- package/extensions/nostr/CHANGELOG.md +6 -0
- package/extensions/nostr/package.json +1 -1
- package/extensions/open-prose/package.json +1 -1
- package/extensions/outlook/package.json +1 -1
- package/extensions/pipeline/package.json +1 -1
- package/extensions/signal/package.json +1 -1
- package/extensions/slack/package.json +1 -1
- package/extensions/telegram/package.json +1 -1
- package/extensions/tlon/package.json +1 -1
- package/extensions/twitch/CHANGELOG.md +6 -0
- package/extensions/twitch/package.json +1 -1
- package/extensions/voice-call/CHANGELOG.md +6 -0
- package/extensions/voice-call/package.json +1 -1
- package/extensions/whatsapp/package.json +1 -1
- package/extensions/zalo/CHANGELOG.md +6 -0
- package/extensions/zalo/package.json +1 -1
- package/extensions/zalouser/CHANGELOG.md +6 -0
- package/extensions/zalouser/package.json +1 -1
- package/package.json +1 -1
|
@@ -10,10 +10,10 @@ import { $ as resolveAuthProfileDisplayLabel, B as resolveApiKeyForProvider, C a
|
|
|
10
10
|
import { n as formatCliCommand, r as resolveCliName, t as isTruthyEnvValue } from "./env-BDXYbTKj.js";
|
|
11
11
|
import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-cCYzSU9h.js";
|
|
12
12
|
import { t as parseBooleanValue$1 } from "./boolean-CE7i9tBR.js";
|
|
13
|
-
import { $ as normalizeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, G as updateLastRoute, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as isCacheEnabled, Jt as ensureSessionHeader, K as updateSessionStore, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as mergeDeliveryContext, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as deliveryContextFromSession, Xt as resolveBootstrapTotalMaxChars, Y as resolveCacheTtlMs$1, Yt as resolveBootstrapMaxChars, Z as deliveryContextKey, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as resolveFreshSessionTotalTokens, a as isMessagingToolDuplicateNormalized, at as extractToolCallNames, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as hasInterSessionUserProvenance, d as isAntigravityClaude, dt as evaluateSessionFreshness, et as normalizeSessionDeliveryFields, f as isGoogleModelApi, ft as resolveChannelResetConfig, g as formatBillingErrorMessage, gt as DEFAULT_RESET_TRIGGERS, h as formatAssistantErrorText, ht as resolveThreadFlag, it as countToolResults, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as normalizeInputProvenance, m as classifyFailoverReason, mt as resolveSessionResetType, n as validateGeminiTurns, nt as archiveSessionTranscripts, o as normalizeTextForComparison, ot as INPUT_PROVENANCE_KIND_VALUES, p as BILLING_ERROR_USER_MESSAGE, pt as resolveSessionResetPolicy, q as updateSessionStoreEntry, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as capArrayByJsonBytes, s as sanitizeSessionMessagesImages, st as applyInputProvenanceToUserMessage, t as validateAnthropicTurns, tt as normalizeAccountId$3, u as downgradeOpenAIReasoningBlocks, ut as resolveSessionKey, v as getApiErrorPayloadFingerprint, vt as canonicalizeMainSessionAlias, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-
|
|
13
|
+
import { $ as normalizeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, G as updateLastRoute, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as isCacheEnabled, Jt as ensureSessionHeader, K as updateSessionStore, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as mergeDeliveryContext, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as deliveryContextFromSession, Xt as resolveBootstrapTotalMaxChars, Y as resolveCacheTtlMs$1, Yt as resolveBootstrapMaxChars, Z as deliveryContextKey, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as resolveFreshSessionTotalTokens, a as isMessagingToolDuplicateNormalized, at as extractToolCallNames, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as hasInterSessionUserProvenance, d as isAntigravityClaude, dt as evaluateSessionFreshness, et as normalizeSessionDeliveryFields, f as isGoogleModelApi, ft as resolveChannelResetConfig, g as formatBillingErrorMessage, gt as DEFAULT_RESET_TRIGGERS, h as formatAssistantErrorText, ht as resolveThreadFlag, it as countToolResults, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as normalizeInputProvenance, m as classifyFailoverReason, mt as resolveSessionResetType, n as validateGeminiTurns, nt as archiveSessionTranscripts, o as normalizeTextForComparison, ot as INPUT_PROVENANCE_KIND_VALUES, p as BILLING_ERROR_USER_MESSAGE, pt as resolveSessionResetPolicy, q as updateSessionStoreEntry, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as capArrayByJsonBytes, s as sanitizeSessionMessagesImages, st as applyInputProvenanceToUserMessage, t as validateAnthropicTurns, tt as normalizeAccountId$3, u as downgradeOpenAIReasoningBlocks, ut as resolveSessionKey, v as getApiErrorPayloadFingerprint, vt as canonicalizeMainSessionAlias, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-D1_Sab0M.js";
|
|
14
14
|
import { A as VERSION, C as getConfigValueAtPath, D as isSafeExecutableValue, E as unsetConfigValueAtPath, O as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, S as unsetConfigOverride, T as setConfigValueAtPath, _ as parseDurationMs, a as writeConfigFile, b as resetConfigOverrides, c as TELEGRAM_COMMAND_NAME_PATTERN, f as isInboundPathAllowed, g as normalizeScpRemoteHost, h as resolveIMessageRemoteAttachmentRoots, i as resolveConfigSnapshotHash, k as resolveAgentMaxConcurrent, l as normalizeTelegramCommandName, m as resolveIMessageAttachmentRoots, n as loadConfig, o as validateConfigObjectWithPlugins, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as validateJsonSchemaValue, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-BkZ9HOKT.js";
|
|
15
15
|
import { a as applyTestPluginDefaults, c as resolveMemorySlotDecision, d as isDangerousHostEnvVarName, i as safeStatSync, n as discoverSymiPlugins, o as normalizePluginsConfig, r as isPathInside, s as resolveEnableState, t as loadPluginManifestRegistry, u as isPathInsideWithRealpath } from "./manifest-registry-CBCGTsIb.js";
|
|
16
|
-
import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-
|
|
16
|
+
import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-ROtrXlNs.js";
|
|
17
17
|
import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-CXxrn_e2.js";
|
|
18
18
|
import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-XIsvXeC-.js";
|
|
19
19
|
import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-C7CauEK8.js";
|
|
@@ -31,16 +31,16 @@ import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i
|
|
|
31
31
|
import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-C0QjmPaf.js";
|
|
32
32
|
import { t as emitSessionTranscriptUpdate } from "./transcript-events-BBh3Gsrx.js";
|
|
33
33
|
import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-SqqWIT22.js";
|
|
34
|
-
import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-
|
|
34
|
+
import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-B0OUq6RP.js";
|
|
35
35
|
import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-BUcR3Meg.js";
|
|
36
36
|
import { r as getDiagnosticSessionState } from "./diagnostic-session-state-Zw87xFym.js";
|
|
37
|
-
import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-
|
|
37
|
+
import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-BuVL0jHI.js";
|
|
38
38
|
import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-RXOlh8ar.js";
|
|
39
39
|
import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-W0JzCJJM.js";
|
|
40
40
|
import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normalizeAllowFromWithStore$1, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as formatLocationText, H as firstDefined$1, I as resolveTelegramReplyId, J as readChannelAllowFromStore, K as toLocationContext, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as listPairingChannels, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, X as upsertChannelPairingRequest, Y as removeChannelAllowFromStoreEntry, Z as getPairingAdapter, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, et as parseTelegramTarget, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as addChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as resolveTelegramTargetChatType, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-Bb4it0te.js";
|
|
41
41
|
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-CuZX_Q4t.js";
|
|
42
42
|
import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-CvEIl6_d.js";
|
|
43
|
-
import { a as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, r as probeOllamaEmbeddingModels, t as MemoryIndexManager } from "./manager-
|
|
43
|
+
import { a as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, r as probeOllamaEmbeddingModels, t as MemoryIndexManager } from "./manager-CjW8kPVc.js";
|
|
44
44
|
import { c as normalizeExtraMemoryPaths, f as runTasksWithConcurrency, s as listMemoryFiles } from "./internal-DjnxpF_K.js";
|
|
45
45
|
import { n as retryAsync } from "./retry-B-y5suGA.js";
|
|
46
46
|
import { a as createActionGate, c as jsonResult, d as readReactionParams, f as readStringArrayParam, l as parseAvailableTags, m as readStringParam, n as missingTargetError, o as imageResult, p as readStringOrNumberParam, r as unknownTargetError, s as imageResultFromFile, t as ambiguousTargetError, u as readNumberParam } from "./target-errors-DeJTztcq.js";
|
|
@@ -50,7 +50,7 @@ import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-CVCB
|
|
|
50
50
|
import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, t as getAgentScopedMediaLocalRoots } from "./local-roots-ClipCZ9s.js";
|
|
51
51
|
import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-7tMVY7D_.js";
|
|
52
52
|
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-DxbSTLNQ.js";
|
|
53
|
-
import { _ as CLI_OUTPUT_MAX_BUFFER, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as resolveMediaUnderstandingScope, h as normalizeMediaUnderstandingChatType, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveTimeoutMs$1, n as createMediaAttachmentCache, o as runCapability, p as resolveConcurrency, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as applyTemplate, y as registerUnhandledRejectionHandler } from "./runner-
|
|
53
|
+
import { _ as CLI_OUTPUT_MAX_BUFFER, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as resolveMediaUnderstandingScope, h as normalizeMediaUnderstandingChatType, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveTimeoutMs$1, n as createMediaAttachmentCache, o as runCapability, p as resolveConcurrency, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as applyTemplate, y as registerUnhandledRejectionHandler } from "./runner-ecX1WzDt.js";
|
|
54
54
|
import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-DG2lcozb.js";
|
|
55
55
|
import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-DZQU0r3y.js";
|
|
56
56
|
import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-ClslA6GS.js";
|
|
@@ -81,7 +81,7 @@ import AjvPkg from "ajv";
|
|
|
81
81
|
import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, SettingsManager, codingTools, createAgentSession, createEditTool, createReadTool, createWriteTool, estimateTokens, generateSummary, readTool } from "@mariozechner/pi-coding-agent";
|
|
82
82
|
import { createServer } from "node:http";
|
|
83
83
|
import { ProxyAgent, fetch as fetch$1 } from "undici";
|
|
84
|
-
import WebSocket
|
|
84
|
+
import WebSocket, { WebSocket as WebSocket$1 } from "ws";
|
|
85
85
|
import { Buffer as Buffer$1 } from "node:buffer";
|
|
86
86
|
import { EdgeTTS } from "node-edge-tts";
|
|
87
87
|
import { createJiti } from "jiti";
|
|
@@ -4340,7 +4340,7 @@ async function getMemorySearchManager(params) {
|
|
|
4340
4340
|
const wrapper = new FallbackMemoryManager({
|
|
4341
4341
|
primary,
|
|
4342
4342
|
fallbackFactory: async () => {
|
|
4343
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
4343
|
+
const { MemoryIndexManager } = await import("./manager-CjW8kPVc.js").then((n) => n.n);
|
|
4344
4344
|
return await MemoryIndexManager.get(params);
|
|
4345
4345
|
}
|
|
4346
4346
|
}, () => QMD_MANAGER_CACHE.delete(cacheKey));
|
|
@@ -4353,7 +4353,7 @@ async function getMemorySearchManager(params) {
|
|
|
4353
4353
|
}
|
|
4354
4354
|
}
|
|
4355
4355
|
try {
|
|
4356
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
4356
|
+
const { MemoryIndexManager } = await import("./manager-CjW8kPVc.js").then((n) => n.n);
|
|
4357
4357
|
return { manager: await MemoryIndexManager.get(params) };
|
|
4358
4358
|
} catch (err) {
|
|
4359
4359
|
return {
|
|
@@ -8955,7 +8955,7 @@ var GatewayClient = class {
|
|
|
8955
8955
|
if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
|
|
8956
8956
|
});
|
|
8957
8957
|
}
|
|
8958
|
-
this.ws = new WebSocket(url, wsOptions);
|
|
8958
|
+
this.ws = new WebSocket$1(url, wsOptions);
|
|
8959
8959
|
this.ws.on("open", () => {
|
|
8960
8960
|
if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
|
|
8961
8961
|
const tlsError = this.validateTlsFingerprint();
|
|
@@ -9174,7 +9174,7 @@ var GatewayClient = class {
|
|
|
9174
9174
|
return null;
|
|
9175
9175
|
}
|
|
9176
9176
|
async request(method, params, opts) {
|
|
9177
|
-
if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
|
|
9177
|
+
if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
|
|
9178
9178
|
const id = randomUUID();
|
|
9179
9179
|
const frame = {
|
|
9180
9180
|
type: "req",
|
|
@@ -10443,7 +10443,7 @@ async function routeReply(params) {
|
|
|
10443
10443
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
10444
10444
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
10445
10445
|
try {
|
|
10446
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
10446
|
+
const { deliverOutboundPayloads } = await import("./deliver-B0OUq6RP.js").then((n) => n.n);
|
|
10447
10447
|
return {
|
|
10448
10448
|
ok: true,
|
|
10449
10449
|
messageId: (await deliverOutboundPayloads({
|
|
@@ -13328,16 +13328,16 @@ function shouldComputeCommandAuthorized(text, cfg, options) {
|
|
|
13328
13328
|
|
|
13329
13329
|
//#endregion
|
|
13330
13330
|
//#region src/channels/sender-label.ts
|
|
13331
|
-
function normalize(value) {
|
|
13331
|
+
function normalize$1(value) {
|
|
13332
13332
|
const trimmed = value?.trim();
|
|
13333
13333
|
return trimmed ? trimmed : void 0;
|
|
13334
13334
|
}
|
|
13335
13335
|
function resolveSenderLabel(params) {
|
|
13336
|
-
const name = normalize(params.name);
|
|
13337
|
-
const username = normalize(params.username);
|
|
13338
|
-
const tag = normalize(params.tag);
|
|
13339
|
-
const e164 = normalize(params.e164);
|
|
13340
|
-
const id = normalize(params.id);
|
|
13336
|
+
const name = normalize$1(params.name);
|
|
13337
|
+
const username = normalize$1(params.username);
|
|
13338
|
+
const tag = normalize$1(params.tag);
|
|
13339
|
+
const e164 = normalize$1(params.e164);
|
|
13340
|
+
const id = normalize$1(params.id);
|
|
13341
13341
|
const display = name ?? username ?? tag ?? "";
|
|
13342
13342
|
const idPart = e164 ?? id ?? "";
|
|
13343
13343
|
if (display && idPart && display !== idPart) return `${display} (${idPart})`;
|
|
@@ -32995,8 +32995,39 @@ const GatewayToolSchema = Type.Object({
|
|
|
32995
32995
|
baseHash: Type.Optional(Type.String()),
|
|
32996
32996
|
sessionKey: Type.Optional(Type.String()),
|
|
32997
32997
|
note: Type.Optional(Type.String()),
|
|
32998
|
-
restartDelayMs: Type.Optional(Type.Number())
|
|
32998
|
+
restartDelayMs: Type.Optional(Type.Number()),
|
|
32999
|
+
userRequestAcknowledgment: Type.Optional(Type.String())
|
|
32999
33000
|
});
|
|
33001
|
+
/** Actions that mutate gateway state and require explicit user authorization. */
|
|
33002
|
+
const DESTRUCTIVE_ACTIONS = new Set([
|
|
33003
|
+
"config.apply",
|
|
33004
|
+
"config.patch",
|
|
33005
|
+
"update.run"
|
|
33006
|
+
]);
|
|
33007
|
+
/** Minimum length for a meaningful authorization message. */
|
|
33008
|
+
const MIN_AUTHORIZATION_LENGTH = 10;
|
|
33009
|
+
/**
|
|
33010
|
+
* Asserts the user's request was explicitly acknowledged for destructive
|
|
33011
|
+
* actions. Throws a descriptive error if the acknowledgment is missing,
|
|
33012
|
+
* empty, or trivially short.
|
|
33013
|
+
*
|
|
33014
|
+
* NOTE: This is defense-in-depth, not a hard barrier. A determined model
|
|
33015
|
+
* could still populate the field with fabricated text. The barrier exists
|
|
33016
|
+
* to:
|
|
33017
|
+
* 1. Force the agent to deliberately compose a justification (vs. blind
|
|
33018
|
+
* tool invocation).
|
|
33019
|
+
* 2. Provide an audit trail (the acknowledgment is logged with the tool
|
|
33020
|
+
* call args).
|
|
33021
|
+
* 3. Surface for future tightening (e.g., matching against real session
|
|
33022
|
+
* history).
|
|
33023
|
+
*/
|
|
33024
|
+
function assertUserAuthorization(action, params) {
|
|
33025
|
+
if (!DESTRUCTIVE_ACTIONS.has(action)) return;
|
|
33026
|
+
const ack = params.userRequestAcknowledgment;
|
|
33027
|
+
const trimmed = typeof ack === "string" ? ack.trim() : "";
|
|
33028
|
+
if (!trimmed) throw new Error(`Action '${action}' requires an explicit user authorization. Pass userRequestAcknowledgment with a paraphrase of the user's request (e.g., "user said: please update Symi"). If the user did not explicitly request this action, ask them first instead of invoking it.`);
|
|
33029
|
+
if (trimmed.length < MIN_AUTHORIZATION_LENGTH) throw new Error(`Action '${action}' requires a substantive userRequestAcknowledgment (minimum ${MIN_AUTHORIZATION_LENGTH} characters describing the user's request). Received: ${JSON.stringify(trimmed)}.`);
|
|
33030
|
+
}
|
|
33000
33031
|
function createGatewayTool(opts) {
|
|
33001
33032
|
return {
|
|
33002
33033
|
label: "Gateway",
|
|
@@ -33007,6 +33038,7 @@ function createGatewayTool(opts) {
|
|
|
33007
33038
|
execute: async (_toolCallId, args) => {
|
|
33008
33039
|
const params = args;
|
|
33009
33040
|
const action = readStringParam(params, "action", { required: true });
|
|
33041
|
+
assertUserAuthorization(action, params);
|
|
33010
33042
|
if (action === "restart") {
|
|
33011
33043
|
if (!isRestartEnabled(opts?.config)) throw new Error("Gateway restart is disabled (commands.restart=false).");
|
|
33012
33044
|
const sessionKey = typeof params.sessionKey === "string" && params.sessionKey.trim() ? params.sessionKey.trim() : opts?.agentSessionKey?.trim() || void 0;
|
|
@@ -44204,7 +44236,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
44204
44236
|
return;
|
|
44205
44237
|
}
|
|
44206
44238
|
try {
|
|
44207
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
44239
|
+
const { deliverOutboundPayloads } = await import("./deliver-B0OUq6RP.js").then((n) => n.n);
|
|
44208
44240
|
await deliverOutboundPayloads({
|
|
44209
44241
|
cfg: params.cfg,
|
|
44210
44242
|
channel,
|
|
@@ -47650,7 +47682,7 @@ async function describeStickerImage(params) {
|
|
|
47650
47682
|
logVerbose(`telegram: describing sticker with ${provider}/${model}`);
|
|
47651
47683
|
try {
|
|
47652
47684
|
const buffer = await fs$1.readFile(imagePath);
|
|
47653
|
-
const { describeImageWithModel } = await import("./image-
|
|
47685
|
+
const { describeImageWithModel } = await import("./image-BuVL0jHI.js").then((n) => n.n);
|
|
47654
47686
|
return (await describeImageWithModel({
|
|
47655
47687
|
buffer,
|
|
47656
47688
|
fileName: "sticker.webp",
|
|
@@ -50399,7 +50431,7 @@ async function preflightDiscordMessage(params) {
|
|
|
50399
50431
|
let preflightTranscript;
|
|
50400
50432
|
const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
|
|
50401
50433
|
if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
|
|
50402
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
50434
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-Cb-T0r6e.js");
|
|
50403
50435
|
const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
|
|
50404
50436
|
if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
|
|
50405
50437
|
ctx: {
|
|
@@ -54405,7 +54437,7 @@ function isVoiceChannelType(type) {
|
|
|
54405
54437
|
function createDefaultDeps() {
|
|
54406
54438
|
return {
|
|
54407
54439
|
sendMessageWhatsApp: async (...args) => {
|
|
54408
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
54440
|
+
const { sendMessageWhatsApp } = await import("./web-DCO_YCRw.js");
|
|
54409
54441
|
return await sendMessageWhatsApp(...args);
|
|
54410
54442
|
},
|
|
54411
54443
|
sendMessageTelegram: async (...args) => {
|
|
@@ -57310,7 +57342,7 @@ function createDiscordGatewayPlugin(params) {
|
|
|
57310
57342
|
super(options);
|
|
57311
57343
|
}
|
|
57312
57344
|
createWebSocket(url) {
|
|
57313
|
-
return new WebSocket
|
|
57345
|
+
return new WebSocket(url, { agent });
|
|
57314
57346
|
}
|
|
57315
57347
|
}
|
|
57316
57348
|
return new ProxyGatewayPlugin();
|
|
@@ -67528,7 +67560,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
|
|
|
67528
67560
|
const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
|
|
67529
67561
|
let preflightTranscript;
|
|
67530
67562
|
if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
|
|
67531
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
67563
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-Cb-T0r6e.js");
|
|
67532
67564
|
preflightTranscript = await transcribeFirstAudio({
|
|
67533
67565
|
ctx: {
|
|
67534
67566
|
MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
|
|
@@ -69685,7 +69717,7 @@ function loadWebLoginQr() {
|
|
|
69685
69717
|
return webLoginQrPromise;
|
|
69686
69718
|
}
|
|
69687
69719
|
function loadWebChannel() {
|
|
69688
|
-
webChannelPromise ??= import("./web-
|
|
69720
|
+
webChannelPromise ??= import("./web-DCO_YCRw.js");
|
|
69689
69721
|
return webChannelPromise;
|
|
69690
69722
|
}
|
|
69691
69723
|
function loadWhatsAppActions() {
|
|
@@ -71154,6 +71186,91 @@ function isToolAllowedByPolicies(name, policies) {
|
|
|
71154
71186
|
return policies.every((policy) => isToolAllowedByPolicyName(name, policy));
|
|
71155
71187
|
}
|
|
71156
71188
|
|
|
71189
|
+
//#endregion
|
|
71190
|
+
//#region src/agents/pi-tools.read-edit-guard.ts
|
|
71191
|
+
const RETRY_GUIDANCE_SUFFIX$1 = " Read the file first, then retry the edit.";
|
|
71192
|
+
function readGuardError(filePath) {
|
|
71193
|
+
return /* @__PURE__ */ new Error(`Edit refused: '${filePath}' has not been read in this session. The edit tool requires the agent to read the file first so oldText can match real content rather than hallucinated content.${RETRY_GUIDANCE_SUFFIX$1}`);
|
|
71194
|
+
}
|
|
71195
|
+
function extractPath(args) {
|
|
71196
|
+
if (!args || typeof args !== "object") return;
|
|
71197
|
+
const record = args;
|
|
71198
|
+
const candidate = record.path ?? record.file_path;
|
|
71199
|
+
if (typeof candidate !== "string") return;
|
|
71200
|
+
const trimmed = candidate.trim();
|
|
71201
|
+
return trimmed.length > 0 ? trimmed : void 0;
|
|
71202
|
+
}
|
|
71203
|
+
function wrapReadToolWithTracker(tool, tracker) {
|
|
71204
|
+
return {
|
|
71205
|
+
...tool,
|
|
71206
|
+
execute: async (toolCallId, args, signal, onUpdate) => {
|
|
71207
|
+
const result = await tool.execute(toolCallId, args, signal, onUpdate);
|
|
71208
|
+
if (!(!!result && typeof result === "object" && result.isError === true)) {
|
|
71209
|
+
const filePath = extractPath(args);
|
|
71210
|
+
if (filePath) tracker.recordRead(filePath);
|
|
71211
|
+
}
|
|
71212
|
+
return result;
|
|
71213
|
+
}
|
|
71214
|
+
};
|
|
71215
|
+
}
|
|
71216
|
+
function wrapWriteToolWithTracker(tool, tracker) {
|
|
71217
|
+
return {
|
|
71218
|
+
...tool,
|
|
71219
|
+
execute: async (toolCallId, args, signal, onUpdate) => {
|
|
71220
|
+
const result = await tool.execute(toolCallId, args, signal, onUpdate);
|
|
71221
|
+
if (!(!!result && typeof result === "object" && result.isError === true)) {
|
|
71222
|
+
const filePath = extractPath(args);
|
|
71223
|
+
if (filePath) tracker.recordWrite(filePath);
|
|
71224
|
+
}
|
|
71225
|
+
return result;
|
|
71226
|
+
}
|
|
71227
|
+
};
|
|
71228
|
+
}
|
|
71229
|
+
function wrapEditToolWithGuard(tool, tracker) {
|
|
71230
|
+
return {
|
|
71231
|
+
...tool,
|
|
71232
|
+
execute: async (toolCallId, args, signal, onUpdate) => {
|
|
71233
|
+
const filePath = extractPath(args);
|
|
71234
|
+
if (filePath && !tracker.hasObserved(filePath)) throw readGuardError(filePath);
|
|
71235
|
+
return tool.execute(toolCallId, args, signal, onUpdate);
|
|
71236
|
+
}
|
|
71237
|
+
};
|
|
71238
|
+
}
|
|
71239
|
+
|
|
71240
|
+
//#endregion
|
|
71241
|
+
//#region src/agents/pi-tools.read-edit-tracker.ts
|
|
71242
|
+
function normalize(filePath, workspaceRoot) {
|
|
71243
|
+
if (!workspaceRoot) return filePath;
|
|
71244
|
+
if (path.isAbsolute(filePath)) return path.normalize(filePath);
|
|
71245
|
+
return path.resolve(workspaceRoot, filePath);
|
|
71246
|
+
}
|
|
71247
|
+
function createReadEditTracker(opts = {}) {
|
|
71248
|
+
const observed = /* @__PURE__ */ new Map();
|
|
71249
|
+
const record = (filePath, kind) => {
|
|
71250
|
+
if (typeof filePath !== "string" || !filePath.trim()) return;
|
|
71251
|
+
const key = normalize(filePath.trim(), opts.workspaceRoot);
|
|
71252
|
+
const prior = observed.get(key);
|
|
71253
|
+
if (kind === "written" || prior !== "written") observed.set(key, kind);
|
|
71254
|
+
};
|
|
71255
|
+
return {
|
|
71256
|
+
recordRead: (filePath) => record(filePath, "read"),
|
|
71257
|
+
recordWrite: (filePath) => record(filePath, "written"),
|
|
71258
|
+
observation: (filePath) => {
|
|
71259
|
+
if (typeof filePath !== "string" || !filePath.trim()) return null;
|
|
71260
|
+
const key = normalize(filePath.trim(), opts.workspaceRoot);
|
|
71261
|
+
return observed.get(key) ?? null;
|
|
71262
|
+
},
|
|
71263
|
+
hasObserved: (filePath) => {
|
|
71264
|
+
if (typeof filePath !== "string" || !filePath.trim()) return false;
|
|
71265
|
+
const key = normalize(filePath.trim(), opts.workspaceRoot);
|
|
71266
|
+
return observed.has(key);
|
|
71267
|
+
},
|
|
71268
|
+
reset: () => {
|
|
71269
|
+
observed.clear();
|
|
71270
|
+
}
|
|
71271
|
+
};
|
|
71272
|
+
}
|
|
71273
|
+
|
|
71157
71274
|
//#endregion
|
|
71158
71275
|
//#region src/media/sniff-mime-from-base64.ts
|
|
71159
71276
|
async function sniffMimeFromBase64(base64) {
|
|
@@ -71781,33 +71898,34 @@ function createSymiCodingTools(options) {
|
|
|
71781
71898
|
});
|
|
71782
71899
|
if (sandboxRoot && !sandboxFsBridge) throw new Error("Sandbox filesystem bridge is unavailable.");
|
|
71783
71900
|
const imageSanitization = resolveImageSanitizationLimits(options?.config);
|
|
71901
|
+
const readEditTracker = createReadEditTracker({ workspaceRoot: sandboxRoot ?? workspaceRoot });
|
|
71784
71902
|
const base = codingTools.flatMap((tool) => {
|
|
71785
71903
|
if (tool.name === readTool.name) {
|
|
71786
71904
|
if (sandboxRoot) {
|
|
71787
|
-
const
|
|
71905
|
+
const tracked = wrapReadToolWithTracker(createSandboxedReadTool({
|
|
71788
71906
|
root: sandboxRoot,
|
|
71789
71907
|
bridge: sandboxFsBridge,
|
|
71790
71908
|
modelContextWindowTokens: options?.modelContextWindowTokens,
|
|
71791
71909
|
imageSanitization
|
|
71792
|
-
});
|
|
71793
|
-
return [workspaceOnly ? wrapToolWorkspaceRootGuard(
|
|
71910
|
+
}), readEditTracker);
|
|
71911
|
+
return [workspaceOnly ? wrapToolWorkspaceRootGuard(tracked, sandboxRoot) : tracked];
|
|
71794
71912
|
}
|
|
71795
|
-
const
|
|
71913
|
+
const tracked = wrapReadToolWithTracker(createSymiReadTool(createReadTool(workspaceRoot), {
|
|
71796
71914
|
modelContextWindowTokens: options?.modelContextWindowTokens,
|
|
71797
71915
|
imageSanitization
|
|
71798
|
-
});
|
|
71799
|
-
return [workspaceOnly ? wrapToolWorkspaceRootGuard(
|
|
71916
|
+
}), readEditTracker);
|
|
71917
|
+
return [workspaceOnly ? wrapToolWorkspaceRootGuard(tracked, workspaceRoot) : tracked];
|
|
71800
71918
|
}
|
|
71801
71919
|
if (tool.name === "bash" || tool.name === execToolName) return [];
|
|
71802
71920
|
if (tool.name === "write") {
|
|
71803
71921
|
if (sandboxRoot) return [];
|
|
71804
|
-
const
|
|
71805
|
-
return [workspaceOnly ? wrapToolWorkspaceRootGuard(
|
|
71922
|
+
const tracked = wrapWriteToolWithTracker(wrapToolParamNormalization(createWriteTool(workspaceRoot), CLAUDE_PARAM_GROUPS.write), readEditTracker);
|
|
71923
|
+
return [workspaceOnly ? wrapToolWorkspaceRootGuard(tracked, workspaceRoot) : tracked];
|
|
71806
71924
|
}
|
|
71807
71925
|
if (tool.name === "edit") {
|
|
71808
71926
|
if (sandboxRoot) return [];
|
|
71809
|
-
const
|
|
71810
|
-
return [workspaceOnly ? wrapToolWorkspaceRootGuard(
|
|
71927
|
+
const guarded = wrapEditToolWithGuard(wrapToolParamNormalization(createEditTool(workspaceRoot), CLAUDE_PARAM_GROUPS.edit), readEditTracker);
|
|
71928
|
+
return [workspaceOnly ? wrapToolWorkspaceRootGuard(guarded, workspaceRoot) : guarded];
|
|
71811
71929
|
}
|
|
71812
71930
|
return [tool];
|
|
71813
71931
|
});
|
|
@@ -71850,22 +71968,18 @@ function createSymiCodingTools(options) {
|
|
|
71850
71968
|
} : void 0,
|
|
71851
71969
|
workspaceOnly: applyPatchWorkspaceOnly
|
|
71852
71970
|
});
|
|
71971
|
+
const sandboxedEditTool = sandboxRoot ? wrapEditToolWithGuard(createSandboxedEditTool({
|
|
71972
|
+
root: sandboxRoot,
|
|
71973
|
+
bridge: sandboxFsBridge
|
|
71974
|
+
}), readEditTracker) : null;
|
|
71975
|
+
const sandboxedWriteTool = sandboxRoot ? wrapWriteToolWithTracker(createSandboxedWriteTool({
|
|
71976
|
+
root: sandboxRoot,
|
|
71977
|
+
bridge: sandboxFsBridge
|
|
71978
|
+
}), readEditTracker) : null;
|
|
71853
71979
|
const withHooks = applyToolPolicyPipeline({
|
|
71854
71980
|
tools: applyOwnerOnlyToolPolicy([
|
|
71855
71981
|
...base,
|
|
71856
|
-
...sandboxRoot ? allowWorkspaceWrites ? [workspaceOnly ? wrapToolWorkspaceRootGuard(
|
|
71857
|
-
root: sandboxRoot,
|
|
71858
|
-
bridge: sandboxFsBridge
|
|
71859
|
-
}), sandboxRoot) : createSandboxedEditTool({
|
|
71860
|
-
root: sandboxRoot,
|
|
71861
|
-
bridge: sandboxFsBridge
|
|
71862
|
-
}), workspaceOnly ? wrapToolWorkspaceRootGuard(createSandboxedWriteTool({
|
|
71863
|
-
root: sandboxRoot,
|
|
71864
|
-
bridge: sandboxFsBridge
|
|
71865
|
-
}), sandboxRoot) : createSandboxedWriteTool({
|
|
71866
|
-
root: sandboxRoot,
|
|
71867
|
-
bridge: sandboxFsBridge
|
|
71868
|
-
})] : [] : [],
|
|
71982
|
+
...sandboxRoot ? allowWorkspaceWrites && sandboxedEditTool && sandboxedWriteTool ? [workspaceOnly ? wrapToolWorkspaceRootGuard(sandboxedEditTool, sandboxRoot) : sandboxedEditTool, workspaceOnly ? wrapToolWorkspaceRootGuard(sandboxedWriteTool, sandboxRoot) : sandboxedWriteTool] : [] : [],
|
|
71869
71983
|
...applyPatchTool ? [applyPatchTool] : [],
|
|
71870
71984
|
execTool,
|
|
71871
71985
|
processTool,
|
|
@@ -17,7 +17,7 @@ import "./client-CJIMV1WD.js";
|
|
|
17
17
|
import "./call-M4YyUnwu.js";
|
|
18
18
|
import "./message-channel-C9dERklz.js";
|
|
19
19
|
import "./pairing-token-Byh6drgn.js";
|
|
20
|
-
import { wt as trimLogTail } from "./subagent-registry-
|
|
20
|
+
import { wt as trimLogTail } from "./subagent-registry-D0IYimMO.js";
|
|
21
21
|
import "./sessions-BPD85pWA.js";
|
|
22
22
|
import "./tokens-Csntmwwn.js";
|
|
23
23
|
import "./plugins-CwSlLxM8.js";
|
|
@@ -55,8 +55,8 @@ import "./tool-images-CVLISeRT.js";
|
|
|
55
55
|
import "./thinking-8sKPnzpp.js";
|
|
56
56
|
import "./models-config-J1x_DaPn.js";
|
|
57
57
|
import "./reply-prefix-BUN71nd5.js";
|
|
58
|
-
import "./memory-cli-
|
|
59
|
-
import "./manager-
|
|
58
|
+
import "./memory-cli-OW9XfyYu.js";
|
|
59
|
+
import "./manager-QPF0UtOC.js";
|
|
60
60
|
import "./gemini-auth-DEakvf-D.js";
|
|
61
61
|
import "./retry-C4Q_VPOo.js";
|
|
62
62
|
import "./sqlite-BP8tiuca.js";
|
|
@@ -112,10 +112,10 @@ import "./npm-registry-spec-PuS2I1Em.js";
|
|
|
112
112
|
import "./skill-scanner-BV3QHmsf.js";
|
|
113
113
|
import "./installs-B4sNNRaW.js";
|
|
114
114
|
import "./channels-status-issues-B-ssmZ8E.js";
|
|
115
|
-
import "./register.subclis-
|
|
116
|
-
import "./command-registry-
|
|
115
|
+
import "./register.subclis-ByZAz4st.js";
|
|
116
|
+
import "./command-registry-BiRjJ2Sy.js";
|
|
117
117
|
import "./program-context-DeZ44oQ9.js";
|
|
118
|
-
import { r as installCompletion } from "./completion-cli-
|
|
118
|
+
import { r as installCompletion } from "./completion-cli-BYXofVqv.js";
|
|
119
119
|
import "./daemon-runtime-D_elkkFW.js";
|
|
120
120
|
import { r as parseSemver } from "./runtime-guard-BofkqBu7.js";
|
|
121
121
|
import "./systemd-CJ5L2ee4.js";
|
|
@@ -125,19 +125,19 @@ import "./systemd-hints-Ct8ebNeC.js";
|
|
|
125
125
|
import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-BFoJGCHZ.js";
|
|
126
126
|
import "./diagnostics-C6xPE2ln.js";
|
|
127
127
|
import { t as renderTable } from "./table-Bka4fasy.js";
|
|
128
|
-
import "./health-
|
|
128
|
+
import "./health-CcV5nKIK.js";
|
|
129
129
|
import "./control-ui-assets-Clf7H-Sm.js";
|
|
130
130
|
import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, d as formatUpdateChannelLabel, g as resolveUpdateChannelDisplay, h as resolveEffectiveUpdateChannel, m as normalizeUpdateChannel, n as compareSemverStrings, r as fetchNpmTagVersion, s as DEFAULT_GIT_CHANNEL, t as checkUpdateStatus, u as channelToNpmTag } from "./update-check-BNjupSIM.js";
|
|
131
131
|
import "./dm-policy-shared-JiSNSaKz.js";
|
|
132
132
|
import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, t as formatUpdateAvailableHint } from "./status.update-B5zI1_Id.js";
|
|
133
|
-
import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-
|
|
133
|
+
import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-Bmq67eos.js";
|
|
134
134
|
import "./logging-PVQxLC6I.js";
|
|
135
135
|
import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-DticqU4-.js";
|
|
136
136
|
import "./doctor-config-flow-B2dVxbL7.js";
|
|
137
137
|
import "./systemd-linger-ipoPa7o0.js";
|
|
138
138
|
import "./health-format-DkjSgkDx.js";
|
|
139
|
-
import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-
|
|
140
|
-
import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-
|
|
139
|
+
import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-D88AWCeM.js";
|
|
140
|
+
import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-woDYSVtY.js";
|
|
141
141
|
import { spawn, spawnSync } from "node:child_process";
|
|
142
142
|
import os from "node:os";
|
|
143
143
|
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, h as pathExists } from "./utils-B-0b9bGM.js";
|
|
3
3
|
import "./thinking-EAliFiVK.js";
|
|
4
|
-
import { H as trimLogTail } from "./reply-
|
|
4
|
+
import { H as trimLogTail } from "./reply-CgyjcoxC.js";
|
|
5
5
|
import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
|
|
6
6
|
import "./registry-Cja8eT7G.js";
|
|
7
7
|
import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
|
|
@@ -62,8 +62,8 @@ import "./diagnostic-session-state-CUslJyKP.js";
|
|
|
62
62
|
import "./send-DpMnSIi5.js";
|
|
63
63
|
import "./model-ECsJuJew.js";
|
|
64
64
|
import "./reply-prefix-CE2YmmsD.js";
|
|
65
|
-
import "./memory-cli-
|
|
66
|
-
import "./manager-
|
|
65
|
+
import "./memory-cli-BTByRgM0.js";
|
|
66
|
+
import "./manager-9Mni2AA9.js";
|
|
67
67
|
import "./retry-BoS4e4X_.js";
|
|
68
68
|
import "./sqlite-D55gRQbH.js";
|
|
69
69
|
import "./target-errors-C9e6dMU_.js";
|
|
@@ -107,7 +107,7 @@ import "./stagger-CZ1Rrj7O.js";
|
|
|
107
107
|
import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName, f as resolveGatewayWindowsTaskName } from "./constants-DF8wPn-_.js";
|
|
108
108
|
import "./channel-selection-9fIQGtZy.js";
|
|
109
109
|
import { r as parseSemver } from "./runtime-guard-BKFbNplo.js";
|
|
110
|
-
import "./program-context-
|
|
110
|
+
import "./program-context-COwsYCbf.js";
|
|
111
111
|
import "./catalog-KW3oyt3k.js";
|
|
112
112
|
import "./skills-status-D1IW8MhS.js";
|
|
113
113
|
import { n as inheritOptionFromParent } from "./command-options-DOOvAdsg.js";
|
|
@@ -118,7 +118,7 @@ import "./npm-registry-spec-B98RgVZF.js";
|
|
|
118
118
|
import "./skill-scanner-BTgjeQBf.js";
|
|
119
119
|
import "./installs-BPZKRjsO.js";
|
|
120
120
|
import "./channels-status-issues-BVpj6wWd.js";
|
|
121
|
-
import { r as installCompletion } from "./completion-cli-
|
|
121
|
+
import { r as installCompletion } from "./completion-cli-C8K5J1ld.js";
|
|
122
122
|
import "./daemon-runtime-Cp7obV7Q.js";
|
|
123
123
|
import "./systemd-Xs16roN5.js";
|
|
124
124
|
import { t as resolveGatewayService } from "./service-DzLem5vL.js";
|
|
@@ -127,19 +127,19 @@ import "./systemd-hints-vhJS1sOh.js";
|
|
|
127
127
|
import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-D6wyb9bo.js";
|
|
128
128
|
import "./diagnostics-1uBuB9IE.js";
|
|
129
129
|
import { t as renderTable } from "./table-BWuvjnmY.js";
|
|
130
|
-
import "./health-
|
|
130
|
+
import "./health-Dl2WRoTa.js";
|
|
131
131
|
import "./control-ui-assets-BrP31IQR.js";
|
|
132
132
|
import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, d as formatUpdateChannelLabel, g as resolveUpdateChannelDisplay, h as resolveEffectiveUpdateChannel, m as normalizeUpdateChannel, n as compareSemverStrings, r as fetchNpmTagVersion, s as DEFAULT_GIT_CHANNEL, t as checkUpdateStatus, u as channelToNpmTag } from "./update-check-Bbvpax6u.js";
|
|
133
133
|
import "./dm-policy-shared-KlzpDeT_.js";
|
|
134
134
|
import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, t as formatUpdateAvailableHint } from "./status.update-8HXdAdwz.js";
|
|
135
|
-
import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-
|
|
135
|
+
import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-DMucmRlv.js";
|
|
136
136
|
import "./logging-CZuxhCZR.js";
|
|
137
137
|
import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-D4uLu0dv.js";
|
|
138
138
|
import "./doctor-config-flow-BCMxS2lf.js";
|
|
139
139
|
import "./systemd-linger-0C265XKH.js";
|
|
140
140
|
import "./health-format-Ct4VWeSk.js";
|
|
141
|
-
import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-
|
|
142
|
-
import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-
|
|
141
|
+
import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-rKPBDv7n.js";
|
|
142
|
+
import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-gMWymNcA.js";
|
|
143
143
|
import os from "node:os";
|
|
144
144
|
import path from "node:path";
|
|
145
145
|
import fs from "node:fs/promises";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { nt as pathExists } from "./entry.js";
|
|
2
2
|
import { t as runCommandWithTimeout } from "./exec-CBKBIMpA.js";
|
|
3
|
-
import { wt as trimLogTail } from "./subagent-registry-
|
|
3
|
+
import { wt as trimLogTail } from "./subagent-registry-D0IYimMO.js";
|
|
4
4
|
import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-Clf7H-Sm.js";
|
|
5
5
|
import { c as DEFAULT_PACKAGE_CHANNEL, f as isBetaTag, l as DEV_BRANCH, n as compareSemverStrings, o as detectPackageManager$1, p as isStableTag, u as channelToNpmTag } from "./update-check-BNjupSIM.js";
|
|
6
6
|
import os from "node:os";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { h as pathExists } from "./utils-B-0b9bGM.js";
|
|
2
|
-
import { H as trimLogTail } from "./reply-
|
|
2
|
+
import { H as trimLogTail } from "./reply-CgyjcoxC.js";
|
|
3
3
|
import { t as runCommandWithTimeout } from "./exec-CWkblSrI.js";
|
|
4
4
|
import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-BrP31IQR.js";
|
|
5
5
|
import { c as DEFAULT_PACKAGE_CHANNEL, f as isBetaTag, l as DEV_BRANCH, n as compareSemverStrings, o as detectPackageManager$1, p as isStableTag, u as channelToNpmTag } from "./update-check-Bbvpax6u.js";
|
|
@@ -16,7 +16,7 @@ import "./client-CJIMV1WD.js";
|
|
|
16
16
|
import "./call-M4YyUnwu.js";
|
|
17
17
|
import "./message-channel-C9dERklz.js";
|
|
18
18
|
import "./pairing-token-Byh6drgn.js";
|
|
19
|
-
import { Bn as formatInboundEnvelope, F as buildHistoryContextFromEntries, I as recordPendingHistoryEntryIfEnabled, Jn as normalizeMentionText, L as shouldAckReactionForWhatsApp, M as buildPairingReply, N as resolveMentionGating, P as DEFAULT_GROUP_HISTORY_LIMIT, R as dispatchReplyWithBufferedBlockDispatcher, Rn as createInboundDebouncer, U as createDedupeCache, Un as hasControlCommand, Vn as resolveEnvelopeFormatOptions, W as getReplyFromConfig, Wn as shouldComputeCommandAuthorized, b as sleepWithAbort, nn as normalizeGroupActivation, qn as buildMentionRegexes, rn as parseActivationCommand, wn as enqueueSystemEvent, y as computeBackoff, zn as resolveInboundDebounceMs } from "./subagent-registry-
|
|
19
|
+
import { Bn as formatInboundEnvelope, F as buildHistoryContextFromEntries, I as recordPendingHistoryEntryIfEnabled, Jn as normalizeMentionText, L as shouldAckReactionForWhatsApp, M as buildPairingReply, N as resolveMentionGating, P as DEFAULT_GROUP_HISTORY_LIMIT, R as dispatchReplyWithBufferedBlockDispatcher, Rn as createInboundDebouncer, U as createDedupeCache, Un as hasControlCommand, Vn as resolveEnvelopeFormatOptions, W as getReplyFromConfig, Wn as shouldComputeCommandAuthorized, b as sleepWithAbort, nn as normalizeGroupActivation, qn as buildMentionRegexes, rn as parseActivationCommand, wn as enqueueSystemEvent, y as computeBackoff, zn as resolveInboundDebounceMs } from "./subagent-registry-D0IYimMO.js";
|
|
20
20
|
import { B as resolveGroupSessionKey, c as recordSessionMetaFromInbound, o as loadSessionStore, s as readSessionUpdatedAt, u as updateLastRoute } from "./sessions-BPD85pWA.js";
|
|
21
21
|
import "./tokens-Csntmwwn.js";
|
|
22
22
|
import "./plugins-CwSlLxM8.js";
|
|
@@ -54,8 +54,8 @@ import "./tool-images-CVLISeRT.js";
|
|
|
54
54
|
import "./thinking-8sKPnzpp.js";
|
|
55
55
|
import "./models-config-J1x_DaPn.js";
|
|
56
56
|
import { c as resolveIdentityNamePrefix, l as resolveMessagePrefix, t as createReplyPrefixOptions } from "./reply-prefix-BUN71nd5.js";
|
|
57
|
-
import "./memory-cli-
|
|
58
|
-
import "./manager-
|
|
57
|
+
import "./memory-cli-OW9XfyYu.js";
|
|
58
|
+
import "./manager-QPF0UtOC.js";
|
|
59
59
|
import "./gemini-auth-DEakvf-D.js";
|
|
60
60
|
import "./retry-C4Q_VPOo.js";
|
|
61
61
|
import "./sqlite-BP8tiuca.js";
|
|
@@ -8,7 +8,7 @@ import { c as resolveIdentityNamePrefix, l as resolveMessagePrefix, t as createR
|
|
|
8
8
|
import "./github-copilot-token-BbsJ0Qbo.js";
|
|
9
9
|
import { r as formatCliCommand } from "./env-CQ_DQOwT.js";
|
|
10
10
|
import "./tokens-Cn6drXx2.js";
|
|
11
|
-
import { C as hasControlCommand, E as normalizeMentionText, S as resolveEnvelopeFormatOptions, T as buildMentionRegexes, _ as formatDurationPrecise, a as DEFAULT_GROUP_HISTORY_LIMIT, b as resolveInboundDebounceMs, c as shouldAckReactionForWhatsApp, d as createDedupeCache, f as getReplyFromConfig, g as parseActivationCommand, h as normalizeGroupActivation, i as resolveMentionGating, l as dispatchReplyWithBufferedBlockDispatcher, n as sleepWithAbort, o as buildHistoryContextFromEntries, r as buildPairingReply, s as recordPendingHistoryEntryIfEnabled, t as computeBackoff, v as enqueueSystemEvent, w as shouldComputeCommandAuthorized, x as formatInboundEnvelope, y as createInboundDebouncer } from "./pi-embedded-
|
|
11
|
+
import { C as hasControlCommand, E as normalizeMentionText, S as resolveEnvelopeFormatOptions, T as buildMentionRegexes, _ as formatDurationPrecise, a as DEFAULT_GROUP_HISTORY_LIMIT, b as resolveInboundDebounceMs, c as shouldAckReactionForWhatsApp, d as createDedupeCache, f as getReplyFromConfig, g as parseActivationCommand, h as normalizeGroupActivation, i as resolveMentionGating, l as dispatchReplyWithBufferedBlockDispatcher, n as sleepWithAbort, o as buildHistoryContextFromEntries, r as buildPairingReply, s as recordPendingHistoryEntryIfEnabled, t as computeBackoff, v as enqueueSystemEvent, w as shouldComputeCommandAuthorized, x as formatInboundEnvelope, y as createInboundDebouncer } from "./pi-embedded-Bl3YkBkI.js";
|
|
12
12
|
import "./plugins-71oIavrF.js";
|
|
13
13
|
import { i as logWebSelfId, l as readWebSelfId, n as WA_WEB_AUTH_DIR, p as webAuthExists, r as getWebAuthAgeMs, s as pickWebChannel, t as resolveWhatsAppAccount } from "./accounts-DDEyGwby.js";
|
|
14
14
|
import "./bindings-DYVakimr.js";
|
|
@@ -36,7 +36,7 @@ import "./accounts-DImOt9jX.js";
|
|
|
36
36
|
import { s as resolveStorePath } from "./paths-DkMamAQ-.js";
|
|
37
37
|
import "./tool-images-ChC2CXaN.js";
|
|
38
38
|
import "./image-MNvheU8U.js";
|
|
39
|
-
import "./manager-
|
|
39
|
+
import "./manager-C-H0XXJq.js";
|
|
40
40
|
import "./gemini-auth-DVcG-42i.js";
|
|
41
41
|
import "./retry-QGp0jvVi.js";
|
|
42
42
|
import "./sqlite-Bo4pHfp8.js";
|