@kodax-ai/kodax 0.7.75 → 0.7.76

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 (50) hide show
  1. package/CHANGELOG.md +27 -5
  2. package/README.md +7 -1
  3. package/README_CN.md +6 -1
  4. package/dist/chunks/{agent-LVZJB2GQ.js → agent-7X5CFET2.js} +1 -1
  5. package/dist/chunks/argument-completer-3NHIKB4N.js +2 -0
  6. package/dist/chunks/{chunk-SB75RNNR.js → chunk-4PWPNCNK.js} +2 -2
  7. package/dist/chunks/{chunk-737LI7OS.js → chunk-7FJNLJLF.js} +4 -4
  8. package/dist/chunks/chunk-COQYLD4U.js +5 -0
  9. package/dist/chunks/{chunk-Q65EAOX6.js → chunk-D3T24FJW.js} +2 -2
  10. package/dist/chunks/{chunk-F7AIEHSS.js → chunk-EI4JBQKL.js} +2 -2
  11. package/dist/chunks/{chunk-QRBWNYFV.js → chunk-HGT6WQ24.js} +4 -4
  12. package/dist/chunks/{chunk-OJQQRLZJ.js → chunk-HS3XHF3R.js} +2 -2
  13. package/dist/chunks/{chunk-BN3W2DQY.js → chunk-IDCGNQ4H.js} +1 -1
  14. package/dist/chunks/{chunk-6ZMKX3XF.js → chunk-KAY2XLCP.js} +2 -2
  15. package/dist/chunks/{chunk-5WSOB34U.js → chunk-OD6LVXU6.js} +2 -2
  16. package/dist/chunks/{chunk-UJRRZINL.js → chunk-OSF3H4RR.js} +2 -2
  17. package/dist/chunks/{chunk-G5VW55T4.js → chunk-PXKSE54E.js} +1 -1
  18. package/dist/chunks/{chunk-4PVSDE5L.js → chunk-RDXRM3UI.js} +1 -1
  19. package/dist/chunks/{chunk-N6M2LYEP.js → chunk-SMT2JSM3.js} +1 -1
  20. package/dist/chunks/{chunk-DEHOFNQA.js → chunk-TGMBHGZO.js} +2 -2
  21. package/dist/chunks/{chunk-QSMXI4MH.js → chunk-VWSLC2WO.js} +1 -1
  22. package/dist/chunks/{chunk-OGL227XV.js → chunk-Y3AMP22L.js} +1 -1
  23. package/dist/chunks/compaction-config-7J2XE35D.js +2 -0
  24. package/dist/chunks/{construction-bootstrap-3TQWTHSQ.js → construction-bootstrap-5F5KF2BZ.js} +1 -1
  25. package/dist/chunks/{dist-D3EPVAOZ.js → dist-2RA7LSH3.js} +1 -1
  26. package/dist/chunks/{dist-ZJFTZJ55.js → dist-URKXBOC6.js} +1 -1
  27. package/dist/chunks/host-RKZ2OGFT.js +2 -0
  28. package/dist/chunks/run-manager-7RM4HEH6.js +2 -0
  29. package/dist/chunks/{utils-HMVP6XPH.js → utils-X3TEH6IO.js} +1 -1
  30. package/dist/index.js +1 -1
  31. package/dist/kodax_cli.js +8 -8
  32. package/dist/provider-capabilities.json +35 -7
  33. package/dist/runtime-worker.js +7 -7
  34. package/dist/sdk-a2a.js +1 -1
  35. package/dist/sdk-agent.js +1 -1
  36. package/dist/sdk-coding.js +1 -1
  37. package/dist/sdk-experimental-memory.js +1 -1
  38. package/dist/sdk-llm.js +1 -1
  39. package/dist/sdk-mcp.js +1 -1
  40. package/dist/sdk-media.js +1 -1
  41. package/dist/sdk-repl.js +1 -1
  42. package/dist/sdk-runtime.js +1 -1
  43. package/dist/sdk-session.js +1 -1
  44. package/dist/sdk-skills.js +1 -1
  45. package/package.json +1 -1
  46. package/dist/chunks/argument-completer-GHWEWPVQ.js +0 -2
  47. package/dist/chunks/chunk-6YUDR7WN.js +0 -5
  48. package/dist/chunks/compaction-config-L2YZK7Q3.js +0 -2
  49. package/dist/chunks/host-KHDXYFVG.js +0 -2
  50. package/dist/chunks/run-manager-CD24OO4V.js +0 -2
@@ -1,5 +1,5 @@
1
1
  // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
- import{a as o}from"./chunk-ONUPGMER.js";import{AsyncLocalStorage as Be}from"node:async_hooks";var Ne=new Be;function Le(e){let t=Ne.getStore()?.credential;return t?M(e,t,new WeakMap):e}o(Le,"redactScopedProviderCredential");function M(e,t,n){if(typeof e=="string")return e.split(t).join("[REDACTED_CREDENTIAL]");if(e===null||typeof e!="object")return e;let r=n.get(e);if(r!==void 0)return r;if(e instanceof Error){let s=new Error(M(e.message,t,n));return n.set(e,s),s.name=e.name,e.stack!==void 0&&(s.stack=M(e.stack,t,n)),s}if(Array.isArray(e)){let s=[];n.set(e,s);for(let l of e)s.push(M(l,t,n));return s}let i={};n.set(e,i);for(let[s,l]of Object.entries(Object.getOwnPropertyDescriptors(e))){if(!l.enumerable||!("value"in l))continue;let u=s.split(t).join("[REDACTED_CREDENTIAL]");i[u]=M(l.value,t,n)}return i}o(M,"redactCredentialValue");function A(e,t){return`${e}/${t??""}`}o(A,"capabilityCacheKey");function je(e,t,n){return e[A(t,n)]?.rejected??[]}o(je,"getRejectedEfforts");function $e(e,t,n,r,i,s){let l=A(t,n),u=e[l],g=u?.rejected.includes(r)?u.rejected:[...u?.rejected??[],r];return{...e,[l]:{rejected:g,source:i,updatedAt:s}}}o($e,"addRejectedEffort");function Fe(e,t,n){if(!t)return{};let r={...e};return delete r[A(t,n)],r}o(Fe,"removeCacheEntry");function Ue(e){if(!e||typeof e!="object")return{};let t={};for(let[n,r]of Object.entries(e)){if(!r||typeof r!="object")continue;let i=r,s=Array.isArray(i.rejected)?i.rejected.filter(g=>typeof g=="string"):[],l=i.source==="probed"?"probed":"observed",u=typeof i.updatedAt=="string"?i.updatedAt:"";t[n]={rejected:s,source:l,updatedAt:u}}return t}o(Ue,"sanitizeCapabilityCache");import{AsyncLocalStorage as We}from"node:async_hooks";var Ve=new We,J=8,Y=32;function ze(e){if(e===void 0)return;let t=Number.parseInt(e,10);return Number.isInteger(t)&&t>0?t:void 0}o(ze,"parsePositiveInt");function qe(){let e=I()?.workflow?.maxConcurrency,t=typeof e=="number"&&Number.isInteger(e)&&e>0?e:ze(process.env.KODAX_WORKFLOW_MAX_CONCURRENCY)??J;return Math.max(1,Math.min(Y,t))}o(qe,"resolveWorkflowMaxConcurrency");function I(){return Ve.getStore()}o(I,"getRunScopedConfig");var K={transport:"native-api",conversationSemantics:"full-history",mcpSupport:"none",contextFidelity:"full",toolCallingFidelity:"full",sessionSupport:"full",longRunningSupport:"full",multimodalSupport:"none",evidenceSupport:"full"},Q={...K,multimodalSupport:"image-input"},O={transport:"cli-bridge",conversationSemantics:"last-user-message",mcpSupport:"none",contextFidelity:"lossy",toolCallingFidelity:"limited",sessionSupport:"stateless",longRunningSupport:"limited",multimodalSupport:"none",evidenceSupport:"limited"},Z={...O,multimodalSupport:"image-input"};function j(e){return{transport:e.transport,conversationSemantics:e.conversationSemantics,mcpSupport:e.mcpSupport,contextFidelity:e.contextFidelity??"full",toolCallingFidelity:e.toolCallingFidelity??"full",sessionSupport:e.sessionSupport??"full",longRunningSupport:e.longRunningSupport??"full",multimodalSupport:e.multimodalSupport??"none",evidenceSupport:e.evidenceSupport??"full"}}o(j,"normalizeCapabilityProfile");import tn from"@anthropic-ai/sdk";import{parse as $o}from"partial-json";import yn from"openai";import{ClientSideConnection as _n,PROTOCOL_VERSION as Xn,ndJsonStream as An}from"@agentclientprotocol/sdk";var Sn=String.raw`
2
+ import{a as o}from"./chunk-ONUPGMER.js";import{AsyncLocalStorage as Be}from"node:async_hooks";var Ne=new Be;function Le(e){let t=Ne.getStore()?.credential;return t?M(e,t,new WeakMap):e}o(Le,"redactScopedProviderCredential");function M(e,t,n){if(typeof e=="string")return e.split(t).join("[REDACTED_CREDENTIAL]");if(e===null||typeof e!="object")return e;let r=n.get(e);if(r!==void 0)return r;if(e instanceof Error){let s=new Error(M(e.message,t,n));return n.set(e,s),s.name=e.name,e.stack!==void 0&&(s.stack=M(e.stack,t,n)),s}if(Array.isArray(e)){let s=[];n.set(e,s);for(let l of e)s.push(M(l,t,n));return s}let i={};n.set(e,i);for(let[s,l]of Object.entries(Object.getOwnPropertyDescriptors(e))){if(!l.enumerable||!("value"in l))continue;let u=s.split(t).join("[REDACTED_CREDENTIAL]");i[u]=M(l.value,t,n)}return i}o(M,"redactCredentialValue");function A(e,t){return`${e}/${t??""}`}o(A,"capabilityCacheKey");function je(e,t,n){return e[A(t,n)]?.rejected??[]}o(je,"getRejectedEfforts");function $e(e,t,n,r,i,s){let l=A(t,n),u=e[l],g=u?.rejected.includes(r)?u.rejected:[...u?.rejected??[],r];return{...e,[l]:{rejected:g,source:i,updatedAt:s}}}o($e,"addRejectedEffort");function Fe(e,t,n){if(!t)return{};let r={...e};return delete r[A(t,n)],r}o(Fe,"removeCacheEntry");function Ue(e){if(!e||typeof e!="object")return{};let t={};for(let[n,r]of Object.entries(e)){if(!r||typeof r!="object")continue;let i=r,s=Array.isArray(i.rejected)?i.rejected.filter(g=>typeof g=="string"):[],l=i.source==="probed"?"probed":"observed",u=typeof i.updatedAt=="string"?i.updatedAt:"";t[n]={rejected:s,source:l,updatedAt:u}}return t}o(Ue,"sanitizeCapabilityCache");import{AsyncLocalStorage as We}from"node:async_hooks";var Ve=new We,J=8,Y=32;function ze(e){if(e===void 0)return;let t=Number.parseInt(e,10);return Number.isInteger(t)&&t>0?t:void 0}o(ze,"parsePositiveInt");function qe(){let e=I()?.workflow?.maxConcurrency,t=typeof e=="number"&&Number.isInteger(e)&&e>0?e:ze(process.env.KODAX_WORKFLOW_MAX_CONCURRENCY)??J;return Math.max(1,Math.min(Y,t))}o(qe,"resolveWorkflowMaxConcurrency");function I(){return Ve.getStore()}o(I,"getRunScopedConfig");var K={transport:"native-api",conversationSemantics:"full-history",mcpSupport:"none",contextFidelity:"full",toolCallingFidelity:"full",sessionSupport:"full",longRunningSupport:"full",multimodalSupport:"none",evidenceSupport:"full"},Q={...K,multimodalSupport:"image-input"},O={transport:"cli-bridge",conversationSemantics:"last-user-message",mcpSupport:"none",contextFidelity:"lossy",toolCallingFidelity:"limited",sessionSupport:"stateless",longRunningSupport:"limited",multimodalSupport:"none",evidenceSupport:"limited"},Z={...O,multimodalSupport:"image-input"};function j(e){return{transport:e.transport,conversationSemantics:e.conversationSemantics,mcpSupport:e.mcpSupport,contextFidelity:e.contextFidelity??"full",toolCallingFidelity:e.toolCallingFidelity??"full",sessionSupport:e.sessionSupport??"full",longRunningSupport:e.longRunningSupport??"full",multimodalSupport:e.multimodalSupport??"none",evidenceSupport:e.evidenceSupport??"full"}}o(j,"normalizeCapabilityProfile");import tn from"@anthropic-ai/sdk";import{parse as $o}from"partial-json";import hn from"openai";import{ClientSideConnection as _n,PROTOCOL_VERSION as Xn,ndJsonStream as An}from"@agentclientprotocol/sdk";var Sn=String.raw`
3
3
  using System;
4
4
  using System.Runtime.InteropServices;
5
5
  using System.Text;
@@ -43,4 +43,4 @@ public static class KodaXNativeProcessSnapshot {
43
43
  CloseHandle(snapshot);
44
44
  }
45
45
  }
46
- }`;import ie from"node:fs";import se from"node:os";import ae from"node:path";var pt="gpt-5.4",gt="auto-gemini-3",mt=["gpt-5.4","gpt-5.3-codex","gpt-5.3-codex-spark"],yt=["auto-gemini-3","gemini-3.1-pro-preview","gemini-3-flash-preview","gemini-2.5-pro","gemini-2.5-flash"];function de(e){let t=new Set,n=[];for(let r of e){let i=r.trim();if(!i)continue;let s=i.toLowerCase();t.has(s)||(t.add(s),n.push(i))}return n}o(de,"dedupePreserveOrder");function ht(){let e=ae.join(se.homedir(),".codex","config.toml");try{return ie.readFileSync(e,"utf8").match(/^\s*model\s*=\s*"([^"]+)"/m)?.[1]?.trim()||null}catch{return null}}o(ht,"readCodexConfiguredModel");function bt(){let e=ae.join(se.homedir(),".gemini","settings.json");try{let t=JSON.parse(ie.readFileSync(e,"utf8")),n=typeof t.model=="string"?t.model.trim():"";return n||(typeof t.general?.model=="string"?t.general.model.trim():"")||null}catch{return null}}o(bt,"readGeminiConfiguredModel");function E(){return ht()||pt}o(E,"getCodexCliDefaultModel");function T(){return bt()||gt}o(T,"getGeminiCliDefaultModel");function w(){return de([E(),...mt])}o(w,"getCodexCliKnownModels");function _(){return de([T(),...yt])}o(_,"getGeminiCliKnownModels");var pr=T(),gr=_();var xr=E(),Sr=w();import{existsSync as wt,readFileSync as _t}from"node:fs";import S from"node:path";import{fileURLToPath as Xt}from"node:url";var le=["none","prompt-only","native-effort","native-budget","native-toggle","native-adaptive","unknown"],ue=["openai-responses-effort","openai-chat-effort","codex-cli-config","anthropic-output-effort","anthropic-reasoning-effort","provider-budget","provider-toggle","prompt-only","none"],ce=["anthropic-adaptive","anthropic-budget","provider-budget","provider-toggle","none"],fe=["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"],pe=["native","image-input-native","cli-bridge","image-input-cli-bridge"],ge=["count-tokens","models-list","minimal-message","unsupported"];function y(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}o(y,"isPlainObject");function R(e,t){if(typeof e!="string"||e.length===0)throw new Error(`provider-capabilities.json: ${t} must be a non-empty string`);return e}o(R,"requireString");function x(e,t){if(e!==void 0)return R(e,t)}o(x,"optionalString");function P(e,t){if(e!==void 0){if(typeof e!="number"||!Number.isFinite(e)||e<0)throw new Error(`provider-capabilities.json: ${t} must be a non-negative finite number`);return e}}o(P,"optionalNumber");function f(e,t){if(e!==void 0){if(typeof e!="boolean")throw new Error(`provider-capabilities.json: ${t} must be a boolean`);return e}}o(f,"optionalBoolean");function me(e,t){if(e!==void 0){if(!Array.isArray(e))throw new Error(`provider-capabilities.json: ${t} must be an array`);return e.map((n,r)=>R(n,`${t}[${r}]`))}}o(me,"optionalStringArray");function Ct(e,t){if(e===void 0)return;if(!y(e))throw new Error(`provider-capabilities.json: ${t} must be an object`);let n={};for(let[r,i]of Object.entries(e))n[r]=R(i,`${t}.${r}`);return n}o(Ct,"optionalStringMap");function Pt(e,t){if(e!==void 0){if(typeof e!="string"||!fe.includes(e))throw new Error(`provider-capabilities.json: ${t} must be one of ${fe.join(", ")}, got ${JSON.stringify(e)}`);return e}}o(Pt,"optionalReasoningPreset");function F(e,t){if(typeof e!="string"||!le.includes(e))throw new Error(`provider-capabilities.json: ${t} must be one of ${le.join(", ")}, got ${JSON.stringify(e)}`);return e}o(F,"requireReasoningCapability");function Rt(e,t){if(typeof e!="string"||!ue.includes(e))throw new Error(`provider-capabilities.json: ${t} must be one of ${ue.join(", ")}, got ${JSON.stringify(e)}`);return e}o(Rt,"requireEffortStrategy");function Et(e,t){if(e!==void 0){if(typeof e!="string"||!ce.includes(e))throw new Error(`provider-capabilities.json: ${t} must be one of ${ce.join(", ")}, got ${JSON.stringify(e)}`);return e}}o(Et,"optionalThinkingStrategy");function ye(e,t){if(e===void 0)return;if(!y(e))throw new Error(`provider-capabilities.json: ${t} must be an object`);let n=Rt(e.effortStrategy,`${t}.effortStrategy`),r=Pt(e.reasoningPreset,`${t}.reasoningPreset`),i=Et(e.thinkingStrategy,`${t}.thinkingStrategy`),s=x(e.defaultEffort,`${t}.defaultEffort`),l=Ct(e.effortAliases,`${t}.effortAliases`),u=me(e.disabledEfforts,`${t}.disabledEfforts`),g=me(e.localRejectEfforts,`${t}.localRejectEfforts`),h=f(e.allowCustomEffort,`${t}.allowCustomEffort`),b=f(e.supportsReasoningEffort,`${t}.supportsReasoningEffort`),v=f(e.supportsReasoningSummary,`${t}.supportsReasoningSummary`),k=f(e.supportsEncryptedReasoningReplay,`${t}.supportsEncryptedReasoningReplay`),d=f(e.supportsAdaptiveThinking,`${t}.supportsAdaptiveThinking`),C=f(e.supportsManualThinkingBudget,`${t}.supportsManualThinkingBudget`),p=f(e.supportsDisabledThinking,`${t}.supportsDisabledThinking`),X=f(e.requiresEffortBetaHeader,`${t}.requiresEffortBetaHeader`),a={effortStrategy:n};if(r!==void 0&&(a.reasoningPreset=r),i!==void 0&&(a.thinkingStrategy=i),s!==void 0&&(a.defaultEffort=s),l!==void 0&&(a.effortAliases=l),u!==void 0&&(a.disabledEfforts=u),g!==void 0&&(a.localRejectEfforts=g),e.supportedEfforts!==void 0){if(!Array.isArray(e.supportedEfforts))throw new Error(`provider-capabilities.json: ${t}.supportedEfforts must be an array`);a.supportedEfforts=e.supportedEfforts.map((c,m)=>{if(!y(c))throw new Error(`provider-capabilities.json: ${t}.supportedEfforts[${m}] must be an object`);return{value:R(c.value,`${t}.supportedEfforts[${m}].value`),...x(c.description,`${t}.supportedEfforts[${m}].description`)!==void 0?{description:x(c.description,`${t}.supportedEfforts[${m}].description`)}:{},...f(c.isDefault,`${t}.supportedEfforts[${m}].isDefault`)!==void 0?{isDefault:f(c.isDefault,`${t}.supportedEfforts[${m}].isDefault`)}:{},...f(c.isUserVisible,`${t}.supportedEfforts[${m}].isUserVisible`)!==void 0?{isUserVisible:f(c.isUserVisible,`${t}.supportedEfforts[${m}].isUserVisible`)}:{}}})}if(e.budgetByEffort!==void 0){if(!y(e.budgetByEffort))throw new Error(`provider-capabilities.json: ${t}.budgetByEffort must be an object`);let c={};for(let[m,G]of Object.entries(e.budgetByEffort))c[m]=P(G,`${t}.budgetByEffort.${m}`)??0;a.budgetByEffort=c}return h!==void 0&&(a.allowCustomEffort=h),b!==void 0&&(a.supportsReasoningEffort=b),v!==void 0&&(a.supportsReasoningSummary=v),k!==void 0&&(a.supportsEncryptedReasoningReplay=k),d!==void 0&&(a.supportsAdaptiveThinking=d),C!==void 0&&(a.supportsManualThinkingBudget=C),p!==void 0&&(a.supportsDisabledThinking=p),X!==void 0&&(a.requiresEffortBetaHeader=X),a}o(ye,"validateReasoningProfile");function he(e,t){let n=e.reasoningProfile,r=e.reasoningCapabilityV2;if(n!==void 0&&r!==void 0)throw new Error(`provider-capabilities.json: ${t} must not define both reasoningProfile and deprecated reasoningCapabilityV2`);return n!==void 0?ye(n,`${t}.reasoningProfile`):ye(r,`${t}.reasoningCapabilityV2`)}o(he,"validateReasoningProfileField");function Tt(e,t){if(typeof e!="string"||!pe.includes(e))throw new Error(`provider-capabilities.json: ${t} must be one of ${pe.join(", ")}, got ${JSON.stringify(e)}`);return e}o(Tt,"requireProfileName");function xt(e,t){if(typeof e!="string"||!ge.includes(e))throw new Error(`provider-capabilities.json: ${t} must be one of ${ge.join(", ")}, got ${JSON.stringify(e)}`);return e}o(xt,"requireVerifyStrategy");function St(e,t){if(!y(e))throw new Error(`provider-capabilities.json: ${t} must be an object`);let n=R(e.id,`${t}.id`),r=x(e.wireModel,`${t}.wireModel`),i=x(e.displayName,`${t}.displayName`),s=P(e.contextWindow,`${t}.contextWindow`),l=P(e.maxOutputTokens,`${t}.maxOutputTokens`),u=P(e.thinkingBudgetCap,`${t}.thinkingBudgetCap`),g=f(e.replayReasoningContent,`${t}.replayReasoningContent`),h=f(e.strictThinkingSignature,`${t}.strictThinkingSignature`),b=P(e.streamMaxDurationMs,`${t}.streamMaxDurationMs`),v=e.reasoningCapability===void 0?void 0:F(e.reasoningCapability,`${t}.reasoningCapability`),k=he(e,t),d={id:n};return r!==void 0&&(d.wireModel=r),i!==void 0&&(d.displayName=i),s!==void 0&&(d.contextWindow=s),l!==void 0&&(d.maxOutputTokens=l),u!==void 0&&(d.thinkingBudgetCap=u),v!==void 0&&(d.reasoningCapability=v),k!==void 0&&(d.reasoningProfile=k),g!==void 0&&(d.replayReasoningContent=g),h!==void 0&&(d.strictThinkingSignature=h),b!==void 0&&(d.streamMaxDurationMs=b),d}o(St,"validateModelDescriptor");function Mt(e,t){if(e===void 0)return;if(!y(e))throw new Error(`provider-capabilities.json: ${t} must be an object`);let n={};for(let[r,i]of Object.entries(e))n[r]=F(i,`${t}.${r}`);return n}o(Mt,"validateModelReasoningCapabilities");function Kt(e,t){if(!y(e))throw new Error(`provider-capabilities.json: providers.${t} must be an object`);let n=f(e.cliBridge,`providers.${t}.cliBridge`),r=R(e.apiKeyEnv,`providers.${t}.apiKeyEnv`),i=F(e.reasoningCapability,`providers.${t}.reasoningCapability`),s=he(e,`providers.${t}`),l=Tt(e.capabilityProfile,`providers.${t}.capabilityProfile`),u=xt(e.verifyStrategy,`providers.${t}.verifyStrategy`);if(n&&u!=="unsupported")throw new Error(`provider-capabilities.json: providers.${t} is a cliBridge entry but verifyStrategy="${u}" \u2014 must be "unsupported" (CLI binary owns credentials)`);let g=P(e.contextWindow,`providers.${t}.contextWindow`),h=P(e.maxOutputTokens,`providers.${t}.maxOutputTokens`),b=P(e.thinkingBudgetCap,`providers.${t}.thinkingBudgetCap`),v=f(e.supportsThinking,`providers.${t}.supportsThinking`),k=Mt(e.modelReasoningCapabilities,`providers.${t}.modelReasoningCapabilities`),d=x(e.model,`providers.${t}.model`);if(n&&(d!==void 0||e.models!==void 0))throw new Error(`provider-capabilities.json: providers.${t} is a cliBridge entry but defines model/models \u2014 must be omitted (filled at load time)`);if(!n&&d===void 0)throw new Error(`provider-capabilities.json: providers.${t}.model is required (only cliBridge entries may omit)`);let C;if(e.models!==void 0){if(!Array.isArray(e.models))throw new Error(`provider-capabilities.json: providers.${t}.models must be an array`);C=e.models.map((a,c)=>St(a,`providers.${t}.models[${c}]`));let X=new Set([...d===void 0?[]:[d],...C.map(a=>a.id)]);for(let[a,c]of C.entries())if(c.wireModel!==void 0&&!X.has(c.wireModel))throw new Error(`provider-capabilities.json: providers.${t}.models[${a}].wireModel must reference a declared model, got ${JSON.stringify(c.wireModel)}`)}let p={apiKeyEnv:r,reasoningCapability:i,capabilityProfile:l,verifyStrategy:u};return s!==void 0&&(p.reasoningProfile=s),d!==void 0&&(p.model=d),C!==void 0&&(p.models=C),g!==void 0&&(p.contextWindow=g),h!==void 0&&(p.maxOutputTokens=h),b!==void 0&&(p.thinkingBudgetCap=b),v!==void 0&&(p.supportsThinking=v),k!==void 0&&(p.modelReasoningCapabilities=k),n&&(p.cliBridge=!0),p}o(Kt,"validateProviderEntry");function be(e){if(!y(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 t=R(e.updatedAt,"updatedAt");if(!y(e.providers))throw new Error("provider-capabilities.json: providers must be an object");let n={};for(let[r,i]of Object.entries(e.providers))n[r]=Kt(i,r);return{version:1,updatedAt:t,providers:n}}o(be,"validateProviderCapabilitiesJson");var At=Object.freeze({native:K,"image-input-native":Q,"cli-bridge":O,"image-input-cli-bridge":Z}),L=null;function It(){if(process.env.KODAX_BUNDLED==="true")return S.join(S.dirname(process.execPath),"provider-capabilities.json");let e=S.dirname(Xt(import.meta.url)),t=[S.join(e,"provider-capabilities.json"),S.join(S.dirname(e),"provider-capabilities.json")];for(let n of t)if(wt(n))return n;return t[0]}o(It,"resolveJsonPath");function Ot(e){if(e.models){for(let t of e.models)t.reasoningProfile&&ve(t.reasoningProfile);for(let t of e.models)Object.freeze(t);Object.freeze(e.models)}return e.reasoningProfile&&ve(e.reasoningProfile),e.modelReasoningCapabilities&&Object.freeze(e.modelReasoningCapabilities),Object.freeze(e)}o(Ot,"deepFreezeSnapshot");function ve(e){if(e.supportedEfforts){for(let t of e.supportedEfforts)Object.freeze(t);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)}o(ve,"freezeReasoningProfile");function Dt(e){if(e==="gemini-cli"){let t=T();return{model:t,models:_().filter(n=>n!==t).map(n=>({id:n}))}}if(e==="codex-cli"){let t=E();return{model:t,models:w().filter(n=>n!==t).map(n=>({id:n}))}}throw new Error(`provider-capabilities loader: unknown cliBridge provider '${e}'`)}o(Dt,"resolveCliBridgeModels");function Bt(e,t){let n=At[t.capabilityProfile];if(!n)throw new Error(`provider-capabilities loader: unknown capabilityProfile '${t.capabilityProfile}' for provider '${e}'`);if(t.cliBridge){let i=Dt(e),s={model:i.model,models:i.models,apiKeyEnv:t.apiKeyEnv,reasoningCapability:t.reasoningCapability,capabilityProfile:n,verifyStrategy:t.verifyStrategy};return t.reasoningProfile!==void 0&&(s.reasoningProfile=t.reasoningProfile),t.supportsThinking!==void 0&&(s.supportsThinking=t.supportsThinking),s}let r={model:t.model,apiKeyEnv:t.apiKeyEnv,reasoningCapability:t.reasoningCapability,capabilityProfile:n,verifyStrategy:t.verifyStrategy};return t.reasoningProfile!==void 0&&(r.reasoningProfile=t.reasoningProfile),t.models!==void 0&&(r.models=t.models),t.modelReasoningCapabilities!==void 0&&(r.modelReasoningCapabilities=t.modelReasoningCapabilities),t.contextWindow!==void 0&&(r.contextWindow=t.contextWindow),t.maxOutputTokens!==void 0&&(r.maxOutputTokens=t.maxOutputTokens),t.thinkingBudgetCap!==void 0&&(r.thinkingBudgetCap=t.thinkingBudgetCap),t.supportsThinking!==void 0&&(r.supportsThinking=t.supportsThinking),r}o(Bt,"buildSnapshot");function ke(){if(L)return L;let e=It(),t;try{let i=_t(e,"utf8");t=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 n=be(t),r={};for(let[i,s]of Object.entries(n.providers))r[i]=Ot(Bt(i,s));return L=Object.freeze(r),L}o(ke,"getProviderSnapshots");import Yr from"@anthropic-ai/sdk";var V=ke();var Ce=process.env.KODAX_PROVIDER??"zhipu-coding";export{Le as a,je as b,$e as c,Fe as d,Ue as e,qe as f,j as g,V as h};
46
+ }`;import ie from"node:fs";import se from"node:os";import ae from"node:path";var pt="gpt-5.4",gt="auto-gemini-3",mt=["gpt-5.4","gpt-5.3-codex","gpt-5.3-codex-spark"],ht=["auto-gemini-3","gemini-3.1-pro-preview","gemini-3-flash-preview","gemini-2.5-pro","gemini-2.5-flash"];function de(e){let t=new Set,n=[];for(let r of e){let i=r.trim();if(!i)continue;let s=i.toLowerCase();t.has(s)||(t.add(s),n.push(i))}return n}o(de,"dedupePreserveOrder");function yt(){let e=ae.join(se.homedir(),".codex","config.toml");try{return ie.readFileSync(e,"utf8").match(/^\s*model\s*=\s*"([^"]+)"/m)?.[1]?.trim()||null}catch{return null}}o(yt,"readCodexConfiguredModel");function bt(){let e=ae.join(se.homedir(),".gemini","settings.json");try{let t=JSON.parse(ie.readFileSync(e,"utf8")),n=typeof t.model=="string"?t.model.trim():"";return n||(typeof t.general?.model=="string"?t.general.model.trim():"")||null}catch{return null}}o(bt,"readGeminiConfiguredModel");function E(){return yt()||pt}o(E,"getCodexCliDefaultModel");function T(){return bt()||gt}o(T,"getGeminiCliDefaultModel");function w(){return de([E(),...mt])}o(w,"getCodexCliKnownModels");function _(){return de([T(),...ht])}o(_,"getGeminiCliKnownModels");var pr=T(),gr=_();var xr=E(),Sr=w();import{existsSync as wt,readFileSync as _t}from"node:fs";import S from"node:path";import{fileURLToPath as Xt}from"node:url";var le=["none","prompt-only","native-effort","native-budget","native-toggle","native-adaptive","unknown"],ue=["openai-responses-effort","openai-chat-effort","codex-cli-config","anthropic-output-effort","anthropic-reasoning-effort","provider-budget","provider-toggle","prompt-only","none"],ce=["anthropic-adaptive","anthropic-budget","provider-budget","provider-toggle","none"],fe=["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"],pe=["native","image-input-native","cli-bridge","image-input-cli-bridge"],ge=["count-tokens","models-list","minimal-message","unsupported"];function h(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}o(h,"isPlainObject");function R(e,t){if(typeof e!="string"||e.length===0)throw new Error(`provider-capabilities.json: ${t} must be a non-empty string`);return e}o(R,"requireString");function x(e,t){if(e!==void 0)return R(e,t)}o(x,"optionalString");function P(e,t){if(e!==void 0){if(typeof e!="number"||!Number.isFinite(e)||e<0)throw new Error(`provider-capabilities.json: ${t} must be a non-negative finite number`);return e}}o(P,"optionalNumber");function f(e,t){if(e!==void 0){if(typeof e!="boolean")throw new Error(`provider-capabilities.json: ${t} must be a boolean`);return e}}o(f,"optionalBoolean");function me(e,t){if(e!==void 0){if(!Array.isArray(e))throw new Error(`provider-capabilities.json: ${t} must be an array`);return e.map((n,r)=>R(n,`${t}[${r}]`))}}o(me,"optionalStringArray");function Ct(e,t){if(e===void 0)return;if(!h(e))throw new Error(`provider-capabilities.json: ${t} must be an object`);let n={};for(let[r,i]of Object.entries(e))n[r]=R(i,`${t}.${r}`);return n}o(Ct,"optionalStringMap");function Pt(e,t){if(e!==void 0){if(typeof e!="string"||!fe.includes(e))throw new Error(`provider-capabilities.json: ${t} must be one of ${fe.join(", ")}, got ${JSON.stringify(e)}`);return e}}o(Pt,"optionalReasoningPreset");function F(e,t){if(typeof e!="string"||!le.includes(e))throw new Error(`provider-capabilities.json: ${t} must be one of ${le.join(", ")}, got ${JSON.stringify(e)}`);return e}o(F,"requireReasoningCapability");function Rt(e,t){if(typeof e!="string"||!ue.includes(e))throw new Error(`provider-capabilities.json: ${t} must be one of ${ue.join(", ")}, got ${JSON.stringify(e)}`);return e}o(Rt,"requireEffortStrategy");function Et(e,t){if(e!==void 0){if(typeof e!="string"||!ce.includes(e))throw new Error(`provider-capabilities.json: ${t} must be one of ${ce.join(", ")}, got ${JSON.stringify(e)}`);return e}}o(Et,"optionalThinkingStrategy");function he(e,t){if(e===void 0)return;if(!h(e))throw new Error(`provider-capabilities.json: ${t} must be an object`);let n=Rt(e.effortStrategy,`${t}.effortStrategy`),r=Pt(e.reasoningPreset,`${t}.reasoningPreset`),i=Et(e.thinkingStrategy,`${t}.thinkingStrategy`),s=x(e.defaultEffort,`${t}.defaultEffort`),l=Ct(e.effortAliases,`${t}.effortAliases`),u=me(e.disabledEfforts,`${t}.disabledEfforts`),g=me(e.localRejectEfforts,`${t}.localRejectEfforts`),y=f(e.allowCustomEffort,`${t}.allowCustomEffort`),b=f(e.supportsReasoningEffort,`${t}.supportsReasoningEffort`),v=f(e.supportsReasoningSummary,`${t}.supportsReasoningSummary`),k=f(e.supportsEncryptedReasoningReplay,`${t}.supportsEncryptedReasoningReplay`),d=f(e.supportsAdaptiveThinking,`${t}.supportsAdaptiveThinking`),C=f(e.supportsManualThinkingBudget,`${t}.supportsManualThinkingBudget`),p=f(e.supportsDisabledThinking,`${t}.supportsDisabledThinking`),X=f(e.requiresEffortBetaHeader,`${t}.requiresEffortBetaHeader`),a={effortStrategy:n};if(r!==void 0&&(a.reasoningPreset=r),i!==void 0&&(a.thinkingStrategy=i),s!==void 0&&(a.defaultEffort=s),l!==void 0&&(a.effortAliases=l),u!==void 0&&(a.disabledEfforts=u),g!==void 0&&(a.localRejectEfforts=g),e.supportedEfforts!==void 0){if(!Array.isArray(e.supportedEfforts))throw new Error(`provider-capabilities.json: ${t}.supportedEfforts must be an array`);a.supportedEfforts=e.supportedEfforts.map((c,m)=>{if(!h(c))throw new Error(`provider-capabilities.json: ${t}.supportedEfforts[${m}] must be an object`);return{value:R(c.value,`${t}.supportedEfforts[${m}].value`),...x(c.description,`${t}.supportedEfforts[${m}].description`)!==void 0?{description:x(c.description,`${t}.supportedEfforts[${m}].description`)}:{},...f(c.isDefault,`${t}.supportedEfforts[${m}].isDefault`)!==void 0?{isDefault:f(c.isDefault,`${t}.supportedEfforts[${m}].isDefault`)}:{},...f(c.isUserVisible,`${t}.supportedEfforts[${m}].isUserVisible`)!==void 0?{isUserVisible:f(c.isUserVisible,`${t}.supportedEfforts[${m}].isUserVisible`)}:{}}})}if(e.budgetByEffort!==void 0){if(!h(e.budgetByEffort))throw new Error(`provider-capabilities.json: ${t}.budgetByEffort must be an object`);let c={};for(let[m,G]of Object.entries(e.budgetByEffort))c[m]=P(G,`${t}.budgetByEffort.${m}`)??0;a.budgetByEffort=c}return y!==void 0&&(a.allowCustomEffort=y),b!==void 0&&(a.supportsReasoningEffort=b),v!==void 0&&(a.supportsReasoningSummary=v),k!==void 0&&(a.supportsEncryptedReasoningReplay=k),d!==void 0&&(a.supportsAdaptiveThinking=d),C!==void 0&&(a.supportsManualThinkingBudget=C),p!==void 0&&(a.supportsDisabledThinking=p),X!==void 0&&(a.requiresEffortBetaHeader=X),a}o(he,"validateReasoningProfile");function ye(e,t){let n=e.reasoningProfile,r=e.reasoningCapabilityV2;if(n!==void 0&&r!==void 0)throw new Error(`provider-capabilities.json: ${t} must not define both reasoningProfile and deprecated reasoningCapabilityV2`);return n!==void 0?he(n,`${t}.reasoningProfile`):he(r,`${t}.reasoningCapabilityV2`)}o(ye,"validateReasoningProfileField");function Tt(e,t){if(typeof e!="string"||!pe.includes(e))throw new Error(`provider-capabilities.json: ${t} must be one of ${pe.join(", ")}, got ${JSON.stringify(e)}`);return e}o(Tt,"requireProfileName");function xt(e,t){if(typeof e!="string"||!ge.includes(e))throw new Error(`provider-capabilities.json: ${t} must be one of ${ge.join(", ")}, got ${JSON.stringify(e)}`);return e}o(xt,"requireVerifyStrategy");function St(e,t){if(!h(e))throw new Error(`provider-capabilities.json: ${t} must be an object`);let n=R(e.id,`${t}.id`),r=x(e.wireModel,`${t}.wireModel`),i=x(e.displayName,`${t}.displayName`),s=P(e.contextWindow,`${t}.contextWindow`),l=P(e.maxOutputTokens,`${t}.maxOutputTokens`),u=P(e.thinkingBudgetCap,`${t}.thinkingBudgetCap`),g=f(e.replayReasoningContent,`${t}.replayReasoningContent`),y=f(e.strictThinkingSignature,`${t}.strictThinkingSignature`),b=P(e.streamMaxDurationMs,`${t}.streamMaxDurationMs`),v=e.reasoningCapability===void 0?void 0:F(e.reasoningCapability,`${t}.reasoningCapability`),k=ye(e,t),d={id:n};return r!==void 0&&(d.wireModel=r),i!==void 0&&(d.displayName=i),s!==void 0&&(d.contextWindow=s),l!==void 0&&(d.maxOutputTokens=l),u!==void 0&&(d.thinkingBudgetCap=u),v!==void 0&&(d.reasoningCapability=v),k!==void 0&&(d.reasoningProfile=k),g!==void 0&&(d.replayReasoningContent=g),y!==void 0&&(d.strictThinkingSignature=y),b!==void 0&&(d.streamMaxDurationMs=b),d}o(St,"validateModelDescriptor");function Mt(e,t){if(e===void 0)return;if(!h(e))throw new Error(`provider-capabilities.json: ${t} must be an object`);let n={};for(let[r,i]of Object.entries(e))n[r]=F(i,`${t}.${r}`);return n}o(Mt,"validateModelReasoningCapabilities");function Kt(e,t){if(!h(e))throw new Error(`provider-capabilities.json: providers.${t} must be an object`);let n=f(e.cliBridge,`providers.${t}.cliBridge`),r=R(e.apiKeyEnv,`providers.${t}.apiKeyEnv`),i=F(e.reasoningCapability,`providers.${t}.reasoningCapability`),s=ye(e,`providers.${t}`),l=Tt(e.capabilityProfile,`providers.${t}.capabilityProfile`),u=xt(e.verifyStrategy,`providers.${t}.verifyStrategy`);if(n&&u!=="unsupported")throw new Error(`provider-capabilities.json: providers.${t} is a cliBridge entry but verifyStrategy="${u}" \u2014 must be "unsupported" (CLI binary owns credentials)`);let g=P(e.contextWindow,`providers.${t}.contextWindow`),y=P(e.maxOutputTokens,`providers.${t}.maxOutputTokens`),b=P(e.thinkingBudgetCap,`providers.${t}.thinkingBudgetCap`),v=f(e.supportsThinking,`providers.${t}.supportsThinking`),k=Mt(e.modelReasoningCapabilities,`providers.${t}.modelReasoningCapabilities`),d=x(e.model,`providers.${t}.model`);if(n&&(d!==void 0||e.models!==void 0))throw new Error(`provider-capabilities.json: providers.${t} is a cliBridge entry but defines model/models \u2014 must be omitted (filled at load time)`);if(!n&&d===void 0)throw new Error(`provider-capabilities.json: providers.${t}.model is required (only cliBridge entries may omit)`);let C;if(e.models!==void 0){if(!Array.isArray(e.models))throw new Error(`provider-capabilities.json: providers.${t}.models must be an array`);C=e.models.map((a,c)=>St(a,`providers.${t}.models[${c}]`));let X=new Set([...d===void 0?[]:[d],...C.map(a=>a.id)]);for(let[a,c]of C.entries())if(c.wireModel!==void 0&&!X.has(c.wireModel))throw new Error(`provider-capabilities.json: providers.${t}.models[${a}].wireModel must reference a declared model, got ${JSON.stringify(c.wireModel)}`)}let p={apiKeyEnv:r,reasoningCapability:i,capabilityProfile:l,verifyStrategy:u};return s!==void 0&&(p.reasoningProfile=s),d!==void 0&&(p.model=d),C!==void 0&&(p.models=C),g!==void 0&&(p.contextWindow=g),y!==void 0&&(p.maxOutputTokens=y),b!==void 0&&(p.thinkingBudgetCap=b),v!==void 0&&(p.supportsThinking=v),k!==void 0&&(p.modelReasoningCapabilities=k),n&&(p.cliBridge=!0),p}o(Kt,"validateProviderEntry");function be(e){if(!h(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 t=R(e.updatedAt,"updatedAt");if(!h(e.providers))throw new Error("provider-capabilities.json: providers must be an object");let n={};for(let[r,i]of Object.entries(e.providers))n[r]=Kt(i,r);return{version:1,updatedAt:t,providers:n}}o(be,"validateProviderCapabilitiesJson");var At=Object.freeze({native:K,"image-input-native":Q,"cli-bridge":O,"image-input-cli-bridge":Z}),L=null;function It(){if(process.env.KODAX_BUNDLED==="true")return S.join(S.dirname(process.execPath),"provider-capabilities.json");let e=S.dirname(Xt(import.meta.url)),t=[S.join(e,"provider-capabilities.json"),S.join(S.dirname(e),"provider-capabilities.json")];for(let n of t)if(wt(n))return n;return t[0]}o(It,"resolveJsonPath");function Ot(e){if(e.models){for(let t of e.models)t.reasoningProfile&&ve(t.reasoningProfile);for(let t of e.models)Object.freeze(t);Object.freeze(e.models)}return e.reasoningProfile&&ve(e.reasoningProfile),e.modelReasoningCapabilities&&Object.freeze(e.modelReasoningCapabilities),Object.freeze(e)}o(Ot,"deepFreezeSnapshot");function ve(e){if(e.supportedEfforts){for(let t of e.supportedEfforts)Object.freeze(t);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)}o(ve,"freezeReasoningProfile");function Dt(e){if(e==="gemini-cli"){let t=T();return{model:t,models:_().filter(n=>n!==t).map(n=>({id:n}))}}if(e==="codex-cli"){let t=E();return{model:t,models:w().filter(n=>n!==t).map(n=>({id:n}))}}throw new Error(`provider-capabilities loader: unknown cliBridge provider '${e}'`)}o(Dt,"resolveCliBridgeModels");function Bt(e,t){let n=At[t.capabilityProfile];if(!n)throw new Error(`provider-capabilities loader: unknown capabilityProfile '${t.capabilityProfile}' for provider '${e}'`);if(t.cliBridge){let i=Dt(e),s={model:i.model,models:i.models,apiKeyEnv:t.apiKeyEnv,reasoningCapability:t.reasoningCapability,capabilityProfile:n,verifyStrategy:t.verifyStrategy};return t.reasoningProfile!==void 0&&(s.reasoningProfile=t.reasoningProfile),t.supportsThinking!==void 0&&(s.supportsThinking=t.supportsThinking),s}let r={model:t.model,apiKeyEnv:t.apiKeyEnv,reasoningCapability:t.reasoningCapability,capabilityProfile:n,verifyStrategy:t.verifyStrategy};return t.reasoningProfile!==void 0&&(r.reasoningProfile=t.reasoningProfile),t.models!==void 0&&(r.models=t.models),t.modelReasoningCapabilities!==void 0&&(r.modelReasoningCapabilities=t.modelReasoningCapabilities),t.contextWindow!==void 0&&(r.contextWindow=t.contextWindow),t.maxOutputTokens!==void 0&&(r.maxOutputTokens=t.maxOutputTokens),t.thinkingBudgetCap!==void 0&&(r.thinkingBudgetCap=t.thinkingBudgetCap),t.supportsThinking!==void 0&&(r.supportsThinking=t.supportsThinking),r}o(Bt,"buildSnapshot");function ke(){if(L)return L;let e=It(),t;try{let i=_t(e,"utf8");t=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 n=be(t),r={};for(let[i,s]of Object.entries(n.providers))r[i]=Ot(Bt(i,s));return L=Object.freeze(r),L}o(ke,"getProviderSnapshots");import Yr from"@anthropic-ai/sdk";var V=ke();var Ce=process.env.KODAX_PROVIDER??"zhipu-coding";export{Le as a,je as b,$e as c,Fe as d,Ue as e,qe as f,j as g,V as h};
@@ -1,5 +1,5 @@
1
1
  // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
- import{$ as Ar,A as aC,Aa as EC,B as cC,Ba as MC,C as Do,Ca as AC,D as ra,Da as _C,E as lC,Ea as LC,F as oa,Fa as PC,G as uC,Ga as Li,H as dC,Ha as Pi,I as ia,Ia as Wh,J as Qd,Ja as $C,K as fC,L as ef,La as Fh,M as nl,Ma as pf,N as Oh,Na as DC,O as pC,Oa as OC,P as Nh,Q as Oo,R as tf,S as sa,T as nf,U as rf,V as mC,W as hC,X as aa,Y as gC,Z as No,_ as yC,a as dr,aa as of,b as j,ba as sf,c as N_,ca as xn,d as fn,da as _r,e as Kd,ea as Bh,f as MT,fa as _i,g as Vn,ga as Bo,h as Vd,ha as rl,i as zd,ia as af,j as co,ja as xC,k as Ys,ka as SC,l as AT,la as wC,m as qs,ma as TC,n as tC,na as CC,o as $h,oa as vC,p as nC,pa as cf,q as pn,qa as lf,r as rC,ra as ol,s as fr,sa as uf,t as ta,ta as df,u as oC,ua as ff,v as na,va as IC,w as Dh,wa as bC,x as Jd,xa as RC,y as iC,ya as Hh,z as sC,za as kC}from"./chunk-OJQQRLZJ.js";import{A as KT,F as VT,G as $o,H as Mi,K as zT,L as XT,M as YT,N as qT,O as JT,P as QT,Q as ZT,T as Xd,U as Ai,V as Yd,W as Qs,X as Zs,Y as ea,Z as qd,_ as uo,a as re,b as _T,c as LT,ca as eC,d as Js,e as PT,f as $T,g as ki,h as DT,i as OT,j as NT,k as tl,l as BT,m as HT,n as lo,o as WT,p as FT,q as jT,s as UT,t as GT,u as Ei,v as Mr}from"./chunk-SB75RNNR.js";import{a as Zd}from"./chunk-4PVSDE5L.js";import{Ba as Gd,K as vT,L as IT,N as Ph,O as bT,P as RT,c as Eh,da as kT,n as jd,o as Ud,v as CT,w as el,ya as ET}from"./chunk-DEHOFNQA.js";import{J as ST}from"./chunk-UJRRZINL.js";import{Aa as TT,b as Zc,c as eT,q as xT,za as wT}from"./chunk-5WSOB34U.js";import{Ia as fT,Lc as Fd,Oc as mT,cd as hT,e as Xs,eb as pT,gd as gT,hd as yT,u as dT,va as Wd}from"./chunk-737LI7OS.js";import{Ma as vi,ia as Rh,ka as Ci,wa as Qc,ya as kh}from"./chunk-Q65EAOX6.js";import{Bc as Ld,Cc as Pd,Dc as $d,Ec as Fs,Ga as nT,Ic as Dd,Id as Bd,Jc as bi,Jd as Hd,Uc as aT,Vc as _h,Ya as Mh,Za as Er,ab as Ah,dd as cT,hd as lT,k as Ii,kd as nt,ld as uT,mb as rT,md as kt,od as js,pd as Us,qd as Od,r as tT,rb as Md,sd as Gs,tb as oT,td as Ks,ud as Vs,vd as zs,wd as Nd,xd as Ri,yd as Lh}from"./chunk-QSMXI4MH.js";import{W as Ad,X as _d,b as Ct,e as ao,f as ur,g as Ed,t as iT,u as sT}from"./chunk-OGL227XV.js";import{b as vd,j as Id,k as bd,o as Rd,w as Kn,y as kd}from"./chunk-6YUDR7WN.js";import{a as i,c as O_}from"./chunk-ONUPGMER.js";import{spawnSync as B_}from"node:child_process";function mf(e){return e==="1"||e?.toLowerCase()==="true"}i(mf,"isTruthyEnv");function NC(e){return e==="0"||e?.toLowerCase()==="false"}i(NC,"isFalseyEnv");function $i(e=process.env){return e.TERM_PROGRAM?.toLowerCase()==="vscode"||!!e.VSCODE_GIT_IPC_HANDLE||!!e.VSCODE_INJECTION}i($i,"isVsCodeTerminalHostEnv");function Di(e={}){let t=e.env??process.env;return(e.platform??process.platform)==="win32"||!!t.WT_SESSION}i(Di,"hasCursorUpViewportYankRisk");function H_(e){return!!(e.SSH_CONNECTION||e.SSH_CLIENT||e.SSH_TTY)}i(H_,"isSshSession");function ca(e={}){let t=e.env??process.env;return mf(t.KODAX_FULLSCREEN)?!1:(e.platform??process.platform)==="win32"&&H_(t)}i(ca,"isRemoteConptyHost");function il(e={}){let t=e.env??process.env;return Di(e)||$i(t)}i(il,"hasMainScreenRenderScrollRisk");function W_(e){if(!e.TMUX||e.TERM_PROGRAM!=="iTerm.app")return!1;let t=e.TERM??"";return!t.startsWith("screen")&&!t.startsWith("tmux")}i(W_,"isTmuxControlModeEnvHeuristic");var fo;function la(e={}){if(typeof e.tmuxControlMode=="boolean")return e.tmuxControlMode;let t=e.env??process.env,n=e.platform??process.platform;if(n==="win32")return!1;if(W_(t))return!0;if(!(t===process.env&&n===process.platform))return!1;if(fo!==void 0||(fo=!1,!t.TMUX)||t.TERM_PROGRAM&&t.TERM_PROGRAM!=="iTerm.app")return fo;try{let o=B_("tmux",["display-message","-p","#{client_control_mode}"],{encoding:"utf8",timeout:2e3});o.status===0&&(fo=o.stdout.trim()==="1")}catch{fo=!1}return fo}i(la,"isTmuxControlMode");function hf(){fo=void 0}i(hf,"resetTmuxControlModeProbeForTesting");function Ho(e={}){let t=e.env??process.env,n=e.isTTY??process.stdout.isTTY===!0,r=e.rawModeSupported??(process.stdin.isTTY===!0&&typeof process.stdin.setRawMode=="function");return!n||!r||t.TERM==="dumb"||t.CI==="true"?"unsupported_control_host":la(e)?"tmux_control_mode":$i(t)?"xtermjs_host":ca(e)?"remote_conpty_host":Di(e)?"degraded_vt":"native_vt"}i(Ho,"detectTerminalRenderHost");var Wo=Ho;function Oi(e={}){let t=e.env??process.env;if(mf(t.KODAX_FORCE_INK))return"legacy";let n=t.KODAX_TUI_RENDERER?.trim().toLowerCase();return n==="legacy"||n==="owned"||n==="auto"?n:"auto"}i(Oi,"resolveConfiguredTuiRendererMode");function Fo(e={}){let t=Oi(e);if(t==="legacy"||t==="owned")return t;let n=Ho(e);return n==="unsupported_control_host"||n==="tmux_control_mode"?"legacy":"owned"}i(Fo,"resolveEffectiveTuiRendererMode");function sl(e={}){let t=e.env??process.env;if(mf(t.KODAX_FORCE_CLASSIC_REPL))return"classic";let n=Oi({env:t});if(n==="legacy"||n==="owned")return"ink";let r=Ho(e);return r==="unsupported_control_host"||r==="tmux_control_mode"?"classic":"ink"}i(sl,"resolveInteractiveSurfacePreference");var F_={enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!0},BC={enabled:!0,promptShell:"main-screen",transcriptShell:"virtual",mouseWheel:!0,mouseClicks:!0,streamingPreview:!1,transcriptSpinnerAnimation:!0};function jo(e,t="owned",n={}){let r=n.env??process.env;return NC(r.KODAX_FULLSCREEN)?t==="owned"&&e!=="tmux_control_mode"&&e!=="unsupported_control_host"?BC:F_:j_(e,t)}i(jo,"resolveFullscreenPolicy");function j_(e,t){if(t==="legacy")switch(e){case"native_vt":return{enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!0,transcriptSpinnerAnimation:!0};case"xtermjs_host":case"degraded_vt":case"remote_conpty_host":return{enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!1};default:return{enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!1}}switch(e){case"native_vt":return{enabled:!0,promptShell:"virtual",transcriptShell:"virtual",mouseWheel:!0,mouseClicks:!0,streamingPreview:!0,transcriptSpinnerAnimation:!0};case"xtermjs_host":return{enabled:!0,promptShell:"virtual",transcriptShell:"virtual",mouseWheel:!0,mouseClicks:!0,streamingPreview:!0,transcriptSpinnerAnimation:!0};case"degraded_vt":return{enabled:!0,promptShell:"virtual",transcriptShell:"virtual",mouseWheel:!0,mouseClicks:!0,streamingPreview:!0,transcriptSpinnerAnimation:!0};case"remote_conpty_host":return BC;default:return{enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!1}}}i(j_,"buildFullscreenPolicy");function Ni(e,t={}){let n=t.rendererMode??"owned",r=jo(e,n,{env:t.env}),o=e!=="unsupported_control_host"&&e!=="tmux_control_mode";return{profile:e,ownsViewportByDefault:r.enabled&&r.promptShell==="virtual",supportsMouseTracking:r.mouseWheel||r.mouseClicks,bufferingMode:r.streamingPreview?"live":"buffered-fallback",supportsFullscreenLayout:r.enabled,supportsOverlaySurface:r.enabled,supportsSelection:o,supportsCopyOnSelect:!1,supportsWheelHistory:r.mouseWheel,supportsViewportChrome:r.enabled,supportsSearchViewport:r.enabled,supportsStickyPrompt:r.enabled}}i(Ni,"getTerminalHostCapabilities");function al(e={}){return Fo(e)==="owned"}i(al,"isOwnedRendererPreferred");function cl(e={}){let t=e.env??process.env;return mf(t.KODAX_FORCE_CLASSIC_REPL)&&!NC(t.KODAX_FORCE_CLASSIC_REPL)}i(cl,"isClassicReplForced");var Bi=class{static{i(this,"LRUCache")}capacity;cache;constructor(t){this.capacity=t,this.cache=new Map}get(t){if(!this.cache.has(t))return;let n=this.cache.get(t);return this.cache.delete(t),this.cache.set(t,n),n}set(t,n){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.capacity){let r=this.cache.keys().next().value;r!==void 0&&this.cache.delete(r)}this.cache.set(t,n)}has(t){return this.cache.has(t)}delete(t){return this.cache.delete(t)}clear(){this.cache.clear()}get size(){return this.cache.size}},jh=1,Uh=2,U_=1e3,HC;function yf(){if(!(typeof Intl>"u"||typeof Intl.Segmenter!="function"))return HC??=new Intl.Segmenter("en",{granularity:"grapheme"}),HC}i(yf,"getGraphemeSegmenter");function Sn(e){if(!e)return 0;let t=yf();if(t){let n=0;for(let r of t.segment(e))n++;return n}return[...e].length}i(Sn,"getCodePointLength");function pr(e){if(!e)return!1;let t=e.codePointAt(0);return t===void 0?!1:t>=19968&&t<=40959||t>=13312&&t<=19903||t>=63744&&t<=64255||t>=12352&&t<=12447||t>=12448&&t<=12543||t>=44032&&t<=55215||t>=12288&&t<=12351||t>=65280&&t<=65519||t>=128512&&t<=128591||t>=127744&&t<=128511||t>=128640&&t<=128767||t>=127456&&t<=127487||t>=9728&&t<=9983||t>=9984&&t<=10175||t>=129280&&t<=129535||t>=129536&&t<=129647||t>=129648&&t<=129791}i(pr,"isWideChar");function mr(e){if(!e)return 0;let t=0,n=yf();if(n)for(let r of n.segment(e))t+=pr(r.segment)?Uh:jh;else for(let r of e)t+=pr(r)?Uh:jh;return t}i(mr,"getVisualWidth");function WC(e,t){if(!e||t<0)return"";let n=yf();if(n){let o=0;for(let s of n.segment(e)){if(o===t)return s.segment;o++}return""}let r=[...e];return t>=r.length?"":r[t]}i(WC,"getCharAtCodePoint");function mn(e){if(!e)return[];let t=yf();if(t){let n=[];for(let r of t.segment(e))n.push(r.segment);return n}return[...e]}i(mn,"splitByCodePoints");function G_(e,t,n){return mn(e).slice(t,n).join("")}i(G_,"sliceByCodePoints");function FC(e,t){let n=Math.max(0,t),r=mn(e),o=0,s=0;for(;o<r.length;){let a=pr(r[o])?Uh:jh;if(s+a>n)break;s+=a,o++}return{before:r.slice(0,o).join(""),current:r[o]??"",after:r.slice(o+1).join("")}}i(FC,"splitAtVisualColumn");function ua(e,t,n=!1){if(!e||t<=0)return"";let r="\u2026",s=n?t-1:t,a="",c=0,l=mn(e);for(let d of l){let f=pr(d)?2:1;if(c+f>s)break;a+=d,c+=f}return n&&a.length<e.length&&(a+=r),a}i(ua,"truncateByVisualWidth");var gf=new Bi(U_);function xf(e){let t=gf.get(e);if(t!==void 0)return t;let n=mr(e);return gf.set(e,n),n}i(xf,"getVisualWidthCached");function hn(e,t,n,r){let o=[],s=[],a=[];for(let c=0;c<e.length;c++){let l=e[c]||"";if(s[c]=[],l.length===0){o.push("");let p=o.length-1;s[c].push([p,0]),a.push([c,0]);continue}let d=0,f=mn(l);for(;d<f.length;){let p="",m=0,h=d,S=-1;for(let I=d;I<f.length;I++){let T=f[I],w=pr(T)?2:1;if(m+w>t){S>=0&&I-d>0?(p=f.slice(d,S).join(""),m=f.slice(d,S).reduce((b,M)=>b+(pr(M)?2:1),0),h=S):p.length===0&&w>t&&(p=T,m=w,h=I+1);break}p+=T,m+=w,h=I+1,T===" "&&(S=I+1)}if(p.length>0||o.length===0){let I=d,T=o.length;o.push(p),s[c].push([T,I]),a.push([c,I])}d=h}}return{visualLines:o,logicalToVisualMap:s,visualToLogicalMap:a}}i(hn,"calculateVisualLayout");function Sf(e,t){let{logicalToVisualMap:n,visualLines:r}=e;if(r.length===0)return[0,0];let[o,s]=t,a=n[o];if(!a||a.length===0)return[0,0];let c;for(let[h,S]of a)if(S<=s)c=[h,S];else break;let[l,d]=c??a[0],f=r[l]??"",p=Math.max(0,s-d),m=mr(G_(f,0,p));return[l,m]}i(Sf,"calculateVisualCursorFromLayout");var wf={name:"dark",colors:{primary:"#01A4FF",secondary:"#8B5CF6",accent:"#F59E0B",text:"#CCCCCC",dim:"#666666",thinking:"#A3ADC2",success:"#19C37D",warning:"#FF9F43",error:"#FF5F56",info:"#01A4FF",hint:"#8B5CF6",background:"#0D0D0D",inputBackground:"#1A1A1A"},symbols:{prompt:">",success:"\u2713",error:"\u2717",warning:"!",spinner:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]}},Gh={name:"minimal",colors:{primary:"#01A4FF",secondary:"#8B5CF6",accent:"#F59E0B",text:"#CCCCCC",dim:"#666666",thinking:"#A3ADC2",success:"#19C37D",warning:"#FF9F43",error:"#FF5F56",info:"#01A4FF",hint:"#8B5CF6",background:"#0D0D0D",inputBackground:"#1A1A1A"},symbols:{prompt:"$",success:"+",error:"-",warning:"?",spinner:["-","\\","|","/"]}};var Kh={dark:wf,minimal:Gh};function oe(e="dark"){return Kh[e]??wf}i(oe,"getTheme");function K_(){return Object.keys(Kh)}i(K_,"getThemeNames");import{jsx as Cn,jsxs as Xn,Fragment as Z$}from"react/jsx-runtime";import{useMemo as Yf}from"react";import{jsx as CI}from"react/jsx-runtime";import{createContext as E$,useContext as Vi,useEffect as Sa,useMemo as TI,useState as M$,useCallback as vI,useRef as Ff}from"react";import{Stream as o$}from"node:stream";import{openSync as i$,writeSync as lI}from"node:fs";import{performance as s$}from"node:perf_hooks";import{tmpdir as a$}from"node:os";import{join as c$}from"node:path";import Vh,{forwardRef as X_,useContext as Y_}from"react";import{createContext as V_}from"react";var da=V_({isScreenReaderEnabled:!1});import{createContext as z_}from"react";var Tf=z_(void 0);var jC=X_(({children:e,backgroundColor:t,"aria-label":n,"aria-hidden":r,"aria-role":o,"aria-state":s,...a},c)=>{let{isScreenReaderEnabled:l}=Y_(da),d=n?Vh.createElement("ink-text",null,n):void 0;if(l&&r)return null;let f=Vh.createElement("ink-box",{ref:c,style:{flexWrap:"nowrap",flexDirection:"row",flexGrow:0,flexShrink:1,...a,backgroundColor:t,overflowX:a.overflowX??a.overflow??"visible",overflowY:a.overflowY??a.overflow??"visible"},internal_accessibility:{role:o,state:s}},l&&d?d:e);return t?Vh.createElement(Tf.Provider,{value:t},f):f});jC.displayName="Box";var zn=jC;import Z_,{useContext as UC}from"react";import fa from"chalk";import Uo from"chalk";var q_=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,J_=/^ansi256\(\s?(\d+)\s?\)$/;function Q_(e){return e in Uo}i(Q_,"isNamedColor");function hr(e,t,n){if(!t)return e;if(Q_(t)){let r=Uo;if(n==="foreground")return r[t]?.(e)??e;let o=`bg${t[0].toUpperCase()+t.slice(1)}`;return r[o]?.(e)??e}if(t.startsWith("#"))return n==="foreground"?Uo.hex(t)(e):Uo.bgHex(t)(e);if(t.startsWith("ansi256")){let r=J_.exec(t);if(!r)return e;let o=Number(r[1]);return n==="foreground"?Uo.ansi256(o)(e):Uo.bgAnsi256(o)(e)}if(t.startsWith("rgb")){let r=q_.exec(t);if(!r)return e;let o=Number(r[1]),s=Number(r[2]),a=Number(r[3]);return n==="foreground"?Uo.rgb(o,s,a)(e):Uo.bgRgb(o,s,a)(e)}return e}i(hr,"colorize");function wn({color:e,backgroundColor:t,dimColor:n=!1,bold:r=!1,italic:o=!1,underline:s=!1,strikethrough:a=!1,inverse:c=!1,wrap:l="wrap",children:d,"aria-label":f,"aria-hidden":p=!1,internal_cursorAnchor:m=!1}){let{isScreenReaderEnabled:h}=UC(da),S=UC(Tf),I=h&&f?f:d;if(I==null)return null;let T=i(w=>{let b=w;n&&(b=fa.dim(b)),e&&(b=hr(b,e,"foreground"));let M=t??S;return M&&(b=hr(b,M,"background")),r&&(b=fa.bold(b)),o&&(b=fa.italic(b)),s&&(b=fa.underline(b)),a&&(b=fa.strikethrough(b)),c&&(b=fa.inverse(b)),b},"transform");return h&&p?null:Z_.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:l},internal_transform:T,...m?{internal_cursorAnchor:!0}:{}},h&&f?f:d)}i(wn,"Text");import eL,{useLayoutEffect as tL,useMemo as GC,useState as nL}from"react";function zh({items:e,children:t,style:n}){let[r,o]=nL(0),s=GC(()=>e.slice(r),[e,r]);tL(()=>{o(e.length)},[e.length]);let a=s.map((l,d)=>t(l,r+d)),c=GC(()=>({position:"absolute",flexDirection:"column",...n}),[n]);return eL.createElement("ink-box",{internal_static:!0,style:c},a)}i(zh,"Static");import Gi from"node:process";import sI from"react";import{throttle as HP}from"es-toolkit/compat";import Tn from"ansi-escapes";import So from"is-in-ci";import WP from"auto-bind";import{onExit as FP}from"signal-exit";import jP from"patch-console";import{LegacyRoot as UP,ConcurrentRoot as GP}from"react-reconciler/constants.js";import KP from"yoga-layout";import VP from"wrap-ansi";import zP from"terminal-size";import rL from"node:process";var Cf=i(()=>rL.env.DEV==="true","isDev");import AL from"react-reconciler";import{DefaultEventPriority as _L,NoEventPriority as sv}from"react-reconciler/constants.js";import*as Go from"scheduler";import nv from"yoga-layout";import{createContext as LL}from"react";import xL from"yoga-layout";import oL from"widest-line";var KC=new Map,iL=i(e=>{if(e.length===0)return{width:0,height:0};let t=KC.get(e);if(t)return t;let n=oL(e),r=e.split(`
2
+ import{$ as Ar,A as aC,Aa as EC,B as cC,Ba as MC,C as Do,Ca as AC,D as ra,Da as _C,E as lC,Ea as LC,F as oa,Fa as PC,G as uC,Ga as Li,H as dC,Ha as Pi,I as ia,Ia as Wh,J as Qd,Ja as $C,K as fC,L as ef,La as Fh,M as nl,Ma as pf,N as Oh,Na as DC,O as pC,Oa as OC,P as Nh,Q as Oo,R as tf,S as sa,T as nf,U as rf,V as mC,W as hC,X as aa,Y as gC,Z as No,_ as yC,a as dr,aa as of,b as j,ba as sf,c as N_,ca as xn,d as fn,da as _r,e as Kd,ea as Bh,f as MT,fa as _i,g as Vn,ga as Bo,h as Vd,ha as rl,i as zd,ia as af,j as co,ja as xC,k as Ys,ka as SC,l as AT,la as wC,m as qs,ma as TC,n as tC,na as CC,o as $h,oa as vC,p as nC,pa as cf,q as pn,qa as lf,r as rC,ra as ol,s as fr,sa as uf,t as ta,ta as df,u as oC,ua as ff,v as na,va as IC,w as Dh,wa as bC,x as Jd,xa as RC,y as iC,ya as Hh,z as sC,za as kC}from"./chunk-HS3XHF3R.js";import{A as KT,F as VT,G as $o,H as Mi,K as zT,L as XT,M as YT,N as qT,O as JT,P as QT,Q as ZT,T as Xd,U as Ai,V as Yd,W as Qs,X as Zs,Y as ea,Z as qd,_ as uo,a as re,b as _T,c as LT,ca as eC,d as Js,e as PT,f as $T,g as ki,h as DT,i as OT,j as NT,k as tl,l as BT,m as HT,n as lo,o as WT,p as FT,q as jT,s as UT,t as GT,u as Ei,v as Mr}from"./chunk-4PWPNCNK.js";import{a as Zd}from"./chunk-RDXRM3UI.js";import{Ba as Gd,K as vT,L as IT,N as Ph,O as bT,P as RT,c as Eh,da as kT,n as jd,o as Ud,v as CT,w as el,ya as ET}from"./chunk-TGMBHGZO.js";import{J as ST}from"./chunk-OSF3H4RR.js";import{Aa as TT,b as Zc,c as eT,q as xT,za as wT}from"./chunk-OD6LVXU6.js";import{Ia as fT,Lc as Fd,Oc as mT,cd as hT,e as Xs,eb as pT,gd as gT,hd as yT,u as dT,va as Wd}from"./chunk-7FJNLJLF.js";import{Ma as vi,ia as Rh,ka as Ci,wa as Qc,ya as kh}from"./chunk-D3T24FJW.js";import{Bc as Ld,Cc as Pd,Dc as $d,Ec as Fs,Ga as nT,Ic as Dd,Id as Bd,Jc as bi,Jd as Hd,Uc as aT,Vc as _h,Ya as Mh,Za as Er,ab as Ah,dd as cT,hd as lT,k as Ii,kd as nt,ld as uT,mb as rT,md as kt,od as js,pd as Us,qd as Od,r as tT,rb as Md,sd as Gs,tb as oT,td as Ks,ud as Vs,vd as zs,wd as Nd,xd as Ri,yd as Lh}from"./chunk-VWSLC2WO.js";import{W as Ad,X as _d,b as Ct,e as ao,f as ur,g as Ed,t as iT,u as sT}from"./chunk-Y3AMP22L.js";import{b as vd,j as Id,k as bd,o as Rd,w as Kn,y as kd}from"./chunk-COQYLD4U.js";import{a as i,c as O_}from"./chunk-ONUPGMER.js";import{spawnSync as B_}from"node:child_process";function mf(e){return e==="1"||e?.toLowerCase()==="true"}i(mf,"isTruthyEnv");function NC(e){return e==="0"||e?.toLowerCase()==="false"}i(NC,"isFalseyEnv");function $i(e=process.env){return e.TERM_PROGRAM?.toLowerCase()==="vscode"||!!e.VSCODE_GIT_IPC_HANDLE||!!e.VSCODE_INJECTION}i($i,"isVsCodeTerminalHostEnv");function Di(e={}){let t=e.env??process.env;return(e.platform??process.platform)==="win32"||!!t.WT_SESSION}i(Di,"hasCursorUpViewportYankRisk");function H_(e){return!!(e.SSH_CONNECTION||e.SSH_CLIENT||e.SSH_TTY)}i(H_,"isSshSession");function ca(e={}){let t=e.env??process.env;return mf(t.KODAX_FULLSCREEN)?!1:(e.platform??process.platform)==="win32"&&H_(t)}i(ca,"isRemoteConptyHost");function il(e={}){let t=e.env??process.env;return Di(e)||$i(t)}i(il,"hasMainScreenRenderScrollRisk");function W_(e){if(!e.TMUX||e.TERM_PROGRAM!=="iTerm.app")return!1;let t=e.TERM??"";return!t.startsWith("screen")&&!t.startsWith("tmux")}i(W_,"isTmuxControlModeEnvHeuristic");var fo;function la(e={}){if(typeof e.tmuxControlMode=="boolean")return e.tmuxControlMode;let t=e.env??process.env,n=e.platform??process.platform;if(n==="win32")return!1;if(W_(t))return!0;if(!(t===process.env&&n===process.platform))return!1;if(fo!==void 0||(fo=!1,!t.TMUX)||t.TERM_PROGRAM&&t.TERM_PROGRAM!=="iTerm.app")return fo;try{let o=B_("tmux",["display-message","-p","#{client_control_mode}"],{encoding:"utf8",timeout:2e3});o.status===0&&(fo=o.stdout.trim()==="1")}catch{fo=!1}return fo}i(la,"isTmuxControlMode");function hf(){fo=void 0}i(hf,"resetTmuxControlModeProbeForTesting");function Ho(e={}){let t=e.env??process.env,n=e.isTTY??process.stdout.isTTY===!0,r=e.rawModeSupported??(process.stdin.isTTY===!0&&typeof process.stdin.setRawMode=="function");return!n||!r||t.TERM==="dumb"||t.CI==="true"?"unsupported_control_host":la(e)?"tmux_control_mode":$i(t)?"xtermjs_host":ca(e)?"remote_conpty_host":Di(e)?"degraded_vt":"native_vt"}i(Ho,"detectTerminalRenderHost");var Wo=Ho;function Oi(e={}){let t=e.env??process.env;if(mf(t.KODAX_FORCE_INK))return"legacy";let n=t.KODAX_TUI_RENDERER?.trim().toLowerCase();return n==="legacy"||n==="owned"||n==="auto"?n:"auto"}i(Oi,"resolveConfiguredTuiRendererMode");function Fo(e={}){let t=Oi(e);if(t==="legacy"||t==="owned")return t;let n=Ho(e);return n==="unsupported_control_host"||n==="tmux_control_mode"?"legacy":"owned"}i(Fo,"resolveEffectiveTuiRendererMode");function sl(e={}){let t=e.env??process.env;if(mf(t.KODAX_FORCE_CLASSIC_REPL))return"classic";let n=Oi({env:t});if(n==="legacy"||n==="owned")return"ink";let r=Ho(e);return r==="unsupported_control_host"||r==="tmux_control_mode"?"classic":"ink"}i(sl,"resolveInteractiveSurfacePreference");var F_={enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!0},BC={enabled:!0,promptShell:"main-screen",transcriptShell:"virtual",mouseWheel:!0,mouseClicks:!0,streamingPreview:!1,transcriptSpinnerAnimation:!0};function jo(e,t="owned",n={}){let r=n.env??process.env;return NC(r.KODAX_FULLSCREEN)?t==="owned"&&e!=="tmux_control_mode"&&e!=="unsupported_control_host"?BC:F_:j_(e,t)}i(jo,"resolveFullscreenPolicy");function j_(e,t){if(t==="legacy")switch(e){case"native_vt":return{enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!0,transcriptSpinnerAnimation:!0};case"xtermjs_host":case"degraded_vt":case"remote_conpty_host":return{enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!1};default:return{enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!1}}switch(e){case"native_vt":return{enabled:!0,promptShell:"virtual",transcriptShell:"virtual",mouseWheel:!0,mouseClicks:!0,streamingPreview:!0,transcriptSpinnerAnimation:!0};case"xtermjs_host":return{enabled:!0,promptShell:"virtual",transcriptShell:"virtual",mouseWheel:!0,mouseClicks:!0,streamingPreview:!0,transcriptSpinnerAnimation:!0};case"degraded_vt":return{enabled:!0,promptShell:"virtual",transcriptShell:"virtual",mouseWheel:!0,mouseClicks:!0,streamingPreview:!0,transcriptSpinnerAnimation:!0};case"remote_conpty_host":return BC;default:return{enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!1}}}i(j_,"buildFullscreenPolicy");function Ni(e,t={}){let n=t.rendererMode??"owned",r=jo(e,n,{env:t.env}),o=e!=="unsupported_control_host"&&e!=="tmux_control_mode";return{profile:e,ownsViewportByDefault:r.enabled&&r.promptShell==="virtual",supportsMouseTracking:r.mouseWheel||r.mouseClicks,bufferingMode:r.streamingPreview?"live":"buffered-fallback",supportsFullscreenLayout:r.enabled,supportsOverlaySurface:r.enabled,supportsSelection:o,supportsCopyOnSelect:!1,supportsWheelHistory:r.mouseWheel,supportsViewportChrome:r.enabled,supportsSearchViewport:r.enabled,supportsStickyPrompt:r.enabled}}i(Ni,"getTerminalHostCapabilities");function al(e={}){return Fo(e)==="owned"}i(al,"isOwnedRendererPreferred");function cl(e={}){let t=e.env??process.env;return mf(t.KODAX_FORCE_CLASSIC_REPL)&&!NC(t.KODAX_FORCE_CLASSIC_REPL)}i(cl,"isClassicReplForced");var Bi=class{static{i(this,"LRUCache")}capacity;cache;constructor(t){this.capacity=t,this.cache=new Map}get(t){if(!this.cache.has(t))return;let n=this.cache.get(t);return this.cache.delete(t),this.cache.set(t,n),n}set(t,n){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.capacity){let r=this.cache.keys().next().value;r!==void 0&&this.cache.delete(r)}this.cache.set(t,n)}has(t){return this.cache.has(t)}delete(t){return this.cache.delete(t)}clear(){this.cache.clear()}get size(){return this.cache.size}},jh=1,Uh=2,U_=1e3,HC;function yf(){if(!(typeof Intl>"u"||typeof Intl.Segmenter!="function"))return HC??=new Intl.Segmenter("en",{granularity:"grapheme"}),HC}i(yf,"getGraphemeSegmenter");function Sn(e){if(!e)return 0;let t=yf();if(t){let n=0;for(let r of t.segment(e))n++;return n}return[...e].length}i(Sn,"getCodePointLength");function pr(e){if(!e)return!1;let t=e.codePointAt(0);return t===void 0?!1:t>=19968&&t<=40959||t>=13312&&t<=19903||t>=63744&&t<=64255||t>=12352&&t<=12447||t>=12448&&t<=12543||t>=44032&&t<=55215||t>=12288&&t<=12351||t>=65280&&t<=65519||t>=128512&&t<=128591||t>=127744&&t<=128511||t>=128640&&t<=128767||t>=127456&&t<=127487||t>=9728&&t<=9983||t>=9984&&t<=10175||t>=129280&&t<=129535||t>=129536&&t<=129647||t>=129648&&t<=129791}i(pr,"isWideChar");function mr(e){if(!e)return 0;let t=0,n=yf();if(n)for(let r of n.segment(e))t+=pr(r.segment)?Uh:jh;else for(let r of e)t+=pr(r)?Uh:jh;return t}i(mr,"getVisualWidth");function WC(e,t){if(!e||t<0)return"";let n=yf();if(n){let o=0;for(let s of n.segment(e)){if(o===t)return s.segment;o++}return""}let r=[...e];return t>=r.length?"":r[t]}i(WC,"getCharAtCodePoint");function mn(e){if(!e)return[];let t=yf();if(t){let n=[];for(let r of t.segment(e))n.push(r.segment);return n}return[...e]}i(mn,"splitByCodePoints");function G_(e,t,n){return mn(e).slice(t,n).join("")}i(G_,"sliceByCodePoints");function FC(e,t){let n=Math.max(0,t),r=mn(e),o=0,s=0;for(;o<r.length;){let a=pr(r[o])?Uh:jh;if(s+a>n)break;s+=a,o++}return{before:r.slice(0,o).join(""),current:r[o]??"",after:r.slice(o+1).join("")}}i(FC,"splitAtVisualColumn");function ua(e,t,n=!1){if(!e||t<=0)return"";let r="\u2026",s=n?t-1:t,a="",c=0,l=mn(e);for(let d of l){let f=pr(d)?2:1;if(c+f>s)break;a+=d,c+=f}return n&&a.length<e.length&&(a+=r),a}i(ua,"truncateByVisualWidth");var gf=new Bi(U_);function xf(e){let t=gf.get(e);if(t!==void 0)return t;let n=mr(e);return gf.set(e,n),n}i(xf,"getVisualWidthCached");function hn(e,t,n,r){let o=[],s=[],a=[];for(let c=0;c<e.length;c++){let l=e[c]||"";if(s[c]=[],l.length===0){o.push("");let p=o.length-1;s[c].push([p,0]),a.push([c,0]);continue}let d=0,f=mn(l);for(;d<f.length;){let p="",m=0,h=d,S=-1;for(let I=d;I<f.length;I++){let T=f[I],w=pr(T)?2:1;if(m+w>t){S>=0&&I-d>0?(p=f.slice(d,S).join(""),m=f.slice(d,S).reduce((b,M)=>b+(pr(M)?2:1),0),h=S):p.length===0&&w>t&&(p=T,m=w,h=I+1);break}p+=T,m+=w,h=I+1,T===" "&&(S=I+1)}if(p.length>0||o.length===0){let I=d,T=o.length;o.push(p),s[c].push([T,I]),a.push([c,I])}d=h}}return{visualLines:o,logicalToVisualMap:s,visualToLogicalMap:a}}i(hn,"calculateVisualLayout");function Sf(e,t){let{logicalToVisualMap:n,visualLines:r}=e;if(r.length===0)return[0,0];let[o,s]=t,a=n[o];if(!a||a.length===0)return[0,0];let c;for(let[h,S]of a)if(S<=s)c=[h,S];else break;let[l,d]=c??a[0],f=r[l]??"",p=Math.max(0,s-d),m=mr(G_(f,0,p));return[l,m]}i(Sf,"calculateVisualCursorFromLayout");var wf={name:"dark",colors:{primary:"#01A4FF",secondary:"#8B5CF6",accent:"#F59E0B",text:"#CCCCCC",dim:"#666666",thinking:"#A3ADC2",success:"#19C37D",warning:"#FF9F43",error:"#FF5F56",info:"#01A4FF",hint:"#8B5CF6",background:"#0D0D0D",inputBackground:"#1A1A1A"},symbols:{prompt:">",success:"\u2713",error:"\u2717",warning:"!",spinner:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]}},Gh={name:"minimal",colors:{primary:"#01A4FF",secondary:"#8B5CF6",accent:"#F59E0B",text:"#CCCCCC",dim:"#666666",thinking:"#A3ADC2",success:"#19C37D",warning:"#FF9F43",error:"#FF5F56",info:"#01A4FF",hint:"#8B5CF6",background:"#0D0D0D",inputBackground:"#1A1A1A"},symbols:{prompt:"$",success:"+",error:"-",warning:"?",spinner:["-","\\","|","/"]}};var Kh={dark:wf,minimal:Gh};function oe(e="dark"){return Kh[e]??wf}i(oe,"getTheme");function K_(){return Object.keys(Kh)}i(K_,"getThemeNames");import{jsx as Cn,jsxs as Xn,Fragment as Z$}from"react/jsx-runtime";import{useMemo as Yf}from"react";import{jsx as CI}from"react/jsx-runtime";import{createContext as E$,useContext as Vi,useEffect as Sa,useMemo as TI,useState as M$,useCallback as vI,useRef as Ff}from"react";import{Stream as o$}from"node:stream";import{openSync as i$,writeSync as lI}from"node:fs";import{performance as s$}from"node:perf_hooks";import{tmpdir as a$}from"node:os";import{join as c$}from"node:path";import Vh,{forwardRef as X_,useContext as Y_}from"react";import{createContext as V_}from"react";var da=V_({isScreenReaderEnabled:!1});import{createContext as z_}from"react";var Tf=z_(void 0);var jC=X_(({children:e,backgroundColor:t,"aria-label":n,"aria-hidden":r,"aria-role":o,"aria-state":s,...a},c)=>{let{isScreenReaderEnabled:l}=Y_(da),d=n?Vh.createElement("ink-text",null,n):void 0;if(l&&r)return null;let f=Vh.createElement("ink-box",{ref:c,style:{flexWrap:"nowrap",flexDirection:"row",flexGrow:0,flexShrink:1,...a,backgroundColor:t,overflowX:a.overflowX??a.overflow??"visible",overflowY:a.overflowY??a.overflow??"visible"},internal_accessibility:{role:o,state:s}},l&&d?d:e);return t?Vh.createElement(Tf.Provider,{value:t},f):f});jC.displayName="Box";var zn=jC;import Z_,{useContext as UC}from"react";import fa from"chalk";import Uo from"chalk";var q_=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,J_=/^ansi256\(\s?(\d+)\s?\)$/;function Q_(e){return e in Uo}i(Q_,"isNamedColor");function hr(e,t,n){if(!t)return e;if(Q_(t)){let r=Uo;if(n==="foreground")return r[t]?.(e)??e;let o=`bg${t[0].toUpperCase()+t.slice(1)}`;return r[o]?.(e)??e}if(t.startsWith("#"))return n==="foreground"?Uo.hex(t)(e):Uo.bgHex(t)(e);if(t.startsWith("ansi256")){let r=J_.exec(t);if(!r)return e;let o=Number(r[1]);return n==="foreground"?Uo.ansi256(o)(e):Uo.bgAnsi256(o)(e)}if(t.startsWith("rgb")){let r=q_.exec(t);if(!r)return e;let o=Number(r[1]),s=Number(r[2]),a=Number(r[3]);return n==="foreground"?Uo.rgb(o,s,a)(e):Uo.bgRgb(o,s,a)(e)}return e}i(hr,"colorize");function wn({color:e,backgroundColor:t,dimColor:n=!1,bold:r=!1,italic:o=!1,underline:s=!1,strikethrough:a=!1,inverse:c=!1,wrap:l="wrap",children:d,"aria-label":f,"aria-hidden":p=!1,internal_cursorAnchor:m=!1}){let{isScreenReaderEnabled:h}=UC(da),S=UC(Tf),I=h&&f?f:d;if(I==null)return null;let T=i(w=>{let b=w;n&&(b=fa.dim(b)),e&&(b=hr(b,e,"foreground"));let M=t??S;return M&&(b=hr(b,M,"background")),r&&(b=fa.bold(b)),o&&(b=fa.italic(b)),s&&(b=fa.underline(b)),a&&(b=fa.strikethrough(b)),c&&(b=fa.inverse(b)),b},"transform");return h&&p?null:Z_.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:l},internal_transform:T,...m?{internal_cursorAnchor:!0}:{}},h&&f?f:d)}i(wn,"Text");import eL,{useLayoutEffect as tL,useMemo as GC,useState as nL}from"react";function zh({items:e,children:t,style:n}){let[r,o]=nL(0),s=GC(()=>e.slice(r),[e,r]);tL(()=>{o(e.length)},[e.length]);let a=s.map((l,d)=>t(l,r+d)),c=GC(()=>({position:"absolute",flexDirection:"column",...n}),[n]);return eL.createElement("ink-box",{internal_static:!0,style:c},a)}i(zh,"Static");import Gi from"node:process";import sI from"react";import{throttle as HP}from"es-toolkit/compat";import Tn from"ansi-escapes";import So from"is-in-ci";import WP from"auto-bind";import{onExit as FP}from"signal-exit";import jP from"patch-console";import{LegacyRoot as UP,ConcurrentRoot as GP}from"react-reconciler/constants.js";import KP from"yoga-layout";import VP from"wrap-ansi";import zP from"terminal-size";import rL from"node:process";var Cf=i(()=>rL.env.DEV==="true","isDev");import AL from"react-reconciler";import{DefaultEventPriority as _L,NoEventPriority as sv}from"react-reconciler/constants.js";import*as Go from"scheduler";import nv from"yoga-layout";import{createContext as LL}from"react";import xL from"yoga-layout";import oL from"widest-line";var KC=new Map,iL=i(e=>{if(e.length===0)return{width:0,height:0};let t=KC.get(e);if(t)return t;let n=oL(e),r=e.split(`
3
3
  `).length,o={width:n,height:r};return KC.set(e,o),o},"measureText"),Xh=iL;import sL from"wrap-ansi";import aL from"cli-truncate";var VC={},cL=i((e,t,n)=>{let r=e+String(t)+String(n),o=VC[r];if(o)return o;let s=e;if(n==="wrap"&&(s=sL(e,t,{trim:!1,hard:!0})),n.startsWith("truncate")){let a="end";n==="truncate-middle"&&(a="middle"),n==="truncate-start"&&(a="start"),s=aL(e,t,{position:a})}return VC[r]=s,s},"wrapText"),vf=cL;var lL=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=63},"isCsiParameterCharacter"),uL=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isCsiIntermediateCharacter"),dL=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=64&&t<=126},"isCsiFinalCharacter"),YC=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isEscapeIntermediateCharacter"),fL=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=126},"isEscapeFinalCharacter"),qC=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=128&&t<=159},"isC1ControlCharacter"),zC=i((e,t)=>{let n=t;for(;n<e.length;){let c=e[n];if(!lL(c))break;n++}let r=e.slice(t,n),o=n;for(;n<e.length;){let c=e[n];if(!uL(c))break;n++}let s=e.slice(o,n),a=e[n];if(!(a===void 0||!dL(a)))return{endIndex:n+1,parameterString:r,intermediateString:s,finalCharacter:a}},"readCsiSequence"),XC=i((e,t,n)=>{for(let r=t;r<e.length;r++){let o=e[r];if(n&&o==="\x07"||o==="\x9C")return r+1;if(o==="\x1B"){let s=e[r+1];if(s==="\x1B"){r++;continue}if(s==="\\")return r+2}}},"findControlStringTerminatorIndex"),pL=i((e,t)=>{let n=t;for(;n<e.length;){let s=e[n];if(!YC(s))break;n++}let r=e.slice(t,n),o=e[n];if(!(o===void 0||!fL(o)))return{endIndex:n+1,intermediateString:r,finalCharacter:o}},"readEscapeSequence"),mL=i(e=>{switch(e){case"]":return{type:"osc",allowBellTerminator:!0};case"P":return{type:"dcs",allowBellTerminator:!1};case"^":return{type:"pm",allowBellTerminator:!1};case"_":return{type:"apc",allowBellTerminator:!1};case"X":return{type:"sos",allowBellTerminator:!1};default:return}},"getControlStringFromEscapeIntroducer"),hL=i(e=>{switch(e){case"\x9D":return{type:"osc",allowBellTerminator:!0};case"\x90":return{type:"dcs",allowBellTerminator:!1};case"\x9E":return{type:"pm",allowBellTerminator:!1};case"\x9F":return{type:"apc",allowBellTerminator:!1};case"\x98":return{type:"sos",allowBellTerminator:!1};default:return}},"getControlStringFromC1Introducer"),Yh=i(e=>{if(e.includes("\x1B"))return!0;for(let t of e)if(qC(t))return!0;return!1},"hasAnsiControlCharacters"),pa=i((e,t,n,r)=>(r>n&&e.push({type:"text",value:t.slice(n,r)}),e.push({type:"invalid",value:t.slice(r)}),e),"malformedFromIndex"),JC=i(e=>{if(!Yh(e))return[{type:"text",value:e}];let t=[],n=0;for(let r=0;r<e.length;){let o=e[r];if(o===void 0)break;if(o==="\x1B"){let a=e[r+1];if(a===void 0)return pa(t,e,n,r);if(a==="["){let d=zC(e,r+2);if(d===void 0)return pa(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"csi",value:e.slice(r,d.endIndex),parameterString:d.parameterString,intermediateString:d.intermediateString,finalCharacter:d.finalCharacter}),r=d.endIndex,n=r;continue}let c=mL(a);if(c!==void 0){let d=XC(e,r+2,c.allowBellTerminator);if(d===void 0)return pa(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:c.type,value:e.slice(r,d)}),r=d,n=r;continue}let l=pL(e,r+1);if(l===void 0){if(YC(a))return pa(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),r++,n=r;continue}r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"esc",value:e.slice(r,l.endIndex),intermediateString:l.intermediateString,finalCharacter:l.finalCharacter}),r=l.endIndex,n=r;continue}if(o==="\x9B"){let a=zC(e,r+1);if(a===void 0)return pa(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"csi",value:e.slice(r,a.endIndex),parameterString:a.parameterString,intermediateString:a.intermediateString,finalCharacter:a.finalCharacter}),r=a.endIndex,n=r;continue}let s=hL(o);if(s!==void 0){let a=XC(e,r+1,s.allowBellTerminator);if(a===void 0)return pa(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:s.type,value:e.slice(r,a)}),r=a,n=r;continue}if(o==="\x9C"){r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"st",value:o}),r++,n=r;continue}if(qC(o)){r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"c1",value:o}),r++,n=r;continue}r++}return n<e.length&&t.push({type:"text",value:e.slice(n)}),t},"tokenizeAnsi");var gL=/^[\d:;]*$/,yL=i(e=>{if(!Yh(e))return e;let t="";for(let n of JC(e)){if(n.type==="text"||n.type==="osc"){t+=n.value;continue}n.type==="csi"&&n.finalCharacter==="m"&&n.intermediateString===""&&gL.test(n.parameterString)&&(t+=n.value)}return t},"sanitizeAnsi"),QC=yL;var ZC=i(e=>{let t="";for(let n=0;n<e.childNodes.length;n++){let r=e.childNodes[n];if(r===void 0)continue;let o="";r.nodeName==="#text"?o=r.nodeValue:((r.nodeName==="ink-text"||r.nodeName==="ink-virtual-text")&&(o=ZC(r)),o.length>0&&typeof r.internal_transform=="function"&&(o=r.internal_transform(o,n))),t+=o}return QC(t)},"squashTextNodes"),ll=ZC;var If=i(e=>{let t={nodeName:e,style:{},attributes:{},childNodes:[],parentNode:void 0,yogaNode:e==="ink-virtual-text"?void 0:xL.Node.create(),internal_accessibility:{}};return e==="ink-text"&&t.yogaNode?.setMeasureFunc(SL.bind(null,t)),t},"createNode"),bf=i((e,t)=>{t.parentNode&&ul(t.parentNode,t),t.parentNode=e,e.childNodes.push(t),t.yogaNode&&e.yogaNode?.insertChild(t.yogaNode,e.yogaNode.getChildCount()),(e.nodeName==="ink-text"||e.nodeName==="ink-virtual-text")&&Rf(e)},"appendChildNode"),qh=i((e,t,n)=>{t.parentNode&&ul(t.parentNode,t),t.parentNode=e;let r=e.childNodes.indexOf(n);r>=0?(e.childNodes.splice(r,0,t),t.yogaNode&&e.yogaNode?.insertChild(t.yogaNode,r)):(e.childNodes.push(t),t.yogaNode&&e.yogaNode?.insertChild(t.yogaNode,e.yogaNode.getChildCount())),(e.nodeName==="ink-text"||e.nodeName==="ink-virtual-text")&&Rf(e)},"insertBeforeNode"),ul=i((e,t)=>{t.yogaNode&&t.parentNode?.yogaNode?.removeChild(t.yogaNode),t.parentNode=void 0;let n=e.childNodes.indexOf(t);n>=0&&e.childNodes.splice(n,1),(e.nodeName==="ink-text"||e.nodeName==="ink-virtual-text")&&Rf(e)},"removeChildNode"),Jh=i((e,t,n)=>{if(t==="internal_accessibility"){e.internal_accessibility=n;return}e.attributes[t]=n},"setAttribute"),Qh=i((e,t)=>{e.style=t},"setStyle"),ev=i(e=>{let t={nodeName:"#text",nodeValue:e,yogaNode:void 0,parentNode:void 0,style:{}};return dl(t,e),t},"createTextNode"),SL=i(function(e,t){let n=e.nodeName==="#text"?e.nodeValue:ll(e),r=Xh(n);if(r.width<=t||r.width>=1&&t>0&&t<1)return r;let o=e.style?.textWrap??"wrap",s=vf(n,t,o);return Xh(s)},"measureTextNode"),tv=i(e=>{if(e?.parentNode)return e.yogaNode??tv(e.parentNode)},"findClosestYogaNode"),Rf=i(e=>{tv(e)?.markDirty()},"markNodeAsDirty"),dl=i((e,t)=>{typeof t!="string"&&(t=String(t)),e.nodeValue=t,Rf(e)},"setTextNodeValue");import Re from"yoga-layout";var TL=i((e,t)=>{"position"in t&&e.setPositionType(t.position==="absolute"?Re.POSITION_TYPE_ABSOLUTE:Re.POSITION_TYPE_RELATIVE),"top"in t&&e.setPosition(Re.EDGE_TOP,t.top??0),"bottom"in t&&e.setPosition(Re.EDGE_BOTTOM,t.bottom??0),"left"in t&&e.setPosition(Re.EDGE_LEFT,t.left??0),"right"in t&&e.setPosition(Re.EDGE_RIGHT,t.right??0)},"applyPositionStyles"),CL=i((e,t)=>{"margin"in t&&e.setMargin(Re.EDGE_ALL,t.margin??0),"marginX"in t&&e.setMargin(Re.EDGE_HORIZONTAL,t.marginX??0),"marginY"in t&&e.setMargin(Re.EDGE_VERTICAL,t.marginY??0),"marginLeft"in t&&e.setMargin(Re.EDGE_START,t.marginLeft||0),"marginRight"in t&&e.setMargin(Re.EDGE_END,t.marginRight||0),"marginTop"in t&&e.setMargin(Re.EDGE_TOP,t.marginTop||0),"marginBottom"in t&&e.setMargin(Re.EDGE_BOTTOM,t.marginBottom||0)},"applyMarginStyles"),vL=i((e,t)=>{"padding"in t&&e.setPadding(Re.EDGE_ALL,t.padding??0),"paddingX"in t&&e.setPadding(Re.EDGE_HORIZONTAL,t.paddingX??0),"paddingY"in t&&e.setPadding(Re.EDGE_VERTICAL,t.paddingY??0),"paddingLeft"in t&&e.setPadding(Re.EDGE_LEFT,t.paddingLeft||0),"paddingRight"in t&&e.setPadding(Re.EDGE_RIGHT,t.paddingRight||0),"paddingTop"in t&&e.setPadding(Re.EDGE_TOP,t.paddingTop||0),"paddingBottom"in t&&e.setPadding(Re.EDGE_BOTTOM,t.paddingBottom||0)},"applyPaddingStyles"),IL=i((e,t)=>{"flexGrow"in t&&e.setFlexGrow(t.flexGrow??0),"flexShrink"in t&&e.setFlexShrink(typeof t.flexShrink=="number"?t.flexShrink:1),"flexWrap"in t&&(t.flexWrap==="nowrap"&&e.setFlexWrap(Re.WRAP_NO_WRAP),t.flexWrap==="wrap"&&e.setFlexWrap(Re.WRAP_WRAP),t.flexWrap==="wrap-reverse"&&e.setFlexWrap(Re.WRAP_WRAP_REVERSE)),"flexDirection"in t&&(t.flexDirection==="row"&&e.setFlexDirection(Re.FLEX_DIRECTION_ROW),t.flexDirection==="row-reverse"&&e.setFlexDirection(Re.FLEX_DIRECTION_ROW_REVERSE),t.flexDirection==="column"&&e.setFlexDirection(Re.FLEX_DIRECTION_COLUMN),t.flexDirection==="column-reverse"&&e.setFlexDirection(Re.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in t&&(typeof t.flexBasis=="number"?e.setFlexBasis(t.flexBasis):typeof t.flexBasis=="string"?e.setFlexBasisPercent(Number.parseInt(t.flexBasis,10)):e.setFlexBasis(Number.NaN)),"alignItems"in t&&((t.alignItems==="stretch"||!t.alignItems)&&e.setAlignItems(Re.ALIGN_STRETCH),t.alignItems==="flex-start"&&e.setAlignItems(Re.ALIGN_FLEX_START),t.alignItems==="center"&&e.setAlignItems(Re.ALIGN_CENTER),t.alignItems==="flex-end"&&e.setAlignItems(Re.ALIGN_FLEX_END)),"alignSelf"in t&&((t.alignSelf==="auto"||!t.alignSelf)&&e.setAlignSelf(Re.ALIGN_AUTO),t.alignSelf==="flex-start"&&e.setAlignSelf(Re.ALIGN_FLEX_START),t.alignSelf==="center"&&e.setAlignSelf(Re.ALIGN_CENTER),t.alignSelf==="flex-end"&&e.setAlignSelf(Re.ALIGN_FLEX_END)),"justifyContent"in t&&((t.justifyContent==="flex-start"||!t.justifyContent)&&e.setJustifyContent(Re.JUSTIFY_FLEX_START),t.justifyContent==="center"&&e.setJustifyContent(Re.JUSTIFY_CENTER),t.justifyContent==="flex-end"&&e.setJustifyContent(Re.JUSTIFY_FLEX_END),t.justifyContent==="space-between"&&e.setJustifyContent(Re.JUSTIFY_SPACE_BETWEEN),t.justifyContent==="space-around"&&e.setJustifyContent(Re.JUSTIFY_SPACE_AROUND),t.justifyContent==="space-evenly"&&e.setJustifyContent(Re.JUSTIFY_SPACE_EVENLY))},"applyFlexStyles"),bL=i((e,t)=>{"width"in t&&(typeof t.width=="number"?e.setWidth(t.width):typeof t.width=="string"?e.setWidthPercent(Number.parseInt(t.width,10)):e.setWidthAuto()),"height"in t&&(typeof t.height=="number"?e.setHeight(t.height):typeof t.height=="string"?e.setHeightPercent(Number.parseInt(t.height,10)):e.setHeightAuto()),"minWidth"in t&&(typeof t.minWidth=="string"?e.setMinWidthPercent(Number.parseInt(t.minWidth,10)):e.setMinWidth(t.minWidth??0)),"minHeight"in t&&(typeof t.minHeight=="string"?e.setMinHeightPercent(Number.parseInt(t.minHeight,10)):e.setMinHeight(t.minHeight??0))},"applyDimensionStyles"),RL=i((e,t)=>{"display"in t&&e.setDisplay(t.display==="flex"?Re.DISPLAY_FLEX:Re.DISPLAY_NONE)},"applyDisplayStyles"),kL=i((e,t)=>{if("borderStyle"in t){let n=t.borderStyle?1:0;t.borderTop!==!1&&e.setBorder(Re.EDGE_TOP,n),t.borderBottom!==!1&&e.setBorder(Re.EDGE_BOTTOM,n),t.borderLeft!==!1&&e.setBorder(Re.EDGE_LEFT,n),t.borderRight!==!1&&e.setBorder(Re.EDGE_RIGHT,n)}},"applyBorderStyles"),EL=i((e,t)=>{"gap"in t&&e.setGap(Re.GUTTER_ALL,t.gap??0),"columnGap"in t&&e.setGap(Re.GUTTER_COLUMN,t.columnGap??0),"rowGap"in t&&e.setGap(Re.GUTTER_ROW,t.rowGap??0)},"applyGapStyles"),ML=i((e,t={})=>{TL(e,t),CL(e,t),vL(e,t),IL(e,t),bL(e,t),RL(e,t),kL(e,t),EL(e,t)},"styles"),Zh=ML;if(Cf())try{await import("./devtools-CD6KSIHE.js")}catch(e){if(e.code==="ERR_MODULE_NOT_FOUND")console.warn(`
4
4
  The environment variable DEV is set to true, so Ink tried to import \`react-devtools-core\`,
5
5
  but this failed as it was not installed. Debugging with React Devtools requires it.
@@ -139,7 +139,7 @@ $ npm install --save-dev react-devtools-core
139
139
  [Interrupted]`}),r}i(jW,"buildInterruptedPersistenceItems");function vx({thinking:e,response:t,toolCalls:n,toolNames:r}){let o=[],s=e?.trim()??"",a=t?.trim()??"",c=n&&n.length>0?[...n]:[],l=r&&r.length>0?[...r]:[];return s&&o.push({type:"thinking",text:s}),c.length>0?o.push({type:"tool_group",tools:c}):!s&&!a&&l.length>0&&o.push({type:"info",icon:"*",text:`Tools: ${l.join(", ")}`}),a&&o.push({type:"assistant",text:a}),o}i(vx,"buildRoundHistoryItems");var UW=20,GW="Session ended before the tool completed.";function KW(e){switch(e.status){case j.Success:return{status:"success"};case j.Error:return{status:"error"};case j.Cancelled:return{status:"cancelled"};case j.AwaitingApproval:case j.Scheduled:case j.Validating:case j.Executing:return{status:"cancelled",error:GW};default:return e.status}}i(KW,"toPersistedToolStatus");function VW(e){if(!e.id||!e.name)return;let t=KW(e),n=t.status==="success"?Nh(e.output):void 0,r=t.status==="error"||t.status==="cancelled"?Oh(e.error??Nh(e.output)??t.error??""):void 0,o=pC(e.input);return{id:e.id,name:e.name,status:t.status,...o?{input:o}:{},...typeof e.preview=="string"&&e.preview.trim().length>0?{preview:Oh(e.preview.trim(),500)}:{},...n&&n.trim().length>0?{output:n}:{},...r&&r.trim().length>0?{error:r}:{},...typeof e.startTime=="number"?{startTime:e.startTime}:{},...typeof e.endTime=="number"?{endTime:e.endTime}:{}}}i(VW,"toPersistedToolCall");function zW(e){let t=e.tools.slice(0,UW).map(VW).filter(r=>!!r),n=Ix(e);return t.length>0?{type:"tool_group",tools:t,...n===void 0?{}:{timestamp:n}}:void 0}i(zW,"toPersistedToolGroup");function Ix(e){return e.timestamp!==void 0&&Number.isFinite(e.timestamp)&&e.timestamp>=0?e.timestamp:void 0}i(Ix,"persistedHistoryTimestamp");function ZE(e){if(e.type==="tool_group")return zW(e);let t="text"in e&&typeof e.text=="string"?e.text.trimEnd():"";if(!t)return;if(e.type==="sidecar"){let s=e.delivery==="budget-exhausted"?"budget-exhausted":e.verdict??"revise",a=Ix(e);return{type:"sidecar",text:t,icon:s,...a===void 0?{}:{timestamp:a}}}let n="icon"in e&&typeof e.icon=="string"&&e.icon.length>0?e.icon:void 0,r="compactText"in e&&typeof e.compactText=="string"&&e.compactText.length>0?e.compactText.trimEnd():void 0,o=Ix(e);return{type:e.type,text:t,...o===void 0?{}:{timestamp:o},...n?{icon:n}:{},...r?{compactText:r}:{}}}i(ZE,"toPersistedUiHistoryItem");var YE=process.env.KODAX_TRANSCRIPT_HARNESS_MARKERS==="1",XW=process.env.KODAX_SCROLL_OVERSCAN==="1"?80:void 0;function qE(e){return Ur(e.map(t=>ZE(t)).filter(t=>!!t))}i(qE,"serializeUiHistorySnapshot");function YW(e){return e.map(t=>ZE(t)).filter(t=>!!t)}i(YW,"serializeCreatableHistoryItems");function Sm(e,t){return t.length===0?Ur(e):Ur([...e,...YW(t)])}i(Sm,"appendPersistedUiHistorySnapshot");function du(e,t,n){console.log((e==="block"?dt.red:dt.yellow)(t)),n.forEach(r=>console.log(dt.dim(r)))}i(du,"logSessionTransitionGuard");var Tx=i(({config:e,sessionId:t,workingDir:n,compactionInfo:r})=>{let o=oe("dark"),s=e.model??Mr(e.provider)??e.provider,a=$o({provider:e.provider,model:e.model,effort:e.effort,effortOverride:e.effortOverride,thinking:e.thinking,reasoningMode:e.reasoningMode}),c=r?Math.round(r.contextWindow/1e3):0,l=r?Bl(r.contextWindow,r.triggerPercent,r.triggerTokens):void 0;return In(E,{flexDirection:"column",marginBottom:1,children:[Py.map((d,f)=>ce(v,{color:o.colors.primary,children:d},f)),In(E,{children:[ce(v,{color:o.colors.primary,children:" \u258E "}),ce(v,{color:o.colors.primary,children:"AI Coding Agent \xB7 Minimalist & Intelligent"})]}),In(E,{children:[ce(v,{color:o.colors.success,children:" \u258E "}),In(v,{bold:!0,color:o.colors.text,children:["v",Ei]}),ce(v,{dimColor:!0,children:" \xB7 "}),In(v,{color:o.colors.success,children:[e.provider,"/",s]}),ce(v,{dimColor:!0,children:` \xB7 effort:${a}`}),ce(v,{dimColor:!0,children:" \xB7 "}),ce(v,{color:o.colors.primary,children:e.agentMode.toUpperCase()}),ce(v,{dimColor:!0,children:" / "}),ce(v,{color:o.colors.accent,children:e.permissionMode})]}),r&&In(E,{children:[ce(v,{color:o.colors.accent,children:" \u258E "}),ce(v,{color:o.colors.text,children:`ctx ${c}k \xB7 compaction `}),ce(v,{color:r.enabled?o.colors.success:o.colors.text,children:r.enabled?"on":"off"}),ce(v,{color:o.colors.text,children:` \xB7 ${l}`})]}),In(E,{children:[ce(v,{color:o.colors.secondary,children:" \u258E "}),ce(v,{color:o.colors.text,children:"session "}),ce(v,{color:o.colors.primary,children:t}),ce(v,{color:o.colors.text,children:" \xB7 "}),ce(v,{color:o.colors.text,children:n})]})]})},"Banner");function qW(e){let t=e.config.model??Mr(e.config.provider)??e.config.provider,n=$o({provider:e.config.provider,model:e.config.model,effort:e.config.effort,effortOverride:e.config.effortOverride,thinking:e.config.thinking,reasoningMode:e.config.reasoningMode}),r=e.compactionInfo?Math.round(e.compactionInfo.contextWindow/1e3):0,o=e.compactionInfo?Bl(e.compactionInfo.contextWindow,e.compactionInfo.triggerPercent,e.compactionInfo.triggerTokens):void 0,s=" \u258E AI Coding Agent \xB7 Minimalist & Intelligent",a=` \u258E v${Ei} \xB7 ${e.config.provider}/${t} \xB7 effort:${n} \xB7 ${e.config.agentMode.toUpperCase()} / ${e.config.permissionMode}`,c=e.compactionInfo?` \u258E ctx ${r}k \xB7 compaction ${e.compactionInfo.enabled?"on":"off"} \xB7 ${o}`:void 0,l=` \u258E session ${e.sessionId} \xB7 ${e.workingDir}`,d=[],f=i(m=>{let h=hn(m.length>0?m.split(`
140
140
  `):[""],Math.max(1,e.terminalWidth),0,0);return h.visualLines.length>0?h.visualLines:[""]},"wrapBannerLine"),p=i((m,h,S)=>{f(h).forEach((I,T)=>{d.push({key:`${m}-${T}`,text:I,...S})})},"pushLineRows");return Py.forEach((m,h)=>{p(`banner-logo-${h}`,m,{color:"primary"})}),p("banner-tagline",s,{color:"primary"}),p("banner-version",a,{color:"text",bold:!0}),c&&p("banner-compaction",c,{color:"text"}),p("banner-session",l,{color:"text"}),d.push({key:"banner-blank",text:" "}),{key:"banner",rows:d}}i(qW,"buildBannerTranscriptSection");function JE(e,t){return t?{...e,sections:[t,...e.sections],rows:[...t.rows,...e.rows]}:e}i(JE,"prependTranscriptSection");var JW=process.env.KODAX_INLINE_LEDGER!=="0";function QE(e,t){process.env.KODAX_INLINE_LEDGER_DEBUG==="1"&&Ct({source:"repl:inline-ledger",level:"debug",message:`${e}; rebuilding on next change.`,...t!==void 0?{detail:t}:{}})}i(QE,"reportInlineLedgerFailure");var QW=i(({options:e,config:t,context:n,startupRuntimeInfo:r,storage:o,autoModeSettings:s,rendererMode:a,fullscreenPolicy:c,onExit:l,compactionInfo:d,autoModeBootstrap:f,setAutoModeAskUser:p,setAutoModeEngineChange:m,setCurrentConfigRef:h,teamModeHandle:S})=>{let{exit:I}=Or(),{stdout:T}=Dr(),w=T.rows??24,{stdin:b,setRawMode:M,isRawModeSupported:D}=Tl(),k=ba(),{history:P}=Oa(),q=UE.useRef(null),K=UE.useRef(IT()),{addHistoryItem:V,addHistoryItems:fe,clearHistory:ge,setSessionId:Z}=Na(),y=he(P),A=he(qE(P));Ne(()=>{y.current=P,A.current=qE(P)},[P]),Ne(()=>{OR()},[]),Ne(()=>{AC()},[]);let J=T.columns||80,H=Wa(),ae=he(H);Ne(()=>{ae.current=H},[H]);let{startStreaming:le,stopStreaming:pe,abort:ke,startThinking:ue,appendThinkingChars:ye,appendThinkingContent:Ae,stopThinking:X,clearThinkingContent:ne,setCurrentTool:we,appendToolInputChars:tt,appendToolInputContent:gt,clearToolInputContent:Ge,clearResponse:je,appendResponse:de,getSignal:Ce,getFullResponse:F,getThinkingContent:Oe,startNewIteration:ft,clearIterationHistory:Ot,startCompacting:Ve,stopCompacting:bt,setMaxIter:jt,addPendingInput:Bn,removeLastPendingInput:an,shiftPendingInput:_,consumePendingInputs:W}=Fa(),[B,Q]=Fe(!1),[$,Ee]=Fe(t),Te=me(()=>Mi({provider:$.provider,model:$.model,effort:$.effort,effortOverride:$.effortOverride,permissionMode:$.permissionMode,planModeEffort:$.planModeEffort,thinking:$.thinking,reasoningMode:$.reasoningMode}),[$.provider,$.model,$.effort,$.effortOverride,$.permissionMode,$.planModeEffort,$.thinking,$.reasoningMode]),ve=Te.configuredEffort,Rt=Te.runtimeEffort,Nt=me(()=>({...$,effort:ve}),[$,ve]),cn=me(()=>wE(d,{provider:$.provider,model:$.model},vi),[d,$.provider,$.model]),[qr,_t]=Fe(!0),[Zn,fS]=Fe(!0),[Iu,bu]=Fe(0),[Dm,mc]=Fe(!1),[pS,mS]=Fe(void 0),[hS,Om]=Fe([]),[gS,er]=Fe(null),hc=he(!1),VA=me(()=>Wo(),[]),gc=he(null),Ru=he(null),Nm=he(Promise.resolve()),ku=he(null),di=he({requested:!1,uiHistoryOverride:void 0}),ds=he(null),yc=he(!1),xc=he(null);Ne(()=>{let u=e.learning;if(!u)return;let g=!0,x,C=i(async()=>{let O=await u.getSnapshot();return g&&mS(N=>N!==void 0&&N.revision>O.revision?N:O),O},"refresh"),R=i(O=>{Ct({source:"repl:learning",level:"warn",message:"Failed to refresh the Learning Center snapshot.",detail:O instanceof Error?O.message:String(O)})},"reportRefreshFailure"),L=i(O=>{if(g){if(O.kind==="ready"||O.kind==="activated"||O.kind==="attention"){let N=O.kind==="ready"?"is ready for review":O.kind==="activated"?"became active":"requires attention";Om(Y=>[{id:O.eventId,text:`A learned ${O.carrier} ${N}: ${O.displayName} [/learn]`,tone:O.kind==="activated"?"accent":"warning"},...Y.filter(ee=>ee.id!==O.eventId)].slice(0,2))}C().catch(R)}},"onEvent");return C().then(O=>{if(!g)return;let N=ef(O);if(N){let Y=O.attention>0||O.ready>0?"warning":"accent";Om(ee=>[{id:"learning-recovery",text:N,tone:Y},...ee.filter(We=>We.id!=="learning-recovery")].slice(0,2))}x=u.subscribe(L,{afterRevision:O.revision})}).catch(R),()=>{g=!1,x?.close()}},[e.learning]);let[Sc,Eu]=Fe(!0),[Bm,Mu]=Fe(""),[Ke,Sr]=Fe(()=>jR(VA,{rendererMode:a})),[Bt,Hm]=Fe(!1),[zA,XA]=Fe(0),{scrollRef:YA,scrollOffset:tr,sticky:Wm,setScrollOffset:qA,handleScrollTopChange:JA,handleStickyChange:QA,scrollTo:Au,scrollBy:_u,scrollToBottom:Lu}=sE(),Fm=he(null),Pu=he(null),wc=he([]),$u=he([]),fs=he(null),nr=he(null),yS=he({time:0,row:-1,column:-1,count:0}),[Du,jm]=Fe(void 0),[Jr,Um]=Fe(void 0),[ps,xS]=Fe(void 0),[Rn,ZA]=Fe(()=>new Set),[Gm,SS]=Fe(null),[Zt,wS]=Fe(null),[z,Ou]=Fe(null),[TS,ms]=Fe(null),[Km,CS]=Fe(null),Tc=he(null),Cc=G(u=>{Tc.current=u,CS(u)},[]),vc=G(u=>{let g=u(Tc.current);Tc.current=g,CS(g)},[]),Ic=G((u,g)=>{let x=Tc.current;return x?.status!=="running"||!p0(u,x.runId)?!1:(Cc({...x,message:g}),!0)},[Cc]),Vm=G(u=>{if(u.status==="running"){Cc({runId:u.runId,workflow:u.workflow,status:u.status,...u.phase!==void 0?{phase:u.phase}:{},...u.phaseIndex!==void 0?{phaseIndex:u.phaseIndex}:{},...u.phaseTotal!==void 0?{phaseTotal:u.phaseTotal}:{},...u.startedAt!==void 0?{startedAt:u.startedAt}:{},...u.elapsedMs!==void 0?{elapsedMs:u.elapsedMs}:{},activeAgents:u.activeAgents,totalSpawned:u.totalSpawned,...u.plannedAgents!==void 0?{plannedAgents:u.plannedAgents}:{},...u.agentCap!==void 0?{agentCap:u.agentCap}:{},...u.tokenBudgetSpent!==void 0?{tokenBudgetSpent:u.tokenBudgetSpent}:{},...u.tokenBudgetTotal!==void 0?{tokenBudgetTotal:u.tokenBudgetTotal}:{},completedAgents:u.completedAgents,failedAgents:u.failedAgents,stoppedAgents:u.stoppedAgents,...u.message!==void 0?{message:u.message}:{},...u.locale!==void 0?{locale:u.locale}:{}});return}vc(g=>g?.runId===u.runId?null:g)},[Cc,vc]),e_=G(u=>{let g=u.type==="workflow_updated"?u.message:void 0,x=rl(u.snapshot.goal,u.snapshot.workflowName,u.snapshot.displayName,u.snapshot.latestMessage,g);Vm(TC(u.snapshot,g===void 0?{locale:x}:{locale:x,message:g}))},[Vm]),[Nu,Qr]=Fe([]),hs=me(()=>{for(let u of Nu)if(u.status==="in_progress"){if(u.activeForm&&u.activeForm.length>0)return u.activeForm;if(u.subject&&u.subject.length>0)return u.subject}},[Nu]),[pj,bc]=Fe([]),[Rc,t_]=Fe([]),[Bu,Tt]=Fe(void 0),[fi,kc]=Fe(void 0),ut=he(null),Hu=he(null),pi=he([]),gs=he([]),ln=he([]),zm=he(new Set),rt=he({}),yt=he({activeToolGroupTools:[]}),vS=he(0),Wu=he({itemId:void 0,kind:"thinking",pendingText:""}),rr=he(null),n_=80,r_=20,o_=he(null),Fu=me(()=>[...P,...Rc],[P,Rc]),Xm=me(()=>{let u=bb(Fu,o_);return u===0?Fu:Fu.slice(u)},[Fu]),ju=me(()=>Rb(Xm,r_),[Xm]),ys=Xm,en=he(null),wr=he(null),Tr=he([]),tn=he([]),[mi,i_]=Fe([]),Zr=he([]),[Ym,s_]=Fe([]),Ec=he([]),Hn=G(u=>{Zr.current=u,i_(u)},[]),xs=G(u=>{Ec.current=u,s_(u)},[]),qm=G(()=>{xs([])},[xs]),IS=G(u=>{if(!Wp(u))return!1;let g=hy(u),x=Ec.current.filter(C=>C.id!==g);return x.length===Ec.current.length||xs(x),!0},[xs]),Wn=G((u,g,x,C)=>{if(!Wp(u))return!1;let R=hy(u),L=Ec.current.find(Ue=>Ue.id===R);if(C?.skipIfExisting&&L?.kind===g||x0(L?.kind,g))return!0;let O=C?.append&&L?.kind===g?`${L.detail}${x}`:x||L?.detail||"running",N={id:R,label:h0(u),source:g0(u),status:"running",kind:g,detail:my(O),startedAt:L?.startedAt??Date.now()},Y=Ec.current,ee=Y.findIndex(Ue=>Ue.id===R),We=ee>=0?Y.map((Ue,zt)=>zt===ee?N:Ue):[...Y,N].slice(0,OW);return xs(We),!0},[xs]),bS=G(u=>{pi.current=u,bc(u)},[]),Ss=G(u=>{ln.current=u,t_(u)},[]),RS=G(u=>{let g=u([...ln.current]);Ss(g)},[Ss]),kS=G(u=>{u.length!==0&&Ss([...ln.current,...u])},[Ss]),Uu=G(u=>{let g=yt.current,x=g.activeToolGroupTools.some(C=>C.status===j.Executing);yt.current={...u?.clearOwner?{}:{workerId:g.workerId,workerTitle:g.workerTitle},...x?{activeToolGroupItemId:g.activeToolGroupItemId,activeToolGroupTools:g.activeToolGroupTools}:{activeToolGroupTools:[]}},u?.clearOwner&&(rt.current={})},[]),Gu=G(u=>{for(let g of u)g.type==="user"&&typeof g.id=="string"&&zm.current.add(g.id)},[]),Mc=G(()=>{Wu.current={itemId:void 0,kind:"thinking",pendingText:""},rr.current&&(clearTimeout(rr.current),rr.current=null);let u=ay(ln.current,zm.current);if(u.length>0){for(let g of u)zm.current.add(g.id);ds.current?.(u.map(g=>ai(g)))}Uu({clearOwner:!0}),Ss([])},[Uu,Ss]),Ku=G(u=>(vS.current+=1,`managed-foreground-${u}-${vS.current}`),[]),Ut=G(u=>(kS([u]),u.id),[kS]),kn=G((u,g)=>{rt.current.workerId?Ut({id:`${g}-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:u.type,text:u.text,...u.icon?{icon:u.icon}:{},...u.tightSpacing?{tightSpacing:!0}:{},timestamp:Date.now()}):V(u)},[V,Ut]),ES=G((u,g)=>{let x=Date.now();rt.current.workerId?Ut({id:`${g}-${x}-${Math.random().toString(36).slice(2,7)}`,type:"sidecar",text:u.text,...u.verdict?{verdict:u.verdict}:{},...u.delivery?{delivery:u.delivery}:{},timestamp:x}):V(u)},[V,Ut]),eo=G((u,g)=>{if(!u)return;let x;return RS(C=>C.map(R=>R.id!==u?R:(x=g(R),x))),x},[RS]),ws=G((u,g)=>{let x=yt.current;if(x.activeKind===u){if(u==="thinking"&&x.activeThinkingItemId)return x.activeThinkingItemId;if(u==="assistant"&&x.activeAssistantItemId)return x.activeAssistantItemId;if(u==="tool_group"&&x.activeToolGroupItemId)return x.activeToolGroupItemId}let C=Date.now(),R=g?.trim()?`[${g.trim()}] `:"",L=x.activeToolGroupTools.some(N=>N.status===j.Executing);if(u==="thinking"){let N=Ut({id:Ku("thinking"),type:"thinking",timestamp:C,text:R});return yt.current={...yt.current,activeKind:"thinking",activeThinkingItemId:N,currentTurnThinkingItemId:N,activeAssistantItemId:void 0,...L?{}:{activeToolGroupItemId:void 0,activeToolGroupTools:[]}},N}if(u==="assistant"){let N=Ut({id:Ku("assistant"),type:"assistant",timestamp:C,text:R});return yt.current={...yt.current,activeKind:"assistant",activeThinkingItemId:void 0,activeAssistantItemId:N,...L?{}:{activeToolGroupItemId:void 0,activeToolGroupTools:[]}},N}let O=Ut({id:Ku("tool_group"),type:"tool_group",timestamp:C,tools:[]});return yt.current={...yt.current,activeKind:"tool_group",activeThinkingItemId:void 0,activeAssistantItemId:void 0,activeToolGroupItemId:O,activeToolGroupTools:[]},O},[Ut,Ku]),or=G(()=>{rr.current&&(clearTimeout(rr.current),rr.current=null);let u=Wu.current;if(!u.pendingText||!u.itemId)return;let g=u.pendingText,x=u.itemId,C=u.kind;u.pendingText="",eo(x,R=>R.type!==C?R:{...R,text:`${R.text}${g}`})},[eo]),MS=G(()=>{rr.current||(rr.current=setTimeout(or,n_))},[or]),Vu=G((u,g)=>{if(!g)return;let x=yt.current;if(u==="assistant"&&!FW(g,x.activeKind==="assistant"&&!!x.activeAssistantItemId))return;let C=x.workerTitle,R=ws(u,C),L=Wu.current;L.itemId===R&&L.kind===u?L.pendingText+=g:(or(),L.itemId=R,L.kind=u,L.pendingText=g),MS()},[ws,or,MS]),AS=G(u=>{let g=u.trim();if(!g)return;let x=Wu.current;x.kind==="thinking"&&x.pendingText&&(x.pendingText="",rr.current&&(clearTimeout(rr.current),rr.current=null));let C=yt.current.workerTitle?.trim(),R=C?`[${C}] ${g}`:g,L=yt.current.currentTurnThinkingItemId;if(L){eo(L,N=>N.type==="thinking"?{...N,text:R}:N);return}let O=ws("thinking",yt.current.workerTitle);eo(O,N=>N.type==="thinking"?{...N,text:R}:N)},[ws,eo]),ir=G(u=>{or();let g=yt.current;if(g.activeToolGroupItemId&&g.activeToolGroupTools.some(O=>O.id===u.id)){let O=g.activeToolGroupTools.map(Y=>Y.id===u.id?u:Y),N=O.every(Y=>Y.status===j.Success||Y.status===j.Error||Y.status===j.Cancelled);yt.current={...g,...N?{activeToolGroupItemId:void 0,activeToolGroupTools:[]}:{activeToolGroupTools:O}},eo(g.activeToolGroupItemId,Y=>Y.type==="tool_group"?{...Y,tools:O}:Y);return}let x=ln.current;for(let O=x.length-1;O>=0;O-=1){let N=x[O];if(N.type!=="tool_group"||!N.tools.some(ee=>ee.id===u.id))continue;let Y=N.tools.map(ee=>ee.id===u.id?u:ee);eo(N.id,ee=>ee.type==="tool_group"?{...ee,tools:Y}:ee);return}let C=ws("tool_group",g.workerTitle),L=g.activeKind==="tool_group"&&g.activeToolGroupItemId===C?g.activeToolGroupTools.some(O=>O.id===u.id)?g.activeToolGroupTools.map(O=>O.id===u.id?u:O):[...g.activeToolGroupTools,u]:[u];yt.current={...yt.current,activeKind:"tool_group",activeToolGroupItemId:C,activeToolGroupTools:L},eo(C,O=>O.type==="tool_group"?{...O,tools:L}:O)},[ws,eo,or]),a_=G(u=>{or();let g=yt.current,x=g.activeToolGroupTools.some(L=>L.status===j.Executing),C=Zr.current.filter(L=>L.status===j.Executing),R=new Set(C.map(L=>L.id));yt.current={workerId:u?.workerId,workerTitle:u?.workerTitle,...x?{activeToolGroupItemId:g.activeToolGroupItemId,activeToolGroupTools:g.activeToolGroupTools}:{activeToolGroupTools:[]}},rt.current={workerId:u?.workerId,workerTitle:u?.workerTitle},Tr.current=[],tn.current=tn.current.filter(L=>R.has(L.id)),Hn(C),Ge(),we(void 0),X(),ne(),je(),Tt(void 0)},[or,Ge,je,ne,we,Hn,Tt,X]),c_=G(u=>{if(u.length===0)return[];let g=[],x=[...pi.current],C=[...gs.current];for(let R of u){let L=R.item,O=x.findIndex(N=>N.id===L.id);if(O>=0){let N=x[O];tm(N,L)||(x=x.map((Y,ee)=>ee===O?{...L,timestamp:N.timestamp}:Y))}else x=[...x,L].slice(-12),g.push(L);if(R.persistToHistory){let N=C.findIndex(Y=>Y.id===L.id);if(N>=0){let Y=C[N];tm(Y,L)||(C=C.map((ee,We)=>We===N?{...L,timestamp:Y.timestamp}:ee))}else C=[...C,L].slice(-48)}}return gs.current=C,(g.length>0||x.some((R,L)=>!tm(R,pi.current[L]??R)||R.id!==pi.current[L]?.id))&&bS(x),g},[bS]),zu=G(u=>{if(tn.current.findIndex(x=>x.id===u.id)===-1){tn.current=[...tn.current,u];return}tn.current=tn.current.map(x=>x.id===u.id?u:x)},[]),ko=G(u=>{let g=Zr.current.filter(x=>x.status===j.Executing);if(g.length!==0){if(u){let x=Ay(u);for(let C=g.length-1;C>=0;C-=1){let R=g[C];if(Ay(R.name)===x)return R}}return g[g.length-1]}},[]),Ts=G(()=>{let u=ko();we(u?My(u.name):void 0)},[ko,we]),_S=G(u=>(zu(u),Hn([...Zr.current.filter(g=>g.id!==u.id),u]),Ts(),u),[Hn,Ts,zu]),Cs=G((u,g)=>{let x=Zr.current.find(R=>R.id===u);if(!x)return null;let C=g(x);return zu(C),Hn(Zr.current.map(R=>R.id===u?C:R)),Ts(),C},[Hn,Ts,zu]),LS=G((u,g,x)=>{if(u){let R=Cs(u,x);if(R)return R}let C=ko(g);return C?Cs(C.id,x):null},[ko,Cs]),Xu=G((u,g,x,C,R)=>{let L=u??ko(R)?.id;return L?Cs(L,O=>({...O,status:g,endTime:Date.now(),error:x,output:C})):null},[ko,Cs]),Ac=G((u,g)=>{let x=Date.now(),C=new Map;for(let R of Zr.current){if(R.status!==j.Executing)continue;let L=g(R);C.set(R.id,{...R,status:u,endTime:x,...L})}return C.size===0?[]:(tn.current=tn.current.map(R=>C.get(R.id)??R),Hn(Zr.current.map(R=>C.get(R.id)??R)),Ts(),[...C.values()])},[Hn,Ts]),Eo=G(()=>{Hn([])},[Hn]),{showHelp:PS,toggleHelp:l_,setShowHelp:$S}=Oy(),u_=G(u=>{Mu(u),Eu(u.trim().length===0)},[]),Yu=qo(),DS=me(()=>Yu?Yu.state.visible&&Yu.suggestions.length>0:!1,[Yu]),[_c,OS]=Fe(!1),NS=he(Iu),hi=G(()=>{en.current&&(clearTimeout(en.current),en.current=null),wr.current&&(clearTimeout(wr.current),wr.current=null)},[]);Ne(()=>{DS&&!_c&&OS(!0)},[DS,_c]),Ne(()=>{Iu!==NS.current&&(NS.current=Iu,_c&&OS(!1))},[Iu,_c]);let[ze,Lc]=Fe(null),to=he(null),d_=he(uR()),[Be,sr]=Fe(null),qu=he(null),Ju=he(Be);Ju.current=Be;let[un,vs]=Fe(""),[Qu,ar]=Fe(0),Jm=he(""),Pc=he(void 0),BS=me(()=>{if(!cn)return;let{contextWindow:u,triggerPercent:g,triggerTokens:x,reservedResponseTokens:C}=cn;return{currentTokens:gS??n.contextTokenSnapshot?.currentTokens??Ii(n.messages),contextWindow:u,triggerPercent:g,triggerTokens:x,reservedResponseTokens:C}},[n.messages,n.contextTokenSnapshot,cn,gS]),$c=me(()=>{if(!ze)return;let u=new Set(ze.runtimeGrantSuggestions?.map(C=>C.kind)??[]);if(u.has("persistent"))return re("confirm.instruction.runtime_persistent");if(u.has("session"))return re("confirm.instruction.runtime_session");if(ze.runtimeGrantSuggestions!==void 0)return re("confirm.instruction.basic");let g=!!ze.input._alwaysConfirm,x=$.permissionMode==="accept-edits"&&!g;return g?re("confirm.instruction.protected"):x?re("confirm.instruction.always"):re("confirm.instruction.basic")},[ze,$.permissionMode]),pt=Ke.searchMode==="history",se=Ke.surface==="transcript",Cr=!!ze||!!Be||pt,Lt=se?Bt?hb:1e3:12,Mo=HE(c,Ke.surface),HS=Mo.shellMode,Qm=Mo.usesAlternateScreenShell,gi=Mo.usesRendererViewportShell,Zu=Mo.usesRendererMouseTracking,WS=Mo.usesManagedMouseClicks,FS=Mo.usesManagedMouseWheel,Zm=Mo.usesManagedSelection,Pt=WE(c,Ke.surface,QR(Ke)),jS=ZR(Ke),ed=_c&&!se,US=G(()=>hx({items:ys,managedLiveEvents:[],isLoading:B,isThinking:H.isThinking,thinkingCharCount:H.thinkingCharCount,thinkingContent:H.thinkingContent,currentResponse:H.currentResponse,currentTool:H.currentTool,activeToolCalls:mi,toolInputCharCount:H.toolInputCharCount,toolInputContent:H.toolInputContent,lastLiveActivityLabel:Bu,workStripText:fi,iterationHistory:H.iterationHistory,currentIteration:H.currentIteration,isCompacting:H.isCompacting}),[ys,B,H.isThinking,H.thinkingCharCount,H.thinkingContent,H.currentResponse,H.currentTool,mi,H.toolInputCharCount,H.toolInputContent,Bu,fi,H.iterationHistory,H.currentIteration,H.isCompacting]);Ne(()=>{if(se){SS(u=>u??US());return}SS(null)},[US,se]);let Dc=me(()=>DE({isTranscriptMode:se,snapshot:Gm,currentItemsLength:ys.length,currentManagedLiveEventsLength:0,isLoading:B,currentResponse:H.currentResponse,thinkingContent:H.thinkingContent,activeToolCallsLength:mi.length}),[mi.length,B,se,ys.length,H.currentResponse,H.thinkingContent,Gm]),Gt=se?Gm:null,eh=me(()=>NE(ju),[ju]),f_=me(()=>!!(Rc.length>0||XE(z)),[Rc.length,z]),td=Rc.length>0,nn=c.streamingPreview&&f_,Is=me(()=>OE({surface:"transcript",snapshot:Gt,promptItems:ju,transcriptItems:ys}),[Gt,ju,ys]),Oc=me(()=>{if(!se||Bt||Is.length<=qg)return Is;let u=Is.slice(-qg),g=Is.length-u.length;return[Mb(g,u[0]?.timestamp),...u]},[Is,se,Bt]),mt=Gt?.isLoading??B,at=c.streamingPreview?{isThinking:nn?!1:H.isThinking,thinkingCharCount:nn?0:H.thinkingCharCount,thinkingContent:nn?"":H.thinkingContent,currentResponse:nn?"":H.currentResponse,currentTool:nn?void 0:H.currentTool,activeToolCalls:nn?[]:mi,toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:nn?Bu:void 0,iterationHistory:[],currentIteration:H.currentIteration,isCompacting:!1}:{isThinking:!1,thinkingCharCount:0,thinkingContent:"",currentResponse:"",currentTool:void 0,activeToolCalls:[],toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:void 0,iterationHistory:[],currentIteration:H.currentIteration,isCompacting:!1},Ie=c.streamingPreview?{isThinking:nn?!1:Gt?.isThinking??H.isThinking,thinkingCharCount:nn?0:Gt?.thinkingCharCount??H.thinkingCharCount,thinkingContent:nn?"":Gt?.thinkingContent??H.thinkingContent,currentResponse:nn?"":Gt?.currentResponse??H.currentResponse,currentTool:nn?void 0:Gt?.currentTool??H.currentTool,activeToolCalls:nn?[]:Gt?.activeToolCalls??mi,toolInputCharCount:nn?0:Gt?.toolInputCharCount??H.toolInputCharCount,toolInputContent:nn?"":Gt?.toolInputContent??H.toolInputContent,managedLiveEvents:[],lastLiveActivityLabel:Gt?.lastLiveActivityLabel??Bu,iterationHistory:nn?[]:Gt?.iterationHistory??H.iterationHistory,currentIteration:Gt?.currentIteration??H.currentIteration,isCompacting:Gt?.isCompacting??H.isCompacting}:{isThinking:!1,thinkingCharCount:0,thinkingContent:"",currentResponse:"",currentTool:void 0,activeToolCalls:[],toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:void 0,iterationHistory:[],currentIteration:Gt?.currentIteration??H.currentIteration,isCompacting:!1},no=se?Jr:Du,GS=!!Du,KS=G(()=>hx({items:eh,managedLiveEvents:[],isLoading:B,isThinking:at.isThinking,thinkingCharCount:at.thinkingCharCount,thinkingContent:at.thinkingContent,currentResponse:at.currentResponse,currentTool:at.currentTool,activeToolCalls:at.activeToolCalls,toolInputCharCount:at.toolInputCharCount,toolInputContent:at.toolInputContent,lastLiveActivityLabel:at.lastLiveActivityLabel,iterationHistory:at.iterationHistory,currentIteration:at.currentIteration,isCompacting:at.isCompacting}),[B,eh,at.activeToolCalls,at.currentIteration,at.currentResponse,at.currentTool,at.isCompacting,at.isThinking,at.iterationHistory,at.lastLiveActivityLabel,at.thinkingCharCount,at.thinkingContent,at.toolInputCharCount,at.toolInputContent]);Ne(()=>{if(!GS){wS(null);return}wS(u=>u??KS())},[KS,GS]);let Nc=Zt?.items??eh,dn=Zt?.isLoading??B,$e=Zt?{isThinking:Zt.isThinking,thinkingCharCount:Zt.thinkingCharCount,thinkingContent:Zt.thinkingContent,currentResponse:Zt.currentResponse,currentTool:Zt.currentTool,activeToolCalls:Zt.activeToolCalls,toolInputCharCount:Zt.toolInputCharCount,toolInputContent:Zt.toolInputContent,managedLiveEvents:Zt.managedLiveEvents,lastLiveActivityLabel:Zt.lastLiveActivityLabel,iterationHistory:Zt.iterationHistory,currentIteration:Zt.currentIteration,isCompacting:Zt.isCompacting}:at,Kt=se?Oc:Nc,vr=se?mt:dn,qe=se?Ie:$e,VS=dn&&!H.currentResponse&&!H.thinkingContent&&mi.length===0,p_=_l(Km?.status==="running"),Ht=me(()=>vC(Km,Date.now()),[Km,p_]),zS=Ht.shouldRender?`Workflow ${Ht.workflow}${Ht.phase?` - ${Ht.phase}`:""}`:void 0,Ir=me(()=>aR(Nu,{now:Date.now(),lastAllCompletedAt:null}),[Nu]),XS=w<=20?1:py,m_=_l(Ym.length>0),th=me(()=>S0(Ym,XS,Date.now()),[XS,Ym,m_]),YS=m0({isTranscriptMode:se,isLoading:B,hasWorkflowLiveSurface:Ht.shouldRender,childActivityVisible:th.shouldRender}),bs=me(()=>{if(!se)return[];let u=[];return u.push(...CC(Ht)),B&&Ir.shouldRender&&u.push(...oR(Ir)),u},[se,B,Ir,Ht]),yi=me(()=>({config:Nt,sessionId:n.sessionId,workingDir:e.context?.executionCwd||e.context?.gitRoot||n.runtimeInfo?.executionCwd||n.gitRoot||process.cwd(),terminalWidth:J,compactionInfo:cn??void 0}),[cn,n.sessionId,Nt,n.runtimeInfo?.executionCwd,e.context?.gitRoot,e.context?.executionCwd,J]),Ao=me(()=>c.enabled&&Zn?qW(yi):void 0,[yi,c.enabled,Zn]),qS=he(ec),JS=he(!1),nh=he(!1),Rs=Uk({enabled:JW,useRendererViewportShell:gi,isTranscriptMode:se,hasCommitHandle:typeof Ki(T)?.commitInlineScrollback=="function"}),Bc=me(()=>pp({items:Nc,viewportWidth:J,maxLines:Lt,showDetailedTools:!1,showAllContent:!1,windowed:!1}),[Nc,J,Lt]),xi=me(()=>{let u=mp({activeItems:Bc.activeItems,viewportWidth:J,isLoading:dn,maxLines:Lt,isThinking:$e.isThinking,thinkingCharCount:$e.thinkingCharCount,thinkingContent:$e.thinkingContent,streamingResponse:$e.currentResponse,currentTool:$e.currentTool,activeToolCalls:$e.activeToolCalls,toolInputCharCount:$e.toolInputCharCount,toolInputContent:$e.toolInputContent,iterationHistory:$e.iterationHistory,currentIteration:$e.currentIteration,isCompacting:$e.isCompacting,managedAgentMode:$.agentMode,managedPhase:dn?z?.phase:void 0,managedHarnessProfile:dn?z?.harnessProfile:void 0,managedWorkerTitle:dn?z?.activeWorkerTitle:void 0,managedRound:dn?z?.currentRound:void 0,managedMaxRounds:dn?z?.maxRounds:void 0,managedGlobalWorkBudget:dn?z?.globalWorkBudget:void 0,managedBudgetUsage:dn?z?.budgetUsage:void 0,managedBudgetApprovalRequired:dn?z?.budgetApprovalRequired:void 0,lastLiveActivityLabel:$e.lastLiveActivityLabel,currentTodoActiveForm:hs,showFullThinking:!1,showDetailedTools:!1,showAllContent:!1,showLiveProgressRows:VS}),g=wb(Bc,u,Ao);return Vk(g,Rs)},[$.agentMode,Rs,dn,$e.activeToolCalls,$e.currentIteration,$e.currentTool,$e.isCompacting,$e.currentResponse,$e.isThinking,$e.iterationHistory,$e.lastLiveActivityLabel,$e.thinkingCharCount,$e.thinkingContent,$e.toolInputCharCount,$e.toolInputContent,z?.activeWorkerTitle,z?.budgetApprovalRequired,z?.budgetUsage,z?.currentRound,z?.globalWorkBudget,z?.harnessProfile,z?.maxRounds,z?.phase,VS,Bc,Ao,J,Lt,hs]),rh=me(()=>pp({items:Oc,viewportWidth:J,maxLines:Lt,showDetailedTools:Bt,showAllContent:Bt,showFullThinking:!0,windowed:!1}),[Oc,J,Lt,Bt]),nd=me(()=>{if(!se||gi)return;let u=mp({activeItems:rh.activeItems,viewportWidth:J,isLoading:mt,maxLines:Lt,isThinking:Ie.isThinking,thinkingCharCount:Ie.thinkingCharCount,thinkingContent:Ie.thinkingContent,streamingResponse:Ie.currentResponse,currentTool:Ie.currentTool,activeToolCalls:Ie.activeToolCalls,toolInputCharCount:Ie.toolInputCharCount,toolInputContent:Ie.toolInputContent,iterationHistory:Ie.iterationHistory,currentIteration:Ie.currentIteration,isCompacting:Ie.isCompacting,managedAgentMode:$.agentMode,managedPhase:mt?z?.phase:void 0,managedHarnessProfile:mt?z?.harnessProfile:void 0,managedWorkerTitle:mt?z?.activeWorkerTitle:void 0,managedRound:mt?z?.currentRound:void 0,managedMaxRounds:mt?z?.maxRounds:void 0,managedGlobalWorkBudget:mt?z?.globalWorkBudget:void 0,managedBudgetUsage:mt?z?.budgetUsage:void 0,managedBudgetApprovalRequired:mt?z?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Ie.lastLiveActivityLabel,liveStatusLines:bs,currentTodoActiveForm:hs,showFullThinking:!0,showDetailedTools:Bt,showAllContent:Bt,showLiveProgressRows:!td,expandedItemKeys:Rn});return JE(Yg(hp(rh,u)),Ao)},[$.agentMode,Rn,td,Ao,se,z?.activeWorkerTitle,z?.budgetApprovalRequired,z?.budgetUsage,z?.currentRound,z?.globalWorkBudget,z?.harnessProfile,z?.maxRounds,z?.phase,J,mt,Lt,rh,Ie.activeToolCalls,Ie.currentIteration,Ie.currentResponse,Ie.currentTool,Ie.isCompacting,Ie.isThinking,Ie.iterationHistory,Ie.lastLiveActivityLabel,Ie.thinkingCharCount,Ie.thinkingContent,Ie.toolInputCharCount,Ie.toolInputContent,Bt,bs,gi,hs]),Hc=me(()=>{if(Pt)return se?JE(gp({items:Kt,viewportWidth:J,isLoading:vr,maxLines:Lt,isThinking:qe.isThinking,thinkingCharCount:qe.thinkingCharCount,thinkingContent:qe.thinkingContent,streamingResponse:qe.currentResponse,currentTool:qe.currentTool,activeToolCalls:qe.activeToolCalls,toolInputCharCount:qe.toolInputCharCount,toolInputContent:qe.toolInputContent,iterationHistory:qe.iterationHistory,currentIteration:qe.currentIteration,isCompacting:qe.isCompacting,managedAgentMode:$.agentMode,managedPhase:vr?z?.phase:void 0,managedHarnessProfile:vr?z?.harnessProfile:void 0,managedWorkerTitle:vr?z?.activeWorkerTitle:void 0,managedRound:vr?z?.currentRound:void 0,managedMaxRounds:vr?z?.maxRounds:void 0,managedGlobalWorkBudget:vr?z?.globalWorkBudget:void 0,managedBudgetUsage:vr?z?.budgetUsage:void 0,managedBudgetApprovalRequired:vr?z?.budgetApprovalRequired:void 0,lastLiveActivityLabel:qe.lastLiveActivityLabel,liveStatusLines:bs,currentTodoActiveForm:hs,windowed:!0,showFullThinking:se,showDetailedTools:Bt,showAllContent:Bt,showLiveProgressRows:se&&!td,expandedItemKeys:se?Rn:void 0}),Ao):Yg(xi)},[$.agentMode,vr,Kt,td,Ao,qe.activeToolCalls,qe.currentIteration,qe.currentResponse,qe.currentTool,qe.isCompacting,qe.isThinking,qe.iterationHistory,qe.lastLiveActivityLabel,qe.thinkingCharCount,qe.thinkingContent,qe.toolInputCharCount,qe.toolInputContent,Rn,se,z?.activeWorkerTitle,z?.budgetApprovalRequired,z?.budgetUsage,z?.currentRound,z?.globalWorkBudget,z?.harnessProfile,z?.maxRounds,z?.phase,xi,B,se,J,Lt,Pt,bs,Bt,hs]),br=me(()=>Hc??nd,[Hc,nd]),Wc=me(()=>mx({status:z,isLoading:B,agentMode:$.agentMode}),[$.agentMode,B,z]).workStripText,Fc=Gt?.workStripText??fi,ks=me(()=>mx({status:z,isLoading:B,agentMode:$.agentMode,parallelTextOverride:Fc}),[$.agentMode,Fc,B,z]),Si=me(()=>Qk(Kt).filter(u=>u!==yp),[Kt]),ot=me(()=>cm(Ke,Si,Ke.selectedItemId),[Si,Ke]),En=me(()=>Kt.find(u=>u.id===ot),[Kt,ot]),QS=me(()=>({...Ke,supportsSelection:Ke.supportsSelection&&Pt,supportsCopyOnSelect:Ke.supportsCopyOnSelect&&Pt}),[Ke,Pt]),Fn=me(()=>CE({state:QS,selectableItemIds:Si,selectedItemId:ot,selectedItemType:En?.type,isExpanded:ot?Rn.has(ot):!1}),[Rn,Si,En?.type,ot,QS]),ZS=Fn.selectionEnabled,ew=Fn.copyCapabilities.copyOnSelect,gj=Fn.selectedItemIndex,tw=me(()=>Jk(En),[En]),rd=me(()=>zk(Kt.filter(u=>!Qg(u))),[Kt]),Wt=me(()=>Xk(rd,un),[rd,un]),od=me(()=>bE({isHistorySearchActive:pt,historySearchQuery:un,matches:Wt,selectedIndex:Qu,anchorItemId:Ke.searchAnchorItemId,useOverlaySurface:Ke.supportsOverlaySurface&&Ke.supportsSearchViewport&&Pt}),[Wt,un,Qu,pt,Ke.searchAnchorItemId,Ke.supportsOverlaySurface,Ke.supportsSearchViewport,Pt]),_o=od.clampedSelectedIndex,nw=od.statusText,oh=od.detailText,rw=od.searchState,yj=Fn.detailState==="expanded",id=Fn.selectionEnabled&&Si.length>0&&!no,Es=Fn.copyCapabilities.message,sd=Fn.copyCapabilities.toolInput,ad=Fn.toggleDetail;Ne(()=>{if(Wc){if(wr.current&&(clearTimeout(wr.current),wr.current=null),fi===Wc)return;if(fi){en.current&&(clearTimeout(en.current),en.current=null),kc(Wc);return}en.current&&clearTimeout(en.current),en.current=setTimeout(()=>{kc(Wc),en.current=null},400);return}if(!fi){en.current&&(clearTimeout(en.current),en.current=null);return}en.current&&(clearTimeout(en.current),en.current=null),wr.current&&clearTimeout(wr.current),wr.current=setTimeout(()=>{kc(void 0),wr.current=null},300)},[hi,Wc,fi]),Ne(()=>()=>{hi()},[hi]);let Lo=me(()=>nE({state:Ke,ownsViewport:Pt,isAwaitingUserInteraction:Cr,isHistorySearchActive:pt,isTranscriptMode:se,historySearchQuery:un}),[un,Cr,pt,se,Ke,Pt]);Ne(()=>{Sr(u=>{let g=VR(u,tr);return g=KR(g,Dc),g=XR(g,c.enabled&&Pt?!Wm||pt||Cr:se||pt||Cr),g=JR(g,_o),g})},[_o,c.enabled,tr,Cr,pt,se,Dc,Pt,Wm]),Ne(()=>{Qu!==_o&&ar(_o)},[_o,Qu]),Ne(()=>{if(!pt){Jm.current=un;return}if(un===Jm.current)return;Jm.current=un;let u=qk(rd,Wt,Ke.searchAnchorItemId);ar(u)},[Wt,un,pt,Ke.searchAnchorItemId,rd]);let ow=se?Ie:{isThinking:$e.isThinking,thinkingCharCount:$e.thinkingCharCount,currentTool:$e.currentTool,activeToolCalls:$e.activeToolCalls,toolInputCharCount:$e.toolInputCharCount,toolInputContent:$e.toolInputContent,currentIteration:$e.currentIteration,isCompacting:$e.isCompacting},jc=se?mt:dn,[ih,jn]=Fe(()=>ss($.permissionMode,e.runtimeAutoModeControl?void 0:f.getGuardrail().getEngine(),s.engine));Ne(()=>{if(!e.runtimeAutoModeControl){Vn($.permissionMode)||jn(void 0);return}if(!Vn($.permissionMode)){jn(void 0),e.runtimeAutoModeControl.syncSettings?.(n.sessionId,$.permissionMode,s);return}jn(C=>ss($.permissionMode,C,s.engine));let u=!0;i(async()=>{let C=await e.runtimeAutoModeControl?.syncSettings?.(n.sessionId,$.permissionMode,s)??await e.runtimeAutoModeControl?.getStats(n.sessionId);u&&jn(ss($.permissionMode,C?.engine,s.engine))},"refresh")();let x=e.runtimeAutoModeControl.subscribe?.(n.sessionId,C=>{u&&jn(ss($.permissionMode,C?.engine,s.engine))});return()=>{u=!1,x?.close()}},[s,n.sessionId,$.permissionMode,e.runtimeAutoModeControl]);let cd=me(()=>TE({sessionId:n.sessionId,permissionMode:$.permissionMode,agentMode:$.agentMode,provider:$.provider,model:$.model??Mr($.provider)??$.provider,thinking:$.thinking,reasoningMode:$.reasoningMode,effort:ve,reasoningEffortLabel:$o({provider:$.provider,model:$.model,effort:ve,effortOverride:$.effortOverride,thinking:$.thinking,reasoningMode:$.reasoningMode}),isTranscriptMode:se,streamingState:ow,maxIter:H.maxIter,contextUsage:BS,learning:pS,isLoading:jc,managedState:{phase:z?.phase,harnessProfile:z?.harnessProfile,workerTitle:z?.activeWorkerTitle,round:z?.currentRound,maxRounds:z?.maxRounds,globalWorkBudget:z?.globalWorkBudget,budgetUsage:z?.budgetUsage,budgetApprovalRequired:z?.budgetApprovalRequired,idleWaiting:z?.idleWaiting,idleWaitingPendingCount:z?.idleWaitingPendingCount},autoModeEngine:ih}),[n.sessionId,$.permissionMode,$.agentMode,$.provider,$.model,$.thinking,$.reasoningMode,$.effortOverride,ve,se,ow,H.maxIter,BS,pS,jc,z?.phase,z?.harnessProfile,z?.activeWorkerTitle,z?.currentRound,z?.maxRounds,z?.globalWorkBudget,z?.budgetUsage,z?.budgetApprovalRequired,z?.idleWaiting,z?.idleWaitingPendingCount,ih]),sh=ze?"confirm":Be?.kind,iw=me(()=>SE({isTranscriptMode:se,isLoading:jc,streamingState:$e,managedState:jc?{phase:z?.phase,harnessProfile:z?.harnessProfile,workerTitle:z?.activeWorkerTitle}:void 0,waitingReason:sh,workflowBuilderMessage:TS??void 0,backgroundWorkflowMessage:zS}),[$e.activeToolCalls,$e.currentTool,$e.isCompacting,$e.isThinking,$e.thinkingCharCount,$e.toolInputCharCount,$e.toolInputContent,se,z?.activeWorkerTitle,z?.harnessProfile,z?.phase,sh,jc,TS,zS]),ro=yE({activity:iw})?iw:void 0,sw=ro?.text,aw=!!ro,cw=he(!1);Ne(()=>{cw.current&&!B&&Qr(u=>u.length>0?[]:u),cw.current=B},[B]);let ah=me(()=>Cp(cd),[cd]),lw=me(()=>ah,[ah]),uw=lw.text,h_=me(()=>s0(H.pendingInputs),[H.pendingInputs]),ch=me(()=>cR({isHistorySearchActive:pt,isTranscriptMode:se,pendingInputCount:H.pendingInputs.length,buffering:Ke.buffering,pendingLiveUpdates:Dc}),[pt,se,Dc,H.pendingInputs.length,Ke.buffering]),dw=ch.leftItems,fw=ch.rightItems,pw=ch.summary,ld=me(()=>kE({historySearchQuery:un,pendingInputCount:H.pendingInputs.length}),[un,H.pendingInputs.length]),ud=me(()=>[...RE({historySearchQuery:un,isHistorySearchActive:pt,historySearchMatchCount:Wt.length,pendingInputCount:H.pendingInputs.length,maxPendingInputs:5}),...hS],[Wt.length,un,pt,hS,H.pendingInputs.length]),mw=me(()=>ud.map(u=>u.text).join(" | "),[ud]),dd=me(()=>EE({inputText:Bm,isTranscriptMode:se,isHistorySearchActive:pt}),[Bm,pt,se]),hw=Ke.supportsOverlaySurface&&Ke.supportsSearchViewport&&Pt,fd=me(()=>vE({runtime:Fn,itemSummary:tw}),[tw,Fn]),lh=me(()=>ME(ld),[ld]),gw=me(()=>AE({textSelection:no,selectionState:fd,isHistorySearchActive:pt,historySearchDetailText:oh,historySearchHasMatches:!!nw&&Wt.length>0,showAllActive:Bt,baseFooterNotices:ld}),[no,ld,oh,Wt.length,nw,pt,Bt,fd]),g_=gw.secondaryText,y_=gw.budgetNotices,yw=se?y_:lh,xw=w,Sw=se?"":Bm,ww=se?void 0:h_,Tw=Fc,Cw=se?!1:PS,vw=Ht.shouldRender?nR(Ht):0,Iw=B&&Ir.shouldRender?Ir.rows.length:0,bw=YS?Fp(th):0,Vt=me(()=>FR({terminalRows:xw,terminalWidth:J,windowedTranscript:gi,inputText:Sw,footerHeaderText:pw,activitySummary:se?void 0:sw,activityBarVisible:se?!1:aw,workflowSurfaceRows:se?0:vw,childActivitySurfaceRows:se?0:bw,todoSurfaceRows:se?0:Iw,pendingInputSummary:ww,stashNoticeSummary:dd,notificationSummary:mw,statusNoticeSummary:yw.join(" | "),workStripText:Tw,suggestionsReserved:ed,suggestionsMode:"inline",showHelp:Cw,statusBarText:uw,confirmPrompt:ze?.prompt,confirmInstruction:$c,dialogMode:"inline",reviewHint:c.enabled&&Pt?void 0:Lo.browseHintText,uiRequest:Be?Be.kind==="select"?{kind:"select",title:Be.title,options:Be.options.map(u=>({label:u.label,description:u.description})),buffer:Be.buffer,error:Be.error}:{kind:"input",prompt:Be.prompt,defaultValue:Be.defaultValue,buffer:Be.buffer,error:Be.error}:null}),[xw,J,Sw,pw,sw,aw,se,vw,bw,Iw,ww,dd,mw,yw,Tw,ed,hw,Cw,uw,ze,$c,c.enabled,Lo.browseHintText,Pt,Be]),uh=me(()=>{if(!Rs)return{model:xi,committedSections:[]};let{committedSections:u,liveRows:g}=Tb(Bc.staticSections,xi.rows,xi.previewRows,Vt.messageRows);return{model:{...xi,staticSections:[],rows:g,previewRows:[]},committedSections:u}},[Rs,xi,Bc.staticSections,Vt.messageRows]),Rw=uh.model;Ne(()=>{let u=Ki(T),g=typeof u?.commitInlineScrollback=="function",x=Gk({active:Rs,hasCommitHandle:g,wasActive:JS.current,forceRebuild:nh.current,prior:qS.current,finalizedSections:uh.committedSections,bannerSection:Ao,width:J,identify:Cb}),C=!1,R=!1;if(x.kind==="commit"){let O=x.sections.flatMap(Y=>Y.rows),N=jk(O.length>0?[{key:"il-delta",rows:O}]:[],{width:J,theme:oe("dark")});if(R=N.length>0,x.mode==="append"&&!N)QE("empty-append-text");else try{u?.commitInlineScrollback?.({mode:x.mode,text:N}),C=!0}catch(Y){QE("commit-threw",Y)}}let L=Kk(x,{committed:C,hadContent:R},nh.current);qS.current=L.state,JS.current=L.wasActive,nh.current=L.owns},[Rs,uh.committedSections,Ao,J,T]);let x_=me(()=>ce(Op,{reserveSpace:ed,width:J,hidden:se,mode:"inline"}),[ed,J,se,hw]),Uc=me(()=>rE(Vt.messageRows),[Vt.messageRows]),kw=me(()=>oE(Uc),[Uc]),Ms=!jS&&c.transcriptSpinnerAnimation,Gc=br?br.rows.length+br.previewRows.length:zA,pd=G(u=>{br||XA(u.scrollHeight)},[br]),Kc=G(u=>uE({window:u,stickyHeader:Lo.stickyHeader,width:J,topChromeRows:0}),[J,Lo.stickyHeader]),As=G((u=wc.current,g=$u.current,x=Fm.current?Kc(Fm.current):Pu.current)=>{if(!x||u.length===0){fs.current=null;return}Pu.current=x,fs.current=dE(u,{allRows:g,rowIndexByKey:cx(g),topOffsetRows:x.topOffsetRows,viewportHeight:x.contentWindow.viewportHeight,animateSpinners:Ms})},[Kc,Ms]),Vc=G(()=>{let u=Pu.current;return u?.contentWindow.viewportHeight&&u.contentWindow.viewportHeight>0?u.contentWindow.viewportHeight:Vt.messageRows},[Vt.messageRows]),S_=G(u=>{Fm.current=u;let g=Kc(u);Pu.current=g,As(wc.current,$u.current,g)},[As,Kc]),md=G(u=>{wc.current=u.rows,$u.current=u.allRows,As(u.rows,u.allRows)},[As]),rn=G(()=>{nr.current=null,jm(void 0),Um(void 0)},[]),dh=G(()=>{rn(),Sr(u=>Za(u,void 0))},[rn]);Ne(()=>{As()},[As]),Ne(()=>{qA(u=>iE(u,Gc,Vt.messageRows))},[Gc,Vt.messageRows]),Ne(()=>{if(!ps)return;let u=setTimeout(()=>{xS(void 0)},2e3);return()=>{clearTimeout(u)}},[ps]);let cr=G((u,g="success")=>{let x=u?.trim();x&&xS({text:x,tone:g})},[]),w_=G(u=>{cr(u,"warning")},[cr]),_s=G((u,g)=>{let x=g instanceof Error?g.message:String(g);return`${u}: ${x}`},[]),hd=G(async u=>{let g=u??no;if(!g)return!1;let x=g.text.trimEnd();if(!x)return!1;try{return await nl(x,{terminalWrite:k}),cr(`Copied ${g.rowCount} selected line${g.rowCount===1?"":"s"} to clipboard.`,"success"),!0}catch(C){return cr(_s("Failed to copy transcript selection",C),"warning"),!1}},[no,_s,cr,k]),Ls=G(u=>{if(!u||aE({items:Kt,renderModel:br,terminalWidth:J,transcriptMaxLines:Lt,viewportRows:Vc(),itemId:u,visibleRows:wc.current,expandedItemKeys:Rn,showDetailedTools:!1}))return;let g=cE({items:Kt,renderModel:br,terminalWidth:J,transcriptMaxLines:Lt,viewportRows:Vc(),itemId:u,expandedItemKeys:Rn,showDetailedTools:!1});Au(g)},[Kt,J,Lt,br,Rn,Vc,Au,wc]),Ew=G(u=>{Sr(g=>Za(g,u)),u&&Ls(u)},[Ls]),fh=G(u=>{u&&Ls(u)},[Ls]),Mw=G(u=>{if(!id)return;let g=Zk(Si,ot,u);g&&Ew(g)},[id,Si,ot,Ew]),Aw=G(()=>{!ad||!ot||(ZA(u=>{let g=new Set(u);return g.has(ot)?g.delete(ot):g.add(ot),g}),Ls(ot))},[Ls,ad,ot]),_w=G(async()=>{if(!Es||!En)return;let u=ax(En);if(u)try{await nl(u,{terminalWrite:k}),cr("Copied selected transcript entry to clipboard.","success")}catch(g){cr(_s("Failed to copy transcript entry",g),"warning")}},[_s,Es,En,cr,k]),Lw=G(async()=>{if(!sd||!En)return;let u=eE(En);if(u)try{await nl(u,{terminalWrite:k}),cr("Copied selected tool args to clipboard.","success")}catch(g){cr(_s("Failed to copy tool args",g),"warning")}},[_s,sd,En,cr,k]),zc=G(()=>$u.current,[]),Pw=G((u,g)=>{if(!c.enabled||!Pt)return;let x=fs.current;return x?ux(x,u,g):void 0},[c.enabled,Pt]),Ps=G((u,g,x)=>{let C=zc(),R=mE(C,u,g,{animateSpinners:Ms,selectFullRowOnCollapsed:x?.selectFullRowOnCollapsed});se?Um(R):jm(R);let L=C[Math.max(0,Math.min(g.modelRowIndex,C.length-1))];return x?.updateSelectedItem&&L?.itemId&&Sr(O=>Za(O,L.itemId)),R},[se,zc,Ms]),$w=G((u,g)=>{if(!u)return;nr.current=null;let x={...u,focus:g?.focusPoint??u.focus};if(!(x.mode!=="char"||x.didDrag)){rn();return}let R=Ps(x.anchor,x.focus,{selectFullRowOnCollapsed:!1,updateSelectedItem:!1});if(!R){rn();return}return g?.copySelection!==!1&&hd(R),R},[rn,hd,Ps]),ph=G(()=>{if(!se||!Kt.length||ze||Be)return;rn();let u=lE({items:Kt,selectedItemId:ot,renderModel:br,terminalWidth:J,transcriptMaxLines:Lt,viewportRows:Vc(),scrollOffset:tr,expandedItemKeys:Rn,showDetailedTools:!1,preferViewportAnchor:!0});Sr(g=>YR(g,{anchorItemId:u,initialMatchIndex:0})),vs(""),ar(0)},[ze,Kt,Rn,tr,se,ot,br,J,Lt,Be,Vc,rn]),mh=G(()=>{Sr(u=>qR(u)),vs(""),ar(0),rn()},[rn]),gd=G(()=>{!pt||Wt.length===0||ar(-1)},[Wt.length,pt]),Dw=me(()=>{if(!ze)return null;if(ze.tool==="exit_plan_mode"){let u=typeof ze.input.plan=="string"?ze.input.plan:void 0;return{prompt:ze.prompt.split(`
141
141
  `,1)[0]??ze.prompt,instruction:$c,planContent:u}}return{prompt:ze.prompt,instruction:$c}},[$c,ze]),Ow=me(()=>Be?Be.kind==="select"?{kind:"select",title:Be.title,options:Be.options,buffer:Be.buffer,error:Be.error,visibleSelectOptions:Vt.visibleSelectOptions,focusedIndex:Be.focusedIndex,selectedIndices:Be.selectedIndices,multiSelect:Be.multiSelect}:{kind:"input",prompt:Be.prompt,defaultValue:Be.defaultValue,buffer:Be.buffer,error:Be.error}:null,[Be,Vt.visibleSelectOptions]),T_=me(()=>ce(Np,{confirm:Dw,request:Ow}),[Dw,Ow]),hh=me(()=>{if(ps)return ce(Z0,{text:ps.text,tone:ps.tone})},[ps]),gh=me(()=>{if(hh)return ce(E,{flexDirection:"column",width:"100%",children:hh})},[hh]),yd=G(()=>{Sr(u=>zR(GR(u))),Hm(!1),Lu(),vs(""),ar(0),rn()},[rn,Lu]),Nw=G(()=>{se&&Hm(u=>!u)},[se]),C_=G(()=>{if(se){yd();return}Hm(!1),Sr(u=>UR(u)),vs(""),ar(0),rn()},[rn,yd,se]);Ne(()=>{ZS||!Ke.selectedItemId||Sr(u=>Za(u,void 0))},[ZS,Ke.selectedItemId]),Ne(()=>{if(!se||!Es||!ew){Pc.current=void 0;return}if(Jr||!ot||!En)return;if(!Pc.current){Pc.current=ot;return}if(Pc.current===ot)return;Pc.current=ot;let u=ax(En);u&&nl(u,{terminalWrite:k}).catch(()=>{})},[se,En,ot,Es,ew,Jr,k]),Ne(()=>{if(T?.isTTY!==!0)return;let u=Ki(T);u?.setShellMode?.(HS,Zu),Qm||u?.setAltScreenActive?.(!1)},[HS,T,Qm,Zu]);let v_=me(()=>lR(o,()=>Nm.current),[o]),_e=he({...e,thinking:$.thinking,reasoningMode:$.reasoningMode,effort:Rt,agentMode:$.agentMode,workflowRunsBaseDir:ur("workflow-runs",_i(process.cwd()).key),context:{...e.context,gitRoot:n.gitRoot??void 0,executionCwd:n.runtimeInfo?.executionCwd??n.gitRoot??process.cwd(),repoIntelligenceMode:$.repoIntelligenceMode,repoIntelligenceTrace:$.repoIntelligenceTrace,toolConstructionMode:!0},session:{...e.session,id:n.sessionId,storage:v_,persistedByHost:!0},guardrails:e.runtimeRunner?void 0:xx($.permissionMode,f)});Ne(()=>{_e.current.effort=Rt},[Rt]);let Xc=G(u=>{let g=u.workspaceRoot??void 0;n.runtimeInfo=u,n.gitRoot=g,_e.current.context={..._e.current.context,gitRoot:g,executionCwd:u.executionCwd??g??process.cwd()}},[n]),Mn=he($.permissionMode),Bw=he(0);Ne(()=>{Mn.current=$.permissionMode},[$.permissionMode]);let I_=me(()=>ia(),[]),Hw=he(I_),xt=he($);Ne(()=>{xt.current=$},[$]);let yh=he(null);yh.current===null&&(yh.current=Gd({getProvider:i(()=>vi(xt.current.provider),"getProvider"),getModel:i(()=>xt.current.model??"","getModel")}));let Ww=he(zd());Ne(()=>{$.permissionMode==="auto-in-project"&&Ww.current()},[]);let xh=G(async u=>{let g=++Bw.current;Ee(R=>({...R,permissionMode:u})),Mn.current=u,jn(ss(u,void 0,s.engine));let x=await e.runtimeAutoModeControl?.syncSettings?.(n.sessionId,u,s);if(g!==Bw.current)return;let C=Mi({provider:xt.current.provider,model:xt.current.model,effort:xt.current.effort,effortOverride:xt.current.effortOverride,permissionMode:u,planModeEffort:xt.current.planModeEffort,thinking:xt.current.thinking,reasoningMode:xt.current.reasoningMode});if(_e.current={..._e.current,effort:C.runtimeEffort,guardrails:e.runtimeRunner?void 0:xx(u,f)},!Vn(u))jn(void 0);else if(e.runtimeAutoModeControl){let R=x??await e.runtimeAutoModeControl.getStats(n.sessionId);jn(ss(u,R?.engine,s.engine))}else jn(f.getGuardrail().getEngine());u==="auto-in-project"&&Ww.current()},[f,s,n.sessionId,e.runtimeAutoModeControl,e.runtimeRunner]),Fw=he(H.pendingInputs),st=he(!1),jw=he(0),Sh=he(null),Yc=he(0),xd=G(()=>{if(yc.current)return;let u=Hu.current?.trim(),g=y.current.length>0?y.current[y.current.length-1]:void 0,x=g&&"text"in g&&typeof g.text=="string"?g.text.trim():void 0,R=ln.current.length>0?[...ln.current.map(L=>ai(L)),...u&&u!==x?[{type:"info",text:u}]:[]]:[...ln.current.map(L=>ai(L)),...jW(Oe(),F(),{toolCalls:tn.current,toolNames:Tr.current,infoItems:u&&u!==x?[u]:[]})];R.length!==0&&(yc.current=!0,Gu(ln.current),ds.current?.(R))},[F,Oe,Gu]);Ne(()=>{Fw.current=H.pendingInputs},[H.pendingInputs]);let Uw=G(()=>{st.current=!0,ke(),pe(),X(),ne(),Ge(),je(),we(void 0),Eo(),Tt(void 0),Mc(),pi.current=[],gs.current=[],ut.current=null,Hu.current=null,bc([]),Ou(null),ms(null),hi(),kc(void 0),Q(!1),T?.isTTY===!0&&Ki(T)?.clear?.()},[ke,je,ne,Ge,hi,Eo,Mc,we,bc,Q,Tt,pe,X,T]),Sd=G(u=>{let g=ST(),x=g.list().filter(R=>R.status==="running"||R.status==="paused");if(x.length===0)return!1;for(let R of x)g.stop(R.runId,u);vc(R=>!R||R.status!=="running"||!x.some(L=>L.runId===R.runId)?R:{...R,status:"stopped",activeAgents:[],message:"Workflow stopped by user."});let C=x[0];return x.length===1&&C?kn({type:"info",text:`Stopped workflow ${C.workflow} (${C.runId}).`},"workflow-stop"):kn({type:"info",text:`Stopped ${x.length} active workflows.`},"workflow-stop"),!0},[kn,vc]);Ne(()=>{if(!Ht.shouldRender)return;let u=i(()=>{Sd("stopped by Ctrl+C")},"handleSigint");return process.on("SIGINT",u),()=>{process.off("SIGINT",u)}},[Sd,Ht.shouldRender]),Pn(fn.Critical,u=>{let g=u.name==="escape",x=Date.now(),C=g&&!se&&!Cr&&Sc&&H.pendingInputs.length===0&&(B||Ht.shouldRender),R=C&&(u.meta===!0||x-jw.current<LW);if(jw.current=C?x:0,uk({keyName:u.name,ctrl:!!u.ctrl,isTranscriptMode:se,isAwaitingUserInteraction:Cr,isInputEmpty:Sc,isDoubleEscape:R,pendingInputCount:H.pendingInputs.length,hasTranscriptTextSelection:!!Jr,hasActiveWorkflow:Ht.shouldRender}))return Sd(u.ctrl?"stopped by Ctrl+C":"stopped by Escape");if(!B)return!1;switch(dk({keyName:u.name,ctrl:!!u.ctrl,isTranscriptMode:se,isAwaitingUserInteraction:Cr,isInputEmpty:Sc,isDoubleEscape:R,pendingInputCount:H.pendingInputs.length,hasTranscriptTextSelection:!!Jr}).kind){case"interrupt":return xd(),Uw(),!0;case"pop-pending-input":return an(),!0;default:break}return!1},[B,se,Cr,Sc,H.pendingInputs.length,an,xd,Uw,Sd,Jr,Ht.shouldRender]),Pn(fn.Critical,u=>{let g=ak({itemsLength:Kt.length,currentResponse:qe.currentResponse,thinkingContent:qe.thinkingContent,activeToolCallsLength:qe.activeToolCalls.length}),x=ck({keyName:u.name,hasTranscript:g,historyScrollOffset:tr,reviewPageSize:Uc,reviewWheelStep:kw,hasMouse:!!u.mouse,mouseButton:u.mouse?.button,mouseAction:u.mouse?.action,usesManagedMouseClicks:WS,supportsMouseTracking:Ke.supportsMouseTracking,usesRendererMouseTracking:Zu,usesManagedMouseWheel:FS,supportsWheelHistory:Ke.supportsWheelHistory});if(x.kind==="mouse-phase"){let R=u.mouse;if(!R)return!1;x.phase==="press"&&nr.current&&$w(nr.current);let L=Pw(R.row,R.column);if(x.phase==="press"){if(!L||!g)return no||ot?(dh(),!0):(rn(),!1);let O=jE({previous:yS.current,time:Date.now(),row:R.row,column:R.column});yS.current=O;let N=O.count>=3?"line":O.count===2?"word":"char";if(gd(),Sr(Y=>Za(Y,void 0)),se?Um(void 0):jm(void 0),N!=="char"){let Y=xm(zc(),L.point,N);if(Y)return nr.current={anchor:Y.start,focus:Y.end,didDrag:!1,mode:N,anchorSpan:Y},Ps(Y.start,Y.end,{updateSelectedItem:!1}),!0}return nr.current={anchor:L.point,focus:L.point,didDrag:!1,mode:"char"},!0}if(!nr.current)return!1;if(x.phase==="drag"){let O=fs.current,N=O?gE(O,R.row):0;N!==0&&_u(N);let Y=L??(O?dx(O,R.row,R.column):void 0);if(!Y)return!1;let ee=nr.current;if(ee.mode!=="char"&&ee.anchorSpan){let We=xm(zc(),Y.point,ee.mode);if(!We)return!1;let Ue=yx(ee.anchorSpan,We);return nr.current={...ee,anchor:Ue.anchor,focus:Ue.focus,didDrag:!0},Ps(Ue.anchor,Ue.focus,{updateSelectedItem:!1}),!0}return nr.current={...ee,focus:Y.point,didDrag:!0},Ps(ee.anchor,Y.point,{updateSelectedItem:!1}),!0}if(x.phase==="release"){let O=nr.current,N=O.focus,ee=(L??(fs.current?dx(fs.current,R.row,R.column):void 0))?.point??N;if(O.mode!=="char"&&O.anchorSpan){let We=xm(zc(),ee,O.mode);if(We){let Ue=yx(O.anchorSpan,We);O.anchor=Ue.anchor,ee=Ue.focus}}return $w(O,{focusPoint:ee}),!0}}if(x.kind==="scroll-by")return gd(),_u(x.delta),!0;if(x.kind==="consume")return!0;let C=fk({key:u,isTranscriptMode:se,isHistorySearchActive:pt,historySearchMatchCount:Wt.length,hasTextSelection:!!no,hasFocusedItem:!!ot,canCopySelectedItem:Es,canCopySelectedToolInput:sd,canToggleSelectedDetail:ad,canCycleTranscriptSelection:id});return pk({action:C,hasTranscript:g,isTranscriptMode:se,pageScrollDelta:Uc,disarmHistorySearchSelection:gd,scrollTranscriptBy:_u,closeHistorySearchSurface:mh,backspaceHistorySearchQuery:i(()=>{vs(R=>R.slice(0,-1)),ar(0)},"backspaceHistorySearchQuery"),stepHistorySearchSelection:i(R=>{ar(L=>sx(Wt.length,L,R))},"stepHistorySearchSelection"),submitHistorySearchSelection:i(()=>{let R=Wt[_o];R&&(fh(R.itemId),mh())},"submitHistorySearchSelection"),appendHistorySearchQuery:i(R=>{vs(L=>L+R),ar(0)},"appendHistorySearchQuery"),openHistorySearchSurface:ph,clearTranscriptSelectionFocus:dh,exitTranscriptModeSurface:yd,toggleTranscriptShowAll:Nw,scrollTranscriptHome:i(()=>{Au(Math.max(0,Gc-Vt.messageRows))},"scrollTranscriptHome"),scrollTranscriptToBottom:i(()=>{Lu(),rn()},"scrollTranscriptToBottom"),cycleTranscriptSelection:Mw,copySelectedTranscriptText:i(()=>{hd()},"copySelectedTranscriptText"),copySelectedTranscriptItem:i(()=>{_w()},"copySelectedTranscriptItem"),copySelectedTranscriptToolInput:i(()=>{Lw()},"copySelectedTranscriptToolInput"),toggleSelectedTranscriptDetail:Aw,navigateSearchMatch:i(R=>{ar(L=>{let O=sx(Wt.length,L,R),N=Wt[O];return N&&fh(N.itemId),O})},"navigateSearchMatch"),dumpTranscriptToScrollback:i(()=>{mk({items:Kt.filter(R=>!Qg(R)),exitAltScreen:i(()=>{k(Gf({mouseTracking:!0}))},"exitAltScreen"),writeToScrollback:i(R=>{k(R)},"writeToScrollback"),enterAltScreen:i(()=>{k(Uf({mouseTracking:!0,clearOnEnter:!1}))},"enterAltScreen")})},"dumpTranscriptToScrollback")})},[se,Kt,qe.currentResponse,qe.thinkingContent,qe.activeToolCalls,tr,Gc,Uc,kw,ot,dh,yd,Nw,Ke,_u,Au,Lu,id,_o,rn,hd,Wt,ph,mh,gd,Mw,Es,_w,sd,Lw,ad,Aw,fh,no,Pw,Ke.supportsMouseTracking,Jr,WS,FS,Zm,gi,Zu,Ps,Vt.messageRows]),Pn(u=>{if(!ze)return!1;let g=u.sequence.trim().toLowerCase(),x=ze.runtimeGrantSuggestions?.find(Y=>Y.kind==="session"),C=ze.runtimeGrantSuggestions?.find(Y=>Y.kind==="persistent"),R=!!ze.input._alwaysConfirm,L=ze.runtimeGrantSuggestions!==void 0,O=C!==void 0||!L&&$.permissionMode==="accept-edits"&&!R,N=i(Y=>{let ee=`${re("dialog.confirm")} ${ze.prompt}
142
- \u2192 ${re(`confirm.result.${Y}`)}`;!!rt.current.workerId?Ut({id:`confirm-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"info",text:ee,timestamp:Date.now()}):V({type:"info",text:ee})},"recordConfirmResult");return g==="y"||g==="yes"?(N("approved"),Lc(null),to.current?.({confirmed:!0}),to.current=null,!0):x&&(g==="s"||g==="session")?(N("approved_session"),Lc(null),to.current?.({confirmed:!0,runtimeGrantKind:"session"}),to.current=null,!0):O&&(g==="a"||g==="always")?(N("approved_always"),Lc(null),to.current?.(C?{confirmed:!0,runtimeGrantKind:"persistent"}:{confirmed:!0,always:!0}),to.current=null,!0):g==="n"||g==="no"||u.name==="escape"?(N("denied"),Lc(null),to.current?.({confirmed:!1}),to.current=null,!0):u.insertable||u.name==="return"},{isActive:!!ze,priority:fn.Critical});let wd=G(u=>{sr(null),qu.current?.(u),qu.current=null},[]),oo=G((u,g,x,C)=>g.length===0?Promise.resolve(void 0):new Promise(R=>{qu.current=R,sr({kind:"select",title:u,options:g,buffer:"",focusedIndex:0,selectedIndices:[],multiSelect:x,minSelections:C?.minSelections,maxSelections:C?.maxSelections})}),[]),b_=G((u,g)=>oo(u,g.map(x=>({label:x,value:x}))).then(x=>Array.isArray(x)?x[0]:x),[oo]),R_=G(async u=>{let g=e.learning;if(!g)return;let x=u;if(!x){let O=await g.list({limit:200});if(O.items.length===0){Om([{id:"learning-center-empty",text:"Learning Center has no learned capabilities.",tone:"accent"}]);return}let N=await oo("Learning Center \u2014 type to search",O.items.map(Y=>({label:`${Y.displayName} \xB7 ${Y.carrier} \xB7 ${Y.lifecycle}`,value:Y.slug})));x=Array.isArray(N)?N[0]:N}if(!x)return;let C=await g.get(x),R=await oo(`${C.displayName} \xB7 ${C.carrier} \xB7 ${C.lifecycle}`,PW(C)),L=Array.isArray(R)?R[0]:R;L&&(await $W(g,C.slug,L),mS(await g.getSnapshot()))},[e.learning,oo]),Gw=G(async u=>{let g=u.options?ym(u.options):[],x=await oo(px(u),g,!1);return x===void 0?Xs:Array.isArray(x)?x[0]??Xs:x},[oo]);Ne(()=>{let u=!1;return(async()=>{let{bindAskUserForConstruction:g}=await import("./construction-bootstrap-3TQWTHSQ.js");u||g(Gw)})(),()=>{u=!0,(async()=>{let{bindAskUserForConstruction:g}=await import("./construction-bootstrap-3TQWTHSQ.js");g(null)})()}},[Gw]);let $s=G((u,g)=>new Promise(x=>{qu.current=C=>x(Array.isArray(C)?C[0]:C),sr({kind:"input",prompt:u,defaultValue:g,buffer:""})}),[]);Pn(u=>{let g=Ju.current;if(!g)return!1;if(u.name==="escape")return wd(void 0),!0;if(g.kind==="select"){let x=g.options.length;if(u.name==="up"||u.sequence==="k")return sr(C=>C&&C.kind==="select"?{...C,focusedIndex:(C.focusedIndex-1+x)%x,error:void 0}:C),!0;if(u.name==="down"||u.sequence==="j")return sr(C=>C&&C.kind==="select"?{...C,focusedIndex:(C.focusedIndex+1)%x,error:void 0}:C),!0;if(u.sequence===" "&&g.multiSelect)return sr(C=>{if(!C||C.kind!=="select")return C;let R=C.focusedIndex,L=C.selectedIndices.includes(R)?C.selectedIndices.filter(O=>O!==R):[...C.selectedIndices,R];return{...C,selectedIndices:L,error:void 0}}),!0;if(u.name==="return"){let C=Ju.current;if(!C||C.kind!=="select")return!1;if(C.multiSelect){let R=C.selectedIndices.length,{minSelections:L,maxSelections:O}=C,N=R===0&&L!==0?re("select.multiselect_empty"):L!==void 0&&R<L?re("select.multiselect_min",{min:String(L)}):O!==void 0&&R>O?re("select.multiselect_max",{max:String(O)}):void 0;if(N!==void 0)return sr(ee=>ee&&ee.kind==="select"?{...ee,error:N}:ee),!0;let Y=C.selectedIndices.slice().sort((ee,We)=>ee-We).map(ee=>C.options[ee]?.value).filter(ee=>typeof ee=="string"&&ee.length>0);wd(Y)}else wd(C.options[C.focusedIndex]?.value);return!0}if(/^[1-9]$/.test(u.sequence)){let C=Number.parseInt(u.sequence,10)-1;if(C>=0&&C<x)return g.multiSelect?sr(R=>{if(!R||R.kind!=="select")return R;let L=R.selectedIndices.includes(C)?R.selectedIndices.filter(O=>O!==C):[...R.selectedIndices,C];return{...R,focusedIndex:C,selectedIndices:L,error:void 0}}):sr(R=>R&&R.kind==="select"?{...R,focusedIndex:C,error:void 0}:R),!0}return!1}if(u.name==="return"){let x=Ju.current;if(!x||x.kind!=="input")return!1;let C=x.buffer.trim();return wd(C===""?x.defaultValue??void 0:C),!0}return u.name==="backspace"||u.name==="delete"?(sr(x=>x&&x.kind==="input"?{...x,buffer:x.buffer.slice(0,-1),error:void 0}:x),!0):(u.insertable||u.isPasted===!0)&&!u.ctrl&&!u.meta?(sr(x=>x&&x.kind==="input"?{...x,buffer:x.buffer+u.sequence,error:void 0}:x),!0):!1},{isActive:!!Be,priority:fn.Critical}),Ne(()=>{if(n.messages.length>0&&P.length===0){if(n.uiHistory?.length){let u=Ur(n.uiHistory);u.length!==n.uiHistory.length&&(n.uiHistory=u),fe(nu({messages:n.messages,uiHistory:u}));return}fe(nu({messages:n.messages}))}},[n.messages,n.uiHistory,P.length,fe]),Ne(()=>{_d(n.gitRoot)},[n.gitRoot]),Ne(()=>{process.env.KODAX_PREWARM_REPO_INTELLIGENCE!=="0"&&fT({executionCwd:n.runtimeInfo?.executionCwd??n.gitRoot??process.cwd(),gitRoot:n.gitRoot??void 0},{mode:$.repoIntelligenceMode})},[n.gitRoot,n.runtimeInfo?.executionCwd,$.repoIntelligenceMode]);let qc=G(()=>({onMemoryOutcomeDigest:i(u=>{n.lineage=Ld(n.lineage??nt(n.messages),u)},"onMemoryOutcomeDigest"),onMemoryReviewReceipt:i(u=>{n.lineage=Pd(n.lineage??nt(n.messages),u)},"onMemoryReviewReceipt"),onMemoryNotice:i(u=>{n.lineage=$d(n.lineage??nt(n.messages),{...u,createdAt:new Date().toISOString()}),V({type:"info",text:`[memory] ${u.summaries.slice(0,3).join("; ")}`})},"onMemoryNotice"),onThinkingDelta:i((u,g)=>{if(st.current||Wn(g,"thinking",u,{append:!0}))return;H.currentTool&&(we(void 0),Ge());let{header:x}=IR(Oe()+u),C=x?`[Thinking: ${x}]`:"[Thinking]";Tt(em(ut.current?.activeWorkerTitle?`[${ut.current.activeWorkerTitle}] ${C}`:C,ut.current?.activeWorkerTitle)),ye(u.length),Ae(u),rt.current.workerId&&Vu("thinking",u)},"onThinkingDelta"),onThinkingEnd:i((u,g)=>{if(st.current||Wn(g,"thinking",u))return;let x=Oe(),C=TR(x,u);C&&C!==x&&(ne(),ue(),ye(C.length),Ae(C)),rt.current.workerId&&AS(C),X()},"onThinkingEnd"),onTextDelta:i((u,g)=>{st.current||Wn(g,"assistant",u,{append:!0})||(H.currentTool&&(we(void 0),Ge()),X(),Tt(void 0),de(u),rt.current.workerId&&Vu("assistant",u))},"onTextDelta"),onToolUseStart:i((u,g)=>{if(st.current||Wn(g,"tool",y0(u.name,u.input)))return;Tr.current.includes(u.name)||(Tr.current=[...Tr.current,u.name]);let x=ut.current?.activeWorkerTitle?`[${ut.current.activeWorkerTitle}] `:"",C={id:u.id,name:`${x}${u.name}`,status:j.Executing,startTime:Date.now(),input:u.input};_S(C),rt.current.workerId&&ir(C),Tt(wo(C,ut.current?.activeWorkerTitle))},"onToolUseStart"),onToolInputDelta:i((u,g,x)=>{if(st.current||Wn(x,"tool",u,{skipIfExisting:!0}))return;tt(g.length),gt(g);let C=LS(x?.toolId,u,R=>{let L=R.preview??"",O=xR(`${L}${g}`);return{...R,preview:O||void 0,input:R.input?O?{...R.input,preview:O}:{...R.input}:O?{preview:O}:void 0}});C&&(rt.current.workerId&&ir(C),Tt(wo(C,ut.current?.activeWorkerTitle)))},"onToolInputDelta"),onToolResult:i((u,g)=>{if(st.current||Wn(g,"tool",`${u.name} completed`))return;let x=typeof u.content=="string"?u.content:String(u.content??""),C=SR(x);if(/^\[(?:Tool Error|Error)\]/.test(x)){let L=Xu(u.id,j.Error,C,C,u.name);L&&(rt.current.workerId&&ir(L),Tt(wo(L,ut.current?.activeWorkerTitle)));return}if(/^\[(?:Cancelled|Blocked)\]/.test(x)){let L=Xu(u.id,j.Cancelled,void 0,C,u.name);L&&(rt.current.workerId&&ir(L),Tt(wo(L,ut.current?.activeWorkerTitle)));return}let R=Xu(u.id,j.Success,void 0,C||void 0,u.name);R&&(rt.current.workerId&&ir(R),Tt(wo(R,ut.current?.activeWorkerTitle)))},"onToolResult"),onToolProgress:i((u,g)=>{if(st.current||Wn(g,"progress",u.message))return;let x=u.message.length>100?u.message.slice(0,97)+"...":u.message,C=Cs(u.id,R=>({...R,preview:x,progressLines:[...(R.progressLines??[]).slice(-4),x]}));C&&rt.current.workerId&&ir(C),Tt(x)},"onToolProgress"),onStreamEnd:i(u=>{if(st.current||Wp(u))return;let g=Ac(j.Cancelled,()=>({error:"Stream ended before the tool completed.",output:void 0})),x=g[g.length-1];rt.current.workerId&&g.forEach(C=>ir(C)),x&&Tt(wo(x,ut.current?.activeWorkerTitle)),X(),Ge(),we(void 0)},"onStreamEnd"),onChildActivityEnd:i(u=>{IS(u)},"onChildActivityEnd"),hasPendingInputs:i(()=>Fw.current.length>0,"hasPendingInputs"),onMidTurnUserMessages:i(u=>{if(!st.current)for(let g of u){let x=g.trim();x&&(rt.current.workerId?Ut({id:`mid-turn-user-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"user",text:x,timestamp:Date.now()}):V({type:"user",text:x}))}},"onMidTurnUserMessages"),onSidecarMessage:i(u=>{if(st.current)return;let g=u.suggestedFix?`${u.content}
142
+ \u2192 ${re(`confirm.result.${Y}`)}`;!!rt.current.workerId?Ut({id:`confirm-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"info",text:ee,timestamp:Date.now()}):V({type:"info",text:ee})},"recordConfirmResult");return g==="y"||g==="yes"?(N("approved"),Lc(null),to.current?.({confirmed:!0}),to.current=null,!0):x&&(g==="s"||g==="session")?(N("approved_session"),Lc(null),to.current?.({confirmed:!0,runtimeGrantKind:"session"}),to.current=null,!0):O&&(g==="a"||g==="always")?(N("approved_always"),Lc(null),to.current?.(C?{confirmed:!0,runtimeGrantKind:"persistent"}:{confirmed:!0,always:!0}),to.current=null,!0):g==="n"||g==="no"||u.name==="escape"?(N("denied"),Lc(null),to.current?.({confirmed:!1}),to.current=null,!0):u.insertable||u.name==="return"},{isActive:!!ze,priority:fn.Critical});let wd=G(u=>{sr(null),qu.current?.(u),qu.current=null},[]),oo=G((u,g,x,C)=>g.length===0?Promise.resolve(void 0):new Promise(R=>{qu.current=R,sr({kind:"select",title:u,options:g,buffer:"",focusedIndex:0,selectedIndices:[],multiSelect:x,minSelections:C?.minSelections,maxSelections:C?.maxSelections})}),[]),b_=G((u,g)=>oo(u,g.map(x=>({label:x,value:x}))).then(x=>Array.isArray(x)?x[0]:x),[oo]),R_=G(async u=>{let g=e.learning;if(!g)return;let x=u;if(!x){let O=await g.list({limit:200});if(O.items.length===0){Om([{id:"learning-center-empty",text:"Learning Center has no learned capabilities.",tone:"accent"}]);return}let N=await oo("Learning Center \u2014 type to search",O.items.map(Y=>({label:`${Y.displayName} \xB7 ${Y.carrier} \xB7 ${Y.lifecycle}`,value:Y.slug})));x=Array.isArray(N)?N[0]:N}if(!x)return;let C=await g.get(x),R=await oo(`${C.displayName} \xB7 ${C.carrier} \xB7 ${C.lifecycle}`,PW(C)),L=Array.isArray(R)?R[0]:R;L&&(await $W(g,C.slug,L),mS(await g.getSnapshot()))},[e.learning,oo]),Gw=G(async u=>{let g=u.options?ym(u.options):[],x=await oo(px(u),g,!1);return x===void 0?Xs:Array.isArray(x)?x[0]??Xs:x},[oo]);Ne(()=>{let u=!1;return(async()=>{let{bindAskUserForConstruction:g}=await import("./construction-bootstrap-5F5KF2BZ.js");u||g(Gw)})(),()=>{u=!0,(async()=>{let{bindAskUserForConstruction:g}=await import("./construction-bootstrap-5F5KF2BZ.js");g(null)})()}},[Gw]);let $s=G((u,g)=>new Promise(x=>{qu.current=C=>x(Array.isArray(C)?C[0]:C),sr({kind:"input",prompt:u,defaultValue:g,buffer:""})}),[]);Pn(u=>{let g=Ju.current;if(!g)return!1;if(u.name==="escape")return wd(void 0),!0;if(g.kind==="select"){let x=g.options.length;if(u.name==="up"||u.sequence==="k")return sr(C=>C&&C.kind==="select"?{...C,focusedIndex:(C.focusedIndex-1+x)%x,error:void 0}:C),!0;if(u.name==="down"||u.sequence==="j")return sr(C=>C&&C.kind==="select"?{...C,focusedIndex:(C.focusedIndex+1)%x,error:void 0}:C),!0;if(u.sequence===" "&&g.multiSelect)return sr(C=>{if(!C||C.kind!=="select")return C;let R=C.focusedIndex,L=C.selectedIndices.includes(R)?C.selectedIndices.filter(O=>O!==R):[...C.selectedIndices,R];return{...C,selectedIndices:L,error:void 0}}),!0;if(u.name==="return"){let C=Ju.current;if(!C||C.kind!=="select")return!1;if(C.multiSelect){let R=C.selectedIndices.length,{minSelections:L,maxSelections:O}=C,N=R===0&&L!==0?re("select.multiselect_empty"):L!==void 0&&R<L?re("select.multiselect_min",{min:String(L)}):O!==void 0&&R>O?re("select.multiselect_max",{max:String(O)}):void 0;if(N!==void 0)return sr(ee=>ee&&ee.kind==="select"?{...ee,error:N}:ee),!0;let Y=C.selectedIndices.slice().sort((ee,We)=>ee-We).map(ee=>C.options[ee]?.value).filter(ee=>typeof ee=="string"&&ee.length>0);wd(Y)}else wd(C.options[C.focusedIndex]?.value);return!0}if(/^[1-9]$/.test(u.sequence)){let C=Number.parseInt(u.sequence,10)-1;if(C>=0&&C<x)return g.multiSelect?sr(R=>{if(!R||R.kind!=="select")return R;let L=R.selectedIndices.includes(C)?R.selectedIndices.filter(O=>O!==C):[...R.selectedIndices,C];return{...R,focusedIndex:C,selectedIndices:L,error:void 0}}):sr(R=>R&&R.kind==="select"?{...R,focusedIndex:C,error:void 0}:R),!0}return!1}if(u.name==="return"){let x=Ju.current;if(!x||x.kind!=="input")return!1;let C=x.buffer.trim();return wd(C===""?x.defaultValue??void 0:C),!0}return u.name==="backspace"||u.name==="delete"?(sr(x=>x&&x.kind==="input"?{...x,buffer:x.buffer.slice(0,-1),error:void 0}:x),!0):(u.insertable||u.isPasted===!0)&&!u.ctrl&&!u.meta?(sr(x=>x&&x.kind==="input"?{...x,buffer:x.buffer+u.sequence,error:void 0}:x),!0):!1},{isActive:!!Be,priority:fn.Critical}),Ne(()=>{if(n.messages.length>0&&P.length===0){if(n.uiHistory?.length){let u=Ur(n.uiHistory);u.length!==n.uiHistory.length&&(n.uiHistory=u),fe(nu({messages:n.messages,uiHistory:u}));return}fe(nu({messages:n.messages}))}},[n.messages,n.uiHistory,P.length,fe]),Ne(()=>{_d(n.gitRoot)},[n.gitRoot]),Ne(()=>{process.env.KODAX_PREWARM_REPO_INTELLIGENCE!=="0"&&fT({executionCwd:n.runtimeInfo?.executionCwd??n.gitRoot??process.cwd(),gitRoot:n.gitRoot??void 0},{mode:$.repoIntelligenceMode})},[n.gitRoot,n.runtimeInfo?.executionCwd,$.repoIntelligenceMode]);let qc=G(()=>({onMemoryOutcomeDigest:i(u=>{n.lineage=Ld(n.lineage??nt(n.messages),u)},"onMemoryOutcomeDigest"),onMemoryReviewReceipt:i(u=>{n.lineage=Pd(n.lineage??nt(n.messages),u)},"onMemoryReviewReceipt"),onMemoryNotice:i(u=>{n.lineage=$d(n.lineage??nt(n.messages),{...u,createdAt:new Date().toISOString()}),V({type:"info",text:`[memory] ${u.summaries.slice(0,3).join("; ")}`})},"onMemoryNotice"),onThinkingDelta:i((u,g)=>{if(st.current||Wn(g,"thinking",u,{append:!0}))return;H.currentTool&&(we(void 0),Ge());let{header:x}=IR(Oe()+u),C=x?`[Thinking: ${x}]`:"[Thinking]";Tt(em(ut.current?.activeWorkerTitle?`[${ut.current.activeWorkerTitle}] ${C}`:C,ut.current?.activeWorkerTitle)),ye(u.length),Ae(u),rt.current.workerId&&Vu("thinking",u)},"onThinkingDelta"),onThinkingEnd:i((u,g)=>{if(st.current||Wn(g,"thinking",u))return;let x=Oe(),C=TR(x,u);C&&C!==x&&(ne(),ue(),ye(C.length),Ae(C)),rt.current.workerId&&AS(C),X()},"onThinkingEnd"),onTextDelta:i((u,g)=>{st.current||Wn(g,"assistant",u,{append:!0})||(H.currentTool&&(we(void 0),Ge()),X(),Tt(void 0),de(u),rt.current.workerId&&Vu("assistant",u))},"onTextDelta"),onToolUseStart:i((u,g)=>{if(st.current||Wn(g,"tool",y0(u.name,u.input)))return;Tr.current.includes(u.name)||(Tr.current=[...Tr.current,u.name]);let x=ut.current?.activeWorkerTitle?`[${ut.current.activeWorkerTitle}] `:"",C={id:u.id,name:`${x}${u.name}`,status:j.Executing,startTime:Date.now(),input:u.input};_S(C),rt.current.workerId&&ir(C),Tt(wo(C,ut.current?.activeWorkerTitle))},"onToolUseStart"),onToolInputDelta:i((u,g,x)=>{if(st.current||Wn(x,"tool",u,{skipIfExisting:!0}))return;tt(g.length),gt(g);let C=LS(x?.toolId,u,R=>{let L=R.preview??"",O=xR(`${L}${g}`);return{...R,preview:O||void 0,input:R.input?O?{...R.input,preview:O}:{...R.input}:O?{preview:O}:void 0}});C&&(rt.current.workerId&&ir(C),Tt(wo(C,ut.current?.activeWorkerTitle)))},"onToolInputDelta"),onToolResult:i((u,g)=>{if(st.current||Wn(g,"tool",`${u.name} completed`))return;let x=typeof u.content=="string"?u.content:String(u.content??""),C=SR(x);if(/^\[(?:Tool Error|Error)\]/.test(x)){let L=Xu(u.id,j.Error,C,C,u.name);L&&(rt.current.workerId&&ir(L),Tt(wo(L,ut.current?.activeWorkerTitle)));return}if(/^\[(?:Cancelled|Blocked)\]/.test(x)){let L=Xu(u.id,j.Cancelled,void 0,C,u.name);L&&(rt.current.workerId&&ir(L),Tt(wo(L,ut.current?.activeWorkerTitle)));return}let R=Xu(u.id,j.Success,void 0,C||void 0,u.name);R&&(rt.current.workerId&&ir(R),Tt(wo(R,ut.current?.activeWorkerTitle)))},"onToolResult"),onToolProgress:i((u,g)=>{if(st.current||Wn(g,"progress",u.message))return;let x=u.message.length>100?u.message.slice(0,97)+"...":u.message,C=Cs(u.id,R=>({...R,preview:x,progressLines:[...(R.progressLines??[]).slice(-4),x]}));C&&rt.current.workerId&&ir(C),Tt(x)},"onToolProgress"),onStreamEnd:i(u=>{if(st.current||Wp(u))return;let g=Ac(j.Cancelled,()=>({error:"Stream ended before the tool completed.",output:void 0})),x=g[g.length-1];rt.current.workerId&&g.forEach(C=>ir(C)),x&&Tt(wo(x,ut.current?.activeWorkerTitle)),X(),Ge(),we(void 0)},"onStreamEnd"),onChildActivityEnd:i(u=>{IS(u)},"onChildActivityEnd"),hasPendingInputs:i(()=>Fw.current.length>0,"hasPendingInputs"),onMidTurnUserMessages:i(u=>{if(!st.current)for(let g of u){let x=g.trim();x&&(rt.current.workerId?Ut({id:`mid-turn-user-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"user",text:x,timestamp:Date.now()}):V({type:"user",text:x}))}},"onMidTurnUserMessages"),onSidecarMessage:i(u=>{if(st.current)return;let g=u.suggestedFix?`${u.content}
143
143
  Suggested fix: ${u.suggestedFix}`:u.content;if(u.delivery==="budget-exhausted")ES({type:"sidecar",text:g,delivery:"budget-exhausted"},"sidecar-message");else{let x=u.verdict==="blocked"?"blocked":"revise";ES({type:"sidecar",text:g,verdict:x},"sidecar-message")}},"onSidecarMessage"),onError:i(u=>{let g=ko();g?.name&&Tt(wo(g,ut.current?.activeWorkerTitle));let x=Ac(j.Error,()=>({error:u.message,output:void 0})),C=x[x.length-1];rt.current.workerId&&x.forEach(We=>ir(We)),C&&Tt(wo(C,ut.current?.activeWorkerTitle));let R=eT(u),L=["Transient","Permanent","Tool Call ID","User Abort"];if(R.category===Zc.USER_ABORT)return;let N=[`\u274C API Error (${L[R.category]||"Unknown"}): ${u.message}`];R.shouldCleanup&&N.push(" \u{1F9F9} Cleaned incomplete tool calls"),R.category===Zc.PERMANENT?(N.push(" \u{1F4A1} This error requires manual intervention. Please check:"),u.message.includes("auth")||u.message.includes("401")?(N.push(" - Your API key is valid"),N.push(" - Run /config to check provider settings")):u.message.includes("400")?(N.push(" - The request parameters are correct"),N.push(" - Try restarting the conversation")):N.push(" - The error details above")):R.category===Zc.TRANSIENT?N.push(" \u23F3 Retries exhausted. Press Enter to continue the conversation"):R.category===Zc.TOOL_CALL_ID&&N.push(" \u2705 Session cleaned, ready to continue");let Y=N.join(`
144
144
  `);!!rt.current.workerId?Ut({id:`error-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"error",text:Y,timestamp:Date.now()}):V({type:"error",text:Y})},"onError"),onRetry:i((u,g,x,C)=>{if(st.current)return;let R=ru(u,g,x);if(Ic(C,R.text)||Wn(C,"progress",R.text))return;!!rt.current.workerId?Ut({...R,id:`retry-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,timestamp:Date.now()}):V(R)},"onRetry"),onProviderRecovery:i((u,g)=>{if(st.current)return;let x=ou(u);if(Ic(g,x.text)||Wn(g,"progress",x.text))return;let C=!!rt.current.workerId,R=F().trim();R&&(C?Vu("assistant",R):V({type:"assistant",text:R})),je(),ne(),X(),Ge(),we(void 0),Eo(),Tt(void 0),C?Ut({...x,id:`recovery-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,timestamp:Date.now()}):V(x)},"onProviderRecovery"),onManagedTaskStatus:i(u=>{if(st.current)return;let g=rt.current;if(XE(u)){if(g.workerId&&g.workerId!==u.activeWorkerId)a_({workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle});else if(g.workerId!==u.activeWorkerId){let O=yt.current,N=O.activeToolGroupTools.some(Y=>Y.status===j.Executing);yt.current={workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle,...N?{activeToolGroupItemId:O.activeToolGroupItemId,activeToolGroupTools:O.activeToolGroupTools}:{activeToolGroupTools:[]}},rt.current={workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle}}}ut.current=u,Ou(u);let x=vR(u);c_(x);let C=Ya(u),L=Ya(u,{expanded:!0})??C;L&&(Hu.current=L)},"onManagedTaskStatus"),onProviderRateLimit:i((u,g,x,C)=>{if(st.current)return;let R=Sh.current;if(Sh.current=null,fR(R,{attempt:u,maxAttempts:g,delayMs:x}))return;let L=`[Rate Limit] Retrying in ${x/1e3}s (${u}/${g})...`;Ic(C,L)||Wn(C,"progress",L)||kn({type:"info",icon:"\u23F3",text:L},"ratelimit")},"onProviderRateLimit"),onRetryAfter:i((u,g)=>{if(st.current)return;Sh.current={attempt:u.attempt,maxAttempts:u.maxAttempts,waitMs:u.waitMs};let x=Math.round(u.waitMs/1e3),C=u.source==="exponential-backoff"?"no-header \u2192 backoff":u.source,L=`[${u.reason==="overloaded"?"Overloaded":"Rate limited"}] (${u.provider}) \u2014 retrying in ${x}s [${C}] (${u.attempt}/${u.maxAttempts})`;Ic(g,L)||Wn(g,"progress",L)||kn({type:"info",icon:"\u23F3",text:L},"ratelimit")},"onRetryAfter"),onReasoningEffortRejected:i(u=>{nT(u.provider,u.model,u.effort,"observed",new Date().toISOString());let x=Mi({provider:u.provider,model:u.model,effort:xt.current.effort,effortOverride:xt.current.effortOverride,permissionMode:xt.current.permissionMode,planModeEffort:xt.current.planModeEffort,thinking:xt.current.thinking,reasoningMode:xt.current.reasoningMode}).runtimeEffort;Ee(C=>({...C,effort:x,effortOverride:x!==void 0})),Ai({effort:x}),_e.current.effort=x,kn({type:"info",icon:"\u26A0",text:`[${u.provider}/${u.model} \u4E0D\u652F\u6301 effort "${u.effort}",\u5DF2\u8BB0\u5F55;\u540E\u7EED\u4E0D\u518D\u63D0\u4F9B\u8BE5\u6863${x?`,\u5DF2\u5207\u5230 ${x}`:""}]`},"ratelimit")},"onReasoningEffortRejected"),onRepoIntelligenceTrace:i(u=>{st.current||kn(NR(u),"repointel-trace")},"onRepoIntelligenceTrace"),onTodoUpdate:i(u=>{st.current||Qr(u)},"onTodoUpdate"),onScoutSuspiciousCompletion:i(u=>{st.current||YE&&kn({type:"info",icon:"\u26A0",text:`[Scout] Completion marked uncertain \u2014 signals: ${u.signals.join(", ")}. Verify the result before continuing.`},"scout-uncertain")},"onScoutSuspiciousCompletion"),onIterationStart:i((u,g)=>{if(st.current)return;if(g&&jt(g),ut.current?.globalWorkBudget){let ee={...ut.current,budgetUsage:Math.min(ut.current.globalWorkBudget,(ut.current.budgetUsage??0)+1)};ut.current=ee,Ou(ee)}let x=u>1?Oe().trim():"",C=u>1?Cx(F()):"",R=u>1?[...Tr.current]:[],L=u>1?[...tn.current]:[],O=!!rt.current.workerId;ft(u),O&&Uu({clearOwner:!1});let N=Zr.current.filter(ee=>ee.status===j.Executing),Y=new Set(N.map(ee=>ee.id));if(Tr.current=[],tn.current=tn.current.filter(ee=>Y.has(ee.id)),Hn(N),Ge(),we(void 0),Tt(em(ut.current?.activeWorkerTitle?`[Thinking] [${ut.current.activeWorkerTitle}]`:void 0,ut.current?.activeWorkerTitle)),ue(),u>1&&!O){let ee=vx({thinking:x,response:C,toolCalls:L,toolNames:R});ds.current?ds.current(ee):fe([...ee])}},"onIterationStart"),beforeToolExecute:i(async(u,g)=>{let x=Mn.current,C=Ys(x),R=Hw.current,L=n.gitRoot;if(bT(K.current,u,g))return`[Skipped] Previously denied operation. ${RT(K.current)}`;if(x==="plan"&&(co.has(u)||u==="undo"))return`[Blocked] Tool '${u}' is not allowed in plan mode (read-only). ${KE}`;if(x==="plan"&&u==="bash"){let O=g.command??"";if(fr(O))return`[Blocked] Bash write operation not allowed in plan mode: ${O.slice(0,50)}... ${KE}`}if(u==="bash"){let O=g.command??"";if(pn(O))return!0}if(Vn(x)&&ih==="llm")return!0;if(u==="bash"){let O=g.command??"",N=vT(O);if(N.level==="dangerous"){let Y=await io(u,{...g,_dangerousCommand:!0});return Y.confirmed?Y.confirmed:(K.current=Ph(K.current,u,g,N.reason),`[Blocked] Dangerous command requires confirmation: ${N.reason}`)}}if(L){let O=!1;if(co.has(u)){let N=g.path;N&&na(N,L)&&(O=!0)}if(u==="bash"){let N=g.command;N&&Jd(N,L)&&(O=!0)}if(O){let N=await io(u,{...g,_alwaysConfirm:!0});if(Mn.current==="plan"&&(co.has(u)||u==="undo"))return!1;if(Mn.current==="plan"&&u==="bash"){let Y=g.command??"";if(fr(Y))return!1}return N.confirmed}}if(C.has(u)){if(x==="accept-edits"&&u==="bash"&&await ta(u,g,R,yh.current??void 0))return!0;let O=await io(u,g);if(Mn.current==="plan"&&(co.has(u)||u==="undo"))return!1;if(Mn.current==="plan"&&u==="bash"){let N=g.command??"";if(fr(N))return!1}if(!O.confirmed)return V({type:"info",text:re("cancelled")}),K.current=Ph(K.current,u,g),!1;O.always&&x==="accept-edits"&&(Qd(u,g,!1),Hw.current=ia())}return!0},"beforeToolExecute"),askUser:i(async u=>{let g=fx(u.options?ym(u.options):[],u),x=await oo(px(u),g,u.multiSelect,{minSelections:u.minSelections,maxSelections:u.maxSelections});if(x===void 0)return Xs;if(x===Er){let C=await $s(u.customInputPrompt??u.question,u.customInputDefault);return C===void 0?Xs:{kind:"customInput",value:C}}if(Array.isArray(x)&&x.includes(Er)){let C=await $s(u.customInputPrompt??u.question,u.customInputDefault);return C===void 0?Xs:x.map(R=>R===Er?{kind:"customInput",value:C}:R)}return x},"askUser"),exitPlanMode:i(async u=>Mn.current!=="plan"?"not-in-plan-mode":(await io("exit_plan_mode",{plan:u})).confirmed?(xh("accept-edits"),!0):!1,"exitPlanMode"),askUserMulti:i(async u=>{let g=u.questions,x={},C=0;for(;C<g.length;){let R=g[C],L=fx(ym(R.options),R);C>0&&L.push({label:re("select.back_prev"),value:Mh});let O=`[${C+1}/${g.length}] ${R.question}`,N=await oo(O,L,R.multiSelect,{minSelections:R.minSelections,maxSelections:R.maxSelections});if(N===void 0)return;if(!Array.isArray(N)&&N===Mh){C--;continue}if(!Array.isArray(N)&&N===Er){let Y=await $s(R.customInputPrompt??R.question,R.customInputDefault);if(Y===void 0)return;x[R.question]={kind:"customInput",value:Y},C++;continue}if(Array.isArray(N)&&N.includes(Er)){let Y=await $s(R.customInputPrompt??R.question,R.customInputDefault);if(Y===void 0)return;x[R.question]=N.map(ee=>ee===Er?{kind:"customInput",value:Y}:ee),C++;continue}x[R.question]=N,C++}return x},"askUserMulti"),askUserInput:i(async u=>$s(u.question,u.default),"askUserInput"),onCompactStart:i(()=>{Ve()},"onCompactStart"),onCompactStats:i(u=>{gc.current=u.tokensBefore,er(u.tokensAfter)},"onCompactStats"),onCompactedMessages:i(async(u,g,x)=>{let C=Jp(n.lineage,u,g,x);if(!C)return;n.messages=u,g?.artifactLedger&&g.artifactLedger.length>0&&(n.artifactLedger=bi(n.artifactLedger??[],g.artifactLedger)),n.lineage=C;let R=Ii(u);if(n.contextTokenSnapshot={currentTokens:R,baselineEstimatedTokens:R,source:"estimate"},yr(n),er(R),e.runtimeRunner){n.lineage===C&&(n.lineage=Gs(C));return}let L=Ru.current;if(!L)throw new Error("Ink REPL compaction persistence is not initialized.");try{await L(),n.lineage===C&&(n.lineage=Gs(C))}catch(O){throw Ct({source:"repl:compaction",level:"error",message:"Failed to durably persist compacted session history.",detail:O}),O}},"onCompactedMessages"),onCompact:i(u=>{bt();let g=gc.current??u;gc.current=null;let x=Math.round(g/1e3);kn({type:"info",icon:"\u2728",text:`Context auto-compacted (was ~${x}k tokens)`},"compact")},"onCompact"),onCompactEnd:i(()=>{gc.current=null,bt()},"onCompactEnd"),onIterationEnd:i(u=>{u.scope!=="worker"&&(n.contextTokenSnapshot=u.contextTokenSnapshot),er(u.tokenCount)},"onIterationEnd")}),[ye,Ae,X,de,we,tt,gt,Ge,ft,ue,$,n,Ve,bt,V,ne,Oe,F,Uu,Tt,Vu,AS,ir,_S,LS,Xu,Ac,ko,Eo,Hn,IS,Ic,Wn,kn,H.currentTool]),io=i((u,g,x)=>{let C=yR(u,g),R=x?.map(N=>N.label)??[],L=x===void 0?[]:[ja,...R.map(N=>`Runtime scope: ${N}`)],O=L.length>0?`${C}
145
145
  ${L.join(`
@@ -171,7 +171,7 @@ Suggestion: Set the required API key environment variable`:Le.message.includes("
171
171
  Suggestion: Check your internet connection`:(Le.message.includes("token")||Le.message.includes("context too long"))&&(Gn=`[Context Error] ${Le.message}
172
172
  Suggestion: Use /clear to start fresh`),console.log=Je,rt.current.workerId?Ut({id:`error-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"error",text:Gn,timestamp:Date.now()}):Un([{type:"error",text:Gn}]),uf({error:Le,messageCount:n.messages.length})){let lr={type:"info",text:ol};if(rt.current.workerId?(Ut({id:`recover-hint-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,...lr,timestamp:Date.now()}),Td([lr])):Un([lr]),(await io("confirm",{_alwaysConfirm:!0,_message:lf})).confirmed)try{await Vw(zt)}catch(Rr){let Ws=Rr instanceof Error?Rr.message:String(Rr);Un([{type:"error",text:`[Recover failed] ${Ws}`}])}}}}finally{if(console.log=Je,Ti.length>0){let Le=Ti.filter((Gn,lr,Po)=>Po.indexOf(Gn)===lr),_n=wx(Le);_n&&V({type:"info",text:_n})}if(!st.current){let Le=Ac(j.Cancelled,()=>({error:"Run ended before the tool result was observed.",output:void 0}));Le.length>0&&rt.current.workerId&&Le.forEach(_n=>ir(_n))}Q(!1),pe(),je(),qm(),ne();let be=Ii(n.messages);n.contextTokenSnapshot={currentTokens:be,baselineEstimatedTokens:be,source:"estimate"},er(be)}},[qr,n,$,Dm,H.pendingInputs.length,o,ze,Be,I,l,V,ge,le,pe,je,qc,zw,Ce,F,Oe,Ut,Os,Un,Ch,Jc,so,Td,An,Bs,Th,Ve,bt,Eo,qm,Ac,ir,hi,Cc,vc]),Xw=Ht.shouldRender?ce(E,{paddingX:1,children:ce(rR,{viewModel:Ht})}):void 0,Yw=B&&Ir.shouldRender?ce(E,{paddingX:1,children:ce(eR,{viewModel:Ir})}):void 0,qw=YS?ce(E,{paddingX:1,children:ce(jp,{viewModel:th})}):void 0,__=Xw||Yw||qw?In(E,{flexDirection:"column",children:[Yw,Xw,qw]}):void 0,Jw=Ht.shouldRender?Ht.counterText:void 0,L_=ce(Fl,{left:ce(Hl,{items:dw}),right:ce(Wl,{items:fw}),queued:ce(Bp,{pendingInputs:H.pendingInputs}),stashNotice:ce(Xl,{text:dd}),notifications:ce(zl,{notifications:ud}),inlineNotices:lh.length>0?ce(Hp,{notices:lh}):void 0,activityBar:ro?In(E,{paddingX:1,flexDirection:"row",children:[In(E,{flexGrow:1,children:[ro?.showSpinner?ce($n,{color:oe("dark").colors.accent}):null,ro?In(v,{color:ro.kind==="waiting"?oe("dark").colors.warning:oe("dark").colors.accent,wrap:"truncate",children:[ro.showSpinner?" ":"",ro.text]}):null,ro?.showSpinner&&H.roundStartedAt!=null?ce(JI,{roundStartedAt:H.roundStartedAt,charCount:H.currentResponse.length,theme:oe("dark")}):null]}),Jw?ce(v,{dimColor:!0,wrap:"truncate",children:Jw}):B&&Ir.shouldRender?ce(v,{dimColor:!0,wrap:"truncate",children:`${Ir.completedCount}/${Ir.totalCount} completed`}):null]}):void 0,todoSurface:__,composer:ce(_p,{onSubmit:A_,onHistoryRecall:M_,onPopPendingInputs:i(()=>{let u=W();if(u.length!==0)return u.join(`
173
173
  ---
174
- `)},"onPopPendingInputs"),prompt:">",placeholder:xE({isLoading:B,canQueueFollowUps:Dm,waitingReason:sh}),focus:!ze&&!Be&&!pt,cwd:process.cwd(),gitRoot:e.context?.gitRoot||n.gitRoot,onInputChange:u_,onPasteFallback:w_}),inlineSuggestions:x_,helpSurface:PS?ce(Pp,{sections:am()}):void 0,taskBar:Fc?ce(Yl,{items:ks.backgroundTask.items,overflowLabel:ks.backgroundTask.overflowLabel,ctaHint:ks.backgroundTask.ctaHint,showSpinner:B}):void 0,statusLine:ce(E,{children:ce(qi,{...cd,viewModel:lw})}),inlineDialogs:T_}),P_=ce(Fl,{left:ce(Hl,{items:dw}),right:ce(Wl,{items:fw}),stashNotice:ce(Xl,{text:dd}),notifications:ce(zl,{notifications:ud}),composer:ce(q0,{searchActive:pt,selectionActive:!!(no||ot),showAllActive:Bt,searchQuery:un,searchCurrent:Wt.length>0?_o+1:0,searchCount:Wt.length,searchDetailText:oh,pendingLiveUpdates:Dc,secondaryText:g_}),taskBar:Fc?ce(Yl,{items:ks.backgroundTask.items,overflowLabel:ks.backgroundTask.overflowLabel,ctaHint:ks.backgroundTask.ctaHint,showSpinner:mt}):void 0,statusLine:ce(E,{children:ce(qi,{...cd,viewModel:ah})})}),vh=G(u=>ce(J0,{banner:u?.bannerVisible?ce(Tx,{...yi}):void 0,items:Nc,isLoading:dn,viewportRows:Vt.messageRows,viewportWidth:J,scrollOffset:tr,windowed:!!u?.rendererWindow,rendererWindow:u?.rendererWindow,transcriptModel:u?.rendererWindow?Hc:Rw,maxLines:Lt,selectedTextRanges:Zm?Du?.rowRanges:void 0,onMetricsChange:pd,onVisibleRowsChange:md}),[yi,Nc,dn,pd,md,tr,Rw,J,Lt,Du?.rowRanges,Vt.messageRows,Zm]),Ih=G(u=>ce(Q0,{banner:u?.bannerVisible?ce(Tx,{...yi}):void 0,items:Oc,browse:{hintText:Lo.browseHintText},selection:fd,search:rw,isLoading:mt,isThinking:Ie.isThinking,thinkingCharCount:Ie.thinkingCharCount,thinkingContent:Ie.thinkingContent,streamingResponse:Ie.currentResponse,currentTool:Ie.currentTool,activeToolCalls:Ie.activeToolCalls,toolInputCharCount:Ie.toolInputCharCount,toolInputContent:Ie.toolInputContent,iterationHistory:Ie.iterationHistory,currentIteration:Ie.currentIteration,isCompacting:Ie.isCompacting,agentMode:$.agentMode,managedPhase:mt?z?.phase:void 0,managedHarnessProfile:mt?z?.harnessProfile:void 0,managedWorkerTitle:mt?z?.activeWorkerTitle:void 0,managedRound:mt?z?.currentRound:void 0,managedMaxRounds:mt?z?.maxRounds:void 0,managedGlobalWorkBudget:mt?z?.globalWorkBudget:void 0,managedBudgetUsage:mt?z?.budgetUsage:void 0,managedBudgetApprovalRequired:mt?z?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Ie.lastLiveActivityLabel,liveStatusLines:bs,viewportRows:Vt.messageRows,viewportWidth:J,scrollOffset:tr,windowed:!!u?.windowed,animateSpinners:!!u?.rendererWindow&&Ms,rendererWindow:u?.rendererWindow,transcriptModel:u?.rendererWindow?Hc:nd,maxLines:Lt,showDetailedTools:Bt,showAllContent:Bt,selectedItemId:Fn.selectionEnabled?ot:void 0,selectedTextRanges:Jr?.rowRanges,expandedItemKeys:Fn.selectionEnabled?Rn:void 0,onMetricsChange:pd,onVisibleRowsChange:md}),[yi,$.agentMode,mt,Rn,c.transcriptSpinnerAnimation,pd,md,tr,jS,z?.activeWorkerTitle,z?.budgetApprovalRequired,z?.budgetUsage,z?.currentRound,z?.globalWorkBudget,z?.harnessProfile,z?.maxRounds,z?.phase,Hc,nd,Lo.browseHintText,ot,fd,J,Ms,Oc,Lt,Ie.activeToolCalls,Ie.currentIteration,Ie.currentResponse,Ie.currentTool,Ie.isCompacting,Ie.isThinking,Ie.iterationHistory,Ie.lastLiveActivityLabel,Ie.thinkingCharCount,Ie.thinkingContent,Ie.toolInputCharCount,Ie.toolInputContent,bs,Jr?.rowRanges,rw,Bt,Vt.messageRows]),$_=se?Ih({bannerVisible:!1,windowed:Pt}):vh({bannerVisible:!1}),Qw=se?P_:L_,D_=c.enabled&&gi,Zw=In(E,{flexDirection:"column",width:J,flexShrink:0,flexGrow:D_?1:0,children:[ce(Ny,{currentConfig:$,setCurrentConfig:Ee,isLoading:B,abort:ke,stopThinking:X,clearThinkingContent:ne,setCurrentTool:we,setIsLoading:Q,onToggleHelp:l_,setShowHelp:$S,onSetThinking:i(u=>{_e.current.thinking=u},"onSetThinking"),onSetReasoningMode:i(u=>{_e.current.reasoningMode=u,_e.current.thinking=u!=="off"},"onSetReasoningMode"),onToggleTranscriptMode:C_,onOpenTranscriptSearch:ph,canOpenTranscriptSearch:se&&!ze&&!Be,isInteractiveDialogActive:!!(ze||Be),onSetAgentMode:i(u=>{_e.current.agentMode=u},"onSetAgentMode"),onSetPermissionMode:i(u=>{xh(u)},"onSetPermissionMode"),isInputEmpty:Sc,onSavePermissionMode:dC}),Zn&&(c.enabled?null:ce(Ta,{items:[1],children:i(()=>ce(Tx,{...yi},"banner"),"children")})),gi?ce(kp,{width:J,stickyHeader:Lo.stickyHeader,jumpToLatest:Lo.jumpToLatest,transcript:!c.enabled||!Pt?se?Ih({bannerVisible:!1}):vh({bannerVisible:!1}):void 0,renderTranscriptWindow:c.enabled&&Pt?u=>(()=>{let x=Kc(u).contentWindow;return se?Ih({bannerVisible:!1,windowed:!0,rendererWindow:x}):vh({bannerVisible:!1,rendererWindow:x})})():void 0,overlay:gh,scrollTop:tr,scrollHeight:Gc,viewportHeight:Vt.messageRows,stickyScroll:!se&&!Cr&&Wm,overscanRows:XW,scrollRef:YA,onWindowChange:S_,onScrollTopChange:JA,onStickyChange:QA,footer:Qw}):In(_W,{children:[In(E,{flexDirection:"column",flexGrow:1,children:[$_,gh?ce(E,{position:"absolute",bottom:0,left:0,right:0,flexDirection:"column",children:gh}):null]}),Qw]})]});return Qm?ce(Ig,{mouseTracking:Mo.usesRendererMouseTracking,children:Zw}):Zw},"InkREPLInner"),ZW=i(e=>{let t=process.cwd(),n=e.options?.context?.gitRoot??void 0;return ce(Gl,{children:ce(Ql,{getPendingInputAgentId:i(()=>kd(e.context.sessionId,"/root"),"getPendingInputAgentId"),children:ce(kl,{children:ce(Dy,{children:ce(Zf,{cwd:t,gitRoot:n,children:ce(QW,{...e})})})})})})},"InkREPL");function eF(){return process.stdin.isTTY===!0&&typeof process.stdin.setRawMode=="function"}i(eF,"isRawModeSupported");async function wm(e){if(!eF())throw new Eh("Interactive mode requires a TTY with raw mode support.",['kodax -p "your task" # Run a single task',"kodax -c # Continue last session","kodax -r # Resume session"]);let t=e.storage??new rs,n=Wo(),r=Fo(),o=jo(n,r),{prepareRuntimeConfig:s}=await import("./utils-HMVP6XPH.js"),{loadCompactionConfig:a}=await import("./compaction-config-L2YZK7Q3.js"),{resolveProvider:c}=await import("./dist-ZJFTZJ55.js"),l=s(),d=Qs({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,configuredProvider:l.provider,defaultProvider:Ci}),f=Zs({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,explicitModel:e.model,configuredProvider:l.provider,configuredModel:l.model}),p=NW(e,l),m=ea({explicitEffort:e.effort,environmentEffort:process.env.KODAX_EFFORT,configuredEffort:l.effort}),h=Yd(e,l,process.env.KODAX_EFFORT),S=e.agentMode??l.agentMode??"ama",I=p!=="off",T=qs(l.permissionMode,"accept-edits")??"accept-edits",w=Wd(),b=l.repoIntelligenceTrace===!0,M={provider:d,model:f,effort:m,effortOverride:h,planModeEffort:l.planModeEffort,thinking:I,reasoningMode:p,agentMode:S,permissionMode:T,repoIntelligenceMode:w.mode,repoIntelligenceTrace:b},D=e.session?.id,k=[],P,q,K,V,fe,ge="",Z=await Ar({cwd:process.cwd()}),y=Z.workspaceRoot??void 0,A=Z,J=y,H=Md({meta:{cwd:process.cwd(),startedAt:Date.now()}});if(H){let X=i(()=>{H.shutdown()},"teamModeCleanup");process.on("exit",X),process.on("SIGTERM",X)}try{let{bootstrapConstructionRuntime:X}=await import("./construction-bootstrap-3TQWTHSQ.js"),ne=await X(y??process.cwd());if(ne.loaded>0||ne.failed>0||ne.tampered>0){let we=ne.failed>0?`; ${ne.failed} failed`:"",tt=ne.tampered>0?`; ${ne.tampered} skipped due to manifest contentHash mismatch \u2014 re-stage and re-activate to re-approve`:"";Ct({source:"repl:construction",level:ne.failed>0||ne.tampered>0?"warn":"info",message:`Rehydrated ${ne.loaded} active tool(s)${we}${tt}.`})}if(ne.markdownLoaded>0||ne.markdownFailures.length>0){Ct({source:"repl:agents",level:ne.markdownFailures.length>0?"warn":"info",message:`Loaded ${ne.markdownLoaded} markdown agent(s).`});for(let we of ne.markdownFailures)Ct({source:"repl:agents",level:"warn",message:`Skipped markdown agent ${we.path}: ${we.reason}`})}}catch(X){Ct({source:"repl:construction",level:"warn",message:`Bootstrap failed: ${X.message}. Self-construction disabled this session.`})}let ae;try{let X=await a(y),ne=c(d);ae={contextWindow:X.contextWindow??ne.getContextWindow?.()??2e5,triggerPercent:X.triggerPercent,triggerTokens:X.triggerTokens,enabled:X.enabled,reservedResponseTokens:ne.getEffectiveMaxOutputTokens?.(f),userOverrideContextWindow:X.contextWindow}}catch{}if(e.session?.id&&!e.session.resume){let X=await t.load(e.session.id);X&&(k=X.messages,P=ti(X.uiHistory),q=X.lineage,K=X.artifactLedger,V=X.extensionState,fe=X.extensionRecords,ge=X.title,D=e.session.id,A=xn(X)??Z,J=A.workspaceRoot??void 0,e={...e,session:{...e.session??{},id:D,tag:X.tag}},console.log(dt.green(`[Session loaded: ${D}]`)))}else if(e.session?.resume||e.session?.autoResume){let X=await Va(t,y);if(X){let ne=await t.load(X.id);ne&&(k=ne.messages,P=ti(ne.uiHistory),q=ne.lineage,K=ne.artifactLedger,V=ne.extensionState,fe=ne.extensionRecords,ge=ne.title,D=X.id,A=xn(ne)??Z,J=A.workspaceRoot??void 0,e={...e,session:{...e.session??{},id:D,tag:ne.tag}},console.log(dt.green(`[Continuing session: ${X.id}]`)))}}let le=await Ga({sessionId:D,gitRoot:J,runtimeInfo:A,existingMessages:k,existingUiHistory:P,existingLineage:q,existingArtifactLedger:K,existingExtensionState:V,existingExtensionRecords:fe});le.title=ge,e={...e,context:{...e.context,gitRoot:le.gitRoot??void 0,executionCwd:le.runtimeInfo?.executionCwd??le.gitRoot??process.cwd()}},H?.writer.update({sessionId:le.sessionId});let pe={current:null},ke={current:null},ue={current:M},ye=oa(),Ae=await Ka({askUser:i(async(X,ne,we)=>{let tt=pe.current;return tt?tt(X,ne,we):"block"},"askUser"),projectRoot:y??process.cwd(),executionCwd:A.executionCwd??y??process.cwd(),getCurrentProviderName:i(()=>ue.current.provider,"getCurrentProviderName"),getCurrentModel:i(()=>ue.current.model,"getCurrentModel"),getCurrentPermissionMode:i(()=>ue.current.permissionMode,"getCurrentPermissionMode"),autoModeSettings:ye,log:i((X,ne)=>{Ct({source:"repl:auto-mode",level:X==="warn"?"warn":"info",message:ne})},"log"),onEngineChange:i(X=>{ke.current?.(X)},"onEngineChange"),extraCollectors:[ra]});try{let X=process.stdout,ne=process.stdin,we=!1,{waitUntilExit:tt,cleanup:gt}=wa(ce(ZW,{options:e,config:M,context:le,startupRuntimeInfo:Z,storage:t,autoModeSettings:Ua(ye),compactionInfo:ae,rendererMode:r,fullscreenPolicy:o,autoModeBootstrap:Ae,setAutoModeAskUser:i(je=>{pe.current=je},"setAutoModeAskUser"),setAutoModeEngineChange:i(je=>{ke.current=je},"setAutoModeEngineChange"),setCurrentConfigRef:i(je=>{ue.current=je},"setCurrentConfigRef"),teamModeHandle:H,onExit:i(()=>{we=!0},"onExit")}),{stdout:X,stdin:ne,exitOnCtrlC:!1,patchConsole:!1,maxFps:30,shellMode:o.enabled?o.promptShell:"main-screen"});await tt(),gt(),H?.shutdown(),ne.isTTY===!0&&typeof ne.setRawMode=="function"&&ne.isRaw&&ne.setRawMode(!1),ne.pause?.(),ne.unref?.(),we&&console.log(dt.dim(`
174
+ `)},"onPopPendingInputs"),prompt:">",placeholder:xE({isLoading:B,canQueueFollowUps:Dm,waitingReason:sh}),focus:!ze&&!Be&&!pt,cwd:process.cwd(),gitRoot:e.context?.gitRoot||n.gitRoot,onInputChange:u_,onPasteFallback:w_}),inlineSuggestions:x_,helpSurface:PS?ce(Pp,{sections:am()}):void 0,taskBar:Fc?ce(Yl,{items:ks.backgroundTask.items,overflowLabel:ks.backgroundTask.overflowLabel,ctaHint:ks.backgroundTask.ctaHint,showSpinner:B}):void 0,statusLine:ce(E,{children:ce(qi,{...cd,viewModel:lw})}),inlineDialogs:T_}),P_=ce(Fl,{left:ce(Hl,{items:dw}),right:ce(Wl,{items:fw}),stashNotice:ce(Xl,{text:dd}),notifications:ce(zl,{notifications:ud}),composer:ce(q0,{searchActive:pt,selectionActive:!!(no||ot),showAllActive:Bt,searchQuery:un,searchCurrent:Wt.length>0?_o+1:0,searchCount:Wt.length,searchDetailText:oh,pendingLiveUpdates:Dc,secondaryText:g_}),taskBar:Fc?ce(Yl,{items:ks.backgroundTask.items,overflowLabel:ks.backgroundTask.overflowLabel,ctaHint:ks.backgroundTask.ctaHint,showSpinner:mt}):void 0,statusLine:ce(E,{children:ce(qi,{...cd,viewModel:ah})})}),vh=G(u=>ce(J0,{banner:u?.bannerVisible?ce(Tx,{...yi}):void 0,items:Nc,isLoading:dn,viewportRows:Vt.messageRows,viewportWidth:J,scrollOffset:tr,windowed:!!u?.rendererWindow,rendererWindow:u?.rendererWindow,transcriptModel:u?.rendererWindow?Hc:Rw,maxLines:Lt,selectedTextRanges:Zm?Du?.rowRanges:void 0,onMetricsChange:pd,onVisibleRowsChange:md}),[yi,Nc,dn,pd,md,tr,Rw,J,Lt,Du?.rowRanges,Vt.messageRows,Zm]),Ih=G(u=>ce(Q0,{banner:u?.bannerVisible?ce(Tx,{...yi}):void 0,items:Oc,browse:{hintText:Lo.browseHintText},selection:fd,search:rw,isLoading:mt,isThinking:Ie.isThinking,thinkingCharCount:Ie.thinkingCharCount,thinkingContent:Ie.thinkingContent,streamingResponse:Ie.currentResponse,currentTool:Ie.currentTool,activeToolCalls:Ie.activeToolCalls,toolInputCharCount:Ie.toolInputCharCount,toolInputContent:Ie.toolInputContent,iterationHistory:Ie.iterationHistory,currentIteration:Ie.currentIteration,isCompacting:Ie.isCompacting,agentMode:$.agentMode,managedPhase:mt?z?.phase:void 0,managedHarnessProfile:mt?z?.harnessProfile:void 0,managedWorkerTitle:mt?z?.activeWorkerTitle:void 0,managedRound:mt?z?.currentRound:void 0,managedMaxRounds:mt?z?.maxRounds:void 0,managedGlobalWorkBudget:mt?z?.globalWorkBudget:void 0,managedBudgetUsage:mt?z?.budgetUsage:void 0,managedBudgetApprovalRequired:mt?z?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Ie.lastLiveActivityLabel,liveStatusLines:bs,viewportRows:Vt.messageRows,viewportWidth:J,scrollOffset:tr,windowed:!!u?.windowed,animateSpinners:!!u?.rendererWindow&&Ms,rendererWindow:u?.rendererWindow,transcriptModel:u?.rendererWindow?Hc:nd,maxLines:Lt,showDetailedTools:Bt,showAllContent:Bt,selectedItemId:Fn.selectionEnabled?ot:void 0,selectedTextRanges:Jr?.rowRanges,expandedItemKeys:Fn.selectionEnabled?Rn:void 0,onMetricsChange:pd,onVisibleRowsChange:md}),[yi,$.agentMode,mt,Rn,c.transcriptSpinnerAnimation,pd,md,tr,jS,z?.activeWorkerTitle,z?.budgetApprovalRequired,z?.budgetUsage,z?.currentRound,z?.globalWorkBudget,z?.harnessProfile,z?.maxRounds,z?.phase,Hc,nd,Lo.browseHintText,ot,fd,J,Ms,Oc,Lt,Ie.activeToolCalls,Ie.currentIteration,Ie.currentResponse,Ie.currentTool,Ie.isCompacting,Ie.isThinking,Ie.iterationHistory,Ie.lastLiveActivityLabel,Ie.thinkingCharCount,Ie.thinkingContent,Ie.toolInputCharCount,Ie.toolInputContent,bs,Jr?.rowRanges,rw,Bt,Vt.messageRows]),$_=se?Ih({bannerVisible:!1,windowed:Pt}):vh({bannerVisible:!1}),Qw=se?P_:L_,D_=c.enabled&&gi,Zw=In(E,{flexDirection:"column",width:J,flexShrink:0,flexGrow:D_?1:0,children:[ce(Ny,{currentConfig:$,setCurrentConfig:Ee,isLoading:B,abort:ke,stopThinking:X,clearThinkingContent:ne,setCurrentTool:we,setIsLoading:Q,onToggleHelp:l_,setShowHelp:$S,onSetThinking:i(u=>{_e.current.thinking=u},"onSetThinking"),onSetReasoningMode:i(u=>{_e.current.reasoningMode=u,_e.current.thinking=u!=="off"},"onSetReasoningMode"),onToggleTranscriptMode:C_,onOpenTranscriptSearch:ph,canOpenTranscriptSearch:se&&!ze&&!Be,isInteractiveDialogActive:!!(ze||Be),onSetAgentMode:i(u=>{_e.current.agentMode=u},"onSetAgentMode"),onSetPermissionMode:i(u=>{xh(u)},"onSetPermissionMode"),isInputEmpty:Sc,onSavePermissionMode:dC}),Zn&&(c.enabled?null:ce(Ta,{items:[1],children:i(()=>ce(Tx,{...yi},"banner"),"children")})),gi?ce(kp,{width:J,stickyHeader:Lo.stickyHeader,jumpToLatest:Lo.jumpToLatest,transcript:!c.enabled||!Pt?se?Ih({bannerVisible:!1}):vh({bannerVisible:!1}):void 0,renderTranscriptWindow:c.enabled&&Pt?u=>(()=>{let x=Kc(u).contentWindow;return se?Ih({bannerVisible:!1,windowed:!0,rendererWindow:x}):vh({bannerVisible:!1,rendererWindow:x})})():void 0,overlay:gh,scrollTop:tr,scrollHeight:Gc,viewportHeight:Vt.messageRows,stickyScroll:!se&&!Cr&&Wm,overscanRows:XW,scrollRef:YA,onWindowChange:S_,onScrollTopChange:JA,onStickyChange:QA,footer:Qw}):In(_W,{children:[In(E,{flexDirection:"column",flexGrow:1,children:[$_,gh?ce(E,{position:"absolute",bottom:0,left:0,right:0,flexDirection:"column",children:gh}):null]}),Qw]})]});return Qm?ce(Ig,{mouseTracking:Mo.usesRendererMouseTracking,children:Zw}):Zw},"InkREPLInner"),ZW=i(e=>{let t=process.cwd(),n=e.options?.context?.gitRoot??void 0;return ce(Gl,{children:ce(Ql,{getPendingInputAgentId:i(()=>kd(e.context.sessionId,"/root"),"getPendingInputAgentId"),children:ce(kl,{children:ce(Dy,{children:ce(Zf,{cwd:t,gitRoot:n,children:ce(QW,{...e})})})})})})},"InkREPL");function eF(){return process.stdin.isTTY===!0&&typeof process.stdin.setRawMode=="function"}i(eF,"isRawModeSupported");async function wm(e){if(!eF())throw new Eh("Interactive mode requires a TTY with raw mode support.",['kodax -p "your task" # Run a single task',"kodax -c # Continue last session","kodax -r # Resume session"]);let t=e.storage??new rs,n=Wo(),r=Fo(),o=jo(n,r),{prepareRuntimeConfig:s}=await import("./utils-X3TEH6IO.js"),{loadCompactionConfig:a}=await import("./compaction-config-7J2XE35D.js"),{resolveProvider:c}=await import("./dist-URKXBOC6.js"),l=s(),d=Qs({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,configuredProvider:l.provider,defaultProvider:Ci}),f=Zs({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,explicitModel:e.model,configuredProvider:l.provider,configuredModel:l.model}),p=NW(e,l),m=ea({explicitEffort:e.effort,environmentEffort:process.env.KODAX_EFFORT,configuredEffort:l.effort}),h=Yd(e,l,process.env.KODAX_EFFORT),S=e.agentMode??l.agentMode??"ama",I=p!=="off",T=qs(l.permissionMode,"accept-edits")??"accept-edits",w=Wd(),b=l.repoIntelligenceTrace===!0,M={provider:d,model:f,effort:m,effortOverride:h,planModeEffort:l.planModeEffort,thinking:I,reasoningMode:p,agentMode:S,permissionMode:T,repoIntelligenceMode:w.mode,repoIntelligenceTrace:b},D=e.session?.id,k=[],P,q,K,V,fe,ge="",Z=await Ar({cwd:process.cwd()}),y=Z.workspaceRoot??void 0,A=Z,J=y,H=Md({meta:{cwd:process.cwd(),startedAt:Date.now()}});if(H){let X=i(()=>{H.shutdown()},"teamModeCleanup");process.on("exit",X),process.on("SIGTERM",X)}try{let{bootstrapConstructionRuntime:X}=await import("./construction-bootstrap-5F5KF2BZ.js"),ne=await X(y??process.cwd());if(ne.loaded>0||ne.failed>0||ne.tampered>0){let we=ne.failed>0?`; ${ne.failed} failed`:"",tt=ne.tampered>0?`; ${ne.tampered} skipped due to manifest contentHash mismatch \u2014 re-stage and re-activate to re-approve`:"";Ct({source:"repl:construction",level:ne.failed>0||ne.tampered>0?"warn":"info",message:`Rehydrated ${ne.loaded} active tool(s)${we}${tt}.`})}if(ne.markdownLoaded>0||ne.markdownFailures.length>0){Ct({source:"repl:agents",level:ne.markdownFailures.length>0?"warn":"info",message:`Loaded ${ne.markdownLoaded} markdown agent(s).`});for(let we of ne.markdownFailures)Ct({source:"repl:agents",level:"warn",message:`Skipped markdown agent ${we.path}: ${we.reason}`})}}catch(X){Ct({source:"repl:construction",level:"warn",message:`Bootstrap failed: ${X.message}. Self-construction disabled this session.`})}let ae;try{let X=await a(y),ne=c(d);ae={contextWindow:X.contextWindow??ne.getContextWindow?.()??2e5,triggerPercent:X.triggerPercent,triggerTokens:X.triggerTokens,enabled:X.enabled,reservedResponseTokens:ne.getEffectiveMaxOutputTokens?.(f),userOverrideContextWindow:X.contextWindow}}catch{}if(e.session?.id&&!e.session.resume){let X=await t.load(e.session.id);X&&(k=X.messages,P=ti(X.uiHistory),q=X.lineage,K=X.artifactLedger,V=X.extensionState,fe=X.extensionRecords,ge=X.title,D=e.session.id,A=xn(X)??Z,J=A.workspaceRoot??void 0,e={...e,session:{...e.session??{},id:D,tag:X.tag}},console.log(dt.green(`[Session loaded: ${D}]`)))}else if(e.session?.resume||e.session?.autoResume){let X=await Va(t,y);if(X){let ne=await t.load(X.id);ne&&(k=ne.messages,P=ti(ne.uiHistory),q=ne.lineage,K=ne.artifactLedger,V=ne.extensionState,fe=ne.extensionRecords,ge=ne.title,D=X.id,A=xn(ne)??Z,J=A.workspaceRoot??void 0,e={...e,session:{...e.session??{},id:D,tag:ne.tag}},console.log(dt.green(`[Continuing session: ${X.id}]`)))}}let le=await Ga({sessionId:D,gitRoot:J,runtimeInfo:A,existingMessages:k,existingUiHistory:P,existingLineage:q,existingArtifactLedger:K,existingExtensionState:V,existingExtensionRecords:fe});le.title=ge,e={...e,context:{...e.context,gitRoot:le.gitRoot??void 0,executionCwd:le.runtimeInfo?.executionCwd??le.gitRoot??process.cwd()}},H?.writer.update({sessionId:le.sessionId});let pe={current:null},ke={current:null},ue={current:M},ye=oa(),Ae=await Ka({askUser:i(async(X,ne,we)=>{let tt=pe.current;return tt?tt(X,ne,we):"block"},"askUser"),projectRoot:y??process.cwd(),executionCwd:A.executionCwd??y??process.cwd(),getCurrentProviderName:i(()=>ue.current.provider,"getCurrentProviderName"),getCurrentModel:i(()=>ue.current.model,"getCurrentModel"),getCurrentPermissionMode:i(()=>ue.current.permissionMode,"getCurrentPermissionMode"),autoModeSettings:ye,log:i((X,ne)=>{Ct({source:"repl:auto-mode",level:X==="warn"?"warn":"info",message:ne})},"log"),onEngineChange:i(X=>{ke.current?.(X)},"onEngineChange"),extraCollectors:[ra]});try{let X=process.stdout,ne=process.stdin,we=!1,{waitUntilExit:tt,cleanup:gt}=wa(ce(ZW,{options:e,config:M,context:le,startupRuntimeInfo:Z,storage:t,autoModeSettings:Ua(ye),compactionInfo:ae,rendererMode:r,fullscreenPolicy:o,autoModeBootstrap:Ae,setAutoModeAskUser:i(je=>{pe.current=je},"setAutoModeAskUser"),setAutoModeEngineChange:i(je=>{ke.current=je},"setAutoModeEngineChange"),setCurrentConfigRef:i(je=>{ue.current=je},"setCurrentConfigRef"),teamModeHandle:H,onExit:i(()=>{we=!0},"onExit")}),{stdout:X,stdin:ne,exitOnCtrlC:!1,patchConsole:!1,maxFps:30,shellMode:o.enabled?o.promptShell:"main-screen"});await tt(),gt(),H?.shutdown(),ne.isTTY===!0&&typeof ne.setRawMode=="function"&&ne.isRaw&&ne.setRawMode(!1),ne.pause?.(),ne.unref?.(),we&&console.log(dt.dim(`
175
175
  [Exiting KodaX...]`));let Ge=e.hardExitOnClose??process.env.VITEST!=="true";if(we&&Ge){let je=process.exitCode??0,de=!1,Ce=i(()=>{de||(de=!0,process.exit(je))},"requestProcessExit");setTimeout(Ce,0).unref?.(),X.write("",Ce);return}}catch(X){throw X instanceof Error&&X.message.includes("Raw mode")?new Eh("Interactive mode failed to start.",['kodax -p "your task" # Run a single task',"kodax -c # Continue last session"]):X}}i(wm,"runInkInteractiveMode");import{jsx as fu,jsxs as ic}from"react/jsx-runtime";import{useMemo as tF,useRef as nF,useState as bx}from"react";var rF=40;function oF(e,t){let n=t.trim().toLocaleLowerCase().split(/\s+/).filter(Boolean);return n.length===0?[...e]:e.filter(r=>{let o=[r.title,r.id,r.surface??"",r.createdAt??"",String(r.msgCount)].join(" ").toLocaleLowerCase();return n.every(s=>o.includes(s))})}i(oF,"filterSessionPickerItems");function iF(e,t,n){let r=Math.max(1,n),o=e.length===0?0:Math.max(0,Math.min(t,e.length-1)),s=Math.floor(o/r)*r;return{items:e.slice(s,s+r),selectedIndex:o,pageStart:s,pageIndex:Math.floor(s/r),pageCount:Math.max(1,Math.ceil(e.length/r))}}i(iF,"buildSessionPickerPage");function sF(e){if(!e)return"unknown time";let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toISOString().slice(0,16).replace("T"," ")}i(sF,"formatTimestamp");function aF({sessions:e,onSelect:t,onSelectionError:n,onCancel:r,pageSize:o=8}){let{exit:s}=Or(),[a,c]=bx(""),[l,d]=bx(0),[f,p]=bx(!1),m=nF(!1),h=tF(()=>oF(e,a),[e,a]),S=iF(h,l,o),I=h[S.selectedIndex];return Ca((T,w)=>{if(!m.current){if(w.escape||w.ctrl&&T==="c"){r(),s();return}if(w.return){let b=h[S.selectedIndex];b&&(m.current=!0,p(!0),(async()=>{await new Promise(M=>setTimeout(M,rF));try{await t(b)}catch(M){n(M)}finally{s()}})());return}if(w.upArrow)d(b=>Math.max(0,b-1));else if(w.downArrow)d(b=>Math.min(Math.max(0,h.length-1),b+1));else if(w.pageUp)d(b=>Math.max(0,b-o));else if(w.pageDown)d(b=>Math.min(Math.max(0,h.length-1),b+o));else if(w.home)d(0);else if(w.end)d(Math.max(0,h.length-1));else if(w.tab){let b=h[S.selectedIndex];b&&(c(b.title),d(0))}else w.backspace||w.delete?(c(b=>b.slice(0,-1)),d(0)):T&&!w.ctrl&&!w.meta&&!w.super&&(c(b=>b+T),d(0))}}),ic(E,{flexDirection:"column",borderStyle:"round",borderColor:"cyan",paddingX:1,children:[fu(v,{bold:!0,color:"cyan",children:"Resume a session"}),ic(v,{children:["Search: ",fu(v,{color:"yellow",children:a||"type to filter"})]}),fu(v,{dimColor:!0,children:f?"Loading selected session...":"\u2191/\u2193 select \xB7 PgUp/PgDn page \xB7 Tab complete \xB7 Enter resume \xB7 Esc cancel"}),ic(E,{flexDirection:"column",marginTop:1,children:[S.items.length===0?fu(v,{color:"yellow",children:"No matching sessions."}):null,S.items.map((T,w)=>{let M=S.pageStart+w===S.selectedIndex,D=T.title.trim()||"Untitled session",k=T.surface?` \xB7 ${T.surface}`:"";return ic(v,{color:M?"cyan":void 0,bold:M,children:[M?"\u276F":" "," ",D," \xB7 ",T.msgCount," msgs",k," \xB7 ",sF(T.createdAt)," \xB7 ",T.id.slice(0,8)]},T.id)})]}),ic(v,{dimColor:!0,children:[h.length," matches \xB7 Page ",S.pageIndex+1,"/",S.pageCount]}),ic(v,{dimColor:!0,children:["Selected ID: ",I?.id??"none"]})]})}i(aF,"SessionPicker");async function eM(e,t={}){if(process.stdin.isTTY!==!0||process.stdout.isTTY!==!0)throw new Error("Searchable session resume requires an interactive terminal. Pass an exact session ID or title to -r/--resume instead.");let n,r=!1,o=!1,s,a=Math.max(4,Math.min(12,(process.stdout.rows??24)-8)),c=wa(fu(aF,{sessions:e,pageSize:a,onSelect:i(async l=>{n=l,await t.prepareSelection?.(l)},"onSelect"),onSelectionError:i(l=>{o=!0,s=l},"onSelectionError"),onCancel:i(()=>{r=!0},"onCancel")}),{stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,exitOnCtrlC:!1,patchConsole:!1});try{await c.waitUntilExit()}finally{c.unmount(),c.cleanup()}if(o)throw s;if(!n&&!r)throw new Error("Session picker exited unexpectedly before selection or cancellation.");return n}i(eM,"runSessionPicker");import gn from"chalk";var tM=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],nM=["\x1B[36m","\x1B[35m","\x1B[34m"],mu=null,sc=!1;function pu(){let e=0,t=0,n=!1,r="Thinking...",o=i(()=>{if(n)return;let c=nM[t%nM.length],l="\x1B[0m",d=tM[e%tM.length];process.stdout.write(`\r${c}${d}${l} ${r}`)},"renderFrame"),s=setInterval(()=>{e++,e%10===0&&t++,o()},80);o();let a={stop:i(()=>{n||(n=!0,clearInterval(s),process.stdout.write("\r\x1B[K"))},"stop"),isStopped:i(()=>n,"isStopped"),updateText:i(c=>{r=c},"updateText")};return mu=a,a}i(pu,"startWaitingDots");function rM(e=!0){let t=null,n=0,r=!1;return{onSessionStart:i(s=>{console.log(e?gn.cyan(`[KodaX] Provider: ${s.provider} | Session: ${s.sessionId}`):gn.cyan(`[KodaX] Provider: ${s.provider}`))},"onSessionStart"),onTextDelta:i(s=>{t&&(t.stop(),t=null),n=0,process.stdout.write(s),r=!0},"onTextDelta"),onThinkingDelta:i(s=>{n+=s.length,t||(t=pu()),t.updateText(`Thinking... (${n} chars)`)},"onThinkingDelta"),onThinkingEnd:i(s=>{if(t&&(t.stop(),t=null),s){let a=s.replace(/\n/g," "),c=a.length>100?a.slice(0,100)+"...":a;console.log(gn.dim(`[Thinking] ${c}`))}},"onThinkingEnd"),onToolUseStart:i(s=>{t||(sc||(process.stdout.write(`
176
176
  `),sc=!0),t=pu()),t.updateText(`Executing ${s.name}...`)},"onToolUseStart"),onToolInputDelta:i((s,a,c)=>{let l=a.length;t&&!t.isStopped()?t.updateText(`Receiving ${s}... (${l} chars)`):(!t||t.isStopped())&&(sc||(process.stdout.write(`
177
177
  `),sc=!0,r=!1),t=pu(),t.updateText(`Receiving ${s}... (${l} chars)`))},"onToolInputDelta"),onToolResult:i(s=>{t&&(t.stop(),t=null),console.log(gn.green(`[Result] ${s.content.slice(0,300)}${s.content.length>300?"...":""}`))},"onToolResult"),onRepoIntelligenceTrace:i(s=>{t&&(t.stop(),t=null),console.log(gn.dim(`[RepoIntel] ${s.summary}`))},"onRepoIntelligenceTrace"),onSidecarMessage:i(s=>{t&&(t.stop(),t=null);let a=s.delivery==="budget-exhausted"?"\u26A1 Sidecar Verifier \u2014 budget exhausted":s.verdict==="blocked"?"\u26A1 Sidecar Verifier \u2014 blocked":"\u26A1 Sidecar Verifier \u2014 revise",c=s.suggestedFix?`${s.content}
@@ -217,7 +217,7 @@ ${t}`),console.log("\u2500".repeat(t.length)),n.forEach((r,o)=>{console.log(` $
217
217
  Keyboard: Tab (complete) | Esc+Esc (edit last) | Ctrl+T (reasoning) | Ctrl+E (editor) | Ctrl+R (history)
218
218
  `))}i(kM,"printStartupBanner");async function AF(e,t,n){if(e?.id){let r=await t.load(e.id);if(!r)return null;let o=xn(r);return{id:e.id,data:r,kind:"load",...o?{runtimeInfo:o}:{}}}if(e?.resume||e?.autoResume){let r=await Va(t,n);if(!r)return null;let o=await t.load(r.id);if(!o)return null;let s=xn(o);return{id:r.id,data:o,kind:"continue",...s?{runtimeInfo:s}:{}}}return null}i(AF,"loadClassicStartupSession");async function _F(e){return(await _d(e)).getSystemPromptSnippet()}i(_F,"buildClassicCliSkillsPrompt");function LF(e,t){let n=Ad(e);t.context={...t.context,skillsPrompt:n.getSystemPromptSnippet()}}i(LF,"syncClassicCliSkillsPrompt");var Hx=class{static{i(this,"MemorySessionStorage")}sessions=new Map;async save(t,n){let r=this.sessions.get(t),o=nt(n.messages,n.lineage??r?.data.lineage);this.sessions.set(t,{createdAt:r?.createdAt??new Date().toISOString(),data:{...structuredClone(n),scope:n.scope??r?.data.scope??"user",uiHistory:n.uiHistory??r?.data.uiHistory,extensionState:n.extensionState??r?.data.extensionState,extensionRecords:n.extensionRecords??r?.data.extensionRecords,tag:n.tag??r?.data.tag,lineage:o}})}async load(t){return structuredClone(this.sessions.get(t)?.data??null)}async getLineage(t){return structuredClone(this.sessions.get(t)?.data.lineage??null)}async loadFullLineage(t){return this.getLineage(t)}async setActiveEntry(t,n,r){let o=this.sessions.get(t);if(!o?.data.lineage)return null;let s=js(o.data.lineage,n,r);if(!s)return null;let a={...structuredClone(o.data),messages:kt(s),lineage:s};return this.sessions.set(t,{...o,data:a}),structuredClone(a)}async setLabel(t,n,r){let o=this.sessions.get(t);if(!o?.data.lineage)return null;let s=Us(o.data.lineage,n,r);if(!s)return null;let a={...structuredClone(o.data),lineage:s};return this.sessions.set(t,{...o,data:a}),structuredClone(a)}async fork(t,n,r){let o=this.sessions.get(t);if(!o?.data.lineage)return null;let s=zs(o.data.lineage,n);if(!s)return null;let a=r?.sessionId??await Fs(),c={messages:kt(s),title:r?.title??o.data.title,gitRoot:o.data.gitRoot,tag:o.data.tag,runtimeInfo:o.data.runtimeInfo?structuredClone(o.data.runtimeInfo):void 0,scope:o.data.scope??"user",extensionState:o.data.extensionState?structuredClone(o.data.extensionState):void 0,extensionRecords:o.data.extensionRecords?structuredClone(o.data.extensionRecords):void 0,lineage:s};return this.sessions.set(a,{createdAt:new Date().toISOString(),data:c}),{sessionId:a,data:structuredClone(c)}}async rewind(t,n){let r=this.sessions.get(t);if(!r?.data.lineage)return null;let o=n??Ks(r.data.lineage);if(!o)return null;let s=Vs(r.data.lineage,o);if(!s)return null;let a={...r.data,messages:kt(s),lineage:s};return this.sessions.set(t,{...r,data:a}),structuredClone(a)}async list(t){return Array.from(this.sessions.entries()).filter(([,n])=>(n.data.scope??"user")==="user").map(([n,r])=>({id:n,title:r.data.title,msgCount:r.data.lineage?Ri(r.data.lineage):r.data.messages.length,...r.data.tag!==void 0?{tag:r.data.tag}:{},...r.data.runtimeInfo?{runtimeInfo:structuredClone(r.data.runtimeInfo)}:{}}))}async delete(t){this.sessions.delete(t)}async deleteAll(t){this.sessions.clear()}};function Nx(e,t,n){e.runtimeInfo=n,e.gitRoot=n?.workspaceRoot??e.gitRoot,t.context={...t.context,gitRoot:e.gitRoot,executionCwd:n?.executionCwd??process.cwd()}}i(Nx,"applyRuntimeContext");function Cm(e,t){let n=t.runtimeSessionSnapshot;n&&("extensionState"in n&&(e.extensionState=n.extensionState?structuredClone(n.extensionState):{},e.extensionStateDirty=!0),"extensionRecords"in n&&(e.extensionRecords=n.extensionRecords?.map(r=>({...r}))??[],e.extensionRecordsDirty=!0))}i(Cm,"applyRuntimeSessionSnapshot");function vo(e){return{...e.extensionStateDirty?{extensionState:e.extensionState??{}}:{},...e.extensionRecordsDirty?{extensionRecords:e.extensionRecords??[]}:{}}}i(vo,"contextExtensionSessionData");function uc(e){e.extensionStateDirty=!1,e.extensionRecordsDirty=!1}i(uc,"markExtensionSessionPersisted");function PF(e,t){return e.reasoningMode?e.reasoningMode:t.reasoningMode?t.reasoningMode:(e.thinking===!0||t.thinking===!0,"auto")}i(PF,"resolveInitialReasoningMode");var Wx={current:null};async function MM(e){let t=await Ar({cwd:process.cwd()}),n=t.workspaceRoot??await uo()??void 0,r=e.storage??new Hx,o=await AF(e.session,r,n),s=o?o.runtimeInfo??t:t,a=s.workspaceRoot??n;o&&(e={...e,session:{...e.session??{},id:o.id,tag:o.data.tag}});let c=Md({meta:{cwd:process.cwd(),startedAt:Date.now()}}),l=Xd(),d=Qs({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,configuredProvider:l.provider,defaultProvider:Ci}),f=Zs({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,explicitModel:e.model,configuredProvider:l.provider,configuredModel:l.model}),p=PF(e,l),m=ea({explicitEffort:e.effort,environmentEffort:process.env.KODAX_EFFORT,configuredEffort:l.effort}),h=Yd(e,l,process.env.KODAX_EFFORT),S=e.agentMode??l.agentMode??"ama",I=p!=="off",T=qs(l.permissionMode,"accept-edits")??"accept-edits",w=zd();T==="auto-in-project"&&w();let b=Wd(),M=l.theme;M&&xu(M);let D=cs(),k={provider:d,model:f,effort:m,effortOverride:h,planModeEffort:l.planModeEffort,thinking:I,reasoningMode:p,agentMode:S,permissionMode:T,repoIntelligenceMode:b.mode,repoIntelligenceTrace:b.trace,fallbackProviders:l.fallbackProviders},P=T,q=ia(),K=i(_=>Mi({provider:_?.provider??k.provider,model:_?.model??k.model,effort:k.effort,effortOverride:k.effortOverride,permissionMode:_?.permissionMode??k.permissionMode,planModeEffort:k.planModeEffort,thinking:k.thinking,reasoningMode:k.reasoningMode}),"resolveCurrentRuntimeEffort"),V=0,fe="",ge=!1,Z=500,y=await Ga({sessionId:o?.id??e.session?.id,gitRoot:a,runtimeInfo:s,existingMessages:o?.data.messages,existingUiHistory:o?.data.uiHistory,existingLineage:o?.data.lineage,existingArtifactLedger:o?.data.artifactLedger,existingExtensionState:o?.data.extensionState,existingExtensionRecords:o?.data.extensionRecords});if(y.title=o?.data.title??"",o){let _=o.kind==="continue"?"Continuing session":"Session loaded";process.stdout.write(`${ie.green(`[${_}: ${o.id}]`)}
219
219
  `)}y.skillDynamicContext=e.skillDynamicContext,c?.writer.update({sessionId:y.sessionId});let A=i(_=>ri(k,_,(W,B,Q)=>{console.log((W==="block"?ie.red:ie.yellow)(`
220
- ${B}`));for(let $ of Q)console.log(ie.dim($));console.log()}),"guardSessionTransition"),J=await Zd(a??void 0),{resolveProvider:H}=await import("./dist-ZJFTZJ55.js"),ae=H(k.provider),le=J.contextWindow??ae.getEffectiveContextWindow?.(k.model)??ae.getContextWindow?.()??2e5,{loadAgentsFiles:pe}=await import("./dist-ZJFTZJ55.js"),ke=i(async()=>pe({cwd:process.cwd(),projectRoot:y.gitRoot??void 0}),"reloadAgentsFiles"),ue=await ke();if(kM(k,k.permissionMode,{contextWindow:le,triggerPercent:J.triggerPercent,triggerTokens:J.triggerTokens,enabled:J.enabled},ue),RM(s),e.learning)try{let _=ef(await e.learning.getSnapshot());_&&console.log(ie.yellow(`
220
+ ${B}`));for(let $ of Q)console.log(ie.dim($));console.log()}),"guardSessionTransition"),J=await Zd(a??void 0),{resolveProvider:H}=await import("./dist-URKXBOC6.js"),ae=H(k.provider),le=J.contextWindow??ae.getEffectiveContextWindow?.(k.model)??ae.getContextWindow?.()??2e5,{loadAgentsFiles:pe}=await import("./dist-URKXBOC6.js"),ke=i(async()=>pe({cwd:process.cwd(),projectRoot:y.gitRoot??void 0}),"reloadAgentsFiles"),ue=await ke();if(kM(k,k.permissionMode,{contextWindow:le,triggerPercent:J.triggerPercent,triggerTokens:J.triggerTokens,enabled:J.enabled},ue),RM(s),e.learning)try{let _=ef(await e.learning.getSnapshot());_&&console.log(ie.yellow(`
221
221
  ${_}
222
222
  `))}catch(_){Ct({source:"repl:learning",level:"warn",message:"Failed to recover the Learning Center startup summary.",detail:_ instanceof Error?_.message:String(_)})}let ye=OC(()=>y.gitRoot??process.cwd()),Ae=EM.createInterface({input:process.stdin,output:process.stdout,terminal:process.stdout.isTTY??!0,historySize:100,completer:i((_,W)=>{ye(_).then(B=>{W(null,B)}).catch(()=>{W(null,[[],_])})},"completer")}),X=i(async _=>{let W=await lc(Ae,_.toolName,{..._.input,..._.reason!==void 0?{_reason:_.reason}:{},..._.executionCwd!==void 0?{_executionCwd:_.executionCwd}:{},..._.risk!==void 0?{_runtimeRisk:_.risk}:{}},{permissionMode:P,runtimeGrantSuggestions:_.grantSuggestions??[]});return Kp(_,W)},"requestRuntimePermission"),ne=oa(),we=Ua(ne);await e.runtimeAutoModeControl?.syncSettings?.(y.sessionId,P,we);let tt=await Ka({askUser:i(async(_,W,B)=>(await lc(Ae,_.name,{..._.input,...B&&B.length>0?{_classifierSignals:B}:{}},{permissionMode:P,reason:`[auto-mode] ${W}`})).confirmed?"allow":"block","askUser"),projectRoot:a??process.cwd(),executionCwd:s.executionCwd??a??process.cwd(),getCurrentProviderName:i(()=>k.provider,"getCurrentProviderName"),getCurrentModel:i(()=>k.model,"getCurrentModel"),getCurrentPermissionMode:i(()=>P,"getCurrentPermissionMode"),autoModeSettings:ne,log:i((_,W)=>{console.log(_==="warn"?ie.yellow(W):ie.dim(W))},"log"),extraCollectors:[ra]}),gt=Gd({getProvider:i(()=>H(k.provider),"getProvider"),getModel:i(()=>k.model??"","getModel")}),Ge=`
223
223
  Keyboard Shortcuts: