@kodax-ai/kodax 0.7.79 → 0.7.80

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.
Files changed (83) hide show
  1. package/CHANGELOG.md +93 -12
  2. package/README.md +31 -8
  3. package/README_CN.md +25 -5
  4. package/config-templates/config.example.jsonc +14 -2
  5. package/dist/chunks/agent-5PHGNFW3.js +2 -0
  6. package/dist/chunks/argument-completer-FXRZFMTC.js +2 -0
  7. package/dist/chunks/{chunk-H5LLM7DB.js → chunk-6UENDY33.js} +2 -2
  8. package/dist/chunks/{chunk-QCZLCLFL.js → chunk-BWX4YZX3.js} +2 -2
  9. package/dist/chunks/{chunk-EDZ4QILG.js → chunk-CDCCTM5I.js} +17 -5
  10. package/dist/chunks/chunk-CEB5FDND.js +810 -0
  11. package/dist/chunks/{chunk-M4N2JZTZ.js → chunk-E7C4DRD2.js} +1 -1
  12. package/dist/chunks/{chunk-GEECPO2H.js → chunk-EVXIJPZ6.js} +66 -66
  13. package/dist/chunks/chunk-FQ7NVMSU.js +319 -0
  14. package/dist/chunks/chunk-GC4JBMBS.js +385 -0
  15. package/dist/chunks/{chunk-67THZRM6.js → chunk-HTVLCHWH.js} +1 -1
  16. package/dist/chunks/chunk-IHPH3444.js +655 -0
  17. package/dist/chunks/{chunk-OWQT3FTE.js → chunk-KHEFUT6O.js} +1 -1
  18. package/dist/chunks/{chunk-BBOVVDQJ.js → chunk-PMKAG4SZ.js} +1 -1
  19. package/dist/chunks/chunk-RPF5RGWZ.js +479 -0
  20. package/dist/chunks/{chunk-CXHEZY5G.js → chunk-RXXKDR6Y.js} +1 -1
  21. package/dist/chunks/{chunk-6GVQDQTQ.js → chunk-T5U4OP2N.js} +1 -1
  22. package/dist/chunks/{chunk-SG6P4SZS.js → chunk-TRNAWSXP.js} +21 -21
  23. package/dist/chunks/{chunk-CR2IF7VF.js → chunk-UZSHBQER.js} +5 -5
  24. package/dist/chunks/{chunk-B6UY3VHV.js → chunk-VECRQTSD.js} +44 -44
  25. package/dist/chunks/compaction-config-6J6XCBJS.js +2 -0
  26. package/dist/chunks/{construction-bootstrap-K3ZGEN5N.js → construction-bootstrap-KPCAE3VN.js} +1 -1
  27. package/dist/chunks/dist-RWEVZOFK.js +2 -0
  28. package/dist/chunks/{dist-JMO47GJV.js → dist-WWL2DNIJ.js} +1 -1
  29. package/dist/chunks/host-OGS2R5J4.js +2 -0
  30. package/dist/chunks/run-manager-2YMM3BOT.js +2 -0
  31. package/dist/chunks/{utils-6LEKJPQN.js → utils-2YHRUZYC.js} +1 -1
  32. package/dist/index.d.ts +13 -12
  33. package/dist/index.js +4 -4
  34. package/dist/kodax_bootstrap.js +1 -1
  35. package/dist/kodax_cli.js +1301 -1285
  36. package/dist/kodax_resume.js +63 -63
  37. package/dist/runtime-worker.js +1205 -1189
  38. package/dist/sandbox-workspace-session.js +43 -43
  39. package/dist/sdk-a2a.d.ts +8 -8
  40. package/dist/sdk-a2a.js +1 -1
  41. package/dist/sdk-agent.d.ts +15 -17
  42. package/dist/sdk-agent.js +1 -1
  43. package/dist/sdk-coding.d.ts +171 -20
  44. package/dist/sdk-coding.js +1 -1
  45. package/dist/sdk-experimental-memory.js +1 -1
  46. package/dist/sdk-llm.js +1 -1
  47. package/dist/sdk-mcp.js +1 -1
  48. package/dist/sdk-media.js +1 -1
  49. package/dist/sdk-repl.d.ts +19 -200
  50. package/dist/sdk-repl.js +2 -2
  51. package/dist/sdk-runtime.d.ts +11 -8
  52. package/dist/sdk-runtime.js +1 -1
  53. package/dist/sdk-sandbox.js +1 -1
  54. package/dist/sdk-session.d.ts +4 -4
  55. package/dist/sdk-session.js +1 -1
  56. package/dist/sdk-skills.js +1 -1
  57. package/dist/semantic-worker.js +44 -44
  58. package/dist/types-chunks/{bash-prefix-extractor.d-CNSidpmv.d.ts → bash-prefix-extractor.d-DStqKIlu.d.ts} +4 -2
  59. package/dist/types-chunks/{capsule.d-B3q98pLQ.d.ts → capsule.d-BuFJaYxA.d.ts} +6 -15
  60. package/dist/types-chunks/{controller.d-RGV7Pjv9.d.ts → controller.d-C2aHqzHj.d.ts} +18 -10
  61. package/dist/types-chunks/{guardrail.d-1NLSFTyN.d.ts → guardrail.d-DM-OK0m3.d.ts} +74 -77
  62. package/dist/types-chunks/{history-retrieval.d-BAegI14A.d.ts → history-retrieval.d-DImTKgO6.d.ts} +1 -1
  63. package/dist/types-chunks/{public-api.d-BpJhHoa7.d.ts → public-api.d-CewTvUKV.d.ts} +5 -17
  64. package/dist/types-chunks/{repl.d-CZ12Ow3X.d.ts → repl.d-DvXQtgr7.d.ts} +5 -5
  65. package/dist/types-chunks/{run-manager.d-CX3AUocA.d.ts → run-manager.d-C6ahvZqK.d.ts} +1 -1
  66. package/dist/types-chunks/{sdk-session-B3cfJKqF.d.ts → sdk-session-C59RUrri.d.ts} +2 -2
  67. package/dist/types-chunks/shell-command-sets.d-Dp4UvPLL.d.ts +297 -0
  68. package/dist/types-chunks/{types.d-BZ9oXvTV.d.ts → types.d-BzpPDBPV.d.ts} +1 -1
  69. package/dist/types-chunks/{types.d-C0_rn--1.d.ts → types.d-yuJzE82x.d.ts} +2 -2
  70. package/dist/types-chunks/{utils.d-CGpHavsU.d.ts → utils.d-BpACJmzt.d.ts} +15 -5
  71. package/docs/SDK_EMBEDDER_GUIDE.md +36 -32
  72. package/package.json +3 -3
  73. package/dist/chunks/agent-V4AC5JZD.js +0 -2
  74. package/dist/chunks/argument-completer-ZPC2MLES.js +0 -2
  75. package/dist/chunks/chunk-KLWP7POA.js +0 -467
  76. package/dist/chunks/chunk-Q4M7DJOD.js +0 -319
  77. package/dist/chunks/chunk-RQPMGRTR.js +0 -810
  78. package/dist/chunks/chunk-TSTVAU5E.js +0 -386
  79. package/dist/chunks/chunk-ZCZZUE5E.js +0 -662
  80. package/dist/chunks/compaction-config-AEUGVROL.js +0 -2
  81. package/dist/chunks/dist-GFJFRPAV.js +0 -2
  82. package/dist/chunks/host-23K2Q6RZ.js +0 -2
  83. package/dist/chunks/run-manager-PGIR6ITA.js +0 -2
@@ -1,5 +1,5 @@
1
1
  // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
- import{D as N,J as C}from"./chunk-QCZLCLFL.js";import{Ud as q,Vd as j,X as _}from"./chunk-TSTVAU5E.js";import{Pa as E,gb as T,m as x,n as R}from"./chunk-SG6P4SZS.js";import{Cd as I,Dd as y,Ed as b,xd as $,yd as g,zd as k}from"./chunk-RQPMGRTR.js";import{$a as O,ab as W,fb as M}from"./chunk-GEECPO2H.js";import{a as o}from"./chunk-ONUPGMER.js";import{join as Pe}from"node:path";var ne=["You generate KodaX Dynamic Workflow scripts.","Return JSON only. Do not wrap the answer in prose.","For simple tasks that do not benefit from multiple agents, return:",'{"action":"decline","reason":"..."}',"For complex tasks, return:",'{"action":"generate","manifest":{...},"source":"async function run(wf, args) { ... }","approvalSummary":"..."}',"Generated source may only coordinate agents through wf and args.","Generated source must return displayable final text for the user.","Never use import, require, process, fs, child_process, network APIs, shell commands, or direct file access."].join(`
2
+ import{D as N,J as C}from"./chunk-BWX4YZX3.js";import{Vd as q,Wd as j,ca as _}from"./chunk-GC4JBMBS.js";import{Pa as E,gb as T,m as x,n as R}from"./chunk-TRNAWSXP.js";import{Ad as g,Bd as k,Ed as I,Fd as y,Gd as b,zd as $}from"./chunk-CEB5FDND.js";import{$a as O,ab as W,fb as M}from"./chunk-EVXIJPZ6.js";import{a as o}from"./chunk-ONUPGMER.js";import{join as Pe}from"node:path";var ne=["You generate KodaX Dynamic Workflow scripts.","Return JSON only. Do not wrap the answer in prose.","For simple tasks that do not benefit from multiple agents, return:",'{"action":"decline","reason":"..."}',"For complex tasks, return:",'{"action":"generate","manifest":{...},"source":"async function run(wf, args) { ... }","approvalSummary":"..."}',"Generated source may only coordinate agents through wf and args.","Generated source must return displayable final text for the user.","Never use import, require, process, fs, child_process, network APIs, shell commands, or direct file access."].join(`
3
3
  `),P=12e4,re="KODAX_WORKFLOW_GENERATION_TIMEOUT_SEC",se="KODAX_WORKFLOW_GENERATION_TIMEOUT_MS",oe=64,ie=2,ae=2e3,le=[{name:"default"},{name:"variant-results",finalText:o((e,n)=>`Variant smoke child report from ${e} (${n}).`,"finalText"),synthesizeText:"Variant smoke synthesis report."},{name:"unverified-success",status:o(()=>"completed_unverified","status"),finalText:o(e=>`Smoke result for ${e}: completed with verification warnings.`,"finalText"),synthesizeText:"Smoke synthesis: completed with verification warnings."},{name:"empty-args-rerun",args:o(()=>({}),"args")}],ce=[{id:"import",pattern:/\bimport\s*(?:\(|['"*{]|\w+\s+from\b)/},{id:"require",pattern:/\brequire\s*\(/},{id:"process",pattern:/\bprocess\s*(?:\.|\[)/},{id:"fs",pattern:/\b(?:node:)?fs\b/},{id:"child_process",pattern:/\bchild_process\b/},{id:"shell",pattern:/\b(?:exec|spawn|execFile)\s*\(/},{id:"fetch",pattern:/\bfetch\s*\(/},{id:"Deno",pattern:/\bDeno\s*(?:\.|\[)/},{id:"Bun",pattern:/\bBun\s*(?:\.|\[)/},{id:"globalThis-index",pattern:/\bglobalThis\s*\[/}];function ue(e=process.env,n){let t=x(n?.workflow?.generationTimeoutSec,"timeouts.workflow.generationTimeoutSec");if(t!==void 0)return t;let r=R(e[re]);if(r!==void 0)return r;let s=e[se];if(s===void 0||s.trim().length===0)return P;let i=Number(s);return!Number.isFinite(i)||i<=0?P:Math.floor(i)}o(ue,"resolveWorkflowGenerationTimeoutMs");function fe(e,n){if(typeof e!="object"||e===null)throw new Error(`${n} must be an object`);return e}o(fe,"readRecord");function D(e,n){let t=e[n];if(typeof t!="string"||t.trim().length===0)throw new Error(`workflow generation ${n} must be a non-empty string`);return t}o(D,"readNonEmptyString");function de(e){let n=e.trim(),t=/^```(?:json)?\s*([\s\S]*?)\s*```$/i.exec(n);if(t?.[1])return t[1].trim();let r=n.indexOf("{"),s=n.lastIndexOf("}");if(r>=0&&s>r)return n.slice(r,s+1);throw new Error("workflow generation output did not contain a JSON object")}o(de,"extractJsonText");function pe(e){let n=de(e);return fe(JSON.parse(n),"workflow generation output")}o(pe,"parseGenerationJson");function me(e){if(typeof e=="string"){let t=e.trim();return t.length>0?t:void 0}if(typeof e!="object"||e===null)return;let n=e;for(let t of["name","id","title","phase"]){let r=n[t];if(typeof r=="string"&&r.trim().length>0)return r.trim()}}o(me,"normalizePhaseEntry");function we(e){return e.split(/(?:->|\u2192|,|\n)/).map(n=>n.trim()).filter(n=>n.length>0)}o(we,"splitPhaseString");function he(e){if(typeof e!="object"||e===null)return e;let n=e,t=n.phases,r;if(Array.isArray(t)){let s=t.map(me);s.every(i=>i!==void 0)&&(r=s)}else if(typeof t=="string"){let s=we(t);s.length>0&&(r=s)}return r?{...n,phases:r}:e}o(he,"normalizeGeneratedManifestCandidate");function ge(e){return e.match(/\bwf\.(?:runAgent|spawnAgent|synthesize)\s*\(/g)?.length??0}o(ge,"estimateDirectAgentCalls");function ke(e,n){let t=e.maxConcurrency*Math.max(1,e.phases.length)+2,r=ge(n)+2,s=Math.min(oe,Math.max(e.maxAgents,t,r));return s>e.maxAgents?{...e,maxAgents:s}:e}o(ke,"reserveGeneratedWorkflowAgentCapacity");function w(e){let n="",t=0,r=["code"],s=[0];for(;t<e.length;){let i=e[t],a=e[t+1];if(r[r.length-1]==="template"){if(i==="\\"){n+=" ",t+=2;continue}if(i==="`"){n+=" ",t+=1,r.pop(),s.pop();continue}if(i==="$"&&a==="{"){n+=" ",t+=2,r.push("code"),s.push(0);continue}n+=i===`
4
4
  `?`
5
5
  `:" ",t+=1;continue}if(i==="/"&&a==="/"){for(n+=" ",t+=2;t<e.length&&e[t]!==`
@@ -1,5 +1,5 @@
1
1
  // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
- import{Ja as Ee,La as Ae,Na as J,Ta as de,Wa as ce}from"./chunk-RQPMGRTR.js";import{d as B,g as U}from"./chunk-GEECPO2H.js";import{a}from"./chunk-ONUPGMER.js";import{spawn as De,spawnSync as Be}from"node:child_process";import{createHash as Ye,randomUUID as W}from"node:crypto";import{once as _e}from"node:events";import{constants as Ze,readdirSync as Qe,statSync as Ie,writeSync as sn}from"node:fs";import{copyFile as Le,lstat as er,mkdir as T,readFile as q,realpath as H,rename as rr,rm as N,stat as te,writeFile as K}from"node:fs/promises";import{createRequire as nr}from"node:module";import{createServer as tr}from"node:net";import se from"node:os";import o from"node:path";import or from"node:readline";import{fileURLToPath as Te,pathToFileURL as sr}from"node:url";import{DEFAULT_WINDOWS_PROXY_PORT_RANGE as ar,SandboxManager as le,getSrtWinPath as ir,getWindowsSandboxUserStatus as dr,grantWindowsAcl as cr,installWindowsSandbox as lr,resolveSrtWin as ur,revokeWindowsAcl as Me}from"@anthropic-ai/sandbox-runtime";var j="0.0.65";function pr(){let e=process.platform==="win32"?"windows-restricted-user":process.platform==="darwin"?"macos-seatbelt":process.platform==="linux"?"linux-bubblewrap":"unsupported";return{version:1,asrtVersion:j,platform:process.platform,backend:e,genericCommandExecution:!0,controls:["filesystem","network","environment","timeout","output"],ordinaryCallsTriggerSetup:!1,setupMayElevate:process.platform==="win32",unavailableBehavior:"structured-no-execution",permissionFallback:"normal-permission-policy"}}a(pr,"sandboxRuntimeCapability");var be=1048576,ye=12e4,$e=nr(import.meta.url),je=process.env.KODAX_BUNDLED==="true"?void 0:sr($e.resolve("@anthropic-ai/sandbox-runtime")).href,fr=new Set([".ssh",".aws",".azure",".gnupg",".kodax",".agents",".codex",".claude",".gemini",".direnv",".terraform.d"]),mr=new Set([".env",".envrc",".pgpass",".npmrc",".pypirc","credentials","id_rsa","id_ed25519"]),wr=[".ssh",".aws",".azure",".gnupg",".kube",".docker",".kodax",".agents",".codex",".claude",".gemini",".direnv",".terraform.d",o.join(".cargo","credentials.toml"),o.join(".config","gcloud"),o.join(".config","gh"),o.join(".config","openai"),o.join(".config","anthropic"),".gitconfig",o.join(".config","git","config"),".terraformrc",o.join(".config","pypoetry","auth.toml"),".condarc",".bashrc",".bash_profile",".zshrc",".zprofile",".profile",o.join(".config","fish","config.fish"),o.join(".config","fish","fish_variables"),".bash_history",".zsh_history",o.join(".m2","settings.xml"),o.join(".m2","settings-security.xml"),o.join(".gradle","gradle.properties"),o.join(".nuget","NuGet","NuGet.Config"),o.join(".pip","pip.conf"),o.join(".config","pip","pip.conf"),o.join(".cache","huggingface","token"),o.join(".huggingface","token"),o.join(".config","rclone","rclone.conf"),o.join(".local","share","keyrings"),o.join("Library","Keychains"),o.join("AppData","Roaming","Microsoft","Protect"),o.join("AppData","Roaming","Microsoft","Credentials"),o.join("AppData","Roaming","Microsoft","Vault"),o.join("AppData","Local","Microsoft","Credentials"),o.join("AppData","Local","Microsoft","Protect"),o.join("AppData","Local","Microsoft","Vault"),".password-store",".env",".envrc",".pgpass",".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"],Pe=JSON.stringify(Ae),ue=JSON.stringify(Ee),gr=String.raw`
2
+ import{La as Ee,Na as Ae,Pa as J,Va as de,Ya as ce}from"./chunk-CEB5FDND.js";import{d as B,g as U}from"./chunk-EVXIJPZ6.js";import{a}from"./chunk-ONUPGMER.js";import{spawn as De,spawnSync as Be}from"node:child_process";import{createHash as Ye,randomUUID as W}from"node:crypto";import{once as _e}from"node:events";import{constants as Ze,readdirSync as Qe,statSync as Ie,writeSync as sn}from"node:fs";import{copyFile as Le,lstat as er,mkdir as T,readFile as q,realpath as H,rename as rr,rm as N,stat as te,writeFile as K}from"node:fs/promises";import{createRequire as nr}from"node:module";import{createServer as tr}from"node:net";import se from"node:os";import o from"node:path";import or from"node:readline";import{fileURLToPath as Te,pathToFileURL as sr}from"node:url";import{DEFAULT_WINDOWS_PROXY_PORT_RANGE as ar,SandboxManager as le,getSrtWinPath as ir,getWindowsSandboxUserStatus as dr,grantWindowsAcl as cr,installWindowsSandbox as lr,resolveSrtWin as ur,revokeWindowsAcl as Me}from"@anthropic-ai/sandbox-runtime";var j="0.0.65";function pr(){let e=process.platform==="win32"?"windows-restricted-user":process.platform==="darwin"?"macos-seatbelt":process.platform==="linux"?"linux-bubblewrap":"unsupported";return{version:1,asrtVersion:j,platform:process.platform,backend:e,genericCommandExecution:!0,controls:["filesystem","network","environment","timeout","output"],ordinaryCallsTriggerSetup:!1,setupMayElevate:process.platform==="win32",unavailableBehavior:"structured-no-execution",permissionFallback:"normal-permission-policy"}}a(pr,"sandboxRuntimeCapability");var be=1048576,ye=12e4,$e=nr(import.meta.url),je=process.env.KODAX_BUNDLED==="true"?void 0:sr($e.resolve("@anthropic-ai/sandbox-runtime")).href,fr=new Set([".ssh",".aws",".azure",".gnupg",".kodax",".agents",".codex",".claude",".gemini",".direnv",".terraform.d"]),mr=new Set([".env",".envrc",".pgpass",".npmrc",".pypirc","credentials","id_rsa","id_ed25519"]),wr=[".ssh",".aws",".azure",".gnupg",".kube",".docker",".kodax",".agents",".codex",".claude",".gemini",".direnv",".terraform.d",o.join(".cargo","credentials.toml"),o.join(".config","gcloud"),o.join(".config","gh"),o.join(".config","openai"),o.join(".config","anthropic"),".gitconfig",o.join(".config","git","config"),".terraformrc",o.join(".config","pypoetry","auth.toml"),".condarc",".bashrc",".bash_profile",".zshrc",".zprofile",".profile",o.join(".config","fish","config.fish"),o.join(".config","fish","fish_variables"),".bash_history",".zsh_history",o.join(".m2","settings.xml"),o.join(".m2","settings-security.xml"),o.join(".gradle","gradle.properties"),o.join(".nuget","NuGet","NuGet.Config"),o.join(".pip","pip.conf"),o.join(".config","pip","pip.conf"),o.join(".cache","huggingface","token"),o.join(".huggingface","token"),o.join(".config","rclone","rclone.conf"),o.join(".local","share","keyrings"),o.join("Library","Keychains"),o.join("AppData","Roaming","Microsoft","Protect"),o.join("AppData","Roaming","Microsoft","Credentials"),o.join("AppData","Roaming","Microsoft","Vault"),o.join("AppData","Local","Microsoft","Credentials"),o.join("AppData","Local","Microsoft","Protect"),o.join("AppData","Local","Microsoft","Vault"),".password-store",".env",".envrc",".pgpass",".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"],Pe=JSON.stringify(Ae),ue=JSON.stringify(Ee),gr=String.raw`
3
3
  const { spawn } = require('node:child_process');
4
4
  const { writeSync } = require('node:fs');
5
5
  const input = JSON.parse(Buffer.from(process.argv[2], 'base64').toString('utf8'));