@desplega.ai/agent-swarm 2.7.6 → 2.7.7
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/dist/{acp-adapter-bp91d37f.js → acp-adapter-7b4vk3h5.js} +5 -4
- package/dist/{actions-yj0eeaqh.js → actions-3tt153af.js} +18 -18
- package/dist/{amp-adapter-4pg9h34q.js → amp-adapter-njpts0yr.js} +1 -1
- package/dist/{anthropic-messages-x4q6rfq5.js → anthropic-messages-xey2skwx.js} +7 -7
- package/dist/{app-909e97cr.js → app-nky4378f.js} +3 -3
- package/dist/{assistant-qdyb5fyy.js → assistant-jnb669pa.js} +19 -19
- package/dist/{azure-openai-responses-s1w5n70z.js → azure-openai-responses-26t7j9ra.js} +5 -5
- package/dist/{boot-reembed-fk0s9z18.js → boot-reembed-9mgvaztt.js} +1 -1
- package/dist/{boot-reembed-gs1rzrnh.js → boot-reembed-qs2djdej.js} +1 -1
- package/dist/{boot-scrub-sweep-4qfd4kfx.js → boot-scrub-sweep-yjpdj7s1.js} +3 -3
- package/dist/{boot-seeds-yr00k13d.js → boot-seeds-5cm6ambd.js} +4 -4
- package/dist/{boxd-vdmfssd9.js → boxd-nv507va8.js} +1 -1
- package/dist/{claude-adapter-qta1f1xn.js → claude-adapter-fn287zmm.js} +5 -4
- package/dist/{claude-managed-setup-sc6j4dm0.js → claude-managed-setup-wtdz2mj2.js} +1 -1
- package/dist/{claude-sdk-session-zgrz6yvc.js → claude-sdk-session-x91kqyhm.js} +8288 -8224
- package/dist/{cli-wp9sp1qb.js → cli-08bmz9z9.js} +1 -1
- package/dist/{cli-yy3rhsdw.js → cli-1c6tzt8g.js} +7 -7
- package/dist/{cli-q0k1w5zd.js → cli-35rsp8ye.js} +1 -1
- package/dist/{cli-xnrwazav.js → cli-3fg0bdcv.js} +1 -1
- package/dist/{cli-89knwags.js → cli-5b456bpf.js} +2 -2
- package/dist/{cli-drr5v6av.js → cli-5jnhv72d.js} +1 -1
- package/dist/{cli-dxae2yg7.js → cli-5zx699j9.js} +2 -2
- package/dist/{cli-0at8w34w.js → cli-6g0hb4cp.js} +8 -8
- package/dist/{cli-e3r2neck.js → cli-6pfd54vx.js} +5 -5
- package/dist/{cli-bsn8nhrq.js → cli-6vcp76qk.js} +3 -3
- package/dist/{cli-ekwks2vs.js → cli-72v799xn.js} +1 -1
- package/dist/cli-82j36f2m.js +45 -0
- package/dist/{cli-yx4kfngt.js → cli-8305gbq0.js} +29 -16
- package/dist/{cli-4necwtsv.js → cli-8sckt74b.js} +8 -8
- package/dist/{cli-vvpx3gsx.js → cli-95jzxcp3.js} +1 -1
- package/dist/{cli-hr2e2fft.js → cli-adeegh7d.js} +7 -7
- package/dist/{cli-m48g6p95.js → cli-afkqkrtw.js} +3 -3
- package/dist/{cli-0qatpy8q.js → cli-ayayvfg4.js} +24 -4
- package/dist/{cli-bqt1mptt.js → cli-az48n0nr.js} +4 -4
- package/dist/{cli-zm72anhg.js → cli-bfv7vdg6.js} +9 -9
- package/dist/{cli-hgaazk69.js → cli-caj33vcq.js} +5 -5
- package/dist/{cli-3ypk9vk1.js → cli-cb2a8pna.js} +1 -1
- package/dist/{cli-waqbxg08.js → cli-cppkf404.js} +17 -17
- package/dist/{cli-yn4kxs06.js → cli-ddaanqkd.js} +4 -4
- package/dist/{cli-386tyxxg.js → cli-e0kmphd6.js} +2 -2
- package/dist/{cli-54t00gt8.js → cli-e46hg0xw.js} +1 -1
- package/dist/{cli-jm2vfpfd.js → cli-e5bzrn01.js} +1 -1
- package/dist/{cli-436532ck.js → cli-excnnjg2.js} +165 -153
- package/dist/{cli-71ptav7x.js → cli-ferkkrg9.js} +1 -1
- package/dist/{cli-vpf89f34.js → cli-fmjd0t1y.js} +3 -3
- package/dist/{cli-pd7vagab.js → cli-fyt2g4wd.js} +3 -3
- package/dist/{cli-gdhpcbhf.js → cli-g08zdaec.js} +1 -1
- package/dist/{cli-ehq736cn.js → cli-g7s47cc5.js} +4 -4
- package/dist/{cli-svj5090z.js → cli-gz6q4eve.js} +3 -3
- package/dist/{cli-8snvgs5r.js → cli-je518txm.js} +10 -10
- package/dist/{cli-rmmmrjkd.js → cli-jtjtabxe.js} +1 -1
- package/dist/{cli-611a1294.js → cli-k0wwfqbg.js} +18 -1
- package/dist/{cli-es6va8jk.js → cli-k1nje3v3.js} +38 -43
- package/dist/{cli-p5gp8pcx.js → cli-k8196sh2.js} +6 -6
- package/dist/{cli-nwj0ee2w.js → cli-k899ehvh.js} +2 -2
- package/dist/{cli-decfb6v8.js → cli-m0da8j35.js} +23 -9
- package/dist/{cli-he9wchme.js → cli-mkk9rnzz.js} +4 -4
- package/dist/{cli-nhrvpaj7.js → cli-n6bv12jn.js} +510 -4
- package/dist/{cli-8bc1w0tw.js → cli-nmzhp1b5.js} +14 -12
- package/dist/{cli-0yv5z2pg.js → cli-p82cnnjq.js} +1 -1
- package/dist/{cli-c60vetmm.js → cli-pc6n7fre.js} +1 -1
- package/dist/{cli-xds5f77d.js → cli-pjctyea3.js} +2 -2
- package/dist/{cli-xbbndvjy.js → cli-pq73h5mz.js} +3 -3
- package/dist/{cli-aa6yxc7m.js → cli-pz4rk021.js} +1 -1
- package/dist/{cli-xnqgpshy.js → cli-q3tkegby.js} +1 -1
- package/dist/cli-qghe0h66.js +67 -0
- package/dist/{cli-zbbwez0r.js → cli-qh4d4tvk.js} +4 -4
- package/dist/{cli-w6dt9ged.js → cli-rtt8g4v9.js} +1 -1
- package/dist/{cli-1h3wcpbw.js → cli-snpj5zbj.js} +2 -2
- package/dist/{cli-a7v854rf.js → cli-tgrv9cjx.js} +263 -12
- package/dist/{cli-faxe6thg.js → cli-vz22fyqv.js} +186 -54
- package/dist/{cli-k2gzwsj2.js → cli-wk5yrfwd.js} +160 -26
- package/dist/{cli-shpbx5ee.js → cli-ws19768n.js} +1641 -49
- package/dist/{cli-70r77n04.js → cli-xae4g51r.js} +1 -1
- package/dist/{cli-kqdg1bsb.js → cli-yndmfxb3.js} +2 -2
- package/dist/{cli-bjb3z51z.js → cli-yyj3j5m4.js} +2 -2
- package/dist/cli.js +21 -21
- package/dist/{cloudflare-workers-ai-system-one-bm60fjm0.js → cloudflare-workers-ai-system-one-ef2a980q.js} +2 -2
- package/dist/{codex-adapter-ayd1fb6h.js → codex-adapter-cf2yxe9m.js} +3 -2
- package/dist/{codex-hook-9efm2x1m.js → codex-hook-a0c6g6t6.js} +1 -1
- package/dist/{codex-session-runner-jesa32xc.js → codex-session-runner-6vfzdgbd.js} +3 -2
- package/dist/{commands-hanewgf2.js → commands-t3mfy7vn.js} +3 -3
- package/dist/{controller-dt1n3c1q.js → controller-q7xrbaz0.js} +3 -3
- package/dist/{controllers-connect-xx8x64n5.js → controllers-connect-c6nm70kg.js} +19 -19
- package/dist/{cursor-adapter-9s4dwwdw.js → cursor-adapter-ftd81ga8.js} +1 -1
- package/dist/{db-3vttcbv4.js → db-dk572x25.js} +3 -3
- package/dist/{db-9dv0g1ab.js → db-vemtpmcc.js} +4 -2
- package/dist/{dispatcher-tx9hd1sv.js → dispatcher-kh7ecxh9.js} +17 -17
- package/dist/{dsh-adapter-007y4ejs.js → dsh-adapter-v8628r89.js} +1 -1
- package/dist/{e2b-we6hs6q5.js → e2b-fr12yccx.js} +1 -1
- package/dist/{e2b-a19d28rz.js → e2b-x6ywzak3.js} +1 -1
- package/dist/{easter-egg-3d-rgbrqb8s.js → easter-egg-3d-nenw4x63.js} +1 -1
- package/dist/{embedding-space-ny1e2940.js → embedding-space-0jepb239.js} +6 -6
- package/dist/{embeddings-2t386t13.js → embeddings-xxt49yxg.js} +1 -1
- package/dist/{execute-pksh0ceh.js → execute-1mhw6e4x.js} +1 -1
- package/dist/{external-channel-phgmhmd7.js → external-channel-55v12e60.js} +2 -2
- package/dist/{fx-adapter-fy8rr921.js → fx-adapter-bs8wqrk5.js} +6 -5
- package/dist/{google-generative-ai-8y3m3k4b.js → google-generative-ai-v94hr7h0.js} +5 -5
- package/dist/{google-vertex-w3v98n7b.js → google-vertex-g7vr6cf8.js} +5 -5
- package/dist/{grok-adapter-q0abvpaj.js → grok-adapter-gpjqmkcq.js} +6 -5
- package/dist/handlers-zxmp1ta4.js +32 -0
- package/dist/{heartbeat-kadyek8p.js → heartbeat-k42svnr0.js} +20 -20
- package/dist/{hook-9k551xnj.js → hook-114m7hap.js} +4 -3
- package/dist/{hook-5zs3msf6.js → hook-6nphweh0.js} +24 -9
- package/dist/{http-mhz9vw1f.js → http-r8cc4wz7.js} +1025 -173
- package/dist/index-a8phxqnk.js +37 -0
- package/dist/{index-vdygbq10.js → index-e3s8wmxy.js} +1 -1
- package/dist/{index-q361cg2f.js → index-fpk4bcd9.js} +1 -1
- package/dist/index-k6h00t4c.js +30 -0
- package/dist/{index-rvr00sg7.js → index-nh3wyqdt.js} +1017 -574
- package/dist/index-xrz7te8h.js +33 -0
- package/dist/{keepalive-w56f32cg.js → keepalive-x060nt9p.js} +3 -3
- package/dist/lead-956sd2yc.js +71 -0
- package/dist/{maintenance-7mdgxcea.js → maintenance-2xxfexhf.js} +1 -1
- package/dist/{mistral-conversations-4pmwj1c0.js → mistral-conversations-3gjpdb4b.js} +4 -4
- package/dist/{oauth-refresh-sweep-29txy9vk.js → oauth-refresh-sweep-fckc4ar5.js} +2 -2
- package/dist/{onboard-kpsrkarj.js → onboard-zc48j237.js} +3 -3
- package/dist/{openai-codex-responses-44j573nm.js → openai-codex-responses-8pbxq9h5.js} +5 -5
- package/dist/{openai-completions-a4gee2a8.js → openai-completions-rm00s912.js} +4 -4
- package/dist/{openai-decisions-w4qkrcar.js → openai-decisions-8v957r2r.js} +1 -1
- package/dist/{openai-responses-rbp6h5kr.js → openai-responses-agxpf96k.js} +5 -5
- package/dist/{opencode-adapter-j25vm3rr.js → opencode-adapter-r690h1cr.js} +4 -3
- package/dist/{otel-impl-6kkct7a8.js → otel-impl-r5xbh81q.js} +4 -4
- package/dist/{pi-mono-adapter-exhkzhn2.js → pi-mono-adapter-c7v8sdec.js} +7 -6
- package/dist/{pricing-refresh-n2x7jh6k.js → pricing-refresh-3pmre11v.js} +3 -3
- package/dist/{rbac-roles-81ypx6es.js → rbac-roles-3vbshwsb.js} +1 -1
- package/dist/{rbac-roles-b5htkjby.js → rbac-roles-910mmkgz.js} +2 -2
- package/dist/{render-v2-qn6jmpk4.js → render-v2-pxykkbab.js} +3 -3
- package/dist/{resume-wd30wx23.js → resume-adda0bwy.js} +6 -6
- package/dist/{runtime-4hsg7h60.js → runtime-fnbm7stk.js} +1 -1
- package/dist/{session-access-5qvfevhk.js → session-access-2fvamrdc.js} +4 -4
- package/dist/{session-source-backfill-n1czavbr.js → session-source-backfill-08xvv0sm.js} +2 -2
- package/dist/{setup-dnb56qy5.js → setup-1aqmvmh1.js} +1 -1
- package/dist/{typesafe-system-one-5mavm259.js → typesafe-system-one-0bmqcxfg.js} +2 -2
- package/dist/{virtual-modules-76xxv9fs.js → virtual-modules-d2pjk9j1.js} +5 -5
- package/dist/{work-objects-4n21tfkm.js → work-objects-9s0yrm5j.js} +20 -20
- package/dist/{worker-follow-up-77hvzxww.js → worker-follow-up-3q78fqmr.js} +17 -17
- package/dist/worker-y15hy08h.js +71 -0
- package/openapi.json +197 -4
- package/package.json +5 -5
- package/src/apps/definition.ts +6 -5
- package/src/be/db/page-theme-tokens.ts +12 -0
- package/src/be/db/tasks/read.ts +9 -1
- package/src/be/db/tasks/write.ts +19 -0
- package/src/be/db-client.ts +107 -7
- package/src/be/db.ts +34 -2
- package/src/be/migrations/269_pages_design_system.sql +23 -0
- package/src/be/seed/schedules-seeder.ts +0 -10
- package/src/be/seed-scripts/catalog/catalog-report.inline.ts +2 -0
- package/src/be/seed-scripts/catalog/catalog-report.ts +2 -0
- package/src/be/seed-scripts/catalog/memory-eval.ts +2 -0
- package/src/be/seed-scripts/catalog/swarm-update-check.ts +150 -0
- package/src/be/seed-scripts/index.ts +9 -0
- package/src/be/seed-skills/bundled-files.generated.json +3 -3
- package/src/be/swarm-config-guard.ts +32 -0
- package/src/be/task-auto-title-listener.ts +127 -0
- package/src/commands/onboard/agent-fs-version.ts +1 -1
- package/src/commands/profile-sync.ts +151 -16
- package/src/commands/runner.ts +15 -7
- package/src/hooks/hook.ts +20 -9
- package/src/http/index.ts +3 -0
- package/src/http/pages-public.ts +93 -129
- package/src/http/pages.ts +94 -21
- package/src/pages/browser-sdk.ts +48 -21
- package/src/pages/color-literals.ts +115 -0
- package/src/pages/page-head.ts +766 -0
- package/src/pages/version.ts +3 -0
- package/src/providers/amp-adapter.ts +1 -1
- package/src/providers/codex-adapter.ts +1 -0
- package/src/providers/codex-app-server.ts +27 -1
- package/src/providers/pi-mono-extension.ts +30 -15
- package/src/tasks/follow-up-gate.ts +318 -0
- package/src/tasks/worker-follow-up.ts +21 -1
- package/src/tests/codex-app-server.test.ts +59 -0
- package/src/tests/codex-gateway-route.test.ts +50 -1
- package/src/tests/create-page-tool.test.ts +501 -0
- package/src/tests/db-client-busy-retry.test.ts +81 -0
- package/src/tests/db-task-read-contract.test.ts +1 -0
- package/src/tests/db-task-write-contract.test.ts +2 -0
- package/src/tests/db-tasks-read.test.ts +21 -0
- package/src/tests/fixtures/pages/head-v1.html +56 -0
- package/src/tests/follow-up-gate-shadow.test.ts +513 -0
- package/src/tests/identity-field-budget.test.ts +1 -1
- package/src/tests/internal-ai/credentials.test.ts +62 -0
- package/src/tests/internal-ai/task-title.test.ts +283 -0
- package/src/tests/merge-gate-detect-changes.test.ts +145 -0
- package/src/tests/page-proxy.test.ts +1 -1
- package/src/tests/page-session-dev-cookie.test.ts +188 -0
- package/src/tests/pages-frame-ancestors.test.ts +28 -1
- package/src/tests/pages-head-v2.test.ts +534 -0
- package/src/tests/pages-http.test.ts +330 -0
- package/src/tests/pages-public-html.test.ts +43 -0
- package/src/tests/pages-storage.test.ts +182 -0
- package/src/tests/pages-versioning.test.ts +72 -0
- package/src/tests/profile-sync-stale-writeback.test.ts +334 -0
- package/src/tests/profile-sync.test.ts +11 -15
- package/src/tests/scheduled-task-required-params-migration.test.ts +3 -1
- package/src/tests/script-connections.test.ts +2 -0
- package/src/tests/seed-registry.test.ts +28 -6
- package/src/tests/seed-schedules.test.ts +61 -8
- package/src/tests/seed-scripts.test.ts +142 -2
- package/src/tests/swarm-diff.test.ts +121 -2
- package/src/tests/task-auto-title-config-guard.test.ts +37 -0
- package/src/tests/task-auto-title-listener.test.ts +165 -0
- package/src/tests/theme-import.test.ts +758 -0
- package/src/tests/themes-page-theme.test.ts +155 -0
- package/src/tests/themes-presets.test.ts +172 -0
- package/src/tests/workflow-script-principal.test.ts +2 -1
- package/src/themes/classics.ts +949 -0
- package/src/themes/import.ts +420 -0
- package/src/themes/page-fields.ts +40 -0
- package/src/themes/page-theme.ts +102 -0
- package/src/themes/presets.ts +561 -0
- package/src/themes/tokens.ts +218 -0
- package/src/tools/app-upsert.ts +1 -1
- package/src/tools/create-page.ts +118 -12
- package/src/tools/utils.ts +33 -0
- package/src/types.ts +45 -3
- package/src/utils/constants.ts +19 -0
- package/src/utils/follow-up-gate-schedule-ids.ts +13 -0
- package/src/utils/internal-ai/credentials.ts +146 -93
- package/src/utils/internal-ai/index.ts +10 -0
- package/src/utils/internal-ai/models.ts +18 -0
- package/src/utils/internal-ai/task-title.ts +282 -0
- package/src/utils/page-session.ts +37 -0
- package/templates/schedules/daily-status-report/content.md +88 -2
- package/templates/schedules/daily-swarm-update-check/content.md +16 -40
- package/templates/skills/apps/SKILL.md +1 -1
- package/templates/skills/apps/content.md +1 -1
- package/templates/skills/heartbeat-runbook/content.md +1 -1
- package/templates/skills/pages/config.json +1 -1
- package/templates/skills/pages/content.md +539 -86
- package/templates/skills/pages/files/examples/annotated-pr.html +21 -12
- package/templates/skills/pages/files/examples/multiplayer-board.html +41 -41
- package/templates/skills/pages/files/examples/report-page.html +125 -124
- package/dist/cli-2pnswgh8.js +0 -189
- package/dist/handlers-by3sfxyx.js +0 -32
- package/dist/index-4f2pvxae.js +0 -37
- package/dist/index-98gz7tmp.js +0 -30
- package/dist/index-k08z2cak.js +0 -33
- package/dist/lead-enq35nqp.js +0 -70
- package/dist/worker-gg1576j3.js +0 -70
- package/templates/schedules/daily-workflow-health-audit/config.json +0 -19
- package/templates/schedules/daily-workflow-health-audit/content.md +0 -191
|
@@ -10,24 +10,24 @@ import {
|
|
|
10
10
|
createRerouteDecisionTask2,
|
|
11
11
|
createPoolStarvationDecisionTask2,
|
|
12
12
|
init_worker_follow_up
|
|
13
|
-
} from "./cli-
|
|
14
|
-
import"./cli-
|
|
15
|
-
import"./cli-
|
|
16
|
-
import"./cli-
|
|
17
|
-
import"./cli-
|
|
18
|
-
import"./cli-
|
|
13
|
+
} from "./cli-ws19768n.js";
|
|
14
|
+
import"./cli-qh4d4tvk.js";
|
|
15
|
+
import"./cli-5b456bpf.js";
|
|
16
|
+
import"./cli-pc6n7fre.js";
|
|
17
|
+
import"./cli-adeegh7d.js";
|
|
18
|
+
import"./cli-q3tkegby.js";
|
|
19
19
|
import"./cli-3xj33nrx.js";
|
|
20
|
-
import"./cli-
|
|
21
|
-
import"./cli-
|
|
22
|
-
import"./cli-
|
|
23
|
-
import"./cli-
|
|
24
|
-
import"./cli-
|
|
25
|
-
import"./cli-
|
|
26
|
-
import"./cli-
|
|
27
|
-
import"./cli-
|
|
28
|
-
import"./cli-
|
|
29
|
-
import"./cli-
|
|
30
|
-
import"./cli-
|
|
20
|
+
import"./cli-8sckt74b.js";
|
|
21
|
+
import"./cli-afkqkrtw.js";
|
|
22
|
+
import"./cli-nmzhp1b5.js";
|
|
23
|
+
import"./cli-cppkf404.js";
|
|
24
|
+
import"./cli-g08zdaec.js";
|
|
25
|
+
import"./cli-rtt8g4v9.js";
|
|
26
|
+
import"./cli-caj33vcq.js";
|
|
27
|
+
import"./cli-ddaanqkd.js";
|
|
28
|
+
import"./cli-5jnhv72d.js";
|
|
29
|
+
import"./cli-jtjtabxe.js";
|
|
30
|
+
import"./cli-wk5yrfwd.js";
|
|
31
31
|
import"./cli-wx3rhnm0.js";
|
|
32
32
|
init_worker_follow_up();
|
|
33
33
|
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import"./cli-wk5yrfwd.js";
|
|
2
|
+
import"./cli-jtjtabxe.js";
|
|
3
|
+
import"./cli-qh4d4tvk.js";
|
|
4
|
+
import"./cli-5b456bpf.js";
|
|
5
|
+
import"./cli-wx3rhnm0.js";
|
|
6
|
+
import"./cli-rtt8g4v9.js";
|
|
7
|
+
import"./cli-cppkf404.js";
|
|
8
|
+
import"./cli-afkqkrtw.js";
|
|
9
|
+
import {
|
|
10
|
+
getEnabledCapabilities,
|
|
11
|
+
init_server
|
|
12
|
+
} from "./cli-ws19768n.js";
|
|
13
|
+
import"./cli-3xj33nrx.js";
|
|
14
|
+
import"./cli-ddaanqkd.js";
|
|
15
|
+
import"./cli-8sckt74b.js";
|
|
16
|
+
import"./cli-yyj3j5m4.js";
|
|
17
|
+
import"./cli-ftyxyspd.js";
|
|
18
|
+
import {
|
|
19
|
+
runAgent
|
|
20
|
+
} from "./cli-k1nje3v3.js";
|
|
21
|
+
import"./cli-98rw5dt5.js";
|
|
22
|
+
import"./cli-77cd6gy8.js";
|
|
23
|
+
import"./cli-mthwvjre.js";
|
|
24
|
+
import"./cli-a22h291q.js";
|
|
25
|
+
import"./cli-dhar9qay.js";
|
|
26
|
+
import"./cli-jc1g9ndz.js";
|
|
27
|
+
import"./cli-k899ehvh.js";
|
|
28
|
+
import"./cli-e5bzrn01.js";
|
|
29
|
+
import"./cli-vz22fyqv.js";
|
|
30
|
+
import"./cli-qghe0h66.js";
|
|
31
|
+
import"./cli-d82btycs.js";
|
|
32
|
+
import"./cli-0726awxw.js";
|
|
33
|
+
import"./cli-m0da8j35.js";
|
|
34
|
+
import"./cli-gz6q4eve.js";
|
|
35
|
+
import"./cli-4bd1rck6.js";
|
|
36
|
+
import"./cli-98rwmcyc.js";
|
|
37
|
+
import"./cli-318r69gq.js";
|
|
38
|
+
import"./cli-vfym7wmz.js";
|
|
39
|
+
import"./cli-kr5tjjtz.js";
|
|
40
|
+
import"./cli-ayayvfg4.js";
|
|
41
|
+
import"./cli-08bmz9z9.js";
|
|
42
|
+
import"./cli-srye3vdt.js";
|
|
43
|
+
import"./cli-95jzxcp3.js";
|
|
44
|
+
import"./cli-fyt2g4wd.js";
|
|
45
|
+
import"./cli-8305gbq0.js";
|
|
46
|
+
import"./cli-72v799xn.js";
|
|
47
|
+
import"./cli-e46hg0xw.js";
|
|
48
|
+
import"./cli-cb2a8pna.js";
|
|
49
|
+
import"./cli-4zsenjhy.js";
|
|
50
|
+
import"./cli-pc6n7fre.js";
|
|
51
|
+
import"./cli-adeegh7d.js";
|
|
52
|
+
import"./cli-q3tkegby.js";
|
|
53
|
+
import"./cli-nmzhp1b5.js";
|
|
54
|
+
import"./cli-g08zdaec.js";
|
|
55
|
+
import"./cli-caj33vcq.js";
|
|
56
|
+
import"./cli-5jnhv72d.js";
|
|
57
|
+
|
|
58
|
+
// src/commands/worker.ts
|
|
59
|
+
init_server();
|
|
60
|
+
var workerConfig = {
|
|
61
|
+
role: "worker",
|
|
62
|
+
defaultPrompt: "/start-worker",
|
|
63
|
+
metadataType: "worker_metadata",
|
|
64
|
+
capabilities: getEnabledCapabilities()
|
|
65
|
+
};
|
|
66
|
+
async function runWorker(opts) {
|
|
67
|
+
return runAgent(workerConfig, opts);
|
|
68
|
+
}
|
|
69
|
+
export {
|
|
70
|
+
runWorker
|
|
71
|
+
};
|
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": "2.7.
|
|
5
|
+
"version": "2.7.7",
|
|
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": [
|
|
@@ -3171,6 +3171,7 @@
|
|
|
3171
3171
|
"task_released",
|
|
3172
3172
|
"task_deferred_wait_woke",
|
|
3173
3173
|
"task_follow_up_suppressed",
|
|
3174
|
+
"task_follow_up_gate_shadow",
|
|
3174
3175
|
"task_citation_check_refused",
|
|
3175
3176
|
"channel_message",
|
|
3176
3177
|
"service_registered",
|
|
@@ -3226,6 +3227,30 @@
|
|
|
3226
3227
|
}
|
|
3227
3228
|
}
|
|
3228
3229
|
},
|
|
3230
|
+
"PageThemeTokens": {
|
|
3231
|
+
"type": [
|
|
3232
|
+
"object",
|
|
3233
|
+
"null"
|
|
3234
|
+
],
|
|
3235
|
+
"properties": {
|
|
3236
|
+
"light": {
|
|
3237
|
+
"type": "object",
|
|
3238
|
+
"additionalProperties": {
|
|
3239
|
+
"type": "string"
|
|
3240
|
+
}
|
|
3241
|
+
},
|
|
3242
|
+
"dark": {
|
|
3243
|
+
"type": "object",
|
|
3244
|
+
"additionalProperties": {
|
|
3245
|
+
"type": "string"
|
|
3246
|
+
}
|
|
3247
|
+
}
|
|
3248
|
+
},
|
|
3249
|
+
"required": [
|
|
3250
|
+
"light",
|
|
3251
|
+
"dark"
|
|
3252
|
+
]
|
|
3253
|
+
},
|
|
3229
3254
|
"Page": {
|
|
3230
3255
|
"type": "object",
|
|
3231
3256
|
"properties": {
|
|
@@ -3278,6 +3303,19 @@
|
|
|
3278
3303
|
"type": "string"
|
|
3279
3304
|
}
|
|
3280
3305
|
},
|
|
3306
|
+
"theme": {
|
|
3307
|
+
"type": [
|
|
3308
|
+
"string",
|
|
3309
|
+
"null"
|
|
3310
|
+
]
|
|
3311
|
+
},
|
|
3312
|
+
"themeTokens": {
|
|
3313
|
+
"$ref": "#/components/schemas/PageThemeTokens"
|
|
3314
|
+
},
|
|
3315
|
+
"designVersion": {
|
|
3316
|
+
"type": "integer",
|
|
3317
|
+
"minimum": 1
|
|
3318
|
+
},
|
|
3281
3319
|
"viewCount": {
|
|
3282
3320
|
"type": "integer",
|
|
3283
3321
|
"minimum": 0,
|
|
@@ -3302,6 +3340,9 @@
|
|
|
3302
3340
|
"contentType",
|
|
3303
3341
|
"authMode",
|
|
3304
3342
|
"body",
|
|
3343
|
+
"theme",
|
|
3344
|
+
"themeTokens",
|
|
3345
|
+
"designVersion",
|
|
3305
3346
|
"createdAt",
|
|
3306
3347
|
"updatedAt"
|
|
3307
3348
|
]
|
|
@@ -3373,6 +3414,19 @@
|
|
|
3373
3414
|
"items": {
|
|
3374
3415
|
"type": "string"
|
|
3375
3416
|
}
|
|
3417
|
+
},
|
|
3418
|
+
"theme": {
|
|
3419
|
+
"type": [
|
|
3420
|
+
"string",
|
|
3421
|
+
"null"
|
|
3422
|
+
]
|
|
3423
|
+
},
|
|
3424
|
+
"themeTokens": {
|
|
3425
|
+
"$ref": "#/components/schemas/PageThemeTokens"
|
|
3426
|
+
},
|
|
3427
|
+
"designVersion": {
|
|
3428
|
+
"type": "integer",
|
|
3429
|
+
"minimum": 1
|
|
3376
3430
|
}
|
|
3377
3431
|
},
|
|
3378
3432
|
"required": [
|
|
@@ -36828,6 +36882,51 @@
|
|
|
36828
36882
|
"items": {
|
|
36829
36883
|
"type": "string"
|
|
36830
36884
|
}
|
|
36885
|
+
},
|
|
36886
|
+
"theme": {
|
|
36887
|
+
"type": [
|
|
36888
|
+
"string",
|
|
36889
|
+
"null"
|
|
36890
|
+
],
|
|
36891
|
+
"description": "Theme preset id that restyles the whole page. One of: hive, meadow, iris, rose, cobalt, ember, carbon, paper, github, vscode, material, solarized, tokyo, monokai, gruvbox, catppuccin. Omit to follow the viewer's theme. Pass null on update to clear it."
|
|
36892
|
+
},
|
|
36893
|
+
"themeTokens": {
|
|
36894
|
+
"type": [
|
|
36895
|
+
"object",
|
|
36896
|
+
"null"
|
|
36897
|
+
],
|
|
36898
|
+
"properties": {
|
|
36899
|
+
"format": {
|
|
36900
|
+
"type": "string",
|
|
36901
|
+
"enum": [
|
|
36902
|
+
"tokens",
|
|
36903
|
+
"css"
|
|
36904
|
+
]
|
|
36905
|
+
},
|
|
36906
|
+
"light": {
|
|
36907
|
+
"type": "object",
|
|
36908
|
+
"additionalProperties": {
|
|
36909
|
+
"type": "string"
|
|
36910
|
+
}
|
|
36911
|
+
},
|
|
36912
|
+
"dark": {
|
|
36913
|
+
"type": "object",
|
|
36914
|
+
"additionalProperties": {
|
|
36915
|
+
"type": "string"
|
|
36916
|
+
}
|
|
36917
|
+
},
|
|
36918
|
+
"css": {
|
|
36919
|
+
"type": "string"
|
|
36920
|
+
}
|
|
36921
|
+
},
|
|
36922
|
+
"additionalProperties": false,
|
|
36923
|
+
"description": "Per-page token overrides, applied on top of the preset. Send { light, dark } maps of token name to CSS value, or { format: \"css\", css } with a CSS variable block (:root, .dark, @theme). Stored normalized. Names outside the token contract, and values that reference a variable outside it, are ignored and listed in ignoredTokens. Replaces the stored overrides. Pass null on update to clear them."
|
|
36924
|
+
},
|
|
36925
|
+
"designVersion": {
|
|
36926
|
+
"type": "integer",
|
|
36927
|
+
"minimum": 1,
|
|
36928
|
+
"maximum": 2,
|
|
36929
|
+
"description": "Design system version. 2 is the swarm design system and the default for new pages. 1 is the original look that older pages keep. Omit on update to keep the stored value."
|
|
36831
36930
|
}
|
|
36832
36931
|
},
|
|
36833
36932
|
"required": [
|
|
@@ -36867,6 +36966,18 @@
|
|
|
36867
36966
|
},
|
|
36868
36967
|
"app_url": {
|
|
36869
36968
|
"type": "string"
|
|
36969
|
+
},
|
|
36970
|
+
"ignoredTokens": {
|
|
36971
|
+
"type": "array",
|
|
36972
|
+
"items": {
|
|
36973
|
+
"type": "string"
|
|
36974
|
+
},
|
|
36975
|
+
"description": "Theme tokens the importer ignored. A bare name is outside the token contract. Other entries give the reason, for example --font-sans (references --font-geist-sans) or --ring (in .card). Absent when none were ignored."
|
|
36976
|
+
},
|
|
36977
|
+
"designVersion": {
|
|
36978
|
+
"type": "integer",
|
|
36979
|
+
"minimum": 1,
|
|
36980
|
+
"description": "The design version of the new page: 2 unless the body set designVersion: 1."
|
|
36870
36981
|
}
|
|
36871
36982
|
},
|
|
36872
36983
|
"required": [
|
|
@@ -36874,14 +36985,15 @@
|
|
|
36874
36985
|
"key",
|
|
36875
36986
|
"version",
|
|
36876
36987
|
"api_url",
|
|
36877
|
-
"app_url"
|
|
36988
|
+
"app_url",
|
|
36989
|
+
"designVersion"
|
|
36878
36990
|
]
|
|
36879
36991
|
}
|
|
36880
36992
|
}
|
|
36881
36993
|
}
|
|
36882
36994
|
},
|
|
36883
36995
|
"400": {
|
|
36884
|
-
"description": "Invalid body",
|
|
36996
|
+
"description": "Invalid body, unknown theme, or invalid themeTokens",
|
|
36885
36997
|
"content": {
|
|
36886
36998
|
"application/json": {
|
|
36887
36999
|
"schema": {
|
|
@@ -37054,6 +37166,19 @@
|
|
|
37054
37166
|
"type": "string"
|
|
37055
37167
|
}
|
|
37056
37168
|
},
|
|
37169
|
+
"theme": {
|
|
37170
|
+
"type": [
|
|
37171
|
+
"string",
|
|
37172
|
+
"null"
|
|
37173
|
+
]
|
|
37174
|
+
},
|
|
37175
|
+
"themeTokens": {
|
|
37176
|
+
"$ref": "#/components/schemas/PageThemeTokens"
|
|
37177
|
+
},
|
|
37178
|
+
"designVersion": {
|
|
37179
|
+
"type": "integer",
|
|
37180
|
+
"minimum": 1
|
|
37181
|
+
},
|
|
37057
37182
|
"viewCount": {
|
|
37058
37183
|
"type": "integer",
|
|
37059
37184
|
"minimum": 0,
|
|
@@ -37253,6 +37378,51 @@
|
|
|
37253
37378
|
"items": {
|
|
37254
37379
|
"type": "string"
|
|
37255
37380
|
}
|
|
37381
|
+
},
|
|
37382
|
+
"theme": {
|
|
37383
|
+
"type": [
|
|
37384
|
+
"string",
|
|
37385
|
+
"null"
|
|
37386
|
+
],
|
|
37387
|
+
"description": "Theme preset id that restyles the whole page. One of: hive, meadow, iris, rose, cobalt, ember, carbon, paper, github, vscode, material, solarized, tokyo, monokai, gruvbox, catppuccin. Omit to follow the viewer's theme. Pass null on update to clear it."
|
|
37388
|
+
},
|
|
37389
|
+
"themeTokens": {
|
|
37390
|
+
"type": [
|
|
37391
|
+
"object",
|
|
37392
|
+
"null"
|
|
37393
|
+
],
|
|
37394
|
+
"properties": {
|
|
37395
|
+
"format": {
|
|
37396
|
+
"type": "string",
|
|
37397
|
+
"enum": [
|
|
37398
|
+
"tokens",
|
|
37399
|
+
"css"
|
|
37400
|
+
]
|
|
37401
|
+
},
|
|
37402
|
+
"light": {
|
|
37403
|
+
"type": "object",
|
|
37404
|
+
"additionalProperties": {
|
|
37405
|
+
"type": "string"
|
|
37406
|
+
}
|
|
37407
|
+
},
|
|
37408
|
+
"dark": {
|
|
37409
|
+
"type": "object",
|
|
37410
|
+
"additionalProperties": {
|
|
37411
|
+
"type": "string"
|
|
37412
|
+
}
|
|
37413
|
+
},
|
|
37414
|
+
"css": {
|
|
37415
|
+
"type": "string"
|
|
37416
|
+
}
|
|
37417
|
+
},
|
|
37418
|
+
"additionalProperties": false,
|
|
37419
|
+
"description": "Per-page token overrides, applied on top of the preset. Send { light, dark } maps of token name to CSS value, or { format: \"css\", css } with a CSS variable block (:root, .dark, @theme). Stored normalized. Names outside the token contract, and values that reference a variable outside it, are ignored and listed in ignoredTokens. Replaces the stored overrides. Pass null on update to clear them."
|
|
37420
|
+
},
|
|
37421
|
+
"designVersion": {
|
|
37422
|
+
"type": "integer",
|
|
37423
|
+
"minimum": 1,
|
|
37424
|
+
"maximum": 2,
|
|
37425
|
+
"description": "Design system version. 2 is the swarm design system and the default for new pages. 1 is the original look that older pages keep. Omit on update to keep the stored value."
|
|
37256
37426
|
}
|
|
37257
37427
|
}
|
|
37258
37428
|
}
|
|
@@ -37279,17 +37449,40 @@
|
|
|
37279
37449
|
"version": {
|
|
37280
37450
|
"type": "integer",
|
|
37281
37451
|
"minimum": 1
|
|
37452
|
+
},
|
|
37453
|
+
"ignoredTokens": {
|
|
37454
|
+
"type": "array",
|
|
37455
|
+
"items": {
|
|
37456
|
+
"type": "string"
|
|
37457
|
+
},
|
|
37458
|
+
"description": "Theme tokens the importer ignored. A bare name is outside the token contract. Other entries give the reason, for example --font-sans (references --font-geist-sans) or --ring (in .card). Absent when none were ignored."
|
|
37459
|
+
},
|
|
37460
|
+
"designVersion": {
|
|
37461
|
+
"type": "integer",
|
|
37462
|
+
"minimum": 1,
|
|
37463
|
+
"description": "The design version the page has after the update. An omitted designVersion keeps the stored one, so an older page stays on 1."
|
|
37282
37464
|
}
|
|
37283
37465
|
},
|
|
37284
37466
|
"required": [
|
|
37285
37467
|
"id",
|
|
37286
37468
|
"key",
|
|
37287
|
-
"version"
|
|
37469
|
+
"version",
|
|
37470
|
+
"designVersion"
|
|
37288
37471
|
]
|
|
37289
37472
|
}
|
|
37290
37473
|
}
|
|
37291
37474
|
}
|
|
37292
37475
|
},
|
|
37476
|
+
"400": {
|
|
37477
|
+
"description": "Unknown theme or invalid themeTokens",
|
|
37478
|
+
"content": {
|
|
37479
|
+
"application/json": {
|
|
37480
|
+
"schema": {
|
|
37481
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
37482
|
+
}
|
|
37483
|
+
}
|
|
37484
|
+
}
|
|
37485
|
+
},
|
|
37293
37486
|
"404": {
|
|
37294
37487
|
"description": "Page not found",
|
|
37295
37488
|
"content": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@desplega.ai/agent-swarm",
|
|
3
|
-
"version": "2.7.
|
|
3
|
+
"version": "2.7.7",
|
|
4
4
|
"description": "agent-swarm.dev — an open-source operating system for AI work: a lead agent breaks goals into tasks, routes them to specialized workers such as Claude Code or Codex, runs each worker in an isolated container, and preserves shared memory, tools, schedules, and review gates so delegated work compounds across sessions.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"agent-swarm.dev",
|
|
@@ -183,8 +183,8 @@
|
|
|
183
183
|
"@desplega/model-catalog": "workspace:*",
|
|
184
184
|
"@desplega/model-routing": "workspace:*",
|
|
185
185
|
"@faker-js/faker": "^10.4.0",
|
|
186
|
-
"@opencode/plugin": "2.2.
|
|
187
|
-
"@opencode/sdk": "2.2.
|
|
186
|
+
"@opencode/plugin": "2.2.5",
|
|
187
|
+
"@opencode/sdk": "2.2.5",
|
|
188
188
|
"@oxlint/plugins": "1.78.0",
|
|
189
189
|
"@types/bun": "latest",
|
|
190
190
|
"dependency-cruiser": "^18.0.0",
|
|
@@ -204,7 +204,7 @@
|
|
|
204
204
|
"dependencies": {
|
|
205
205
|
"@agentclientprotocol/sdk": "2.2.0",
|
|
206
206
|
"@ai-sdk/openai": "^3.0.41",
|
|
207
|
-
"@anthropic-ai/claude-agent-sdk": "0.3.
|
|
207
|
+
"@anthropic-ai/claude-agent-sdk": "0.3.316",
|
|
208
208
|
"@anthropic-ai/sdk": "^1.3.0",
|
|
209
209
|
"@asteasolutions/zod-to-openapi": "^8.0.0",
|
|
210
210
|
"@aws-sdk/client-bedrock": "3.1048.0",
|
|
@@ -214,7 +214,7 @@
|
|
|
214
214
|
"@chat-adapter/teams": "4.41.1",
|
|
215
215
|
"@chat-adapter/telegram": "4.41.1",
|
|
216
216
|
"@cursor/sdk": "1.2.0",
|
|
217
|
-
"@desplega.ai/agent-fs-just-bash": "0.18.
|
|
217
|
+
"@desplega.ai/agent-fs-just-bash": "0.18.14",
|
|
218
218
|
"@desplega.ai/business-use": "^0.4.2",
|
|
219
219
|
"@earendil-works/pi-agent-core": "^1.4.0",
|
|
220
220
|
"@earendil-works/pi-ai": "^1.4.0",
|
package/src/apps/definition.ts
CHANGED
|
@@ -446,11 +446,12 @@ export const AppElementsSchema = z.record(AppNameSchema, AppElementSchema);
|
|
|
446
446
|
|
|
447
447
|
/**
|
|
448
448
|
* Preset theme id applied to the app's rendered surface. The catalog of
|
|
449
|
-
* presets lives in
|
|
450
|
-
*
|
|
451
|
-
*
|
|
452
|
-
*
|
|
453
|
-
* `$theme` user-config key
|
|
449
|
+
* presets lives in `src/themes/presets.ts` (the dashboard re-exports it from
|
|
450
|
+
* `apps/ui/src/lib/themes.ts`). App definitions are validated by shape only,
|
|
451
|
+
* and the renderer resolves unknown ids to its default theme, so definitions
|
|
452
|
+
* stay portable across dashboard versions whose preset catalogs differ.
|
|
453
|
+
* Viewers can override it per-user via the reserved `$theme` user-config key
|
|
454
|
+
* (see `user-config.ts`).
|
|
454
455
|
*/
|
|
455
456
|
export const AppThemeIdSchema = z.string().regex(/^[a-z][a-z0-9-]{0,39}$/, {
|
|
456
457
|
message: "must be a lowercase slug (letters, digits, dashes)",
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type Page, PageThemeTokensSchema } from "../../types";
|
|
2
|
+
|
|
3
|
+
/** Stored `theme_tokens` JSON, or null when the column is empty, is not JSON, or has the wrong shape. */
|
|
4
|
+
export function parsePageThemeTokens(raw: string | null): Page["themeTokens"] {
|
|
5
|
+
if (!raw) return null;
|
|
6
|
+
try {
|
|
7
|
+
const parsed = PageThemeTokensSchema.safeParse(JSON.parse(raw));
|
|
8
|
+
return parsed.success ? parsed.data : null;
|
|
9
|
+
} catch {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
}
|
package/src/be/db/tasks/read.ts
CHANGED
|
@@ -1023,6 +1023,14 @@ export async function getAllTasks(
|
|
|
1023
1023
|
params.push(filters.requestedByUserId);
|
|
1024
1024
|
}
|
|
1025
1025
|
|
|
1026
|
+
// Without selective filters, tiny LIMITs can make SQLite choose a full
|
|
1027
|
+
// scan and sort when ANALYZE statistics are absent. Keep filtered pages
|
|
1028
|
+
// planner-controlled so they can use their selective indexes.
|
|
1029
|
+
const pageIndex =
|
|
1030
|
+
conditions.length === 0 && !filters?.readableBy && filters?.orderBy !== "createdAt"
|
|
1031
|
+
? "INDEXED BY idx_agent_tasks_last_updated"
|
|
1032
|
+
: "";
|
|
1033
|
+
|
|
1026
1034
|
// Exclude system/heartbeat tasks by default. The flag is still called
|
|
1027
1035
|
// `includeHeartbeat` for backward compat with existing API callers, but we
|
|
1028
1036
|
// also gate boot-triage + heartbeat-checklist behind it since those are
|
|
@@ -1056,7 +1064,7 @@ export async function getAllTasks(
|
|
|
1056
1064
|
// lastUpdatedAt index for a full scan. The outer sort adds it only to fix
|
|
1057
1065
|
// the order of exact ties inside the page.
|
|
1058
1066
|
const query = `WITH page AS (
|
|
1059
|
-
SELECT rowid AS rid FROM agent_tasks ${whereClause}
|
|
1067
|
+
SELECT rowid AS rid FROM agent_tasks ${pageIndex} ${whereClause}
|
|
1060
1068
|
ORDER BY ${orderColumns.join(", ")} LIMIT ${limit} OFFSET ${offset}
|
|
1061
1069
|
)
|
|
1062
1070
|
SELECT ${LIST_COLUMNS[fields]},
|
package/src/be/db/tasks/write.ts
CHANGED
|
@@ -394,6 +394,25 @@ export async function updateTaskTitle(
|
|
|
394
394
|
return row ? rowToAgentTask(row) : null;
|
|
395
395
|
}
|
|
396
396
|
|
|
397
|
+
/**
|
|
398
|
+
* Sets a generated display title only while the task has none. A rename that
|
|
399
|
+
* landed first (a person, or another API replica) wins: the row is left alone
|
|
400
|
+
* and `null` comes back. Like `updateTaskTitle`, it does not bump
|
|
401
|
+
* `lastUpdatedAt`.
|
|
402
|
+
*/
|
|
403
|
+
export async function setTaskTitleIfUnset(
|
|
404
|
+
taskId: string,
|
|
405
|
+
title: string,
|
|
406
|
+
): Promise<AgentTask | null> {
|
|
407
|
+
const normalized = title.trim();
|
|
408
|
+
if (!normalized) return null;
|
|
409
|
+
const row = await getDbClient().get<AgentTaskRow>(
|
|
410
|
+
"UPDATE agent_tasks SET title = ? WHERE id = ? AND title IS NULL RETURNING *",
|
|
411
|
+
[normalized, taskId],
|
|
412
|
+
);
|
|
413
|
+
return row ? rowToAgentTask(row) : null;
|
|
414
|
+
}
|
|
415
|
+
|
|
397
416
|
export async function completeTask(
|
|
398
417
|
id: string,
|
|
399
418
|
output?: string,
|