@desplega.ai/agent-swarm 1.106.0 → 1.107.0

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 (112) hide show
  1. package/README.md +2 -2
  2. package/dist/{actions-pk6xqa2y.js → actions-q3hcb6ea.js} +7 -7
  3. package/dist/{app-pmfvefkh.js → app-4r3mstc2.js} +3 -3
  4. package/dist/{assistant-wcjpqxk6.js → assistant-a6vp3nv8.js} +10 -10
  5. package/dist/{boot-reembed-atv4kcrh.js → boot-reembed-cnsk021h.js} +3 -3
  6. package/dist/{boot-reembed-zanbm36c.js → boot-reembed-gaxjq6ds.js} +4 -4
  7. package/dist/{boot-scrub-logs-asq051ff.js → boot-scrub-logs-sm0m581p.js} +2 -2
  8. package/dist/{claude-adapter-w96mzan4.js → claude-adapter-hw0wsvpj.js} +2 -1
  9. package/dist/{claude-managed-setup-t0wkvzgz.js → claude-managed-setup-yhbcx0bz.js} +1 -1
  10. package/dist/{cli-qtr61agf.js → cli-2yn35y8c.js} +5 -4
  11. package/dist/{cli-6hqvenfv.js → cli-3jcx2wmm.js} +1 -1
  12. package/dist/{cli-dqhz8451.js → cli-4r9m8f3t.js} +10 -1
  13. package/dist/{cli-f7ypwjgh.js → cli-4rx7v585.js} +1 -1
  14. package/dist/{cli-k7gt5r0p.js → cli-5nt81kzd.js} +1 -1
  15. package/dist/{cli-tfcrm7ds.js → cli-5s8hgqmd.js} +1 -1
  16. package/dist/{cli-rp5kaak8.js → cli-61hj3yzp.js} +5 -5
  17. package/dist/{cli-84gyjn6h.js → cli-8p36pjyp.js} +337 -335
  18. package/dist/{cli-wfhe4tgs.js → cli-938phztx.js} +1 -1
  19. package/dist/{cli-pxddwmyc.js → cli-9xjc8dt2.js} +1 -1
  20. package/dist/{cli-4wmnp8q3.js → cli-amncg1dq.js} +108 -21
  21. package/dist/{cli-08fnz4jm.js → cli-awqz8v9k.js} +101 -43
  22. package/dist/{cli-q44nxhwq.js → cli-bk526b46.js} +29 -3
  23. package/dist/{cli-39jaysbv.js → cli-ccre5q9r.js} +4 -2
  24. package/dist/{cli-p7hff99g.js → cli-f8cdgmdk.js} +3 -3
  25. package/dist/{cli-xvs40j7w.js → cli-heavyg0w.js} +4 -4
  26. package/dist/{cli-4fwzc50f.js → cli-hn38x1bp.js} +2 -2
  27. package/dist/{cli-50nss8e8.js → cli-hr69yv51.js} +1 -1
  28. package/dist/{cli-n38fcvhe.js → cli-kgr1cazt.js} +1105 -18
  29. package/dist/{cli-8fhhmzbh.js → cli-n4qvvhy0.js} +1 -1
  30. package/dist/{cli-j1172z85.js → cli-r0nfastp.js} +50 -24
  31. package/dist/{cli-hmqkes02.js → cli-rpjrpkzy.js} +1 -1
  32. package/dist/{cli-842gfjn1.js → cli-t6r1ex00.js} +2 -2
  33. package/dist/{cli-sp3c9fwf.js → cli-t7cyte2g.js} +2 -2
  34. package/dist/{cli-xgssgdqn.js → cli-tda8d5q0.js} +1 -1
  35. package/dist/cli-tkmm5nf9.js +4178 -0
  36. package/dist/{cli-6xn2xv4r.js → cli-wb4j4tfe.js} +77 -10
  37. package/dist/{cli-anrn8brw.js → cli-wnkwyhmw.js} +33 -14
  38. package/dist/{cli-v90vvqt8.js → cli-xaht317v.js} +172 -45
  39. package/dist/cli.js +14 -12
  40. package/dist/{codex-adapter-h9rj59tj.js → codex-adapter-wer4en6f.js} +6 -3
  41. package/dist/{codex-login-27ea9qfw.js → codex-login-4sywkz6v.js} +1 -1
  42. package/dist/{codex-session-runner-2ybavr0w.js → codex-session-runner-b199pwwr.js} +4 -3
  43. package/dist/{commands-075ak6vf.js → commands-ys948zs2.js} +2 -2
  44. package/dist/{db-60fj8j7t.js → db-sy3tqg9d.js} +4 -2
  45. package/dist/{handlers-96j9z4gk.js → handlers-h9vh0t22.js} +10 -10
  46. package/dist/{hook-f58wyvmy.js → hook-06rfe1bc.js} +3 -3
  47. package/dist/{http-naqhj1n0.js → http-fk80h22g.js} +275 -121
  48. package/dist/{index-f5e873a5.js → index-0krvvan6.js} +9 -10
  49. package/dist/{index-v3r40ak0.js → index-40wjvdfg.js} +12 -14
  50. package/dist/index-bb95344w.js +30 -0
  51. package/dist/{index-jscerv2x.js → index-pq2d08xe.js} +6 -6
  52. package/dist/{keepalive-8gbgeg21.js → keepalive-np0ham11.js} +4 -4
  53. package/dist/{lead-hj6stakm.js → lead-gf7sa5vn.js} +24 -24
  54. package/dist/{maintenance-1nvd0jva.js → maintenance-38n2z7p9.js} +4 -4
  55. package/dist/{onboard-8myqe0jh.js → onboard-63r24gwq.js} +2 -2
  56. package/dist/{opencode-adapter-p2w6efwc.js → opencode-adapter-5jxw9cv8.js} +2 -1
  57. package/dist/{otel-impl-tddx9x81.js → otel-impl-18fxmezz.js} +1 -1
  58. package/dist/{pi-mono-adapter-y037wnp4.js → pi-mono-adapter-5bbyymfw.js} +20 -8
  59. package/dist/{pricing-refresh-f6cgj5br.js → pricing-refresh-x7b6rjxy.js} +4 -4
  60. package/dist/{seed-pricing-3tqmbe0p.js → seed-pricing-8hdb1xyg.js} +3 -3
  61. package/dist/{setup-tq3ept9k.js → setup-prqde3h7.js} +2 -2
  62. package/dist/{worker-526psbtb.js → worker-34hev47c.js} +24 -24
  63. package/openapi.json +261 -7
  64. package/package.json +4 -2
  65. package/src/be/db.ts +109 -8
  66. package/src/be/migrations/103_schedule_target_type.sql +79 -0
  67. package/src/be/migrations/104_task_reasoning_effort.sql +1 -0
  68. package/src/commands/provider-credentials.ts +10 -1
  69. package/src/commands/runner.ts +57 -2
  70. package/src/heartbeat/heartbeat.ts +8 -1
  71. package/src/http/agents.ts +76 -16
  72. package/src/http/index.ts +2 -0
  73. package/src/http/oauth-locks.ts +90 -0
  74. package/src/http/schedules.ts +102 -61
  75. package/src/http/stats.ts +6 -0
  76. package/src/http/tasks.ts +3 -0
  77. package/src/providers/claude-adapter.ts +13 -0
  78. package/src/providers/codex-adapter.ts +75 -11
  79. package/src/providers/codex-oauth/auth-json-fs.ts +9 -1
  80. package/src/providers/codex-oauth/auth-json.ts +24 -2
  81. package/src/providers/codex-oauth/storage.ts +184 -23
  82. package/src/providers/modelsdev-reasoning.json +4034 -0
  83. package/src/providers/opencode-adapter.ts +38 -1
  84. package/src/providers/pi-mono-adapter.ts +21 -3
  85. package/src/providers/reasoning-effort.ts +299 -0
  86. package/src/providers/types.ts +18 -0
  87. package/src/scheduler/index.ts +8 -1
  88. package/src/scheduler/scheduler.test.ts +1 -0
  89. package/src/scheduler/scheduler.ts +144 -53
  90. package/src/tests/agents-harness-provider.test.ts +294 -0
  91. package/src/tests/agents-list-model-display.test.ts +7 -0
  92. package/src/tests/claude-adapter.test.ts +65 -1
  93. package/src/tests/codex-adapter-pool-auth-revalidate.test.ts +406 -0
  94. package/src/tests/codex-adapter.test.ts +40 -0
  95. package/src/tests/codex-oauth-refresh-lock.test.ts +321 -0
  96. package/src/tests/codex-oauth-storage.test.ts +20 -1
  97. package/src/tests/credential-status-routing.test.ts +57 -0
  98. package/src/tests/heartbeat.test.ts +17 -0
  99. package/src/tests/model-control.test.ts +136 -0
  100. package/src/tests/opencode-adapter.test.ts +55 -0
  101. package/src/tests/pi-mono-adapter.test.ts +68 -2
  102. package/src/tests/reasoning-effort.test.ts +203 -0
  103. package/src/tests/schedule-target-type.test.ts +472 -0
  104. package/src/tests/workflow-agent-task.test.ts +2 -0
  105. package/src/tools/schedules/create-schedule.ts +85 -4
  106. package/src/tools/schedules/update-schedule.ts +81 -2
  107. package/src/tools/send-task.ts +8 -0
  108. package/src/tools/task-action.ts +5 -0
  109. package/src/types.ts +40 -1
  110. package/src/workflows/executors/agent-task.ts +8 -1
  111. package/dist/cli-v9853xza.js +0 -1112
  112. package/dist/index-45bqm6xc.js +0 -21
package/README.md CHANGED
@@ -126,12 +126,12 @@ Check [our templates](https://templates.agent-swarm.dev) for a quick start.
126
126
  - **Hybrid memory recall + in-place edits** — memory retrieval can blend vector and full-text ranking, and agents can correct an existing memory without losing its ID or history. [Memory →](https://docs.agent-swarm.dev/docs/architecture/memory) · [MCP tools →](https://docs.agent-swarm.dev/docs/reference/mcp-tools#memory-tools)
127
127
  - **Multi-channel inputs** — Slack, GitHub, GitLab, email, WhatsApp, Linear, Jira, and the HTTP API all create tasks. [Integrations](#integrations)
128
128
  - **Workflow engine with Human-in-the-Loop** — DAG-based automation with approval gates, retries, and structured I/O. [Workflows →](https://docs.agent-swarm.dev/docs/concepts/workflows)
129
- - **Scheduled & recurring tasks** — cron-based automation for standing work. [Scheduling →](https://docs.agent-swarm.dev/docs/concepts/scheduling)
129
+ - **Scheduled & recurring tasks** — cron-based automation for standing work, with schedules that can target agent tasks, workflows, or catalog scripts. [Scheduling →](https://docs.agent-swarm.dev/docs/concepts/scheduling)
130
130
  - **Durable script workflows** — launch background script runs, inspect their journals, and track them from the dashboard when a one-shot `script-run` is too small. [Guide →](https://docs.agent-swarm.dev/docs/guides/script-workflow-runs)
131
131
  - **Scripts as external APIs** — expose a saved script as a public `POST /api/x/script/<id>` endpoint with optional bearer auth, typed input validation, and per-endpoint usage tracking. [Guide →](https://docs.agent-swarm.dev/docs/guides/scripts-external-apis)
132
132
  - **Typed script API connections** — lead-managed OpenAPI connections let scripts call approved external APIs through generated `ctx.api.*` clients while credential bindings keep raw secrets out of source and args. [Guide →](https://docs.agent-swarm.dev/docs/guides/scripts-credential-broker)
133
133
  - **E2B-backed eval harness** — run a scenario × harness-config matrix against real swarm stacks, capture transcripts/artifacts, and grade outcomes with deterministic checks plus LLM or agentic judges. [Guide →](https://docs.agent-swarm.dev/docs/guides/evals-harness)
134
- - **Harness & LLM agnostic** — run with Claude Code, Claude Bridge, OpenAI Codex, pi-mono (Anthropic, OpenRouter, or Amazon Bedrock), Devin, Claude Managed Agents, raw LLMs, or opencode. Tasks, schedules, and workflow agent-task nodes can use portable `modelTier` intent (`smol`, `regular`, `smart`, `ultra`) and resolve it per worker/provider at run time. [Harness config →](https://docs.agent-swarm.dev/docs/guides/harness-configuration) · [Add a new provider →](https://docs.agent-swarm.dev/docs/guides/harness-providers)
134
+ - **Harness & LLM agnostic** — run with Claude Code, Claude Bridge, OpenAI Codex, pi-mono (Anthropic, OpenRouter, or Amazon Bedrock), Devin, Claude Managed Agents, raw LLMs, or opencode. Tasks, schedules, and workflow agent-task nodes can use portable `modelTier` intent (`smol`, `regular`, `smart`, `ultra`), and operators can set per-agent reasoning effort (`off` → `xhigh`) without changing task payloads. [Harness config →](https://docs.agent-swarm.dev/docs/guides/harness-configuration) · [Add a new provider →](https://docs.agent-swarm.dev/docs/guides/harness-providers)
135
135
  - **OpenTelemetry traces plus OTLP cost/token metrics** — export API + worker traces and finalized session cost/token counters through the same OTLP pipeline for dashboarding in SigNoz, Datadog, Tempo, or another compatible backend. [Observability →](https://docs.agent-swarm.dev/docs/guides/observability-opentelemetry)
136
136
  - **Follow-up continuity across all harnesses** — child tasks inherit a bounded prior-task context preamble built from the task chain, so continuity survives restarts and works the same across every provider. [Task lifecycle →](https://docs.agent-swarm.dev/docs/concepts/task-lifecycle)
137
137
  - **Skills & MCP servers** — reusable procedural knowledge, bundled skill reference files, and per-agent MCP servers with scope cascade. [MCP tools →](https://docs.agent-swarm.dev/docs/reference/mcp-tools)
@@ -1,28 +1,28 @@
1
1
  import {
2
2
  resolveSlackUserId
3
- } from "./cli-p7hff99g.js";
4
- import"./cli-tfcrm7ds.js";
5
- import"./cli-pxddwmyc.js";
3
+ } from "./cli-f8cdgmdk.js";
4
+ import"./cli-5s8hgqmd.js";
5
+ import"./cli-9xjc8dt2.js";
6
6
  import {
7
7
  buildCancelledBlocks,
8
8
  getTaskLink
9
9
  } from "./cli-z92pkwzn.js";
10
- import"./cli-dh55d5fg.js";
11
10
  import {
12
11
  createTaskWithSiblingAwareness,
13
12
  slackContextKey
14
- } from "./cli-6hqvenfv.js";
13
+ } from "./cli-3jcx2wmm.js";
14
+ import"./cli-dh55d5fg.js";
15
15
  import {
16
16
  cancelTask,
17
17
  getAgentById,
18
18
  getLeadAgent,
19
19
  getTaskById,
20
20
  init_db
21
- } from "./cli-6xn2xv4r.js";
21
+ } from "./cli-wb4j4tfe.js";
22
22
  import"./cli-z2zcxes1.js";
23
23
  import"./cli-q21d49ac.js";
24
24
  import"./cli-anrj584m.js";
25
- import"./cli-39jaysbv.js";
25
+ import"./cli-ccre5q9r.js";
26
26
  import"./cli-3pp1362w.js";
27
27
  import"./cli-p9swy5t3.js";
28
28
 
@@ -3,16 +3,16 @@ import {
3
3
  initSlackApp,
4
4
  startSlackApp,
5
5
  stopSlackApp
6
- } from "./cli-rp5kaak8.js";
6
+ } from "./cli-61hj3yzp.js";
7
7
  import"./cli-fete3y1e.js";
8
8
  import"./cli-b0p7rfnd.js";
9
9
  import"./cli-z92pkwzn.js";
10
10
  import"./cli-dh55d5fg.js";
11
- import"./cli-6xn2xv4r.js";
11
+ import"./cli-wb4j4tfe.js";
12
12
  import"./cli-z2zcxes1.js";
13
13
  import"./cli-q21d49ac.js";
14
14
  import"./cli-anrj584m.js";
15
- import"./cli-39jaysbv.js";
15
+ import"./cli-ccre5q9r.js";
16
16
  import"./cli-3pp1362w.js";
17
17
  import"./cli-e15jhafb.js";
18
18
  import"./cli-p9swy5t3.js";
@@ -1,26 +1,26 @@
1
1
  import {
2
2
  bufferThreadMessage,
3
3
  wasEventSeen
4
- } from "./cli-xvs40j7w.js";
4
+ } from "./cli-heavyg0w.js";
5
5
  import {
6
6
  hasOtherUserMention
7
- } from "./cli-8fhhmzbh.js";
7
+ } from "./cli-n4qvvhy0.js";
8
8
  import {
9
9
  require_dist
10
- } from "./cli-rp5kaak8.js";
10
+ } from "./cli-61hj3yzp.js";
11
11
  import"./cli-fete3y1e.js";
12
12
  import"./cli-b0p7rfnd.js";
13
13
  import {
14
14
  resolveSlackUserId
15
- } from "./cli-p7hff99g.js";
16
- import"./cli-tfcrm7ds.js";
17
- import"./cli-pxddwmyc.js";
15
+ } from "./cli-f8cdgmdk.js";
16
+ import"./cli-5s8hgqmd.js";
17
+ import"./cli-9xjc8dt2.js";
18
18
  import"./cli-z92pkwzn.js";
19
- import"./cli-dh55d5fg.js";
20
19
  import {
21
20
  createTaskWithSiblingAwareness,
22
21
  slackContextKey
23
- } from "./cli-6hqvenfv.js";
22
+ } from "./cli-3jcx2wmm.js";
23
+ import"./cli-dh55d5fg.js";
24
24
  import {
25
25
  getAgentWorkingOnThread,
26
26
  getLeadAgent,
@@ -28,11 +28,11 @@ import {
28
28
  init_db,
29
29
  init_resolver,
30
30
  resolveTemplate
31
- } from "./cli-6xn2xv4r.js";
31
+ } from "./cli-wb4j4tfe.js";
32
32
  import"./cli-z2zcxes1.js";
33
33
  import"./cli-q21d49ac.js";
34
34
  import"./cli-anrj584m.js";
35
- import"./cli-39jaysbv.js";
35
+ import"./cli-ccre5q9r.js";
36
36
  import"./cli-3pp1362w.js";
37
37
  import"./cli-e15jhafb.js";
38
38
  import {
@@ -3,16 +3,16 @@ import {
3
3
  getEmbeddingProvider,
4
4
  getMemoryStore,
5
5
  init_constants
6
- } from "./cli-hmqkes02.js";
6
+ } from "./cli-rpjrpkzy.js";
7
7
  import"./cli-3j01d33e.js";
8
8
  import {
9
9
  getDb,
10
10
  init_db
11
- } from "./cli-6xn2xv4r.js";
11
+ } from "./cli-wb4j4tfe.js";
12
12
  import"./cli-z2zcxes1.js";
13
13
  import"./cli-q21d49ac.js";
14
14
  import"./cli-anrj584m.js";
15
- import"./cli-39jaysbv.js";
15
+ import"./cli-ccre5q9r.js";
16
16
  import"./cli-3pp1362w.js";
17
17
  import"./cli-p9swy5t3.js";
18
18
 
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  embedScript,
3
3
  embeddingProvider
4
- } from "./cli-4fwzc50f.js";
5
- import"./cli-hmqkes02.js";
4
+ } from "./cli-hn38x1bp.js";
5
+ import"./cli-rpjrpkzy.js";
6
6
  import"./cli-3j01d33e.js";
7
7
  import {
8
8
  getDb,
9
9
  init_db
10
- } from "./cli-6xn2xv4r.js";
10
+ } from "./cli-wb4j4tfe.js";
11
11
  import"./cli-z2zcxes1.js";
12
12
  import"./cli-q21d49ac.js";
13
13
  import"./cli-anrj584m.js";
14
- import"./cli-39jaysbv.js";
14
+ import"./cli-ccre5q9r.js";
15
15
  import"./cli-3pp1362w.js";
16
16
  import"./cli-p9swy5t3.js";
17
17
 
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  getDb,
3
3
  init_db
4
- } from "./cli-6xn2xv4r.js";
4
+ } from "./cli-wb4j4tfe.js";
5
5
  import"./cli-z2zcxes1.js";
6
6
  import"./cli-q21d49ac.js";
7
7
  import"./cli-anrj584m.js";
8
- import"./cli-39jaysbv.js";
8
+ import"./cli-ccre5q9r.js";
9
9
  import {
10
10
  init_secret_scrubber,
11
11
  scrubSecrets
@@ -12,11 +12,12 @@ import {
12
12
  resolveClaudeBinary,
13
13
  resolveClaudeBinaryArgv,
14
14
  resolveClaudeBridgeEnabled
15
- } from "./cli-dqhz8451.js";
15
+ } from "./cli-4r9m8f3t.js";
16
16
  import"./cli-psrqtw2m.js";
17
17
  import"./cli-tng3131n.js";
18
18
  import"./cli-zm7njwzd.js";
19
19
  import"./cli-tghre7g6.js";
20
+ import"./cli-tkmm5nf9.js";
20
21
  import"./cli-z2zcxes1.js";
21
22
  import"./cli-3pp1362w.js";
22
23
  import"./cli-7zd05xb4.js";
@@ -1,4 +1,4 @@
1
- import"./cli-4wmnp8q3.js";
1
+ import"./cli-amncg1dq.js";
2
2
  import {
3
3
  Anthropic,
4
4
  BadRequestError,
@@ -4,12 +4,13 @@ import {
4
4
  getNextResumeGeneration,
5
5
  getResumeGeneration,
6
6
  repointTrackerSyncBySwarmId
7
- } from "./cli-f7ypwjgh.js";
7
+ } from "./cli-4rx7v585.js";
8
8
  import {
9
9
  getExecutorRegistry,
10
10
  recoverIncompleteRuns
11
- } from "./cli-n38fcvhe.js";
11
+ } from "./cli-kgr1cazt.js";
12
12
  import {
13
+ MAX_EMPTY_POLLS,
13
14
  assignUnassignedTaskPending,
14
15
  backfillSupersedeTaskResumeTaskId,
15
16
  cleanupStaleSessions,
@@ -43,7 +44,7 @@ import {
43
44
  resolveTemplate,
44
45
  supersedeTask,
45
46
  updateAgentStatus
46
- } from "./cli-6xn2xv4r.js";
47
+ } from "./cli-wb4j4tfe.js";
47
48
 
48
49
  // src/heartbeat/heartbeat.ts
49
50
  init_db();
@@ -457,7 +458,7 @@ function checkWorkerHealth(findings) {
457
458
  }
458
459
  function autoAssignPoolTasks(findings) {
459
460
  getDb().transaction(() => {
460
- const idleWorkers = getIdleWorkersWithCapacity();
461
+ const idleWorkers = getIdleWorkersWithCapacity().filter((w) => (w.emptyPollCount ?? 0) < MAX_EMPTY_POLLS);
461
462
  if (idleWorkers.length === 0)
462
463
  return;
463
464
  const poolTasks = getUnassignedPoolTasks(MAX_AUTO_ASSIGN_PER_SWEEP);
@@ -3,7 +3,7 @@ import {
3
3
  getAgentById,
4
4
  getInProgressTasksByContextKey,
5
5
  init_db
6
- } from "./cli-6xn2xv4r.js";
6
+ } from "./cli-wb4j4tfe.js";
7
7
 
8
8
  // src/tasks/context-key.ts
9
9
  var SEPARATOR = ":";
@@ -17,6 +17,9 @@ import {
17
17
  computeContextUsedUnified,
18
18
  getContextWindowSize
19
19
  } from "./cli-tghre7g6.js";
20
+ import {
21
+ applyReasoningEffort
22
+ } from "./cli-tkmm5nf9.js";
20
23
  import {
21
24
  init_credentials,
22
25
  validateClaudeCredentials
@@ -253,6 +256,7 @@ class ClaudeSession {
253
256
  taskFilePid;
254
257
  contextWindowSize;
255
258
  systemPromptFile;
259
+ appliedReasoningEffort;
256
260
  constructor(config, model, taskFilePath, taskFilePid, sessionMcpConfig = null, claudeBinaryArgv = ["claude"], systemPromptFile = null, harnessVariant, harnessVariantMeta) {
257
261
  this.config = config;
258
262
  this.model = model;
@@ -268,6 +272,9 @@ class ClaudeSession {
268
272
  const sourceEnv = config.env || process.env;
269
273
  const otelEnv = buildClaudeCodeOtelEnv(sourceEnv);
270
274
  const runtimeEnv = buildClaudeCodeRuntimeEnv(sourceEnv);
275
+ const reasoningApplication = applyReasoningEffort("claude", model, config.reasoningEffort);
276
+ const reasoningEnv = reasoningApplication.kind === "claude-env" ? reasoningApplication.env : {};
277
+ this.appliedReasoningEffort = reasoningApplication.kind === "claude-env" ? config.reasoningEffort ?? null : null;
271
278
  this.proc = Bun.spawn(cmd, {
272
279
  cwd: this.config.cwd,
273
280
  env: {
@@ -275,6 +282,7 @@ class ClaudeSession {
275
282
  ...sourceEnv,
276
283
  ...runtimeEnv,
277
284
  ...otelEnv,
285
+ ...reasoningEnv,
278
286
  TASK_FILE: taskFilePath,
279
287
  AGENT_SWARM_TASK_ID: config.taskId,
280
288
  AGENT_SWARM_AGENT_ID: config.agentId,
@@ -407,7 +415,8 @@ ${scrubSecrets(stderrOutput)}`);
407
415
  isError: (exitCode ?? 1) !== 0,
408
416
  failureReason,
409
417
  rateLimitResetAt: this.errorTracker.getRateLimitResetAt(),
410
- rateLimitWindows: this.errorTracker.getRateLimitWindows()
418
+ rateLimitWindows: this.errorTracker.getRateLimitWindows(),
419
+ appliedReasoningEffort: this.appliedReasoningEffort
411
420
  };
412
421
  }
413
422
  processJsonLine(trimmed, setCost) {
@@ -14,7 +14,7 @@ import {
14
14
  init_templates1 as init_templates,
15
15
  normalizeDateRequired,
16
16
  resolveTemplate
17
- } from "./cli-6xn2xv4r.js";
17
+ } from "./cli-wb4j4tfe.js";
18
18
 
19
19
  // src/be/db-queries/tracker.ts
20
20
  init_date_utils();
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  init_package,
3
3
  package_default
4
- } from "./cli-39jaysbv.js";
4
+ } from "./cli-ccre5q9r.js";
5
5
 
6
6
  // src/commands/shared/client-config.ts
7
7
  init_package();
@@ -3,7 +3,7 @@ import {
3
3
  incrKv,
4
4
  init_db,
5
5
  upsertKv
6
- } from "./cli-6xn2xv4r.js";
6
+ } from "./cli-wb4j4tfe.js";
7
7
 
8
8
  // src/be/unmapped-identities.ts
9
9
  init_db();
@@ -25,7 +25,7 @@ import {
25
25
  getTaskById,
26
26
  init_db,
27
27
  setSlackMessageTracking
28
- } from "./cli-6xn2xv4r.js";
28
+ } from "./cli-wb4j4tfe.js";
29
29
  import {
30
30
  require_receiver,
31
31
  require_sender,
@@ -54980,13 +54980,13 @@ async function initSlackApp() {
54980
54980
  socketMode: true,
54981
54981
  logLevel: import_bolt.LogLevel.DEBUG
54982
54982
  });
54983
- const { registerMessageHandler } = await import("./handlers-96j9z4gk.js");
54984
- const { registerCommandHandler } = await import("./commands-075ak6vf.js");
54985
- const { registerActionHandlers } = await import("./actions-pk6xqa2y.js");
54983
+ const { registerMessageHandler } = await import("./handlers-h9vh0t22.js");
54984
+ const { registerCommandHandler } = await import("./commands-ys948zs2.js");
54985
+ const { registerActionHandlers } = await import("./actions-q3hcb6ea.js");
54986
54986
  registerMessageHandler(app);
54987
54987
  registerCommandHandler(app);
54988
54988
  registerActionHandlers(app);
54989
- const { createAssistant } = await import("./assistant-wcjpqxk6.js");
54989
+ const { createAssistant } = await import("./assistant-a6vp3nv8.js");
54990
54990
  app.assistant(createAssistant());
54991
54991
  return app;
54992
54992
  }