@desplega.ai/agent-swarm 1.165.0 → 1.167.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-zpvy6321.js +34 -0
- package/dist/{actions-jna0b3wm.js → actions-fq2zrwtf.js} +30 -34
- package/dist/{amp-adapter-0eve81pz.js → amp-adapter-5gbk7501.js} +7 -7
- package/dist/{anthropic-messages-hst62ws9.js → anthropic-messages-13yn502s.js} +4 -4
- package/dist/{app-75hm5cfa.js → app-nctetn1e.js} +11 -11
- package/dist/{assistant-yzd51j33.js → assistant-0aq8gjvj.js} +31 -35
- package/dist/{azure-openai-responses-mh8tvf78.js → azure-openai-responses-9st34pfz.js} +5 -5
- package/dist/{boot-reembed-z158xq32.js → boot-reembed-1ze5853n.js} +14 -16
- package/dist/{boot-reembed-2ex2mcsh.js → boot-reembed-fmp5ww69.js} +15 -16
- package/dist/boot-scrub-sweep-cbp8xd4e.js +212 -0
- package/dist/{boot-seeds-2bmnh18p.js → boot-seeds-22tx8a53.js} +13 -12
- package/dist/{claude-adapter-jbj1mycz.js → claude-adapter-0jhgeh1d.js} +25 -25
- package/dist/{claude-managed-adapter-17ggz09t.js → claude-managed-adapter-tzwxy803.js} +5 -5
- package/dist/{claude-managed-setup-ptm1nzm2.js → claude-managed-setup-nrhfx5b0.js} +5 -5
- package/dist/{claude-sdk-session-9re1g7r2.js → claude-sdk-session-wh77rh83.js} +2632 -2614
- package/dist/{cli-zsh093hk.js → cli-014vns2y.js} +63 -1
- package/dist/{cli-qvfk83fy.js → cli-13xwcqvj.js} +2 -2
- package/dist/{cli-8gpbwy09.js → cli-1yrcfa5s.js} +5 -5
- package/dist/{cli-xtgtyafv.js → cli-577bxkf6.js} +212 -451
- package/dist/{cli-ma3zvh39.js → cli-5qkcdv8c.js} +6118 -5874
- package/dist/{cli-cwxhbf43.js → cli-5t5my0h8.js} +85 -2
- package/dist/{cli-zvckv750.js → cli-69egj654.js} +2 -2
- package/dist/{cli-9xb89xca.js → cli-6bpvv8h4.js} +9 -9
- package/dist/{cli-90v942q1.js → cli-6qxmjpem.js} +8 -8
- package/dist/{cli-9866bd07.js → cli-6vfz44sr.js} +1 -1
- package/dist/{cli-32bca7nr.js → cli-7avy4v8w.js} +1 -1
- package/dist/{cli-xb3c6aat.js → cli-7mhy3ths.js} +21 -18
- package/dist/{cli-q38n4bq0.js → cli-95zs84qw.js} +3 -3
- package/dist/cli-a35hzdve.js +33 -0
- package/dist/{cli-x3x0qwky.js → cli-bxqez1p0.js} +51 -23
- package/dist/{cli-prt9emct.js → cli-c2tpw9ck.js} +3 -3
- package/dist/{cli-0n4fasz0.js → cli-c8r99akr.js} +16 -16
- package/dist/{cli-5anb0ev3.js → cli-cexctgn5.js} +89 -26
- package/dist/{cli-bns5c8k9.js → cli-cf2vgn9d.js} +105 -91
- package/dist/{cli-ng97fjq7.js → cli-cmxkbzzs.js} +33 -7
- package/dist/{cli-nexwh8zg.js → cli-g7k7zbcz.js} +12 -5
- package/dist/{cli-mmzwwptd.js → cli-hf5s9pgf.js} +1 -1
- package/dist/{cli-nvvfd8bq.js → cli-jbzbr36n.js} +4091 -3793
- package/dist/{cli-zn2v3t8v.js → cli-jvmtxqtc.js} +27 -15
- package/dist/{cli-pkke6geq.js → cli-km4x66j0.js} +83 -65
- package/dist/cli-kw0jcfje.js +516 -0
- package/dist/{cli-28smfvbn.js → cli-m7vmeepg.js} +32 -19
- package/dist/{cli-hpryr6em.js → cli-mb75wpxf.js} +1 -1
- package/dist/{cli-qdv8kgz7.js → cli-mkdsy1nq.js} +14018 -3333
- package/dist/{cli-b0f70z24.js → cli-mn8qkd8v.js} +1 -1
- package/dist/{cli-420bdgw0.js → cli-mv2520nm.js} +1 -1
- package/dist/{cli-n9ehc28t.js → cli-mxry91sa.js} +31 -10
- package/dist/{cli-wfajtmf7.js → cli-mxvnnv5q.js} +596 -13
- package/dist/cli-nkqjj42q.js +104 -0
- package/dist/{cli-e7t4snpa.js → cli-p8rt8spp.js} +5 -5
- package/dist/{cli-gh5yqzpe.js → cli-pkj1w46r.js} +12 -7
- package/dist/cli-q1vnz8wv.js +96 -0
- package/dist/{cli-fj86xr3c.js → cli-qd97v6z2.js} +2 -2
- package/dist/{cli-ba66wyhy.js → cli-qzmzwegq.js} +60 -20
- package/dist/{cli-5b2fjjzh.js → cli-r7eeddkq.js} +14 -9
- package/dist/{cli-8ssjez7e.js → cli-rhy7z1rp.js} +22 -11
- package/dist/{cli-4mevd1hf.js → cli-s9y81s7j.js} +5 -5
- package/dist/{cli-59jn5twa.js → cli-tc5zec7v.js} +7 -7
- package/dist/{cli-ttbsse3f.js → cli-tmhsxhb8.js} +1 -1
- package/dist/{cli-k6xx3pve.js → cli-tx2zvn23.js} +4 -4
- package/dist/{cli-pjxnr1jn.js → cli-ty4bzkqr.js} +5 -5
- package/dist/{cli-nfygw434.js → cli-v1pwxreq.js} +55 -52
- package/dist/{cli-ftry7975.js → cli-v1w7pbd8.js} +3 -2
- package/dist/{cli-10zmp1p7.js → cli-vr5avem2.js} +27 -32
- package/dist/{cli-bzr0ftht.js → cli-wnb9b2g3.js} +19 -0
- package/dist/cli-wt7ccy4r.js +2654 -0
- package/dist/{cli-50eg13rj.js → cli-wydz3feg.js} +549 -321
- package/dist/{cli-krqm5f11.js → cli-xezn9nkh.js} +16 -13
- package/dist/{cli-8kt0bmgx.js → cli-xf713zz0.js} +2 -2
- package/dist/{cli-x7afk5wm.js → cli-xvc3q9br.js} +1 -1
- package/dist/{cli-9s3h836g.js → cli-xvdgasgy.js} +1 -1
- package/dist/{cli-j0pdrmwg.js → cli-y0kjpfm9.js} +3 -3
- package/dist/{cli-6zcfw0x7.js → cli-y195hv1a.js} +1 -1
- package/dist/{cli-amwhs8h2.js → cli-ykt8f7va.js} +22 -9
- package/dist/{cli-1kzfvd1z.js → cli-ymmc1zxg.js} +15 -11
- package/dist/{cli-xnzrzets.js → cli-ypgba1a8.js} +2 -2
- package/dist/{cli-bdv39kgj.js → cli-z1dqhc9y.js} +31 -20
- package/dist/{cli-fw6vdcq5.js → cli-zp67qg5x.js} +34 -1
- package/dist/{cli-qbksc292.js → cli-zy39d433.js} +2 -0
- package/dist/cli.js +36 -32
- package/dist/{cloudflare-workers-ai-system-one-tt484t61.js → cloudflare-workers-ai-system-one-sta45jf9.js} +7 -5
- package/dist/{codex-adapter-3qnxshje.js → codex-adapter-cgesnjkr.js} +20 -20
- package/dist/{codex-login-brkxhhdg.js → codex-login-g1cyt5zm.js} +2 -2
- package/dist/{codex-session-runner-612wnapp.js → codex-session-runner-8kd7ddhr.js} +20 -20
- package/dist/{commands-2ybfcxkj.js → commands-h6zaaxym.js} +11 -10
- package/dist/{cursor-adapter-p3jgdehv.js → cursor-adapter-v8mm6bp5.js} +7 -7
- package/dist/{db-f4ans0jj.js → db-qg3myn53.js} +13 -10
- package/dist/{devin-adapter-dhzt01ff.js → devin-adapter-bffjj5n4.js} +2 -2
- package/dist/{dispatcher-pk182apd.js → dispatcher-7vnwj9qw.js} +28 -32
- package/dist/{dsh-adapter-7twaeps1.js → dsh-adapter-tz6hfp5r.js} +7 -7
- package/dist/{e2b-y8t3jzyz.js → e2b-nd50eccg.js} +1 -1
- package/dist/{easter-egg-3d-mtpnw06s.js → easter-egg-3d-66zxervv.js} +2 -2
- package/dist/{event-bus-w7ac4n3c.js → event-bus-vnfthafg.js} +2 -2
- package/dist/{execute-s4ccjq3n.js → execute-h4jgevyw.js} +61 -11
- package/dist/{google-generative-ai-d6nphg3q.js → google-generative-ai-b8zxrpax.js} +5 -5
- package/dist/{google-vertex-cpshkref.js → google-vertex-nrdd697t.js} +5 -5
- package/dist/grok-adapter-jdt2dz2s.js +39 -0
- package/dist/{handlers-g2wnr4t9.js → handlers-2qtkpncr.js} +31 -35
- package/dist/{hook-f7jt9vnm.js → hook-51yfcgsv.js} +48 -39
- package/dist/{hook-bbdpnkb4.js → hook-qnbdgwvd.js} +15 -17
- package/dist/{http-w40q4w94.js → http-jsmtag08.js} +536 -231
- package/dist/{index-056j5kzn.js → index-2t9kesn1.js} +13 -12
- package/dist/{index-cj1r9q83.js → index-bt8wkv1w.js} +29 -33
- package/dist/{index-7n70jwbb.js → index-cx1sb9bq.js} +42 -35
- package/dist/{index-9bfssf54.js → index-ekywyv2v.js} +28 -32
- package/dist/{index-fdk1t4d6.js → index-n0rxa4ca.js} +11962 -9900
- package/dist/{index-k8xc083e.js → index-t4g06w93.js} +28 -32
- package/dist/{keepalive-1tj10tf4.js → keepalive-4aezx4bj.js} +16 -12
- package/dist/{lead-st0bg7v4.js → lead-r44bkpm5.js} +52 -56
- package/dist/{llama-cpp-classify-tgj35k8d.js → llama-cpp-classify-6erb7wwv.js} +3 -1
- package/dist/{maintenance-nz71zats.js → maintenance-grz5jrzh.js} +12 -13
- package/dist/{mistral-conversations-8445ddjn.js → mistral-conversations-059y51zt.js} +4 -4
- package/dist/{node-f0ykebbv.js → node-qm9eb6z0.js} +25 -7
- package/dist/{oauth-refresh-sweep-aefzwvvq.js → oauth-refresh-sweep-wm4ctjfj.js} +15 -11
- package/dist/{onboard-kgpr9mbn.js → onboard-v60zgqf0.js} +2 -2
- package/dist/{openai-codex-responses-9ynm88zy.js → openai-codex-responses-jzxkta9b.js} +8 -7
- package/dist/{openai-completions-nhqwjmaw.js → openai-completions-663yncfq.js} +4 -4
- package/dist/openai-decisions-vj9nkpf8.js +162 -0
- package/dist/{openai-responses-xx1c4kgm.js → openai-responses-m3g43rrt.js} +5 -5
- package/dist/{opencode-adapter-0c8e70dk.js → opencode-adapter-yjyqynzf.js} +8 -8
- package/dist/{openrouter-images-8yx3487g.js → openrouter-images-kr60n6b9.js} +1 -1
- package/dist/{otel-impl-x8zp4y5a.js → otel-impl-ghh4dyf8.js} +2 -2
- package/dist/{pi-messages-vxdt8v7j.js → pi-messages-xszk613n.js} +1 -1
- package/dist/{pi-mono-adapter-t280ah5c.js → pi-mono-adapter-0eg8kw2c.js} +69 -52
- package/dist/{pricing-refresh-9e0q7cwk.js → pricing-refresh-mjrqvnvw.js} +12 -11
- package/dist/{rbac-roles-790j3ga8.js → rbac-roles-axv4d74x.js} +11 -10
- package/dist/{rbac-roles-kcp6zge2.js → rbac-roles-fd5tskj9.js} +11 -10
- package/dist/{render-v2-tch4nefj.js → render-v2-k50j33qd.js} +11 -11
- package/dist/{runtime-v2t1r79e.js → runtime-h9ha1mq6.js} +4 -4
- package/dist/{setup-rcm303ns.js → setup-4syh0pd2.js} +2 -2
- package/dist/{typesafe-system-one-datfr82p.js → typesafe-system-one-e988vty7.js} +7 -5
- package/dist/{virtual-modules-wm8mxdxx.js → virtual-modules-ftr9kwe8.js} +11 -11
- package/dist/{work-objects-ctg7t70w.js → work-objects-jcdbg8rr.js} +32 -36
- package/dist/{worker-5dp0xm55.js → worker-x8j8c9sx.js} +52 -56
- package/dist/{x-v3yw66zs.js → x-ma4gnfgy.js} +2 -2
- package/openapi.json +5 -2
- package/package.json +15 -11
- package/src/be/automation-preflight.ts +9 -4
- package/src/be/boot-scrub-sweep.ts +302 -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/openai-embedding.ts +7 -2
- package/src/be/memory/providers/sqlite-store.ts +63 -11
- package/src/be/memory/raters/llm-summarizer.ts +7 -2
- package/src/be/memory/types.ts +14 -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/modelsdev-cache.json +61 -0
- package/src/be/scripts/db.ts +28 -4
- package/src/be/scripts/source-secrets.ts +37 -0
- 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 +84 -53
- package/src/be/swarm-config-guard.ts +13 -0
- package/src/be/workflow-replay.ts +77 -0
- package/src/commands/provider-credentials.ts +28 -5
- package/src/commands/runner.ts +7 -12
- package/src/heartbeat/heartbeat.ts +91 -19
- package/src/hooks/hook.ts +72 -27
- package/src/http/codex-oauth-device.ts +8 -10
- 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/index.ts +23 -6
- package/src/http/mcp.ts +5 -0
- package/src/http/onboarding.ts +2 -0
- package/src/http/script-runs.ts +9 -1
- package/src/http/scripts.ts +15 -0
- package/src/http/workflows.ts +3 -2
- package/src/oauth/mcp-wrapper.ts +1 -1
- package/src/providers/acp-adapter.ts +25 -11
- package/src/providers/acp-target-catalog.ts +35 -1
- package/src/providers/acp-targets.ts +78 -7
- package/src/providers/amp-adapter.ts +1 -1
- package/src/providers/claude-adapter.ts +26 -0
- package/src/providers/codex-adapter.ts +30 -3
- package/src/providers/codex-oauth/auth-json.ts +21 -4
- package/src/providers/codex-oauth/types.ts +2 -0
- package/src/providers/cursor-adapter.ts +1 -1
- package/src/providers/dsh-adapter.ts +10 -1
- package/src/providers/grok-adapter.ts +18 -2
- package/src/providers/opencode-adapter.ts +21 -5
- package/src/providers/pi-mono-extension.ts +56 -25
- package/src/providers/pricing-sources.md +2 -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/server.ts +66 -4
- package/src/tests/acp-adapter.test.ts +277 -12
- package/src/tests/boot-scrub-sweep.test.ts +390 -0
- package/src/tests/check-text-columns.test.ts +145 -0
- package/src/tests/ci-unit-test-report.test.ts +73 -0
- package/src/tests/claude-default-route.test.ts +75 -0
- package/src/tests/claude-hook-output.test.ts +233 -0
- package/src/tests/claude-sdk-process.fixture.ts +13 -2
- package/src/tests/codex-adapter-pool-auth-revalidate.test.ts +4 -2
- package/src/tests/codex-adapter.test.ts +166 -26
- package/src/tests/codex-oauth-auth-timestamps.test.ts +76 -0
- package/src/tests/codex-oauth-device.test.ts +23 -37
- package/src/tests/codex-oauth.test.ts +4 -1
- package/src/tests/context-window.test.ts +2 -2
- package/src/tests/credential-check.test.ts +51 -1
- 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/dsh-adapter.test.ts +23 -1
- package/src/tests/enabled-tools.test.ts +269 -0
- package/src/tests/entrypoint-acp-target-binary.test.ts +31 -1
- package/src/tests/entrypoint-codex-oauth-seed.test.ts +12 -0
- package/src/tests/events-scrub.test.ts +88 -0
- package/src/tests/fixtures/secret-corpus.ts +320 -0
- package/src/tests/grok-adapter.test.ts +13 -0
- package/src/tests/haiku-5-5-pricing.test.ts +38 -0
- package/src/tests/heartbeat-checklist.test.ts +158 -1
- package/src/tests/onboarding.test.ts +44 -0
- package/src/tests/opencode-adapter.test.ts +66 -3
- package/src/tests/opencode-plugin.test.ts +37 -0
- package/src/tests/openrouter-attribution-call-sites.test.ts +204 -0
- package/src/tests/openrouter-base-url.test.ts +30 -39
- package/src/tests/pi-mono-extension.test.ts +161 -2
- package/src/tests/pricing-refresh.test.ts +70 -1
- package/src/tests/reasoning-effort.test.ts +3 -1
- package/src/tests/script-connections.test.ts +5 -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 +88 -1
- package/src/tests/script-runs-scrub.test.ts +275 -0
- package/src/tests/scripts-http.test.ts +82 -1
- 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 +3 -2
- package/src/tests/telemetry-trigger.test.ts +12 -1
- package/src/tests/workflow-llm.test.ts +14 -0
- 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 +33 -0
- package/src/tools/db-query.ts +1 -1
- package/src/tools/inject-learning.ts +1 -1
- package/src/tools/request-human-input.ts +7 -2
- package/src/tools/workflows/get-workflow-run.ts +3 -2
- package/src/types.ts +1 -1
- package/src/utils/enabled-tools.ts +27 -0
- package/src/utils/internal-ai/complete-structured.ts +11 -3
- package/src/utils/openrouter-base-url.ts +23 -0
- package/src/utils/secret-rules.generated.ts +2055 -0
- package/src/utils/secret-scrubber.ts +363 -29
- package/src/workflows/engine.ts +39 -4
- package/src/workflows/executors/raw-llm.ts +1 -0
- package/src/workflows/executors/system-one-decision.ts +2 -0
- package/src/workflows/executors/validate.ts +1 -0
- package/src/workflows/executors/workflow-llm.ts +9 -2
- package/src/workflows/recovery.ts +10 -1
- package/src/workflows/resume.ts +62 -3
- package/src/workflows/retry-poller.ts +3 -0
- package/templates/skills/agent-browser/SKILL.md +2 -0
- package/templates/skills/agent-browser/content.md +2 -0
- package/templates/skills/code-quality/content.md +1 -0
- package/templates/skills/heartbeat-runbook/content.md +1 -1
- package/templates/skills/work-on-task/SKILL.md +4 -0
- package/templates/skills/work-on-task/content.md +4 -0
- package/templates/skills/workflow-iterate/content.md +9 -0
- package/dist/acp-adapter-w6zws6me.js +0 -23
- package/dist/boot-scrub-logs-246yn076.js +0 -99
- package/dist/cli-3a4m1aws.js +0 -572
- package/dist/cli-3dpj7atn.js +0 -11
- package/dist/cli-a87b04k8.js +0 -951
- package/dist/cli-cvk6yzw5.js +0 -40
- package/dist/cli-gvcgmx69.js +0 -183
- package/dist/cli-h1spv8v4.js +0 -427
- package/dist/cli-jqt9hrnz.js +0 -168
- package/dist/cli-yhmwmv0g.js +0 -9281
- package/dist/grok-adapter-yt9pab3k.js +0 -29
- package/src/be/boot-scrub-logs.ts +0 -132
- package/dist/{codex-hook-d2rkvf39.js → codex-hook-15dgc4cb.js} +1 -1
|
@@ -4,76 +4,82 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
getApiKey
|
|
6
6
|
} from "./cli-f14fvzag.js";
|
|
7
|
+
import {
|
|
8
|
+
DEFAULT_MODEL,
|
|
9
|
+
resolveCredential
|
|
10
|
+
} from "./cli-7mhy3ths.js";
|
|
7
11
|
import {
|
|
8
12
|
detachedProcessGroup,
|
|
9
13
|
registerProcessGroup,
|
|
10
14
|
terminateProcessGroup
|
|
11
15
|
} from "./cli-zt3w1cn1.js";
|
|
12
|
-
import {
|
|
13
|
-
DEFAULT_MODEL,
|
|
14
|
-
resolveCredential
|
|
15
|
-
} from "./cli-xb3c6aat.js";
|
|
16
|
-
import {
|
|
17
|
-
DEFAULT_OPENROUTER_BASE_URL,
|
|
18
|
-
getOpenRouterBaseUrl
|
|
19
|
-
} from "./cli-3dpj7atn.js";
|
|
20
|
-
import {
|
|
21
|
-
embedScript
|
|
22
|
-
} from "./cli-jqt9hrnz.js";
|
|
23
16
|
import {
|
|
24
17
|
calculatePKCECodeChallenge,
|
|
25
18
|
ensureAuthorizationTokenOrThrow,
|
|
26
19
|
generateRandomCodeVerifier,
|
|
27
20
|
generateRandomState,
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
getOAuthAppById,
|
|
31
|
-
oauthAppRowToProviderConfig,
|
|
32
|
-
updateAuthorizationTokens,
|
|
33
|
-
upsertAuthorization
|
|
34
|
-
} from "./cli-a87b04k8.js";
|
|
21
|
+
oauthAppRowToProviderConfig
|
|
22
|
+
} from "./cli-kw0jcfje.js";
|
|
35
23
|
import {
|
|
36
24
|
getSlackApp
|
|
37
|
-
} from "./cli-
|
|
25
|
+
} from "./cli-c8r99akr.js";
|
|
38
26
|
import {
|
|
39
27
|
CredentialBroker,
|
|
40
28
|
DEFAULT_CREDENTIAL_BINDINGS,
|
|
41
29
|
claimApprovalCancellationNotification,
|
|
42
30
|
completeApprovalCancellationNotificationClaim,
|
|
43
|
-
computeContentHash,
|
|
44
31
|
createTaskExtended,
|
|
45
32
|
decryptSecret,
|
|
46
33
|
encryptSecret,
|
|
34
|
+
getAuthorizationById,
|
|
47
35
|
getDb,
|
|
48
36
|
getDbClient,
|
|
49
37
|
getEncryptionKey,
|
|
50
38
|
getLeadAgent,
|
|
51
39
|
getMcpServerById,
|
|
40
|
+
getOAuthApp,
|
|
41
|
+
getOAuthAppById,
|
|
52
42
|
getResolvedConfig,
|
|
43
|
+
getScriptById,
|
|
53
44
|
getTaskById,
|
|
54
45
|
init_credential_broker,
|
|
55
46
|
init_crypto,
|
|
56
47
|
init_date_utils,
|
|
57
48
|
init_db,
|
|
49
|
+
init_db1 as init_db2,
|
|
50
|
+
init_oauth,
|
|
51
|
+
init_secret_registry,
|
|
58
52
|
normalizeDateRequired,
|
|
53
|
+
oauthSecretName,
|
|
59
54
|
placeholderForConfigKey,
|
|
55
|
+
registerStoredSecret,
|
|
60
56
|
releaseApprovalCancellationNotificationClaim,
|
|
57
|
+
restoreScratchScriptLastUsedIfUnchanged,
|
|
58
|
+
touchScratchScriptLastUsed,
|
|
59
|
+
updateAuthorizationTokens,
|
|
60
|
+
upsertAuthorization,
|
|
61
61
|
upsertSwarmConfig
|
|
62
|
-
} from "./cli-
|
|
62
|
+
} from "./cli-mkdsy1nq.js";
|
|
63
63
|
import {
|
|
64
64
|
TERMINAL_TASK_STATUSES,
|
|
65
65
|
defaultAssetKey,
|
|
66
66
|
init_key,
|
|
67
67
|
init_types
|
|
68
|
-
} from "./cli-
|
|
69
|
-
import {
|
|
70
|
-
getAppUrl,
|
|
71
|
-
init_constants
|
|
72
|
-
} from "./cli-gd4favx9.js";
|
|
68
|
+
} from "./cli-xvdgasgy.js";
|
|
73
69
|
import {
|
|
74
70
|
init_resolver,
|
|
75
71
|
resolveTemplate
|
|
76
72
|
} from "./cli-5c2j5yvx.js";
|
|
73
|
+
import {
|
|
74
|
+
DEFAULT_OPENROUTER_BASE_URL,
|
|
75
|
+
getOpenRouterAttributionHeaders,
|
|
76
|
+
getOpenRouterBaseUrl,
|
|
77
|
+
init_openrouter_base_url
|
|
78
|
+
} from "./cli-a35hzdve.js";
|
|
79
|
+
import {
|
|
80
|
+
getAppUrl,
|
|
81
|
+
init_constants
|
|
82
|
+
} from "./cli-gd4favx9.js";
|
|
77
83
|
import {
|
|
78
84
|
init_env_flag,
|
|
79
85
|
isEnvFlagEnabled
|
|
@@ -102,7 +108,7 @@ import {
|
|
|
102
108
|
registerVolatileSecret,
|
|
103
109
|
scrubObject,
|
|
104
110
|
scrubSecrets
|
|
105
|
-
} from "./cli-
|
|
111
|
+
} from "./cli-wt7ccy4r.js";
|
|
106
112
|
import {
|
|
107
113
|
__commonJS,
|
|
108
114
|
__require,
|
|
@@ -175203,6 +175209,7 @@ Additional information: BADCLIENT: Bad error code, ${badCode} not found in range
|
|
|
175203
175209
|
|
|
175204
175210
|
// src/workflows/executors/system-one-decision.ts
|
|
175205
175211
|
init_zod();
|
|
175212
|
+
init_openrouter_base_url();
|
|
175206
175213
|
init_secret_scrubber();
|
|
175207
175214
|
|
|
175208
175215
|
// src/workflows/executors/base.ts
|
|
@@ -175254,7 +175261,7 @@ init_constants();
|
|
|
175254
175261
|
init_secret_scrubber();
|
|
175255
175262
|
|
|
175256
175263
|
// src/workflows/approval-notifications.ts
|
|
175257
|
-
|
|
175264
|
+
init_db2();
|
|
175258
175265
|
init_resolver();
|
|
175259
175266
|
init_types();
|
|
175260
175267
|
init_secret_scrubber();
|
|
@@ -175590,7 +175597,7 @@ class HumanInTheLoopExecutor extends BaseExecutor {
|
|
|
175590
175597
|
}
|
|
175591
175598
|
if (notification.channel === "slack") {
|
|
175592
175599
|
try {
|
|
175593
|
-
const { getSlackApp: getSlackApp2 } = await import("./app-
|
|
175600
|
+
const { getSlackApp: getSlackApp2 } = await import("./app-nctetn1e.js");
|
|
175594
175601
|
const slackApp = getSlackApp2();
|
|
175595
175602
|
if (!slackApp) {
|
|
175596
175603
|
console.warn("[HITL] Slack not initialized — cannot send notification");
|
|
@@ -175677,6 +175684,9 @@ function formatTimeout(seconds) {
|
|
|
175677
175684
|
return mins > 0 ? `${hours}h ${mins}m` : `${hours}h`;
|
|
175678
175685
|
}
|
|
175679
175686
|
|
|
175687
|
+
// src/workflows/executors/system-one-providers.ts
|
|
175688
|
+
init_openrouter_base_url();
|
|
175689
|
+
|
|
175680
175690
|
// src/workflows/executors/system-one-wire.ts
|
|
175681
175691
|
class SystemOneWireError extends Error {
|
|
175682
175692
|
}
|
|
@@ -175852,6 +175862,7 @@ var OPENAI_DECISIONS_WIRE = {
|
|
|
175852
175862
|
};
|
|
175853
175863
|
|
|
175854
175864
|
// src/workflows/executors/workflow-llm.ts
|
|
175865
|
+
init_openrouter_base_url();
|
|
175855
175866
|
async function resolveWorkflowLlmConfig(requestedModel, env = process.env, options = {}) {
|
|
175856
175867
|
const credential = await resolveCredential({ env });
|
|
175857
175868
|
if (!credential) {
|
|
@@ -175865,9 +175876,11 @@ async function resolveWorkflowLlmConfig(requestedModel, env = process.env, optio
|
|
|
175865
175876
|
}
|
|
175866
175877
|
const providerPrefix = `${credential.kind}/`;
|
|
175867
175878
|
const model = requestedModel ?? DEFAULT_MODEL[credential.kind];
|
|
175879
|
+
const baseURL = credential.kind === "openrouter" ? getOpenRouterBaseUrl(env) : undefined;
|
|
175868
175880
|
return {
|
|
175869
175881
|
apiKey: credential.apiKey,
|
|
175870
|
-
baseURL
|
|
175882
|
+
baseURL,
|
|
175883
|
+
headers: baseURL ? getOpenRouterAttributionHeaders(baseURL, env) : {},
|
|
175871
175884
|
model: model.startsWith(providerPrefix) ? model.slice(providerPrefix.length) : model
|
|
175872
175885
|
};
|
|
175873
175886
|
}
|
|
@@ -176822,6 +176835,7 @@ class SystemOneDecisionExecutor extends BaseExecutor {
|
|
|
176822
176835
|
res = await doFetch(endpoint, {
|
|
176823
176836
|
method: "POST",
|
|
176824
176837
|
headers: {
|
|
176838
|
+
...getOpenRouterAttributionHeaders(endpoint, this.providerContext().env),
|
|
176825
176839
|
"content-type": "application/json",
|
|
176826
176840
|
accept: "application/json",
|
|
176827
176841
|
authorization: `Bearer ${apiKey}`
|
|
@@ -177233,7 +177247,8 @@ function applyDefinitionPatch(def, patch) {
|
|
|
177233
177247
|
|
|
177234
177248
|
// src/be/script-connections.ts
|
|
177235
177249
|
init_zod();
|
|
177236
|
-
|
|
177250
|
+
init_db2();
|
|
177251
|
+
init_oauth();
|
|
177237
177252
|
|
|
177238
177253
|
// src/oauth/mcp-wrapper.ts
|
|
177239
177254
|
init_env_flag();
|
|
@@ -177602,13 +177617,15 @@ init_credential_broker();
|
|
|
177602
177617
|
init_secret_scrubber();
|
|
177603
177618
|
|
|
177604
177619
|
// src/be/mcp-proxy.ts
|
|
177605
|
-
|
|
177620
|
+
init_db2();
|
|
177606
177621
|
|
|
177607
177622
|
// src/be/db-queries/mcp-oauth.ts
|
|
177608
177623
|
init_secret_scrubber();
|
|
177609
177624
|
init_crypto();
|
|
177610
177625
|
init_date_utils();
|
|
177611
|
-
|
|
177626
|
+
init_db2();
|
|
177627
|
+
init_secret_registry();
|
|
177628
|
+
init_oauth();
|
|
177612
177629
|
function parseObject(value) {
|
|
177613
177630
|
try {
|
|
177614
177631
|
const parsed = JSON.parse(value || "{}");
|
|
@@ -177695,6 +177712,7 @@ async function upsertMcpApp(input) {
|
|
|
177695
177712
|
invalidated: false
|
|
177696
177713
|
});
|
|
177697
177714
|
const encryptedClientSecret = input.dcrClientSecret == null || input.dcrClientSecret === "" ? existing?.clientSecret ?? null : encryptSecret(input.dcrClientSecret, getEncryptionKey());
|
|
177715
|
+
registerStoredSecret(input.dcrClientSecret, oauthSecretName(`mcp-${input.mcpServerId}`, "client_secret"));
|
|
177698
177716
|
const source = "dcr";
|
|
177699
177717
|
if (existing) {
|
|
177700
177718
|
await getDbClient().run(`UPDATE oauth_apps SET
|
|
@@ -179557,9 +179575,10 @@ ${members.join(`
|
|
|
179557
179575
|
// src/be/script-credential-broker.ts
|
|
179558
179576
|
init_credential_broker();
|
|
179559
179577
|
init_secret_scrubber();
|
|
179560
|
-
|
|
179578
|
+
init_db2();
|
|
179561
179579
|
|
|
179562
179580
|
// src/be/oauth-credential-bindings.ts
|
|
179581
|
+
init_oauth();
|
|
179563
179582
|
var OAUTH_BINDING_REFRESH_BUFFER_MS = 5 * 60 * 1000;
|
|
179564
179583
|
function oauthAppToProviderConfig(app) {
|
|
179565
179584
|
return oauthAppRowToProviderConfig(app);
|
|
@@ -179622,419 +179641,6 @@ async function buildScriptCredentialBindings(input) {
|
|
|
179622
179641
|
return (await buildScriptCredentialBindingsWithFailures(input)).egressSecrets;
|
|
179623
179642
|
}
|
|
179624
179643
|
|
|
179625
|
-
// src/be/scripts/db.ts
|
|
179626
|
-
init_key();
|
|
179627
|
-
init_secret_scrubber();
|
|
179628
|
-
|
|
179629
|
-
// src/utils/short-id.ts
|
|
179630
|
-
import { randomBytes } from "node:crypto";
|
|
179631
|
-
var LETTERS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
179632
|
-
var BASE62 = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
179633
|
-
function generateShortId(len = 12) {
|
|
179634
|
-
let out = "";
|
|
179635
|
-
while (out.length < len) {
|
|
179636
|
-
for (const byte of randomBytes((len - out.length) * 2)) {
|
|
179637
|
-
if (byte < 208) {
|
|
179638
|
-
out += LETTERS[byte % 52];
|
|
179639
|
-
if (out.length === len)
|
|
179640
|
-
break;
|
|
179641
|
-
}
|
|
179642
|
-
}
|
|
179643
|
-
}
|
|
179644
|
-
return out;
|
|
179645
|
-
}
|
|
179646
|
-
function base62(bytes) {
|
|
179647
|
-
let out = "";
|
|
179648
|
-
for (const byte of bytes)
|
|
179649
|
-
out += BASE62[byte % 62];
|
|
179650
|
-
return out;
|
|
179651
|
-
}
|
|
179652
|
-
function generateBearerToken() {
|
|
179653
|
-
return `xsk_${base62(randomBytes(24))}`;
|
|
179654
|
-
}
|
|
179655
|
-
|
|
179656
|
-
// src/be/scripts/db.ts
|
|
179657
|
-
init_crypto();
|
|
179658
|
-
init_db();
|
|
179659
|
-
function normalizeScopeId(scope, scopeId) {
|
|
179660
|
-
if (scope === "global")
|
|
179661
|
-
return null;
|
|
179662
|
-
if (!scopeId) {
|
|
179663
|
-
throw new Error("scopeId is required for agent-scoped scripts");
|
|
179664
|
-
}
|
|
179665
|
-
return scopeId;
|
|
179666
|
-
}
|
|
179667
|
-
function rowToScript(row) {
|
|
179668
|
-
return {
|
|
179669
|
-
...row,
|
|
179670
|
-
scopeId: row.scopeId ?? null,
|
|
179671
|
-
isScratch: row.isScratch === 1,
|
|
179672
|
-
typeChecked: row.typeChecked === 1,
|
|
179673
|
-
createdByAgentId: row.createdByAgentId ?? null
|
|
179674
|
-
};
|
|
179675
|
-
}
|
|
179676
|
-
function rowToScriptVersion(row) {
|
|
179677
|
-
return {
|
|
179678
|
-
...row,
|
|
179679
|
-
changedByAgentId: row.changedByAgentId ?? null,
|
|
179680
|
-
changeReason: row.changeReason ?? null
|
|
179681
|
-
};
|
|
179682
|
-
}
|
|
179683
|
-
async function insertScriptVersion(args) {
|
|
179684
|
-
await getDbClient().run(`INSERT INTO script_versions (
|
|
179685
|
-
id, scriptId, version, source, description, intent, signatureJson,
|
|
179686
|
-
contentHash, changedByAgentId, changedAt, changeReason
|
|
179687
|
-
)
|
|
179688
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, [
|
|
179689
|
-
crypto.randomUUID(),
|
|
179690
|
-
args.scriptId,
|
|
179691
|
-
args.version,
|
|
179692
|
-
args.source,
|
|
179693
|
-
args.description,
|
|
179694
|
-
args.intent,
|
|
179695
|
-
args.signatureJson,
|
|
179696
|
-
args.contentHash,
|
|
179697
|
-
args.changedByAgentId ?? null,
|
|
179698
|
-
new Date().toISOString(),
|
|
179699
|
-
args.changeReason ?? null
|
|
179700
|
-
]);
|
|
179701
|
-
}
|
|
179702
|
-
async function insertScript(args) {
|
|
179703
|
-
const now = new Date().toISOString();
|
|
179704
|
-
const id = crypto.randomUUID();
|
|
179705
|
-
const scopeId = normalizeScopeId(args.scope, args.scopeId);
|
|
179706
|
-
const contentHash = computeContentHash(args.source);
|
|
179707
|
-
const fsMode = args.fsMode ?? "none";
|
|
179708
|
-
const isScratch = args.isScratch ? 1 : 0;
|
|
179709
|
-
const typeChecked = args.typeChecked ? 1 : 0;
|
|
179710
|
-
return await getDbClient().transaction(async (tx) => {
|
|
179711
|
-
const row = await tx.get(`INSERT INTO scripts (
|
|
179712
|
-
id, "key", name, scope, scopeId, source, description, intent, signatureJson,
|
|
179713
|
-
argsJsonSchema, contentHash, isScratch, typeChecked, fsMode, createdByAgentId, createdAt, updatedAt,
|
|
179714
|
-
created_by, updated_by
|
|
179715
|
-
)
|
|
179716
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
179717
|
-
RETURNING *`, [
|
|
179718
|
-
id,
|
|
179719
|
-
defaultAssetKey("script", id),
|
|
179720
|
-
args.name,
|
|
179721
|
-
args.scope,
|
|
179722
|
-
scopeId,
|
|
179723
|
-
args.source,
|
|
179724
|
-
args.description,
|
|
179725
|
-
args.intent,
|
|
179726
|
-
args.signatureJson,
|
|
179727
|
-
args.argsJsonSchema ?? null,
|
|
179728
|
-
contentHash,
|
|
179729
|
-
isScratch,
|
|
179730
|
-
typeChecked,
|
|
179731
|
-
fsMode,
|
|
179732
|
-
args.agentId ?? null,
|
|
179733
|
-
now,
|
|
179734
|
-
now,
|
|
179735
|
-
args.createdBy ?? null,
|
|
179736
|
-
args.createdBy ?? null
|
|
179737
|
-
]);
|
|
179738
|
-
if (!row)
|
|
179739
|
-
throw new Error("Failed to insert script");
|
|
179740
|
-
await insertScriptVersion({
|
|
179741
|
-
scriptId: row.id,
|
|
179742
|
-
version: row.version,
|
|
179743
|
-
source: row.source,
|
|
179744
|
-
description: row.description,
|
|
179745
|
-
intent: row.intent,
|
|
179746
|
-
signatureJson: row.signatureJson,
|
|
179747
|
-
contentHash: row.contentHash,
|
|
179748
|
-
changedByAgentId: args.agentId ?? null,
|
|
179749
|
-
changeReason: args.changeReason ?? "Initial creation"
|
|
179750
|
-
});
|
|
179751
|
-
return rowToScript(row);
|
|
179752
|
-
});
|
|
179753
|
-
}
|
|
179754
|
-
async function upsertScriptByName(args) {
|
|
179755
|
-
const shouldEmbed = args.embeddingMode !== "skip";
|
|
179756
|
-
const existing = await getScript(args);
|
|
179757
|
-
if (!existing) {
|
|
179758
|
-
const script2 = await insertScript(args);
|
|
179759
|
-
if (!script2.isScratch && shouldEmbed) {
|
|
179760
|
-
await embedScript(script2);
|
|
179761
|
-
}
|
|
179762
|
-
return {
|
|
179763
|
-
script: script2,
|
|
179764
|
-
isNew: true,
|
|
179765
|
-
contentDeduped: false
|
|
179766
|
-
};
|
|
179767
|
-
}
|
|
179768
|
-
const contentHash = computeContentHash(args.source);
|
|
179769
|
-
if (existing.contentHash === contentHash) {
|
|
179770
|
-
const fsMode2 = args.fsMode ?? existing.fsMode;
|
|
179771
|
-
const isScratch2 = args.isScratch ?? existing.isScratch;
|
|
179772
|
-
const typeChecked2 = args.typeChecked ?? existing.typeChecked;
|
|
179773
|
-
const argsJsonSchema2 = args.argsJsonSchema !== undefined ? args.argsJsonSchema : existing.argsJsonSchema;
|
|
179774
|
-
const trackedMetadataChanged = args.description !== existing.description || args.intent !== existing.intent || args.signatureJson !== existing.signatureJson || argsJsonSchema2 !== existing.argsJsonSchema;
|
|
179775
|
-
const promotedFromScratch = existing.isScratch && !isScratch2;
|
|
179776
|
-
const refreshScratchLastUsed = existing.scope === "agent" && existing.name.startsWith("scratch-") && existing.isScratch && isScratch2;
|
|
179777
|
-
if (fsMode2 !== existing.fsMode || isScratch2 !== existing.isScratch || typeChecked2 !== existing.typeChecked || trackedMetadataChanged || refreshScratchLastUsed) {
|
|
179778
|
-
const row = await getDbClient().get(`UPDATE scripts
|
|
179779
|
-
SET description = ?, intent = ?, signatureJson = ?, argsJsonSchema = ?,
|
|
179780
|
-
isScratch = ?, typeChecked = ?, fsMode = ?, updatedAt = ?, updated_by = ?
|
|
179781
|
-
WHERE id = ?
|
|
179782
|
-
RETURNING *`, [
|
|
179783
|
-
args.description,
|
|
179784
|
-
args.intent,
|
|
179785
|
-
args.signatureJson,
|
|
179786
|
-
argsJsonSchema2 ?? null,
|
|
179787
|
-
isScratch2 ? 1 : 0,
|
|
179788
|
-
typeChecked2 ? 1 : 0,
|
|
179789
|
-
fsMode2,
|
|
179790
|
-
new Date().toISOString(),
|
|
179791
|
-
args.createdBy ?? null,
|
|
179792
|
-
existing.id
|
|
179793
|
-
]);
|
|
179794
|
-
if (!row)
|
|
179795
|
-
throw new Error("Failed to update script metadata");
|
|
179796
|
-
const script2 = rowToScript(row);
|
|
179797
|
-
if (!script2.isScratch && shouldEmbed && (trackedMetadataChanged || promotedFromScratch)) {
|
|
179798
|
-
await embedScript(script2);
|
|
179799
|
-
}
|
|
179800
|
-
return {
|
|
179801
|
-
script: script2,
|
|
179802
|
-
isNew: false,
|
|
179803
|
-
contentDeduped: true
|
|
179804
|
-
};
|
|
179805
|
-
}
|
|
179806
|
-
return {
|
|
179807
|
-
script: existing,
|
|
179808
|
-
isNew: false,
|
|
179809
|
-
contentDeduped: true
|
|
179810
|
-
};
|
|
179811
|
-
}
|
|
179812
|
-
const now = new Date().toISOString();
|
|
179813
|
-
const newVersion = existing.version + 1;
|
|
179814
|
-
const fsMode = args.fsMode ?? existing.fsMode;
|
|
179815
|
-
const isScratch = args.isScratch ?? existing.isScratch;
|
|
179816
|
-
const typeChecked = args.typeChecked ?? existing.typeChecked;
|
|
179817
|
-
const argsJsonSchema = args.argsJsonSchema !== undefined ? args.argsJsonSchema : existing.argsJsonSchema;
|
|
179818
|
-
const script = await getDbClient().transaction(async (tx) => {
|
|
179819
|
-
const row = await tx.get(`UPDATE scripts
|
|
179820
|
-
SET source = ?, description = ?, intent = ?, signatureJson = ?, argsJsonSchema = ?,
|
|
179821
|
-
contentHash = ?, version = ?, isScratch = ?, typeChecked = ?, fsMode = ?, updatedAt = ?, updated_by = ?
|
|
179822
|
-
WHERE id = ?
|
|
179823
|
-
RETURNING *`, [
|
|
179824
|
-
args.source,
|
|
179825
|
-
args.description,
|
|
179826
|
-
args.intent,
|
|
179827
|
-
args.signatureJson,
|
|
179828
|
-
argsJsonSchema ?? null,
|
|
179829
|
-
contentHash,
|
|
179830
|
-
newVersion,
|
|
179831
|
-
isScratch ? 1 : 0,
|
|
179832
|
-
typeChecked ? 1 : 0,
|
|
179833
|
-
fsMode,
|
|
179834
|
-
now,
|
|
179835
|
-
args.createdBy ?? null,
|
|
179836
|
-
existing.id
|
|
179837
|
-
]);
|
|
179838
|
-
if (!row)
|
|
179839
|
-
throw new Error("Failed to update script");
|
|
179840
|
-
await insertScriptVersion({
|
|
179841
|
-
scriptId: row.id,
|
|
179842
|
-
version: row.version,
|
|
179843
|
-
source: row.source,
|
|
179844
|
-
description: row.description,
|
|
179845
|
-
intent: row.intent,
|
|
179846
|
-
signatureJson: row.signatureJson,
|
|
179847
|
-
contentHash: row.contentHash,
|
|
179848
|
-
changedByAgentId: args.agentId ?? null,
|
|
179849
|
-
changeReason: args.changeReason ?? null
|
|
179850
|
-
});
|
|
179851
|
-
return rowToScript(row);
|
|
179852
|
-
});
|
|
179853
|
-
if (!script.isScratch && shouldEmbed) {
|
|
179854
|
-
await embedScript(script);
|
|
179855
|
-
}
|
|
179856
|
-
return {
|
|
179857
|
-
script,
|
|
179858
|
-
isNew: false,
|
|
179859
|
-
contentDeduped: false
|
|
179860
|
-
};
|
|
179861
|
-
}
|
|
179862
|
-
async function getScript(args) {
|
|
179863
|
-
const scopeId = normalizeScopeId(args.scope, args.scopeId);
|
|
179864
|
-
const row = scopeId === null ? await getDbClient().get("SELECT * FROM scripts WHERE name = ? AND scope = ? AND scopeId IS NULL", [args.name, args.scope]) : await getDbClient().get("SELECT * FROM scripts WHERE name = ? AND scope = ? AND scopeId = ?", [args.name, args.scope, scopeId]);
|
|
179865
|
-
return row ? rowToScript(row) : null;
|
|
179866
|
-
}
|
|
179867
|
-
async function getScriptById(id) {
|
|
179868
|
-
const row = await getDbClient().get("SELECT * FROM scripts WHERE id = ?", [id]);
|
|
179869
|
-
return row ? rowToScript(row) : null;
|
|
179870
|
-
}
|
|
179871
|
-
async function getScriptVersion(args) {
|
|
179872
|
-
if (args.version === undefined && args.contentHash === undefined) {
|
|
179873
|
-
throw new Error("version or contentHash is required");
|
|
179874
|
-
}
|
|
179875
|
-
const row = args.version !== undefined ? await getDbClient().get("SELECT * FROM script_versions WHERE scriptId = ? AND version = ?", [args.scriptId, args.version]) : await getDbClient().get("SELECT * FROM script_versions WHERE scriptId = ? AND contentHash = ? ORDER BY version DESC LIMIT 1", [args.scriptId, args.contentHash]);
|
|
179876
|
-
return row ? rowToScriptVersion(row) : null;
|
|
179877
|
-
}
|
|
179878
|
-
async function listScripts(args) {
|
|
179879
|
-
const conditions = [];
|
|
179880
|
-
const params = [];
|
|
179881
|
-
if (args?.scope) {
|
|
179882
|
-
conditions.push("scope = ?");
|
|
179883
|
-
params.push(args.scope);
|
|
179884
|
-
if (args.scope === "global") {
|
|
179885
|
-
conditions.push("scopeId IS NULL");
|
|
179886
|
-
} else if (args.scopeId !== undefined) {
|
|
179887
|
-
conditions.push("scopeId = ?");
|
|
179888
|
-
params.push(normalizeScopeId(args.scope, args.scopeId));
|
|
179889
|
-
}
|
|
179890
|
-
} else if (args?.scopeId !== undefined) {
|
|
179891
|
-
conditions.push("scopeId = ?");
|
|
179892
|
-
params.push(args.scopeId ?? "");
|
|
179893
|
-
}
|
|
179894
|
-
if (!args?.includeScratch) {
|
|
179895
|
-
conditions.push("isScratch = 0");
|
|
179896
|
-
}
|
|
179897
|
-
const whereClause = conditions.length > 0 ? `WHERE ${conditions.join(" AND ")}` : "";
|
|
179898
|
-
const rows = await getDbClient().query(`SELECT * FROM scripts ${whereClause} ORDER BY scope ASC, scopeId ASC, name ASC`, params);
|
|
179899
|
-
return rows.map(rowToScript);
|
|
179900
|
-
}
|
|
179901
|
-
async function listScriptVersions(scriptId) {
|
|
179902
|
-
const rows = await getDbClient().query("SELECT * FROM script_versions WHERE scriptId = ? ORDER BY version DESC", [scriptId]);
|
|
179903
|
-
return rows.map(rowToScriptVersion);
|
|
179904
|
-
}
|
|
179905
|
-
async function deleteScript(args) {
|
|
179906
|
-
const existing = await getScript(args);
|
|
179907
|
-
if (!existing)
|
|
179908
|
-
return false;
|
|
179909
|
-
const result = await getDbClient().run("DELETE FROM scripts WHERE id = ?", [existing.id]);
|
|
179910
|
-
return result.changes > 0;
|
|
179911
|
-
}
|
|
179912
|
-
async function touchScratchScriptLastUsed(id, at = new Date().toISOString()) {
|
|
179913
|
-
const result = await getDbClient().run(`UPDATE scripts SET updatedAt = ?
|
|
179914
|
-
WHERE id = ? AND scope = 'agent' AND isScratch = 1 AND name GLOB 'scratch-*'`, [at, id]);
|
|
179915
|
-
return result.changes > 0 ? at : null;
|
|
179916
|
-
}
|
|
179917
|
-
async function restoreScratchScriptLastUsedIfUnchanged(id, priorUpdatedAt, expectedUpdatedAt) {
|
|
179918
|
-
const result = await getDbClient().run(`UPDATE scripts SET updatedAt = ?
|
|
179919
|
-
WHERE id = ? AND scope = 'agent' AND isScratch = 1 AND name GLOB 'scratch-*' AND updatedAt = ?`, [priorUpdatedAt, id, expectedUpdatedAt]);
|
|
179920
|
-
return result.changes > 0;
|
|
179921
|
-
}
|
|
179922
|
-
var SCRIPT_API_ID_LEN = 12;
|
|
179923
|
-
function rowToScriptApi(row) {
|
|
179924
|
-
return {
|
|
179925
|
-
id: row.id,
|
|
179926
|
-
scriptId: row.scriptId,
|
|
179927
|
-
agentId: row.agentId,
|
|
179928
|
-
authMode: row.authMode,
|
|
179929
|
-
enabled: row.enabled === 1,
|
|
179930
|
-
label: row.label ?? null,
|
|
179931
|
-
callCount: row.callCount,
|
|
179932
|
-
lastUsedAt: row.lastUsedAt ?? null,
|
|
179933
|
-
createdAt: row.createdAt
|
|
179934
|
-
};
|
|
179935
|
-
}
|
|
179936
|
-
function isUniqueConstraintError(err) {
|
|
179937
|
-
return err instanceof Error && /UNIQUE constraint failed/i.test(err.message);
|
|
179938
|
-
}
|
|
179939
|
-
async function createScriptApi(args) {
|
|
179940
|
-
const now = new Date().toISOString();
|
|
179941
|
-
const token = args.authMode === "bearer" ? generateBearerToken() : null;
|
|
179942
|
-
const encrypted = token ? encryptSecret(token, getEncryptionKey()) : null;
|
|
179943
|
-
const createdBy = args.createdBy ?? null;
|
|
179944
|
-
for (let attempt = 0;attempt < 5; attempt++) {
|
|
179945
|
-
const id = generateShortId(SCRIPT_API_ID_LEN);
|
|
179946
|
-
try {
|
|
179947
|
-
const row = await getDbClient().get(`INSERT INTO script_apis
|
|
179948
|
-
(id, scriptId, agentId, authMode, bearerTokenEncrypted, enabled, label,
|
|
179949
|
-
callCount, lastUsedAt, createdAt, created_by, updated_by)
|
|
179950
|
-
VALUES (?, ?, ?, ?, ?, 1, ?, 0, NULL, ?, ?, ?)
|
|
179951
|
-
RETURNING *`, [
|
|
179952
|
-
id,
|
|
179953
|
-
args.scriptId,
|
|
179954
|
-
args.agentId,
|
|
179955
|
-
args.authMode,
|
|
179956
|
-
encrypted,
|
|
179957
|
-
args.label ?? null,
|
|
179958
|
-
now,
|
|
179959
|
-
createdBy,
|
|
179960
|
-
createdBy
|
|
179961
|
-
]);
|
|
179962
|
-
if (!row)
|
|
179963
|
-
throw new Error("Failed to create script API endpoint");
|
|
179964
|
-
if (token)
|
|
179965
|
-
registerVolatileSecret(token, `script-api:${id}`);
|
|
179966
|
-
return { ...rowToScriptApi(row), token };
|
|
179967
|
-
} catch (err) {
|
|
179968
|
-
if (isUniqueConstraintError(err) && attempt < 4)
|
|
179969
|
-
continue;
|
|
179970
|
-
throw err;
|
|
179971
|
-
}
|
|
179972
|
-
}
|
|
179973
|
-
throw new Error("Failed to allocate a unique script API endpoint id");
|
|
179974
|
-
}
|
|
179975
|
-
async function listScriptApisForScript(scriptId) {
|
|
179976
|
-
const rows = await getDbClient().query("SELECT * FROM script_apis WHERE scriptId = ? ORDER BY createdAt DESC", [scriptId]);
|
|
179977
|
-
return rows.map(rowToScriptApi);
|
|
179978
|
-
}
|
|
179979
|
-
async function getScriptApiById(id) {
|
|
179980
|
-
const row = await getDbClient().get("SELECT * FROM script_apis WHERE id = ?", [id]);
|
|
179981
|
-
if (!row)
|
|
179982
|
-
return null;
|
|
179983
|
-
return { ...rowToScriptApi(row), bearerTokenEncrypted: row.bearerTokenEncrypted ?? null };
|
|
179984
|
-
}
|
|
179985
|
-
async function getScriptApiSecret(id) {
|
|
179986
|
-
const row = await getDbClient().get("SELECT bearerTokenEncrypted FROM script_apis WHERE id = ?", [id]);
|
|
179987
|
-
if (!row?.bearerTokenEncrypted)
|
|
179988
|
-
return null;
|
|
179989
|
-
const token = decryptSecret(row.bearerTokenEncrypted, getEncryptionKey());
|
|
179990
|
-
registerVolatileSecret(token, `script-api:${id}`);
|
|
179991
|
-
return token;
|
|
179992
|
-
}
|
|
179993
|
-
async function updateScriptApi(id, args) {
|
|
179994
|
-
const sets = [];
|
|
179995
|
-
const vals = [];
|
|
179996
|
-
if (args.enabled !== undefined) {
|
|
179997
|
-
sets.push("enabled = ?");
|
|
179998
|
-
vals.push(args.enabled ? 1 : 0);
|
|
179999
|
-
}
|
|
180000
|
-
if (args.label !== undefined) {
|
|
180001
|
-
sets.push("label = ?");
|
|
180002
|
-
vals.push(args.label);
|
|
180003
|
-
}
|
|
180004
|
-
if (args.updatedBy !== undefined) {
|
|
180005
|
-
sets.push("updated_by = ?");
|
|
180006
|
-
vals.push(args.updatedBy);
|
|
180007
|
-
}
|
|
180008
|
-
if (sets.length === 0) {
|
|
180009
|
-
const row2 = await getDbClient().get("SELECT * FROM script_apis WHERE id = ?", [
|
|
180010
|
-
id
|
|
180011
|
-
]);
|
|
180012
|
-
return row2 ? rowToScriptApi(row2) : null;
|
|
180013
|
-
}
|
|
180014
|
-
vals.push(id);
|
|
180015
|
-
const row = await getDbClient().get(`UPDATE script_apis SET ${sets.join(", ")} WHERE id = ? RETURNING *`, vals);
|
|
180016
|
-
return row ? rowToScriptApi(row) : null;
|
|
180017
|
-
}
|
|
180018
|
-
async function rotateScriptApiSecret(id, updatedBy) {
|
|
180019
|
-
const existing = await getScriptApiById(id);
|
|
180020
|
-
if (!existing || existing.authMode !== "bearer")
|
|
180021
|
-
return null;
|
|
180022
|
-
const token = generateBearerToken();
|
|
180023
|
-
const encrypted = encryptSecret(token, getEncryptionKey());
|
|
180024
|
-
const row = await getDbClient().get("UPDATE script_apis SET bearerTokenEncrypted = ?, updated_by = ? WHERE id = ? RETURNING *", [encrypted, updatedBy ?? null, id]);
|
|
180025
|
-
if (!row)
|
|
180026
|
-
return null;
|
|
180027
|
-
registerVolatileSecret(token, `script-api:${id}`);
|
|
180028
|
-
return { ...rowToScriptApi(row), token };
|
|
180029
|
-
}
|
|
180030
|
-
async function deleteScriptApi(id) {
|
|
180031
|
-
const result = await getDbClient().run("DELETE FROM script_apis WHERE id = ?", [id]);
|
|
180032
|
-
return result.changes > 0;
|
|
180033
|
-
}
|
|
180034
|
-
async function recordScriptApiUsage(id) {
|
|
180035
|
-
await getDbClient().run("UPDATE script_apis SET callCount = callCount + 1, lastUsedAt = ? WHERE id = ?", [new Date().toISOString(), id]);
|
|
180036
|
-
}
|
|
180037
|
-
|
|
180038
179644
|
// src/scripts-runtime/import-allowlist.ts
|
|
180039
179645
|
var import_typescript = __toESM(require_typescript(), 1);
|
|
180040
179646
|
var SCRIPT_ALLOWED_BARE_IMPORTS = ["swarm-sdk", "stdlib", "zod"];
|
|
@@ -180436,9 +180042,162 @@ class NativeScriptExecutor {
|
|
|
180436
180042
|
}
|
|
180437
180043
|
}
|
|
180438
180044
|
|
|
180045
|
+
// src/scripts-runtime/executors/quickjs.ts
|
|
180046
|
+
var POOL_SIZE = 4;
|
|
180047
|
+
var UNRESPONSIVE_GRACE_MS = 5000;
|
|
180048
|
+
var RECYCLE_WASM_HEAP_BYTES = 64 * 1024 * 1024;
|
|
180049
|
+
function workerSpecifier() {
|
|
180050
|
+
if (import.meta.url.includes("/$bunfs/"))
|
|
180051
|
+
return "./scripts-runtime/executors/quickjs-worker.ts";
|
|
180052
|
+
return new URL("./quickjs-worker.ts", import.meta.url).href;
|
|
180053
|
+
}
|
|
180054
|
+
function emptyOutput(error, stderr = "") {
|
|
180055
|
+
return {
|
|
180056
|
+
result: undefined,
|
|
180057
|
+
stdout: "",
|
|
180058
|
+
stderr,
|
|
180059
|
+
truncated: { stdout: false, stderr: false },
|
|
180060
|
+
durationMs: 0,
|
|
180061
|
+
exitCode: 1,
|
|
180062
|
+
error
|
|
180063
|
+
};
|
|
180064
|
+
}
|
|
180065
|
+
|
|
180066
|
+
class QuickJSWorkerPool {
|
|
180067
|
+
size;
|
|
180068
|
+
slots = [];
|
|
180069
|
+
waiters = [];
|
|
180070
|
+
constructor(size) {
|
|
180071
|
+
this.size = size;
|
|
180072
|
+
}
|
|
180073
|
+
spawn() {
|
|
180074
|
+
const worker = new Worker(workerSpecifier());
|
|
180075
|
+
worker.unref?.();
|
|
180076
|
+
const ready = new Promise((resolve, reject) => {
|
|
180077
|
+
const onMessage = (event) => {
|
|
180078
|
+
if (event.data.type === "ready")
|
|
180079
|
+
resolve();
|
|
180080
|
+
else if (event.data.type === "fatal" && event.data.id === undefined) {
|
|
180081
|
+
reject(new Error(event.data.message));
|
|
180082
|
+
} else
|
|
180083
|
+
return;
|
|
180084
|
+
worker.removeEventListener("message", onMessage);
|
|
180085
|
+
};
|
|
180086
|
+
worker.addEventListener("message", onMessage);
|
|
180087
|
+
worker.addEventListener("error", (event) => reject(new Error(event.message)), { once: true });
|
|
180088
|
+
});
|
|
180089
|
+
ready.catch(() => {});
|
|
180090
|
+
const slot = { worker, ready, busy: true };
|
|
180091
|
+
this.slots.push(slot);
|
|
180092
|
+
return slot;
|
|
180093
|
+
}
|
|
180094
|
+
acquire() {
|
|
180095
|
+
const idle = this.slots.find((slot) => !slot.busy);
|
|
180096
|
+
if (idle) {
|
|
180097
|
+
idle.busy = true;
|
|
180098
|
+
return Promise.resolve(idle);
|
|
180099
|
+
}
|
|
180100
|
+
if (this.slots.length < this.size)
|
|
180101
|
+
return Promise.resolve(this.spawn());
|
|
180102
|
+
return new Promise((resolve) => this.waiters.push(resolve));
|
|
180103
|
+
}
|
|
180104
|
+
release(slot) {
|
|
180105
|
+
const waiter = this.waiters.shift();
|
|
180106
|
+
if (waiter)
|
|
180107
|
+
waiter(slot);
|
|
180108
|
+
else
|
|
180109
|
+
slot.busy = false;
|
|
180110
|
+
}
|
|
180111
|
+
get workerCount() {
|
|
180112
|
+
return this.slots.length;
|
|
180113
|
+
}
|
|
180114
|
+
discard(slot) {
|
|
180115
|
+
slot.worker.terminate();
|
|
180116
|
+
const index = this.slots.indexOf(slot);
|
|
180117
|
+
if (index !== -1)
|
|
180118
|
+
this.slots.splice(index, 1);
|
|
180119
|
+
const waiter = this.waiters.shift();
|
|
180120
|
+
if (waiter)
|
|
180121
|
+
waiter(this.spawn());
|
|
180122
|
+
}
|
|
180123
|
+
}
|
|
180124
|
+
var sharedPool;
|
|
180125
|
+
var requestSeq = 0;
|
|
180126
|
+
|
|
180127
|
+
class QuickJSScriptExecutor {
|
|
180128
|
+
name = "quickjs";
|
|
180129
|
+
async run(input) {
|
|
180130
|
+
if (input.fsMode === "workspace-rw") {
|
|
180131
|
+
return emptyOutput("executor_error", "workspace-rw not supported by quickjs executor");
|
|
180132
|
+
}
|
|
180133
|
+
if (input.signal?.aborted)
|
|
180134
|
+
return emptyOutput("killed");
|
|
180135
|
+
sharedPool ??= new QuickJSWorkerPool(POOL_SIZE);
|
|
180136
|
+
const pool = sharedPool;
|
|
180137
|
+
const slot = await pool.acquire();
|
|
180138
|
+
if (input.signal?.aborted) {
|
|
180139
|
+
pool.release(slot);
|
|
180140
|
+
return emptyOutput("killed");
|
|
180141
|
+
}
|
|
180142
|
+
try {
|
|
180143
|
+
await slot.ready;
|
|
180144
|
+
} catch (error) {
|
|
180145
|
+
pool.discard(slot);
|
|
180146
|
+
return emptyOutput("executor_error", `quickjs worker failed to start: ${error instanceof Error ? error.message : String(error)}`);
|
|
180147
|
+
}
|
|
180148
|
+
const id = ++requestSeq;
|
|
180149
|
+
const start = performance.now();
|
|
180150
|
+
return await new Promise((resolve) => {
|
|
180151
|
+
let settled = false;
|
|
180152
|
+
const settle = (output, healthy) => {
|
|
180153
|
+
if (settled)
|
|
180154
|
+
return;
|
|
180155
|
+
settled = true;
|
|
180156
|
+
clearTimeout(watchdog);
|
|
180157
|
+
slot.worker.removeEventListener("message", onMessage);
|
|
180158
|
+
slot.worker.removeEventListener("error", onError);
|
|
180159
|
+
input.signal?.removeEventListener("abort", onAbort);
|
|
180160
|
+
if (healthy)
|
|
180161
|
+
pool.release(slot);
|
|
180162
|
+
else
|
|
180163
|
+
pool.discard(slot);
|
|
180164
|
+
resolve(output);
|
|
180165
|
+
};
|
|
180166
|
+
const elapsed = () => Math.round(performance.now() - start);
|
|
180167
|
+
const onMessage = (event) => {
|
|
180168
|
+
const message = event.data;
|
|
180169
|
+
if (message.type === "result" && message.id === id) {
|
|
180170
|
+
const reusable = message.leakedHostCalls === 0 && (message.wasmHeapBytes ?? 0) <= RECYCLE_WASM_HEAP_BYTES;
|
|
180171
|
+
settle(message.output, reusable);
|
|
180172
|
+
} else if (message.type === "fatal" && message.id === id) {
|
|
180173
|
+
settle({ ...emptyOutput("executor_error", message.message), durationMs: elapsed() }, false);
|
|
180174
|
+
}
|
|
180175
|
+
};
|
|
180176
|
+
const onError = (event) => {
|
|
180177
|
+
settle({ ...emptyOutput("executor_error", event.message), durationMs: elapsed() }, false);
|
|
180178
|
+
};
|
|
180179
|
+
const onAbort = () => settle({ ...emptyOutput("killed"), durationMs: elapsed() }, false);
|
|
180180
|
+
const watchdog = setTimeout(() => settle({ ...emptyOutput("timeout"), exitCode: 124, durationMs: elapsed() }, false), input.resources.wallClockMs + UNRESPONSIVE_GRACE_MS);
|
|
180181
|
+
slot.worker.addEventListener("message", onMessage);
|
|
180182
|
+
slot.worker.addEventListener("error", onError);
|
|
180183
|
+
input.signal?.addEventListener("abort", onAbort, { once: true });
|
|
180184
|
+
slot.worker.postMessage({
|
|
180185
|
+
id,
|
|
180186
|
+
job: {
|
|
180187
|
+
source: input.source,
|
|
180188
|
+
args: input.args,
|
|
180189
|
+
configPayload: input.configPayload,
|
|
180190
|
+
resources: input.resources
|
|
180191
|
+
}
|
|
180192
|
+
});
|
|
180193
|
+
});
|
|
180194
|
+
}
|
|
180195
|
+
}
|
|
180196
|
+
|
|
180439
180197
|
// src/scripts-runtime/executors/registry.ts
|
|
180440
180198
|
var EXECUTORS = {
|
|
180441
|
-
native: () => new NativeScriptExecutor
|
|
180199
|
+
native: () => new NativeScriptExecutor,
|
|
180200
|
+
quickjs: () => new QuickJSScriptExecutor
|
|
180442
180201
|
};
|
|
180443
180202
|
function getScriptExecutor(name = process.env.SCRIPT_EXECUTOR ?? "native") {
|
|
180444
180203
|
const factory = EXECUTORS[name];
|
|
@@ -180646,8 +180405,10 @@ import { fileURLToPath as fileURLToPath3 } from "node:url";
|
|
|
180646
180405
|
|
|
180647
180406
|
// src/apps/definition.ts
|
|
180648
180407
|
init_zod();
|
|
180408
|
+
init_db();
|
|
180649
180409
|
|
|
180650
180410
|
// src/be/scripts/run-saved.ts
|
|
180411
|
+
init_db();
|
|
180651
180412
|
function getSavedScriptOwnerAgentId(script) {
|
|
180652
180413
|
return script.scopeId ?? script.createdByAgentId;
|
|
180653
180414
|
}
|
|
@@ -183042,7 +182803,7 @@ function validatePage(definition, catalog, target) {
|
|
|
183042
182803
|
}
|
|
183043
182804
|
|
|
183044
182805
|
// src/apps/sync-run-as.ts
|
|
183045
|
-
|
|
182806
|
+
init_db2();
|
|
183046
182807
|
async function resolveSyncRunAs(script) {
|
|
183047
182808
|
return getSavedScriptOwnerAgentId(script) ?? (await getLeadAgent())?.id ?? "app-sync";
|
|
183048
182809
|
}
|
|
@@ -183764,7 +183525,7 @@ function applyAppDefinitionPatch(stored, patch) {
|
|
|
183764
183525
|
|
|
183765
183526
|
// src/apps/store.ts
|
|
183766
183527
|
init_key();
|
|
183767
|
-
|
|
183528
|
+
init_db2();
|
|
183768
183529
|
|
|
183769
183530
|
// src/apps/format-upgrades.ts
|
|
183770
183531
|
var CURRENT_APP_SCHEMA_VERSION = 1;
|
|
@@ -185166,4 +184927,4 @@ void _scriptMain;
|
|
|
185166
184927
|
});
|
|
185167
184928
|
}
|
|
185168
184929
|
|
|
185169
|
-
export { require_dist, isInvalidClientError, assertUrlSafe, publicEndpointSsrfOptions, discoverProtectedResourceMetadata, discoverAuthorizationServerMetadata, normalizeTokenEndpointAuthMethod, resolveAdvertisedTokenEndpointAuthMethod, authMethodForStoredClient, selectDcrTokenEndpointAuthMethod, registerClient, buildAuthorizeUrl, exchangeCodeForTokens, refreshMcpToken, revokeMcpToken, computeExpiresAt, getMcpOAuthToken, findReusableMcpOAuthClient, invalidateMcpOAuthClient, upsertMcpOAuthToken, applyMcpOAuthRefresh, markMcpOAuthTokenStatus, deleteMcpOAuthToken, insertMcpOAuthPending, consumeMcpOAuthPending, gcMcpOAuthPending, setMcpServerAuthMethod, ensureMcpToken, callMcpServerTool, listVendoredOpenapiEntries, ConnectionAuthInputSchema, connectionAuthSummary, listRelationalCredentialBindings, getCredentialBindingById, findCredentialBindingByIdentity, upsertCredentialBinding, disableCredentialBinding, listScriptConnections, listScriptConnectionsAsync, getScriptConnectionById, ScriptConnectionConflictError, connectionAuthInputFromFlat, upsertScriptConnection, refreshScriptConnection, setScriptConnectionEnabled, getScriptApiConnectionDescriptors, getScriptMcpConnectionDescriptors, getScriptApiTypes, getScriptMcpTypes, oauthAppToProviderConfig, getOAuthProviderConfig, getOAuthBindingTokenStatus, buildScriptCredentialBindingsWithFailures, buildScriptCredentialBindings,
|
|
184930
|
+
export { require_dist, isInvalidClientError, assertUrlSafe, publicEndpointSsrfOptions, discoverProtectedResourceMetadata, discoverAuthorizationServerMetadata, normalizeTokenEndpointAuthMethod, resolveAdvertisedTokenEndpointAuthMethod, authMethodForStoredClient, selectDcrTokenEndpointAuthMethod, registerClient, buildAuthorizeUrl, exchangeCodeForTokens, refreshMcpToken, revokeMcpToken, computeExpiresAt, getMcpOAuthToken, findReusableMcpOAuthClient, invalidateMcpOAuthClient, upsertMcpOAuthToken, applyMcpOAuthRefresh, markMcpOAuthTokenStatus, deleteMcpOAuthToken, insertMcpOAuthPending, consumeMcpOAuthPending, gcMcpOAuthPending, setMcpServerAuthMethod, ensureMcpToken, callMcpServerTool, listVendoredOpenapiEntries, ConnectionAuthInputSchema, connectionAuthSummary, listRelationalCredentialBindings, getCredentialBindingById, findCredentialBindingByIdentity, upsertCredentialBinding, disableCredentialBinding, listScriptConnections, listScriptConnectionsAsync, getScriptConnectionById, ScriptConnectionConflictError, connectionAuthInputFromFlat, upsertScriptConnection, refreshScriptConnection, setScriptConnectionEnabled, getScriptApiConnectionDescriptors, getScriptMcpConnectionDescriptors, getScriptApiTypes, getScriptMcpTypes, oauthAppToProviderConfig, getOAuthProviderConfig, getOAuthBindingTokenStatus, buildScriptCredentialBindingsWithFailures, buildScriptCredentialBindings, buildSandboxedCommand, sandboxSpawnEnv, createCappedStreamState, snapshotCapped, readStreamCapped, writeBareImportShim, MIN_SCRIPT_WALL_CLOCK_MS, SCRIPT_LONG_TIMEOUT_HINT_MS, MAX_SCRIPT_WALL_CLOCK_MS, DEFAULT_SCRIPT_RESOURCES, require_typescript, checkImportAllowlist, validateScriptImports, runScript, BaseExecutor, postApprovalCancellationUpdates, createApprovalFollowUpTask, HumanInTheLoopExecutor, resolveWorkflowLlmConfig, SYSTEM_ONE_DECISION_NODE_TYPE, systemOneRetryViolations, systemOneUnresolvedError, SystemOneDecisionExecutor, getNextTargets, generateEdges, findEntryNodes, resolveValidationPort, getSuccessors, definitionNodeIds, validateDefinition, applyDefinitionPatch, extractScriptSignature, extractArgsJsonSchema, getSavedScriptOwnerAgentId, runSavedScriptAsAgent, resolveSyncRunAs, AppNameSchema, ColumnKindSchema, isIso8601Date, SYSTEM_COLUMN_KINDS, SORTABLE_SYSTEM_DATE_COLUMNS, AppElementsSchema, AppDefinitionSchema, collectScriptReferences, parseAppDefinition, applyAppDefinitionPatch, upgradeAppDefinition, decodeAppDefinition, appDefinitionNeedsRepair, createApp, getApp, listApps, listAppRecords, updateApp, deleteApp, getScriptAppTypes, SCRIPT_SDK_TYPES, scriptSdkTypesWithGeneratedApis, SCRIPT_STDLIB_MODULE_TYPES, scriptStdlibTypesWithGeneratedApis, typecheckWithAmbient, typecheckScript };
|