@desplega.ai/agent-swarm 2.4.3 → 2.4.4

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 (150) hide show
  1. package/dist/{acp-adapter-1885dpr7.js → acp-adapter-thq04adh.js} +1 -2
  2. package/dist/{actions-pn76n32q.js → actions-j6ywh6x5.js} +17 -17
  3. package/dist/{amp-adapter-af84rx1d.js → amp-adapter-k8b5xmj8.js} +2 -2
  4. package/dist/{app-6sv8mhzm.js → app-rb7vc02s.js} +3 -3
  5. package/dist/{assistant-sc2tf825.js → assistant-ftta1zjf.js} +18 -18
  6. package/dist/{boot-reembed-y3m0ydzj.js → boot-reembed-srp6v6af.js} +1 -1
  7. package/dist/{boot-reembed-gvxjs2py.js → boot-reembed-xns7h5h9.js} +1 -1
  8. package/dist/{boot-scrub-sweep-1j9mk05f.js → boot-scrub-sweep-3qqrh2mz.js} +2 -2
  9. package/dist/{boot-seeds-37sp626b.js → boot-seeds-9ks8hce7.js} +4 -4
  10. package/dist/{claude-adapter-rp0jtnwr.js → claude-adapter-k5ksyres.js} +2 -2
  11. package/dist/{claude-managed-setup-rdt248k7.js → claude-managed-setup-n5a5eqks.js} +1 -1
  12. package/dist/{claude-sdk-session-53rcw5we.js → claude-sdk-session-2j3j4kwn.js} +2 -2
  13. package/dist/{cli-v87dr6e3.js → cli-1d70crsy.js} +1 -1
  14. package/dist/{cli-1ma335fz.js → cli-1ephgwnq.js} +2 -2
  15. package/dist/{cli-4yef8ghv.js → cli-2v045xyf.js} +3 -3
  16. package/dist/{cli-73ezfhha.js → cli-2y91wnbh.js} +10 -5
  17. package/dist/{cli-1eszr343.js → cli-2zqpkvtt.js} +1 -1
  18. package/dist/{cli-e4d78xsv.js → cli-37yb7307.js} +1 -1
  19. package/dist/{cli-8y99kfey.js → cli-3cgngyd8.js} +9 -9
  20. package/dist/{cli-wk28hzqn.js → cli-44159k28.js} +1 -1
  21. package/dist/{cli-qp2m4btv.js → cli-4dg55wsk.js} +2 -2
  22. package/dist/{cli-0dxxwfkt.js → cli-51y09c6p.js} +17 -14
  23. package/dist/{cli-aa3tb29r.js → cli-55qmbp6z.js} +1 -1
  24. package/dist/{cli-mzkwkbdy.js → cli-82d3nkc3.js} +1 -1
  25. package/dist/{cli-sds5zzs8.js → cli-9fhkkpj5.js} +78 -12
  26. package/dist/{cli-vq9gqarq.js → cli-amyhm3gj.js} +1 -1
  27. package/dist/{cli-bxrqvpg5.js → cli-b8k7epj1.js} +5 -5
  28. package/dist/{cli-8vverzf7.js → cli-ba8ne1es.js} +5 -0
  29. package/dist/{cli-58vwn100.js → cli-bnz0r3kc.js} +1 -1
  30. package/dist/{cli-6eyncg0y.js → cli-cynvc9fj.js} +34 -6
  31. package/dist/{cli-f0p0f6ja.js → cli-dqb4n629.js} +7 -7
  32. package/dist/{cli-pygdsgh8.js → cli-esxerzg7.js} +1 -1
  33. package/dist/{cli-dm8p2dpf.js → cli-gqvh8d8a.js} +6 -6
  34. package/dist/{cli-p0qerd2r.js → cli-hj3debgw.js} +1 -1
  35. package/dist/{cli-836ehxmt.js → cli-nc35pxb7.js} +2 -2
  36. package/dist/{cli-vcgscaan.js → cli-p20r8w42.js} +8 -6
  37. package/dist/{cli-1xsraagq.js → cli-pccfmtb5.js} +4 -4
  38. package/dist/{cli-s9rr4gr2.js → cli-q6r7t299.js} +1036 -298
  39. package/dist/{cli-tkf4x6ha.js → cli-qkhc5aqy.js} +11 -11
  40. package/dist/{cli-1n9gdg56.js → cli-t7cyef5g.js} +4 -4
  41. package/dist/{cli-038fga5k.js → cli-te6b5wvg.js} +148 -183
  42. package/dist/{cli-kgnkyabk.js → cli-v3yr2gbg.js} +109 -35
  43. package/dist/{cli-h0mgxann.js → cli-vdm20wej.js} +2 -2
  44. package/dist/{cli-zvbb4n0e.js → cli-vq97g1jq.js} +2 -2
  45. package/dist/{cli-gx0j2khs.js → cli-w6nadkh4.js} +3 -3
  46. package/dist/{cli-99jez72r.js → cli-w9etnnxk.js} +6 -1
  47. package/dist/{cli-npfe9t1s.js → cli-xc27fwzg.js} +2 -2
  48. package/dist/{cli-6aen3ezb.js → cli-xj0re5tm.js} +1 -1
  49. package/dist/{cli-aypbg9r2.js → cli-zrk6jxv8.js} +1 -1
  50. package/dist/{cli-1012xb7j.js → cli-zrwpctp4.js} +20 -20
  51. package/dist/cli.js +41 -16
  52. package/dist/{codex-adapter-2zrmab9b.js → codex-adapter-968xwfy7.js} +1 -1
  53. package/dist/{codex-session-runner-kbkz62vc.js → codex-session-runner-ht4z99fa.js} +1 -1
  54. package/dist/{commands-hd574th6.js → commands-pcymaeg9.js} +2 -2
  55. package/dist/{controller-pz5mcfg4.js → controller-fpjyk46r.js} +2 -2
  56. package/dist/{controllers-connect-5rgq2hfk.js → controllers-connect-mwzx1fh6.js} +18 -18
  57. package/dist/{cursor-adapter-mgaprq0j.js → cursor-adapter-cp4s2e2f.js} +1 -1
  58. package/dist/{db-h06dxp05.js → db-sgd12bt9.js} +3 -3
  59. package/dist/{db-6nf1207q.js → db-xsjg9jqq.js} +1 -1
  60. package/dist/{dispatcher-zthpy4m1.js → dispatcher-x0jfw2c9.js} +16 -16
  61. package/dist/{dsh-adapter-64dhw0j7.js → dsh-adapter-jrq7ma7h.js} +1 -1
  62. package/dist/{external-channel-x01t7ke6.js → external-channel-8njj4h3b.js} +2 -2
  63. package/dist/{grok-adapter-h21jv594.js → grok-adapter-kkr97v2f.js} +2 -3
  64. package/dist/handlers-0pvee9nw.js +39 -0
  65. package/dist/{heartbeat-zzfksckz.js → heartbeat-wd03zhn0.js} +19 -19
  66. package/dist/{hook-z4zhzj1f.js → hook-f0vghj42.js} +1 -1
  67. package/dist/{hook-3xfqhh2s.js → hook-xzj2ts2p.js} +1 -1
  68. package/dist/{http-q813tmya.js → http-4hwxv62p.js} +255 -117
  69. package/dist/{index-va3y63es.js → index-6srwvd5b.js} +1 -2
  70. package/dist/{index-220tk9bw.js → index-97q4xn03.js} +19 -10
  71. package/dist/{index-s98037v0.js → index-cbxkmfc5.js} +1 -2
  72. package/dist/{index-m0a4ydqj.js → index-gdh8jrdm.js} +16 -16
  73. package/dist/{index-wbbs14c5.js → index-hg0x2cdv.js} +16 -16
  74. package/dist/{index-d0g18bax.js → index-thm0y6a8.js} +19 -19
  75. package/dist/{index-x8xbyn1t.js → index-ww2vznkp.js} +1 -1
  76. package/dist/{keepalive-y5t1my7m.js → keepalive-hrh7xnr9.js} +3 -3
  77. package/dist/{lead-2xwtq66b.js → lead-ee8vazz2.js} +26 -27
  78. package/dist/{maintenance-ybfsaedv.js → maintenance-e8wnwnqx.js} +1 -1
  79. package/dist/{oauth-refresh-sweep-909jmn12.js → oauth-refresh-sweep-zm0yj4sj.js} +2 -2
  80. package/dist/{onboard-xn6fkkys.js → onboard-dtwcq603.js} +2 -2
  81. package/dist/{otel-impl-e6mn0z13.js → otel-impl-w3fbhpn0.js} +1 -1
  82. package/dist/{pricing-refresh-ygd362ep.js → pricing-refresh-j38dehfs.js} +3 -3
  83. package/dist/{rbac-roles-c9axvfnz.js → rbac-roles-ae8yttq4.js} +2 -2
  84. package/dist/{rbac-roles-mb470p4e.js → rbac-roles-ejxx9b35.js} +2 -2
  85. package/dist/{render-v2-g0306nh1.js → render-v2-n16n0phe.js} +3 -3
  86. package/dist/{resume-v315hnq6.js → resume-z0fgjc38.js} +5 -5
  87. package/dist/{session-access-2zg285a1.js → session-access-cv3mq6mc.js} +6 -4
  88. package/dist/{setup-a4mtf02k.js → setup-mafhj3yt.js} +1 -1
  89. package/dist/{work-objects-9fr0fgtn.js → work-objects-8b86mgjp.js} +19 -19
  90. package/dist/{worker-qae22jeb.js → worker-16s75hm5.js} +26 -27
  91. package/dist/worker-token-xf11yyds.js +136 -0
  92. package/openapi.json +295 -12
  93. package/package.json +4 -4
  94. package/src/apps/action-runner.ts +4 -0
  95. package/src/apps/catalog.generated.json +3 -0
  96. package/src/apps/page-validator.ts +8 -2
  97. package/src/be/migrations/232_agent_session_tokens.sql +41 -0
  98. package/src/be/seed-scripts/catalog/heartbeat-jev-gate.ts +10 -1
  99. package/src/be/swarm-config-guard.ts +16 -0
  100. package/src/be/users.ts +169 -12
  101. package/src/cli.tsx +24 -0
  102. package/src/commands/worker-token.ts +164 -0
  103. package/src/http/apps.ts +43 -5
  104. package/src/http/codex-oauth-keep-warm.ts +27 -9
  105. package/src/http/config.ts +5 -3
  106. package/src/http/core.ts +2 -0
  107. package/src/http/session-access.ts +51 -2
  108. package/src/http/sessions.ts +249 -10
  109. package/src/http/tasks.ts +4 -32
  110. package/src/providers/acp-adapter.ts +33 -13
  111. package/src/providers/acp-swarm-events.ts +1 -1
  112. package/src/providers/amp-adapter.ts +1 -1
  113. package/src/providers/codex-oauth/storage.ts +1 -1
  114. package/src/rbac/legacy-policy.ts +3 -1
  115. package/src/rbac/permissions.ts +4 -0
  116. package/src/tests/acp-adapter.test.ts +10 -23
  117. package/src/tests/acp-fake-agent.ts +36 -0
  118. package/src/tests/acp-swarm-events.test.ts +1 -1
  119. package/src/tests/agent-session-tokens.test.ts +452 -0
  120. package/src/tests/apps-action-parent-task.test.ts +295 -0
  121. package/src/tests/codex-oauth-keep-warm.test.ts +85 -1
  122. package/src/tests/config-session-auth.test.ts +14 -0
  123. package/src/tests/docs-index-footprint.test.js +2 -2
  124. package/src/tests/grok-adapter.test.ts +3 -3
  125. package/src/tests/heartbeat-jev-gate.test.ts +23 -0
  126. package/src/tests/migration-232-agent-session-tokens.test.ts +67 -0
  127. package/src/tests/rbac-engine.test.ts +1 -0
  128. package/src/tests/runtime-child-token-cleanup.test.ts +3 -3
  129. package/src/tests/script-connections.test.ts +2 -0
  130. package/src/tests/session-route-posture.test.ts +2 -0
  131. package/src/tests/worker-token-cli.test.ts +76 -0
  132. package/src/tests/workflow-executors.test.ts +4 -2
  133. package/src/tests/workflow-system-one-extraction.test.ts +805 -0
  134. package/src/types.ts +2 -1
  135. package/src/utils/request-auth-context.ts +2 -1
  136. package/src/workflows/definition.ts +7 -1
  137. package/src/workflows/engine.ts +18 -12
  138. package/src/workflows/executors/index.ts +1 -0
  139. package/src/workflows/executors/registry.ts +2 -0
  140. package/src/workflows/executors/system-one-decision.ts +56 -255
  141. package/src/workflows/executors/system-one-extract-wire.ts +57 -0
  142. package/src/workflows/executors/system-one-extraction.ts +830 -0
  143. package/src/workflows/executors/system-one-providers.ts +277 -110
  144. package/src/workflows/executors/system-one-transport.ts +264 -0
  145. package/templates/official/lead/HEARTBEAT.md +1 -1
  146. package/templates/skills/apps/SKILL.md +3 -1
  147. package/templates/skills/apps/content.md +3 -1
  148. package/templates/skills/heartbeat-runbook/content.md +3 -3
  149. package/dist/cli-v1sjhn52.js +0 -7
  150. package/dist/handlers-2qjw434w.js +0 -39
@@ -2,38 +2,38 @@ import"./cli-ns59dc6r.js";
2
2
  import {
3
3
  startHeartbeat2,
4
4
  stopHeartbeat2
5
- } from "./cli-8y99kfey.js";
6
- import"./cli-f0p0f6ja.js";
7
- import"./cli-mzkwkbdy.js";
8
- import"./cli-kgnkyabk.js";
5
+ } from "./cli-3cgngyd8.js";
6
+ import"./cli-dqb4n629.js";
7
+ import"./cli-82d3nkc3.js";
8
+ import"./cli-v3yr2gbg.js";
9
9
  import"./cli-smvcw9z5.js";
10
- import"./cli-1eszr343.js";
10
+ import"./cli-2zqpkvtt.js";
11
11
  import"./cli-qz93y3x5.js";
12
12
  import"./cli-3h26v7yj.js";
13
13
  import"./cli-e8xyjvfc.js";
14
- import"./cli-npfe9t1s.js";
15
- import"./cli-73ezfhha.js";
14
+ import"./cli-xc27fwzg.js";
15
+ import"./cli-2y91wnbh.js";
16
16
  import"./cli-3ggwdtb0.js";
17
- import"./cli-pygdsgh8.js";
18
- import"./cli-1n9gdg56.js";
19
- import"./cli-vq9gqarq.js";
17
+ import"./cli-esxerzg7.js";
18
+ import"./cli-t7cyef5g.js";
19
+ import"./cli-amyhm3gj.js";
20
20
  import"./cli-qje9k2nh.js";
21
- import"./cli-0dxxwfkt.js";
22
- import"./cli-s9rr4gr2.js";
21
+ import"./cli-51y09c6p.js";
22
+ import"./cli-q6r7t299.js";
23
23
  import"./cli-8nyhf7za.js";
24
24
  import"./cli-ejs3m1sx.js";
25
- import"./cli-6eyncg0y.js";
25
+ import"./cli-cynvc9fj.js";
26
26
  import"./cli-13p25grh.js";
27
27
  import"./cli-0adyhvq2.js";
28
- import"./cli-tkf4x6ha.js";
29
- import"./cli-v87dr6e3.js";
30
- import"./cli-gx0j2khs.js";
31
- import"./cli-sds5zzs8.js";
28
+ import"./cli-qkhc5aqy.js";
29
+ import"./cli-1d70crsy.js";
30
+ import"./cli-w6nadkh4.js";
31
+ import"./cli-9fhkkpj5.js";
32
32
  import"./cli-445c1vp7.js";
33
33
  import"./cli-kvzgak7c.js";
34
34
  import"./cli-b2mz5mjc.js";
35
- import"./cli-qp2m4btv.js";
36
- import"./cli-vcgscaan.js";
35
+ import"./cli-4dg55wsk.js";
36
+ import"./cli-p20r8w42.js";
37
37
  import"./cli-wt645v7q.js";
38
38
  export {
39
39
  startHeartbeat2 as startHeartbeat,
@@ -3,7 +3,7 @@ import {
3
3
  resetEmbeddingProvider2,
4
4
  getMemoryStore2,
5
5
  init_memory
6
- } from "./cli-vcgscaan.js";
6
+ } from "./cli-p20r8w42.js";
7
7
  init_memory();
8
8
 
9
9
  export {
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  listKeepAliveAuthorizations,
3
3
  init_oauth
4
- } from "./cli-vcgscaan.js";
4
+ } from "./cli-p20r8w42.js";
5
5
  import {
6
6
  ensureAuthorizationTokenOrThrow
7
- } from "./cli-pygdsgh8.js";
7
+ } from "./cli-esxerzg7.js";
8
8
  import {
9
9
  scrubSecrets,
10
10
  init_secret_scrubber
@@ -57,7 +57,7 @@ async function notifySlack(text) {
57
57
  return;
58
58
  }
59
59
  try {
60
- const { getSlackApp } = await import("./app-6sv8mhzm.js");
60
+ const { getSlackApp } = await import("./app-rb7vc02s.js");
61
61
  const app = getSlackApp();
62
62
  if (!app) {
63
63
  console.warn("[OAuth Keepalive] Slack not available, cannot send notification");
@@ -1,67 +1,66 @@
1
1
  import"./cli-qz93y3x5.js";
2
2
  import {
3
3
  getEnabledCapabilities
4
- } from "./cli-kgnkyabk.js";
5
- import"./cli-v1sjhn52.js";
6
- import"./cli-vcgscaan.js";
7
- import"./cli-qp2m4btv.js";
8
- import"./cli-1n9gdg56.js";
9
- import"./cli-vq9gqarq.js";
10
- import"./cli-npfe9t1s.js";
11
- import"./cli-1eszr343.js";
12
- import"./cli-0dxxwfkt.js";
13
- import"./cli-73ezfhha.js";
14
- import"./cli-pygdsgh8.js";
4
+ } from "./cli-v3yr2gbg.js";
5
+ import"./cli-p20r8w42.js";
6
+ import"./cli-4dg55wsk.js";
7
+ import"./cli-t7cyef5g.js";
8
+ import"./cli-amyhm3gj.js";
9
+ import"./cli-xc27fwzg.js";
10
+ import"./cli-2zqpkvtt.js";
11
+ import"./cli-51y09c6p.js";
12
+ import"./cli-2y91wnbh.js";
13
+ import"./cli-esxerzg7.js";
15
14
  import"./cli-3ggwdtb0.js";
16
- import"./cli-tkf4x6ha.js";
17
- import"./cli-v87dr6e3.js";
18
- import"./cli-s9rr4gr2.js";
15
+ import"./cli-qkhc5aqy.js";
16
+ import"./cli-1d70crsy.js";
17
+ import"./cli-q6r7t299.js";
19
18
  import"./cli-8nyhf7za.js";
20
19
  import"./cli-kvzgak7c.js";
21
20
  import"./cli-445c1vp7.js";
22
21
  import"./cli-ejs3m1sx.js";
23
22
  import"./cli-wt645v7q.js";
24
- import"./cli-6eyncg0y.js";
23
+ import"./cli-cynvc9fj.js";
25
24
  import"./cli-e8xyjvfc.js";
26
25
  import"./cli-qje9k2nh.js";
27
- import"./cli-gx0j2khs.js";
26
+ import"./cli-w6nadkh4.js";
28
27
  import"./cli-3h26v7yj.js";
29
28
  import"./cli-smvcw9z5.js";
30
29
  import"./cli-0xk505e8.js";
31
30
  import"./cli-bn0rewsy.js";
32
31
  import"./cli-77cd6gy8.js";
33
- import"./cli-6aen3ezb.js";
32
+ import"./cli-xj0re5tm.js";
34
33
  import {
35
34
  runAgent
36
- } from "./cli-1012xb7j.js";
35
+ } from "./cli-zrwpctp4.js";
37
36
  import"./cli-a5ebc95n.js";
38
37
  import"./cli-gx4rm0qx.js";
39
38
  import"./cli-5kqnemen.js";
40
39
  import"./cli-jc1g9ndz.js";
41
- import"./cli-1ma335fz.js";
40
+ import"./cli-1ephgwnq.js";
42
41
  import"./cli-1m17dc9d.js";
43
42
  import"./cli-pnp2j5zg.js";
44
43
  import"./cli-d82btycs.js";
45
44
  import"./cli-0726awxw.js";
46
- import"./cli-aa3tb29r.js";
47
- import"./cli-h0mgxann.js";
45
+ import"./cli-55qmbp6z.js";
46
+ import"./cli-vdm20wej.js";
48
47
  import"./cli-4bd1rck6.js";
49
48
  import"./cli-vbhgkw9h.js";
50
49
  import"./cli-er83cjbn.js";
51
50
  import"./cli-a0kcty51.js";
52
51
  import"./cli-kr5tjjtz.js";
53
- import"./cli-zvbb4n0e.js";
54
- import"./cli-58vwn100.js";
52
+ import"./cli-vq97g1jq.js";
53
+ import"./cli-bnz0r3kc.js";
55
54
  import"./cli-s95dknxh.js";
56
- import"./cli-wk28hzqn.js";
57
- import"./cli-038fga5k.js";
55
+ import"./cli-44159k28.js";
56
+ import"./cli-te6b5wvg.js";
58
57
  import"./cli-vfha21c9.js";
59
58
  import"./cli-36ckw0wx.js";
60
- import"./cli-aypbg9r2.js";
59
+ import"./cli-zrk6jxv8.js";
61
60
  import"./cli-4zsenjhy.js";
62
61
  import"./cli-13p25grh.js";
63
62
  import"./cli-0adyhvq2.js";
64
- import"./cli-sds5zzs8.js";
63
+ import"./cli-9fhkkpj5.js";
65
64
 
66
65
  // src/commands/lead.ts
67
66
  var leadConfig = {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  reembedAllScripts,
3
3
  init_embeddings
4
- } from "./cli-vcgscaan.js";
4
+ } from "./cli-p20r8w42.js";
5
5
 
6
6
  // src/be/scripts/maintenance.ts
7
7
  init_embeddings();
@@ -2,10 +2,10 @@ import {
2
2
  getAuthorizationById,
3
3
  listAuthorizationSweepRows,
4
4
  init_oauth
5
- } from "./cli-vcgscaan.js";
5
+ } from "./cli-p20r8w42.js";
6
6
  import {
7
7
  forceRefreshAuthorizationOrThrow
8
- } from "./cli-pygdsgh8.js";
8
+ } from "./cli-esxerzg7.js";
9
9
  import {
10
10
  scrubSecrets,
11
11
  init_secret_scrubber
@@ -16,7 +16,7 @@ import {
16
16
  createDefaultSettingsLocal,
17
17
  createDefaultMcpJson,
18
18
  createHooksConfig
19
- } from "./cli-e4d78xsv.js";
19
+ } from "./cli-37yb7307.js";
20
20
  import {
21
21
  getSlackConfiguration,
22
22
  isSlackConfigured,
@@ -25,7 +25,7 @@ import {
25
25
  import {
26
26
  init_package,
27
27
  package_default
28
- } from "./cli-1xsraagq.js";
28
+ } from "./cli-pccfmtb5.js";
29
29
  import {
30
30
  getApiKey,
31
31
  init_api_key
@@ -14,7 +14,7 @@ import {
14
14
  import {
15
15
  init_package,
16
16
  package_default
17
- } from "./cli-1xsraagq.js";
17
+ } from "./cli-pccfmtb5.js";
18
18
  import {
19
19
  scrubSecrets,
20
20
  init_secret_scrubber
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  requestModelCatalogRefresh2,
3
3
  startPricingRefreshLoop2
4
- } from "./cli-npfe9t1s.js";
5
- import"./cli-vq9gqarq.js";
6
- import"./cli-vcgscaan.js";
4
+ } from "./cli-xc27fwzg.js";
5
+ import"./cli-amyhm3gj.js";
6
+ import"./cli-p20r8w42.js";
7
7
  export {
8
8
  requestModelCatalogRefresh2 as requestModelCatalogRefresh,
9
9
  startPricingRefreshLoop2 as startPricingRefreshLoop
@@ -2,11 +2,11 @@ import {
2
2
  getDb2,
3
3
  getDbClient2,
4
4
  init_db3
5
- } from "./cli-vcgscaan.js";
5
+ } from "./cli-p20r8w42.js";
6
6
  import {
7
7
  PermissionVerbSchema,
8
8
  init_rbac
9
- } from "./cli-8vverzf7.js";
9
+ } from "./cli-ba8ne1es.js";
10
10
  import {
11
11
  isEnvFlagEnabled,
12
12
  init_env_flag
@@ -2,8 +2,8 @@ import {
2
2
  getUserGrant2,
3
3
  ensureRbacSeedsSynced2,
4
4
  init_rbac_roles
5
- } from "./cli-qp2m4btv.js";
6
- import"./cli-vcgscaan.js";
5
+ } from "./cli-4dg55wsk.js";
6
+ import"./cli-p20r8w42.js";
7
7
  init_rbac_roles();
8
8
 
9
9
  export {
@@ -2,9 +2,9 @@ import {
2
2
  isSlackRenderV2Enabled2,
3
3
  ensureSlackThreadTree2,
4
4
  processSlackRenderV22
5
- } from "./cli-tkf4x6ha.js";
6
- import"./cli-v87dr6e3.js";
7
- import"./cli-vcgscaan.js";
5
+ } from "./cli-qkhc5aqy.js";
6
+ import"./cli-1d70crsy.js";
7
+ import"./cli-p20r8w42.js";
8
8
  export {
9
9
  ensureSlackThreadTree2 as ensureSlackThreadTree,
10
10
  isSlackRenderV2Enabled2 as isSlackRenderV2Enabled,
@@ -9,17 +9,17 @@ import {
9
9
  resumeFromChildRun2,
10
10
  initWaitBusSubscriptions2,
11
11
  subscribeWaitToBus2
12
- } from "./cli-0dxxwfkt.js";
13
- import"./cli-s9rr4gr2.js";
12
+ } from "./cli-51y09c6p.js";
13
+ import"./cli-q6r7t299.js";
14
14
  import"./cli-8nyhf7za.js";
15
15
  import"./cli-ejs3m1sx.js";
16
16
  import"./cli-13p25grh.js";
17
17
  import"./cli-0adyhvq2.js";
18
- import"./cli-tkf4x6ha.js";
19
- import"./cli-v87dr6e3.js";
18
+ import"./cli-qkhc5aqy.js";
19
+ import"./cli-1d70crsy.js";
20
20
  import"./cli-445c1vp7.js";
21
21
  import"./cli-kvzgak7c.js";
22
- import"./cli-vcgscaan.js";
22
+ import"./cli-p20r8w42.js";
23
23
  import"./cli-wt645v7q.js";
24
24
  export {
25
25
  cancelWorkflowRun2 as cancelWorkflowRun,
@@ -5,18 +5,20 @@ import {
5
5
  canReadSession2,
6
6
  readableByFor2,
7
7
  SESSION_WRITE_DENIED2,
8
+ denyParentAttach2,
8
9
  pathSessionDenial2,
9
10
  bodySessionDenial2,
10
11
  userAgentIdentityDenial2
11
- } from "./cli-6eyncg0y.js";
12
- import"./cli-sds5zzs8.js";
13
- import"./cli-qp2m4btv.js";
14
- import"./cli-vcgscaan.js";
12
+ } from "./cli-cynvc9fj.js";
13
+ import"./cli-9fhkkpj5.js";
14
+ import"./cli-4dg55wsk.js";
15
+ import"./cli-p20r8w42.js";
15
16
  export {
16
17
  SESSION_READ_DENIED2 as SESSION_READ_DENIED,
17
18
  SESSION_WRITE_DENIED2 as SESSION_WRITE_DENIED,
18
19
  bodySessionDenial2 as bodySessionDenial,
19
20
  canReadSession2 as canReadSession,
21
+ denyParentAttach2 as denyParentAttach,
20
22
  pathSessionDenial2 as pathSessionDenial,
21
23
  readableByFor2 as readableByFor,
22
24
  resolveSessionActor2 as resolveSessionActor,
@@ -15,7 +15,7 @@ import {
15
15
  createDefaultSettingsLocal,
16
16
  createDefaultMcpJson,
17
17
  createHooksConfig
18
- } from "./cli-e4d78xsv.js";
18
+ } from "./cli-37yb7307.js";
19
19
  import {
20
20
  getApiKey,
21
21
  init_api_key
@@ -2,45 +2,45 @@ import {
2
2
  getAgentById2,
3
3
  getTaskById2,
4
4
  init_db3
5
- } from "./cli-vcgscaan.js";
5
+ } from "./cli-p20r8w42.js";
6
6
  import {
7
7
  slackTaskOutput,
8
8
  getTaskUrl
9
- } from "./cli-tkf4x6ha.js";
9
+ } from "./cli-qkhc5aqy.js";
10
10
  import {
11
11
  shouldBlockChannel2
12
- } from "./cli-v87dr6e3.js";
13
- import"./cli-kgnkyabk.js";
14
- import"./cli-0dxxwfkt.js";
15
- import"./cli-73ezfhha.js";
16
- import"./cli-pygdsgh8.js";
12
+ } from "./cli-1d70crsy.js";
13
+ import"./cli-v3yr2gbg.js";
14
+ import"./cli-51y09c6p.js";
15
+ import"./cli-2y91wnbh.js";
16
+ import"./cli-esxerzg7.js";
17
17
  import"./cli-3ggwdtb0.js";
18
- import"./cli-s9rr4gr2.js";
18
+ import"./cli-q6r7t299.js";
19
19
  import"./cli-8nyhf7za.js";
20
20
  import"./cli-kvzgak7c.js";
21
21
  import"./cli-445c1vp7.js";
22
22
  import"./cli-ejs3m1sx.js";
23
23
  import"./cli-wt645v7q.js";
24
- import"./cli-1eszr343.js";
25
- import"./cli-vq9gqarq.js";
26
- import"./cli-npfe9t1s.js";
24
+ import"./cli-2zqpkvtt.js";
25
+ import"./cli-amyhm3gj.js";
26
+ import"./cli-xc27fwzg.js";
27
27
  import"./cli-qz93y3x5.js";
28
- import"./cli-qp2m4btv.js";
29
- import"./cli-1n9gdg56.js";
28
+ import"./cli-4dg55wsk.js";
29
+ import"./cli-t7cyef5g.js";
30
30
  import"./cli-e8xyjvfc.js";
31
31
  import"./cli-qje9k2nh.js";
32
- import"./cli-gx0j2khs.js";
33
- import"./cli-6eyncg0y.js";
32
+ import"./cli-w6nadkh4.js";
33
+ import"./cli-cynvc9fj.js";
34
34
  import"./cli-3h26v7yj.js";
35
35
  import"./cli-smvcw9z5.js";
36
- import"./cli-4yef8ghv.js";
37
- import"./cli-bxrqvpg5.js";
36
+ import"./cli-2v045xyf.js";
37
+ import"./cli-b8k7epj1.js";
38
38
  import {
39
39
  isUserAllowed2
40
- } from "./cli-dm8p2dpf.js";
40
+ } from "./cli-gqvh8d8a.js";
41
41
  import"./cli-13p25grh.js";
42
42
  import"./cli-0adyhvq2.js";
43
- import"./cli-sds5zzs8.js";
43
+ import"./cli-9fhkkpj5.js";
44
44
  import {
45
45
  isEnvFlagEnabled,
46
46
  init_env_flag
@@ -1,67 +1,66 @@
1
1
  import"./cli-qz93y3x5.js";
2
2
  import {
3
3
  getEnabledCapabilities
4
- } from "./cli-kgnkyabk.js";
5
- import"./cli-v1sjhn52.js";
6
- import"./cli-vcgscaan.js";
7
- import"./cli-qp2m4btv.js";
8
- import"./cli-1n9gdg56.js";
9
- import"./cli-vq9gqarq.js";
10
- import"./cli-npfe9t1s.js";
11
- import"./cli-1eszr343.js";
12
- import"./cli-0dxxwfkt.js";
13
- import"./cli-73ezfhha.js";
14
- import"./cli-pygdsgh8.js";
4
+ } from "./cli-v3yr2gbg.js";
5
+ import"./cli-p20r8w42.js";
6
+ import"./cli-4dg55wsk.js";
7
+ import"./cli-t7cyef5g.js";
8
+ import"./cli-amyhm3gj.js";
9
+ import"./cli-xc27fwzg.js";
10
+ import"./cli-2zqpkvtt.js";
11
+ import"./cli-51y09c6p.js";
12
+ import"./cli-2y91wnbh.js";
13
+ import"./cli-esxerzg7.js";
15
14
  import"./cli-3ggwdtb0.js";
16
- import"./cli-tkf4x6ha.js";
17
- import"./cli-v87dr6e3.js";
18
- import"./cli-s9rr4gr2.js";
15
+ import"./cli-qkhc5aqy.js";
16
+ import"./cli-1d70crsy.js";
17
+ import"./cli-q6r7t299.js";
19
18
  import"./cli-8nyhf7za.js";
20
19
  import"./cli-kvzgak7c.js";
21
20
  import"./cli-445c1vp7.js";
22
21
  import"./cli-ejs3m1sx.js";
23
22
  import"./cli-wt645v7q.js";
24
- import"./cli-6eyncg0y.js";
23
+ import"./cli-cynvc9fj.js";
25
24
  import"./cli-e8xyjvfc.js";
26
25
  import"./cli-qje9k2nh.js";
27
- import"./cli-gx0j2khs.js";
26
+ import"./cli-w6nadkh4.js";
28
27
  import"./cli-3h26v7yj.js";
29
28
  import"./cli-smvcw9z5.js";
30
29
  import"./cli-0xk505e8.js";
31
30
  import"./cli-bn0rewsy.js";
32
31
  import"./cli-77cd6gy8.js";
33
- import"./cli-6aen3ezb.js";
32
+ import"./cli-xj0re5tm.js";
34
33
  import {
35
34
  runAgent
36
- } from "./cli-1012xb7j.js";
35
+ } from "./cli-zrwpctp4.js";
37
36
  import"./cli-a5ebc95n.js";
38
37
  import"./cli-gx4rm0qx.js";
39
38
  import"./cli-5kqnemen.js";
40
39
  import"./cli-jc1g9ndz.js";
41
- import"./cli-1ma335fz.js";
40
+ import"./cli-1ephgwnq.js";
42
41
  import"./cli-1m17dc9d.js";
43
42
  import"./cli-pnp2j5zg.js";
44
43
  import"./cli-d82btycs.js";
45
44
  import"./cli-0726awxw.js";
46
- import"./cli-aa3tb29r.js";
47
- import"./cli-h0mgxann.js";
45
+ import"./cli-55qmbp6z.js";
46
+ import"./cli-vdm20wej.js";
48
47
  import"./cli-4bd1rck6.js";
49
48
  import"./cli-vbhgkw9h.js";
50
49
  import"./cli-er83cjbn.js";
51
50
  import"./cli-a0kcty51.js";
52
51
  import"./cli-kr5tjjtz.js";
53
- import"./cli-zvbb4n0e.js";
54
- import"./cli-58vwn100.js";
52
+ import"./cli-vq97g1jq.js";
53
+ import"./cli-bnz0r3kc.js";
55
54
  import"./cli-s95dknxh.js";
56
- import"./cli-wk28hzqn.js";
57
- import"./cli-038fga5k.js";
55
+ import"./cli-44159k28.js";
56
+ import"./cli-te6b5wvg.js";
58
57
  import"./cli-vfha21c9.js";
59
58
  import"./cli-36ckw0wx.js";
60
- import"./cli-aypbg9r2.js";
59
+ import"./cli-zrk6jxv8.js";
61
60
  import"./cli-4zsenjhy.js";
62
61
  import"./cli-13p25grh.js";
63
62
  import"./cli-0adyhvq2.js";
64
- import"./cli-sds5zzs8.js";
63
+ import"./cli-9fhkkpj5.js";
65
64
 
66
65
  // src/commands/worker.ts
67
66
  var workerConfig = {
@@ -0,0 +1,136 @@
1
+ import {
2
+ getApiKey,
3
+ init_api_key
4
+ } from "./cli-pax9q4ff.js";
5
+
6
+ // src/commands/worker-token.ts
7
+ init_api_key();
8
+ var WORKER_TOKEN_USAGE = `Usage:
9
+ agent-swarm worker-token <create|rotate|revoke> (--agent-id <id> | --name <name>) [options]
10
+
11
+ Options:
12
+ --agent-id <id> Agent the token is bound to
13
+ --name <name> Agent name. create makes the agent when no agent has this name
14
+ --ttl-days <n> Token lifetime (create, rotate). Default: no expiry
15
+ --grace-sec <n> How long the old token keeps working after rotate (default 300)
16
+ --api-url <url> Swarm API URL (default: MCP_BASE_URL or http://localhost:3013)
17
+ --api-key <key> Operator swarm API key (default: AGENT_SWARM_API_KEY or API_KEY, falling back to 123123)
18
+ -h, --help Show this help`;
19
+ var ACTIONS = new Set(["create", "rotate", "revoke"]);
20
+ function parseWorkerTokenArgs(args) {
21
+ const parsed = { showHelp: false };
22
+ const number = (flag, value, min) => {
23
+ const n = Number(value);
24
+ if (!Number.isInteger(n) || n < min)
25
+ parsed.error = `${flag} must be an integer >= ${min}`;
26
+ return n;
27
+ };
28
+ for (let i = 0;i < args.length; i++) {
29
+ const arg = args[i];
30
+ if (arg === "--help" || arg === "-h")
31
+ parsed.showHelp = true;
32
+ else if (arg === "--agent-id")
33
+ parsed.agentId = args[++i];
34
+ else if (arg === "--name")
35
+ parsed.name = args[++i];
36
+ else if (arg === "--api-url")
37
+ parsed.apiUrl = args[++i];
38
+ else if (arg === "--api-key")
39
+ parsed.apiKey = args[++i];
40
+ else if (arg === "--ttl-days")
41
+ parsed.ttlDays = number(arg, args[++i], 1);
42
+ else if (arg === "--grace-sec")
43
+ parsed.graceSec = number(arg, args[++i], 0);
44
+ else if (!parsed.action && ACTIONS.has(arg))
45
+ parsed.action = arg;
46
+ else
47
+ parsed.error = `Unknown argument: ${arg}`;
48
+ }
49
+ if (parsed.error || parsed.showHelp)
50
+ return parsed;
51
+ if (!parsed.action)
52
+ parsed.error = "Missing action: create, rotate, or revoke";
53
+ else if (!parsed.agentId === !parsed.name)
54
+ parsed.error = "Pass exactly one of --agent-id or --name";
55
+ return parsed;
56
+ }
57
+ async function readError(res) {
58
+ const text = await res.text().catch(() => "");
59
+ try {
60
+ return JSON.parse(text).error ?? text;
61
+ } catch {
62
+ return text;
63
+ }
64
+ }
65
+ async function runWorkerToken(args, deps = {}) {
66
+ const env = deps.env ?? process.env;
67
+ const doFetch = deps.fetch ?? fetch;
68
+ const stdout = deps.stdout ?? ((line) => console.log(line));
69
+ const stderr = deps.stderr ?? ((line) => console.error(line));
70
+ const parsed = parseWorkerTokenArgs(args);
71
+ if (parsed.showHelp) {
72
+ stdout(WORKER_TOKEN_USAGE);
73
+ return 0;
74
+ }
75
+ if (parsed.error) {
76
+ stderr(`${parsed.error}
77
+
78
+ ${WORKER_TOKEN_USAGE}`);
79
+ return 1;
80
+ }
81
+ const apiUrl = (parsed.apiUrl ?? env.MCP_BASE_URL ?? "http://localhost:3013").replace(/\/+$/, "");
82
+ const apiKey = parsed.apiKey ?? (getApiKey(env) || "123123");
83
+ const headers = { Authorization: `Bearer ${apiKey}`, "Content-Type": "application/json" };
84
+ let agentId = parsed.agentId;
85
+ let name;
86
+ if (!agentId) {
87
+ const res = await doFetch(`${apiUrl}/api/agents`, { headers });
88
+ if (!res.ok) {
89
+ stderr(`Listing agents failed (${res.status}): ${await readError(res)}`);
90
+ return 1;
91
+ }
92
+ const { agents } = await res.json();
93
+ const matches = agents.filter((agent) => agent.name === parsed.name);
94
+ if (matches.length > 1) {
95
+ stderr(`Several agents are named "${parsed.name}"; pass --agent-id instead`);
96
+ return 1;
97
+ }
98
+ agentId = matches[0]?.id;
99
+ if (!agentId) {
100
+ if (parsed.action !== "create") {
101
+ stderr(`No agent is named "${parsed.name}"`);
102
+ return 1;
103
+ }
104
+ agentId = crypto.randomUUID();
105
+ name = parsed.name;
106
+ }
107
+ }
108
+ const base = `${apiUrl}/api/agents/${encodeURIComponent(agentId)}/token`;
109
+ const ttlMs = parsed.ttlDays === undefined ? undefined : parsed.ttlDays * 86400000;
110
+ const res = parsed.action === "revoke" ? await doFetch(base, { method: "DELETE", headers }) : await doFetch(parsed.action === "rotate" ? `${base}/rotate` : base, {
111
+ method: "POST",
112
+ headers,
113
+ body: JSON.stringify(parsed.action === "rotate" ? { graceSec: parsed.graceSec, ttlMs } : { name, ttlMs })
114
+ });
115
+ if (!res.ok) {
116
+ stderr(`worker-token ${parsed.action} failed (${res.status}): ${await readError(res)}`);
117
+ return 1;
118
+ }
119
+ if (parsed.action === "revoke") {
120
+ const { revoked } = await res.json();
121
+ stderr(`Revoked ${revoked} worker token(s) of agent ${agentId}.`);
122
+ return 0;
123
+ }
124
+ const token = await res.json();
125
+ if (token.agentCreated)
126
+ stderr(`Created agent ${agentId} (${name}).`);
127
+ stderr(`Worker token for agent ${agentId}, ${token.expiresAt ? `expires ${token.expiresAt}` : "no expiry"}.`);
128
+ if (token.previousExpiresAt)
129
+ stderr(`The previous token stops working at ${token.previousExpiresAt}.`);
130
+ stderr(`Set it as the worker's API_KEY with AGENT_ID=${agentId}. It is shown only once.`);
131
+ stdout(token.plaintext);
132
+ return 0;
133
+ }
134
+ export {
135
+ runWorkerToken
136
+ };