@desplega.ai/agent-swarm 1.111.0 → 1.113.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 (156) hide show
  1. package/dist/{actions-a4crgvtd.js → actions-q4n7cz6e.js} +6 -6
  2. package/dist/{app-va5mr9yw.js → app-es4nzc71.js} +3 -3
  3. package/dist/{assistant-0jm4vy8r.js → assistant-0x8ey0vs.js} +9 -9
  4. package/dist/{boot-reembed-50zzk97q.js → boot-reembed-69agkhv6.js} +4 -4
  5. package/dist/{boot-reembed-0t815mmm.js → boot-reembed-p0ny05t8.js} +3 -3
  6. package/dist/{boot-scrub-logs-r99nbmxh.js → boot-scrub-logs-yybrkmvr.js} +2 -2
  7. package/dist/{cli-h3vhr1gj.js → cli-30bbaveh.js} +2 -2
  8. package/dist/{cli-ee3fkebs.js → cli-36ymmpmp.js} +2 -2
  9. package/dist/{cli-dza5039b.js → cli-4xyj9jtq.js} +1495 -254
  10. package/dist/{cli-3cm8ar1c.js → cli-bgef578c.js} +1 -1
  11. package/dist/{cli-xqzvygxp.js → cli-bgvskydy.js} +11 -2
  12. package/dist/{cli-t8m00q3b.js → cli-bnzbn8j8.js} +3 -3
  13. package/dist/{cli-kavm2cv5.js → cli-c3frqf65.js} +4 -3
  14. package/dist/{cli-2b0ew5v8.js → cli-c9mtm09b.js} +1 -1
  15. package/dist/{cli-0d5xddf1.js → cli-f3qa069v.js} +2 -2
  16. package/dist/{cli-r3y5chyg.js → cli-gtkqc144.js} +4 -4
  17. package/dist/{cli-0d404x64.js → cli-h3k622d0.js} +1 -1
  18. package/dist/{cli-y7v6e7yr.js → cli-hjhvekf4.js} +4 -4
  19. package/dist/{cli-fdnpymsv.js → cli-hsetkkd3.js} +4 -2
  20. package/dist/{cli-8j1h9627.js → cli-mq580e06.js} +61 -14
  21. package/dist/{cli-4ke1amr9.js → cli-ncfgsqbd.js} +63 -7
  22. package/dist/{cli-jrmjxsnk.js → cli-pwc5e83c.js} +3 -3
  23. package/dist/{cli-4f6vw5vy.js → cli-qwgtacd6.js} +2 -2
  24. package/dist/{cli-gchg43wt.js → cli-r5g6ngtn.js} +1 -1
  25. package/dist/{cli-6tfm5fr1.js → cli-tbw13sx8.js} +1 -1
  26. package/dist/{cli-f1f82qgv.js → cli-trmapn9k.js} +5 -5
  27. package/dist/{cli-aqr96mny.js → cli-y4ycrnjc.js} +1 -1
  28. package/dist/{cli-z626gjqj.js → cli-y6mrptcn.js} +1 -1
  29. package/dist/{cli-1aqc46he.js → cli-z46pnksz.js} +5 -5
  30. package/dist/cli.js +11 -10
  31. package/dist/{commands-t3rdvb55.js → commands-z5dbwta3.js} +2 -2
  32. package/dist/{db-mjqc8hj6.js → db-bbgahh4z.js} +2 -2
  33. package/dist/{handlers-mcmg5qgc.js → handlers-6b44317z.js} +9 -9
  34. package/dist/{hook-0p4q1tym.js → hook-sbp5fmps.js} +1 -1
  35. package/dist/{http-gs6fk9sg.js → http-2xz43gz3.js} +356 -94
  36. package/dist/{index-20mf9wvc.js → index-0gzmqj4k.js} +8 -8
  37. package/dist/{index-w15fk28m.js → index-5ghxn8s6.js} +7 -7
  38. package/dist/{index-744yvc8x.js → index-nhat35em.js} +9 -9
  39. package/dist/{index-6zpajd9e.js → index-vfedgdw6.js} +26 -15
  40. package/dist/{keepalive-3gvnbxaj.js → keepalive-62gfj91d.js} +4 -4
  41. package/dist/{lead-yjbmhj3g.js → lead-ag0akn0v.js} +17 -17
  42. package/dist/{maintenance-jbvy2bfg.js → maintenance-xxrrzk5x.js} +4 -4
  43. package/dist/{onboard-sexatejh.js → onboard-64zyfcbs.js} +2 -2
  44. package/dist/{otel-impl-sgqvcw0f.js → otel-impl-b86qseaa.js} +1 -1
  45. package/dist/{pricing-refresh-rat240yg.js → pricing-refresh-cgtkffpa.js} +4 -4
  46. package/dist/{seed-pricing-7yfaf123.js → seed-pricing-1r1y1xkq.js} +3 -3
  47. package/dist/{setup-vm5vcc6c.js → setup-mkcgkjf7.js} +2 -2
  48. package/dist/{worker-02y2r0r2.js → worker-351sze63.js} +17 -17
  49. package/openapi.json +314 -3
  50. package/package.json +4 -3
  51. package/src/be/db.ts +43 -3
  52. package/src/be/memory/providers/sqlite-store.ts +5 -1
  53. package/src/be/migrations/108_rbac_permission_audit.sql +26 -0
  54. package/src/be/rbac-audit.ts +218 -0
  55. package/src/be/scripts/typecheck.ts +2 -0
  56. package/src/commands/runner.ts +154 -8
  57. package/src/github/handlers.ts +128 -25
  58. package/src/http/all-routes.ts +58 -0
  59. package/src/http/config.ts +55 -0
  60. package/src/http/favorites.ts +5 -0
  61. package/src/http/fs.ts +27 -7
  62. package/src/http/index.ts +26 -0
  63. package/src/http/kv.ts +21 -4
  64. package/src/http/route-def.ts +9 -0
  65. package/src/http/schedules.ts +56 -22
  66. package/src/http/scripts.ts +33 -0
  67. package/src/http/workflows.ts +13 -2
  68. package/src/prompts/base-prompt.ts +7 -6
  69. package/src/prompts/session-templates.ts +38 -11
  70. package/src/rbac/can.ts +44 -0
  71. package/src/rbac/index.ts +13 -0
  72. package/src/rbac/legacy-policy.ts +185 -0
  73. package/src/rbac/permissions.ts +182 -0
  74. package/src/rbac/types.ts +45 -0
  75. package/src/scripts-runtime/sdk-allowlist.ts +3 -0
  76. package/src/scripts-runtime/swarm-sdk.ts +81 -0
  77. package/src/scripts-runtime/types/stdlib.d.ts +18 -2
  78. package/src/scripts-runtime/types/swarm-sdk.d.ts +20 -2
  79. package/src/server.ts +6 -0
  80. package/src/slack/message-text.ts +25 -0
  81. package/src/stdio.ts +43 -0
  82. package/src/tests/base-prompt.test.ts +7 -4
  83. package/src/tests/github-event-filter.test.ts +3 -2
  84. package/src/tests/github-handlers-inline-comments.test.ts +114 -24
  85. package/src/tests/harness-provider-resolution.test.ts +5 -0
  86. package/src/tests/http-api-integration.test.ts +8 -1
  87. package/src/tests/prompt-template-session.test.ts +21 -8
  88. package/src/tests/rbac-audit.test.ts +345 -0
  89. package/src/tests/rbac-charact-http.test.ts +272 -0
  90. package/src/tests/rbac-charact-misc-tools.test.ts +428 -0
  91. package/src/tests/rbac-charact-skills.test.ts +492 -0
  92. package/src/tests/rbac-charact-slack.test.ts +283 -0
  93. package/src/tests/rbac-e2e-helpers.ts +305 -0
  94. package/src/tests/rbac-engine.test.ts +433 -0
  95. package/src/tests/rbac-lifecycle-e2e.test.ts +262 -0
  96. package/src/tests/rbac-wire-e2e.test.ts +574 -0
  97. package/src/tests/runner-repo-autostash.test.ts +168 -1
  98. package/src/tests/schedule-http-triage-tools.test.ts +121 -0
  99. package/src/tests/scheduled-tasks.test.ts +34 -0
  100. package/src/tests/scripts-http.test.ts +56 -7
  101. package/src/tests/slack-delete.test.ts +157 -0
  102. package/src/tests/slack-message-text.test.ts +37 -1
  103. package/src/tests/slack-update.test.ts +167 -0
  104. package/src/tests/swarm-config-reserved-keys.test.ts +17 -0
  105. package/src/tests/tool-annotations.test.ts +4 -0
  106. package/src/tests/update-schedule-mcp-tool.test.ts +57 -0
  107. package/src/tests/workflow-http-v2.test.ts +80 -0
  108. package/src/tools/cancel-task.ts +13 -3
  109. package/src/tools/context-diff.ts +12 -1
  110. package/src/tools/context-history.ts +12 -1
  111. package/src/tools/credential-bindings/tool.ts +12 -1
  112. package/src/tools/delete-channel.ts +12 -1
  113. package/src/tools/get-task-details.ts +1 -1
  114. package/src/tools/inject-learning.ts +12 -1
  115. package/src/tools/kv/kv-delete.ts +3 -18
  116. package/src/tools/kv/kv-incr.ts +3 -18
  117. package/src/tools/kv/kv-set.ts +3 -20
  118. package/src/tools/kv/kv-write-auth.ts +40 -0
  119. package/src/tools/manage-user.ts +12 -1
  120. package/src/tools/mcp-servers/mcp-server-create.ts +12 -1
  121. package/src/tools/mcp-servers/mcp-server-delete.ts +12 -1
  122. package/src/tools/mcp-servers/mcp-server-install.ts +12 -1
  123. package/src/tools/mcp-servers/mcp-server-uninstall.ts +12 -1
  124. package/src/tools/mcp-servers/mcp-server-update.ts +12 -1
  125. package/src/tools/memory-delete.ts +12 -4
  126. package/src/tools/register-kapso-number.ts +23 -2
  127. package/src/tools/schedules/create-schedule.ts +4 -3
  128. package/src/tools/schedules/index.ts +1 -0
  129. package/src/tools/schedules/list-schedules.ts +36 -2
  130. package/src/tools/schedules/patch-schedule.ts +405 -0
  131. package/src/tools/schedules/update-schedule.ts +2 -2
  132. package/src/tools/script-connections/tool.ts +12 -1
  133. package/src/tools/skills/skill-create.ts +12 -1
  134. package/src/tools/skills/skill-delete.ts +12 -1
  135. package/src/tools/skills/skill-install-remote.ts +12 -1
  136. package/src/tools/skills/skill-install.ts +12 -1
  137. package/src/tools/skills/skill-uninstall.ts +12 -1
  138. package/src/tools/skills/skill-update.ts +25 -2
  139. package/src/tools/slack-delete.ts +109 -0
  140. package/src/tools/slack-post.ts +8 -1
  141. package/src/tools/slack-read.ts +8 -1
  142. package/src/tools/slack-reply.ts +11 -3
  143. package/src/tools/slack-start-thread.ts +10 -1
  144. package/src/tools/slack-update.ts +134 -0
  145. package/src/tools/slack-upload-file.ts +8 -1
  146. package/src/tools/swarm-config/delete-config.ts +28 -1
  147. package/src/tools/swarm-config/get-config.ts +32 -5
  148. package/src/tools/swarm-config/list-config.ts +31 -5
  149. package/src/tools/swarm-config/set-config.ts +38 -1
  150. package/src/tools/task-action.ts +1 -1
  151. package/src/tools/task-tool-ctx.ts +19 -3
  152. package/src/tools/tool-config.ts +5 -2
  153. package/src/tools/update-profile.ts +8 -1
  154. package/src/tools/workflows/list-workflows.ts +14 -2
  155. package/templates/skills/swarm-scripts/SKILL.md +4 -9
  156. package/templates/skills/swarm-scripts/content.md +20 -9
package/dist/cli.js CHANGED
@@ -64,7 +64,7 @@ var import_react = __toESM(require_react(), 1);
64
64
  // package.json
65
65
  var package_default = {
66
66
  name: "@desplega.ai/agent-swarm",
67
- version: "1.111.0",
67
+ version: "1.113.0",
68
68
  description: "Multi-agent orchestration for Claude Code, Codex, Gemini CLI, and other AI coding assistants",
69
69
  license: "MIT",
70
70
  author: "desplega.sh <contact@desplega.sh>",
@@ -132,6 +132,7 @@ var package_default = {
132
132
  "check:db-boundary": "bash scripts/check-db-boundary.sh",
133
133
  "check:dep-graph": "depcruise src plugin/opencode-plugins --config .dependency-cruiser.cjs",
134
134
  "check:api-key-boundary": "bash scripts/check-api-key-boundary.sh",
135
+ "check:rbac-coverage": "bun scripts/check-rbac-coverage.ts",
135
136
  "check:audit-columns": "bash scripts/check-audit-columns.sh",
136
137
  "lint:structure": "konsistent check",
137
138
  "prepare-release": "bun scripts/prepare-release.ts",
@@ -209,8 +210,8 @@ var package_default = {
209
210
  "@inkjs/ui": "^2.0.0",
210
211
  "@linear/sdk": "^77.0.0",
211
212
  "@modelcontextprotocol/sdk": "^1.25.1",
212
- "@openai/codex-sdk": "^0.142.5",
213
- "@opencode-ai/sdk": "^1.17.13",
213
+ "@openai/codex-sdk": "^0.143.0",
214
+ "@opencode-ai/sdk": "^1.17.15",
214
215
  "@openfort/openfort-node": "^0.9.1",
215
216
  "@opentelemetry/api": "^1.9.1",
216
217
  "@opentelemetry/exporter-metrics-otlp-http": "^0.218.0",
@@ -645,7 +646,7 @@ function McpServer({ port, apiKey, dbPath }) {
645
646
  if (dbPath) {
646
647
  process.env.DATABASE_PATH = dbPath;
647
648
  }
648
- import("./http-gs6fk9sg.js").then(() => {
649
+ import("./http-2xz43gz3.js").then(() => {
649
650
  setStatus("running");
650
651
  }).catch((err) => {
651
652
  setStatus("error");
@@ -731,7 +732,7 @@ function WorkerRunner({
731
732
  }) {
732
733
  const { exit } = use_app_default();
733
734
  import_react.useEffect(() => {
734
- import("./worker-02y2r0r2.js").then(({ runWorker }) => runWorker({
735
+ import("./worker-351sze63.js").then(({ runWorker }) => runWorker({
735
736
  prompt: prompt || undefined,
736
737
  yolo,
737
738
  systemPrompt: systemPrompt || undefined,
@@ -748,7 +749,7 @@ function WorkerRunner({
748
749
  function LeadRunner({ prompt, yolo, systemPrompt, systemPromptFile, additionalArgs }) {
749
750
  const { exit } = use_app_default();
750
751
  import_react.useEffect(() => {
751
- import("./lead-yjbmhj3g.js").then(({ runLead }) => runLead({
752
+ import("./lead-ag0akn0v.js").then(({ runLead }) => runLead({
752
753
  prompt: prompt || undefined,
753
754
  yolo,
754
755
  systemPrompt: systemPrompt || undefined,
@@ -788,8 +789,8 @@ function LazyComponent({
788
789
  }
789
790
  return import_react.createElement(Component, props);
790
791
  }
791
- var loadOnboard = () => import("./onboard-sexatejh.js").then(({ Onboard }) => Onboard);
792
- var loadConnect = () => import("./setup-vm5vcc6c.js").then(({ Setup }) => Setup);
792
+ var loadOnboard = () => import("./onboard-64zyfcbs.js").then(({ Onboard }) => Onboard);
793
+ var loadConnect = () => import("./setup-mkcgkjf7.js").then(({ Setup }) => Setup);
793
794
  function UnknownCommand({ command }) {
794
795
  const { exit } = use_app_default();
795
796
  import_react.useEffect(() => {
@@ -902,7 +903,7 @@ ${binName} docs \u2014 v${package_default.version}
902
903
  }
903
904
  process.exit(0);
904
905
  } else if (args.command === "hook") {
905
- const { runHook } = await import("./hook-0p4q1tym.js");
906
+ const { runHook } = await import("./hook-sbp5fmps.js");
906
907
  await runHook();
907
908
  } else if (args.command === "artifact") {
908
909
  const artifactArgs = process.argv.slice(process.argv.indexOf("artifact") + 1);
@@ -922,7 +923,7 @@ ${binName} docs \u2014 v${package_default.version}
922
923
  printHelp("scripts");
923
924
  process.exit(scriptsArgs[0] === "reembed" || args.showHelp ? 0 : 1);
924
925
  }
925
- const { runScriptsMaintenanceCommand } = await import("./maintenance-jbvy2bfg.js");
926
+ const { runScriptsMaintenanceCommand } = await import("./maintenance-xxrrzk5x.js");
926
927
  await runScriptsMaintenanceCommand(scriptsArgs);
927
928
  console.log("Scripts re-embedded.");
928
929
  } else if (args.command === "codex-login") {
@@ -2,11 +2,11 @@ import {
2
2
  getAllAgents,
3
3
  getAllTasks,
4
4
  init_db
5
- } from "./cli-4ke1amr9.js";
5
+ } from "./cli-ncfgsqbd.js";
6
6
  import"./cli-z2zcxes1.js";
7
7
  import"./cli-q21d49ac.js";
8
8
  import"./cli-anrj584m.js";
9
- import"./cli-kavm2cv5.js";
9
+ import"./cli-c3frqf65.js";
10
10
  import"./cli-4j2mrzag.js";
11
11
  import"./cli-p9swy5t3.js";
12
12
 
@@ -385,11 +385,11 @@ import {
385
385
  upsertSkillFiles,
386
386
  upsertSwarmConfig,
387
387
  withFavoriteFlags
388
- } from "./cli-4ke1amr9.js";
388
+ } from "./cli-ncfgsqbd.js";
389
389
  import"./cli-z2zcxes1.js";
390
390
  import"./cli-q21d49ac.js";
391
391
  import"./cli-anrj584m.js";
392
- import"./cli-kavm2cv5.js";
392
+ import"./cli-c3frqf65.js";
393
393
  import"./cli-4j2mrzag.js";
394
394
  import"./cli-p9swy5t3.js";
395
395
  init_db();
@@ -3,24 +3,24 @@ import {
3
3
  getBufferMessageCount,
4
4
  instantFlush,
5
5
  wasEventSeen
6
- } from "./cli-y7v6e7yr.js";
6
+ } from "./cli-hjhvekf4.js";
7
7
  import {
8
8
  extractSlackMessageText,
9
9
  extractTaskFromMessage,
10
10
  hasOtherUserMention,
11
11
  routeMessage
12
- } from "./cli-xqzvygxp.js";
12
+ } from "./cli-bgvskydy.js";
13
13
  import {
14
14
  registerTreeMessage
15
- } from "./cli-f1f82qgv.js";
15
+ } from "./cli-trmapn9k.js";
16
16
  import"./cli-rkndnn90.js";
17
17
  import"./cli-b0p7rfnd.js";
18
18
  import {
19
19
  enrichSlackUserEmail,
20
20
  resolveSlackUserId
21
- } from "./cli-jrmjxsnk.js";
22
- import"./cli-2b0ew5v8.js";
23
- import"./cli-0d404x64.js";
21
+ } from "./cli-pwc5e83c.js";
22
+ import"./cli-c9mtm09b.js";
23
+ import"./cli-h3k622d0.js";
24
24
  import {
25
25
  buildTreeBlocks
26
26
  } from "./cli-6xd0bvf8.js";
@@ -28,7 +28,7 @@ import"./cli-wspgs9bt.js";
28
28
  import {
29
29
  createTaskWithSiblingAwareness,
30
30
  slackContextKey
31
- } from "./cli-aqr96mny.js";
31
+ } from "./cli-y4ycrnjc.js";
32
32
  import"./cli-dh55d5fg.js";
33
33
  import {
34
34
  getAgentById,
@@ -39,11 +39,11 @@ import {
39
39
  init_db,
40
40
  init_resolver,
41
41
  resolveTemplate
42
- } from "./cli-4ke1amr9.js";
42
+ } from "./cli-ncfgsqbd.js";
43
43
  import"./cli-z2zcxes1.js";
44
44
  import"./cli-q21d49ac.js";
45
45
  import"./cli-anrj584m.js";
46
- import"./cli-kavm2cv5.js";
46
+ import"./cli-c3frqf65.js";
47
47
  import"./cli-4j2mrzag.js";
48
48
  import"./cli-e15jhafb.js";
49
49
  import {
@@ -30,7 +30,7 @@ import"./cli-anrj584m.js";
30
30
  import {
31
31
  init_package,
32
32
  package_default
33
- } from "./cli-kavm2cv5.js";
33
+ } from "./cli-c3frqf65.js";
34
34
  import"./cli-4j2mrzag.js";
35
35
  import"./cli-xw7p4wkq.js";
36
36
  import"./cli-4wgngmwv.js";