@lawpath-tech/openclaw 2026.2.21-31 → 2026.2.21-33

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 (130) hide show
  1. package/dist/{agents-BP8GDc9z.js → agents-B1Ai7rsS.js} +4 -4
  2. package/dist/{agents.config-Bz7K-hIv.js → agents.config-CxHnl-lL.js} +1 -1
  3. package/dist/{agents.config-BelTNn6K.js → agents.config-DX3tDviB.js} +1 -1
  4. package/dist/{audio-preflight-DP74Yvkp.js → audio-preflight-Dp9KYMCX.js} +4 -4
  5. package/dist/{auth-choice-D1nW1tnt.js → auth-choice-CW81kzG9.js} +1 -1
  6. package/dist/{auth-choice-CBUsciQJ.js → auth-choice-DKrgElus.js} +1 -1
  7. package/dist/{banner-C18cJKYR.js → banner-B3qK6V55.js} +1 -1
  8. package/dist/build-info.json +3 -3
  9. package/dist/bundled/boot-md/handler.js +8 -8
  10. package/dist/bundled/session-memory/handler.js +8 -8
  11. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  12. package/dist/{channel-options-DUJnpe5D.js → channel-options-CvSrxm2D.js} +1 -1
  13. package/dist/{channel-options-Dh4UX17R.js → channel-options-UCu5_Nv-.js} +1 -1
  14. package/dist/{channel-web-wLJAIBDS.js → channel-web-BUJggj7Y.js} +1 -1
  15. package/dist/{channels-cli-B3GeraPZ.js → channels-cli-B5TJMyaR.js} +6 -6
  16. package/dist/{channels-cli-7lL-U0bT.js → channels-cli-CGweC0NS.js} +6 -6
  17. package/dist/{chrome-BukFhWVN.js → chrome-DAmaIuXa.js} +7 -7
  18. package/dist/{cli-BdmFE8Ie.js → cli-B1suYn5Q.js} +3 -3
  19. package/dist/{cli-C9y6JSoj.js → cli-BFVjC6gz.js} +3 -3
  20. package/dist/{command-registry-D-PJPg1t.js → command-registry-C3Cb6_lT.js} +9 -9
  21. package/dist/{completion-cli-CA5pvA6W.js → completion-cli-CiR_bu8-.js} +1 -1
  22. package/dist/{completion-cli-zfVgI7-n.js → completion-cli-D-U8-xK-.js} +2 -2
  23. package/dist/{config-cli-BPrhK0hV.js → config-cli-BOhut0nG.js} +1 -1
  24. package/dist/{config-cli-CgMtqspq.js → config-cli-CsmTCdxD.js} +1 -1
  25. package/dist/{configure-yDD4TKIJ.js → configure-B7NUZjG2.js} +3 -3
  26. package/dist/{configure-P0T5xCKn.js → configure-BWfLMNPf.js} +3 -3
  27. package/dist/{deliver-BLmoUvp-.js → deliver-BP564y6d.js} +1 -1
  28. package/dist/{doctor-completion-wNJ24zG1.js → doctor-completion-CRCM30Gd.js} +1 -1
  29. package/dist/{doctor-completion-QnB3fOSm.js → doctor-completion-GAbf1D6s.js} +1 -1
  30. package/dist/entry.js +1 -1
  31. package/dist/extensionAPI.js +3 -3
  32. package/dist/{gateway-cli-jzI2iY9a.js → gateway-cli-DGPCB6rN.js} +10 -10
  33. package/dist/{gateway-cli-abohiHMm.js → gateway-cli-QMubBYii.js} +10 -10
  34. package/dist/{health-ChDsDryb.js → health-CwpYY0fN.js} +1 -1
  35. package/dist/{health-BJ6SHHDr.js → health-DR30gLMN.js} +1 -1
  36. package/dist/{hooks-cli-BmuxgZBH.js → hooks-cli-DNwlE26g.js} +4 -4
  37. package/dist/{hooks-cli-DuRDIltL.js → hooks-cli-DlkiBMJi.js} +4 -4
  38. package/dist/{image-hH4ugSJI.js → image-DL65NdIM.js} +1 -1
  39. package/dist/index.js +8 -8
  40. package/dist/llm-slug-generator.js +8 -8
  41. package/dist/{models-BpqbY6s6.js → models-DVkqCyTw.js} +2 -2
  42. package/dist/{models-cli-COanmcGm.js → models-cli-BEkmRLcC.js} +4 -4
  43. package/dist/{models-cli-DqWWTCao.js → models-cli-DVKgOKux.js} +5 -5
  44. package/dist/{onboard-wCY6TSre.js → onboard-BS7ZSQTR.js} +2 -2
  45. package/dist/{onboard-UEtBiCoJ.js → onboard-D9z9OO_A.js} +2 -2
  46. package/dist/{onboard-channels-BJ-tZka8.js → onboard-channels-CUuKFX-y.js} +1 -1
  47. package/dist/{onboard-channels-CPma01ab.js → onboard-channels-SRbD8DVG.js} +1 -1
  48. package/dist/{onboarding-Dp6k5p-a.js → onboarding-CQRQ7bCq.js} +3 -3
  49. package/dist/{onboarding-Di4SkJUj.js → onboarding-DVBEYCod.js} +3 -3
  50. package/dist/{onboarding.finalize-G-q87JA2.js → onboarding.finalize-BRewG-HX.js} +7 -7
  51. package/dist/{onboarding.finalize-DshqLGqp.js → onboarding.finalize-CTF-nyL8.js} +8 -8
  52. package/dist/{pi-embedded-C7TfFIPO.js → pi-embedded-BqyWOcTK.js} +200 -43
  53. package/dist/{pi-embedded-helpers-DR_3fJko.js → pi-embedded-helpers-HnqhrewN.js} +4 -4
  54. package/dist/{pi-embedded-BAqpVR_m.js → pi-embedded-rXq7jDOy.js} +214 -57
  55. package/dist/{plugin-registry-CFiYBSX2.js → plugin-registry-Bp0OjK16.js} +1 -1
  56. package/dist/{plugin-registry-BdQI8-bG.js → plugin-registry-Ca9kiZbZ.js} +1 -1
  57. package/dist/plugin-sdk/{agent-scope-BjU_kuyW.js → agent-scope-KjIvGpFh.js} +19 -19
  58. package/dist/plugin-sdk/{channel-web-DtyyUoWA.js → channel-web-i7Q0e2xL.js} +1 -1
  59. package/dist/plugin-sdk/index.js +4 -4
  60. package/dist/plugin-sdk/{manager-BBcNMx7F.js → manager-DeHKg0Ym.js} +28 -28
  61. package/dist/plugin-sdk/memory-host-search.js +4 -4
  62. package/dist/plugin-sdk/{qmd-manager-B5NFEjJd.js → qmd-manager-Ci6Ood2P.js} +2 -2
  63. package/dist/plugin-sdk/{replies-OoosoUz9.js → replies-CvKNemz4.js} +5 -4
  64. package/dist/plugin-sdk/{reply-C_4ajFUt.js → reply-CrBuiTf0.js} +200 -43
  65. package/dist/plugin-sdk/{send-C9Q83PfF.js → send-DzgvnkSq.js} +20 -1
  66. package/dist/plugin-sdk/slack/monitor/events/channels.d.ts +1 -0
  67. package/dist/plugin-sdk/slack/monitor/events/members.d.ts +1 -0
  68. package/dist/plugin-sdk/slack/monitor/events/pins.d.ts +1 -0
  69. package/dist/plugin-sdk/slack/monitor/events/reactions.d.ts +1 -0
  70. package/dist/plugin-sdk/slack/monitor/events.d.ts +2 -0
  71. package/dist/plugin-sdk/slack/monitor/message-handler.d.ts +2 -0
  72. package/dist/plugin-sdk/slack/monitor/provider.d.ts +6 -0
  73. package/dist/plugin-sdk/slack/monitor/replies.d.ts +2 -0
  74. package/dist/plugin-sdk/slack/monitor/types.d.ts +4 -0
  75. package/dist/plugin-sdk/slack/threading.d.ts +9 -0
  76. package/dist/plugin-sdk/{sqlite-CH_AglGD.js → sqlite-CcSeRdqy.js} +15 -15
  77. package/dist/plugin-sdk/{web-BlY2wNrk.js → web-DXbKqGiu.js} +4 -4
  78. package/dist/{plugins-cli-CmrER-zr.js → plugins-cli-B54I3YDp.js} +4 -4
  79. package/dist/{plugins-cli-B03aSLgf.js → plugins-cli-DQqPpkDg.js} +4 -4
  80. package/dist/{program-Djk08-l7.js → program-CiVPUyGe.js} +9 -9
  81. package/dist/{program-context-DlRS1tcr.js → program-context-B8jVIvqn.js} +17 -17
  82. package/dist/{prompt-select-styled-CMszn2hx.js → prompt-select-styled-DP6ORKEH.js} +4 -4
  83. package/dist/{prompt-select-styled-JkMJPt68.js → prompt-select-styled-XJNDuVI-.js} +4 -4
  84. package/dist/{provider-auth-helpers-36LOZ6SL.js → provider-auth-helpers-BvdnFgmZ.js} +1 -1
  85. package/dist/{provider-auth-helpers-ZV7-WRyR.js → provider-auth-helpers-GlPRMdgU.js} +1 -1
  86. package/dist/{push-apns-Cm-ZTdUp.js → push-apns-4PMWZHdd.js} +1 -1
  87. package/dist/{push-apns-TUUEPpx1.js → push-apns-BLl8QvkS.js} +1 -1
  88. package/dist/{pw-ai-Dp9c5KD_.js → pw-ai-BLLeU82T.js} +1 -1
  89. package/dist/{register.agent-DsFrb0R7.js → register.agent-DMDB7XFY.js} +8 -8
  90. package/dist/{register.agent-7Pku8mId.js → register.agent-O8MfanIY.js} +7 -7
  91. package/dist/{register.configure-BMfcA9Sh.js → register.configure-BnK5Jcux.js} +8 -8
  92. package/dist/{register.configure-CJ6IYgGS.js → register.configure-z-iZ8GQq.js} +8 -8
  93. package/dist/{register.maintenance-DfoSO5fo.js → register.maintenance-BnFA8dD9.js} +9 -9
  94. package/dist/{register.maintenance-BFSQHBgH.js → register.maintenance-DSLAHGdZ.js} +10 -10
  95. package/dist/{register.message-BTCpZ8RW.js → register.message-BEBbZm3E.js} +4 -4
  96. package/dist/{register.message-C-5P7V4g.js → register.message-Diwl2TLo.js} +4 -4
  97. package/dist/{register.onboard-CVXaGmEF.js → register.onboard-Bc4G3TMS.js} +6 -6
  98. package/dist/{register.onboard-CTO-qkWZ.js → register.onboard-gF_aeZ9o.js} +6 -6
  99. package/dist/{register.setup-Dg1Ud7ox.js → register.setup-B4r3oTHQ.js} +6 -6
  100. package/dist/{register.setup-BzaCK19n.js → register.setup-CdWPBfRb.js} +6 -6
  101. package/dist/{register.status-health-sessions-IymXWaoK.js → register.status-health-sessions-gEelqg9y.js} +5 -5
  102. package/dist/{register.status-health-sessions-DjwY1WQe.js → register.status-health-sessions-gHKOUBxw.js} +5 -5
  103. package/dist/{register.subclis-Bw1N3fIn.js → register.subclis-DflQa27k.js} +9 -9
  104. package/dist/{replies-MVPArv-r.js → replies-9ipbTXMP.js} +5 -4
  105. package/dist/{replies-DtFxhHfI.js → replies-BCd0AxfK.js} +5 -4
  106. package/dist/{replies-DKKNtkun.js → replies-BdkHHO5V.js} +5 -4
  107. package/dist/{replies-DhmTgroV.js → replies-CSjH2EQ6.js} +5 -4
  108. package/dist/{reply-pTxrsMtG.js → reply-CM9fxt2r.js} +200 -43
  109. package/dist/{run-main-DnYUey0K.js → run-main-3miuYYBs.js} +16 -16
  110. package/dist/{runner-CLY-9j7g.js → runner-CcRtHLpd.js} +1 -1
  111. package/dist/{send-CTGeWUSD.js → send-B3u53ZAu.js} +20 -1
  112. package/dist/{send-Cr8R-bMi.js → send-CAuzoyQe.js} +20 -1
  113. package/dist/{send-D_FU_HIa.js → send-D6r6s6Nf.js} +20 -1
  114. package/dist/{send-CKGUBMnM.js → send-DUc9Jw32.js} +20 -1
  115. package/dist/{server-node-events-Dhbdspn_.js → server-node-events-BcfA38Ht.js} +4 -4
  116. package/dist/{server-node-events-DQYNf8b_.js → server-node-events-DzAfZuLY.js} +4 -4
  117. package/dist/{session-dirs-CFHymbM9.js → session-dirs-BdEl6HTu.js} +1 -1
  118. package/dist/{session-dirs-DoK1aPxY.js → session-dirs-BeIjLerM.js} +1 -1
  119. package/dist/{status-D32_SxwC.js → status-B0MQkmRx.js} +2 -2
  120. package/dist/{status-CFnZ8E56.js → status-CgApQy5C.js} +1 -1
  121. package/dist/{status-C-PQHlxh.js → status-DpOLEQn-.js} +1 -1
  122. package/dist/{status-KRRAxPjg.js → status-dZ2UgRzN.js} +2 -2
  123. package/dist/{subagent-registry-DkjybHrK.js → subagent-registry-CEyaZMV5.js} +200 -43
  124. package/dist/{update-cli-DXd4fNuS.js → update-cli-COdYp-Y5.js} +10 -10
  125. package/dist/{update-cli-DMrRvy-m.js → update-cli-Y2wT8mXS.js} +9 -9
  126. package/dist/{web-Dsgry4ji.js → web-CQ4AF_Y7.js} +3 -3
  127. package/dist/{web-CCqlC0N_.js → web-Cp6O0VTJ.js} +4 -4
  128. package/dist/{web-IfDcZx01.js → web-D8FEwRAX.js} +3 -3
  129. package/dist/{web-DCNwbuhj.js → web-c0XVFCZq.js} +8 -8
  130. package/package.json +1 -1
@@ -13,14 +13,14 @@ import "./client-Dsuc__Z5.js";
13
13
  import "./call-9P8a5VLv.js";
14
14
  import "./message-channel-CVHJDItx.js";
15
15
  import "./pairing-token-DIDmMgOf.js";
16
- import "./subagent-registry-DkjybHrK.js";
16
+ import "./subagent-registry-CEyaZMV5.js";
17
17
  import "./sessions-C2GoB4eB.js";
18
18
  import "./tokens-BQcb3NZa.js";
19
19
  import "./plugins-z3bMeGdF.js";
20
20
  import "./accounts-C-TqofPl.js";
21
21
  import "./bindings-jVZjD48m.js";
22
22
  import "./logging-CFvkxgcX.js";
23
- import "./send-D_FU_HIa.js";
23
+ import "./send-D6r6s6Nf.js";
24
24
  import "./send-BFb93sxb.js";
25
25
  import "./with-timeout-X8qW3T0a.js";
26
26
  import "./deliver-C9pjS-4q.js";
@@ -92,7 +92,7 @@ import "./links-CSp_i58l.js";
92
92
  import "./cli-utils-CCaEbxAz.js";
93
93
  import "./help-format-uFvlNrMU.js";
94
94
  import "./progress-BEwrJjhp.js";
95
- import "./replies-MVPArv-r.js";
95
+ import "./replies-9ipbTXMP.js";
96
96
  import "./onboard-helpers-xm_EZevL.js";
97
97
  import "./prompt-style-BnX7ehmB.js";
98
98
  import "./pairing-labels-Bq0F29US.js";
@@ -101,9 +101,9 @@ import { t as ensureOpenClawCliOnPath } from "./path-env-Co_fin1B.js";
101
101
  import "./catalog-c0_qsZP7.js";
102
102
  import "./note-w1yEEDzo.js";
103
103
  import "./plugin-auto-enable-ComPhQV1.js";
104
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-CFiYBSX2.js";
104
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-Bp0OjK16.js";
105
105
  import { t as assertSupportedRuntime } from "./runtime-guard-Cs_ClFhP.js";
106
- import { t as emitCliBanner } from "./banner-C18cJKYR.js";
106
+ import { t as emitCliBanner } from "./banner-B3qK6V55.js";
107
107
  import "./doctor-config-flow-B_HxBb2K.js";
108
108
  import { n as ensureConfigReady } from "./config-guard-CPICoaf9.js";
109
109
  import process$1 from "node:process";
@@ -118,7 +118,7 @@ const routeHealth = {
118
118
  const verbose = getVerboseFlag(argv, { includeDebug: true });
119
119
  const timeoutMs = getPositiveIntFlagValue(argv, "--timeout");
120
120
  if (timeoutMs === null) return false;
121
- const { healthCommand } = await import("./health-BJ6SHHDr.js").then((n) => n.i);
121
+ const { healthCommand } = await import("./health-DR30gLMN.js").then((n) => n.i);
122
122
  await healthCommand({
123
123
  json,
124
124
  timeoutMs,
@@ -138,7 +138,7 @@ const routeStatus = {
138
138
  const verbose = getVerboseFlag(argv, { includeDebug: true });
139
139
  const timeoutMs = getPositiveIntFlagValue(argv, "--timeout");
140
140
  if (timeoutMs === null) return false;
141
- const { statusCommand } = await import("./status-D32_SxwC.js").then((n) => n.t);
141
+ const { statusCommand } = await import("./status-B0MQkmRx.js").then((n) => n.t);
142
142
  await statusCommand({
143
143
  json,
144
144
  deep,
@@ -172,7 +172,7 @@ const routeAgentsList = {
172
172
  run: async (argv) => {
173
173
  const json = hasFlag(argv, "--json");
174
174
  const bindings = hasFlag(argv, "--bindings");
175
- const { agentsListCommand } = await import("./agents-BP8GDc9z.js").then((n) => n.t);
175
+ const { agentsListCommand } = await import("./agents-B1Ai7rsS.js").then((n) => n.t);
176
176
  await agentsListCommand({
177
177
  json,
178
178
  bindings
@@ -243,7 +243,7 @@ const routes = [
243
243
  const pathArg = getCommandPositionals(argv)[2];
244
244
  if (!pathArg) return false;
245
245
  const json = hasFlag(argv, "--json");
246
- const { runConfigGet } = await import("./config-cli-CgMtqspq.js");
246
+ const { runConfigGet } = await import("./config-cli-CsmTCdxD.js");
247
247
  await runConfigGet({
248
248
  path: pathArg,
249
249
  json
@@ -256,7 +256,7 @@ const routes = [
256
256
  run: async (argv) => {
257
257
  const pathArg = getCommandPositionals(argv)[2];
258
258
  if (!pathArg) return false;
259
- const { runConfigUnset } = await import("./config-cli-CgMtqspq.js");
259
+ const { runConfigUnset } = await import("./config-cli-CsmTCdxD.js");
260
260
  await runConfigUnset({ path: pathArg });
261
261
  return true;
262
262
  }
@@ -270,7 +270,7 @@ const routes = [
270
270
  const local = hasFlag(argv, "--local");
271
271
  const json = hasFlag(argv, "--json");
272
272
  const plain = hasFlag(argv, "--plain");
273
- const { modelsListCommand } = await import("./models-BpqbY6s6.js").then((n) => n.t);
273
+ const { modelsListCommand } = await import("./models-DVkqCyTw.js").then((n) => n.t);
274
274
  await modelsListCommand({
275
275
  all,
276
276
  local,
@@ -301,7 +301,7 @@ const routes = [
301
301
  const plain = hasFlag(argv, "--plain");
302
302
  const check = hasFlag(argv, "--check");
303
303
  const probe = hasFlag(argv, "--probe");
304
- const { modelsStatusCommand } = await import("./models-BpqbY6s6.js").then((n) => n.t);
304
+ const { modelsStatusCommand } = await import("./models-DVkqCyTw.js").then((n) => n.t);
305
305
  await modelsStatusCommand({
306
306
  json,
307
307
  plain,
@@ -379,7 +379,7 @@ async function runCli(argv = process$1.argv) {
379
379
  assertSupportedRuntime();
380
380
  if (await tryRouteCli(normalizedArgv)) return;
381
381
  enableConsoleCapture();
382
- const { buildProgram } = await import("./program-Djk08-l7.js");
382
+ const { buildProgram } = await import("./program-CiVPUyGe.js");
383
383
  const program = buildProgram();
384
384
  installUnhandledRejectionHandler();
385
385
  process$1.on("uncaughtException", (error) => {
@@ -392,10 +392,10 @@ async function runCli(argv = process$1.argv) {
392
392
  const { getProgramContext } = await import("./program-context-5q-A0wbP.js").then((n) => n.n);
393
393
  const ctx = getProgramContext(program);
394
394
  if (ctx) {
395
- const { registerCoreCliByName } = await import("./command-registry-D-PJPg1t.js").then((n) => n.t);
395
+ const { registerCoreCliByName } = await import("./command-registry-C3Cb6_lT.js").then((n) => n.t);
396
396
  await registerCoreCliByName(program, ctx, primary, parseArgv);
397
397
  }
398
- const { registerSubCliByName } = await import("./register.subclis-Bw1N3fIn.js").then((n) => n.a);
398
+ const { registerSubCliByName } = await import("./register.subclis-DflQa27k.js").then((n) => n.a);
399
399
  await registerSubCliByName(program, primary);
400
400
  }
401
401
  if (!shouldSkipPluginCommandRegistration({
@@ -403,7 +403,7 @@ async function runCli(argv = process$1.argv) {
403
403
  primary,
404
404
  hasBuiltinPrimary: primary !== null && program.commands.some((command) => command.name() === primary)
405
405
  })) {
406
- const { registerPluginCliCommands } = await import("./cli-C9y6JSoj.js");
406
+ const { registerPluginCliCommands } = await import("./cli-BFVjC6gz.js");
407
407
  const { loadConfig } = await import("./config-BIssvwa3.js").then((n) => n.t);
408
408
  registerPluginCliCommands(program, loadConfig());
409
409
  }
@@ -4,7 +4,7 @@ import { t as normalizeChatType } from "./chat-type-C_KiWNAH.js";
4
4
  import { _ as kindFromMime, d as detectMime, h as isAudioFileName, p as getFileExtension } from "./image-ops-Cs1blBxU.js";
5
5
  import { A as normalizeProviderId, L as normalizeGoogleModelId, i as resolveApiKeyForProvider, r as requireApiKey, y as resolveOpenClawAgentDir } from "./model-auth-CZJx4V2b.js";
6
6
  import { d as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, f as isInboundPathAllowed, m as resolveIMessageAttachmentRoots, n as loadConfig, p as mergeInboundPathRoots } from "./config-CAG6tF2v.js";
7
- import { S as ensureOpenClawModelsJson, t as describeImageWithModel } from "./image-hH4ugSJI.js";
7
+ import { S as ensureOpenClawModelsJson, t as describeImageWithModel } from "./image-DL65NdIM.js";
8
8
  import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation, t as parseGeminiAuth } from "./gemini-auth-CEx7Gd8x.js";
9
9
  import { n as fetchWithTimeout } from "./fetch-timeout-DL3f_O53.js";
10
10
  import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, r as MediaFetchError } from "./local-roots-nQ6A1U7J.js";
@@ -1,5 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { Y as logVerbose } from "./registry-B8u_tOGW.js";
3
+ import { i as isSilentReplyText } from "./tokens-HGSJ1Ptu.js";
3
4
  import { d as resolveSlackAccount, m as resolveSlackBotToken } from "./plugins-3wQdZi9n.js";
4
5
  import { a as requireTargetKind, i as parseTargetPrefixes, n as ensureTargetId, r as parseTargetMention, t as buildMessagingTarget } from "./targets-CFovdgJI.js";
5
6
  import { n as loadConfig } from "./config-CAG6tF2v.js";
@@ -178,6 +179,7 @@ function isAllowedSlackAngleToken(token) {
178
179
  return inner.startsWith("@") || inner.startsWith("#") || inner.startsWith("!") || inner.startsWith("mailto:") || inner.startsWith("tel:") || inner.startsWith("http://") || inner.startsWith("https://") || inner.startsWith("slack://");
179
180
  }
180
181
  function escapeSlackMrkdwnContent(text) {
182
+ if (!text) return "";
181
183
  if (!text.includes("&") && !text.includes("<") && !text.includes(">")) return text;
182
184
  SLACK_ANGLE_TOKEN_RE.lastIndex = 0;
183
185
  const out = [];
@@ -193,6 +195,7 @@ function escapeSlackMrkdwnContent(text) {
193
195
  return out.join("");
194
196
  }
195
197
  function escapeSlackMrkdwnText(text) {
198
+ if (!text) return "";
196
199
  if (!text.includes("&") && !text.includes("<") && !text.includes(">")) return text;
197
200
  return text.split("\n").map((line) => {
198
201
  if (line.startsWith("> ")) return `> ${escapeSlackMrkdwnContent(line.slice(2))}`;
@@ -241,6 +244,15 @@ function buildSlackRenderOptions() {
241
244
  buildLink: buildSlackLink
242
245
  };
243
246
  }
247
+ function markdownToSlackMrkdwn(markdown, options = {}) {
248
+ return renderMarkdownWithMarkers(markdownToIR(markdown ?? "", {
249
+ linkify: false,
250
+ autolink: false,
251
+ headingStyle: "bold",
252
+ blockquotePrefix: "> ",
253
+ tableMode: options.tableMode
254
+ }), buildSlackRenderOptions());
255
+ }
244
256
  function markdownToSlackMrkdwnChunks(markdown, limit, options = {}) {
245
257
  const chunks = chunkMarkdownIR(markdownToIR(markdown ?? "", {
246
258
  linkify: false,
@@ -342,6 +354,13 @@ async function uploadSlackFile(params) {
342
354
  }
343
355
  async function sendMessageSlack(to, message, opts = {}) {
344
356
  const trimmedMessage = message?.trim() ?? "";
357
+ if (isSilentReplyText(trimmedMessage) && !opts.mediaUrl && !opts.blocks) {
358
+ logVerbose("slack send: suppressed NO_REPLY token before API call");
359
+ return {
360
+ messageId: "suppressed",
361
+ channelId: ""
362
+ };
363
+ }
345
364
  const blocks = opts.blocks == null ? void 0 : validateSlackBlocksArray(opts.blocks);
346
365
  if (!trimmedMessage && !opts.mediaUrl && !blocks) throw new Error("Slack send requires text, blocks, or media");
347
366
  const cfg = loadConfig();
@@ -415,4 +434,4 @@ async function sendMessageSlack(to, message, opts = {}) {
415
434
  }
416
435
 
417
436
  //#endregion
418
- export { resolveSlackWebClientOptions as a, buildSlackBlocksFallbackText as c, createSlackWebClient as i, parseSlackTarget as l, send_exports as n, parseSlackBlocksInput as o, markdownToSlackMrkdwnChunks as r, validateSlackBlocksArray as s, sendMessageSlack as t, resolveSlackChannelId as u };
437
+ export { createSlackWebClient as a, validateSlackBlocksArray as c, resolveSlackChannelId as d, markdownToSlackMrkdwnChunks as i, buildSlackBlocksFallbackText as l, send_exports as n, resolveSlackWebClientOptions as o, markdownToSlackMrkdwn as r, parseSlackBlocksInput as s, sendMessageSlack as t, parseSlackTarget as u };
@@ -1,5 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { q as logVerbose } from "./registry-C2EzR58Z.js";
3
+ import { i as isSilentReplyText } from "./tokens-CYCsLJQz.js";
3
4
  import { d as resolveSlackAccount, m as resolveSlackBotToken } from "./plugins-BgM-QbXO.js";
4
5
  import { a as requireTargetKind, i as parseTargetPrefixes, n as ensureTargetId, r as parseTargetMention, t as buildMessagingTarget } from "./targets-DmSpDM4F.js";
5
6
  import { n as loadConfig } from "./config-BtuSC9tn.js";
@@ -178,6 +179,7 @@ function isAllowedSlackAngleToken(token) {
178
179
  return inner.startsWith("@") || inner.startsWith("#") || inner.startsWith("!") || inner.startsWith("mailto:") || inner.startsWith("tel:") || inner.startsWith("http://") || inner.startsWith("https://") || inner.startsWith("slack://");
179
180
  }
180
181
  function escapeSlackMrkdwnContent(text) {
182
+ if (!text) return "";
181
183
  if (!text.includes("&") && !text.includes("<") && !text.includes(">")) return text;
182
184
  SLACK_ANGLE_TOKEN_RE.lastIndex = 0;
183
185
  const out = [];
@@ -193,6 +195,7 @@ function escapeSlackMrkdwnContent(text) {
193
195
  return out.join("");
194
196
  }
195
197
  function escapeSlackMrkdwnText(text) {
198
+ if (!text) return "";
196
199
  if (!text.includes("&") && !text.includes("<") && !text.includes(">")) return text;
197
200
  return text.split("\n").map((line) => {
198
201
  if (line.startsWith("> ")) return `> ${escapeSlackMrkdwnContent(line.slice(2))}`;
@@ -241,6 +244,15 @@ function buildSlackRenderOptions() {
241
244
  buildLink: buildSlackLink
242
245
  };
243
246
  }
247
+ function markdownToSlackMrkdwn(markdown, options = {}) {
248
+ return renderMarkdownWithMarkers(markdownToIR(markdown ?? "", {
249
+ linkify: false,
250
+ autolink: false,
251
+ headingStyle: "bold",
252
+ blockquotePrefix: "> ",
253
+ tableMode: options.tableMode
254
+ }), buildSlackRenderOptions());
255
+ }
244
256
  function markdownToSlackMrkdwnChunks(markdown, limit, options = {}) {
245
257
  const chunks = chunkMarkdownIR(markdownToIR(markdown ?? "", {
246
258
  linkify: false,
@@ -342,6 +354,13 @@ async function uploadSlackFile(params) {
342
354
  }
343
355
  async function sendMessageSlack(to, message, opts = {}) {
344
356
  const trimmedMessage = message?.trim() ?? "";
357
+ if (isSilentReplyText(trimmedMessage) && !opts.mediaUrl && !opts.blocks) {
358
+ logVerbose("slack send: suppressed NO_REPLY token before API call");
359
+ return {
360
+ messageId: "suppressed",
361
+ channelId: ""
362
+ };
363
+ }
345
364
  const blocks = opts.blocks == null ? void 0 : validateSlackBlocksArray(opts.blocks);
346
365
  if (!trimmedMessage && !opts.mediaUrl && !blocks) throw new Error("Slack send requires text, blocks, or media");
347
366
  const cfg = loadConfig();
@@ -415,4 +434,4 @@ async function sendMessageSlack(to, message, opts = {}) {
415
434
  }
416
435
 
417
436
  //#endregion
418
- export { resolveSlackWebClientOptions as a, buildSlackBlocksFallbackText as c, createSlackWebClient as i, parseSlackTarget as l, send_exports as n, parseSlackBlocksInput as o, markdownToSlackMrkdwnChunks as r, validateSlackBlocksArray as s, sendMessageSlack as t, resolveSlackChannelId as u };
437
+ export { createSlackWebClient as a, validateSlackBlocksArray as c, resolveSlackChannelId as d, markdownToSlackMrkdwnChunks as i, buildSlackBlocksFallbackText as l, send_exports as n, resolveSlackWebClientOptions as o, markdownToSlackMrkdwn as r, parseSlackBlocksInput as s, sendMessageSlack as t, parseSlackTarget as u };
@@ -1,6 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { bt as logVerbose } from "./entry.js";
3
3
  import { i as loadConfig } from "./config-BIssvwa3.js";
4
+ import { i as isSilentReplyText } from "./tokens-BQcb3NZa.js";
4
5
  import { f as resolveSlackAccount, h as resolveSlackBotToken } from "./plugins-z3bMeGdF.js";
5
6
  import { a as requireTargetKind, i as parseTargetPrefixes, n as ensureTargetId, r as parseTargetMention, t as buildMessagingTarget } from "./targets-DJmA1jvy.js";
6
7
  import { c as resolveChunkMode, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit } from "./chunk-D6AoZjLE.js";
@@ -178,6 +179,7 @@ function isAllowedSlackAngleToken(token) {
178
179
  return inner.startsWith("@") || inner.startsWith("#") || inner.startsWith("!") || inner.startsWith("mailto:") || inner.startsWith("tel:") || inner.startsWith("http://") || inner.startsWith("https://") || inner.startsWith("slack://");
179
180
  }
180
181
  function escapeSlackMrkdwnContent(text) {
182
+ if (!text) return "";
181
183
  if (!text.includes("&") && !text.includes("<") && !text.includes(">")) return text;
182
184
  SLACK_ANGLE_TOKEN_RE.lastIndex = 0;
183
185
  const out = [];
@@ -193,6 +195,7 @@ function escapeSlackMrkdwnContent(text) {
193
195
  return out.join("");
194
196
  }
195
197
  function escapeSlackMrkdwnText(text) {
198
+ if (!text) return "";
196
199
  if (!text.includes("&") && !text.includes("<") && !text.includes(">")) return text;
197
200
  return text.split("\n").map((line) => {
198
201
  if (line.startsWith("> ")) return `> ${escapeSlackMrkdwnContent(line.slice(2))}`;
@@ -241,6 +244,15 @@ function buildSlackRenderOptions() {
241
244
  buildLink: buildSlackLink
242
245
  };
243
246
  }
247
+ function markdownToSlackMrkdwn(markdown, options = {}) {
248
+ return renderMarkdownWithMarkers(markdownToIR(markdown ?? "", {
249
+ linkify: false,
250
+ autolink: false,
251
+ headingStyle: "bold",
252
+ blockquotePrefix: "> ",
253
+ tableMode: options.tableMode
254
+ }), buildSlackRenderOptions());
255
+ }
244
256
  function markdownToSlackMrkdwnChunks(markdown, limit, options = {}) {
245
257
  const chunks = chunkMarkdownIR(markdownToIR(markdown ?? "", {
246
258
  linkify: false,
@@ -342,6 +354,13 @@ async function uploadSlackFile(params) {
342
354
  }
343
355
  async function sendMessageSlack(to, message, opts = {}) {
344
356
  const trimmedMessage = message?.trim() ?? "";
357
+ if (isSilentReplyText(trimmedMessage) && !opts.mediaUrl && !opts.blocks) {
358
+ logVerbose("slack send: suppressed NO_REPLY token before API call");
359
+ return {
360
+ messageId: "suppressed",
361
+ channelId: ""
362
+ };
363
+ }
345
364
  const blocks = opts.blocks == null ? void 0 : validateSlackBlocksArray(opts.blocks);
346
365
  if (!trimmedMessage && !opts.mediaUrl && !blocks) throw new Error("Slack send requires text, blocks, or media");
347
366
  const cfg = loadConfig();
@@ -415,4 +434,4 @@ async function sendMessageSlack(to, message, opts = {}) {
415
434
  }
416
435
 
417
436
  //#endregion
418
- export { resolveSlackWebClientOptions as a, buildSlackBlocksFallbackText as c, createSlackWebClient as i, parseSlackTarget as l, send_exports as n, parseSlackBlocksInput as o, markdownToSlackMrkdwnChunks as r, validateSlackBlocksArray as s, sendMessageSlack as t, resolveSlackChannelId as u };
437
+ export { createSlackWebClient as a, validateSlackBlocksArray as c, resolveSlackChannelId as d, markdownToSlackMrkdwnChunks as i, buildSlackBlocksFallbackText as l, send_exports as n, resolveSlackWebClientOptions as o, markdownToSlackMrkdwn as r, parseSlackBlocksInput as s, sendMessageSlack as t, parseSlackTarget as u };
@@ -3,6 +3,7 @@ import { M as logVerbose } from "./utils-BlC2Fskb.js";
3
3
  import { i as loadConfig } from "./config-CkqfHk27.js";
4
4
  import { f as resolveSlackAccount, h as resolveSlackBotToken } from "./plugins-DufH79A4.js";
5
5
  import { a as requireTargetKind, i as parseTargetPrefixes, n as ensureTargetId, r as parseTargetMention, t as buildMessagingTarget } from "./targets-bG1Q8FzV.js";
6
+ import { i as isSilentReplyText } from "./tokens-BDil8-Uk.js";
6
7
  import { c as resolveChunkMode, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit } from "./chunk-ZFvwZqoJ.js";
7
8
  import { n as resolveMarkdownTableMode } from "./markdown-tables-CXWxrKp3.js";
8
9
  import { a as loadWebMedia, n as markdownToIR, t as chunkMarkdownIR } from "./ir-D72mYI93.js";
@@ -178,6 +179,7 @@ function isAllowedSlackAngleToken(token) {
178
179
  return inner.startsWith("@") || inner.startsWith("#") || inner.startsWith("!") || inner.startsWith("mailto:") || inner.startsWith("tel:") || inner.startsWith("http://") || inner.startsWith("https://") || inner.startsWith("slack://");
179
180
  }
180
181
  function escapeSlackMrkdwnContent(text) {
182
+ if (!text) return "";
181
183
  if (!text.includes("&") && !text.includes("<") && !text.includes(">")) return text;
182
184
  SLACK_ANGLE_TOKEN_RE.lastIndex = 0;
183
185
  const out = [];
@@ -193,6 +195,7 @@ function escapeSlackMrkdwnContent(text) {
193
195
  return out.join("");
194
196
  }
195
197
  function escapeSlackMrkdwnText(text) {
198
+ if (!text) return "";
196
199
  if (!text.includes("&") && !text.includes("<") && !text.includes(">")) return text;
197
200
  return text.split("\n").map((line) => {
198
201
  if (line.startsWith("> ")) return `> ${escapeSlackMrkdwnContent(line.slice(2))}`;
@@ -241,6 +244,15 @@ function buildSlackRenderOptions() {
241
244
  buildLink: buildSlackLink
242
245
  };
243
246
  }
247
+ function markdownToSlackMrkdwn(markdown, options = {}) {
248
+ return renderMarkdownWithMarkers(markdownToIR(markdown ?? "", {
249
+ linkify: false,
250
+ autolink: false,
251
+ headingStyle: "bold",
252
+ blockquotePrefix: "> ",
253
+ tableMode: options.tableMode
254
+ }), buildSlackRenderOptions());
255
+ }
244
256
  function markdownToSlackMrkdwnChunks(markdown, limit, options = {}) {
245
257
  const chunks = chunkMarkdownIR(markdownToIR(markdown ?? "", {
246
258
  linkify: false,
@@ -342,6 +354,13 @@ async function uploadSlackFile(params) {
342
354
  }
343
355
  async function sendMessageSlack(to, message, opts = {}) {
344
356
  const trimmedMessage = message?.trim() ?? "";
357
+ if (isSilentReplyText(trimmedMessage) && !opts.mediaUrl && !opts.blocks) {
358
+ logVerbose("slack send: suppressed NO_REPLY token before API call");
359
+ return {
360
+ messageId: "suppressed",
361
+ channelId: ""
362
+ };
363
+ }
345
364
  const blocks = opts.blocks == null ? void 0 : validateSlackBlocksArray(opts.blocks);
346
365
  if (!trimmedMessage && !opts.mediaUrl && !blocks) throw new Error("Slack send requires text, blocks, or media");
347
366
  const cfg = loadConfig();
@@ -415,4 +434,4 @@ async function sendMessageSlack(to, message, opts = {}) {
415
434
  }
416
435
 
417
436
  //#endregion
418
- export { resolveSlackWebClientOptions as a, buildSlackBlocksFallbackText as c, createSlackWebClient as i, parseSlackTarget as l, send_exports as n, parseSlackBlocksInput as o, markdownToSlackMrkdwnChunks as r, validateSlackBlocksArray as s, sendMessageSlack as t, resolveSlackChannelId as u };
437
+ export { createSlackWebClient as a, validateSlackBlocksArray as c, resolveSlackChannelId as d, markdownToSlackMrkdwnChunks as i, buildSlackBlocksFallbackText as l, send_exports as n, resolveSlackWebClientOptions as o, markdownToSlackMrkdwn as r, parseSlackBlocksInput as s, sendMessageSlack as t, parseSlackTarget as u };
@@ -14,14 +14,14 @@ import "./client-Dsuc__Z5.js";
14
14
  import "./call-9P8a5VLv.js";
15
15
  import "./message-channel-CVHJDItx.js";
16
16
  import "./pairing-token-DIDmMgOf.js";
17
- import { C as agentCommand, D as createOutboundSendDeps, bn as enqueueSystemEvent, cn as requestHeartbeatNow, ct as resolveOutboundTarget } from "./subagent-registry-DkjybHrK.js";
17
+ import { C as agentCommand, D as createOutboundSendDeps, bn as enqueueSystemEvent, cn as requestHeartbeatNow, ct as resolveOutboundTarget } from "./subagent-registry-CEyaZMV5.js";
18
18
  import { d as updateSessionStore } from "./sessions-C2GoB4eB.js";
19
19
  import "./tokens-BQcb3NZa.js";
20
20
  import { r as normalizeChannelId } from "./plugins-z3bMeGdF.js";
21
21
  import "./accounts-C-TqofPl.js";
22
22
  import "./bindings-jVZjD48m.js";
23
23
  import "./logging-CFvkxgcX.js";
24
- import "./send-D_FU_HIa.js";
24
+ import "./send-D6r6s6Nf.js";
25
25
  import "./send-BFb93sxb.js";
26
26
  import "./with-timeout-X8qW3T0a.js";
27
27
  import { t as deliverOutboundPayloads } from "./deliver-C9pjS-4q.js";
@@ -93,12 +93,12 @@ import "./links-CSp_i58l.js";
93
93
  import "./cli-utils-CCaEbxAz.js";
94
94
  import "./help-format-uFvlNrMU.js";
95
95
  import "./progress-BEwrJjhp.js";
96
- import "./replies-MVPArv-r.js";
96
+ import "./replies-9ipbTXMP.js";
97
97
  import "./onboard-helpers-xm_EZevL.js";
98
98
  import "./prompt-style-BnX7ehmB.js";
99
99
  import "./pairing-labels-Bq0F29US.js";
100
100
  import "./pi-tools.policy-B5XMJ2SX.js";
101
- import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-TUUEPpx1.js";
101
+ import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-BLl8QvkS.js";
102
102
  import { randomUUID } from "node:crypto";
103
103
 
104
104
  //#region src/gateway/server-node-events.ts
@@ -1,7 +1,7 @@
1
1
  import "./paths-B4BZAPZh.js";
2
2
  import "./utils-BlC2Fskb.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import { At as agentCommand, C as loadSessionEntry, It as resolveOutboundTarget, Rt as createOutboundSendDeps, T as resolveGatewaySessionStoreTarget, dt as requestHeartbeatNow, vr as enqueueSystemEvent, w as pruneLegacyStoreKeys } from "./reply-pTxrsMtG.js";
4
+ import { At as agentCommand, C as loadSessionEntry, It as resolveOutboundTarget, Rt as createOutboundSendDeps, T as resolveGatewaySessionStoreTarget, dt as requestHeartbeatNow, vr as enqueueSystemEvent, w as pruneLegacyStoreKeys } from "./reply-CM9fxt2r.js";
5
5
  import { c as normalizeMainKey } from "./session-key-DCt45XZa.js";
6
6
  import "./registry-lBbEkQ26.js";
7
7
  import { f as defaultRuntime } from "./subsystem-Cu1fn6xi.js";
@@ -45,7 +45,7 @@ import "./accounts-BQX482gP.js";
45
45
  import "./accounts-CAR30ERb.js";
46
46
  import "./bindings-D_OoALBE.js";
47
47
  import "./logging-w5jq5901.js";
48
- import "./send-CKGUBMnM.js";
48
+ import "./send-DUc9Jw32.js";
49
49
  import "./paths-C6eomcf_.js";
50
50
  import "./tool-images-BCkPMulQ.js";
51
51
  import "./tool-display-2OmEbBUF.js";
@@ -86,7 +86,7 @@ import "./cli-utils-DN_hM6ov.js";
86
86
  import "./help-format-BNbRyxky.js";
87
87
  import "./progress-9gCu2IkR.js";
88
88
  import "./resolve-route-DuqgZ7wS.js";
89
- import "./replies-DKKNtkun.js";
89
+ import "./replies-BdkHHO5V.js";
90
90
  import "./skill-commands-VCmL7mMC.js";
91
91
  import "./workspace-dirs-DbX5fBAC.js";
92
92
  import "./outbound-attachment-91Q9pKkZ.js";
@@ -102,7 +102,7 @@ import "./control-service-CPT8eogY.js";
102
102
  import "./stagger-B6VQyn1F.js";
103
103
  import "./channel-selection-B3CpzNsC.js";
104
104
  import "./pi-tools.policy-CrKxTriv.js";
105
- import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-Cm-ZTdUp.js";
105
+ import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-4PMWZHdd.js";
106
106
  import { randomUUID } from "node:crypto";
107
107
 
108
108
  //#region src/gateway/server-node-events.ts
@@ -1,5 +1,5 @@
1
1
  import { h as pathExists } from "./utils-BlC2Fskb.js";
2
- import { K as trimLogTail } from "./reply-pTxrsMtG.js";
2
+ import { K as trimLogTail } from "./reply-CM9fxt2r.js";
3
3
  import { t as runCommandWithTimeout } from "./exec-DwGfeG8v.js";
4
4
  import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-BcSek9LQ.js";
5
5
  import { c as DEFAULT_PACKAGE_CHANNEL, f as isBetaTag, l as DEV_BRANCH, n as compareSemverStrings, o as detectPackageManager$1, p as isStableTag, u as channelToNpmTag } from "./update-check-CEFJiPeh.js";
@@ -1,6 +1,6 @@
1
1
  import { rt as pathExists } from "./entry.js";
2
2
  import { t as runCommandWithTimeout } from "./exec-X8f1jCG3.js";
3
- import { bt as trimLogTail } from "./subagent-registry-DkjybHrK.js";
3
+ import { bt as trimLogTail } from "./subagent-registry-CEyaZMV5.js";
4
4
  import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-B68X-xpb.js";
5
5
  import { c as DEFAULT_PACKAGE_CHANNEL, f as isBetaTag, l as DEV_BRANCH, n as compareSemverStrings, o as detectPackageManager$1, p as isStableTag, u as channelToNpmTag } from "./update-check-DdZ89jPG.js";
6
6
  import os from "node:os";
@@ -9,7 +9,7 @@ import { c as resolveAgentWorkspaceDir } from "./agent-scope-CRYIvJeA.js";
9
9
  import { t as buildWorkspaceSkillStatus } from "./skills-status-Djt5QcJT.js";
10
10
  import { H as VERSION, i as loadConfig, o as readConfigFileSnapshot } from "./config-BIssvwa3.js";
11
11
  import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-9P8a5VLv.js";
12
- import { $ as sha256HexPrefix, Cn as peekSystemEvents, an as buildChannelAccountSnapshot, en as loadProviderUsageSummary, in as buildChannelSummary, on as formatChannelAllowFrom, tn as formatUsageReportLines, vt as readRestartSentinel, yt as summarizeRestartSentinel } from "./subagent-registry-DkjybHrK.js";
12
+ import { $ as sha256HexPrefix, Cn as peekSystemEvents, an as buildChannelAccountSnapshot, en as loadProviderUsageSummary, in as buildChannelSummary, on as formatChannelAllowFrom, tn as formatUsageReportLines, vt as readRestartSentinel, yt as summarizeRestartSentinel } from "./subagent-registry-CEyaZMV5.js";
13
13
  import { F as resolveMainSessionKey, j as resolveFreshSessionTotalTokens, o as loadSessionStore } from "./sessions-C2GoB4eB.js";
14
14
  import { n as listChannelPlugins } from "./plugins-z3bMeGdF.js";
15
15
  import { o as getTailnetHostname, s as readTailscaleStatusJson } from "./tailscale-DhjzZjBO.js";
@@ -29,7 +29,7 @@ import { t as formatRuntimeStatusWithDetails } from "./runtime-status-D6c3G7my.j
29
29
  import { t as readLastGatewayErrorLine } from "./diagnostics-DT1T-4yI.js";
30
30
  import { t as renderTable } from "./table-CyLyjbdX.js";
31
31
  import { a as resolveGatewayProbeAuth$1, c as probeGateway, t as runSecurityAudit } from "./audit-BLeFBQgS.js";
32
- import { o as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-BJ6SHHDr.js";
32
+ import { o as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-DR30gLMN.js";
33
33
  import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-DdZ89jPG.js";
34
34
  import { t as resolveNodeService } from "./node-service-BFzWXZ5-.js";
35
35
  import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-B0yJsjEo.js";
@@ -1,4 +1,4 @@
1
- import { gt as loadOpenClawPlugins, ht as createPluginLoaderLogger } from "./reply-pTxrsMtG.js";
1
+ import { gt as loadOpenClawPlugins, ht as createPluginLoaderLogger } from "./reply-CM9fxt2r.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-Cu1fn6xi.js";
3
3
  import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-BGlpyppa.js";
4
4
  import { i as loadConfig } from "./config-CkqfHk27.js";
@@ -1,7 +1,7 @@
1
1
  import { o as createSubsystemLogger } from "./entry.js";
2
2
  import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-CRYIvJeA.js";
3
3
  import { i as loadConfig } from "./config-BIssvwa3.js";
4
- import { g as loadOpenClawPlugins, h as createPluginLoaderLogger } from "./subagent-registry-DkjybHrK.js";
4
+ import { g as loadOpenClawPlugins, h as createPluginLoaderLogger } from "./subagent-registry-CEyaZMV5.js";
5
5
 
6
6
  //#region src/plugins/status.ts
7
7
  const log = createSubsystemLogger("plugins");
@@ -1,6 +1,6 @@
1
1
  import { u as resolveGatewayPort } from "./paths-B4BZAPZh.js";
2
2
  import { B as theme, k as info, z as isRich } from "./utils-BlC2Fskb.js";
3
- import { E as resolveSessionModelRef, G as summarizeRestartSentinel, W as readRestartSentinel, a as buildChannelSummary, b as listAgentsForGateway, bt as loadProviderUsageSummary, o as buildChannelAccountSnapshot, qt as sha256HexPrefix, s as formatChannelAllowFrom, ur as lookupContextTokens, xr as peekSystemEvents, xt as formatUsageReportLines, y as classifySessionKey } from "./reply-pTxrsMtG.js";
3
+ import { E as resolveSessionModelRef, G as summarizeRestartSentinel, W as readRestartSentinel, a as buildChannelSummary, b as listAgentsForGateway, bt as loadProviderUsageSummary, o as buildChannelAccountSnapshot, qt as sha256HexPrefix, s as formatChannelAllowFrom, ur as lookupContextTokens, xr as peekSystemEvents, xt as formatUsageReportLines, y as classifySessionKey } from "./reply-CM9fxt2r.js";
4
4
  import { S as parseAgentSessionKey } from "./session-key-DCt45XZa.js";
5
5
  import { t as resolveOpenClawPackageRoot } from "./openclaw-root-CQJwyH9q.js";
6
6
  import { n as runExec } from "./exec-DwGfeG8v.js";
@@ -28,7 +28,7 @@ import { t as formatRuntimeStatusWithDetails } from "./runtime-status-BHt4ST_m.j
28
28
  import { t as readLastGatewayErrorLine } from "./diagnostics-BTTjVvNB.js";
29
29
  import { t as renderTable } from "./table-Csf_WEEY.js";
30
30
  import { a as resolveGatewayProbeAuth$1, c as probeGateway, t as runSecurityAudit } from "./audit-W6GUNtGq.js";
31
- import { a as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-ChDsDryb.js";
31
+ import { a as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-CwpYY0fN.js";
32
32
  import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-CEFJiPeh.js";
33
33
  import { t as resolveNodeService } from "./node-service-YmmWwF_4.js";
34
34
  import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-DNqZrSx7.js";