@kodax-ai/kodax 0.7.76 → 0.7.78
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/CHANGELOG.md +758 -371
- package/LICENSE +158 -158
- package/README.md +1702 -1508
- package/README_CN.md +1019 -869
- package/config-templates/config.example.jsonc +86 -4
- package/config-templates/integrations/a2a.example.jsonc +98 -98
- package/config-templates/integrations/extensions.example.jsonc +7 -7
- package/config-templates/integrations/mcp.example.jsonc +16 -16
- package/dist/builtin/code-review/SKILL.md +22 -22
- package/dist/builtin/skill-creator/scripts/aggregate-benchmark.d.ts +46 -46
- package/dist/builtin/skill-creator/scripts/analyze-benchmark.d.ts +46 -46
- package/dist/builtin/skill-creator/scripts/compare-runs.d.ts +62 -62
- package/dist/builtin/skill-creator/scripts/generate-review.d.ts +33 -33
- package/dist/builtin/skill-creator/scripts/grade-evals.d.ts +73 -73
- package/dist/builtin/skill-creator/scripts/improve-description.d.ts +23 -23
- package/dist/builtin/skill-creator/scripts/init-skill.d.ts +14 -14
- package/dist/builtin/skill-creator/scripts/install-skill.d.ts +29 -29
- package/dist/builtin/skill-creator/scripts/package-skill.d.ts +38 -38
- package/dist/builtin/skill-creator/scripts/quick-validate.d.ts +8 -8
- package/dist/builtin/skill-creator/scripts/run-eval.d.ts +66 -66
- package/dist/builtin/skill-creator/scripts/run-loop.d.ts +49 -49
- package/dist/builtin/skill-creator/scripts/run-trigger-eval.d.ts +58 -58
- package/dist/chunks/agent-ASP4MS3X.js +2 -0
- package/dist/chunks/argument-completer-JYQ7FX3W.js +2 -0
- package/dist/chunks/chunk-2CFHBKRE.js +5 -0
- package/dist/chunks/chunk-35PPHOQ2.js +292 -0
- package/dist/chunks/chunk-43QNNDHR.js +29 -0
- package/dist/chunks/chunk-5BNQXXGY.js +1 -0
- package/dist/chunks/chunk-5GO6FH7L.js +458 -0
- package/dist/chunks/chunk-5NDCSFOP.js +78 -0
- package/dist/chunks/chunk-6FOJVETH.js +22 -0
- package/dist/chunks/chunk-6XM4B6K2.js +48 -0
- package/dist/chunks/chunk-6YZUE6NC.js +240 -0
- package/dist/chunks/{chunk-RDXRM3UI.js → chunk-7OEBJGHK.js} +1 -1
- package/dist/chunks/chunk-KQLQYHWU.js +386 -0
- package/dist/chunks/chunk-NXO6GWSY.js +46 -0
- package/dist/chunks/chunk-T2XZTLYE.js +316 -0
- package/dist/chunks/chunk-TQDBTTIM.js +348 -0
- package/dist/chunks/{chunk-SMT2JSM3.js → chunk-UID7BLAB.js} +9 -9
- package/dist/chunks/chunk-VAT2QYXM.js +765 -0
- package/dist/chunks/chunk-YAZQTC2L.js +5 -0
- package/dist/chunks/chunk-YVRYHC4C.js +655 -0
- package/dist/chunks/{chunk-PXKSE54E.js → chunk-Z3KFRTSB.js} +1 -1
- package/dist/chunks/compaction-config-BQSSIWK5.js +2 -0
- package/dist/chunks/{construction-bootstrap-5F5KF2BZ.js → construction-bootstrap-VQLQGWPY.js} +1 -1
- package/dist/chunks/dist-BFT5YIGU.js +2 -0
- package/dist/chunks/dist-PCFE24YP.js +2 -0
- package/dist/chunks/host-UTFXCYYM.js +2 -0
- package/dist/chunks/run-manager-PJU3WIFJ.js +2 -0
- package/dist/chunks/utils-SID4HW2Q.js +2 -0
- package/dist/index.d.ts +21 -19
- package/dist/index.js +6 -6
- package/dist/kodax_bootstrap.js +25 -25
- package/dist/kodax_cli.js +1787 -1341
- package/dist/kodax_resume.js +17 -17
- package/dist/provider-capabilities.json +392 -362
- package/dist/runtime-worker.js +1707 -1279
- package/dist/sandbox-workspace-session.js +563 -0
- package/dist/sdk-a2a.d.ts +18 -17
- package/dist/sdk-a2a.js +8 -8
- package/dist/sdk-agent.d.ts +320 -70
- package/dist/sdk-agent.js +1 -1
- package/dist/sdk-coding.d.ts +135 -168
- package/dist/sdk-coding.js +1 -1
- package/dist/sdk-experimental-memory.d.ts +14 -597
- package/dist/sdk-experimental-memory.js +1 -1
- package/dist/sdk-llm.d.ts +219 -6
- package/dist/sdk-llm.js +1 -1
- package/dist/sdk-mcp.js +1 -1
- package/dist/sdk-media.d.ts +1 -1
- package/dist/sdk-media.js +1 -1
- package/dist/sdk-repl.d.ts +70 -27
- package/dist/sdk-repl.js +2 -2
- package/dist/sdk-runtime.d.ts +212 -149
- package/dist/sdk-runtime.js +1 -1
- package/dist/sdk-sandbox.d.ts +93 -0
- package/dist/sdk-sandbox.js +2 -0
- package/dist/sdk-session.d.ts +8 -8
- package/dist/sdk-session.js +1 -1
- package/dist/sdk-skills.d.ts +2 -2
- package/dist/sdk-skills.js +1 -1
- package/dist/semantic-worker.js +15 -15
- package/dist/types-chunks/{base.d-ChvpaKjZ.d.ts → base.d-4e74xDdy.d.ts} +13 -1
- package/dist/types-chunks/{bash-prefix-extractor.d-r1beOESM.d.ts → bash-prefix-extractor.d-uAe2Oqda.d.ts} +319 -9
- package/dist/types-chunks/{capability-learning.d-DPrYxRjF.d.ts → capability-learning.d-CVsdHw4j.d.ts} +1 -1
- package/dist/types-chunks/{capsule.d-zeqV4IQX.d.ts → capsule.d-BlSv9l3V.d.ts} +2 -2
- package/dist/types-chunks/{guardrail.d-CWYD1bdL.d.ts → guardrail.d-BRE_ErEj.d.ts} +1 -1
- package/dist/types-chunks/{guardrail.d-qjuKJZ31.d.ts → guardrail.d-CXDYRgZ3.d.ts} +201 -35
- package/dist/types-chunks/{history-retrieval.d-BKTJIrVd.d.ts → history-retrieval.d-DtCy7x64.d.ts} +2 -2
- package/dist/types-chunks/{integration-config.d-ojG4swOP.d.ts → integration-config.d-BNowXE8k.d.ts} +23 -8
- package/dist/types-chunks/{public-api.d-CX4B11qY.d.ts → public-api.d-B3AohsxN.d.ts} +37 -8
- package/dist/types-chunks/{commands.d-DUxnK2TU.d.ts → repl.d-Ie_ZXb_U.d.ts} +89 -78
- package/dist/types-chunks/{side-query.d-DWTMsndP.d.ts → resolver.d-iAQ9ocLB.d.ts} +23 -74
- package/dist/types-chunks/{run-manager.d-B9fEIjZk.d.ts → run-manager.d-D1twIhF9.d.ts} +1 -1
- package/dist/types-chunks/{sdk-session-B0fhAOPa.d.ts → sdk-session-DB9KksIx.d.ts} +3 -3
- package/dist/types-chunks/side-query.d-DTuLPcC5.d.ts +77 -0
- package/dist/types-chunks/types-D3g6XUQr.d.ts +662 -0
- package/dist/types-chunks/{types.d-sRLugmjy.d.ts → types.d-BA-Jwpfs.d.ts} +506 -11
- package/dist/types-chunks/{types.d-DEctY20M.d.ts → types.d-BH0ZkTGf.d.ts} +2 -2
- package/dist/types-chunks/{types.d-DCQVBqVn.d.ts → types.d-BbtGlKZu.d.ts} +25 -3
- package/dist/types-chunks/{types.d-CSmF0t0n.d.ts → types.d-DIpZJKUl.d.ts} +15 -0
- package/dist/types-chunks/{types.d-Bm_y6YuM.d.ts → types.d-DVDTIfB_.d.ts} +4 -4
- package/dist/types-chunks/{utils.d-D0wPxz8y.d.ts → utils.d-CVp6bFl9.d.ts} +23 -7
- package/docs/SDK_EMBEDDER_GUIDE.md +592 -119
- package/package.json +9 -1
- package/scripts/kodax-bin.cjs +28 -28
- package/scripts/production-env.cjs +25 -25
- package/dist/chunks/agent-7X5CFET2.js +0 -2
- package/dist/chunks/argument-completer-3NHIKB4N.js +0 -2
- package/dist/chunks/chunk-4PWPNCNK.js +0 -158
- package/dist/chunks/chunk-7FJNLJLF.js +0 -369
- package/dist/chunks/chunk-COQYLD4U.js +0 -5
- package/dist/chunks/chunk-D3T24FJW.js +0 -78
- package/dist/chunks/chunk-EI4JBQKL.js +0 -46
- package/dist/chunks/chunk-HGT6WQ24.js +0 -321
- package/dist/chunks/chunk-HS3XHF3R.js +0 -622
- package/dist/chunks/chunk-IDCGNQ4H.js +0 -5
- package/dist/chunks/chunk-KAY2XLCP.js +0 -74
- package/dist/chunks/chunk-OD6LVXU6.js +0 -329
- package/dist/chunks/chunk-OSF3H4RR.js +0 -22
- package/dist/chunks/chunk-TGMBHGZO.js +0 -427
- package/dist/chunks/chunk-VWSLC2WO.js +0 -770
- package/dist/chunks/chunk-Y3AMP22L.js +0 -37
- package/dist/chunks/compaction-config-7J2XE35D.js +0 -2
- package/dist/chunks/dist-2RA7LSH3.js +0 -2
- package/dist/chunks/dist-URKXBOC6.js +0 -2
- package/dist/chunks/host-RKZ2OGFT.js +0 -2
- package/dist/chunks/run-manager-7RM4HEH6.js +0 -2
- package/dist/chunks/utils-X3TEH6IO.js +0 -2
- package/dist/types-chunks/center-types.d-BBT122uJ.d.ts +0 -91
|
@@ -0,0 +1,563 @@
|
|
|
1
|
+
// @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
|
|
2
|
+
var dn=Object.defineProperty;var t=(e,n)=>dn(e,"name",{value:n,configurable:!0});import{randomUUID as Xs}from"node:crypto";import{constants as wT,readdirSync as vT,statSync as bT,writeSync as Bs}from"node:fs";import{copyFile as ST,lstat as ET,mkdir as xT,readFile as Us,realpath as RT,rm as qs,stat as IT,writeFile as CT}from"node:fs/promises";import{createRequire as Ws}from"node:module";import tn from"node:path";import zs from"node:readline";import{fileURLToPath as MT,pathToFileURL as Hs}from"node:url";import{SandboxManager as P,getWindowsSandboxUserStatus as $T,installWindowsSandbox as NT,verifyWindowsWfpEgress as LT}from"@anthropic-ai/sandbox-runtime";import{getEncoding as oa}from"js-tiktoken";import{AsyncLocalStorage as ln}from"node:async_hooks";var la=new ln;import{AsyncLocalStorage as un}from"node:async_hooks";var Ca=new un;var M={transport:"native-api",conversationSemantics:"full-history",mcpSupport:"none",contextFidelity:"full",toolCallingFidelity:"full",sessionSupport:"full",longRunningSupport:"full",multimodalSupport:"none",evidenceSupport:"full"},Ie={...M,multimodalSupport:"image-input"},F={transport:"cli-bridge",conversationSemantics:"last-user-message",mcpSupport:"none",contextFidelity:"lossy",toolCallingFidelity:"limited",sessionSupport:"stateless",longRunningSupport:"limited",multimodalSupport:"none",evidenceSupport:"limited"},Ce={...F,multimodalSupport:"image-input"};import ic from"@anthropic-ai/sdk";import{parse as Wa}from"partial-json";import kc from"openai";import{ClientSideConnection as Dc,PROTOCOL_VERSION as jc,ndJsonStream as Kc}from"@agentclientprotocol/sdk";var Oc=String.raw`
|
|
3
|
+
using System;
|
|
4
|
+
using System.Runtime.InteropServices;
|
|
5
|
+
using System.Text;
|
|
6
|
+
public static class KodaXNativeProcessSnapshot {
|
|
7
|
+
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
|
|
8
|
+
private struct ProcessEntry32 {
|
|
9
|
+
public uint dwSize;
|
|
10
|
+
public uint cntUsage;
|
|
11
|
+
public uint th32ProcessID;
|
|
12
|
+
public IntPtr th32DefaultHeapID;
|
|
13
|
+
public uint th32ModuleID;
|
|
14
|
+
public uint cntThreads;
|
|
15
|
+
public uint th32ParentProcessID;
|
|
16
|
+
public int pcPriClassBase;
|
|
17
|
+
public uint dwFlags;
|
|
18
|
+
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)]
|
|
19
|
+
public string szExeFile;
|
|
20
|
+
}
|
|
21
|
+
[DllImport("kernel32.dll", SetLastError = true)]
|
|
22
|
+
private static extern IntPtr CreateToolhelp32Snapshot(uint flags, uint processId);
|
|
23
|
+
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
|
|
24
|
+
private static extern bool Process32First(IntPtr snapshot, ref ProcessEntry32 entry);
|
|
25
|
+
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
|
|
26
|
+
private static extern bool Process32Next(IntPtr snapshot, ref ProcessEntry32 entry);
|
|
27
|
+
[DllImport("kernel32.dll")]
|
|
28
|
+
private static extern bool CloseHandle(IntPtr handle);
|
|
29
|
+
public static string ReadRows() {
|
|
30
|
+
var snapshot = CreateToolhelp32Snapshot(2, 0);
|
|
31
|
+
if (snapshot == new IntPtr(-1)) return string.Empty;
|
|
32
|
+
var rows = new StringBuilder();
|
|
33
|
+
var entry = new ProcessEntry32();
|
|
34
|
+
entry.dwSize = (uint)Marshal.SizeOf(entry);
|
|
35
|
+
try {
|
|
36
|
+
if (!Process32First(snapshot, ref entry)) return string.Empty;
|
|
37
|
+
do {
|
|
38
|
+
rows.Append(entry.th32ProcessID).Append(',').Append(entry.th32ParentProcessID).Append('\n');
|
|
39
|
+
entry.dwSize = (uint)Marshal.SizeOf(entry);
|
|
40
|
+
} while (Process32Next(snapshot, ref entry));
|
|
41
|
+
return rows.ToString();
|
|
42
|
+
} finally {
|
|
43
|
+
CloseHandle(snapshot);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}`;import $e from"node:fs";import Ne from"node:os";import Le from"node:path";var On="gpt-5.4",$n="auto-gemini-3",Nn=["gpt-5.4","gpt-5.3-codex","gpt-5.3-codex-spark"],Ln=["auto-gemini-3","gemini-3.1-pro-preview","gemini-3-flash-preview","gemini-2.5-pro","gemini-2.5-flash"];function De(e){let n=new Set,r=[];for(let o of e){let i=o.trim();if(!i)continue;let s=i.toLowerCase();n.has(s)||(n.add(s),r.push(i))}return r}t(De,"dedupePreserveOrder");function Dn(){let e=Le.join(Ne.homedir(),".codex","config.toml");try{return $e.readFileSync(e,"utf8").match(/^\s*model\s*=\s*"([^"]+)"/m)?.[1]?.trim()||null}catch{return null}}t(Dn,"readCodexConfiguredModel");function jn(){let e=Le.join(Ne.homedir(),".gemini","settings.json");try{let n=JSON.parse($e.readFileSync(e,"utf8")),r=typeof n.model=="string"?n.model.trim():"";return r||(typeof n.general?.model=="string"?n.general.model.trim():"")||null}catch{return null}}t(jn,"readGeminiConfiguredModel");function C(){return Dn()||On}t(C,"getCodexCliDefaultModel");function T(){return jn()||$n}t(T,"getGeminiCliDefaultModel");function O(){return De([C(),...Nn])}t(O,"getCodexCliKnownModels");function $(){return De([T(),...Ln])}t($,"getGeminiCliKnownModels");var vd=T(),bd=$();var Md=C(),Od=O();import{existsSync as Gn,readFileSync as Jn}from"node:fs";import A from"node:path";import{fileURLToPath as Yn}from"node:url";var je=["none","prompt-only","native-effort","native-budget","native-toggle","native-adaptive","unknown"],Ke=["openai-responses-effort","openai-chat-effort","codex-cli-config","anthropic-output-effort","anthropic-reasoning-effort","provider-budget","provider-toggle","prompt-only","none"],Fe=["anthropic-adaptive","anthropic-budget","provider-budget","provider-toggle","none"],Xe=["zai-glm-5.2","zai-glm-toggle","deepseek-v4-openai","deepseek-v4-anthropic","deepseek-toggle","kimi-k3","kimi-k2.7-code","kimi-hybrid-toggle","minimax-m3","minimax-m2-always","mimo-v2.5-toggle","qwen-hybrid-thinking","openai-chat-reasoning","openai-responses-reasoning","codex-cli-effort","claude-adaptive-xhigh","claude-adaptive-max","anthropic-budget","generic-thinking-toggle","none"],Be=["native","image-input-native","cli-bridge","image-input-cli-bridge"],Ue=["count-tokens","models-list","minimal-message","unsupported"];function k(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}t(k,"isPlainObject");function R(e,n){if(typeof e!="string"||e.length===0)throw new Error(`provider-capabilities.json: ${n} must be a non-empty string`);return e}t(R,"requireString");function _(e,n){if(e!==void 0)return R(e,n)}t(_,"optionalString");function x(e,n){if(e!==void 0){if(typeof e!="number"||!Number.isFinite(e)||e<0)throw new Error(`provider-capabilities.json: ${n} must be a non-negative finite number`);return e}}t(x,"optionalNumber");function g(e,n){if(e!==void 0){if(typeof e!="boolean")throw new Error(`provider-capabilities.json: ${n} must be a boolean`);return e}}t(g,"optionalBoolean");function qe(e,n){if(e!==void 0){if(!Array.isArray(e))throw new Error(`provider-capabilities.json: ${n} must be an array`);return e.map((r,o)=>R(r,`${n}[${o}]`))}}t(qe,"optionalStringArray");function Fn(e,n){if(e===void 0)return;if(!k(e))throw new Error(`provider-capabilities.json: ${n} must be an object`);let r={};for(let[o,i]of Object.entries(e))r[o]=R(i,`${n}.${o}`);return r}t(Fn,"optionalStringMap");function Xn(e,n){if(e!==void 0){if(typeof e!="string"||!Xe.includes(e))throw new Error(`provider-capabilities.json: ${n} must be one of ${Xe.join(", ")}, got ${JSON.stringify(e)}`);return e}}t(Xn,"optionalReasoningPreset");function ne(e,n){if(typeof e!="string"||!je.includes(e))throw new Error(`provider-capabilities.json: ${n} must be one of ${je.join(", ")}, got ${JSON.stringify(e)}`);return e}t(ne,"requireReasoningCapability");function Bn(e,n){if(typeof e!="string"||!Ke.includes(e))throw new Error(`provider-capabilities.json: ${n} must be one of ${Ke.join(", ")}, got ${JSON.stringify(e)}`);return e}t(Bn,"requireEffortStrategy");function Un(e,n){if(e!==void 0){if(typeof e!="string"||!Fe.includes(e))throw new Error(`provider-capabilities.json: ${n} must be one of ${Fe.join(", ")}, got ${JSON.stringify(e)}`);return e}}t(Un,"optionalThinkingStrategy");function We(e,n){if(e===void 0)return;if(!k(e))throw new Error(`provider-capabilities.json: ${n} must be an object`);let r=Bn(e.effortStrategy,`${n}.effortStrategy`),o=Xn(e.reasoningPreset,`${n}.reasoningPreset`),i=Un(e.thinkingStrategy,`${n}.thinkingStrategy`),s=_(e.defaultEffort,`${n}.defaultEffort`),c=Fn(e.effortAliases,`${n}.effortAliases`),a=qe(e.disabledEfforts,`${n}.disabledEfforts`),d=qe(e.localRejectEfforts,`${n}.localRejectEfforts`),f=g(e.allowCustomEffort,`${n}.allowCustomEffort`),m=g(e.supportsReasoningEffort,`${n}.supportsReasoningEffort`),h=g(e.supportsReasoningSummary,`${n}.supportsReasoningSummary`),S=g(e.supportsEncryptedReasoningReplay,`${n}.supportsEncryptedReasoningReplay`),u=g(e.supportsAdaptiveThinking,`${n}.supportsAdaptiveThinking`),E=g(e.supportsManualThinkingBudget,`${n}.supportsManualThinkingBudget`),y=g(e.supportsDisabledThinking,`${n}.supportsDisabledThinking`),K=g(e.requiresEffortBetaHeader,`${n}.requiresEffortBetaHeader`),l={effortStrategy:r};if(o!==void 0&&(l.reasoningPreset=o),i!==void 0&&(l.thinkingStrategy=i),s!==void 0&&(l.defaultEffort=s),c!==void 0&&(l.effortAliases=c),a!==void 0&&(l.disabledEfforts=a),d!==void 0&&(l.localRejectEfforts=d),e.supportedEfforts!==void 0){if(!Array.isArray(e.supportedEfforts))throw new Error(`provider-capabilities.json: ${n}.supportedEfforts must be an array`);l.supportedEfforts=e.supportedEfforts.map((p,v)=>{if(!k(p))throw new Error(`provider-capabilities.json: ${n}.supportedEfforts[${v}] must be an object`);return{value:R(p.value,`${n}.supportedEfforts[${v}].value`),..._(p.description,`${n}.supportedEfforts[${v}].description`)!==void 0?{description:_(p.description,`${n}.supportedEfforts[${v}].description`)}:{},...g(p.isDefault,`${n}.supportedEfforts[${v}].isDefault`)!==void 0?{isDefault:g(p.isDefault,`${n}.supportedEfforts[${v}].isDefault`)}:{},...g(p.isUserVisible,`${n}.supportedEfforts[${v}].isUserVisible`)!==void 0?{isUserVisible:g(p.isUserVisible,`${n}.supportedEfforts[${v}].isUserVisible`)}:{}}})}if(e.budgetByEffort!==void 0){if(!k(e.budgetByEffort))throw new Error(`provider-capabilities.json: ${n}.budgetByEffort must be an object`);let p={};for(let[v,Re]of Object.entries(e.budgetByEffort))p[v]=x(Re,`${n}.budgetByEffort.${v}`)??0;l.budgetByEffort=p}return f!==void 0&&(l.allowCustomEffort=f),m!==void 0&&(l.supportsReasoningEffort=m),h!==void 0&&(l.supportsReasoningSummary=h),S!==void 0&&(l.supportsEncryptedReasoningReplay=S),u!==void 0&&(l.supportsAdaptiveThinking=u),E!==void 0&&(l.supportsManualThinkingBudget=E),y!==void 0&&(l.supportsDisabledThinking=y),K!==void 0&&(l.requiresEffortBetaHeader=K),l}t(We,"validateReasoningProfile");function ze(e,n){let r=e.reasoningProfile,o=e.reasoningCapabilityV2;if(r!==void 0&&o!==void 0)throw new Error(`provider-capabilities.json: ${n} must not define both reasoningProfile and deprecated reasoningCapabilityV2`);return r!==void 0?We(r,`${n}.reasoningProfile`):We(o,`${n}.reasoningCapabilityV2`)}t(ze,"validateReasoningProfileField");function qn(e,n){if(typeof e!="string"||!Be.includes(e))throw new Error(`provider-capabilities.json: ${n} must be one of ${Be.join(", ")}, got ${JSON.stringify(e)}`);return e}t(qn,"requireProfileName");function Wn(e,n){if(typeof e!="string"||!Ue.includes(e))throw new Error(`provider-capabilities.json: ${n} must be one of ${Ue.join(", ")}, got ${JSON.stringify(e)}`);return e}t(Wn,"requireVerifyStrategy");function zn(e,n){if(!k(e))throw new Error(`provider-capabilities.json: ${n} must be an object`);let r=R(e.id,`${n}.id`),o=_(e.wireModel,`${n}.wireModel`),i=_(e.displayName,`${n}.displayName`),s=x(e.contextWindow,`${n}.contextWindow`),c=x(e.maxOutputTokens,`${n}.maxOutputTokens`),a=x(e.thinkingBudgetCap,`${n}.thinkingBudgetCap`),d=g(e.replayReasoningContent,`${n}.replayReasoningContent`),f=g(e.strictThinkingSignature,`${n}.strictThinkingSignature`),m=x(e.streamMaxDurationMs,`${n}.streamMaxDurationMs`),h=e.reasoningCapability===void 0?void 0:ne(e.reasoningCapability,`${n}.reasoningCapability`),S=ze(e,n),u={id:r};return o!==void 0&&(u.wireModel=o),i!==void 0&&(u.displayName=i),s!==void 0&&(u.contextWindow=s),c!==void 0&&(u.maxOutputTokens=c),a!==void 0&&(u.thinkingBudgetCap=a),h!==void 0&&(u.reasoningCapability=h),S!==void 0&&(u.reasoningProfile=S),d!==void 0&&(u.replayReasoningContent=d),f!==void 0&&(u.strictThinkingSignature=f),m!==void 0&&(u.streamMaxDurationMs=m),u}t(zn,"validateModelDescriptor");function Hn(e,n){if(e===void 0)return;if(!k(e))throw new Error(`provider-capabilities.json: ${n} must be an object`);let r={};for(let[o,i]of Object.entries(e))r[o]=ne(i,`${n}.${o}`);return r}t(Hn,"validateModelReasoningCapabilities");function Vn(e,n){if(!k(e))throw new Error(`provider-capabilities.json: providers.${n} must be an object`);let r=g(e.cliBridge,`providers.${n}.cliBridge`),o=R(e.apiKeyEnv,`providers.${n}.apiKeyEnv`),i=ne(e.reasoningCapability,`providers.${n}.reasoningCapability`),s=ze(e,`providers.${n}`),c=qn(e.capabilityProfile,`providers.${n}.capabilityProfile`),a=Wn(e.verifyStrategy,`providers.${n}.verifyStrategy`);if(r&&a!=="unsupported")throw new Error(`provider-capabilities.json: providers.${n} is a cliBridge entry but verifyStrategy="${a}" \u2014 must be "unsupported" (CLI binary owns credentials)`);let d=x(e.contextWindow,`providers.${n}.contextWindow`),f=x(e.maxOutputTokens,`providers.${n}.maxOutputTokens`),m=x(e.thinkingBudgetCap,`providers.${n}.thinkingBudgetCap`),h=g(e.supportsThinking,`providers.${n}.supportsThinking`),S=Hn(e.modelReasoningCapabilities,`providers.${n}.modelReasoningCapabilities`),u=_(e.model,`providers.${n}.model`);if(r&&(u!==void 0||e.models!==void 0))throw new Error(`provider-capabilities.json: providers.${n} is a cliBridge entry but defines model/models \u2014 must be omitted (filled at load time)`);if(!r&&u===void 0)throw new Error(`provider-capabilities.json: providers.${n}.model is required (only cliBridge entries may omit)`);let E;if(e.models!==void 0){if(!Array.isArray(e.models))throw new Error(`provider-capabilities.json: providers.${n}.models must be an array`);E=e.models.map((l,p)=>zn(l,`providers.${n}.models[${p}]`));let K=new Set([...u===void 0?[]:[u],...E.map(l=>l.id)]);for(let[l,p]of E.entries())if(p.wireModel!==void 0&&!K.has(p.wireModel))throw new Error(`provider-capabilities.json: providers.${n}.models[${l}].wireModel must reference a declared model, got ${JSON.stringify(p.wireModel)}`)}let y={apiKeyEnv:o,reasoningCapability:i,capabilityProfile:c,verifyStrategy:a};return s!==void 0&&(y.reasoningProfile=s),u!==void 0&&(y.model=u),E!==void 0&&(y.models=E),d!==void 0&&(y.contextWindow=d),f!==void 0&&(y.maxOutputTokens=f),m!==void 0&&(y.thinkingBudgetCap=m),h!==void 0&&(y.supportsThinking=h),S!==void 0&&(y.modelReasoningCapabilities=S),r&&(y.cliBridge=!0),y}t(Vn,"validateProviderEntry");function He(e){if(!k(e))throw new Error("provider-capabilities.json: root must be an object");if(e.version!==1)throw new Error(`provider-capabilities.json: version must be 1, got ${JSON.stringify(e.version)}`);let n=R(e.updatedAt,"updatedAt");if(!k(e.providers))throw new Error("provider-capabilities.json: providers must be an object");let r={};for(let[o,i]of Object.entries(e.providers))r[o]=Vn(i,o);return{version:1,updatedAt:n,providers:r}}t(He,"validateProviderCapabilitiesJson");var Qn=Object.freeze({native:M,"image-input-native":Ie,"cli-bridge":F,"image-input-cli-bridge":Ce}),q=null;function Zn(){if(process.env.KODAX_BUNDLED==="true")return A.join(A.dirname(process.execPath),"provider-capabilities.json");let e=A.dirname(Yn(import.meta.url)),n=[A.join(e,"provider-capabilities.json"),A.join(A.dirname(e),"provider-capabilities.json")];for(let r of n)if(Gn(r))return r;return n[0]}t(Zn,"resolveJsonPath");function er(e){if(e.models){for(let n of e.models)n.reasoningProfile&&Ve(n.reasoningProfile);for(let n of e.models)Object.freeze(n);Object.freeze(e.models)}return e.reasoningProfile&&Ve(e.reasoningProfile),e.modelReasoningCapabilities&&Object.freeze(e.modelReasoningCapabilities),Object.freeze(e)}t(er,"deepFreezeSnapshot");function Ve(e){if(e.supportedEfforts){for(let n of e.supportedEfforts)Object.freeze(n);Object.freeze(e.supportedEfforts)}e.budgetByEffort&&Object.freeze(e.budgetByEffort),e.effortAliases&&Object.freeze(e.effortAliases),e.disabledEfforts&&Object.freeze(e.disabledEfforts),e.localRejectEfforts&&Object.freeze(e.localRejectEfforts),Object.freeze(e)}t(Ve,"freezeReasoningProfile");function tr(e){if(e==="gemini-cli"){let n=T();return{model:n,models:$().filter(r=>r!==n).map(r=>({id:r}))}}if(e==="codex-cli"){let n=C();return{model:n,models:O().filter(r=>r!==n).map(r=>({id:r}))}}throw new Error(`provider-capabilities loader: unknown cliBridge provider '${e}'`)}t(tr,"resolveCliBridgeModels");function nr(e,n){let r=Qn[n.capabilityProfile];if(!r)throw new Error(`provider-capabilities loader: unknown capabilityProfile '${n.capabilityProfile}' for provider '${e}'`);if(n.cliBridge){let i=tr(e),s={model:i.model,models:i.models,apiKeyEnv:n.apiKeyEnv,reasoningCapability:n.reasoningCapability,capabilityProfile:r,verifyStrategy:n.verifyStrategy};return n.reasoningProfile!==void 0&&(s.reasoningProfile=n.reasoningProfile),n.supportsThinking!==void 0&&(s.supportsThinking=n.supportsThinking),s}let o={model:n.model,apiKeyEnv:n.apiKeyEnv,reasoningCapability:n.reasoningCapability,capabilityProfile:r,verifyStrategy:n.verifyStrategy};return n.reasoningProfile!==void 0&&(o.reasoningProfile=n.reasoningProfile),n.models!==void 0&&(o.models=n.models),n.modelReasoningCapabilities!==void 0&&(o.modelReasoningCapabilities=n.modelReasoningCapabilities),n.contextWindow!==void 0&&(o.contextWindow=n.contextWindow),n.maxOutputTokens!==void 0&&(o.maxOutputTokens=n.maxOutputTokens),n.thinkingBudgetCap!==void 0&&(o.thinkingBudgetCap=n.thinkingBudgetCap),n.supportsThinking!==void 0&&(o.supportsThinking=n.supportsThinking),o}t(nr,"buildSnapshot");function Ge(){if(q)return q;let e=Zn(),n;try{let i=Jn(e,"utf8");n=JSON.parse(i)}catch(i){let s=i instanceof Error?i.message:String(i);throw new Error(`provider-capabilities loader: failed to read ${e}: ${s}`)}let r=He(n),o={};for(let[i,s]of Object.entries(r.providers))o[i]=er(nr(i,s));return q=Object.freeze(o),q}t(Ge,"getProviderSnapshots");import rl from"@anthropic-ai/sdk";var W=Ge();var Je=process.env.KODAX_PROVIDER??"zhipu-coding";var N=class e{static{t(this,"SpanImpl")}id;traceId;parentId;name;data;startedAt;_endedAt;_error;_children=[];now;nextSpanId;onChildCreated;onSpanEnd;_ended=!1;constructor(n){this.id=n.id,this.traceId=n.traceId,this.parentId=n.parentId,this.name=n.name,this.data=n.data,this.now=n.now??(()=>Date.now()),this.startedAt=n.startedAt??this.now(),this.nextSpanId=n.nextSpanId??$r,this.onChildCreated=n.onChildCreated,this.onSpanEnd=n.onSpanEnd}get endedAt(){return this._endedAt}get error(){return this._error}get children(){return this._children}addChild(n,r){let o=new e({id:this.nextSpanId(),traceId:this.traceId,parentId:this.id,name:n,data:r,now:this.now,nextSpanId:this.nextSpanId,onChildCreated:this.onChildCreated,onSpanEnd:this.onSpanEnd});return this._children.push(o),this.onChildCreated&&this.onChildCreated(o),o}setError(n){n instanceof Error?this._error={message:n.message,stack:n.stack}:this._error=n}end(){this._ended||(this._ended=!0,this._endedAt=this.now(),this.onSpanEnd&&this.onSpanEnd(this))}},pt=0;function $r(){pt+=1;let e=Math.random().toString(36).slice(2,8);return`span-${Date.now()}-${pt}-${e}`}t($r,"defaultNextSpanId");var mt=0;function Nr(){mt+=1;let e=Math.random().toString(36).slice(2,8);return`trace-${Date.now()}-${mt}-${e}`}t(Nr,"defaultNextTraceId");function de(e={}){let n=e.now??(()=>Date.now()),r=e.id??(e.nextTraceId??Nr)(),o=n(),i=e.name??"trace",s=e.metadata??new Map,c=e.rootSpanData??{kind:"agent",agentName:i},a=!1,d,f,m=new N({id:`${r}-root`,traceId:r,name:i,data:c,startedAt:o,now:n,nextSpanId:e.nextSpanId,onChildCreated:e.onSpanStart,onSpanEnd:e.onSpanEnd});e.onSpanStart&&e.onSpanStart(m);let h={id:r,startedAt:o,rootSpan:m,metadata:s,get endedAt(){return d},get error(){return f??m.error},end(){a||(a=!0,d=n(),m.end(),e.onTraceEnd&&e.onTraceEnd(h))}};return h}t(de,"createTrace");var le=[];function ue(e){for(let n of le)try{n.onSpanStart(e)}catch{}}t(ue,"_emitSpanStart");function fe(e){for(let n of le)try{n.onSpanEnd(e)}catch{}}t(fe,"_emitSpanEnd");function pe(e){for(let n of le)try{n.onTraceEnd(e)}catch{}}t(pe,"_emitTraceEnd");var z=class{static{t(this,"Tracer")}options;constructor(n={}){this.options=n}startTrace(n={}){return de({id:n.id,name:n.name,rootSpanData:n.rootSpanData,metadata:n.metadata,now:this.options.now,nextSpanId:this.options.nextSpanId,nextTraceId:this.options.nextTraceId,onSpanStart:ue,onSpanEnd:fe,onTraceEnd:pe})}},gt=new z;var Xr=["read","edit","bash:test","bash:read-only","bash:mutating","bash:network","subagent"];var Wf=new Set(Xr);var H="ELECTRON_RUN_AS_NODE",V="data:text/javascript,delete%20process.env.ELECTRON_RUN_AS_NODE";var Lp=String.raw`
|
|
47
|
+
using System;
|
|
48
|
+
using System.Runtime.InteropServices;
|
|
49
|
+
using System.Text;
|
|
50
|
+
public static class KodaXNativeProcessSnapshot {
|
|
51
|
+
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
|
|
52
|
+
private struct ProcessEntry32 {
|
|
53
|
+
public uint dwSize;
|
|
54
|
+
public uint cntUsage;
|
|
55
|
+
public uint th32ProcessID;
|
|
56
|
+
public IntPtr th32DefaultHeapID;
|
|
57
|
+
public uint th32ModuleID;
|
|
58
|
+
public uint cntThreads;
|
|
59
|
+
public uint th32ParentProcessID;
|
|
60
|
+
public int pcPriClassBase;
|
|
61
|
+
public uint dwFlags;
|
|
62
|
+
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)]
|
|
63
|
+
public string szExeFile;
|
|
64
|
+
}
|
|
65
|
+
[DllImport("kernel32.dll", SetLastError = true)]
|
|
66
|
+
private static extern IntPtr CreateToolhelp32Snapshot(uint flags, uint processId);
|
|
67
|
+
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
|
|
68
|
+
private static extern bool Process32First(IntPtr snapshot, ref ProcessEntry32 entry);
|
|
69
|
+
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
|
|
70
|
+
private static extern bool Process32Next(IntPtr snapshot, ref ProcessEntry32 entry);
|
|
71
|
+
[DllImport("kernel32.dll")]
|
|
72
|
+
private static extern bool CloseHandle(IntPtr handle);
|
|
73
|
+
public static string ReadRows() {
|
|
74
|
+
var snapshot = CreateToolhelp32Snapshot(2, 0);
|
|
75
|
+
if (snapshot == new IntPtr(-1)) return string.Empty;
|
|
76
|
+
var rows = new StringBuilder();
|
|
77
|
+
var entry = new ProcessEntry32();
|
|
78
|
+
entry.dwSize = (uint)Marshal.SizeOf(entry);
|
|
79
|
+
try {
|
|
80
|
+
if (!Process32First(snapshot, ref entry)) return string.Empty;
|
|
81
|
+
do {
|
|
82
|
+
rows.Append(entry.th32ProcessID).Append(',').Append(entry.th32ParentProcessID).Append('\n');
|
|
83
|
+
entry.dwSize = (uint)Marshal.SizeOf(entry);
|
|
84
|
+
} while (Process32Next(snapshot, ref entry));
|
|
85
|
+
return rows.ToString();
|
|
86
|
+
} finally {
|
|
87
|
+
CloseHandle(snapshot);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}`;import{Jimp as cm}from"jimp";var wo=Math.floor(3.75*1024*1024);var bo=1440*60*1e3;import{fileURLToPath as Ho}from"url";import{dirname as Vo}from"path";var Go=Ho(import.meta.url),uh=Vo(Go);import gh from"yaml";var Ct=64*1024,Tt=256*1024;var ry=1024*1024;var Oy=16*1024;var By=16*1024;var kv=1440*60*1e3;var Tv=5*6e4;var hb=new Intl.Segmenter("zh-CN",{granularity:"word"});var vk=String.raw`const TOOL_NAME = 'echo_tool';
|
|
91
|
+
const RESOURCE_URI = 'memory://guide';
|
|
92
|
+
const PROMPT_NAME = 'draft_prompt';
|
|
93
|
+
let buffer = '';
|
|
94
|
+
|
|
95
|
+
function writeMessage(payload) {
|
|
96
|
+
process.stdout.write(JSON.stringify(payload) + '\n');
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
function handleRequest(message) {
|
|
100
|
+
const id = message.id;
|
|
101
|
+
const method = message.method;
|
|
102
|
+
const params = message.params || {};
|
|
103
|
+
if (method === 'initialize') {
|
|
104
|
+
writeMessage({
|
|
105
|
+
jsonrpc: '2.0',
|
|
106
|
+
id,
|
|
107
|
+
result: {
|
|
108
|
+
protocolVersion: '2025-11-25',
|
|
109
|
+
capabilities: {
|
|
110
|
+
tools: {},
|
|
111
|
+
resources: {},
|
|
112
|
+
prompts: {},
|
|
113
|
+
},
|
|
114
|
+
serverInfo: {
|
|
115
|
+
name: 'kodax-mcp-test-server',
|
|
116
|
+
version: '1.0.0',
|
|
117
|
+
},
|
|
118
|
+
},
|
|
119
|
+
});
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
if (method === 'tools/list') {
|
|
123
|
+
writeMessage({
|
|
124
|
+
jsonrpc: '2.0',
|
|
125
|
+
id,
|
|
126
|
+
result: {
|
|
127
|
+
tools: [{
|
|
128
|
+
name: TOOL_NAME,
|
|
129
|
+
title: 'Echo Tool',
|
|
130
|
+
description: 'Echo text back from the MCP test server.',
|
|
131
|
+
inputSchema: {
|
|
132
|
+
type: 'object',
|
|
133
|
+
properties: {
|
|
134
|
+
text: { type: 'string' },
|
|
135
|
+
mode: { type: 'string' },
|
|
136
|
+
},
|
|
137
|
+
required: ['text'],
|
|
138
|
+
},
|
|
139
|
+
annotations: {
|
|
140
|
+
destructive: false,
|
|
141
|
+
},
|
|
142
|
+
}],
|
|
143
|
+
},
|
|
144
|
+
});
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
if (method === 'resources/list') {
|
|
148
|
+
writeMessage({
|
|
149
|
+
jsonrpc: '2.0',
|
|
150
|
+
id,
|
|
151
|
+
result: {
|
|
152
|
+
resources: [{
|
|
153
|
+
uri: RESOURCE_URI,
|
|
154
|
+
title: 'Guide Resource',
|
|
155
|
+
description: 'Provides guide text.',
|
|
156
|
+
mimeType: 'text/plain',
|
|
157
|
+
}],
|
|
158
|
+
},
|
|
159
|
+
});
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
if (method === 'prompts/list') {
|
|
163
|
+
writeMessage({
|
|
164
|
+
jsonrpc: '2.0',
|
|
165
|
+
id,
|
|
166
|
+
result: {
|
|
167
|
+
prompts: [{
|
|
168
|
+
name: PROMPT_NAME,
|
|
169
|
+
title: 'Draft Prompt',
|
|
170
|
+
description: 'A simple prompt from the MCP test server.',
|
|
171
|
+
}],
|
|
172
|
+
},
|
|
173
|
+
});
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
if (method === 'tools/call') {
|
|
177
|
+
const args = params.arguments || params.args || {};
|
|
178
|
+
writeMessage({
|
|
179
|
+
jsonrpc: '2.0',
|
|
180
|
+
id,
|
|
181
|
+
result: {
|
|
182
|
+
content: [{
|
|
183
|
+
type: 'text',
|
|
184
|
+
text: 'echo:' + String(args.text || ''),
|
|
185
|
+
}],
|
|
186
|
+
structuredContent: {
|
|
187
|
+
echo: args.text || '',
|
|
188
|
+
mode: args.mode || null,
|
|
189
|
+
},
|
|
190
|
+
},
|
|
191
|
+
});
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
if (method === 'resources/read') {
|
|
195
|
+
const uri = params.uri || params.name || RESOURCE_URI;
|
|
196
|
+
writeMessage({
|
|
197
|
+
jsonrpc: '2.0',
|
|
198
|
+
id,
|
|
199
|
+
result: {
|
|
200
|
+
contents: [{
|
|
201
|
+
uri,
|
|
202
|
+
mimeType: 'text/plain',
|
|
203
|
+
text: 'resource:' + String(uri),
|
|
204
|
+
}],
|
|
205
|
+
},
|
|
206
|
+
});
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
if (method === 'prompts/get') {
|
|
210
|
+
const args = params.arguments || params.args || {};
|
|
211
|
+
const topic = args.topic || 'none';
|
|
212
|
+
writeMessage({
|
|
213
|
+
jsonrpc: '2.0',
|
|
214
|
+
id,
|
|
215
|
+
result: {
|
|
216
|
+
description: 'Prompt result for ' + String(params.name || PROMPT_NAME),
|
|
217
|
+
messages: [{
|
|
218
|
+
role: 'user',
|
|
219
|
+
content: {
|
|
220
|
+
type: 'text',
|
|
221
|
+
text: 'prompt:' + String(params.name || PROMPT_NAME) + ':' + String(topic),
|
|
222
|
+
},
|
|
223
|
+
}],
|
|
224
|
+
},
|
|
225
|
+
});
|
|
226
|
+
return;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
writeMessage({
|
|
230
|
+
jsonrpc: '2.0',
|
|
231
|
+
id,
|
|
232
|
+
error: {
|
|
233
|
+
code: -32601,
|
|
234
|
+
message: 'Method not found: ' + String(method),
|
|
235
|
+
},
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
function handleFrame(raw) {
|
|
240
|
+
let message;
|
|
241
|
+
try {
|
|
242
|
+
message = JSON.parse(raw);
|
|
243
|
+
} catch (error) {
|
|
244
|
+
process.stderr.write('bad json: ' + String(error) + '\n');
|
|
245
|
+
return;
|
|
246
|
+
}
|
|
247
|
+
if (message.id !== undefined) {
|
|
248
|
+
handleRequest(message);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
process.stdin.setEncoding('utf8');
|
|
253
|
+
process.stdin.on('data', (chunk) => {
|
|
254
|
+
buffer += chunk;
|
|
255
|
+
while (true) {
|
|
256
|
+
const lineEnd = buffer.indexOf('\n');
|
|
257
|
+
if (lineEnd < 0) {
|
|
258
|
+
return;
|
|
259
|
+
}
|
|
260
|
+
const line = buffer.slice(0, lineEnd).replace(/\r$/, '').trim();
|
|
261
|
+
buffer = buffer.slice(lineEnd + 1);
|
|
262
|
+
if (line) {
|
|
263
|
+
handleFrame(line);
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
});
|
|
267
|
+
|
|
268
|
+
process.on('SIGTERM', () => process.exit(0));
|
|
269
|
+
process.on('SIGINT', () => process.exit(0));
|
|
270
|
+
`;var Ht=Object.freeze(["message","label","compaction","branch_summary","archive_marker","rewind_marker","artifact_ledger","memory_outcome_digest","memory_review_receipt"]),es=0,ts=0,Vt=t(e=>{let n=e==="label"?++es:++ts,r=Math.random().toString(36).slice(2,8);return`${e}-${Date.now()}-${n}-${r}`},"nextId");async function ns(e,n,r){let o=Vt("label");return await e.append({id:o,ts:Date.now(),type:"label",payload:{targetId:n,label:r}}),o}t(ns,"appendLabel");async function rs(e,n,r){let o=Vt("artifact");return await e.append({id:o,ts:Date.now(),type:"artifact_ledger",payload:{ref:n,summary:r}}),o}t(rs,"appendArtifact");function os(e){let n=[],r=new Map,o=[],i=null;for(let s of e){if(s.type==="label"){let a=s.payload;a?.targetId&&o.push({targetId:a.targetId,label:a.label});continue}let c={entry:s,children:[]};if(s.type==="message"){n.push(c),r.set(s.id,c),i=c;continue}i?i.children.push(c):n.push(c)}for(let{targetId:s,label:c}of o){let a=r.get(s);a&&c!==void 0&&(a.label=c)}return n}t(os,"buildLineageTree");var is=Object.freeze({name:"lineage",entryTypes:Ht,operators:Object.freeze({label:t((async(e,...n)=>{let[r,o]=n;return ns(e,r,o)}),"label"),attachArtifact:t((async(e,...n)=>{let[r,o]=n;return rs(e,r,o)}),"attachArtifact")}),reducers:Object.freeze({buildLineageTree:t(e=>os(e),"buildLineageTree")})});var ms=new Set(["skill","ask_user_question","exit_plan_mode","spawn_agent","send_message","followup_task","wait_agent","interrupt_agent","list_agents","agent_output","tool_search","get_goal","create_goal","update_goal","todo_create","todo_update","todo_list","todo_get","worktree_create","worktree_remove","undo","mcp_search","mcp_describe","mcp_call","mcp_read_resource","mcp_get_prompt","repo_overview","changed_scope","changed_diff","changed_diff_bundle","module_context","symbol_context","process_context","impact_estimate","relationship_scan","cyclic_dependencies","semantic_lookup"]),ke=ms,Z=`[\u5BF9\u8BDD\u5386\u53F2\u6458\u8981]
|
|
271
|
+
|
|
272
|
+
`;var LS=Z.trimEnd();var vs={enabled:!1,maxAge:20,protectedTools:Array.from(ke)};import Fx from"typescript";var nI=new Intl.Segmenter("en",{granularity:"grapheme"});var Vs=Ws(import.meta.url),jT=process.env.KODAX_BUNDLED==="true"?void 0:Hs(Vs.resolve("@anthropic-ai/sandbox-runtime")).href;var KT=[".ssh",".aws",".azure",".gnupg",".kube",".docker",".kodax",".agents",tn.join(".config","gcloud"),tn.join(".config","gh"),".env",".env.local",".env.development",".env.production",".env.test",".env.staging",".npmrc",".pypirc",".netrc",".git-credentials","credentials","credentials.json","application_default_credentials.json","id_rsa","id_dsa","id_ecdsa","id_ed25519"],nn=JSON.stringify(V),Ee=JSON.stringify(H),Gs=String.raw`
|
|
273
|
+
const { spawn } = require('node:child_process');
|
|
274
|
+
const { writeSync } = require('node:fs');
|
|
275
|
+
const input = JSON.parse(Buffer.from(process.argv[2], 'base64').toString('utf8'));
|
|
276
|
+
const child = spawn(input.command, input.args, {
|
|
277
|
+
cwd: input.cwd,
|
|
278
|
+
env: process.env,
|
|
279
|
+
shell: false,
|
|
280
|
+
stdio: ['inherit', 'inherit', 'pipe'],
|
|
281
|
+
windowsHide: true,
|
|
282
|
+
});
|
|
283
|
+
const stop = (signal) => child.kill(signal);
|
|
284
|
+
process.once('SIGINT', () => stop('SIGINT'));
|
|
285
|
+
process.once('SIGTERM', () => stop('SIGTERM'));
|
|
286
|
+
child.once('spawn', () => {
|
|
287
|
+
writeSync(2, input.targetStartedMarker);
|
|
288
|
+
child.stderr.pipe(process.stderr);
|
|
289
|
+
});
|
|
290
|
+
child.once('error', (error) => {
|
|
291
|
+
process.stderr.write((error instanceof Error ? error.message : String(error)) + '\n');
|
|
292
|
+
process.exitCode = 1;
|
|
293
|
+
});
|
|
294
|
+
child.once('exit', (code, signal) => {
|
|
295
|
+
process.exitCode = signal ? 1 : code ?? 1;
|
|
296
|
+
});
|
|
297
|
+
`,on="eval(Buffer.from(process.argv[1],'base64').toString('utf8'))",Js=JSON.stringify(on),sn=Buffer.from(Gs,"utf8").toString("base64"),Ys=JSON.stringify(sn),FT=String.raw`
|
|
298
|
+
import { spawn } from 'node:child_process';
|
|
299
|
+
import { randomUUID } from 'node:crypto';
|
|
300
|
+
import { readFile, rm, writeFile } from 'node:fs/promises';
|
|
301
|
+
let SandboxManager;
|
|
302
|
+
const request = JSON.parse(await readFile(process.argv[2], 'utf8'));
|
|
303
|
+
await rm(process.argv[2], { force: true });
|
|
304
|
+
const targetStartedMarker = request.targetStartedMarker
|
|
305
|
+
?? '\u0000KODAX_ASRT_TARGET_STARTED:' + randomUUID() + '\u0000\n';
|
|
306
|
+
const endpoints = new Set(request.endpoints.map((item) => item.host.toLowerCase() + ':' + item.port));
|
|
307
|
+
const callback = request.allowAllNetwork === true
|
|
308
|
+
? async () => true
|
|
309
|
+
: request.endpoints.length === 0
|
|
310
|
+
? undefined
|
|
311
|
+
: async ({ host, port }) => endpoints.has(host.toLowerCase() + ':' + port);
|
|
312
|
+
const withWindowsChildEnvironment = (argv, environment) => {
|
|
313
|
+
const separator = argv.lastIndexOf('--');
|
|
314
|
+
if (separator < 0) throw new Error('ASRT Windows wrapper omitted its child separator.');
|
|
315
|
+
const controlled = new Set();
|
|
316
|
+
for (let index = 0; index < separator - 1; index += 1) {
|
|
317
|
+
if (argv[index] !== '--env') continue;
|
|
318
|
+
const name = argv[index + 1].split('=', 1)[0];
|
|
319
|
+
if (name) controlled.add(name.toLowerCase());
|
|
320
|
+
}
|
|
321
|
+
const injected = [];
|
|
322
|
+
for (const [name, value] of Object.entries(environment ?? {})) {
|
|
323
|
+
if (value === undefined) continue;
|
|
324
|
+
if (!name || name.includes('=') || name.includes('\0') || value.includes('\0')) {
|
|
325
|
+
throw new Error('Invalid environment entry for ASRT Windows child.');
|
|
326
|
+
}
|
|
327
|
+
const normalized = name.toLowerCase();
|
|
328
|
+
if (controlled.has(normalized) && normalized !== 'path' && normalized !== 'pathext') continue;
|
|
329
|
+
injected.push('--env', name + '=' + value);
|
|
330
|
+
}
|
|
331
|
+
const result = [...argv.slice(0, separator), ...injected, ...argv.slice(separator)];
|
|
332
|
+
const estimate = result.reduce((size, value) => size + value.length + 3, 0);
|
|
333
|
+
if (estimate > 30000) throw new Error('ASRT Windows child environment exceeds the CreateProcess command-line limit.');
|
|
334
|
+
return result;
|
|
335
|
+
};
|
|
336
|
+
const writeObservation = async (observation) => {
|
|
337
|
+
if (typeof request.observationFile !== 'string') return;
|
|
338
|
+
await writeFile(request.observationFile, JSON.stringify(observation), { mode: 0o600 });
|
|
339
|
+
};
|
|
340
|
+
const waitForTarget = (target, observation) => {
|
|
341
|
+
const marker = Buffer.from(targetStartedMarker, 'utf8');
|
|
342
|
+
let pending = Buffer.alloc(0);
|
|
343
|
+
let diagnostic = Buffer.alloc(0);
|
|
344
|
+
let processError;
|
|
345
|
+
let targetStarted = false;
|
|
346
|
+
let observationWrite = Promise.resolve();
|
|
347
|
+
return new Promise((resolve, reject) => {
|
|
348
|
+
let settled = false;
|
|
349
|
+
const finish = (result) => {
|
|
350
|
+
if (settled) return;
|
|
351
|
+
settled = true;
|
|
352
|
+
void observationWrite.then(() => resolve(result), reject);
|
|
353
|
+
};
|
|
354
|
+
target.stderr.on('data', (chunk) => {
|
|
355
|
+
if (targetStarted) {
|
|
356
|
+
process.stderr.write(chunk);
|
|
357
|
+
return;
|
|
358
|
+
}
|
|
359
|
+
pending = Buffer.concat([pending, Buffer.from(chunk)]);
|
|
360
|
+
const markerOffset = pending.indexOf(marker);
|
|
361
|
+
if (markerOffset >= 0) {
|
|
362
|
+
targetStarted = true;
|
|
363
|
+
const suffix = pending.subarray(markerOffset + marker.length);
|
|
364
|
+
pending = Buffer.alloc(0);
|
|
365
|
+
diagnostic = Buffer.alloc(0);
|
|
366
|
+
observationWrite = writeObservation(observation).catch(() => undefined);
|
|
367
|
+
if (suffix.length > 0) process.stderr.write(suffix);
|
|
368
|
+
return;
|
|
369
|
+
}
|
|
370
|
+
const retained = Math.max(0, marker.length - 1);
|
|
371
|
+
if (pending.length > retained) {
|
|
372
|
+
diagnostic = Buffer.concat([
|
|
373
|
+
diagnostic,
|
|
374
|
+
pending.subarray(0, pending.length - retained),
|
|
375
|
+
]).subarray(-65536);
|
|
376
|
+
pending = pending.subarray(pending.length - retained);
|
|
377
|
+
}
|
|
378
|
+
});
|
|
379
|
+
target.once('error', (error) => {
|
|
380
|
+
processError = error instanceof Error ? error.message : String(error);
|
|
381
|
+
});
|
|
382
|
+
target.once('close', (exitCode, signal) => {
|
|
383
|
+
const preTarget = Buffer.concat([diagnostic, pending]).toString('utf8').trim();
|
|
384
|
+
finish({
|
|
385
|
+
exitCode: signal ? 1 : exitCode ?? 1,
|
|
386
|
+
targetStarted,
|
|
387
|
+
diagnostic: preTarget || processError || undefined,
|
|
388
|
+
});
|
|
389
|
+
});
|
|
390
|
+
});
|
|
391
|
+
};
|
|
392
|
+
let child;
|
|
393
|
+
let targetStarted = false;
|
|
394
|
+
let normalFallbackAttempted = false;
|
|
395
|
+
const runDirect = async () => {
|
|
396
|
+
const internalElectronNode = request.command === process.execPath && process.versions.electron !== undefined;
|
|
397
|
+
const directArgs = internalElectronNode
|
|
398
|
+
? ['--import', ${nn}, ...request.args]
|
|
399
|
+
: request.args;
|
|
400
|
+
const directEnv = internalElectronNode
|
|
401
|
+
? { ...request.env, [${Ee}]: '1' }
|
|
402
|
+
: request.env;
|
|
403
|
+
child = spawn(request.command, directArgs, {
|
|
404
|
+
cwd: request.cwd,
|
|
405
|
+
env: directEnv,
|
|
406
|
+
shell: false,
|
|
407
|
+
stdio: 'inherit',
|
|
408
|
+
windowsHide: true,
|
|
409
|
+
});
|
|
410
|
+
return await new Promise((resolve, reject) => {
|
|
411
|
+
child.once('error', reject);
|
|
412
|
+
child.once('exit', (exitCode, signal) => resolve(signal ? 1 : exitCode ?? 1));
|
|
413
|
+
});
|
|
414
|
+
};
|
|
415
|
+
try {
|
|
416
|
+
if (request.wrappedInvocation) {
|
|
417
|
+
const wrapped = request.wrappedInvocation;
|
|
418
|
+
child = spawn(wrapped.executable, wrapped.args, {
|
|
419
|
+
cwd: request.cwd,
|
|
420
|
+
env: wrapped.env,
|
|
421
|
+
shell: wrapped.shell,
|
|
422
|
+
stdio: ['inherit', 'inherit', 'pipe'],
|
|
423
|
+
windowsHide: true,
|
|
424
|
+
});
|
|
425
|
+
const result = await waitForTarget(child, {
|
|
426
|
+
version: 1,
|
|
427
|
+
state: 'applied',
|
|
428
|
+
backend: request.observationBackend ?? 'unsupported',
|
|
429
|
+
policyId: 'kodax-workspace-shell-v1',
|
|
430
|
+
});
|
|
431
|
+
targetStarted = result.targetStarted;
|
|
432
|
+
if (request.fallbackToNormalExecution === true && !targetStarted) {
|
|
433
|
+
await writeObservation({
|
|
434
|
+
version: 1,
|
|
435
|
+
state: 'fallback',
|
|
436
|
+
reason: 'backend_failed',
|
|
437
|
+
execution: 'normal_permission_policy',
|
|
438
|
+
}).catch(() => undefined);
|
|
439
|
+
normalFallbackAttempted = true;
|
|
440
|
+
process.exitCode = await runDirect();
|
|
441
|
+
} else {
|
|
442
|
+
if (!targetStarted && result.diagnostic) {
|
|
443
|
+
process.stderr.write(result.diagnostic + '\n');
|
|
444
|
+
}
|
|
445
|
+
process.exitCode = result.exitCode;
|
|
446
|
+
}
|
|
447
|
+
} else {
|
|
448
|
+
({ SandboxManager } = await import(process.argv[1]));
|
|
449
|
+
const bootstrap = request.bootstrapCommand ?? 'node';
|
|
450
|
+
const bootstrapIsAbsolute = /^(?:[A-Za-z]:[\\/]|\\\\)/.test(bootstrap);
|
|
451
|
+
const bootstrapIsElectronNode = bootstrap === process.execPath
|
|
452
|
+
&& process.versions.electron !== undefined;
|
|
453
|
+
const config = process.platform === 'win32' && bootstrapIsAbsolute
|
|
454
|
+
? {
|
|
455
|
+
...request.config,
|
|
456
|
+
filesystem: {
|
|
457
|
+
...request.config.filesystem,
|
|
458
|
+
allowRead: [...new Set([...request.config.filesystem.allowRead, bootstrap])],
|
|
459
|
+
},
|
|
460
|
+
}
|
|
461
|
+
: request.config;
|
|
462
|
+
await SandboxManager.initialize(config, callback);
|
|
463
|
+
const quote = (value) => process.platform === 'win32'
|
|
464
|
+
? '"' + value.replaceAll('"', '""') + '"'
|
|
465
|
+
: "'" + value.replaceAll("'", "'\"'\"'") + "'";
|
|
466
|
+
const internalElectronNode = request.command === process.execPath && process.versions.electron !== undefined;
|
|
467
|
+
const childArgs = internalElectronNode
|
|
468
|
+
? ['--import', ${nn}, ...request.args]
|
|
469
|
+
: request.args;
|
|
470
|
+
const command = [
|
|
471
|
+
quote(bootstrap),
|
|
472
|
+
'-e',
|
|
473
|
+
quote(${Js}),
|
|
474
|
+
${Ys},
|
|
475
|
+
Buffer.from(JSON.stringify({
|
|
476
|
+
command: request.command,
|
|
477
|
+
args: childArgs,
|
|
478
|
+
cwd: request.cwd,
|
|
479
|
+
targetStartedMarker,
|
|
480
|
+
}), 'utf8').toString('base64'),
|
|
481
|
+
].join(' ');
|
|
482
|
+
if (process.platform === 'win32') {
|
|
483
|
+
const wrapped = await SandboxManager.wrapWithSandboxArgv(command, 'cmd', undefined, undefined, request.cwd);
|
|
484
|
+
const requestedEnv = internalElectronNode || bootstrapIsElectronNode
|
|
485
|
+
? { ...request.env, [${Ee}]: '1' }
|
|
486
|
+
: request.env;
|
|
487
|
+
const childArgv = withWindowsChildEnvironment(wrapped.argv, requestedEnv);
|
|
488
|
+
child = spawn(childArgv[0], childArgv.slice(1), {
|
|
489
|
+
cwd: request.cwd,
|
|
490
|
+
env: wrapped.env,
|
|
491
|
+
shell: false,
|
|
492
|
+
stdio: ['inherit', 'inherit', 'pipe'],
|
|
493
|
+
windowsHide: true,
|
|
494
|
+
});
|
|
495
|
+
} else {
|
|
496
|
+
const wrapped = await SandboxManager.wrapWithSandbox(command);
|
|
497
|
+
const childEnv = internalElectronNode || bootstrapIsElectronNode
|
|
498
|
+
? { ...request.env, [${Ee}]: '1' }
|
|
499
|
+
: request.env;
|
|
500
|
+
child = spawn(wrapped, {
|
|
501
|
+
cwd: request.cwd,
|
|
502
|
+
env: childEnv,
|
|
503
|
+
shell: true,
|
|
504
|
+
stdio: ['inherit', 'inherit', 'pipe'],
|
|
505
|
+
});
|
|
506
|
+
}
|
|
507
|
+
const stop = () => child?.kill('SIGTERM');
|
|
508
|
+
process.once('SIGINT', stop);
|
|
509
|
+
process.once('SIGTERM', stop);
|
|
510
|
+
const result = await waitForTarget(child, {
|
|
511
|
+
version: 1,
|
|
512
|
+
state: 'applied',
|
|
513
|
+
backend: request.observationBackend ?? 'unsupported',
|
|
514
|
+
policyId: 'kodax-workspace-shell-v1',
|
|
515
|
+
});
|
|
516
|
+
targetStarted = result.targetStarted;
|
|
517
|
+
try { SandboxManager.cleanupAfterCommand(); } catch {}
|
|
518
|
+
await SandboxManager.reset().catch(() => undefined);
|
|
519
|
+
if (request.fallbackToNormalExecution === true && !targetStarted) {
|
|
520
|
+
await writeObservation({
|
|
521
|
+
version: 1,
|
|
522
|
+
state: 'fallback',
|
|
523
|
+
reason: 'backend_failed',
|
|
524
|
+
execution: 'normal_permission_policy',
|
|
525
|
+
}).catch(() => undefined);
|
|
526
|
+
normalFallbackAttempted = true;
|
|
527
|
+
process.exitCode = await runDirect();
|
|
528
|
+
} else {
|
|
529
|
+
if (!targetStarted && result.diagnostic) {
|
|
530
|
+
process.stderr.write(result.diagnostic + '\n');
|
|
531
|
+
}
|
|
532
|
+
process.exitCode = result.exitCode;
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
} catch (error) {
|
|
536
|
+
await SandboxManager?.reset().catch(() => undefined);
|
|
537
|
+
if (
|
|
538
|
+
request.fallbackToNormalExecution === true
|
|
539
|
+
&& !targetStarted
|
|
540
|
+
&& !normalFallbackAttempted
|
|
541
|
+
) {
|
|
542
|
+
try {
|
|
543
|
+
await writeObservation({
|
|
544
|
+
version: 1,
|
|
545
|
+
state: 'fallback',
|
|
546
|
+
reason: 'backend_failed',
|
|
547
|
+
execution: 'normal_permission_policy',
|
|
548
|
+
}).catch(() => undefined);
|
|
549
|
+
normalFallbackAttempted = true;
|
|
550
|
+
process.exitCode = await runDirect();
|
|
551
|
+
} catch (fallbackError) {
|
|
552
|
+
process.stderr.write((fallbackError instanceof Error ? fallbackError.message : String(fallbackError)) + '\n');
|
|
553
|
+
process.exitCode = 1;
|
|
554
|
+
}
|
|
555
|
+
} else {
|
|
556
|
+
process.stderr.write((error instanceof Error ? error.message : String(error)) + '\n');
|
|
557
|
+
process.exitCode = 1;
|
|
558
|
+
}
|
|
559
|
+
}
|
|
560
|
+
`;function xe(e){return e instanceof Error?e.message:String(e)}t(xe,"errorText");function Qs(){return process.env.KODAX_A2A_NODE??(process.env.KODAX_BUNDLED==="true"?"node":process.execPath)}t(Qs,"sandboxJavaScriptCommand");var XT=5*6e4;function Zs(e,n){let r=e.lastIndexOf("--");if(r<0)throw new Error("ASRT Windows wrapper omitted its child separator.");let o=new Set;for(let a=0;a<r-1;a+=1){if(e[a]!=="--env")continue;let d=e[a+1]?.split("=",1)[0];d&&o.add(d.toLowerCase())}let i=[];for(let[a,d]of Object.entries(n)){if(d===void 0)continue;if(!a||a.includes("=")||a.includes("\0")||d.includes("\0"))throw new Error("Invalid environment entry for ASRT Windows child.");let f=a.toLowerCase();o.has(f)&&f!=="path"&&f!=="pathext"||i.push("--env",`${a}=${d}`)}let s=[...e.slice(0,r),...i,...e.slice(r)];if(s.reduce((a,d)=>a+d.length+3,0)>3e4)throw new Error("ASRT Windows child environment exceeds the CreateProcess command-line limit.");return s}t(Zs,"withWindowsSandboxChildEnvironment");async function ea(e,n){let r=e.bootstrapCommand??Qs(),o=r===process.execPath&&process.versions.electron!==void 0,i=e.command===process.execPath&&process.versions.electron!==void 0,s=i?["--import",V,...e.args]:e.args,c=i||o?{...e.env,[H]:"1"}:e.env,a=t(f=>process.platform==="win32"?`"${f.replaceAll('"','""')}"`:`'${f.replaceAll("'",`'"'"'`)}'`,"quote"),d=[a(r),"-e",a(on),sn,Buffer.from(JSON.stringify({command:e.command,args:s,cwd:e.cwd,targetStartedMarker:n}),"utf8").toString("base64")].join(" ");if(process.platform==="win32"){let f={filesystem:{denyRead:e.config.filesystem.denyRead,allowRead:[],allowWrite:[],denyWrite:e.config.filesystem.denyWrite}},m=await P.wrapWithSandboxArgv(d,"cmd",f,void 0,e.cwd),h=Zs(m.argv,c);return{executable:h[0],args:h.slice(1),env:m.env,shell:!1}}return{executable:await P.wrapWithSandbox(d),args:[],env:c,shell:!0}}t(ea,"wrapSandboxTarget");async function rn(){try{P.cleanupAfterCommand()}catch{}await P.reset().catch(()=>{})}t(rn,"resetSandboxManagerBestEffort");function j(e){Bs(3,`${JSON.stringify(e)}
|
|
561
|
+
`)}t(j,"writeWorkspaceSessionResponse");async function an(e){try{let n=JSON.parse(await Us(e,"utf8"));await qs(e,{force:!0}),await P.initialize(n.config,async()=>!0),j({type:"ready",ok:!0});let r=zs.createInterface({input:process.stdin}),o=Promise.resolve();for await(let i of r){let s=JSON.parse(i);o=o.then(async()=>{try{if(s.type==="cleanup"){P.cleanupAfterCommand(),j({id:s.id,type:"result",ok:!0});return}if(!s.request)throw new Error("Missing workspace wrap request.");let c=s.request.targetStartedMarker??`\0KODAX_ASRT_TARGET_STARTED:${Xs()}\0
|
|
562
|
+
`,a=await ea(s.request,c);j({id:s.id,type:"result",ok:!0,invocation:a})}catch(c){j({id:s.id,type:"result",ok:!1,error:xe(c)})}})}return await o,await rn(),0}catch(n){try{j({type:"ready",ok:!1,error:xe(n)})}catch(r){process.stderr.write(`ASRT workspace session could not report startup failure: ${xe(r)}
|
|
563
|
+
`)}return await rn(),1}}t(an,"runAsrtWorkspaceSessionProcess");var cn=process.argv[2];if(!cn)throw new Error("Missing ASRT workspace session initialization file.");process.exitCode=await an(cn);
|
package/dist/sdk-a2a.d.ts
CHANGED
|
@@ -1,24 +1,25 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { bd as ExternalAgentRegistration, L as AgentEffectDeclaration, T as AgentExecutorFactory, p as AgentArtifactPolicy } from './types-chunks/types.d-BA-Jwpfs.js';
|
|
2
2
|
import { RuntimeKodaXOptions, RuntimeWorkspaceBinding, RuntimeExecutionToolPolicy, RuntimeUserMarkdownAgentRef, KodaXRuntime, RuntimeExternalAgentsOptions } from './sdk-runtime.js';
|
|
3
|
-
import {
|
|
4
|
-
import './types-chunks/types.d-
|
|
5
|
-
import './types-chunks/
|
|
6
|
-
import './types-chunks/types.d-DCQVBqVn.js';
|
|
7
|
-
import 'vscode-languageserver-protocol';
|
|
8
|
-
import './types-chunks/cost-tracker.d-BeaenODW.js';
|
|
9
|
-
import './types-chunks/capability.d-K664nHOS.js';
|
|
10
|
-
import './types-chunks/base.d-ChvpaKjZ.js';
|
|
3
|
+
import { d as IntegrationConfigSnapshot, f as IntegrationConfigStatus } from './types-chunks/integration-config.d-BNowXE8k.js';
|
|
4
|
+
import './types-chunks/types.d-DIpZJKUl.js';
|
|
5
|
+
import './types-chunks/types.d-BbtGlKZu.js';
|
|
11
6
|
import './types-chunks/config.d-CJy1WENT.js';
|
|
12
7
|
import './types-chunks/manager.d-B67TmPO1.js';
|
|
13
|
-
import './types-chunks/
|
|
14
|
-
import './types-chunks/
|
|
15
|
-
import './types-chunks/
|
|
16
|
-
import './types-chunks/
|
|
17
|
-
import '
|
|
18
|
-
import './types-chunks/
|
|
8
|
+
import './types-chunks/capability.d-K664nHOS.js';
|
|
9
|
+
import './types-chunks/history-retrieval.d-DtCy7x64.js';
|
|
10
|
+
import './types-chunks/run-manager.d-D1twIhF9.js';
|
|
11
|
+
import './types-chunks/bash-prefix-extractor.d-uAe2Oqda.js';
|
|
12
|
+
import 'vscode-languageserver-protocol';
|
|
13
|
+
import './types-chunks/cost-tracker.d-BeaenODW.js';
|
|
14
|
+
import './types-chunks/types-D3g6XUQr.js';
|
|
15
|
+
import './types-chunks/base.d-4e74xDdy.js';
|
|
16
|
+
import './types-chunks/types.d-DVDTIfB_.js';
|
|
17
|
+
import './types-chunks/guardrail.d-CXDYRgZ3.js';
|
|
18
|
+
import './types-chunks/guardrail.d-BRE_ErEj.js';
|
|
19
|
+
import './types-chunks/side-query.d-DTuLPcC5.js';
|
|
20
|
+
import './types-chunks/utils.d-CVp6bFl9.js';
|
|
19
21
|
import 'readline';
|
|
20
|
-
import './types-chunks/public-api.d-
|
|
21
|
-
import './types-chunks/center-types.d-BBT122uJ.js';
|
|
22
|
+
import './types-chunks/public-api.d-B3AohsxN.js';
|
|
22
23
|
import 'child_process';
|
|
23
24
|
|
|
24
25
|
declare const A2A_PROTOCOL_VERSION = "1.0";
|