@desplega.ai/agent-swarm 1.135.2 → 1.136.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 (97) hide show
  1. package/dist/{actions-3az2vwwn.js → actions-agcbc8nd.js} +6 -6
  2. package/dist/{app-vygnfvrh.js → app-g2s78xya.js} +3 -3
  3. package/dist/{assistant-2jr2frrm.js → assistant-yd3jkb9d.js} +8 -8
  4. package/dist/{boot-reembed-y7r9cxt0.js → boot-reembed-6spqw4q0.js} +3 -3
  5. package/dist/{boot-reembed-ncbg16rb.js → boot-reembed-b22s9w5x.js} +4 -4
  6. package/dist/{boot-scrub-logs-t82rwa0y.js → boot-scrub-logs-6h3cqkc0.js} +2 -2
  7. package/dist/{claude-adapter-vvx2aw3v.js → claude-adapter-ng5y8zd7.js} +4 -4
  8. package/dist/{cli-mfa2eaef.js → cli-35jknh9e.js} +5 -5
  9. package/dist/{cli-cv2vjg2y.js → cli-3y553gws.js} +1 -1
  10. package/dist/{cli-nhvym0d2.js → cli-4gzv54ss.js} +15 -6
  11. package/dist/{cli-4dakdn30.js → cli-4r4jkqep.js} +6 -6
  12. package/dist/{cli-83razmqg.js → cli-54ht104h.js} +3 -3
  13. package/dist/{cli-6290n4yz.js → cli-5bnz1t86.js} +1 -1
  14. package/dist/{cli-6bz2hzvw.js → cli-68vayryq.js} +2 -2
  15. package/dist/{cli-1z01xdqh.js → cli-6gwgzdgw.js} +2 -2
  16. package/dist/{cli-1dfatkzm.js → cli-84vrhesc.js} +1 -1
  17. package/dist/{cli-jfrh963q.js → cli-8v57p983.js} +10 -10
  18. package/dist/{cli-3f0tnh34.js → cli-ads0hfw2.js} +81 -23
  19. package/dist/{cli-fmha74ga.js → cli-bnq8h7ea.js} +3 -3
  20. package/dist/{cli-j3xnd5b4.js → cli-d5ygfv18.js} +7 -6
  21. package/dist/{cli-8f4h27gm.js → cli-edwrx42s.js} +1 -1
  22. package/dist/{cli-r5vwg1ma.js → cli-fpjmcbhz.js} +4 -4
  23. package/dist/{cli-w0ygcv43.js → cli-gpdtxzar.js} +6 -4
  24. package/dist/{cli-4rdjdddh.js → cli-hz5hp6wn.js} +1 -1
  25. package/dist/{cli-6mmwmy45.js → cli-j7qp8gtf.js} +1 -1
  26. package/dist/{cli-5a5nrq3g.js → cli-jjhnma34.js} +5 -5
  27. package/dist/{cli-ey09krp2.js → cli-m3z53bed.js} +1 -1
  28. package/dist/{cli-cf6vq6qa.js → cli-mgef08pc.js} +1 -1
  29. package/dist/{cli-0jhyxtdj.js → cli-qckgdqmr.js} +2 -2
  30. package/dist/{cli-a1zrc2g6.js → cli-qhfkxrpg.js} +108 -33
  31. package/dist/{cli-yw2z5kj9.js → cli-spf767vc.js} +1 -1
  32. package/dist/{cli-1857msnd.js → cli-tee8w7tq.js} +1 -1
  33. package/dist/{cli-qxn3g3yx.js → cli-tmn19cdz.js} +61 -6
  34. package/dist/{cli-7ccy0h4r.js → cli-y16cesaq.js} +2 -2
  35. package/dist/{cli-cm4z7w7w.js → cli-z6e8eqrm.js} +2 -2
  36. package/dist/cli.js +16 -16
  37. package/dist/{codex-adapter-6p290yq3.js → codex-adapter-kw11ps3j.js} +2 -2
  38. package/dist/{codex-session-runner-7b3dhpmx.js → codex-session-runner-sffb69v7.js} +2 -2
  39. package/dist/{commands-wxg1g4nq.js → commands-0xxp4tz8.js} +2 -2
  40. package/dist/{db-8fqeheve.js → db-0npp39zd.js} +6 -2
  41. package/dist/{handlers-gwtqp17c.js → handlers-5p7a1jx6.js} +15 -9
  42. package/dist/{hook-gd9fwfp0.js → hook-hpefr0a8.js} +2 -2
  43. package/dist/{hook-mrqygs7p.js → hook-jjpxn4se.js} +3 -3
  44. package/dist/{http-x4mc1mqg.js → http-wfp33653.js} +322 -61
  45. package/dist/{index-yd654kac.js → index-17h657rg.js} +12 -8
  46. package/dist/{index-pzgasj16.js → index-m2p7ctyh.js} +10 -10
  47. package/dist/{index-2mdqrd0n.js → index-racb4wfq.js} +9 -9
  48. package/dist/{index-4djjkp9z.js → index-zh66wm65.js} +8 -8
  49. package/dist/{keepalive-3tycspcy.js → keepalive-wxjd633a.js} +4 -4
  50. package/dist/{lead-js1h3z7d.js → lead-359ec2z0.js} +23 -23
  51. package/dist/{maintenance-y91ry8q4.js → maintenance-rr03qjtb.js} +4 -4
  52. package/dist/{mistral-conversations-hdmnkf6h.js → mistral-conversations-qdrnmrb8.js} +1 -1
  53. package/dist/{oauth-refresh-sweep-s33gtxrw.js → oauth-refresh-sweep-jwj22yb8.js} +3 -3
  54. package/dist/{onboard-vndj64mb.js → onboard-asnhchcv.js} +2 -2
  55. package/dist/{openai-completions-cwy2kkzg.js → openai-completions-yzftqrft.js} +33 -4
  56. package/dist/{otel-impl-d2p84k6e.js → otel-impl-54cra6mw.js} +18 -4
  57. package/dist/{pi-mono-adapter-1phspz2y.js → pi-mono-adapter-29g7axgj.js} +669 -335
  58. package/dist/{pricing-refresh-c2bwsyk5.js → pricing-refresh-mkyy7c2y.js} +4 -4
  59. package/dist/{rbac-roles-2pedz5e9.js → rbac-roles-ak56tr75.js} +2 -2
  60. package/dist/{rbac-roles-reef5y2d.js → rbac-roles-kb3afm95.js} +3 -3
  61. package/dist/{render-v2-zd5r5wgf.js → render-v2-434asg49.js} +3 -3
  62. package/dist/{seed-pricing-2kyk1vhg.js → seed-pricing-nbmd7ah8.js} +3 -3
  63. package/dist/{setup-5ys9pwyr.js → setup-wh4qmjs4.js} +2 -2
  64. package/dist/{worker-nb1f7k04.js → worker-j1d27tjv.js} +23 -23
  65. package/openapi.json +167 -2
  66. package/package.json +6 -6
  67. package/src/be/db-retention.ts +275 -0
  68. package/src/be/db.ts +82 -7
  69. package/src/be/swarm-config-guard.ts +30 -0
  70. package/src/heartbeat/heartbeat.ts +21 -0
  71. package/src/http/index.ts +33 -33
  72. package/src/http/route-def.ts +93 -4
  73. package/src/http/stats.ts +37 -1
  74. package/src/http/tasks.ts +93 -0
  75. package/src/http/utils.ts +94 -0
  76. package/src/otel-impl.ts +21 -3
  77. package/src/otel.ts +15 -4
  78. package/src/slack/blocks.ts +1 -0
  79. package/src/slack/handlers.ts +7 -0
  80. package/src/tasks/sibling-awareness.ts +1 -0
  81. package/src/tasks/sibling-block.ts +17 -4
  82. package/src/tests/artifact-sdk.test.ts +20 -15
  83. package/src/tests/db-retention.test.ts +344 -0
  84. package/src/tests/docs-index-footprint.test.js +4 -5
  85. package/src/tests/draft-task-dispatch-race.test.ts +189 -0
  86. package/src/tests/events-http.test.ts +70 -27
  87. package/src/tests/otel-abort-span.test.ts +156 -0
  88. package/src/tests/otel-span-kind.test.ts +59 -0
  89. package/src/tests/promote-draft-task-route.test.ts +175 -0
  90. package/src/tests/route-def-find-route.test.ts +90 -4
  91. package/src/tests/sibling-block.test.ts +29 -1
  92. package/src/tests/slack-assistant-comention-production.test.ts +7 -1
  93. package/src/tests/steering-enabled.test.ts +6 -0
  94. package/src/tests/swarm-config-reserved-keys.test.ts +27 -0
  95. package/src/types.ts +2 -1
  96. package/templates/skills/swarm-scripts/SKILL.md +4 -0
  97. package/templates/skills/swarm-scripts/content.md +4 -0
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  resolveSlackUserId
3
- } from "./cli-7ccy0h4r.js";
4
- import"./cli-yw2z5kj9.js";
3
+ } from "./cli-y16cesaq.js";
4
+ import"./cli-spf767vc.js";
5
5
  import {
6
6
  createTaskWithSiblingAwareness
7
- } from "./cli-w0ygcv43.js";
7
+ } from "./cli-gpdtxzar.js";
8
8
  import {
9
9
  buildCancelledBlocks,
10
10
  ensureSlackThreadTree,
@@ -12,7 +12,7 @@ import {
12
12
  getAgentEmoji,
13
13
  getTaskLink,
14
14
  isSlackRenderV2Enabled
15
- } from "./cli-j3xnd5b4.js";
15
+ } from "./cli-d5ygfv18.js";
16
16
  import"./cli-qf9kpsve.js";
17
17
  import"./cli-g2p9bd1z.js";
18
18
  import"./cli-5tnr64pm.js";
@@ -24,7 +24,7 @@ import {
24
24
  init_context_key,
25
25
  init_db,
26
26
  slackContextKey
27
- } from "./cli-qxn3g3yx.js";
27
+ } from "./cli-tmn19cdz.js";
28
28
  import"./cli-d2epf5ae.js";
29
29
  import"./cli-87zrjxdb.js";
30
30
  import"./cli-a1rrkrb4.js";
@@ -32,7 +32,7 @@ import"./cli-qt5bt3vk.js";
32
32
  import"./cli-nanaxrz6.js";
33
33
  import"./cli-s35981d0.js";
34
34
  import"./cli-mkq1rk7b.js";
35
- import"./cli-4dakdn30.js";
35
+ import"./cli-4r4jkqep.js";
36
36
  import"./cli-pqv5gvyf.js";
37
37
  import"./cli-qntkxysp.js";
38
38
  import"./cli-497b685t.js";
@@ -3,11 +3,11 @@ import {
3
3
  initSlackApp,
4
4
  startSlackApp,
5
5
  stopSlackApp
6
- } from "./cli-j3xnd5b4.js";
6
+ } from "./cli-d5ygfv18.js";
7
7
  import"./cli-qf9kpsve.js";
8
8
  import"./cli-g2p9bd1z.js";
9
9
  import"./cli-5tnr64pm.js";
10
- import"./cli-qxn3g3yx.js";
10
+ import"./cli-tmn19cdz.js";
11
11
  import"./cli-d2epf5ae.js";
12
12
  import"./cli-87zrjxdb.js";
13
13
  import"./cli-a1rrkrb4.js";
@@ -15,7 +15,7 @@ import"./cli-qt5bt3vk.js";
15
15
  import"./cli-nanaxrz6.js";
16
16
  import"./cli-s35981d0.js";
17
17
  import"./cli-mkq1rk7b.js";
18
- import"./cli-4dakdn30.js";
18
+ import"./cli-4r4jkqep.js";
19
19
  import"./cli-pqv5gvyf.js";
20
20
  import"./cli-qntkxysp.js";
21
21
  import"./cli-497b685t.js";
@@ -2,24 +2,24 @@ import {
2
2
  bufferThreadMessage,
3
3
  getBufferMessageCount,
4
4
  wasEventSeen
5
- } from "./cli-mfa2eaef.js";
5
+ } from "./cli-35jknh9e.js";
6
6
  import {
7
7
  hasOtherUserMention
8
- } from "./cli-1dfatkzm.js";
8
+ } from "./cli-84vrhesc.js";
9
9
  import {
10
10
  resolveSlackUserId,
11
11
  rewriteSlackMentions
12
- } from "./cli-7ccy0h4r.js";
13
- import"./cli-yw2z5kj9.js";
12
+ } from "./cli-y16cesaq.js";
13
+ import"./cli-spf767vc.js";
14
14
  import {
15
15
  createTaskWithSiblingAwareness
16
- } from "./cli-w0ygcv43.js";
16
+ } from "./cli-gpdtxzar.js";
17
17
  import {
18
18
  ackSlackMessage,
19
19
  ensureSlackThreadTree,
20
20
  isSlackRenderV2Enabled,
21
21
  require_dist
22
- } from "./cli-j3xnd5b4.js";
22
+ } from "./cli-d5ygfv18.js";
23
23
  import"./cli-qf9kpsve.js";
24
24
  import"./cli-g2p9bd1z.js";
25
25
  import"./cli-5tnr64pm.js";
@@ -30,7 +30,7 @@ import {
30
30
  init_context_key,
31
31
  init_db,
32
32
  slackContextKey
33
- } from "./cli-qxn3g3yx.js";
33
+ } from "./cli-tmn19cdz.js";
34
34
  import"./cli-d2epf5ae.js";
35
35
  import {
36
36
  init_resolver,
@@ -44,7 +44,7 @@ import {
44
44
  } from "./cli-nanaxrz6.js";
45
45
  import"./cli-s35981d0.js";
46
46
  import"./cli-mkq1rk7b.js";
47
- import"./cli-4dakdn30.js";
47
+ import"./cli-4r4jkqep.js";
48
48
  import"./cli-pqv5gvyf.js";
49
49
  import"./cli-qntkxysp.js";
50
50
  import"./cli-497b685t.js";
@@ -3,13 +3,13 @@ import {
3
3
  getEmbeddingProvider,
4
4
  getMemoryStore,
5
5
  init_constants
6
- } from "./cli-4rdjdddh.js";
6
+ } from "./cli-hz5hp6wn.js";
7
7
  import"./cli-dr5tcz68.js";
8
8
  import"./cli-vsap7a8d.js";
9
9
  import {
10
10
  getDbClient,
11
11
  init_db
12
- } from "./cli-qxn3g3yx.js";
12
+ } from "./cli-tmn19cdz.js";
13
13
  import"./cli-d2epf5ae.js";
14
14
  import"./cli-87zrjxdb.js";
15
15
  import"./cli-a1rrkrb4.js";
@@ -17,7 +17,7 @@ import"./cli-qt5bt3vk.js";
17
17
  import"./cli-nanaxrz6.js";
18
18
  import"./cli-s35981d0.js";
19
19
  import"./cli-mkq1rk7b.js";
20
- import"./cli-4dakdn30.js";
20
+ import"./cli-4r4jkqep.js";
21
21
  import"./cli-pqv5gvyf.js";
22
22
  import"./cli-pq2ee5ja.js";
23
23
 
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  embedScript,
3
3
  embeddingProvider
4
- } from "./cli-0jhyxtdj.js";
5
- import"./cli-4rdjdddh.js";
4
+ } from "./cli-qckgdqmr.js";
5
+ import"./cli-hz5hp6wn.js";
6
6
  import"./cli-dr5tcz68.js";
7
7
  import"./cli-vsap7a8d.js";
8
8
  import {
9
9
  getDbClient,
10
10
  init_db
11
- } from "./cli-qxn3g3yx.js";
11
+ } from "./cli-tmn19cdz.js";
12
12
  import"./cli-d2epf5ae.js";
13
13
  import"./cli-87zrjxdb.js";
14
14
  import"./cli-a1rrkrb4.js";
@@ -16,7 +16,7 @@ import"./cli-qt5bt3vk.js";
16
16
  import"./cli-nanaxrz6.js";
17
17
  import"./cli-s35981d0.js";
18
18
  import"./cli-mkq1rk7b.js";
19
- import"./cli-4dakdn30.js";
19
+ import"./cli-4r4jkqep.js";
20
20
  import"./cli-pqv5gvyf.js";
21
21
  import"./cli-pq2ee5ja.js";
22
22
 
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getDbClient,
3
3
  init_db
4
- } from "./cli-qxn3g3yx.js";
4
+ } from "./cli-tmn19cdz.js";
5
5
  import"./cli-d2epf5ae.js";
6
6
  import"./cli-87zrjxdb.js";
7
7
  import"./cli-a1rrkrb4.js";
@@ -12,7 +12,7 @@ import {
12
12
  init_secret_scrubber,
13
13
  scrubSecrets
14
14
  } from "./cli-mkq1rk7b.js";
15
- import"./cli-4dakdn30.js";
15
+ import"./cli-4r4jkqep.js";
16
16
  import"./cli-pqv5gvyf.js";
17
17
  import"./cli-pq2ee5ja.js";
18
18
 
@@ -12,10 +12,10 @@ import {
12
12
  resolveClaudeBinary,
13
13
  resolveClaudeBinaryArgv,
14
14
  resolveClaudeBridgeEnabled
15
- } from "./cli-8f4h27gm.js";
16
- import"./cli-1z01xdqh.js";
15
+ } from "./cli-edwrx42s.js";
16
+ import"./cli-6gwgzdgw.js";
17
17
  import"./cli-a3pkfpqs.js";
18
- import"./cli-a1zrc2g6.js";
18
+ import"./cli-qhfkxrpg.js";
19
19
  import"./cli-hp1n6zq3.js";
20
20
  import"./cli-tng3131n.js";
21
21
  import"./cli-zm7njwzd.js";
@@ -36,7 +36,7 @@ import"./cli-qt5bt3vk.js";
36
36
  import"./cli-nanaxrz6.js";
37
37
  import"./cli-s35981d0.js";
38
38
  import"./cli-mkq1rk7b.js";
39
- import"./cli-4dakdn30.js";
39
+ import"./cli-4r4jkqep.js";
40
40
  import"./cli-pqv5gvyf.js";
41
41
  import"./cli-darcwax3.js";
42
42
  import"./cli-00w4hbam.js";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  createAdditiveBuffer,
3
3
  extractSlackMessageText
4
- } from "./cli-1dfatkzm.js";
4
+ } from "./cli-84vrhesc.js";
5
5
  import {
6
6
  rewriteSlackMentions
7
- } from "./cli-7ccy0h4r.js";
7
+ } from "./cli-y16cesaq.js";
8
8
  import {
9
9
  createTaskWithSiblingAwareness
10
- } from "./cli-w0ygcv43.js";
10
+ } from "./cli-gpdtxzar.js";
11
11
  import {
12
12
  buildBufferFlushBlocks,
13
13
  ensureSlackThreadTree,
@@ -16,7 +16,7 @@ import {
16
16
  getSlackApp,
17
17
  isSlackRenderV2Enabled,
18
18
  registerTreeMessage
19
- } from "./cli-j3xnd5b4.js";
19
+ } from "./cli-d5ygfv18.js";
20
20
  import {
21
21
  createLogEntry,
22
22
  getAgentById,
@@ -29,7 +29,7 @@ import {
29
29
  init_steering,
30
30
  requestSteering,
31
31
  slackContextKey
32
- } from "./cli-qxn3g3yx.js";
32
+ } from "./cli-tmn19cdz.js";
33
33
  import {
34
34
  init_registry,
35
35
  init_steering_enabled,
@@ -5,7 +5,7 @@ import {
5
5
  getDb,
6
6
  getDbClient,
7
7
  init_db
8
- } from "./cli-qxn3g3yx.js";
8
+ } from "./cli-tmn19cdz.js";
9
9
 
10
10
  // src/be/rbac-roles.ts
11
11
  init_db();
@@ -10,14 +10,14 @@ import {
10
10
  getPinCandidateAgent,
11
11
  getResumeGeneration,
12
12
  repointTrackerSyncBySwarmId
13
- } from "./cli-6290n4yz.js";
13
+ } from "./cli-5bnz1t86.js";
14
14
  import {
15
15
  isMultiRuntimeEnabled
16
16
  } from "./cli-qh4sqfws.js";
17
17
  import {
18
18
  getExecutorRegistry,
19
19
  recoverIncompleteRuns
20
- } from "./cli-5a5nrq3g.js";
20
+ } from "./cli-jjhnma34.js";
21
21
  import {
22
22
  MAX_EMPTY_POLLS,
23
23
  assignUnassignedTaskPending,
@@ -51,6 +51,7 @@ import {
51
51
  init_steering,
52
52
  isAgentEligibleForTask,
53
53
  isPoolAffinityEnforcementEnabled,
54
+ promoteAbandonedDraftTasks,
54
55
  promotePendingSteeringForTask,
55
56
  releaseStaleMentionProcessing,
56
57
  releaseStaleOfferedTasksForOfflineAgents,
@@ -58,7 +59,7 @@ import {
58
59
  releaseStaleReviewingTasks,
59
60
  supersedeTask,
60
61
  updateAgentStatus
61
- } from "./cli-qxn3g3yx.js";
62
+ } from "./cli-tmn19cdz.js";
62
63
  import {
63
64
  init_registry,
64
65
  init_resolver,
@@ -189,6 +190,7 @@ function stallThresholdStaleHeartbeatMin() {
189
190
  }
190
191
  var STEERING_STALL_GRACE_MIN = Number(process.env.HEARTBEAT_STEERING_GRACE_MIN) || 5;
191
192
  var STALE_CLEANUP_THRESHOLD_MINUTES = Number(process.env.HEARTBEAT_STALE_CLEANUP_MIN) || 30;
193
+ var DRAFT_TASK_TIMEOUT_MINUTES = Number(process.env.HEARTBEAT_DRAFT_TASK_TIMEOUT_MIN) || 5;
192
194
  function maxAutoAssignPerSweep() {
193
195
  const raw = process.env.HEARTBEAT_MAX_AUTO_ASSIGN?.trim();
194
196
  if (!raw)
@@ -253,7 +255,8 @@ async function codeLevelTriage() {
253
255
  inboxProcessing: 0,
254
256
  workflowRuns: 0,
255
257
  staleRuntimes: 0,
256
- staleOfferedTasks: 0
258
+ staleOfferedTasks: 0,
259
+ abandonedDraftTasks: 0
257
260
  }
258
261
  };
259
262
  findings.staleCleanup.staleRuntimes = (await expireStaleRuntimeInstances()).expired;
@@ -667,6 +670,7 @@ async function cleanupStaleResources(findings) {
667
670
  findings.staleCleanup.reviewingTasks = await releaseStaleReviewingTasks(STALE_CLEANUP_THRESHOLD_MINUTES);
668
671
  findings.staleCleanup.mentionProcessing = await releaseStaleMentionProcessing(STALE_CLEANUP_THRESHOLD_MINUTES);
669
672
  findings.staleCleanup.inboxProcessing = await releaseStaleProcessingInbox(STALE_CLEANUP_THRESHOLD_MINUTES);
673
+ findings.staleCleanup.abandonedDraftTasks = await promoteAbandonedDraftTasks(DRAFT_TASK_TIMEOUT_MINUTES);
670
674
  await escalateUnreclaimedResumes(findings);
671
675
  await escalateStarvedPoolTasks(findings);
672
676
  try {
@@ -876,7 +880,8 @@ async function runHeartbeatSweep() {
876
880
  inboxProcessing: 0,
877
881
  workflowRuns: 0,
878
882
  staleRuntimes: 0,
879
- staleOfferedTasks: 0
883
+ staleOfferedTasks: 0,
884
+ abandonedDraftTasks: 0
880
885
  }
881
886
  };
882
887
  cleanupOnlyFindings.staleCleanup.staleRuntimes = (await expireStaleRuntimeInstances()).expired;
@@ -920,7 +925,8 @@ function logFindings(findings) {
920
925
  mentionProcessing,
921
926
  inboxProcessing,
922
927
  workflowRuns,
923
- staleOfferedTasks
928
+ staleOfferedTasks,
929
+ abandonedDraftTasks
924
930
  } = findings.staleCleanup;
925
931
  const totalCleanup = sessions + reviewingTasks + mentionProcessing + inboxProcessing + workflowRuns;
926
932
  if (totalCleanup > 0) {
@@ -929,6 +935,9 @@ function logFindings(findings) {
929
935
  if (staleOfferedTasks > 0) {
930
936
  parts.push(`stale_offers_released=${staleOfferedTasks}`);
931
937
  }
938
+ if (abandonedDraftTasks > 0) {
939
+ parts.push(`abandoned_drafts_promoted=${abandonedDraftTasks}`);
940
+ }
932
941
  if (parts.length > 0) {
933
942
  console.log(`[Heartbeat] Sweep complete: ${parts.join(", ")}`);
934
943
  }
@@ -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: "1.135.2",
10
+ version: "1.136.0",
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",
@@ -178,14 +178,14 @@ var init_package = __esm(() => {
178
178
  "@aws-sdk/client-bedrock": "3.1048.0",
179
179
  "@desplega.ai/business-use": "^0.4.2",
180
180
  "@desplega.ai/localtunnel": "^2.2.0",
181
- "@earendil-works/pi-agent-core": "^0.84.3",
182
- "@earendil-works/pi-ai": "^0.84.3",
183
- "@earendil-works/pi-coding-agent": "^0.84.3",
181
+ "@earendil-works/pi-agent-core": "^0.84.4",
182
+ "@earendil-works/pi-ai": "^0.84.4",
183
+ "@earendil-works/pi-coding-agent": "^0.84.4",
184
184
  "@inkjs/ui": "^2.0.0",
185
185
  "@linear/sdk": "^77.0.0",
186
186
  "@modelcontextprotocol/sdk": "^1.25.1",
187
- "@openai/codex-sdk": "^0.149.1",
188
- "@opencode-ai/sdk": "^1.18.23",
187
+ "@openai/codex-sdk": "^0.151.0",
188
+ "@opencode-ai/sdk": "^1.18.25",
189
189
  "@openfort/openfort-node": "^0.9.1",
190
190
  "@opentelemetry/api": "^1.9.1",
191
191
  "@opentelemetry/exporter-metrics-otlp-http": "^0.218.0",
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  SYSTEM_COLUMN_KINDS,
3
3
  listAppRecords
4
- } from "./cli-6bz2hzvw.js";
4
+ } from "./cli-68vayryq.js";
5
5
  import {
6
6
  getScriptApiTypes,
7
7
  getScriptMcpTypes,
8
8
  require_typescript
9
- } from "./cli-fmha74ga.js";
9
+ } from "./cli-bnq8h7ea.js";
10
10
  import {
11
11
  deleteSwarmConfigByKey,
12
12
  getAgentById,
@@ -15,7 +15,7 @@ import {
15
15
  getSwarmConfigs,
16
16
  init_db,
17
17
  upsertSwarmConfig
18
- } from "./cli-qxn3g3yx.js";
18
+ } from "./cli-tmn19cdz.js";
19
19
  import {
20
20
  init_secret_scrubber,
21
21
  scrubSecrets
@@ -23,7 +23,7 @@ import {
23
23
  updateAgentMaxTasks,
24
24
  updateAgentStatus,
25
25
  upsertSwarmConfig
26
- } from "./cli-qxn3g3yx.js";
26
+ } from "./cli-tmn19cdz.js";
27
27
  import {
28
28
  init_resolver,
29
29
  resolveTemplate
@@ -7,14 +7,14 @@ import {
7
7
  restoreScratchScriptLastUsedIfUnchanged,
8
8
  runScript,
9
9
  touchScratchScriptLastUsed
10
- } from "./cli-fmha74ga.js";
10
+ } from "./cli-bnq8h7ea.js";
11
11
  import {
12
12
  defaultAssetKey,
13
13
  getDbClient,
14
14
  getLeadAgent,
15
15
  init_db,
16
16
  init_key
17
- } from "./cli-qxn3g3yx.js";
17
+ } from "./cli-tmn19cdz.js";
18
18
  import {
19
19
  init_zod
20
20
  } from "./cli-s35981d0.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  summarizeSession
3
- } from "./cli-a1zrc2g6.js";
3
+ } from "./cli-qhfkxrpg.js";
4
4
  import {
5
5
  checkToolLoop,
6
6
  clearToolHistory
@@ -34,7 +34,7 @@ import {
34
34
  import {
35
35
  init_package,
36
36
  package_default
37
- } from "./cli-4dakdn30.js";
37
+ } from "./cli-4r4jkqep.js";
38
38
 
39
39
  // src/hooks/hook.ts
40
40
  init_package();
@@ -3,7 +3,7 @@ import {
3
3
  getAgentWorkingOnThread,
4
4
  getAllAgents,
5
5
  init_db
6
- } from "./cli-qxn3g3yx.js";
6
+ } from "./cli-tmn19cdz.js";
7
7
  import {
8
8
  init_env_flag,
9
9
  isEnvFlagEnabled
@@ -3,7 +3,7 @@ import {
3
3
  } from "./cli-tdtmw1r5.js";
4
4
  import {
5
5
  checkCodexCredentials
6
- } from "./cli-6mmwmy45.js";
6
+ } from "./cli-j7qp8gtf.js";
7
7
  import {
8
8
  checkClaudeManagedCredentials
9
9
  } from "./cli-0crn5kaz.js";
@@ -15,7 +15,7 @@ import {
15
15
  } from "./cli-06ghj6pe.js";
16
16
  import {
17
17
  checkClaudeCredentials
18
- } from "./cli-8f4h27gm.js";
18
+ } from "./cli-edwrx42s.js";
19
19
  import {
20
20
  MAX_RATE_LIMIT_RESET_MS,
21
21
  isCodexCreditsExhaustedMessage,
@@ -35,7 +35,7 @@ import {
35
35
  withSpan,
36
36
  withSpanContext,
37
37
  writeSkillsToFilesystem
38
- } from "./cli-3f0tnh34.js";
38
+ } from "./cli-ads0hfw2.js";
39
39
  import {
40
40
  authJsonToCredentialSelection,
41
41
  credentialsToAuthJson,
@@ -44,10 +44,10 @@ import {
44
44
  import {
45
45
  ensure,
46
46
  initialize
47
- } from "./cli-r5vwg1ma.js";
47
+ } from "./cli-fpjmcbhz.js";
48
48
  import {
49
49
  validateJsonSchema
50
- } from "./cli-5a5nrq3g.js";
50
+ } from "./cli-jjhnma34.js";
51
51
  import {
52
52
  getOpenRouterBaseUrl
53
53
  } from "./cli-3dpj7atn.js";
@@ -73,7 +73,7 @@ import {
73
73
  init_types,
74
74
  resolveTaskModelSelection,
75
75
  telemetry
76
- } from "./cli-qxn3g3yx.js";
76
+ } from "./cli-tmn19cdz.js";
77
77
  import {
78
78
  generateDefaultClaudeMd,
79
79
  generateDefaultIdentityMd,
@@ -176,15 +176,15 @@ async function materializeCodexAuthJson(_slot, creds, deps = {}) {
176
176
  async function createProviderAdapter(provider) {
177
177
  switch (provider) {
178
178
  case "claude": {
179
- const { ClaudeAdapter } = await import("./claude-adapter-vvx2aw3v.js");
179
+ const { ClaudeAdapter } = await import("./claude-adapter-ng5y8zd7.js");
180
180
  return new ClaudeAdapter;
181
181
  }
182
182
  case "pi": {
183
- const { PiMonoAdapter } = await import("./pi-mono-adapter-1phspz2y.js");
183
+ const { PiMonoAdapter } = await import("./pi-mono-adapter-29g7axgj.js");
184
184
  return new PiMonoAdapter;
185
185
  }
186
186
  case "codex": {
187
- const { CodexAdapter } = await import("./codex-adapter-6p290yq3.js");
187
+ const { CodexAdapter } = await import("./codex-adapter-kw11ps3j.js");
188
188
  return new CodexAdapter;
189
189
  }
190
190
  case "claude-managed": {
@@ -882,7 +882,7 @@ async function checkProviderCredentials(provider, env, opts) {
882
882
  case "opencode":
883
883
  return checkOpencodeCredentials(env, opts);
884
884
  case "pi": {
885
- const { checkPiMonoCredentials } = await import("./pi-mono-adapter-1phspz2y.js");
885
+ const { checkPiMonoCredentials } = await import("./pi-mono-adapter-29g7axgj.js");
886
886
  return checkPiMonoCredentials(env, opts);
887
887
  }
888
888
  default: