@bitseek/claw 1.2.2 → 1.2.5

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 (119) hide show
  1. package/dist/{agents-BMaMDR6h.js → agents-BCJbDk2P.js} +4 -4
  2. package/dist/{agents.config-BSY7Z6IC.js → agents.config-DQBEXhzA.js} +1 -1
  3. package/dist/{agents.config-Bjwf3eo1.js → agents.config-DoxV5m9v.js} +1 -1
  4. package/dist/{auth-choice-BYuegxlw.js → auth-choice-CP6K5htW.js} +1 -1
  5. package/dist/{auth-choice-BpOvsd_n.js → auth-choice-CdsMUqKA.js} +1 -1
  6. package/dist/{banner-EymX6IpH.js → banner-V_1v329B.js} +1 -1
  7. package/dist/build-info.json +3 -3
  8. package/dist/bundled/boot-md/handler.js +1 -1
  9. package/dist/bundled/session-memory/handler.js +1 -1
  10. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  11. package/dist/canvas-host/a2ui/a2ui.bundle.js +6027 -1405
  12. package/dist/{channel-options-bD8Nb_XT.js → channel-options-Bnnem_wD.js} +1 -1
  13. package/dist/{channel-options-BbugzQSv.js → channel-options-Dsjb-V1F.js} +1 -1
  14. package/dist/{channel-web-BzKDism5.js → channel-web-KY6EP9HT.js} +1 -1
  15. package/dist/{channel-web-C8R11QOm.js → channel-web-wuxrfEJh.js} +1 -1
  16. package/dist/{channels-cli-DLh8uOwf.js → channels-cli-OZeQkPMG.js} +6 -6
  17. package/dist/{channels-cli-B6ICcQiX.js → channels-cli-tJkvzsqO.js} +6 -6
  18. package/dist/{cli-BT1aLbEG.js → cli-DOS1lPNs.js} +1 -1
  19. package/dist/{cli-dy2BdjPZ.js → cli-YeYpjq2c.js} +1 -1
  20. package/dist/{command-registry-oV1633Vs.js → command-registry-KxdBw74g.js} +9 -9
  21. package/dist/{completion-cli-C9i-Dicb.js → completion-cli-Cfp2m1Sy.js} +2 -2
  22. package/dist/{completion-cli-5z7Fk2X-.js → completion-cli-DU3T8Tur.js} +1 -1
  23. package/dist/{config-cli-CENkfh8B.js → config-cli-DZpbwWvz.js} +1 -1
  24. package/dist/{config-cli-CpsK8BqN.js → config-cli-hwawfBlS.js} +1 -1
  25. package/dist/{configure-boTkhg01.js → configure-CLMtWGiL.js} +3 -3
  26. package/dist/{configure-DcXrqefi.js → configure-l-lM74c1.js} +3 -3
  27. package/dist/control-ui/assets/{index-DmJK8e2M.js → index-CKSSOzJL.js} +116 -116
  28. package/dist/control-ui/assets/{index-DmJK8e2M.js.map → index-CKSSOzJL.js.map} +1 -1
  29. package/dist/control-ui/assets/index-Ck63PFX9.css +1 -0
  30. package/dist/control-ui/index.html +2 -2
  31. package/dist/{doctor-completion-BwIgzkLP.js → doctor-completion-AraQfpv2.js} +1 -1
  32. package/dist/{doctor-completion-BySkhMZY.js → doctor-completion-B6_JtN22.js} +1 -1
  33. package/dist/entry.js +2 -2
  34. package/dist/extensionAPI.js +1 -1
  35. package/dist/{gateway-cli-BVn-fVbw.js → gateway-cli-C6G3qMkR.js} +8 -8
  36. package/dist/{gateway-cli-Dn-Yq6Tf.js → gateway-cli-CX2HA_sy.js} +8 -8
  37. package/dist/{health-Du4IbXAP.js → health-CDEXWvnu.js} +1 -1
  38. package/dist/{health-DmJq2Wph.js → health-Du8dO3vn.js} +1 -1
  39. package/dist/{hooks-cli-BhSZV-cM.js → hooks-cli-DUIQuGjr.js} +2 -2
  40. package/dist/{hooks-cli-BrT4aprv.js → hooks-cli-Deo01lF6.js} +2 -2
  41. package/dist/index.js +6 -6
  42. package/dist/llm-slug-generator.js +1 -1
  43. package/dist/{models-BEMBo-jJ.js → models-CgguB_MH.js} +2 -2
  44. package/dist/{models-cli-Bj5d7qpe.js → models-cli-BEb0DHSP.js} +3 -3
  45. package/dist/{models-cli-CJCNoVhQ.js → models-cli-CHUbcM_y.js} +2 -2
  46. package/dist/{npm-resolution-BHQDGwrV.js → npm-resolution-Dv7nYiaP.js} +1 -1
  47. package/dist/{npm-resolution-DyqMvaHn.js → npm-resolution-T8SphiP5.js} +1 -1
  48. package/dist/{onboard-CUFDJWvM.js → onboard-D66uwNCb.js} +2 -2
  49. package/dist/{onboard-DpLm6YX6.js → onboard-DcI-IxL0.js} +2 -2
  50. package/dist/{onboard-channels-i1FFoaW7.js → onboard-channels-BLZ8FdVP.js} +1 -1
  51. package/dist/{onboard-channels-CrxnmwMd.js → onboard-channels-CRpmgX82.js} +1 -1
  52. package/dist/{onboarding-ORzDCBo6.js → onboarding-CZCgESNI.js} +3 -3
  53. package/dist/{onboarding-Wve1--YA.js → onboarding-Dae6N665.js} +3 -3
  54. package/dist/{onboarding.finalize-BoXDIiNp.js → onboarding.finalize-ANKeWCQe.js} +5 -5
  55. package/dist/{onboarding.finalize-DH8INVdN.js → onboarding.finalize-B8nYvA0i.js} +6 -6
  56. package/dist/{pi-embedded-DDt-4VY9.js → pi-embedded-Claxav22.js} +30 -2
  57. package/dist/{pi-embedded-DnavjoU4.js → pi-embedded-DKX65Hec.js} +30 -2
  58. package/dist/{plugin-registry-eOikaO9b.js → plugin-registry-CxFikiLF.js} +1 -1
  59. package/dist/{plugin-registry-CFL5j9cN.js → plugin-registry-TOEmbMc4.js} +1 -1
  60. package/dist/plugin-sdk/{channel-web-MpDUG9SU.js → channel-web-O79O_ah6.js} +1 -1
  61. package/dist/plugin-sdk/index.js +2 -2
  62. package/dist/plugin-sdk/{reply-wHFXod4j.js → reply-YZQvouuF.js} +30 -2
  63. package/dist/plugin-sdk/{web-DbkpdVSZ.js → web-jmxdxo0H.js} +2 -2
  64. package/dist/{plugins-cli-DrlRj_8V.js → plugins-cli-Clo_uyvq.js} +2 -2
  65. package/dist/{plugins-cli-Bg6sFJYH.js → plugins-cli-bHHZzKd-.js} +2 -2
  66. package/dist/{program-BQ8WwHMi.js → program-DSOHn27G.js} +7 -7
  67. package/dist/{program-context-BWsBkMJn.js → program-context-DfYJPL5N.js} +17 -17
  68. package/dist/{prompt-select-styled-CLCyaJAG.js → prompt-select-styled-B2izefsj.js} +4 -4
  69. package/dist/{prompt-select-styled-DbUQHcBh.js → prompt-select-styled-DG7woZ0E.js} +4 -4
  70. package/dist/{provider-auth-helpers-CKpEFImN.js → provider-auth-helpers-BFsLtU8g.js} +1 -1
  71. package/dist/{provider-auth-helpers-CdTLpxG1.js → provider-auth-helpers-D_akOb8A.js} +1 -1
  72. package/dist/{push-apns-CVnc3jrx.js → push-apns-BSlKJa83.js} +1 -1
  73. package/dist/{push-apns-B_GGZO2Z.js → push-apns-DvNRo3EQ.js} +1 -1
  74. package/dist/{register.agent-BxMqGoLQ.js → register.agent-C-OmdJMe.js} +7 -7
  75. package/dist/{register.agent-BwCayvbD.js → register.agent-DowGjvNc.js} +6 -6
  76. package/dist/{register.configure-Bv4KP_MD.js → register.configure-BZLa_c3k.js} +7 -7
  77. package/dist/{register.configure-PCuADy_e.js → register.configure-CaSRlI6h.js} +7 -7
  78. package/dist/{register.maintenance-CW5_urTq.js → register.maintenance-CQivhR8Y.js} +8 -8
  79. package/dist/{register.maintenance-jHaU-XSR.js → register.maintenance-DyTduYA4.js} +7 -7
  80. package/dist/{register.message-ByUxZi3s.js → register.message-5hKmcWaB.js} +2 -2
  81. package/dist/{register.message-DPlqIVvv.js → register.message-DE-eKss6.js} +2 -2
  82. package/dist/{register.onboard-B-8WoYZr.js → register.onboard-BRBPNENF.js} +2 -2
  83. package/dist/{register.onboard-BC4wpDdz.js → register.onboard-CWX2zarB.js} +2 -2
  84. package/dist/{register.setup-BQQX0yB6.js → register.setup-DwZL0RXc.js} +2 -2
  85. package/dist/{register.setup-CZ9a3M_O.js → register.setup-YcxKWN94.js} +2 -2
  86. package/dist/{register.status-health-sessions-BRJgE7jh.js → register.status-health-sessions-Cbva8fTK.js} +3 -3
  87. package/dist/{register.status-health-sessions-BKLWh2aq.js → register.status-health-sessions-lOM_lb6H.js} +3 -3
  88. package/dist/{register.subclis-DKG1KoTd.js → register.subclis-CEq4Db2Q.js} +9 -9
  89. package/dist/{reply-ezOUjaUp.js → reply-D8Yu6-Ie.js} +31 -2
  90. package/dist/{run-main-CGAXqlRX.js → run-main-BoenTqTz.js} +14 -14
  91. package/dist/{server-node-events-BHkXD38g.js → server-node-events-nakjzVDn.js} +2 -2
  92. package/dist/{server-node-events-D_9Quh-1.js → server-node-events-yFZiE04b.js} +2 -2
  93. package/dist/{status-DjnNnvyr.js → status-CQYA6EJN.js} +2 -2
  94. package/dist/{status-CwKeOASs.js → status-mS4bWnIW.js} +2 -2
  95. package/dist/{subagent-registry-CfKMgII6.js → subagent-registry-CXBreqUP.js} +31 -2
  96. package/dist/{update-cli-BCH7o0oB.js → update-cli-CuKW0N9W.js} +11 -7
  97. package/dist/{update-cli-Dcvb1LZT.js → update-cli-D1B0Vytl.js} +12 -8
  98. package/dist/{update-runner-l9K_q6Kz.js → update-runner-C9noXbfV.js} +10 -3
  99. package/dist/{update-runner-rrlmopJw.js → update-runner-DO6RodZW.js} +10 -3
  100. package/dist/{web-CsfqGSAa.js → web-BKrNiKsU.js} +2 -2
  101. package/dist/{web-C9QAX9EH.js → web-DJKitOpu.js} +1 -1
  102. package/dist/{web-CtrUXk94.js → web-DbdjX4Hg.js} +2 -2
  103. package/dist/{web-BJ_nNwKp.js → web-V1uGLepo.js} +1 -1
  104. package/extensions/diagnostics-otel/node_modules/.bin/acorn +21 -0
  105. package/extensions/googlechat/node_modules/.bin/nlc +21 -0
  106. package/extensions/googlechat/node_modules/.bin/node-llama-cpp +21 -0
  107. package/extensions/googlechat/node_modules/.bin/openclaw +2 -2
  108. package/extensions/googlechat/node_modules/.bin/tsc +21 -0
  109. package/extensions/googlechat/node_modules/.bin/tsserver +21 -0
  110. package/extensions/memory-core/node_modules/.bin/nlc +21 -0
  111. package/extensions/memory-core/node_modules/.bin/node-llama-cpp +21 -0
  112. package/extensions/memory-core/node_modules/.bin/openclaw +2 -2
  113. package/extensions/memory-core/node_modules/.bin/tsc +21 -0
  114. package/extensions/memory-core/node_modules/.bin/tsserver +21 -0
  115. package/extensions/memory-lancedb/node_modules/.bin/arrow2csv +21 -0
  116. package/extensions/nostr/node_modules/.bin/tsc +21 -0
  117. package/extensions/nostr/node_modules/.bin/tsserver +21 -0
  118. package/package.json +2 -5
  119. package/dist/control-ui/assets/index-B5WC_0Be.css +0 -1
@@ -30,7 +30,7 @@ import "./accounts-DTfEeXyO.js";
30
30
  import "./bindings-Hx6KNJeg.js";
31
31
  import "./send-Cpaj_bKB.js";
32
32
  import "./send-BpXRh0BM.js";
33
- import "./subagent-registry-CfKMgII6.js";
33
+ import "./subagent-registry-CXBreqUP.js";
34
34
  import "./paths-CTtLmER4.js";
35
35
  import "./chat-envelope-D3RSz140.js";
36
36
  import "./client-BvL3EdiZ.js";
@@ -126,8 +126,8 @@ import "./table-CqULNDay.js";
126
126
  import "./shared-BojXguFB.js";
127
127
  import "./auth-token-BDQ5b9Wx.js";
128
128
  import "./logging-DsLC1iR-.js";
129
- import { c as githubCopilotLoginCommand } from "./provider-auth-helpers-CKpEFImN.js";
130
- import { C as modelsAliasesListCommand, S as modelsAliasesAddCommand, _ as modelsAuthOrderSetCommand, a as modelsStatusCommand, b as modelsAuthPasteTokenCommand, c as modelsImageFallbacksClearCommand, d as modelsFallbacksAddCommand, f as modelsFallbacksClearCommand, g as modelsAuthOrderGetCommand, h as modelsAuthOrderClearCommand, i as modelsScanCommand, l as modelsImageFallbacksListCommand, m as modelsFallbacksRemoveCommand, n as modelsSetImageCommand, o as modelsListCommand, p as modelsFallbacksListCommand, r as modelsSetCommand, s as modelsImageFallbacksAddCommand, u as modelsImageFallbacksRemoveCommand, v as modelsAuthAddCommand, w as modelsAliasesRemoveCommand, x as modelsAuthSetupTokenCommand, y as modelsAuthLoginCommand } from "./models-BEMBo-jJ.js";
129
+ import { c as githubCopilotLoginCommand } from "./provider-auth-helpers-BFsLtU8g.js";
130
+ import { C as modelsAliasesListCommand, S as modelsAliasesAddCommand, _ as modelsAuthOrderSetCommand, a as modelsStatusCommand, b as modelsAuthPasteTokenCommand, c as modelsImageFallbacksClearCommand, d as modelsFallbacksAddCommand, f as modelsFallbacksClearCommand, g as modelsAuthOrderGetCommand, h as modelsAuthOrderClearCommand, i as modelsScanCommand, l as modelsImageFallbacksListCommand, m as modelsFallbacksRemoveCommand, n as modelsSetImageCommand, o as modelsListCommand, p as modelsFallbacksListCommand, r as modelsSetCommand, s as modelsImageFallbacksAddCommand, u as modelsImageFallbacksRemoveCommand, v as modelsAuthAddCommand, w as modelsAliasesRemoveCommand, x as modelsAuthSetupTokenCommand, y as modelsAuthLoginCommand } from "./models-CgguB_MH.js";
131
131
 
132
132
  //#region src/cli/models-cli.ts
133
133
  function runModelsCommand(action) {
@@ -2,7 +2,7 @@ import { t as CONFIG_PATH } from "./paths-BYr-iJJ9.js";
2
2
  import { d as colorize, f as isRich$1, p as theme } from "./globals-uLeGcRW1.js";
3
3
  import { S as shortenHomePath } from "./utils-CP51tiAi.js";
4
4
  import "./thinking-44rmAw5o.js";
5
- import { Gt as maskApiKey, Wt as describeFailoverError, a as DEFAULT_OAUTH_WARN_MS, gt as loadProviderUsageSummary, o as buildAuthHealthSummary, p as runEmbeddedPiAgent, s as formatRemainingShort, vt as formatUsageWindowSummary, yt as resolveUsageProviderId } from "./reply-ezOUjaUp.js";
5
+ import { Gt as maskApiKey, Wt as describeFailoverError, a as DEFAULT_OAUTH_WARN_MS, gt as loadProviderUsageSummary, o as buildAuthHealthSummary, p as runEmbeddedPiAgent, s as formatRemainingShort, vt as formatUsageWindowSummary, yt as resolveUsageProviderId } from "./reply-D8Yu6-Ie.js";
6
6
  import { _ as resolveAgentModelPrimaryValue, a as resolveAgentDir, c as resolveAgentModelFallbacksOverride, d as resolveDefaultAgentId, g as resolveAgentModelFallbackValues, s as resolveAgentExplicitModelPrimary, u as resolveAgentWorkspaceDir, v as toAgentModelListLike } from "./agent-scope-CiBV1K6b.js";
7
7
  import { d as defaultRuntime } from "./subsystem-BT74-yyS.js";
8
8
  import { h as resolveDefaultAgentWorkspaceDir } from "./workspace-CRdln__H.js";
@@ -128,7 +128,7 @@ import { n as redactSecrets } from "./format-BrqJ-lIP.js";
128
128
  import { a as isLocalBaseUrl, c as normalizeAlias, d as resolveModelTarget, f as updateConfig, i as formatTokenK, l as resolveKnownAgentId, n as ensureFlagCompatibility, o as loadValidConfigOrThrow, r as formatMs, s as mergePrimaryFallbackConfig, t as applyDefaultModelPrimaryUpdate, u as resolveModelKeysFromEntries } from "./shared-CgFPGTLU.js";
129
129
  import { d as applyAuthProfileConfig, n as validateAnthropicSetupToken } from "./auth-token-BjVRLcvi.js";
130
130
  import { n as logConfigUpdated } from "./logging-yFV4aFrN.js";
131
- import { a as createVpsAwareOAuthHandlers, c as githubCopilotLoginCommand, i as resolveProviderMatch, n as mergeConfigPatch, o as isRemoteEnvironment, r as pickAuthMethod, s as resolvePluginProviders, t as applyDefaultModel } from "./provider-auth-helpers-CdTLpxG1.js";
131
+ import { a as createVpsAwareOAuthHandlers, c as githubCopilotLoginCommand, i as resolveProviderMatch, n as mergeConfigPatch, o as isRemoteEnvironment, r as pickAuthMethod, s as resolvePluginProviders, t as applyDefaultModel } from "./provider-auth-helpers-D_akOb8A.js";
132
132
  import path from "node:path";
133
133
  import fs from "node:fs/promises";
134
134
  import crypto from "node:crypto";
@@ -1,4 +1,4 @@
1
- import { dt as loadOpenClawPlugins, ut as createPluginLoaderLogger } from "./reply-ezOUjaUp.js";
1
+ import { dt as loadOpenClawPlugins, ut as createPluginLoaderLogger } from "./reply-D8Yu6-Ie.js";
2
2
  import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-CiBV1K6b.js";
3
3
  import { t as createSubsystemLogger } from "./subsystem-BT74-yyS.js";
4
4
  import { h as resolveDefaultAgentWorkspaceDir } from "./workspace-CRdln__H.js";
@@ -2,7 +2,7 @@ import { t as createSubsystemLogger } from "./subsystem-DjdBljTA.js";
2
2
  import { M as loadConfig } from "./auth-profiles-D_x1_5v_.js";
3
3
  import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-CJelRKYY.js";
4
4
  import { h as resolveDefaultAgentWorkspaceDir } from "./workspace-BHfqkuYN.js";
5
- import { _ as loadOpenClawPlugins, g as createPluginLoaderLogger } from "./subagent-registry-CfKMgII6.js";
5
+ import { _ as loadOpenClawPlugins, g as createPluginLoaderLogger } from "./subagent-registry-CXBreqUP.js";
6
6
  import { d as buildNpmResolutionFields } from "./npm-pack-install-D5pJ8KzT.js";
7
7
  import path from "node:path";
8
8
 
@@ -8,7 +8,7 @@ import { t as WizardCancelledError } from "./prompts-CbZZ91V9.js";
8
8
  import { t as createClackPrompter } from "./clack-prompter-B2lC_BWr.js";
9
9
  import { t as assertSupportedRuntime } from "./runtime-guard-lQH3Hjre.js";
10
10
  import { t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-BPrEIqYI.js";
11
- import { t as runOnboardingWizard } from "./onboarding-ORzDCBo6.js";
11
+ import { t as runOnboardingWizard } from "./onboarding-CZCgESNI.js";
12
12
  import { n as logConfigUpdated } from "./logging-DsLC1iR-.js";
13
13
  import { i as normalizeLegacyOnboardAuthChoice, r as isDeprecatedAuthChoice, t as ONBOARD_PROVIDER_AUTH_FLAGS } from "./onboard-provider-auth-flags-AoFLWxQT.js";
14
14
  import { t as applyOnboardingLocalWorkspaceConfig } from "./onboard-config-D6N2g-IY.js";
@@ -251,7 +251,7 @@ async function runNonInteractiveOnboardingLocal(params) {
251
251
  }
252
252
  const daemonRuntimeRaw = opts.daemonRuntime ?? DEFAULT_GATEWAY_DAEMON_RUNTIME;
253
253
  if (!opts.skipHealth) {
254
- const { healthCommand } = await import("./health-Du4IbXAP.js").then((n) => n.i);
254
+ const { healthCommand } = await import("./health-CDEXWvnu.js").then((n) => n.i);
255
255
  await waitForGatewayReachable({
256
256
  url: resolveControlUiLinks({
257
257
  bind: gatewayResult.bind,
@@ -8,7 +8,7 @@ import { t as assertSupportedRuntime } from "./runtime-guard-p6l4jDOj.js";
8
8
  import { t as WizardCancelledError } from "./prompts-iXdBMk3j.js";
9
9
  import { t as createClackPrompter } from "./clack-prompter-CgCD3NZ8.js";
10
10
  import { t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-D8xmnSd2.js";
11
- import { t as runOnboardingWizard } from "./onboarding-Wve1--YA.js";
11
+ import { t as runOnboardingWizard } from "./onboarding-Dae6N665.js";
12
12
  import { n as logConfigUpdated } from "./logging-yFV4aFrN.js";
13
13
  import { i as normalizeLegacyOnboardAuthChoice, r as isDeprecatedAuthChoice, t as ONBOARD_PROVIDER_AUTH_FLAGS } from "./onboard-provider-auth-flags-Dqir0v9m.js";
14
14
  import { t as applyOnboardingLocalWorkspaceConfig } from "./onboard-config-3n3w_Lvm.js";
@@ -251,7 +251,7 @@ async function runNonInteractiveOnboardingLocal(params) {
251
251
  }
252
252
  const daemonRuntimeRaw = opts.daemonRuntime ?? DEFAULT_GATEWAY_DAEMON_RUNTIME;
253
253
  if (!opts.skipHealth) {
254
- const { healthCommand } = await import("./health-DmJq2Wph.js").then((n) => n.i);
254
+ const { healthCommand } = await import("./health-Du8dO3vn.js").then((n) => n.i);
255
255
  await waitForGatewayReachable({
256
256
  url: resolveControlUiLinks({
257
257
  bind: gatewayResult.bind,
@@ -11,7 +11,7 @@ import { a as resolveWhatsAppAuthDir, n as listWhatsAppAccountIds, r as resolveD
11
11
  import { n as resolveDefaultIMessageAccountId, r as resolveIMessageAccount, t as listIMessageAccountIds } from "./accounts-B3zSNWIv.js";
12
12
  import { i as resolveSignalAccount, n as listSignalAccountIds, r as resolveDefaultSignalAccountId } from "./accounts-DTfEeXyO.js";
13
13
  import { ut as normalizeDiscordSlug } from "./send-BpXRh0BM.js";
14
- import { Hn as resolveDiscordUserAllowlist, O as resolveDiscordChannelAllowlist, Vn as resolveSlackUserAllowlist, _ as loadOpenClawPlugins, g as createPluginLoaderLogger, x as resolveSlackChannelAllowlist } from "./subagent-registry-CfKMgII6.js";
14
+ import { Hn as resolveDiscordUserAllowlist, O as resolveDiscordChannelAllowlist, Vn as resolveSlackUserAllowlist, _ as loadOpenClawPlugins, g as createPluginLoaderLogger, x as resolveSlackChannelAllowlist } from "./subagent-registry-CXBreqUP.js";
15
15
  import { a as listChannelPluginCatalogEntries, n as isChannelConfigured } from "./plugin-auto-enable-DER6qA6X.js";
16
16
  import { s as normalizeIMessageHandle } from "./send-e1X1pfda.js";
17
17
  import { r as detectBinary } from "./onboard-helpers-CczYNQDJ.js";
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { h as pathExists, m as normalizeE164, t as CONFIG_DIR } from "./utils-CP51tiAi.js";
3
- import { Lr as resolveSlackUserAllowlist, Rr as resolveDiscordUserAllowlist, St as resolveSlackChannelAllowlist, dt as loadOpenClawPlugins, kt as resolveDiscordChannelAllowlist, ut as createPluginLoaderLogger } from "./reply-ezOUjaUp.js";
3
+ import { Lr as resolveSlackUserAllowlist, Rr as resolveDiscordUserAllowlist, St as resolveSlackChannelAllowlist, dt as loadOpenClawPlugins, kt as resolveDiscordChannelAllowlist, ut as createPluginLoaderLogger } from "./reply-D8Yu6-Ie.js";
4
4
  import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-CiBV1K6b.js";
5
5
  import { t as createSubsystemLogger } from "./subsystem-BT74-yyS.js";
6
6
  import { g as normalizeAccountId, h as DEFAULT_ACCOUNT_ID } from "./session-key-C9z4VQtw.js";
@@ -231,7 +231,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
231
231
  const { ensureAuthProfileStore } = await import("./auth-profiles-D_x1_5v_.js").then((n) => n.t);
232
232
  const { promptAuthChoiceGrouped } = await import("./auth-choice-prompt-DQclruUl.js").then((n) => n.t);
233
233
  const { promptCustomApiConfig } = await import("./onboard-custom-CZR1K96w.js").then((n) => n.t);
234
- const { applyAuthChoice, resolvePreferredProviderForAuthChoice, warnIfModelConfigLooksOff } = await import("./auth-choice-BYuegxlw.js").then((n) => n.t);
234
+ const { applyAuthChoice, resolvePreferredProviderForAuthChoice, warnIfModelConfigLooksOff } = await import("./auth-choice-CP6K5htW.js").then((n) => n.t);
235
235
  const { applyPrimaryModel, promptDefaultModel } = await import("./model-picker-C56N_rW7.js").then((n) => n.i);
236
236
  const authStore = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false });
237
237
  const authChoiceFromPrompt = opts.authChoice === void 0;
@@ -285,7 +285,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
285
285
  if (opts.skipChannels ?? opts.skipProviders) await prompter.note("Skipping channel setup.", "Channels");
286
286
  else {
287
287
  const { listChannelPlugins } = await import("./plugins-vsjS_m58.js").then((n) => n.i);
288
- const { setupChannels } = await import("./onboard-channels-i1FFoaW7.js").then((n) => n.n);
288
+ const { setupChannels } = await import("./onboard-channels-BLZ8FdVP.js").then((n) => n.n);
289
289
  const quickstartAllowFromChannels = flow === "quickstart" ? listChannelPlugins().filter((plugin) => plugin.meta.quickstartAllowFrom).map((plugin) => plugin.id) : [];
290
290
  nextConfig = await setupChannels(nextConfig, runtime, prompter, {
291
291
  allowSignalInstall: true,
@@ -311,7 +311,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
311
311
  mode
312
312
  });
313
313
  await writeConfigFile(nextConfig);
314
- const { finalizeOnboardingWizard } = await import("./onboarding.finalize-DH8INVdN.js");
314
+ const { finalizeOnboardingWizard } = await import("./onboarding.finalize-B8nYvA0i.js");
315
315
  const { launchedTui } = await finalizeOnboardingWizard({
316
316
  flow,
317
317
  opts,
@@ -231,7 +231,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
231
231
  const { ensureAuthProfileStore } = await import("./model-selection-xdfZxwgB.js").then((n) => n.pt);
232
232
  const { promptAuthChoiceGrouped } = await import("./auth-choice-prompt-C9CCcFcF.js").then((n) => n.t);
233
233
  const { promptCustomApiConfig } = await import("./onboard-custom-Bow6lZPm.js").then((n) => n.t);
234
- const { applyAuthChoice, resolvePreferredProviderForAuthChoice, warnIfModelConfigLooksOff } = await import("./auth-choice-BpOvsd_n.js").then((n) => n.t);
234
+ const { applyAuthChoice, resolvePreferredProviderForAuthChoice, warnIfModelConfigLooksOff } = await import("./auth-choice-CdsMUqKA.js").then((n) => n.t);
235
235
  const { applyPrimaryModel, promptDefaultModel } = await import("./model-picker-CMgjcqV_.js").then((n) => n.i);
236
236
  const authStore = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false });
237
237
  const authChoiceFromPrompt = opts.authChoice === void 0;
@@ -285,7 +285,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
285
285
  if (opts.skipChannels ?? opts.skipProviders) await prompter.note("Skipping channel setup.", "Channels");
286
286
  else {
287
287
  const { listChannelPlugins } = await import("./plugins-CKWxMohB.js").then((n) => n.i);
288
- const { setupChannels } = await import("./onboard-channels-CrxnmwMd.js").then((n) => n.n);
288
+ const { setupChannels } = await import("./onboard-channels-CRpmgX82.js").then((n) => n.n);
289
289
  const quickstartAllowFromChannels = flow === "quickstart" ? listChannelPlugins().filter((plugin) => plugin.meta.quickstartAllowFrom).map((plugin) => plugin.id) : [];
290
290
  nextConfig = await setupChannels(nextConfig, runtime, prompter, {
291
291
  allowSignalInstall: true,
@@ -311,7 +311,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
311
311
  mode
312
312
  });
313
313
  await writeConfigFile(nextConfig);
314
- const { finalizeOnboardingWizard } = await import("./onboarding.finalize-BoXDIiNp.js");
314
+ const { finalizeOnboardingWizard } = await import("./onboarding.finalize-ANKeWCQe.js");
315
315
  const { launchedTui } = await finalizeOnboardingWizard({
316
316
  flow,
317
317
  opts,
@@ -2,7 +2,7 @@ import { S as resolveCliName } from "./paths-BYr-iJJ9.js";
2
2
  import "./globals-uLeGcRW1.js";
3
3
  import { h as pathExists, y as resolveUserPath } from "./utils-CP51tiAi.js";
4
4
  import "./thinking-44rmAw5o.js";
5
- import "./reply-ezOUjaUp.js";
5
+ import "./reply-D8Yu6-Ie.js";
6
6
  import "./agent-scope-CiBV1K6b.js";
7
7
  import { f as restoreTerminalState } from "./subsystem-BT74-yyS.js";
8
8
  import { r as DEFAULT_BOOTSTRAP_FILENAME } from "./workspace-CRdln__H.js";
@@ -120,17 +120,17 @@ import "./stagger-C-R8Eo-4.js";
120
120
  import "./constants-BJiQF5Ae.js";
121
121
  import "./context-window-guard-BNuaId5E.js";
122
122
  import "./runtime-guard-p6l4jDOj.js";
123
- import "./program-context-BWsBkMJn.js";
123
+ import "./program-context-DfYJPL5N.js";
124
124
  import "./note-CLcV1fjx.js";
125
- import { r as installCompletion } from "./completion-cli-5z7Fk2X-.js";
125
+ import { r as installCompletion } from "./completion-cli-DU3T8Tur.js";
126
126
  import { n as gatewayInstallErrorHint, t as buildGatewayInstallPlan } from "./daemon-install-helpers-CMWYg4_W.js";
127
127
  import { n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-D8xmnSd2.js";
128
128
  import { r as isSystemdUserServiceAvailable } from "./systemd-DJ5Red-Q.js";
129
129
  import { t as resolveGatewayService } from "./service-DqxfCr8y.js";
130
- import { r as healthCommand } from "./health-DmJq2Wph.js";
130
+ import { r as healthCommand } from "./health-Du8dO3vn.js";
131
131
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-B_3g_YF0.js";
132
132
  import { t as formatHealthCheckFailure } from "./health-format-CEAJLEPm.js";
133
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-BwIgzkLP.js";
133
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-AraQfpv2.js";
134
134
  import { t as runTui } from "./tui-Dd6DhgjX.js";
135
135
  import os from "node:os";
136
136
  import path from "node:path";
@@ -31,7 +31,7 @@ import "./accounts-DTfEeXyO.js";
31
31
  import "./bindings-Hx6KNJeg.js";
32
32
  import "./send-Cpaj_bKB.js";
33
33
  import "./send-BpXRh0BM.js";
34
- import "./subagent-registry-CfKMgII6.js";
34
+ import "./subagent-registry-CXBreqUP.js";
35
35
  import "./paths-CTtLmER4.js";
36
36
  import "./chat-envelope-D3RSz140.js";
37
37
  import "./client-BvL3EdiZ.js";
@@ -121,19 +121,19 @@ import "./progress-CwQKn0ae.js";
121
121
  import "./constants-SKxh9Cou.js";
122
122
  import "./context-window-guard-ejUBbmnW.js";
123
123
  import "./note-BuhsMSuP.js";
124
- import { r as installCompletion } from "./completion-cli-C9i-Dicb.js";
125
- import "./register.subclis-DKG1KoTd.js";
126
- import "./command-registry-oV1633Vs.js";
124
+ import { r as installCompletion } from "./completion-cli-Cfp2m1Sy.js";
125
+ import "./register.subclis-CEq4Db2Q.js";
126
+ import "./command-registry-KxdBw74g.js";
127
127
  import "./program-context-Cy6hM1zR.js";
128
128
  import { n as gatewayInstallErrorHint, t as buildGatewayInstallPlan } from "./daemon-install-helpers-D28keNLu.js";
129
129
  import "./runtime-guard-lQH3Hjre.js";
130
130
  import { n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-BPrEIqYI.js";
131
131
  import { r as isSystemdUserServiceAvailable } from "./systemd-HiU4Gzoc.js";
132
132
  import { t as resolveGatewayService } from "./service-Bjqlh_fF.js";
133
- import { r as healthCommand } from "./health-Du4IbXAP.js";
133
+ import { r as healthCommand } from "./health-CDEXWvnu.js";
134
134
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-Dx8wiZQ_.js";
135
135
  import { t as formatHealthCheckFailure } from "./health-format-NGoowTz5.js";
136
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-BySkhMZY.js";
136
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-B6_JtN22.js";
137
137
  import { t as runTui } from "./tui-CLK0s6TM.js";
138
138
  import path from "node:path";
139
139
  import os from "node:os";
@@ -60929,7 +60929,7 @@ function createOutboundSendDepsFromCliSource(deps) {
60929
60929
  function createDefaultDeps() {
60930
60930
  return {
60931
60931
  sendMessageWhatsApp: async (...args) => {
60932
- const { sendMessageWhatsApp } = await import("./web-C9QAX9EH.js");
60932
+ const { sendMessageWhatsApp } = await import("./web-DJKitOpu.js");
60933
60933
  return await sendMessageWhatsApp(...args);
60934
60934
  },
60935
60935
  sendMessageTelegram: async (...args) => {
@@ -79187,7 +79187,7 @@ function loadWebLoginQr() {
79187
79187
  return webLoginQrPromise;
79188
79188
  }
79189
79189
  function loadWebChannel() {
79190
- webChannelPromise ??= import("./web-C9QAX9EH.js");
79190
+ webChannelPromise ??= import("./web-DJKitOpu.js");
79191
79191
  return webChannelPromise;
79192
79192
  }
79193
79193
  function loadWhatsAppActions() {
@@ -86268,6 +86268,30 @@ function createOpenAIDefaultTransportWrapper(baseStreamFn) {
86268
86268
  });
86269
86269
  };
86270
86270
  }
86271
+ function isManagedCustomOpenAiProvider(cfg, provider) {
86272
+ const providers = cfg?.models?.providers;
86273
+ if (!providers) return false;
86274
+ const normalizedProvider = normalizeProviderId(provider);
86275
+ for (const [providerId, providerConfig] of Object.entries(providers)) {
86276
+ if (normalizeProviderId(providerId) !== normalizedProvider) continue;
86277
+ if (normalizeProviderId(providerId) === BITSEEK_PROVIDER_ID) return false;
86278
+ if (providerConfig?.api !== "openai-completions") return false;
86279
+ if (typeof providerConfig.baseUrl !== "string" || !providerConfig.baseUrl.trim()) return false;
86280
+ if (!Array.isArray(providerConfig.models)) return false;
86281
+ return providerConfig.models.some((model) => typeof model?.id === "string" && model.id.trim());
86282
+ }
86283
+ return false;
86284
+ }
86285
+ function createUserAgentStripWrapper(baseStreamFn) {
86286
+ const underlying = baseStreamFn ?? streamSimple;
86287
+ return (model, context, options) => underlying(model, context, {
86288
+ ...options,
86289
+ headers: {
86290
+ ...options?.headers,
86291
+ "User-Agent": null
86292
+ }
86293
+ });
86294
+ }
86271
86295
  function isAnthropic1MModel(modelId) {
86272
86296
  const normalized = modelId.trim().toLowerCase();
86273
86297
  return ANTHROPIC_1M_MODEL_PREFIXES.some((prefix) => normalized.startsWith(prefix));
@@ -86614,6 +86638,10 @@ function applyExtraParamsToAgent(agent, cfg, provider, modelId, extraParamsOverr
86614
86638
  }
86615
86639
  agent.streamFn = createGoogleThinkingPayloadWrapper(agent.streamFn, thinkingLevel);
86616
86640
  agent.streamFn = createOpenAIResponsesContextManagementWrapper(agent.streamFn, merged);
86641
+ if (isManagedCustomOpenAiProvider(cfg, provider)) {
86642
+ log$3.debug(`stripping User-Agent for custom OpenAI-compatible provider ${provider}/${modelId}`);
86643
+ agent.streamFn = createUserAgentStripWrapper(agent.streamFn);
86644
+ }
86617
86645
  }
86618
86646
 
86619
86647
  //#endregion
@@ -60933,7 +60933,7 @@ function createOutboundSendDepsFromCliSource(deps) {
60933
60933
  function createDefaultDeps() {
60934
60934
  return {
60935
60935
  sendMessageWhatsApp: async (...args) => {
60936
- const { sendMessageWhatsApp } = await import("./web-BJ_nNwKp.js");
60936
+ const { sendMessageWhatsApp } = await import("./web-V1uGLepo.js");
60937
60937
  return await sendMessageWhatsApp(...args);
60938
60938
  },
60939
60939
  sendMessageTelegram: async (...args) => {
@@ -79197,7 +79197,7 @@ function loadWebLoginQr() {
79197
79197
  return webLoginQrPromise;
79198
79198
  }
79199
79199
  function loadWebChannel() {
79200
- webChannelPromise ??= import("./web-BJ_nNwKp.js");
79200
+ webChannelPromise ??= import("./web-V1uGLepo.js");
79201
79201
  return webChannelPromise;
79202
79202
  }
79203
79203
  function loadWhatsAppActions() {
@@ -86278,6 +86278,30 @@ function createOpenAIDefaultTransportWrapper(baseStreamFn) {
86278
86278
  });
86279
86279
  };
86280
86280
  }
86281
+ function isManagedCustomOpenAiProvider(cfg, provider) {
86282
+ const providers = cfg?.models?.providers;
86283
+ if (!providers) return false;
86284
+ const normalizedProvider = normalizeProviderId(provider);
86285
+ for (const [providerId, providerConfig] of Object.entries(providers)) {
86286
+ if (normalizeProviderId(providerId) !== normalizedProvider) continue;
86287
+ if (normalizeProviderId(providerId) === BITSEEK_PROVIDER_ID) return false;
86288
+ if (providerConfig?.api !== "openai-completions") return false;
86289
+ if (typeof providerConfig.baseUrl !== "string" || !providerConfig.baseUrl.trim()) return false;
86290
+ if (!Array.isArray(providerConfig.models)) return false;
86291
+ return providerConfig.models.some((model) => typeof model?.id === "string" && model.id.trim());
86292
+ }
86293
+ return false;
86294
+ }
86295
+ function createUserAgentStripWrapper(baseStreamFn) {
86296
+ const underlying = baseStreamFn ?? streamSimple;
86297
+ return (model, context, options) => underlying(model, context, {
86298
+ ...options,
86299
+ headers: {
86300
+ ...options?.headers,
86301
+ "User-Agent": null
86302
+ }
86303
+ });
86304
+ }
86281
86305
  function isAnthropic1MModel(modelId) {
86282
86306
  const normalized = modelId.trim().toLowerCase();
86283
86307
  return ANTHROPIC_1M_MODEL_PREFIXES.some((prefix) => normalized.startsWith(prefix));
@@ -86624,6 +86648,10 @@ function applyExtraParamsToAgent(agent, cfg, provider, modelId, extraParamsOverr
86624
86648
  }
86625
86649
  agent.streamFn = createGoogleThinkingPayloadWrapper(agent.streamFn, thinkingLevel);
86626
86650
  agent.streamFn = createOpenAIResponsesContextManagementWrapper(agent.streamFn, merged);
86651
+ if (isManagedCustomOpenAiProvider(cfg, provider)) {
86652
+ log$3.debug(`stripping User-Agent for custom OpenAI-compatible provider ${provider}/${modelId}`);
86653
+ agent.streamFn = createUserAgentStripWrapper(agent.streamFn);
86654
+ }
86627
86655
  }
86628
86656
 
86629
86657
  //#endregion
@@ -3,7 +3,7 @@ import { t as createSubsystemLogger } from "./subsystem-DjdBljTA.js";
3
3
  import { M as loadConfig } from "./auth-profiles-D_x1_5v_.js";
4
4
  import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-CJelRKYY.js";
5
5
  import { u as getActivePluginRegistry } from "./registry-7fg1BnMw.js";
6
- import { _ as loadOpenClawPlugins } from "./subagent-registry-CfKMgII6.js";
6
+ import { _ as loadOpenClawPlugins } from "./subagent-registry-CXBreqUP.js";
7
7
 
8
8
  //#region src/cli/plugin-registry.ts
9
9
  var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { dt as loadOpenClawPlugins } from "./reply-ezOUjaUp.js";
2
+ import { dt as loadOpenClawPlugins } from "./reply-D8Yu6-Ie.js";
3
3
  import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-CiBV1K6b.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-BT74-yyS.js";
5
5
  import { Wt as loadConfig } from "./model-selection-xdfZxwgB.js";
@@ -1,6 +1,6 @@
1
1
  import { a as buildGroupHistoryKey, c as normalizeAgentId, n as DEFAULT_MAIN_KEY, p as DEFAULT_ACCOUNT_ID, r as buildAgentMainSessionKey } from "./session-key-CVIXEtLx.js";
2
2
  import { i as resolveWhatsAppAccount, p as readWebSelfId, s as getWebAuthAgeMs } from "./accounts-D_pT5EjF.js";
3
- import { At as resolveDefaultGroupPolicy, C as formatDurationPrecise, Ct as resolveDmGroupAccessWithLists, J as DEFAULT_GROUP_HISTORY_LIMIT, Nt as warnMissingProviderGroupPolicyFallbackOnce, St as resolveDmGroupAccessWithCommandGate, Tt as resolvePinnedMainDmOwnerFromAllowlist, U as shouldAckReactionForWhatsApp, W as resolveMentionGating, Y as buildHistoryContextFromEntries, _t as buildPairingReply, ct as formatInboundEnvelope, d as dispatchReplyWithBufferedBlockDispatcher, g as shouldComputeCommandAuthorized, h as hasControlCommand, i as resolveInboundSessionEnvelopeContext, it as createDedupeCache, jt as resolveOpenProviderRuntimeGroupPolicy, l as computeBackoff, m as resolveInboundDebounceMs, n as normalizeGroupActivation, nt as buildMentionRegexes, p as createInboundDebouncer, r as parseActivationCommand, rt as normalizeMentionText, t as getReplyFromConfig, tt as recordPendingHistoryEntryIfEnabled, u as sleepWithAbort, w as enqueueSystemEvent, yt as readStoreAllowFromForDmPolicy } from "./reply-wHFXod4j.js";
3
+ import { At as resolveDefaultGroupPolicy, C as formatDurationPrecise, Ct as resolveDmGroupAccessWithLists, J as DEFAULT_GROUP_HISTORY_LIMIT, Nt as warnMissingProviderGroupPolicyFallbackOnce, St as resolveDmGroupAccessWithCommandGate, Tt as resolvePinnedMainDmOwnerFromAllowlist, U as shouldAckReactionForWhatsApp, W as resolveMentionGating, Y as buildHistoryContextFromEntries, _t as buildPairingReply, ct as formatInboundEnvelope, d as dispatchReplyWithBufferedBlockDispatcher, g as shouldComputeCommandAuthorized, h as hasControlCommand, i as resolveInboundSessionEnvelopeContext, it as createDedupeCache, jt as resolveOpenProviderRuntimeGroupPolicy, l as computeBackoff, m as resolveInboundDebounceMs, n as normalizeGroupActivation, nt as buildMentionRegexes, p as createInboundDebouncer, r as parseActivationCommand, rt as normalizeMentionText, t as getReplyFromConfig, tt as recordPendingHistoryEntryIfEnabled, u as sleepWithAbort, w as enqueueSystemEvent, yt as readStoreAllowFromForDmPolicy } from "./reply-YZQvouuF.js";
4
4
  import { n as loadConfig } from "./config-DAwOhnVF.js";
5
5
  import { i as defaultRuntime, p as shouldLogVerbose, t as createSubsystemLogger, u as logVerbose, y as getChildLogger } from "./subsystem-CM1s2lDT.js";
6
6
  import { d as normalizeE164, l as isSelfChatMode, m as resolveJidToE164, n as clamp, u as jidToE164, x as toWhatsappJid, y as sleep } from "./utils-BcL6KGZf.js";
@@ -1,6 +1,6 @@
1
1
  import { d as resolveThreadSessionKeys, m as normalizeAccountId, p as DEFAULT_ACCOUNT_ID } from "./session-key-CVIXEtLx.js";
2
2
  import { a as resolveWhatsAppAuthDir, i as resolveWhatsAppAccount, n as listWhatsAppAccountIds, r as resolveDefaultWhatsAppAccountId, v as createAccountListHelpers } from "./accounts-D_pT5EjF.js";
3
- import { $ as evictOldHistoryKeys, $t as autoBindSpawnedDiscordSubagent, A as resolveDiscordUserAllowlist, At as resolveDefaultGroupPolicy, B as createTypingCallbacks, Bt as readJsonBodyWithLimit, Ct as resolveDmGroupAccessWithLists, D as resolveSlackUserAllowlist, Dt as GROUP_POLICY_BLOCKED_LABEL, E as parseTelegramThreadId, Et as resolveControlCommandGate, F as stringEnum, Ft as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, G as resolveMentionGatingWithBypass, Gt as isDangerousNameMatchingEnabled, H as shouldAckReaction, Ht as requestBodyErrorToText, I as recordInboundSession, It as DEFAULT_WEBHOOK_MAX_BODY_BYTES, J as DEFAULT_GROUP_HISTORY_LIMIT, Jt as registerAcpRuntimeBackend, K as mergeAllowlist, Kt as registerPluginHttpRoute, L as logAckFailure, Lt as RequestBodyLimitError, M as collectDiscordAuditChannelIds, Mt as resolveRuntimeGroupPolicy, N as formatDocsLink, Nt as warnMissingProviderGroupPolicyFallbackOnce, O as resolveSlackChannelAllowlist, Ot as resetMissingProviderGroupPolicyFallbackWarningsForTesting, P as optionalStringEnum, Pt as pruneMapToMaxSize, Q as clearHistoryEntriesIfEnabled, Qt as AcpRuntimeError, R as logInboundDrop, Rt as installRequestBodyLimitGuard, S as attachFooterText, St as resolveDmGroupAccessWithCommandGate, T as parseTelegramReplyToMessageId, U as shouldAckReactionForWhatsApp, Ut as KeyedAsyncQueue, V as removeAckReactionAfterReply, Vt as readRequestBodyWithLimit, W as resolveMentionGating, Wt as enqueueKeyedTask, X as buildPendingHistoryContextFromMap, Xt as unregisterAcpRuntimeBackend, Yt as requireAcpRuntimeBackend, Z as clearHistoryEntries, Zt as ACP_ERROR_CODES, a as listLineAccountIds, an as BLUEBUBBLES_ACTIONS, at as approveDevicePairing, b as stripMarkdown, bt as resolveDmAllowState, c as resolveLineAccount, cn as CHANNEL_MESSAGE_ACTION_NAMES, dt as formatZonedTimestamp, en as listThreadBindingsBySessionKey, et as recordPendingHistoryEntry, ft as resolveTimezone, gt as issuePairingChallenge, ht as extractToolSend, in as resolveAllowlistMatchSimple, it as createDedupeCache, j as resolveDiscordChannelAllowlist, jt as resolveOpenProviderRuntimeGroupPolicy, k as detectBinary, kt as resolveAllowlistProviderRuntimeGroupPolicy, lt as formatInboundFromLabel, mt as buildMediaPayload, nn as formatAllowlistMatchMeta, o as normalizeAccountId$1, on as BLUEBUBBLES_ACTION_NAMES, ot as listDevicePairing, pt as readBooleanParam, q as summarizeMapping, qt as getAcpRuntimeBackend, rn as resolveAllowlistMatchByCandidates, s as resolveDefaultLineAccountId, sn as BLUEBUBBLES_GROUP_ACTIONS, st as rejectDevicePairing, tn as unbindThreadBindingsBySessionKey, tt as recordPendingHistoryEntryIfEnabled, ut as formatUtcTimestamp, v as hasMarkdownToConvert, vt as DM_GROUP_ACCESS_REASON, wt as resolveEffectiveAllowFromLists, x as createReceiptCard, xt as resolveDmGroupAccessDecision, y as processLineMessage, yt as readStoreAllowFromForDmPolicy, z as logTypingFailure, zt as isRequestBodyLimitError } from "./reply-wHFXod4j.js";
3
+ import { $ as evictOldHistoryKeys, $t as autoBindSpawnedDiscordSubagent, A as resolveDiscordUserAllowlist, At as resolveDefaultGroupPolicy, B as createTypingCallbacks, Bt as readJsonBodyWithLimit, Ct as resolveDmGroupAccessWithLists, D as resolveSlackUserAllowlist, Dt as GROUP_POLICY_BLOCKED_LABEL, E as parseTelegramThreadId, Et as resolveControlCommandGate, F as stringEnum, Ft as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, G as resolveMentionGatingWithBypass, Gt as isDangerousNameMatchingEnabled, H as shouldAckReaction, Ht as requestBodyErrorToText, I as recordInboundSession, It as DEFAULT_WEBHOOK_MAX_BODY_BYTES, J as DEFAULT_GROUP_HISTORY_LIMIT, Jt as registerAcpRuntimeBackend, K as mergeAllowlist, Kt as registerPluginHttpRoute, L as logAckFailure, Lt as RequestBodyLimitError, M as collectDiscordAuditChannelIds, Mt as resolveRuntimeGroupPolicy, N as formatDocsLink, Nt as warnMissingProviderGroupPolicyFallbackOnce, O as resolveSlackChannelAllowlist, Ot as resetMissingProviderGroupPolicyFallbackWarningsForTesting, P as optionalStringEnum, Pt as pruneMapToMaxSize, Q as clearHistoryEntriesIfEnabled, Qt as AcpRuntimeError, R as logInboundDrop, Rt as installRequestBodyLimitGuard, S as attachFooterText, St as resolveDmGroupAccessWithCommandGate, T as parseTelegramReplyToMessageId, U as shouldAckReactionForWhatsApp, Ut as KeyedAsyncQueue, V as removeAckReactionAfterReply, Vt as readRequestBodyWithLimit, W as resolveMentionGating, Wt as enqueueKeyedTask, X as buildPendingHistoryContextFromMap, Xt as unregisterAcpRuntimeBackend, Yt as requireAcpRuntimeBackend, Z as clearHistoryEntries, Zt as ACP_ERROR_CODES, a as listLineAccountIds, an as BLUEBUBBLES_ACTIONS, at as approveDevicePairing, b as stripMarkdown, bt as resolveDmAllowState, c as resolveLineAccount, cn as CHANNEL_MESSAGE_ACTION_NAMES, dt as formatZonedTimestamp, en as listThreadBindingsBySessionKey, et as recordPendingHistoryEntry, ft as resolveTimezone, gt as issuePairingChallenge, ht as extractToolSend, in as resolveAllowlistMatchSimple, it as createDedupeCache, j as resolveDiscordChannelAllowlist, jt as resolveOpenProviderRuntimeGroupPolicy, k as detectBinary, kt as resolveAllowlistProviderRuntimeGroupPolicy, lt as formatInboundFromLabel, mt as buildMediaPayload, nn as formatAllowlistMatchMeta, o as normalizeAccountId$1, on as BLUEBUBBLES_ACTION_NAMES, ot as listDevicePairing, pt as readBooleanParam, q as summarizeMapping, qt as getAcpRuntimeBackend, rn as resolveAllowlistMatchByCandidates, s as resolveDefaultLineAccountId, sn as BLUEBUBBLES_GROUP_ACTIONS, st as rejectDevicePairing, tn as unbindThreadBindingsBySessionKey, tt as recordPendingHistoryEntryIfEnabled, ut as formatUtcTimestamp, v as hasMarkdownToConvert, vt as DM_GROUP_ACCESS_REASON, wt as resolveEffectiveAllowFromLists, x as createReceiptCard, xt as resolveDmGroupAccessDecision, y as processLineMessage, yt as readStoreAllowFromForDmPolicy, z as logTypingFailure, zt as isRequestBodyLimitError } from "./reply-YZQvouuF.js";
4
4
  import "./paths-C__vjTc0.js";
5
5
  import "./github-copilot-token-WHEJfZD4.js";
6
6
  import { A as GroupPolicySchema, D as BlockStreamingCoalesceSchema, E as ToolPolicySchema, F as TtsConfigSchema, I as TtsModeSchema, Jn as acquireFileLock, L as TtsProviderSchema, M as MarkdownTableModeSchema, N as ReplyRuntimeConfigSchemaShape, O as DmConfigSchema, P as TtsAutoSchema, R as normalizeAllowFrom, Yn as withFileLock, c as WhatsAppConfigSchema, d as IMessageConfigSchema, f as MSTeamsConfigSchema, h as TelegramConfigSchema, j as MarkdownConfigSchema, k as DmPolicySchema, l as DiscordConfigSchema, m as SlackConfigSchema, p as SignalConfigSchema, u as GoogleChatConfigSchema, z as requireOpenAllowFrom } from "./config-DAwOhnVF.js";
@@ -52,7 +52,7 @@ import { h as onDiagnosticEvent, m as isDiagnosticsEnabled, p as emitDiagnosticE
52
52
  import { r as extractOriginalFilename } from "./store-BZbE1V-C.js";
53
53
  import "./pi-embedded-helpers-CKEUWckk.js";
54
54
  import { t as resolveWhatsAppOutboundTarget } from "./resolve-outbound-target-D3Y4F2Le.js";
55
- import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-MpDUG9SU.js";
55
+ import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-O79O_ah6.js";
56
56
  import "./thinking-DGaZRXAR.js";
57
57
  import "./image-B3A2l2ep.js";
58
58
  import "./pi-model-discovery-BPeQq9XM.js";
@@ -41123,7 +41123,7 @@ function createOutboundSendDepsFromCliSource(deps) {
41123
41123
  function createDefaultDeps() {
41124
41124
  return {
41125
41125
  sendMessageWhatsApp: async (...args) => {
41126
- const { sendMessageWhatsApp } = await import("./web-DbkpdVSZ.js");
41126
+ const { sendMessageWhatsApp } = await import("./web-jmxdxo0H.js");
41127
41127
  return await sendMessageWhatsApp(...args);
41128
41128
  },
41129
41129
  sendMessageTelegram: async (...args) => {
@@ -61158,7 +61158,7 @@ function loadWebLoginQr() {
61158
61158
  return webLoginQrPromise;
61159
61159
  }
61160
61160
  function loadWebChannel() {
61161
- webChannelPromise ??= import("./web-DbkpdVSZ.js");
61161
+ webChannelPromise ??= import("./web-jmxdxo0H.js");
61162
61162
  return webChannelPromise;
61163
61163
  }
61164
61164
  function loadWhatsAppActions() {
@@ -78287,6 +78287,30 @@ function createOpenAIDefaultTransportWrapper(baseStreamFn) {
78287
78287
  });
78288
78288
  };
78289
78289
  }
78290
+ function isManagedCustomOpenAiProvider(cfg, provider) {
78291
+ const providers = cfg?.models?.providers;
78292
+ if (!providers) return false;
78293
+ const normalizedProvider = normalizeProviderId(provider);
78294
+ for (const [providerId, providerConfig] of Object.entries(providers)) {
78295
+ if (normalizeProviderId(providerId) !== normalizedProvider) continue;
78296
+ if (normalizeProviderId(providerId) === BITSEEK_PROVIDER_ID) return false;
78297
+ if (providerConfig?.api !== "openai-completions") return false;
78298
+ if (typeof providerConfig.baseUrl !== "string" || !providerConfig.baseUrl.trim()) return false;
78299
+ if (!Array.isArray(providerConfig.models)) return false;
78300
+ return providerConfig.models.some((model) => typeof model?.id === "string" && model.id.trim());
78301
+ }
78302
+ return false;
78303
+ }
78304
+ function createUserAgentStripWrapper(baseStreamFn) {
78305
+ const underlying = baseStreamFn ?? streamSimple;
78306
+ return (model, context, options) => underlying(model, context, {
78307
+ ...options,
78308
+ headers: {
78309
+ ...options?.headers,
78310
+ "User-Agent": null
78311
+ }
78312
+ });
78313
+ }
78290
78314
  function isAnthropic1MModel(modelId) {
78291
78315
  const normalized = modelId.trim().toLowerCase();
78292
78316
  return ANTHROPIC_1M_MODEL_PREFIXES.some((prefix) => normalized.startsWith(prefix));
@@ -78633,6 +78657,10 @@ function applyExtraParamsToAgent(agent, cfg, provider, modelId, extraParamsOverr
78633
78657
  }
78634
78658
  agent.streamFn = createGoogleThinkingPayloadWrapper(agent.streamFn, thinkingLevel);
78635
78659
  agent.streamFn = createOpenAIResponsesContextManagementWrapper(agent.streamFn, merged);
78660
+ if (isManagedCustomOpenAiProvider(cfg, provider)) {
78661
+ log$6.debug(`stripping User-Agent for custom OpenAI-compatible provider ${provider}/${modelId}`);
78662
+ agent.streamFn = createUserAgentStripWrapper(agent.streamFn);
78663
+ }
78636
78664
  }
78637
78665
 
78638
78666
  //#endregion
@@ -1,5 +1,5 @@
1
1
  import { _ as webAuthExists, c as logWebSelfId, d as pickWebChannel, o as WA_WEB_AUTH_DIR } from "./accounts-D_pT5EjF.js";
2
- import "./reply-wHFXod4j.js";
2
+ import "./reply-YZQvouuF.js";
3
3
  import "./paths-C__vjTc0.js";
4
4
  import "./github-copilot-token-WHEJfZD4.js";
5
5
  import "./config-DAwOhnVF.js";
@@ -49,7 +49,7 @@ import "./deliver-PdH-MCq8.js";
49
49
  import "./diagnostic-BZvj-qNu.js";
50
50
  import "./store-BZbE1V-C.js";
51
51
  import "./pi-embedded-helpers-CKEUWckk.js";
52
- import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-MpDUG9SU.js";
52
+ import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-O79O_ah6.js";
53
53
  import "./thinking-DGaZRXAR.js";
54
54
  import "./image-B3A2l2ep.js";
55
55
  import "./pi-model-discovery-BPeQq9XM.js";
@@ -2,7 +2,7 @@ import { g as resolveStateDir } from "./paths-BYr-iJJ9.js";
2
2
  import { p as theme } from "./globals-uLeGcRW1.js";
3
3
  import { S as shortenHomePath, g as resolveConfigDir, x as shortenHomeInString, y as resolveUserPath } from "./utils-CP51tiAi.js";
4
4
  import "./thinking-44rmAw5o.js";
5
- import "./reply-ezOUjaUp.js";
5
+ import "./reply-D8Yu6-Ie.js";
6
6
  import "./agent-scope-CiBV1K6b.js";
7
7
  import { d as defaultRuntime } from "./subsystem-BT74-yyS.js";
8
8
  import { _ as resolveWorkspaceExtensionsDir } from "./workspace-CRdln__H.js";
@@ -124,7 +124,7 @@ import "./npm-pack-install-Byr0kgft.js";
124
124
  import "./skill-scanner-CsmM5F4F.js";
125
125
  import { a as installPluginFromPath, i as installPluginFromNpmSpec, n as recordPluginInstall, o as resolvePluginInstallDir, r as PLUGIN_INSTALL_ERROR_CODE } from "./installs-BXOZ3DXs.js";
126
126
  import { t as renderTable } from "./table-DZBPnHSy.js";
127
- import { i as buildPluginStatusReport, n as resolvePinnedNpmInstallRecordForCli, r as looksLikeLocalInstallSpec } from "./npm-resolution-BHQDGwrV.js";
127
+ import { i as buildPluginStatusReport, n as resolvePinnedNpmInstallRecordForCli, r as looksLikeLocalInstallSpec } from "./npm-resolution-Dv7nYiaP.js";
128
128
  import { n as updateNpmInstalledPlugins, r as findBundledPluginSource } from "./update-B1Dhhu_3.js";
129
129
  import fs from "node:fs";
130
130
  import os from "node:os";
@@ -30,7 +30,7 @@ import "./accounts-DTfEeXyO.js";
30
30
  import "./bindings-Hx6KNJeg.js";
31
31
  import "./send-Cpaj_bKB.js";
32
32
  import "./send-BpXRh0BM.js";
33
- import "./subagent-registry-CfKMgII6.js";
33
+ import "./subagent-registry-CXBreqUP.js";
34
34
  import "./paths-CTtLmER4.js";
35
35
  import "./chat-envelope-D3RSz140.js";
36
36
  import "./client-BvL3EdiZ.js";
@@ -125,7 +125,7 @@ import "./npm-pack-install-D5pJ8KzT.js";
125
125
  import "./skill-scanner-CSJqt034.js";
126
126
  import { a as installPluginFromPath, i as installPluginFromNpmSpec, n as recordPluginInstall, o as resolvePluginInstallDir, r as PLUGIN_INSTALL_ERROR_CODE } from "./installs-BXcYytvn.js";
127
127
  import { t as renderTable } from "./table-CqULNDay.js";
128
- import { i as buildPluginStatusReport, n as resolvePinnedNpmInstallRecordForCli, r as looksLikeLocalInstallSpec } from "./npm-resolution-DyqMvaHn.js";
128
+ import { i as buildPluginStatusReport, n as resolvePinnedNpmInstallRecordForCli, r as looksLikeLocalInstallSpec } from "./npm-resolution-T8SphiP5.js";
129
129
  import { n as updateNpmInstalledPlugins, r as findBundledPluginSource } from "./update-DLc3UsVC.js";
130
130
  import path from "node:path";
131
131
  import os from "node:os";
@@ -31,7 +31,7 @@ import "./accounts-DTfEeXyO.js";
31
31
  import "./bindings-Hx6KNJeg.js";
32
32
  import "./send-Cpaj_bKB.js";
33
33
  import "./send-BpXRh0BM.js";
34
- import "./subagent-registry-CfKMgII6.js";
34
+ import "./subagent-registry-CXBreqUP.js";
35
35
  import "./paths-CTtLmER4.js";
36
36
  import "./chat-envelope-D3RSz140.js";
37
37
  import "./client-BvL3EdiZ.js";
@@ -120,13 +120,13 @@ import "./help-format-B3bKmDqF.js";
120
120
  import "./progress-CwQKn0ae.js";
121
121
  import "./constants-SKxh9Cou.js";
122
122
  import "./context-window-guard-ejUBbmnW.js";
123
- import "./plugin-registry-eOikaO9b.js";
124
- import { n as resolveCliChannelOptions } from "./channel-options-BbugzQSv.js";
125
- import { t as getSubCliCommandsWithSubcommands } from "./register.subclis-DKG1KoTd.js";
126
- import { a as registerProgramCommands, r as getCoreCliCommandsWithSubcommands } from "./command-registry-oV1633Vs.js";
123
+ import "./plugin-registry-CxFikiLF.js";
124
+ import { n as resolveCliChannelOptions } from "./channel-options-Dsjb-V1F.js";
125
+ import { t as getSubCliCommandsWithSubcommands } from "./register.subclis-CEq4Db2Q.js";
126
+ import { a as registerProgramCommands, r as getCoreCliCommandsWithSubcommands } from "./command-registry-KxdBw74g.js";
127
127
  import { r as setProgramContext } from "./program-context-Cy6hM1zR.js";
128
128
  import { t as forceFreePort } from "./ports-zWusnrvP.js";
129
- import { n as formatCliBannerLine, r as hasEmittedCliBanner, t as emitCliBanner } from "./banner-EymX6IpH.js";
129
+ import { n as formatCliBannerLine, r as hasEmittedCliBanner, t as emitCliBanner } from "./banner-V_1v329B.js";
130
130
  import { Command, InvalidArgumentError } from "commander";
131
131
 
132
132
  //#region src/cli/program/context.ts
@@ -260,7 +260,7 @@ function loadConfigGuardModule() {
260
260
  return configGuardModulePromise;
261
261
  }
262
262
  function loadPluginRegistryModule() {
263
- pluginRegistryModulePromise ??= import("./plugin-registry-eOikaO9b.js").then((n) => n.n);
263
+ pluginRegistryModulePromise ??= import("./plugin-registry-CxFikiLF.js").then((n) => n.n);
264
264
  return pluginRegistryModulePromise;
265
265
  }
266
266
  function getRootCommand(command) {