@desplega.ai/agent-swarm 2.2.0 → 2.4.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.
- package/README.md +1 -0
- package/dist/{acp-adapter-k0vwfyvn.js → acp-adapter-kedstxx6.js} +6 -6
- package/dist/{actions-w4pnb8vz.js → actions-vget6r1k.js} +18 -16
- package/dist/{amp-adapter-0cmxb2t5.js → amp-adapter-xeb5mktv.js} +2 -2
- package/dist/{app-zneem7g9.js → app-mqap8t8m.js} +3 -3
- package/dist/{assistant-wbzd2rnr.js → assistant-h0gv97mv.js} +20 -18
- package/dist/{boot-reembed-4kx69j3g.js → boot-reembed-qr8a894z.js} +1 -1
- package/dist/{boot-reembed-db0wwgy1.js → boot-reembed-rj85jjhw.js} +1 -1
- package/dist/{boot-scrub-sweep-tfv4d3mm.js → boot-scrub-sweep-eyfvn6v9.js} +3 -3
- package/dist/{boot-seeds-w2hmkxn5.js → boot-seeds-xs9a8dx1.js} +4 -4
- package/dist/{claude-adapter-5qrc2paq.js → claude-adapter-bm23cye7.js} +5 -5
- package/dist/{claude-managed-adapter-n7ahjyx6.js → claude-managed-adapter-1mwrsm9d.js} +2 -2
- package/dist/{claude-managed-setup-7ra32em4.js → claude-managed-setup-gkfgks4j.js} +1 -1
- package/dist/{claude-sdk-session-cd02gc76.js → claude-sdk-session-apb4ypz3.js} +5 -5
- package/dist/cli-02vhhssk.js +848 -0
- package/dist/{cli-4ync7m60.js → cli-0ebey9hg.js} +1 -1
- package/dist/{cli-665j3feb.js → cli-0xk505e8.js} +1 -1
- package/dist/{cli-8c1m9mhy.js → cli-1cevz46c.js} +5 -5
- package/dist/{cli-gzvb3d4a.js → cli-1jx0srjt.js} +3 -3
- package/dist/{cli-zj4d6afs.js → cli-1pa3rz69.js} +21 -6
- package/dist/{cli-vmbakbq0.js → cli-2rwet3r7.js} +1 -1
- package/dist/{cli-azs9bhc5.js → cli-3wjs22x3.js} +2 -2
- package/dist/{cli-tba8fxf9.js → cli-4fhyq711.js} +45 -36
- package/dist/{cli-ak4c12mh.js → cli-5ff2sjyt.js} +1 -1
- package/dist/{cli-6q7pyd3k.js → cli-5s5hx57y.js} +5 -3
- package/dist/{cli-h23mr2s6.js → cli-6ftrrwm1.js} +9 -371
- package/dist/{cli-9ac0mkg5.js → cli-8b9wvjps.js} +1 -1
- package/dist/cli-8cxkw1f5.js +382 -0
- package/dist/{cli-xhgtay7w.js → cli-8rwvksbc.js} +2 -2
- package/dist/{cli-e09hj50q.js → cli-8wkb09q5.js} +11 -11
- package/dist/{cli-ksrphveb.js → cli-a1esmmee.js} +14 -2
- package/dist/{cli-xnp2vkx7.js → cli-avmqhatn.js} +7 -7
- package/dist/{cli-xx13gqf3.js → cli-b80a1100.js} +1 -1
- package/dist/{cli-z1hh99j0.js → cli-bfc3k1x5.js} +3 -3
- package/dist/{cli-0k9rcwfy.js → cli-bhwa8rzc.js} +33 -15
- package/dist/{cli-8cvvytad.js → cli-bn26xbcs.js} +2 -2
- package/dist/{cli-k28p6xh7.js → cli-c8fwpgqb.js} +1 -1
- package/dist/{cli-rc3r0bnh.js → cli-ccn0eybf.js} +1 -1
- package/dist/{cli-9td5ss65.js → cli-dsgj3e7a.js} +2 -2
- package/dist/{cli-jrk8mj0t.js → cli-ecshf504.js} +2 -2
- package/dist/{cli-raejy0mp.js → cli-eqgfs202.js} +1 -1
- package/dist/{cli-ppapy34w.js → cli-f3nx1h8z.js} +2 -2
- package/dist/{cli-c9vrwcpb.js → cli-ffbrkh1r.js} +74 -35
- package/dist/{cli-mnry16kh.js → cli-kk2r80n5.js} +4 -4
- package/dist/{cli-c0dpzwnx.js → cli-kz116kvw.js} +3 -3
- package/dist/{cli-e5y285rg.js → cli-mvg2hf8p.js} +4 -4
- package/dist/{cli-2jm992rm.js → cli-mz1ezzzh.js} +2 -2
- package/dist/{cli-dw0njd9q.js → cli-nme7wery.js} +6 -6
- package/dist/{cli-mvsfbbgq.js → cli-nrrg0fvy.js} +18 -4
- package/dist/{cli-8jtrekpy.js → cli-p1m2b6gc.js} +7 -7
- package/dist/{cli-4c7k75rq.js → cli-rg7ntypm.js} +378 -84
- package/dist/{cli-z3dk189k.js → cli-rsd7ga7v.js} +10 -8
- package/dist/{cli-etvn5ej2.js → cli-sppc0cmw.js} +1 -1
- package/dist/{cli-8w65vwee.js → cli-tg9ksbn8.js} +1 -1
- package/dist/{cli-th8krqbf.js → cli-tgvpmnwz.js} +2 -2
- package/dist/{cli-hwc4a9xm.js → cli-tj4j2ts4.js} +6 -6
- package/dist/{cli-jhhb2v9n.js → cli-ttaz6c7m.js} +2 -2
- package/dist/{cli-w7z94e6c.js → cli-tx00c0h6.js} +4 -2
- package/dist/{cli-4g629sgr.js → cli-wrv09v7q.js} +20 -1
- package/dist/{cli-cby329ny.js → cli-wyrr38xm.js} +2 -2
- package/dist/{cli-5ks6x36q.js → cli-x1p5dhq2.js} +3 -3
- package/dist/{cli-bddxamg7.js → cli-x719j3vs.js} +220 -629
- package/dist/{cli-ztcxv5nv.js → cli-xfe63zx3.js} +1 -1
- package/dist/{cli-q6gw45wj.js → cli-ywyrffff.js} +1 -1
- package/dist/{cli-p46xdr1m.js → cli-zvze9rbm.js} +1 -1
- package/dist/cli.js +15 -15
- package/dist/{codex-adapter-m0fx3v3s.js → codex-adapter-pp2gq8gr.js} +3 -3
- package/dist/{codex-hook-x6tm6y5m.js → codex-hook-qwzccd64.js} +1 -1
- package/dist/{codex-session-runner-j9m2gfyy.js → codex-session-runner-0vzn09t8.js} +3 -3
- package/dist/{commands-ktnqwrv4.js → commands-psqhkttb.js} +2 -2
- package/dist/{controller-nex2he8v.js → controller-t20vz2k8.js} +2 -2
- package/dist/{controllers-connect-6yhwqv9v.js → controllers-connect-gkxmqw9d.js} +24 -20
- package/dist/{cursor-adapter-02s5ekva.js → cursor-adapter-3v542qe5.js} +1 -1
- package/dist/{db-jvr86v7f.js → db-2xbyenjr.js} +2 -2
- package/dist/{db-19tw9r5s.js → db-nc1rd869.js} +3 -2
- package/dist/{dispatcher-d3mnsg2y.js → dispatcher-ewceb8ts.js} +17 -15
- package/dist/{dsh-adapter-63rvej88.js → dsh-adapter-75xwh78t.js} +1 -1
- package/dist/{easter-egg-3d-6hg2r942.js → easter-egg-3d-xsc47jwf.js} +1 -1
- package/dist/{execute-bcqc69a5.js → execute-gzmw1mnw.js} +1 -1
- package/dist/{external-channel-44cwer32.js → external-channel-a5dsmxn4.js} +2 -2
- package/dist/{google-generative-ai-phpmwxvg.js → google-generative-ai-bmq8gkf3.js} +1 -1
- package/dist/{google-vertex-es9ybgdy.js → google-vertex-b1rvp52s.js} +1 -1
- package/dist/{grok-adapter-ysp907f6.js → grok-adapter-vj88xr23.js} +7 -7
- package/dist/handlers-zbs90bny.js +39 -0
- package/dist/{heartbeat-2etacsqq.js → heartbeat-t2m9r3wa.js} +20 -18
- package/dist/{hook-mzxxs5n2.js → hook-8femx1bg.js} +4 -4
- package/dist/{hook-3kvmax6d.js → hook-xa677f8r.js} +5 -5
- package/dist/{http-fn978m0g.js → http-xpmmq028.js} +940 -269
- package/dist/{index-e4tsa1h7.js → index-8pwc1jc8.js} +17 -15
- package/dist/{index-w2wr89xd.js → index-cdzyfrsp.js} +1 -1
- package/dist/{index-1r8hw4vd.js → index-dg2tmj99.js} +17 -15
- package/dist/index-nxa6me0q.js +41 -0
- package/dist/{index-039x2sag.js → index-s7ckdajq.js} +42 -14
- package/dist/{index-wgsw9xcz.js → index-syztqdt6.js} +1 -1
- package/dist/{index-x0q2a4f9.js → index-ysd45kgc.js} +1 -1
- package/dist/{index-g909y089.js → index-zgvqzjsw.js} +8 -8
- package/dist/{keepalive-d4nzs76x.js → keepalive-3nr4st3r.js} +3 -3
- package/dist/{lead-8h5n9k5f.js → lead-td8h2sfn.js} +33 -31
- package/dist/{maintenance-ea6jfw42.js → maintenance-verwpe2c.js} +1 -1
- package/dist/{oauth-refresh-sweep-3f25djq3.js → oauth-refresh-sweep-9q2t0y3q.js} +2 -2
- package/dist/{onboard-pvk7hdb2.js → onboard-aytqedmq.js} +2 -2
- package/dist/{opencode-adapter-eeesgfqk.js → opencode-adapter-f4hryjny.js} +4 -4
- package/dist/{otel-impl-qb7nhgdp.js → otel-impl-hckw4wt1.js} +1 -1
- package/dist/{pi-mono-adapter-zasp3ze3.js → pi-mono-adapter-hxby0ce1.js} +6 -6
- package/dist/{pricing-refresh-6ehwkcmp.js → pricing-refresh-5nvme3sm.js} +3 -3
- package/dist/{rbac-roles-km0f9cmm.js → rbac-roles-pd8c26m1.js} +5 -3
- package/dist/{rbac-roles-9648nh00.js → rbac-roles-vbpy21mg.js} +2 -2
- package/dist/{render-v2-xkze1wef.js → render-v2-7nqgvk2q.js} +3 -3
- package/dist/{resume-tq0bbvt5.js → resume-b6djcj3c.js} +6 -6
- package/dist/{runtime-ar8310ba.js → runtime-txrxc9za.js} +1 -1
- package/dist/session-access-fc3f9y12.js +25 -0
- package/dist/{setup-rnrazxvd.js → setup-n39szm6b.js} +1 -1
- package/dist/{virtual-modules-wzk6jf3a.js → virtual-modules-wyp2k6z3.js} +2 -2
- package/dist/{work-objects-e75q2rqs.js → work-objects-jem2fre0.js} +20 -18
- package/dist/{worker-4ww4hjef.js → worker-wr6xgfr2.js} +33 -31
- package/openapi.json +1011 -115
- package/package.json +2 -2
- package/src/apps/action-caller.ts +6 -0
- package/src/apps/script-types.ts +16 -3
- package/src/be/asset-key-audit.ts +4 -13
- package/src/be/db/active-sessions.ts +5 -0
- package/src/be/db/session-visibility.ts +29 -0
- package/src/be/db/tasks/read.ts +61 -3
- package/src/be/db/tasks/write.ts +15 -6
- package/src/be/db.ts +149 -66
- package/src/be/events.ts +11 -0
- package/src/be/migrations/227_inbox_item_state_last_read_at.sql +1 -0
- package/src/be/migrations/230_session_shares.sql +23 -0
- package/src/be/rbac-roles.ts +2 -0
- package/src/be/seed-scripts/catalog/heartbeat-jev-gate.ts +22 -4
- package/src/be/session-shares.ts +244 -0
- package/src/be/swarm-config-guard.ts +23 -2
- package/src/commands/runner.ts +11 -0
- package/src/heartbeat/heartbeat.ts +25 -7
- package/src/http/active-sessions.ts +13 -2
- package/src/http/agents.ts +10 -3
- package/src/http/all-routes.ts +1 -0
- package/src/http/api-keys.ts +3 -1
- package/src/http/approval-requests.ts +2 -1
- package/src/http/apps.ts +36 -11
- package/src/http/assets.ts +26 -4
- package/src/http/config.ts +3 -0
- package/src/http/context.ts +2 -0
- package/src/http/core.ts +39 -2
- package/src/http/events.ts +6 -2
- package/src/http/favorite-owner.ts +1 -1
- package/src/http/fs.ts +38 -3
- package/src/http/inbox-state.ts +58 -8
- package/src/http/index.ts +3 -1
- package/src/http/memory.ts +3 -1
- package/src/http/ranking.ts +367 -0
- package/src/http/realtime.ts +26 -21
- package/src/http/route-def.ts +77 -11
- package/src/http/script-runs.ts +2 -1
- package/src/http/scripts.ts +8 -0
- package/src/http/session-access.ts +179 -0
- package/src/http/session-data.ts +10 -2
- package/src/http/sessions.ts +212 -12
- package/src/http/stats.ts +7 -3
- package/src/http/tasks.ts +83 -7
- package/src/http/used-by.ts +11 -3
- package/src/kv-reserved-namespaces.ts +1 -0
- package/src/prompts/session-templates.ts +3 -1
- package/src/providers/amp-adapter.ts +1 -1
- package/src/ranking/telemetry-ranking.ts +147 -0
- package/src/ranking/usage.ts +57 -0
- package/src/rbac/admission.ts +22 -7
- package/src/rbac/legacy-policy.ts +2 -0
- package/src/rbac/permissions.ts +9 -0
- package/src/realtime/auth.ts +69 -0
- package/src/realtime/tickets.ts +4 -1
- package/src/realtime/transport.ts +77 -9
- package/src/slack/blocks.ts +18 -0
- package/src/slack/dm.ts +29 -0
- package/src/telemetry-contract/EVENTS.md +3 -0
- package/src/telemetry-contract/SOURCE.json +37 -4
- package/src/telemetry-contract/catalog.json +69 -0
- package/src/telemetry-contract/ranking/fixtures/expected.json +30 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/bad-category.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/bad-claim.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/blank-description.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/blank-name.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/description-too-long.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/domain-uppercase.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/domain-with-scheme.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/domain-with-www.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/http-source-url.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/missing-description.json +10 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/missing-version.json +10 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/name-not-string.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/name-too-long.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/not-object.json +1 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/null.json +1 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/other-with-subcategory.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/oversize.json +1 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/short-claim.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/subcategory-other-category.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/trailing-data.json +1 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/unknown-field.json +12 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/unsupported-version.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/updated-at-not-date.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/updated-at-offset.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/wrong-case-field.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/valid/category-without-subcategory.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/valid/full.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/valid/minimal.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/valid/padded-text.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/valid/unicode-name.json +11 -0
- package/src/telemetry-contract/ranking/listing.v1.schema.json +61 -0
- package/src/telemetry-contract/ranking/taxonomy.json +8 -0
- package/src/telemetry-contract/ranking-taxonomy.gen.ts +11 -0
- package/src/telemetry-contract/types.gen.ts +708 -1
- package/src/telemetry.ts +26 -2
- package/src/tests/apps-rbac.test.ts +189 -2
- package/src/tests/apps-script-types.test.ts +16 -3
- package/src/tests/asset-key-api.test.ts +128 -0
- package/src/tests/asset-key-invariants.test.ts +179 -3
- package/src/tests/asset-key-migration.test.ts +35 -0
- package/src/tests/check-pr-body.test.ts +23 -0
- package/src/tests/check-ranking-entry.test.ts +146 -0
- package/src/tests/db-extraction-contract.test.ts +1 -0
- package/src/tests/db-task-read-contract.test.ts +1 -0
- package/src/tests/docs-index-footprint.test.js +2 -2
- package/src/tests/heartbeat-checklist.test.ts +88 -0
- package/src/tests/heartbeat-jev-gate.test.ts +394 -10
- package/src/tests/inbox-state.test.ts +167 -0
- package/src/tests/kv-tool.test.ts +15 -0
- package/src/tests/org-identity.test.ts +44 -0
- package/src/tests/ranking-listing.test.ts +112 -0
- package/src/tests/ranking-route.test.ts +319 -0
- package/src/tests/ranking-usage.test.ts +50 -0
- package/src/tests/rbac-admission-e2e.test.ts +8 -0
- package/src/tests/rbac-admission.test.ts +38 -0
- package/src/tests/rbac-charact-http.test.ts +4 -3
- package/src/tests/rbac-engine.test.ts +2 -0
- package/src/tests/rbac-roles.test.ts +2 -0
- package/src/tests/realtime-room-surfaces.test.ts +3 -1
- package/src/tests/realtime-session-join-race.test.ts +142 -0
- package/src/tests/realtime-tickets.test.ts +24 -17
- package/src/tests/realtime-transport.test.ts +91 -0
- package/src/tests/script-connections.test.ts +2 -0
- package/src/tests/session-route-posture.test.ts +639 -0
- package/src/tests/session-sharing-routes.test.ts +282 -0
- package/src/tests/session-sharing.test.ts +526 -0
- package/src/tests/sessions-detail-batch.test.ts +7 -1
- package/src/tests/slack-tool-blocks.test.ts +101 -0
- package/src/tests/slack-update.test.ts +55 -0
- package/src/tests/slack-user-dm.test.ts +177 -0
- package/src/tests/used-by-route.test.ts +10 -0
- package/src/tools/slack-post.ts +18 -12
- package/src/tools/slack-read.ts +13 -1
- package/src/tools/slack-reply.ts +7 -10
- package/src/tools/slack-start-thread.ts +18 -11
- package/src/tools/slack-update.ts +2 -9
- package/src/types.ts +37 -0
- package/src/utils/org-identity.ts +33 -0
- package/templates/skills/apps/SKILL.md +17 -0
- package/templates/skills/apps/content.md +17 -0
- package/templates/skills/code-quality/content.md +2 -2
- package/templates/skills/pages/content.md +4 -0
- package/templates/skills/swarm-scripts/SKILL.md +6 -0
- package/templates/skills/swarm-scripts/content.md +6 -0
- package/dist/handlers-t5pbabwf.js +0 -37
- package/dist/index-qyjbb7br.js +0 -39
- package/dist/{cli-n5mrsg0f.js → cli-60cgh1rv.js} +3 -3
- /package/dist/{cli-j0v75y13.js → cli-y83zk5sb.js} +0 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"v": 1,
|
|
3
|
+
"claim": "rk_3f9a1c0e7b2d4a6f8e1c3b5d7f9a2c4e",
|
|
4
|
+
"name": 42,
|
|
5
|
+
"domain": "example.com",
|
|
6
|
+
"category": "engineering",
|
|
7
|
+
"subcategory": "qa-testing",
|
|
8
|
+
"description": "QA and release automation for our web apps",
|
|
9
|
+
"sourceCodeUrl": "https://example.org/agents",
|
|
10
|
+
"updatedAt": "2026-10-18T10:00:00.000Z"
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"v": 1,
|
|
3
|
+
"claim": "rk_3f9a1c0e7b2d4a6f8e1c3b5d7f9a2c4e",
|
|
4
|
+
"name": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
|
|
5
|
+
"domain": "example.com",
|
|
6
|
+
"category": "engineering",
|
|
7
|
+
"subcategory": "qa-testing",
|
|
8
|
+
"description": "QA and release automation for our web apps",
|
|
9
|
+
"sourceCodeUrl": "https://example.org/agents",
|
|
10
|
+
"updatedAt": "2026-10-18T10:00:00.000Z"
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[{"v":1,"claim":"rk_3f9a1c0e7b2d4a6f8e1c3b5d7f9a2c4e","name":"Example Org","domain":"example.com","category":"engineering","subcategory":"qa-testing","description":"QA and release automation for our web apps","sourceCodeUrl":"https://example.org/agents","updatedAt":"2026-10-18T10:00:00.000Z"}]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
null
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"v": 1,
|
|
3
|
+
"claim": "rk_3f9a1c0e7b2d4a6f8e1c3b5d7f9a2c4e",
|
|
4
|
+
"name": "Example Org",
|
|
5
|
+
"domain": "example.com",
|
|
6
|
+
"category": "other",
|
|
7
|
+
"subcategory": "coding-agents",
|
|
8
|
+
"description": "QA and release automation for our web apps",
|
|
9
|
+
"sourceCodeUrl": "https://example.org/agents",
|
|
10
|
+
"updatedAt": "2026-10-18T10:00:00.000Z"
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{ "v":1,"claim":"rk_3f9a1c0e7b2d4a6f8e1c3b5d7f9a2c4e","name":"Example Org","domain":"example.com","category":"engineering","subcategory":"qa-testing","description":"QA and release automation for our web apps","sourceCodeUrl":"https://example.org/agents","updatedAt":"2026-10-18T10:00:00.000Z"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"v": 1,
|
|
3
|
+
"claim": "rk_1234",
|
|
4
|
+
"name": "Example Org",
|
|
5
|
+
"domain": "example.com",
|
|
6
|
+
"category": "engineering",
|
|
7
|
+
"subcategory": "qa-testing",
|
|
8
|
+
"description": "QA and release automation for our web apps",
|
|
9
|
+
"sourceCodeUrl": "https://example.org/agents",
|
|
10
|
+
"updatedAt": "2026-10-18T10:00:00.000Z"
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"v": 1,
|
|
3
|
+
"claim": "rk_3f9a1c0e7b2d4a6f8e1c3b5d7f9a2c4e",
|
|
4
|
+
"name": "Example Org",
|
|
5
|
+
"domain": "example.com",
|
|
6
|
+
"category": "engineering",
|
|
7
|
+
"subcategory": "seo",
|
|
8
|
+
"description": "QA and release automation for our web apps",
|
|
9
|
+
"sourceCodeUrl": "https://example.org/agents",
|
|
10
|
+
"updatedAt": "2026-10-18T10:00:00.000Z"
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"v":1,"claim":"rk_3f9a1c0e7b2d4a6f8e1c3b5d7f9a2c4e","name":"Example Org","domain":"example.com","category":"engineering","subcategory":"qa-testing","description":"QA and release automation for our web apps","sourceCodeUrl":"https://example.org/agents","updatedAt":"2026-10-18T10:00:00.000Z"} {}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"v": 1,
|
|
3
|
+
"claim": "rk_3f9a1c0e7b2d4a6f8e1c3b5d7f9a2c4e",
|
|
4
|
+
"name": "Example Org",
|
|
5
|
+
"domain": "example.com",
|
|
6
|
+
"category": "engineering",
|
|
7
|
+
"subcategory": "qa-testing",
|
|
8
|
+
"description": "QA and release automation for our web apps",
|
|
9
|
+
"sourceCodeUrl": "https://example.org/agents",
|
|
10
|
+
"updatedAt": "2026-10-18T10:00:00.000Z",
|
|
11
|
+
"logo": "https://example.com/logo.png"
|
|
12
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"v": 2,
|
|
3
|
+
"claim": "rk_3f9a1c0e7b2d4a6f8e1c3b5d7f9a2c4e",
|
|
4
|
+
"name": "Example Org",
|
|
5
|
+
"domain": "example.com",
|
|
6
|
+
"category": "engineering",
|
|
7
|
+
"subcategory": "qa-testing",
|
|
8
|
+
"description": "QA and release automation for our web apps",
|
|
9
|
+
"sourceCodeUrl": "https://example.org/agents",
|
|
10
|
+
"updatedAt": "2026-10-18T10:00:00.000Z"
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"v": 1,
|
|
3
|
+
"claim": "rk_3f9a1c0e7b2d4a6f8e1c3b5d7f9a2c4e",
|
|
4
|
+
"name": "Example Org",
|
|
5
|
+
"domain": "example.com",
|
|
6
|
+
"category": "engineering",
|
|
7
|
+
"subcategory": "qa-testing",
|
|
8
|
+
"description": "QA and release automation for our web apps",
|
|
9
|
+
"sourceCodeUrl": "https://example.org/agents",
|
|
10
|
+
"updatedAt": "yesterday"
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"v": 1,
|
|
3
|
+
"claim": "rk_3f9a1c0e7b2d4a6f8e1c3b5d7f9a2c4e",
|
|
4
|
+
"name": "Example Org",
|
|
5
|
+
"domain": "example.com",
|
|
6
|
+
"category": "engineering",
|
|
7
|
+
"subcategory": "qa-testing",
|
|
8
|
+
"description": "QA and release automation for our web apps",
|
|
9
|
+
"sourceCodeUrl": "https://example.org/agents",
|
|
10
|
+
"updatedAt": "2026-10-18T12:00:00+02:00"
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"v": 1,
|
|
3
|
+
"name": "Example Org",
|
|
4
|
+
"domain": "example.com",
|
|
5
|
+
"category": "engineering",
|
|
6
|
+
"subcategory": "qa-testing",
|
|
7
|
+
"description": "QA and release automation for our web apps",
|
|
8
|
+
"sourceCodeUrl": "https://example.org/agents",
|
|
9
|
+
"updatedAt": "2026-10-18T10:00:00.000Z",
|
|
10
|
+
"Claim": "rk_3f9a1c0e7b2d4a6f8e1c3b5d7f9a2c4e"
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"v": 1,
|
|
3
|
+
"claim": "rk_3f9a1c0e7b2d4a6f8e1c3b5d7f9a2c4e",
|
|
4
|
+
"name": "Example Org",
|
|
5
|
+
"domain": "example.com",
|
|
6
|
+
"category": "marketing",
|
|
7
|
+
"subcategory": null,
|
|
8
|
+
"description": "QA and release automation for our web apps",
|
|
9
|
+
"sourceCodeUrl": "https://example.org/agents",
|
|
10
|
+
"updatedAt": "2026-10-18T10:00:00.000Z"
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"v": 1,
|
|
3
|
+
"claim": "rk_3f9a1c0e7b2d4a6f8e1c3b5d7f9a2c4e",
|
|
4
|
+
"name": "Example Org",
|
|
5
|
+
"domain": "example.com",
|
|
6
|
+
"category": "engineering",
|
|
7
|
+
"subcategory": "qa-testing",
|
|
8
|
+
"description": "QA and release automation for our web apps",
|
|
9
|
+
"sourceCodeUrl": "https://example.org/agents",
|
|
10
|
+
"updatedAt": "2026-10-18T10:00:00.000Z"
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"v": 1,
|
|
3
|
+
"claim": "rk_3f9a1c0e7b2d4a6f8e1c3b5d7f9a2c4e",
|
|
4
|
+
"name": " Example Org ",
|
|
5
|
+
"domain": "example.com",
|
|
6
|
+
"category": "engineering",
|
|
7
|
+
"subcategory": "qa-testing",
|
|
8
|
+
"description": " QA automation ",
|
|
9
|
+
"sourceCodeUrl": "https://example.org/agents",
|
|
10
|
+
"updatedAt": "2026-10-18T10:00:00.000Z"
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"v": 1,
|
|
3
|
+
"claim": "rk_3f9a1c0e7b2d4a6f8e1c3b5d7f9a2c4e",
|
|
4
|
+
"name": "Ñandú Labs · 日本",
|
|
5
|
+
"domain": "nandu-labs.com",
|
|
6
|
+
"category": "product",
|
|
7
|
+
"subcategory": "research",
|
|
8
|
+
"description": "QA and release automation for our web apps",
|
|
9
|
+
"sourceCodeUrl": "https://example.org/agents",
|
|
10
|
+
"updatedAt": "2026-10-18T10:00:00.000Z"
|
|
11
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://proxy.desplega.sh/contracts/telemetry/ranking/listing.v1.schema.json",
|
|
4
|
+
"title": "TelemetryRankingV1",
|
|
5
|
+
"description": "The telemetry_ranking listing, version 1. agent-swarm stores it stringified in the global swarm_config key telemetry_ranking and sends the same string as the listing property of ranking.opted_in. The string must not exceed 2048 bytes. The ingest also requires name to equal context.org_name and domain to equal context.org_website. Text fields are trimmed before their length is checked; lengths count UTF-16 code units, as JavaScript does.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"required": ["v", "claim", "name", "domain", "category", "subcategory", "description", "sourceCodeUrl", "updatedAt"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"v": {
|
|
11
|
+
"const": 1,
|
|
12
|
+
"description": "Listing version. A new version is a new schema file, never an edit to this one."
|
|
13
|
+
},
|
|
14
|
+
"claim": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"pattern": "^rk_[0-9a-f]{32}$",
|
|
17
|
+
"description": "Claim minted by the install. The ranking PR carries it, and the proxy binds it to the first install that sent it. Never served publicly."
|
|
18
|
+
},
|
|
19
|
+
"name": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"minLength": 1,
|
|
22
|
+
"maxLength": 60,
|
|
23
|
+
"description": "Copied from SWARM_ORG_NAME. Served as app.title."
|
|
24
|
+
},
|
|
25
|
+
"domain": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"maxLength": 253,
|
|
28
|
+
"pattern": "^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)+$",
|
|
29
|
+
"description": "Copied from SWARM_ORG_WEBSITE: a lowercase hostname without scheme, path or port. Served as app.slug."
|
|
30
|
+
},
|
|
31
|
+
"category": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"enum": ["engineering", "product", "marketing", "support", "operations", "other"],
|
|
34
|
+
"description": "A key of taxonomy.json. Served as the group filter."
|
|
35
|
+
},
|
|
36
|
+
"subcategory": {
|
|
37
|
+
"type": ["string", "null"],
|
|
38
|
+
"maxLength": 40,
|
|
39
|
+
"pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
|
|
40
|
+
"description": "One of taxonomy.json's subcategories for category, or null. Served as app.categories."
|
|
41
|
+
},
|
|
42
|
+
"description": {
|
|
43
|
+
"type": ["string", "null"],
|
|
44
|
+
"minLength": 1,
|
|
45
|
+
"maxLength": 160,
|
|
46
|
+
"description": "Optional one-line description. Served as app.description."
|
|
47
|
+
},
|
|
48
|
+
"sourceCodeUrl": {
|
|
49
|
+
"type": ["string", "null"],
|
|
50
|
+
"maxLength": 200,
|
|
51
|
+
"pattern": "^https://",
|
|
52
|
+
"description": "Optional https URL. Served as app.source_code_url."
|
|
53
|
+
},
|
|
54
|
+
"updatedAt": {
|
|
55
|
+
"type": "string",
|
|
56
|
+
"format": "date-time",
|
|
57
|
+
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\\.[0-9]+)?Z$",
|
|
58
|
+
"description": "When the install built this listing, in UTC with a Z suffix."
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"engineering": ["coding-agents", "qa-testing", "devops", "code-review"],
|
|
3
|
+
"product": ["research", "design", "analytics"],
|
|
4
|
+
"marketing": ["content", "seo", "social"],
|
|
5
|
+
"support": ["customer-support", "docs"],
|
|
6
|
+
"operations": ["back-office", "sales-ops", "finance"],
|
|
7
|
+
"other": []
|
|
8
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Generated by scripts/sync-telemetry-contract.ts from ranking/taxonomy.json. Do not edit.
|
|
2
|
+
export const RANKING_TAXONOMY = {
|
|
3
|
+
"engineering": ["coding-agents", "qa-testing", "devops", "code-review"],
|
|
4
|
+
"product": ["research", "design", "analytics"],
|
|
5
|
+
"marketing": ["content", "seo", "social"],
|
|
6
|
+
"support": ["customer-support", "docs"],
|
|
7
|
+
"operations": ["back-office", "sales-ops", "finance"],
|
|
8
|
+
"other": [],
|
|
9
|
+
} as const satisfies Readonly<Record<string, readonly string[]>>;
|
|
10
|
+
|
|
11
|
+
export type RankingCategory = keyof typeof RANKING_TAXONOMY;
|