@desplega.ai/agent-swarm 1.103.0 → 1.105.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 (129) hide show
  1. package/README.md +3 -0
  2. package/dist/{actions-7txktrdj.js → actions-45g8tvc8.js} +6 -6
  3. package/dist/{app-xm3xsdye.js → app-18x5k1cj.js} +3 -3
  4. package/dist/{assistant-qpv63wk6.js → assistant-ka281qe8.js} +9 -10
  5. package/dist/{boot-reembed-9cxqka3e.js → boot-reembed-f38vbxw8.js} +4 -3
  6. package/dist/{boot-reembed-chxhrwv8.js → boot-reembed-rp2gba79.js} +5 -4
  7. package/dist/{boot-scrub-logs-8qtfkcz8.js → boot-scrub-logs-nsnc9f1a.js} +2 -2
  8. package/dist/{cli-gzepjz54.js → cli-0e24r2b6.js} +900 -352
  9. package/dist/{cli-dz3d6zjg.js → cli-0n4xxmy0.js} +121 -2
  10. package/dist/{cli-jt9d9fjw.js → cli-0s37sw3k.js} +1 -1
  11. package/dist/{cli-yeemwevj.js → cli-2hg6bj31.js} +20 -16
  12. package/dist/{cli-wjyyv518.js → cli-3j01d33e.js} +9 -14
  13. package/dist/{cli-xmtsan9k.js → cli-4df7btj0.js} +1 -1
  14. package/dist/{cli-8w95v19d.js → cli-634jy7sa.js} +351 -24
  15. package/dist/{cli-m8f6qzck.js → cli-7esh9fda.js} +1 -1
  16. package/dist/{cli-4fnp2tc3.js → cli-87fj1jk4.js} +1 -1
  17. package/dist/{cli-ksq38x4n.js → cli-8y7y1vmp.js} +2 -2
  18. package/dist/{cli-rvae030h.js → cli-ba47wf2q.js} +3 -3
  19. package/dist/{cli-2qynerth.js → cli-c4h8m0m3.js} +1 -1
  20. package/dist/{cli-fygaw191.js → cli-dd6tegmp.js} +2 -2
  21. package/dist/{cli-85pf4z38.js → cli-ehcjr5vs.js} +5 -3
  22. package/dist/{cli-rttgde5f.js → cli-gq7gvvrn.js} +1 -1
  23. package/dist/{cli-kk51f3tf.js → cli-gzmv1371.js} +5 -5
  24. package/dist/{http-zts4haq7.js → cli-sdf2qwkt.js} +83970 -76419
  25. package/dist/{cli-krvxq8bc.js → cli-sm9yseh1.js} +23 -4
  26. package/dist/{cli-8hyv6c2v.js → cli-v2fb1fxf.js} +41 -23
  27. package/dist/{cli-fwxdt7kt.js → cli-vpwffend.js} +30 -5
  28. package/dist/{cli-fedn86nz.js → cli-wztagmpk.js} +8 -3
  29. package/dist/{cli-v9283nma.js → cli-yd29d4n4.js} +1 -1
  30. package/dist/{cli-yfwwjeft.js → cli-yfyqsqzj.js} +1 -1
  31. package/dist/{cli-ns0r7mkr.js → cli-yzr0qxx1.js} +3 -3
  32. package/dist/{cli-s14sb64w.js → cli-zmta7t3y.js} +5 -7
  33. package/dist/cli.js +12 -10
  34. package/dist/{commands-aqn63mcw.js → commands-tn8zj0an.js} +2 -2
  35. package/dist/{db-azrvwsnj.js → db-gtqymk7r.js} +2 -2
  36. package/dist/{handlers-hf61har3.js → handlers-5xdqk40d.js} +10 -12
  37. package/dist/{hook-306p3yz4.js → hook-gj6j6zwj.js} +7 -5
  38. package/dist/http-4pceba9h.js +17374 -0
  39. package/dist/{index-bfh9hgek.js → index-0rfp6wh2.js} +5 -5
  40. package/dist/{index-3c651yfk.js → index-as4evz9g.js} +14 -11
  41. package/dist/{index-h2yqjyk0.js → index-paaw4xt5.js} +9 -8
  42. package/dist/{index-29vg51x6.js → index-wf0q4k03.js} +23 -10
  43. package/dist/{keepalive-a0dg5pds.js → keepalive-akbzjt41.js} +4 -4
  44. package/dist/{lead-7mcxedkc.js → lead-g8v85nf4.js} +19 -19
  45. package/dist/{maintenance-mrzqd53t.js → maintenance-9yrzmrh8.js} +5 -4
  46. package/dist/{onboard-4dkpv9wa.js → onboard-v5bx0kpy.js} +2 -2
  47. package/dist/{otel-impl-jt7gpyp9.js → otel-impl-530442da.js} +4510 -4465
  48. package/dist/{pricing-refresh-xqnzh8dt.js → pricing-refresh-dt289v11.js} +4 -4
  49. package/dist/{seed-pricing-56tjm1fj.js → seed-pricing-183er9b3.js} +3 -3
  50. package/dist/{setup-tbwk8j10.js → setup-tjgsvznx.js} +2 -2
  51. package/dist/{worker-e03za92t.js → worker-nxcxk5pb.js} +19 -19
  52. package/openapi.json +90 -4
  53. package/package.json +5 -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/pages-public.ts +123 -2
  73. package/src/http/scripts.ts +15 -14
  74. package/src/http/session-data.ts +16 -0
  75. package/src/otel-impl.ts +73 -0
  76. package/src/otel.ts +12 -0
  77. package/src/scripts-runtime/api-client.ts +100 -0
  78. package/src/scripts-runtime/api-types.ts +45 -0
  79. package/src/scripts-runtime/credential-broker/README.md +40 -0
  80. package/src/scripts-runtime/credential-broker/broker.ts +51 -0
  81. package/src/scripts-runtime/credential-broker/default-bindings.ts +19 -0
  82. package/src/scripts-runtime/credential-broker/fetch-patch.ts +102 -0
  83. package/src/scripts-runtime/credential-broker/index.ts +17 -0
  84. package/src/scripts-runtime/credential-broker/store.ts +72 -0
  85. package/src/scripts-runtime/credential-broker/types.ts +54 -0
  86. package/src/scripts-runtime/ctx.ts +11 -1
  87. package/src/scripts-runtime/egress-secrets.ts +14 -76
  88. package/src/scripts-runtime/eval-harness.ts +1 -1
  89. package/src/scripts-runtime/executors/types.ts +5 -5
  90. package/src/scripts-runtime/loader.ts +6 -1
  91. package/src/scripts-runtime/sdk-allowlist.ts +1 -0
  92. package/src/scripts-runtime/types/stdlib.d.ts +11 -0
  93. package/src/scripts-runtime/types/swarm-sdk.d.ts +11 -0
  94. package/src/server.ts +6 -0
  95. package/src/tests/credential-broker.test.ts +281 -0
  96. package/src/tests/heartbeat.test.ts +239 -0
  97. package/src/tests/memory-edit.test.ts +177 -0
  98. package/src/tests/memory-hybrid.test.ts +212 -0
  99. package/src/tests/otel-impl-secret-scrubbing.test.ts +101 -3
  100. package/src/tests/otel-session-cost-metrics.test.ts +281 -0
  101. package/src/tests/pages-authed-mode.test.ts +50 -0
  102. package/src/tests/runner-repo-autostash.test.ts +39 -8
  103. package/src/tests/script-connections.test.ts +360 -0
  104. package/src/tests/scripts-http.test.ts +16 -10
  105. package/src/tests/scripts-runtime-secret-egress.test.ts +26 -5
  106. package/src/tests/swarm-config-reserved-keys.test.ts +23 -0
  107. package/src/tests/update-schedule-mcp-tool.test.ts +83 -4
  108. package/src/tools/credential-bindings/index.ts +1 -0
  109. package/src/tools/credential-bindings/tool.ts +238 -0
  110. package/src/tools/memory-edit.ts +148 -0
  111. package/src/tools/memory-search.ts +17 -10
  112. package/src/tools/schedules/delete-schedule.ts +18 -8
  113. package/src/tools/schedules/update-schedule.ts +4 -9
  114. package/src/tools/script-connections/index.ts +1 -0
  115. package/src/tools/script-connections/tool.ts +167 -0
  116. package/src/tools/swarm-config/delete-config.ts +5 -0
  117. package/src/tools/swarm-config/set-config.ts +23 -1
  118. package/src/tools/tool-config.ts +6 -1
  119. package/src/types.ts +6 -0
  120. package/src/workflows/executors/swarm-script.ts +2 -0
  121. package/templates/community/dora-metrics/PLAYBOOK.md +294 -0
  122. package/templates/community/dora-metrics/README.md +39 -0
  123. package/templates/community/dora-metrics/lead-prompt.md +56 -0
  124. package/templates/community/dora-metrics/report.mjs +393 -0
  125. package/templates/community/dora-metrics/run.sh +113 -0
  126. package/templates/schedules/weekly-dora-metrics/config.json +13 -0
  127. package/templates/schedules/weekly-dora-metrics/content.md +61 -0
  128. package/dist/cli-2307phk1.js +0 -24223
  129. package/dist/cli-2deg0cen.js +0 -120
package/README.md CHANGED
@@ -123,12 +123,15 @@ Check [our templates](https://templates.agent-swarm.dev) for a quick start.
123
123
 
124
124
  - **Lead/worker orchestration in Docker** — isolated dev environments, priority queues, pause/resume across deploys. [Architecture →](https://docs.agent-swarm.dev/docs/architecture/overview)
125
125
  - **Compounding memory & persistent identity** — agents remember past sessions and evolve their own persona, expertise, and notes. [Memory →](https://docs.agent-swarm.dev/docs/architecture/memory) · [Agents →](https://docs.agent-swarm.dev/docs/architecture/agents)
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)
126
127
  - **Multi-channel inputs** — Slack, GitHub, GitLab, email, WhatsApp, Linear, Jira, and the HTTP API all create tasks. [Integrations](#integrations)
127
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)
128
129
  - **Scheduled & recurring tasks** — cron-based automation for standing work. [Scheduling →](https://docs.agent-swarm.dev/docs/concepts/scheduling)
129
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
+ - **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)
130
132
  - **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)
131
133
  - **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
+ - **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)
132
135
  - **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)
133
136
  - **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)
134
137
  - **External tool-router access** — the `x` command and `swarm_x` MCP tool let humans and agents execute approved third-party routes such as Composio without baking bespoke MCP servers first. [CLI →](https://docs.agent-swarm.dev/docs/reference/cli) · [Composio →](https://docs.agent-swarm.dev/docs/integrations/composio)
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  resolveSlackUserId
3
- } from "./cli-rvae030h.js";
4
- import"./cli-2qynerth.js";
5
- import"./cli-yfwwjeft.js";
3
+ } from "./cli-ba47wf2q.js";
4
+ import"./cli-c4h8m0m3.js";
5
+ import"./cli-yfyqsqzj.js";
6
6
  import {
7
7
  buildCancelledBlocks,
8
8
  getTaskLink
@@ -11,18 +11,18 @@ import"./cli-dh55d5fg.js";
11
11
  import {
12
12
  createTaskWithSiblingAwareness,
13
13
  slackContextKey
14
- } from "./cli-jt9d9fjw.js";
14
+ } from "./cli-0s37sw3k.js";
15
15
  import {
16
16
  cancelTask,
17
17
  getAgentById,
18
18
  getLeadAgent,
19
19
  getTaskById,
20
20
  init_db
21
- } from "./cli-fedn86nz.js";
21
+ } from "./cli-wztagmpk.js";
22
22
  import"./cli-z2zcxes1.js";
23
23
  import"./cli-q21d49ac.js";
24
24
  import"./cli-anrj584m.js";
25
- import"./cli-85pf4z38.js";
25
+ import"./cli-ehcjr5vs.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-kk51f3tf.js";
6
+ } from "./cli-gzmv1371.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-fedn86nz.js";
11
+ import"./cli-wztagmpk.js";
12
12
  import"./cli-z2zcxes1.js";
13
13
  import"./cli-q21d49ac.js";
14
14
  import"./cli-anrj584m.js";
15
- import"./cli-85pf4z38.js";
15
+ import"./cli-ehcjr5vs.js";
16
16
  import"./cli-3pp1362w.js";
17
17
  import"./cli-e15jhafb.js";
18
18
  import"./cli-p9swy5t3.js";
@@ -1,27 +1,26 @@
1
1
  import {
2
2
  bufferThreadMessage,
3
3
  wasEventSeen
4
- } from "./cli-s14sb64w.js";
4
+ } from "./cli-zmta7t3y.js";
5
5
  import {
6
6
  hasOtherUserMention
7
- } from "./cli-dz3d6zjg.js";
8
- import"./cli-2deg0cen.js";
7
+ } from "./cli-0n4xxmy0.js";
9
8
  import {
10
9
  require_dist
11
- } from "./cli-kk51f3tf.js";
10
+ } from "./cli-gzmv1371.js";
12
11
  import"./cli-fete3y1e.js";
13
12
  import"./cli-b0p7rfnd.js";
14
13
  import {
15
14
  resolveSlackUserId
16
- } from "./cli-rvae030h.js";
17
- import"./cli-2qynerth.js";
18
- import"./cli-yfwwjeft.js";
15
+ } from "./cli-ba47wf2q.js";
16
+ import"./cli-c4h8m0m3.js";
17
+ import"./cli-yfyqsqzj.js";
19
18
  import"./cli-z92pkwzn.js";
20
19
  import"./cli-dh55d5fg.js";
21
20
  import {
22
21
  createTaskWithSiblingAwareness,
23
22
  slackContextKey
24
- } from "./cli-jt9d9fjw.js";
23
+ } from "./cli-0s37sw3k.js";
25
24
  import {
26
25
  getAgentWorkingOnThread,
27
26
  getLeadAgent,
@@ -29,11 +28,11 @@ import {
29
28
  init_db,
30
29
  init_resolver,
31
30
  resolveTemplate
32
- } from "./cli-fedn86nz.js";
31
+ } from "./cli-wztagmpk.js";
33
32
  import"./cli-z2zcxes1.js";
34
33
  import"./cli-q21d49ac.js";
35
34
  import"./cli-anrj584m.js";
36
- import"./cli-85pf4z38.js";
35
+ import"./cli-ehcjr5vs.js";
37
36
  import"./cli-3pp1362w.js";
38
37
  import"./cli-e15jhafb.js";
39
38
  import {
@@ -3,15 +3,16 @@ import {
3
3
  getEmbeddingProvider,
4
4
  getMemoryStore,
5
5
  init_constants
6
- } from "./cli-8w95v19d.js";
6
+ } from "./cli-634jy7sa.js";
7
+ import"./cli-3j01d33e.js";
7
8
  import {
8
9
  getDb,
9
10
  init_db
10
- } from "./cli-fedn86nz.js";
11
+ } from "./cli-wztagmpk.js";
11
12
  import"./cli-z2zcxes1.js";
12
13
  import"./cli-q21d49ac.js";
13
14
  import"./cli-anrj584m.js";
14
- import"./cli-85pf4z38.js";
15
+ import"./cli-ehcjr5vs.js";
15
16
  import"./cli-3pp1362w.js";
16
17
  import"./cli-p9swy5t3.js";
17
18
 
@@ -1,16 +1,17 @@
1
1
  import {
2
2
  embedScript,
3
3
  embeddingProvider
4
- } from "./cli-fygaw191.js";
5
- import"./cli-8w95v19d.js";
4
+ } from "./cli-dd6tegmp.js";
5
+ import"./cli-634jy7sa.js";
6
+ import"./cli-3j01d33e.js";
6
7
  import {
7
8
  getDb,
8
9
  init_db
9
- } from "./cli-fedn86nz.js";
10
+ } from "./cli-wztagmpk.js";
10
11
  import"./cli-z2zcxes1.js";
11
12
  import"./cli-q21d49ac.js";
12
13
  import"./cli-anrj584m.js";
13
- import"./cli-85pf4z38.js";
14
+ import"./cli-ehcjr5vs.js";
14
15
  import"./cli-3pp1362w.js";
15
16
  import"./cli-p9swy5t3.js";
16
17
 
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  getDb,
3
3
  init_db
4
- } from "./cli-fedn86nz.js";
4
+ } from "./cli-wztagmpk.js";
5
5
  import"./cli-z2zcxes1.js";
6
6
  import"./cli-q21d49ac.js";
7
7
  import"./cli-anrj584m.js";
8
- import"./cli-85pf4z38.js";
8
+ import"./cli-ehcjr5vs.js";
9
9
  import {
10
10
  init_secret_scrubber,
11
11
  scrubSecrets