@desplega.ai/agent-swarm 2.4.4 → 2.4.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 (221) hide show
  1. package/dist/{acp-adapter-thq04adh.js → acp-adapter-2wdkktv6.js} +1 -1
  2. package/dist/{actions-j6ywh6x5.js → actions-c40ebcm4.js} +18 -18
  3. package/dist/{amp-adapter-k8b5xmj8.js → amp-adapter-wb67m95z.js} +2 -2
  4. package/dist/{app-rb7vc02s.js → app-353vre8g.js} +3 -3
  5. package/dist/{assistant-ftta1zjf.js → assistant-sj1njh23.js} +21 -21
  6. package/dist/{boot-reembed-srp6v6af.js → boot-reembed-b9c3az3c.js} +1 -1
  7. package/dist/{boot-reembed-xns7h5h9.js → boot-reembed-qdkvxeem.js} +1 -1
  8. package/dist/{boot-scrub-sweep-3qqrh2mz.js → boot-scrub-sweep-m3wh8eks.js} +2 -2
  9. package/dist/{boot-seeds-9ks8hce7.js → boot-seeds-j2273s54.js} +4 -4
  10. package/dist/{claude-adapter-k5ksyres.js → claude-adapter-m7q0a085.js} +2 -2
  11. package/dist/{claude-managed-adapter-h2y889ge.js → claude-managed-adapter-5ptb6tzs.js} +2 -2
  12. package/dist/{claude-managed-setup-n5a5eqks.js → claude-managed-setup-smrqk5j5.js} +3 -3
  13. package/dist/{claude-sdk-session-2j3j4kwn.js → claude-sdk-session-38xnz21e.js} +8284 -8267
  14. package/dist/{cli-cynvc9fj.js → cli-018r4jq6.js} +5 -5
  15. package/dist/{cli-9fhkkpj5.js → cli-1f3qzw6y.js} +1 -1
  16. package/dist/{cli-dqb4n629.js → cli-1sp861s4.js} +7 -7
  17. package/dist/{cli-gqvh8d8a.js → cli-1syn2xy1.js} +10 -10
  18. package/dist/{cli-qkhc5aqy.js → cli-37j04k05.js} +11 -11
  19. package/dist/{cli-1d70crsy.js → cli-3a45zcgm.js} +1 -1
  20. package/dist/{cli-t7cyef5g.js → cli-43x64hv3.js} +4 -4
  21. package/dist/{cli-hj3debgw.js → cli-4zfqgjc5.js} +2 -2
  22. package/dist/{cli-55qmbp6z.js → cli-7c9qs530.js} +1 -1
  23. package/dist/{cli-9qtjfd60.js → cli-848hxdwj.js} +1 -1
  24. package/dist/{cli-pccfmtb5.js → cli-94gwyg7m.js} +7 -7
  25. package/dist/{cli-51y09c6p.js → cli-9hstj09h.js} +5 -5
  26. package/dist/{cli-zrwpctp4.js → cli-9yqgm9nd.js} +22 -22
  27. package/dist/{cli-esxerzg7.js → cli-a92r1127.js} +1 -1
  28. package/dist/{cli-b8k7epj1.js → cli-be2161h1.js} +7 -7
  29. package/dist/{cli-xc27fwzg.js → cli-bnes4z6b.js} +2 -2
  30. package/dist/{cli-zrk6jxv8.js → cli-cxxe61f6.js} +1 -1
  31. package/dist/{cli-amyhm3gj.js → cli-dk44dxec.js} +1 -1
  32. package/dist/{cli-nc35pxb7.js → cli-eww120g8.js} +1 -0
  33. package/dist/{cli-a0kcty51.js → cli-f01h25yt.js} +1 -1
  34. package/dist/{cli-82d3nkc3.js → cli-f0g3pgvf.js} +1 -1
  35. package/dist/{cli-1ephgwnq.js → cli-ftc1g5tj.js} +2 -2
  36. package/dist/{cli-2v045xyf.js → cli-fv5hepyy.js} +3 -3
  37. package/dist/{cli-bnz0r3kc.js → cli-g35m2xwm.js} +4 -4
  38. package/dist/{cli-qje9k2nh.js → cli-g9ypd5en.js} +12 -2
  39. package/dist/{cli-w6nadkh4.js → cli-j99azg3g.js} +3 -3
  40. package/dist/{cli-er83cjbn.js → cli-k8g16gz3.js} +416 -116
  41. package/dist/{cli-4dg55wsk.js → cli-kpw04va0.js} +1 -1
  42. package/dist/{cli-3cgngyd8.js → cli-ms85309d.js} +33 -15
  43. package/dist/{cli-v3yr2gbg.js → cli-n72rg53p.js} +1471 -635
  44. package/dist/{cli-37yb7307.js → cli-p14m2cnp.js} +1 -1
  45. package/dist/{cli-2zqpkvtt.js → cli-qfxc84gh.js} +1 -1
  46. package/dist/{cli-44159k28.js → cli-qwhy2qma.js} +1 -1
  47. package/dist/{cli-2y91wnbh.js → cli-st8aw1m6.js} +221 -9
  48. package/dist/{cli-vq97g1jq.js → cli-tw4p90jb.js} +92 -192
  49. package/dist/{cli-te6b5wvg.js → cli-v0yrfmdh.js} +1 -1
  50. package/dist/{cli-xj0re5tm.js → cli-v8fjakwf.js} +1 -1
  51. package/dist/{cli-p20r8w42.js → cli-wt0jf9hm.js} +215 -80
  52. package/dist/{cli-q6r7t299.js → cli-xpa64rek.js} +33 -11
  53. package/dist/{cli-vdm20wej.js → cli-z7d29rw9.js} +2 -2
  54. package/dist/cli.js +19 -19
  55. package/dist/{codex-adapter-968xwfy7.js → codex-adapter-tn6k5mkg.js} +1 -1
  56. package/dist/{codex-session-runner-ht4z99fa.js → codex-session-runner-7vjt7jbw.js} +1 -1
  57. package/dist/{commands-pcymaeg9.js → commands-t7rz9146.js} +2 -2
  58. package/dist/{controller-fpjyk46r.js → controller-m2jasma5.js} +2 -2
  59. package/dist/{controllers-connect-mwzx1fh6.js → controllers-connect-9ftpex99.js} +19 -19
  60. package/dist/{cursor-adapter-cp4s2e2f.js → cursor-adapter-mjv79e4z.js} +1 -1
  61. package/dist/{db-xsjg9jqq.js → db-6sfrn9g3.js} +1 -1
  62. package/dist/{db-sgd12bt9.js → db-rn673r06.js} +3 -3
  63. package/dist/{dispatcher-x0jfw2c9.js → dispatcher-c155xz0p.js} +17 -17
  64. package/dist/{dsh-adapter-jrq7ma7h.js → dsh-adapter-3mmszc1x.js} +1 -1
  65. package/dist/{external-channel-8njj4h3b.js → external-channel-35k6tkv8.js} +2 -2
  66. package/dist/{grok-adapter-kkr97v2f.js → grok-adapter-tfrq7tg1.js} +2 -2
  67. package/dist/handlers-7gw64dxw.js +39 -0
  68. package/dist/{heartbeat-wd03zhn0.js → heartbeat-dyg4npkp.js} +20 -20
  69. package/dist/{hook-f0vghj42.js → hook-drspbwpe.js} +1 -1
  70. package/dist/{hook-xzj2ts2p.js → hook-x26b31bg.js} +1 -1
  71. package/dist/{http-4hwxv62p.js → http-pk972xyw.js} +355 -216
  72. package/dist/{index-ww2vznkp.js → index-arytgj5q.js} +1 -1
  73. package/dist/{index-hg0x2cdv.js → index-bgdyvcnv.js} +17 -17
  74. package/dist/{index-c4ykd0f1.js → index-dr94zbnh.js} +13348 -11611
  75. package/dist/{index-gdh8jrdm.js → index-gabbcdn2.js} +17 -17
  76. package/dist/{index-97q4xn03.js → index-jwxkkex2.js} +129 -75
  77. package/dist/index-tfb26zhy.js +41 -0
  78. package/dist/{keepalive-hrh7xnr9.js → keepalive-7yrng7px.js} +3 -3
  79. package/dist/{lead-ee8vazz2.js → lead-7e02z839.js} +29 -29
  80. package/dist/{maintenance-e8wnwnqx.js → maintenance-e6cemdqt.js} +1 -1
  81. package/dist/{node-3v3f08f7.js → node-de6akczr.js} +10 -9
  82. package/dist/{oauth-refresh-sweep-zm0yj4sj.js → oauth-refresh-sweep-yw3xdbcj.js} +2 -2
  83. package/dist/{onboard-dtwcq603.js → onboard-0a9y5yrc.js} +2 -2
  84. package/dist/{otel-impl-w3fbhpn0.js → otel-impl-trjpkfb7.js} +1 -1
  85. package/dist/{pricing-refresh-j38dehfs.js → pricing-refresh-d2b5my0y.js} +3 -3
  86. package/dist/{rbac-roles-ejxx9b35.js → rbac-roles-hey3yv9d.js} +2 -2
  87. package/dist/{rbac-roles-ae8yttq4.js → rbac-roles-nxh5ahwk.js} +1 -1
  88. package/dist/{registry-rxw10xzg.js → registry-ajhexe44.js} +1 -1
  89. package/dist/{render-v2-n16n0phe.js → render-v2-rr3p2atg.js} +3 -3
  90. package/dist/{resume-z0fgjc38.js → resume-2efkf1s1.js} +5 -5
  91. package/dist/{session-access-cv3mq6mc.js → session-access-s2mttxpw.js} +4 -4
  92. package/dist/{setup-mafhj3yt.js → setup-vypma5yt.js} +1 -1
  93. package/dist/{work-objects-8b86mgjp.js → work-objects-rvhckdkp.js} +20 -20
  94. package/dist/{worker-16s75hm5.js → worker-5snytpbd.js} +29 -29
  95. package/openapi.json +9 -2
  96. package/package.json +7 -7
  97. package/src/apps/catalog.generated.json +206 -4
  98. package/src/apps/page-validator.ts +13 -1
  99. package/src/be/chunking.ts +42 -9
  100. package/src/be/db/tasks/draft-text.ts +15 -0
  101. package/src/be/db/tasks/read.ts +14 -1
  102. package/src/be/db.ts +5 -1
  103. package/src/be/memory/index-content.ts +36 -17
  104. package/src/be/memory/providers/openai-embedding.ts +115 -61
  105. package/src/be/memory/providers/sqlite-store.ts +69 -23
  106. package/src/be/memory/reranker.ts +31 -1
  107. package/src/be/memory/search-candidates.ts +47 -0
  108. package/src/be/memory/types.ts +14 -0
  109. package/src/be/scripts/typecheck.ts +2 -0
  110. package/src/be/seed-scripts/catalog/heartbeat-jev-gate.ts +106 -54
  111. package/src/be/seed-scripts/index.ts +2 -2
  112. package/src/be/swarm-config-guard.ts +24 -1
  113. package/src/be/task-attachment-store.ts +30 -0
  114. package/src/extensions/catalog.generated.json +4 -4
  115. package/src/extensions/contract-types.generated.ts +1 -1
  116. package/src/extensions/contract.ts +7 -0
  117. package/src/fs/provider.ts +13 -1
  118. package/src/heartbeat/heartbeat.ts +31 -11
  119. package/src/http/fs.ts +54 -34
  120. package/src/http/mcp-body.ts +37 -0
  121. package/src/http/mcp-user.ts +3 -5
  122. package/src/http/mcp.ts +6 -7
  123. package/src/http/memory.ts +26 -15
  124. package/src/http/page-proxy.ts +61 -5
  125. package/src/http/pages-public.ts +27 -44
  126. package/src/http/pages.ts +4 -4
  127. package/src/http/script-runs.ts +2 -0
  128. package/src/http/users.ts +12 -1
  129. package/src/integrations/chat-sdk/adapters.ts +7 -3
  130. package/src/integrations/chat-sdk/attachments.ts +90 -12
  131. package/src/integrations/chat-sdk/facts.ts +120 -0
  132. package/src/integrations/chat-sdk/inbound.ts +156 -8
  133. package/src/integrations/chat-sdk/limits.ts +24 -0
  134. package/src/integrations/chat-sdk/outbound-files.ts +186 -0
  135. package/src/integrations/chat-sdk/outbound.ts +234 -4
  136. package/src/integrations/chat-sdk/relay.ts +4 -1
  137. package/src/integrations/chat-sdk/router.ts +28 -2
  138. package/src/integrations/chat-sdk/steering.ts +9 -0
  139. package/src/integrations/chat-sdk/templates.ts +14 -0
  140. package/src/integrations/chat-sdk/thread-buffer.ts +4 -0
  141. package/src/mcp-limits.ts +20 -0
  142. package/src/pages/browser-sdk.ts +8 -3
  143. package/src/pages/feedback-overlay.ts +1 -1
  144. package/src/providers/amp-adapter.ts +1 -1
  145. package/src/providers/codex-adapter.ts +106 -119
  146. package/src/providers/codex-agents-md.ts +35 -229
  147. package/src/providers/cursor-adapter.ts +1 -1
  148. package/src/realtime/transport.ts +1 -2
  149. package/src/script-workflows/workflow-ctx.ts +1 -0
  150. package/src/scripts-runtime/types/stdlib.d.ts +2 -0
  151. package/src/scripts-runtime/types/swarm-extension.d.ts +8 -0
  152. package/src/scripts-runtime/types/swarm-sdk.d.ts +2 -0
  153. package/src/server-user.ts +2 -0
  154. package/src/server.ts +2 -0
  155. package/src/slack/assistant.ts +2 -2
  156. package/src/slack/files.ts +2 -0
  157. package/src/slack/handlers.ts +4 -4
  158. package/src/slack/inbound-files.ts +39 -6
  159. package/src/slack/thread-buffer.ts +2 -1
  160. package/src/tasks/task-terminal-effects.ts +21 -17
  161. package/src/tests/apps-card-grid.test.ts +197 -0
  162. package/src/tests/apps-catalog-additions.test.ts +120 -0
  163. package/src/tests/apps-tree.test.ts +129 -0
  164. package/src/tests/chat-sdk-attachments-reply.test.ts +52 -0
  165. package/src/tests/chat-sdk-config.test.ts +11 -0
  166. package/src/tests/chat-sdk-facts.test.ts +23 -0
  167. package/src/tests/chat-sdk-inbound.test.ts +558 -4
  168. package/src/tests/chat-sdk-outbound-files.test.ts +652 -0
  169. package/src/tests/codex-adapter.test.ts +167 -242
  170. package/src/tests/config-api-only-keys.test.ts +9 -0
  171. package/src/tests/cors-allowlist.test.ts +1 -1
  172. package/src/tests/extensions-example-slack-reply-gate.test.ts +262 -91
  173. package/src/tests/heartbeat-checklist.test.ts +33 -0
  174. package/src/tests/heartbeat-jev-gate-credentials.test.ts +44 -0
  175. package/src/tests/heartbeat-jev-gate.test.ts +242 -1
  176. package/src/tests/kv-page-proxy.test.ts +91 -5
  177. package/src/tests/launch-password-rejection.test.ts +2 -2
  178. package/src/tests/mcp-input-caps.test.ts +294 -0
  179. package/src/tests/memory-chunked-search-starvation.test.ts +200 -0
  180. package/src/tests/memory-embedding-input-cap.test.ts +114 -0
  181. package/src/tests/memory.test.ts +14 -0
  182. package/src/tests/page-guest-session.test.ts +19 -8
  183. package/src/tests/page-proxy-authed.test.ts +1 -1
  184. package/src/tests/page-proxy.test.ts +17 -10
  185. package/src/tests/page-session.test.ts +102 -1
  186. package/src/tests/pages-authed-mode.test.ts +82 -12
  187. package/src/tests/pages-password-mode.test.ts +5 -5
  188. package/src/tests/realtime-transport.test.ts +13 -7
  189. package/src/tests/script-runs-http.test.ts +84 -0
  190. package/src/tests/scripts-http.test.ts +10 -1
  191. package/src/tests/swarm-config-export-to-env.test.ts +22 -3
  192. package/src/tests/task-audio-transcription.test.ts +299 -0
  193. package/src/tests/task-completion-memory-chunking.test.ts +434 -0
  194. package/src/tests/task-terminal-secret-scrub.test.ts +6 -1
  195. package/src/tests/transcription.test.ts +299 -0
  196. package/src/tests/workflow-system-one-decision-providers.test.ts +98 -1
  197. package/src/tests/workflow-system-one-decision.test.ts +2 -1
  198. package/src/tools/chat-access.ts +10 -0
  199. package/src/tools/chat-post.ts +31 -11
  200. package/src/tools/chat-reply.ts +32 -10
  201. package/src/tools/memory-search.ts +3 -1
  202. package/src/tools/system-one-decide.ts +17 -4
  203. package/src/types.ts +6 -0
  204. package/src/utils/config-env-export.ts +3 -1
  205. package/src/utils/page-session.ts +133 -20
  206. package/src/utils/transcription.ts +246 -0
  207. package/src/workflows/executors/system-one-decision.ts +28 -7
  208. package/src/workflows/executors/system-one-providers.ts +39 -4
  209. package/templates/extensions/slack-reply-gate/README.md +24 -22
  210. package/templates/extensions/slack-reply-gate/hooks.ts +146 -95
  211. package/templates/extensions/slack-reply-gate/manifest.json +2 -2
  212. package/templates/skills/apps/SKILL.md +28 -6
  213. package/templates/skills/apps/content.md +28 -6
  214. package/templates/skills/chat-sdk/content.md +6 -2
  215. package/templates/skills/code-quality/content.md +2 -1
  216. package/templates/skills/heartbeat-runbook/content.md +5 -5
  217. package/templates/skills/pages/content.md +6 -4
  218. package/templates/skills/swarm-scripts/SKILL.md +2 -2
  219. package/templates/skills/swarm-scripts/content.md +2 -2
  220. package/dist/handlers-0pvee9nw.js +0 -39
  221. package/dist/index-thm0y6a8.js +0 -41
@@ -9,16 +9,16 @@ import {
9
9
  init_active_sessions,
10
10
  getSteeringMessageById2,
11
11
  init_db3
12
- } from "./cli-p20r8w42.js";
12
+ } from "./cli-wt0jf9hm.js";
13
13
  import {
14
14
  getUserGrant2,
15
15
  init_rbac_roles
16
- } from "./cli-4dg55wsk.js";
16
+ } from "./cli-kpw04va0.js";
17
17
  import {
18
18
  findUserById,
19
19
  findUserByExternalId,
20
20
  init_users
21
- } from "./cli-9fhkkpj5.js";
21
+ } from "./cli-1f3qzw6y.js";
22
22
  import {
23
23
  isRbacEnabled,
24
24
  can,
@@ -503,7 +503,7 @@ function route(def) {
503
503
  try {
504
504
  const rawBody = def.body ? await parseBody(req, def.maxBodyBytes) : undefined;
505
505
  if (def.session && "bodyTaskIds" in def.session) {
506
- const { bodySessionDenial } = await import("./session-access-cv3mq6mc.js");
506
+ const { bodySessionDenial } = await import("./session-access-s2mttxpw.js");
507
507
  const denial = await bodySessionDenial(req, def.session.bodyTaskIds(rawBody));
508
508
  if (denial) {
509
509
  jsonError(res, denial, 403);
@@ -873,4 +873,4 @@ async function userAgentIdentityDenial2(req, def, pathSegments) {
873
873
  return USER_AGENT_HEADER_DENIED;
874
874
  }
875
875
 
876
- export { duplicateGuardedQueryKey, warnIfCorsAllowsAnyOrigin, isOriginAllowedForCredentials, allowedCredentialRedirect, setCorsHeaders, parseQueryParams, getPathSegments, wireHttpSpanLifecycle, safeRequestUrlForLog, agentWithCapacity, parseBody, BODY_TOO_LARGE, enforceContentLengthCap, json, jsonError, writeUnhandledError, triggerSchemaErrorResponse, deriveApiBaseUrl, httpServerSemconvAttributes, hasSessionAccess, getSessionRoot, sessionAccessForRoot, listActiveSessionShares, toSessionSharesState, setSessionShares, resolveTaskAuditUserId, resolveHttpAuditUserId, dashboardUserIdHeader, resolveHttpFavoriteOwner, resolveSessionActor2, sessionAccessFor2, SESSION_READ_DENIED2, canReadSession2, readableByFor2, SESSION_WRITE_DENIED2, denyParentAttach2, pathSessionDenial2, bodySessionDenial2, userAgentIdentityDenial2, runtimeInstanceHeader, bodyTask, bodyListTask, routeRegistry, isPublicRoute, findRoute, describeRequestRoute, route };
876
+ export { duplicateGuardedQueryKey, warnIfCorsAllowsAnyOrigin, isOriginAllowedForCredentials, allowedCredentialRedirect, setCorsHeaders, parseQueryParams, getPathSegments, wireHttpSpanLifecycle, safeRequestUrlForLog, agentWithCapacity, RequestBodyTooLargeError, parseBody, BODY_TOO_LARGE, enforceContentLengthCap, json, jsonError, writeUnhandledError, triggerSchemaErrorResponse, deriveApiBaseUrl, httpServerSemconvAttributes, hasSessionAccess, getSessionRoot, sessionAccessForRoot, listActiveSessionShares, toSessionSharesState, setSessionShares, resolveTaskAuditUserId, resolveHttpAuditUserId, dashboardUserIdHeader, resolveHttpFavoriteOwner, resolveSessionActor2, sessionAccessFor2, SESSION_READ_DENIED2, canReadSession2, readableByFor2, SESSION_WRITE_DENIED2, denyParentAttach2, pathSessionDenial2, bodySessionDenial2, userAgentIdentityDenial2, runtimeInstanceHeader, bodyTask, bodyListTask, routeRegistry, isPublicRoute, findRoute, describeRequestRoute, route };
@@ -5,7 +5,7 @@ import {
5
5
  validateRuntimeTokenTtlHours,
6
6
  init_swarm_config_guard,
7
7
  init_db3
8
- } from "./cli-p20r8w42.js";
8
+ } from "./cli-wt0jf9hm.js";
9
9
  import {
10
10
  registerVolatileSecret,
11
11
  unregisterVolatileSecret,
@@ -4,7 +4,7 @@ import {
4
4
  CONTROLLER_COMMAND_TIMEOUT_MS,
5
5
  RuntimeHandleSchema,
6
6
  ControllerStatusResultSchema
7
- } from "./cli-82d3nkc3.js";
7
+ } from "./cli-f0g3pgvf.js";
8
8
  import {
9
9
  getDbClient2,
10
10
  isRuntimePoolsEnabled,
@@ -21,7 +21,7 @@ import {
21
21
  upsertSwarmConfig2,
22
22
  getResolvedConfig2,
23
23
  init_db3
24
- } from "./cli-p20r8w42.js";
24
+ } from "./cli-wt0jf9hm.js";
25
25
  import {
26
26
  runtimeStaleThresholdMinutes,
27
27
  getRuntimeInstanceById,
@@ -31,7 +31,7 @@ import {
31
31
  listRuntimeInstancesForPool,
32
32
  createWorkerTaskFollowUp,
33
33
  canClaim
34
- } from "./cli-v3yr2gbg.js";
34
+ } from "./cli-n72rg53p.js";
35
35
  import {
36
36
  getRuntimeController2,
37
37
  getRuntimeControllerTarget2,
@@ -42,7 +42,7 @@ import {
42
42
  getPoolForAgent2,
43
43
  resolvePoolDelivery2,
44
44
  init_db
45
- } from "./cli-w6nadkh4.js";
45
+ } from "./cli-j99azg3g.js";
46
46
  import {
47
47
  workflowEventBus2,
48
48
  init_event_bus
@@ -61,12 +61,12 @@ import {
61
61
  import {
62
62
  mintRuntimeToken,
63
63
  init_users
64
- } from "./cli-9fhkkpj5.js";
64
+ } from "./cli-1f3qzw6y.js";
65
65
  import {
66
66
  TERMINAL_TASK_STATUSES,
67
67
  isTerminalTaskStatus,
68
68
  init_types
69
- } from "./cli-nc35pxb7.js";
69
+ } from "./cli-eww120g8.js";
70
70
  import {
71
71
  init_zod
72
72
  } from "./cli-4chz1hye.js";
@@ -522,7 +522,7 @@ async function recoverSessions(runtimeId, reason) {
522
522
  }
523
523
  if (!sessions.length)
524
524
  return;
525
- const { remediateTaskForDeadRuntime } = await import("./heartbeat-wd03zhn0.js");
525
+ const { remediateTaskForDeadRuntime } = await import("./heartbeat-dyg4npkp.js");
526
526
  for (const session of sessions) {
527
527
  try {
528
528
  const task = await getTaskById2(session.taskId);
@@ -10,7 +10,7 @@ import {
10
10
  getMostRecentTaskInThread2,
11
11
  reactionName,
12
12
  init_db3
13
- } from "./cli-p20r8w42.js";
13
+ } from "./cli-wt0jf9hm.js";
14
14
  import {
15
15
  TaskCreationBlockedError,
16
16
  buildEffectiveText,
@@ -23,7 +23,7 @@ import {
23
23
  extractTaskFromMessage,
24
24
  extractSlackMessageText,
25
25
  dispatchPre2
26
- } from "./cli-v3yr2gbg.js";
26
+ } from "./cli-n72rg53p.js";
27
27
  import {
28
28
  noteSlackInboundSideEffect,
29
29
  ignoreSlackInbound,
@@ -34,14 +34,14 @@ import {
34
34
  isSlackRenderV2Enabled2,
35
35
  ensureSlackThreadTree2,
36
36
  registerTreeMessage
37
- } from "./cli-qkhc5aqy.js";
37
+ } from "./cli-37j04k05.js";
38
38
  import {
39
39
  isBlockExternalEnabled2,
40
40
  invalidateChannelExternality2,
41
41
  getChannelBlockReason2,
42
42
  shouldBlockChannel2,
43
43
  leaveExternalChannel2
44
- } from "./cli-1d70crsy.js";
44
+ } from "./cli-3a45zcgm.js";
45
45
  import {
46
46
  workflowEventBus2,
47
47
  init_event_bus
@@ -50,7 +50,7 @@ import {
50
50
  enrichSlackUserEmail,
51
51
  resolveSlackUserId,
52
52
  rewriteSlackMentions
53
- } from "./cli-2v045xyf.js";
53
+ } from "./cli-fv5hepyy.js";
54
54
  import {
55
55
  wasEventSeen,
56
56
  requestSlackThreadSteering,
@@ -58,7 +58,7 @@ import {
58
58
  bufferThreadMessage,
59
59
  getBufferMessageCount,
60
60
  instantFlush
61
- } from "./cli-b8k7epj1.js";
61
+ } from "./cli-be2161h1.js";
62
62
  import {
63
63
  resolveTemplate,
64
64
  init_resolver
@@ -400,8 +400,8 @@ function registerMessageHandler2(app) {
400
400
  }
401
401
  return ignoreSlackInbound("rate_limited");
402
402
  }
403
- const inbound = __using(__stack, await fetchSlackFiles(client, msg.files), 1);
404
- const taskText = buildEffectiveText(msg.text, inbound.files, inbound.failed);
403
+ const inbound = __using(__stack, await fetchSlackFiles(client, msg.files, { transcribe: true }), 1);
404
+ const taskText = buildEffectiveText(msg.text, inbound.files, inbound.failed, inbound.notes);
405
405
  const taskDescription = isImplicitMention ? taskText : extractTaskFromMessage(taskText, botUserId);
406
406
  if (!taskDescription) {
407
407
  if (!isImplicitMention && !isSlackRenderV2Enabled2()) {
@@ -465,8 +465,8 @@ ${taskDescription}`;
465
465
  }
466
466
  return ignoreSlackInbound("rate_limited");
467
467
  }
468
- const inbound = __using(__stack2, await fetchSlackFiles(client, msg.files), 1);
469
- const taskDescription = extractTaskFromMessage(buildEffectiveText(msg.text, inbound.files, inbound.failed), botUserId);
468
+ const inbound = __using(__stack2, await fetchSlackFiles(client, msg.files, { transcribe: true }), 1);
469
+ const taskDescription = extractTaskFromMessage(buildEffectiveText(msg.text, inbound.files, inbound.failed, inbound.notes), botUserId);
470
470
  if (!taskDescription) {
471
471
  if (!isSlackRenderV2Enabled2()) {
472
472
  await say({
@@ -47,10 +47,10 @@ import {
47
47
  checkDependencies2,
48
48
  emitBuiltInIntegrationConnectedOnce2,
49
49
  init_db3
50
- } from "./cli-p20r8w42.js";
50
+ } from "./cli-wt0jf9hm.js";
51
51
  import {
52
52
  getChannelBlockReason2
53
- } from "./cli-1d70crsy.js";
53
+ } from "./cli-3a45zcgm.js";
54
54
  import {
55
55
  require_dist5,
56
56
  require_axios,
@@ -67,7 +67,7 @@ import {
67
67
  import {
68
68
  isTerminalTaskStatus,
69
69
  init_types
70
- } from "./cli-nc35pxb7.js";
70
+ } from "./cli-eww120g8.js";
71
71
  import {
72
72
  taskAttachmentDisplayUrl,
73
73
  init_task_attachment_links
@@ -6235,7 +6235,7 @@ async function initOtel(serviceRole = process.env.AGENT_ROLE || "api") {
6235
6235
  return;
6236
6236
  initialized = true;
6237
6237
  try {
6238
- const impl = await import("./otel-impl-w3fbhpn0.js");
6238
+ const impl = await import("./otel-impl-trjpkfb7.js");
6239
6239
  await impl.boot(serviceRole, {
6240
6240
  exportConsoleLogs: serviceRole === "api" && isApiLogExportEnabled()
6241
6241
  });
@@ -10080,17 +10080,17 @@ async function initSlackApp2() {
10080
10080
  });
10081
10081
  initialized2 = true;
10082
10082
  app.use(slackInboundOutcomeMiddleware());
10083
- const { registerMessageHandler } = await import("./handlers-0pvee9nw.js");
10084
- const { registerCommandHandler } = await import("./commands-pcymaeg9.js");
10085
- const { registerActionHandlers } = await import("./actions-j6ywh6x5.js");
10086
- const { registerWorkObjectHandlers } = await import("./work-objects-8b86mgjp.js");
10083
+ const { registerMessageHandler } = await import("./handlers-7gw64dxw.js");
10084
+ const { registerCommandHandler } = await import("./commands-t7rz9146.js");
10085
+ const { registerActionHandlers } = await import("./actions-c40ebcm4.js");
10086
+ const { registerWorkObjectHandlers } = await import("./work-objects-rvhckdkp.js");
10087
10087
  registerMessageHandler(app);
10088
10088
  registerCommandHandler(app);
10089
10089
  registerActionHandlers(app);
10090
10090
  registerWorkObjectHandlers(app);
10091
- const { createAssistant } = await import("./assistant-ftta1zjf.js");
10091
+ const { createAssistant } = await import("./assistant-sj1njh23.js");
10092
10092
  app.assistant(createAssistant());
10093
- const { isBlockExternalEnabled, scanExternalChannelsOnBoot } = await import("./external-channel-8njj4h3b.js");
10093
+ const { isBlockExternalEnabled, scanExternalChannelsOnBoot } = await import("./external-channel-35k6tkv8.js");
10094
10094
  if (isBlockExternalEnabled()) {
10095
10095
  scanExternalChannelsOnBoot(app.client).catch((error) => {
10096
10096
  console.error("[Slack] External channel boot scan failed:", error);
@@ -10103,7 +10103,7 @@ async function startSlackApp2() {
10103
10103
  await initSlackApp2();
10104
10104
  }
10105
10105
  if (app) {
10106
- const { isSlackRenderV2Enabled } = await import("./render-v2-n16n0phe.js");
10106
+ const { isSlackRenderV2Enabled } = await import("./render-v2-rr3p2atg.js");
10107
10107
  if (isSlackRenderV2Enabled())
10108
10108
  await ensureSlackRenderV2Activation2();
10109
10109
  await app.start();
@@ -4,7 +4,7 @@ import {
4
4
  claimKv2,
5
5
  deleteKv2,
6
6
  init_db3
7
- } from "./cli-p20r8w42.js";
7
+ } from "./cli-wt0jf9hm.js";
8
8
  import {
9
9
  isEnvFlagEnabled,
10
10
  init_env_flag
@@ -7,20 +7,20 @@ import {
7
7
  tierConfigKey,
8
8
  init_model_tier_keys,
9
9
  init_db3
10
- } from "./cli-p20r8w42.js";
10
+ } from "./cli-wt0jf9hm.js";
11
11
  import {
12
12
  ensureRbacSeedsSynced2,
13
13
  init_rbac_roles
14
- } from "./cli-4dg55wsk.js";
14
+ } from "./cli-kpw04va0.js";
15
15
  import {
16
16
  seedPricingFromModelsDev
17
- } from "./cli-amyhm3gj.js";
17
+ } from "./cli-dk44dxec.js";
18
18
  import {
19
19
  MODEL_TIERS,
20
20
  DEFAULT_MODEL_TIER_MAP,
21
21
  ProviderNameSchema,
22
22
  init_types
23
- } from "./cli-nc35pxb7.js";
23
+ } from "./cli-eww120g8.js";
24
24
 
25
25
  // src/be/boot-seeds.ts
26
26
  init_db3();
@@ -6,7 +6,7 @@ import {
6
6
  getResolvedConfig2,
7
7
  getAllUsers2,
8
8
  init_db3
9
- } from "./cli-p20r8w42.js";
9
+ } from "./cli-wt0jf9hm.js";
10
10
  import {
11
11
  scrubSecrets,
12
12
  init_secret_scrubber
@@ -122,7 +122,7 @@ async function ensureAgentFsSharedProvisioning(options) {
122
122
  await upsertSwarmConfig2({ scope: "global", key, value, isSecret: false, description });
123
123
  }
124
124
  process.env.AGENT_FS_API_URL = apiUrl;
125
- const { resetFileStorageProvider } = await import("./registry-rxw10xzg.js");
125
+ const { resetFileStorageProvider } = await import("./registry-ajhexe44.js");
126
126
  resetFileStorageProvider();
127
127
  return { apiUrl, apiKey, orgId, driveId, authHeaders };
128
128
  }
@@ -31,7 +31,7 @@ import {
31
31
  import {
32
32
  init_package,
33
33
  package_default
34
- } from "./cli-pccfmtb5.js";
34
+ } from "./cli-94gwyg7m.js";
35
35
  import {
36
36
  MAX_PROFILE_FILE_LENGTH,
37
37
  getMcpBaseUrl,
@@ -320,7 +320,7 @@ var formatRequestDetails = (details) => {
320
320
  if (details.headers) {
321
321
  details.headers = Object.fromEntries((details.headers instanceof Headers ? [...details.headers] : Object.entries(details.headers)).map(([name, value]) => [
322
322
  name,
323
- name.toLowerCase() === "authorization" || name.toLowerCase() === "proxy-authorization" || name.toLowerCase() === "api-key" || name.toLowerCase() === "x-api-key" || name.toLowerCase() === "cookie" || name.toLowerCase() === "set-cookie" ? "***" : value
323
+ name.toLowerCase() === "authorization" || name.toLowerCase() === "proxy-authorization" || name.toLowerCase() === "api-key" || name.toLowerCase() === "x-api-key" || name.toLowerCase() === "x-amz-security-token" || name.toLowerCase() === "cookie" || name.toLowerCase() === "set-cookie" ? "***" : value
324
324
  ]));
325
325
  }
326
326
  if ("retryOfRequestLogID" in details) {
@@ -7,7 +7,7 @@ var package_default;
7
7
  var init_package = __esm(() => {
8
8
  package_default = {
9
9
  name: "@desplega.ai/agent-swarm",
10
- version: "2.4.4",
10
+ version: "2.4.5",
11
11
  description: "agent-swarm.dev — an open-source operating system for AI work: a lead agent breaks goals into tasks, routes them to specialized workers such as Claude Code or Codex, runs each worker in an isolated container, and preserves shared memory, tools, schedules, and review gates so delegated work compounds across sessions.",
12
12
  keywords: [
13
13
  "agent-swarm.dev",
@@ -186,8 +186,8 @@ var init_package = __esm(() => {
186
186
  "@desplega/model-catalog": "workspace:*",
187
187
  "@desplega/model-routing": "workspace:*",
188
188
  "@faker-js/faker": "^10.4.0",
189
- "@opencode/plugin": "2.1.1",
190
- "@opencode/sdk": "2.1.1",
189
+ "@opencode/plugin": "2.1.2",
190
+ "@opencode/sdk": "2.1.2",
191
191
  "@oxlint/plugins": "1.78.0",
192
192
  "@types/bun": "latest",
193
193
  "dependency-cruiser": "^18.0.0",
@@ -207,15 +207,15 @@ var init_package = __esm(() => {
207
207
  dependencies: {
208
208
  "@agentclientprotocol/sdk": "2.0.0",
209
209
  "@ai-sdk/openai": "^3.0.41",
210
- "@anthropic-ai/claude-agent-sdk": "0.3.304",
211
- "@anthropic-ai/sdk": "^0.135.0",
210
+ "@anthropic-ai/claude-agent-sdk": "0.3.306",
211
+ "@anthropic-ai/sdk": "^0.137.0",
212
212
  "@asteasolutions/zod-to-openapi": "^8.0.0",
213
213
  "@aws-sdk/client-bedrock": "3.1048.0",
214
214
  "@chat-adapter/discord": "4.41.1",
215
215
  "@chat-adapter/slack": "4.41.1",
216
216
  "@chat-adapter/teams": "4.41.1",
217
217
  "@chat-adapter/telegram": "4.41.1",
218
- "@cursor/sdk": "1.0.38",
218
+ "@cursor/sdk": "1.0.40",
219
219
  "@desplega.ai/agent-fs-just-bash": "0.18.5",
220
220
  "@desplega.ai/business-use": "^0.4.2",
221
221
  "@earendil-works/pi-agent-core": "^1.3.0",
@@ -224,7 +224,7 @@ var init_package = __esm(() => {
224
224
  "@inkjs/ui": "^2.0.0",
225
225
  "@jitl/quickjs-singlefile-mjs-release-sync": "0.32.0",
226
226
  "@linear/sdk": "^77.0.0",
227
- "@modelcontextprotocol/sdk": "1.31.0",
227
+ "@modelcontextprotocol/sdk": "1.32.1",
228
228
  "@openai/codex": "0.163.0",
229
229
  "@openfort/openfort-node": "^0.9.1",
230
230
  "@opentelemetry/api": "^1.9.1",
@@ -39,7 +39,7 @@ import {
39
39
  getPendingWaitsByEvent2,
40
40
  resolveWaitState2,
41
41
  init_db3
42
- } from "./cli-p20r8w42.js";
42
+ } from "./cli-wt0jf9hm.js";
43
43
  import {
44
44
  BaseExecutor,
45
45
  postApprovalCancellationUpdates,
@@ -50,7 +50,7 @@ import {
50
50
  findEntryNodes,
51
51
  resolveValidationPort,
52
52
  getSuccessors
53
- } from "./cli-q6r7t299.js";
53
+ } from "./cli-xpa64rek.js";
54
54
  import {
55
55
  workflowEventBus2,
56
56
  init_event_bus
@@ -59,7 +59,7 @@ import {
59
59
  RetryPolicySchema,
60
60
  SUPERSEDED_WORKFLOW_TASK_REASON,
61
61
  init_types
62
- } from "./cli-nc35pxb7.js";
62
+ } from "./cli-eww120g8.js";
63
63
  import {
64
64
  getSlackConfiguration,
65
65
  isSlackConfigured,
@@ -107,7 +107,7 @@ async function notifyAutomationPreflightFailure(preflight) {
107
107
  return;
108
108
  }
109
109
  try {
110
- const { getSlackApp } = await import("./app-rb7vc02s.js");
110
+ const { getSlackApp } = await import("./app-353vre8g.js");
111
111
  const app = getSlackApp();
112
112
  if (!app) {
113
113
  console.warn("[Automation Preflight] Slack not available, cannot send notification");
@@ -1435,7 +1435,7 @@ async function runClaimedStep(def, runId, ctx, node, registry, existingStep, ste
1435
1435
  if ("async" in result && result.async) {
1436
1436
  const waiting = await checkpointStepWaiting(runId, stepId, ctx);
1437
1437
  if (waiting && result.waitFor === "workflow.child.finished") {
1438
- const { resumeFromChildRun } = await import("./resume-z0fgjc38.js");
1438
+ const { resumeFromChildRun } = await import("./resume-2efkf1s1.js");
1439
1439
  await resumeFromChildRun(stepId, registry);
1440
1440
  }
1441
1441
  return { outcome: waiting ? "waiting" : "completed", successors: [] };
@@ -20,7 +20,7 @@ import {
20
20
  renderMemoriesPrompt,
21
21
  isUnknownModelError,
22
22
  writeSkillsToFilesystem
23
- } from "./cli-xj0re5tm.js";
23
+ } from "./cli-v8fjakwf.js";
24
24
  import {
25
25
  isPollTracingEnabled,
26
26
  initOtel,
@@ -30,7 +30,7 @@ import {
30
30
  injectTraceContext2,
31
31
  initialize,
32
32
  ensure
33
- } from "./cli-qkhc5aqy.js";
33
+ } from "./cli-37j04k05.js";
34
34
  import {
35
35
  getContextWindowSize
36
36
  } from "./cli-a5ebc95n.js";
@@ -51,7 +51,7 @@ import {
51
51
  canonicalAzureDevOpsRepoUrl,
52
52
  parseAzureDevOpsRepoUrl,
53
53
  resolveScriptsOnlyMode
54
- } from "./cli-v3yr2gbg.js";
54
+ } from "./cli-n72rg53p.js";
55
55
  import {
56
56
  ACP_TARGET_IDS,
57
57
  isAcpTarget
@@ -59,32 +59,32 @@ import {
59
59
  import {
60
60
  checkAmpCredentials2,
61
61
  liveTestAmpCredentials2
62
- } from "./cli-1ephgwnq.js";
62
+ } from "./cli-ftc1g5tj.js";
63
63
  import {
64
64
  checkClaudeCredentials2
65
- } from "./cli-vdm20wej.js";
65
+ } from "./cli-z7d29rw9.js";
66
66
  import {
67
67
  checkClaudeManagedCredentials2
68
- } from "./cli-a0kcty51.js";
68
+ } from "./cli-f01h25yt.js";
69
69
  import {
70
70
  codexUserHome,
71
71
  checkCodexCredentials2
72
- } from "./cli-vq97g1jq.js";
72
+ } from "./cli-tw4p90jb.js";
73
73
  import {
74
74
  checkCursorCredentials2
75
- } from "./cli-bnz0r3kc.js";
75
+ } from "./cli-g35m2xwm.js";
76
76
  import {
77
77
  checkDevinCredentials2
78
78
  } from "./cli-s95dknxh.js";
79
79
  import {
80
80
  checkDshCredentials2
81
- } from "./cli-44159k28.js";
81
+ } from "./cli-qwhy2qma.js";
82
82
  import {
83
83
  checkOpencodeCredentials2
84
84
  } from "./cli-36ckw0wx.js";
85
85
  import {
86
86
  checkGrokCredentials2
87
- } from "./cli-zrk6jxv8.js";
87
+ } from "./cli-cxxe61f6.js";
88
88
  import {
89
89
  CODEX_OAUTH_POOL_SLOTS_ENV,
90
90
  isCodexOAuthConfigKey,
@@ -93,7 +93,7 @@ import {
93
93
  } from "./cli-j4bwnpkm.js";
94
94
  import {
95
95
  validateJsonSchema
96
- } from "./cli-51y09c6p.js";
96
+ } from "./cli-9hstj09h.js";
97
97
  import {
98
98
  mapTriggerSurface,
99
99
  init_telemetry_context,
@@ -111,7 +111,7 @@ import {
111
111
  init_vcs_repo_match,
112
112
  isApiDrainingResponse,
113
113
  init_api_drain
114
- } from "./cli-p20r8w42.js";
114
+ } from "./cli-wt0jf9hm.js";
115
115
  import {
116
116
  parseWorkerModelTierOverrides,
117
117
  resolveTaskModelSelection,
@@ -119,7 +119,7 @@ import {
119
119
  ProviderNameSchema,
120
120
  WorkerNudgeSchema,
121
121
  init_types
122
- } from "./cli-nc35pxb7.js";
122
+ } from "./cli-eww120g8.js";
123
123
  import {
124
124
  generateDefaultClaudeMd2,
125
125
  generateDefaultSoulMd2,
@@ -246,7 +246,7 @@ async function materializeCodexAuthJson(_slot, creds, deps = {}) {
246
246
  async function createProviderAdapter(provider) {
247
247
  switch (provider) {
248
248
  case "claude": {
249
- const { ClaudeAdapter } = await import("./claude-adapter-k5ksyres.js");
249
+ const { ClaudeAdapter } = await import("./claude-adapter-m7q0a085.js");
250
250
  return new ClaudeAdapter;
251
251
  }
252
252
  case "pi": {
@@ -254,11 +254,11 @@ async function createProviderAdapter(provider) {
254
254
  return new PiMonoAdapter;
255
255
  }
256
256
  case "codex": {
257
- const { CodexAdapter } = await import("./codex-adapter-968xwfy7.js");
257
+ const { CodexAdapter } = await import("./codex-adapter-tn6k5mkg.js");
258
258
  return new CodexAdapter;
259
259
  }
260
260
  case "claude-managed": {
261
- const { ClaudeManagedAdapter } = await import("./claude-managed-adapter-h2y889ge.js");
261
+ const { ClaudeManagedAdapter } = await import("./claude-managed-adapter-5ptb6tzs.js");
262
262
  return new ClaudeManagedAdapter;
263
263
  }
264
264
  case "devin": {
@@ -270,23 +270,23 @@ async function createProviderAdapter(provider) {
270
270
  return new OpencodeAdapter;
271
271
  }
272
272
  case "dsh": {
273
- const { DshAdapter } = await import("./dsh-adapter-jrq7ma7h.js");
273
+ const { DshAdapter } = await import("./dsh-adapter-3mmszc1x.js");
274
274
  return new DshAdapter;
275
275
  }
276
276
  case "amp": {
277
- const { AmpAdapter } = await import("./amp-adapter-k8b5xmj8.js");
277
+ const { AmpAdapter } = await import("./amp-adapter-wb67m95z.js");
278
278
  return new AmpAdapter;
279
279
  }
280
280
  case "cursor": {
281
- const { CursorAdapter } = await import("./cursor-adapter-cp4s2e2f.js");
281
+ const { CursorAdapter } = await import("./cursor-adapter-mjv79e4z.js");
282
282
  return new CursorAdapter;
283
283
  }
284
284
  case "grok": {
285
- const { GrokAdapter } = await import("./grok-adapter-kkr97v2f.js");
285
+ const { GrokAdapter } = await import("./grok-adapter-tfrq7tg1.js");
286
286
  return new GrokAdapter;
287
287
  }
288
288
  case "acp": {
289
- const { ACPAdapter } = await import("./acp-adapter-thq04adh.js");
289
+ const { ACPAdapter } = await import("./acp-adapter-2wdkktv6.js");
290
290
  return new ACPAdapter;
291
291
  }
292
292
  default:
@@ -1477,7 +1477,7 @@ async function validateProviderCredentials(provider, env = process.env, presence
1477
1477
  latency_ms: Date.now() - startedAt
1478
1478
  };
1479
1479
  }
1480
- const { liveTestCursorKey } = await import("./cursor-adapter-cp4s2e2f.js");
1480
+ const { liveTestCursorKey } = await import("./cursor-adapter-mjv79e4z.js");
1481
1481
  const result = await liveTestCursorKey(apiKey);
1482
1482
  return result.ok ? { ok: true, latency_ms: Date.now() - startedAt } : { ok: false, error: result.error, latency_ms: Date.now() - startedAt };
1483
1483
  }
@@ -9,7 +9,7 @@ import {
9
9
  acquireOAuthRefreshLock,
10
10
  releaseOAuthRefreshLock,
11
11
  init_oauth
12
- } from "./cli-p20r8w42.js";
12
+ } from "./cli-wt0jf9hm.js";
13
13
  import {
14
14
  scrubSecrets,
15
15
  registerVolatileSecret,
@@ -10,7 +10,7 @@ import {
10
10
  init_steering,
11
11
  createLogEntry2,
12
12
  init_db3
13
- } from "./cli-p20r8w42.js";
13
+ } from "./cli-wt0jf9hm.js";
14
14
  import {
15
15
  ackSlackMessage,
16
16
  buildBufferFlushBlocks,
@@ -20,7 +20,7 @@ import {
20
20
  ensureSlackThreadTree2,
21
21
  registerTreeMessage,
22
22
  getSlackApp2
23
- } from "./cli-qkhc5aqy.js";
23
+ } from "./cli-37j04k05.js";
24
24
  import {
25
25
  createAdditiveBuffer,
26
26
  TaskCreationBlockedError,
@@ -30,15 +30,15 @@ import {
30
30
  createSlackTaskWithFiles,
31
31
  notifySlackFileFailures,
32
32
  extractSlackMessageText
33
- } from "./cli-v3yr2gbg.js";
33
+ } from "./cli-n72rg53p.js";
34
34
  import {
35
35
  resolveSlackUserId,
36
36
  rewriteSlackMentions
37
- } from "./cli-2v045xyf.js";
37
+ } from "./cli-fv5hepyy.js";
38
38
  import {
39
39
  findUserByExternalId,
40
40
  init_users
41
- } from "./cli-9fhkkpj5.js";
41
+ } from "./cli-1f3qzw6y.js";
42
42
  import {
43
43
  isSteeringEnabled2,
44
44
  init_steering_enabled
@@ -230,14 +230,14 @@ async function slackFlush(items, key, immediate) {
230
230
  console.log(`[Slack] Flushing buffer: ${key} (${items.length} messages, immediate=${immediate})`);
231
231
  const app = getSlackApp2();
232
232
  const files = items.flatMap((item) => item.files ?? []);
233
- const inbound = __using(__stack, app ? await fetchSlackFiles(app.client, files) : {
233
+ const inbound = __using(__stack, app ? await fetchSlackFiles(app.client, files, { transcribe: true }) : {
234
234
  files,
235
235
  fetched: [],
236
236
  failed: bufferedFileFailures(files),
237
237
  async[Symbol.asyncDispose]() {}
238
238
  }, 1);
239
239
  const resolvedFiles = new Map(inbound.files.map((file) => [file.id, file]));
240
- const combinedText = await rewriteSlackMentions(items.map((item) => buildEffectiveText(item.text, item.files?.map((file) => resolvedFiles.get(file.id) ?? file), inbound.failed)).join(`
240
+ const combinedText = await rewriteSlackMentions(items.map((item) => buildEffectiveText(item.text, item.files?.map((file) => resolvedFiles.get(file.id) ?? file), inbound.failed, inbound.notes)).join(`
241
241
  ---
242
242
  `), botUserId);
243
243
  const description = `[Thread follow-up — ${items.length} message(s) buffered]
@@ -4,11 +4,11 @@ import {
4
4
  getActivePricingRow2,
5
5
  insertPricingRow2,
6
6
  init_db3
7
- } from "./cli-p20r8w42.js";
7
+ } from "./cli-wt0jf9hm.js";
8
8
  import {
9
9
  loadModelsDevCache,
10
10
  buildModelsDevSeedRows
11
- } from "./cli-amyhm3gj.js";
11
+ } from "./cli-dk44dxec.js";
12
12
  import {
13
13
  setRuntimeModelCatalog,
14
14
  init_runtime_model_catalog
@@ -2,7 +2,7 @@ import {
2
2
  isGrokOpenRouterModel,
3
3
  grokTargetProfile,
4
4
  ACPAdapter2
5
- } from "./cli-te6b5wvg.js";
5
+ } from "./cli-v0yrfmdh.js";
6
6
  import {
7
7
  getOpenRouterBaseUrl,
8
8
  getOpenRouterAttributionHeaders,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getDb2,
3
3
  init_db3
4
- } from "./cli-p20r8w42.js";
4
+ } from "./cli-wt0jf9hm.js";
5
5
  import {
6
6
  openAICompatibleProviderIds,
7
7
  withRegistryCatalogSections,