@desplega.ai/agent-swarm 1.164.1 → 1.166.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 -1
- package/dist/acp-adapter-yzfxn8vj.js +23 -0
- package/dist/{actions-hp2h32dx.js → actions-qz3m692w.js} +24 -28
- package/dist/{amp-adapter-zfd7djyx.js → amp-adapter-j1xbmsqz.js} +7 -7
- package/dist/{app-w2d26h4f.js → app-43vrdmv8.js} +9 -10
- package/dist/{assistant-45pc4en7.js → assistant-ertffmka.js} +25 -29
- package/dist/{boot-reembed-k1q2s4fc.js → boot-reembed-998jtpdg.js} +12 -15
- package/dist/{boot-reembed-6rhcpsjf.js → boot-reembed-s7k7c6v2.js} +13 -15
- package/dist/boot-scrub-sweep-nepsk4t1.js +211 -0
- package/dist/{boot-seeds-ex93edx7.js → boot-seeds-vvzs1zhk.js} +12 -12
- package/dist/{claude-adapter-hcxd0szm.js → claude-adapter-2zvmekrp.js} +15 -17
- package/dist/{claude-managed-adapter-fz7xps2r.js → claude-managed-adapter-s49wbk8t.js} +5 -5
- package/dist/{claude-managed-setup-xx6f15h9.js → claude-managed-setup-cvhqq8qn.js} +4 -4
- package/dist/{claude-sdk-session-6nb9raem.js → claude-sdk-session-kkbxtw5q.js} +2624 -2606
- package/dist/{cli-etbrt8x1.js → cli-0nhdwxd5.js} +4 -4
- package/dist/{cli-jeefgppq.js → cli-0qjcsxgz.js} +7 -7
- package/dist/{cli-6behs2bt.js → cli-32bca7nr.js} +1 -1
- package/dist/{cli-gt8v96qx.js → cli-3ddybbbx.js} +4 -4
- package/dist/{acp-adapter-rxvek4ym.js → cli-3qn4r334.js} +317 -35
- package/dist/{cli-1d3w4xm3.js → cli-4r1sjfc4.js} +14 -6
- package/dist/{cli-691f2rxm.js → cli-66zh26sp.js} +68 -16
- package/dist/{cli-et8wdyqh.js → cli-68r1j4sg.js} +9 -9
- package/dist/{cli-xb7kyanp.js → cli-8kgvmkak.js} +3 -3
- package/dist/{cli-fdpkw8vk.js → cli-8t229cmr.js} +8 -8
- package/dist/{cli-gc54qc0p.js → cli-aqcey741.js} +1 -1
- package/dist/{cli-4q4cmr4t.js → cli-cpfmqz3n.js} +8 -8
- package/dist/{cli-a9bw0xxt.js → cli-df56tqdw.js} +997 -408
- package/dist/{cli-n7h1kqpf.js → cli-dmtrxqhg.js} +6 -1
- package/dist/{cli-xfb7333f.js → cli-dw2q9f7g.js} +5 -5
- package/dist/{cli-4drstbb9.js → cli-ecknp7p1.js} +81 -23
- package/dist/{cli-v0pvvhfq.js → cli-efnd2kce.js} +36 -1
- package/dist/{cli-1wetf34q.js → cli-f2n17zhp.js} +1 -1
- package/dist/{cli-2c8eky5y.js → cli-feh3dkah.js} +1 -1
- package/dist/cli-fn697bnt.js +126 -0
- package/dist/{cli-v5pr2fgt.js → cli-gt8azyet.js} +3 -3
- package/dist/{cli-dbszf3rw.js → cli-h3x613ze.js} +4 -4
- package/dist/{cli-nwhb8y2e.js → cli-hf5s9pgf.js} +1 -1
- package/dist/cli-j2jbr8af.js +516 -0
- package/dist/{cli-agjzafns.js → cli-jhm6hzjn.js} +593 -10
- package/dist/{cli-j0tmc908.js → cli-jvj6a0cv.js} +484 -477
- package/dist/{cli-xxz89c2n.js → cli-mb75wpxf.js} +1 -1
- package/dist/{cli-07s39g1n.js → cli-mv2520nm.js} +1 -1
- package/dist/{cli-v90vfwyb.js → cli-mwegs4af.js} +5 -5
- package/dist/{cli-bz1gbac9.js → cli-p4ztb80h.js} +2 -2
- package/dist/{cli-1wd1n2ya.js → cli-rfphkzh5.js} +1 -1
- package/dist/{cli-976r1zqx.js → cli-rggdq8wq.js} +5 -5
- package/dist/{cli-3ajw5v5v.js → cli-rsy933yz.js} +6 -6
- package/dist/{cli-yj790e19.js → cli-tadfgd0t.js} +8 -1
- package/dist/{cli-cn53e7vc.js → cli-ttbsse3f.js} +6 -1
- package/dist/{cli-dyqsrqcf.js → cli-v2a8x45d.js} +4 -4
- package/dist/{cli-wbvnn6tk.js → cli-v6vv7dy8.js} +91 -9
- package/dist/{cli-z2ap2c0c.js → cli-vzc73wet.js} +90 -55
- package/dist/cli-wt7ccy4r.js +2654 -0
- package/dist/{cli-4cn19jvn.js → cli-x7kpr72a.js} +3 -3
- package/dist/{cli-003785v9.js → cli-xvc3q9br.js} +1 -1
- package/dist/{cli-v0e7jpr5.js → cli-xvdgasgy.js} +13 -4
- package/dist/{cli-asqeg4ve.js → cli-y59h2pk9.js} +2 -2
- package/dist/{cli-0wn3ypqv.js → cli-yshaazs1.js} +14121 -3478
- package/dist/{cli-wg8yjqtw.js → cli-ysnyhws9.js} +16 -3
- package/dist/cli-zp67qg5x.js +92 -0
- package/dist/{cli-g3qgrzck.js → cli-zsh093hk.js} +71 -3
- package/dist/{cli-ma3zvh39.js → cli-zy7vwsne.js} +6066 -5829
- package/dist/cli.js +79 -26
- package/dist/{codex-adapter-pcxdn10v.js → codex-adapter-dw1wxqt8.js} +10 -10
- package/dist/{codex-hook-b1fb7c2k.js → codex-hook-d2rkvf39.js} +1 -1
- package/dist/{codex-login-059nm145.js → codex-login-terbdsqq.js} +2 -2
- package/dist/{codex-session-runner-xzwwddp8.js → codex-session-runner-3cgb8y1g.js} +10 -10
- package/dist/{commands-98at8mkn.js → commands-mhxam6z2.js} +9 -9
- package/dist/{cursor-adapter-dkg6qnkp.js → cursor-adapter-2qda3st7.js} +6 -6
- package/dist/{db-01g8wtvw.js → db-sjks418k.js} +11 -9
- package/dist/{devin-adapter-qmttt2fz.js → devin-adapter-bffjj5n4.js} +2 -2
- package/dist/{dispatcher-nn2k1wxd.js → dispatcher-1es759rn.js} +22 -26
- package/dist/{dsh-adapter-w4d4vwdq.js → dsh-adapter-bek4cyw9.js} +6 -6
- package/dist/{e2b-9e4g2hvt.js → e2b-nd50eccg.js} +1 -1
- package/dist/{event-bus-z7v2t26e.js → event-bus-vnfthafg.js} +2 -2
- package/dist/grok-adapter-ar9cw9jg.js +29 -0
- package/dist/{handlers-b0kqsbg8.js → handlers-1gkbhktr.js} +25 -29
- package/dist/{hook-sap7v1aj.js → hook-ds2zxq9v.js} +16 -18
- package/dist/{hook-pz50gqep.js → hook-vxa3tcsy.js} +10 -12
- package/dist/{http-ncr8rmd0.js → http-3h21z9md.js} +679 -227
- package/dist/{index-c4aqcyz1.js → index-9b65j1m5.js} +11 -11
- package/dist/{index-r46s01nq.js → index-bn6cy8ps.js} +22 -26
- package/dist/{index-38kqdt3e.js → index-dkfxpkmm.js} +23 -27
- package/dist/{index-630kj5vd.js → index-f8xnqrye.js} +55 -43
- package/dist/{index-fdk1t4d6.js → index-n0rxa4ca.js} +11962 -9900
- package/dist/{index-9nrj7797.js → index-n99fycq7.js} +22 -26
- package/dist/{keepalive-31613r2h.js → keepalive-3xspa9jw.js} +14 -11
- package/dist/{lead-mx59tr5s.js → lead-6qphc124.js} +43 -43
- package/dist/{maintenance-55ff39ca.js → maintenance-0teem1bb.js} +10 -12
- package/dist/{node-f0ykebbv.js → node-9sg7ajby.js} +25 -7
- package/dist/{oauth-refresh-sweep-anma954w.js → oauth-refresh-sweep-sh9q25xp.js} +13 -10
- package/dist/{onboard-b2fy8ftb.js → onboard-54qmnqxe.js} +4 -3
- package/dist/{opencode-adapter-p1s92tmy.js → opencode-adapter-wjfa2wvd.js} +6 -6
- package/dist/{otel-impl-9brvt7xv.js → otel-impl-ycqzp2a1.js} +2 -2
- package/dist/{pi-mono-adapter-kz4rrwvd.js → pi-mono-adapter-e77e9zst.js} +6 -6
- package/dist/{pricing-refresh-7w8mbmva.js → pricing-refresh-atnkngqs.js} +10 -10
- package/dist/{rbac-roles-ejp7qwvb.js → rbac-roles-9pjphh9q.js} +10 -10
- package/dist/{rbac-roles-nhk4r7bc.js → rbac-roles-j78wdksm.js} +10 -10
- package/dist/{render-v2-2gzt8skq.js → render-v2-pxjs49fx.js} +9 -10
- package/dist/{setup-5et8t412.js → setup-ymej0xtx.js} +2 -2
- package/dist/{work-objects-tb0er7qa.js → work-objects-3nh4ymzb.js} +26 -30
- package/dist/{worker-62cv075d.js → worker-qa9fkz5s.js} +43 -43
- package/dist/{x-vbxb31jr.js → x-ma4gnfgy.js} +2 -2
- package/openapi.json +457 -31
- package/package.json +14 -6
- package/plugin/commands/create-pr.md +7 -1
- package/plugin/pi-skills/create-pr/SKILL.md +7 -1
- package/src/agentmail/app.ts +5 -4
- package/src/be/automation-preflight.ts +11 -9
- package/src/be/boot-scrub-sweep.ts +302 -0
- package/src/be/connector-codes.ts +81 -0
- package/src/be/crypto/key-bootstrap.ts +1 -1
- package/src/be/db/approvals.ts +15 -1
- package/src/be/db/codex-oauth-device-flows.ts +40 -0
- package/src/be/db/config-secrets.ts +31 -0
- package/src/be/db/runtime.ts +4 -0
- package/src/be/db/script-runs.ts +15 -0
- package/src/be/db/tasks/write.ts +1 -1
- package/src/be/db-queries/mcp-oauth.ts +5 -0
- package/src/be/db-queries/oauth.ts +77 -0
- package/src/be/db.ts +162 -59
- package/src/be/events.ts +17 -1
- package/src/be/memory/index-content.ts +2 -2
- package/src/be/memory/providers/sqlite-store.ts +63 -11
- package/src/be/memory/types.ts +14 -0
- package/src/be/migrations/197_connector_codes.sql +23 -0
- package/src/be/migrations/198_permission_audit_guest.sql +33 -0
- package/src/be/migrations/200_backfill_auto_memory_expiry.sql +20 -0
- package/src/be/migrations/201_workflow_replay_columns.sql +10 -0
- package/src/be/migrations/202_codex_oauth_device_flows.sql +24 -0
- package/src/be/model-tier-resolution.ts +2 -1
- package/src/be/model-validation.ts +1 -1
- package/src/be/pricing-normalize.ts +3 -0
- package/src/be/rbac-audit.ts +2 -1
- package/src/be/scripts/db.ts +28 -4
- package/src/be/scripts/source-secrets.ts +37 -0
- package/src/be/scripts/typecheck.ts +23 -2
- package/src/be/scrub-json.ts +32 -0
- package/src/be/sealed-json.ts +59 -0
- package/src/be/secret-registry.ts +131 -0
- package/src/be/seed-pricing.ts +14 -0
- package/src/be/users.ts +7 -1
- package/src/be/workflow-replay.ts +77 -0
- package/src/cli.tsx +7 -0
- package/src/commands/provider-credentials.ts +46 -8
- package/src/commands/runner.ts +2 -10
- package/src/extensions/contract-types.generated.ts +1 -1
- package/src/github/app.ts +4 -4
- package/src/heartbeat/heartbeat.ts +20 -8
- package/src/hooks/pr-body-guard.ts +1 -1
- package/src/http/agents.ts +1 -0
- package/src/http/approval-requests.ts +1 -0
- package/src/http/apps.ts +3 -0
- package/src/http/auth.ts +4 -1
- package/src/http/codex-oauth-device.ts +8 -10
- package/src/http/codex-oauth-keep-warm.ts +2 -2
- package/src/http/config-values.ts +59 -0
- package/src/http/config.ts +5 -0
- package/src/http/db-query-bounded.ts +3 -0
- package/src/http/db-query-shared.ts +107 -15
- package/src/http/db-query.ts +10 -2
- package/src/http/extensions.ts +1 -0
- package/src/http/index.ts +23 -6
- package/src/http/integrations.ts +1 -38
- package/src/http/ip-rate-limit.ts +82 -0
- package/src/http/kv.ts +38 -4
- package/src/http/mcp-servers.ts +1 -0
- package/src/http/memory.ts +9 -0
- package/src/http/models-catalog.ts +2 -0
- package/src/http/operator-actor.ts +4 -0
- package/src/http/page-proxy.ts +22 -0
- package/src/http/pages.ts +4 -2
- package/src/http/realtime.ts +1 -1
- package/src/http/request-principal.ts +14 -1
- package/src/http/script-connections.ts +8 -0
- package/src/http/script-runs.ts +12 -4
- package/src/http/scripts.ts +15 -0
- package/src/http/session-cost-recompute.ts +3 -2
- package/src/http/tasks.ts +9 -0
- package/src/http/users.ts +226 -0
- package/src/http/workflows.ts +3 -2
- package/src/http.ts +1 -0
- package/src/integrations/kapso/client.ts +3 -1
- package/src/jira/app.ts +2 -2
- package/src/kv-view.ts +324 -0
- package/src/linear/app.ts +2 -2
- package/src/oauth/mcp-wrapper.ts +1 -1
- package/src/prompts/memories.ts +42 -1
- package/src/providers/acp-adapter.ts +85 -24
- package/src/providers/acp-target-catalog.ts +54 -1
- package/src/providers/acp-targets.ts +358 -4
- package/src/providers/amp-adapter.ts +1 -1
- package/src/providers/cursor-adapter.ts +1 -1
- package/src/providers/grok-adapter.ts +186 -0
- package/src/providers/index.ts +5 -1
- package/src/providers/pricing-sources.md +6 -0
- package/src/providers/reasoning-effort.ts +17 -1
- package/src/providers/types.ts +2 -1
- package/src/rbac/can.ts +4 -3
- package/src/rbac/legacy-policy.ts +3 -3
- package/src/rbac/types.ts +6 -0
- package/src/script-workflows/supervisor.ts +11 -2
- package/src/scripts-runtime/eval-harness.ts +2 -12
- package/src/scripts-runtime/executors/quickjs-bundle.ts +152 -0
- package/src/scripts-runtime/executors/quickjs-prelude.ts +285 -0
- package/src/scripts-runtime/executors/quickjs-runner.ts +580 -0
- package/src/scripts-runtime/executors/quickjs-worker.ts +81 -0
- package/src/scripts-runtime/executors/quickjs.ts +196 -0
- package/src/scripts-runtime/executors/registry.ts +2 -0
- package/src/scripts-runtime/executors/sourcemap.ts +79 -0
- package/src/scripts-runtime/script-error-hints.ts +14 -0
- package/src/scripts-runtime/swarm-sdk.ts +9 -2
- package/src/scripts-runtime/types/stdlib.d.ts +27 -8
- package/src/scripts-runtime/types/swarm-extension.d.ts +3 -0
- package/src/scripts-runtime/types/swarm-sdk.d.ts +27 -8
- package/src/server-user.ts +2 -20
- package/src/server.ts +3 -1
- package/src/slack/app.ts +4 -0
- package/src/slack/config.ts +3 -1
- package/src/slack/egress-scrub.ts +87 -0
- package/src/tests/acp-adapter.test.ts +191 -2
- package/src/tests/boot-scrub-sweep.test.ts +390 -0
- package/src/tests/budget-user-scope.test.ts +7 -21
- package/src/tests/check-pr-body.test.ts +149 -6
- package/src/tests/check-text-columns.test.ts +145 -0
- package/src/tests/claude-adapter-binary.test.ts +1 -1
- package/src/tests/claude-sdk-process.fixture.ts +13 -2
- package/src/tests/codex-oauth-device.test.ts +23 -37
- package/src/tests/codex-oauth-keep-warm.test.ts +29 -0
- package/src/tests/console-scrub.test.ts +141 -0
- package/src/tests/credential-check.test.ts +90 -0
- package/src/tests/db-query-denylist.test.ts +202 -0
- package/src/tests/db-task-read-contract.test.ts +1 -0
- package/src/tests/db-task-write-contract.test.ts +1 -0
- package/src/tests/docs-index-footprint.test.js +3 -3
- package/src/tests/entrypoint-acp-target-binary.test.ts +44 -1
- package/src/tests/events-scrub.test.ts +88 -0
- package/src/tests/explicit-model-validation.test.ts +81 -0
- package/src/tests/extensions-pre-task.test.ts +33 -1
- package/src/tests/fixtures/grok/acp-updates-recorded.jsonl +53 -0
- package/src/tests/fixtures/grok/prompt-response-meta.json +36 -0
- package/src/tests/fixtures/secret-corpus.ts +320 -0
- package/src/tests/grok-adapter.test.ts +647 -0
- package/src/tests/heartbeat-checklist.test.ts +44 -0
- package/src/tests/integration-disable-flags.test.ts +156 -0
- package/src/tests/kv-http.test.ts +34 -0
- package/src/tests/kv-tool.test.ts +274 -1
- package/src/tests/kv-view.test.ts +147 -0
- package/src/tests/mcp-user-route.test.ts +257 -15
- package/src/tests/memory-injection-outcome.test.ts +143 -0
- package/src/tests/model-tier-resolution.test.ts +76 -3
- package/src/tests/page-guest-session.test.ts +424 -0
- package/src/tests/page-proxy.test.ts +1 -1
- package/src/tests/page-viewer-auth.test.ts +22 -1
- package/src/tests/pr-body-leaks.test.ts +157 -2
- package/src/tests/preload.ts +10 -0
- package/src/tests/provider-registration.test.ts +3 -1
- package/src/tests/rbac-audit.test.ts +32 -0
- package/src/tests/rbac-mcp-admission-e2e.test.ts +4 -62
- package/src/tests/script-connections.test.ts +9 -0
- package/src/tests/script-executor-conformance.test.ts +3 -0
- package/src/tests/script-executor-quickjs.test.ts +442 -0
- package/src/tests/script-executor-registry.test.ts +6 -1
- package/src/tests/script-runs-http.test.ts +126 -1
- package/src/tests/script-runs-scrub.test.ts +275 -0
- package/src/tests/scripts-http.test.ts +82 -1
- package/src/tests/scripts-mcp-e2e.test.ts +42 -6
- package/src/tests/scripts-runtime.test.ts +37 -0
- package/src/tests/scrubbed-text-12e.test.ts +289 -0
- package/src/tests/sealed-key-guard.test.ts +166 -0
- package/src/tests/secret-canary-sweep.test.ts +958 -0
- package/src/tests/secret-registry.test.ts +355 -0
- package/src/tests/secret-rules.test.ts +230 -0
- package/src/tests/secret-scrubber.test.ts +317 -1
- package/src/tests/session-costs-golden.test.ts +17 -0
- package/src/tests/slack-egress-scrub.test.ts +216 -0
- package/src/tests/swarm-tool-result-gate.test.ts +143 -30
- package/src/tests/task-tools-ctx.test.ts +3 -0
- package/src/tests/user-token-routes.test.ts +342 -3
- package/src/tests/workflow-replay.test.ts +518 -0
- package/src/tests/workflow-scrub.test.ts +242 -0
- package/src/tests/workflow-system-one-decision-providers.test.ts +737 -0
- package/src/tools/db-query.ts +1 -1
- package/src/tools/inject-learning.ts +1 -1
- package/src/tools/kv/kv-get.ts +136 -6
- package/src/tools/send-task.ts +61 -17
- package/src/tools/utils.ts +186 -43
- package/src/tools/workflows/get-workflow-run.ts +3 -2
- package/src/types.ts +16 -1
- package/src/utils/console-scrub-install.ts +5 -0
- package/src/utils/console-scrub.ts +57 -0
- package/src/utils/credentials.ts +8 -0
- package/src/utils/page-session.ts +6 -2
- package/src/utils/pr-body-leaks.ts +149 -10
- package/src/utils/request-auth-context.ts +2 -0
- package/src/utils/secret-rules.generated.ts +2055 -0
- package/src/utils/secret-scrubber.ts +662 -36
- package/src/workflows/engine.ts +39 -4
- package/src/workflows/executors/notify.ts +6 -1
- package/src/workflows/executors/system-one-decision.ts +31 -12
- package/src/workflows/executors/system-one-openai-wire.ts +168 -0
- package/src/workflows/executors/system-one-providers.ts +112 -11
- package/src/workflows/executors/system-one-wire.ts +79 -0
- package/src/workflows/recovery.ts +10 -1
- package/src/workflows/resume.ts +62 -3
- package/src/workflows/retry-poller.ts +3 -0
- package/templates/ai-toolbox.manifest.json +2 -2
- package/templates/skills/agent-browser/SKILL.md +5 -5
- package/templates/skills/agent-browser/config.json +1 -1
- package/templates/skills/agent-browser/content.md +4 -4
- package/templates/skills/artifacts/content.md +17 -7
- package/templates/skills/jira-interaction/config.json +1 -1
- package/templates/skills/jira-interaction/content.md +56 -205
- package/templates/skills/linear-interaction/config.json +1 -1
- package/templates/skills/linear-interaction/content.md +31 -50
- package/templates/skills/pages/content.md +8 -4
- package/templates/skills/qa/content.md +2 -2
- package/templates/skills/workflow-iterate/content.md +4 -4
- package/tsconfig.json +3 -3
- package/dist/boot-scrub-logs-t8xg7wd7.js +0 -99
- package/dist/cli-0a7r5331.js +0 -168
- package/dist/cli-93rxw9yd.js +0 -951
- package/dist/cli-cvk6yzw5.js +0 -40
- package/dist/cli-dgnj0zcc.js +0 -40
- package/dist/cli-qt5wzq6v.js +0 -256
- package/dist/cli-v7fqehqd.js +0 -9281
- package/dist/cli-vbr859rz.js +0 -572
- package/src/be/boot-scrub-logs.ts +0 -132
package/dist/cli-cvk6yzw5.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
buildAgentFsLiveUrl,
|
|
3
|
-
buildCombFileUrl,
|
|
4
|
-
getAppUrl,
|
|
5
|
-
init_constants
|
|
6
|
-
} from "./cli-gd4favx9.js";
|
|
7
|
-
import {
|
|
8
|
-
__esm
|
|
9
|
-
} from "./cli-bc05qbss.js";
|
|
10
|
-
|
|
11
|
-
// src/utils/task-attachment-links.ts
|
|
12
|
-
function shellQuote(value) {
|
|
13
|
-
return `'${value.replace(/'/g, `'\\''`)}'`;
|
|
14
|
-
}
|
|
15
|
-
function taskAttachmentFetchCommand(taskId, attachmentId, name) {
|
|
16
|
-
const url = `$MCP_BASE_URL/api/fs/tasks/${taskId}/files/${attachmentId}/raw`;
|
|
17
|
-
const outPath = shellQuote(`/tmp/attachments/${attachmentId}/${name.replace(/\//g, "_")}`);
|
|
18
|
-
return `curl -s -H "Authorization: Bearer \${AGENT_SWARM_API_KEY:-$API_KEY}" -H "X-Agent-ID: $AGENT_ID" "${url}" --create-dirs -o ${outPath}`;
|
|
19
|
-
}
|
|
20
|
-
function taskAttachmentDisplayUrl(attachment, opts = {}) {
|
|
21
|
-
if (attachment.kind === "url")
|
|
22
|
-
return attachment.url ?? "";
|
|
23
|
-
if (attachment.kind === "page") {
|
|
24
|
-
return attachment.pageId ? `${getAppUrl()}/pages/${attachment.pageId}` : "page:";
|
|
25
|
-
}
|
|
26
|
-
if (attachment.providerId === "agent-fs" || attachment.kind === "agent-fs") {
|
|
27
|
-
const file = { path: attachment.path, orgId: attachment.orgId, driveId: attachment.driveId };
|
|
28
|
-
const combUrl = opts.comb === false ? null : buildCombFileUrl(file);
|
|
29
|
-
return combUrl ?? buildAgentFsLiveUrl(file) ?? `agent-fs:${attachment.path ?? ""}`;
|
|
30
|
-
}
|
|
31
|
-
if (attachment.providerId === "local-fs" || attachment.kind === "shared-fs") {
|
|
32
|
-
return `${getAppUrl()}/api/fs/tasks/${attachment.taskId}/files/${attachment.id}/raw`;
|
|
33
|
-
}
|
|
34
|
-
return attachment.path ?? attachment.providerKey ?? "";
|
|
35
|
-
}
|
|
36
|
-
var init_task_attachment_links = __esm(() => {
|
|
37
|
-
init_constants();
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
export { taskAttachmentFetchCommand, taskAttachmentDisplayUrl, init_task_attachment_links };
|
package/dist/cli-dgnj0zcc.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
// src/providers/acp-target-catalog.ts
|
|
2
|
-
var ACP_TARGET_IDS = ["opencode", "custom"];
|
|
3
|
-
var ACP_TARGET_CATALOG = [
|
|
4
|
-
{
|
|
5
|
-
id: "opencode",
|
|
6
|
-
label: "OpenCode",
|
|
7
|
-
description: "OpenCode's ACP server, launched with `opencode acp`.",
|
|
8
|
-
command: "opencode",
|
|
9
|
-
args: ["acp"],
|
|
10
|
-
envKeys: [
|
|
11
|
-
"ANTHROPIC_API_KEY",
|
|
12
|
-
"OPENAI_API_KEY",
|
|
13
|
-
"OPENROUTER_API_KEY",
|
|
14
|
-
"OPENROUTER_BASE_URL",
|
|
15
|
-
"GOOGLE_API_KEY",
|
|
16
|
-
"GEMINI_API_KEY",
|
|
17
|
-
"OPENCODE_CONFIG",
|
|
18
|
-
"OPENCODE_CONFIG_CONTENT",
|
|
19
|
-
"OPENCODE_CONFIG_DIR",
|
|
20
|
-
"XDG_CONFIG_HOME",
|
|
21
|
-
"XDG_DATA_HOME"
|
|
22
|
-
],
|
|
23
|
-
knobs: [{ id: "model", label: "Model", category: "model" }]
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
id: "custom",
|
|
27
|
-
label: "Custom",
|
|
28
|
-
description: "An operator-supplied ACP command and explicit environment allowlist.",
|
|
29
|
-
envKeys: [],
|
|
30
|
-
knobs: [{ id: "model", label: "Model", category: "model" }]
|
|
31
|
-
}
|
|
32
|
-
];
|
|
33
|
-
function isAcpTarget(value) {
|
|
34
|
-
return ACP_TARGET_IDS.includes(value);
|
|
35
|
-
}
|
|
36
|
-
function getAcpTargetCatalogEntry(target) {
|
|
37
|
-
return ACP_TARGET_CATALOG.find((entry) => entry.id === target);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export { ACP_TARGET_IDS, isAcpTarget, getAcpTargetCatalogEntry };
|
package/dist/cli-qt5wzq6v.js
DELETED
|
@@ -1,256 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
__esm
|
|
3
|
-
} from "./cli-bc05qbss.js";
|
|
4
|
-
|
|
5
|
-
// src/utils/secret-scrubber.ts
|
|
6
|
-
function escapedForms(value) {
|
|
7
|
-
const forms = new Set([value, value.replace(/[\\$"`]/g, "\\$&"), value.replaceAll("'", "'\\''")]);
|
|
8
|
-
for (const form of [...forms])
|
|
9
|
-
forms.add(JSON.stringify(form).slice(1, -1));
|
|
10
|
-
return [...forms];
|
|
11
|
-
}
|
|
12
|
-
function quoted(open, close, item, lineItem) {
|
|
13
|
-
return `${open}(?:(?:${lineItem})*${close}|(?:${item})*${close}${QUOTE_EOL}|(?:${lineItem})*)`;
|
|
14
|
-
}
|
|
15
|
-
function redactAssignment(match, key, value) {
|
|
16
|
-
if (!isSensitiveKey(key))
|
|
17
|
-
return match;
|
|
18
|
-
let open = "";
|
|
19
|
-
let close = "";
|
|
20
|
-
for (const quote of ["\\\"", '"', "'"]) {
|
|
21
|
-
if (!value.startsWith(quote))
|
|
22
|
-
continue;
|
|
23
|
-
open = quote;
|
|
24
|
-
if (value.length >= quote.length * 2 && value.endsWith(quote))
|
|
25
|
-
close = quote;
|
|
26
|
-
break;
|
|
27
|
-
}
|
|
28
|
-
const inner = value.slice(open.length, value.length - close.length);
|
|
29
|
-
if (inner === "" || /^\[REDACTED:[^\]]*\]$/.test(inner))
|
|
30
|
-
return match;
|
|
31
|
-
return `${key}=${open}[REDACTED:${key}]${close}`;
|
|
32
|
-
}
|
|
33
|
-
function snapshotEnv() {
|
|
34
|
-
const parts = [];
|
|
35
|
-
for (const key of Object.keys(process.env).sort()) {
|
|
36
|
-
if (!isSensitiveKey(key))
|
|
37
|
-
continue;
|
|
38
|
-
const v = process.env[key];
|
|
39
|
-
if (!v)
|
|
40
|
-
continue;
|
|
41
|
-
parts.push(`${key}=${v.length}`);
|
|
42
|
-
}
|
|
43
|
-
return parts.join("|");
|
|
44
|
-
}
|
|
45
|
-
function isSensitiveKey(key) {
|
|
46
|
-
if (NON_SECRET_EXCEPTIONS.has(key))
|
|
47
|
-
return false;
|
|
48
|
-
if (SENSITIVE_KEY_EXACT.has(key) || registeredSensitiveKeys.has(key))
|
|
49
|
-
return true;
|
|
50
|
-
for (const suffix of SENSITIVE_KEY_SUFFIXES) {
|
|
51
|
-
if (key.endsWith(suffix))
|
|
52
|
-
return true;
|
|
53
|
-
}
|
|
54
|
-
if (/^codex_oauth(_\d+)?$/.test(key))
|
|
55
|
-
return true;
|
|
56
|
-
return false;
|
|
57
|
-
}
|
|
58
|
-
function buildCache() {
|
|
59
|
-
const entries = [];
|
|
60
|
-
const seen = new Set;
|
|
61
|
-
for (const [key, rawValue] of Object.entries(process.env)) {
|
|
62
|
-
if (!rawValue)
|
|
63
|
-
continue;
|
|
64
|
-
if (!isSensitiveKey(key))
|
|
65
|
-
continue;
|
|
66
|
-
const candidates = rawValue.includes(",") ? [rawValue, ...rawValue.split(",").map((s) => s.trim())] : [rawValue];
|
|
67
|
-
for (const candidate of candidates) {
|
|
68
|
-
if (!candidate)
|
|
69
|
-
continue;
|
|
70
|
-
if (candidate.length < MIN_VALUE_LENGTH)
|
|
71
|
-
continue;
|
|
72
|
-
for (const form of escapedForms(candidate)) {
|
|
73
|
-
if (seen.has(form))
|
|
74
|
-
continue;
|
|
75
|
-
seen.add(form);
|
|
76
|
-
entries.push({ value: form, name: key });
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
entries.sort((a, b) => b.value.length - a.value.length);
|
|
81
|
-
return { entries, snapshotKey: snapshotEnv() };
|
|
82
|
-
}
|
|
83
|
-
function getCache() {
|
|
84
|
-
const current = snapshotEnv();
|
|
85
|
-
if (!cache || cache.snapshotKey !== current) {
|
|
86
|
-
cache = buildCache();
|
|
87
|
-
}
|
|
88
|
-
return cache;
|
|
89
|
-
}
|
|
90
|
-
function scrubSecrets(text) {
|
|
91
|
-
if (text == null)
|
|
92
|
-
return "";
|
|
93
|
-
if (text.length === 0)
|
|
94
|
-
return text;
|
|
95
|
-
let out = text;
|
|
96
|
-
const { entries } = getCache();
|
|
97
|
-
for (const { value, name } of entries) {
|
|
98
|
-
if (out.includes(value)) {
|
|
99
|
-
out = out.split(value).join(`[REDACTED:${name}]`);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
for (const [value, name] of volatileSecrets) {
|
|
103
|
-
if (out.includes(value)) {
|
|
104
|
-
out = out.split(value).join(`[REDACTED:${name}]`);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
for (const { name, re } of TOKEN_REGEXES) {
|
|
108
|
-
out = out.replace(re, `[REDACTED:${name}]`);
|
|
109
|
-
}
|
|
110
|
-
out = out.replace(ASSIGNMENT_RE, redactAssignment);
|
|
111
|
-
return out;
|
|
112
|
-
}
|
|
113
|
-
function scrubObject(value, seen = new WeakSet) {
|
|
114
|
-
if (value === null || value === undefined)
|
|
115
|
-
return value;
|
|
116
|
-
if (typeof value === "string")
|
|
117
|
-
return scrubSecrets(value);
|
|
118
|
-
if (typeof value !== "object")
|
|
119
|
-
return value;
|
|
120
|
-
if (seen.has(value)) {
|
|
121
|
-
return "[Circular]";
|
|
122
|
-
}
|
|
123
|
-
seen.add(value);
|
|
124
|
-
if (Array.isArray(value)) {
|
|
125
|
-
return value.map((item) => scrubObject(item, seen));
|
|
126
|
-
}
|
|
127
|
-
const out = {};
|
|
128
|
-
for (const [key, child] of Object.entries(value)) {
|
|
129
|
-
out[key] = scrubObject(child, seen);
|
|
130
|
-
}
|
|
131
|
-
return out;
|
|
132
|
-
}
|
|
133
|
-
function refreshSecretScrubberCache() {
|
|
134
|
-
cache = null;
|
|
135
|
-
}
|
|
136
|
-
function registerVolatileSecret(value, name) {
|
|
137
|
-
if (value.length < MIN_VALUE_LENGTH)
|
|
138
|
-
return;
|
|
139
|
-
for (const form of escapedForms(value))
|
|
140
|
-
volatileSecrets.set(form, name);
|
|
141
|
-
}
|
|
142
|
-
function registerSensitiveKeyName(key) {
|
|
143
|
-
if (registeredSensitiveKeys.has(key))
|
|
144
|
-
return;
|
|
145
|
-
registeredSensitiveKeys.add(key);
|
|
146
|
-
cache = null;
|
|
147
|
-
}
|
|
148
|
-
var SENSITIVE_KEY_EXACT, SENSITIVE_KEY_SUFFIXES, NON_SECRET_EXCEPTIONS, MIN_VALUE_LENGTH = 12, QUOTE_EOL, JSON_DQ, RAW_DQ, SQ, BARE, ASSIGNMENT_RE, TB, TOKEN_REGEXES, cache = null, volatileSecrets, registeredSensitiveKeys;
|
|
149
|
-
var init_secret_scrubber = __esm(() => {
|
|
150
|
-
SENSITIVE_KEY_EXACT = new Set([
|
|
151
|
-
"API_KEY",
|
|
152
|
-
"SECRETS_ENCRYPTION_KEY",
|
|
153
|
-
"GITHUB_TOKEN",
|
|
154
|
-
"GITLAB_TOKEN",
|
|
155
|
-
"AZURE_DEVOPS_TOKEN",
|
|
156
|
-
"AZURE_DEVOPS_EXT_PAT",
|
|
157
|
-
"CLAUDE_CODE_OAUTH_TOKEN",
|
|
158
|
-
"ANTHROPIC_API_KEY",
|
|
159
|
-
"OPENAI_API_KEY",
|
|
160
|
-
"OPENROUTER_API_KEY",
|
|
161
|
-
"SLACK_BOT_TOKEN",
|
|
162
|
-
"SLACK_SIGNING_SECRET",
|
|
163
|
-
"SLACK_CLIENT_SECRET",
|
|
164
|
-
"SLACK_USER_TOKEN",
|
|
165
|
-
"SLACK_APP_TOKEN",
|
|
166
|
-
"SENTRY_AUTH_TOKEN",
|
|
167
|
-
"VERCEL_TOKEN",
|
|
168
|
-
"RESEND_API_KEY",
|
|
169
|
-
"AGENTMAIL_API_KEY",
|
|
170
|
-
"API_AGENT_FS_API_KEY",
|
|
171
|
-
"AGENT_FS_API_KEY",
|
|
172
|
-
"BUSINESS_USE_API_KEY",
|
|
173
|
-
"QA_USE_API_KEY",
|
|
174
|
-
"DOCS_API_KEY",
|
|
175
|
-
"DOKPLOY_API_KEY",
|
|
176
|
-
"DEVTO_API_KEY",
|
|
177
|
-
"ELEVENLABS_API_KEY",
|
|
178
|
-
"ENGINY_API_KEY",
|
|
179
|
-
"OPENFORT_API_KEY",
|
|
180
|
-
"OPENFORT_TEST_SECRET_KEY",
|
|
181
|
-
"OPENFORT_TEST_WALLET_PRIVATE_KEY",
|
|
182
|
-
"OPENFORT_WALLET_SECRET",
|
|
183
|
-
"TURSO_API_TOKEN",
|
|
184
|
-
"TURSO_DB_TOKEN",
|
|
185
|
-
"TURSO_X_POSTS_DB_TOKEN",
|
|
186
|
-
"BROWSER_USE_API_KEY",
|
|
187
|
-
"PLAUSIBLE_API_KEY",
|
|
188
|
-
"IMGFLIP_PASSWORD",
|
|
189
|
-
"GSC_SERVICE_ACCOUNT_BASE64",
|
|
190
|
-
"LINEAR_API_KEY",
|
|
191
|
-
"LINEAR_OAUTH_CLIENT_SECRET",
|
|
192
|
-
"OTEL_EXPORTER_OTLP_HEADERS",
|
|
193
|
-
"SIGNOZ_INGESTION_KEY"
|
|
194
|
-
]);
|
|
195
|
-
SENSITIVE_KEY_SUFFIXES = [
|
|
196
|
-
"_API_KEY",
|
|
197
|
-
"_TOKEN",
|
|
198
|
-
"_SECRET",
|
|
199
|
-
"_PASSWORD",
|
|
200
|
-
"_PASS",
|
|
201
|
-
"_PRIVATE_KEY"
|
|
202
|
-
];
|
|
203
|
-
NON_SECRET_EXCEPTIONS = new Set([
|
|
204
|
-
"MCP_BASE_URL",
|
|
205
|
-
"APP_URL",
|
|
206
|
-
"API_URL",
|
|
207
|
-
"TEMPLATE_REGISTRY_URL"
|
|
208
|
-
]);
|
|
209
|
-
QUOTE_EOL = String.raw`(?=$|[\r\n]|\\[rn]|")`;
|
|
210
|
-
JSON_DQ = quoted(String.raw`\\"(?!\$)`, String.raw`\\"`, String.raw`\\\\(?:\\\\|\\"|[^\\"])|\\[^\\"]|[^"\\]`, String.raw`\\\\(?:\\\\|\\"|[^\\"\r\n])|\\[^\\"nr\r\n]|[^"\\\r\n]`);
|
|
211
|
-
RAW_DQ = quoted(`"(?!\\$)`, `"`, String.raw`\\[\s\S]|[^"\\]`, String.raw`\\[^\r\n]|[^"\\\r\n]`);
|
|
212
|
-
SQ = quoted(`'`, `'`, String.raw`[^'\\]|'\\\\?''|\\[\s\S]`, String.raw`[^'\\\r\n]|'\\\\?''|\\[^nr\r\n]`);
|
|
213
|
-
BARE = String.raw`(?!\$)(?:\\[^nrtu"\s]|[^\s"'\\])+`;
|
|
214
|
-
ASSIGNMENT_RE = new RegExp(String.raw`(?:(?<=\\[nrt])|(?<![\w\\]))([A-Za-z_][A-Za-z0-9_]*)=(?!=)(${JSON_DQ}|${RAW_DQ}|${SQ}|${BARE})`, "g");
|
|
215
|
-
TB = String.raw`(?:(?<=\\[nrtbfu0])|(?<!\w))`;
|
|
216
|
-
TOKEN_REGEXES = [
|
|
217
|
-
{ name: "github_pat", re: /github_pat_[A-Za-z0-9_]{20,}/g },
|
|
218
|
-
{ name: "github_token", re: new RegExp(String.raw`${TB}gh[pousr]_[A-Za-z0-9]{20,}\b`, "g") },
|
|
219
|
-
{ name: "acp_session_token", re: new RegExp(String.raw`${TB}aseph_[A-Za-z0-9]{20,}\b`, "g") },
|
|
220
|
-
{ name: "gitlab_pat", re: new RegExp(String.raw`${TB}glpat-[A-Za-z0-9_-]{20,}\b`, "g") },
|
|
221
|
-
{
|
|
222
|
-
name: "azure_devops_pat",
|
|
223
|
-
re: new RegExp(String.raw`${TB}[A-Za-z0-9]{76}AZDO[A-Za-z0-9]{4}\b`, "g")
|
|
224
|
-
},
|
|
225
|
-
{ name: "anthropic_key", re: new RegExp(String.raw`${TB}sk-ant-[A-Za-z0-9_-]{20,}\b`, "g") },
|
|
226
|
-
{ name: "openai_proj_key", re: new RegExp(String.raw`${TB}sk-proj-[A-Za-z0-9_-]{20,}\b`, "g") },
|
|
227
|
-
{
|
|
228
|
-
name: "openrouter_key",
|
|
229
|
-
re: new RegExp(String.raw`${TB}sk-or-(?:v1-)?[A-Za-z0-9_-]{20,}\b`, "g")
|
|
230
|
-
},
|
|
231
|
-
{ name: "sk_key", re: new RegExp(String.raw`${TB}sk-[A-Za-z0-9]{20,}\b`, "g") },
|
|
232
|
-
{ name: "slack_token", re: new RegExp(String.raw`${TB}xox[baprseo]-[A-Za-z0-9-]{10,}\b`, "g") },
|
|
233
|
-
{ name: "aws_access_key", re: new RegExp(String.raw`${TB}AKIA[0-9A-Z]{16}\b`, "g") },
|
|
234
|
-
{ name: "google_api_key", re: new RegExp(String.raw`${TB}AIza[A-Za-z0-9_-]{35}\b`, "g") },
|
|
235
|
-
{
|
|
236
|
-
name: "jwt",
|
|
237
|
-
re: new RegExp(String.raw`${TB}eyJ[A-Za-z0-9_-]{10,}\.eyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}\b`, "g")
|
|
238
|
-
},
|
|
239
|
-
{
|
|
240
|
-
name: "signoz_ingestion_key",
|
|
241
|
-
re: new RegExp(String.raw`${TB}signoz-ingestion-key=[A-Za-z0-9._~+/-]{20,}={0,2}\b`, "g")
|
|
242
|
-
},
|
|
243
|
-
{ name: "linear_oauth", re: new RegExp(String.raw`${TB}lin_oauth_[A-Za-z0-9_-]{10,}\b`, "g") },
|
|
244
|
-
{ name: "linear_api", re: new RegExp(String.raw`${TB}lin_api_[A-Za-z0-9_-]{10,}\b`, "g") },
|
|
245
|
-
{ name: "npm_token", re: new RegExp(String.raw`${TB}npm_[A-Za-z0-9_-]{20,}\b`, "g") },
|
|
246
|
-
{
|
|
247
|
-
name: "atlassian_token",
|
|
248
|
-
re: new RegExp(String.raw`${TB}ATATT[A-Za-z0-9_-]{20,}\b`, "g")
|
|
249
|
-
},
|
|
250
|
-
{ name: "mcp_token", re: new RegExp(String.raw`${TB}aswt_[A-Za-z0-9]{20,}\b`, "g") }
|
|
251
|
-
];
|
|
252
|
-
volatileSecrets = new Map;
|
|
253
|
-
registeredSensitiveKeys = new Set;
|
|
254
|
-
});
|
|
255
|
-
|
|
256
|
-
export { isSensitiveKey, scrubSecrets, scrubObject, refreshSecretScrubberCache, registerVolatileSecret, registerSensitiveKeyName, init_secret_scrubber };
|