qlogicagent 2.19.12 → 2.19.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/agent.js +26 -25
  2. package/dist/cli.js +1 -1
  3. package/dist/host-contract.js +1 -1
  4. package/dist/index.js +364 -360
  5. package/dist/orchestration.js +7 -7
  6. package/dist/project-memory-host.js +10 -10
  7. package/dist/protocol.js +1 -1
  8. package/dist/types/cli/handlers/memory-handler.d.ts +4 -35
  9. package/dist/types/cli/rpc-registry.d.ts +4 -4
  10. package/dist/types/cli/task-distillation-coordinator.d.ts +48 -11
  11. package/dist/types/contracts/error-category.d.ts +11 -0
  12. package/dist/types/contracts/hooks.d.ts +2 -0
  13. package/dist/types/host-contract/index.d.ts +3 -3
  14. package/dist/types/orchestration/error-handling/error-classification.d.ts +2 -2
  15. package/dist/types/runtime/execution/dream-agent.d.ts +11 -1
  16. package/dist/types/runtime/hooks/memory-hooks.d.ts +10 -3
  17. package/dist/types/runtime/infra/llmrouter-managed-inference.d.ts +1 -1
  18. package/dist/types/runtime/memory/find-relevant-memories.d.ts +0 -44
  19. package/dist/types/runtime/ports/memory-provider.d.ts +15 -2
  20. package/dist/types/skills/memory/host-memory-provider.d.ts +43 -0
  21. package/dist/types/skills/memory/task-distillation.d.ts +29 -19
  22. package/package.json +2 -2
  23. package/dist/types/runtime/infra/codex-llmrouter-compat-proxy.d.ts +0 -4
  24. package/dist/types/skills/memory/local-store-records.d.ts +0 -206
  25. package/dist/types/skills/memory/local-store.d.ts +0 -376
  26. package/dist/types/skills/memory/memory-attachment-store.d.ts +0 -62
  27. package/dist/types/skills/memory/memory-consolidation.d.ts +0 -64
  28. package/dist/types/skills/memory/memory-db-path.d.ts +0 -13
  29. package/dist/types/skills/memory/proposal-consumer.d.ts +0 -51
  30. package/dist/types/skills/memory/sqlite-memory-mappers.d.ts +0 -7
  31. package/dist/types/skills/memory/sqlite-memory-schema.d.ts +0 -11
@@ -1 +1 @@
1
- import{MODEL_PURPOSES as Et}from"@xiaozhiclaw/module-sdk/model-access";function m(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function y(e,t){let n=new Set(t);return Object.keys(e).every(o=>n.has(o))}function p(e){return typeof e=="string"&&e.trim()===e&&e.length>0&&e.length<=512&&!e.includes("\0")}function k(e){return Number.isSafeInteger(e)&&Number(e)>0}function C(e){return m(e)&&y(e,["agentId","projectId","nativeId"])&&p(e.agentId)&&p(e.projectId)&&p(e.nativeId)}function M(e){if(!m(e)||!y(e,["resourceId","canonicalSessionId","source","projectId","agentId","title","titleSource","lastActiveAt","lifecycle","availableCommands","nativeRef"])||!p(e.resourceId)||!p(e.projectId)||!p(e.agentId)||!p(e.lastActiveAt)||e.source!=="host"&&e.source!=="native-unadopted"||e.source==="host"&&!p(e.canonicalSessionId)||e.source==="native-unadopted"&&!C(e.nativeRef)||e.canonicalSessionId!==void 0&&!p(e.canonicalSessionId)||e.nativeRef!==void 0&&!C(e.nativeRef))return!1;let t=new Set(["host.setPinned","host.rename","host.setArchived","host.deleteRecord"]);return!Array.isArray(e.availableCommands)||!e.availableCommands.every(n=>typeof n=="string"&&t.has(n))||new Set(e.availableCommands).size!==e.availableCommands.length||e.source==="native-unadopted"&&e.availableCommands.length>0||e.title!==void 0&&typeof e.title!="string"||e.titleSource!==void 0&&e.titleSource!=="prompt"&&e.titleSource!=="generated"&&e.titleSource!=="user"&&e.titleSource!=="native"&&e.titleSource!=="repaired"?!1:e.lifecycle==="active"||e.lifecycle==="archived"||e.lifecycle==="source-missing"||e.lifecycle==="resume-unavailable"}function _(e){return m(e)&&y(e,["agentId","projectId","code","message","lastGoodRevision"])&&p(e.agentId)&&p(e.projectId)&&p(e.code)&&typeof e.message=="string"&&e.message.length>0&&e.message.length<=2e4&&(e.lastGoodRevision===void 0||k(e.lastGoodRevision))}function z(e){return typeof e=="string"&&e.length>0&&!Number.isNaN(Date.parse(e))}function $(e){return m(e)&&y(e,["id","role","content","createdAt"])&&Object.prototype.hasOwnProperty.call(e,"content")&&(e.id===void 0||p(e.id))&&(e.role==="user"||e.role==="assistant"||e.role==="tool")&&(e.createdAt===void 0||z(e.createdAt))}function G(e){return m(e)&&y(e,["messages","diagnostics"])&&Array.isArray(e.messages)&&e.messages.every($)&&(e.diagnostics===void 0||Array.isArray(e.diagnostics))}function X(e){return m(e)&&y(e,["revision","scopeGeneration","items","diagnostics"])&&k(e.revision)&&k(e.scopeGeneration)&&Array.isArray(e.items)&&e.items.every(M)&&Array.isArray(e.diagnostics)&&e.diagnostics.every(_)}function W(e){return m(e)&&y(e,["revision","scopeGeneration","addedOrUpdated","removed","diagnostics"])&&k(e.revision)&&k(e.scopeGeneration)&&(e.addedOrUpdated===void 0||Array.isArray(e.addedOrUpdated)&&e.addedOrUpdated.every(M))&&(e.removed===void 0||Array.isArray(e.removed)&&e.removed.every(p))&&(e.diagnostics===void 0||Array.isArray(e.diagnostics)&&e.diagnostics.every(_))}var b="llmrouter";function A(e){return e.baseUrl??e.base_url}function E(e){return{zhipu:"Zhipu GLM","zhipu-openai":"Zhipu GLM OpenAI","zhipu-coding":"Zhipu GLM Coding",qwen:"Alibaba Qwen (DashScope)","qwen-coding":"Alibaba Qwen (Coding Plan)",volcengine:"Doubao / Volcengine","volcengine-plan":"Doubao / Volcengine Plan"}[e.id]??e.displayName??e.name??e.id}function w(e){return e.id===b?b:e.group?.trim()||e.id}function Q(e){return e.id===w(e)}function O(e){return E({...e,id:w(e)})}function J(e){return{volcengine:"\u5E38\u89C4 Ark API Key","volcengine-plan":"\u8BA2\u9605 / Plan \u901A\u9053",qwen:"\u5E38\u89C4 DashScope API Key","qwen-coding":"Coding Plan \u901A\u9053",zhipu:"Anthropic \u901A\u9053","zhipu-openai":"OpenAI \u517C\u5BB9\u901A\u9053","zhipu-coding":"Coding \u901A\u9053"}[e.id]??E(e)}function Z(e){return e.authType==="none"?!1:e.apiKeyEnvVars===void 0||e.apiKeyEnvVars.length>0}function ee(e){return{id:e.id,displayName:J(e),baseUrl:A(e)??"",modelCount:e.models?.length??0}}function $e(e){let t=new Map;for(let n of e){if(!Z(n))continue;let o=w(n);if(o===b)continue;let a=n.models?.length??0,u=ee(n),d=t.get(o);if(!d){t.set(o,{id:o,displayName:O(n),baseUrl:A(n)??"",modelCount:a,variants:[u]});continue}d.modelCount+=a,d.variants??=[],d.variants.some(c=>c.id===u.id)||d.variants.push(u),Q(n)&&(d.displayName=O(n),d.baseUrl=A(n)??d.baseUrl)}return Array.from(t.values()).map(({variants:n,...o})=>({...o,...n&&n.length>1?{variants:n}:{}}))}function te(e){return e.defaultModel??e.models?.find(t=>!!t.id)?.id}function ne(e){let t=e.replace(/\/+$/,"");return[...new Set([`${t}/models`,/\/v\d+$/.test(t)?`${t}/models`:`${t}/v1/models`])]}function Ge(e){return e===404||e===405||e===410||e===501}function x(e){return{accept:"application/json",Authorization:`Bearer ${e}`}}function re(e,t){let n=e.trim(),o=t?.baseUrl?.trim();return t?.transport==="anthropic-messages"&&o&&/\/anthropic\/?$/.test(o)&&!/\/anthropic\/?$/.test(n)?o:n}function se(e){let t=e.trim().replace(/\/+$/,"");return t.endsWith("/v1")?`${t}/models`:`${t}/v1/models`}function Xe(e,t,n,o){if(e===b)return[{method:"GET",url:se(n),headers:x(t)}];let a=re(n,o).replace(/\/+$/,""),u=o?.transport,d=te(o??{id:e}),c=[];if(u==="anthropic-messages")return/\/anthropic$/.test(a)&&c.push({method:"GET",url:`${a.replace(/\/anthropic$/,"")}/models`,headers:x(t)}),d&&c.push({method:"POST",url:`${a}/v1/messages`,headers:{"Content-Type":"application/json","x-api-key":t,"anthropic-version":"2023-06-01"},body:{model:d,messages:[{role:"user",content:"ping"}],max_tokens:1,stream:!1}}),c;if(u==="gemini-generatecontent")return d?[{method:"POST",url:`${a}/models/${encodeURIComponent(d)}:generateContent`,headers:{"Content-Type":"application/json","x-goog-api-key":t},body:{contents:[{role:"user",parts:[{text:"ping"}]}],generationConfig:{maxOutputTokens:1}}}]:c;if(u==="volcengine-responses")return d?[{method:"POST",url:`${a.replace(/\/v\d+$/,"")}/v3/responses`,headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`},body:{model:d,input:[{role:"user",content:[{type:"input_text",text:"ping"}]}],max_output_tokens:1,stream:!1,store:!1}}]:c;for(let S of ne(a))c.push({method:"GET",url:S,headers:x(t)});return c}import{createHash as ie}from"node:crypto";import{resolve as oe}from"node:path";function ae(e){return ie("sha256").update(oe(e).toLowerCase()).digest("hex").slice(0,16)}var de=/[一-鿿]/;function j(e){let t=[],n=e.toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[];for(let o of n){let a="",u=!1,d=()=>{if(a){if(u){a.length===1&&t.push(a);for(let c=0;c+1<a.length;c++)t.push(a.slice(c,c+2))}else t.push(a);a=""}};for(let c of o){let S=de.test(c);a&&S!==u&&d(),u=S,a+=c}d()}return t}function ce(e){return j(e).join(" ")}var h=":";function tt(e){for(let[t,n]of[["kind",e.kind],["owner",e.owner],["name",e.name]])if(n.includes(h))throw new Error(`memberKey: field "${t}" contains reserved separator "${h}": ${n}`);return`${e.kind}${h}${e.owner}${h}${e.name}${h}${e.seq}`}function nt(e,t){return e.kind===t.kind&&e.owner===t.owner&&e.name===t.name&&e.seq===t.seq}var rt=["CANCELLED","PROCESS_EXIT","HEARTBEAT_TIMEOUT","TURN_TIMEOUT","PROTOCOL_MISMATCH","UNKNOWN"],st={request:"x/delegate",update:"x/delegate.update",respond:"x/delegate.respond",cancel:"x/delegate.cancel"},pe=["search","addText","embedText","ingestExtracted","proposeExtracted","consumePendingProposals","feedback","findRelatedEvents","synthesizeTimeline","getActivitySummary","getAllProfiles","setProfile","getAtlas","setMemoryArchived","triggerDecay","resolveConflicts"],le=["initialize","getIndex","addToIndex","replaceInIndex","removeFromIndex","createFile","writeFile","readFile","deleteFile","listFiles","searchLocal"],ge=["getSkillSnapshot","readSkillFile","recordSkillInvocation","commitSkillMutation","applyCuratorPlan","prepareSkillInstall","finalizeSkillInstall"],ue=["loadForResume","appendTranscript","updateTitle","saveState","saveTaskSummary","groupSplit"],fe=["commitTurnTelemetry","listDistillableFeedback","markFeedbackDistilled","runUploadSweep"],me=["getSnapshot","create","switch","update"],it=1024*1024,ye=["list","get","diagnose"],Ie=["navigate","snapshot","click","type","screenshot","console","network"],ot=["navigate","click","type"],at=["snapshot","screenshot","console","network"];function dt(e){if(typeof e!="string")return!1;let t=/^preview:([1-9]\d*)$/.exec(e);return t!==null&&Number.isSafeInteger(Number(t[1]))}var Se=["open","recordEvent","checkpoint","get","list","delete","getCheckpoint","listCheckpoints","restoreCheckpoint"],ke=["getTunables","updateTunable","clearTunable","appendDirectoryAllowRule"],ct={request:"x/host.request"},H=new Set(["memory","projectMemory","profile","preview","capability","session","feedback","project","runState","provider"]),he=new Set(pe),Pe=new Set(le),be=new Set(ke),Re=new Set(ge),xe=new Set(ue),Ae=new Set(fe),we=new Set(me),He=new Set(Se),Te=new Set(ye),Ce=new Set(Ie);function i(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function P(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function q(e,t){return t.every(n=>e[n]===void 0||typeof e[n]=="string")}function Me(e){return i(e)?typeof e.name=="string"&&e.name.length>0&&(e.state==="active"||e.state==="stale"||e.state==="archived")&&typeof e.createdAt=="string"&&typeof e.pinned=="boolean"&&typeof e.useCount=="number"&&Number.isFinite(e.useCount)&&(e.source==="learned"||e.source==="created"||e.source==="installed"||e.source==="promoted")&&q(e,["lastUsedAt","lastViewedAt","lastPatchedAt","staleAt","archivedAt","resourceType","artifactDigest","registryResourceId","registryVersion","registryKeptSignalAt"])&&["launcherRequired","manualReviewRequired"].every(t=>e[t]===void 0||typeof e[t]=="boolean")&&["positiveCount","negativeCount"].every(t=>e[t]===void 0||typeof e[t]=="number"&&Number.isFinite(e[t]))&&["sourceTier","registrySourceTier"].every(t=>e[t]===void 0||e[t]==="official"||e[t]==="community")&&["riskTier","registryRiskTier","registryEffectiveRiskTier"].every(t=>e[t]===void 0||e[t]==="R0"||e[t]==="R1"||e[t]==="R2"||e[t]==="R3"):!1}function _e(e){return i(e)?r(e,["name","filePath","baseDir","fileRevision","globallyDisabled","projectDisabled","active","systemGenerated","description","version","category","author","requiredTools","environments","source","registryVersion"])&&typeof e.name=="string"&&e.name.length>0&&typeof e.filePath=="string"&&e.filePath.length>0&&typeof e.baseDir=="string"&&e.baseDir.length>0&&typeof e.fileRevision=="string"&&e.fileRevision.length>0&&typeof e.globallyDisabled=="boolean"&&typeof e.projectDisabled=="boolean"&&typeof e.active=="boolean"&&typeof e.systemGenerated=="boolean"&&q(e,["description","version","category","author","registryVersion"])&&(e.source===void 0||e.source==="learned"||e.source==="created"||e.source==="installed"||e.source==="promoted")&&(e.requiredTools===void 0||P(e.requiredTools))&&(e.environments===void 0||P(e.environments)):!1}function Oe(e){return i(e)&&r(e,["name","skills","filePath"])&&typeof e.name=="string"&&e.name.length>0&&P(e.skills)&&typeof e.filePath=="string"&&e.filePath.length>0}function pt(e){return!i(e)||typeof e.revision!="string"||e.revision.length===0?!1:e.notModified===!0?r(e,["revision","notModified"]):e.notModified!==!1||!r(e,["revision","notModified","skills","lifecycle","bundles"])?!1:Array.isArray(e.skills)&&e.skills.every(_e)&&Array.isArray(e.lifecycle)&&e.lifecycle.every(Me)&&Array.isArray(e.bundles)&&e.bundles.every(Oe)}function lt(e){return i(e)&&r(e,["name","relativePath","content","baseDir","revision"])&&typeof e.name=="string"&&e.name.length>0&&typeof e.relativePath=="string"&&e.relativePath.length>0&&typeof e.content=="string"&&typeof e.baseDir=="string"&&e.baseDir.length>0&&typeof e.revision=="string"&&e.revision.length>0}function gt(e){return i(e)&&r(e,["name","lastUsedAt","useCount","positiveCount","negativeCount"])&&f(e.name)&&typeof e.lastUsedAt=="string"&&e.lastUsedAt.length>0&&["useCount","positiveCount","negativeCount"].every(t=>typeof e[t]=="number"&&Number.isFinite(e[t])&&e[t]>=0)}function ut(e){return!i(e)||!f(e.name)||typeof e.kind!="string"?!1:e.kind==="create"||e.kind==="editContent"||e.kind==="editSupportingFile"?r(e,["kind","name","revision","changed"])&&typeof e.revision=="string"&&e.revision.length>0&&e.changed===!0:e.kind==="delete"?r(e,["kind","name","deleted"])&&e.deleted===!0:e.kind==="setGlobalDisabled"||e.kind==="setProjectDisabled"?r(e,["kind","name","disabled","changed"])&&typeof e.disabled=="boolean"&&typeof e.changed=="boolean":e.kind==="setPinned"?r(e,["kind","name","pinned","changed"])&&typeof e.pinned=="boolean"&&typeof e.changed=="boolean":e.kind==="promote"?r(e,["kind","name","promoted","changed"])&&e.promoted===!0&&typeof e.changed=="boolean":!1}function Ee(e,t){return e==="active"&&t==="stale"||e==="stale"&&(t==="archived"||t==="active")||e==="archived"&&t==="active"}function v(e){return i(e)&&r(e,["name","from","to"])&&f(e.name)&&Ee(e.from,e.to)}function ft(e){return i(e)&&r(e,["revision","changed","transitioned"])&&typeof e.revision=="string"&&e.revision.length>0&&typeof e.changed=="boolean"&&Array.isArray(e.transitioned)&&e.transitioned.every(v)}function mt(e){return i(e)&&r(e,["installationId","artifactPath","contentDir","expiresAt"])&&["installationId","artifactPath","contentDir","expiresAt"].every(t=>typeof e[t]=="string"&&e[t].length>0)}function yt(e){return i(e)?e.action==="discard"?r(e,["action","discarded"])&&e.discarded===!0:e.action==="adopt"&&r(e,["action","resourceId","version","skillName","installDir","checksum","replaced"])&&f(e.resourceId)&&e.skillName===e.resourceId&&typeof e.version=="string"&&e.version.length>0&&typeof e.installDir=="string"&&e.installDir.length>0&&typeof e.checksum=="string"&&/^[a-f0-9]{64}$/.test(e.checksum)&&typeof e.replaced=="boolean":!1}function r(e,t){let n=new Set(t);return Object.keys(e).every(o=>n.has(o))}function I(e,t){return e[t]===void 0||typeof e[t]=="string"}function g(e,t){return e[t]===void 0||typeof e[t]=="string"&&e[t].trim().length>0}function f(e){return typeof e=="string"&&/^[A-Za-z0-9_.-]+$/.test(e)&&e!=="."&&e!==".."}function L(e){return typeof e!="string"||e.trim()!==e||e.length===0||e.includes("\0")||/^(?:[A-Za-z]:[\\/]|[\\/])/.test(e)?!1:e.split(/[\\/]/).every(n=>n.length>0&&n!=="."&&n!=="..")}function D(e){return L(e)&&e.toLowerCase()!=="skill.md"}function je(e,t){if(!i(t))return!1;if(e==="getSkillSnapshot")return r(t,["projectId","knownRevision"])&&g(t,"projectId")&&g(t,"knownRevision");if(e==="readSkillFile")return r(t,["name","relativePath","expectedRevision"])&&f(t.name)&&(t.relativePath===void 0||L(t.relativePath))&&g(t,"expectedRevision");if(e==="commitSkillMutation"){if(!r(t,["mutation"])||!i(t.mutation))return!1;let n=t.mutation;return!f(n.name)||typeof n.kind!="string"?!1:n.kind==="create"?!r(n,["kind","name","content","source","supportingFile"])||typeof n.content!="string"||n.source!==void 0&&n.source!=="created"&&n.source!=="learned"?!1:n.supportingFile===void 0?!0:i(n.supportingFile)&&r(n.supportingFile,["relativePath","content"])&&D(n.supportingFile.relativePath)&&typeof n.supportingFile.content=="string":n.kind==="editContent"?r(n,["kind","name","expectedRevision","content"])&&typeof n.expectedRevision=="string"&&n.expectedRevision.length>0&&typeof n.content=="string":n.kind==="editSupportingFile"?r(n,["kind","name","relativePath","expectedRevision","content"])&&D(n.relativePath)&&(n.expectedRevision===null||typeof n.expectedRevision=="string"&&n.expectedRevision.length>0)&&typeof n.content=="string":n.kind==="delete"?r(n,["kind","name"]):n.kind==="setGlobalDisabled"?r(n,["kind","name","disabled"])&&typeof n.disabled=="boolean":n.kind==="setProjectDisabled"?r(n,["kind","name","projectId","disabled"])&&typeof n.projectId=="string"&&n.projectId.length>0&&typeof n.disabled=="boolean":n.kind==="setPinned"?r(n,["kind","name","pinned"])&&typeof n.pinned=="boolean":n.kind==="promote"?r(n,["kind","name"]):!1}if(e==="applyCuratorPlan"){if(!r(t,["expectedRevision","transitions"])||typeof t.expectedRevision!="string"||t.expectedRevision.length===0||!Array.isArray(t.transitions)||t.transitions.length>500||!t.transitions.every(v))return!1;let n=t.transitions.map(o=>o.name);return new Set(n).size===n.length}if(e==="prepareSkillInstall"){if(!r(t,["name","version","checksum","sizeBytes","allowReplace","provenance"])||!f(t.name)||typeof t.version!="string"||!t.version.trim()||typeof t.checksum!="string"||!/^[a-f0-9]{64}$/.test(t.checksum)||!Number.isSafeInteger(t.sizeBytes)||t.sizeBytes<=0||t.sizeBytes>20*1024*1024||typeof t.allowReplace!="boolean"||!i(t.provenance)||!r(t.provenance,["sourceTier","resourceRiskTier","effectiveRiskTier"]))return!1;let n=o=>o==="R0"||o==="R1"||o==="R2"||o==="R3";return(t.provenance.sourceTier==="official"||t.provenance.sourceTier==="community")&&n(t.provenance.resourceRiskTier)&&n(t.provenance.effectiveRiskTier)}return e==="finalizeSkillInstall"?r(t,["installationId","action"])&&typeof t.installationId=="string"&&t.installationId.trim().length>0&&(t.action==="adopt"||t.action==="discard"):r(t,["name","success"])&&f(t.name)&&typeof t.success=="boolean"}function s(e){return typeof e=="string"&&e.trim()===e&&e.length>0&&e.length<=512&&!e.includes("\0")}function l(e){return Number.isSafeInteger(e)&&e>=0}function B(e){return e==="installed"||e==="auth_required"||e==="ready"||e==="disabled"||e==="incompatible"||e==="unresponsive"||e==="failed"||e==="not_installed"}function De(e){return B(e)&&e!=="not_installed"}function Fe(e){return!i(e)||!r(e,["providerId","state","stage","code","message","retryable","providerVersion","payloadVersion"])?!1:s(e.providerId)&&B(e.state)&&["install","manifest","auth","launch","initialize","models","native_sessions","request"].includes(String(e.stage))&&s(e.code)&&typeof e.message=="string"&&typeof e.retryable=="boolean"&&g(e,"providerVersion")&&g(e,"payloadVersion")}function F(e,t){return i(e)&&r(e,t)&&t.every(n=>typeof e[n]=="boolean")}function Ne(e){return i(e)?e.kind==="provider"?r(e,["kind","enumeration"])&&(e.enumeration==="protocol"||e.enumeration==="implicit-default"):e.kind==="host"&&r(e,["kind","managedPurposes"])&&P(e.managedPurposes):!1}function U(e){if(!i(e)||!r(e,["providerId","displayName","version","state","capabilities","diagnostic"])||!s(e.providerId)||!s(e.displayName)||!s(e.version)||!De(e.state)||e.diagnostic!==void 0&&!Fe(e.diagnostic)||!i(e.capabilities)||!r(e.capabilities,["execution","auth","models","nativeSessions","diagnostics"]))return!1;let t=e.capabilities;return!F(t.execution,["streaming","approvals","cancellation","resume"])||!i(t.auth)||!r(t.auth,["modes","terminal","logout"])||!Array.isArray(t.auth.modes)||!t.auth.modes.every(n=>n==="account"||n==="userKey"||n==="managed")||typeof t.auth.terminal!="boolean"||typeof t.auth.logout!="boolean"||!Ne(t.models)||!F(t.nativeSessions,["discover","transcript","resume"])?!1:i(t.diagnostics)&&r(t.diagnostics,["readiness","version","structuredErrors"])&&t.diagnostics.readiness===!0&&t.diagnostics.version===!0&&t.diagnostics.structuredErrors===!0}function It(e){return i(e)&&r(e,["revision","providers"])&&l(e.revision)&&Array.isArray(e.providers)&&e.providers.every(U)}function St(e){return i(e)&&r(e,["revision","provider"])&&l(e.revision)&&(e.provider===null||U(e.provider))}function R(e,t=0){return t>12?!1:e===null||typeof e=="string"||typeof e=="boolean"?!0:typeof e=="number"?Number.isFinite(e):Array.isArray(e)?e.length<=1e4&&e.every(n=>R(n,t+1)):!i(e)||Object.keys(e).length>1e3?!1:Object.values(e).every(n=>R(n,t+1))}function qe(e){return e===void 0||P(e)}function K(e){return i(e)&&r(e,["inputTokens","outputTokens","totalTokens"])&&["inputTokens","outputTokens","totalTokens"].every(t=>e[t]===void 0||l(e[t]))}function V(e){if(!i(e)||!r(e,["role","content","tool_calls","tool_call_id","name","is_error","reasoning_content","toolReferences","thinkingBlocks","imageUrls","imageDetail","imagePixelLimit","videoUrls","videoFps","audioFormat","audioUrls","fileIds","blocks","attachmentEntries","timestamp","turnId","usage","displayMetadata"])||e.role!=="system"&&e.role!=="user"&&e.role!=="assistant"&&e.role!=="tool"||e.content!==null&&typeof e.content!="string"||!["tool_call_id","name","reasoning_content","timestamp","turnId"].every(t=>I(e,t))||e.is_error!==void 0&&typeof e.is_error!="boolean"||!["toolReferences","imageUrls","videoUrls","audioUrls"].every(t=>qe(e[t]))||e.imageDetail!==void 0&&e.imageDetail!=="auto"&&e.imageDetail!=="low"&&e.imageDetail!=="high"&&e.imageDetail!=="xhigh"||e.audioFormat!==void 0&&e.audioFormat!=="mp3"&&e.audioFormat!=="wav"&&e.audioFormat!=="aac"&&e.audioFormat!=="m4a"||e.videoFps!==void 0&&(typeof e.videoFps!="number"||!Number.isFinite(e.videoFps)||e.videoFps<.2||e.videoFps>5)||e.tool_calls!==void 0&&(!Array.isArray(e.tool_calls)||!e.tool_calls.every(t=>i(t)&&r(t,["id","type","function"])&&s(t.id)&&t.type==="function"&&i(t.function)&&r(t.function,["name","arguments"])&&s(t.function.name)&&typeof t.function.arguments=="string"))||e.thinkingBlocks!==void 0&&(!Array.isArray(e.thinkingBlocks)||!e.thinkingBlocks.every(t=>i(t)&&r(t,["thinking","signature"])&&typeof t.thinking=="string"&&typeof t.signature=="string")))return!1;if(e.imagePixelLimit!==void 0){if(!i(e.imagePixelLimit))return!1;let t=e.imagePixelLimit;if(!r(t,["minPixels","maxPixels"])||!["minPixels","maxPixels"].every(n=>t[n]===void 0||l(t[n])))return!1}return e.fileIds!==void 0&&(!Array.isArray(e.fileIds)||!e.fileIds.every(t=>i(t)&&r(t,["id","mimeType","size"])&&s(t.id)&&I(t,"mimeType")&&(t.size===void 0||l(t.size))))||e.usage!==void 0&&!K(e.usage)?!1:["blocks","attachmentEntries","displayMetadata"].every(t=>e[t]===void 0||R(e[t]))}function ve(e,t){if(!i(t))return!1;if(e==="loadForResume")return r(t,["sessionId","projectId","includeMessages"])&&s(t.sessionId)&&g(t,"projectId")&&(t.includeMessages===void 0||typeof t.includeMessages=="boolean");if(e==="appendTranscript")return r(t,["sessionId","turnId","messageId","sequence","message","usage","displayMetadata"])&&s(t.sessionId)&&s(t.turnId)&&s(t.messageId)&&l(t.sequence)&&V(t.message)&&(t.usage===void 0||K(t.usage))&&(t.displayMetadata===void 0||R(t.displayMetadata));if(e==="updateTitle")return r(t,["sessionId","operationId","title"])&&s(t.sessionId)&&s(t.operationId)&&typeof t.title=="string"&&t.title.length<=2e3;if(e==="saveState"){if(!r(t,["sessionId","turnId","operationId","model","usage"])||!s(t.sessionId)||!s(t.turnId)||!s(t.operationId)||!I(t,"model")||!i(t.usage))return!1;let n=t.usage;return r(n,["turnCount","totalInputTokens","totalOutputTokens"])&&["turnCount","totalInputTokens","totalOutputTokens"].every(o=>l(n[o]))}return e==="saveTaskSummary"?r(t,["sessionId","operationId","summary","generatedAtTurn"])&&s(t.sessionId)&&s(t.operationId)&&typeof t.summary=="string"&&t.summary.length<=2e5&&l(t.generatedAtTurn):r(t,["sessionId","operationId","reason","expectedLastActiveAt","expectedTurnCount"])&&s(t.sessionId)&&s(t.operationId)&&(t.reason==="idle"||t.reason==="turn-limit")&&I(t,"expectedLastActiveAt")&&(t.expectedTurnCount===void 0||l(t.expectedTurnCount))}function kt(e){if(!i(e)||!r(e,["session"]))return!1;if(e.session===null)return!0;if(!i(e.session)||!r(e.session,["metadata","messages","corruptLines"])||!i(e.session.metadata))return!1;let t=e.session.metadata;return r(t,["sessionId","projectId","createdAt","lastActiveAt","turnCount","messageCount","type","title","agentId","model","taskSummary","carryoverSummary","previousSessionId","pinnedAt","archivedAt","sealedAt"])&&["sessionId","projectId","createdAt","lastActiveAt"].every(n=>s(t[n]))&&["turnCount","messageCount"].every(n=>l(t[n]))&&(t.type===void 0||t.type==="personal"||t.type==="group")&&["title","agentId","model","taskSummary","carryoverSummary","previousSessionId","pinnedAt","archivedAt","sealedAt"].every(n=>I(t,n))&&Array.isArray(e.session.messages)&&e.session.messages.every(V)&&(e.session.corruptLines===void 0||l(e.session.corruptLines))}function ht(e){return i(e)&&r(e,["status","messageCount"])&&(e.status==="appended"||e.status==="duplicate"||e.status==="session-deleted")&&l(e.messageCount)}function Pt(e){return i(e)&&r(e,["status"])&&(e.status==="updated"||e.status==="duplicate"||e.status==="session-deleted")}function bt(e){return i(e)&&r(e,["status","nextSessionId"])&&(e.status==="updated"||e.status==="duplicate"||e.status==="session-deleted")&&(e.nextSessionId===void 0||s(e.nextSessionId))}function Le(e,t){if(!i(t)||!I(t,"viewId")||!g(t,"sessionId"))return!1;switch(e){case"navigate":return r(t,["url","viewId","sessionId"])&&typeof t.url=="string";case"click":return r(t,["ref","viewId","sessionId"])&&typeof t.ref=="string";case"type":return r(t,["ref","text","submit","viewId","sessionId"])&&typeof t.ref=="string"&&typeof t.text=="string"&&(t.submit===void 0||typeof t.submit=="boolean");case"snapshot":case"screenshot":case"console":case"network":return r(t,["viewId","sessionId"])}}function T(e,t){return e[t]===void 0||l(e[t])}function Be(e){if(!i(e)||!r(e,["model","provider","agentMode","sourceChannel","usage","toolSummary","fileContext"]))return!1;for(let t of["model","provider","sourceChannel"])if(e[t]!==void 0&&!s(e[t]))return!1;if(e.agentMode!==void 0&&!["chat","solo","product","workflow","unknown"].includes(String(e.agentMode))||e.usage!==void 0&&(!i(e.usage)||!r(e.usage,["inputTokens","outputTokens","totalTokens"])||!["inputTokens","outputTokens","totalTokens"].every(t=>T(e.usage,t))))return!1;if(e.toolSummary!==void 0){if(!i(e.toolSummary)||!r(e.toolSummary,["calledTools","failedTools","blockedTools"]))return!1;for(let t of["calledTools","failedTools","blockedTools"]){let n=e.toolSummary[t];if(!Array.isArray(n)||!n.every(s))return!1}}return!(e.fileContext!==void 0&&(!i(e.fileContext)||!r(e.fileContext,["changedFileCount","changedPathsPreview","hasTurnFileChanges"])||!T(e.fileContext,"changedFileCount")||e.fileContext.changedPathsPreview!==void 0&&(!Array.isArray(e.fileContext.changedPathsPreview)||!e.fileContext.changedPathsPreview.every(s))||e.fileContext.hasTurnFileChanges!==void 0&&typeof e.fileContext.hasTurnFileChanges!="boolean"))}function Ue(e,t){return i(t)?e==="commitTurnTelemetry"?r(t,["projectId","sessionId","turnId","telemetry"])&&s(t.projectId)&&s(t.sessionId)&&s(t.turnId)&&Be(t.telemetry):e==="listDistillableFeedback"||e==="runUploadSweep"?r(t,["projectId"])&&s(t.projectId):r(t,["projectId","turnId","clusterKey","idempotencyKey"])&&s(t.projectId)&&s(t.turnId)&&s(t.clusterKey)&&s(t.idempotencyKey):!1}function Ke(e,t){if(!i(t))return!1;if(e==="getSnapshot")return Object.keys(t).length===0;if(e==="switch")return r(t,["projectIdOrQuery"])&&s(t.projectIdOrQuery);if(e==="create"){let n=t.workspaceDir!==void 0||typeof t.name=="string"&&t.name!=="."&&t.name!==".."&&!/[\\/]/.test(t.name);return r(t,["name","workspaceDir","type","groupId"])&&s(t.name)&&n&&g(t,"workspaceDir")&&g(t,"groupId")&&(t.type===void 0||["personal","group","solo","product","automation"].includes(String(t.type)))}return!r(t,["projectId","planStatus","planAgents","planWinnerId","leaderSessionId","primaryWorkflowId"])||!s(t.projectId)||t.planStatus!==void 0&&!["creating","running","completed","failed","cancelled"].includes(String(t.planStatus))||t.planAgents!==void 0&&(!Array.isArray(t.planAgents)||!t.planAgents.every(s))?!1:["planWinnerId","leaderSessionId","primaryWorkflowId"].every(n=>g(t,n))}function Ve(e,t){return!i(t)||!s(t.sessionId)?!1:e==="open"?r(t,["runId","kind","projectId","sessionId"])&&s(t.runId)&&s(t.projectId)&&(t.kind==="solo"||t.kind==="product"||t.kind==="goal"):e==="recordEvent"?!r(t,["runId","event","sessionId"])||!s(t.runId)||!i(t.event)?!1:r(t.event,["at","type","sequence","payload"])&&s(t.event.at)&&s(t.event.type)&&T(t.event,"sequence"):e==="checkpoint"?r(t,["runId","checkpointId","snapshot","sessionId"])&&s(t.runId)&&g(t,"checkpointId")&&Object.prototype.hasOwnProperty.call(t,"snapshot")&&t.snapshot!==void 0:e==="list"?r(t,["projectId","kind","sessionId"])&&s(t.projectId)&&(t.kind===void 0||t.kind==="solo"||t.kind==="product"||t.kind==="goal"):e==="getCheckpoint"||e==="restoreCheckpoint"?r(t,["runId","checkpointId","sessionId"])&&s(t.runId)&&s(t.checkpointId):e==="listCheckpoints"?r(t,["runId","sessionId"])&&s(t.runId):(e==="get"||e==="delete")&&r(t,["runId","sessionId"])&&s(t.runId)}function N(e){return typeof e=="string"&&/^[a-z0-9][a-z0-9._-]*\.md$/i.test(e)&&e!=="INDEX.md"&&!e.includes("..")&&!e.includes("/")&&!e.includes("\\")}function Ye(e,t){return!i(t)||typeof t.sessionId!="string"||t.sessionId.trim().length===0?!1:e==="initialize"||e==="getIndex"||e==="listFiles"?r(t,["sessionId"]):e==="addToIndex"?r(t,["sessionId","content"])&&typeof t.content=="string"&&t.content.length>0:e==="replaceInIndex"?r(t,["sessionId","oldText","newText"])&&typeof t.oldText=="string"&&t.oldText.length>0&&typeof t.newText=="string"&&t.newText.length>0:e==="removeFromIndex"?r(t,["sessionId","oldText"])&&typeof t.oldText=="string"&&t.oldText.length>0:e==="createFile"||e==="writeFile"?r(t,["sessionId","name","content"])&&N(t.name)&&typeof t.content=="string":e==="readFile"||e==="deleteFile"?r(t,["sessionId","name"])&&N(t.name):e==="searchLocal"&&r(t,["sessionId","query"])&&typeof t.query=="string"&&t.query.length>0}function Rt(e){if(!i(e)||!r(e,["service","method","params"])||typeof e.service!="string"||!H.has(e.service)||typeof e.method!="string"||e.method.length===0)return!1;if(e.service==="memory")return he.has(e.method)&&Array.isArray(e.params);if(e.service==="projectMemory")return Pe.has(e.method)&&Ye(e.method,e.params);if(e.service==="profile"){if(!be.has(e.method)||!Array.isArray(e.params))return!1;switch(e.method){case"getTunables":return e.params.length===0;case"updateTunable":return e.params.length===2&&typeof e.params[0]=="string"&&e.params[0].trim().length>0&&e.params[1]!==void 0;case"clearTunable":case"appendDirectoryAllowRule":return e.params.length===1&&typeof e.params[0]=="string"&&e.params[0].trim().length>0}}return e.service==="capability"?Re.has(e.method)&&je(e.method,e.params):e.service==="session"?xe.has(e.method)&&ve(e.method,e.params):e.service==="feedback"?Ae.has(e.method)&&Ue(e.method,e.params):e.service==="project"?we.has(e.method)&&Ke(e.method,e.params):e.service==="runState"?He.has(e.method)&&Ve(e.method,e.params):e.service==="provider"?!Te.has(e.method)||!Array.isArray(e.params)?!1:e.method==="list"?e.params.length===0:e.params.length===1&&s(e.params[0]):Ce.has(e.method)?Le(e.method,e.params):!1}function xt(e){return i(e)&&r(e,["ok"])&&e.ok===!0}function At(e){return!i(e)||!r(e,["events"])||!Array.isArray(e.events)?!1:e.events.every(t=>i(t)&&r(t,["feedbackId","rating","reason","state","sessionId","turnId"])&&s(t.feedbackId)&&(t.rating==="up"||t.rating==="down")&&(t.reason===void 0||["missed_requirement","incomplete","broken_file_link_or_panel","code_or_test_failed","factually_wrong","too_verbose","too_short","wrong_style","other"].includes(String(t.reason)))&&t.state==="active"&&s(t.sessionId)&&s(t.turnId))}function wt(e){return i(e)&&r(e,["ok","updated"])&&e.ok===!0&&typeof e.updated=="boolean"}function Ht(e){return i(e)&&r(e,["uploaded","queued","retried","exhausted"])&&["uploaded","queued","retried","exhausted"].every(t=>l(e[t]))}function Y(e){return!i(e)||!r(e,["id","name","workspaceDir","type","status","groupId","createdAt","updatedAt","planStatus","planAgents","planWinnerId","leaderSessionId","primaryWorkflowId"])||!s(e.id)||!s(e.name)||!s(e.workspaceDir)||!["default","personal","group","solo","product","automation"].includes(String(e.type))||e.status!=="active"&&e.status!=="archived"||!s(e.createdAt)||!s(e.updatedAt)||!["groupId","planWinnerId","leaderSessionId","primaryWorkflowId"].every(t=>g(e,t))||e.planStatus!==void 0&&!["creating","running","completed","failed","cancelled"].includes(String(e.planStatus))?!1:e.planAgents===void 0||Array.isArray(e.planAgents)&&e.planAgents.every(s)}function Tt(e){return i(e)&&r(e,["activeProjectId","projects"])&&(e.activeProjectId===null||s(e.activeProjectId))&&Array.isArray(e.projects)&&e.projects.every(Y)}function Ct(e){return i(e)&&r(e,["ok","project","deduplicated"])&&e.ok===!0&&Y(e.project)&&(e.deduplicated===void 0||typeof e.deduplicated=="boolean")}function Mt(e,t){return!i(e)||e.version!==1||!Array.isArray(e.services)||typeof t!="string"||!H.has(t)||!e.services.every(n=>typeof n=="string"&&H.has(n))?!1:e.services.includes(t)}export{st as DELEGATE_WIRE_METHODS,ge as HOST_CAPABILITY_PROXY_METHODS,fe as HOST_FEEDBACK_PROXY_METHODS,pe as HOST_MEMORY_PROXY_METHODS,ke as HOST_PROFILE_PROXY_METHODS,le as HOST_PROJECT_MEMORY_PROXY_METHODS,me as HOST_PROJECT_PROXY_METHODS,ye as HOST_PROVIDER_PROXY_METHODS,ct as HOST_REQUEST_WIRE_METHODS,Se as HOST_RUN_STATE_PROXY_METHODS,ue as HOST_SESSION_PROXY_METHODS,it as HOST_SKILL_FILE_MAX_BYTES,rt as LIFECYCLE_CODES,Et as MODEL_PURPOSES,Ie as PREVIEW_BROWSER_ACTIONS,ot as PREVIEW_BROWSER_MUTATION_ACTIONS,at as PREVIEW_BROWSER_READ_ACTIONS,Xe as buildProviderValidationProbes,ae as deriveProjectId,Fe as isHostAgentProviderDiagnostic,St as isHostAgentProviderGetResult,It as isHostAgentProviderListResult,U as isHostAgentProviderSnapshot,ft as isHostApplyCuratorPlanResult,At as isHostDistillableFeedbackResult,xt as isHostFeedbackCommitResult,wt as isHostFeedbackMarkResult,Ht as isHostFeedbackSweepResult,yt as isHostFinalizeSkillInstallResult,mt as isHostPrepareSkillInstallResult,Ct as isHostProjectMutationResult,Tt as isHostProjectSnapshotResult,Rt as isHostRequestParams,ht as isHostSessionAppendResult,W as isHostSessionCollectionDelta,X as isHostSessionCollectionSnapshot,bt as isHostSessionGroupSplitResult,kt as isHostSessionLoadForResumeResult,Pt as isHostSessionMutationResult,lt as isHostSkillFileResponse,gt as isHostSkillInvocationResult,ut as isHostSkillMutationResult,pt as isHostSkillSnapshotResponse,G as isNativeTranscript,dt as isPreviewTargetKey,Ge as isProviderProbeEndpointUnavailable,$e as listSettingsProviderOptions,nt as memberEquals,tt as memberKey,A as providerCatalogBaseUrl,E as providerCatalogDisplayName,j as segmentForFts,ce as segmentTextForFts,Mt as supportsHostRequestService};
1
+ import{MODEL_PURPOSES as Et}from"@xiaozhiclaw/module-sdk/model-access";function f(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function y(e,t){let n=new Set(t);return Object.keys(e).every(o=>n.has(o))}function p(e){return typeof e=="string"&&e.trim()===e&&e.length>0&&e.length<=512&&!e.includes("\0")}function k(e){return Number.isSafeInteger(e)&&Number(e)>0}function C(e){return f(e)&&y(e,["agentId","projectId","nativeId"])&&p(e.agentId)&&p(e.projectId)&&p(e.nativeId)}function M(e){if(!f(e)||!y(e,["resourceId","canonicalSessionId","source","projectId","agentId","title","titleSource","lastActiveAt","lifecycle","availableCommands","nativeRef"])||!p(e.resourceId)||!p(e.projectId)||!p(e.agentId)||!p(e.lastActiveAt)||e.source!=="host"&&e.source!=="native-unadopted"||e.source==="host"&&!p(e.canonicalSessionId)||e.source==="native-unadopted"&&!C(e.nativeRef)||e.canonicalSessionId!==void 0&&!p(e.canonicalSessionId)||e.nativeRef!==void 0&&!C(e.nativeRef))return!1;let t=new Set(["host.setPinned","host.rename","host.setArchived","host.deleteRecord"]);return!Array.isArray(e.availableCommands)||!e.availableCommands.every(n=>typeof n=="string"&&t.has(n))||new Set(e.availableCommands).size!==e.availableCommands.length||e.source==="native-unadopted"&&e.availableCommands.length>0||e.title!==void 0&&typeof e.title!="string"||e.titleSource!==void 0&&e.titleSource!=="prompt"&&e.titleSource!=="generated"&&e.titleSource!=="user"&&e.titleSource!=="native"&&e.titleSource!=="repaired"?!1:e.lifecycle==="active"||e.lifecycle==="archived"||e.lifecycle==="source-missing"||e.lifecycle==="resume-unavailable"}function _(e){return f(e)&&y(e,["agentId","projectId","code","message","lastGoodRevision"])&&p(e.agentId)&&p(e.projectId)&&p(e.code)&&typeof e.message=="string"&&e.message.length>0&&e.message.length<=2e4&&(e.lastGoodRevision===void 0||k(e.lastGoodRevision))}function z(e){return typeof e=="string"&&e.length>0&&!Number.isNaN(Date.parse(e))}function $(e){return f(e)&&y(e,["id","role","content","createdAt"])&&Object.prototype.hasOwnProperty.call(e,"content")&&(e.id===void 0||p(e.id))&&(e.role==="user"||e.role==="assistant"||e.role==="tool")&&(e.createdAt===void 0||z(e.createdAt))}function G(e){return f(e)&&y(e,["messages","diagnostics"])&&Array.isArray(e.messages)&&e.messages.every($)&&(e.diagnostics===void 0||Array.isArray(e.diagnostics))}function X(e){return f(e)&&y(e,["revision","scopeGeneration","items","diagnostics"])&&k(e.revision)&&k(e.scopeGeneration)&&Array.isArray(e.items)&&e.items.every(M)&&Array.isArray(e.diagnostics)&&e.diagnostics.every(_)}function W(e){return f(e)&&y(e,["revision","scopeGeneration","addedOrUpdated","removed","diagnostics"])&&k(e.revision)&&k(e.scopeGeneration)&&(e.addedOrUpdated===void 0||Array.isArray(e.addedOrUpdated)&&e.addedOrUpdated.every(M))&&(e.removed===void 0||Array.isArray(e.removed)&&e.removed.every(p))&&(e.diagnostics===void 0||Array.isArray(e.diagnostics)&&e.diagnostics.every(_))}var b="llmrouter";function w(e){return e.baseUrl??e.base_url}function E(e){return{zhipu:"Zhipu GLM","zhipu-openai":"Zhipu GLM OpenAI","zhipu-coding":"Zhipu GLM Coding",qwen:"Alibaba Qwen (DashScope)","qwen-coding":"Alibaba Qwen (Coding Plan)",volcengine:"Doubao / Volcengine","volcengine-plan":"Doubao / Volcengine Plan"}[e.id]??e.displayName??e.name??e.id}function A(e){return e.id===b?b:e.group?.trim()||e.id}function Q(e){return e.id===A(e)}function O(e){return E({...e,id:A(e)})}function J(e){return{volcengine:"\u5E38\u89C4 Ark API Key","volcengine-plan":"\u8BA2\u9605 / Plan \u901A\u9053",qwen:"\u5E38\u89C4 DashScope API Key","qwen-coding":"Coding Plan \u901A\u9053",zhipu:"Anthropic \u901A\u9053","zhipu-openai":"OpenAI \u517C\u5BB9\u901A\u9053","zhipu-coding":"Coding \u901A\u9053"}[e.id]??E(e)}function Z(e){return e.authType==="none"?!1:e.apiKeyEnvVars===void 0||e.apiKeyEnvVars.length>0}function ee(e){return{id:e.id,displayName:J(e),baseUrl:w(e)??"",modelCount:e.models?.length??0}}function $e(e){let t=new Map;for(let n of e){if(!Z(n))continue;let o=A(n);if(o===b)continue;let a=n.models?.length??0,u=ee(n),d=t.get(o);if(!d){t.set(o,{id:o,displayName:O(n),baseUrl:w(n)??"",modelCount:a,variants:[u]});continue}d.modelCount+=a,d.variants??=[],d.variants.some(c=>c.id===u.id)||d.variants.push(u),Q(n)&&(d.displayName=O(n),d.baseUrl=w(n)??d.baseUrl)}return Array.from(t.values()).map(({variants:n,...o})=>({...o,...n&&n.length>1?{variants:n}:{}}))}function te(e){return e.defaultModel??e.models?.find(t=>!!t.id)?.id}function ne(e){let t=e.replace(/\/+$/,"");return[...new Set([`${t}/models`,/\/v\d+$/.test(t)?`${t}/models`:`${t}/v1/models`])]}function Ge(e){return e===404||e===405||e===410||e===501}function x(e){return{accept:"application/json",Authorization:`Bearer ${e}`}}function re(e,t){let n=e.trim(),o=t?.baseUrl?.trim();return t?.transport==="anthropic-messages"&&o&&/\/anthropic\/?$/.test(o)&&!/\/anthropic\/?$/.test(n)?o:n}function se(e){let t=e.trim().replace(/\/+$/,"");return t.endsWith("/v1")?`${t}/models`:`${t}/v1/models`}function Xe(e,t,n,o){if(e===b)return[{method:"GET",url:se(n),headers:x(t)}];let a=re(n,o).replace(/\/+$/,""),u=o?.transport,d=te(o??{id:e}),c=[];if(u==="anthropic-messages")return/\/anthropic$/.test(a)&&c.push({method:"GET",url:`${a.replace(/\/anthropic$/,"")}/models`,headers:x(t)}),d&&c.push({method:"POST",url:`${a}/v1/messages`,headers:{"Content-Type":"application/json","x-api-key":t,"anthropic-version":"2023-06-01"},body:{model:d,messages:[{role:"user",content:"ping"}],max_tokens:1,stream:!1}}),c;if(u==="gemini-generatecontent")return d?[{method:"POST",url:`${a}/models/${encodeURIComponent(d)}:generateContent`,headers:{"Content-Type":"application/json","x-goog-api-key":t},body:{contents:[{role:"user",parts:[{text:"ping"}]}],generationConfig:{maxOutputTokens:1}}}]:c;if(u==="volcengine-responses")return d?[{method:"POST",url:`${a.replace(/\/v\d+$/,"")}/v3/responses`,headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`},body:{model:d,input:[{role:"user",content:[{type:"input_text",text:"ping"}]}],max_output_tokens:1,stream:!1,store:!1}}]:c;for(let S of ne(a))c.push({method:"GET",url:S,headers:x(t)});return c}import{createHash as ie}from"node:crypto";import{resolve as oe}from"node:path";function ae(e){return ie("sha256").update(oe(e).toLowerCase()).digest("hex").slice(0,16)}var de=/[一-鿿]/;function j(e){let t=[],n=e.toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[];for(let o of n){let a="",u=!1,d=()=>{if(a){if(u){a.length===1&&t.push(a);for(let c=0;c+1<a.length;c++)t.push(a.slice(c,c+2))}else t.push(a);a=""}};for(let c of o){let S=de.test(c);a&&S!==u&&d(),u=S,a+=c}d()}return t}function ce(e){return j(e).join(" ")}var P=":";function tt(e){for(let[t,n]of[["kind",e.kind],["owner",e.owner],["name",e.name]])if(n.includes(P))throw new Error(`memberKey: field "${t}" contains reserved separator "${P}": ${n}`);return`${e.kind}${P}${e.owner}${P}${e.name}${P}${e.seq}`}function nt(e,t){return e.kind===t.kind&&e.owner===t.owner&&e.name===t.name&&e.seq===t.seq}var rt=["CANCELLED","PROCESS_EXIT","HEARTBEAT_TIMEOUT","TURN_TIMEOUT","PROTOCOL_MISMATCH","UNKNOWN"],st={request:"x/delegate",update:"x/delegate.update",respond:"x/delegate.respond",cancel:"x/delegate.cancel"},pe=["search","addText","embedText","ingestExtracted","proposeExtracted","consumePendingProposals","feedback","findRelatedEvents","synthesizeTimeline","getActivitySummary","getAllProfiles","setProfile","getAtlas","setMemoryArchived","triggerDecay","resolveConflicts","readProcedureUsage","writeProcedureUsage","readDistillCandidates","writeDistillCandidates","readPromotionProposals","writePromotionProposals","listActiveMemoriesByTag","promoteDistilledProcedure","recordInjectedAccess"],le=["initialize","getIndex","addToIndex","replaceInIndex","removeFromIndex","createFile","writeFile","readFile","deleteFile","listFiles","searchLocal"],ge=["getSkillSnapshot","readSkillFile","recordSkillInvocation","commitSkillMutation","applyCuratorPlan","prepareSkillInstall","finalizeSkillInstall"],ue=["loadForResume","appendTranscript","updateTitle","saveState","saveTaskSummary","groupSplit"],me=["commitTurnTelemetry","listDistillableFeedback","markFeedbackDistilled","runUploadSweep"],fe=["getSnapshot","create","switch","update"],it=1024*1024,ye=["list","get","diagnose"],Ie=["navigate","snapshot","click","type","screenshot","console","network"],ot=["navigate","click","type"],at=["snapshot","screenshot","console","network"];function dt(e){if(typeof e!="string")return!1;let t=/^preview:([1-9]\d*)$/.exec(e);return t!==null&&Number.isSafeInteger(Number(t[1]))}var Se=["open","recordEvent","checkpoint","get","list","delete","getCheckpoint","listCheckpoints","restoreCheckpoint"],ke=["getTunables","updateTunable","clearTunable","appendDirectoryAllowRule"],ct={request:"x/host.request"},H=new Set(["memory","projectMemory","profile","preview","capability","session","feedback","project","runState","provider"]),Pe=new Set(pe),he=new Set(le),be=new Set(ke),Re=new Set(ge),xe=new Set(ue),we=new Set(me),Ae=new Set(fe),He=new Set(Se),Te=new Set(ye),Ce=new Set(Ie);function i(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function h(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function v(e,t){return t.every(n=>e[n]===void 0||typeof e[n]=="string")}function Me(e){return i(e)?typeof e.name=="string"&&e.name.length>0&&(e.state==="active"||e.state==="stale"||e.state==="archived")&&typeof e.createdAt=="string"&&typeof e.pinned=="boolean"&&typeof e.useCount=="number"&&Number.isFinite(e.useCount)&&(e.source==="learned"||e.source==="created"||e.source==="installed"||e.source==="promoted")&&v(e,["lastUsedAt","lastViewedAt","lastPatchedAt","staleAt","archivedAt","resourceType","artifactDigest","registryResourceId","registryVersion","registryKeptSignalAt"])&&["launcherRequired","manualReviewRequired"].every(t=>e[t]===void 0||typeof e[t]=="boolean")&&["positiveCount","negativeCount"].every(t=>e[t]===void 0||typeof e[t]=="number"&&Number.isFinite(e[t]))&&["sourceTier","registrySourceTier"].every(t=>e[t]===void 0||e[t]==="official"||e[t]==="community")&&["riskTier","registryRiskTier","registryEffectiveRiskTier"].every(t=>e[t]===void 0||e[t]==="R0"||e[t]==="R1"||e[t]==="R2"||e[t]==="R3"):!1}function _e(e){return i(e)?r(e,["name","filePath","baseDir","fileRevision","globallyDisabled","projectDisabled","active","systemGenerated","description","version","category","author","requiredTools","environments","source","registryVersion"])&&typeof e.name=="string"&&e.name.length>0&&typeof e.filePath=="string"&&e.filePath.length>0&&typeof e.baseDir=="string"&&e.baseDir.length>0&&typeof e.fileRevision=="string"&&e.fileRevision.length>0&&typeof e.globallyDisabled=="boolean"&&typeof e.projectDisabled=="boolean"&&typeof e.active=="boolean"&&typeof e.systemGenerated=="boolean"&&v(e,["description","version","category","author","registryVersion"])&&(e.source===void 0||e.source==="learned"||e.source==="created"||e.source==="installed"||e.source==="promoted")&&(e.requiredTools===void 0||h(e.requiredTools))&&(e.environments===void 0||h(e.environments)):!1}function Oe(e){return i(e)&&r(e,["name","skills","filePath"])&&typeof e.name=="string"&&e.name.length>0&&h(e.skills)&&typeof e.filePath=="string"&&e.filePath.length>0}function pt(e){return!i(e)||typeof e.revision!="string"||e.revision.length===0?!1:e.notModified===!0?r(e,["revision","notModified"]):e.notModified!==!1||!r(e,["revision","notModified","skills","lifecycle","bundles"])?!1:Array.isArray(e.skills)&&e.skills.every(_e)&&Array.isArray(e.lifecycle)&&e.lifecycle.every(Me)&&Array.isArray(e.bundles)&&e.bundles.every(Oe)}function lt(e){return i(e)&&r(e,["name","relativePath","content","baseDir","revision"])&&typeof e.name=="string"&&e.name.length>0&&typeof e.relativePath=="string"&&e.relativePath.length>0&&typeof e.content=="string"&&typeof e.baseDir=="string"&&e.baseDir.length>0&&typeof e.revision=="string"&&e.revision.length>0}function gt(e){return i(e)&&r(e,["name","lastUsedAt","useCount","positiveCount","negativeCount"])&&m(e.name)&&typeof e.lastUsedAt=="string"&&e.lastUsedAt.length>0&&["useCount","positiveCount","negativeCount"].every(t=>typeof e[t]=="number"&&Number.isFinite(e[t])&&e[t]>=0)}function ut(e){return!i(e)||!m(e.name)||typeof e.kind!="string"?!1:e.kind==="create"||e.kind==="editContent"||e.kind==="editSupportingFile"?r(e,["kind","name","revision","changed"])&&typeof e.revision=="string"&&e.revision.length>0&&e.changed===!0:e.kind==="delete"?r(e,["kind","name","deleted"])&&e.deleted===!0:e.kind==="setGlobalDisabled"||e.kind==="setProjectDisabled"?r(e,["kind","name","disabled","changed"])&&typeof e.disabled=="boolean"&&typeof e.changed=="boolean":e.kind==="setPinned"?r(e,["kind","name","pinned","changed"])&&typeof e.pinned=="boolean"&&typeof e.changed=="boolean":e.kind==="promote"?r(e,["kind","name","promoted","changed"])&&e.promoted===!0&&typeof e.changed=="boolean":!1}function Ee(e,t){return e==="active"&&t==="stale"||e==="stale"&&(t==="archived"||t==="active")||e==="archived"&&t==="active"}function q(e){return i(e)&&r(e,["name","from","to"])&&m(e.name)&&Ee(e.from,e.to)}function mt(e){return i(e)&&r(e,["revision","changed","transitioned"])&&typeof e.revision=="string"&&e.revision.length>0&&typeof e.changed=="boolean"&&Array.isArray(e.transitioned)&&e.transitioned.every(q)}function ft(e){return i(e)&&r(e,["installationId","artifactPath","contentDir","expiresAt"])&&["installationId","artifactPath","contentDir","expiresAt"].every(t=>typeof e[t]=="string"&&e[t].length>0)}function yt(e){return i(e)?e.action==="discard"?r(e,["action","discarded"])&&e.discarded===!0:e.action==="adopt"&&r(e,["action","resourceId","version","skillName","installDir","checksum","replaced"])&&m(e.resourceId)&&e.skillName===e.resourceId&&typeof e.version=="string"&&e.version.length>0&&typeof e.installDir=="string"&&e.installDir.length>0&&typeof e.checksum=="string"&&/^[a-f0-9]{64}$/.test(e.checksum)&&typeof e.replaced=="boolean":!1}function r(e,t){let n=new Set(t);return Object.keys(e).every(o=>n.has(o))}function I(e,t){return e[t]===void 0||typeof e[t]=="string"}function g(e,t){return e[t]===void 0||typeof e[t]=="string"&&e[t].trim().length>0}function m(e){return typeof e=="string"&&/^[A-Za-z0-9_.-]+$/.test(e)&&e!=="."&&e!==".."}function L(e){return typeof e!="string"||e.trim()!==e||e.length===0||e.includes("\0")||/^(?:[A-Za-z]:[\\/]|[\\/])/.test(e)?!1:e.split(/[\\/]/).every(n=>n.length>0&&n!=="."&&n!=="..")}function D(e){return L(e)&&e.toLowerCase()!=="skill.md"}function je(e,t){if(!i(t))return!1;if(e==="getSkillSnapshot")return r(t,["projectId","knownRevision"])&&g(t,"projectId")&&g(t,"knownRevision");if(e==="readSkillFile")return r(t,["name","relativePath","expectedRevision"])&&m(t.name)&&(t.relativePath===void 0||L(t.relativePath))&&g(t,"expectedRevision");if(e==="commitSkillMutation"){if(!r(t,["mutation"])||!i(t.mutation))return!1;let n=t.mutation;return!m(n.name)||typeof n.kind!="string"?!1:n.kind==="create"?!r(n,["kind","name","content","source","supportingFile"])||typeof n.content!="string"||n.source!==void 0&&n.source!=="created"&&n.source!=="learned"?!1:n.supportingFile===void 0?!0:i(n.supportingFile)&&r(n.supportingFile,["relativePath","content"])&&D(n.supportingFile.relativePath)&&typeof n.supportingFile.content=="string":n.kind==="editContent"?r(n,["kind","name","expectedRevision","content"])&&typeof n.expectedRevision=="string"&&n.expectedRevision.length>0&&typeof n.content=="string":n.kind==="editSupportingFile"?r(n,["kind","name","relativePath","expectedRevision","content"])&&D(n.relativePath)&&(n.expectedRevision===null||typeof n.expectedRevision=="string"&&n.expectedRevision.length>0)&&typeof n.content=="string":n.kind==="delete"?r(n,["kind","name"]):n.kind==="setGlobalDisabled"?r(n,["kind","name","disabled"])&&typeof n.disabled=="boolean":n.kind==="setProjectDisabled"?r(n,["kind","name","projectId","disabled"])&&typeof n.projectId=="string"&&n.projectId.length>0&&typeof n.disabled=="boolean":n.kind==="setPinned"?r(n,["kind","name","pinned"])&&typeof n.pinned=="boolean":n.kind==="promote"?r(n,["kind","name"]):!1}if(e==="applyCuratorPlan"){if(!r(t,["expectedRevision","transitions"])||typeof t.expectedRevision!="string"||t.expectedRevision.length===0||!Array.isArray(t.transitions)||t.transitions.length>500||!t.transitions.every(q))return!1;let n=t.transitions.map(o=>o.name);return new Set(n).size===n.length}if(e==="prepareSkillInstall"){if(!r(t,["name","version","checksum","sizeBytes","allowReplace","provenance"])||!m(t.name)||typeof t.version!="string"||!t.version.trim()||typeof t.checksum!="string"||!/^[a-f0-9]{64}$/.test(t.checksum)||!Number.isSafeInteger(t.sizeBytes)||t.sizeBytes<=0||t.sizeBytes>20*1024*1024||typeof t.allowReplace!="boolean"||!i(t.provenance)||!r(t.provenance,["sourceTier","resourceRiskTier","effectiveRiskTier"]))return!1;let n=o=>o==="R0"||o==="R1"||o==="R2"||o==="R3";return(t.provenance.sourceTier==="official"||t.provenance.sourceTier==="community")&&n(t.provenance.resourceRiskTier)&&n(t.provenance.effectiveRiskTier)}return e==="finalizeSkillInstall"?r(t,["installationId","action"])&&typeof t.installationId=="string"&&t.installationId.trim().length>0&&(t.action==="adopt"||t.action==="discard"):r(t,["name","success"])&&m(t.name)&&typeof t.success=="boolean"}function s(e){return typeof e=="string"&&e.trim()===e&&e.length>0&&e.length<=512&&!e.includes("\0")}function l(e){return Number.isSafeInteger(e)&&e>=0}function B(e){return e==="installed"||e==="auth_required"||e==="ready"||e==="disabled"||e==="incompatible"||e==="unresponsive"||e==="failed"||e==="not_installed"}function De(e){return B(e)&&e!=="not_installed"}function Fe(e){return!i(e)||!r(e,["providerId","state","stage","code","message","retryable","providerVersion","payloadVersion"])?!1:s(e.providerId)&&B(e.state)&&["install","manifest","auth","launch","initialize","models","native_sessions","request"].includes(String(e.stage))&&s(e.code)&&typeof e.message=="string"&&typeof e.retryable=="boolean"&&g(e,"providerVersion")&&g(e,"payloadVersion")}function F(e,t){return i(e)&&r(e,t)&&t.every(n=>typeof e[n]=="boolean")}function Ne(e){return i(e)?e.kind==="provider"?r(e,["kind","enumeration"])&&(e.enumeration==="protocol"||e.enumeration==="implicit-default"):e.kind==="host"&&r(e,["kind","managedPurposes"])&&h(e.managedPurposes):!1}function U(e){if(!i(e)||!r(e,["providerId","displayName","version","state","capabilities","diagnostic"])||!s(e.providerId)||!s(e.displayName)||!s(e.version)||!De(e.state)||e.diagnostic!==void 0&&!Fe(e.diagnostic)||!i(e.capabilities)||!r(e.capabilities,["execution","auth","models","nativeSessions","diagnostics"]))return!1;let t=e.capabilities;return!F(t.execution,["streaming","approvals","cancellation","resume"])||!i(t.auth)||!r(t.auth,["modes","terminal","logout"])||!Array.isArray(t.auth.modes)||!t.auth.modes.every(n=>n==="account"||n==="userKey"||n==="managed")||typeof t.auth.terminal!="boolean"||typeof t.auth.logout!="boolean"||!Ne(t.models)||!F(t.nativeSessions,["discover","transcript","resume"])?!1:i(t.diagnostics)&&r(t.diagnostics,["readiness","version","structuredErrors"])&&t.diagnostics.readiness===!0&&t.diagnostics.version===!0&&t.diagnostics.structuredErrors===!0}function It(e){return i(e)&&r(e,["revision","providers"])&&l(e.revision)&&Array.isArray(e.providers)&&e.providers.every(U)}function St(e){return i(e)&&r(e,["revision","provider"])&&l(e.revision)&&(e.provider===null||U(e.provider))}function R(e,t=0){return t>12?!1:e===null||typeof e=="string"||typeof e=="boolean"?!0:typeof e=="number"?Number.isFinite(e):Array.isArray(e)?e.length<=1e4&&e.every(n=>R(n,t+1)):!i(e)||Object.keys(e).length>1e3?!1:Object.values(e).every(n=>R(n,t+1))}function ve(e){return e===void 0||h(e)}function K(e){return i(e)&&r(e,["inputTokens","outputTokens","totalTokens"])&&["inputTokens","outputTokens","totalTokens"].every(t=>e[t]===void 0||l(e[t]))}function V(e){if(!i(e)||!r(e,["role","content","tool_calls","tool_call_id","name","is_error","reasoning_content","toolReferences","thinkingBlocks","imageUrls","imageDetail","imagePixelLimit","videoUrls","videoFps","audioFormat","audioUrls","fileIds","blocks","attachmentEntries","timestamp","turnId","usage","displayMetadata"])||e.role!=="system"&&e.role!=="user"&&e.role!=="assistant"&&e.role!=="tool"||e.content!==null&&typeof e.content!="string"||!["tool_call_id","name","reasoning_content","timestamp","turnId"].every(t=>I(e,t))||e.is_error!==void 0&&typeof e.is_error!="boolean"||!["toolReferences","imageUrls","videoUrls","audioUrls"].every(t=>ve(e[t]))||e.imageDetail!==void 0&&e.imageDetail!=="auto"&&e.imageDetail!=="low"&&e.imageDetail!=="high"&&e.imageDetail!=="xhigh"||e.audioFormat!==void 0&&e.audioFormat!=="mp3"&&e.audioFormat!=="wav"&&e.audioFormat!=="aac"&&e.audioFormat!=="m4a"||e.videoFps!==void 0&&(typeof e.videoFps!="number"||!Number.isFinite(e.videoFps)||e.videoFps<.2||e.videoFps>5)||e.tool_calls!==void 0&&(!Array.isArray(e.tool_calls)||!e.tool_calls.every(t=>i(t)&&r(t,["id","type","function"])&&s(t.id)&&t.type==="function"&&i(t.function)&&r(t.function,["name","arguments"])&&s(t.function.name)&&typeof t.function.arguments=="string"))||e.thinkingBlocks!==void 0&&(!Array.isArray(e.thinkingBlocks)||!e.thinkingBlocks.every(t=>i(t)&&r(t,["thinking","signature"])&&typeof t.thinking=="string"&&typeof t.signature=="string")))return!1;if(e.imagePixelLimit!==void 0){if(!i(e.imagePixelLimit))return!1;let t=e.imagePixelLimit;if(!r(t,["minPixels","maxPixels"])||!["minPixels","maxPixels"].every(n=>t[n]===void 0||l(t[n])))return!1}return e.fileIds!==void 0&&(!Array.isArray(e.fileIds)||!e.fileIds.every(t=>i(t)&&r(t,["id","mimeType","size"])&&s(t.id)&&I(t,"mimeType")&&(t.size===void 0||l(t.size))))||e.usage!==void 0&&!K(e.usage)?!1:["blocks","attachmentEntries","displayMetadata"].every(t=>e[t]===void 0||R(e[t]))}function qe(e,t){if(!i(t))return!1;if(e==="loadForResume")return r(t,["sessionId","projectId","includeMessages"])&&s(t.sessionId)&&g(t,"projectId")&&(t.includeMessages===void 0||typeof t.includeMessages=="boolean");if(e==="appendTranscript")return r(t,["sessionId","turnId","messageId","sequence","message","usage","displayMetadata"])&&s(t.sessionId)&&s(t.turnId)&&s(t.messageId)&&l(t.sequence)&&V(t.message)&&(t.usage===void 0||K(t.usage))&&(t.displayMetadata===void 0||R(t.displayMetadata));if(e==="updateTitle")return r(t,["sessionId","operationId","title"])&&s(t.sessionId)&&s(t.operationId)&&typeof t.title=="string"&&t.title.length<=2e3;if(e==="saveState"){if(!r(t,["sessionId","turnId","operationId","model","usage"])||!s(t.sessionId)||!s(t.turnId)||!s(t.operationId)||!I(t,"model")||!i(t.usage))return!1;let n=t.usage;return r(n,["turnCount","totalInputTokens","totalOutputTokens"])&&["turnCount","totalInputTokens","totalOutputTokens"].every(o=>l(n[o]))}return e==="saveTaskSummary"?r(t,["sessionId","operationId","summary","generatedAtTurn"])&&s(t.sessionId)&&s(t.operationId)&&typeof t.summary=="string"&&t.summary.length<=2e5&&l(t.generatedAtTurn):r(t,["sessionId","operationId","reason","expectedLastActiveAt","expectedTurnCount"])&&s(t.sessionId)&&s(t.operationId)&&(t.reason==="idle"||t.reason==="turn-limit")&&I(t,"expectedLastActiveAt")&&(t.expectedTurnCount===void 0||l(t.expectedTurnCount))}function kt(e){if(!i(e)||!r(e,["session"]))return!1;if(e.session===null)return!0;if(!i(e.session)||!r(e.session,["metadata","messages","corruptLines"])||!i(e.session.metadata))return!1;let t=e.session.metadata;return r(t,["sessionId","projectId","createdAt","lastActiveAt","turnCount","messageCount","type","title","agentId","model","taskSummary","carryoverSummary","previousSessionId","pinnedAt","archivedAt","sealedAt"])&&["sessionId","projectId","createdAt","lastActiveAt"].every(n=>s(t[n]))&&["turnCount","messageCount"].every(n=>l(t[n]))&&(t.type===void 0||t.type==="personal"||t.type==="group")&&["title","agentId","model","taskSummary","carryoverSummary","previousSessionId","pinnedAt","archivedAt","sealedAt"].every(n=>I(t,n))&&Array.isArray(e.session.messages)&&e.session.messages.every(V)&&(e.session.corruptLines===void 0||l(e.session.corruptLines))}function Pt(e){return i(e)&&r(e,["status","messageCount"])&&(e.status==="appended"||e.status==="duplicate"||e.status==="session-deleted")&&l(e.messageCount)}function ht(e){return i(e)&&r(e,["status"])&&(e.status==="updated"||e.status==="duplicate"||e.status==="session-deleted")}function bt(e){return i(e)&&r(e,["status","nextSessionId"])&&(e.status==="updated"||e.status==="duplicate"||e.status==="session-deleted")&&(e.nextSessionId===void 0||s(e.nextSessionId))}function Le(e,t){if(!i(t)||!I(t,"viewId")||!g(t,"sessionId"))return!1;switch(e){case"navigate":return r(t,["url","viewId","sessionId"])&&typeof t.url=="string";case"click":return r(t,["ref","viewId","sessionId"])&&typeof t.ref=="string";case"type":return r(t,["ref","text","submit","viewId","sessionId"])&&typeof t.ref=="string"&&typeof t.text=="string"&&(t.submit===void 0||typeof t.submit=="boolean");case"snapshot":case"screenshot":case"console":case"network":return r(t,["viewId","sessionId"])}}function T(e,t){return e[t]===void 0||l(e[t])}function Be(e){if(!i(e)||!r(e,["model","provider","agentMode","sourceChannel","usage","toolSummary","fileContext"]))return!1;for(let t of["model","provider","sourceChannel"])if(e[t]!==void 0&&!s(e[t]))return!1;if(e.agentMode!==void 0&&!["chat","solo","product","workflow","unknown"].includes(String(e.agentMode))||e.usage!==void 0&&(!i(e.usage)||!r(e.usage,["inputTokens","outputTokens","totalTokens"])||!["inputTokens","outputTokens","totalTokens"].every(t=>T(e.usage,t))))return!1;if(e.toolSummary!==void 0){if(!i(e.toolSummary)||!r(e.toolSummary,["calledTools","failedTools","blockedTools"]))return!1;for(let t of["calledTools","failedTools","blockedTools"]){let n=e.toolSummary[t];if(!Array.isArray(n)||!n.every(s))return!1}}return!(e.fileContext!==void 0&&(!i(e.fileContext)||!r(e.fileContext,["changedFileCount","changedPathsPreview","hasTurnFileChanges"])||!T(e.fileContext,"changedFileCount")||e.fileContext.changedPathsPreview!==void 0&&(!Array.isArray(e.fileContext.changedPathsPreview)||!e.fileContext.changedPathsPreview.every(s))||e.fileContext.hasTurnFileChanges!==void 0&&typeof e.fileContext.hasTurnFileChanges!="boolean"))}function Ue(e,t){return i(t)?e==="commitTurnTelemetry"?r(t,["projectId","sessionId","turnId","telemetry"])&&s(t.projectId)&&s(t.sessionId)&&s(t.turnId)&&Be(t.telemetry):e==="listDistillableFeedback"||e==="runUploadSweep"?r(t,["projectId"])&&s(t.projectId):r(t,["projectId","turnId","clusterKey","idempotencyKey"])&&s(t.projectId)&&s(t.turnId)&&s(t.clusterKey)&&s(t.idempotencyKey):!1}function Ke(e,t){if(!i(t))return!1;if(e==="getSnapshot")return Object.keys(t).length===0;if(e==="switch")return r(t,["projectIdOrQuery"])&&s(t.projectIdOrQuery);if(e==="create"){let n=t.workspaceDir!==void 0||typeof t.name=="string"&&t.name!=="."&&t.name!==".."&&!/[\\/]/.test(t.name);return r(t,["name","workspaceDir","type","groupId"])&&s(t.name)&&n&&g(t,"workspaceDir")&&g(t,"groupId")&&(t.type===void 0||["personal","group","solo","product","automation"].includes(String(t.type)))}return!r(t,["projectId","planStatus","planAgents","planWinnerId","leaderSessionId","primaryWorkflowId"])||!s(t.projectId)||t.planStatus!==void 0&&!["creating","running","completed","failed","cancelled"].includes(String(t.planStatus))||t.planAgents!==void 0&&(!Array.isArray(t.planAgents)||!t.planAgents.every(s))?!1:["planWinnerId","leaderSessionId","primaryWorkflowId"].every(n=>g(t,n))}function Ve(e,t){return!i(t)||!s(t.sessionId)?!1:e==="open"?r(t,["runId","kind","projectId","sessionId"])&&s(t.runId)&&s(t.projectId)&&(t.kind==="solo"||t.kind==="product"||t.kind==="goal"):e==="recordEvent"?!r(t,["runId","event","sessionId"])||!s(t.runId)||!i(t.event)?!1:r(t.event,["at","type","sequence","payload"])&&s(t.event.at)&&s(t.event.type)&&T(t.event,"sequence"):e==="checkpoint"?r(t,["runId","checkpointId","snapshot","sessionId"])&&s(t.runId)&&g(t,"checkpointId")&&Object.prototype.hasOwnProperty.call(t,"snapshot")&&t.snapshot!==void 0:e==="list"?r(t,["projectId","kind","sessionId"])&&s(t.projectId)&&(t.kind===void 0||t.kind==="solo"||t.kind==="product"||t.kind==="goal"):e==="getCheckpoint"||e==="restoreCheckpoint"?r(t,["runId","checkpointId","sessionId"])&&s(t.runId)&&s(t.checkpointId):e==="listCheckpoints"?r(t,["runId","sessionId"])&&s(t.runId):(e==="get"||e==="delete")&&r(t,["runId","sessionId"])&&s(t.runId)}function N(e){return typeof e=="string"&&/^[a-z0-9][a-z0-9._-]*\.md$/i.test(e)&&e!=="INDEX.md"&&!e.includes("..")&&!e.includes("/")&&!e.includes("\\")}function Ye(e,t){return!i(t)||typeof t.sessionId!="string"||t.sessionId.trim().length===0?!1:e==="initialize"||e==="getIndex"||e==="listFiles"?r(t,["sessionId"]):e==="addToIndex"?r(t,["sessionId","content"])&&typeof t.content=="string"&&t.content.length>0:e==="replaceInIndex"?r(t,["sessionId","oldText","newText"])&&typeof t.oldText=="string"&&t.oldText.length>0&&typeof t.newText=="string"&&t.newText.length>0:e==="removeFromIndex"?r(t,["sessionId","oldText"])&&typeof t.oldText=="string"&&t.oldText.length>0:e==="createFile"||e==="writeFile"?r(t,["sessionId","name","content"])&&N(t.name)&&typeof t.content=="string":e==="readFile"||e==="deleteFile"?r(t,["sessionId","name"])&&N(t.name):e==="searchLocal"&&r(t,["sessionId","query"])&&typeof t.query=="string"&&t.query.length>0}function Rt(e){if(!i(e)||!r(e,["service","method","params"])||typeof e.service!="string"||!H.has(e.service)||typeof e.method!="string"||e.method.length===0)return!1;if(e.service==="memory")return Pe.has(e.method)&&Array.isArray(e.params);if(e.service==="projectMemory")return he.has(e.method)&&Ye(e.method,e.params);if(e.service==="profile"){if(!be.has(e.method)||!Array.isArray(e.params))return!1;switch(e.method){case"getTunables":return e.params.length===0;case"updateTunable":return e.params.length===2&&typeof e.params[0]=="string"&&e.params[0].trim().length>0&&e.params[1]!==void 0;case"clearTunable":case"appendDirectoryAllowRule":return e.params.length===1&&typeof e.params[0]=="string"&&e.params[0].trim().length>0}}return e.service==="capability"?Re.has(e.method)&&je(e.method,e.params):e.service==="session"?xe.has(e.method)&&qe(e.method,e.params):e.service==="feedback"?we.has(e.method)&&Ue(e.method,e.params):e.service==="project"?Ae.has(e.method)&&Ke(e.method,e.params):e.service==="runState"?He.has(e.method)&&Ve(e.method,e.params):e.service==="provider"?!Te.has(e.method)||!Array.isArray(e.params)?!1:e.method==="list"?e.params.length===0:e.params.length===1&&s(e.params[0]):Ce.has(e.method)?Le(e.method,e.params):!1}function xt(e){return i(e)&&r(e,["ok"])&&e.ok===!0}function wt(e){return!i(e)||!r(e,["events"])||!Array.isArray(e.events)?!1:e.events.every(t=>i(t)&&r(t,["feedbackId","rating","reason","state","sessionId","turnId"])&&s(t.feedbackId)&&(t.rating==="up"||t.rating==="down")&&(t.reason===void 0||["missed_requirement","incomplete","broken_file_link_or_panel","code_or_test_failed","factually_wrong","too_verbose","too_short","wrong_style","other"].includes(String(t.reason)))&&t.state==="active"&&s(t.sessionId)&&s(t.turnId))}function At(e){return i(e)&&r(e,["ok","updated"])&&e.ok===!0&&typeof e.updated=="boolean"}function Ht(e){return i(e)&&r(e,["uploaded","queued","retried","exhausted"])&&["uploaded","queued","retried","exhausted"].every(t=>l(e[t]))}function Y(e){return!i(e)||!r(e,["id","name","workspaceDir","type","status","groupId","createdAt","updatedAt","planStatus","planAgents","planWinnerId","leaderSessionId","primaryWorkflowId"])||!s(e.id)||!s(e.name)||!s(e.workspaceDir)||!["default","personal","group","solo","product","automation"].includes(String(e.type))||e.status!=="active"&&e.status!=="archived"||!s(e.createdAt)||!s(e.updatedAt)||!["groupId","planWinnerId","leaderSessionId","primaryWorkflowId"].every(t=>g(e,t))||e.planStatus!==void 0&&!["creating","running","completed","failed","cancelled"].includes(String(e.planStatus))?!1:e.planAgents===void 0||Array.isArray(e.planAgents)&&e.planAgents.every(s)}function Tt(e){return i(e)&&r(e,["activeProjectId","projects"])&&(e.activeProjectId===null||s(e.activeProjectId))&&Array.isArray(e.projects)&&e.projects.every(Y)}function Ct(e){return i(e)&&r(e,["ok","project","deduplicated"])&&e.ok===!0&&Y(e.project)&&(e.deduplicated===void 0||typeof e.deduplicated=="boolean")}function Mt(e,t){return!i(e)||e.version!==1||!Array.isArray(e.services)||typeof t!="string"||!H.has(t)||!e.services.every(n=>typeof n=="string"&&H.has(n))?!1:e.services.includes(t)}export{st as DELEGATE_WIRE_METHODS,ge as HOST_CAPABILITY_PROXY_METHODS,me as HOST_FEEDBACK_PROXY_METHODS,pe as HOST_MEMORY_PROXY_METHODS,ke as HOST_PROFILE_PROXY_METHODS,le as HOST_PROJECT_MEMORY_PROXY_METHODS,fe as HOST_PROJECT_PROXY_METHODS,ye as HOST_PROVIDER_PROXY_METHODS,ct as HOST_REQUEST_WIRE_METHODS,Se as HOST_RUN_STATE_PROXY_METHODS,ue as HOST_SESSION_PROXY_METHODS,it as HOST_SKILL_FILE_MAX_BYTES,rt as LIFECYCLE_CODES,Et as MODEL_PURPOSES,Ie as PREVIEW_BROWSER_ACTIONS,ot as PREVIEW_BROWSER_MUTATION_ACTIONS,at as PREVIEW_BROWSER_READ_ACTIONS,Xe as buildProviderValidationProbes,ae as deriveProjectId,Fe as isHostAgentProviderDiagnostic,St as isHostAgentProviderGetResult,It as isHostAgentProviderListResult,U as isHostAgentProviderSnapshot,mt as isHostApplyCuratorPlanResult,wt as isHostDistillableFeedbackResult,xt as isHostFeedbackCommitResult,At as isHostFeedbackMarkResult,Ht as isHostFeedbackSweepResult,yt as isHostFinalizeSkillInstallResult,ft as isHostPrepareSkillInstallResult,Ct as isHostProjectMutationResult,Tt as isHostProjectSnapshotResult,Rt as isHostRequestParams,Pt as isHostSessionAppendResult,W as isHostSessionCollectionDelta,X as isHostSessionCollectionSnapshot,bt as isHostSessionGroupSplitResult,kt as isHostSessionLoadForResumeResult,ht as isHostSessionMutationResult,lt as isHostSkillFileResponse,gt as isHostSkillInvocationResult,ut as isHostSkillMutationResult,pt as isHostSkillSnapshotResponse,G as isNativeTranscript,dt as isPreviewTargetKey,Ge as isProviderProbeEndpointUnavailable,$e as listSettingsProviderOptions,nt as memberEquals,tt as memberKey,w as providerCatalogBaseUrl,E as providerCatalogDisplayName,j as segmentForFts,ce as segmentTextForFts,Mt as supportsHostRequestService};