@desplega.ai/agent-swarm 1.166.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-qz3m692w.js → actions-fq2zrwtf.js} +25 -25
- package/dist/{amp-adapter-j1xbmsqz.js → amp-adapter-5gbk7501.js} +4 -4
- package/dist/{anthropic-messages-hst62ws9.js → anthropic-messages-13yn502s.js} +4 -4
- package/dist/{app-43vrdmv8.js → app-nctetn1e.js} +10 -9
- package/dist/{assistant-ertffmka.js → assistant-0aq8gjvj.js} +26 -26
- package/dist/{azure-openai-responses-mh8tvf78.js → azure-openai-responses-9st34pfz.js} +5 -5
- package/dist/{boot-reembed-998jtpdg.js → boot-reembed-1ze5853n.js} +9 -8
- package/dist/{boot-reembed-s7k7c6v2.js → boot-reembed-fmp5ww69.js} +9 -8
- package/dist/{boot-scrub-sweep-nepsk4t1.js → boot-scrub-sweep-cbp8xd4e.js} +10 -9
- package/dist/{boot-seeds-vvzs1zhk.js → boot-seeds-22tx8a53.js} +12 -11
- package/dist/{claude-adapter-2zvmekrp.js → claude-adapter-0jhgeh1d.js} +24 -22
- package/dist/{claude-managed-adapter-s49wbk8t.js → claude-managed-adapter-tzwxy803.js} +4 -4
- package/dist/{claude-managed-setup-cvhqq8qn.js → claude-managed-setup-nrhfx5b0.js} +3 -3
- package/dist/{claude-sdk-session-kkbxtw5q.js → claude-sdk-session-wh77rh83.js} +22 -22
- package/dist/{cli-zsh093hk.js → cli-014vns2y.js} +63 -1
- package/dist/{cli-qvfk83fy.js → cli-13xwcqvj.js} +2 -2
- package/dist/{cli-dw2q9f7g.js → cli-1yrcfa5s.js} +4 -4
- package/dist/{cli-jvj6a0cv.js → cli-577bxkf6.js} +27 -17
- package/dist/{cli-zy7vwsne.js → cli-5qkcdv8c.js} +16 -9
- package/dist/{cli-cwxhbf43.js → cli-5t5my0h8.js} +85 -2
- package/dist/{cli-y59h2pk9.js → cli-69egj654.js} +1 -1
- package/dist/{cli-68r1j4sg.js → cli-6bpvv8h4.js} +3 -3
- package/dist/{cli-cpfmqz3n.js → cli-6qxmjpem.js} +5 -5
- package/dist/{cli-aqcey741.js → cli-6vfz44sr.js} +1 -1
- package/dist/{cli-32bca7nr.js → cli-7avy4v8w.js} +1 -1
- package/dist/{cli-f2n17zhp.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-gt8azyet.js → cli-c2tpw9ck.js} +1 -1
- package/dist/{cli-ecknp7p1.js → cli-c8r99akr.js} +10 -10
- package/dist/{cli-3qn4r334.js → cli-cexctgn5.js} +20 -14
- package/dist/{cli-vzc73wet.js → cli-cf2vgn9d.js} +87 -69
- package/dist/{cli-ng97fjq7.js → cli-cmxkbzzs.js} +33 -7
- package/dist/{cli-nexwh8zg.js → cli-g7k7zbcz.js} +12 -5
- package/dist/{cli-nvvfd8bq.js → cli-jbzbr36n.js} +4091 -3793
- package/dist/{cli-3ddybbbx.js → cli-jvmtxqtc.js} +26 -14
- package/dist/{cli-pkke6geq.js → cli-km4x66j0.js} +83 -65
- package/dist/{cli-j2jbr8af.js → cli-kw0jcfje.js} +1 -1
- package/dist/{cli-8t229cmr.js → cli-m7vmeepg.js} +30 -17
- package/dist/{cli-yshaazs1.js → cli-mkdsy1nq.js} +62 -20
- package/dist/{cli-b0f70z24.js → cli-mn8qkd8v.js} +1 -1
- package/dist/{cli-0qjcsxgz.js → cli-mxry91sa.js} +30 -9
- package/dist/cli-nkqjj42q.js +104 -0
- package/dist/{cli-rggdq8wq.js → cli-p8rt8spp.js} +3 -3
- package/dist/{cli-v2a8x45d.js → cli-pkj1w46r.js} +10 -5
- package/dist/cli-q1vnz8wv.js +96 -0
- package/dist/{cli-fj86xr3c.js → cli-qd97v6z2.js} +2 -2
- package/dist/{cli-66zh26sp.js → cli-qzmzwegq.js} +57 -17
- package/dist/{cli-p4ztb80h.js → cli-r7eeddkq.js} +13 -8
- package/dist/{cli-8ssjez7e.js → cli-rhy7z1rp.js} +22 -11
- package/dist/{cli-4mevd1hf.js → cli-s9y81s7j.js} +5 -5
- package/dist/{cli-h3x613ze.js → cli-tc5zec7v.js} +6 -6
- package/dist/{cli-ttbsse3f.js → cli-tmhsxhb8.js} +1 -1
- package/dist/{cli-0nhdwxd5.js → cli-tx2zvn23.js} +3 -3
- package/dist/{cli-mwegs4af.js → cli-ty4bzkqr.js} +3 -3
- package/dist/{cli-ysnyhws9.js → cli-v1pwxreq.js} +54 -51
- package/dist/{cli-feh3dkah.js → cli-v1w7pbd8.js} +2 -1
- package/dist/{cli-10zmp1p7.js → cli-vr5avem2.js} +27 -32
- package/dist/{cli-bzr0ftht.js → cli-wnb9b2g3.js} +19 -0
- package/dist/{cli-df56tqdw.js → cli-wydz3feg.js} +108 -57
- package/dist/{cli-krqm5f11.js → cli-xezn9nkh.js} +16 -13
- package/dist/{cli-8kt0bmgx.js → cli-xf713zz0.js} +2 -2
- package/dist/{cli-x7kpr72a.js → cli-y0kjpfm9.js} +2 -2
- package/dist/{cli-6zcfw0x7.js → cli-y195hv1a.js} +1 -1
- package/dist/{cli-fn697bnt.js → cli-ykt8f7va.js} +21 -8
- package/dist/{cli-4r1sjfc4.js → cli-ymmc1zxg.js} +8 -8
- package/dist/{cli-8kgvmkak.js → cli-ypgba1a8.js} +1 -1
- package/dist/{cli-rsy933yz.js → cli-z1dqhc9y.js} +30 -19
- package/dist/{cli-qbksc292.js → cli-zy39d433.js} +2 -0
- package/dist/cli.js +26 -26
- package/dist/{cloudflare-workers-ai-system-one-tt484t61.js → cloudflare-workers-ai-system-one-sta45jf9.js} +7 -5
- package/dist/{codex-adapter-dw1wxqt8.js → codex-adapter-cgesnjkr.js} +18 -18
- package/dist/{codex-login-terbdsqq.js → codex-login-g1cyt5zm.js} +1 -1
- package/dist/{codex-session-runner-3cgb8y1g.js → codex-session-runner-8kd7ddhr.js} +18 -18
- package/dist/{commands-mhxam6z2.js → commands-h6zaaxym.js} +9 -8
- package/dist/{cursor-adapter-2qda3st7.js → cursor-adapter-v8mm6bp5.js} +5 -5
- package/dist/{db-sjks418k.js → db-qg3myn53.js} +9 -8
- package/dist/{dispatcher-1es759rn.js → dispatcher-7vnwj9qw.js} +24 -24
- package/dist/{dsh-adapter-bek4cyw9.js → dsh-adapter-tz6hfp5r.js} +5 -5
- package/dist/{easter-egg-3d-mtpnw06s.js → easter-egg-3d-66zxervv.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-ar9cw9jg.js → grok-adapter-jdt2dz2s.js} +18 -8
- package/dist/{handlers-1gkbhktr.js → handlers-2qtkpncr.js} +27 -27
- package/dist/{hook-ds2zxq9v.js → hook-51yfcgsv.js} +42 -31
- package/dist/{hook-vxa3tcsy.js → hook-qnbdgwvd.js} +14 -14
- package/dist/{http-3h21z9md.js → http-jsmtag08.js} +320 -98
- package/dist/{index-9b65j1m5.js → index-2t9kesn1.js} +9 -8
- package/dist/{index-dkfxpkmm.js → index-bt8wkv1w.js} +25 -25
- package/dist/{index-f8xnqrye.js → index-cx1sb9bq.js} +33 -24
- package/dist/{index-bn6cy8ps.js → index-ekywyv2v.js} +24 -24
- package/dist/{index-n99fycq7.js → index-t4g06w93.js} +24 -24
- package/dist/{keepalive-3xspa9jw.js → keepalive-4aezx4bj.js} +11 -10
- package/dist/{lead-6qphc124.js → lead-r44bkpm5.js} +47 -47
- package/dist/{llama-cpp-classify-tgj35k8d.js → llama-cpp-classify-6erb7wwv.js} +3 -1
- package/dist/{maintenance-0teem1bb.js → maintenance-grz5jrzh.js} +9 -8
- package/dist/{mistral-conversations-8445ddjn.js → mistral-conversations-059y51zt.js} +4 -4
- package/dist/{node-9sg7ajby.js → node-qm9eb6z0.js} +1 -1
- package/dist/{oauth-refresh-sweep-sh9q25xp.js → oauth-refresh-sweep-wm4ctjfj.js} +10 -9
- package/dist/{onboard-54qmnqxe.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-wjfa2wvd.js → opencode-adapter-yjyqynzf.js} +7 -7
- package/dist/{openrouter-images-8yx3487g.js → openrouter-images-kr60n6b9.js} +1 -1
- package/dist/{otel-impl-ycqzp2a1.js → otel-impl-ghh4dyf8.js} +1 -1
- package/dist/{pi-messages-vxdt8v7j.js → pi-messages-xszk613n.js} +1 -1
- package/dist/{pi-mono-adapter-e77e9zst.js → pi-mono-adapter-0eg8kw2c.js} +68 -51
- package/dist/{pricing-refresh-atnkngqs.js → pricing-refresh-mjrqvnvw.js} +11 -10
- package/dist/{rbac-roles-j78wdksm.js → rbac-roles-axv4d74x.js} +10 -9
- package/dist/{rbac-roles-9pjphh9q.js → rbac-roles-fd5tskj9.js} +9 -8
- package/dist/{render-v2-pxjs49fx.js → render-v2-k50j33qd.js} +10 -9
- package/dist/{runtime-v2t1r79e.js → runtime-h9ha1mq6.js} +4 -4
- package/dist/{setup-ymej0xtx.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-3nh4ymzb.js → work-objects-jcdbg8rr.js} +27 -27
- package/dist/{worker-qa9fkz5s.js → worker-x8j8c9sx.js} +47 -47
- package/openapi.json +1 -1
- package/package.json +8 -8
- package/src/be/memory/providers/openai-embedding.ts +7 -2
- package/src/be/memory/raters/llm-summarizer.ts +7 -2
- package/src/be/modelsdev-cache.json +61 -0
- package/src/be/seed-pricing.ts +84 -53
- package/src/be/swarm-config-guard.ts +13 -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/mcp.ts +5 -0
- package/src/http/onboarding.ts +2 -0
- package/src/providers/acp-targets.ts +9 -4
- 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/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/server.ts +63 -3
- package/src/tests/acp-adapter.test.ts +152 -12
- 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/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.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/dsh-adapter.test.ts +23 -1
- package/src/tests/enabled-tools.test.ts +269 -0
- package/src/tests/entrypoint-codex-oauth-seed.test.ts +12 -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/telemetry-trigger.test.ts +12 -1
- package/src/tests/workflow-llm.test.ts +14 -0
- package/src/tests/workflow-system-one-decision-providers.test.ts +33 -0
- package/src/tools/request-human-input.ts +7 -2
- 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/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/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-yzfxn8vj.js +0 -23
- package/dist/cli-3dpj7atn.js +0 -11
- package/dist/cli-gvcgmx69.js +0 -183
- package/dist/{cli-jhm6hzjn.js → cli-mxvnnv5q.js} +7 -7
- package/dist/{codex-hook-d2rkvf39.js → codex-hook-15dgc4cb.js} +1 -1
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ProjectTrustStore,
|
|
3
|
+
addMcpServerConfig,
|
|
4
|
+
loadMcpConfig,
|
|
5
|
+
openBrowser,
|
|
6
|
+
removeMcpServerConfig
|
|
7
|
+
} from "./cli-13xwcqvj.js";
|
|
1
8
|
import {
|
|
2
9
|
McpOAuthCredentialStore,
|
|
3
10
|
McpServerConnection,
|
|
@@ -5,24 +12,17 @@ import {
|
|
|
5
12
|
McpSignInCancelledError,
|
|
6
13
|
createDefaultTransport,
|
|
7
14
|
signInMcpServer
|
|
8
|
-
} from "./cli-
|
|
9
|
-
import {
|
|
10
|
-
ProjectTrustStore,
|
|
11
|
-
addMcpServerConfig,
|
|
12
|
-
loadMcpConfig,
|
|
13
|
-
openBrowser,
|
|
14
|
-
removeMcpServerConfig
|
|
15
|
-
} from "./cli-qvfk83fy.js";
|
|
15
|
+
} from "./cli-bxqez1p0.js";
|
|
16
16
|
import {
|
|
17
17
|
getMcpToolExposure,
|
|
18
18
|
validateMcpServerConfig
|
|
19
|
-
} from "./cli-
|
|
20
|
-
import"./cli-
|
|
19
|
+
} from "./cli-xezn9nkh.js";
|
|
20
|
+
import"./cli-rhy7z1rp.js";
|
|
21
21
|
import {
|
|
22
22
|
APP_NAME,
|
|
23
23
|
CONFIG_DIR_NAME,
|
|
24
24
|
source_default
|
|
25
|
-
} from "./cli-
|
|
25
|
+
} from "./cli-5t5my0h8.js";
|
|
26
26
|
import"./cli-5bfdm1ah.js";
|
|
27
27
|
import"./cli-0m7wct0d.js";
|
|
28
28
|
import"./cli-2x0e561b.js";
|
|
@@ -451,8 +451,9 @@ async function login(entry, connection, url, timeoutMs, options, credentials, lo
|
|
|
451
451
|
${authorizationUrl.href}`);
|
|
452
452
|
openUrl(authorizationUrl.href);
|
|
453
453
|
},
|
|
454
|
-
promptForRedirectUrl: (signal) => waitForRedirectUrl(signal,
|
|
455
|
-
}
|
|
454
|
+
promptForRedirectUrl: (signal) => waitForRedirectUrl(signal, interactive)
|
|
455
|
+
},
|
|
456
|
+
signal: AbortSignal.timeout(timeoutMs)
|
|
456
457
|
});
|
|
457
458
|
} catch (signInError) {
|
|
458
459
|
error(signInError instanceof McpSignInCancelledError ? `Sign-in to MCP server "${name}" was cancelled or not completed within ${Math.round(timeoutMs / 1000)} seconds.` : `Sign-in to MCP server "${name}" failed: ${errorMessage(signInError)}`);
|
|
@@ -468,27 +469,21 @@ ${authorizationUrl.href}`);
|
|
|
468
469
|
log(`Signed in to MCP server "${name}" (${connection.tools.length} tools).`);
|
|
469
470
|
return 0;
|
|
470
471
|
}
|
|
471
|
-
async function waitForRedirectUrl(signal,
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
472
|
+
async function waitForRedirectUrl(signal, interactive) {
|
|
473
|
+
if (!interactive) {
|
|
474
|
+
if (!signal.aborted)
|
|
475
|
+
await new Promise((resolve) => signal.addEventListener("abort", resolve, { once: true }));
|
|
476
|
+
return;
|
|
477
|
+
}
|
|
478
|
+
const readline = createInterface({ input: process.stdin, output: process.stderr });
|
|
476
479
|
try {
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
try {
|
|
483
|
-
return await readline.question("If the browser cannot reach this machine, paste the URL it was redirected to: ", { signal: controller.signal });
|
|
484
|
-
} catch {
|
|
485
|
-
return;
|
|
486
|
-
} finally {
|
|
487
|
-
readline.close();
|
|
488
|
-
}
|
|
480
|
+
return await readline.question("If the browser cannot reach this machine, paste the URL it was redirected to: ", {
|
|
481
|
+
signal
|
|
482
|
+
});
|
|
483
|
+
} catch {
|
|
484
|
+
return;
|
|
489
485
|
} finally {
|
|
490
|
-
|
|
491
|
-
signal.removeEventListener("abort", abort);
|
|
486
|
+
readline.close();
|
|
492
487
|
}
|
|
493
488
|
}
|
|
494
489
|
export {
|
|
@@ -77,6 +77,8 @@ class EventStream {
|
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
class AssistantMessageEventStream extends EventStream {
|
|
80
|
+
#startedAt = Date.now();
|
|
81
|
+
#startedAtMonotonic = performance.now();
|
|
80
82
|
constructor() {
|
|
81
83
|
super((event) => event.type === "done" || event.type === "error", (event) => {
|
|
82
84
|
if (event.type === "done") {
|
|
@@ -87,6 +89,23 @@ class AssistantMessageEventStream extends EventStream {
|
|
|
87
89
|
throw new Error("Unexpected event type for final result");
|
|
88
90
|
});
|
|
89
91
|
}
|
|
92
|
+
push(event) {
|
|
93
|
+
if (event.type === "done")
|
|
94
|
+
this.#time(event.message);
|
|
95
|
+
else if (event.type === "error")
|
|
96
|
+
this.#time(event.error);
|
|
97
|
+
super.push(event);
|
|
98
|
+
}
|
|
99
|
+
end(result) {
|
|
100
|
+
if (result !== undefined)
|
|
101
|
+
this.#time(result);
|
|
102
|
+
super.end(result);
|
|
103
|
+
}
|
|
104
|
+
#time(message) {
|
|
105
|
+
if (this.done || message.durationMs !== undefined || message.timestamp < this.#startedAt)
|
|
106
|
+
return;
|
|
107
|
+
message.durationMs = Math.max(0, Math.round(performance.now() - this.#startedAtMonotonic));
|
|
108
|
+
}
|
|
90
109
|
}
|
|
91
110
|
function createAssistantMessageEventStream() {
|
|
92
111
|
return new AssistantMessageEventStream;
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
import {
|
|
21
21
|
ensurePricingSeeded,
|
|
22
22
|
ensureRbacSeeded
|
|
23
|
-
} from "./cli-
|
|
23
|
+
} from "./cli-tx2zvn23.js";
|
|
24
24
|
import {
|
|
25
25
|
buildCatalogEntries,
|
|
26
26
|
getCatalogGeneration,
|
|
@@ -30,10 +30,10 @@ import {
|
|
|
30
30
|
requestModelCatalogRefresh,
|
|
31
31
|
startPricingRefreshLoop,
|
|
32
32
|
upsertModelCatalogOverlay
|
|
33
|
-
} from "./cli-
|
|
33
|
+
} from "./cli-p8rt8spp.js";
|
|
34
34
|
import {
|
|
35
35
|
loadModelsDevCache
|
|
36
|
-
} from "./cli-
|
|
36
|
+
} from "./cli-v1pwxreq.js";
|
|
37
37
|
import {
|
|
38
38
|
AppDefinitionSchema,
|
|
39
39
|
AppElementsSchema,
|
|
@@ -106,7 +106,7 @@ import {
|
|
|
106
106
|
validateDefinition,
|
|
107
107
|
validateScriptImports,
|
|
108
108
|
writeBareImportShim
|
|
109
|
-
} from "./cli-
|
|
109
|
+
} from "./cli-577bxkf6.js";
|
|
110
110
|
import {
|
|
111
111
|
getApiKey
|
|
112
112
|
} from "./cli-f14fvzag.js";
|
|
@@ -115,18 +115,18 @@ import {
|
|
|
115
115
|
registerProcessGroup,
|
|
116
116
|
terminateProcessGroup
|
|
117
117
|
} from "./cli-zt3w1cn1.js";
|
|
118
|
-
import {
|
|
119
|
-
AgentFsProvider,
|
|
120
|
-
getFileStorageProvider,
|
|
121
|
-
providerPath
|
|
122
|
-
} from "./cli-mzfth0bp.js";
|
|
123
118
|
import {
|
|
124
119
|
buildAuthorizationUrl,
|
|
125
120
|
ensureAuthorizationTokenOrThrow,
|
|
126
121
|
ensureToken,
|
|
127
122
|
ensureTokenOrThrow,
|
|
128
123
|
onAuthorizationRefreshed
|
|
129
|
-
} from "./cli-
|
|
124
|
+
} from "./cli-kw0jcfje.js";
|
|
125
|
+
import {
|
|
126
|
+
AgentFsProvider,
|
|
127
|
+
getFileStorageProvider,
|
|
128
|
+
providerPath
|
|
129
|
+
} from "./cli-mzfth0bp.js";
|
|
130
130
|
import {
|
|
131
131
|
ZodFirstPartyTypeKind,
|
|
132
132
|
objectType
|
|
@@ -156,11 +156,11 @@ import {
|
|
|
156
156
|
taskCitationWarnings,
|
|
157
157
|
upsertTaskCitations,
|
|
158
158
|
withSpan
|
|
159
|
-
} from "./cli-
|
|
159
|
+
} from "./cli-c8r99akr.js";
|
|
160
160
|
import {
|
|
161
161
|
getUserGrant,
|
|
162
162
|
init_rbac_roles
|
|
163
|
-
} from "./cli-
|
|
163
|
+
} from "./cli-ypgba1a8.js";
|
|
164
164
|
import {
|
|
165
165
|
can,
|
|
166
166
|
decideAdmission,
|
|
@@ -374,6 +374,7 @@ import {
|
|
|
374
374
|
init_db1 as init_db2,
|
|
375
375
|
init_db_client,
|
|
376
376
|
init_embeddings,
|
|
377
|
+
init_enabled_tools,
|
|
377
378
|
init_key_paths,
|
|
378
379
|
init_memory,
|
|
379
380
|
init_model_tier_keys,
|
|
@@ -424,6 +425,7 @@ import {
|
|
|
424
425
|
onTaskStarted,
|
|
425
426
|
overwriteTerminalTaskResultText,
|
|
426
427
|
pageContextKey,
|
|
428
|
+
parseEnabledTools,
|
|
427
429
|
placeholderForConfigKey,
|
|
428
430
|
postMessage,
|
|
429
431
|
promoteDraftTask,
|
|
@@ -486,7 +488,7 @@ import {
|
|
|
486
488
|
upsertSwarmConfig,
|
|
487
489
|
validateConfigValue,
|
|
488
490
|
workflowContextKey
|
|
489
|
-
} from "./cli-
|
|
491
|
+
} from "./cli-mkdsy1nq.js";
|
|
490
492
|
import {
|
|
491
493
|
$OpenAPIRegistry,
|
|
492
494
|
$OpenApiGeneratorV31,
|
|
@@ -555,12 +557,23 @@ import {
|
|
|
555
557
|
init_task_attachment_links,
|
|
556
558
|
taskAttachmentDisplayUrl,
|
|
557
559
|
taskAttachmentFetchCommand
|
|
558
|
-
} from "./cli-
|
|
560
|
+
} from "./cli-mxvnnv5q.js";
|
|
559
561
|
import {
|
|
560
562
|
getSlackConfiguration,
|
|
561
563
|
init_config,
|
|
562
564
|
isSlackConfigured
|
|
563
565
|
} from "./cli-dmtrxqhg.js";
|
|
566
|
+
import {
|
|
567
|
+
deepInterpolate,
|
|
568
|
+
findInterpolationTokens,
|
|
569
|
+
getTemplateDefinition,
|
|
570
|
+
init_registry,
|
|
571
|
+
init_resolver,
|
|
572
|
+
init_template,
|
|
573
|
+
interpolate,
|
|
574
|
+
registerTemplate,
|
|
575
|
+
resolveTemplate
|
|
576
|
+
} from "./cli-5c2j5yvx.js";
|
|
564
577
|
import {
|
|
565
578
|
MAX_PROFILE_FILE_LENGTH,
|
|
566
579
|
getAgentFsDefaultDriveId,
|
|
@@ -573,17 +586,6 @@ import {
|
|
|
573
586
|
init_constants,
|
|
574
587
|
isCombEnabled
|
|
575
588
|
} from "./cli-gd4favx9.js";
|
|
576
|
-
import {
|
|
577
|
-
deepInterpolate,
|
|
578
|
-
findInterpolationTokens,
|
|
579
|
-
getTemplateDefinition,
|
|
580
|
-
init_registry,
|
|
581
|
-
init_resolver,
|
|
582
|
-
init_template,
|
|
583
|
-
interpolate,
|
|
584
|
-
registerTemplate,
|
|
585
|
-
resolveTemplate
|
|
586
|
-
} from "./cli-5c2j5yvx.js";
|
|
587
589
|
import {
|
|
588
590
|
init_env_flag,
|
|
589
591
|
isEnvFlagEnabled,
|
|
@@ -601,7 +603,7 @@ import {
|
|
|
601
603
|
modelFamilyKey,
|
|
602
604
|
parseAlias,
|
|
603
605
|
resolveAlias
|
|
604
|
-
} from "./cli-
|
|
606
|
+
} from "./cli-014vns2y.js";
|
|
605
607
|
import {
|
|
606
608
|
exports_zod,
|
|
607
609
|
init_zod
|
|
@@ -650,7 +652,7 @@ import {
|
|
|
650
652
|
import {
|
|
651
653
|
init_package,
|
|
652
654
|
package_default
|
|
653
|
-
} from "./cli-
|
|
655
|
+
} from "./cli-ymmc1zxg.js";
|
|
654
656
|
import {
|
|
655
657
|
init_event_bus,
|
|
656
658
|
workflowEventBus
|
|
@@ -14390,7 +14392,7 @@ async function notifyAutomationPreflightFailure(preflight) {
|
|
|
14390
14392
|
return;
|
|
14391
14393
|
}
|
|
14392
14394
|
try {
|
|
14393
|
-
const { getSlackApp: getSlackApp2 } = await import("./app-
|
|
14395
|
+
const { getSlackApp: getSlackApp2 } = await import("./app-nctetn1e.js");
|
|
14394
14396
|
const app = getSlackApp2();
|
|
14395
14397
|
if (!app) {
|
|
14396
14398
|
console.warn("[Automation Preflight] Slack not available, cannot send notification");
|
|
@@ -19971,17 +19973,34 @@ function normalizeObjectSchema(schema) {
|
|
|
19971
19973
|
}
|
|
19972
19974
|
return;
|
|
19973
19975
|
}
|
|
19976
|
+
function getDotPath(path) {
|
|
19977
|
+
if (path.length === 0) {
|
|
19978
|
+
return "object root";
|
|
19979
|
+
}
|
|
19980
|
+
return path.reduce((acc, seg, index) => {
|
|
19981
|
+
if (index === 0) {
|
|
19982
|
+
return String(seg);
|
|
19983
|
+
}
|
|
19984
|
+
if (typeof seg === "number") {
|
|
19985
|
+
return `${acc}[${seg}]`;
|
|
19986
|
+
}
|
|
19987
|
+
return `${acc}.${seg}`;
|
|
19988
|
+
}, "");
|
|
19989
|
+
}
|
|
19974
19990
|
function getParseErrorMessage(error) {
|
|
19975
19991
|
if (error && typeof error === "object") {
|
|
19992
|
+
if ("issues" in error && Array.isArray(error.issues) && error.issues.length > 0) {
|
|
19993
|
+
return error.issues.map((i) => {
|
|
19994
|
+
if (!i.path?.length) {
|
|
19995
|
+
return i.message;
|
|
19996
|
+
}
|
|
19997
|
+
return `${i.message} at ${getDotPath(i.path)}`;
|
|
19998
|
+
}).join(`
|
|
19999
|
+
`);
|
|
20000
|
+
}
|
|
19976
20001
|
if ("message" in error && typeof error.message === "string") {
|
|
19977
20002
|
return error.message;
|
|
19978
20003
|
}
|
|
19979
|
-
if ("issues" in error && Array.isArray(error.issues) && error.issues.length > 0) {
|
|
19980
|
-
const firstIssue = error.issues[0];
|
|
19981
|
-
if (firstIssue && typeof firstIssue === "object" && "message" in firstIssue) {
|
|
19982
|
-
return String(firstIssue.message);
|
|
19983
|
-
}
|
|
19984
|
-
}
|
|
19985
20004
|
try {
|
|
19986
20005
|
return JSON.stringify(error);
|
|
19987
20006
|
} catch {
|
|
@@ -23206,16 +23225,7 @@ class Server extends Protocol {
|
|
|
23206
23225
|
if (!methodSchema) {
|
|
23207
23226
|
throw new Error("Schema is missing a method literal");
|
|
23208
23227
|
}
|
|
23209
|
-
|
|
23210
|
-
if (isZ4Schema(methodSchema)) {
|
|
23211
|
-
const v4Schema = methodSchema;
|
|
23212
|
-
const v4Def = v4Schema._zod?.def;
|
|
23213
|
-
methodValue = v4Def?.value ?? v4Schema.value;
|
|
23214
|
-
} else {
|
|
23215
|
-
const v3Schema = methodSchema;
|
|
23216
|
-
const legacyDef = v3Schema._def;
|
|
23217
|
-
methodValue = legacyDef?.value ?? v3Schema.value;
|
|
23218
|
-
}
|
|
23228
|
+
const methodValue = getLiteralValue(methodSchema);
|
|
23219
23229
|
if (typeof methodValue !== "string") {
|
|
23220
23230
|
throw new Error("Schema method literal must be a string");
|
|
23221
23231
|
}
|
|
@@ -29170,7 +29180,7 @@ async function notifySlack(text) {
|
|
|
29170
29180
|
return;
|
|
29171
29181
|
}
|
|
29172
29182
|
try {
|
|
29173
|
-
const { getSlackApp: getSlackApp2 } = await import("./app-
|
|
29183
|
+
const { getSlackApp: getSlackApp2 } = await import("./app-nctetn1e.js");
|
|
29174
29184
|
const app = getSlackApp2();
|
|
29175
29185
|
if (!app) {
|
|
29176
29186
|
console.warn("[Jira webhook keepalive] Slack not available, cannot send notification");
|
|
@@ -29241,7 +29251,7 @@ async function deleteJiraWebhook(webhookId) {
|
|
|
29241
29251
|
console.log(`[Jira webhook keepalive] Deleted webhook id=${webhookId}`);
|
|
29242
29252
|
}
|
|
29243
29253
|
async function overwriteWebhookIds(next) {
|
|
29244
|
-
const { getDbClient: getDbClient2 } = await import("./db-
|
|
29254
|
+
const { getDbClient: getDbClient2 } = await import("./db-qg3myn53.js");
|
|
29245
29255
|
await getDbClient2().transaction(async (tx) => {
|
|
29246
29256
|
const row = await tx.get("SELECT metadata FROM oauth_apps WHERE provider = 'jira'");
|
|
29247
29257
|
if (!row) {
|
|
@@ -103046,7 +103056,7 @@ async function reloadGlobalConfigsAndIntegrations() {
|
|
|
103046
103056
|
return runWithoutRequestAuth(() => reloadGlobalConfigsAndIntegrationsInner());
|
|
103047
103057
|
}
|
|
103048
103058
|
async function reloadGlobalConfigsAndIntegrationsInner() {
|
|
103049
|
-
const { getEmbeddingProvider: getEmbeddingProvider2, resetEmbeddingProvider } = await import("./index-
|
|
103059
|
+
const { getEmbeddingProvider: getEmbeddingProvider2, resetEmbeddingProvider } = await import("./index-2t9kesn1.js");
|
|
103050
103060
|
const wasEmbeddingsConfigured = getEmbeddingProvider2().isConfigured();
|
|
103051
103061
|
const updated = await loadGlobalConfigsIntoEnv(true);
|
|
103052
103062
|
await stopSlackApp();
|
|
@@ -103059,10 +103069,10 @@ async function reloadGlobalConfigsAndIntegrationsInner() {
|
|
|
103059
103069
|
integrations.push("embeddings");
|
|
103060
103070
|
}
|
|
103061
103071
|
if (!wasEmbeddingsConfigured && isEmbeddingsConfigured) {
|
|
103062
|
-
import("./boot-reembed-
|
|
103072
|
+
import("./boot-reembed-fmp5ww69.js").then(({ runBootReembed }) => runBootReembed()).catch((err) => {
|
|
103063
103073
|
console.error("[config-reload] memory backfill failed (non-fatal):", err);
|
|
103064
103074
|
});
|
|
103065
|
-
import("./boot-reembed-
|
|
103075
|
+
import("./boot-reembed-1ze5853n.js").then(({ runBootReembedScripts }) => runBootReembedScripts()).catch((err) => {
|
|
103066
103076
|
console.error("[config-reload] script backfill failed (non-fatal):", err);
|
|
103067
103077
|
});
|
|
103068
103078
|
}
|
|
@@ -104180,7 +104190,7 @@ function setPreloadedTools(server, names) {
|
|
|
104180
104190
|
async function applyPreToolCall(name, args, requestInfo, inputSchema) {
|
|
104181
104191
|
if (requestInfo.callOrigin !== "mcp")
|
|
104182
104192
|
return { args };
|
|
104183
|
-
const dispatcher = await import("./dispatcher-
|
|
104193
|
+
const dispatcher = await import("./dispatcher-7vnwj9qw.js");
|
|
104184
104194
|
const result = await dispatcher.dispatchPre("pre.tool.call", { tool: name, args, requestInfo }, inputSchema ? {
|
|
104185
104195
|
validateModify: async (data) => {
|
|
104186
104196
|
const schema = normalizeObjectSchema(inputSchema) ?? inputSchema;
|
|
@@ -117024,7 +117034,7 @@ var QuestionSchema = object({
|
|
|
117024
117034
|
type: _enum(["approval", "text", "single-select", "multi-select", "boolean"]).describe("Question type"),
|
|
117025
117035
|
label: string().describe("The question text displayed to the user"),
|
|
117026
117036
|
required: boolean().optional().describe("Whether this question is required (default: true)"),
|
|
117027
|
-
description: string().optional().describe("Optional help text"),
|
|
117037
|
+
description: string().optional().describe("Optional help text, rendered as markdown (code fences, images)"),
|
|
117028
117038
|
placeholder: string().optional().describe("Placeholder text (for text type)"),
|
|
117029
117039
|
multiline: boolean().optional().describe("Use textarea instead of input (for text type)"),
|
|
117030
117040
|
options: array(object({
|
|
@@ -117040,7 +117050,7 @@ var registerRequestHumanInputTool = (server) => {
|
|
|
117040
117050
|
createToolRegistrar(server)("request-human-input", {
|
|
117041
117051
|
title: "Request human input",
|
|
117042
117052
|
annotations: { destructiveHint: false },
|
|
117043
|
-
description: "Create an approval request and return at once with the request id and URL. The answer arrives later as a hitl-follow-up task. " + "Supports multiple question types: approval (yes/no), text, single-select, " + "multi-select, and boolean. Returns the request ID and URL for the human to respond.",
|
|
117053
|
+
description: "Create an approval request and return at once with the request id and URL. The answer arrives later as a hitl-follow-up task. " + "Supports multiple question types: approval (yes/no), text, single-select, " + "multi-select, and boolean. Returns the request ID and URL for the human to respond. " + "The dashboard renders each label and description as markdown: put long content in description, fence code with a language, and put an image URL alone on its own line to show it. " + "No Slack message is sent; share the URL yourself.",
|
|
117044
117054
|
inputSchema: object({
|
|
117045
117055
|
title: string().min(1).describe("Title of the approval request"),
|
|
117046
117056
|
questions: array(QuestionSchema).min(1).describe("Questions to ask the human"),
|
|
@@ -131695,6 +131705,9 @@ var registerUpdateWorkflowTool = (server) => {
|
|
|
131695
131705
|
}
|
|
131696
131706
|
});
|
|
131697
131707
|
};
|
|
131708
|
+
// src/server.ts
|
|
131709
|
+
init_enabled_tools();
|
|
131710
|
+
|
|
131698
131711
|
// src/utils/scripts-only-mode.ts
|
|
131699
131712
|
init_env_flag();
|
|
131700
131713
|
function resolveScriptsOnlyMode(opts) {
|
|
@@ -131759,9 +131772,43 @@ function getEnabledCapabilities() {
|
|
|
131759
131772
|
function isScriptsOnlyMcp() {
|
|
131760
131773
|
return resolveScriptsOnlyMode({ env: process.env.SCRIPTS_ONLY_MCP });
|
|
131761
131774
|
}
|
|
131775
|
+
var loggedToolAllowlistWarnings = new Set;
|
|
131776
|
+
function warnToolAllowlistOnce(message) {
|
|
131777
|
+
if (loggedToolAllowlistWarnings.has(message))
|
|
131778
|
+
return;
|
|
131779
|
+
loggedToolAllowlistWarnings.add(message);
|
|
131780
|
+
console.warn(message);
|
|
131781
|
+
}
|
|
131782
|
+
function resolveToolAllowlist(value) {
|
|
131783
|
+
if (value === undefined)
|
|
131784
|
+
return;
|
|
131785
|
+
try {
|
|
131786
|
+
const tools = parseEnabledTools(value);
|
|
131787
|
+
if (!tools) {
|
|
131788
|
+
warnToolAllowlistOnce("[MCP] SWARM_ENABLED_TOOLS is set but lists no tools; ignoring it");
|
|
131789
|
+
}
|
|
131790
|
+
return tools;
|
|
131791
|
+
} catch {
|
|
131792
|
+
warnToolAllowlistOnce("[MCP] Invalid SWARM_ENABLED_TOOLS; ignoring it");
|
|
131793
|
+
return;
|
|
131794
|
+
}
|
|
131795
|
+
}
|
|
131796
|
+
function applyToolAllowlist(server, allowlist) {
|
|
131797
|
+
const tools = server._registeredTools;
|
|
131798
|
+
const allowed = new Set(allowlist);
|
|
131799
|
+
for (const [name, tool] of Object.entries(tools)) {
|
|
131800
|
+
if (!allowed.has(name))
|
|
131801
|
+
tool.remove();
|
|
131802
|
+
}
|
|
131803
|
+
const unknown3 = allowlist.filter((name) => !Object.hasOwn(tools, name));
|
|
131804
|
+
if (unknown3.length > 0) {
|
|
131805
|
+
warnToolAllowlistOnce(`[MCP] SWARM_ENABLED_TOOLS names unknown tools, ignoring them: ${unknown3.join(", ")}`);
|
|
131806
|
+
}
|
|
131807
|
+
}
|
|
131762
131808
|
async function createServer(opts = {}) {
|
|
131763
131809
|
await loadGlobalConfigsIntoEnv(true);
|
|
131764
|
-
const
|
|
131810
|
+
const toolAllowlist = opts.fullSurface === true ? undefined : resolveToolAllowlist(opts.enabledTools ?? process.env.SWARM_ENABLED_TOOLS);
|
|
131811
|
+
const hasCapability2 = (cap) => opts.fullSurface === true || toolAllowlist !== undefined || getCapabilities().has(cap);
|
|
131765
131812
|
initDb(process.env.DATABASE_PATH);
|
|
131766
131813
|
ensurePricingSeeded();
|
|
131767
131814
|
startPricingRefreshLoop();
|
|
@@ -131785,7 +131832,7 @@ async function createServer(opts = {}) {
|
|
|
131785
131832
|
});
|
|
131786
131833
|
if (opts.preloadedTools?.length)
|
|
131787
131834
|
setPreloadedTools(server, opts.preloadedTools);
|
|
131788
|
-
if (opts.scriptsOnly ?? isScriptsOnlyMcp()) {
|
|
131835
|
+
if (toolAllowlist === undefined && (opts.scriptsOnly ?? isScriptsOnlyMcp())) {
|
|
131789
131836
|
registerScriptSearchTool(server);
|
|
131790
131837
|
registerScriptRunTool(server);
|
|
131791
131838
|
registerScriptUpsertTool(server);
|
|
@@ -131996,6 +132043,8 @@ async function createServer(opts = {}) {
|
|
|
131996
132043
|
registerListServicesTool(server);
|
|
131997
132044
|
registerUpdateServiceStatusTool(server);
|
|
131998
132045
|
}
|
|
132046
|
+
if (toolAllowlist)
|
|
132047
|
+
applyToolAllowlist(server, toolAllowlist);
|
|
131999
132048
|
return server;
|
|
132000
132049
|
}
|
|
132001
132050
|
|
|
@@ -134561,7 +134610,7 @@ class NotifyExecutor extends BaseExecutor {
|
|
|
134561
134610
|
}
|
|
134562
134611
|
}
|
|
134563
134612
|
case "slack": {
|
|
134564
|
-
const { getSlackApp: getSlackApp2 } = await import("./app-
|
|
134613
|
+
const { getSlackApp: getSlackApp2 } = await import("./app-nctetn1e.js");
|
|
134565
134614
|
const app = getSlackApp2();
|
|
134566
134615
|
if (!app) {
|
|
134567
134616
|
return {
|
|
@@ -134691,7 +134740,8 @@ async function executeRawLlm(config) {
|
|
|
134691
134740
|
modelName = llmConfig.model;
|
|
134692
134741
|
const provider = createOpenAI({
|
|
134693
134742
|
baseURL: llmConfig.baseURL,
|
|
134694
|
-
apiKey: llmConfig.apiKey
|
|
134743
|
+
apiKey: llmConfig.apiKey,
|
|
134744
|
+
headers: llmConfig.headers
|
|
134695
134745
|
});
|
|
134696
134746
|
const model = provider(llmConfig.model);
|
|
134697
134747
|
if (config.schema) {
|
|
@@ -135152,7 +135202,8 @@ class ValidateExecutor extends BaseExecutor {
|
|
|
135152
135202
|
const llmConfig = await resolveWorkflowLlmConfig();
|
|
135153
135203
|
const provider = createOpenAI({
|
|
135154
135204
|
baseURL: llmConfig.baseURL,
|
|
135155
|
-
apiKey: llmConfig.apiKey
|
|
135205
|
+
apiKey: llmConfig.apiKey,
|
|
135206
|
+
headers: llmConfig.headers
|
|
135156
135207
|
});
|
|
135157
135208
|
const { object: object4 } = await generateObject({
|
|
135158
135209
|
model: provider(llmConfig.model),
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
replaceTabs,
|
|
8
8
|
truncateMiddle,
|
|
9
9
|
writeOutputFile
|
|
10
|
-
} from "./cli-
|
|
10
|
+
} from "./cli-rhy7z1rp.js";
|
|
11
11
|
import {
|
|
12
12
|
Container,
|
|
13
13
|
Spacer,
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
keyHint,
|
|
18
18
|
normalizePath,
|
|
19
19
|
stripBom
|
|
20
|
-
} from "./cli-
|
|
20
|
+
} from "./cli-5t5my0h8.js";
|
|
21
21
|
import {
|
|
22
22
|
require_cross_spawn
|
|
23
23
|
} from "./cli-5bfdm1ah.js";
|
|
@@ -2647,6 +2647,7 @@ class StreamableHttpTransport extends TransportEvents {
|
|
|
2647
2647
|
sessionIdValue;
|
|
2648
2648
|
protocolVersion;
|
|
2649
2649
|
getStreamStarted = false;
|
|
2650
|
+
lastToken;
|
|
2650
2651
|
constructor(options) {
|
|
2651
2652
|
super();
|
|
2652
2653
|
this.options = Object.freeze({ ...options, headers: options.headers ? { ...options.headers } : undefined });
|
|
@@ -2705,16 +2706,14 @@ class StreamableHttpTransport extends TransportEvents {
|
|
|
2705
2706
|
this.closed = true;
|
|
2706
2707
|
this.controller.abort();
|
|
2707
2708
|
if (this.started && this.sessionIdValue) {
|
|
2708
|
-
const controller = new AbortController;
|
|
2709
|
-
const timeout = setTimeout(() => controller.abort(), 1000);
|
|
2710
2709
|
try {
|
|
2711
|
-
const
|
|
2712
|
-
|
|
2713
|
-
|
|
2710
|
+
const response = await this.fetch(this.url, {
|
|
2711
|
+
method: "DELETE",
|
|
2712
|
+
headers: this.buildHeaders({}, this.lastToken),
|
|
2713
|
+
signal: AbortSignal.timeout(1000)
|
|
2714
2714
|
});
|
|
2715
|
-
|
|
2716
|
-
|
|
2717
|
-
}
|
|
2715
|
+
await discard(response);
|
|
2716
|
+
} catch {}
|
|
2718
2717
|
}
|
|
2719
2718
|
this.emitClose();
|
|
2720
2719
|
}
|
|
@@ -2738,6 +2737,11 @@ class StreamableHttpTransport extends TransportEvents {
|
|
|
2738
2737
|
}
|
|
2739
2738
|
}
|
|
2740
2739
|
async headers(extra = {}) {
|
|
2740
|
+
const token = await this.options.authProvider?.token();
|
|
2741
|
+
this.lastToken = token;
|
|
2742
|
+
return { headers: this.buildHeaders(extra, token), ...token ? { token } : {} };
|
|
2743
|
+
}
|
|
2744
|
+
buildHeaders(extra, token) {
|
|
2741
2745
|
const headers = new Headers(this.options.headers);
|
|
2742
2746
|
for (const [name, value] of Object.entries(extra))
|
|
2743
2747
|
headers.set(name, value);
|
|
@@ -2745,10 +2749,9 @@ class StreamableHttpTransport extends TransportEvents {
|
|
|
2745
2749
|
headers.set("Mcp-Session-Id", this.sessionIdValue);
|
|
2746
2750
|
if (this.protocolVersion)
|
|
2747
2751
|
headers.set("MCP-Protocol-Version", this.protocolVersion);
|
|
2748
|
-
const token = await this.options.authProvider?.token();
|
|
2749
2752
|
if (token)
|
|
2750
2753
|
headers.set("Authorization", `Bearer ${token}`);
|
|
2751
|
-
return
|
|
2754
|
+
return headers;
|
|
2752
2755
|
}
|
|
2753
2756
|
captureSession(response) {
|
|
2754
2757
|
const sessionId = response.headers.get("mcp-session-id");
|
|
@@ -3829,4 +3832,4 @@ function readStoredCredential(providerId, authPath = join(getAgentDir(), "auth.j
|
|
|
3829
3832
|
}
|
|
3830
3833
|
}
|
|
3831
3834
|
|
|
3832
|
-
export { createToolNameMatcher, LIST_MCP_RESOURCES_TOOL, LIST_MCP_RESOURCE_TEMPLATES_TOOL, READ_MCP_RESOURCE_TOOL, isMcpToolName, mcpNamespace, getMcpToolExposure, validateMcpServerConfig, McpServerRegistry, getConfigValueEnvVarNames, isCommandConfigValue, isConfigValueConfigured, resolveConfigValueOrThrow, resolveHeadersOrThrow,
|
|
3835
|
+
export { require_proper_lockfile, createToolNameMatcher, LIST_MCP_RESOURCES_TOOL, LIST_MCP_RESOURCE_TEMPLATES_TOOL, READ_MCP_RESOURCE_TOOL, isMcpToolName, mcpNamespace, getMcpToolExposure, validateMcpServerConfig, McpServerRegistry, getConfigValueEnvVarNames, isCommandConfigValue, isConfigValueConfigured, resolveConfigValueOrThrow, resolveHeadersOrThrow, operationSignal, raceWithAbortSignal, FileAuthStorageBackend, ReadOnlyAuthStorage, AuthStorage, readStoredCredential, JSON_RPC_ERROR_CODES, McpError, isObject, LATEST_PROTOCOL_VERSION, McpClient, StdioTransport, McpHttpError, McpAuthRequiredError, McpSessionExpiredError, StreamableHttpTransport, createMcpToolName, createMcpToolDefinition, createMcpToolRenderers, isMcpAppResource, createMcpResourceToolDefinitions };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
clampThinkingLevel,
|
|
3
3
|
getSystemMessageText
|
|
4
|
-
} from "./cli-
|
|
4
|
+
} from "./cli-g7k7zbcz.js";
|
|
5
5
|
|
|
6
6
|
// node_modules/@earendil-works/pi-ai/dist/api/constrained-sampling.js
|
|
7
7
|
class UnsupportedStrictJsonSchemaError extends Error {
|
|
@@ -227,7 +227,7 @@ function createGrammarToolInputProperties(tools, supportsOpenAIGrammarTools) {
|
|
|
227
227
|
}
|
|
228
228
|
|
|
229
229
|
// node_modules/@earendil-works/pi-ai/dist/utils/estimate.js
|
|
230
|
-
var CHARS_PER_TOKEN =
|
|
230
|
+
var CHARS_PER_TOKEN = 3.5;
|
|
231
231
|
var ESTIMATED_IMAGE_CHARS = 4800;
|
|
232
232
|
function calculateContextTokens(usage) {
|
|
233
233
|
return usage.totalTokens || usage.input + usage.output + usage.cacheRead + usage.cacheWrite;
|
|
@@ -4,12 +4,12 @@ import {
|
|
|
4
4
|
linkIdentity,
|
|
5
5
|
recordUnmappedIdentity,
|
|
6
6
|
resolveIdentity
|
|
7
|
-
} from "./cli-
|
|
7
|
+
} from "./cli-wydz3feg.js";
|
|
8
8
|
import {
|
|
9
9
|
getKv,
|
|
10
10
|
init_db1 as init_db,
|
|
11
11
|
upsertKv
|
|
12
|
-
} from "./cli-
|
|
12
|
+
} from "./cli-mkdsy1nq.js";
|
|
13
13
|
|
|
14
14
|
// src/slack/enrich.ts
|
|
15
15
|
init_db();
|