@visorcraft/idlehands 4.0.8 → 4.0.9

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.
Files changed (128) hide show
  1. package/dist/{agent-via-gateway-BNqWa2KY.js → agent-via-gateway-C29-E0K6.js} +1 -1
  2. package/dist/{agent-via-gateway-DnukWgYg.js → agent-via-gateway-C9MXMxE9.js} +1 -1
  3. package/dist/{agent-via-gateway-DAWRXgBZ.js → agent-via-gateway-D2lUw5_a.js} +2 -2
  4. package/dist/{agent-via-gateway-ot70omgC.js → agent-via-gateway-DD6djeRE.js} +7 -7
  5. package/dist/{agents-etUqQ3vM.js → agents-BTQoPRp2.js} +4 -4
  6. package/dist/{agents.config-FFOmEBpp.js → agents.config-CmrYf0R9.js} +1 -1
  7. package/dist/{agents.config-DGaSmPdW.js → agents.config-Hj50zEpg.js} +1 -1
  8. package/dist/{anton-B7cGl-93.js → anton-Ak5zdzLn.js} +1 -1
  9. package/dist/{anton-CZliSAOv.js → anton-C7A24R8k.js} +1 -1
  10. package/dist/{anton-BV_xSUQi.js → anton-CHMhMbfn.js} +1 -1
  11. package/dist/{anton-CdYcHDXy.js → anton-Cso65xsA.js} +1 -1
  12. package/dist/{audio-preflight-BSlR2jEq.js → audio-preflight-CW8IH1lU.js} +4 -4
  13. package/dist/{auth-choice-CdEVNS6t.js → auth-choice-BQUQWOPB.js} +1 -1
  14. package/dist/{auth-choice-qQO5MWz8.js → auth-choice-CNa4gxNm.js} +1 -1
  15. package/dist/{banner-DKPFtm9j.js → banner-C7YGM3JT.js} +1 -1
  16. package/dist/build-info.json +3 -3
  17. package/dist/bundled/boot-md/handler.js +7 -7
  18. package/dist/bundled/session-memory/handler.js +7 -7
  19. package/dist/{channel-options-BNcsrd0d.js → channel-options-BKWtYjoK.js} +1 -1
  20. package/dist/{channel-options-CSurZCfX.js → channel-options-DvaeKHAx.js} +1 -1
  21. package/dist/{channel-web-DfBOK5if.js → channel-web-CAxuafZC.js} +2 -2
  22. package/dist/{channel-web-COYnY8sZ.js → channel-web-VN0ZgePd.js} +2 -2
  23. package/dist/{channels-cli-BTIg3DJP.js → channels-cli-BXaEFZn4.js} +7 -7
  24. package/dist/{channels-cli-GZ16c99F.js → channels-cli-wID9mrKy.js} +7 -7
  25. package/dist/{chrome-_2tzVjVl.js → chrome-BcJB6PcM.js} +9 -9
  26. package/dist/{cli-CnjJnIx0.js → cli-Bn2CZFDi.js} +2 -2
  27. package/dist/{cli-CBXoKbJn.js → cli-BxRgr1BR.js} +2 -2
  28. package/dist/{command-registry-D3iSv7Of.js → command-registry-Dm6V5xBk.js} +10 -10
  29. package/dist/{completion-cli-Dkh-Zrqo.js → completion-cli-BaJBGfP6.js} +2 -2
  30. package/dist/{completion-cli-Zaylny55.js → completion-cli-DnvwEZHv.js} +1 -1
  31. package/dist/{config-cli-DOf-CodQ.js → config-cli-DTMfFEvU.js} +1 -1
  32. package/dist/{config-cli-B8R8eDUm.js → config-cli-DglEI40O.js} +1 -1
  33. package/dist/{configure-Wh7ZMjiP.js → configure-CFDo6pK5.js} +3 -3
  34. package/dist/{configure-3o91R4Qd.js → configure-DYSAOrvA.js} +3 -3
  35. package/dist/{deliver-CVTXl0Cv.js → deliver-BUiQ-9fE.js} +1 -1
  36. package/dist/{deps-0GRTVtgy.js → deps-BuPPEKKU.js} +1 -1
  37. package/dist/{deps-Bdrf7UsT.js → deps-Crf9tOgB.js} +1 -1
  38. package/dist/{deps-Ci76e_07.js → deps-DHhqEEEB.js} +1 -1
  39. package/dist/{deps-DB6dI42Y.js → deps-dk-mZVY7.js} +1 -1
  40. package/dist/{doctor-completion-BeqR17ft.js → doctor-completion-DA87R6kk.js} +1 -1
  41. package/dist/{doctor-completion-CeD_GwXj.js → doctor-completion-DHYMwPxZ.js} +1 -1
  42. package/dist/{emergency-stop-D8XCYE8L.js → emergency-stop-D32_vcC_.js} +2 -2
  43. package/dist/{emergency-stop-B1ycCthl.js → emergency-stop-DSazHQ3v.js} +2 -2
  44. package/dist/{emergency-stop-BpudAT0i.js → emergency-stop-DqK6Iaxy.js} +7 -7
  45. package/dist/{emergency-stop-fApFDnLR.js → emergency-stop-dQB5TH61.js} +2 -2
  46. package/dist/entry.js +1 -1
  47. package/dist/extensionAPI.js +2 -2
  48. package/dist/{gateway-cli-D9wmLKfn.js → gateway-cli-C4c-ntiL.js} +9 -9
  49. package/dist/{gateway-cli-D3b05F0y.js → gateway-cli-NFBeo83U.js} +9 -9
  50. package/dist/{health-cUQV1hzf.js → health--cNlCqAN.js} +1 -1
  51. package/dist/{health-D6PJPflH.js → health-eSKHWC16.js} +1 -1
  52. package/dist/{hooks-cli-Cg5joAHH.js → hooks-cli-1vbVFYX6.js} +3 -3
  53. package/dist/{hooks-cli-Cs51IGnr.js → hooks-cli-d-CncxOS.js} +3 -3
  54. package/dist/{image-COw__ACq.js → image-D8b_rlQC.js} +1 -1
  55. package/dist/index.js +7 -7
  56. package/dist/llm-slug-generator.js +7 -7
  57. package/dist/{models-tqBGSD-X.js → models-DRQazay2.js} +2 -2
  58. package/dist/{models-cli-D6CVD4Jl.js → models-cli-BMU7V_Gq.js} +3 -3
  59. package/dist/{models-cli-Va0ILYmK.js → models-cli-byvFsScd.js} +4 -4
  60. package/dist/{npm-resolution-CCdELgCy.js → npm-resolution-CkV9WMS7.js} +1 -1
  61. package/dist/{npm-resolution-DgW-oSJa.js → npm-resolution-ahyNQr7N.js} +1 -1
  62. package/dist/{onboard-Bfd4q7HR.js → onboard-3KtofxpB.js} +2 -2
  63. package/dist/{onboard-Br7oW1Sf.js → onboard-5gLY4vI6.js} +2 -2
  64. package/dist/{onboard-channels-BpCQ5nQX.js → onboard-channels-BaQef_ik.js} +1 -1
  65. package/dist/{onboard-channels-wDbxIOXH.js → onboard-channels-CO3tBBUm.js} +1 -1
  66. package/dist/{onboarding-CegT14jj.js → onboarding-DT_a9WqK.js} +3 -3
  67. package/dist/{onboarding-rD-jdAK3.js → onboarding-oYr_Z-MX.js} +3 -3
  68. package/dist/{onboarding.finalize-CHq5hQxh.js → onboarding.finalize-DI8RNUCe.js} +7 -7
  69. package/dist/{onboarding.finalize-C50Cd_QG.js → onboarding.finalize-DQlMXUpt.js} +6 -6
  70. package/dist/{pi-embedded-2EqYdroP.js → pi-embedded-B6_XaeGr.js} +14 -12
  71. package/dist/{pi-embedded-znVFwmix.js → pi-embedded-dlIKBCVy.js} +29 -27
  72. package/dist/{pi-embedded-helpers-CyTpDKo5.js → pi-embedded-helpers-CghCLoPo.js} +4 -4
  73. package/dist/{plugin-registry-CYXCwXDq.js → plugin-registry-aAygraDx.js} +1 -1
  74. package/dist/{plugin-registry-DAtKgBy3.js → plugin-registry-yw2FGDQo.js} +1 -1
  75. package/dist/plugin-sdk/{agent-via-gateway-BeEBACUq.js → agent-via-gateway-CYQbsoKO.js} +2 -2
  76. package/dist/plugin-sdk/{anton-DXocufH_.js → anton-BhaZ-_lE.js} +1 -1
  77. package/dist/plugin-sdk/{channel-web-DOG4rb7e.js → channel-web-C9WxJKNF.js} +2 -2
  78. package/dist/plugin-sdk/{deps--J_OAyWa.js → deps-DNCcuQw6.js} +1 -1
  79. package/dist/plugin-sdk/{emergency-stop-CAC-_dk-.js → emergency-stop-DVA2XPoO.js} +2 -2
  80. package/dist/plugin-sdk/index.js +3 -3
  81. package/dist/plugin-sdk/{reply-5pZsGmq0.js → reply-DBeDzICx.js} +14 -12
  82. package/dist/plugin-sdk/{web-B-T8tUvc.js → web-BDqEqvD6.js} +3 -3
  83. package/dist/{plugins-cli-CAbzpQdE.js → plugins-cli-D5iXgZV0.js} +3 -3
  84. package/dist/{plugins-cli-Di1X-utw.js → plugins-cli-_X7ygx92.js} +3 -3
  85. package/dist/{program-DCfsqP_8.js → program-DdvaYjeO.js} +8 -8
  86. package/dist/{program-context-Dhec-fGX.js → program-context-GHUcW_u0.js} +18 -18
  87. package/dist/{prompt-select-styled-C1aw6YAJ.js → prompt-select-styled-DsfDWex-.js} +4 -4
  88. package/dist/{prompt-select-styled-CJ2ux4O0.js → prompt-select-styled-IsBentVx.js} +4 -4
  89. package/dist/{provider-auth-helpers-BPsTPi3e.js → provider-auth-helpers-DrJAeoq0.js} +1 -1
  90. package/dist/{provider-auth-helpers-aWibl0HT.js → provider-auth-helpers-DrbsliXm.js} +1 -1
  91. package/dist/{push-apns-BracxehR.js → push-apns-BbrJYz07.js} +1 -1
  92. package/dist/{push-apns-By39WpiH.js → push-apns-JodkXySf.js} +1 -1
  93. package/dist/{pw-ai-CowTfhOG.js → pw-ai-CfYaR1K2.js} +1 -1
  94. package/dist/{register.agent-BaVrC6Ay.js → register.agent-Bv2Q4a7v.js} +9 -9
  95. package/dist/{register.agent-CyZyt49k.js → register.agent-CYk5RGin.js} +8 -8
  96. package/dist/{register.configure-DmjP2LTb.js → register.configure-CKtMVkJ5.js} +8 -8
  97. package/dist/{register.configure-CqmHvWcB.js → register.configure-Cnmmqe9t.js} +8 -8
  98. package/dist/{register.maintenance-DYYx-jCe.js → register.maintenance-BJ18f5vw.js} +9 -9
  99. package/dist/{register.maintenance-DfWWglhS.js → register.maintenance-irYQ4RHx.js} +8 -8
  100. package/dist/{register.message-C3tFRLbl.js → register.message-LaE57X6H.js} +3 -3
  101. package/dist/{register.message-Cke7XTrc.js → register.message-RUihJQu2.js} +3 -3
  102. package/dist/{register.onboard-BXK-V33E.js → register.onboard-5RSmUDC7.js} +2 -2
  103. package/dist/{register.onboard-DLZNgT0T.js → register.onboard-BbcuO62e.js} +2 -2
  104. package/dist/{register.orchestrator-anton-rvqNZKP1.js → register.orchestrator-anton-BtAMVZTG.js} +2 -2
  105. package/dist/{register.orchestrator-anton-D2g_KbgY.js → register.orchestrator-anton-DJPJSUZJ.js} +2 -2
  106. package/dist/{register.setup-Dr-v5BSC.js → register.setup-BAjbcllf.js} +2 -2
  107. package/dist/{register.setup-DBL7rrRW.js → register.setup-B_DYnuvj.js} +2 -2
  108. package/dist/{register.status-health-sessions-BDG_QnIw.js → register.status-health-sessions-CyapPo53.js} +4 -4
  109. package/dist/{register.status-health-sessions-BrnK4KEW.js → register.status-health-sessions-DoeE4mrI.js} +4 -4
  110. package/dist/{register.subclis-SGnxsMrq.js → register.subclis-BHO_F5il.js} +9 -9
  111. package/dist/{reply-tuqCy_5s.js → reply-UTSsx9A5.js} +14 -12
  112. package/dist/{run-main-KfdXYi7n.js → run-main-BcSggHco.js} +15 -15
  113. package/dist/{runner-BzNdfqDz.js → runner-PgRFPYUj.js} +1 -1
  114. package/dist/{server-node-events-Brm38g1H.js → server-node-events-Dy9G22Jd.js} +3 -3
  115. package/dist/{server-node-events-BLSMmXyp.js → server-node-events-djWxYbcV.js} +3 -3
  116. package/dist/{status-CLNSJORR.js → status-CRW4RVm9.js} +2 -2
  117. package/dist/{status-CmG_xHAm.js → status-DCTlIRAH.js} +2 -2
  118. package/dist/{subagent-registry-B-ciR-Ya.js → subagent-registry-BOLFoCi4.js} +14 -12
  119. package/dist/{update-cli-ButEdTeQ.js → update-cli-Cj0Vr_B2.js} +9 -9
  120. package/dist/{update-cli-B-RzWiVk.js → update-cli-CmbNPprw.js} +8 -8
  121. package/dist/{update-runner-DizoiA2w.js → update-runner-BVl7tNUy.js} +1 -1
  122. package/dist/{update-runner-Cxg4n1sn.js → update-runner-DaUhZyT6.js} +1 -1
  123. package/dist/{web-C4Q6twkC.js → web-3qIgCpGr.js} +3 -3
  124. package/dist/{web-DtCFqhdb.js → web-BWvhgqLS.js} +3 -3
  125. package/dist/{web-D5dDa5kC.js → web-DSdRgqhB.js} +8 -8
  126. package/dist/{web-DWhjgVIf.js → web-HiM9F0MQ.js} +3 -3
  127. package/extensions/acpx/node_modules/.bin/acpx +2 -2
  128. package/package.json +1 -1
@@ -24,7 +24,7 @@ import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, n as getWebAuthA
24
24
  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-BeIZJuy4.js";
25
25
  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-DmLC7aEF.js";
26
26
  import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-B1N_MXT_.js";
27
- 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-CVTXl0Cv.js";
27
+ 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-BUiQ-9fE.js";
28
28
  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-4owMk4vH.js";
29
29
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-BGF2r-kt.js";
30
30
  import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-BDVs8LTu.js";
@@ -32,8 +32,8 @@ import { $ as readJsonFileWithFallback, A as extractTelegramLocation, B as norma
32
32
  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-D1KtygWz.js";
33
33
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-Bb__OY-j.js";
34
34
  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-C8QtrwEU.js";
35
- 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-CyTpDKo5.js";
36
- 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-_2tzVjVl.js";
35
+ 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-CghCLoPo.js";
36
+ 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-BcJB6PcM.js";
37
37
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-CZeHDwVZ.js";
38
38
  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-CnAPWfca.js";
39
39
  import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-Cu1nXNMM.js";
@@ -48,7 +48,7 @@ import { a as resolveSessionFilePathOptions, i as resolveSessionFilePath, l as r
48
48
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-_OimdA_2.js";
49
49
  import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-CcGZpzmq.js";
50
50
  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-z4_linel.js";
51
- 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-COw__ACq.js";
51
+ 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-D8b_rlQC.js";
52
52
  import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-BUgeSN2R.js";
53
53
  import { n as resolveMemorySearchConfig } from "./manager-BE_76jWB.js";
54
54
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-3YYM8QuM.js";
@@ -63,7 +63,7 @@ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-B7IBoKLy.js";
63
63
  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-j4vAzcF2.js";
64
64
  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-Ck3flWX7.js";
65
65
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-BYczzTII.js";
66
- 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-BzNdfqDz.js";
66
+ 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-PgRFPYUj.js";
67
67
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-CsfR_943.js";
68
68
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-D9g0X0i7.js";
69
69
  import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-D_TMOGQ0.js";
@@ -75,7 +75,7 @@ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-rou
75
75
  import { i as redactIdentifier, t as getActiveWebListener } from "./active-listener-jilCMH1M.js";
76
76
  import { t as makeProxyFetch } from "./proxy-CRB9oCP5.js";
77
77
  import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-6_GxvQYe.js";
78
- import { r as createOutboundSendDepsFromCliSource, t as createDefaultDeps } from "./deps-Bdrf7UsT.js";
78
+ import { r as createOutboundSendDepsFromCliSource, t as createDefaultDeps } from "./deps-Crf9tOgB.js";
79
79
  import { createRequire } from "node:module";
80
80
  import * as fs$1 from "node:fs/promises";
81
81
  import fs from "node:fs/promises";
@@ -94,7 +94,7 @@ import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, Setting
94
94
  import { EdgeTTS } from "node-edge-tts";
95
95
  import { createServer } from "node:http";
96
96
  import { ProxyAgent, fetch as fetch$1 } from "undici";
97
- import WebSocket, { WebSocket as WebSocket$1 } from "ws";
97
+ import WebSocket$1, { WebSocket } from "ws";
98
98
  import { Buffer as Buffer$1 } from "node:buffer";
99
99
  import { createJiti } from "jiti";
100
100
  import { Type } from "@sinclair/typebox";
@@ -6374,7 +6374,7 @@ var GatewayClient = class {
6374
6374
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
6375
6375
  });
6376
6376
  }
6377
- this.ws = new WebSocket$1(url, wsOptions);
6377
+ this.ws = new WebSocket(url, wsOptions);
6378
6378
  this.ws.on("open", () => {
6379
6379
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
6380
6380
  const tlsError = this.validateTlsFingerprint();
@@ -6570,7 +6570,7 @@ var GatewayClient = class {
6570
6570
  const connectChallengeTimeoutMs = typeof rawConnectDelayMs === "number" && Number.isFinite(rawConnectDelayMs) ? Math.max(250, Math.min(1e4, rawConnectDelayMs)) : 2e3;
6571
6571
  if (this.connectTimer) clearTimeout(this.connectTimer);
6572
6572
  this.connectTimer = setTimeout(() => {
6573
- if (this.connectSent || this.ws?.readyState !== WebSocket$1.OPEN) return;
6573
+ if (this.connectSent || this.ws?.readyState !== WebSocket.OPEN) return;
6574
6574
  this.opts.onConnectError?.(/* @__PURE__ */ new Error("gateway connect challenge timeout"));
6575
6575
  this.ws?.close(1008, "connect challenge timeout");
6576
6576
  }, connectChallengeTimeoutMs);
@@ -6612,7 +6612,7 @@ var GatewayClient = class {
6612
6612
  return null;
6613
6613
  }
6614
6614
  async request(method, params, opts) {
6615
- if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
6615
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
6616
6616
  const id = randomUUID();
6617
6617
  const frame = {
6618
6618
  type: "req",
@@ -7936,7 +7936,7 @@ async function routeReply(params) {
7936
7936
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
7937
7937
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
7938
7938
  try {
7939
- const { deliverOutboundPayloads } = await import("./deliver-CVTXl0Cv.js").then((n) => n.n);
7939
+ const { deliverOutboundPayloads } = await import("./deliver-BUiQ-9fE.js").then((n) => n.n);
7940
7940
  const outboundSession = buildOutboundSessionContext({
7941
7941
  cfg,
7942
7942
  agentId: resolvedAgentId,
@@ -23061,7 +23061,7 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
23061
23061
  };
23062
23062
  const arg = body.slice(6).trim();
23063
23063
  if (arg === "status" || arg === "") {
23064
- const { antonStatus } = await import("./anton-CdYcHDXy.js");
23064
+ const { antonStatus } = await import("./anton-Cso65xsA.js");
23065
23065
  const lines = [];
23066
23066
  await antonStatus({
23067
23067
  log: (msg) => lines.push(msg),
@@ -23077,7 +23077,7 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
23077
23077
  return { shouldContinue: false };
23078
23078
  }
23079
23079
  if (arg === "stop") {
23080
- const { antonStop } = await import("./anton-CdYcHDXy.js");
23080
+ const { antonStop } = await import("./anton-Cso65xsA.js");
23081
23081
  const lines = [];
23082
23082
  await antonStop({
23083
23083
  log: (msg) => lines.push(msg),
@@ -23115,8 +23115,8 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
23115
23115
  await sendProgress(replyCtx, text);
23116
23116
  return { shouldContinue: false };
23117
23117
  }
23118
- const { runAnton, formatProgressMessage } = await import("./anton-CdYcHDXy.js");
23119
- const { createDefaultDeps } = await import("./deps-Bdrf7UsT.js").then((n) => n.n);
23118
+ const { runAnton, formatProgressMessage } = await import("./anton-Cso65xsA.js");
23119
+ const { createDefaultDeps } = await import("./deps-Crf9tOgB.js").then((n) => n.n);
23120
23120
  const { createNonExitingRuntime } = await import("./runtime-8mi3mpYB.js").then((n) => n.r);
23121
23121
  const runtime = createNonExitingRuntime();
23122
23122
  const deps = createDefaultDeps();
@@ -47409,7 +47409,7 @@ async function deliverSessionMaintenanceWarning(params) {
47409
47409
  return;
47410
47410
  }
47411
47411
  try {
47412
- const { deliverOutboundPayloads } = await import("./deliver-CVTXl0Cv.js").then((n) => n.n);
47412
+ const { deliverOutboundPayloads } = await import("./deliver-BUiQ-9fE.js").then((n) => n.n);
47413
47413
  const outboundSession = buildOutboundSessionContext({
47414
47414
  cfg: params.cfg,
47415
47415
  sessionKey: params.sessionKey
@@ -48198,7 +48198,7 @@ async function getReplyFromConfig(ctx, opts, configOverride) {
48198
48198
  hasResolvedHeartbeatModelOverride = true;
48199
48199
  }
48200
48200
  }
48201
- const workspaceDir = (await ensureAgentWorkspace({
48201
+ let workspaceDir = (await ensureAgentWorkspace({
48202
48202
  dir: resolveAgentWorkspaceDir(cfg, agentId) ?? DEFAULT_AGENT_WORKSPACE_DIR,
48203
48203
  ensureBootstrapFiles: !agentCfg?.skipBootstrap && !isFastTestEnv
48204
48204
  })).dir;
@@ -48244,6 +48244,8 @@ async function getReplyFromConfig(ctx, opts, configOverride) {
48244
48244
  cfg,
48245
48245
  commandAuthorized
48246
48246
  });
48247
+ const sessionWorkspaceDir = sessionEntry.workspaceDir?.trim();
48248
+ if (sessionWorkspaceDir) workspaceDir = sessionWorkspaceDir;
48247
48249
  await applyResetModelOverride({
48248
48250
  cfg,
48249
48251
  resetTriggered,
@@ -51843,7 +51845,7 @@ async function describeStickerImage(params) {
51843
51845
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
51844
51846
  try {
51845
51847
  const buffer = await fs.readFile(imagePath);
51846
- const { describeImageWithModel } = await import("./image-COw__ACq.js").then((n) => n.n);
51848
+ const { describeImageWithModel } = await import("./image-D8b_rlQC.js").then((n) => n.n);
51847
51849
  return (await describeImageWithModel({
51848
51850
  buffer,
51849
51851
  fileName: "sticker.webp",
@@ -54771,7 +54773,7 @@ async function preflightDiscordMessage(params) {
54771
54773
  let preflightTranscript;
54772
54774
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
54773
54775
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
54774
- const { transcribeFirstAudio } = await import("./audio-preflight-BSlR2jEq.js");
54776
+ const { transcribeFirstAudio } = await import("./audio-preflight-CW8IH1lU.js");
54775
54777
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
54776
54778
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
54777
54779
  ctx: {
@@ -57248,7 +57250,7 @@ function createDiscordMessageHandler(params) {
57248
57250
  try {
57249
57251
  const messageText = resolveDiscordMessageText(data.message)?.trim();
57250
57252
  if (messageText) {
57251
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-BpudAT0i.js");
57253
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-DqK6Iaxy.js");
57252
57254
  if (isAbortRequestText(messageText)) {
57253
57255
  const { resolveAgentRoute } = await import("./resolve-route-DuttYY7A.js").then((n) => n.r);
57254
57256
  const channelId = resolveDiscordMessageChannelId({
@@ -62694,7 +62696,7 @@ function createDiscordGatewayPlugin(params) {
62694
62696
  return super.registerClient(client);
62695
62697
  }
62696
62698
  createWebSocket(url) {
62697
- return new WebSocket(url, { agent: wsAgent });
62699
+ return new WebSocket$1(url, { agent: wsAgent });
62698
62700
  }
62699
62701
  }
62700
62702
  return new ProxyGatewayPlugin();
@@ -64746,7 +64748,7 @@ async function monitorIMessageProvider(opts = {}) {
64746
64748
  }
64747
64749
  const msgText = (message.text ?? "").trim();
64748
64750
  if (msgText) {
64749
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-BpudAT0i.js");
64751
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-DqK6Iaxy.js");
64750
64752
  if (isAbortRequestText(msgText)) {
64751
64753
  const { resolveAgentRoute } = await import("./resolve-route-DuttYY7A.js").then((n) => n.r);
64752
64754
  const route = resolveAgentRoute({
@@ -67357,7 +67359,7 @@ function createSignalEventHandler(deps) {
67357
67359
  const senderName = envelope.sourceName ?? senderDisplay;
67358
67360
  const messageId = typeof envelope.timestamp === "number" ? String(envelope.timestamp) : void 0;
67359
67361
  if (bodyText) {
67360
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-BpudAT0i.js");
67362
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-DqK6Iaxy.js");
67361
67363
  if (isAbortRequestText(bodyText)) {
67362
67364
  const { resolveAgentRoute } = await import("./resolve-route-DuttYY7A.js").then((n) => n.r);
67363
67365
  const route = resolveAgentRoute({
@@ -70739,7 +70741,7 @@ function createSlackMessageHandler(params) {
70739
70741
  if (ctx.markMessageSeen(message.channel, message.ts)) return;
70740
70742
  const rawText = (message.text ?? "").trim();
70741
70743
  if (rawText) {
70742
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-BpudAT0i.js");
70744
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-DqK6Iaxy.js");
70743
70745
  if (isAbortRequestText(rawText)) {
70744
70746
  const { resolveAgentRoute } = await import("./resolve-route-DuttYY7A.js").then((n) => n.r);
70745
70747
  const route = resolveAgentRoute({
@@ -72933,7 +72935,7 @@ const registerTelegramHandlers = ({ cfg, accountId, bot, opts, runtime, mediaMax
72933
72935
  const { ctx, msg, chatId, resolvedThreadId, storeAllowFrom, sendOversizeWarning, oversizeLogMessage } = params;
72934
72936
  const text = typeof msg.text === "string" ? msg.text : void 0;
72935
72937
  if (text) {
72936
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-BpudAT0i.js");
72938
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-DqK6Iaxy.js");
72937
72939
  if (isAbortRequestText(text)) {
72938
72940
  const senderId = msg.from?.id ? String(msg.from.id) : "";
72939
72941
  if (!senderId || !allowFrom?.length || allowFrom.includes(senderId)) {
@@ -73820,7 +73822,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
73820
73822
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
73821
73823
  let preflightTranscript;
73822
73824
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
73823
- const { transcribeFirstAudio } = await import("./audio-preflight-BSlR2jEq.js");
73825
+ const { transcribeFirstAudio } = await import("./audio-preflight-CW8IH1lU.js");
73824
73826
  preflightTranscript = await transcribeFirstAudio({
73825
73827
  ctx: {
73826
73828
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -76418,7 +76420,7 @@ function loadWebLoginQr() {
76418
76420
  return webLoginQrPromise;
76419
76421
  }
76420
76422
  function loadWebChannel() {
76421
- webChannelPromise ??= import("./web-D5dDa5kC.js");
76423
+ webChannelPromise ??= import("./web-DSdRgqhB.js");
76422
76424
  return webChannelPromise;
76423
76425
  }
76424
76426
  function loadWhatsAppActions() {
@@ -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-_2tzVjVl.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-BcJB6PcM.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-CowTfhOG.js");
1185
+ return await import("./pw-ai-CfYaR1K2.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-CowTfhOG.js")).closePlaywrightBrowserConnection();
3720
+ await (await import("./pw-ai-CfYaR1K2.js")).closePlaywrightBrowserConnection();
3721
3721
  } catch {}
3722
3722
  if (profileState.running) await stopRunningBrowser();
3723
3723
  try {
3724
- await (await import("./pw-ai-CowTfhOG.js")).closePlaywrightBrowserConnection();
3724
+ await (await import("./pw-ai-CfYaR1K2.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-tuqCy_5s.js";
2
+ import { ht as loadIdleHandsPlugins } from "./reply-UTSsx9A5.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-B-ciR-Ya.js";
5
+ import { _ as loadIdleHandsPlugins } from "./subagent-registry-BOLFoCi4.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-5pZsGmq0.js";
3
+ import { F as callGateway, I as randomIdempotencyKey, d as agentCommand, f as resolveSessionKeyForRequest, p as withProgress } from "./reply-DBeDzICx.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--J_OAyWa.js";
66
+ import "./deps-DNCcuQw6.js";
67
67
  import "./outbound-attachment-BisU5Vji.js";
68
68
 
69
69
  //#region src/commands/agent-via-gateway.ts
@@ -216,7 +216,7 @@ async function loadAntonConfig() {
216
216
  }
217
217
  }
218
218
  async function runAgentTask(args) {
219
- const { agentCliCommand } = await import("./agent-via-gateway-BeEBACUq.js");
219
+ const { agentCliCommand } = await import("./agent-via-gateway-CYQbsoKO.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
221
  await agentCliCommand({
222
222
  message: args.message,
@@ -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-5pZsGmq0.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-DBeDzICx.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-CAC-_dk-.js");
881
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-DVA2XPoO.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-B-T8tUvc.js");
21
+ const { sendMessageWhatsApp } = await import("./web-BDqEqvD6.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-5pZsGmq0.js";
2
+ import { S as stopSubagentsForRequester, b as formatAbortReplyText, n as abortEmbeddedPiRun, w as clearSessionQueues, x as isAbortRequestText } from "./reply-DBeDzICx.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--J_OAyWa.js";
64
+ import "./deps-DNCcuQw6.js";
65
65
  import "./outbound-attachment-BisU5Vji.js";
66
66
 
67
67
  //#region src/auto-reply/reply/emergency-stop.ts
@@ -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-5pZsGmq0.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-DBeDzICx.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-DOG4rb7e.js";
55
+ import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-C9WxJKNF.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--J_OAyWa.js";
68
+ import "./deps-DNCcuQw6.js";
69
69
  import "./outbound-attachment-BisU5Vji.js";
70
70
  import "./outbound-Dx_q6JAI.js";
71
71
  import "./session-DdJj6_DW.js";
@@ -72,7 +72,7 @@ import { t as makeProxyFetch } from "./proxy-C4ewPdlN.js";
72
72
  import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-BZABUE4J.js";
73
73
  import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-ZovJp-3F.js";
74
74
  import { i as redactIdentifier, t as getActiveWebListener } from "./active-listener-WMrtFGPv.js";
75
- import { r as createOutboundSendDepsFromCliSource, t as createDefaultDeps } from "./deps--J_OAyWa.js";
75
+ import { r as createOutboundSendDepsFromCliSource, t as createDefaultDeps } from "./deps-DNCcuQw6.js";
76
76
  import { createRequire } from "node:module";
77
77
  import fs, { existsSync, mkdirSync, mkdtempSync, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
78
78
  import * as path$1 from "node:path";
@@ -33090,7 +33090,7 @@ function createDiscordMessageHandler(params) {
33090
33090
  try {
33091
33091
  const messageText = resolveDiscordMessageText(data.message)?.trim();
33092
33092
  if (messageText) {
33093
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-CAC-_dk-.js");
33093
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-DVA2XPoO.js");
33094
33094
  if (isAbortRequestText(messageText)) {
33095
33095
  const { resolveAgentRoute } = await import("./resolve-route-BZABUE4J.js").then((n) => n.r);
33096
33096
  const channelId = resolveDiscordMessageChannelId({
@@ -43834,7 +43834,7 @@ async function monitorIMessageProvider(opts = {}) {
43834
43834
  }
43835
43835
  const msgText = (message.text ?? "").trim();
43836
43836
  if (msgText) {
43837
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-CAC-_dk-.js");
43837
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-DVA2XPoO.js");
43838
43838
  if (isAbortRequestText(msgText)) {
43839
43839
  const { resolveAgentRoute } = await import("./resolve-route-BZABUE4J.js").then((n) => n.r);
43840
43840
  const route = resolveAgentRoute({
@@ -46230,7 +46230,7 @@ function createSignalEventHandler(deps) {
46230
46230
  const senderName = envelope.sourceName ?? senderDisplay;
46231
46231
  const messageId = typeof envelope.timestamp === "number" ? String(envelope.timestamp) : void 0;
46232
46232
  if (bodyText) {
46233
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-CAC-_dk-.js");
46233
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-DVA2XPoO.js");
46234
46234
  if (isAbortRequestText(bodyText)) {
46235
46235
  const { resolveAgentRoute } = await import("./resolve-route-BZABUE4J.js").then((n) => n.r);
46236
46236
  const route = resolveAgentRoute({
@@ -49601,7 +49601,7 @@ function createSlackMessageHandler(params) {
49601
49601
  if (ctx.markMessageSeen(message.channel, message.ts)) return;
49602
49602
  const rawText = (message.text ?? "").trim();
49603
49603
  if (rawText) {
49604
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-CAC-_dk-.js");
49604
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-DVA2XPoO.js");
49605
49605
  if (isAbortRequestText(rawText)) {
49606
49606
  const { resolveAgentRoute } = await import("./resolve-route-BZABUE4J.js").then((n) => n.r);
49607
49607
  const route = resolveAgentRoute({
@@ -54224,7 +54224,7 @@ const registerTelegramHandlers = ({ cfg, accountId, bot, opts, runtime, mediaMax
54224
54224
  const { ctx, msg, chatId, resolvedThreadId, storeAllowFrom, sendOversizeWarning, oversizeLogMessage } = params;
54225
54225
  const text = typeof msg.text === "string" ? msg.text : void 0;
54226
54226
  if (text) {
54227
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-CAC-_dk-.js");
54227
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-DVA2XPoO.js");
54228
54228
  if (isAbortRequestText(text)) {
54229
54229
  const senderId = msg.from?.id ? String(msg.from.id) : "";
54230
54230
  if (!senderId || !allowFrom?.length || allowFrom.includes(senderId)) {
@@ -57709,7 +57709,7 @@ function loadWebLoginQr() {
57709
57709
  return webLoginQrPromise;
57710
57710
  }
57711
57711
  function loadWebChannel() {
57712
- webChannelPromise ??= import("./web-B-T8tUvc.js");
57712
+ webChannelPromise ??= import("./web-BDqEqvD6.js");
57713
57713
  return webChannelPromise;
57714
57714
  }
57715
57715
  function loadWhatsAppActions() {
@@ -80281,7 +80281,7 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
80281
80281
  };
80282
80282
  const arg = body.slice(6).trim();
80283
80283
  if (arg === "status" || arg === "") {
80284
- const { antonStatus } = await import("./anton-DXocufH_.js");
80284
+ const { antonStatus } = await import("./anton-BhaZ-_lE.js");
80285
80285
  const lines = [];
80286
80286
  await antonStatus({
80287
80287
  log: (msg) => lines.push(msg),
@@ -80297,7 +80297,7 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
80297
80297
  return { shouldContinue: false };
80298
80298
  }
80299
80299
  if (arg === "stop") {
80300
- const { antonStop } = await import("./anton-DXocufH_.js");
80300
+ const { antonStop } = await import("./anton-BhaZ-_lE.js");
80301
80301
  const lines = [];
80302
80302
  await antonStop({
80303
80303
  log: (msg) => lines.push(msg),
@@ -80335,8 +80335,8 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
80335
80335
  await sendProgress(replyCtx, text);
80336
80336
  return { shouldContinue: false };
80337
80337
  }
80338
- const { runAnton, formatProgressMessage } = await import("./anton-DXocufH_.js");
80339
- const { createDefaultDeps } = await import("./deps--J_OAyWa.js").then((n) => n.n);
80338
+ const { runAnton, formatProgressMessage } = await import("./anton-BhaZ-_lE.js");
80339
+ const { createDefaultDeps } = await import("./deps-DNCcuQw6.js").then((n) => n.n);
80340
80340
  const { createNonExitingRuntime } = await import("./runtime-CjfcfOBD.js").then((n) => n.r);
80341
80341
  const runtime = createNonExitingRuntime();
80342
80342
  const deps = createDefaultDeps();
@@ -87539,7 +87539,7 @@ async function getReplyFromConfig(ctx, opts, configOverride) {
87539
87539
  hasResolvedHeartbeatModelOverride = true;
87540
87540
  }
87541
87541
  }
87542
- const workspaceDir = (await ensureAgentWorkspace({
87542
+ let workspaceDir = (await ensureAgentWorkspace({
87543
87543
  dir: resolveAgentWorkspaceDir(cfg, agentId) ?? DEFAULT_AGENT_WORKSPACE_DIR,
87544
87544
  ensureBootstrapFiles: !agentCfg?.skipBootstrap && !isFastTestEnv
87545
87545
  })).dir;
@@ -87585,6 +87585,8 @@ async function getReplyFromConfig(ctx, opts, configOverride) {
87585
87585
  cfg,
87586
87586
  commandAuthorized
87587
87587
  });
87588
+ const sessionWorkspaceDir = sessionEntry.workspaceDir?.trim();
87589
+ if (sessionWorkspaceDir) workspaceDir = sessionWorkspaceDir;
87588
87590
  await applyResetModelOverride({
87589
87591
  cfg,
87590
87592
  resetTriggered,
@@ -1,5 +1,5 @@
1
1
  import "./accounts-BLYMokxV.js";
2
- import "./reply-5pZsGmq0.js";
2
+ import "./reply-DBeDzICx.js";
3
3
  import "./paths-CtGV5i8O.js";
4
4
  import "./github-copilot-token-CY2euW0d.js";
5
5
  import "./config-CEgzwk0J.js";
@@ -49,7 +49,7 @@ import "./deliver-BNfMF0Nb.js";
49
49
  import "./diagnostic-ByA6zvzu.js";
50
50
  import "./store-CCCXwngh.js";
51
51
  import "./pi-embedded-helpers-B68z4sHq.js";
52
- import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-DOG4rb7e.js";
52
+ import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-C9WxJKNF.js";
53
53
  import "./thinking-g4Rrlwu4.js";
54
54
  import "./image-C_1tftC8.js";
55
55
  import "./pi-model-discovery-Dt6899be.js";
@@ -62,7 +62,7 @@ import "./send-B26cNPqY.js";
62
62
  import "./proxy-C4ewPdlN.js";
63
63
  import "./resolve-route-BZABUE4J.js";
64
64
  import "./replies-ZovJp-3F.js";
65
- import "./deps--J_OAyWa.js";
65
+ import "./deps-DNCcuQw6.js";
66
66
  import "./outbound-attachment-BisU5Vji.js";
67
67
  import { n as sendMessageWhatsApp } from "./outbound-Dx_q6JAI.js";
68
68
  import { i as waitForWaConnection, t as createWaSocket } from "./session-DdJj6_DW.js";
@@ -25,7 +25,7 @@ import "./logging-Bgrm4o7g.js";
25
25
  import "./auth-store-D9BmR4S6.js";
26
26
  import "./send-m4lQkQcY.js";
27
27
  import "./send-CCiDIuX4.js";
28
- import "./subagent-registry-B-ciR-Ya.js";
28
+ import "./subagent-registry-BOLFoCi4.js";
29
29
  import "./paths-CC17i2eK.js";
30
30
  import "./chat-envelope-Dedaetiq.js";
31
31
  import "./client-Brv1GCwX.js";
@@ -108,7 +108,7 @@ import "./cli-utils-BfsDuRZS.js";
108
108
  import "./help-format-CldHB7lS.js";
109
109
  import "./progress-B76RkFx7.js";
110
110
  import "./replies-DSfpze17.js";
111
- import "./deps-0GRTVtgy.js";
111
+ import "./deps-BuPPEKKU.js";
112
112
  import "./onboard-helpers-Dp6wXNs7.js";
113
113
  import "./prompt-style-XmK49QYK.js";
114
114
  import "./pairing-labels-D7xcHkxi.js";
@@ -118,7 +118,7 @@ import "./npm-registry-spec-BlFqJFsA.js";
118
118
  import "./skill-scanner-CdLElD51.js";
119
119
  import { a as resolvePluginInstallDir, i as installPluginFromPath, n as recordPluginInstall, r as installPluginFromNpmSpec } from "./installs-8aQVDSI0.js";
120
120
  import { t as renderTable } from "./table-aJzHv5Oe.js";
121
- import { n as resolvePinnedNpmInstallRecordForCli, r as buildPluginStatusReport } from "./npm-resolution-CCdELgCy.js";
121
+ import { n as resolvePinnedNpmInstallRecordForCli, r as buildPluginStatusReport } from "./npm-resolution-CkV9WMS7.js";
122
122
  import { n as updateNpmInstalledPlugins, r as findBundledPluginByNpmSpec } from "./update-If9iCjgB.js";
123
123
  import os from "node:os";
124
124
  import path from "node:path";
@@ -1,7 +1,7 @@
1
1
  import { g as resolveStateDir } from "./paths-Cn44w-EB.js";
2
2
  import { B as theme, S as shortenHomePath, g as resolveConfigDir, x as shortenHomeInString, y as resolveUserPath } from "./utils-CXzXXV2o.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import "./reply-tuqCy_5s.js";
4
+ import "./reply-UTSsx9A5.js";
5
5
  import "./agent-scope-RA0zXRpu.js";
6
6
  import "./subsystem-CGZX2PBV.js";
7
7
  import { n as defaultRuntime } from "./runtime-44j_X4Y6.js";
@@ -102,7 +102,7 @@ import "./resolve-route-D_AbcmD6.js";
102
102
  import "./replies-hSFVxL4h.js";
103
103
  import "./skill-commands-BFzmZAfo.js";
104
104
  import "./workspace-dirs-SsExQ3Bz.js";
105
- import "./deps-DB6dI42Y.js";
105
+ import "./deps-dk-mZVY7.js";
106
106
  import "./plugin-auto-enable-7DUxMy6A.js";
107
107
  import "./channel-selection-ZxRkxpuF.js";
108
108
  import "./outbound-attachment-Bot3bRnK.js";
@@ -121,7 +121,7 @@ import "./npm-registry-spec-BCbbfIhX.js";
121
121
  import "./skill-scanner-D7mzXRXd.js";
122
122
  import { a as resolvePluginInstallDir, i as installPluginFromPath, n as recordPluginInstall, r as installPluginFromNpmSpec } from "./installs-CNubze2L.js";
123
123
  import { t as renderTable } from "./table-B9AmL3M1.js";
124
- import { n as resolvePinnedNpmInstallRecordForCli, r as buildPluginStatusReport } from "./npm-resolution-DgW-oSJa.js";
124
+ import { n as resolvePinnedNpmInstallRecordForCli, r as buildPluginStatusReport } from "./npm-resolution-ahyNQr7N.js";
125
125
  import { n as updateNpmInstalledPlugins, r as findBundledPluginByNpmSpec } from "./update-D79ppbMQ.js";
126
126
  import fs from "node:fs";
127
127
  import os from "node:os";