@crewx/sdk 0.9.0-rc.194 → 0.9.0-rc.196
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/models.generated.d.ts +3 -2
- package/dist/config/pricing.generated.d.ts +2 -2
- package/dist/esm/index.js +241 -241
- package/dist/esm/plugins/index.js +76 -76
- package/dist/esm/repository/index.js +127 -127
- package/dist/esm/testing/index.js +1 -1
- package/dist/index.browser.js +3 -3
- package/dist/index.d.ts +1 -1
- package/dist/index.js +235 -235
- package/dist/plugins/index.js +82 -82
- package/dist/repository/index.js +124 -124
- package/dist/testing/index.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
function f(){let e=[];return {events:e,async log(t,o){e.push({event:t,payload:o});}}}function h(){let e={debug:[],info:[],warn:[],error:[]};return {entries:e,debug(t,o){e.debug.push({msg:t,meta:o});},info(t,o){e.info.push({msg:t,meta:o});},warn(t,o){e.warn.push({msg:t,meta:o});},error(t,o){e.error.push({msg:t,meta:o});}}}function A(){let e=200,t,o,n={},i={status(r){return e=r,i},set(r,a){return n[r]=a,i},send(r){return o=r,i},json(r){return t=r,i},end(){return i},getStatusCode:()=>e,getJsonBody:()=>t,getSentBody:()=>o,getHeaders:()=>({...n})};return i}function y(){let e=[];return {routes:e,registerRoute(o,n,i){e.push({path:o,handler:n,opts:i});},async simulate(o,n,i=Buffer.alloc(0),r={},a={},p={}){let c=e.find(m=>m.path===n);if(!c)return {status:404,body:{error:"Not found"},headers:{}};let g={method:o,url:n,headers:r,body:i,params:a,query:p},l=A();return await c.handler(g,l),{status:l.getStatusCode(),body:l.getJsonBody()??l.getSentBody(),headers:l.getHeaders()}}}}function P(e){let t=new Map,o=n=>n.startsWith(`${e}::`)?n:`${e}::${n}`;return {async get(n){let i=t.get(o(n));return i?i.value:void 0},async set(n,i){t.set(o(n),{value:i});},async delete(n){return t.delete(o(n))},async list(n){let i=n?o(n):`${e}::`,r=[];for(let a of t.keys())a.startsWith(i)&&r.push(a.slice(e.length+2));return r}}}function x(e){return P(e)}function M(){let e=new Map;return {blobs:e,async put(t,o,n){return e.set(t,{data:o,contentType:n}),t},async get(t){let o=e.get(t);return o?o.data:void 0},async delete(t){return e.delete(t)}}}function C(e){let t=e.instanceId??"mock-instance",o=f(),n=h(),i=y(),r=x(t),a=M(),p=[],c=[],g=[],l={run:async()=>({output:""}),...e.agentRunner},m=new AbortController,w=async u=>(p.push(u),{accepted:true}),v=async u=>(c.push(u),{accepted:true}),E=async(u,R)=>{g.push({messageId:u,patch:R});},I=async u=>({userId:u,displayName:u}),b=async()=>{},O=async()=>({messageId:"mock-proactive",sentAt:Date.now()});return {instanceId:t,installationId:e.installationId,config:e.config,capabilities:new Set(e.capabilities??[]),log:n,agentRunner:l,db:r,storage:a,audit:o,abortSignal:e.abortSignal??m.signal,httpRouter:i,router:i,inbound:w,emitEvent:v,updateMessage:E,resolveUser:I,respondSync:b,proactive:O,inboundCalls:p,emittedEvents:c,sentMessages:g}}function D(){}var k={claude:{models:[{id:"claude-fable-5-1",name:"Claude Fable 5.1",contextWindowTokens:1e6,tier:"flagship",recommended:true},{id:"claude-fable-5",name:"Claude Fable 5",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-5-5",name:"Claude Opus 5.5",contextWindowTokens:1e6,tier:"flagship",recommended:true},{id:"claude-opus-5",name:"Claude Opus 5",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-sonnet-5-5",name:"Claude Sonnet 5.5",contextWindowTokens:1e6,tier:"balanced",recommended:true},{id:"claude-sonnet-5",name:"Claude Sonnet 5",contextWindowTokens:1e6,tier:"balanced"},{id:"claude-opus-4-8[1m]",name:"Claude Opus 4.8",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-4-7[1m]",name:"Claude Opus 4.7",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-4-6[1m]",name:"Claude Opus 4.6",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-sonnet-4-6[1m]",name:"Claude Sonnet 4.6",contextWindowTokens:1e6,tier:"balanced"},{id:"claude-haiku-5-5",name:"Claude Haiku 5.5",contextWindowTokens:1e6,tier:"speed"},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",contextWindowTokens:2e5,tier:"speed"}],modes:[{id:"default",name:"Default",description:"Uses Claude's default permission handling with normal approval prompts."},{id:"acceptEdits",name:"Accept Edits",description:"Allows file edits without approval; other permission checks remain in place."},{id:"plan",name:"Plan",description:"Keeps Claude in plan mode so it can inspect and propose changes without applying them."},{id:"dontAsk",name:"Don't Ask",description:"Does not ask for permissions; only pre-approved tool actions can proceed."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Bypasses Claude permission checks so tools can run without approval prompts."}],effort:["low","medium","high"],modelOverrides:{"claude-fable-5-1":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-fable-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-5-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"medium"},"claude-opus-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-sonnet-5-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-sonnet-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-8[1m]":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-7[1m]":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-6[1m]":{effort:["low","medium","high","max"],defaultEffort:"high"},"claude-sonnet-4-6[1m]":{effort:["low","medium","high","max"],defaultEffort:"high"},"claude-haiku-5-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"medium"},"claude-haiku-4-5":{effort:[]}},providerOptions:[]},codex:{models:[{id:"gpt-6-astra",name:"GPT-6 Astra",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-6.1-sol",name:"GPT-6.1 Sol",contextWindowTokens:105e4,tier:"balanced",recommended:true},{id:"gpt-6.1-terra",name:"GPT-6.1 Terra",contextWindowTokens:5e5,tier:"balanced"},{id:"gpt-6-sol",name:"GPT-6 Sol",contextWindowTokens:105e4,tier:"balanced"},{id:"gpt-6-luna",name:"GPT-6 Luna",contextWindowTokens:105e4,tier:"speed",recommended:true},{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-5.6-terra",name:"GPT-5.6 Terra",contextWindowTokens:105e4,tier:"balanced"},{id:"gpt-5.6-luna",name:"GPT-5.6 Luna",contextWindowTokens:105e4,tier:"speed"}],modes:[{id:"agent",name:"Agent",description:"Uses the workspace-write sandbox; can read and modify workspace files without full machine access."},{id:"read-only",name:"Read Only",description:"Uses the read-only sandbox; can inspect files but cannot write to the workspace."},{id:"plan",name:"Plan",description:"Uses the read-only sandbox for planning and inspection; cannot write to the workspace."},{id:"agent-full-access",name:"Agent Full Access",description:"Bypasses approvals and the sandbox; can access and modify files beyond the workspace."},{id:"yolo",name:"YOLO",description:"Bypasses approvals and the sandbox for unrestricted execution and full filesystem access."}],effort:["minimal","low","medium","high"],modelOverrides:{"gpt-6-astra":{effort:["low","medium","high","xhigh","max"],defaultEffort:"xhigh"},"gpt-6.1-sol":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"gpt-6.1-terra":{effort:["low","medium","high","xhigh","max","ultra"],defaultEffort:"max"},"gpt-6-sol":{effort:["none","low","medium","high","xhigh","max"],defaultEffort:"max"},"gpt-6-luna":{effort:["none","low","medium","high","xhigh","max"],defaultEffort:"medium"},"gpt-5.6-sol":{effort:["low","medium","high","xhigh","max","ultra"],defaultEffort:"xhigh"},"gpt-5.6-terra":{effort:["low","medium","high","xhigh","max","ultra"],defaultEffort:"high"},"gpt-5.6-luna":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"gpt-5.5":{effort:["low","medium","high","xhigh"],defaultEffort:"high"}},providerOptions:[]},opencode:{models:[],modes:[{id:"plan",name:"Plan",description:"Uses the plan agent without --auto; planning follows standard approval behavior."},{id:"plan-auto",name:"Plan \xB7 Auto",description:"Uses the plan agent with --auto; planning uses automatic approvals."},{id:"build",name:"Build",description:"Uses the build agent without --auto; work follows standard approval behavior."},{id:"build-auto",name:"Build \xB7 Auto",description:"Uses the build agent with --auto; work uses automatic approvals."}],effort:[],modelOverrides:{},providerOptions:[]},copilot:{models:[{id:"auto",name:"Auto"},{id:"claude-sonnet-5",name:"Claude Sonnet 5",contextWindowTokens:1e6,tier:"balanced"}],modes:[{id:"interactive",name:"Interactive",description:"Passes --mode interactive; tool access follows Copilot's interactive mode behavior."},{id:"plan",name:"Plan",description:"Passes --mode plan; planning and permission behavior follow Copilot's plan mode."},{id:"autopilot",name:"Autopilot",description:"Passes --mode autopilot; execution behavior follows Copilot's autonomous mode."}],effort:["none","low","medium","high","xhigh","max"],modelOverrides:{},providerOptions:[]},antigravity:{models:[{id:"gemini-3.8-flash",name:"Gemini 3.8 Flash",tier:"balanced"},{id:"gemini-3.7-flash",name:"Gemini 3.7 Flash",contextWindowTokens:1048576,tier:"balanced"},{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash",contextWindowTokens:1048576,tier:"balanced"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro",contextWindowTokens:1048576,tier:"flagship"},{id:"claude-sonnet-5-5-medium",name:"Claude Sonnet 5.5",tier:"balanced"},{id:"claude-opus-5-5-medium",name:"Claude Opus 5.5",tier:"flagship"},{id:"gemini-4-argon",name:"Gemini 4 Argon",tier:"flagship"}],modes:[{id:"default",name:"Default",description:"Uses Antigravity's default permission handling. No extra permission flags are passed."},{id:"plan",name:"Plan",description:"Passes --mode plan. This turns on /plan; it is not a Claude-style permission mode."},{id:"acceptEdits",name:"Accept Edits",description:"Passes --mode accept-edits."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Passes --dangerously-skip-permissions so tools can run without approval prompts."}],effort:["low","medium","high"],modelOverrides:{"gemini-3.8-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.7-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.6-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.5-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.1-pro":{effort:["low","high"],defaultEffort:"high"},"claude-sonnet-5-5-medium":{effort:["low","medium","high"],defaultEffort:"medium"},"claude-opus-5-5-medium":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-4-argon":{effort:["low","medium","high"],defaultEffort:"high"},"claude-sonnet-4-6":{effort:[]},"claude-opus-4-6-thinking":{effort:[]},"gpt-oss-120b":{effort:["medium"],defaultEffort:"medium"}},providerOptions:[]},grok:{models:[{id:"grok-4.7",name:"Grok 4.7",contextWindowTokens:5e5,tier:"flagship",recommended:true},{id:"grok-4.6",name:"Grok 4.6",contextWindowTokens:5e5,tier:"flagship"},{id:"grok-4.5",name:"Grok 4.5",contextWindowTokens:5e5,tier:"flagship"}],modes:[{id:"default",name:"Default",description:"Uses Grok's default permission handling."},{id:"acceptEdits",name:"Accept Edits",description:"Allows file edits without changing the selected sandbox profile."},{id:"auto",name:"Auto",description:"Uses Grok automatic permission handling."},{id:"dontAsk",name:"Don't Ask",description:"Does not ask for permission before tool execution."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Bypasses Grok permission checks for tool execution."},{id:"plan",name:"Plan",description:"Keeps Grok in planning mode without applying changes."}],effort:["low","medium","high"],modelOverrides:{"grok-4.7":{effort:["low","medium","high","xhigh"],defaultEffort:"high"},"grok-4.6":{effort:["low","medium","high","xhigh"],defaultEffort:"high"},"grok-4.5":{effort:["low","medium","high"],defaultEffort:"high"}},providerOptions:[{key:"alwaysApprove",type:"boolean"},{key:"sandbox",type:"enum",values:["workspace","read-only","off"]}]}};Object.fromEntries(Object.entries(k).map(([e,t])=>[e,t.models]));var _=[{baseModelId:"claude-opus-4-8",catalogModelId:"claude-opus-4-8[1m]"},{baseModelId:"claude-opus-4-7",catalogModelId:"claude-opus-4-7[1m]"},{baseModelId:"claude-opus-4-6",catalogModelId:"claude-opus-4-6[1m]"},{baseModelId:"claude-sonnet-4-6",catalogModelId:"claude-sonnet-4-6[1m]"}];new Map(_.map(({baseModelId:e,catalogModelId:t})=>[e,t]));var G=[{legacyId:"Gemini 3.7 Flash (High)",model:"gemini-3.7-flash",effort:"high"},{legacyId:"Gemini 3.7 Flash (Medium)",model:"gemini-3.7-flash",effort:"medium"},{legacyId:"Gemini 3.7 Flash (Low)",model:"gemini-3.7-flash",effort:"low"},{legacyId:"Gemini 3.6 Flash (High)",model:"gemini-3.6-flash",effort:"high"},{legacyId:"Gemini 3.6 Flash (Medium)",model:"gemini-3.6-flash",effort:"medium"},{legacyId:"Gemini 3.6 Flash (Low)",model:"gemini-3.6-flash",effort:"low"},{legacyId:"Gemini 3.5 Flash (Medium)",model:"gemini-3.5-flash",effort:"medium"},{legacyId:"Gemini 3.5 Flash (High)",model:"gemini-3.5-flash",effort:"high"},{legacyId:"Gemini 3.5 Flash (Low)",model:"gemini-3.5-flash",effort:"low"},{legacyId:"Gemini 3.1 Pro (Low)",model:"gemini-3.1-pro",effort:"low"},{legacyId:"Gemini 3.1 Pro (High)",model:"gemini-3.1-pro",effort:"high"},{legacyId:"Claude Sonnet 4.6 (Thinking)",model:"claude-sonnet-4-6"},{legacyId:"Claude Opus 4.6 (Thinking)",model:"claude-opus-4-6-thinking"},{legacyId:"GPT-OSS 120B (Medium)",model:"gpt-oss-120b",effort:"medium"},{legacyId:"gemini-3.7-flash-high",model:"gemini-3.7-flash",effort:"high"},{legacyId:"gemini-3.7-flash-medium",model:"gemini-3.7-flash",effort:"medium"},{legacyId:"gemini-3.7-flash-low",model:"gemini-3.7-flash",effort:"low"},{legacyId:"gemini-3.6-flash-high",model:"gemini-3.6-flash",effort:"high"},{legacyId:"gemini-3.6-flash-medium",model:"gemini-3.6-flash",effort:"medium"},{legacyId:"gemini-3.6-flash-low",model:"gemini-3.6-flash",effort:"low"},{legacyId:"gemini-3.5-flash-high",model:"gemini-3.5-flash",effort:"high"},{legacyId:"gemini-3.5-flash-medium",model:"gemini-3.5-flash",effort:"medium"},{legacyId:"gemini-3.5-flash-low",model:"gemini-3.5-flash",effort:"low"},{legacyId:"gemini-3.1-pro-high",model:"gemini-3.1-pro",effort:"high"},{legacyId:"gemini-3.1-pro-low",model:"gemini-3.1-pro",effort:"low"},{legacyId:"gpt-oss-120b-medium",model:"gpt-oss-120b",effort:"medium"}];new Map(G.map(({legacyId:e,model:t,effort:o})=>[e,o===void 0?{model:t}:{model:t,effort:o}]));function U(){}export{f as createMockAudit,C as createMockContext,h as createMockLogger,y as createMockRouter,M as createMockStorage,x as createMockStore,U as resetModelsOverride,D as resetPricingOverride};
|
|
1
|
+
function f(){let e=[];return {events:e,async log(t,o){e.push({event:t,payload:o});}}}function h(){let e={debug:[],info:[],warn:[],error:[]};return {entries:e,debug(t,o){e.debug.push({msg:t,meta:o});},info(t,o){e.info.push({msg:t,meta:o});},warn(t,o){e.warn.push({msg:t,meta:o});},error(t,o){e.error.push({msg:t,meta:o});}}}function A(){let e=200,t,o,n={},i={status(r){return e=r,i},set(r,a){return n[r]=a,i},send(r){return o=r,i},json(r){return t=r,i},end(){return i},getStatusCode:()=>e,getJsonBody:()=>t,getSentBody:()=>o,getHeaders:()=>({...n})};return i}function x(){let e=[];return {routes:e,registerRoute(o,n,i){e.push({path:o,handler:n,opts:i});},async simulate(o,n,i=Buffer.alloc(0),r={},a={},p={}){let c=e.find(m=>m.path===n);if(!c)return {status:404,body:{error:"Not found"},headers:{}};let g={method:o,url:n,headers:r,body:i,params:a,query:p},l=A();return await c.handler(g,l),{status:l.getStatusCode(),body:l.getJsonBody()??l.getSentBody(),headers:l.getHeaders()}}}}function k(e){let t=new Map,o=n=>n.startsWith(`${e}::`)?n:`${e}::${n}`;return {async get(n){let i=t.get(o(n));return i?i.value:void 0},async set(n,i){t.set(o(n),{value:i});},async delete(n){return t.delete(o(n))},async list(n){let i=n?o(n):`${e}::`,r=[];for(let a of t.keys())a.startsWith(i)&&r.push(a.slice(e.length+2));return r}}}function y(e){return k(e)}function M(){let e=new Map;return {blobs:e,async put(t,o,n){return e.set(t,{data:o,contentType:n}),t},async get(t){let o=e.get(t);return o?o.data:void 0},async delete(t){return e.delete(t)}}}function C(e){let t=e.instanceId??"mock-instance",o=f(),n=h(),i=x(),r=y(t),a=M(),p=[],c=[],g=[],l={run:async()=>({output:""}),...e.agentRunner},m=new AbortController,P=async u=>(p.push(u),{accepted:true}),v=async u=>(c.push(u),{accepted:true}),E=async(u,R)=>{g.push({messageId:u,patch:R});},I=async u=>({userId:u,displayName:u}),b=async()=>{},O=async()=>({messageId:"mock-proactive",sentAt:Date.now()});return {instanceId:t,installationId:e.installationId,config:e.config,capabilities:new Set(e.capabilities??[]),log:n,agentRunner:l,db:r,storage:a,audit:o,abortSignal:e.abortSignal??m.signal,httpRouter:i,router:i,inbound:P,emitEvent:v,updateMessage:E,resolveUser:I,respondSync:b,proactive:O,inboundCalls:p,emittedEvents:c,sentMessages:g}}function D(){}var w={claude:{models:[{id:"claude-fable-5-1",name:"Claude Fable 5.1",contextWindowTokens:1e6,tier:"flagship",recommended:true},{id:"claude-fable-5",name:"Claude Fable 5",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-5-5",name:"Claude Opus 5.5",contextWindowTokens:1e6,tier:"flagship",recommended:true},{id:"claude-opus-5",name:"Claude Opus 5",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-sonnet-5-5",name:"Claude Sonnet 5.5",contextWindowTokens:1e6,tier:"balanced",recommended:true},{id:"claude-sonnet-5",name:"Claude Sonnet 5",contextWindowTokens:1e6,tier:"balanced"},{id:"claude-opus-4-8[1m]",name:"Claude Opus 4.8",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-4-7[1m]",name:"Claude Opus 4.7",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-4-6[1m]",name:"Claude Opus 4.6",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-sonnet-4-6[1m]",name:"Claude Sonnet 4.6",contextWindowTokens:1e6,tier:"balanced"},{id:"claude-haiku-5-5",name:"Claude Haiku 5.5",contextWindowTokens:1e6,tier:"speed"},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",contextWindowTokens:2e5,tier:"speed"}],modes:[{id:"default",name:"Default",description:"Uses Claude's default permission handling with normal approval prompts."},{id:"acceptEdits",name:"Accept Edits",description:"Allows file edits without approval; other permission checks remain in place."},{id:"plan",name:"Plan",description:"Keeps Claude in plan mode so it can inspect and propose changes without applying them."},{id:"dontAsk",name:"Don't Ask",description:"Does not ask for permissions; only pre-approved tool actions can proceed."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Bypasses Claude permission checks so tools can run without approval prompts."}],effort:["low","medium","high"],modelOverrides:{"claude-fable-5-1":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-fable-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-5-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"medium"},"claude-opus-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-sonnet-5-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-sonnet-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-8[1m]":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-7[1m]":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-6[1m]":{effort:["low","medium","high","max"],defaultEffort:"high"},"claude-sonnet-4-6[1m]":{effort:["low","medium","high","max"],defaultEffort:"high"},"claude-haiku-5-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"medium"},"claude-haiku-4-5":{effort:[]}},providerOptions:[]},codex:{models:[{id:"gpt-6-astra",name:"GPT-6 Astra",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-6.1-sol",name:"GPT-6.1 Sol",contextWindowTokens:105e4,tier:"balanced",recommended:true},{id:"gpt-6.1-terra",name:"GPT-6.1 Terra",contextWindowTokens:5e5,tier:"balanced"},{id:"gpt-6-sol",name:"GPT-6 Sol",contextWindowTokens:105e4,tier:"balanced"},{id:"gpt-6-luna",name:"GPT-6 Luna",contextWindowTokens:105e4,tier:"speed",recommended:true},{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-5.6-terra",name:"GPT-5.6 Terra",contextWindowTokens:105e4,tier:"balanced"},{id:"gpt-5.6-luna",name:"GPT-5.6 Luna",contextWindowTokens:105e4,tier:"speed"}],modes:[{id:"agent",name:"Agent",description:"Uses the workspace-write sandbox; can read and modify workspace files without full machine access."},{id:"read-only",name:"Read Only",description:"Uses the read-only sandbox; can inspect files but cannot write to the workspace."},{id:"plan",name:"Plan",description:"Uses the read-only sandbox for planning and inspection; cannot write to the workspace."},{id:"agent-full-access",name:"Agent Full Access",description:"Bypasses approvals and the sandbox; can access and modify files beyond the workspace."},{id:"yolo",name:"YOLO",description:"Bypasses approvals and the sandbox for unrestricted execution and full filesystem access."}],effort:["minimal","low","medium","high"],modelOverrides:{"gpt-6-astra":{effort:["low","medium","high","xhigh","max"],defaultEffort:"xhigh"},"gpt-6.1-sol":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"gpt-6.1-terra":{effort:["low","medium","high","xhigh","max","ultra"],defaultEffort:"max"},"gpt-6-sol":{effort:["none","low","medium","high","xhigh","max"],defaultEffort:"max"},"gpt-6-luna":{effort:["none","low","medium","high","xhigh","max"],defaultEffort:"medium"},"gpt-5.6-sol":{effort:["low","medium","high","xhigh","max","ultra"],defaultEffort:"xhigh"},"gpt-5.6-terra":{effort:["low","medium","high","xhigh","max","ultra"],defaultEffort:"high"},"gpt-5.6-luna":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"gpt-5.5":{effort:["low","medium","high","xhigh"],defaultEffort:"high"}},providerOptions:[]},opencode:{models:[],suggestedModels:[{id:"opencode-go/glm-5.3-flash",name:"GLM-5.3 Flash",contextWindowTokens:1e6,tier:"speed",recommended:true},{id:"opencode-go/deepseek-v4.1-flash",name:"DeepSeek V4.1 Flash",contextWindowTokens:1e6,tier:"speed",recommended:true},{id:"opencode-go/qwen3.8-flash",name:"Qwen3.8 Flash",contextWindowTokens:1e6,tier:"speed",recommended:true},{id:"opencode-go/minimax-m3",name:"MiniMax M3",contextWindowTokens:1e6,tier:"balanced",recommended:true},{id:"opencode-go/kimi-k2.7-code",name:"Kimi K2.7 Code",contextWindowTokens:262144,tier:"balanced",recommended:true}],modes:[{id:"plan",name:"Plan",description:"Uses the plan agent without --auto; planning follows standard approval behavior."},{id:"plan-auto",name:"Plan \xB7 Auto",description:"Uses the plan agent with --auto; planning uses automatic approvals."},{id:"build",name:"Build",description:"Uses the build agent without --auto; work follows standard approval behavior."},{id:"build-auto",name:"Build \xB7 Auto",description:"Uses the build agent with --auto; work uses automatic approvals."}],effort:[],modelOverrides:{},providerOptions:[]},copilot:{models:[{id:"auto",name:"Auto"},{id:"claude-sonnet-5",name:"Claude Sonnet 5",contextWindowTokens:1e6,tier:"balanced"}],modes:[{id:"interactive",name:"Interactive",description:"Passes --mode interactive; tool access follows Copilot's interactive mode behavior."},{id:"plan",name:"Plan",description:"Passes --mode plan; planning and permission behavior follow Copilot's plan mode."},{id:"autopilot",name:"Autopilot",description:"Passes --mode autopilot; execution behavior follows Copilot's autonomous mode."}],effort:["none","low","medium","high","xhigh","max"],modelOverrides:{},providerOptions:[]},antigravity:{models:[{id:"gemini-3.8-flash",name:"Gemini 3.8 Flash",tier:"balanced"},{id:"gemini-3.7-flash",name:"Gemini 3.7 Flash",contextWindowTokens:1048576,tier:"balanced"},{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash",contextWindowTokens:1048576,tier:"balanced"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro",contextWindowTokens:1048576,tier:"flagship"},{id:"claude-sonnet-5-5-medium",name:"Claude Sonnet 5.5",tier:"balanced"},{id:"claude-opus-5-5-medium",name:"Claude Opus 5.5",tier:"flagship"},{id:"gemini-4-argon",name:"Gemini 4 Argon",tier:"flagship"}],modes:[{id:"default",name:"Default",description:"Uses Antigravity's default permission handling. No extra permission flags are passed."},{id:"plan",name:"Plan",description:"Passes --mode plan. This turns on /plan; it is not a Claude-style permission mode."},{id:"acceptEdits",name:"Accept Edits",description:"Passes --mode accept-edits."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Passes --dangerously-skip-permissions so tools can run without approval prompts."}],effort:["low","medium","high"],modelOverrides:{"gemini-3.8-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.7-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.6-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.5-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.1-pro":{effort:["low","high"],defaultEffort:"high"},"claude-sonnet-5-5-medium":{effort:["low","medium","high"],defaultEffort:"medium"},"claude-opus-5-5-medium":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-4-argon":{effort:["low","medium","high"],defaultEffort:"high"},"claude-sonnet-4-6":{effort:[]},"claude-opus-4-6-thinking":{effort:[]},"gpt-oss-120b":{effort:["medium"],defaultEffort:"medium"}},providerOptions:[]},grok:{models:[{id:"grok-4.7",name:"Grok 4.7",contextWindowTokens:5e5,tier:"flagship",recommended:true},{id:"grok-4.6",name:"Grok 4.6",contextWindowTokens:5e5,tier:"flagship"},{id:"grok-4.5",name:"Grok 4.5",contextWindowTokens:5e5,tier:"flagship"}],modes:[{id:"default",name:"Default",description:"Uses Grok's default permission handling."},{id:"acceptEdits",name:"Accept Edits",description:"Allows file edits without changing the selected sandbox profile."},{id:"auto",name:"Auto",description:"Uses Grok automatic permission handling."},{id:"dontAsk",name:"Don't Ask",description:"Does not ask for permission before tool execution."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Bypasses Grok permission checks for tool execution."},{id:"plan",name:"Plan",description:"Keeps Grok in planning mode without applying changes."}],effort:["low","medium","high"],modelOverrides:{"grok-4.7":{effort:["low","medium","high","xhigh"],defaultEffort:"high"},"grok-4.6":{effort:["low","medium","high","xhigh"],defaultEffort:"high"},"grok-4.5":{effort:["low","medium","high"],defaultEffort:"high"}},providerOptions:[{key:"alwaysApprove",type:"boolean"},{key:"sandbox",type:"enum",values:["workspace","read-only","off"]}]}};Object.fromEntries(Object.entries(w).map(([e,t])=>[e,t.models]));var _=[{baseModelId:"claude-opus-4-8",catalogModelId:"claude-opus-4-8[1m]"},{baseModelId:"claude-opus-4-7",catalogModelId:"claude-opus-4-7[1m]"},{baseModelId:"claude-opus-4-6",catalogModelId:"claude-opus-4-6[1m]"},{baseModelId:"claude-sonnet-4-6",catalogModelId:"claude-sonnet-4-6[1m]"}];new Map(_.map(({baseModelId:e,catalogModelId:t})=>[e,t]));var G=[{legacyId:"Gemini 3.7 Flash (High)",model:"gemini-3.7-flash",effort:"high"},{legacyId:"Gemini 3.7 Flash (Medium)",model:"gemini-3.7-flash",effort:"medium"},{legacyId:"Gemini 3.7 Flash (Low)",model:"gemini-3.7-flash",effort:"low"},{legacyId:"Gemini 3.6 Flash (High)",model:"gemini-3.6-flash",effort:"high"},{legacyId:"Gemini 3.6 Flash (Medium)",model:"gemini-3.6-flash",effort:"medium"},{legacyId:"Gemini 3.6 Flash (Low)",model:"gemini-3.6-flash",effort:"low"},{legacyId:"Gemini 3.5 Flash (Medium)",model:"gemini-3.5-flash",effort:"medium"},{legacyId:"Gemini 3.5 Flash (High)",model:"gemini-3.5-flash",effort:"high"},{legacyId:"Gemini 3.5 Flash (Low)",model:"gemini-3.5-flash",effort:"low"},{legacyId:"Gemini 3.1 Pro (Low)",model:"gemini-3.1-pro",effort:"low"},{legacyId:"Gemini 3.1 Pro (High)",model:"gemini-3.1-pro",effort:"high"},{legacyId:"Claude Sonnet 4.6 (Thinking)",model:"claude-sonnet-4-6"},{legacyId:"Claude Opus 4.6 (Thinking)",model:"claude-opus-4-6-thinking"},{legacyId:"GPT-OSS 120B (Medium)",model:"gpt-oss-120b",effort:"medium"},{legacyId:"gemini-3.7-flash-high",model:"gemini-3.7-flash",effort:"high"},{legacyId:"gemini-3.7-flash-medium",model:"gemini-3.7-flash",effort:"medium"},{legacyId:"gemini-3.7-flash-low",model:"gemini-3.7-flash",effort:"low"},{legacyId:"gemini-3.6-flash-high",model:"gemini-3.6-flash",effort:"high"},{legacyId:"gemini-3.6-flash-medium",model:"gemini-3.6-flash",effort:"medium"},{legacyId:"gemini-3.6-flash-low",model:"gemini-3.6-flash",effort:"low"},{legacyId:"gemini-3.5-flash-high",model:"gemini-3.5-flash",effort:"high"},{legacyId:"gemini-3.5-flash-medium",model:"gemini-3.5-flash",effort:"medium"},{legacyId:"gemini-3.5-flash-low",model:"gemini-3.5-flash",effort:"low"},{legacyId:"gemini-3.1-pro-high",model:"gemini-3.1-pro",effort:"high"},{legacyId:"gemini-3.1-pro-low",model:"gemini-3.1-pro",effort:"low"},{legacyId:"gpt-oss-120b-medium",model:"gpt-oss-120b",effort:"medium"}];new Map(G.map(({legacyId:e,model:t,effort:o})=>[e,o===void 0?{model:t}:{model:t,effort:o}]));function B(){}export{f as createMockAudit,C as createMockContext,h as createMockLogger,x as createMockRouter,M as createMockStorage,y as createMockStore,B as resetModelsOverride,D as resetPricingOverride};
|
package/dist/index.browser.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {load}from'js-yaml';import'js-tiktoken';import'js-tiktoken/lite';import Xn from'js-tiktoken/ranks/o200k_base';import {z as z$1}from'zod';var I=class extends Error{constructor(n,t){let r=t.length>0?` Available: ${t.join(", ")}`:"";super(`Agent not found: "${n}".${r}`),this.name="AgentNotFoundError";}},
|
|
2
|
-
`);_=Re.pop();for(let _n of Re){let $=_n.trim();if(!$||!$.startsWith("data: "))continue;let Me=$.slice(6);if(Me!=="[DONE]")try{let Se=JSON.parse(Me).choices?.[0]?.delta?.content??"";A+=Se,Se&&a?.onOutput&&a.onOutput(A,"stdout");}catch{}}}return o.push({role:"user",content:i}),o.push({role:"assistant",content:A}),A},async execute(i,a){return this.query(i,a)}});}get agents(){return this._agents}get config(){return this._config}get tools(){return this._tools}registerTool(n,t){this._tools.set(n,{name:n,...t});}async query(n,t,r){let o=Date.now(),i;try{i=X(n,Array.from(this._agents.values()));}catch(
|
|
1
|
+
import {load}from'js-yaml';import'js-tiktoken';import'js-tiktoken/lite';import Xn from'js-tiktoken/ranks/o200k_base';import {z as z$1}from'zod';var I=class extends Error{constructor(n,t){let r=t.length>0?` Available: ${t.join(", ")}`:"";super(`Agent not found: "${n}".${r}`),this.name="AgentNotFoundError";}},Tn={claude:{id:"claude",provider:"cli/claude"},copilot:{id:"copilot",provider:"cli/copilot"},codex:{id:"codex",provider:"cli/codex"}};function X(e,n){let t=e.startsWith("@")?e.slice(1):e,r=n.find(i=>i.id===t);if(r)return r;let o=Tn[t];if(o)return o;throw new I(e,n.map(i=>i.id))}var m=class extends Error{constructor(t,r,o){super(t);this.providerStr=r;this.name="ProviderError",this.code=o?.code??"UNKNOWN",this.kind=o?.kind??(this.code==="UNKNOWN"?"transient":void 0),this.retryAfterMs=o?.retryAfterMs;}providerStr;code;kind;retryAfterMs;stdout};var we=new Map;function Y(e,n){we.set(e,n);}function N(e){let n=e.split("/");if(n.length!==2)throw new m(`Invalid provider format: "${e}". Expected namespace/id (e.g., api/webllm)`,e);let[t,r]=n,o=we.get(t);if(o)return o(r,e);throw new m(`Unsupported provider namespace: "${t}". Register a factory with registerProviderFactory('${t}', factory).`,e)}var En=new Function("u","return import(u)"),K=class e{_agents;_config;_tools=new Map;_apiProviders=new Map;constructor(n,t){this._agents=new Map(n.map(r=>[r.id,r])),this._config=t;}static async fromConfig(n,t){let r=new e(n.agents??[],n),o=n.agents??[],i=p=>Array.isArray(p.provider)?p.provider[0]:p.provider,a=o.filter(p=>i(p)==="api/webllm"),s=o.filter(p=>i(p)==="api/openrouter");if(a.length>0&&await r._initWebLLM(a,t?.onProgress),s.length>0){if(!t?.openrouterApiKey)throw new Error("openrouterApiKey is required when using api/openrouter provider");r._initOpenRouter(s,t.openrouterApiKey);}return r._apiProviders.size>0&&Y("api",(p,l)=>{let c=r._apiProviders.get(p);if(!c)throw new m(`Unknown api provider: ${p}`,l);return c}),r}async _initWebLLM(n,t){if(typeof navigator>"u"||!navigator.gpu)throw new Error("WebGPU is not available. Chrome 113+ or Edge 113+ required.");let r=await En("https://esm.run/@mlc-ai/web-llm"),o=n[0]?.inline?.model??"gemma-2-2b-it-q4f16_1-MLC",i=await r.CreateMLCEngine(o,{initProgressCallback:t?s=>t(s):void 0}),a=[];this._apiProviders.set("webllm",{async query(s,p){let l=[];p?.systemPrompt&&l.push({role:"system",content:p.systemPrompt}),l.push(...a),l.push({role:"user",content:s});let c="",A=await i.chat.completions.create({messages:l,stream:true,temperature:.7,max_tokens:4096});for await(let _ of A){let g=_.choices?.[0]?.delta?.content??"";c+=g,p?.onOutput&&p.onOutput(c,"stdout");}return a.push({role:"user",content:s}),a.push({role:"assistant",content:c}),c},async execute(s,p){return this.query(s,p)}});}_initOpenRouter(n,t){let r=n[0]?.inline?.model??"google/gemma-2-2b-it",o=[];this._apiProviders.set("openrouter",{async query(i,a){let s=[];a?.systemPrompt&&s.push({role:"system",content:a.systemPrompt}),s.push(...o),s.push({role:"user",content:i});let p=await fetch("https://openrouter.ai/api/v1/chat/completions",{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"},body:JSON.stringify({model:a?.model||r,messages:s,stream:true})});if(!p.ok){let g=await p.text();throw new Error(`OpenRouter API error (${p.status}): ${g}`)}let l=p.body.getReader(),c=new TextDecoder,A="",_="";for(;;){let{done:g,value:W}=await l.read();if(g)break;_+=c.decode(W,{stream:true});let Re=_.split(`
|
|
2
|
+
`);_=Re.pop();for(let _n of Re){let $=_n.trim();if(!$||!$.startsWith("data: "))continue;let Me=$.slice(6);if(Me!=="[DONE]")try{let Se=JSON.parse(Me).choices?.[0]?.delta?.content??"";A+=Se,Se&&a?.onOutput&&a.onOutput(A,"stdout");}catch{}}}return o.push({role:"user",content:i}),o.push({role:"assistant",content:A}),A},async execute(i,a){return this.query(i,a)}});}get agents(){return this._agents}get config(){return this._config}get tools(){return this._tools}registerTool(n,t){this._tools.set(n,{name:n,...t});}async query(n,t,r){let o=Date.now(),i;try{i=X(n,Array.from(this._agents.values()));}catch(g){if(g instanceof I)return {ok:false,data:"",error:{code:"AGENT_NOT_FOUND",message:g.message},meta:{agentId:n.replace(/^@/,""),provider:"",durationMs:Date.now()-o}};throw g}let a=Array.isArray(i.provider)?i.provider[0]??"api/default":i.provider,s=r?.provider??a,p=r?.model??i.inline?.model,l=i.options,c=l&&typeof l=="object"&&!Array.isArray(l)?l.query:void 0,A=c&&typeof c=="object"&&!Array.isArray(c)&&typeof c.mode=="string"&&c.mode.trim()||void 0,_;try{_=N(s);}catch(g){return {ok:false,data:"",error:{code:"PROVIDER_ERROR",message:g.message,...g instanceof m?{providerCode:g.code}:{}},meta:{agentId:i.id,provider:s,model:p,durationMs:Date.now()-o}}}try{return {ok:!0,data:await _.query(t,{model:p,context:r?.context,systemPrompt:i.inline?.system_prompt??i.inline?.prompt,onOutput:r?.onOutput?W=>r.onOutput(W):void 0}),meta:{agentId:i.id,provider:s,model:p,durationMs:Date.now()-o}}}catch(g){return {ok:false,data:"",error:{code:"QUERY_FAILED",message:g.message,...g instanceof m?{providerCode:g.code}:{},...A?{mode:A}:{}},meta:{agentId:i.id,provider:s,model:p,durationMs:Date.now()-o}}}}async execute(n,t,r){let o=Date.now(),i;try{i=X(n,Array.from(this._agents.values()));}catch(c){if(c instanceof I)return {ok:false,data:"",error:{code:"AGENT_NOT_FOUND",message:c.message},meta:{agentId:n.replace(/^@/,""),provider:"",durationMs:Date.now()-o}};throw c}let a=Array.isArray(i.provider)?i.provider[0]??"api/default":i.provider,s=r?.provider??a,p=r?.model??i.inline?.model,l;try{l=N(s);}catch(c){return {ok:false,data:"",error:{code:"PROVIDER_ERROR",message:c.message,...c instanceof m?{providerCode:c.code}:{}},meta:{agentId:i.id,provider:s,model:p,durationMs:Date.now()-o}}}try{return {ok:!0,data:await l.execute(t,{model:p,context:r?.context,systemPrompt:i.inline?.system_prompt??i.inline?.prompt}),meta:{agentId:i.id,provider:s,model:p,durationMs:Date.now()-o}}}catch(c){return {ok:false,data:"",error:{code:"EXECUTE_FAILED",message:c.message,...c instanceof m?{providerCode:c.code}:{}},meta:{agentId:i.id,provider:s,model:p,durationMs:Date.now()-o}}}}};var f="[REDACTED]",ke="[PATH]";function Q(e){if(typeof e!="string")return;let n=e.trim();if(n)return n=n.replace(/^\s*at\s+[^\r\n]+(?:\r?\n|$)/gim,""),n=n.replace(/(^|[\r\n])\s*(?:authorization|proxy-authorization|x-api-key|x-goog-api-key|x-auth-token|cookie|set-cookie)\s*:\s*[^\r\n]*/gim,`$1[HTTP HEADER ${f}]`),n=xn(n),n=n.replace(/\b(?:Bearer|Basic)\s+[A-Za-z0-9._~+\-/]+=*/gi,`${f}`),n=n.replace(/\bsk-[A-Za-z0-9][A-Za-z0-9_-]*/g,f),n=n.replace(/\bghp_[A-Za-z0-9][A-Za-z0-9_-]*/g,f),n=n.replace(/\bxoxb-[A-Za-z0-9-]+/g,f),n=n.replace(/\bxoxp-[A-Za-z0-9-]+/g,f),n=n.replace(/\bAKIA[0-9A-Z]{12,}\b/g,f),n=n.replace(/\bgithub_pat_[A-Za-z0-9_]+/g,f),n=n.replace(/\bgho_[A-Za-z0-9_]+/g,f),n=n.replace(/\bAIza[A-Za-z0-9_-]{20,}\b/g,f),n=n.replace(/\beyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\b/g,f),n=n.replace(/\b(?:authorization|api[_ -]?key|access[_ -]?token|auth[_ -]?token|refresh[_ -]?token|token|secret|password)\s*([:=])\s*["']?[^\s,;&"']+/gi,(t,r)=>`${f}${r}${f}`),n=n.replace(/([?&](?:api[_-]?key|access[_-]?token|token)=)[^&\s]+/gi,`$1${f}`),n=n.replace(/(?:\/(?:Users|home|private|var\/folders|tmp|workspace|workspaces|Volumes|opt|etc|srv|Applications)\/[^\s"'`),;]+)/g,ke),n=n.replace(/\b[A-Z]:\\(?:Users|home|Windows|Program Files|workspace|workspaces)\\[^\s"'`),;]*/gi,ke),n=n.replace(/[\r\n]{3,}/g,`
|
|
3
3
|
|
|
4
4
|
`).trim(),In(n,1024)||void 0}function In(e,n){let t=new TextEncoder;if(t.encode(e).byteLength<=n)return e;let r="",o=0;for(let i of e){let a=t.encode(i).byteLength;if(o+a>n)break;r+=i,o+=a;}return r}function xn(e){let n=/\b(?:request|response|http)?\s*body\s*[:=]\s*/gim,t="",r=0,o;for(;(o=n.exec(e))!==null;){if(o.index<r)continue;let i=o.index+o[0].length,a=Pn(e,i),s=a>=0?a:e.indexOf(`
|
|
5
5
|
`,i)>=0?e.indexOf(`
|
|
6
|
-
`,i):e.length;t+=e.slice(r,o.index),t+=`[HTTP BODY ${g}]`,r=s;}return t+e.slice(r)}function Pn(e,n){let t=e[n];if(t==='"'||t==="'")return Cn(e,n,t);if(t!=="{"&&t!=="[")return -1;let r=[],o,i=false;for(let a=n;a<e.length;a+=1){let s=e[a];if(o){i?i=false:s==="\\"?i=true:s===o&&(o=void 0);continue}if(s==='"'||s==="'"){o=s;continue}if(s==="{"||s==="["){r.push(s);continue}if(s!=="}"&&s!=="]")continue;let p=r.pop();if(s==="}"&&p!=="{"||s==="]"&&p!=="[")return -1;if(r.length===0)return a+1}return -1}function Cn(e,n,t){let r=false;for(let o=n+1;o<e.length;o+=1){let i=e[o];if(r)r=false;else if(i==="\\")r=true;else if(i===t)return o+1}return -1}var On=new Set(["USAGE_LIMITED","CONTEXT_WINDOW_EXCEEDED","INPUT_TOO_LARGE","MODEL_NOT_SUPPORTED","MODEL_AT_CAPACITY","AUTH_REQUIRED","CLI_NOT_AVAILABLE","CLI_UPDATE_REQUIRED","AGENT_NOT_FOUND","PERMISSION_OR_TRUST","TIMEOUT_OR_STUCK","NETWORK_OR_PROVIDER_TRANSIENT","PROVIDER_CONFIGURATION","AGENT_MODE_RESTRICTED","PROCESS_FAILED"]),bn=new Set(["plan","plan-auto","read-only"]),Rn={QUOTA_EXHAUSTED:"USAGE_LIMITED",RATE_LIMITED:"USAGE_LIMITED",AUTH_REQUIRED:"AUTH_REQUIRED",TIMEOUT_IDLE:"TIMEOUT_OR_STUCK",TIMEOUT_TOTAL:"TIMEOUT_OR_STUCK",TIMEOUT_RESUME:"NETWORK_OR_PROVIDER_TRANSIENT",PROVIDER_NOT_FOUND:"PROVIDER_CONFIGURATION",INVALID_PROVIDER_FORMAT:"PROVIDER_CONFIGURATION",PROVIDER_CRASHED:"PROCESS_FAILED",EMPTY_OUTPUT:"PROCESS_FAILED"},Mn=[{code:"USAGE_LIMITED",pattern:/(?:rate[ _-]?limit|quota|usage[ /_-]?limit|usage exhausted|too many requests|429\b)/i},{code:"CONTEXT_WINDOW_EXCEEDED",pattern:/context (?:window|length)|maximum context|context[_ -]?window[_ -]?exceeded|too many tokens/i},{code:"INPUT_TOO_LARGE",pattern:/input[_ -]?(?:is[_ -]?)?too[_ -]?large|prompt (?:is )?too (?:large|long)|request[_ -]?(?:is[_ -]?)?too[_ -]?large|payload[_ -]?(?:is[_ -]?)?too[_ -]?large|maximum input/i},{code:"MODEL_AT_CAPACITY",pattern:/(?:model|service|provider).*(?:at capacity|overloaded|temporarily busy)|at capacity|overloaded/i},{code:"MODEL_NOT_SUPPORTED",pattern:/(?:model|invalid_request_error).*(?:not[ _-]?supported|unsupported|does[ _-]?not[ _-]?exist|not[ _-]?found|invalid)|model[_-]?not[_-]?(?:found|supported)/i},{code:"MODEL_NOT_SUPPORTED",pattern:/\bunrecognized_model\b/i},{code:"AUTH_REQUIRED",pattern:/(?:401\b|unauthori[sz]ed|not logged in|login required|sign[ -]?in required|api key (?:is )?(?:missing|invalid|required)|authentication required)/i},{code:"CLI_UPDATE_REQUIRED",pattern:/(?:requires? a newer version|update (?:your )?cli|cli version.*(?:old|outdated|unsupported)|version mismatch)/i},{code:"CLI_NOT_AVAILABLE",pattern:/(?:ENOENT|command not found|executable.*not found|cli.*(?:not installed|unavailable)|is .* installed\?)/i},{code:"AGENT_NOT_FOUND",pattern:/agent[_ -]?not[_ -]?found|unknown agent/i},{code:"PERMISSION_OR_TRUST",pattern:/(?:permission denied|operation not permitted|workspace trust|not trusted|access denied|EACCES|EPERM)/i},{code:"NETWORK_OR_PROVIDER_TRANSIENT",pattern:/(?:resume failed|failed .*resum(?:e|ing)|after resuming the session|재개 실패|세션 재개)/i},{code:"TIMEOUT_OR_STUCK",pattern:/(?:timeout|timed out|took too long|stuck|idle timeout|ETIMEDOUT)/i},{code:"NETWORK_OR_PROVIDER_TRANSIENT",pattern:/(?:network (?:unreachable|error)|connection (?:reset|refused|closed)|ECONN(?:RESET|REFUSED|ABORTED)|service unavailable|upstream.*(?:5\d\d|error)|provider.*(?:5\d\d|unavailable|down)|\b5\d\d\b)/i},{code:"PROVIDER_CONFIGURATION",pattern:/(?:invalid provider|unsupported provider|provider namespace|provider configuration|provider config|missing provider)/i}];function Sn(e){try{if(!E(e)||e.status!=="failed")return Q();let n=wn(e.error);if(te(n.message))return Q();let t=y(e.providerId)??n.provider??null,r=vn(e.logs),o=De(n.code);if(o)return R(o,t,n.message,n);let i=U(n.providerCode)??U(n.code),a=i?ne(i,n.message,{exitCode:Hn(e.exitCode),mode:n.mode,fromProviderCodeField:!!n.providerCode}):void 0;if(a)return R(a,t,n.message,n,i);let s=Dn(r);if(!kn(n)&&s&&(s.type==="user_stop"||te(s.message)))return Q();if(s){let l=Nn(s.code,s.providerCode,s.message);if(l)return R(l,t,s.message??n.message,n,s.providerCode??s.code,s,s.structuredFailure?"terminal":"envelope")}let p=Un(n.message,r);return p?R(p.code,t,p.message,n,p.terminal?.providerCode??p.terminal?.code,p.terminal,p.terminal?.structuredFailure?"terminal":"envelope"):R("PROCESS_FAILED",t,n.message,n)}catch{return {errorCode:"PROCESS_FAILED",errorProvider:null}}}function Q(){return {errorCode:null,errorProvider:null}}function R(e,n,t,r,o,i,a="envelope"){let s={};if(i?.resetAt!==void 0&&(s.resetAt=i.resetAt),r?.model&&(s.model=r.model),r?.mode&&(s.mode=r.mode),i?.type&&(s.upstreamType=i.type),o&&(s.upstreamCode=o),e==="CLI_NOT_AVAILABLE"||e==="CLI_UPDATE_REQUIRED"){let A=n?.startsWith("cli/")?n.slice(4):void 0;A&&(s.cliName=A);}let p=a==="terminal"?t:r?.message,l=a==="terminal"?i?.structuredFailure?p:void 0:r?.isEnvelope?p:void 0,c=Z(l);return c&&(s.technicalMessage=c),Object.keys(s).length>0?{errorCode:e,errorProvider:n,errorMeta:s}:{errorCode:e,errorProvider:n}}function wn(e){let n=typeof e=="string"?P(e):e;return E(n)?{isEnvelope:true,code:y(n.code),providerCode:y(n.providerCode),message:y(n.message)??y(n.error),provider:y(n.provider)??y(n.errorProvider),model:y(n.model),mode:y(n.mode)}:{isEnvelope:false,...typeof e=="string"&&e.trim()?{message:e.trim()}:{}}}function P(e){try{return JSON.parse(e)}catch{return}}function kn(e){return !!(e.code||e.providerCode||e.message)}function vn(e){let n=[];if(typeof e=="string"){let t=P(e);if(Array.isArray(t))n.push(...t);else for(let r of e.split(/\r?\n/)){let o=P(r.trim());o!==void 0&&n.push(o);}}else Array.isArray(e)?n.push(...e):E(e)&&n.push(e);return n.flatMap(x)}function x(e){if(!E(e))return [];let n=y(e.type),t=y(e.message);if(t&&!n){let o=P(t);if(Array.isArray(o))return o.flatMap(x);if(E(o))return x(o);let i=t.split(/\r?\n/).map(a=>P(a.trim())).filter(a=>E(a));return i.length>0?i.flatMap(x):e.level==="stderr"?[{type:"stderr",message:t,rank:1,structuredFailure:false}]:x({type:"info",content:t})}if(n==="rate_limit_event"){let o=ve(e.rate_limit_info);return y(o?.status)!=="rejected"?[]:[{type:n,code:"RATE_LIMITED",message:M(o?.message,e.message),resetAt:Bn(o?.resetsAt),rank:4,structuredFailure:true}]}if(n==="turn.failed"||n==="error"){let o=ve(e.error),i=M(o?.message,o?.detail,e.message,e.errorMessage,e.content),a=M(o?.code,e.code,e.errorCode);return [{type:n,code:a,providerCode:M(o?.providerCode,e.providerCode),message:i,rank:n==="turn.failed"?3:2,structuredFailure:true}]}if(n==="text"&&typeof e.content=="string"){let o=P(e.content);if(E(o))return x(o)}let r=M(e.errorMessage,e.content);return r&&te(r)?[{type:"user_stop",message:r,rank:1,structuredFailure:false}]:r&&/(?:turn\.failed|type:error)/i.test(r)?[{type:r.match(/turn\.failed/i)?"turn.failed":"error",message:r,rank:3,structuredFailure:false}]:[]}function Dn(e){return [...e].sort((n,t)=>t.rank-n.rank)[0]}function Nn(e,n,t){let r=De(e);if(r)return r;if(e){let o=ne(e,t);if(o)return o}if(n){let o=ne(n,t);if(o)return o}return ee(t)}function Un(e,n){let t=ee(e);if(t)return {code:t,message:e};for(let r of [...n].sort((o,i)=>i.rank-o.rank)){let o=ee(r.message);if(o)return {code:o,message:r.message,terminal:r}}}function ee(e){if(!(typeof e!="string"||!e.trim()))return Mn.find(n=>n.pattern.test(e))?.code}function ne(e,n,t){let r=U(e)??e;if(r==="MODEL_UNAVAILABLE")return /(?:capacity|overloaded|busy)/i.test(n??"")?"MODEL_AT_CAPACITY":"MODEL_NOT_SUPPORTED";if(r==="EMPTY_OUTPUT"&&t?.fromProviderCodeField===true&&t.exitCode===0&&Ln(t.mode))return "AGENT_MODE_RESTRICTED";if(r!=="UNKNOWN")return Rn[r]}function De(e){let n=U(e);return n&&On.has(n)?n:void 0}function U(e){return typeof e=="string"&&e.trim()?e.trim().toUpperCase():void 0}function Ln(e){return typeof e=="string"&&bn.has(e.trim().toLowerCase())}function te(e){return e?/\b(?:stopped|killed|aborted|cancelled|canceled)\s+by\s+user\b/i.test(e)||/사용자에 의해 중지됨/.test(e)||/\b(?:SIGTERM\s+143|143\s+SIGTERM)\b/i.test(e):false}function E(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ve(e){return E(e)?e:void 0}function y(e){return typeof e=="string"&&e.trim()?e.trim():void 0}function Bn(e){return typeof e=="string"||typeof e=="number"&&Number.isFinite(e)?e:void 0}function Hn(e){return typeof e=="number"&&Number.isInteger(e)?e:void 0}function M(...e){return e.map(y).find(n=>!!n)}var jn=["none","minimal","low","medium","high","xhigh","max","ultra"],Gn={claude:["low","medium","high","xhigh","max"],codex:["none","minimal","low","medium","high","xhigh","max","ultra"],opencode:[],copilot:["none","low","medium","high","xhigh","max"],antigravity:["low","medium","high"],grok:["low","medium","high","xhigh"]};var L={claude:{models:[{id:"claude-fable-5-1",name:"Claude Fable 5.1",contextWindowTokens:1e6,tier:"flagship",recommended:true},{id:"claude-fable-5",name:"Claude Fable 5",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-5-5",name:"Claude Opus 5.5",contextWindowTokens:1e6,tier:"flagship",recommended:true},{id:"claude-opus-5",name:"Claude Opus 5",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-sonnet-5-5",name:"Claude Sonnet 5.5",contextWindowTokens:1e6,tier:"balanced",recommended:true},{id:"claude-sonnet-5",name:"Claude Sonnet 5",contextWindowTokens:1e6,tier:"balanced"},{id:"claude-opus-4-8[1m]",name:"Claude Opus 4.8",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-4-7[1m]",name:"Claude Opus 4.7",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-4-6[1m]",name:"Claude Opus 4.6",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-sonnet-4-6[1m]",name:"Claude Sonnet 4.6",contextWindowTokens:1e6,tier:"balanced"},{id:"claude-haiku-5-5",name:"Claude Haiku 5.5",contextWindowTokens:1e6,tier:"speed"},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",contextWindowTokens:2e5,tier:"speed"}],modes:[{id:"default",name:"Default",description:"Uses Claude's default permission handling with normal approval prompts."},{id:"acceptEdits",name:"Accept Edits",description:"Allows file edits without approval; other permission checks remain in place."},{id:"plan",name:"Plan",description:"Keeps Claude in plan mode so it can inspect and propose changes without applying them."},{id:"dontAsk",name:"Don't Ask",description:"Does not ask for permissions; only pre-approved tool actions can proceed."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Bypasses Claude permission checks so tools can run without approval prompts."}],effort:["low","medium","high"],modelOverrides:{"claude-fable-5-1":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-fable-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-5-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"medium"},"claude-opus-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-sonnet-5-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-sonnet-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-8[1m]":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-7[1m]":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-6[1m]":{effort:["low","medium","high","max"],defaultEffort:"high"},"claude-sonnet-4-6[1m]":{effort:["low","medium","high","max"],defaultEffort:"high"},"claude-haiku-5-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"medium"},"claude-haiku-4-5":{effort:[]}},providerOptions:[]},codex:{models:[{id:"gpt-6-astra",name:"GPT-6 Astra",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-6.1-sol",name:"GPT-6.1 Sol",contextWindowTokens:105e4,tier:"balanced",recommended:true},{id:"gpt-6.1-terra",name:"GPT-6.1 Terra",contextWindowTokens:5e5,tier:"balanced"},{id:"gpt-6-sol",name:"GPT-6 Sol",contextWindowTokens:105e4,tier:"balanced"},{id:"gpt-6-luna",name:"GPT-6 Luna",contextWindowTokens:105e4,tier:"speed",recommended:true},{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-5.6-terra",name:"GPT-5.6 Terra",contextWindowTokens:105e4,tier:"balanced"},{id:"gpt-5.6-luna",name:"GPT-5.6 Luna",contextWindowTokens:105e4,tier:"speed"}],modes:[{id:"agent",name:"Agent",description:"Uses the workspace-write sandbox; can read and modify workspace files without full machine access."},{id:"read-only",name:"Read Only",description:"Uses the read-only sandbox; can inspect files but cannot write to the workspace."},{id:"plan",name:"Plan",description:"Uses the read-only sandbox for planning and inspection; cannot write to the workspace."},{id:"agent-full-access",name:"Agent Full Access",description:"Bypasses approvals and the sandbox; can access and modify files beyond the workspace."},{id:"yolo",name:"YOLO",description:"Bypasses approvals and the sandbox for unrestricted execution and full filesystem access."}],effort:["minimal","low","medium","high"],modelOverrides:{"gpt-6-astra":{effort:["low","medium","high","xhigh","max"],defaultEffort:"xhigh"},"gpt-6.1-sol":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"gpt-6.1-terra":{effort:["low","medium","high","xhigh","max","ultra"],defaultEffort:"max"},"gpt-6-sol":{effort:["none","low","medium","high","xhigh","max"],defaultEffort:"max"},"gpt-6-luna":{effort:["none","low","medium","high","xhigh","max"],defaultEffort:"medium"},"gpt-5.6-sol":{effort:["low","medium","high","xhigh","max","ultra"],defaultEffort:"xhigh"},"gpt-5.6-terra":{effort:["low","medium","high","xhigh","max","ultra"],defaultEffort:"high"},"gpt-5.6-luna":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"gpt-5.5":{effort:["low","medium","high","xhigh"],defaultEffort:"high"}},providerOptions:[]},opencode:{models:[],modes:[{id:"plan",name:"Plan",description:"Uses the plan agent without --auto; planning follows standard approval behavior."},{id:"plan-auto",name:"Plan \xB7 Auto",description:"Uses the plan agent with --auto; planning uses automatic approvals."},{id:"build",name:"Build",description:"Uses the build agent without --auto; work follows standard approval behavior."},{id:"build-auto",name:"Build \xB7 Auto",description:"Uses the build agent with --auto; work uses automatic approvals."}],effort:[],modelOverrides:{},providerOptions:[]},copilot:{models:[{id:"auto",name:"Auto"},{id:"claude-sonnet-5",name:"Claude Sonnet 5",contextWindowTokens:1e6,tier:"balanced"}],modes:[{id:"interactive",name:"Interactive",description:"Passes --mode interactive; tool access follows Copilot's interactive mode behavior."},{id:"plan",name:"Plan",description:"Passes --mode plan; planning and permission behavior follow Copilot's plan mode."},{id:"autopilot",name:"Autopilot",description:"Passes --mode autopilot; execution behavior follows Copilot's autonomous mode."}],effort:["none","low","medium","high","xhigh","max"],modelOverrides:{},providerOptions:[]},antigravity:{models:[{id:"gemini-3.8-flash",name:"Gemini 3.8 Flash",tier:"balanced"},{id:"gemini-3.7-flash",name:"Gemini 3.7 Flash",contextWindowTokens:1048576,tier:"balanced"},{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash",contextWindowTokens:1048576,tier:"balanced"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro",contextWindowTokens:1048576,tier:"flagship"},{id:"claude-sonnet-5-5-medium",name:"Claude Sonnet 5.5",tier:"balanced"},{id:"claude-opus-5-5-medium",name:"Claude Opus 5.5",tier:"flagship"},{id:"gemini-4-argon",name:"Gemini 4 Argon",tier:"flagship"}],modes:[{id:"default",name:"Default",description:"Uses Antigravity's default permission handling. No extra permission flags are passed."},{id:"plan",name:"Plan",description:"Passes --mode plan. This turns on /plan; it is not a Claude-style permission mode."},{id:"acceptEdits",name:"Accept Edits",description:"Passes --mode accept-edits."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Passes --dangerously-skip-permissions so tools can run without approval prompts."}],effort:["low","medium","high"],modelOverrides:{"gemini-3.8-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.7-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.6-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.5-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.1-pro":{effort:["low","high"],defaultEffort:"high"},"claude-sonnet-5-5-medium":{effort:["low","medium","high"],defaultEffort:"medium"},"claude-opus-5-5-medium":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-4-argon":{effort:["low","medium","high"],defaultEffort:"high"},"claude-sonnet-4-6":{effort:[]},"claude-opus-4-6-thinking":{effort:[]},"gpt-oss-120b":{effort:["medium"],defaultEffort:"medium"}},providerOptions:[]},grok:{models:[{id:"grok-4.7",name:"Grok 4.7",contextWindowTokens:5e5,tier:"flagship",recommended:true},{id:"grok-4.6",name:"Grok 4.6",contextWindowTokens:5e5,tier:"flagship"},{id:"grok-4.5",name:"Grok 4.5",contextWindowTokens:5e5,tier:"flagship"}],modes:[{id:"default",name:"Default",description:"Uses Grok's default permission handling."},{id:"acceptEdits",name:"Accept Edits",description:"Allows file edits without changing the selected sandbox profile."},{id:"auto",name:"Auto",description:"Uses Grok automatic permission handling."},{id:"dontAsk",name:"Don't Ask",description:"Does not ask for permission before tool execution."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Bypasses Grok permission checks for tool execution."},{id:"plan",name:"Plan",description:"Keeps Grok in planning mode without applying changes."}],effort:["low","medium","high"],modelOverrides:{"grok-4.7":{effort:["low","medium","high","xhigh"],defaultEffort:"high"},"grok-4.6":{effort:["low","medium","high","xhigh"],defaultEffort:"high"},"grok-4.5":{effort:["low","medium","high"],defaultEffort:"high"}},providerOptions:[{key:"alwaysApprove",type:"boolean"},{key:"sandbox",type:"enum",values:["workspace","read-only","off"]}]}},re={providers:{"cli/codex":{model:"gpt-6.1-sol",query:{mode:"agent",effort:"high"},execute:{mode:"agent-full-access",effort:"high"}},"cli/claude":{model:"claude-opus-5-5",query:{mode:"default",effort:"high"},execute:{mode:"bypassPermissions",effort:"xhigh"}},"cli/grok":{model:"grok-4.7",query:{mode:"default",effort:"high",providerOptions:{alwaysApprove:true,sandbox:"off"}},execute:{mode:"bypassPermissions",effort:"xhigh",providerOptions:{alwaysApprove:true,sandbox:"off"}}}}};Object.fromEntries(Object.entries(L).map(([e,n])=>[e,n.models]));var Vn="claude-opus-4-8",qn="claude-opus-4-8[1m]",Ne=[{baseModelId:"claude-opus-4-8",catalogModelId:"claude-opus-4-8[1m]"},{baseModelId:"claude-opus-4-7",catalogModelId:"claude-opus-4-7[1m]"},{baseModelId:"claude-opus-4-6",catalogModelId:"claude-opus-4-6[1m]"},{baseModelId:"claude-sonnet-4-6",catalogModelId:"claude-sonnet-4-6[1m]"}];var zn=new Map(Ne.map(({baseModelId:e,catalogModelId:n})=>[e,n]));function Ue(e){return zn.get(e)??e}var Le=[{legacyId:"Gemini 3.7 Flash (High)",model:"gemini-3.7-flash",effort:"high"},{legacyId:"Gemini 3.7 Flash (Medium)",model:"gemini-3.7-flash",effort:"medium"},{legacyId:"Gemini 3.7 Flash (Low)",model:"gemini-3.7-flash",effort:"low"},{legacyId:"Gemini 3.6 Flash (High)",model:"gemini-3.6-flash",effort:"high"},{legacyId:"Gemini 3.6 Flash (Medium)",model:"gemini-3.6-flash",effort:"medium"},{legacyId:"Gemini 3.6 Flash (Low)",model:"gemini-3.6-flash",effort:"low"},{legacyId:"Gemini 3.5 Flash (Medium)",model:"gemini-3.5-flash",effort:"medium"},{legacyId:"Gemini 3.5 Flash (High)",model:"gemini-3.5-flash",effort:"high"},{legacyId:"Gemini 3.5 Flash (Low)",model:"gemini-3.5-flash",effort:"low"},{legacyId:"Gemini 3.1 Pro (Low)",model:"gemini-3.1-pro",effort:"low"},{legacyId:"Gemini 3.1 Pro (High)",model:"gemini-3.1-pro",effort:"high"},{legacyId:"Claude Sonnet 4.6 (Thinking)",model:"claude-sonnet-4-6"},{legacyId:"Claude Opus 4.6 (Thinking)",model:"claude-opus-4-6-thinking"},{legacyId:"GPT-OSS 120B (Medium)",model:"gpt-oss-120b",effort:"medium"},{legacyId:"gemini-3.7-flash-high",model:"gemini-3.7-flash",effort:"high"},{legacyId:"gemini-3.7-flash-medium",model:"gemini-3.7-flash",effort:"medium"},{legacyId:"gemini-3.7-flash-low",model:"gemini-3.7-flash",effort:"low"},{legacyId:"gemini-3.6-flash-high",model:"gemini-3.6-flash",effort:"high"},{legacyId:"gemini-3.6-flash-medium",model:"gemini-3.6-flash",effort:"medium"},{legacyId:"gemini-3.6-flash-low",model:"gemini-3.6-flash",effort:"low"},{legacyId:"gemini-3.5-flash-high",model:"gemini-3.5-flash",effort:"high"},{legacyId:"gemini-3.5-flash-medium",model:"gemini-3.5-flash",effort:"medium"},{legacyId:"gemini-3.5-flash-low",model:"gemini-3.5-flash",effort:"low"},{legacyId:"gemini-3.1-pro-high",model:"gemini-3.1-pro",effort:"high"},{legacyId:"gemini-3.1-pro-low",model:"gemini-3.1-pro",effort:"low"},{legacyId:"gpt-oss-120b-medium",model:"gpt-oss-120b",effort:"medium"}],Wn=new Map(Le.map(({legacyId:e,model:n,effort:t})=>[e,t===void 0?{model:n}:{model:n,effort:t}]));function Be(e){if(!e)return {};let n=Wn.get(e);return n?{...n}:{model:e}}function oe(e,n){return e==="antigravity"||e==="cli/antigravity"?Be(n):n===void 0?{}:{model:Ue(n)}}var He=30,je=80;Object.keys(Xn.special_tokens);var Yn=z$1.object({model:z$1.string().optional(),system_prompt:z$1.string().optional(),prompt:z$1.string().optional(),layout:z$1.union([z$1.string(),z$1.object({id:z$1.string(),props:z$1.record(z$1.unknown()).optional()}),z$1.object({props:z$1.record(z$1.unknown())}),z$1.object({template:z$1.string(),capabilities:z$1.object({semanticContinuity:z$1.boolean().optional(),continuity:z$1.boolean().optional(),continuitySlot:z$1.string().optional(),slot:z$1.string().optional()}).optional()})]).optional()}).catchall(z$1.unknown()),Kn=z$1.object({include:z$1.array(z$1.string()).optional()}).optional(),Zn=z$1.object({id:z$1.string(),name:z$1.string().optional(),role:z$1.string().optional(),team:z$1.string().optional(),provider:z$1.union([z$1.string(),z$1.array(z$1.string())]),provider_account:z$1.string().min(1).optional(),working_directory:z$1.string().optional(),description:z$1.string().optional(),tags:z$1.array(z$1.string()).optional(),inline:Yn.optional(),skills:Kn,interceptors:z$1.unknown().optional()}).catchall(z$1.unknown());z$1.object({id:z$1.string(),name:z$1.string(),workflow_id:z$1.string(),description:z$1.string().optional(),goal_id:z$1.string().optional()});var Qn=z$1.number().finite().int().min(He).max(je),et=z$1.object({inputBudgetPercent:Qn.optional()}).catchall(z$1.unknown()),nt=z$1.object({continuity:et.optional()}).catchall(z$1.unknown()),tt=z$1.object({bin_resolution:z$1.enum(["global_first","local_first"]).optional(),dreaming:nt.optional(),wi:z$1.object({boards:z$1.array(z$1.unknown()).optional().catch(()=>{})}).catchall(z$1.unknown()).optional().catch(()=>{})}).catchall(z$1.unknown()),Ge=z$1.object({agents:z$1.array(Zn).optional(),hooks:z$1.array(z$1.unknown()).optional(),settings:tt.optional(),skills:z$1.unknown().optional(),layouts:z$1.record(z$1.unknown()).optional(),documents:z$1.record(z$1.unknown()).optional()}).catchall(z$1.unknown());var C=class extends Error{constructor(t,r){super(t);this.cause=r;this.name="ConfigLoadError";}cause};function ot(e){if(!e||typeof e!="string"||!e.trim())throw new C("YAML content must be a non-empty string");let n;try{n=load(e);}catch(o){throw new C(`YAML parse error: ${o.message}`,o)}let t=it(n),r=Ge.safeParse(t);if(!r.success)throw new C(`Config validation error: ${r.error.message}`);return r.data}function it(e){if(!e||typeof e!="object")return {agents:[]};let n=e;if(n.agents&&typeof n.agents=="object"&&!Array.isArray(n.agents)){let t=n.agents,r=Object.entries(t).map(([o,i])=>({id:o,...i&&typeof i=="object"?i:{}}));return {...n,agents:r}}return n.agents?n:{...n,agents:[]}}var st={auto:"default"};function at(e){return st[e]??e}var dt="crewx:fs:",ie=class{prefix;store;constructor(n){this.prefix=n?.prefix??dt,this.store=n?.storage??new Map;}async readFile(n){let t=this.toKey(n),r=this.store.get(t);if(r===void 0)throw new Error(`BrowserFsAdapter: file not found: ${n}`);return r}async exists(n){return this.store.has(this.toKey(n))}resolvePath(...n){let t=n.map(a=>a.replace(/\\/g,"/")).join("/").replace(/\/+/g,"/"),r=t.split("/"),o=[];for(let a of r)a==="."||a===""||(a===".."?o.pop():o.push(a));let i=o.join("/");return t.startsWith("/")?`/${i}`:i}isAbsolute(n){return n.startsWith("/")}setItem(n,t){this.store.set(this.toKey(n),t);}removeItem(n){this.store.delete(this.toKey(n));}keys(){return Array.from(this.store.keys()).filter(n=>n.startsWith(this.prefix)).map(n=>n.slice(this.prefix.length))}async readdir(n){let t=n.replace(/\\/g,"/").replace(/\/$/,""),r=this.toKey(t+"/"),o=[];for(let i of this.store.keys())if(i.startsWith(r)){let s=i.slice(r.length).split("/")[0];s&&!o.includes(s)&&o.push(s);}return o}toKey(n){return `${this.prefix}${n.replace(/\\/g,"/")}`}};var se=["codex","claude","grok","opencode","antigravity","copilot"];function pt(e){let n=e.indexOf("/");return n===-1?e:e.slice(n+1)}function ae(e){let n=pt(e),t=se.indexOf(n);return t===-1?se.length:t}function ct(e,n){return ae(e)-ae(n)}var lt=new Set(["claude","copilot","codex","grok","opencode"]);function ut(e){if(!e)return "";if(e.startsWith("acp/")){let n=e.slice(4);if(lt.has(n))return `cli/${n}`}return e}function B(e){return {mode:e.mode,effort:e.effort}}function ft(e){let n=re.providers[e];if(!n)return;let t=e.startsWith("cli/")?e.slice(4):e,r=L[t]?.models.find(a=>a.recommended===true&&a.tier==="balanced")?.id??n.model,o={query:B(n.query),execute:B(n.execute)},i={query:B(n.query),execute:B(n.execute)};return {planner:{model:n.model,...o},worker:{model:r,...i}}}var Je=["urgent","high","medium","low"],Ve=["investigating","in-progress","in-review","on-hold","done"],S="custom:";var gt=new Set(Je),mt=new Set(Ve),yt={urgent:"U \uAE34\uAE09 Urgent",high:"P0 \uAE09\uD568 High",medium:"P1 \uC911\uC694 Medium",low:"P2 \uBCF4\uD1B5 Low"},de={investigating:"\uC870\uC0AC\uC911 Looking into","in-progress":"\uC9C4\uD589\uC911 In progress","in-review":"\uAC80\uD1A0\uC911 In review","on-hold":"\uBCF4\uB958 On hold",done:"\uC644\uB8CC Done"};function Fe(e,n){return !n||n.includes(e)?n??e:`${e} ${n}`}function pe(e){return typeof e=="string"&>.has(e)}function ce(e){if(typeof e!="string")return false;if(mt.has(e))return true;if(e.startsWith("c_"))return e.length>2;if(!e.startsWith(S))return false;let n=e.slice(S.length);return n.length>=1&&n.length<=20}function qe(e){if(e.startsWith(S))return e.slice(S.length)}function le(e){if(!e)return null;try{let n=JSON.parse(e);return !n||typeof n!="object"||Array.isArray(n)?null:n}catch{return null}}function At(e){let n=le(e);return !!n&&Object.prototype.hasOwnProperty.call(n,"threadTitle")}function ze(e){let n=le(e);if(!n)return {};let t=n.threadTitle;if(!t||typeof t!="object"||Array.isArray(t))return {};let r=t,o={};return pe(r.priority)&&(o.priority=r.priority),ce(r.state)&&(o.state=r.state),o}function ht(e,n){let t=le(e)??{},r={...ze(e)};return n.priority===null?delete r.priority:n.priority!==void 0&&(r.priority=n.priority),n.state===null?delete r.state:n.state!==void 0&&(r.state=n.state),r.priority===void 0&&r.state===void 0?delete t.threadTitle:t.threadTitle=r,Object.keys(t).length===0?null:JSON.stringify(t)}function _t(e,n=new Map){let t=[];return e.priority&&t.push(Fe(yt[e.priority],n.get(e.priority))),e.state&&(e.state.startsWith(S)?t.push(qe(e.state)??""):de[e.state]?t.push(Fe(de[e.state],n.get(e.state))):n.has(e.state)?t.push(e.state,n.get(e.state)??""):e.state.startsWith("c_")?t.push(e.state):t.push(de[e.state]??"")),t.filter(Boolean).join(" ")}function We(e,n){if(!e||e.trim().length===0)return;let t=new Set,r=false,o=false;for(let i of e.split(",")){let a=i.trim();if(a){if(a==="none"){r=true,o=true;continue}n(a)&&(t.add(a),o=true);}}if(o)return {values:t,includeNone:r}}function Et(e){return We(e,pe)}function Tt(e){return We(e,ce)}function It(e,n){return n?e?n.values.has(e):n.includeNone:true}var xt=["crewx_app_terminal_connect","crewx_app_html_viewer_open","crewx_app_browser","crewx_files_list","crewx_files_read","crewx_files_write","crewx_docs_share"];var ue=["text/plain","application/json"];var Pt=["__proto__","prototype","constructor","proof","token","secret","password","cookie","authorization","private_key","private-key","stack","exception","plugin_text","url","uri","endpoint","path","filename","filepath","cwd","shell","directory","dir","folder"];new Set(Pt);var $e=/^[A-Za-z][A-Za-z0-9._-]{0,127}$/;var Ct=/^uic_[A-Za-z0-9_-]+$/,Ot=/^[0-9a-f]{64}$/,h="MCP App content declarations are invalid";function k(e){return typeof e=="string"&&ue.includes(e)}function H(e){return typeof e=="string"&&e.length<=128&&Ct.test(e)}function bt(e,n){try{let t=n,r=w(t,"actions");if(!Ye(r))throw new Error(h);let o=[];for(let a of Object.keys(r)){let s=w(r,a);if(s===null||typeof s!="object"||Array.isArray(s))throw new Error(h);let p=Object.getOwnPropertyDescriptor(s,"content");if(p===void 0)continue;if(!Object.hasOwn(p,"value"))throw new Error(h);let l=Mt(p.value);o.push({actionId:a,...l});}if(o.length===0)return;o.sort((a,s)=>a.actionId<s.actionId?-1:a.actionId>s.actionId?1:0);let i={schemaVersion:1,instanceId:e,definition:{id:w(t,"id"),version:w(t,"version"),hash:w(t,"hash")},actions:o};if(!fe(i))throw new Error(h);for(let a of o)a.in!==void 0&&Object.freeze(a.in),a.out!==void 0&&Object.freeze(a.out),Object.freeze(a);return Object.freeze(o),Object.freeze(i.definition),Object.freeze(i)}catch{throw new Error(h)}}function fe(e){try{if(!j(e,["schemaVersion","instanceId","definition","actions"]))return !1;let n=e;if(n.schemaVersion!==1||!H(n.instanceId)||!kt(n.definition))return !1;let t=n.actions;if(!Lt(t)||t.length===0)return !1;let r;for(let o=0;o<t.length;o+=1){let i=t[o];if(!vt(i)||r!==void 0&&!(r<i.actionId))return !1;r=i.actionId;}return !0}catch{return false}}function Rt(e,n,t){return fe(e)?e.instanceId===n&&e.definition.id===t.id&&e.definition.version===t.version&&e.definition.hash===t.hash:false}function Mt(e){if(!v(e,["in","out"]))throw new Error(h);let n=e,t=Object.hasOwn(n,"in"),r=Object.hasOwn(n,"out");if(!t&&!r)throw new Error(h);return {...t?{in:St(n.in)}:{},...r?{out:wt(n.out)}:{}}}function St(e){if(!v(e,["mediaType","required"],["mediaType"]))throw new Error(h);let n=e,t=n.mediaType,r=Object.hasOwn(n,"required")?n.required:false;if(!k(t)||typeof r!="boolean")throw new Error(h);return {mediaType:t,required:r}}function wt(e){if(!v(e,["mediaType","range"],["mediaType"]))throw new Error(h);let n=e,t=n.mediaType,r=Object.hasOwn(n,"range")?n.range:false;if(!k(t)||typeof r!="boolean")throw new Error(h);return {mediaType:t,range:r}}function kt(e){if(!j(e,["id","version","hash"]))return false;let n=e;return Xe(n.id)&&Ut(n.version)&&typeof n.hash=="string"&&Ot.test(n.hash)}function vt(e){if(!v(e,["actionId","in","out"],["actionId"]))return false;let n=e,t=n.actionId,r=Object.hasOwn(n,"in"),o=Object.hasOwn(n,"out");return !(typeof t!="string"||!Xe(t)||!r&&!o||r&&!Dt(n.in)||o&&!Nt(n.out))}function Dt(e){if(!j(e,["mediaType","required"]))return false;let n=e;return k(n.mediaType)&&typeof n.required=="boolean"}function Nt(e){if(!j(e,["mediaType","range"]))return false;let n=e;return k(n.mediaType)&&typeof n.range=="boolean"}function Xe(e){return typeof e=="string"&&$e.test(e)}function Ut(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>0}function Lt(e){if(!Array.isArray(e))return false;let n=Reflect.ownKeys(e);if(n.length!==e.length+1||n[e.length]!=="length")return false;for(let t=0;t<e.length;t+=1){if(n[t]!==String(t))return false;let r=Object.getOwnPropertyDescriptor(e,String(t));if(r===void 0||!Object.hasOwn(r,"value"))return false}return true}function j(e,n){return v(e,n,n)}function v(e,n,t=[]){if(!Ye(e))return false;let r=Reflect.ownKeys(e);if(r.length>n.length||r.length<t.length)return false;for(let o of r){if(typeof o!="string"||!n.includes(o))return false;let i=Object.getOwnPropertyDescriptor(e,o);if(i===void 0||!Object.hasOwn(i,"value"))return false}return t.every(o=>Object.hasOwn(e,o))}function Ye(e){if(e===null||typeof e!="object"||Array.isArray(e))return false;let n=Object.getPrototypeOf(e);return n===Object.prototype||n===null}function w(e,n){if(e===null||typeof e!="object")return;let t=Object.getOwnPropertyDescriptor(e,n);return t!==void 0&&Object.hasOwn(t,"value")?t.value:void 0}var Ke=[5,15,30,60],ge=Object.freeze({min:15e3,max:6e5,default:3e5}),Bt=1;var Ht="exit 78",Ze=["standby","disabled","draining","degraded"],jt=["cron","cron_manual","app_enable"],Gt=/^[A-Z][A-Z0-9_]{0,63}$/u;function Ft(e){return typeof e=="string"&&Gt.test(e)}function Jt(e){return Ke.includes(e)}function Vt(e){return Number.isSafeInteger(e)&&e>=ge.min&&e<=ge.max}function qt(e){return Ze.includes(e)}var me=Object.freeze({min:6e4,max:18e5,default:6e5}),zt=1,Qe="crewx/appJobs",en=1,ye=["starting","running","stopping","finished"],Ae=["succeeded","failed","timed_out","cancelled","shutdown","interrupted"],he=["cancelled","timed_out","shutdown"],_e=["manual","schedule"],Wt=/^[a-z][a-z0-9_]{0,63}$/u,$t=/^[A-Z][A-Z0-9_]{0,63}$/u,nn=["start","status","cancel"],tn=["APP_JOB_NOT_DECLARED","APP_JOB_NOT_AUTHORIZED","APP_JOB_SELF_START","APP_JOB_OWNER_INVALID","APP_JOB_DEFINITION_INVALID","APP_JOB_DEFINITION_CHANGED","APP_JOB_DEADLINE_INVALID","APP_JOB_SHUTTING_DOWN","APP_JOB_OWNER_MISMATCH","APP_JOB_STALE_HANDLE","APP_JOB_NOT_ACTIVE","APP_JOB_NOT_GRANTED"],Xt="APP_JOB_RUN_REQUIRED";function Yt(e){return Number.isSafeInteger(e)&&e>=me.min&&e<=me.max}function Ee(e){return typeof e=="string"&&$t.test(e)}function Te(e){return typeof e=="string"&&Wt.test(e)}function rn(e){return nn.includes(e)}function Kt(e){return e?.some(({name:n,version:t})=>n===Qe&&t===en)===true}var Zt="CREWX_APP_JOB_CHANNEL",Qt=1,er=4096,nr=1e4,tr=5e3;var rr=/^[A-Za-z0-9._:-]{1,128}$/u,or=64,ir=2147483647;function sr(e){return e==="schedule"?"schedule":"manual"}function ar(e){return dr(e)}function dr(e){let n=dn(e)?e:void 0;if(n===void 0||!an(n,["handle","state","stopReason","trigger","outcome","phase","completed","total","resumable","lastHeartbeatAt","startedAt","finishedAt","errorCode","recoverable"],[]))return;let t=pr(n.handle),r=n.stopReason,o=n.outcome,i=n.phase,a=n.errorCode,s=n.recoverable;if(!(t===void 0||!ye.includes(n.state)||!(r===null||he.includes(r))||r!==null&&n.state!=="stopping"||!_e.includes(n.trigger)||!(o===null||Ae.includes(o))||!(i===null||Te(i))||!(n.completed===null||on(n.completed))||!(n.total===null||on(n.total))||typeof n.resumable!="boolean"||!sn(n.lastHeartbeatAt)||!pn(n.startedAt)||!sn(n.finishedAt)||!(a===null||Ee(a))||!(s===null||typeof s=="boolean")))return {handle:t,state:n.state,stopReason:r,trigger:n.trigger,outcome:o,phase:i,completed:n.completed,total:n.total,resumable:n.resumable,lastHeartbeatAt:n.lastHeartbeatAt,startedAt:n.startedAt,finishedAt:n.finishedAt,errorCode:a,recoverable:s}}function pr(e){if(!(!dn(e)||!an(e,["runId","generation"],[]))&&!(typeof e.runId!="string"||!rr.test(e.runId)||!cr(e.generation)))return {runId:e.runId,generation:e.generation}}function an(e,n,t){let r=new Set([...n,...t]);return Object.keys(e).every(o=>r.has(o))&&n.every(o=>Object.hasOwn(e,o))}function dn(e){if(e===null||typeof e!="object"||Array.isArray(e))return false;let n=Object.getPrototypeOf(e);return n===Object.prototype||n===null}function cr(e){return Number.isSafeInteger(e)&&e>=1&&e<=ir}function on(e){return Number.isSafeInteger(e)&&e>=0}function pn(e){return typeof e=="string"&&e.length>0&&e.length<=or}function sn(e){return e===null||pn(e)}var lr="crewx/openApp",xe=1,ur="ui/crewx-open-app",fr="ui/crewx-open-app-status",ln=32768,un=8,Pe=["opened","completed","pending"],Ce=["UI_APP_OPEN_INVALID","UI_APP_OPEN_UNAVAILABLE","UI_APP_OPEN_GESTURE_REQUIRED","UI_APP_OPEN_STALE","UI_APP_OPEN_BUSY","UI_APP_OPEN_REJECTED","UI_APP_OPEN_FAILED","UI_APP_OPEN_REQUEST_ID_CONFLICT"],Oe=["RECEIPT_FAILED","RECEIPT_REJECTED","RECEIPT_CONFLICTED","RECEIPT_EXPIRED","LEDGER_MISSING","LEDGER_EXPIRED"],F=class extends Error{constructor(t,r){super(t);this.errorCode=t;this.causeCode=r;}errorCode;causeCode;name="CrewxOpenAppError"},gr=/^[A-Za-z0-9-]{8,64}$/,mr=/^[A-Za-z0-9_-]{1,128}$/,J=/^[A-Za-z][A-Za-z0-9._-]{0,127}$/,yr=new TextEncoder,cn=/\p{Surrogate}/u,Ar=new Set(["__proto__","constructor","prototype"]);function u(){throw new F("UI_APP_OPEN_INVALID")}function D(e,n){return Object.prototype.hasOwnProperty.call(e,n)}function q(e){if(e===null||typeof e!="object"||Array.isArray(e))return false;let n=Object.getPrototypeOf(e);return n===Object.prototype||n===null}function T(e,n,t=[]){q(e)||u();let r=new Set([...n,...t]);for(let o of Object.keys(e))r.has(o)||u();for(let o of n)D(e,o)||u();return e}function V(e,n){return (typeof e!="string"||!n.test(e))&&u(),e}function z(e){return (typeof e!="string"||!gr.test(e))&&u(),e}function b(e){(typeof e!="string"||!mr.test(e))&&u();let n=e.indexOf("_");return (n<0||n===e.length-1)&&u(),z(e.slice(0,n)),e}function fn(e){return b(e).slice(0,e.indexOf("_"))}function gn(e){return H(e)||u(),e}function O(e,n){let t=n.find(r=>r===e);return t===void 0&&u(),t}function Ie(e,n){if(e===null)return "null";if(typeof e=="boolean")return e?"true":"false";if(typeof e=="number")return Number.isFinite(e)||u(),JSON.stringify(e);if(typeof e=="string")return cn.test(e)&&u(),JSON.stringify(e);if(n>un&&u(),Array.isArray(e)){let o=[];for(let i=0;i<e.length;i+=1)D(e,String(i))||u(),o.push(Ie(e[i],n+1));return `[${o.join(",")}]`}q(e)||u();let t=e;return `{${Object.keys(t).sort().map(o=>((Ar.has(o)||cn.test(o))&&u(),`${JSON.stringify(o)}:${Ie(t[o],n+1)}`)).join(",")}}`}function hr(e){let n=T(e,["requestId","appId"],["action"]),t=b(n.requestId),r=V(n.appId,J);if(!D(n,"action"))return {requestId:t,appId:r};let o=T(n.action,["actionId","input"]),i=o.input;return q(i)||u(),{requestId:t,appId:r,action:{actionId:V(o.actionId,J),input:i}}}function mn(e){return {version:xe,sessionId:z(e)}}function _r(e){let n=T(e,["version","sessionId"]);return n.version!==xe&&u(),mn(z(n.sessionId))}function Er(e,n){return typeof n!="string"&&u(),b(`${z(e)}_${n}`)}function yn(e){let n=Ie(hr(e),1);return yr.encode(n).byteLength>ln&&u(),n}function Tr(e){return JSON.parse(yn(e))}function Ir(e){let n=T(e,["requestId"]);return {requestId:b(n.requestId)}}function An(e){return {status:O(e.status,Pe),appId:V(e.appId,J),instanceId:gn(e.instanceId),requestId:b(e.requestId)}}function hn(e,n){let t=O(e,Ce);return n===void 0?{isError:true,_meta:{errorCode:t}}:{isError:true,_meta:{errorCode:t,causeCode:O(n,Oe)}}}function xr(e){if(q(e)||u(),D(e,"isError")){let t=T(e,["isError","_meta"]);t.isError!==true&&u();let r=T(t._meta,["errorCode"],["causeCode"]);return hn(O(r.errorCode,Ce),D(r,"causeCode")?O(r.causeCode,Oe):void 0)}let n=T(e,["status","appId","instanceId","requestId"]);return An({status:O(n.status,Pe),appId:V(n.appId,J),instanceId:gn(n.instanceId),requestId:b(n.requestId)})}function G(e,n){return {state:"failed",errorCode:e,causeCode:n}}function Pr(e){if(e.kind==="pending"||e.status==="requested")return {state:"pending"};if(e.outcome==="succeeded")return {state:"completed"};switch(e.outcome){case "rejected":return G("UI_APP_OPEN_REJECTED","RECEIPT_REJECTED");case "conflicted":return G("UI_APP_OPEN_STALE","RECEIPT_CONFLICTED");case "expired":return G("UI_APP_OPEN_STALE","RECEIPT_EXPIRED");default:return G("UI_APP_OPEN_FAILED","RECEIPT_FAILED")}}function be(e,n){return e.workspaceId===n.workspaceId&&e.threadId===n.threadId&&e.instanceId===n.instanceId&&e.definition.id===n.definition.id&&e.definition.version===n.definition.version&&e.definition.hash===n.definition.hash&&e.entryHash===n.entryHash}function Cr(e){if(fn(e.requestId)!==e.activeSessionId)return "stale";let{lookup:n}=e;return n.kind==="absent"?n.capacity==="full"?"busy":"new":be(n.record.source,e.source)&&n.record.payloadDigest===e.payloadDigest?"known":"conflict"}function Or(e){return fn(e.requestId)!==e.activeSessionId||e.lookup.kind!=="present"?"stale":be(e.lookup.record.source,e.source)?"known":"stale"}export{Le as ANTIGRAVITY_MODEL_COMPATIBILITY,tr as APP_JOB_BRIDGE_DRAIN_TIMEOUT_MS,Zt as APP_JOB_BRIDGE_ENV,er as APP_JOB_BRIDGE_MAX_LINE_BYTES,nr as APP_JOB_BRIDGE_REPLY_TIMEOUT_MS,Qt as APP_JOB_BRIDGE_VERSION,Qe as APP_JOB_CAPABILITY,en as APP_JOB_CAPABILITY_VERSION,me as APP_JOB_DEADLINE_MS,zt as APP_JOB_MAX_PER_APP,nn as APP_JOB_OPERATIONS,Ae as APP_JOB_OUTCOMES,tn as APP_JOB_REFUSAL_CODES,Xt as APP_JOB_RUN_REQUIRED,ye as APP_JOB_STATES,he as APP_JOB_STOP_REASONS,_e as APP_JOB_TRIGGERS,Ht as APP_SCHEDULE_INERT_COMMAND,Ke as APP_SCHEDULE_INTERVALS_MINUTES,Bt as APP_SCHEDULE_MAX_PER_APP,Ze as APP_SCHEDULE_PERIODIC_REASONS,ge as APP_SCHEDULE_TIMEOUT_MS,Ve as BUILTIN_THREAD_STATES,ie as BrowserFsAdapter,Ne as CLAUDE_MODEL_COMPATIBILITY_PAIRS,Vn as CLAUDE_OPUS_4_8_BASE_MODEL_ID,qn as CLAUDE_OPUS_4_8_LEGACY_MODEL_ID,lr as CREWX_OPEN_APP_CAPABILITY,xe as CREWX_OPEN_APP_CAPABILITY_VERSION,un as CREWX_OPEN_APP_MAX_JSON_DEPTH,ln as CREWX_OPEN_APP_MAX_PARAMS_BYTES,ur as CREWX_OPEN_APP_METHOD,fr as CREWX_OPEN_APP_STATUS_METHOD,Pe as CREWX_OPEN_APP_SUCCESS_STATUSES,C as ConfigLoadError,K as Crewx,F as CrewxOpenAppError,jn as EFFORT_LEVELS,xt as MCP_APP_HOST_TOOL_ALLOWLIST,Gn as PROVIDER_ARGV_EFFORTS,se as PROVIDER_ORDER,m as ProviderError,jt as SCHEDULE_TRIGGERS,Je as THREAD_PRIORITIES,Oe as UI_APP_OPEN_CAUSE_CODES,Ce as UI_APP_OPEN_ERROR_CODES,ue as UI_CONTENT_MEDIA_TYPES,sr as appJobTriggerForActor,bt as buildMcpAppContentActions,yn as canonicalCrewxOpenAppPayload,Sn as classifyTaskError,ct as compareProviders,Rt as contentActionsMatch,mn as createCrewxOpenAppCapabilityDeclaration,hn as createCrewxOpenAppErrorResult,Er as createCrewxOpenAppRequestId,An as createCrewxOpenAppSuccessResult,N as createProvider,qe as customStateLabel,Cr as decideCrewxOpenAppOpen,Or as decideCrewxOpenAppStatus,ft as getDefaultAgentProfile,Kt as hasAppJobCapability,At as hasThreadTitleKey,Ee as isAppJobCode,Yt as isAppJobDeadlineMs,rn as isAppJobOperation,Te as isAppJobPhase,Ft as isAppScheduleCode,Jt as isAppScheduleIntervalMinutes,qt as isAppSchedulePeriodicReason,Vt as isAppScheduleTimeoutMs,fe as isMcpAppContentActions,be as isSameCrewxOpenAppSourceBinding,pe as isThreadPriority,ce as isThreadState,k as isUiContentMediaType,H as isValidUiAppInstanceId,It as matchesThreadTitleFilter,ht as mergeThreadTitleMeta,at as normalizeClaudeMode,ut as normalizeProviderId,ar as parseAppJobView,_r as parseCrewxOpenAppCapabilityDeclaration,Tr as parseCrewxOpenAppRequest,xr as parseCrewxOpenAppResult,Ir as parseCrewxOpenAppStatusRequest,Et as parseThreadPriorityFilter,Tt as parseThreadStateFilter,ot as parseYamlContent,ae as providerRank,ze as readThreadTitleMeta,Z as redactTechnicalMessage,Y as registerProviderFactory,Be as resolveAntigravityModel,Ue as resolveCatalogModelId,Pr as resolveCrewxOpenAppActionOutcome,oe as resolveProviderCatalogModel,_t as threadTitleSearchHaystack};
|
|
6
|
+
`,i):e.length;t+=e.slice(r,o.index),t+=`[HTTP BODY ${f}]`,r=s;}return t+e.slice(r)}function Pn(e,n){let t=e[n];if(t==='"'||t==="'")return Cn(e,n,t);if(t!=="{"&&t!=="[")return -1;let r=[],o,i=false;for(let a=n;a<e.length;a+=1){let s=e[a];if(o){i?i=false:s==="\\"?i=true:s===o&&(o=void 0);continue}if(s==='"'||s==="'"){o=s;continue}if(s==="{"||s==="["){r.push(s);continue}if(s!=="}"&&s!=="]")continue;let p=r.pop();if(s==="}"&&p!=="{"||s==="]"&&p!=="[")return -1;if(r.length===0)return a+1}return -1}function Cn(e,n,t){let r=false;for(let o=n+1;o<e.length;o+=1){let i=e[o];if(r)r=false;else if(i==="\\")r=true;else if(i===t)return o+1}return -1}var On=new Set(["USAGE_LIMITED","CONTEXT_WINDOW_EXCEEDED","INPUT_TOO_LARGE","MODEL_NOT_SUPPORTED","MODEL_AT_CAPACITY","AUTH_REQUIRED","CLI_NOT_AVAILABLE","CLI_UPDATE_REQUIRED","AGENT_NOT_FOUND","PERMISSION_OR_TRUST","TIMEOUT_OR_STUCK","NETWORK_OR_PROVIDER_TRANSIENT","PROVIDER_CONFIGURATION","AGENT_MODE_RESTRICTED","PROCESS_FAILED"]),bn=new Set(["plan","plan-auto","read-only"]),Rn={QUOTA_EXHAUSTED:"USAGE_LIMITED",RATE_LIMITED:"USAGE_LIMITED",AUTH_REQUIRED:"AUTH_REQUIRED",TIMEOUT_IDLE:"TIMEOUT_OR_STUCK",TIMEOUT_TOTAL:"TIMEOUT_OR_STUCK",TIMEOUT_RESUME:"NETWORK_OR_PROVIDER_TRANSIENT",PROVIDER_NOT_FOUND:"PROVIDER_CONFIGURATION",INVALID_PROVIDER_FORMAT:"PROVIDER_CONFIGURATION",PROVIDER_CRASHED:"PROCESS_FAILED",EMPTY_OUTPUT:"PROCESS_FAILED"},Mn=[{code:"USAGE_LIMITED",pattern:/(?:rate[ _-]?limit|quota|usage[ /_-]?limit|usage exhausted|too many requests|429\b)/i},{code:"CONTEXT_WINDOW_EXCEEDED",pattern:/context (?:window|length)|maximum context|context[_ -]?window[_ -]?exceeded|too many tokens/i},{code:"INPUT_TOO_LARGE",pattern:/input[_ -]?(?:is[_ -]?)?too[_ -]?large|prompt (?:is )?too (?:large|long)|request[_ -]?(?:is[_ -]?)?too[_ -]?large|payload[_ -]?(?:is[_ -]?)?too[_ -]?large|maximum input/i},{code:"MODEL_AT_CAPACITY",pattern:/(?:model|service|provider).*(?:at capacity|overloaded|temporarily busy)|at capacity|overloaded/i},{code:"MODEL_NOT_SUPPORTED",pattern:/(?:model|invalid_request_error).*(?:not[ _-]?supported|unsupported|does[ _-]?not[ _-]?exist|not[ _-]?found|invalid)|model[_-]?not[_-]?(?:found|supported)/i},{code:"MODEL_NOT_SUPPORTED",pattern:/\bunrecognized_model\b/i},{code:"AUTH_REQUIRED",pattern:/(?:401\b|unauthori[sz]ed|not logged in|login required|sign[ -]?in required|api key (?:is )?(?:missing|invalid|required)|authentication required)/i},{code:"CLI_UPDATE_REQUIRED",pattern:/(?:requires? a newer version|update (?:your )?cli|cli version.*(?:old|outdated|unsupported)|version mismatch)/i},{code:"CLI_NOT_AVAILABLE",pattern:/(?:ENOENT|command not found|executable.*not found|cli.*(?:not installed|unavailable)|is .* installed\?)/i},{code:"AGENT_NOT_FOUND",pattern:/agent[_ -]?not[_ -]?found|unknown agent/i},{code:"PERMISSION_OR_TRUST",pattern:/(?:permission denied|operation not permitted|workspace trust|not trusted|access denied|EACCES|EPERM)/i},{code:"NETWORK_OR_PROVIDER_TRANSIENT",pattern:/(?:resume failed|failed .*resum(?:e|ing)|after resuming the session|재개 실패|세션 재개)/i},{code:"TIMEOUT_OR_STUCK",pattern:/(?:timeout|timed out|took too long|stuck|idle timeout|ETIMEDOUT)/i},{code:"NETWORK_OR_PROVIDER_TRANSIENT",pattern:/(?:network (?:unreachable|error)|connection (?:reset|refused|closed)|ECONN(?:RESET|REFUSED|ABORTED)|service unavailable|upstream.*(?:5\d\d|error)|provider.*(?:5\d\d|unavailable|down)|\b5\d\d\b)/i},{code:"PROVIDER_CONFIGURATION",pattern:/(?:invalid provider|unsupported provider|provider namespace|provider configuration|provider config|missing provider)/i}];function Sn(e){try{if(!T(e)||e.status!=="failed")return Z();let n=wn(e.error);if(te(n.message))return Z();let t=y(e.providerId)??n.provider??null,r=vn(e.logs),o=De(n.code);if(o)return R(o,t,n.message,n);let i=U(n.providerCode)??U(n.code),a=i?ne(i,n.message,{exitCode:Hn(e.exitCode),mode:n.mode,fromProviderCodeField:!!n.providerCode}):void 0;if(a)return R(a,t,n.message,n,i);let s=Dn(r);if(!kn(n)&&s&&(s.type==="user_stop"||te(s.message)))return Z();if(s){let l=Nn(s.code,s.providerCode,s.message);if(l)return R(l,t,s.message??n.message,n,s.providerCode??s.code,s,s.structuredFailure?"terminal":"envelope")}let p=Un(n.message,r);return p?R(p.code,t,p.message,n,p.terminal?.providerCode??p.terminal?.code,p.terminal,p.terminal?.structuredFailure?"terminal":"envelope"):R("PROCESS_FAILED",t,n.message,n)}catch{return {errorCode:"PROCESS_FAILED",errorProvider:null}}}function Z(){return {errorCode:null,errorProvider:null}}function R(e,n,t,r,o,i,a="envelope"){let s={};if(i?.resetAt!==void 0&&(s.resetAt=i.resetAt),r?.model&&(s.model=r.model),r?.mode&&(s.mode=r.mode),i?.type&&(s.upstreamType=i.type),o&&(s.upstreamCode=o),e==="CLI_NOT_AVAILABLE"||e==="CLI_UPDATE_REQUIRED"){let A=n?.startsWith("cli/")?n.slice(4):void 0;A&&(s.cliName=A);}let p=a==="terminal"?t:r?.message,l=a==="terminal"?i?.structuredFailure?p:void 0:r?.isEnvelope?p:void 0,c=Q(l);return c&&(s.technicalMessage=c),Object.keys(s).length>0?{errorCode:e,errorProvider:n,errorMeta:s}:{errorCode:e,errorProvider:n}}function wn(e){let n=typeof e=="string"?P(e):e;return T(n)?{isEnvelope:true,code:y(n.code),providerCode:y(n.providerCode),message:y(n.message)??y(n.error),provider:y(n.provider)??y(n.errorProvider),model:y(n.model),mode:y(n.mode)}:{isEnvelope:false,...typeof e=="string"&&e.trim()?{message:e.trim()}:{}}}function P(e){try{return JSON.parse(e)}catch{return}}function kn(e){return !!(e.code||e.providerCode||e.message)}function vn(e){let n=[];if(typeof e=="string"){let t=P(e);if(Array.isArray(t))n.push(...t);else for(let r of e.split(/\r?\n/)){let o=P(r.trim());o!==void 0&&n.push(o);}}else Array.isArray(e)?n.push(...e):T(e)&&n.push(e);return n.flatMap(x)}function x(e){if(!T(e))return [];let n=y(e.type),t=y(e.message);if(t&&!n){let o=P(t);if(Array.isArray(o))return o.flatMap(x);if(T(o))return x(o);let i=t.split(/\r?\n/).map(a=>P(a.trim())).filter(a=>T(a));return i.length>0?i.flatMap(x):e.level==="stderr"?[{type:"stderr",message:t,rank:1,structuredFailure:false}]:x({type:"info",content:t})}if(n==="rate_limit_event"){let o=ve(e.rate_limit_info);return y(o?.status)!=="rejected"?[]:[{type:n,code:"RATE_LIMITED",message:M(o?.message,e.message),resetAt:Bn(o?.resetsAt),rank:4,structuredFailure:true}]}if(n==="turn.failed"||n==="error"){let o=ve(e.error),i=M(o?.message,o?.detail,e.message,e.errorMessage,e.content),a=M(o?.code,e.code,e.errorCode);return [{type:n,code:a,providerCode:M(o?.providerCode,e.providerCode),message:i,rank:n==="turn.failed"?3:2,structuredFailure:true}]}if(n==="text"&&typeof e.content=="string"){let o=P(e.content);if(T(o))return x(o)}let r=M(e.errorMessage,e.content);return r&&te(r)?[{type:"user_stop",message:r,rank:1,structuredFailure:false}]:r&&/(?:turn\.failed|type:error)/i.test(r)?[{type:r.match(/turn\.failed/i)?"turn.failed":"error",message:r,rank:3,structuredFailure:false}]:[]}function Dn(e){return [...e].sort((n,t)=>t.rank-n.rank)[0]}function Nn(e,n,t){let r=De(e);if(r)return r;if(e){let o=ne(e,t);if(o)return o}if(n){let o=ne(n,t);if(o)return o}return ee(t)}function Un(e,n){let t=ee(e);if(t)return {code:t,message:e};for(let r of [...n].sort((o,i)=>i.rank-o.rank)){let o=ee(r.message);if(o)return {code:o,message:r.message,terminal:r}}}function ee(e){if(!(typeof e!="string"||!e.trim()))return Mn.find(n=>n.pattern.test(e))?.code}function ne(e,n,t){let r=U(e)??e;if(r==="MODEL_UNAVAILABLE")return /(?:capacity|overloaded|busy)/i.test(n??"")?"MODEL_AT_CAPACITY":"MODEL_NOT_SUPPORTED";if(r==="EMPTY_OUTPUT"&&t?.fromProviderCodeField===true&&t.exitCode===0&&Ln(t.mode))return "AGENT_MODE_RESTRICTED";if(r!=="UNKNOWN")return Rn[r]}function De(e){let n=U(e);return n&&On.has(n)?n:void 0}function U(e){return typeof e=="string"&&e.trim()?e.trim().toUpperCase():void 0}function Ln(e){return typeof e=="string"&&bn.has(e.trim().toLowerCase())}function te(e){return e?/\b(?:stopped|killed|aborted|cancelled|canceled)\s+by\s+user\b/i.test(e)||/사용자에 의해 중지됨/.test(e)||/\b(?:SIGTERM\s+143|143\s+SIGTERM)\b/i.test(e):false}function T(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ve(e){return T(e)?e:void 0}function y(e){return typeof e=="string"&&e.trim()?e.trim():void 0}function Bn(e){return typeof e=="string"||typeof e=="number"&&Number.isFinite(e)?e:void 0}function Hn(e){return typeof e=="number"&&Number.isInteger(e)?e:void 0}function M(...e){return e.map(y).find(n=>!!n)}var jn=["none","minimal","low","medium","high","xhigh","max","ultra"],Fn={claude:["low","medium","high","xhigh","max"],codex:["none","minimal","low","medium","high","xhigh","max","ultra"],opencode:[],copilot:["none","low","medium","high","xhigh","max"],antigravity:["low","medium","high"],grok:["low","medium","high","xhigh"]};var L={claude:{models:[{id:"claude-fable-5-1",name:"Claude Fable 5.1",contextWindowTokens:1e6,tier:"flagship",recommended:true},{id:"claude-fable-5",name:"Claude Fable 5",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-5-5",name:"Claude Opus 5.5",contextWindowTokens:1e6,tier:"flagship",recommended:true},{id:"claude-opus-5",name:"Claude Opus 5",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-sonnet-5-5",name:"Claude Sonnet 5.5",contextWindowTokens:1e6,tier:"balanced",recommended:true},{id:"claude-sonnet-5",name:"Claude Sonnet 5",contextWindowTokens:1e6,tier:"balanced"},{id:"claude-opus-4-8[1m]",name:"Claude Opus 4.8",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-4-7[1m]",name:"Claude Opus 4.7",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-4-6[1m]",name:"Claude Opus 4.6",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-sonnet-4-6[1m]",name:"Claude Sonnet 4.6",contextWindowTokens:1e6,tier:"balanced"},{id:"claude-haiku-5-5",name:"Claude Haiku 5.5",contextWindowTokens:1e6,tier:"speed"},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",contextWindowTokens:2e5,tier:"speed"}],modes:[{id:"default",name:"Default",description:"Uses Claude's default permission handling with normal approval prompts."},{id:"acceptEdits",name:"Accept Edits",description:"Allows file edits without approval; other permission checks remain in place."},{id:"plan",name:"Plan",description:"Keeps Claude in plan mode so it can inspect and propose changes without applying them."},{id:"dontAsk",name:"Don't Ask",description:"Does not ask for permissions; only pre-approved tool actions can proceed."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Bypasses Claude permission checks so tools can run without approval prompts."}],effort:["low","medium","high"],modelOverrides:{"claude-fable-5-1":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-fable-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-5-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"medium"},"claude-opus-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-sonnet-5-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-sonnet-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-8[1m]":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-7[1m]":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-6[1m]":{effort:["low","medium","high","max"],defaultEffort:"high"},"claude-sonnet-4-6[1m]":{effort:["low","medium","high","max"],defaultEffort:"high"},"claude-haiku-5-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"medium"},"claude-haiku-4-5":{effort:[]}},providerOptions:[]},codex:{models:[{id:"gpt-6-astra",name:"GPT-6 Astra",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-6.1-sol",name:"GPT-6.1 Sol",contextWindowTokens:105e4,tier:"balanced",recommended:true},{id:"gpt-6.1-terra",name:"GPT-6.1 Terra",contextWindowTokens:5e5,tier:"balanced"},{id:"gpt-6-sol",name:"GPT-6 Sol",contextWindowTokens:105e4,tier:"balanced"},{id:"gpt-6-luna",name:"GPT-6 Luna",contextWindowTokens:105e4,tier:"speed",recommended:true},{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-5.6-terra",name:"GPT-5.6 Terra",contextWindowTokens:105e4,tier:"balanced"},{id:"gpt-5.6-luna",name:"GPT-5.6 Luna",contextWindowTokens:105e4,tier:"speed"}],modes:[{id:"agent",name:"Agent",description:"Uses the workspace-write sandbox; can read and modify workspace files without full machine access."},{id:"read-only",name:"Read Only",description:"Uses the read-only sandbox; can inspect files but cannot write to the workspace."},{id:"plan",name:"Plan",description:"Uses the read-only sandbox for planning and inspection; cannot write to the workspace."},{id:"agent-full-access",name:"Agent Full Access",description:"Bypasses approvals and the sandbox; can access and modify files beyond the workspace."},{id:"yolo",name:"YOLO",description:"Bypasses approvals and the sandbox for unrestricted execution and full filesystem access."}],effort:["minimal","low","medium","high"],modelOverrides:{"gpt-6-astra":{effort:["low","medium","high","xhigh","max"],defaultEffort:"xhigh"},"gpt-6.1-sol":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"gpt-6.1-terra":{effort:["low","medium","high","xhigh","max","ultra"],defaultEffort:"max"},"gpt-6-sol":{effort:["none","low","medium","high","xhigh","max"],defaultEffort:"max"},"gpt-6-luna":{effort:["none","low","medium","high","xhigh","max"],defaultEffort:"medium"},"gpt-5.6-sol":{effort:["low","medium","high","xhigh","max","ultra"],defaultEffort:"xhigh"},"gpt-5.6-terra":{effort:["low","medium","high","xhigh","max","ultra"],defaultEffort:"high"},"gpt-5.6-luna":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"gpt-5.5":{effort:["low","medium","high","xhigh"],defaultEffort:"high"}},providerOptions:[]},opencode:{models:[],suggestedModels:[{id:"opencode-go/glm-5.3-flash",name:"GLM-5.3 Flash",contextWindowTokens:1e6,tier:"speed",recommended:true},{id:"opencode-go/deepseek-v4.1-flash",name:"DeepSeek V4.1 Flash",contextWindowTokens:1e6,tier:"speed",recommended:true},{id:"opencode-go/qwen3.8-flash",name:"Qwen3.8 Flash",contextWindowTokens:1e6,tier:"speed",recommended:true},{id:"opencode-go/minimax-m3",name:"MiniMax M3",contextWindowTokens:1e6,tier:"balanced",recommended:true},{id:"opencode-go/kimi-k2.7-code",name:"Kimi K2.7 Code",contextWindowTokens:262144,tier:"balanced",recommended:true}],modes:[{id:"plan",name:"Plan",description:"Uses the plan agent without --auto; planning follows standard approval behavior."},{id:"plan-auto",name:"Plan \xB7 Auto",description:"Uses the plan agent with --auto; planning uses automatic approvals."},{id:"build",name:"Build",description:"Uses the build agent without --auto; work follows standard approval behavior."},{id:"build-auto",name:"Build \xB7 Auto",description:"Uses the build agent with --auto; work uses automatic approvals."}],effort:[],modelOverrides:{},providerOptions:[]},copilot:{models:[{id:"auto",name:"Auto"},{id:"claude-sonnet-5",name:"Claude Sonnet 5",contextWindowTokens:1e6,tier:"balanced"}],modes:[{id:"interactive",name:"Interactive",description:"Passes --mode interactive; tool access follows Copilot's interactive mode behavior."},{id:"plan",name:"Plan",description:"Passes --mode plan; planning and permission behavior follow Copilot's plan mode."},{id:"autopilot",name:"Autopilot",description:"Passes --mode autopilot; execution behavior follows Copilot's autonomous mode."}],effort:["none","low","medium","high","xhigh","max"],modelOverrides:{},providerOptions:[]},antigravity:{models:[{id:"gemini-3.8-flash",name:"Gemini 3.8 Flash",tier:"balanced"},{id:"gemini-3.7-flash",name:"Gemini 3.7 Flash",contextWindowTokens:1048576,tier:"balanced"},{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash",contextWindowTokens:1048576,tier:"balanced"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro",contextWindowTokens:1048576,tier:"flagship"},{id:"claude-sonnet-5-5-medium",name:"Claude Sonnet 5.5",tier:"balanced"},{id:"claude-opus-5-5-medium",name:"Claude Opus 5.5",tier:"flagship"},{id:"gemini-4-argon",name:"Gemini 4 Argon",tier:"flagship"}],modes:[{id:"default",name:"Default",description:"Uses Antigravity's default permission handling. No extra permission flags are passed."},{id:"plan",name:"Plan",description:"Passes --mode plan. This turns on /plan; it is not a Claude-style permission mode."},{id:"acceptEdits",name:"Accept Edits",description:"Passes --mode accept-edits."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Passes --dangerously-skip-permissions so tools can run without approval prompts."}],effort:["low","medium","high"],modelOverrides:{"gemini-3.8-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.7-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.6-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.5-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.1-pro":{effort:["low","high"],defaultEffort:"high"},"claude-sonnet-5-5-medium":{effort:["low","medium","high"],defaultEffort:"medium"},"claude-opus-5-5-medium":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-4-argon":{effort:["low","medium","high"],defaultEffort:"high"},"claude-sonnet-4-6":{effort:[]},"claude-opus-4-6-thinking":{effort:[]},"gpt-oss-120b":{effort:["medium"],defaultEffort:"medium"}},providerOptions:[]},grok:{models:[{id:"grok-4.7",name:"Grok 4.7",contextWindowTokens:5e5,tier:"flagship",recommended:true},{id:"grok-4.6",name:"Grok 4.6",contextWindowTokens:5e5,tier:"flagship"},{id:"grok-4.5",name:"Grok 4.5",contextWindowTokens:5e5,tier:"flagship"}],modes:[{id:"default",name:"Default",description:"Uses Grok's default permission handling."},{id:"acceptEdits",name:"Accept Edits",description:"Allows file edits without changing the selected sandbox profile."},{id:"auto",name:"Auto",description:"Uses Grok automatic permission handling."},{id:"dontAsk",name:"Don't Ask",description:"Does not ask for permission before tool execution."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Bypasses Grok permission checks for tool execution."},{id:"plan",name:"Plan",description:"Keeps Grok in planning mode without applying changes."}],effort:["low","medium","high"],modelOverrides:{"grok-4.7":{effort:["low","medium","high","xhigh"],defaultEffort:"high"},"grok-4.6":{effort:["low","medium","high","xhigh"],defaultEffort:"high"},"grok-4.5":{effort:["low","medium","high"],defaultEffort:"high"}},providerOptions:[{key:"alwaysApprove",type:"boolean"},{key:"sandbox",type:"enum",values:["workspace","read-only","off"]}]}},re={providers:{"cli/codex":{model:"gpt-6.1-sol",query:{mode:"agent",effort:"high"},execute:{mode:"agent-full-access",effort:"high"}},"cli/claude":{model:"claude-opus-5-5",query:{mode:"default",effort:"high"},execute:{mode:"bypassPermissions",effort:"xhigh"}},"cli/grok":{model:"grok-4.7",query:{mode:"default",effort:"high",providerOptions:{alwaysApprove:true,sandbox:"off"}},execute:{mode:"bypassPermissions",effort:"xhigh",providerOptions:{alwaysApprove:true,sandbox:"off"}}}}};Object.fromEntries(Object.entries(L).map(([e,n])=>[e,n.models]));var Vn="claude-opus-4-8",qn="claude-opus-4-8[1m]",Ne=[{baseModelId:"claude-opus-4-8",catalogModelId:"claude-opus-4-8[1m]"},{baseModelId:"claude-opus-4-7",catalogModelId:"claude-opus-4-7[1m]"},{baseModelId:"claude-opus-4-6",catalogModelId:"claude-opus-4-6[1m]"},{baseModelId:"claude-sonnet-4-6",catalogModelId:"claude-sonnet-4-6[1m]"}];var zn=new Map(Ne.map(({baseModelId:e,catalogModelId:n})=>[e,n]));function Ue(e){return zn.get(e)??e}var Le=[{legacyId:"Gemini 3.7 Flash (High)",model:"gemini-3.7-flash",effort:"high"},{legacyId:"Gemini 3.7 Flash (Medium)",model:"gemini-3.7-flash",effort:"medium"},{legacyId:"Gemini 3.7 Flash (Low)",model:"gemini-3.7-flash",effort:"low"},{legacyId:"Gemini 3.6 Flash (High)",model:"gemini-3.6-flash",effort:"high"},{legacyId:"Gemini 3.6 Flash (Medium)",model:"gemini-3.6-flash",effort:"medium"},{legacyId:"Gemini 3.6 Flash (Low)",model:"gemini-3.6-flash",effort:"low"},{legacyId:"Gemini 3.5 Flash (Medium)",model:"gemini-3.5-flash",effort:"medium"},{legacyId:"Gemini 3.5 Flash (High)",model:"gemini-3.5-flash",effort:"high"},{legacyId:"Gemini 3.5 Flash (Low)",model:"gemini-3.5-flash",effort:"low"},{legacyId:"Gemini 3.1 Pro (Low)",model:"gemini-3.1-pro",effort:"low"},{legacyId:"Gemini 3.1 Pro (High)",model:"gemini-3.1-pro",effort:"high"},{legacyId:"Claude Sonnet 4.6 (Thinking)",model:"claude-sonnet-4-6"},{legacyId:"Claude Opus 4.6 (Thinking)",model:"claude-opus-4-6-thinking"},{legacyId:"GPT-OSS 120B (Medium)",model:"gpt-oss-120b",effort:"medium"},{legacyId:"gemini-3.7-flash-high",model:"gemini-3.7-flash",effort:"high"},{legacyId:"gemini-3.7-flash-medium",model:"gemini-3.7-flash",effort:"medium"},{legacyId:"gemini-3.7-flash-low",model:"gemini-3.7-flash",effort:"low"},{legacyId:"gemini-3.6-flash-high",model:"gemini-3.6-flash",effort:"high"},{legacyId:"gemini-3.6-flash-medium",model:"gemini-3.6-flash",effort:"medium"},{legacyId:"gemini-3.6-flash-low",model:"gemini-3.6-flash",effort:"low"},{legacyId:"gemini-3.5-flash-high",model:"gemini-3.5-flash",effort:"high"},{legacyId:"gemini-3.5-flash-medium",model:"gemini-3.5-flash",effort:"medium"},{legacyId:"gemini-3.5-flash-low",model:"gemini-3.5-flash",effort:"low"},{legacyId:"gemini-3.1-pro-high",model:"gemini-3.1-pro",effort:"high"},{legacyId:"gemini-3.1-pro-low",model:"gemini-3.1-pro",effort:"low"},{legacyId:"gpt-oss-120b-medium",model:"gpt-oss-120b",effort:"medium"}],Wn=new Map(Le.map(({legacyId:e,model:n,effort:t})=>[e,t===void 0?{model:n}:{model:n,effort:t}]));function Be(e){if(!e)return {};let n=Wn.get(e);return n?{...n}:{model:e}}function oe(e,n){return e==="antigravity"||e==="cli/antigravity"?Be(n):n===void 0?{}:{model:Ue(n)}}var He=30,je=80;Object.keys(Xn.special_tokens);var Yn=z$1.object({model:z$1.string().optional(),system_prompt:z$1.string().optional(),prompt:z$1.string().optional(),layout:z$1.union([z$1.string(),z$1.object({id:z$1.string(),props:z$1.record(z$1.unknown()).optional()}),z$1.object({props:z$1.record(z$1.unknown())}),z$1.object({template:z$1.string(),capabilities:z$1.object({semanticContinuity:z$1.boolean().optional(),continuity:z$1.boolean().optional(),continuitySlot:z$1.string().optional(),slot:z$1.string().optional()}).optional()})]).optional()}).catchall(z$1.unknown()),Kn=z$1.object({include:z$1.array(z$1.string()).optional()}).optional(),Qn=z$1.object({id:z$1.string(),name:z$1.string().optional(),role:z$1.string().optional(),team:z$1.string().optional(),provider:z$1.union([z$1.string(),z$1.array(z$1.string())]),provider_account:z$1.string().min(1).optional(),working_directory:z$1.string().optional(),description:z$1.string().optional(),tags:z$1.array(z$1.string()).optional(),inline:Yn.optional(),skills:Kn,interceptors:z$1.unknown().optional()}).catchall(z$1.unknown());z$1.object({id:z$1.string(),name:z$1.string(),workflow_id:z$1.string(),description:z$1.string().optional(),goal_id:z$1.string().optional()});var Zn=z$1.number().finite().int().min(He).max(je),et=z$1.object({inputBudgetPercent:Zn.optional()}).catchall(z$1.unknown()),nt=z$1.object({continuity:et.optional()}).catchall(z$1.unknown()),tt=z$1.object({bin_resolution:z$1.enum(["global_first","local_first"]).optional(),dreaming:nt.optional(),wi:z$1.object({boards:z$1.array(z$1.unknown()).optional().catch(()=>{})}).catchall(z$1.unknown()).optional().catch(()=>{})}).catchall(z$1.unknown()),Fe=z$1.object({agents:z$1.array(Qn).optional(),hooks:z$1.array(z$1.unknown()).optional(),settings:tt.optional(),skills:z$1.unknown().optional(),layouts:z$1.record(z$1.unknown()).optional(),documents:z$1.record(z$1.unknown()).optional()}).catchall(z$1.unknown());var C=class extends Error{constructor(t,r){super(t);this.cause=r;this.name="ConfigLoadError";}cause};function ot(e){if(!e||typeof e!="string"||!e.trim())throw new C("YAML content must be a non-empty string");let n;try{n=load(e);}catch(o){throw new C(`YAML parse error: ${o.message}`,o)}let t=it(n),r=Fe.safeParse(t);if(!r.success)throw new C(`Config validation error: ${r.error.message}`);return r.data}function it(e){if(!e||typeof e!="object")return {agents:[]};let n=e;if(n.agents&&typeof n.agents=="object"&&!Array.isArray(n.agents)){let t=n.agents,r=Object.entries(t).map(([o,i])=>({id:o,...i&&typeof i=="object"?i:{}}));return {...n,agents:r}}return n.agents?n:{...n,agents:[]}}var st={auto:"default"};function at(e){return st[e]??e}var dt="crewx:fs:",ie=class{prefix;store;constructor(n){this.prefix=n?.prefix??dt,this.store=n?.storage??new Map;}async readFile(n){let t=this.toKey(n),r=this.store.get(t);if(r===void 0)throw new Error(`BrowserFsAdapter: file not found: ${n}`);return r}async exists(n){return this.store.has(this.toKey(n))}resolvePath(...n){let t=n.map(a=>a.replace(/\\/g,"/")).join("/").replace(/\/+/g,"/"),r=t.split("/"),o=[];for(let a of r)a==="."||a===""||(a===".."?o.pop():o.push(a));let i=o.join("/");return t.startsWith("/")?`/${i}`:i}isAbsolute(n){return n.startsWith("/")}setItem(n,t){this.store.set(this.toKey(n),t);}removeItem(n){this.store.delete(this.toKey(n));}keys(){return Array.from(this.store.keys()).filter(n=>n.startsWith(this.prefix)).map(n=>n.slice(this.prefix.length))}async readdir(n){let t=n.replace(/\\/g,"/").replace(/\/$/,""),r=this.toKey(t+"/"),o=[];for(let i of this.store.keys())if(i.startsWith(r)){let s=i.slice(r.length).split("/")[0];s&&!o.includes(s)&&o.push(s);}return o}toKey(n){return `${this.prefix}${n.replace(/\\/g,"/")}`}};var se=["codex","claude","grok","opencode","antigravity","copilot"];function pt(e){let n=e.indexOf("/");return n===-1?e:e.slice(n+1)}function ae(e){let n=pt(e),t=se.indexOf(n);return t===-1?se.length:t}function ct(e,n){return ae(e)-ae(n)}var lt=new Set(["claude","copilot","codex","grok","opencode"]);function ut(e){if(!e)return "";if(e.startsWith("acp/")){let n=e.slice(4);if(lt.has(n))return `cli/${n}`}return e}function B(e){return {mode:e.mode,effort:e.effort}}function gt(e){let n=re.providers[e];if(!n)return;let t=e.startsWith("cli/")?e.slice(4):e,r=L[t]?.models.find(a=>a.recommended===true&&a.tier==="balanced")?.id??n.model,o={query:B(n.query),execute:B(n.execute)},i={query:B(n.query),execute:B(n.execute)};return {planner:{model:n.model,...o},worker:{model:r,...i}}}var Je=["urgent","high","medium","low"],Ve=["investigating","in-progress","in-review","on-hold","done"],S="custom:";var ft=new Set(Je),mt=new Set(Ve),yt={urgent:"U \uAE34\uAE09 Urgent",high:"P0 \uAE09\uD568 High",medium:"P1 \uC911\uC694 Medium",low:"P2 \uBCF4\uD1B5 Low"},de={investigating:"\uC870\uC0AC\uC911 Looking into","in-progress":"\uC9C4\uD589\uC911 In progress","in-review":"\uAC80\uD1A0\uC911 In review","on-hold":"\uBCF4\uB958 On hold",done:"\uC644\uB8CC Done"};function Ge(e,n){return !n||n.includes(e)?n??e:`${e} ${n}`}function pe(e){return typeof e=="string"&&ft.has(e)}function ce(e){if(typeof e!="string")return false;if(mt.has(e))return true;if(e.startsWith("c_"))return e.length>2;if(!e.startsWith(S))return false;let n=e.slice(S.length);return n.length>=1&&n.length<=20}function qe(e){if(e.startsWith(S))return e.slice(S.length)}function le(e){if(!e)return null;try{let n=JSON.parse(e);return !n||typeof n!="object"||Array.isArray(n)?null:n}catch{return null}}function At(e){let n=le(e);return !!n&&Object.prototype.hasOwnProperty.call(n,"threadTitle")}function ze(e){let n=le(e);if(!n)return {};let t=n.threadTitle;if(!t||typeof t!="object"||Array.isArray(t))return {};let r=t,o={};return pe(r.priority)&&(o.priority=r.priority),ce(r.state)&&(o.state=r.state),o}function ht(e,n){let t=le(e)??{},r={...ze(e)};return n.priority===null?delete r.priority:n.priority!==void 0&&(r.priority=n.priority),n.state===null?delete r.state:n.state!==void 0&&(r.state=n.state),r.priority===void 0&&r.state===void 0?delete t.threadTitle:t.threadTitle=r,Object.keys(t).length===0?null:JSON.stringify(t)}function _t(e,n=new Map){let t=[];return e.priority&&t.push(Ge(yt[e.priority],n.get(e.priority))),e.state&&(e.state.startsWith(S)?t.push(qe(e.state)??""):de[e.state]?t.push(Ge(de[e.state],n.get(e.state))):n.has(e.state)?t.push(e.state,n.get(e.state)??""):e.state.startsWith("c_")?t.push(e.state):t.push(de[e.state]??"")),t.filter(Boolean).join(" ")}function We(e,n){if(!e||e.trim().length===0)return;let t=new Set,r=false,o=false;for(let i of e.split(",")){let a=i.trim();if(a){if(a==="none"){r=true,o=true;continue}n(a)&&(t.add(a),o=true);}}if(o)return {values:t,includeNone:r}}function Tt(e){return We(e,pe)}function Et(e){return We(e,ce)}function It(e,n){return n?e?n.values.has(e):n.includeNone:true}var xt=["crewx_app_terminal_connect","crewx_app_html_viewer_open","crewx_app_browser","crewx_files_list","crewx_files_read","crewx_files_write","crewx_docs_share"];var ue=["text/plain","application/json"];var Pt=["__proto__","prototype","constructor","proof","token","secret","password","cookie","authorization","private_key","private-key","stack","exception","plugin_text","url","uri","endpoint","path","filename","filepath","cwd","shell","directory","dir","folder"];new Set(Pt);var $e=/^[A-Za-z][A-Za-z0-9._-]{0,127}$/;var Ct=/^uic_[A-Za-z0-9_-]+$/,Ot=/^[0-9a-f]{64}$/,h="MCP App content declarations are invalid";function k(e){return typeof e=="string"&&ue.includes(e)}function H(e){return typeof e=="string"&&e.length<=128&&Ct.test(e)}function bt(e,n){try{let t=n,r=w(t,"actions");if(!Ye(r))throw new Error(h);let o=[];for(let a of Object.keys(r)){let s=w(r,a);if(s===null||typeof s!="object"||Array.isArray(s))throw new Error(h);let p=Object.getOwnPropertyDescriptor(s,"content");if(p===void 0)continue;if(!Object.hasOwn(p,"value"))throw new Error(h);let l=Mt(p.value);o.push({actionId:a,...l});}if(o.length===0)return;o.sort((a,s)=>a.actionId<s.actionId?-1:a.actionId>s.actionId?1:0);let i={schemaVersion:1,instanceId:e,definition:{id:w(t,"id"),version:w(t,"version"),hash:w(t,"hash")},actions:o};if(!ge(i))throw new Error(h);for(let a of o)a.in!==void 0&&Object.freeze(a.in),a.out!==void 0&&Object.freeze(a.out),Object.freeze(a);return Object.freeze(o),Object.freeze(i.definition),Object.freeze(i)}catch{throw new Error(h)}}function ge(e){try{if(!j(e,["schemaVersion","instanceId","definition","actions"]))return !1;let n=e;if(n.schemaVersion!==1||!H(n.instanceId)||!kt(n.definition))return !1;let t=n.actions;if(!Lt(t)||t.length===0)return !1;let r;for(let o=0;o<t.length;o+=1){let i=t[o];if(!vt(i)||r!==void 0&&!(r<i.actionId))return !1;r=i.actionId;}return !0}catch{return false}}function Rt(e,n,t){return ge(e)?e.instanceId===n&&e.definition.id===t.id&&e.definition.version===t.version&&e.definition.hash===t.hash:false}function Mt(e){if(!v(e,["in","out"]))throw new Error(h);let n=e,t=Object.hasOwn(n,"in"),r=Object.hasOwn(n,"out");if(!t&&!r)throw new Error(h);return {...t?{in:St(n.in)}:{},...r?{out:wt(n.out)}:{}}}function St(e){if(!v(e,["mediaType","required"],["mediaType"]))throw new Error(h);let n=e,t=n.mediaType,r=Object.hasOwn(n,"required")?n.required:false;if(!k(t)||typeof r!="boolean")throw new Error(h);return {mediaType:t,required:r}}function wt(e){if(!v(e,["mediaType","range"],["mediaType"]))throw new Error(h);let n=e,t=n.mediaType,r=Object.hasOwn(n,"range")?n.range:false;if(!k(t)||typeof r!="boolean")throw new Error(h);return {mediaType:t,range:r}}function kt(e){if(!j(e,["id","version","hash"]))return false;let n=e;return Xe(n.id)&&Ut(n.version)&&typeof n.hash=="string"&&Ot.test(n.hash)}function vt(e){if(!v(e,["actionId","in","out"],["actionId"]))return false;let n=e,t=n.actionId,r=Object.hasOwn(n,"in"),o=Object.hasOwn(n,"out");return !(typeof t!="string"||!Xe(t)||!r&&!o||r&&!Dt(n.in)||o&&!Nt(n.out))}function Dt(e){if(!j(e,["mediaType","required"]))return false;let n=e;return k(n.mediaType)&&typeof n.required=="boolean"}function Nt(e){if(!j(e,["mediaType","range"]))return false;let n=e;return k(n.mediaType)&&typeof n.range=="boolean"}function Xe(e){return typeof e=="string"&&$e.test(e)}function Ut(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>0}function Lt(e){if(!Array.isArray(e))return false;let n=Reflect.ownKeys(e);if(n.length!==e.length+1||n[e.length]!=="length")return false;for(let t=0;t<e.length;t+=1){if(n[t]!==String(t))return false;let r=Object.getOwnPropertyDescriptor(e,String(t));if(r===void 0||!Object.hasOwn(r,"value"))return false}return true}function j(e,n){return v(e,n,n)}function v(e,n,t=[]){if(!Ye(e))return false;let r=Reflect.ownKeys(e);if(r.length>n.length||r.length<t.length)return false;for(let o of r){if(typeof o!="string"||!n.includes(o))return false;let i=Object.getOwnPropertyDescriptor(e,o);if(i===void 0||!Object.hasOwn(i,"value"))return false}return t.every(o=>Object.hasOwn(e,o))}function Ye(e){if(e===null||typeof e!="object"||Array.isArray(e))return false;let n=Object.getPrototypeOf(e);return n===Object.prototype||n===null}function w(e,n){if(e===null||typeof e!="object")return;let t=Object.getOwnPropertyDescriptor(e,n);return t!==void 0&&Object.hasOwn(t,"value")?t.value:void 0}var Ke=[5,15,30,60],fe=Object.freeze({min:15e3,max:6e5,default:3e5}),Bt=1;var Ht="exit 78",Qe=["standby","disabled","draining","degraded"],jt=["cron","cron_manual","app_enable"],Ft=/^[A-Z][A-Z0-9_]{0,63}$/u;function Gt(e){return typeof e=="string"&&Ft.test(e)}function Jt(e){return Ke.includes(e)}function Vt(e){return Number.isSafeInteger(e)&&e>=fe.min&&e<=fe.max}function qt(e){return Qe.includes(e)}var me=Object.freeze({min:6e4,max:18e5,default:6e5}),zt=1,Ze="crewx/appJobs",en=1,ye=["starting","running","stopping","finished"],Ae=["succeeded","failed","timed_out","cancelled","shutdown","interrupted"],he=["cancelled","timed_out","shutdown"],_e=["manual","schedule"],Wt=/^[a-z][a-z0-9_]{0,63}$/u,$t=/^[A-Z][A-Z0-9_]{0,63}$/u,nn=["start","status","cancel"],tn=["APP_JOB_NOT_DECLARED","APP_JOB_NOT_AUTHORIZED","APP_JOB_SELF_START","APP_JOB_OWNER_INVALID","APP_JOB_DEFINITION_INVALID","APP_JOB_DEFINITION_CHANGED","APP_JOB_DEADLINE_INVALID","APP_JOB_SHUTTING_DOWN","APP_JOB_OWNER_MISMATCH","APP_JOB_STALE_HANDLE","APP_JOB_NOT_ACTIVE","APP_JOB_NOT_GRANTED"],Xt="APP_JOB_RUN_REQUIRED";function Yt(e){return Number.isSafeInteger(e)&&e>=me.min&&e<=me.max}function Te(e){return typeof e=="string"&&$t.test(e)}function Ee(e){return typeof e=="string"&&Wt.test(e)}function rn(e){return nn.includes(e)}function Kt(e){return e?.some(({name:n,version:t})=>n===Ze&&t===en)===true}var Qt="CREWX_APP_JOB_CHANNEL",Zt=1,er=4096,nr=1e4,tr=5e3;var rr=/^[A-Za-z0-9._:-]{1,128}$/u,or=64,ir=2147483647;function sr(e){return e==="schedule"?"schedule":"manual"}function ar(e){return dr(e)}function dr(e){let n=dn(e)?e:void 0;if(n===void 0||!an(n,["handle","state","stopReason","trigger","outcome","phase","completed","total","resumable","lastHeartbeatAt","startedAt","finishedAt","errorCode","recoverable"],[]))return;let t=pr(n.handle),r=n.stopReason,o=n.outcome,i=n.phase,a=n.errorCode,s=n.recoverable;if(!(t===void 0||!ye.includes(n.state)||!(r===null||he.includes(r))||r!==null&&n.state!=="stopping"||!_e.includes(n.trigger)||!(o===null||Ae.includes(o))||!(i===null||Ee(i))||!(n.completed===null||on(n.completed))||!(n.total===null||on(n.total))||typeof n.resumable!="boolean"||!sn(n.lastHeartbeatAt)||!pn(n.startedAt)||!sn(n.finishedAt)||!(a===null||Te(a))||!(s===null||typeof s=="boolean")))return {handle:t,state:n.state,stopReason:r,trigger:n.trigger,outcome:o,phase:i,completed:n.completed,total:n.total,resumable:n.resumable,lastHeartbeatAt:n.lastHeartbeatAt,startedAt:n.startedAt,finishedAt:n.finishedAt,errorCode:a,recoverable:s}}function pr(e){if(!(!dn(e)||!an(e,["runId","generation"],[]))&&!(typeof e.runId!="string"||!rr.test(e.runId)||!cr(e.generation)))return {runId:e.runId,generation:e.generation}}function an(e,n,t){let r=new Set([...n,...t]);return Object.keys(e).every(o=>r.has(o))&&n.every(o=>Object.hasOwn(e,o))}function dn(e){if(e===null||typeof e!="object"||Array.isArray(e))return false;let n=Object.getPrototypeOf(e);return n===Object.prototype||n===null}function cr(e){return Number.isSafeInteger(e)&&e>=1&&e<=ir}function on(e){return Number.isSafeInteger(e)&&e>=0}function pn(e){return typeof e=="string"&&e.length>0&&e.length<=or}function sn(e){return e===null||pn(e)}var lr="crewx/openApp",xe=1,ur="ui/crewx-open-app",gr="ui/crewx-open-app-status",ln=32768,un=8,Pe=["opened","completed","pending"],Ce=["UI_APP_OPEN_INVALID","UI_APP_OPEN_UNAVAILABLE","UI_APP_OPEN_GESTURE_REQUIRED","UI_APP_OPEN_STALE","UI_APP_OPEN_BUSY","UI_APP_OPEN_REJECTED","UI_APP_OPEN_FAILED","UI_APP_OPEN_REQUEST_ID_CONFLICT"],Oe=["RECEIPT_FAILED","RECEIPT_REJECTED","RECEIPT_CONFLICTED","RECEIPT_EXPIRED","LEDGER_MISSING","LEDGER_EXPIRED"],G=class extends Error{constructor(t,r){super(t);this.errorCode=t;this.causeCode=r;}errorCode;causeCode;name="CrewxOpenAppError"},fr=/^[A-Za-z0-9-]{8,64}$/,mr=/^[A-Za-z0-9_-]{1,128}$/,J=/^[A-Za-z][A-Za-z0-9._-]{0,127}$/,yr=new TextEncoder,cn=/\p{Surrogate}/u,Ar=new Set(["__proto__","constructor","prototype"]);function u(){throw new G("UI_APP_OPEN_INVALID")}function D(e,n){return Object.prototype.hasOwnProperty.call(e,n)}function q(e){if(e===null||typeof e!="object"||Array.isArray(e))return false;let n=Object.getPrototypeOf(e);return n===Object.prototype||n===null}function E(e,n,t=[]){q(e)||u();let r=new Set([...n,...t]);for(let o of Object.keys(e))r.has(o)||u();for(let o of n)D(e,o)||u();return e}function V(e,n){return (typeof e!="string"||!n.test(e))&&u(),e}function z(e){return (typeof e!="string"||!fr.test(e))&&u(),e}function b(e){(typeof e!="string"||!mr.test(e))&&u();let n=e.indexOf("_");return (n<0||n===e.length-1)&&u(),z(e.slice(0,n)),e}function gn(e){return b(e).slice(0,e.indexOf("_"))}function fn(e){return H(e)||u(),e}function O(e,n){let t=n.find(r=>r===e);return t===void 0&&u(),t}function Ie(e,n){if(e===null)return "null";if(typeof e=="boolean")return e?"true":"false";if(typeof e=="number")return Number.isFinite(e)||u(),JSON.stringify(e);if(typeof e=="string")return cn.test(e)&&u(),JSON.stringify(e);if(n>un&&u(),Array.isArray(e)){let o=[];for(let i=0;i<e.length;i+=1)D(e,String(i))||u(),o.push(Ie(e[i],n+1));return `[${o.join(",")}]`}q(e)||u();let t=e;return `{${Object.keys(t).sort().map(o=>((Ar.has(o)||cn.test(o))&&u(),`${JSON.stringify(o)}:${Ie(t[o],n+1)}`)).join(",")}}`}function hr(e){let n=E(e,["requestId","appId"],["action"]),t=b(n.requestId),r=V(n.appId,J);if(!D(n,"action"))return {requestId:t,appId:r};let o=E(n.action,["actionId","input"]),i=o.input;return q(i)||u(),{requestId:t,appId:r,action:{actionId:V(o.actionId,J),input:i}}}function mn(e){return {version:xe,sessionId:z(e)}}function _r(e){let n=E(e,["version","sessionId"]);return n.version!==xe&&u(),mn(z(n.sessionId))}function Tr(e,n){return typeof n!="string"&&u(),b(`${z(e)}_${n}`)}function yn(e){let n=Ie(hr(e),1);return yr.encode(n).byteLength>ln&&u(),n}function Er(e){return JSON.parse(yn(e))}function Ir(e){let n=E(e,["requestId"]);return {requestId:b(n.requestId)}}function An(e){return {status:O(e.status,Pe),appId:V(e.appId,J),instanceId:fn(e.instanceId),requestId:b(e.requestId)}}function hn(e,n){let t=O(e,Ce);return n===void 0?{isError:true,_meta:{errorCode:t}}:{isError:true,_meta:{errorCode:t,causeCode:O(n,Oe)}}}function xr(e){if(q(e)||u(),D(e,"isError")){let t=E(e,["isError","_meta"]);t.isError!==true&&u();let r=E(t._meta,["errorCode"],["causeCode"]);return hn(O(r.errorCode,Ce),D(r,"causeCode")?O(r.causeCode,Oe):void 0)}let n=E(e,["status","appId","instanceId","requestId"]);return An({status:O(n.status,Pe),appId:V(n.appId,J),instanceId:fn(n.instanceId),requestId:b(n.requestId)})}function F(e,n){return {state:"failed",errorCode:e,causeCode:n}}function Pr(e){if(e.kind==="pending"||e.status==="requested")return {state:"pending"};if(e.outcome==="succeeded")return {state:"completed"};switch(e.outcome){case "rejected":return F("UI_APP_OPEN_REJECTED","RECEIPT_REJECTED");case "conflicted":return F("UI_APP_OPEN_STALE","RECEIPT_CONFLICTED");case "expired":return F("UI_APP_OPEN_STALE","RECEIPT_EXPIRED");default:return F("UI_APP_OPEN_FAILED","RECEIPT_FAILED")}}function be(e,n){return e.workspaceId===n.workspaceId&&e.threadId===n.threadId&&e.instanceId===n.instanceId&&e.definition.id===n.definition.id&&e.definition.version===n.definition.version&&e.definition.hash===n.definition.hash&&e.entryHash===n.entryHash}function Cr(e){if(gn(e.requestId)!==e.activeSessionId)return "stale";let{lookup:n}=e;return n.kind==="absent"?n.capacity==="full"?"busy":"new":be(n.record.source,e.source)&&n.record.payloadDigest===e.payloadDigest?"known":"conflict"}function Or(e){return gn(e.requestId)!==e.activeSessionId||e.lookup.kind!=="present"?"stale":be(e.lookup.record.source,e.source)?"known":"stale"}export{Le as ANTIGRAVITY_MODEL_COMPATIBILITY,tr as APP_JOB_BRIDGE_DRAIN_TIMEOUT_MS,Qt as APP_JOB_BRIDGE_ENV,er as APP_JOB_BRIDGE_MAX_LINE_BYTES,nr as APP_JOB_BRIDGE_REPLY_TIMEOUT_MS,Zt as APP_JOB_BRIDGE_VERSION,Ze as APP_JOB_CAPABILITY,en as APP_JOB_CAPABILITY_VERSION,me as APP_JOB_DEADLINE_MS,zt as APP_JOB_MAX_PER_APP,nn as APP_JOB_OPERATIONS,Ae as APP_JOB_OUTCOMES,tn as APP_JOB_REFUSAL_CODES,Xt as APP_JOB_RUN_REQUIRED,ye as APP_JOB_STATES,he as APP_JOB_STOP_REASONS,_e as APP_JOB_TRIGGERS,Ht as APP_SCHEDULE_INERT_COMMAND,Ke as APP_SCHEDULE_INTERVALS_MINUTES,Bt as APP_SCHEDULE_MAX_PER_APP,Qe as APP_SCHEDULE_PERIODIC_REASONS,fe as APP_SCHEDULE_TIMEOUT_MS,Ve as BUILTIN_THREAD_STATES,ie as BrowserFsAdapter,Ne as CLAUDE_MODEL_COMPATIBILITY_PAIRS,Vn as CLAUDE_OPUS_4_8_BASE_MODEL_ID,qn as CLAUDE_OPUS_4_8_LEGACY_MODEL_ID,lr as CREWX_OPEN_APP_CAPABILITY,xe as CREWX_OPEN_APP_CAPABILITY_VERSION,un as CREWX_OPEN_APP_MAX_JSON_DEPTH,ln as CREWX_OPEN_APP_MAX_PARAMS_BYTES,ur as CREWX_OPEN_APP_METHOD,gr as CREWX_OPEN_APP_STATUS_METHOD,Pe as CREWX_OPEN_APP_SUCCESS_STATUSES,C as ConfigLoadError,K as Crewx,G as CrewxOpenAppError,jn as EFFORT_LEVELS,xt as MCP_APP_HOST_TOOL_ALLOWLIST,Fn as PROVIDER_ARGV_EFFORTS,se as PROVIDER_ORDER,m as ProviderError,jt as SCHEDULE_TRIGGERS,Je as THREAD_PRIORITIES,Oe as UI_APP_OPEN_CAUSE_CODES,Ce as UI_APP_OPEN_ERROR_CODES,ue as UI_CONTENT_MEDIA_TYPES,sr as appJobTriggerForActor,bt as buildMcpAppContentActions,yn as canonicalCrewxOpenAppPayload,Sn as classifyTaskError,ct as compareProviders,Rt as contentActionsMatch,mn as createCrewxOpenAppCapabilityDeclaration,hn as createCrewxOpenAppErrorResult,Tr as createCrewxOpenAppRequestId,An as createCrewxOpenAppSuccessResult,N as createProvider,qe as customStateLabel,Cr as decideCrewxOpenAppOpen,Or as decideCrewxOpenAppStatus,gt as getDefaultAgentProfile,Kt as hasAppJobCapability,At as hasThreadTitleKey,Te as isAppJobCode,Yt as isAppJobDeadlineMs,rn as isAppJobOperation,Ee as isAppJobPhase,Gt as isAppScheduleCode,Jt as isAppScheduleIntervalMinutes,qt as isAppSchedulePeriodicReason,Vt as isAppScheduleTimeoutMs,ge as isMcpAppContentActions,be as isSameCrewxOpenAppSourceBinding,pe as isThreadPriority,ce as isThreadState,k as isUiContentMediaType,H as isValidUiAppInstanceId,It as matchesThreadTitleFilter,ht as mergeThreadTitleMeta,at as normalizeClaudeMode,ut as normalizeProviderId,ar as parseAppJobView,_r as parseCrewxOpenAppCapabilityDeclaration,Er as parseCrewxOpenAppRequest,xr as parseCrewxOpenAppResult,Ir as parseCrewxOpenAppStatusRequest,Tt as parseThreadPriorityFilter,Et as parseThreadStateFilter,ot as parseYamlContent,ae as providerRank,ze as readThreadTitleMeta,Q as redactTechnicalMessage,Y as registerProviderFactory,Be as resolveAntigravityModel,Ue as resolveCatalogModelId,Pr as resolveCrewxOpenAppActionOutcome,oe as resolveProviderCatalogModel,_t as threadTitleSearchHaystack};
|
package/dist/index.d.ts
CHANGED
|
@@ -92,7 +92,7 @@ export { initModelsRemote } from './config/models.remote';
|
|
|
92
92
|
export { resolveAgent, AgentNotFoundError } from './agent/resolver';
|
|
93
93
|
export { resolveAgentSkills } from './agent/resolve-skills';
|
|
94
94
|
export { PROVIDER_ORDER, providerRank, compareProviders, normalizeProviderId } from './provider/order';
|
|
95
|
-
export { getProviderModels, getClaudeModels, getCodexModels, getCopilotModels, getAntigravityModels, setModelsOverride, clearModelsOverride, mergeModels, type ModelCatalogEntry, type ModelMergeEntry, type ModelTier, type ProviderOptionSpec, } from './provider/models';
|
|
95
|
+
export { getProviderCatalog, getProviderModels, getClaudeModels, getCodexModels, getCopilotModels, getAntigravityModels, setModelsOverride, clearModelsOverride, mergeModels, type ModelCatalogEntry, type ModelMergeEntry, type ModelTier, type ProviderCatalogEntry, type ProviderOptionSpec, } from './provider/models';
|
|
96
96
|
export { getDefaultAgentProfile } from './config/default-agent-models.js';
|
|
97
97
|
export type { DefaultAgentProfile, DefaultAgentStage } from './config/default-agent-models.js';
|
|
98
98
|
export { isProviderAvailable } from './provider/provider-selection';
|