@desplega.ai/agent-swarm 1.92.0 → 1.92.2
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.
- package/README.md +1 -1
- package/openapi.json +276 -3
- package/package.json +6 -6
- package/plugin/skills/pages/SKILL.md +5 -2
- package/src/be/db.ts +416 -20
- package/src/be/memory/boot-reembed.ts +85 -0
- package/src/be/memory/constants.ts +44 -2
- package/src/be/memory/providers/openai-embedding.ts +15 -5
- package/src/be/memory/providers/sqlite-store.ts +325 -76
- package/src/be/memory/reranker.ts +35 -17
- package/src/be/memory/types.ts +43 -0
- package/src/be/migrations/084_script_run_journal_duration.sql +5 -0
- package/src/be/migrations/085_script_runs_kind.sql +9 -0
- package/src/be/migrations/086_pages_default_authed.sql +64 -0
- package/src/be/migrations/087_skill_files.sql +19 -0
- package/src/be/modelsdev-cache.json +5622 -2543
- package/src/be/seed-scripts/catalog/boot-triage.ts +221 -0
- package/src/be/seed-scripts/catalog/catalog-report.ts +457 -0
- package/src/be/seed-scripts/catalog/compound-insights.ts +465 -0
- package/src/be/seed-scripts/catalog/gh-pr-snapshot.ts +1 -1
- package/src/be/seed-scripts/catalog/memory-eval.ts +1059 -0
- package/src/be/seed-scripts/catalog/ops-catalog-audit.ts +34 -439
- package/src/be/seed-scripts/catalog/schedule-health.ts +78 -2
- package/src/be/seed-scripts/catalog/task-failure-audit.ts +48 -1
- package/src/be/seed-scripts/index.ts +32 -4
- package/src/be/seed-skills/index.ts +0 -7
- package/src/be/skill-sync.ts +91 -7
- package/src/commands/runner.ts +6 -2
- package/src/heartbeat/templates.ts +20 -16
- package/src/http/index.ts +50 -7
- package/src/http/mcp-user.ts +23 -0
- package/src/http/mcp.ts +58 -0
- package/src/http/memory.ts +62 -0
- package/src/http/pages.ts +1 -1
- package/src/http/script-runs.ts +2 -0
- package/src/http/scripts.ts +39 -2
- package/src/http/skills.ts +225 -0
- package/src/providers/claude-adapter.ts +56 -24
- package/src/script-workflows/workflow-ctx.ts +7 -3
- package/src/scripts-runtime/sdk-allowlist.ts +1 -0
- package/src/scripts-runtime/swarm-sdk.ts +13 -0
- package/src/scripts-runtime/types/stdlib.d.ts +1 -0
- package/src/scripts-runtime/types/swarm-sdk.d.ts +1 -0
- package/src/server.ts +2 -0
- package/src/tasks/worker-follow-up.ts +12 -0
- package/src/tests/claude-adapter-binary.test.ts +135 -81
- package/src/tests/create-page-tool.test.ts +19 -2
- package/src/tests/heartbeat-checklist.test.ts +36 -0
- package/src/tests/mcp-transport-gc.test.ts +58 -0
- package/src/tests/memory-e2e.test.ts +6 -6
- package/src/tests/memory-health-endpoint.test.ts +78 -0
- package/src/tests/memory-rater-e2e.test.ts +4 -5
- package/src/tests/memory-reranker.test.ts +135 -124
- package/src/tests/memory-store.test.ts +221 -1
- package/src/tests/memory.test.ts +13 -12
- package/src/tests/pages-http.test.ts +20 -2
- package/src/tests/pages-storage.test.ts +26 -0
- package/src/tests/scripts-mcp-e2e.test.ts +53 -0
- package/src/tests/seed-scripts.test.ts +328 -3
- package/src/tests/skill-files-http.test.ts +171 -0
- package/src/tests/skill-files.test.ts +162 -0
- package/src/tests/skill-get-file-tool.test.ts +110 -0
- package/src/tests/skill-sync.test.ts +125 -6
- package/src/tests/task-cascade-fail.test.ts +304 -0
- package/src/tools/create-page.ts +2 -2
- package/src/tools/skills/index.ts +1 -0
- package/src/tools/skills/skill-get-file.ts +80 -0
- package/src/tools/tool-config.ts +2 -1
- package/src/types.ts +20 -0
- package/src/utils/internal-ai/complete-structured.ts +2 -2
- package/templates/schedules/daily-blocker-digest/content.md +68 -54
- package/templates/schedules/daily-compounding-reflection/content.md +4 -4
- package/templates/schedules/daily-hn-briefing/content.md +5 -5
- package/templates/schedules/daily-workflow-health-audit/content.md +6 -6
- package/templates/schedules/gtm-weekly-review/content.md +9 -9
- package/templates/schedules/weekly-dependabot-triage/content.md +24 -20
- package/templates/skills/agentmail-sending/content.md +6 -7
- package/templates/skills/desloppify/content.md +8 -9
- package/templates/skills/jira-interaction/content.md +25 -33
- package/templates/skills/kapso-whatsapp/content.md +29 -30
- package/templates/skills/linear-interaction/content.md +8 -9
- package/templates/skills/profile-corruption-escalation/content.md +44 -85
- package/templates/skills/sprite-cli/content.md +4 -5
- package/templates/skills/turso-interaction/content.md +14 -17
- package/templates/skills/workflow-iterate/content.md +38 -391
- package/templates/skills/x-api-interactions/content.md +4 -6
- package/templates/workflows/llm-safe-release-context/config.json +13 -0
- package/templates/workflows/llm-safe-release-context/content.md +69 -0
- package/templates/skills/scheduled-task-resilience/config.json +0 -14
- package/templates/skills/scheduled-task-resilience/content.md +0 -95
package/README.md
CHANGED
|
@@ -129,7 +129,7 @@ Check [our templates](https://templates.agent-swarm.dev) for a quick start.
|
|
|
129
129
|
- **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)
|
|
130
130
|
- **Harness & LLM agnostic** — run with Claude Code, Claude Bridge, OpenAI Codex, pi-mono, Devin, Claude Managed Agents, raw LLMs, or opencode. [Harness config →](https://docs.agent-swarm.dev/docs/guides/harness-configuration) · [Add a new provider →](https://docs.agent-swarm.dev/docs/guides/harness-providers)
|
|
131
131
|
- **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)
|
|
132
|
-
- **Skills & MCP servers** — reusable procedural knowledge and per-agent MCP servers with scope cascade. [MCP tools →](https://docs.agent-swarm.dev/docs/reference/mcp-tools)
|
|
132
|
+
- **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)
|
|
133
133
|
- **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)
|
|
134
134
|
- **Config-driven metrics dashboards** — define read-only SQL widgets, version them, and render them in the dashboard without shipping custom frontend code. [Metrics API →](https://docs.agent-swarm.dev/docs/api-reference/stats)
|
|
135
135
|
- **DB-backed pages** — agents publish HTML or JSON pages (reports, dashboards, action specs) via the `create_page` MCP tool with public / authed / password modes, version history, view counters, diff helpers, and PDF export. [MCP tools → Pages](https://docs.agent-swarm.dev/docs/reference/mcp-tools#pages-tools)
|
package/openapi.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"openapi": "3.1.0",
|
|
3
3
|
"info": {
|
|
4
4
|
"title": "Agent Swarm API",
|
|
5
|
-
"version": "1.92.
|
|
5
|
+
"version": "1.92.2",
|
|
6
6
|
"description": "Multi-agent orchestration API for Claude Code, Codex, and Gemini CLI. Enables task distribution, agent communication, and service discovery.\n\nMCP tools are documented separately in [MCP.md](./MCP.md)."
|
|
7
7
|
},
|
|
8
8
|
"servers": [
|
|
@@ -4260,6 +4260,24 @@
|
|
|
4260
4260
|
}
|
|
4261
4261
|
}
|
|
4262
4262
|
},
|
|
4263
|
+
"/api/memory/health": {
|
|
4264
|
+
"get": {
|
|
4265
|
+
"summary": "Report memory vector index health and retrieval mode",
|
|
4266
|
+
"tags": [
|
|
4267
|
+
"Memory"
|
|
4268
|
+
],
|
|
4269
|
+
"security": [
|
|
4270
|
+
{
|
|
4271
|
+
"bearerAuth": []
|
|
4272
|
+
}
|
|
4273
|
+
],
|
|
4274
|
+
"responses": {
|
|
4275
|
+
"200": {
|
|
4276
|
+
"description": "Memory vector index health"
|
|
4277
|
+
}
|
|
4278
|
+
}
|
|
4279
|
+
}
|
|
4280
|
+
},
|
|
4263
4281
|
"/api/memory/{id}": {
|
|
4264
4282
|
"delete": {
|
|
4265
4283
|
"summary": "Delete a single memory by ID (debug/admin)",
|
|
@@ -4599,7 +4617,8 @@
|
|
|
4599
4617
|
"public",
|
|
4600
4618
|
"authed",
|
|
4601
4619
|
"password"
|
|
4602
|
-
]
|
|
4620
|
+
],
|
|
4621
|
+
"default": "authed"
|
|
4603
4622
|
},
|
|
4604
4623
|
"password": {
|
|
4605
4624
|
"type": "string",
|
|
@@ -4618,7 +4637,6 @@
|
|
|
4618
4637
|
"required": [
|
|
4619
4638
|
"title",
|
|
4620
4639
|
"contentType",
|
|
4621
|
-
"authMode",
|
|
4622
4640
|
"body"
|
|
4623
4641
|
]
|
|
4624
4642
|
}
|
|
@@ -7410,6 +7428,10 @@
|
|
|
7410
7428
|
"result": {},
|
|
7411
7429
|
"error": {
|
|
7412
7430
|
"type": "string"
|
|
7431
|
+
},
|
|
7432
|
+
"durationMs": {
|
|
7433
|
+
"type": "integer",
|
|
7434
|
+
"minimum": 0
|
|
7413
7435
|
}
|
|
7414
7436
|
},
|
|
7415
7437
|
"required": [
|
|
@@ -8388,6 +8410,257 @@
|
|
|
8388
8410
|
}
|
|
8389
8411
|
}
|
|
8390
8412
|
},
|
|
8413
|
+
"/api/skills/{id}/files": {
|
|
8414
|
+
"get": {
|
|
8415
|
+
"summary": "List bundled files for a skill",
|
|
8416
|
+
"description": "Returns a manifest of bundled skill files without file content.",
|
|
8417
|
+
"tags": [
|
|
8418
|
+
"Skills"
|
|
8419
|
+
],
|
|
8420
|
+
"security": [
|
|
8421
|
+
{
|
|
8422
|
+
"bearerAuth": []
|
|
8423
|
+
}
|
|
8424
|
+
],
|
|
8425
|
+
"parameters": [
|
|
8426
|
+
{
|
|
8427
|
+
"schema": {
|
|
8428
|
+
"type": "string"
|
|
8429
|
+
},
|
|
8430
|
+
"required": true,
|
|
8431
|
+
"name": "id",
|
|
8432
|
+
"in": "path"
|
|
8433
|
+
}
|
|
8434
|
+
],
|
|
8435
|
+
"responses": {
|
|
8436
|
+
"200": {
|
|
8437
|
+
"description": "Skill file manifest"
|
|
8438
|
+
},
|
|
8439
|
+
"404": {
|
|
8440
|
+
"description": "Skill not found"
|
|
8441
|
+
}
|
|
8442
|
+
}
|
|
8443
|
+
},
|
|
8444
|
+
"post": {
|
|
8445
|
+
"summary": "Bulk upsert bundled files for a skill",
|
|
8446
|
+
"tags": [
|
|
8447
|
+
"Skills"
|
|
8448
|
+
],
|
|
8449
|
+
"security": [
|
|
8450
|
+
{
|
|
8451
|
+
"bearerAuth": []
|
|
8452
|
+
}
|
|
8453
|
+
],
|
|
8454
|
+
"parameters": [
|
|
8455
|
+
{
|
|
8456
|
+
"schema": {
|
|
8457
|
+
"type": "string"
|
|
8458
|
+
},
|
|
8459
|
+
"required": true,
|
|
8460
|
+
"name": "id",
|
|
8461
|
+
"in": "path"
|
|
8462
|
+
}
|
|
8463
|
+
],
|
|
8464
|
+
"requestBody": {
|
|
8465
|
+
"content": {
|
|
8466
|
+
"application/json": {
|
|
8467
|
+
"schema": {
|
|
8468
|
+
"type": "object",
|
|
8469
|
+
"properties": {
|
|
8470
|
+
"files": {
|
|
8471
|
+
"type": "array",
|
|
8472
|
+
"items": {
|
|
8473
|
+
"type": "object",
|
|
8474
|
+
"properties": {
|
|
8475
|
+
"content": {
|
|
8476
|
+
"type": "string"
|
|
8477
|
+
},
|
|
8478
|
+
"mimeType": {
|
|
8479
|
+
"type": "string"
|
|
8480
|
+
},
|
|
8481
|
+
"isBinary": {
|
|
8482
|
+
"type": "boolean"
|
|
8483
|
+
},
|
|
8484
|
+
"size": {
|
|
8485
|
+
"type": "integer",
|
|
8486
|
+
"minimum": 0
|
|
8487
|
+
},
|
|
8488
|
+
"path": {
|
|
8489
|
+
"type": "string",
|
|
8490
|
+
"minLength": 1
|
|
8491
|
+
}
|
|
8492
|
+
},
|
|
8493
|
+
"required": [
|
|
8494
|
+
"content",
|
|
8495
|
+
"path"
|
|
8496
|
+
]
|
|
8497
|
+
},
|
|
8498
|
+
"maxItems": 100
|
|
8499
|
+
}
|
|
8500
|
+
},
|
|
8501
|
+
"required": [
|
|
8502
|
+
"files"
|
|
8503
|
+
]
|
|
8504
|
+
}
|
|
8505
|
+
}
|
|
8506
|
+
}
|
|
8507
|
+
},
|
|
8508
|
+
"responses": {
|
|
8509
|
+
"200": {
|
|
8510
|
+
"description": "Skill files upserted"
|
|
8511
|
+
},
|
|
8512
|
+
"400": {
|
|
8513
|
+
"description": "Validation error"
|
|
8514
|
+
},
|
|
8515
|
+
"404": {
|
|
8516
|
+
"description": "Skill not found"
|
|
8517
|
+
}
|
|
8518
|
+
}
|
|
8519
|
+
}
|
|
8520
|
+
},
|
|
8521
|
+
"/api/skills/{id}/files/{path}": {
|
|
8522
|
+
"get": {
|
|
8523
|
+
"summary": "Get a bundled skill file",
|
|
8524
|
+
"tags": [
|
|
8525
|
+
"Skills"
|
|
8526
|
+
],
|
|
8527
|
+
"security": [
|
|
8528
|
+
{
|
|
8529
|
+
"bearerAuth": []
|
|
8530
|
+
}
|
|
8531
|
+
],
|
|
8532
|
+
"parameters": [
|
|
8533
|
+
{
|
|
8534
|
+
"schema": {
|
|
8535
|
+
"type": "string"
|
|
8536
|
+
},
|
|
8537
|
+
"required": true,
|
|
8538
|
+
"name": "id",
|
|
8539
|
+
"in": "path"
|
|
8540
|
+
},
|
|
8541
|
+
{
|
|
8542
|
+
"schema": {
|
|
8543
|
+
"type": "string"
|
|
8544
|
+
},
|
|
8545
|
+
"required": true,
|
|
8546
|
+
"name": "path",
|
|
8547
|
+
"in": "path"
|
|
8548
|
+
}
|
|
8549
|
+
],
|
|
8550
|
+
"responses": {
|
|
8551
|
+
"200": {
|
|
8552
|
+
"description": "Skill file"
|
|
8553
|
+
},
|
|
8554
|
+
"404": {
|
|
8555
|
+
"description": "Skill or file not found"
|
|
8556
|
+
}
|
|
8557
|
+
}
|
|
8558
|
+
},
|
|
8559
|
+
"put": {
|
|
8560
|
+
"summary": "Upsert a bundled skill file",
|
|
8561
|
+
"tags": [
|
|
8562
|
+
"Skills"
|
|
8563
|
+
],
|
|
8564
|
+
"security": [
|
|
8565
|
+
{
|
|
8566
|
+
"bearerAuth": []
|
|
8567
|
+
}
|
|
8568
|
+
],
|
|
8569
|
+
"parameters": [
|
|
8570
|
+
{
|
|
8571
|
+
"schema": {
|
|
8572
|
+
"type": "string"
|
|
8573
|
+
},
|
|
8574
|
+
"required": true,
|
|
8575
|
+
"name": "id",
|
|
8576
|
+
"in": "path"
|
|
8577
|
+
},
|
|
8578
|
+
{
|
|
8579
|
+
"schema": {
|
|
8580
|
+
"type": "string"
|
|
8581
|
+
},
|
|
8582
|
+
"required": true,
|
|
8583
|
+
"name": "path",
|
|
8584
|
+
"in": "path"
|
|
8585
|
+
}
|
|
8586
|
+
],
|
|
8587
|
+
"requestBody": {
|
|
8588
|
+
"content": {
|
|
8589
|
+
"application/json": {
|
|
8590
|
+
"schema": {
|
|
8591
|
+
"type": "object",
|
|
8592
|
+
"properties": {
|
|
8593
|
+
"content": {
|
|
8594
|
+
"type": "string"
|
|
8595
|
+
},
|
|
8596
|
+
"mimeType": {
|
|
8597
|
+
"type": "string"
|
|
8598
|
+
},
|
|
8599
|
+
"isBinary": {
|
|
8600
|
+
"type": "boolean"
|
|
8601
|
+
},
|
|
8602
|
+
"size": {
|
|
8603
|
+
"type": "integer",
|
|
8604
|
+
"minimum": 0
|
|
8605
|
+
}
|
|
8606
|
+
},
|
|
8607
|
+
"required": [
|
|
8608
|
+
"content"
|
|
8609
|
+
]
|
|
8610
|
+
}
|
|
8611
|
+
}
|
|
8612
|
+
}
|
|
8613
|
+
},
|
|
8614
|
+
"responses": {
|
|
8615
|
+
"200": {
|
|
8616
|
+
"description": "Skill file upserted"
|
|
8617
|
+
},
|
|
8618
|
+
"400": {
|
|
8619
|
+
"description": "Validation error"
|
|
8620
|
+
},
|
|
8621
|
+
"404": {
|
|
8622
|
+
"description": "Skill not found"
|
|
8623
|
+
}
|
|
8624
|
+
}
|
|
8625
|
+
},
|
|
8626
|
+
"delete": {
|
|
8627
|
+
"summary": "Delete a bundled skill file",
|
|
8628
|
+
"tags": [
|
|
8629
|
+
"Skills"
|
|
8630
|
+
],
|
|
8631
|
+
"security": [
|
|
8632
|
+
{
|
|
8633
|
+
"bearerAuth": []
|
|
8634
|
+
}
|
|
8635
|
+
],
|
|
8636
|
+
"parameters": [
|
|
8637
|
+
{
|
|
8638
|
+
"schema": {
|
|
8639
|
+
"type": "string"
|
|
8640
|
+
},
|
|
8641
|
+
"required": true,
|
|
8642
|
+
"name": "id",
|
|
8643
|
+
"in": "path"
|
|
8644
|
+
},
|
|
8645
|
+
{
|
|
8646
|
+
"schema": {
|
|
8647
|
+
"type": "string"
|
|
8648
|
+
},
|
|
8649
|
+
"required": true,
|
|
8650
|
+
"name": "path",
|
|
8651
|
+
"in": "path"
|
|
8652
|
+
}
|
|
8653
|
+
],
|
|
8654
|
+
"responses": {
|
|
8655
|
+
"200": {
|
|
8656
|
+
"description": "Skill file deleted"
|
|
8657
|
+
},
|
|
8658
|
+
"404": {
|
|
8659
|
+
"description": "Skill or file not found"
|
|
8660
|
+
}
|
|
8661
|
+
}
|
|
8662
|
+
}
|
|
8663
|
+
},
|
|
8391
8664
|
"/api/skills/{id}/install": {
|
|
8392
8665
|
"post": {
|
|
8393
8666
|
"summary": "Install skill for an agent",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@desplega.ai/agent-swarm",
|
|
3
|
-
"version": "1.92.
|
|
3
|
+
"version": "1.92.2",
|
|
4
4
|
"description": "Multi-agent orchestration for Claude Code, Codex, Gemini CLI, and other AI coding assistants",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "desplega.sh <contact@desplega.sh>",
|
|
@@ -112,12 +112,12 @@
|
|
|
112
112
|
"@desplega.ai/localtunnel": "^2.2.0",
|
|
113
113
|
"@inkjs/ui": "^2.0.0",
|
|
114
114
|
"@linear/sdk": "^77.0.0",
|
|
115
|
-
"@earendil-works/pi-agent-core": "^0.78.
|
|
116
|
-
"@earendil-works/pi-ai": "^0.78.
|
|
117
|
-
"@earendil-works/pi-coding-agent": "^0.78.
|
|
115
|
+
"@earendil-works/pi-agent-core": "^0.78.1",
|
|
116
|
+
"@earendil-works/pi-ai": "^0.78.1",
|
|
117
|
+
"@earendil-works/pi-coding-agent": "^0.78.1",
|
|
118
118
|
"@modelcontextprotocol/sdk": "^1.25.1",
|
|
119
|
-
"@openai/codex-sdk": "^0.
|
|
120
|
-
"@opencode-ai/sdk": "^1.
|
|
119
|
+
"@openai/codex-sdk": "^0.137.0",
|
|
120
|
+
"@opencode-ai/sdk": "^1.16.2",
|
|
121
121
|
"@openfort/openfort-node": "^0.9.1",
|
|
122
122
|
"@opentelemetry/api": "^1.9.1",
|
|
123
123
|
"@opentelemetry/exporter-trace-otlp-http": "^0.218.0",
|
|
@@ -25,14 +25,14 @@ artifacts.
|
|
|
25
25
|
|
|
26
26
|
## Quick Start
|
|
27
27
|
|
|
28
|
-
###
|
|
28
|
+
### Authed HTML report
|
|
29
29
|
```jsonc
|
|
30
30
|
// Tool call: create_page
|
|
31
31
|
{
|
|
32
32
|
"title": "Q2 Status Report",
|
|
33
33
|
"description": "Roll-up of in-flight tasks across the swarm",
|
|
34
34
|
"contentType": "text/html",
|
|
35
|
-
"authMode": "
|
|
35
|
+
"authMode": "authed",
|
|
36
36
|
"body": "<!doctype html><html><body><h1>Q2 Status</h1>...</body></html>"
|
|
37
37
|
}
|
|
38
38
|
// → { id, version: 1, app_url, api_url }
|
|
@@ -41,6 +41,9 @@ artifacts.
|
|
|
41
41
|
Share `app_url` (the SPA route) for the general case; share `api_url` for a
|
|
42
42
|
no-SPA-required direct link.
|
|
43
43
|
|
|
44
|
+
Use `authMode: "public"` only when the page is intentionally safe for anyone
|
|
45
|
+
with the URL to view.
|
|
46
|
+
|
|
44
47
|
### Authed JSON dashboard
|
|
45
48
|
```jsonc
|
|
46
49
|
// Tool call: create_page
|