@desplega.ai/agent-swarm 1.103.0 → 1.104.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 (122) hide show
  1. package/README.md +2 -0
  2. package/dist/{actions-7txktrdj.js → actions-2expzt47.js} +6 -6
  3. package/dist/{app-xm3xsdye.js → app-dr8hwx7z.js} +3 -3
  4. package/dist/{assistant-qpv63wk6.js → assistant-9rhgsw7v.js} +9 -10
  5. package/dist/{boot-reembed-chxhrwv8.js → boot-reembed-3q1aywnz.js} +5 -4
  6. package/dist/{boot-reembed-9cxqka3e.js → boot-reembed-9kt97g1z.js} +4 -3
  7. package/dist/{boot-scrub-logs-8qtfkcz8.js → boot-scrub-logs-vskq108e.js} +2 -2
  8. package/dist/{cli-fedn86nz.js → cli-0jw6j755.js} +8 -3
  9. package/dist/{cli-yeemwevj.js → cli-23zk7xqy.js} +20 -16
  10. package/dist/{cli-v9283nma.js → cli-2g9jf9ek.js} +1 -1
  11. package/dist/{cli-rvae030h.js → cli-2hap19dv.js} +3 -3
  12. package/dist/{cli-wjyyv518.js → cli-3j01d33e.js} +9 -14
  13. package/dist/{cli-8hyv6c2v.js → cli-54h5daha.js} +41 -23
  14. package/dist/{cli-fygaw191.js → cli-5pf0b84v.js} +2 -2
  15. package/dist/{cli-m8f6qzck.js → cli-7v4y3hyd.js} +1 -1
  16. package/dist/{cli-fwxdt7kt.js → cli-d4z1csms.js} +30 -5
  17. package/dist/{cli-jt9d9fjw.js → cli-e7bwjntj.js} +1 -1
  18. package/dist/{cli-s14sb64w.js → cli-etvgz5x8.js} +5 -7
  19. package/dist/{cli-2qynerth.js → cli-gj2n2ec1.js} +1 -1
  20. package/dist/{cli-dz3d6zjg.js → cli-nzc0h54v.js} +121 -2
  21. package/dist/{cli-8w95v19d.js → cli-p4cj4vhc.js} +351 -24
  22. package/dist/{cli-xmtsan9k.js → cli-q5tshxd6.js} +1 -1
  23. package/dist/{http-zts4haq7.js → cli-qvzgncd8.js} +83966 -76422
  24. package/dist/{cli-4fnp2tc3.js → cli-s42f54ja.js} +1 -1
  25. package/dist/{cli-krvxq8bc.js → cli-t9v14cnd.js} +23 -4
  26. package/dist/{cli-gzepjz54.js → cli-v1syqkcb.js} +900 -352
  27. package/dist/{cli-ksq38x4n.js → cli-w1nfskkg.js} +2 -2
  28. package/dist/{cli-ns0r7mkr.js → cli-y9p3e94h.js} +3 -3
  29. package/dist/{cli-85pf4z38.js → cli-yjt8a36k.js} +3 -3
  30. package/dist/{cli-yfwwjeft.js → cli-yvektv79.js} +1 -1
  31. package/dist/{cli-kk51f3tf.js → cli-zaxksbgj.js} +5 -5
  32. package/dist/{cli-rttgde5f.js → cli-zghef0em.js} +1 -1
  33. package/dist/cli.js +10 -10
  34. package/dist/{commands-aqn63mcw.js → commands-wfrkef57.js} +2 -2
  35. package/dist/{db-azrvwsnj.js → db-c42pxt7h.js} +2 -2
  36. package/dist/{handlers-hf61har3.js → handlers-n36zkfvx.js} +10 -12
  37. package/dist/{hook-306p3yz4.js → hook-gw3vhv6s.js} +7 -5
  38. package/dist/http-59ygpn2h.js +17263 -0
  39. package/dist/{index-h2yqjyk0.js → index-881c1baf.js} +9 -8
  40. package/dist/{index-29vg51x6.js → index-jca7jdpt.js} +23 -10
  41. package/dist/{index-bfh9hgek.js → index-xf6fp4y1.js} +5 -5
  42. package/dist/{index-3c651yfk.js → index-xz8vaa5c.js} +14 -11
  43. package/dist/{keepalive-a0dg5pds.js → keepalive-mj4302vw.js} +4 -4
  44. package/dist/{lead-7mcxedkc.js → lead-qm0xjvkv.js} +19 -19
  45. package/dist/{maintenance-mrzqd53t.js → maintenance-xppxbe4t.js} +5 -4
  46. package/dist/{onboard-4dkpv9wa.js → onboard-ejx6yxh8.js} +2 -2
  47. package/dist/{otel-impl-jt7gpyp9.js → otel-impl-zs5exkpk.js} +1 -1
  48. package/dist/{pricing-refresh-xqnzh8dt.js → pricing-refresh-nqyf8bkb.js} +4 -4
  49. package/dist/{seed-pricing-56tjm1fj.js → seed-pricing-w3x550cj.js} +3 -3
  50. package/dist/{setup-tbwk8j10.js → setup-7729ktfj.js} +2 -2
  51. package/dist/{worker-e03za92t.js → worker-4ttemwhw.js} +19 -19
  52. package/openapi.json +90 -4
  53. package/package.json +3 -3
  54. package/src/be/memory/constants.ts +6 -0
  55. package/src/be/memory/providers/sqlite-store.ts +468 -71
  56. package/src/be/memory/raters/retrieval.ts +4 -2
  57. package/src/be/memory/reranker.ts +5 -2
  58. package/src/be/memory/retrieval-store.ts +2 -0
  59. package/src/be/memory/types.ts +46 -0
  60. package/src/be/migrations/099_memory_structured_key_versioning.sql +41 -0
  61. package/src/be/migrations/100_memory_retrieval_source.sql +8 -0
  62. package/src/be/migrations/101_script_connections.sql +67 -0
  63. package/src/be/script-connections.ts +744 -0
  64. package/src/be/script-credential-broker.ts +38 -0
  65. package/src/be/scripts/typecheck.ts +23 -2
  66. package/src/be/seed-scripts/catalog/boot-triage.inline.ts +16 -4
  67. package/src/be/seed-scripts/catalog/boot-triage.ts +16 -4
  68. package/src/commands/runner.ts +8 -6
  69. package/src/heartbeat/heartbeat.ts +42 -1
  70. package/src/heartbeat/index.ts +7 -1
  71. package/src/http/memory.ts +127 -14
  72. package/src/http/scripts.ts +15 -14
  73. package/src/scripts-runtime/api-client.ts +100 -0
  74. package/src/scripts-runtime/api-types.ts +45 -0
  75. package/src/scripts-runtime/credential-broker/README.md +40 -0
  76. package/src/scripts-runtime/credential-broker/broker.ts +51 -0
  77. package/src/scripts-runtime/credential-broker/default-bindings.ts +19 -0
  78. package/src/scripts-runtime/credential-broker/fetch-patch.ts +102 -0
  79. package/src/scripts-runtime/credential-broker/index.ts +17 -0
  80. package/src/scripts-runtime/credential-broker/store.ts +72 -0
  81. package/src/scripts-runtime/credential-broker/types.ts +54 -0
  82. package/src/scripts-runtime/ctx.ts +11 -1
  83. package/src/scripts-runtime/egress-secrets.ts +14 -76
  84. package/src/scripts-runtime/eval-harness.ts +1 -1
  85. package/src/scripts-runtime/executors/types.ts +5 -5
  86. package/src/scripts-runtime/loader.ts +6 -1
  87. package/src/scripts-runtime/sdk-allowlist.ts +1 -0
  88. package/src/scripts-runtime/types/stdlib.d.ts +11 -0
  89. package/src/scripts-runtime/types/swarm-sdk.d.ts +11 -0
  90. package/src/server.ts +6 -0
  91. package/src/tests/credential-broker.test.ts +281 -0
  92. package/src/tests/heartbeat.test.ts +239 -0
  93. package/src/tests/memory-edit.test.ts +177 -0
  94. package/src/tests/memory-hybrid.test.ts +212 -0
  95. package/src/tests/runner-repo-autostash.test.ts +39 -8
  96. package/src/tests/script-connections.test.ts +360 -0
  97. package/src/tests/scripts-http.test.ts +16 -10
  98. package/src/tests/scripts-runtime-secret-egress.test.ts +26 -5
  99. package/src/tests/swarm-config-reserved-keys.test.ts +23 -0
  100. package/src/tests/update-schedule-mcp-tool.test.ts +83 -4
  101. package/src/tools/credential-bindings/index.ts +1 -0
  102. package/src/tools/credential-bindings/tool.ts +238 -0
  103. package/src/tools/memory-edit.ts +148 -0
  104. package/src/tools/memory-search.ts +17 -10
  105. package/src/tools/schedules/delete-schedule.ts +18 -8
  106. package/src/tools/schedules/update-schedule.ts +4 -9
  107. package/src/tools/script-connections/index.ts +1 -0
  108. package/src/tools/script-connections/tool.ts +167 -0
  109. package/src/tools/swarm-config/delete-config.ts +5 -0
  110. package/src/tools/swarm-config/set-config.ts +23 -1
  111. package/src/tools/tool-config.ts +6 -1
  112. package/src/types.ts +6 -0
  113. package/src/workflows/executors/swarm-script.ts +2 -0
  114. package/templates/community/dora-metrics/PLAYBOOK.md +294 -0
  115. package/templates/community/dora-metrics/README.md +39 -0
  116. package/templates/community/dora-metrics/lead-prompt.md +56 -0
  117. package/templates/community/dora-metrics/report.mjs +393 -0
  118. package/templates/community/dora-metrics/run.sh +113 -0
  119. package/templates/schedules/weekly-dora-metrics/config.json +13 -0
  120. package/templates/schedules/weekly-dora-metrics/content.md +61 -0
  121. package/dist/cli-2307phk1.js +0 -24223
  122. package/dist/cli-2deg0cen.js +0 -120
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  buildModelsDevSeedRows
3
- } from "./cli-m8f6qzck.js";
3
+ } from "./cli-7v4y3hyd.js";
4
4
  import {
5
5
  createLogEntry,
6
6
  getActivePricingRow,
7
7
  getDb,
8
8
  init_db,
9
9
  insertPricingRow
10
- } from "./cli-fedn86nz.js";
10
+ } from "./cli-0jw6j755.js";
11
11
  import {
12
12
  init_secret_scrubber,
13
13
  scrubSecrets
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  handleScheduleTrigger
3
- } from "./cli-rttgde5f.js";
3
+ } from "./cli-zghef0em.js";
4
4
  import {
5
5
  createTaskWithSiblingAwareness,
6
6
  scheduleContextKey
7
- } from "./cli-jt9d9fjw.js";
7
+ } from "./cli-e7bwjntj.js";
8
8
  import {
9
9
  getDb,
10
10
  getDueScheduledTasks,
@@ -13,7 +13,7 @@ import {
13
13
  init_telemetry,
14
14
  telemetry,
15
15
  updateScheduledTask
16
- } from "./cli-fedn86nz.js";
16
+ } from "./cli-0jw6j755.js";
17
17
  import {
18
18
  __commonJS,
19
19
  __require,
@@ -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.103.0",
10
+ version: "1.104.0",
11
11
  description: "Multi-agent orchestration for Claude Code, Codex, Gemini CLI, and other AI coding assistants",
12
12
  license: "MIT",
13
13
  author: "desplega.sh <contact@desplega.sh>",
@@ -127,8 +127,8 @@ var init_package = __esm(() => {
127
127
  "@inkjs/ui": "^2.0.0",
128
128
  "@linear/sdk": "^77.0.0",
129
129
  "@modelcontextprotocol/sdk": "^1.25.1",
130
- "@openai/codex-sdk": "^0.142.0",
131
- "@opencode-ai/sdk": "^1.17.9",
130
+ "@openai/codex-sdk": "^0.142.3",
131
+ "@opencode-ai/sdk": "^1.17.11",
132
132
  "@openfort/openfort-node": "^0.9.1",
133
133
  "@opentelemetry/api": "^1.9.1",
134
134
  "@opentelemetry/exporter-trace-otlp-http": "^0.218.0",
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getDb,
3
3
  init_db
4
- } from "./cli-fedn86nz.js";
4
+ } from "./cli-0jw6j755.js";
5
5
 
6
6
  // src/be/users.ts
7
7
  init_db();
@@ -25,7 +25,7 @@ import {
25
25
  getTaskById,
26
26
  init_db,
27
27
  setSlackMessageTracking
28
- } from "./cli-fedn86nz.js";
28
+ } from "./cli-0jw6j755.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-hf61har3.js");
54984
- const { registerCommandHandler } = await import("./commands-aqn63mcw.js");
54985
- const { registerActionHandlers } = await import("./actions-7txktrdj.js");
54983
+ const { registerMessageHandler } = await import("./handlers-n36zkfvx.js");
54984
+ const { registerCommandHandler } = await import("./commands-wfrkef57.js");
54985
+ const { registerActionHandlers } = await import("./actions-2expzt47.js");
54986
54986
  registerMessageHandler(app);
54987
54987
  registerCommandHandler(app);
54988
54988
  registerActionHandlers(app);
54989
- const { createAssistant } = await import("./assistant-qpv63wk6.js");
54989
+ const { createAssistant } = await import("./assistant-9rhgsw7v.js");
54990
54990
  app.assistant(createAssistant());
54991
54991
  return app;
54992
54992
  }
@@ -20,7 +20,7 @@ import {
20
20
  telemetry,
21
21
  updateWorkflowRun,
22
22
  updateWorkflowRunStep
23
- } from "./cli-fedn86nz.js";
23
+ } from "./cli-0jw6j755.js";
24
24
  import {
25
25
  init_secret_scrubber,
26
26
  isSensitiveKey
package/dist/cli.js CHANGED
@@ -62,7 +62,7 @@ var import_react = __toESM(require_react(), 1);
62
62
  // package.json
63
63
  var package_default = {
64
64
  name: "@desplega.ai/agent-swarm",
65
- version: "1.103.0",
65
+ version: "1.104.0",
66
66
  description: "Multi-agent orchestration for Claude Code, Codex, Gemini CLI, and other AI coding assistants",
67
67
  license: "MIT",
68
68
  author: "desplega.sh <contact@desplega.sh>",
@@ -182,8 +182,8 @@ var package_default = {
182
182
  "@inkjs/ui": "^2.0.0",
183
183
  "@linear/sdk": "^77.0.0",
184
184
  "@modelcontextprotocol/sdk": "^1.25.1",
185
- "@openai/codex-sdk": "^0.142.0",
186
- "@opencode-ai/sdk": "^1.17.9",
185
+ "@openai/codex-sdk": "^0.142.3",
186
+ "@opencode-ai/sdk": "^1.17.11",
187
187
  "@openfort/openfort-node": "^0.9.1",
188
188
  "@opentelemetry/api": "^1.9.1",
189
189
  "@opentelemetry/exporter-trace-otlp-http": "^0.218.0",
@@ -616,7 +616,7 @@ function McpServer({ port, apiKey, dbPath }) {
616
616
  if (dbPath) {
617
617
  process.env.DATABASE_PATH = dbPath;
618
618
  }
619
- import("./http-zts4haq7.js").then(() => {
619
+ import("./http-59ygpn2h.js").then(() => {
620
620
  setStatus("running");
621
621
  }).catch((err) => {
622
622
  setStatus("error");
@@ -702,7 +702,7 @@ function WorkerRunner({
702
702
  }) {
703
703
  const { exit } = use_app_default();
704
704
  import_react.useEffect(() => {
705
- import("./worker-e03za92t.js").then(({ runWorker }) => runWorker({
705
+ import("./worker-4ttemwhw.js").then(({ runWorker }) => runWorker({
706
706
  prompt: prompt || undefined,
707
707
  yolo,
708
708
  systemPrompt: systemPrompt || undefined,
@@ -719,7 +719,7 @@ function WorkerRunner({
719
719
  function LeadRunner({ prompt, yolo, systemPrompt, systemPromptFile, additionalArgs }) {
720
720
  const { exit } = use_app_default();
721
721
  import_react.useEffect(() => {
722
- import("./lead-7mcxedkc.js").then(({ runLead }) => runLead({
722
+ import("./lead-qm0xjvkv.js").then(({ runLead }) => runLead({
723
723
  prompt: prompt || undefined,
724
724
  yolo,
725
725
  systemPrompt: systemPrompt || undefined,
@@ -759,8 +759,8 @@ function LazyComponent({
759
759
  }
760
760
  return import_react.createElement(Component, props);
761
761
  }
762
- var loadOnboard = () => import("./onboard-4dkpv9wa.js").then(({ Onboard }) => Onboard);
763
- var loadConnect = () => import("./setup-tbwk8j10.js").then(({ Setup }) => Setup);
762
+ var loadOnboard = () => import("./onboard-ejx6yxh8.js").then(({ Onboard }) => Onboard);
763
+ var loadConnect = () => import("./setup-7729ktfj.js").then(({ Setup }) => Setup);
764
764
  function UnknownCommand({ command }) {
765
765
  const { exit } = use_app_default();
766
766
  import_react.useEffect(() => {
@@ -873,7 +873,7 @@ ${binName} docs \u2014 v${package_default.version}
873
873
  }
874
874
  process.exit(0);
875
875
  } else if (args.command === "hook") {
876
- const { runHook } = await import("./hook-306p3yz4.js");
876
+ const { runHook } = await import("./hook-gw3vhv6s.js");
877
877
  await runHook();
878
878
  } else if (args.command === "artifact") {
879
879
  const artifactArgs = process.argv.slice(process.argv.indexOf("artifact") + 1);
@@ -893,7 +893,7 @@ ${binName} docs \u2014 v${package_default.version}
893
893
  printHelp("scripts");
894
894
  process.exit(scriptsArgs[0] === "reembed" || args.showHelp ? 0 : 1);
895
895
  }
896
- const { runScriptsMaintenanceCommand } = await import("./maintenance-mrzqd53t.js");
896
+ const { runScriptsMaintenanceCommand } = await import("./maintenance-xppxbe4t.js");
897
897
  await runScriptsMaintenanceCommand(scriptsArgs);
898
898
  console.log("Scripts re-embedded.");
899
899
  } else if (args.command === "codex-login") {
@@ -2,11 +2,11 @@ import {
2
2
  getAllAgents,
3
3
  getAllTasks,
4
4
  init_db
5
- } from "./cli-fedn86nz.js";
5
+ } from "./cli-0jw6j755.js";
6
6
  import"./cli-z2zcxes1.js";
7
7
  import"./cli-q21d49ac.js";
8
8
  import"./cli-anrj584m.js";
9
- import"./cli-85pf4z38.js";
9
+ import"./cli-yjt8a36k.js";
10
10
  import"./cli-3pp1362w.js";
11
11
  import"./cli-p9swy5t3.js";
12
12
 
@@ -376,11 +376,11 @@ import {
376
376
  upsertSkillFile,
377
377
  upsertSkillFiles,
378
378
  upsertSwarmConfig
379
- } from "./cli-fedn86nz.js";
379
+ } from "./cli-0jw6j755.js";
380
380
  import"./cli-z2zcxes1.js";
381
381
  import"./cli-q21d49ac.js";
382
382
  import"./cli-anrj584m.js";
383
- import"./cli-85pf4z38.js";
383
+ import"./cli-yjt8a36k.js";
384
384
  import"./cli-3pp1362w.js";
385
385
  import"./cli-p9swy5t3.js";
386
386
  init_db();
@@ -3,26 +3,24 @@ import {
3
3
  getBufferMessageCount,
4
4
  instantFlush,
5
5
  wasEventSeen
6
- } from "./cli-s14sb64w.js";
6
+ } from "./cli-etvgz5x8.js";
7
7
  import {
8
+ extractSlackMessageText,
8
9
  extractTaskFromMessage,
9
10
  hasOtherUserMention,
10
11
  routeMessage
11
- } from "./cli-dz3d6zjg.js";
12
- import {
13
- extractSlackMessageText
14
- } from "./cli-2deg0cen.js";
12
+ } from "./cli-nzc0h54v.js";
15
13
  import {
16
14
  registerTreeMessage
17
- } from "./cli-kk51f3tf.js";
15
+ } from "./cli-zaxksbgj.js";
18
16
  import"./cli-fete3y1e.js";
19
17
  import"./cli-b0p7rfnd.js";
20
18
  import {
21
19
  enrichSlackUserEmail,
22
20
  resolveSlackUserId
23
- } from "./cli-rvae030h.js";
24
- import"./cli-2qynerth.js";
25
- import"./cli-yfwwjeft.js";
21
+ } from "./cli-2hap19dv.js";
22
+ import"./cli-gj2n2ec1.js";
23
+ import"./cli-yvektv79.js";
26
24
  import {
27
25
  buildTreeBlocks
28
26
  } from "./cli-z92pkwzn.js";
@@ -30,7 +28,7 @@ import"./cli-dh55d5fg.js";
30
28
  import {
31
29
  createTaskWithSiblingAwareness,
32
30
  slackContextKey
33
- } from "./cli-jt9d9fjw.js";
31
+ } from "./cli-e7bwjntj.js";
34
32
  import {
35
33
  getAgentById,
36
34
  getAgentWorkingOnThread,
@@ -40,11 +38,11 @@ import {
40
38
  init_db,
41
39
  init_resolver,
42
40
  resolveTemplate
43
- } from "./cli-fedn86nz.js";
41
+ } from "./cli-0jw6j755.js";
44
42
  import"./cli-z2zcxes1.js";
45
43
  import"./cli-q21d49ac.js";
46
44
  import"./cli-anrj584m.js";
47
- import"./cli-85pf4z38.js";
45
+ import"./cli-yjt8a36k.js";
48
46
  import"./cli-3pp1362w.js";
49
47
  import"./cli-e15jhafb.js";
50
48
  import {
@@ -1,7 +1,3 @@
1
- import {
2
- contentSha256,
3
- readIdentityBaselines
4
- } from "./cli-wjyyv518.js";
5
1
  import {
6
2
  summarizeSession
7
3
  } from "./cli-p03mawph.js";
@@ -21,6 +17,11 @@ import {
21
17
  import {
22
18
  getApiKey
23
19
  } from "./cli-f14fvzag.js";
20
+ import {
21
+ contentSha256,
22
+ init_profile_sync,
23
+ readIdentityBaselines
24
+ } from "./cli-3j01d33e.js";
24
25
  import {
25
26
  getMcpBaseUrl
26
27
  } from "./cli-dh55d5fg.js";
@@ -29,7 +30,7 @@ import"./cli-anrj584m.js";
29
30
  import {
30
31
  init_package,
31
32
  package_default
32
- } from "./cli-85pf4z38.js";
33
+ } from "./cli-yjt8a36k.js";
33
34
  import"./cli-3pp1362w.js";
34
35
  import"./cli-xw7p4wkq.js";
35
36
  import"./cli-4wgngmwv.js";
@@ -39,6 +40,7 @@ import"./cli-p9swy5t3.js";
39
40
 
40
41
  // src/hooks/hook.ts
41
42
  init_package();
43
+ init_profile_sync();
42
44
  var SERVER_NAME = package_default.config?.name ?? "agent-swarm";
43
45
  var CLAUDE_MD_PATH = `${process.env.HOME}/.claude/CLAUDE.md`;
44
46
  var CLAUDE_MD_BACKUP_PATH = `${process.env.HOME}/.claude/CLAUDE.md.bak`;