@visorcraft/idlehands 4.0.12 → 4.0.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/CHANGELOG.md +13 -0
- package/dist/{agent-via-gateway-8kOQMpw0.js → agent-via-gateway-B0077UOc.js} +1 -1
- package/dist/{agent-via-gateway-BmUiVvOs.js → agent-via-gateway-BCActbIf.js} +7 -7
- package/dist/{agent-via-gateway-DY9s7C5O.js → agent-via-gateway-D-FbIr6E.js} +7 -7
- package/dist/{agent-via-gateway-CwNsKA2p.js → agent-via-gateway-DFnFArbP.js} +1 -1
- package/dist/{agents-FBXsuMx0.js → agents-DBtNXoSW.js} +4 -4
- package/dist/{agents.config-J5LaHyjZ.js → agents.config-C48CGAxv.js} +1 -1
- package/dist/{agents.config-BeC7mTJ2.js → agents.config-a7WEBiP9.js} +1 -1
- package/dist/{anton-BMJsNqqL.js → anton-BiE961do.js} +137 -11
- package/dist/{anton-CSPEUgVi.js → anton-BzjiLD-a.js} +137 -11
- package/dist/{anton-_S2TvK6c.js → anton-GmxStpbM.js} +137 -11
- package/dist/{anton-CFb43gM1.js → anton-fsipCiB9.js} +137 -11
- package/dist/{audio-preflight-CW8IH1lU.js → audio-preflight-BSlR2jEq.js} +4 -4
- package/dist/{audio-preflight-vD3mDc6w.js → audio-preflight-CSSlgO89.js} +4 -4
- package/dist/{auth-choice-Cxc76L50.js → auth-choice-B9F26cWG.js} +1 -1
- package/dist/{auth-choice-DycYsq6V.js → auth-choice-DCHD89CG.js} +1 -1
- package/dist/{banner--eQQx-18.js → banner-DGxHi5f3.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/{channel-options-E5FeI2sT.js → channel-options-BURifbbT.js} +1 -1
- package/dist/{channel-options-DYzhL-Ra.js → channel-options-DZ237bIi.js} +1 -1
- package/dist/{channel-web-d0g0MCG8.js → channel-web-Dx3LCcqS.js} +2 -2
- package/dist/{channel-web-D1-7qqL3.js → channel-web-Ylr-WudQ.js} +2 -2
- package/dist/{channels-cli-DYqCLYO8.js → channels-cli-BHyVWKE_.js} +7 -7
- package/dist/{channels-cli-SHHAxfV7.js → channels-cli-CntOyA1l.js} +7 -7
- package/dist/{chrome-BcJB6PcM.js → chrome-Do5potHV.js} +9 -9
- package/dist/{chrome-DEnkfZ9p.js → chrome-_2tzVjVl.js} +9 -9
- package/dist/{cli-CIJ_pp-W.js → cli-DnAZgvLv.js} +2 -2
- package/dist/{cli-Cg2smqR5.js → cli-DxFD9X-g.js} +2 -2
- package/dist/{command-registry-Ch1LX7dG.js → command-registry-BB2Vnuy4.js} +10 -10
- package/dist/{completion-cli-4GjUKmcp.js → completion-cli-Cd_zlB-2.js} +1 -1
- package/dist/{completion-cli-Dp2cBB7r.js → completion-cli-eFXXaRI-.js} +2 -2
- package/dist/{config-cli-DHOt2fiX.js → config-cli-C0kgcpE4.js} +1 -1
- package/dist/{config-cli-fEyZU_fS.js → config-cli-CNuPoVE4.js} +1 -1
- package/dist/{configure-UHNr2tF7.js → configure-BDO6l1oe.js} +3 -3
- package/dist/{configure-Dd1r8lCc.js → configure-DEyZZjPG.js} +3 -3
- package/dist/{deliver-BUiQ-9fE.js → deliver-CVTXl0Cv.js} +1 -1
- package/dist/{deliver-5FLCa6tB.js → deliver-whAbSPLk.js} +1 -1
- package/dist/{deps-LUq8tPGl.js → deps-7AsluBQV.js} +1 -1
- package/dist/{deps-ruCIL6tu.js → deps-8ieGS4Mv.js} +1 -1
- package/dist/{deps-CAYnlnre.js → deps-CIF1pkFi.js} +1 -1
- package/dist/{deps-DyhYyFzN.js → deps-CXtbmEWH.js} +1 -1
- package/dist/{doctor-completion-D4_Xz0GW.js → doctor-completion-BM1W0ErJ.js} +1 -1
- package/dist/{doctor-completion-k1NPhnSD.js → doctor-completion-DZ7EW_dp.js} +1 -1
- package/dist/{emergency-stop-7aCLPd3c.js → emergency-stop-BQVndluY.js} +2 -2
- package/dist/{emergency-stop-NRDPtN2X.js → emergency-stop-C5022igA.js} +2 -2
- package/dist/{emergency-stop-DvzTW9v2.js → emergency-stop-DdNkOB3t.js} +7 -7
- package/dist/{emergency-stop-C4Nj0B8-.js → emergency-stop-DpTSZhRz.js} +7 -7
- package/dist/entry.js +1 -1
- package/dist/extensionAPI.js +7 -7
- package/dist/{gateway-cli-BvfZQI4f.js → gateway-cli-CgCMdrYY.js} +9 -9
- package/dist/{gateway-cli-BzLinXVg.js → gateway-cli-DvDS1_s1.js} +9 -9
- package/dist/{health-Ck3J3S9G.js → health-Bs81nsdt.js} +1 -1
- package/dist/{health-D0w6dKOf.js → health-CPiopwcS.js} +1 -1
- package/dist/{hooks-cli-qfbN4qHo.js → hooks-cli-CNq30Huh.js} +3 -3
- package/dist/{hooks-cli-6IjNVfwU.js → hooks-cli-DXM6dTkU.js} +3 -3
- package/dist/{image-C_aN5P6-.js → image-BAsQlUqT.js} +1 -1
- package/dist/{image-D8b_rlQC.js → image-COw__ACq.js} +1 -1
- package/dist/index.js +7 -7
- package/dist/llm-slug-generator.js +7 -7
- package/dist/{models-BN3btFZs.js → models-CVGwjQpG.js} +2 -2
- package/dist/{models-cli-D0f0UhCd.js → models-cli-2QkLeKdt.js} +4 -4
- package/dist/{models-cli-BXIQUriJ.js → models-cli-bkbKnWld.js} +3 -3
- package/dist/{npm-resolution-DsNHuATZ.js → npm-resolution-CmAIOir0.js} +1 -1
- package/dist/{npm-resolution-CRr1BFy6.js → npm-resolution-DHetuEi8.js} +1 -1
- package/dist/{onboard-BbaM-mHQ.js → onboard-Du522rv9.js} +2 -2
- package/dist/{onboard-Co1aTajZ.js → onboard-IDM50Cwp.js} +2 -2
- package/dist/{onboard-channels-CDDDee0U.js → onboard-channels-5uQfEVIz.js} +1 -1
- package/dist/{onboard-channels-CPzMyGUw.js → onboard-channels-CHLOUR52.js} +1 -1
- package/dist/{onboarding-DJ5uRALX.js → onboarding-B73ADr9Y.js} +3 -3
- package/dist/{onboarding-GUp6F9pi.js → onboarding-Ct8sM6do.js} +3 -3
- package/dist/{onboarding.finalize-BF0WE60A.js → onboarding.finalize-DEVkNjj0.js} +6 -6
- package/dist/{onboarding.finalize-CCSwszBV.js → onboarding.finalize-mNlZG1KO.js} +7 -7
- package/dist/{pi-embedded-AgRG5Ssx.js → pi-embedded-ChimfAJ-.js} +27 -27
- package/dist/{pi-embedded-LzC2NbjE.js → pi-embedded-bwvtdswf.js} +27 -27
- package/dist/{pi-embedded-helpers-C2j0LfJC.js → pi-embedded-helpers-Ct2rwp-P.js} +4 -4
- package/dist/{pi-embedded-helpers-CghCLoPo.js → pi-embedded-helpers-CyTpDKo5.js} +4 -4
- package/dist/{plugin-registry-ChPpKka-.js → plugin-registry-BBx7owin.js} +1 -1
- package/dist/{plugin-registry-DJWce7ki.js → plugin-registry-CYh53OcU.js} +1 -1
- package/dist/plugin-sdk/{agent-via-gateway-CKHwp3jE.js → agent-via-gateway-C2tn6sON.js} +2 -2
- package/dist/plugin-sdk/{anton-BbSJqBoq.js → anton-_MnTuJJ-.js} +137 -11
- package/dist/plugin-sdk/{channel-web-BpsnbGKO.js → channel-web-DwtLzVOR.js} +2 -2
- package/dist/plugin-sdk/{deps-UrtR_PKP.js → deps-mdAvVF88.js} +1 -1
- package/dist/plugin-sdk/{emergency-stop-CfIXvAZq.js → emergency-stop-DYCGWJzN.js} +2 -2
- package/dist/plugin-sdk/index.js +3 -3
- package/dist/plugin-sdk/{reply-BTeuxXqB.js → reply-B-q4HnAx.js} +12 -12
- package/dist/plugin-sdk/{web-BkoZvzGE.js → web-P5eS5E4t.js} +3 -3
- package/dist/{plugins-cli-D2fnJF9k.js → plugins-cli-SxHWgGz6.js} +3 -3
- package/dist/{plugins-cli-CjrvJnpu.js → plugins-cli-TmKS47EG.js} +3 -3
- package/dist/{program-Bxd5OUE_.js → program-ZVWCD0Zm.js} +8 -8
- package/dist/{program-context-CeyrkmGJ.js → program-context-3VJmK0G6.js} +18 -18
- package/dist/{prompt-select-styled-QGoSGceD.js → prompt-select-styled-D7s-dTdd.js} +4 -4
- package/dist/{prompt-select-styled-Dxt7znW6.js → prompt-select-styled-DefgYXen.js} +4 -4
- package/dist/{provider-auth-helpers-BcXvA132.js → provider-auth-helpers-DZhIVPGv.js} +1 -1
- package/dist/{provider-auth-helpers-CjC0J8wK.js → provider-auth-helpers-ZH_-N5zd.js} +1 -1
- package/dist/{push-apns-Bqdhr5u5.js → push-apns-Do1ENlJt.js} +1 -1
- package/dist/{push-apns-3RpPSOWj.js → push-apns-xWUFiO5-.js} +1 -1
- package/dist/{pw-ai-CfYaR1K2.js → pw-ai-CowTfhOG.js} +1 -1
- package/dist/{pw-ai-DjmrIQle.js → pw-ai-yrIWfcWX.js} +1 -1
- package/dist/{register.agent-snJhCvJ4.js → register.agent-BQjgsbPA.js} +9 -9
- package/dist/{register.agent-C-ynT_r7.js → register.agent-oVyiMffI.js} +8 -8
- package/dist/{register.configure-WUqB9nea.js → register.configure-24YtUj4s.js} +8 -8
- package/dist/{register.configure-BFu6tHW9.js → register.configure-D_zfBA_E.js} +8 -8
- package/dist/{register.maintenance-D3gFMNHJ.js → register.maintenance-BccFDIZU.js} +9 -9
- package/dist/{register.maintenance-D_Xb1h9n.js → register.maintenance-CkYNqabD.js} +8 -8
- package/dist/{register.message-aGnFopBN.js → register.message-CPejF6cS.js} +3 -3
- package/dist/{register.message-CviOQrxd.js → register.message-CySQp5gA.js} +3 -3
- package/dist/{register.onboard-DFQubnz_.js → register.onboard-BddM-Tey.js} +2 -2
- package/dist/{register.onboard-DaU8z55G.js → register.onboard-Cg5R87xG.js} +2 -2
- package/dist/{register.orchestrator-anton-BdD-lYjq.js → register.orchestrator-anton-Dfd2g3y-.js} +2 -2
- package/dist/{register.orchestrator-anton-Bh-a7hTU.js → register.orchestrator-anton-uFQntDpJ.js} +2 -2
- package/dist/{register.setup-6T_0-gzK.js → register.setup-Bla4J47z.js} +2 -2
- package/dist/{register.setup-DeEMWLk1.js → register.setup-Cnil6_M-.js} +2 -2
- package/dist/{register.status-health-sessions-DO5z-I1G.js → register.status-health-sessions-CI6-RlLt.js} +4 -4
- package/dist/{register.status-health-sessions-7LgfFm3K.js → register.status-health-sessions-CiakJrlx.js} +4 -4
- package/dist/{register.subclis-Pcge2ZUD.js → register.subclis-9fhzxHCF.js} +9 -9
- package/dist/{reply-xob39FTF.js → reply-Cmj0wbnT.js} +12 -12
- package/dist/{run-main-FpL-RwcQ.js → run-main-DUtPECK6.js} +15 -15
- package/dist/{runner-CZW_eyf2.js → runner-Bv_BA3vd.js} +1 -1
- package/dist/{runner-PgRFPYUj.js → runner-BzNdfqDz.js} +1 -1
- package/dist/{server-node-events-lrUnxVTz.js → server-node-events--qmTbghp.js} +3 -3
- package/dist/{server-node-events-BNL7ha1f.js → server-node-events-DwUtqxW5.js} +3 -3
- package/dist/{status-DLKGKWq_.js → status-CMG5erwf.js} +2 -2
- package/dist/{status-DvdVIssC.js → status-CPCpSX9k.js} +2 -2
- package/dist/{subagent-registry-C1Xg6P75.js → subagent-registry-DHwrN9Oj.js} +12 -12
- package/dist/{update-cli-POnZaBSb.js → update-cli-CQhZlXlT.js} +8 -8
- package/dist/{update-cli-CdX0Fl_m.js → update-cli-DMjQ-pCl.js} +9 -9
- package/dist/{update-runner-CYdqDxJL.js → update-runner-BnTu_uJ4.js} +1 -1
- package/dist/{update-runner-k3nRoLXk.js → update-runner-CghbY9Ay.js} +1 -1
- package/dist/{web-B8L46t9i.js → web-BJk05p_4.js} +8 -8
- package/dist/{web-DqzOqUcK.js → web-J7TF5rpD.js} +3 -3
- package/dist/{web-BOZhcGzD.js → web-U5rtNi4Q.js} +3 -3
- package/dist/{web-DsPIUwWo.js → web-weF5X5MU.js} +8 -8
- package/extensions/acpx/package.json +1 -1
- 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-gemini-cli-auth/package.json +1 -1
- package/extensions/googlechat/package.json +1 -1
- package/extensions/hand/package.json +1 -1
- package/extensions/imessage/package.json +1 -1
- package/extensions/irc/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/signal/package.json +1 -1
- package/extensions/slack/package.json +1 -1
- package/extensions/synology-chat/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
|
@@ -22,7 +22,7 @@ import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, n as getWebAuthA
|
|
|
22
22
|
import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-J10cQN4A.js";
|
|
23
23
|
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-DLZt92Da.js";
|
|
24
24
|
import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-BvP4jdcV.js";
|
|
25
|
-
import { C as initializeGlobalHookRunner, S as getGlobalHookRunner, _ as createReplyToModeFilterForChannel, a as normalizeOutboundPayloadsForJson, b as normalizeChannelTargetInput, c as parseReplyDirectives, d as applyReplyThreading, f as filterMessagingToolDuplicates, g as shouldSuppressReasoningPayload, h as shouldSuppressMessagingToolReplies, i as normalizeOutboundPayloads, l as splitMediaFromOutput, m as isRenderablePayload, o as normalizeReplyPayloadsForDelivery, p as filterMessagingToolMediaDuplicates, r as formatOutboundPayloadLog, s as throwIfAborted, t as deliverOutboundPayloads, u as applyReplyTagsToPayload, v as resolveReplyToMode, x as normalizeTargetForProvider, y as buildTargetResolverSignature } from "./deliver-
|
|
25
|
+
import { C as initializeGlobalHookRunner, S as getGlobalHookRunner, _ as createReplyToModeFilterForChannel, a as normalizeOutboundPayloadsForJson, b as normalizeChannelTargetInput, c as parseReplyDirectives, d as applyReplyThreading, f as filterMessagingToolDuplicates, g as shouldSuppressReasoningPayload, h as shouldSuppressMessagingToolReplies, i as normalizeOutboundPayloads, l as splitMediaFromOutput, m as isRenderablePayload, o as normalizeReplyPayloadsForDelivery, p as filterMessagingToolMediaDuplicates, r as formatOutboundPayloadLog, s as throwIfAborted, t as deliverOutboundPayloads, u as applyReplyTagsToPayload, v as resolveReplyToMode, x as normalizeTargetForProvider, y as buildTargetResolverSignature } from "./deliver-whAbSPLk.js";
|
|
26
26
|
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-jHCdo9Am.js";
|
|
27
27
|
import { r as getDiagnosticSessionState } from "./diagnostic-session-state-Bx2Le86J.js";
|
|
28
28
|
import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-BRVjft5i.js";
|
|
@@ -30,8 +30,8 @@ import { $ as readJsonFileWithFallback, A as extractTelegramLocation, B as norma
|
|
|
30
30
|
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-BDG-MYYV.js";
|
|
31
31
|
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-Dic-M5qw.js";
|
|
32
32
|
import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-DqqfOIdx.js";
|
|
33
|
-
import { $ as stripPluginOnlyAllowlist, A as isTimeoutErrorMessage, B as resolveBrowserConfig, C as isCompactionFailureError, D as isLikelyContextOverflowError, E as isFailoverErrorMessage, F as ensureSandboxWorkspaceForSession, G as resolveGatewayCredentialsFromConfig, H as getBridgeAuthForPort, I as resolveSandboxContext, J as applyOwnerOnlyToolPolicy, K as trimToUndefined$1, L as resolveSandboxRuntimeStatus, M as parseImageDimensionError, N as parseImageSizeError, O as isRateLimitAssistantError, P as sanitizeUserFacingText, Q as mergeAlsoAllowPolicy, R as createBrowserRouteContext, S as isCloudCodeAssistFormatError, T as isFailoverAssistantError, U as ensureBrowserControlAuth, V as resolveProfile, W as resolveBrowserControlAuth, X as collectExplicitAllowlist, Y as buildPluginToolGroups, Z as expandPolicyWithPluginGroups, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, at as buildBootstrapContextFiles, b as isAuthPermanentErrorMessage, c as extractToolCallsFromAssistant, ct as resolveBootstrapTotalMaxChars, d as downgradeOpenAIReasoningBlocks, et as expandToolGroups, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, it as matchesAnyGlobPattern, j as isTransientHttpError, k as isRawApiErrorPayload, l as extractToolResultId, lt as sanitizeGoogleTurnOrdering, m as classifyFailoverReason, n as validateGeminiTurns, nt as resolveToolProfilePolicy, o as normalizeTextForComparison, ot as ensureSessionHeader, p as BILLING_ERROR_USER_MESSAGE, q as resolveSandboxConfigForAgent, r as pickFallbackThinkingLevel, rt as compileGlobPatterns, s as sanitizeSessionMessagesImages, st as resolveBootstrapMaxChars, t as validateAnthropicTurns, tt as normalizeToolName, u as sanitizeToolCallIdsForCloudCodeAssist, v as getApiErrorPayloadFingerprint, w as isContextOverflowError, x as isBillingAssistantError, y as isAuthAssistantError, z as registerBrowserRoutes } from "./pi-embedded-helpers-
|
|
34
|
-
import { C as ensureChromeExtensionRelayServer, F as isSecureWebSocketUrl, O as DEFAULT_UPLOAD_DIR, P as isLoopbackHost, R as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as rawDataToString, k as resolveExistingPathsWithinRoot, s as resolveLsofCommandSync } from "./chrome-
|
|
33
|
+
import { $ as stripPluginOnlyAllowlist, A as isTimeoutErrorMessage, B as resolveBrowserConfig, C as isCompactionFailureError, D as isLikelyContextOverflowError, E as isFailoverErrorMessage, F as ensureSandboxWorkspaceForSession, G as resolveGatewayCredentialsFromConfig, H as getBridgeAuthForPort, I as resolveSandboxContext, J as applyOwnerOnlyToolPolicy, K as trimToUndefined$1, L as resolveSandboxRuntimeStatus, M as parseImageDimensionError, N as parseImageSizeError, O as isRateLimitAssistantError, P as sanitizeUserFacingText, Q as mergeAlsoAllowPolicy, R as createBrowserRouteContext, S as isCloudCodeAssistFormatError, T as isFailoverAssistantError, U as ensureBrowserControlAuth, V as resolveProfile, W as resolveBrowserControlAuth, X as collectExplicitAllowlist, Y as buildPluginToolGroups, Z as expandPolicyWithPluginGroups, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, at as buildBootstrapContextFiles, b as isAuthPermanentErrorMessage, c as extractToolCallsFromAssistant, ct as resolveBootstrapTotalMaxChars, d as downgradeOpenAIReasoningBlocks, et as expandToolGroups, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, it as matchesAnyGlobPattern, j as isTransientHttpError, k as isRawApiErrorPayload, l as extractToolResultId, lt as sanitizeGoogleTurnOrdering, m as classifyFailoverReason, n as validateGeminiTurns, nt as resolveToolProfilePolicy, o as normalizeTextForComparison, ot as ensureSessionHeader, p as BILLING_ERROR_USER_MESSAGE, q as resolveSandboxConfigForAgent, r as pickFallbackThinkingLevel, rt as compileGlobPatterns, s as sanitizeSessionMessagesImages, st as resolveBootstrapMaxChars, t as validateAnthropicTurns, tt as normalizeToolName, u as sanitizeToolCallIdsForCloudCodeAssist, v as getApiErrorPayloadFingerprint, w as isContextOverflowError, x as isBillingAssistantError, y as isAuthAssistantError, z as registerBrowserRoutes } from "./pi-embedded-helpers-Ct2rwp-P.js";
|
|
34
|
+
import { C as ensureChromeExtensionRelayServer, F as isSecureWebSocketUrl, O as DEFAULT_UPLOAD_DIR, P as isLoopbackHost, R as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as rawDataToString, k as resolveExistingPathsWithinRoot, s as resolveLsofCommandSync } from "./chrome-Do5potHV.js";
|
|
35
35
|
import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-DappnhDp.js";
|
|
36
36
|
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-nQcWk6Z6.js";
|
|
37
37
|
import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-CGbCFqW8.js";
|
|
@@ -46,7 +46,7 @@ import { a as resolveSessionFilePathOptions, i as resolveSessionFilePath, l as r
|
|
|
46
46
|
import { t as emitSessionTranscriptUpdate } from "./transcript-events-BaUINxJH.js";
|
|
47
47
|
import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-CpZSs-zE.js";
|
|
48
48
|
import { a as normalizeReasoningLevel, c as normalizeVerboseLevel, i as normalizeElevatedLevel, l as resolveResponseUsageMode, n as formatXHighModelHint, o as normalizeThinkLevel, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking } from "./thinking-BFsWfunr.js";
|
|
49
|
-
import { C as extractTextFromChatContent, S as isInsideCode, _ 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, w as ensureIdleHandsModelsJson, x as findCodeRegions, y as resolveToolDisplay } from "./image-
|
|
49
|
+
import { C as extractTextFromChatContent, S as isInsideCode, _ 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, w as ensureIdleHandsModelsJson, x as findCodeRegions, y as resolveToolDisplay } from "./image-BAsQlUqT.js";
|
|
50
50
|
import { n as resolveMemorySearchConfig } from "./manager-DYOflU5p.js";
|
|
51
51
|
import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-B7YMixjc.js";
|
|
52
52
|
import { t as fetchWithSsrFGuard } from "./fetch-guard-BdCPmLBP.js";
|
|
@@ -60,7 +60,7 @@ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-BwkcXPZC.js";
|
|
|
60
60
|
import { _ as isNativeCommandsExplicitlyDisabled, a as listChatCommands, b as resolveNativeSkillsEnabled, c as listNativeCommandSpecsForConfig, d as parseCommandArgs, f as resolveCommandArgChoices, g as isCommandFlagEnabled, h as shouldHandleTextCommands, i as isCommandEnabled, l as maybeResolveTextAlias, m as serializeCommandArgs, o as listChatCommandsForConfig, p as resolveCommandArgMenu, r as findCommandByNativeName, s as listNativeCommandSpecs, t as buildCommandTextFromArgs, u as normalizeCommandBody, v as isRestartEnabled, y as resolveNativeCommandsEnabled } from "./commands-registry-1-Rv2-IS.js";
|
|
61
61
|
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-CHpRgsOw.js";
|
|
62
62
|
import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-DZmR6jxY.js";
|
|
63
|
-
import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$2, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-
|
|
63
|
+
import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$2, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-Bv_BA3vd.js";
|
|
64
64
|
import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-ChVgjTkv.js";
|
|
65
65
|
import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-DTHhQmHb.js";
|
|
66
66
|
import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-C3LJmSjf.js";
|
|
@@ -72,7 +72,7 @@ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-rou
|
|
|
72
72
|
import { i as redactIdentifier, t as getActiveWebListener } from "./active-listener-BnWIC6Jc.js";
|
|
73
73
|
import { t as makeProxyFetch } from "./proxy-CNZpb4NE.js";
|
|
74
74
|
import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-CqYEEgmA.js";
|
|
75
|
-
import { r as createOutboundSendDepsFromCliSource, t as createDefaultDeps } from "./deps-
|
|
75
|
+
import { r as createOutboundSendDepsFromCliSource, t as createDefaultDeps } from "./deps-CIF1pkFi.js";
|
|
76
76
|
import { createRequire } from "node:module";
|
|
77
77
|
import * as path$1 from "node:path";
|
|
78
78
|
import path, { isAbsolute } from "node:path";
|
|
@@ -91,7 +91,7 @@ import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, Setting
|
|
|
91
91
|
import { EdgeTTS } from "node-edge-tts";
|
|
92
92
|
import { createServer } from "node:http";
|
|
93
93
|
import { ProxyAgent, fetch as fetch$1 } from "undici";
|
|
94
|
-
import WebSocket, { WebSocket
|
|
94
|
+
import WebSocket$1, { WebSocket } from "ws";
|
|
95
95
|
import { Buffer as Buffer$1 } from "node:buffer";
|
|
96
96
|
import { createJiti } from "jiti";
|
|
97
97
|
import { Type } from "@sinclair/typebox";
|
|
@@ -6371,7 +6371,7 @@ var GatewayClient = class {
|
|
|
6371
6371
|
if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
|
|
6372
6372
|
});
|
|
6373
6373
|
}
|
|
6374
|
-
this.ws = new WebSocket
|
|
6374
|
+
this.ws = new WebSocket(url, wsOptions);
|
|
6375
6375
|
this.ws.on("open", () => {
|
|
6376
6376
|
if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
|
|
6377
6377
|
const tlsError = this.validateTlsFingerprint();
|
|
@@ -6567,7 +6567,7 @@ var GatewayClient = class {
|
|
|
6567
6567
|
const connectChallengeTimeoutMs = typeof rawConnectDelayMs === "number" && Number.isFinite(rawConnectDelayMs) ? Math.max(250, Math.min(1e4, rawConnectDelayMs)) : 2e3;
|
|
6568
6568
|
if (this.connectTimer) clearTimeout(this.connectTimer);
|
|
6569
6569
|
this.connectTimer = setTimeout(() => {
|
|
6570
|
-
if (this.connectSent || this.ws?.readyState !== WebSocket
|
|
6570
|
+
if (this.connectSent || this.ws?.readyState !== WebSocket.OPEN) return;
|
|
6571
6571
|
this.opts.onConnectError?.(/* @__PURE__ */ new Error("gateway connect challenge timeout"));
|
|
6572
6572
|
this.ws?.close(1008, "connect challenge timeout");
|
|
6573
6573
|
}, connectChallengeTimeoutMs);
|
|
@@ -6609,7 +6609,7 @@ var GatewayClient = class {
|
|
|
6609
6609
|
return null;
|
|
6610
6610
|
}
|
|
6611
6611
|
async request(method, params, opts) {
|
|
6612
|
-
if (!this.ws || this.ws.readyState !== WebSocket
|
|
6612
|
+
if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
|
|
6613
6613
|
const id = randomUUID();
|
|
6614
6614
|
const frame = {
|
|
6615
6615
|
type: "req",
|
|
@@ -7933,7 +7933,7 @@ async function routeReply(params) {
|
|
|
7933
7933
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
7934
7934
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
7935
7935
|
try {
|
|
7936
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
7936
|
+
const { deliverOutboundPayloads } = await import("./deliver-whAbSPLk.js").then((n) => n.n);
|
|
7937
7937
|
const outboundSession = buildOutboundSessionContext({
|
|
7938
7938
|
cfg,
|
|
7939
7939
|
agentId: resolvedAgentId,
|
|
@@ -23058,7 +23058,7 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
|
|
|
23058
23058
|
};
|
|
23059
23059
|
const arg = body.slice(6).trim();
|
|
23060
23060
|
if (arg === "status" || arg === "") {
|
|
23061
|
-
const { antonStatus } = await import("./anton-
|
|
23061
|
+
const { antonStatus } = await import("./anton-BzjiLD-a.js");
|
|
23062
23062
|
const lines = [];
|
|
23063
23063
|
await antonStatus({
|
|
23064
23064
|
log: (msg) => lines.push(msg),
|
|
@@ -23074,7 +23074,7 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
|
|
|
23074
23074
|
return { shouldContinue: false };
|
|
23075
23075
|
}
|
|
23076
23076
|
if (arg === "stop") {
|
|
23077
|
-
const { antonStop } = await import("./anton-
|
|
23077
|
+
const { antonStop } = await import("./anton-BzjiLD-a.js");
|
|
23078
23078
|
const lines = [];
|
|
23079
23079
|
await antonStop({
|
|
23080
23080
|
log: (msg) => lines.push(msg),
|
|
@@ -23112,8 +23112,8 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
|
|
|
23112
23112
|
await sendProgress(replyCtx, text);
|
|
23113
23113
|
return { shouldContinue: false };
|
|
23114
23114
|
}
|
|
23115
|
-
const { runAnton, formatProgressMessage } = await import("./anton-
|
|
23116
|
-
const { createDefaultDeps } = await import("./deps-
|
|
23115
|
+
const { runAnton, formatProgressMessage } = await import("./anton-BzjiLD-a.js");
|
|
23116
|
+
const { createDefaultDeps } = await import("./deps-CIF1pkFi.js").then((n) => n.n);
|
|
23117
23117
|
const { createNonExitingRuntime } = await import("./runtime-8mi3mpYB.js").then((n) => n.r);
|
|
23118
23118
|
const runtime = createNonExitingRuntime();
|
|
23119
23119
|
const deps = createDefaultDeps();
|
|
@@ -47425,7 +47425,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
47425
47425
|
return;
|
|
47426
47426
|
}
|
|
47427
47427
|
try {
|
|
47428
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
47428
|
+
const { deliverOutboundPayloads } = await import("./deliver-whAbSPLk.js").then((n) => n.n);
|
|
47429
47429
|
const outboundSession = buildOutboundSessionContext({
|
|
47430
47430
|
cfg: params.cfg,
|
|
47431
47431
|
sessionKey: params.sessionKey
|
|
@@ -51861,7 +51861,7 @@ async function describeStickerImage(params) {
|
|
|
51861
51861
|
logVerbose(`telegram: describing sticker with ${provider}/${model}`);
|
|
51862
51862
|
try {
|
|
51863
51863
|
const buffer = await fs.readFile(imagePath);
|
|
51864
|
-
const { describeImageWithModel } = await import("./image-
|
|
51864
|
+
const { describeImageWithModel } = await import("./image-BAsQlUqT.js").then((n) => n.n);
|
|
51865
51865
|
return (await describeImageWithModel({
|
|
51866
51866
|
buffer,
|
|
51867
51867
|
fileName: "sticker.webp",
|
|
@@ -54789,7 +54789,7 @@ async function preflightDiscordMessage(params) {
|
|
|
54789
54789
|
let preflightTranscript;
|
|
54790
54790
|
const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
|
|
54791
54791
|
if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
|
|
54792
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
54792
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-CSSlgO89.js");
|
|
54793
54793
|
const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
|
|
54794
54794
|
if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
|
|
54795
54795
|
ctx: {
|
|
@@ -57266,7 +57266,7 @@ function createDiscordMessageHandler(params) {
|
|
|
57266
57266
|
try {
|
|
57267
57267
|
const messageText = resolveDiscordMessageText(data.message)?.trim();
|
|
57268
57268
|
if (messageText) {
|
|
57269
|
-
const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-
|
|
57269
|
+
const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-DpTSZhRz.js");
|
|
57270
57270
|
if (isAbortRequestText(messageText)) {
|
|
57271
57271
|
const { resolveAgentRoute } = await import("./resolve-route-BI3VjtwE.js").then((n) => n.r);
|
|
57272
57272
|
const channelId = resolveDiscordMessageChannelId({
|
|
@@ -59990,7 +59990,7 @@ async function agentCommand(opts, runtime = defaultRuntime, deps = createDefault
|
|
|
59990
59990
|
agentId: sessionAgentId,
|
|
59991
59991
|
sessionKey
|
|
59992
59992
|
});
|
|
59993
|
-
const workspaceDirRaw = resolveAgentWorkspaceDir(cfg, sessionAgentId);
|
|
59993
|
+
const workspaceDirRaw = resolvedSessionEntry?.workspaceDir?.trim() || resolveAgentWorkspaceDir(cfg, sessionAgentId);
|
|
59994
59994
|
const agentDir = resolveAgentDir(cfg, sessionAgentId);
|
|
59995
59995
|
const workspaceDir = (await ensureAgentWorkspace({
|
|
59996
59996
|
dir: workspaceDirRaw,
|
|
@@ -62712,7 +62712,7 @@ function createDiscordGatewayPlugin(params) {
|
|
|
62712
62712
|
return super.registerClient(client);
|
|
62713
62713
|
}
|
|
62714
62714
|
createWebSocket(url) {
|
|
62715
|
-
return new WebSocket(url, { agent: wsAgent });
|
|
62715
|
+
return new WebSocket$1(url, { agent: wsAgent });
|
|
62716
62716
|
}
|
|
62717
62717
|
}
|
|
62718
62718
|
return new ProxyGatewayPlugin();
|
|
@@ -64764,7 +64764,7 @@ async function monitorIMessageProvider(opts = {}) {
|
|
|
64764
64764
|
}
|
|
64765
64765
|
const msgText = (message.text ?? "").trim();
|
|
64766
64766
|
if (msgText) {
|
|
64767
|
-
const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-
|
|
64767
|
+
const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-DpTSZhRz.js");
|
|
64768
64768
|
if (isAbortRequestText(msgText)) {
|
|
64769
64769
|
const { resolveAgentRoute } = await import("./resolve-route-BI3VjtwE.js").then((n) => n.r);
|
|
64770
64770
|
const route = resolveAgentRoute({
|
|
@@ -67375,7 +67375,7 @@ function createSignalEventHandler(deps) {
|
|
|
67375
67375
|
const senderName = envelope.sourceName ?? senderDisplay;
|
|
67376
67376
|
const messageId = typeof envelope.timestamp === "number" ? String(envelope.timestamp) : void 0;
|
|
67377
67377
|
if (bodyText) {
|
|
67378
|
-
const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-
|
|
67378
|
+
const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-DpTSZhRz.js");
|
|
67379
67379
|
if (isAbortRequestText(bodyText)) {
|
|
67380
67380
|
const { resolveAgentRoute } = await import("./resolve-route-BI3VjtwE.js").then((n) => n.r);
|
|
67381
67381
|
const route = resolveAgentRoute({
|
|
@@ -70757,7 +70757,7 @@ function createSlackMessageHandler(params) {
|
|
|
70757
70757
|
if (ctx.markMessageSeen(message.channel, message.ts)) return;
|
|
70758
70758
|
const rawText = (message.text ?? "").trim();
|
|
70759
70759
|
if (rawText) {
|
|
70760
|
-
const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-
|
|
70760
|
+
const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-DpTSZhRz.js");
|
|
70761
70761
|
if (isAbortRequestText(rawText)) {
|
|
70762
70762
|
const { resolveAgentRoute } = await import("./resolve-route-BI3VjtwE.js").then((n) => n.r);
|
|
70763
70763
|
const route = resolveAgentRoute({
|
|
@@ -72951,7 +72951,7 @@ const registerTelegramHandlers = ({ cfg, accountId, bot, opts, runtime, mediaMax
|
|
|
72951
72951
|
const { ctx, msg, chatId, resolvedThreadId, storeAllowFrom, sendOversizeWarning, oversizeLogMessage } = params;
|
|
72952
72952
|
const text = typeof msg.text === "string" ? msg.text : void 0;
|
|
72953
72953
|
if (text) {
|
|
72954
|
-
const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-
|
|
72954
|
+
const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-DpTSZhRz.js");
|
|
72955
72955
|
if (isAbortRequestText(text)) {
|
|
72956
72956
|
const senderId = msg.from?.id ? String(msg.from.id) : "";
|
|
72957
72957
|
if (!senderId || !allowFrom?.length || allowFrom.includes(senderId)) {
|
|
@@ -73838,7 +73838,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
|
|
|
73838
73838
|
const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
|
|
73839
73839
|
let preflightTranscript;
|
|
73840
73840
|
if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
|
|
73841
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
73841
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-CSSlgO89.js");
|
|
73842
73842
|
preflightTranscript = await transcribeFirstAudio({
|
|
73843
73843
|
ctx: {
|
|
73844
73844
|
MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
|
|
@@ -76436,7 +76436,7 @@ function loadWebLoginQr() {
|
|
|
76436
76436
|
return webLoginQrPromise;
|
|
76437
76437
|
}
|
|
76438
76438
|
function loadWebChannel() {
|
|
76439
|
-
webChannelPromise ??= import("./web-
|
|
76439
|
+
webChannelPromise ??= import("./web-BJk05p_4.js");
|
|
76440
76440
|
return webChannelPromise;
|
|
76441
76441
|
}
|
|
76442
76442
|
function loadWhatsAppActions() {
|
|
@@ -9,7 +9,7 @@ import { t as formatCliCommand } from "./command-format-BAxx4PW5.js";
|
|
|
9
9
|
import { n as parseBooleanValue } from "./env-BpvqFD5n.js";
|
|
10
10
|
import { t as generateSecureToken } from "./secure-random-BvP4jdcV.js";
|
|
11
11
|
import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-BDG-MYYV.js";
|
|
12
|
-
import { B as DEFAULT_BROWSER_EVALUATE_ENABLED, C as ensureChromeExtensionRelayServer, D as DEFAULT_TRACE_DIR, E as DEFAULT_DOWNLOAD_DIR, H as DEFAULT_IDLEHANDS_BROWSER_ENABLED, I as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, L as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, N as normalizeBrowserFormField, O as DEFAULT_UPLOAD_DIR, P as isLoopbackHost, R as DEFAULT_AI_SNAPSHOT_MAX_CHARS, U as DEFAULT_IDLEHANDS_BROWSER_PROFILE_NAME, V as DEFAULT_IDLEHANDS_BROWSER_COLOR, _ as withBrowserNavigationPolicy, a as resolveIdleHandsUserDataDir, b as fetchOk, c as resolveBrowserExecutableForPlatform, f as normalizeCdpWsUrl, g as assertBrowserNavigationResultAllowed, h as assertBrowserNavigationAllowed, i as launchIdleHandsChrome, j as resolveWritablePathWithinRoot, k as resolveExistingPathsWithinRoot, l as captureScreenshot, m as InvalidBrowserNavigationUrlError, n as isChromeCdpReady, o as stopIdleHandsChrome, p as snapshotAria, r as isChromeReachable, u as createTargetViaCdp, v as appendCdpPath, w as stopChromeExtensionRelayServer, y as fetchJson, z as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME } from "./chrome-
|
|
12
|
+
import { B as DEFAULT_BROWSER_EVALUATE_ENABLED, C as ensureChromeExtensionRelayServer, D as DEFAULT_TRACE_DIR, E as DEFAULT_DOWNLOAD_DIR, H as DEFAULT_IDLEHANDS_BROWSER_ENABLED, I as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, L as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, N as normalizeBrowserFormField, O as DEFAULT_UPLOAD_DIR, P as isLoopbackHost, R as DEFAULT_AI_SNAPSHOT_MAX_CHARS, U as DEFAULT_IDLEHANDS_BROWSER_PROFILE_NAME, V as DEFAULT_IDLEHANDS_BROWSER_COLOR, _ as withBrowserNavigationPolicy, a as resolveIdleHandsUserDataDir, b as fetchOk, c as resolveBrowserExecutableForPlatform, f as normalizeCdpWsUrl, g as assertBrowserNavigationResultAllowed, h as assertBrowserNavigationAllowed, i as launchIdleHandsChrome, j as resolveWritablePathWithinRoot, k as resolveExistingPathsWithinRoot, l as captureScreenshot, m as InvalidBrowserNavigationUrlError, n as isChromeCdpReady, o as stopIdleHandsChrome, p as snapshotAria, r as isChromeReachable, u as createTargetViaCdp, v as appendCdpPath, w as stopChromeExtensionRelayServer, y as fetchJson, z as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME } from "./chrome-Do5potHV.js";
|
|
13
13
|
import { t as SsrFBlockedError } from "./ssrf-DappnhDp.js";
|
|
14
14
|
import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-nQcWk6Z6.js";
|
|
15
15
|
import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-CGbCFqW8.js";
|
|
@@ -1181,7 +1181,7 @@ function isModuleNotFoundError(err) {
|
|
|
1181
1181
|
}
|
|
1182
1182
|
async function loadPwAiModule(mode) {
|
|
1183
1183
|
try {
|
|
1184
|
-
return await import("./pw-ai-
|
|
1184
|
+
return await import("./pw-ai-yrIWfcWX.js");
|
|
1185
1185
|
} catch (err) {
|
|
1186
1186
|
if (mode === "soft") return null;
|
|
1187
1187
|
if (isModuleNotFoundError(err)) return null;
|
|
@@ -3716,11 +3716,11 @@ function createProfileContext(opts, profile) {
|
|
|
3716
3716
|
const userDataDir = resolveIdleHandsUserDataDir(profile.name);
|
|
3717
3717
|
const profileState = getProfileState();
|
|
3718
3718
|
if (await isHttpReachable(300) && !profileState.running) try {
|
|
3719
|
-
await (await import("./pw-ai-
|
|
3719
|
+
await (await import("./pw-ai-yrIWfcWX.js")).closePlaywrightBrowserConnection();
|
|
3720
3720
|
} catch {}
|
|
3721
3721
|
if (profileState.running) await stopRunningBrowser();
|
|
3722
3722
|
try {
|
|
3723
|
-
await (await import("./pw-ai-
|
|
3723
|
+
await (await import("./pw-ai-yrIWfcWX.js")).closePlaywrightBrowserConnection();
|
|
3724
3724
|
} catch {}
|
|
3725
3725
|
if (!syncFs.existsSync(userDataDir)) return {
|
|
3726
3726
|
moved: false,
|
|
@@ -10,7 +10,7 @@ import { t as formatCliCommand } from "./command-format-BAxx4PW5.js";
|
|
|
10
10
|
import { t as parseBooleanValue } from "./boolean-CE7i9tBR.js";
|
|
11
11
|
import { t as generateSecureToken } from "./secure-random-B1N_MXT_.js";
|
|
12
12
|
import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-D1KtygWz.js";
|
|
13
|
-
import { B as DEFAULT_BROWSER_EVALUATE_ENABLED, C as ensureChromeExtensionRelayServer, D as DEFAULT_TRACE_DIR, E as DEFAULT_DOWNLOAD_DIR, H as DEFAULT_IDLEHANDS_BROWSER_ENABLED, I as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, L as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, N as normalizeBrowserFormField, O as DEFAULT_UPLOAD_DIR, P as isLoopbackHost, R as DEFAULT_AI_SNAPSHOT_MAX_CHARS, U as DEFAULT_IDLEHANDS_BROWSER_PROFILE_NAME, V as DEFAULT_IDLEHANDS_BROWSER_COLOR, _ as withBrowserNavigationPolicy, a as resolveIdleHandsUserDataDir, b as fetchOk, c as resolveBrowserExecutableForPlatform, f as normalizeCdpWsUrl, g as assertBrowserNavigationResultAllowed, h as assertBrowserNavigationAllowed, i as launchIdleHandsChrome, j as resolveWritablePathWithinRoot, k as resolveExistingPathsWithinRoot, l as captureScreenshot, m as InvalidBrowserNavigationUrlError, n as isChromeCdpReady, o as stopIdleHandsChrome, p as snapshotAria, r as isChromeReachable, u as createTargetViaCdp, v as appendCdpPath, w as stopChromeExtensionRelayServer, y as fetchJson, z as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME } from "./chrome-
|
|
13
|
+
import { B as DEFAULT_BROWSER_EVALUATE_ENABLED, C as ensureChromeExtensionRelayServer, D as DEFAULT_TRACE_DIR, E as DEFAULT_DOWNLOAD_DIR, H as DEFAULT_IDLEHANDS_BROWSER_ENABLED, I as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, L as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, N as normalizeBrowserFormField, O as DEFAULT_UPLOAD_DIR, P as isLoopbackHost, R as DEFAULT_AI_SNAPSHOT_MAX_CHARS, U as DEFAULT_IDLEHANDS_BROWSER_PROFILE_NAME, V as DEFAULT_IDLEHANDS_BROWSER_COLOR, _ as withBrowserNavigationPolicy, a as resolveIdleHandsUserDataDir, b as fetchOk, c as resolveBrowserExecutableForPlatform, f as normalizeCdpWsUrl, g as assertBrowserNavigationResultAllowed, h as assertBrowserNavigationAllowed, i as launchIdleHandsChrome, j as resolveWritablePathWithinRoot, k as resolveExistingPathsWithinRoot, l as captureScreenshot, m as InvalidBrowserNavigationUrlError, n as isChromeCdpReady, o as stopIdleHandsChrome, p as snapshotAria, r as isChromeReachable, u as createTargetViaCdp, v as appendCdpPath, w as stopChromeExtensionRelayServer, y as fetchJson, z as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME } from "./chrome-_2tzVjVl.js";
|
|
14
14
|
import { t as SsrFBlockedError } from "./ssrf-CZeHDwVZ.js";
|
|
15
15
|
import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-CnAPWfca.js";
|
|
16
16
|
import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-Cu1nXNMM.js";
|
|
@@ -1182,7 +1182,7 @@ function isModuleNotFoundError(err) {
|
|
|
1182
1182
|
}
|
|
1183
1183
|
async function loadPwAiModule(mode) {
|
|
1184
1184
|
try {
|
|
1185
|
-
return await import("./pw-ai-
|
|
1185
|
+
return await import("./pw-ai-CowTfhOG.js");
|
|
1186
1186
|
} catch (err) {
|
|
1187
1187
|
if (mode === "soft") return null;
|
|
1188
1188
|
if (isModuleNotFoundError(err)) return null;
|
|
@@ -3717,11 +3717,11 @@ function createProfileContext(opts, profile) {
|
|
|
3717
3717
|
const userDataDir = resolveIdleHandsUserDataDir(profile.name);
|
|
3718
3718
|
const profileState = getProfileState();
|
|
3719
3719
|
if (await isHttpReachable(300) && !profileState.running) try {
|
|
3720
|
-
await (await import("./pw-ai-
|
|
3720
|
+
await (await import("./pw-ai-CowTfhOG.js")).closePlaywrightBrowserConnection();
|
|
3721
3721
|
} catch {}
|
|
3722
3722
|
if (profileState.running) await stopRunningBrowser();
|
|
3723
3723
|
try {
|
|
3724
|
-
await (await import("./pw-ai-
|
|
3724
|
+
await (await import("./pw-ai-CowTfhOG.js")).closePlaywrightBrowserConnection();
|
|
3725
3725
|
} catch {}
|
|
3726
3726
|
if (!syncFs.existsSync(userDataDir)) return {
|
|
3727
3727
|
moved: false,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { ht as loadIdleHandsPlugins } from "./reply-
|
|
2
|
+
import { ht as loadIdleHandsPlugins } from "./reply-Cmj0wbnT.js";
|
|
3
3
|
import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-RA0zXRpu.js";
|
|
4
4
|
import { b as getActivePluginRegistry, t as createSubsystemLogger } from "./subsystem-CGZX2PBV.js";
|
|
5
5
|
import { It as loadConfig } from "./model-selection-0dGxYGp8.js";
|
|
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
|
2
2
|
import { E as getActivePluginRegistry, s as createSubsystemLogger } from "./entry.js";
|
|
3
3
|
import { j as loadConfig } from "./auth-profiles-Baj5ImDJ.js";
|
|
4
4
|
import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-mLXQGQde.js";
|
|
5
|
-
import { _ as loadIdleHandsPlugins } from "./subagent-registry-
|
|
5
|
+
import { _ as loadIdleHandsPlugins } from "./subagent-registry-DHwrN9Oj.js";
|
|
6
6
|
|
|
7
7
|
//#region src/cli/plugin-registry.ts
|
|
8
8
|
var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { s as normalizeAgentId } from "./session-key-47BV2tLd.js";
|
|
2
2
|
import "./accounts-BLYMokxV.js";
|
|
3
|
-
import { F as callGateway, I as randomIdempotencyKey, d as agentCommand, f as resolveSessionKeyForRequest, p as withProgress } from "./reply-
|
|
3
|
+
import { F as callGateway, I as randomIdempotencyKey, d as agentCommand, f as resolveSessionKeyForRequest, p as withProgress } from "./reply-B-q4HnAx.js";
|
|
4
4
|
import "./paths-CtGV5i8O.js";
|
|
5
5
|
import "./github-copilot-token-CY2euW0d.js";
|
|
6
6
|
import { r as loadConfig } from "./config-CEgzwk0J.js";
|
|
@@ -63,7 +63,7 @@ import "./send-B26cNPqY.js";
|
|
|
63
63
|
import "./proxy-C4ewPdlN.js";
|
|
64
64
|
import "./resolve-route-BZABUE4J.js";
|
|
65
65
|
import "./replies-ZovJp-3F.js";
|
|
66
|
-
import "./deps-
|
|
66
|
+
import "./deps-mdAvVF88.js";
|
|
67
67
|
import "./outbound-attachment-BisU5Vji.js";
|
|
68
68
|
|
|
69
69
|
//#region src/commands/agent-via-gateway.ts
|
|
@@ -216,18 +216,19 @@ async function loadAntonConfig() {
|
|
|
216
216
|
}
|
|
217
217
|
}
|
|
218
218
|
async function runAgentTask(args) {
|
|
219
|
-
const { agentCliCommand } = await import("./agent-via-gateway-
|
|
219
|
+
const { agentCliCommand } = await import("./agent-via-gateway-C2tn6sON.js");
|
|
220
220
|
const extraSystemPrompt = args.workspaceDir ? `Your working directory is: ${args.workspaceDir}\nAll file paths are relative to this directory. Use this as your cwd for all operations.` : void 0;
|
|
221
|
-
await agentCliCommand({
|
|
221
|
+
const result = await agentCliCommand({
|
|
222
222
|
message: args.message,
|
|
223
223
|
agent: args.agent,
|
|
224
224
|
to: args.to,
|
|
225
225
|
sessionId: args.sessionId,
|
|
226
226
|
timeout: args.timeout,
|
|
227
|
-
json:
|
|
227
|
+
json: true,
|
|
228
228
|
deliver: false,
|
|
229
229
|
extraSystemPrompt
|
|
230
230
|
}, args.runtime, args.deps);
|
|
231
|
+
return { text: (result && typeof result === "object" && "result" in result ? result.result?.payloads ?? [] : []).map((p) => typeof p?.text === "string" ? p.text.trim() : "").filter(Boolean).join("\n\n").trim() };
|
|
231
232
|
}
|
|
232
233
|
function makePlanFilePath(planDir, taskIndex) {
|
|
233
234
|
return path.join(planDir, `task-${taskIndex}-${Date.now()}.md`);
|
|
@@ -243,6 +244,63 @@ async function isPlanFileValid(filePath) {
|
|
|
243
244
|
return false;
|
|
244
245
|
}
|
|
245
246
|
}
|
|
247
|
+
function extractJsonObject(text) {
|
|
248
|
+
const trimmed = text.trim();
|
|
249
|
+
if (!trimmed) return null;
|
|
250
|
+
const tryParse = (candidate) => {
|
|
251
|
+
try {
|
|
252
|
+
const parsed = JSON.parse(candidate);
|
|
253
|
+
if (!parsed || typeof parsed !== "object") return null;
|
|
254
|
+
return parsed;
|
|
255
|
+
} catch {
|
|
256
|
+
return null;
|
|
257
|
+
}
|
|
258
|
+
};
|
|
259
|
+
const direct = tryParse(trimmed);
|
|
260
|
+
if (direct) return direct;
|
|
261
|
+
const fencedMatch = trimmed.match(/```(?:json)?\s*([\s\S]*?)```/i);
|
|
262
|
+
if (fencedMatch?.[1]) {
|
|
263
|
+
const fenced = tryParse(fencedMatch[1].trim());
|
|
264
|
+
if (fenced) return fenced;
|
|
265
|
+
}
|
|
266
|
+
const first = trimmed.indexOf("{");
|
|
267
|
+
const last = trimmed.lastIndexOf("}");
|
|
268
|
+
if (first >= 0 && last > first) {
|
|
269
|
+
const sliced = tryParse(trimmed.slice(first, last + 1));
|
|
270
|
+
if (sliced) return sliced;
|
|
271
|
+
}
|
|
272
|
+
return null;
|
|
273
|
+
}
|
|
274
|
+
function extractPlanMarkdownFromText(text) {
|
|
275
|
+
const candidate = text.match(/```(?:markdown|md)?\s*([\s\S]*?)```/i)?.[1]?.trim() ?? text.trim();
|
|
276
|
+
if (candidate.length < 60) return;
|
|
277
|
+
return candidate;
|
|
278
|
+
}
|
|
279
|
+
function normalizeDiscoveryFilename(filename, expectedPlanFile) {
|
|
280
|
+
const trimmed = filename?.trim();
|
|
281
|
+
if (!trimmed) return expectedPlanFile;
|
|
282
|
+
return path.resolve(trimmed);
|
|
283
|
+
}
|
|
284
|
+
function buildDiscoveryRepairPrompt(task, taskFile, planFilePath) {
|
|
285
|
+
return `RETRY: your previous preflight response did not produce a valid plan file.
|
|
286
|
+
|
|
287
|
+
You MUST complete these steps exactly:
|
|
288
|
+
1) Write the implementation plan to: ${planFilePath}
|
|
289
|
+
2) Verify the file exists and is non-empty
|
|
290
|
+
3) Return ONLY strict JSON: {"status":"incomplete","filename":"${planFilePath}"}
|
|
291
|
+
|
|
292
|
+
If task is already complete, return ONLY: {"status":"complete","filename":""}
|
|
293
|
+
|
|
294
|
+
Do not include THOUGHT, markdown fences, or extra commentary.
|
|
295
|
+
Task file: ${taskFile}
|
|
296
|
+
Task: ${task}`;
|
|
297
|
+
}
|
|
298
|
+
async function tryPersistPlanFallback(params) {
|
|
299
|
+
const planText = (((typeof params.parsed?.planMarkdown === "string" ? params.parsed.planMarkdown : void 0) ?? (typeof params.parsed?.plan === "string" ? params.parsed.plan : void 0))?.trim() || extractPlanMarkdownFromText(params.rawText) || "").trim();
|
|
300
|
+
if (planText.length < 60) return false;
|
|
301
|
+
await fs.writeFile(params.planFile, `${planText}\n`, "utf8");
|
|
302
|
+
return await isPlanFileValid(params.planFile);
|
|
303
|
+
}
|
|
246
304
|
async function runDiscoveryPhase(args) {
|
|
247
305
|
const planFile = makePlanFilePath(args.planDir, args.taskNum);
|
|
248
306
|
await ensurePlanDir(args.planDir);
|
|
@@ -262,7 +320,7 @@ async function runDiscoveryPhase(args) {
|
|
|
262
320
|
task: `Discovery (attempt ${attempt + 1})`,
|
|
263
321
|
sessionId
|
|
264
322
|
});
|
|
265
|
-
await runAgentTask({
|
|
323
|
+
const firstPass = await runAgentTask({
|
|
266
324
|
message: buildDiscoveryPrompt(args.task.text, args.taskFile, planFile),
|
|
267
325
|
sessionId,
|
|
268
326
|
timeout: args.timeout,
|
|
@@ -272,23 +330,91 @@ async function runDiscoveryPhase(args) {
|
|
|
272
330
|
deps: args.deps,
|
|
273
331
|
workspaceDir: args.workspaceDir
|
|
274
332
|
});
|
|
275
|
-
|
|
333
|
+
const firstParsed = extractJsonObject(firstPass.text);
|
|
334
|
+
if ((firstParsed?.status ?? "").toLowerCase() === "complete") return { status: "complete" };
|
|
335
|
+
const declaredPlanFile = normalizeDiscoveryFilename(firstParsed?.filename, planFile);
|
|
336
|
+
if (await isPlanFileValid(declaredPlanFile)) {
|
|
276
337
|
await args.notify({
|
|
277
338
|
phase: "discovery_complete",
|
|
278
339
|
index: args.taskNum,
|
|
279
340
|
total: args.total,
|
|
280
341
|
task: args.task.text,
|
|
281
|
-
planFile
|
|
342
|
+
planFile: declaredPlanFile
|
|
282
343
|
});
|
|
283
344
|
return {
|
|
284
345
|
status: "plan_ready",
|
|
285
|
-
planFile
|
|
346
|
+
planFile: declaredPlanFile
|
|
347
|
+
};
|
|
348
|
+
}
|
|
349
|
+
if ((firstParsed?.status ?? "").toLowerCase() === "incomplete" && await tryPersistPlanFallback({
|
|
350
|
+
planFile: declaredPlanFile,
|
|
351
|
+
parsed: firstParsed,
|
|
352
|
+
rawText: firstPass.text
|
|
353
|
+
})) {
|
|
354
|
+
await args.notify({
|
|
355
|
+
phase: "discovery_complete",
|
|
356
|
+
index: args.taskNum,
|
|
357
|
+
total: args.total,
|
|
358
|
+
task: args.task.text,
|
|
359
|
+
planFile: declaredPlanFile
|
|
360
|
+
});
|
|
361
|
+
return {
|
|
362
|
+
status: "plan_ready",
|
|
363
|
+
planFile: declaredPlanFile
|
|
364
|
+
};
|
|
365
|
+
}
|
|
366
|
+
const repairSessionId = `anton-discovery-repair-${Date.now()}-${args.taskNum}-${attempt}`;
|
|
367
|
+
await args.notify({
|
|
368
|
+
phase: "task_agent_spawned",
|
|
369
|
+
index: args.taskNum,
|
|
370
|
+
total: args.total,
|
|
371
|
+
task: `Discovery repair (attempt ${attempt + 1})`,
|
|
372
|
+
sessionId: repairSessionId
|
|
373
|
+
});
|
|
374
|
+
const repairPass = await runAgentTask({
|
|
375
|
+
message: buildDiscoveryRepairPrompt(args.task.text, args.taskFile, declaredPlanFile),
|
|
376
|
+
sessionId: repairSessionId,
|
|
377
|
+
timeout: args.timeout,
|
|
378
|
+
agent: args.agent,
|
|
379
|
+
to: args.to,
|
|
380
|
+
runtime: args.runtime,
|
|
381
|
+
deps: args.deps,
|
|
382
|
+
workspaceDir: args.workspaceDir
|
|
383
|
+
});
|
|
384
|
+
const repairParsed = extractJsonObject(repairPass.text);
|
|
385
|
+
if ((repairParsed?.status ?? "").toLowerCase() === "complete") return { status: "complete" };
|
|
386
|
+
const repairPlanFile = normalizeDiscoveryFilename(repairParsed?.filename, declaredPlanFile);
|
|
387
|
+
if (await isPlanFileValid(repairPlanFile) || await tryPersistPlanFallback({
|
|
388
|
+
planFile: repairPlanFile,
|
|
389
|
+
parsed: repairParsed,
|
|
390
|
+
rawText: repairPass.text
|
|
391
|
+
})) {
|
|
392
|
+
await args.notify({
|
|
393
|
+
phase: "discovery_complete",
|
|
394
|
+
index: args.taskNum,
|
|
395
|
+
total: args.total,
|
|
396
|
+
task: args.task.text,
|
|
397
|
+
planFile: repairPlanFile
|
|
398
|
+
});
|
|
399
|
+
return {
|
|
400
|
+
status: "plan_ready",
|
|
401
|
+
planFile: repairPlanFile
|
|
402
|
+
};
|
|
403
|
+
}
|
|
404
|
+
if (attempt === args.maxRetries) {
|
|
405
|
+
const reason = "Discovery did not produce a valid plan file after primary + repair passes";
|
|
406
|
+
await args.notify({
|
|
407
|
+
phase: "discovery_failed",
|
|
408
|
+
index: args.taskNum,
|
|
409
|
+
total: args.total,
|
|
410
|
+
task: args.task.text,
|
|
411
|
+
error: reason
|
|
412
|
+
});
|
|
413
|
+
return {
|
|
414
|
+
status: "failed",
|
|
415
|
+
error: reason
|
|
286
416
|
};
|
|
287
417
|
}
|
|
288
|
-
if (attempt === args.maxRetries) return {
|
|
289
|
-
status: "failed",
|
|
290
|
-
error: "Discovery did not produce a valid plan file"
|
|
291
|
-
};
|
|
292
418
|
} catch (err) {
|
|
293
419
|
const errorMsg = err instanceof Error ? err.message : String(err);
|
|
294
420
|
if (attempt === args.maxRetries) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { a as buildGroupHistoryKey, f as DEFAULT_ACCOUNT_ID, n as DEFAULT_MAIN_KEY, r as buildAgentMainSessionKey, s as normalizeAgentId } from "./session-key-47BV2tLd.js";
|
|
2
2
|
import { i as resolveWhatsAppAccount } from "./accounts-BLYMokxV.js";
|
|
3
|
-
import { A as formatDurationPrecise, Ct as formatInboundEnvelope, Gt as resolveOpenProviderRuntimeGroupPolicy, Lt as resolveDmGroupAccessWithCommandGate, Mt as buildPairingReply, Pt as readStoreAllowFromForDmPolicy, Rt as resolveDmGroupAccessWithLists, Tt as resolveEnvelopeFormatOptions, Wt as resolveDefaultGroupPolicy, X as shouldAckReactionForWhatsApp, Z as resolveMentionGating, _ as resolveInboundDebounceMs, ct as recordPendingHistoryEntryIfEnabled, g as createInboundDebouncer, i as parseActivationCommand, j as enqueueSystemEvent, l as computeBackoff, lt as buildMentionRegexes, m as dispatchReplyWithBufferedBlockDispatcher, nt as buildHistoryContextFromEntries, qt as warnMissingProviderGroupPolicyFallbackOnce, r as normalizeGroupActivation, t as getReplyFromConfig, tt as DEFAULT_GROUP_HISTORY_LIMIT, u as sleepWithAbort, ut as normalizeMentionText, v as hasControlCommand, y as shouldComputeCommandAuthorized, yt as createDedupeCache } from "./reply-
|
|
3
|
+
import { A as formatDurationPrecise, Ct as formatInboundEnvelope, Gt as resolveOpenProviderRuntimeGroupPolicy, Lt as resolveDmGroupAccessWithCommandGate, Mt as buildPairingReply, Pt as readStoreAllowFromForDmPolicy, Rt as resolveDmGroupAccessWithLists, Tt as resolveEnvelopeFormatOptions, Wt as resolveDefaultGroupPolicy, X as shouldAckReactionForWhatsApp, Z as resolveMentionGating, _ as resolveInboundDebounceMs, ct as recordPendingHistoryEntryIfEnabled, g as createInboundDebouncer, i as parseActivationCommand, j as enqueueSystemEvent, l as computeBackoff, lt as buildMentionRegexes, m as dispatchReplyWithBufferedBlockDispatcher, nt as buildHistoryContextFromEntries, qt as warnMissingProviderGroupPolicyFallbackOnce, r as normalizeGroupActivation, t as getReplyFromConfig, tt as DEFAULT_GROUP_HISTORY_LIMIT, u as sleepWithAbort, ut as normalizeMentionText, v as hasControlCommand, y as shouldComputeCommandAuthorized, yt as createDedupeCache } from "./reply-B-q4HnAx.js";
|
|
4
4
|
import { r as loadConfig } from "./config-CEgzwk0J.js";
|
|
5
5
|
import { A as shouldLogVerbose, D as logVerbose, I as getChildLogger, d as normalizeE164, l as isSelfChatMode, m as resolveJidToE164, n as clamp, u as jidToE164, x as toWhatsappJid, y as sleep } from "./utils-Dyj2wV4e.js";
|
|
6
6
|
import { l as normalizeChatChannelId, t as createSubsystemLogger } from "./subsystem-DWPzKeZ0.js";
|
|
@@ -878,7 +878,7 @@ async function monitorWebInbox(options) {
|
|
|
878
878
|
};
|
|
879
879
|
const stopText = (inboundMessage.body ?? "").trim();
|
|
880
880
|
if (stopText) {
|
|
881
|
-
const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-
|
|
881
|
+
const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-DYCGWJzN.js");
|
|
882
882
|
if (isAbortRequestText(stopText)) {
|
|
883
883
|
const { loadConfig: loadCfg } = await import("./config-CEgzwk0J.js").then((n) => n.t);
|
|
884
884
|
const { resolveAgentRoute } = await import("./resolve-route-BZABUE4J.js").then((n) => n.r);
|
|
@@ -18,7 +18,7 @@ var deps_exports = /* @__PURE__ */ __exportAll({ createDefaultDeps: () => create
|
|
|
18
18
|
function createDefaultDeps() {
|
|
19
19
|
return {
|
|
20
20
|
sendMessageWhatsApp: async (...args) => {
|
|
21
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
21
|
+
const { sendMessageWhatsApp } = await import("./web-P5eS5E4t.js");
|
|
22
22
|
return await sendMessageWhatsApp(...args);
|
|
23
23
|
},
|
|
24
24
|
sendMessageTelegram: async (...args) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "./accounts-BLYMokxV.js";
|
|
2
|
-
import { S as stopSubagentsForRequester, b as formatAbortReplyText, n as abortEmbeddedPiRun, w as clearSessionQueues, x as isAbortRequestText } from "./reply-
|
|
2
|
+
import { S as stopSubagentsForRequester, b as formatAbortReplyText, n as abortEmbeddedPiRun, w as clearSessionQueues, x as isAbortRequestText } from "./reply-B-q4HnAx.js";
|
|
3
3
|
import "./paths-CtGV5i8O.js";
|
|
4
4
|
import "./github-copilot-token-CY2euW0d.js";
|
|
5
5
|
import "./config-CEgzwk0J.js";
|
|
@@ -61,7 +61,7 @@ import "./send-B26cNPqY.js";
|
|
|
61
61
|
import "./proxy-C4ewPdlN.js";
|
|
62
62
|
import "./resolve-route-BZABUE4J.js";
|
|
63
63
|
import "./replies-ZovJp-3F.js";
|
|
64
|
-
import "./deps-
|
|
64
|
+
import "./deps-mdAvVF88.js";
|
|
65
65
|
import "./outbound-attachment-BisU5Vji.js";
|
|
66
66
|
|
|
67
67
|
//#region src/auto-reply/reply/emergency-stop.ts
|
package/dist/plugin-sdk/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { f as DEFAULT_ACCOUNT_ID, p as normalizeAccountId, u as resolveThreadSessionKeys } from "./session-key-47BV2tLd.js";
|
|
2
2
|
import { a as resolveWhatsAppAuthDir, i as resolveWhatsAppAccount, n as listWhatsAppAccountIds, o as createAccountListHelpers, r as resolveDefaultWhatsAppAccountId } from "./accounts-BLYMokxV.js";
|
|
3
|
-
import { $ as mergeAllowlist, $t as unregisterAcpRuntimeBackend, At as extractToolSend, B as formatDocsLink, Bt as resolveControlCommandGate, D as stripMarkdown, Dt as formatZonedTimestamp, E as processLineMessage, Et as formatUtcTimestamp, Ft as resolveDmAllowState, G as logInboundDrop, Gt as resolveOpenProviderRuntimeGroupPolicy, H as stringEnum, Ht as resetMissingProviderGroupPolicyFallbackWarningsForTesting, It as resolveDmGroupAccessDecision, J as removeAckReactionAfterReply, Jt as isDangerousNameMatchingEnabled, K as logTypingFailure, Kt as resolveRuntimeGroupPolicy, L as resolveDiscordUserAllowlist, Lt as resolveDmGroupAccessWithCommandGate, M as resolveSlackUserAllowlist, N as resolveSlackChannelAllowlist, Nt as DM_GROUP_ACCESS_REASON, O as createReceiptCard, Ot as resolveTimezone, P as detectBinary, Pt as readStoreAllowFromForDmPolicy, Q as resolveMentionGatingWithBypass, Qt as requireAcpRuntimeBackend, R as resolveDiscordChannelAllowlist, Rt as resolveDmGroupAccessWithLists, St as rejectDevicePairing, T as hasMarkdownToConvert, U as recordInboundSession, Ut as resolveAllowlistProviderRuntimeGroupPolicy, V as optionalStringEnum, Vt as GROUP_POLICY_BLOCKED_LABEL, W as logAckFailure, Wt as resolveDefaultGroupPolicy, X as shouldAckReactionForWhatsApp, Xt as getAcpRuntimeBackend, Y as shouldAckReaction, Yt as registerPluginHttpRoute, Z as resolveMentionGating, Zt as registerAcpRuntimeBackend, _t as readRequestBodyWithLimit, a as listLineAccountIds, an as formatAllowlistMatchMeta, at as clearHistoryEntriesIfEnabled, bt as approveDevicePairing, c as resolveLineAccount, cn as BLUEBUBBLES_ACTION_NAMES, ct as recordPendingHistoryEntryIfEnabled, dt as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, en as ACP_ERROR_CODES, et as summarizeMapping, ft as DEFAULT_WEBHOOK_MAX_BODY_BYTES, gt as readJsonBodyWithLimit, ht as isRequestBodyLimitError, in as unbindThreadBindingsBySessionKey, it as clearHistoryEntries, jt as issuePairingChallenge, k as attachFooterText, kt as buildMediaPayload, ln as BLUEBUBBLES_GROUP_ACTIONS, mt as installRequestBodyLimitGuard, nn as autoBindSpawnedDiscordSubagent, o as normalizeAccountId$1, on as resolveAllowlistMatchSimple, ot as evictOldHistoryKeys, pt as RequestBodyLimitError, q as createTypingCallbacks, qt as warnMissingProviderGroupPolicyFallbackOnce, rn as listThreadBindingsBySessionKey, rt as buildPendingHistoryContextFromMap, s as resolveDefaultLineAccountId, sn as BLUEBUBBLES_ACTIONS, st as recordPendingHistoryEntry, tn as AcpRuntimeError, tt as DEFAULT_GROUP_HISTORY_LIMIT, un as CHANNEL_MESSAGE_ACTION_NAMES, vt as requestBodyErrorToText, wt as formatInboundFromLabel, xt as listDevicePairing, yt as createDedupeCache, z as collectDiscordAuditChannelIds, zt as resolveEffectiveAllowFromLists } from "./reply-
|
|
3
|
+
import { $ as mergeAllowlist, $t as unregisterAcpRuntimeBackend, At as extractToolSend, B as formatDocsLink, Bt as resolveControlCommandGate, D as stripMarkdown, Dt as formatZonedTimestamp, E as processLineMessage, Et as formatUtcTimestamp, Ft as resolveDmAllowState, G as logInboundDrop, Gt as resolveOpenProviderRuntimeGroupPolicy, H as stringEnum, Ht as resetMissingProviderGroupPolicyFallbackWarningsForTesting, It as resolveDmGroupAccessDecision, J as removeAckReactionAfterReply, Jt as isDangerousNameMatchingEnabled, K as logTypingFailure, Kt as resolveRuntimeGroupPolicy, L as resolveDiscordUserAllowlist, Lt as resolveDmGroupAccessWithCommandGate, M as resolveSlackUserAllowlist, N as resolveSlackChannelAllowlist, Nt as DM_GROUP_ACCESS_REASON, O as createReceiptCard, Ot as resolveTimezone, P as detectBinary, Pt as readStoreAllowFromForDmPolicy, Q as resolveMentionGatingWithBypass, Qt as requireAcpRuntimeBackend, R as resolveDiscordChannelAllowlist, Rt as resolveDmGroupAccessWithLists, St as rejectDevicePairing, T as hasMarkdownToConvert, U as recordInboundSession, Ut as resolveAllowlistProviderRuntimeGroupPolicy, V as optionalStringEnum, Vt as GROUP_POLICY_BLOCKED_LABEL, W as logAckFailure, Wt as resolveDefaultGroupPolicy, X as shouldAckReactionForWhatsApp, Xt as getAcpRuntimeBackend, Y as shouldAckReaction, Yt as registerPluginHttpRoute, Z as resolveMentionGating, Zt as registerAcpRuntimeBackend, _t as readRequestBodyWithLimit, a as listLineAccountIds, an as formatAllowlistMatchMeta, at as clearHistoryEntriesIfEnabled, bt as approveDevicePairing, c as resolveLineAccount, cn as BLUEBUBBLES_ACTION_NAMES, ct as recordPendingHistoryEntryIfEnabled, dt as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, en as ACP_ERROR_CODES, et as summarizeMapping, ft as DEFAULT_WEBHOOK_MAX_BODY_BYTES, gt as readJsonBodyWithLimit, ht as isRequestBodyLimitError, in as unbindThreadBindingsBySessionKey, it as clearHistoryEntries, jt as issuePairingChallenge, k as attachFooterText, kt as buildMediaPayload, ln as BLUEBUBBLES_GROUP_ACTIONS, mt as installRequestBodyLimitGuard, nn as autoBindSpawnedDiscordSubagent, o as normalizeAccountId$1, on as resolveAllowlistMatchSimple, ot as evictOldHistoryKeys, pt as RequestBodyLimitError, q as createTypingCallbacks, qt as warnMissingProviderGroupPolicyFallbackOnce, rn as listThreadBindingsBySessionKey, rt as buildPendingHistoryContextFromMap, s as resolveDefaultLineAccountId, sn as BLUEBUBBLES_ACTIONS, st as recordPendingHistoryEntry, tn as AcpRuntimeError, tt as DEFAULT_GROUP_HISTORY_LIMIT, un as CHANNEL_MESSAGE_ACTION_NAMES, vt as requestBodyErrorToText, wt as formatInboundFromLabel, xt as listDevicePairing, yt as createDedupeCache, z as collectDiscordAuditChannelIds, zt as resolveEffectiveAllowFromLists } from "./reply-B-q4HnAx.js";
|
|
4
4
|
import "./paths-CtGV5i8O.js";
|
|
5
5
|
import "./github-copilot-token-CY2euW0d.js";
|
|
6
6
|
import { A as GroupPolicySchema, An as acquireFileLock, D as BlockStreamingCoalesceSchema, E as ToolPolicySchema, F as TtsConfigSchema, I as TtsModeSchema, L as TtsProviderSchema, M as MarkdownTableModeSchema, N as ReplyRuntimeConfigSchemaShape, O as DmConfigSchema, P as TtsAutoSchema, R as normalizeAllowFrom, d as GoogleChatConfigSchema, f as IMessageConfigSchema, g as TelegramConfigSchema, h as SlackConfigSchema, j as MarkdownConfigSchema, jn as withFileLock, k as DmPolicySchema, l as WhatsAppConfigSchema, m as SignalConfigSchema, p as MSTeamsConfigSchema, u as DiscordConfigSchema, z as requireOpenAllowFrom } from "./config-CEgzwk0J.js";
|
|
@@ -52,7 +52,7 @@ import { h as onDiagnosticEvent, m as isDiagnosticsEnabled, p as emitDiagnosticE
|
|
|
52
52
|
import { n as extractOriginalFilename } from "./store-CCCXwngh.js";
|
|
53
53
|
import "./pi-embedded-helpers-B68z4sHq.js";
|
|
54
54
|
import { t as resolveWhatsAppOutboundTarget } from "./resolve-outbound-target-CnUtsDch.js";
|
|
55
|
-
import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-
|
|
55
|
+
import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-DwtLzVOR.js";
|
|
56
56
|
import "./thinking-g4Rrlwu4.js";
|
|
57
57
|
import "./image-C_1tftC8.js";
|
|
58
58
|
import "./pi-model-discovery-Dt6899be.js";
|
|
@@ -65,7 +65,7 @@ import "./send-B26cNPqY.js";
|
|
|
65
65
|
import "./proxy-C4ewPdlN.js";
|
|
66
66
|
import "./resolve-route-BZABUE4J.js";
|
|
67
67
|
import "./replies-ZovJp-3F.js";
|
|
68
|
-
import "./deps-
|
|
68
|
+
import "./deps-mdAvVF88.js";
|
|
69
69
|
import "./outbound-attachment-BisU5Vji.js";
|
|
70
70
|
import "./outbound-Dx_q6JAI.js";
|
|
71
71
|
import "./session-DdJj6_DW.js";
|