@desplega.ai/agent-swarm 2.0.0 → 2.1.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/dist/{acp-adapter-sj2g0m84.js → acp-adapter-kr4abrsk.js} +10 -10
- package/dist/{actions-fegk44gr.js → actions-eh4g6w2r.js} +27 -27
- package/dist/{amp-adapter-ad8ft89x.js → amp-adapter-7h7wdt8q.js} +5 -5
- package/dist/{app-kfvgbvzy.js → app-7k8s9w5p.js} +9 -9
- package/dist/{assistant-z7zdy9ja.js → assistant-wswt2y7p.js} +28 -28
- package/dist/{boot-reembed-j8xa181e.js → boot-reembed-9apm9qw6.js} +7 -7
- package/dist/{boot-reembed-5c2z0mbe.js → boot-reembed-whzbdthj.js} +7 -7
- package/dist/{boot-scrub-sweep-hnkn3rgt.js → boot-scrub-sweep-ndzmvmgt.js} +8 -8
- package/dist/{boot-seeds-kwjq4d2z.js → boot-seeds-e9sta0yt.js} +13 -11
- package/dist/{claude-adapter-9vmvpvgd.js → claude-adapter-4mqd3r6r.js} +11 -11
- package/dist/{claude-managed-adapter-k9qae05j.js → claude-managed-adapter-9wswb52m.js} +3 -3
- package/dist/{claude-managed-setup-q54zx5q2.js → claude-managed-setup-tpe1effx.js} +4 -4
- package/dist/{claude-sdk-session-9jye6cxr.js → claude-sdk-session-q49ghmh9.js} +10340 -10197
- package/dist/{cli-ke896fcf.js → cli-01xvj1rq.js} +10 -10
- package/dist/{cli-tr4sxp68.js → cli-035vekcw.js} +2 -2
- package/dist/{cli-z5jjpaxw.js → cli-0pd8hzhc.js} +3 -3
- package/dist/{cli-n5vwg842.js → cli-0veb92a3.js} +6 -1
- package/dist/{cli-wayw93nt.js → cli-10jesr25.js} +3 -3
- package/dist/{cli-se8w6wny.js → cli-1y7yywmj.js} +1 -1
- package/dist/{cli-v1yb0rqb.js → cli-20krdhz5.js} +47 -19
- package/dist/{cli-d5f9ed5c.js → cli-29rja109.js} +39 -20
- package/dist/{cli-apx87jne.js → cli-2pwa0q4d.js} +15 -4
- package/dist/{cli-ee9gtz70.js → cli-4mengw46.js} +348 -25
- package/dist/{cli-03gedhng.js → cli-5twdke5x.js} +6 -6
- package/dist/{cli-6razj6t4.js → cli-711vwbxn.js} +2 -2
- package/dist/{cli-s2sp957d.js → cli-78vv7446.js} +1 -1
- package/dist/{cli-3fbmmawm.js → cli-7n6s5man.js} +4 -4
- package/dist/{cli-hnhtk6cj.js → cli-8wwxw8a3.js} +1 -1
- package/dist/{cli-hnmhtzvh.js → cli-9jzdj90z.js} +2 -0
- package/dist/{cli-skxvvpap.js → cli-cvv9k0hh.js} +28 -25
- package/dist/{cli-74ahz61x.js → cli-d9286m9h.js} +2 -2
- package/dist/{cli-4jxm2qtz.js → cli-gxzkg1de.js} +28 -16
- package/dist/{cli-zkpks3r3.js → cli-h1arqn31.js} +1 -1
- package/dist/{cli-r62a35ea.js → cli-hqr88ew6.js} +1 -1
- package/dist/{cli-ra0xzggj.js → cli-j67mh2vg.js} +2 -2
- package/dist/{cli-29jc5q7w.js → cli-ksphgh48.js} +2 -2
- package/dist/{cli-eejsgvm4.js → cli-mgz4nbgg.js} +4 -4
- package/dist/{cli-vatyhshy.js → cli-mz5as5ha.js} +4 -4
- package/dist/{cli-f7kr7svz.js → cli-n8ndw8j7.js} +2 -2
- package/dist/{cli-1e4b6bzh.js → cli-naqzr17j.js} +7 -7
- package/dist/{cli-q0ke1yww.js → cli-nm1p8jfr.js} +6 -6
- package/dist/{cli-m50t4309.js → cli-p3zbc1rw.js} +5 -5
- package/dist/{cli-cgtksawx.js → cli-pe05f8yk.js} +23 -3
- package/dist/{cli-vdach5a9.js → cli-qmzsbkvy.js} +4 -4
- package/dist/{cli-n3hzg89b.js → cli-qnm4e9e4.js} +57 -579
- package/dist/{cli-s4setq91.js → cli-qqy4q48b.js} +3 -3
- package/dist/{cli-k382tshb.js → cli-r35rw5de.js} +8 -7
- package/dist/{cli-k3dp5tpf.js → cli-r610p9bs.js} +2 -2
- package/dist/{cli-e6mpjhed.js → cli-rc6pf5kv.js} +1 -1
- package/dist/{cli-3dj8k4vy.js → cli-rdxm77k3.js} +1 -1
- package/dist/{cli-tqaazemc.js → cli-s69nfyeh.js} +1 -1
- package/dist/{cli-6jyj59nb.js → cli-sawv63e8.js} +2 -2
- package/dist/{cli-q50942rs.js → cli-sg19gbf0.js} +1 -1
- package/dist/{cli-p1x85d2t.js → cli-shk7r5cs.js} +12 -9
- package/dist/{cli-przpmdgr.js → cli-sksetb2q.js} +11 -1
- package/dist/{cli-d2qr7aj4.js → cli-t02z59f2.js} +1 -1
- package/dist/{cli-j0pfptdp.js → cli-v7g551te.js} +39 -43
- package/dist/{cli-bzszjf2p.js → cli-vgqzp4em.js} +519 -126
- package/dist/cli-wfnemr1t.js +86 -0
- package/dist/{cli-ne236afy.js → cli-wms6x9db.js} +8 -8
- package/dist/{cli-5hkm7whv.js → cli-x1r545x8.js} +1 -1
- package/dist/{cli-kt6zqg0e.js → cli-xczsgshn.js} +2 -2
- package/dist/{cli-ef1hg1wv.js → cli-y3167wt1.js} +430 -238
- package/dist/{cli-tsde1hdr.js → cli-yjmqpxt3.js} +12 -11
- package/dist/{cli-9nfx44eh.js → cli-z780ec7c.js} +1 -1
- package/dist/{cli-r2pnvj8g.js → cli-zm9t2vde.js} +2 -2
- package/dist/cli.js +24 -23
- package/dist/{codex-adapter-y81sssk0.js → codex-adapter-4z16v9n0.js} +8 -8
- package/dist/{codex-login-f2rcfpp9.js → codex-login-pkepy2j1.js} +2 -2
- package/dist/{codex-session-runner-8vx4j6a9.js → codex-session-runner-rvms9y2x.js} +8 -8
- package/dist/{commands-kcpvpcrr.js → commands-2a9rtyat.js} +8 -8
- package/dist/{controller-ywrmt6yd.js → controller-3k3madbn.js} +4 -4
- package/dist/{controllers-connect-kwpvj3rf.js → controllers-connect-v9yn8zb9.js} +30 -30
- package/dist/{cursor-adapter-cehv1qns.js → cursor-adapter-98gbhyzn.js} +4 -4
- package/dist/{db-ww5d7jq3.js → db-eywwsnjw.js} +9 -7
- package/dist/{db-k8ankj20.js → db-ncypk9np.js} +9 -9
- package/dist/{devin-adapter-x1022qb1.js → devin-adapter-zeq8b9gz.js} +2 -2
- package/dist/{dispatcher-e8gq5m68.js → dispatcher-w94kc575.js} +26 -26
- package/dist/{docker-ff6y1190.js → docker-b1e4cqab.js} +2 -2
- package/dist/{dsh-adapter-3epjm3af.js → dsh-adapter-47ztej36.js} +4 -4
- package/dist/{e2b-8ygwhg0f.js → e2b-bbt8ey45.js} +3 -3
- package/dist/{e2b-swhnpw3n.js → e2b-dp804sen.js} +3 -3
- package/dist/{event-bus-6axnngdj.js → event-bus-j2jdg3qb.js} +2 -2
- package/dist/{external-channel-h3359cwn.js → external-channel-zrkg8ar9.js} +8 -8
- package/dist/{grok-adapter-0d4x7gkx.js → grok-adapter-s9ncp9vy.js} +11 -11
- package/dist/{handlers-an1gzv21.js → handlers-kqftvjgw.js} +29 -29
- package/dist/{heartbeat-6dakeb61.js → heartbeat-9q96p8v9.js} +31 -31
- package/dist/{hook-6v6cv6d5.js → hook-56qe10dp.js} +7 -7
- package/dist/{hook-sa5xye4y.js → hook-yy6rw42k.js} +8 -8
- package/dist/{http-r7f3eky0.js → http-r2dnb8f8.js} +963 -75
- package/dist/{index-7ep4gzdk.js → index-3gtmkhc6.js} +26 -26
- package/dist/{index-v1v6n7hg.js → index-3k5hkz7r.js} +31 -31
- package/dist/{index-rmpw9a8q.js → index-5e101240.js} +26 -26
- package/dist/{index-s2wxgzr0.js → index-5wyfjc2c.js} +392 -15
- package/dist/{index-zk96aq1k.js → index-vxvhxxbn.js} +7 -7
- package/dist/{keepalive-be9vwy5h.js → keepalive-psj6j54c.js} +9 -9
- package/dist/{lead-0861cwrf.js → lead-hajz4688.js} +43 -43
- package/dist/{maintenance-mzzgc8bn.js → maintenance-ps02sb5m.js} +7 -7
- package/dist/{node-mn1zs7an.js → node-mwb5r697.js} +1 -1
- package/dist/{oauth-refresh-sweep-cpdnfwdj.js → oauth-refresh-sweep-0284h93b.js} +8 -8
- package/dist/{onboard-fh8qs4r3.js → onboard-rbf6bg01.js} +2 -2
- package/dist/{opencode-adapter-nm42wwj8.js → opencode-adapter-13dcatgq.js} +8 -8
- package/dist/{otel-impl-x6c1c9g4.js → otel-impl-zvqcbhp7.js} +2 -2
- package/dist/{pi-mono-adapter-9n2ya240.js → pi-mono-adapter-xxy47q4v.js} +7 -7
- package/dist/{pricing-refresh-qb0rv0ap.js → pricing-refresh-kefx9v3t.js} +9 -9
- package/dist/{rbac-roles-1gzdwbh1.js → rbac-roles-3m36rxm2.js} +8 -8
- package/dist/{rbac-roles-3mraey52.js → rbac-roles-z76xv0hq.js} +9 -9
- package/dist/{render-v2-agpa45zz.js → render-v2-wz73bs25.js} +9 -9
- package/dist/{resume-x0ydy9s9.js → resume-k4wzge8w.js} +14 -14
- package/dist/{setup-as9ga0d6.js → setup-2fp2pypp.js} +2 -2
- package/dist/{work-objects-y5g1y7ev.js → work-objects-6k0ywz3m.js} +29 -29
- package/dist/{worker-860c3e38.js → worker-5v3rxsdh.js} +43 -43
- package/dist/{x-m477fr0h.js → x-4mtdeym1.js} +2 -2
- package/openapi.json +777 -6
- package/package.json +8 -7
- package/src/agentmail/handlers.ts +21 -11
- package/src/apps/definition.ts +16 -0
- package/src/azure-devops/api.ts +52 -2
- package/src/azure-devops/boards-sync.ts +50 -20
- package/src/azure-devops/index.ts +1 -0
- package/src/azure-devops/outbound.ts +95 -0
- package/src/be/boot-seeds.ts +11 -0
- package/src/be/db/model-profiles.ts +315 -0
- package/src/be/db/tasks/read.ts +7 -0
- package/src/be/db.ts +53 -47
- package/src/be/migrations/219_relabel_pi_context_compactions.sql +22 -0
- package/src/be/migrations/220_model_profiles.sql +137 -0
- package/src/be/model-tier-resolution.ts +145 -11
- package/src/be/model-validation.ts +8 -1
- package/src/be/scripts/typecheck.ts +12 -0
- package/src/be/secret-registry.ts +6 -2
- package/src/be/seed-model-profiles.ts +41 -0
- package/src/be/seed-scripts/catalog/heartbeat-jev-gate.ts +368 -0
- package/src/be/seed-scripts/index.ts +9 -0
- package/src/be/swarm-config-guard.ts +1 -0
- package/src/commands/runner.ts +3 -17
- package/src/extensions/catalog.generated.json +17 -0
- package/src/extensions/contract-types.generated.ts +1 -1
- package/src/extensions/loader.ts +10 -5
- package/src/heartbeat/heartbeat.ts +2 -1
- package/src/http/agents.ts +49 -2
- package/src/http/all-routes.ts +1 -0
- package/src/http/apps.ts +30 -3
- package/src/http/config.ts +26 -2
- package/src/http/core.ts +4 -0
- package/src/http/index.ts +11 -1
- package/src/http/model-profiles.ts +303 -0
- package/src/http/pages-public.ts +11 -5
- package/src/http/poll.ts +16 -5
- package/src/http/script-runs.ts +1 -1
- package/src/http/scripts.ts +25 -2
- package/src/http/tasks.ts +18 -0
- package/src/http/webhooks.ts +1 -2
- package/src/pages/feedback-overlay.ts +65 -6
- package/src/providers/acp-targets.ts +1 -1
- package/src/providers/amp-adapter.ts +1 -1
- package/src/providers/dsh-adapter.ts +1 -1
- package/src/providers/pi-mono-extension.ts +17 -3
- package/src/providers/reasoning-effort.ts +10 -0
- package/src/rbac/legacy-policy.ts +8 -0
- package/src/rbac/permissions.ts +5 -0
- package/src/scheduler/deferred-task-waits.ts +18 -5
- package/src/scheduler/scheduler.ts +7 -1
- package/src/scripts-runtime/executors/quickjs-prelude.ts +75 -6
- package/src/scripts-runtime/executors/quickjs-runner.ts +85 -8
- package/src/scripts-runtime/executors/quickjs-web-shims.ts +1041 -0
- package/src/scripts-runtime/extract-args-schema.ts +9 -8
- package/src/scripts-runtime/quickjs-compat.ts +464 -0
- package/src/scripts-runtime/sdk-allowlist.ts +4 -0
- package/src/scripts-runtime/types/stdlib.d.ts +12 -0
- package/src/scripts-runtime/types/swarm-extension.d.ts +3 -0
- package/src/scripts-runtime/types/swarm-sdk.d.ts +12 -0
- package/src/server.ts +10 -1
- package/src/slack/blocks.ts +4 -2
- package/src/slack/reaction-shortcode.ts +14 -0
- package/src/slack/render-v2.ts +12 -7
- package/src/slack/responses.ts +5 -4
- package/src/slack/thread-buffer.ts +41 -22
- package/src/tasks/worker-follow-up.ts +11 -2
- package/src/tests/agentmail-filters.test.ts +47 -0
- package/src/tests/apps-spike2.test.ts +35 -0
- package/src/tests/azure-devops-outbound.test.ts +420 -0
- package/src/tests/db-task-read-contract.test.ts +2 -0
- package/src/tests/db-task-write-contract.test.ts +1 -0
- package/src/tests/deferred-task-wake.test.ts +78 -1
- package/src/tests/docs-index-footprint.test.js +2 -2
- package/src/tests/dsh-adapter.test.ts +1 -1
- package/src/tests/env-flag.test.ts +1 -0
- package/src/tests/extensions-catalog.test.ts +1 -0
- package/src/tests/extensions-example-comms-adherence-gate.test.ts +413 -0
- package/src/tests/extensions-loader.test.ts +15 -0
- package/src/tests/heartbeat-jev-gate-credentials.test.ts +168 -0
- package/src/tests/heartbeat-jev-gate.test.ts +385 -0
- package/src/tests/model-profile-backcompat.test.ts +327 -0
- package/src/tests/model-profile-providers.test.ts +302 -0
- package/src/tests/model-profile-runtime-secrets.test.ts +223 -0
- package/src/tests/model-profiles-api.test.ts +614 -0
- package/src/tests/pages-feedback-keys.test.ts +121 -0
- package/src/tests/pages-feedback.test.ts +3 -0
- package/src/tests/pi-context-compaction.test.ts +193 -0
- package/src/tests/profile-claim.test.ts +269 -0
- package/src/tests/quickjs-compat.test.ts +213 -0
- package/src/tests/rbac-engine.test.ts +21 -0
- package/src/tests/script-connections.test.ts +4 -0
- package/src/tests/script-executor-conformance.test.ts +252 -1
- package/src/tests/script-executor-quickjs.test.ts +96 -0
- package/src/tests/script-runs-http.test.ts +89 -0
- package/src/tests/scripts-http.test.ts +16 -0
- package/src/tests/secret-scrubber.test.ts +10 -0
- package/src/tests/seed-model-profiles.test.ts +174 -0
- package/src/tests/seed-scripts.test.ts +2 -2
- package/src/tests/skill-invocations.test.ts +4 -2
- package/src/tests/slack-blocks.test.ts +36 -0
- package/src/tests/slack-inline-output.test.ts +14 -0
- package/src/tests/slack-reaction-config.test.ts +20 -0
- package/src/tests/slack-render-v2.test.ts +37 -0
- package/src/tests/slack-thread-buffer.test.ts +98 -1
- package/src/tests/workflow-llm.test.ts +61 -0
- package/src/tools/model-profiles/list-model-profiles.ts +54 -0
- package/src/tools/request-human-input.ts +11 -3
- package/src/tools/script-apis.ts +5 -1
- package/src/tools/script-upsert.ts +4 -1
- package/src/tools/send-task.ts +24 -1
- package/src/tools/system-one-decide.ts +104 -0
- package/src/tools/task-action.ts +22 -1
- package/src/tools/tool-config.ts +6 -0
- package/src/types.ts +36 -1
- package/src/utils/secret-scrubber.ts +19 -12
- package/src/utils/vcs-repo-match.ts +29 -0
- package/src/workflows/executors/raw-llm.ts +8 -3
- package/src/workflows/executors/system-one-decision.ts +21 -11
- package/src/workflows/executors/workflow-llm.ts +22 -0
- package/src/workflows/index.ts +21 -12
- package/templates/extensions/README.md +1 -0
- package/templates/extensions/comms-adherence-gate/README.md +88 -0
- package/templates/extensions/comms-adherence-gate/hooks.ts +489 -0
- package/templates/extensions/comms-adherence-gate/manifest.json +8 -0
- package/dist/cli-5t4f29ez.js +0 -33
|
@@ -7,14 +7,14 @@ import {
|
|
|
7
7
|
} from "./cli-w1q7h2r2.js";
|
|
8
8
|
import {
|
|
9
9
|
applyReasoningEffort
|
|
10
|
-
} from "./cli-
|
|
10
|
+
} from "./cli-0veb92a3.js";
|
|
11
11
|
import {
|
|
12
12
|
swarmRuntimeInstanceId
|
|
13
13
|
} from "./cli-re8z5p8p.js";
|
|
14
14
|
import {
|
|
15
15
|
DEFAULT_MODEL_TIER_MAP,
|
|
16
16
|
init_types
|
|
17
|
-
} from "./cli-
|
|
17
|
+
} from "./cli-pe05f8yk.js";
|
|
18
18
|
import {
|
|
19
19
|
init_resolver,
|
|
20
20
|
init_session_templates,
|
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
init_secret_scrubber,
|
|
30
30
|
registerVolatileSecret,
|
|
31
31
|
scrubSecrets
|
|
32
|
-
} from "./cli-
|
|
32
|
+
} from "./cli-shk7r5cs.js";
|
|
33
33
|
import {
|
|
34
34
|
cursorCatalogRef,
|
|
35
35
|
init_src
|
|
@@ -7,7 +7,7 @@ var package_default;
|
|
|
7
7
|
var init_package = __esm(() => {
|
|
8
8
|
package_default = {
|
|
9
9
|
name: "@desplega.ai/agent-swarm",
|
|
10
|
-
version: "2.
|
|
10
|
+
version: "2.1.0",
|
|
11
11
|
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.",
|
|
12
12
|
keywords: [
|
|
13
13
|
"agent-swarm.dev",
|
|
@@ -186,12 +186,13 @@ var init_package = __esm(() => {
|
|
|
186
186
|
"@desplega/model-catalog": "workspace:*",
|
|
187
187
|
"@desplega/model-routing": "workspace:*",
|
|
188
188
|
"@faker-js/faker": "^10.4.0",
|
|
189
|
-
"@opencode/plugin": "2.0.
|
|
190
|
-
"@opencode/sdk": "2.0.
|
|
189
|
+
"@opencode/plugin": "2.0.31",
|
|
190
|
+
"@opencode/sdk": "2.0.31",
|
|
191
191
|
"@oxlint/plugins": "1.78.0",
|
|
192
192
|
"@types/bun": "latest",
|
|
193
193
|
"@typescript/native-preview": "7.0.0-dev.20260707.2",
|
|
194
194
|
"dependency-cruiser": "^18.0.0",
|
|
195
|
+
"happy-dom": "^20.14.5",
|
|
195
196
|
konsistent: "1.0.0-beta.1",
|
|
196
197
|
"openapi-typescript": "^7",
|
|
197
198
|
oxlint: "1.78.0",
|
|
@@ -205,10 +206,10 @@ var init_package = __esm(() => {
|
|
|
205
206
|
bun: ">=1.3.12"
|
|
206
207
|
},
|
|
207
208
|
dependencies: {
|
|
208
|
-
"@agentclientprotocol/sdk": "1.
|
|
209
|
+
"@agentclientprotocol/sdk": "1.9.0",
|
|
209
210
|
"@ai-sdk/openai": "^3.0.41",
|
|
210
|
-
"@anthropic-ai/claude-agent-sdk": "0.3.
|
|
211
|
-
"@anthropic-ai/sdk": "^0.
|
|
211
|
+
"@anthropic-ai/claude-agent-sdk": "0.3.301",
|
|
212
|
+
"@anthropic-ai/sdk": "^0.135.0",
|
|
212
213
|
"@asteasolutions/zod-to-openapi": "^8.0.0",
|
|
213
214
|
"@aws-sdk/client-bedrock": "3.1048.0",
|
|
214
215
|
"@chat-adapter/discord": "4.41.1",
|
|
@@ -224,7 +225,7 @@ var init_package = __esm(() => {
|
|
|
224
225
|
"@jitl/quickjs-singlefile-mjs-release-sync": "0.32.0",
|
|
225
226
|
"@linear/sdk": "^77.0.0",
|
|
226
227
|
"@modelcontextprotocol/sdk": "1.31.0",
|
|
227
|
-
"@openai/codex": "0.
|
|
228
|
+
"@openai/codex": "0.163.0",
|
|
228
229
|
"@openfort/openfort-node": "^0.9.1",
|
|
229
230
|
"@opentelemetry/api": "^1.9.1",
|
|
230
231
|
"@opentelemetry/api-logs": "^0.218.0",
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
init_db1 as init_db,
|
|
5
5
|
sweepExpiredKv,
|
|
6
6
|
upsertKv
|
|
7
|
-
} from "./cli-
|
|
7
|
+
} from "./cli-y3167wt1.js";
|
|
8
8
|
import {
|
|
9
9
|
init_env_flag,
|
|
10
10
|
isEnvFlagEnabled
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
import {
|
|
13
13
|
init_secret_scrubber,
|
|
14
14
|
scrubSecrets
|
|
15
|
-
} from "./cli-
|
|
15
|
+
} from "./cli-shk7r5cs.js";
|
|
16
16
|
|
|
17
17
|
// src/slack/external-channel.ts
|
|
18
18
|
init_db();
|
|
@@ -13,11 +13,11 @@ import {
|
|
|
13
13
|
parseClaudeMdPendingRecord,
|
|
14
14
|
planClaudeMdSync,
|
|
15
15
|
withFileLock
|
|
16
|
-
} from "./cli-
|
|
16
|
+
} from "./cli-78vv7446.js";
|
|
17
17
|
import {
|
|
18
18
|
init_secret_scrubber,
|
|
19
19
|
scrubSecrets
|
|
20
|
-
} from "./cli-
|
|
20
|
+
} from "./cli-shk7r5cs.js";
|
|
21
21
|
|
|
22
22
|
// src/commands/claude-md-session.ts
|
|
23
23
|
init_file_lock();
|
|
@@ -2316,6 +2316,15 @@ function computeIsSensitiveKey(key) {
|
|
|
2316
2316
|
return true;
|
|
2317
2317
|
return false;
|
|
2318
2318
|
}
|
|
2319
|
+
function credentialCandidates(value) {
|
|
2320
|
+
const candidates = new Set([value, value.trim()]);
|
|
2321
|
+
if (value.includes(",")) {
|
|
2322
|
+
for (const member of value.split(","))
|
|
2323
|
+
candidates.add(member.trim());
|
|
2324
|
+
}
|
|
2325
|
+
candidates.delete("");
|
|
2326
|
+
return [...candidates];
|
|
2327
|
+
}
|
|
2319
2328
|
function buildCache() {
|
|
2320
2329
|
const entries = [];
|
|
2321
2330
|
const seen = new Set;
|
|
@@ -2324,10 +2333,7 @@ function buildCache() {
|
|
|
2324
2333
|
continue;
|
|
2325
2334
|
if (!isSensitiveKey(key))
|
|
2326
2335
|
continue;
|
|
2327
|
-
const
|
|
2328
|
-
for (const candidate of candidates) {
|
|
2329
|
-
if (!candidate)
|
|
2330
|
-
continue;
|
|
2336
|
+
for (const candidate of credentialCandidates(rawValue)) {
|
|
2331
2337
|
if (candidate.length < MIN_VALUE_LENGTH)
|
|
2332
2338
|
continue;
|
|
2333
2339
|
for (const form of escapedForms(candidate)) {
|
|
@@ -2507,11 +2513,8 @@ function registerEnvSecrets(env) {
|
|
|
2507
2513
|
for (const [key, value] of Object.entries(env)) {
|
|
2508
2514
|
if (!value || !isSensitiveKey(key))
|
|
2509
2515
|
continue;
|
|
2510
|
-
|
|
2511
|
-
|
|
2512
|
-
continue;
|
|
2513
|
-
for (const member of value.split(","))
|
|
2514
|
-
registerVolatileSecret(member.trim(), key);
|
|
2516
|
+
for (const candidate of credentialCandidates(value))
|
|
2517
|
+
registerVolatileSecret(candidate, key);
|
|
2515
2518
|
}
|
|
2516
2519
|
}
|
|
2517
2520
|
function unregisterVolatileSecret(name) {
|
|
@@ -224,6 +224,10 @@ var init_permissions = __esm(() => {
|
|
|
224
224
|
description: "Record whether a pinned harness CLI version accepts a model (a worker reports its own probe results; the operator may correct any row).",
|
|
225
225
|
namespace: "models"
|
|
226
226
|
},
|
|
227
|
+
"models.profiles.write": {
|
|
228
|
+
description: "Create, update, or delete model profiles (named harness + model + effort). Operator (shared API key) only.",
|
|
229
|
+
namespace: "models"
|
|
230
|
+
},
|
|
227
231
|
"config.read.secrets": {
|
|
228
232
|
description: "Read unmasked secret config values.",
|
|
229
233
|
namespace: "config"
|
|
@@ -414,7 +418,7 @@ var init_admission = __esm(() => {
|
|
|
414
418
|
function actsAsLead(principal) {
|
|
415
419
|
return principal.kind === "agent" && (principal.isLead || hasLeadEquivalence(principal.agentId));
|
|
416
420
|
}
|
|
417
|
-
var leadOnly, operatorOrUser, leadOrOperatorOrUser, leadOrOperator, agentOrOperator, extensionWrite, extensionActivation, leadOrTaskCreator, leadOrResourceOwner, humanOrLeadOrResourceOwner, leadOrOwnNamespace, anyAuthenticated, requesterOwnsTask, memoryDelete, taskFsMutate, taskProgressWrite, LEGACY_RULES, LEGACY_POLICY;
|
|
421
|
+
var leadOnly, operatorOrUser, operatorOnly, leadOrOperatorOrUser, leadOrOperator, agentOrOperator, extensionWrite, extensionActivation, leadOrTaskCreator, leadOrResourceOwner, humanOrLeadOrResourceOwner, leadOrOwnNamespace, anyAuthenticated, requesterOwnsTask, memoryDelete, taskFsMutate, taskProgressWrite, LEGACY_RULES, LEGACY_POLICY;
|
|
418
422
|
var init_legacy_policy = __esm(() => {
|
|
419
423
|
init_env_flag();
|
|
420
424
|
init_elevated_agents();
|
|
@@ -428,6 +432,11 @@ var init_legacy_policy = __esm(() => {
|
|
|
428
432
|
denyReason: "requires operator or user authentication",
|
|
429
433
|
evaluate: (principal) => principal.kind === "operator" || principal.kind === "user"
|
|
430
434
|
};
|
|
435
|
+
operatorOnly = {
|
|
436
|
+
name: "operator-only",
|
|
437
|
+
denyReason: "requires operator authentication",
|
|
438
|
+
evaluate: (principal) => principal.kind === "operator"
|
|
439
|
+
};
|
|
431
440
|
leadOrOperatorOrUser = {
|
|
432
441
|
name: "lead-or-operator-or-user",
|
|
433
442
|
denyReason: "requires lead agent, operator, or user authentication",
|
|
@@ -618,6 +627,7 @@ var init_legacy_policy = __esm(() => {
|
|
|
618
627
|
"config.read.secrets": leadOnly,
|
|
619
628
|
"models.catalog.write": leadOrOperator,
|
|
620
629
|
"models.harness-support.write": agentOrOperator,
|
|
630
|
+
"models.profiles.write": operatorOnly,
|
|
621
631
|
"skill.create.swarm": leadOnly,
|
|
622
632
|
"skill.install.any": leadOnly,
|
|
623
633
|
"skill.install.global": leadOnly,
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import {
|
|
2
2
|
checkGrokCredentials
|
|
3
|
-
} from "./cli-
|
|
3
|
+
} from "./cli-xczsgshn.js";
|
|
4
4
|
import {
|
|
5
5
|
renderSteeringDelivery
|
|
6
6
|
} from "./cli-19njxg5g.js";
|
|
7
7
|
import {
|
|
8
8
|
checkClaudeManagedCredentials
|
|
9
|
-
} from "./cli-
|
|
9
|
+
} from "./cli-ksphgh48.js";
|
|
10
10
|
import {
|
|
11
11
|
checkDevinCredentials
|
|
12
|
-
} from "./cli-
|
|
12
|
+
} from "./cli-sg19gbf0.js";
|
|
13
13
|
import {
|
|
14
14
|
checkOpencodeCredentials
|
|
15
|
-
} from "./cli-
|
|
15
|
+
} from "./cli-mz5as5ha.js";
|
|
16
16
|
import {
|
|
17
17
|
checkDshCredentials
|
|
18
|
-
} from "./cli-
|
|
18
|
+
} from "./cli-7n6s5man.js";
|
|
19
19
|
import {
|
|
20
20
|
checkAmpCredentials,
|
|
21
21
|
liveTestAmpCredentials
|
|
22
|
-
} from "./cli-
|
|
22
|
+
} from "./cli-qmzsbkvy.js";
|
|
23
23
|
import {
|
|
24
24
|
checkCursorCredentials
|
|
25
|
-
} from "./cli-
|
|
25
|
+
} from "./cli-qqy4q48b.js";
|
|
26
26
|
import {
|
|
27
27
|
createSkillInvokeTracker,
|
|
28
28
|
isSkillLoaderCall,
|
|
@@ -31,10 +31,10 @@ import {
|
|
|
31
31
|
import {
|
|
32
32
|
checkCodexCredentials,
|
|
33
33
|
codexUserHome
|
|
34
|
-
} from "./cli-
|
|
34
|
+
} from "./cli-5twdke5x.js";
|
|
35
35
|
import {
|
|
36
36
|
checkClaudeCredentials
|
|
37
|
-
} from "./cli-
|
|
37
|
+
} from "./cli-nm1p8jfr.js";
|
|
38
38
|
import {
|
|
39
39
|
getContextWindowSize
|
|
40
40
|
} from "./cli-w1q7h2r2.js";
|
|
@@ -64,25 +64,25 @@ import {
|
|
|
64
64
|
} from "./cli-2pdaysab.js";
|
|
65
65
|
import {
|
|
66
66
|
effectiveReasoningEffort
|
|
67
|
-
} from "./cli-
|
|
67
|
+
} from "./cli-0veb92a3.js";
|
|
68
68
|
import {
|
|
69
69
|
canonicalAzureDevOpsRepoUrl,
|
|
70
70
|
isAzureDevOpsUrl,
|
|
71
71
|
parseAzureDevOpsRepoUrl,
|
|
72
72
|
resolveScriptsOnlyMode,
|
|
73
73
|
resumedTaskModelSelection
|
|
74
|
-
} from "./cli-
|
|
74
|
+
} from "./cli-vgqzp4em.js";
|
|
75
75
|
import {
|
|
76
76
|
terminateRegisteredProcessGroups
|
|
77
77
|
} from "./cli-zt3w1cn1.js";
|
|
78
78
|
import {
|
|
79
79
|
validateJsonSchema
|
|
80
|
-
} from "./cli-
|
|
80
|
+
} from "./cli-naqzr17j.js";
|
|
81
81
|
import {
|
|
82
82
|
authJsonToCredentialSelection,
|
|
83
83
|
credentialsToAuthJson,
|
|
84
84
|
loadAllCodexOAuthSlots
|
|
85
|
-
} from "./cli-
|
|
85
|
+
} from "./cli-rc6pf5kv.js";
|
|
86
86
|
import {
|
|
87
87
|
ensure,
|
|
88
88
|
initOtel,
|
|
@@ -92,7 +92,7 @@ import {
|
|
|
92
92
|
startSpan,
|
|
93
93
|
withSpan,
|
|
94
94
|
withSpanContext
|
|
95
|
-
} from "./cli-
|
|
95
|
+
} from "./cli-cvv9k0hh.js";
|
|
96
96
|
import {
|
|
97
97
|
MASKED_SECRET_VALUE,
|
|
98
98
|
initTelemetry,
|
|
@@ -102,12 +102,15 @@ import {
|
|
|
102
102
|
init_config_secrets,
|
|
103
103
|
init_telemetry,
|
|
104
104
|
init_telemetry_context,
|
|
105
|
+
init_vcs_repo_match,
|
|
105
106
|
isApiDrainingResponse,
|
|
106
107
|
isCodexAuthFailureReason,
|
|
107
108
|
isEnvExportRestrictedKey,
|
|
108
109
|
mapTriggerSurface,
|
|
109
|
-
telemetry
|
|
110
|
-
|
|
110
|
+
telemetry,
|
|
111
|
+
vcsRepoName,
|
|
112
|
+
vcsRepoUrlMatches
|
|
113
|
+
} from "./cli-y3167wt1.js";
|
|
111
114
|
import {
|
|
112
115
|
ProviderNameSchema,
|
|
113
116
|
WorkerNudgeSchema,
|
|
@@ -115,7 +118,7 @@ import {
|
|
|
115
118
|
isTerminalTaskStatus,
|
|
116
119
|
parseWorkerModelTierOverrides,
|
|
117
120
|
resolveTaskModelSelection
|
|
118
|
-
} from "./cli-
|
|
121
|
+
} from "./cli-pe05f8yk.js";
|
|
119
122
|
import {
|
|
120
123
|
WORKSPACE_CLAUDE_MD_PATH,
|
|
121
124
|
buildContextPreamble,
|
|
@@ -139,7 +142,7 @@ import {
|
|
|
139
142
|
taskAttachmentFetchCommand,
|
|
140
143
|
writeIdentityBaselines,
|
|
141
144
|
writeProfileFileFromDb
|
|
142
|
-
} from "./cli-
|
|
145
|
+
} from "./cli-78vv7446.js";
|
|
143
146
|
import {
|
|
144
147
|
init_steering_enabled,
|
|
145
148
|
isSteeringEnabled
|
|
@@ -150,7 +153,7 @@ import {
|
|
|
150
153
|
init_credentials,
|
|
151
154
|
normalizeProviderKeyAliases,
|
|
152
155
|
resolveCredentialPools
|
|
153
|
-
} from "./cli-
|
|
156
|
+
} from "./cli-x1r545x8.js";
|
|
154
157
|
import {
|
|
155
158
|
init_templates
|
|
156
159
|
} from "./cli-mvzyxwg3.js";
|
|
@@ -196,7 +199,7 @@ import {
|
|
|
196
199
|
registerEnvSecrets,
|
|
197
200
|
registerSensitiveKeyName,
|
|
198
201
|
scrubSecrets
|
|
199
|
-
} from "./cli-
|
|
202
|
+
} from "./cli-shk7r5cs.js";
|
|
200
203
|
import {
|
|
201
204
|
harnessModelMismatch,
|
|
202
205
|
init_src,
|
|
@@ -241,47 +244,47 @@ async function materializeCodexAuthJson(_slot, creds, deps = {}) {
|
|
|
241
244
|
async function createProviderAdapter(provider) {
|
|
242
245
|
switch (provider) {
|
|
243
246
|
case "claude": {
|
|
244
|
-
const { ClaudeAdapter } = await import("./claude-adapter-
|
|
247
|
+
const { ClaudeAdapter } = await import("./claude-adapter-4mqd3r6r.js");
|
|
245
248
|
return new ClaudeAdapter;
|
|
246
249
|
}
|
|
247
250
|
case "pi": {
|
|
248
|
-
const { PiMonoAdapter } = await import("./pi-mono-adapter-
|
|
251
|
+
const { PiMonoAdapter } = await import("./pi-mono-adapter-xxy47q4v.js");
|
|
249
252
|
return new PiMonoAdapter;
|
|
250
253
|
}
|
|
251
254
|
case "codex": {
|
|
252
|
-
const { CodexAdapter } = await import("./codex-adapter-
|
|
255
|
+
const { CodexAdapter } = await import("./codex-adapter-4z16v9n0.js");
|
|
253
256
|
return new CodexAdapter;
|
|
254
257
|
}
|
|
255
258
|
case "claude-managed": {
|
|
256
|
-
const { ClaudeManagedAdapter } = await import("./claude-managed-adapter-
|
|
259
|
+
const { ClaudeManagedAdapter } = await import("./claude-managed-adapter-9wswb52m.js");
|
|
257
260
|
return new ClaudeManagedAdapter;
|
|
258
261
|
}
|
|
259
262
|
case "devin": {
|
|
260
|
-
const { DevinAdapter } = await import("./devin-adapter-
|
|
263
|
+
const { DevinAdapter } = await import("./devin-adapter-zeq8b9gz.js");
|
|
261
264
|
return new DevinAdapter;
|
|
262
265
|
}
|
|
263
266
|
case "opencode": {
|
|
264
|
-
const { OpencodeAdapter } = await import("./opencode-adapter-
|
|
267
|
+
const { OpencodeAdapter } = await import("./opencode-adapter-13dcatgq.js");
|
|
265
268
|
return new OpencodeAdapter;
|
|
266
269
|
}
|
|
267
270
|
case "dsh": {
|
|
268
|
-
const { DshAdapter } = await import("./dsh-adapter-
|
|
271
|
+
const { DshAdapter } = await import("./dsh-adapter-47ztej36.js");
|
|
269
272
|
return new DshAdapter;
|
|
270
273
|
}
|
|
271
274
|
case "amp": {
|
|
272
|
-
const { AmpAdapter } = await import("./amp-adapter-
|
|
275
|
+
const { AmpAdapter } = await import("./amp-adapter-7h7wdt8q.js");
|
|
273
276
|
return new AmpAdapter;
|
|
274
277
|
}
|
|
275
278
|
case "cursor": {
|
|
276
|
-
const { CursorAdapter } = await import("./cursor-adapter-
|
|
279
|
+
const { CursorAdapter } = await import("./cursor-adapter-98gbhyzn.js");
|
|
277
280
|
return new CursorAdapter;
|
|
278
281
|
}
|
|
279
282
|
case "grok": {
|
|
280
|
-
const { GrokAdapter } = await import("./grok-adapter-
|
|
283
|
+
const { GrokAdapter } = await import("./grok-adapter-s9ncp9vy.js");
|
|
281
284
|
return new GrokAdapter;
|
|
282
285
|
}
|
|
283
286
|
case "acp": {
|
|
284
|
-
const { ACPAdapter } = await import("./acp-adapter-
|
|
287
|
+
const { ACPAdapter } = await import("./acp-adapter-kr4abrsk.js");
|
|
285
288
|
return new ACPAdapter;
|
|
286
289
|
}
|
|
287
290
|
default:
|
|
@@ -908,6 +911,7 @@ function guardSpawnModel(input) {
|
|
|
908
911
|
// src/commands/runner.ts
|
|
909
912
|
init_steering_enabled();
|
|
910
913
|
init_template();
|
|
914
|
+
init_vcs_repo_match();
|
|
911
915
|
|
|
912
916
|
// src/vcs/index.ts
|
|
913
917
|
function detectVcsProvider(url) {
|
|
@@ -1173,7 +1177,7 @@ var CREDENTIAL_PROVIDER_CHECKERS = {
|
|
|
1173
1177
|
devin: (env) => checkDevinCredentials(env),
|
|
1174
1178
|
opencode: (env, opts) => checkOpencodeCredentials(env, opts),
|
|
1175
1179
|
pi: async (env, opts) => {
|
|
1176
|
-
const { checkPiMonoCredentials } = await import("./pi-mono-adapter-
|
|
1180
|
+
const { checkPiMonoCredentials } = await import("./pi-mono-adapter-xxy47q4v.js");
|
|
1177
1181
|
return checkPiMonoCredentials(env, opts);
|
|
1178
1182
|
},
|
|
1179
1183
|
acp: (env) => {
|
|
@@ -1442,7 +1446,7 @@ async function validateProviderCredentials(provider, env = process.env, presence
|
|
|
1442
1446
|
latency_ms: Date.now() - startedAt
|
|
1443
1447
|
};
|
|
1444
1448
|
}
|
|
1445
|
-
const { liveTestCursorKey } = await import("./cursor-adapter-
|
|
1449
|
+
const { liveTestCursorKey } = await import("./cursor-adapter-98gbhyzn.js");
|
|
1446
1450
|
const result = await liveTestCursorKey(apiKey);
|
|
1447
1451
|
return result.ok ? { ok: true, latency_ms: Date.now() - startedAt } : { ok: false, error: result.error, latency_ms: Date.now() - startedAt };
|
|
1448
1452
|
}
|
|
@@ -1977,8 +1981,7 @@ function scheduleRunnerGc(reason) {
|
|
|
1977
1981
|
}
|
|
1978
1982
|
async function fetchRepoConfig(apiUrl, apiKey, vcsRepo, requireExactMatch = false) {
|
|
1979
1983
|
try {
|
|
1980
|
-
const
|
|
1981
|
-
const repoName = requested.split("/").pop() || requested;
|
|
1984
|
+
const repoName = vcsRepoName(vcsRepo);
|
|
1982
1985
|
const resp = await fetch(`${apiUrl}/api/repos?name=${encodeURIComponent(repoName)}`, {
|
|
1983
1986
|
headers: { Authorization: `Bearer ${apiKey}` }
|
|
1984
1987
|
});
|
|
@@ -1986,14 +1989,7 @@ async function fetchRepoConfig(apiUrl, apiKey, vcsRepo, requireExactMatch = fals
|
|
|
1986
1989
|
return null;
|
|
1987
1990
|
const data = await resp.json();
|
|
1988
1991
|
if (requireExactMatch) {
|
|
1989
|
-
return data.repos.find((r) =>
|
|
1990
|
-
const normalized = r.url.trim().replace(/\/+$/, "").replace(/\.git$/, "");
|
|
1991
|
-
if (normalized === requested)
|
|
1992
|
-
return true;
|
|
1993
|
-
if (requested.includes(":"))
|
|
1994
|
-
return false;
|
|
1995
|
-
return normalized.endsWith(`/${requested}`) || normalized.endsWith(`:${requested}`);
|
|
1996
|
-
}) ?? null;
|
|
1992
|
+
return data.repos.find((r) => vcsRepoUrlMatches(r.url, vcsRepo)) ?? null;
|
|
1997
1993
|
}
|
|
1998
1994
|
return data.repos.find((r) => r.url.includes(vcsRepo)) ?? data.repos[0] ?? null;
|
|
1999
1995
|
} catch {
|