qlogicagent 2.18.6 → 2.18.7

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 (147) hide show
  1. package/README.md +382 -382
  2. package/dist/agent.js +30 -30
  3. package/dist/cli.js +1 -1
  4. package/dist/default-project-knowledge/INSTRUCTIONS.md +7 -7
  5. package/dist/default-project-knowledge/rules/project-workflow.md +6 -6
  6. package/dist/host-contract.js +1 -0
  7. package/dist/index.js +539 -530
  8. package/dist/orchestration.js +4 -4
  9. package/dist/permissions.js +1 -1
  10. package/dist/plugin-marketplace-compute.js +1 -0
  11. package/dist/protocol.js +1 -1
  12. package/dist/runtime/infra/mcp-bridge-server.js +275 -275
  13. package/dist/skills/builtin/desktop-screenshot/SKILL.md +62 -62
  14. package/dist/skills/builtin/office-doc-reading/SKILL.md +19 -19
  15. package/dist/skills/mcp/astraclaw-native-mcp-server.js +4 -4
  16. package/dist/tunables.js +1 -0
  17. package/dist/types/agent/runtime-vars.d.ts +1 -2
  18. package/dist/types/agent/tool-loop.d.ts +6 -0
  19. package/dist/types/agent/tool-loop.test-harness.d.ts +20 -0
  20. package/dist/types/agent/types.d.ts +2 -0
  21. package/dist/types/cli/acp-extended-handlers.d.ts +7 -0
  22. package/dist/types/cli/acp-extended-host-adapter.d.ts +2 -0
  23. package/dist/types/cli/acp-session-host.d.ts +15 -2
  24. package/dist/types/cli/base-tool-bootstrap.d.ts +1 -0
  25. package/dist/types/cli/community-skill-installer.d.ts +2 -0
  26. package/dist/types/cli/core-tool-coordinator.d.ts +4 -0
  27. package/dist/types/cli/core-tools/config-tool-bootstrap.d.ts +3 -1
  28. package/dist/types/cli/core-tools/config-tool-service.d.ts +7 -5
  29. package/dist/types/cli/default-project-bootstrap.d.ts +1 -0
  30. package/dist/types/cli/handlers/agents-handler.d.ts +4 -1
  31. package/dist/types/cli/handlers/community-handler.d.ts +2 -0
  32. package/dist/types/cli/handlers/config-handler.d.ts +2 -15
  33. package/dist/types/cli/handlers/pet-handler.d.ts +3 -2
  34. package/dist/types/cli/handlers/session-handler.d.ts +1 -1
  35. package/dist/types/cli/handlers/skills-handler.d.ts +12 -10
  36. package/dist/types/cli/handlers/solo-handler.d.ts +3 -0
  37. package/dist/types/cli/handlers/turn-handler.d.ts +46 -32
  38. package/dist/types/cli/handlers/workflow-handler.d.ts +6 -0
  39. package/dist/types/cli/mcp-bootstrap.d.ts +0 -2
  40. package/dist/types/cli/media-inline.d.ts +14 -0
  41. package/dist/types/cli/media-understanding.d.ts +65 -8
  42. package/dist/types/cli/memory-coordinator.d.ts +8 -0
  43. package/dist/types/cli/multi-agent-handler-host.d.ts +2 -0
  44. package/dist/types/cli/permission-bootstrap.d.ts +2 -0
  45. package/dist/types/cli/pet-runtime.d.ts +0 -1
  46. package/dist/types/cli/plugin-bootstrap.d.ts +2 -1
  47. package/dist/types/cli/product-coordinator.d.ts +4 -1
  48. package/dist/types/cli/rpc-registry.d.ts +1 -3
  49. package/dist/types/cli/runtime-watcher-bootstrap.d.ts +0 -2
  50. package/dist/types/cli/session-context.d.ts +4 -2
  51. package/dist/types/cli/skill-invocation-service.d.ts +2 -0
  52. package/dist/types/cli/skill-tools-bootstrap.d.ts +2 -0
  53. package/dist/types/cli/skills-query-service.d.ts +2 -1
  54. package/dist/types/cli/stdio-acp-protocol-coordinator.d.ts +9 -0
  55. package/dist/types/cli/stdio-acp-request-host.d.ts +11 -2
  56. package/dist/types/cli/stdio-rpc-handler-hosts.d.ts +1 -1
  57. package/dist/types/cli/stdio-runtime-bootstrap.d.ts +6 -0
  58. package/dist/types/cli/stdio-runtime-services.d.ts +6 -1
  59. package/dist/types/cli/stdio-server.d.ts +33 -4
  60. package/dist/types/cli/task-distillation-coordinator.d.ts +9 -4
  61. package/dist/types/cli/tool-bootstrap-core-registration.d.ts +3 -0
  62. package/dist/types/cli/tool-bootstrap-media-registration.d.ts +10 -0
  63. package/dist/types/cli/tool-bootstrap-web-registration.d.ts +1 -0
  64. package/dist/types/cli/tool-bootstrap.d.ts +9 -0
  65. package/dist/types/cli/turn-core.d.ts +2 -0
  66. package/dist/types/cli/turn-preview-browser-setup.d.ts +15 -0
  67. package/dist/types/cli/turn-project-router.d.ts +1 -1
  68. package/dist/types/cli/workflow-host-adapter.d.ts +2 -0
  69. package/dist/types/host-contract/index.d.ts +1475 -0
  70. package/dist/types/host-contract/project-id.d.ts +5 -0
  71. package/dist/types/host-contract/provider-profile.d.ts +46 -0
  72. package/dist/types/orchestration/agent-instance.d.ts +6 -0
  73. package/dist/types/orchestration/delegation-coordinator.d.ts +40 -0
  74. package/dist/types/orchestration/goal-mode-adapters.d.ts +3 -0
  75. package/dist/types/orchestration/product-planner.d.ts +3 -0
  76. package/dist/types/orchestration/solo-evaluator.d.ts +18 -3
  77. package/dist/types/orchestration/solo-persistence.d.ts +2 -0
  78. package/dist/types/orchestration/testing/delegate-test-bridge.d.ts +4 -0
  79. package/dist/types/permissions.d.ts +2 -0
  80. package/dist/types/protocol/methods.d.ts +0 -199
  81. package/dist/types/protocol/wire/acp-protocol.d.ts +16 -1
  82. package/dist/types/protocol/wire/agent-methods.d.ts +1 -173
  83. package/dist/types/protocol/wire/chat-types.d.ts +6 -0
  84. package/dist/types/runtime/config/tunable-defaults.d.ts +13 -3
  85. package/dist/types/runtime/execution/dream-agent.d.ts +9 -8
  86. package/dist/types/runtime/infra/agent-paths.d.ts +3 -3
  87. package/dist/types/runtime/infra/astraclaw-capabilities.d.ts +1 -1
  88. package/dist/types/runtime/infra/clixml-sanitize.d.ts +16 -0
  89. package/dist/types/runtime/infra/external-agent-approvals.d.ts +18 -0
  90. package/dist/types/runtime/infra/feedback-distillation.d.ts +3 -1
  91. package/dist/types/runtime/infra/feedback-host-authority.d.ts +4 -0
  92. package/dist/types/runtime/infra/llmrouter-catalog.d.ts +2 -13
  93. package/dist/types/runtime/infra/model-registry.d.ts +3 -1
  94. package/dist/types/runtime/infra/project-authority-facade.d.ts +11 -0
  95. package/dist/types/runtime/infra/project-host-authority.d.ts +10 -0
  96. package/dist/types/runtime/ports/memory-provider.d.ts +11 -7
  97. package/dist/types/runtime/ports/tool-contracts.d.ts +2 -0
  98. package/dist/types/runtime/prompt/fresh-workspace-evidence.d.ts +2 -2
  99. package/dist/types/runtime/session/session-persistence.d.ts +29 -10
  100. package/dist/types/runtime/session/session-recovery.d.ts +4 -0
  101. package/dist/types/runtime/session/session-summary.d.ts +3 -1
  102. package/dist/types/runtime/session/session-transcript-store.d.ts +7 -0
  103. package/dist/types/skills/memory/host-memory-provider.d.ts +148 -0
  104. package/dist/types/skills/memory/local-memory-provider.d.ts +19 -10
  105. package/dist/types/skills/memory/task-distillation.d.ts +6 -0
  106. package/dist/types/skills/plugins/plugin-marketplace.d.ts +23 -57
  107. package/dist/types/skills/tools/media-understand-tool.d.ts +28 -0
  108. package/dist/types/skills/tools/preview-browser-tool.d.ts +136 -0
  109. package/dist/types/skills/tools/shell/task-output.d.ts +10 -1
  110. package/dist/types/skills/tools/skill-tool.d.ts +1 -1
  111. package/dist/types/skills/web-search/brave-source.d.ts +2 -1
  112. package/dist/types/skills/web-search/crawl4ai-extractor.d.ts +3 -2
  113. package/dist/types/skills/web-search/exa-source.d.ts +2 -1
  114. package/dist/types/skills/web-search/search-svc-source.d.ts +4 -3
  115. package/dist/types/skills/web-search/searxng-source.d.ts +3 -1
  116. package/dist/types/skills/web-search/serper-source.d.ts +2 -1
  117. package/dist/types/skills/web-search/source-factory.d.ts +2 -1
  118. package/dist/types/skills/web-search/web-tunable-resolver.d.ts +16 -0
  119. package/dist/types/test-support/global-home-setup.d.ts +2 -0
  120. package/dist/types/transport/acp-server.d.ts +29 -0
  121. package/dist/types/transport/delegate-client.d.ts +82 -0
  122. package/dist/types/transport/host-capability-client.d.ts +21 -0
  123. package/dist/types/transport/host-feedback-client.d.ts +25 -0
  124. package/dist/types/transport/host-profile-client.d.ts +19 -0
  125. package/dist/types/transport/host-project-client.d.ts +16 -0
  126. package/dist/types/transport/host-request-client.d.ts +38 -0
  127. package/dist/types/transport/host-session-client.d.ts +29 -0
  128. package/dist/types/tunables.d.ts +2 -0
  129. package/dist/vendor/hatch-pet/LICENSE.txt +201 -201
  130. package/dist/vendor/hatch-pet/NOTICE.md +25 -25
  131. package/dist/vendor/hatch-pet/references/animation-rows.md +29 -29
  132. package/dist/vendor/hatch-pet/references/codex-pet-contract.md +35 -35
  133. package/dist/vendor/hatch-pet/references/qa-rubric.md +66 -66
  134. package/dist/vendor/hatch-pet/scripts/compose_atlas.py +169 -169
  135. package/dist/vendor/hatch-pet/scripts/derive_running_left_from_running_right.py +150 -150
  136. package/dist/vendor/hatch-pet/scripts/extract_strip_frames.py +408 -408
  137. package/dist/vendor/hatch-pet/scripts/inspect_frames.py +256 -256
  138. package/dist/vendor/hatch-pet/scripts/make_contact_sheet.py +96 -96
  139. package/dist/vendor/hatch-pet/scripts/prepare_pet_run.py +834 -834
  140. package/dist/vendor/hatch-pet/scripts/render_animation_previews.py +78 -78
  141. package/dist/vendor/hatch-pet/scripts/validate_atlas.py +157 -157
  142. package/package.json +25 -2
  143. package/dist/types/cli/handlers/settings-handler.d.ts +0 -19
  144. package/dist/types/cli/permission-rule-persistence.d.ts +0 -16
  145. package/dist/types/cli/tunable-store.d.ts +0 -26
  146. package/dist/types/skills/permissions/settings-watcher.d.ts +0 -26
  147. /package/dist/types/{skills/memory → host-contract}/fts-segment.d.ts +0 -0
@@ -1,7 +1,7 @@
1
- # Project Knowledge Base
2
-
3
- Keep this file focused on durable context for this project.
4
-
5
- - Record project goals, constraints, product decisions, and long-lived assumptions here.
6
- - Put repeatable workflow, coding, review, and testing rules in `.qlogicagent/rules/*.md`.
7
- - Update this knowledge base when project conventions change so future agent turns inherit them.
1
+ # Project Knowledge Base
2
+
3
+ Keep this file focused on durable context for this project.
4
+
5
+ - Record project goals, constraints, product decisions, and long-lived assumptions here.
6
+ - Put repeatable workflow, coding, review, and testing rules in `.qlogicagent/rules/*.md`.
7
+ - Update this knowledge base when project conventions change so future agent turns inherit them.
@@ -1,6 +1,6 @@
1
- # Project Workflow Rules
2
-
3
- - Prefer the project's existing architecture, naming, and file ownership.
4
- - Keep changes scoped to the requested behavior.
5
- - Verify changes with the smallest meaningful test, build, or browser check.
6
- - Store durable project conventions in the project knowledge base instead of repeating them in chat.
1
+ # Project Workflow Rules
2
+
3
+ - Prefer the project's existing architecture, naming, and file ownership.
4
+ - Keep changes scoped to the requested behavior.
5
+ - Verify changes with the smallest meaningful test, build, or browser check.
6
+ - Store durable project conventions in the project knowledge base instead of repeating them in chat.
@@ -0,0 +1 @@
1
+ var I="llmrouter";function P(e){return e.baseUrl??e.base_url}function w(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 h(e){return e.id===I?I:e.group?.trim()||e.id}function j(e){return e.id===h(e)}function x(e){return w({...e,id:h(e)})}function F(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]??w(e)}function q(e){return e.authType==="none"?!1:e.apiKeyEnvVars===void 0||e.apiKeyEnvVars.length>0}function v(e){return{id:e.id,displayName:F(e),baseUrl:P(e)??"",modelCount:e.models?.length??0}}function Se(e){let t=new Map;for(let n of e){if(!q(n))continue;let o=h(n);if(o===I)continue;let a=n.models?.length??0,p=v(n),d=t.get(o);if(!d){t.set(o,{id:o,displayName:x(n),baseUrl:P(n)??"",modelCount:a,variants:[p]});continue}d.modelCount+=a,d.variants??=[],d.variants.some(l=>l.id===p.id)||d.variants.push(p),j(n)&&(d.displayName=x(n),d.baseUrl=P(n)??d.baseUrl)}return Array.from(t.values()).map(({variants:n,...o})=>({...o,...n&&n.length>1?{variants:n}:{}}))}function B(e){return e.defaultModel??e.models?.find(t=>!!t.id)?.id}function N(e){let t=e.replace(/\/+$/,"");return[...new Set([`${t}/models`,/\/v\d+$/.test(t)?`${t}/models`:`${t}/v1/models`])]}function be(e){return e===404||e===405||e===410||e===501}function b(e){return{accept:"application/json",Authorization:`Bearer ${e}`}}function L(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 U(e){let t=e.trim().replace(/\/+$/,"");return t.endsWith("/v1")?`${t}/models`:`${t}/v1/models`}function Pe(e,t,n,o){if(e===I)return[{method:"GET",url:U(n),headers:b(t)}];let a=L(n,o).replace(/\/+$/,""),p=o?.transport,d=B(o??{id:e}),l=[];if(p==="anthropic-messages")return/\/anthropic$/.test(a)&&l.push({method:"GET",url:`${a.replace(/\/anthropic$/,"")}/models`,headers:b(t)}),d&&l.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}}),l;if(p==="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}}}]:l;if(p==="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}}]:l;for(let m of N(a))l.push({method:"GET",url:m,headers:b(t)});return l}import{createHash as K}from"node:crypto";import{resolve as $}from"node:path";function z(e){return K("sha256").update($(e).toLowerCase()).digest("hex").slice(0,16)}var V=/[一-鿿]/;function A(e){let t=[],n=e.toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[];for(let o of n){let a="",p=!1,d=()=>{if(a){if(p){a.length===1&&t.push(a);for(let l=0;l+1<a.length;l++)t.push(a.slice(l,l+2))}else t.push(a);a=""}};for(let l of o){let m=V.test(l);a&&m!==p&&d(),p=m,a+=l}d()}return t}function G(e){return A(e).join(" ")}var Te=["textGeneration","smallModel","stt","tts","imageGeneration","imageUnderstanding","videoGeneration","videoUnderstanding","threeDGeneration","embedding","voiceClone","musicGeneration","realtimeAudio","realtimeVideo"],y=":";function He(e){for(let[t,n]of[["kind",e.kind],["owner",e.owner],["name",e.name]])if(n.includes(y))throw new Error(`memberKey: field "${t}" contains reserved separator "${y}": ${n}`);return`${e.kind}${y}${e.owner}${y}${e.name}${y}${e.seq}`}function Ce(e,t){return e.kind===t.kind&&e.owner===t.owner&&e.name===t.name&&e.seq===t.seq}var Me={request:"x/delegate",update:"x/delegate.update",respond:"x/delegate.respond",cancel:"x/delegate.cancel"},Y=["search","addText","embedText","ingestExtracted","proposeExtracted","consumePendingProposals","feedback","findRelatedEvents","synthesizeTimeline","getActivitySummary","getAllProfiles","setProfile","getAtlas","setMemoryArchived","triggerDecay","resolveConflicts"],W=["getSkillSnapshot","readSkillFile","recordSkillInvocation","commitSkillMutation","applyCuratorPlan","prepareSkillInstall","finalizeSkillInstall"],X=["loadForResume","appendTranscript","updateTitle","saveState","saveTaskSummary","groupSplit"],Q=["commitTurnTelemetry","listDistillableFeedback","markFeedbackDistilled","runUploadSweep"],J=["getSnapshot","create","switch","update"],_e=1024*1024,Z=["navigate","snapshot","click","type","screenshot","console","network"],ee=["getTunables","updateTunable","clearTunable","appendDirectoryAllowRule"],Ee={request:"x/host.request"},R=new Set(["memory","profile","preview","capability","session","feedback","project"]),te=new Set(Y),ne=new Set(ee),re=new Set(W),se=new Set(X),ie=new Set(Q),oe=new Set(J),ae=new Set(Z);function s(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function k(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function C(e,t){return t.every(n=>e[n]===void 0||typeof e[n]=="string")}function de(e){return s(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")&&C(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 le(e){return s(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"&&C(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||k(e.requiredTools))&&(e.environments===void 0||k(e.environments)):!1}function ce(e){return s(e)&&r(e,["name","skills","filePath"])&&typeof e.name=="string"&&e.name.length>0&&k(e.skills)&&typeof e.filePath=="string"&&e.filePath.length>0}function Oe(e){return!s(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(le)&&Array.isArray(e.lifecycle)&&e.lifecycle.every(de)&&Array.isArray(e.bundles)&&e.bundles.every(ce)}function De(e){return s(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 je(e){return s(e)&&r(e,["name","lastUsedAt","useCount","positiveCount","negativeCount"])&&u(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 Fe(e){return!s(e)||!u(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 pe(e,t){return e==="active"&&t==="stale"||e==="stale"&&(t==="archived"||t==="active")||e==="archived"&&t==="active"}function M(e){return s(e)&&r(e,["name","from","to"])&&u(e.name)&&pe(e.from,e.to)}function qe(e){return s(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(M)}function ve(e){return s(e)&&r(e,["installationId","artifactPath","contentDir","expiresAt"])&&["installationId","artifactPath","contentDir","expiresAt"].every(t=>typeof e[t]=="string"&&e[t].length>0)}function Be(e){return s(e)?e.action==="discard"?r(e,["action","discarded"])&&e.discarded===!0:e.action==="adopt"&&r(e,["action","resourceId","version","skillName","installDir","checksum","replaced"])&&u(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 f(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 u(e){return typeof e=="string"&&/^[A-Za-z0-9_.-]+$/.test(e)&&e!=="."&&e!==".."}function _(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 T(e){return _(e)&&e.toLowerCase()!=="skill.md"}function ge(e,t){if(!s(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"])&&u(t.name)&&(t.relativePath===void 0||_(t.relativePath))&&g(t,"expectedRevision");if(e==="commitSkillMutation"){if(!r(t,["mutation"])||!s(t.mutation))return!1;let n=t.mutation;return!u(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:s(n.supportingFile)&&r(n.supportingFile,["relativePath","content"])&&T(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"])&&T(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(M))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"])||!u(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"||!s(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"])&&u(t.name)&&typeof t.success=="boolean"}function i(e){return typeof e=="string"&&e.trim()===e&&e.length>0&&e.length<=512&&!e.includes("\0")}function c(e){return Number.isSafeInteger(e)&&e>=0}function S(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=>S(n,t+1)):!s(e)||Object.keys(e).length>1e3?!1:Object.values(e).every(n=>S(n,t+1))}function ue(e){return e===void 0||k(e)}function E(e){return s(e)&&r(e,["inputTokens","outputTokens","totalTokens"])&&["inputTokens","outputTokens","totalTokens"].every(t=>e[t]===void 0||c(e[t]))}function O(e){if(!s(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=>f(e,t))||e.is_error!==void 0&&typeof e.is_error!="boolean"||!["toolReferences","imageUrls","videoUrls","audioUrls"].every(t=>ue(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=>s(t)&&r(t,["id","type","function"])&&i(t.id)&&t.type==="function"&&s(t.function)&&r(t.function,["name","arguments"])&&i(t.function.name)&&typeof t.function.arguments=="string"))||e.thinkingBlocks!==void 0&&(!Array.isArray(e.thinkingBlocks)||!e.thinkingBlocks.every(t=>s(t)&&r(t,["thinking","signature"])&&typeof t.thinking=="string"&&typeof t.signature=="string")))return!1;if(e.imagePixelLimit!==void 0){if(!s(e.imagePixelLimit))return!1;let t=e.imagePixelLimit;if(!r(t,["minPixels","maxPixels"])||!["minPixels","maxPixels"].every(n=>t[n]===void 0||c(t[n])))return!1}return e.fileIds!==void 0&&(!Array.isArray(e.fileIds)||!e.fileIds.every(t=>s(t)&&r(t,["id","mimeType","size"])&&i(t.id)&&f(t,"mimeType")&&(t.size===void 0||c(t.size))))||e.usage!==void 0&&!E(e.usage)?!1:["blocks","attachmentEntries","displayMetadata"].every(t=>e[t]===void 0||S(e[t]))}function fe(e,t){if(!s(t))return!1;if(e==="loadForResume")return r(t,["sessionId","projectId","includeMessages"])&&i(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"])&&i(t.sessionId)&&i(t.turnId)&&i(t.messageId)&&c(t.sequence)&&O(t.message)&&(t.usage===void 0||E(t.usage))&&(t.displayMetadata===void 0||S(t.displayMetadata));if(e==="updateTitle")return r(t,["sessionId","operationId","title"])&&i(t.sessionId)&&i(t.operationId)&&typeof t.title=="string"&&t.title.length<=2e3;if(e==="saveState"){if(!r(t,["sessionId","turnId","operationId","model","usage"])||!i(t.sessionId)||!i(t.turnId)||!i(t.operationId)||!f(t,"model")||!s(t.usage))return!1;let n=t.usage;return r(n,["turnCount","totalInputTokens","totalOutputTokens"])&&["turnCount","totalInputTokens","totalOutputTokens"].every(o=>c(n[o]))}return e==="saveTaskSummary"?r(t,["sessionId","operationId","summary","generatedAtTurn"])&&i(t.sessionId)&&i(t.operationId)&&typeof t.summary=="string"&&t.summary.length<=2e5&&c(t.generatedAtTurn):r(t,["sessionId","operationId","reason","expectedLastActiveAt","expectedTurnCount"])&&i(t.sessionId)&&i(t.operationId)&&(t.reason==="idle"||t.reason==="turn-limit")&&f(t,"expectedLastActiveAt")&&(t.expectedTurnCount===void 0||c(t.expectedTurnCount))}function Ne(e){if(!s(e)||!r(e,["session"]))return!1;if(e.session===null)return!0;if(!s(e.session)||!r(e.session,["metadata","messages","corruptLines"])||!s(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=>i(t[n]))&&["turnCount","messageCount"].every(n=>c(t[n]))&&(t.type===void 0||t.type==="personal"||t.type==="group")&&["title","agentId","model","taskSummary","carryoverSummary","previousSessionId","pinnedAt","archivedAt","sealedAt"].every(n=>f(t,n))&&Array.isArray(e.session.messages)&&e.session.messages.every(O)&&(e.session.corruptLines===void 0||c(e.session.corruptLines))}function Le(e){return s(e)&&r(e,["status","messageCount"])&&(e.status==="appended"||e.status==="duplicate"||e.status==="session-deleted")&&c(e.messageCount)}function Ue(e){return s(e)&&r(e,["status"])&&(e.status==="updated"||e.status==="duplicate"||e.status==="session-deleted")}function Ke(e){return s(e)&&r(e,["status","nextSessionId"])&&(e.status==="updated"||e.status==="duplicate"||e.status==="session-deleted")&&(e.nextSessionId===void 0||i(e.nextSessionId))}function me(e,t){if(!s(t)||!f(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 H(e,t){return e[t]===void 0||c(e[t])}function ye(e){if(!s(e)||!r(e,["model","provider","agentMode","sourceChannel","usage","toolSummary","fileContext"]))return!1;for(let t of["model","provider","sourceChannel"])if(e[t]!==void 0&&!i(e[t]))return!1;if(e.agentMode!==void 0&&!["chat","solo","product","workflow","unknown"].includes(String(e.agentMode))||e.usage!==void 0&&(!s(e.usage)||!r(e.usage,["inputTokens","outputTokens","totalTokens"])||!["inputTokens","outputTokens","totalTokens"].every(t=>H(e.usage,t))))return!1;if(e.toolSummary!==void 0){if(!s(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(i))return!1}}return!(e.fileContext!==void 0&&(!s(e.fileContext)||!r(e.fileContext,["changedFileCount","changedPathsPreview","hasTurnFileChanges"])||!H(e.fileContext,"changedFileCount")||e.fileContext.changedPathsPreview!==void 0&&(!Array.isArray(e.fileContext.changedPathsPreview)||!e.fileContext.changedPathsPreview.every(i))||e.fileContext.hasTurnFileChanges!==void 0&&typeof e.fileContext.hasTurnFileChanges!="boolean"))}function Ie(e,t){return s(t)?e==="commitTurnTelemetry"?r(t,["projectId","sessionId","turnId","telemetry"])&&i(t.projectId)&&i(t.sessionId)&&i(t.turnId)&&ye(t.telemetry):e==="listDistillableFeedback"||e==="runUploadSweep"?r(t,["projectId"])&&i(t.projectId):r(t,["projectId","turnId","clusterKey","idempotencyKey"])&&i(t.projectId)&&i(t.turnId)&&i(t.clusterKey)&&i(t.idempotencyKey):!1}function ke(e,t){if(!s(t))return!1;if(e==="getSnapshot")return Object.keys(t).length===0;if(e==="switch")return r(t,["projectIdOrQuery"])&&i(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"])&&i(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"])||!i(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(i))?!1:["planWinnerId","leaderSessionId","primaryWorkflowId"].every(n=>g(t,n))}function $e(e){if(!s(e)||!r(e,["service","method","params"])||typeof e.service!="string"||!R.has(e.service)||typeof e.method!="string"||e.method.length===0)return!1;if(e.service==="memory")return te.has(e.method)&&Array.isArray(e.params);if(e.service==="profile"){if(!ne.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)&&ge(e.method,e.params):e.service==="session"?se.has(e.method)&&fe(e.method,e.params):e.service==="feedback"?ie.has(e.method)&&Ie(e.method,e.params):e.service==="project"?oe.has(e.method)&&ke(e.method,e.params):ae.has(e.method)?me(e.method,e.params):!1}function ze(e){return s(e)&&r(e,["ok"])&&e.ok===!0}function Ve(e){return!s(e)||!r(e,["events"])||!Array.isArray(e.events)?!1:e.events.every(t=>s(t)&&r(t,["feedbackId","rating","reason","state","sessionId","turnId"])&&i(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"&&i(t.sessionId)&&i(t.turnId))}function Ge(e){return s(e)&&r(e,["ok","updated"])&&e.ok===!0&&typeof e.updated=="boolean"}function Ye(e){return s(e)&&r(e,["uploaded","queued","retried","exhausted"])&&["uploaded","queued","retried","exhausted"].every(t=>c(e[t]))}function D(e){return!s(e)||!r(e,["id","name","workspaceDir","type","status","groupId","createdAt","updatedAt","planStatus","planAgents","planWinnerId","leaderSessionId","primaryWorkflowId"])||!i(e.id)||!i(e.name)||!i(e.workspaceDir)||!["default","personal","group","solo","product","automation"].includes(String(e.type))||e.status!=="active"&&e.status!=="archived"||!i(e.createdAt)||!i(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(i)}function We(e){return s(e)&&r(e,["activeProjectId","projects"])&&(e.activeProjectId===null||i(e.activeProjectId))&&Array.isArray(e.projects)&&e.projects.every(D)}function Xe(e){return s(e)&&r(e,["ok","project","deduplicated"])&&e.ok===!0&&D(e.project)&&(e.deduplicated===void 0||typeof e.deduplicated=="boolean")}function Qe(e,t){return!s(e)||e.version!==1||!Array.isArray(e.services)||typeof t!="string"||!R.has(t)||!e.services.every(n=>typeof n=="string"&&R.has(n))?!1:e.services.includes(t)}export{Me as DELEGATE_WIRE_METHODS,W as HOST_CAPABILITY_PROXY_METHODS,Q as HOST_FEEDBACK_PROXY_METHODS,Y as HOST_MEMORY_PROXY_METHODS,ee as HOST_PROFILE_PROXY_METHODS,J as HOST_PROJECT_PROXY_METHODS,Ee as HOST_REQUEST_WIRE_METHODS,X as HOST_SESSION_PROXY_METHODS,_e as HOST_SKILL_FILE_MAX_BYTES,Te as MODEL_PURPOSES,Z as PREVIEW_BROWSER_ACTIONS,Pe as buildProviderValidationProbes,z as deriveProjectId,qe as isHostApplyCuratorPlanResult,Ve as isHostDistillableFeedbackResult,ze as isHostFeedbackCommitResult,Ge as isHostFeedbackMarkResult,Ye as isHostFeedbackSweepResult,Be as isHostFinalizeSkillInstallResult,ve as isHostPrepareSkillInstallResult,Xe as isHostProjectMutationResult,We as isHostProjectSnapshotResult,$e as isHostRequestParams,Le as isHostSessionAppendResult,Ke as isHostSessionGroupSplitResult,Ne as isHostSessionLoadForResumeResult,Ue as isHostSessionMutationResult,De as isHostSkillFileResponse,je as isHostSkillInvocationResult,Fe as isHostSkillMutationResult,Oe as isHostSkillSnapshotResponse,be as isProviderProbeEndpointUnavailable,Se as listSettingsProviderOptions,Ce as memberEquals,He as memberKey,P as providerCatalogBaseUrl,w as providerCatalogDisplayName,A as segmentForFts,G as segmentTextForFts,Qe as supportsHostRequestService};