qlogicagent 2.19.14 → 2.20.2

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 (81) hide show
  1. package/README.md +0 -1
  2. package/dist/agent-contract.js +1 -1
  3. package/dist/agent.js +29 -29
  4. package/dist/cli.js +1 -1
  5. package/dist/host-contract.js +1 -1
  6. package/dist/index.js +469 -465
  7. package/dist/orchestration.js +13 -13
  8. package/dist/project-memory-host.js +19 -18
  9. package/dist/protocol.js +1 -1
  10. package/dist/tunables.js +1 -1
  11. package/dist/types/cli/acp-extended-handlers.d.ts +5 -10
  12. package/dist/types/cli/acp-extended-host-adapter.d.ts +1 -1
  13. package/dist/types/cli/community-workflow-installer.d.ts +2 -2
  14. package/dist/types/cli/handlers/dream-handler.d.ts +6 -0
  15. package/dist/types/cli/handlers/goal-handler.d.ts +1 -13
  16. package/dist/types/cli/handlers/product-handler.d.ts +6 -9
  17. package/dist/types/cli/handlers/solo-handler.d.ts +3 -6
  18. package/dist/types/cli/handlers/workflow-compute-handler.d.ts +1 -1
  19. package/dist/types/cli/memory-coordinator.d.ts +0 -2
  20. package/dist/types/cli/multi-agent-handler-host.d.ts +1 -1
  21. package/dist/types/cli/orchestration-memory-context.d.ts +1 -0
  22. package/dist/types/cli/product-coordinator.d.ts +2 -5
  23. package/dist/types/cli/rpc-registry.d.ts +0 -3
  24. package/dist/types/cli/runtime-hook-bootstrap.d.ts +0 -2
  25. package/dist/types/cli/stdio-rpc-handler-hosts.d.ts +2 -1
  26. package/dist/types/cli/stdio-server.d.ts +2 -3
  27. package/dist/types/cli/task-distillation-coordinator.d.ts +0 -3
  28. package/dist/types/host-contract/index.d.ts +0 -10
  29. package/dist/types/index.d.ts +0 -1
  30. package/dist/types/orchestration/agent-instance.d.ts +30 -15
  31. package/dist/types/orchestration/agent-roster.d.ts +2 -2
  32. package/dist/types/orchestration/goal-loop-coordinator.d.ts +18 -8
  33. package/dist/types/orchestration/goal-mode-adapters.d.ts +6 -1
  34. package/dist/types/orchestration/goal-run-persistence.d.ts +12 -10
  35. package/dist/types/orchestration/goal-run-types.d.ts +3 -21
  36. package/dist/types/orchestration/index.d.ts +0 -1
  37. package/dist/types/orchestration/product-checkpoint.d.ts +10 -6
  38. package/dist/types/orchestration/product-persistence.d.ts +47 -20
  39. package/dist/types/orchestration/product-planner.d.ts +30 -10
  40. package/dist/types/orchestration/product-run-coordinator.d.ts +4 -3
  41. package/dist/types/orchestration/solo-evaluator.d.ts +10 -16
  42. package/dist/types/orchestration/solo-persistence.d.ts +10 -10
  43. package/dist/types/orchestration/workflow/budget-permission-gate.d.ts +1 -1
  44. package/dist/types/orchestration/workflow/capability-catalog.d.ts +11 -34
  45. package/dist/types/orchestration/workflow/host-executors.d.ts +3 -3
  46. package/dist/types/orchestration/workflow/n8n-import.d.ts +0 -1
  47. package/dist/types/orchestration/workflow/node-schema.d.ts +5 -18
  48. package/dist/types/orchestration/workflow/params-schema.d.ts +7 -16
  49. package/dist/types/orchestration/workflow/qla-executor-host.d.ts +4 -27
  50. package/dist/types/orchestration/workflow/workflow-bundle.d.ts +10 -28
  51. package/dist/types/orchestration/workflow/workflow-controller.d.ts +14 -8
  52. package/dist/types/orchestration/workflow/workflow-error.d.ts +1 -1
  53. package/dist/types/orchestration/workflow/workflow-render.d.ts +1 -1
  54. package/dist/types/orchestration/workflow/workflow-scheduler.d.ts +8 -8
  55. package/dist/types/orchestration/workflow/workflow-store.d.ts +7 -8
  56. package/dist/types/orchestration/workflow-chat-builder.d.ts +1 -1
  57. package/dist/types/protocol/agent-contract.d.ts +7 -7
  58. package/dist/types/protocol/methods.d.ts +1 -129
  59. package/dist/types/protocol/notifications.d.ts +1 -1
  60. package/dist/types/protocol/wire/acp-agent-management.d.ts +45 -24
  61. package/dist/types/protocol/wire/acp-protocol.d.ts +3 -8
  62. package/dist/types/protocol/wire/agent-methods.d.ts +2 -468
  63. package/dist/types/protocol/wire/index.d.ts +1 -1
  64. package/dist/types/protocol/wire/notification-payloads.d.ts +0 -6
  65. package/dist/types/protocol/wire/thread-protocol.d.ts +1 -1
  66. package/dist/types/runtime/config/tunable-defaults.d.ts +0 -9
  67. package/dist/types/runtime/hooks/memory-hooks.d.ts +1 -1
  68. package/dist/types/runtime/infra/acp-protocol-adapter.d.ts +1 -2
  69. package/dist/types/runtime/memory/implicit-extraction.d.ts +4 -1
  70. package/dist/types/runtime/memory/recall-category-filter.d.ts +0 -12
  71. package/dist/types/runtime/ports/memory-recall-source.d.ts +1 -0
  72. package/dist/types/runtime/ports/project-memory-store.d.ts +3 -0
  73. package/dist/types/skills/memory/memdir.d.ts +1 -2
  74. package/dist/types/skills/skill-system/skill-lifecycle.d.ts +0 -17
  75. package/dist/types/skills/skill-system/skill-validation.d.ts +1 -1
  76. package/dist/types/transport/acp-server.d.ts +1 -5
  77. package/dist/types/workflow-host.d.ts +2 -4
  78. package/dist/workflow-host.js +7 -9
  79. package/package.json +1 -1
  80. package/dist/types/cli/credential-vault.d.ts +0 -68
  81. package/dist/types/orchestration/skill-improvement.d.ts +0 -97
package/dist/protocol.js CHANGED
@@ -1 +1 @@
1
- var Y="1.0.0",l={PARSE_ERROR:-32700,INVALID_REQUEST:-32600,METHOD_NOT_FOUND:-32601,INVALID_PARAMS:-32602,INTERNAL_ERROR:-32603,TURN_ABORTED:-32e3,TURN_TIMEOUT:-32001,LLM_ERROR:-32010,LLM_AUTH_ERROR:-32011,LLM_RATE_LIMIT:-32012,LLM_QUOTA_EXHAUSTED:-32013,LLM_MODEL_NOT_FOUND:-32014,TOOL_INVOKE_FAILED:-32020,TOOL_TIMEOUT:-32021,PROTOCOL_MISMATCH:-32030,REQUEST_DEADLINE_EXCEEDED:-32040,REQUEST_CANCELLED:-32041,REQUEST_DEDUPED:-32042,REQUEST_IDEMPOTENCY_REQUIRED:-32043},G={REQUEST:"tool.approval.request"};function _(e){if(!e||typeof e!="object")return!1;let t=e;return t.jsonrpc==="2.0"&&typeof t.method=="string"&&t.method.length>0}function C(e){if(!e||typeof e!="object")return!1;let t=e;return t.jsonrpc==="2.0"&&(typeof t.id=="string"||typeof t.id=="number")&&!("method"in t)}function v(e){if(!e||typeof e!="object")return!1;let t=e;return t.jsonrpc==="2.0"&&typeof t.method=="string"&&!("id"in t)}function z(e){let t;try{t=JSON.parse(e)}catch{return null}return C(t)||_(t)||v(t)?t:null}import{randomUUID as X}from"node:crypto";var $=["settings.list","settings.get","settings.validate","provider.list","tools.list","todos.list","tasks.list","session.list","session.get","session.resolve","session.loadNativeTranscript","thread.list","project.list","files.list","files.gitStatus","instructions.list","instructions.read","skills.list","skills.stats","memory.atlas","memory.activity","memory.list","memory.read","memory.search","media.listModels","media.status","agent.health","agent.metrics"],J=new Set(["memory.dream","memory.propose","memory.consolidate","media.stt","solo.start","solo.evaluate","product.plan","product.create","product.message"]),Q=["memory.","usage."],Z=new Set(["memory.atlas","memory.activity","memory.list","memory.read","memory.search","memory.attachment.locate","memory.attachment.adopt"]);function A(e){return J.has(e)?{channel:"task",mutability:"write",defaultTimeoutMs:12e4}:$.some(t=>e===t||e.startsWith(`${t}.`)||e.startsWith(t))?{channel:"query",mutability:"read",defaultTimeoutMs:1e4}:{channel:"task",mutability:"write",defaultTimeoutMs:3e4}}function x(e){return Z.has(e)||A(e).mutability==="read"?!1:Q.some(t=>e.startsWith(t))}function ee(e,t={}){let r=t.now??Date.now(),n=A(e),o=t.timeoutMs??n.defaultTimeoutMs;return{requestId:t.requestId??X(),createdAt:r,deadlineAt:r+o,channel:t.channel??n.channel,idempotencyKey:t.idempotencyKey,traceId:t.traceId}}function M(e,t=Date.now()){let r=e.meta;if(!r||typeof r!="object")return{ok:!1,error:{code:l.INVALID_REQUEST,message:"RPC request meta is required."}};if(typeof r.requestId!="string"||r.requestId.length===0)return{ok:!1,error:{code:l.INVALID_REQUEST,message:"RPC request meta.requestId is required."}};if(r.channel!=="query"&&r.channel!=="task")return{ok:!1,error:{code:l.INVALID_REQUEST,message:"RPC request meta.channel must be query or task."}};if(typeof r.createdAt!="number"||!Number.isFinite(r.createdAt))return{ok:!1,error:{code:l.INVALID_REQUEST,message:"RPC request meta.createdAt is required."}};if(typeof r.deadlineAt!="number"||!Number.isFinite(r.deadlineAt))return{ok:!1,error:{code:l.INVALID_REQUEST,message:"RPC request meta.deadlineAt is required."}};if(r.deadlineAt<=t)return{ok:!1,error:{code:l.REQUEST_DEADLINE_EXCEEDED,message:"RPC request deadline has already expired."}};let n=A(e.method).channel;return r.channel!==n?{ok:!1,error:{code:l.INVALID_REQUEST,message:`RPC request channel mismatch: expected ${n}, got ${r.channel}.`}}:x(e.method)&&(typeof r.idempotencyKey!="string"||r.idempotencyKey.length===0)?{ok:!1,error:{code:l.REQUEST_IDEMPOTENCY_REQUIRED,message:`RPC method ${e.method} requires meta.idempotencyKey.`}}:{ok:!0,meta:r}}var R=class{now;active=new Map;idempotency=new Map;counters={completedRequests:0,cancelledRequests:0,deadlineExceededRequests:0,dedupedRequests:0,lateResponsesDropped:0,invalidRequests:0};constructor(t={}){this.now=t.now??(()=>Date.now())}begin(t,r){let n=M({method:t,meta:r},this.now());if(!n.ok)return this.counters.invalidRequests+=1,{status:"rejected",error:n.error};if(r.idempotencyKey){let o=this.idempotency.get(r.idempotencyKey);if(o)return this.counters.dedupedRequests+=1,o.error?{status:"deduped",error:o.error}:{status:"deduped",result:o.result}}return this.active.set(r.requestId,{method:t,meta:r,cancelled:!1,startedAt:this.now()}),{status:"started"}}cancel(t,r="cancelled"){let n=this.active.get(t);return!n||n.cancelled?!1:(n.cancelled=!0,n.cancelReason=r,this.counters.cancelledRequests+=1,!0)}expire(t){return this.active.get(t)?(this.active.delete(t),this.counters.deadlineExceededRequests+=1,!0):!1}settle(t,r,n){let o=this.active.get(t);return o?(this.active.delete(t),o.cancelled?(this.counters.lateResponsesDropped+=1,{accepted:!1,reason:"cancelled"}):o.meta.deadlineAt<=this.now()?(this.counters.deadlineExceededRequests+=1,this.counters.lateResponsesDropped+=1,{accepted:!1,reason:"deadline_exceeded"}):(this.counters.completedRequests+=1,o.meta.idempotencyKey&&this.idempotency.set(o.meta.idempotencyKey,{result:r,error:n,settledAt:this.now()}),{accepted:!0})):{accepted:!1,reason:"unknown"}}metrics(){return{activeRequests:this.active.size,...this.counters}}};var te=["agent.health","agent.metrics","agent.cancel","provider.catalog","provider.list","provider.get","provider.install","provider.install.cancel","provider.update","provider.uninstall","provider.enable","provider.disable","provider.diagnose","provider.auth.status","provider.auth.setPreference","provider.auth.setUserKey","provider.auth.methods","provider.auth.start","provider.auth.attach","provider.auth.input","provider.auth.resize","provider.auth.cancel","provider.auth.logout","provider.models.list","provider.nativeSessions.list","provider.nativeSessions.load","provider.nativeSessions.resume","delegation.cancel","delegation.reset","session.list","session.get","session.create","session.update","session.delete","session.deleteAll","session.archive","session.loadNativeTranscript","session.adoptNative","session.moveToProject","session.getState","session.switchProject","session.getMessages","project.list","project.create","project.detach","project.delete","project.rename","project.archive","project.unarchive","project.update","instructions.list","instructions.read","instructions.write","instructions.delete","files.list","files.read","files.create","files.rename","files.move","files.copy","files.delete","files.search","files.undoOperation","files.gitStatus","turnBaseline.getSummary","turnBaseline.getFileDiff","turnBaseline.listRecent","turnBaseline.getFileBaseline","workingMaterials.get","workingMaterials.replace","workingMaterials.upsert","workingMaterials.remove","workingMaterials.reorder","skills.list","memory.list-files","memory.atlas","memory.activity","memory.propose","memory.consolidate","memory.update","memory.attachment.adopt","memory.attachment.locate"];var I=["turn.start","turn.delta","turn.end","turn.error","turn.recovery","turn.file_changes","turn.tool_call","turn.tool_result","turn.tool_blocked","turn.reasoning_delta","turn.approval_request","turn.skill_instruction","turn.ask_user","turn.media_result","turn.media_progress","turn.media_usage","turn.media_capability_check","turn.plan_update","turn.suggestions","turn.sidechain_started","turn.subagent_started","turn.subagent_delta","turn.subagent_ended","turn.sidechain_completed","turn.task_updated","turn.todos_updated","turn.exec_progress","turn.progress","turn.tool_use_summary","turn.tool_selection_policy","turn.lifecycle","turn.document_maintenance","turn.artifact_contract","turn.usage_update","team.member.notification","session.info","session.recovery_pending","memory.updated","skills.updated","turn.memory_recall","turn.memory_written","system.activity","workflow.created","workflow.updated","workflow.deleted","workflow.runStarted","workflow.runCompleted","workflow.runFailed","workflow.nodeStatus","workflow.triggerDropped","workflow.alert","workflow.approvalRequested","workflow.approvalTimedOut"],b=["solo.progress","solo.specProgress","solo.agentDelta","solo.agentActivity","solo.agentUsage","solo.evaluation","product.taskStarted","product.taskOutput","product.members","product.agentActivity","product.taskCompleted","product.taskFailed","product.budgetUpdate","product.budgetWarning","product.checkpointed","product.completed","product.dagTopology","plan.interrupted","product.planReady","product.planningDelta","product.leaderMessage","product.planFailed","product.planningAsk","goal.run_state_changed","goal.phase_boundary","goal.goal_edited","goal.message_queued","goal.acceptance_updated","goal.round_message","mention.delegate_started","mention.delegate_activity","mention.delegate_settled"],re=[...I,...b],w=re;import{MODEL_PURPOSES as Gt}from"@xiaozhiclaw/module-sdk/model-access";import{createHash as Et}from"node:crypto";import{resolve as Tt}from"node:path";var m={request:"x/delegate",update:"x/delegate.update",respond:"x/delegate.respond",cancel:"x/delegate.cancel"},ne=["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"],ie=["initialize","getIndex","addToIndex","replaceInIndex","removeFromIndex","createFile","writeFile","readFile","deleteFile","listFiles","searchLocal"],oe=["getSkillSnapshot","readSkillFile","recordSkillInvocation","commitSkillMutation","applyCuratorPlan","prepareSkillInstall","finalizeSkillInstall"],se=["loadForResume","appendTranscript","updateTitle","saveState","saveTaskSummary","groupSplit"],ae=["commitTurnTelemetry","listDistillableFeedback","markFeedbackDistilled","runUploadSweep"],de=["getSnapshot","create","switch","update"],Nt=1024*1024,pe=["list","get","diagnose"],ce=["navigate","snapshot","click","type","screenshot","console","network"];var le=["open","recordEvent","checkpoint","get","list","delete","getCheckpoint","listCheckpoints","restoreCheckpoint"],ue=["getTunables","updateTunable","clearTunable","appendDirectoryAllowRule"];var Dt=new Set(ne),Ht=new Set(ie),Lt=new Set(ue),Ut=new Set(oe),jt=new Set(se),Kt=new Set(ae),Ft=new Set(de),Vt=new Set(le),Wt=new Set(pe),qt=new Set(ce);var ge=1,me={INITIALIZE:"initialize",SESSION_NEW:"session/new",SESSION_PROMPT:"session/prompt",SESSION_CLOSE:"session/close",SESSION_SET_CONFIG:"session/set_config_option",SESSION_SET_MODEL:"session/set_model",SESSION_SET_MODE:"session/set_mode",SESSION_LOAD:"session/load",SESSION_CANCEL:"session/cancel",SESSION_UPDATE:"session/update",SESSION_REQUEST_PERMISSION:"session/request_permission",FS_READ_TEXT_FILE:"fs/read_text_file",FS_WRITE_TEXT_FILE:"fs/write_text_file"},fe={ABORT:"x/abort",DREAM:"x/dream",SOLO_START:"x/solo.start",SOLO_STATUS:"x/solo.status",SOLO_SELECT:"x/solo.select",SOLO_CANCEL:"x/solo.cancel",PRODUCT_CREATE:"x/product.create",PRODUCT_PLAN:"x/product.plan",PRODUCT_CONFIRM:"x/product.confirm",PRODUCT_MESSAGE:"x/product.message",PRODUCT_RESUME:"x/product.resume",PRODUCT_PAUSE:"x/product.pause",PRODUCT_CANCEL:"x/product.cancel",PRODUCT_ROLLBACK:"x/product.rollback",PRODUCT_REPLAY:"x/product.replay",PRODUCT_STATUS:"x/product.status",SOLO_SUBSCRIBE:"x/solo.subscribe",SOLO_MESSAGE:"x/solo.message",SOLO_EVALUATE:"x/solo.evaluate",SOLO_SPEC_CHAT:"x/solo.specChat",SOLO_SPEC_JUDGE:"x/solo.specJudge",WORKFLOW_CHAT:"x/workflow.chat",WORKFLOW_MATCH_INTENT:"x/workflow.matchIntent",PRODUCT_SUBSCRIBE:"x/product.subscribe",GOAL_START:"x/goal.start",GOAL_STATUS:"x/goal.status",GOAL_PAUSE:"x/goal.pause",GOAL_RESUME:"x/goal.resume",GOAL_UPDATE_GOAL:"x/goal.updateGoal",GOAL_STOP:"x/goal.stop",GOAL_MESSAGE:"x/goal.message",GOAL_SUBSCRIBE:"x/goal.subscribe",GOAL_EVENTS:"x/goal.events",DELEGATE:m.request,DELEGATE_UPDATE:m.update,DELEGATE_RESPOND:m.respond,DELEGATE_CANCEL:m.cancel},O={USER_MESSAGE_CHUNK:"user_message_chunk",AGENT_MESSAGE_CHUNK:"agent_message_chunk",AGENT_THOUGHT_CHUNK:"agent_thought_chunk",TOOL_CALL:"tool_call",TOOL_CALL_UPDATE:"tool_call_update",PLAN:"plan",USAGE_UPDATE:"usage_update",CONFIG_OPTION_UPDATE:"config_option_update",SESSION_INFO_UPDATE:"session_info_update",AVAILABLE_COMMANDS_UPDATE:"available_commands_update",CURRENT_MODE_UPDATE:"current_mode_update"},ye={X_SKILL_INSTRUCTION:"x_skill_instruction",X_SESSION_INFO:"x_session_info",X_RELAY:"x_relay"};function N(e){if(!e||typeof e!="object")return!1;let t=e;return t.jsonrpc==="2.0"&&typeof t.method=="string"&&"id"in t}function D(e){if(!e||typeof e!="object")return!1;let t=e;return t.jsonrpc==="2.0"&&typeof t.method=="string"&&!("id"in t)}function H(e){if(!e||typeof e!="object")return!1;let t=e;return t.jsonrpc==="2.0"&&"id"in t&&!("method"in t)}function Ae(e){let t;try{t=JSON.parse(e)}catch{return null}return H(t)||N(t)||D(t)?t:null}function Se(e){return Object.values(O).includes(e)}function Re(e){return e.startsWith("x_")}var P=["gatewayVersion","toolNamespaces","workspaceIds","installedCapabilities","enabledCapabilities","features","approvalMode","toolManifests","skillManifests","pluginManifests","mcpManifests","approvalPolicy","workspaceSummaries"];function g(e){return e?e.map(t=>({...t})):void 0}function E(e){return e?e.map(t=>({...t})):void 0}function Ie(e){return e?[...e]:void 0}function L(e){return[...new Set(e.map(t=>t.trim()).filter(Boolean))].sort((t,r)=>t.localeCompare(r))}function f(e){return{...e,toolNamespaces:[...e.toolNamespaces],workspaceIds:[...e.workspaceIds],...e.changedSections?{changedSections:[...e.changedSections]}:{},...e.installedCapabilities?{installedCapabilities:[...e.installedCapabilities]}:{},...e.enabledCapabilities?{enabledCapabilities:[...e.enabledCapabilities]}:{},...e.features?{features:[...e.features]}:{},...e.toolManifests?{toolManifests:g(e.toolManifests)}:{},...e.skillManifests?{skillManifests:g(e.skillManifests)}:{},...e.pluginManifests?{pluginManifests:g(e.pluginManifests)}:{},...e.mcpManifests?{mcpManifests:g(e.mcpManifests)}:{},...e.approvalPolicy?{approvalPolicy:{...e.approvalPolicy}}:{},...e.workspaceSummaries?{workspaceSummaries:E(e.workspaceSummaries)}:{}}}function be(e){let{previous:t,update:r}=e;return!(r.syncMode==="diff"&&t&&(!r.baseSnapshotVersion||t.snapshotVersion===r.baseSnapshotVersion))||!t?f(r):{...f(t),snapshotVersion:r.snapshotVersion,updatedAt:r.updatedAt,...r.gatewayVersion!==void 0?{gatewayVersion:r.gatewayVersion}:{},...r.syncMode?{syncMode:r.syncMode}:{},...r.baseSnapshotVersion?{baseSnapshotVersion:r.baseSnapshotVersion}:{},...r.changedSections?{changedSections:[...r.changedSections]}:{},...r.toolNamespaces?{toolNamespaces:[...r.toolNamespaces]}:{},...r.workspaceIds?{workspaceIds:[...r.workspaceIds]}:{},...r.installedCapabilities?{installedCapabilities:[...r.installedCapabilities]}:{},...r.enabledCapabilities?{enabledCapabilities:[...r.enabledCapabilities]}:{},...r.features?{features:[...r.features]}:{},...r.approvalMode?{approvalMode:r.approvalMode}:{},...r.toolManifests?{toolManifests:g(r.toolManifests)}:{},...r.skillManifests?{skillManifests:g(r.skillManifests)}:{},...r.pluginManifests?{pluginManifests:g(r.pluginManifests)}:{},...r.mcpManifests?{mcpManifests:g(r.mcpManifests)}:{},...r.approvalPolicy?{approvalPolicy:{...r.approvalPolicy}}:{},...r.workspaceSummaries?{workspaceSummaries:E(r.workspaceSummaries)}:{}}}function Pe(e){return L(e.map(t=>t.name.split(".")[0]??"").filter(Boolean))}function Ee(e){return L(e.map(t=>t.id))}function he(e){let{previous:t,current:r}=e;if(!t)return{...f(r),syncMode:"full"};if(t.snapshotVersion===r.snapshotVersion)return null;let n=P.filter(s=>JSON.stringify(t[s])!==JSON.stringify(r[s]));if(n.length===P.length)return{...f(r),syncMode:"full"};let o={snapshotVersion:r.snapshotVersion,updatedAt:r.updatedAt,syncMode:"diff",baseSnapshotVersion:t.snapshotVersion,changedSections:n,toolNamespaces:[...r.toolNamespaces],workspaceIds:[...r.workspaceIds]},p=o;for(let s of n){let i=r[s];if(i!==void 0)switch(s){case"toolNamespaces":case"workspaceIds":case"installedCapabilities":case"enabledCapabilities":case"features":p[s]=Ie(i);break;case"approvalPolicy":p[s]={...i};break;case"workspaceSummaries":p[s]=E(i);break;case"toolManifests":case"skillManifests":case"pluginManifests":case"mcpManifests":p[s]=g(i);break;default:p[s]=i;break}}return o}var Te=["web_search","web_fetch","deep_research","browser_execution"],ke=["web-intelligence","browser-execution"],_e=["discovery","read-url","multi-source-research","interactive-browser"],Ce=["stateless","render-backend","interactive-session"],ve=["stateless","stateless-single-step","stateful-session-required"],xe=["required","conditional","none"],Me=["browser-read","browser-authenticated-read","browser-state-changing"];var we=["read-page","read-authenticated-page","fill-form","submit-form","download-file","reuse-session"],Oe=["web_search","web_fetch","deep_research","blocked"],Ne=["requires-interaction","requires-login-state","requires-rendered-dom","requires-persistent-session","requires-state-changing-action"],De=["none","same-capability-once","degrade-only"];var He=["prefetch","sync_turn","on_pre_compress","on_session_end","on_delegation","on_memory_write"],Le=["turn","sidechain","compress","session-end","agent-remember","auto-extract","implicit-extract","profile-extraction","dream"],Ue=["observe-only","parent-write","deny"];var je=2,a={gatewayImage:"gateway.image.desktop-slim",whisperModelTiny:"speech.whisper.model.tiny",ffmpegWin32X64:"runtime.ffmpeg.win32-x64",nodeWin32X64:"runtime.node.win32-x64",dockerDesktopWin32X64:"runtime.docker-desktop.win32-x64",dockerDesktopDarwinX64:"runtime.docker-desktop.darwin-x64",dockerDesktopDarwinArm64:"runtime.docker-desktop.darwin-arm64"},y={desktopDockerBridge:"desktop.docker-bridge",desktopEmbeddedWin32X64:"desktop.embedded.win32-x64"};function j(e){return{...e,artifacts:e.artifacts.map(t=>({...t}))}}function Ke(e){return{...e,assetIds:[...e.assetIds]}}function K(){return{[y.desktopDockerBridge]:{id:y.desktopDockerBridge,title:"Desktop Docker Bridge",platform:"any",assetIds:[a.gatewayImage,a.dockerDesktopWin32X64,a.dockerDesktopDarwinX64,a.dockerDesktopDarwinArm64],description:"Docker bridge mode downloads the desktop slim gateway image on demand."},[y.desktopEmbeddedWin32X64]:{id:y.desktopEmbeddedWin32X64,title:"Desktop Embedded Win32 x64",platform:"win32-x64",assetIds:[a.nodeWin32X64,a.ffmpegWin32X64,a.whisperModelTiny],description:"Embedded desktop mode requires the bundled Node/FFmpeg runtimes and the whisper model asset."}}}function F(e,t){return e.assets[t]}function V(e,t){return e.profiles[t]}function Fe(e,t){let r=V(e,t);return r?r.assetIds.map(n=>F(e,n)).filter(n=>!!n):[]}function Ve(e,t){return e.assets[t.id]=j(t),W(e)}function h(e){if(!e)return;let t=e.artifacts[0];if(!(!t?.url||!t.sha256||typeof t.size!="number"))return{version:e.version,sha256:t.sha256,size:t.size,url:t.url}}function W(e){let t=h(e.assets[a.gatewayImage]),r=h(e.assets[a.whisperModelTiny]);return{...e,gateway:t,whisperModel:r}}function U(e,t){if(!(typeof e.version!="string"||typeof e.url!="string"))return{...t,version:e.version,artifacts:[{fileName:e.url.split("/").pop()||`${t.id}.bin`,url:e.url,sha256:typeof e.sha256=="string"?e.sha256:void 0,size:typeof e.size=="number"?e.size:void 0}]}}function We(e){let t=e&&typeof e=="object"?e:{},r={},n=t.assets&&typeof t.assets=="object"?t.assets:{};for(let[i,d]of Object.entries(n)){if(!d||typeof d!="object")continue;let u=d;!u.id||!Array.isArray(u.artifacts)||(r[i]=j(u))}if(!r[a.gatewayImage]&&t.gateway&&typeof t.gateway=="object"){let i=U(t.gateway,{id:a.gatewayImage,title:"XiaoZhiClaw Gateway Image (Desktop Slim)",kind:"container-image",delivery:"remote",platform:"any",description:"Desktop Docker mode gateway image."});i&&(r[i.id]=i)}if(!r[a.whisperModelTiny]&&t.whisperModel&&typeof t.whisperModel=="object"){let i=U(t.whisperModel,{id:a.whisperModelTiny,title:"Whisper Tiny Model",kind:"model",delivery:"remote",platform:"any",description:"Shared whisper.cpp tiny model asset for embedded desktop speech recognition."});i&&(r[i.id]=i)}let p={...K()},s=t.profiles&&typeof t.profiles=="object"?t.profiles:{};for(let[i,d]of Object.entries(s)){if(!d||typeof d!="object")continue;let u=d;!u.id||!Array.isArray(u.assetIds)||(p[i]=Ke(u))}return W({schemaVersion:typeof t.schemaVersion=="number"?t.schemaVersion:2,channel:typeof t.channel=="string"?t.channel:void 0,publishedAt:typeof t.publishedAt=="string"?t.publishedAt:void 0,minElectronVersion:typeof t.minElectronVersion=="string"?t.minElectronVersion:void 0,releaseNotes:typeof t.releaseNotes=="string"?t.releaseNotes:void 0,assets:r,profiles:p})}var qe=["pending","captured","failed","restored"],Be=["file","directory","missing"],Ye=["metadata-only","workspace-copy","shadow-git"];var Ge=["api-key","oauth","token","aws-sdk"],ze=["rate_limit","auth","server_error","timeout","network","unknown"],Xe=["requiresOpenAiAnthropicToolPayload"];function $e(e,t){return!e||typeof e!="object"||Array.isArray(e)?!1:e[t]===!0}var q="openai-codex";function S(e){let t=e.trim().toLowerCase();return t==="z.ai"||t==="z-ai"?"zai":t==="opencode-zen"?"opencode":t==="kimi-code"?"kimi-coding":t==="bedrock"||t==="aws-bedrock"?"amazon-bedrock":t==="bytedance"||t==="doubao"?"volcengine":t}function B(e){let t=S(e);return t==="volcengine-plan"?"volcengine":t==="qwen-coding"?"qwen":t==="byteplus-plan"?"byteplus":t}var Je=B,Qe={anthropicToolSchemaMode:"native",anthropicToolChoiceMode:"native",providerFamily:"default",preserveAnthropicThinkingSignatures:!0,openAiCompatTurnValidation:!0,providerThoughtSignatureSanitization:!1,transcriptToolCallIdMode:"default",transcriptToolCallIdModelHints:[],providerThoughtSignatureModelHints:[],dropThinkingBlockModelHints:[]},Ze={anthropic:{providerFamily:"anthropic"},"amazon-bedrock":{providerFamily:"anthropic"},"kimi-coding":{anthropicToolSchemaMode:"openai-functions",anthropicToolChoiceMode:"openai-string-modes",preserveAnthropicThinkingSignatures:!1},mistral:{transcriptToolCallIdMode:"strict9",transcriptToolCallIdModelHints:["mistral","mixtral","codestral","pixtral","devstral","ministral","mistralai"]},openai:{providerFamily:"openai"},[q]:{providerFamily:"openai"},openrouter:{openAiCompatTurnValidation:!1,providerThoughtSignatureSanitization:!0,providerThoughtSignatureModelHints:["gemini"]},opencode:{openAiCompatTurnValidation:!1,providerThoughtSignatureSanitization:!0,providerThoughtSignatureModelHints:["gemini"]},kilocode:{providerThoughtSignatureSanitization:!0,providerThoughtSignatureModelHints:["gemini"]}};function T(e,t){let r=(e??"").toLowerCase();return!!r&&t.some(n=>r.includes(n))}function c(e){let t=S(e??"");return{...Qe,...Ze[t]}}function et(e){return c(e).preserveAnthropicThinkingSignatures}function tt(e){let t=c(e);return t.anthropicToolSchemaMode!=="native"||t.anthropicToolChoiceMode!=="native"}function rt(e){return c(e).anthropicToolSchemaMode==="openai-functions"}function nt(e){return c(e).anthropicToolChoiceMode==="openai-string-modes"}function it(e){return c(e).openAiCompatTurnValidation}function ot(e){return c(e).providerFamily==="openai"}function st(e){return c(e).providerFamily==="anthropic"}function at(e){return T(e.modelId,c(e.provider).dropThinkingBlockModelHints)}function dt(e){let t=c(e.provider);return t.providerThoughtSignatureSanitization&&T(e.modelId,t.providerThoughtSignatureModelHints)}function pt(e,t){let r=c(e),n=r.transcriptToolCallIdMode;if(n==="strict9")return n;if(T(t,r.transcriptToolCallIdModelHints))return"strict9"}var k={anthropic:["ANTHROPIC_OAUTH_TOKEN","ANTHROPIC_API_KEY"],chutes:["CHUTES_OAUTH_TOKEN","CHUTES_API_KEY"],zai:["ZAI_API_KEY","Z_AI_API_KEY"],opencode:["OPENCODE_API_KEY","OPENCODE_ZEN_API_KEY"],qwen:["DASHSCOPE_API_KEY","QWEN_API_KEY"],"qwen-coding":["DASHSCOPE_API_KEY","QWEN_API_KEY"],volcengine:["VOLCANO_ENGINE_API_KEY","ARK_API_KEY","DOUBAO_API_KEY"],"volcengine-plan":["VOLCANO_ENGINE_API_KEY","ARK_API_KEY","DOUBAO_API_KEY"],byteplus:["BYTEPLUS_API_KEY"],"byteplus-plan":["BYTEPLUS_API_KEY"],"kimi-coding":["KIMI_API_KEY","KIMICODE_API_KEY"],huggingface:["HUGGINGFACE_HUB_TOKEN","HF_TOKEN"],openai:["OPENAI_API_KEY"],voyage:["VOYAGE_API_KEY"],groq:["GROQ_API_KEY"],deepgram:["DEEPGRAM_API_KEY"],cerebras:["CEREBRAS_API_KEY"],xai:["XAI_API_KEY"],openrouter:["OPENROUTER_API_KEY"],litellm:["LITELLM_API_KEY"],"vercel-ai-gateway":["AI_GATEWAY_API_KEY"],"cloudflare-ai-gateway":["CLOUDFLARE_AI_GATEWAY_API_KEY"],moonshot:["MOONSHOT_API_KEY"],minimax:["MINIMAX_API_KEY"],"minimax-cn":["MINIMAX_CN_API_KEY","MINIMAX_API_KEY"],nvidia:["NVIDIA_API_KEY"],xiaomi:["XIAOMI_API_KEY"],synthetic:["SYNTHETIC_API_KEY"],venice:["VENICE_API_KEY"],mistral:["MISTRAL_API_KEY"],together:["TOGETHER_API_KEY"],qianfan:["QIANFAN_API_KEY"],ollama:["OLLAMA_API_KEY"],vllm:["VLLM_API_KEY"],kilocode:["KILOCODE_API_KEY"]};function ct(){return[...new Set(Object.values(k).flat())]}function lt(e){let t=S(e.provider),r=e.env??process.env,n=new Set(e.appliedEnvKeys??[]),o=i=>{let d=r[i]?.trim();if(!d)return null;let u=n.has(i)?`shell env: ${i}`:`env: ${i}`;return{apiKey:d,source:u}},p=e.resolveSpecialApiKey?.(t,r,n);if(p)return p;let s=k[t];if(!s||s.length===0)return null;for(let i of s){let d=o(i);if(d)return d}return null}export{fe as ACP_EXTENDED_METHODS,ye as ACP_EXTENDED_SESSION_UPDATE_TYPES,me as ACP_METHODS,ge as ACP_PROTOCOL_VERSION,O as ACP_SESSION_UPDATE_TYPES,G as AGENT_RPC_APPROVAL_METHODS,l as AGENT_RPC_ERROR_CODES,Y as AGENT_RPC_PROTOCOL_VERSION,b as AGENT_TEAM_WS_EVENT_NAMES,I as AGENT_WS_EVENT_NAMES,w as ALL_AGENT_WS_EVENT_NAMES,P as CAPABILITY_MANIFEST_DIFF_SECTIONS,te as GATEWAY_RPC_METHODS,R as GatewayRpcContract,He as MEMORY_OBSERVATION_HOOK_VALUES,Le as MEMORY_OBSERVATION_SOURCE_VALUES,Ue as MEMORY_WRITE_ACCESS_VALUES,Ye as MUTATION_CHECKPOINT_BACKEND_VALUES,Be as MUTATION_CHECKPOINT_ENTRY_KIND_VALUES,qe as MUTATION_CHECKPOINT_PHASE_VALUES,Ge as PROVIDER_RUNTIME_AUTH_MODE_VALUES,Xe as PROVIDER_RUNTIME_COMPAT_FLAG_VALUES,k as PROVIDER_RUNTIME_ENV_API_KEY_CANDIDATES,q as PROVIDER_RUNTIME_OPENAI_CODEX_PROVIDER_ID,ze as PROVIDER_RUNTIME_VAULT_ERROR_TYPE_VALUES,je as RESOURCE_MANIFEST_SCHEMA_VERSION,a as RUNTIME_ASSET_IDS,y as RUNTIME_PROFILE_IDS,we as WEB_ACTION_SCOPE_VALUES,xe as WEB_APPROVAL_DEFAULT_VALUES,ke as WEB_CAPABILITY_FAMILY_VALUES,Te as WEB_CAPABILITY_ID_VALUES,Oe as WEB_DEGRADATION_TARGET_VALUES,Ne as WEB_ESCALATION_REASON_VALUES,Ce as WEB_EXECUTION_MODE_VALUES,Me as WEB_POLICY_RISK_CLASS_VALUES,De as WEB_RETRY_POLICY_VALUES,ve as WEB_STATEFULNESS_VALUES,_e as WEB_TASK_MODE_VALUES,ee as buildAgentRpcMeta,A as classifyGatewayRpcMethod,f as cloneCapabilityManifestSnapshot,he as createCapabilityManifestDiffPayload,K as createDefaultRuntimeResourceProfiles,Pe as deriveCapabilityToolNamespaces,Ee as deriveCapabilityWorkspaceIds,h as getManifestShortcutEntry,F as getRuntimeResourceAsset,V as getRuntimeResourceProfile,Fe as getRuntimeResourceProfileAssets,D as isAcpJsonRpcNotification,N as isAcpJsonRpcRequest,H as isAcpJsonRpcResponse,v as isAgentRpcNotification,_ as isAgentRpcRequest,C as isAgentRpcResponse,st as isAnthropicProviderRuntimeFamily,Re as isExtendedSessionUpdateType,ot as isOpenAiProviderRuntimeFamily,Se as isStandardSessionUpdateType,ct as listProviderRuntimeEnvApiKeyNames,be as mergeCapabilityManifestSnapshot,S as normalizeProviderRuntimeId,B as normalizeProviderRuntimeIdForAuth,We as normalizeRuntimeResourceManifest,Ae as parseAcpMessage,z as parseAgentRpcMessage,et as preservesProviderRuntimeAnthropicThinkingSignatures,$e as readProviderRuntimeCompatFlag,M as requireGatewayRpcMeta,x as requiresIdempotencyKey,tt as requiresOpenAiCompatibleAnthropicToolPayloadForProviderRuntime,c as resolveProviderRuntimeCapabilities,lt as resolveProviderRuntimeEnvApiKey,Je as resolveProviderRuntimeKeyFamily,pt as resolveProviderRuntimeTranscriptToolCallIdMode,at as shouldDropThinkingBlocksForProviderRuntimeModel,dt as shouldSanitizeProviderRuntimeThoughtSignaturesForModel,it as supportsOpenAiCompatTurnValidationForProviderRuntime,Ve as upsertRuntimeResourceAsset,rt as usesOpenAiFunctionAnthropicToolSchemaForProviderRuntime,nt as usesOpenAiStringModeAnthropicToolChoiceForProviderRuntime};
1
+ var Y="1.0.0",l={PARSE_ERROR:-32700,INVALID_REQUEST:-32600,METHOD_NOT_FOUND:-32601,INVALID_PARAMS:-32602,INTERNAL_ERROR:-32603,TURN_ABORTED:-32e3,TURN_TIMEOUT:-32001,LLM_ERROR:-32010,LLM_AUTH_ERROR:-32011,LLM_RATE_LIMIT:-32012,LLM_QUOTA_EXHAUSTED:-32013,LLM_MODEL_NOT_FOUND:-32014,TOOL_INVOKE_FAILED:-32020,TOOL_TIMEOUT:-32021,PROTOCOL_MISMATCH:-32030,REQUEST_DEADLINE_EXCEEDED:-32040,REQUEST_CANCELLED:-32041,REQUEST_DEDUPED:-32042,REQUEST_IDEMPOTENCY_REQUIRED:-32043},G={REQUEST:"tool.approval.request"};function _(e){if(!e||typeof e!="object")return!1;let t=e;return t.jsonrpc==="2.0"&&typeof t.method=="string"&&t.method.length>0}function C(e){if(!e||typeof e!="object")return!1;let t=e;return t.jsonrpc==="2.0"&&(typeof t.id=="string"||typeof t.id=="number")&&!("method"in t)}function v(e){if(!e||typeof e!="object")return!1;let t=e;return t.jsonrpc==="2.0"&&typeof t.method=="string"&&!("id"in t)}function z(e){let t;try{t=JSON.parse(e)}catch{return null}return C(t)||_(t)||v(t)?t:null}import{randomUUID as X}from"node:crypto";var $=["settings.list","settings.get","settings.validate","provider.list","tools.list","todos.list","tasks.list","session.list","session.get","session.resolve","session.loadNativeTranscript","thread.list","project.list","files.list","files.gitStatus","instructions.list","instructions.read","skills.list","skills.stats","memory.atlas","memory.activity","memory.list","memory.read","memory.search","media.listModels","media.status","agent.health","agent.metrics"],J=new Set(["memory.dream","memory.propose","memory.consolidate","media.stt"]),Q=["memory.","usage."],Z=new Set(["memory.atlas","memory.activity","memory.list","memory.read","memory.search","memory.attachment.locate","memory.attachment.adopt"]);function A(e){return J.has(e)?{channel:"task",mutability:"write",defaultTimeoutMs:12e4}:$.some(t=>e===t||e.startsWith(`${t}.`)||e.startsWith(t))?{channel:"query",mutability:"read",defaultTimeoutMs:1e4}:{channel:"task",mutability:"write",defaultTimeoutMs:3e4}}function x(e){return Z.has(e)||A(e).mutability==="read"?!1:Q.some(t=>e.startsWith(t))}function ee(e,t={}){let r=t.now??Date.now(),n=A(e),o=t.timeoutMs??n.defaultTimeoutMs;return{requestId:t.requestId??X(),createdAt:r,deadlineAt:r+o,channel:t.channel??n.channel,idempotencyKey:t.idempotencyKey,traceId:t.traceId}}function M(e,t=Date.now()){let r=e.meta;if(!r||typeof r!="object")return{ok:!1,error:{code:l.INVALID_REQUEST,message:"RPC request meta is required."}};if(typeof r.requestId!="string"||r.requestId.length===0)return{ok:!1,error:{code:l.INVALID_REQUEST,message:"RPC request meta.requestId is required."}};if(r.channel!=="query"&&r.channel!=="task")return{ok:!1,error:{code:l.INVALID_REQUEST,message:"RPC request meta.channel must be query or task."}};if(typeof r.createdAt!="number"||!Number.isFinite(r.createdAt))return{ok:!1,error:{code:l.INVALID_REQUEST,message:"RPC request meta.createdAt is required."}};if(typeof r.deadlineAt!="number"||!Number.isFinite(r.deadlineAt))return{ok:!1,error:{code:l.INVALID_REQUEST,message:"RPC request meta.deadlineAt is required."}};if(r.deadlineAt<=t)return{ok:!1,error:{code:l.REQUEST_DEADLINE_EXCEEDED,message:"RPC request deadline has already expired."}};let n=A(e.method).channel;return r.channel!==n?{ok:!1,error:{code:l.INVALID_REQUEST,message:`RPC request channel mismatch: expected ${n}, got ${r.channel}.`}}:x(e.method)&&(typeof r.idempotencyKey!="string"||r.idempotencyKey.length===0)?{ok:!1,error:{code:l.REQUEST_IDEMPOTENCY_REQUIRED,message:`RPC method ${e.method} requires meta.idempotencyKey.`}}:{ok:!0,meta:r}}var R=class{now;active=new Map;idempotency=new Map;counters={completedRequests:0,cancelledRequests:0,deadlineExceededRequests:0,dedupedRequests:0,lateResponsesDropped:0,invalidRequests:0};constructor(t={}){this.now=t.now??(()=>Date.now())}begin(t,r){let n=M({method:t,meta:r},this.now());if(!n.ok)return this.counters.invalidRequests+=1,{status:"rejected",error:n.error};if(r.idempotencyKey){let o=this.idempotency.get(r.idempotencyKey);if(o)return this.counters.dedupedRequests+=1,o.error?{status:"deduped",error:o.error}:{status:"deduped",result:o.result}}return this.active.set(r.requestId,{method:t,meta:r,cancelled:!1,startedAt:this.now()}),{status:"started"}}cancel(t,r="cancelled"){let n=this.active.get(t);return!n||n.cancelled?!1:(n.cancelled=!0,n.cancelReason=r,this.counters.cancelledRequests+=1,!0)}expire(t){return this.active.get(t)?(this.active.delete(t),this.counters.deadlineExceededRequests+=1,!0):!1}settle(t,r,n){let o=this.active.get(t);return o?(this.active.delete(t),o.cancelled?(this.counters.lateResponsesDropped+=1,{accepted:!1,reason:"cancelled"}):o.meta.deadlineAt<=this.now()?(this.counters.deadlineExceededRequests+=1,this.counters.lateResponsesDropped+=1,{accepted:!1,reason:"deadline_exceeded"}):(this.counters.completedRequests+=1,o.meta.idempotencyKey&&this.idempotency.set(o.meta.idempotencyKey,{result:r,error:n,settledAt:this.now()}),{accepted:!0})):{accepted:!1,reason:"unknown"}}metrics(){return{activeRequests:this.active.size,...this.counters}}};var te=["agent.health","agent.metrics","agent.cancel","provider.catalog","provider.list","provider.get","provider.install","provider.install.cancel","provider.update","provider.uninstall","provider.enable","provider.disable","provider.diagnose","provider.auth.status","provider.auth.setPreference","provider.auth.setUserKey","provider.auth.methods","provider.auth.start","provider.auth.attach","provider.auth.input","provider.auth.resize","provider.auth.cancel","provider.auth.logout","provider.models.list","provider.nativeSessions.list","provider.nativeSessions.load","provider.nativeSessions.resume","delegation.cancel","delegation.reset","session.list","session.get","session.create","session.update","session.delete","session.deleteAll","session.archive","session.loadNativeTranscript","session.adoptNative","session.moveToProject","session.getState","session.switchProject","session.getMessages","project.list","project.create","project.detach","project.delete","project.rename","project.archive","project.unarchive","project.update","instructions.list","instructions.read","instructions.write","instructions.delete","files.list","files.read","files.create","files.rename","files.move","files.copy","files.delete","files.search","files.undoOperation","files.gitStatus","turnBaseline.getSummary","turnBaseline.getFileDiff","turnBaseline.listRecent","turnBaseline.getFileBaseline","workingMaterials.get","workingMaterials.replace","workingMaterials.upsert","workingMaterials.remove","workingMaterials.reorder","skills.list","memory.list-files","memory.atlas","memory.activity","memory.propose","memory.consolidate","memory.update","memory.attachment.adopt","memory.attachment.locate"];var I=["turn.start","turn.delta","turn.end","turn.error","turn.recovery","turn.file_changes","turn.tool_call","turn.tool_result","turn.tool_blocked","turn.reasoning_delta","turn.approval_request","turn.ask_user","turn.media_result","turn.media_progress","turn.media_usage","turn.media_capability_check","turn.plan_update","turn.suggestions","turn.sidechain_started","turn.subagent_started","turn.subagent_delta","turn.subagent_ended","turn.sidechain_completed","turn.task_updated","turn.todos_updated","turn.exec_progress","turn.progress","turn.tool_use_summary","turn.tool_selection_policy","turn.lifecycle","turn.document_maintenance","turn.artifact_contract","turn.usage_update","team.member.notification","session.info","session.recovery_pending","memory.updated","skills.updated","turn.memory_recall","turn.memory_written","system.activity","workflow.created","workflow.updated","workflow.deleted","workflow.runStarted","workflow.runCompleted","workflow.runFailed","workflow.nodeStatus","workflow.triggerDropped","workflow.alert","workflow.approvalRequested","workflow.approvalTimedOut"],b=["solo.progress","solo.specProgress","solo.agentDelta","solo.agentActivity","solo.agentUsage","solo.evaluation","product.taskStarted","product.taskOutput","product.members","product.agentActivity","product.taskCompleted","product.taskFailed","product.budgetUpdate","product.budgetWarning","product.checkpointed","product.completed","product.dagTopology","plan.interrupted","product.planReady","product.planningDelta","product.leaderMessage","product.planFailed","product.planningAsk","goal.run_state_changed","goal.phase_boundary","goal.goal_edited","goal.message_queued","goal.acceptance_updated","goal.round_message","mention.delegate_started","mention.delegate_activity","mention.delegate_settled"],re=[...I,...b],w=re;import{MODEL_PURPOSES as Gt}from"@xiaozhiclaw/module-sdk/model-access";import{createHash as Et}from"node:crypto";import{resolve as Tt}from"node:path";var m={request:"x/delegate",update:"x/delegate.update",respond:"x/delegate.respond",cancel:"x/delegate.cancel"},ne=["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"],ie=["initialize","getIndex","addToIndex","replaceInIndex","removeFromIndex","createFile","writeFile","readFile","deleteFile","listFiles","searchLocal"],oe=["getSkillSnapshot","readSkillFile","recordSkillInvocation","commitSkillMutation","applyCuratorPlan","prepareSkillInstall","finalizeSkillInstall"],se=["loadForResume","appendTranscript","updateTitle","saveState","saveTaskSummary","groupSplit"],ae=["commitTurnTelemetry","listDistillableFeedback","markFeedbackDistilled","runUploadSweep"],de=["getSnapshot","create","switch","update"],Nt=1024*1024,pe=["list","get","diagnose"],ce=["navigate","snapshot","click","type","screenshot","console","network"];var le=["open","recordEvent","checkpoint","get","list","delete","getCheckpoint","listCheckpoints","restoreCheckpoint"],ue=["getTunables","updateTunable","clearTunable","appendDirectoryAllowRule"];var Dt=new Set(ne),Ht=new Set(ie),Lt=new Set(ue),jt=new Set(oe),Ut=new Set(se),Kt=new Set(ae),Ft=new Set(de),Vt=new Set(le),Wt=new Set(pe),qt=new Set(ce);var ge=1,me={INITIALIZE:"initialize",SESSION_NEW:"session/new",SESSION_PROMPT:"session/prompt",SESSION_CLOSE:"session/close",SESSION_SET_CONFIG:"session/set_config_option",SESSION_SET_MODEL:"session/set_model",SESSION_SET_MODE:"session/set_mode",SESSION_LOAD:"session/load",SESSION_CANCEL:"session/cancel",SESSION_UPDATE:"session/update",SESSION_REQUEST_PERMISSION:"session/request_permission",FS_READ_TEXT_FILE:"fs/read_text_file",FS_WRITE_TEXT_FILE:"fs/write_text_file"},fe={ABORT:"x/abort",DREAM:"x/dream",SOLO_START:"x/solo.start",SOLO_SELECT:"x/solo.select",SOLO_CANCEL:"x/solo.cancel",PRODUCT_CREATE:"x/product.create",PRODUCT_PLAN:"x/product.plan",PRODUCT_CONFIRM:"x/product.confirm",PRODUCT_MESSAGE:"x/product.message",PRODUCT_RESUME:"x/product.resume",PRODUCT_PAUSE:"x/product.pause",PRODUCT_CANCEL:"x/product.cancel",PRODUCT_ROLLBACK:"x/product.rollback",PRODUCT_REPLAY:"x/product.replay",SOLO_SUBSCRIBE:"x/solo.subscribe",SOLO_MESSAGE:"x/solo.message",SOLO_EVALUATE:"x/solo.evaluate",SOLO_SPEC_CHAT:"x/solo.specChat",SOLO_SPEC_JUDGE:"x/solo.specJudge",WORKFLOW_CHAT:"x/workflow.chat",WORKFLOW_MATCH_INTENT:"x/workflow.matchIntent",PRODUCT_SUBSCRIBE:"x/product.subscribe",GOAL_START:"x/goal.start",GOAL_PAUSE:"x/goal.pause",GOAL_RESUME:"x/goal.resume",GOAL_UPDATE_GOAL:"x/goal.updateGoal",GOAL_STOP:"x/goal.stop",GOAL_MESSAGE:"x/goal.message",GOAL_SUBSCRIBE:"x/goal.subscribe",DELEGATE:m.request,DELEGATE_UPDATE:m.update,DELEGATE_RESPOND:m.respond,DELEGATE_CANCEL:m.cancel},O={USER_MESSAGE_CHUNK:"user_message_chunk",AGENT_MESSAGE_CHUNK:"agent_message_chunk",AGENT_THOUGHT_CHUNK:"agent_thought_chunk",TOOL_CALL:"tool_call",TOOL_CALL_UPDATE:"tool_call_update",PLAN:"plan",USAGE_UPDATE:"usage_update",CONFIG_OPTION_UPDATE:"config_option_update",SESSION_INFO_UPDATE:"session_info_update",AVAILABLE_COMMANDS_UPDATE:"available_commands_update",CURRENT_MODE_UPDATE:"current_mode_update"},ye={X_SESSION_INFO:"x_session_info",X_RELAY:"x_relay"};function N(e){if(!e||typeof e!="object")return!1;let t=e;return t.jsonrpc==="2.0"&&typeof t.method=="string"&&"id"in t}function D(e){if(!e||typeof e!="object")return!1;let t=e;return t.jsonrpc==="2.0"&&typeof t.method=="string"&&!("id"in t)}function H(e){if(!e||typeof e!="object")return!1;let t=e;return t.jsonrpc==="2.0"&&"id"in t&&!("method"in t)}function Ae(e){let t;try{t=JSON.parse(e)}catch{return null}return H(t)||N(t)||D(t)?t:null}function Se(e){return Object.values(O).includes(e)}function Re(e){return e.startsWith("x_")}var P=["gatewayVersion","toolNamespaces","workspaceIds","installedCapabilities","enabledCapabilities","features","approvalMode","toolManifests","skillManifests","pluginManifests","mcpManifests","approvalPolicy","workspaceSummaries"];function g(e){return e?e.map(t=>({...t})):void 0}function E(e){return e?e.map(t=>({...t})):void 0}function Ie(e){return e?[...e]:void 0}function L(e){return[...new Set(e.map(t=>t.trim()).filter(Boolean))].sort((t,r)=>t.localeCompare(r))}function f(e){return{...e,toolNamespaces:[...e.toolNamespaces],workspaceIds:[...e.workspaceIds],...e.changedSections?{changedSections:[...e.changedSections]}:{},...e.installedCapabilities?{installedCapabilities:[...e.installedCapabilities]}:{},...e.enabledCapabilities?{enabledCapabilities:[...e.enabledCapabilities]}:{},...e.features?{features:[...e.features]}:{},...e.toolManifests?{toolManifests:g(e.toolManifests)}:{},...e.skillManifests?{skillManifests:g(e.skillManifests)}:{},...e.pluginManifests?{pluginManifests:g(e.pluginManifests)}:{},...e.mcpManifests?{mcpManifests:g(e.mcpManifests)}:{},...e.approvalPolicy?{approvalPolicy:{...e.approvalPolicy}}:{},...e.workspaceSummaries?{workspaceSummaries:E(e.workspaceSummaries)}:{}}}function be(e){let{previous:t,update:r}=e;return!(r.syncMode==="diff"&&t&&(!r.baseSnapshotVersion||t.snapshotVersion===r.baseSnapshotVersion))||!t?f(r):{...f(t),snapshotVersion:r.snapshotVersion,updatedAt:r.updatedAt,...r.gatewayVersion!==void 0?{gatewayVersion:r.gatewayVersion}:{},...r.syncMode?{syncMode:r.syncMode}:{},...r.baseSnapshotVersion?{baseSnapshotVersion:r.baseSnapshotVersion}:{},...r.changedSections?{changedSections:[...r.changedSections]}:{},...r.toolNamespaces?{toolNamespaces:[...r.toolNamespaces]}:{},...r.workspaceIds?{workspaceIds:[...r.workspaceIds]}:{},...r.installedCapabilities?{installedCapabilities:[...r.installedCapabilities]}:{},...r.enabledCapabilities?{enabledCapabilities:[...r.enabledCapabilities]}:{},...r.features?{features:[...r.features]}:{},...r.approvalMode?{approvalMode:r.approvalMode}:{},...r.toolManifests?{toolManifests:g(r.toolManifests)}:{},...r.skillManifests?{skillManifests:g(r.skillManifests)}:{},...r.pluginManifests?{pluginManifests:g(r.pluginManifests)}:{},...r.mcpManifests?{mcpManifests:g(r.mcpManifests)}:{},...r.approvalPolicy?{approvalPolicy:{...r.approvalPolicy}}:{},...r.workspaceSummaries?{workspaceSummaries:E(r.workspaceSummaries)}:{}}}function Pe(e){return L(e.map(t=>t.name.split(".")[0]??"").filter(Boolean))}function Ee(e){return L(e.map(t=>t.id))}function he(e){let{previous:t,current:r}=e;if(!t)return{...f(r),syncMode:"full"};if(t.snapshotVersion===r.snapshotVersion)return null;let n=P.filter(s=>JSON.stringify(t[s])!==JSON.stringify(r[s]));if(n.length===P.length)return{...f(r),syncMode:"full"};let o={snapshotVersion:r.snapshotVersion,updatedAt:r.updatedAt,syncMode:"diff",baseSnapshotVersion:t.snapshotVersion,changedSections:n,toolNamespaces:[...r.toolNamespaces],workspaceIds:[...r.workspaceIds]},p=o;for(let s of n){let i=r[s];if(i!==void 0)switch(s){case"toolNamespaces":case"workspaceIds":case"installedCapabilities":case"enabledCapabilities":case"features":p[s]=Ie(i);break;case"approvalPolicy":p[s]={...i};break;case"workspaceSummaries":p[s]=E(i);break;case"toolManifests":case"skillManifests":case"pluginManifests":case"mcpManifests":p[s]=g(i);break;default:p[s]=i;break}}return o}var Te=["web_search","web_fetch","deep_research","browser_execution"],ke=["web-intelligence","browser-execution"],_e=["discovery","read-url","multi-source-research","interactive-browser"],Ce=["stateless","render-backend","interactive-session"],ve=["stateless","stateless-single-step","stateful-session-required"],xe=["required","conditional","none"],Me=["browser-read","browser-authenticated-read","browser-state-changing"];var we=["read-page","read-authenticated-page","fill-form","submit-form","download-file","reuse-session"],Oe=["web_search","web_fetch","deep_research","blocked"],Ne=["requires-interaction","requires-login-state","requires-rendered-dom","requires-persistent-session","requires-state-changing-action"],De=["none","same-capability-once","degrade-only"];var He=["prefetch","sync_turn","on_pre_compress","on_session_end","on_delegation","on_memory_write"],Le=["turn","sidechain","compress","session-end","agent-remember","auto-extract","implicit-extract","profile-extraction","dream"],je=["observe-only","parent-write","deny"];var Ue=2,a={gatewayImage:"gateway.image.desktop-slim",whisperModelTiny:"speech.whisper.model.tiny",ffmpegWin32X64:"runtime.ffmpeg.win32-x64",nodeWin32X64:"runtime.node.win32-x64",dockerDesktopWin32X64:"runtime.docker-desktop.win32-x64",dockerDesktopDarwinX64:"runtime.docker-desktop.darwin-x64",dockerDesktopDarwinArm64:"runtime.docker-desktop.darwin-arm64"},y={desktopDockerBridge:"desktop.docker-bridge",desktopEmbeddedWin32X64:"desktop.embedded.win32-x64"};function U(e){return{...e,artifacts:e.artifacts.map(t=>({...t}))}}function Ke(e){return{...e,assetIds:[...e.assetIds]}}function K(){return{[y.desktopDockerBridge]:{id:y.desktopDockerBridge,title:"Desktop Docker Bridge",platform:"any",assetIds:[a.gatewayImage,a.dockerDesktopWin32X64,a.dockerDesktopDarwinX64,a.dockerDesktopDarwinArm64],description:"Docker bridge mode downloads the desktop slim gateway image on demand."},[y.desktopEmbeddedWin32X64]:{id:y.desktopEmbeddedWin32X64,title:"Desktop Embedded Win32 x64",platform:"win32-x64",assetIds:[a.nodeWin32X64,a.ffmpegWin32X64,a.whisperModelTiny],description:"Embedded desktop mode requires the bundled Node/FFmpeg runtimes and the whisper model asset."}}}function F(e,t){return e.assets[t]}function V(e,t){return e.profiles[t]}function Fe(e,t){let r=V(e,t);return r?r.assetIds.map(n=>F(e,n)).filter(n=>!!n):[]}function Ve(e,t){return e.assets[t.id]=U(t),W(e)}function h(e){if(!e)return;let t=e.artifacts[0];if(!(!t?.url||!t.sha256||typeof t.size!="number"))return{version:e.version,sha256:t.sha256,size:t.size,url:t.url}}function W(e){let t=h(e.assets[a.gatewayImage]),r=h(e.assets[a.whisperModelTiny]);return{...e,gateway:t,whisperModel:r}}function j(e,t){if(!(typeof e.version!="string"||typeof e.url!="string"))return{...t,version:e.version,artifacts:[{fileName:e.url.split("/").pop()||`${t.id}.bin`,url:e.url,sha256:typeof e.sha256=="string"?e.sha256:void 0,size:typeof e.size=="number"?e.size:void 0}]}}function We(e){let t=e&&typeof e=="object"?e:{},r={},n=t.assets&&typeof t.assets=="object"?t.assets:{};for(let[i,d]of Object.entries(n)){if(!d||typeof d!="object")continue;let u=d;!u.id||!Array.isArray(u.artifacts)||(r[i]=U(u))}if(!r[a.gatewayImage]&&t.gateway&&typeof t.gateway=="object"){let i=j(t.gateway,{id:a.gatewayImage,title:"XiaoZhiClaw Gateway Image (Desktop Slim)",kind:"container-image",delivery:"remote",platform:"any",description:"Desktop Docker mode gateway image."});i&&(r[i.id]=i)}if(!r[a.whisperModelTiny]&&t.whisperModel&&typeof t.whisperModel=="object"){let i=j(t.whisperModel,{id:a.whisperModelTiny,title:"Whisper Tiny Model",kind:"model",delivery:"remote",platform:"any",description:"Shared whisper.cpp tiny model asset for embedded desktop speech recognition."});i&&(r[i.id]=i)}let p={...K()},s=t.profiles&&typeof t.profiles=="object"?t.profiles:{};for(let[i,d]of Object.entries(s)){if(!d||typeof d!="object")continue;let u=d;!u.id||!Array.isArray(u.assetIds)||(p[i]=Ke(u))}return W({schemaVersion:typeof t.schemaVersion=="number"?t.schemaVersion:2,channel:typeof t.channel=="string"?t.channel:void 0,publishedAt:typeof t.publishedAt=="string"?t.publishedAt:void 0,minElectronVersion:typeof t.minElectronVersion=="string"?t.minElectronVersion:void 0,releaseNotes:typeof t.releaseNotes=="string"?t.releaseNotes:void 0,assets:r,profiles:p})}var qe=["pending","captured","failed","restored"],Be=["file","directory","missing"],Ye=["metadata-only","workspace-copy","shadow-git"];var Ge=["api-key","oauth","token","aws-sdk"],ze=["rate_limit","auth","server_error","timeout","network","unknown"],Xe=["requiresOpenAiAnthropicToolPayload"];function $e(e,t){return!e||typeof e!="object"||Array.isArray(e)?!1:e[t]===!0}var q="openai-codex";function S(e){let t=e.trim().toLowerCase();return t==="z.ai"||t==="z-ai"?"zai":t==="opencode-zen"?"opencode":t==="kimi-code"?"kimi-coding":t==="bedrock"||t==="aws-bedrock"?"amazon-bedrock":t==="bytedance"||t==="doubao"?"volcengine":t}function B(e){let t=S(e);return t==="volcengine-plan"?"volcengine":t==="qwen-coding"?"qwen":t==="byteplus-plan"?"byteplus":t}var Je=B,Qe={anthropicToolSchemaMode:"native",anthropicToolChoiceMode:"native",providerFamily:"default",preserveAnthropicThinkingSignatures:!0,openAiCompatTurnValidation:!0,providerThoughtSignatureSanitization:!1,transcriptToolCallIdMode:"default",transcriptToolCallIdModelHints:[],providerThoughtSignatureModelHints:[],dropThinkingBlockModelHints:[]},Ze={anthropic:{providerFamily:"anthropic"},"amazon-bedrock":{providerFamily:"anthropic"},"kimi-coding":{anthropicToolSchemaMode:"openai-functions",anthropicToolChoiceMode:"openai-string-modes",preserveAnthropicThinkingSignatures:!1},mistral:{transcriptToolCallIdMode:"strict9",transcriptToolCallIdModelHints:["mistral","mixtral","codestral","pixtral","devstral","ministral","mistralai"]},openai:{providerFamily:"openai"},[q]:{providerFamily:"openai"},openrouter:{openAiCompatTurnValidation:!1,providerThoughtSignatureSanitization:!0,providerThoughtSignatureModelHints:["gemini"]},opencode:{openAiCompatTurnValidation:!1,providerThoughtSignatureSanitization:!0,providerThoughtSignatureModelHints:["gemini"]},kilocode:{providerThoughtSignatureSanitization:!0,providerThoughtSignatureModelHints:["gemini"]}};function T(e,t){let r=(e??"").toLowerCase();return!!r&&t.some(n=>r.includes(n))}function c(e){let t=S(e??"");return{...Qe,...Ze[t]}}function et(e){return c(e).preserveAnthropicThinkingSignatures}function tt(e){let t=c(e);return t.anthropicToolSchemaMode!=="native"||t.anthropicToolChoiceMode!=="native"}function rt(e){return c(e).anthropicToolSchemaMode==="openai-functions"}function nt(e){return c(e).anthropicToolChoiceMode==="openai-string-modes"}function it(e){return c(e).openAiCompatTurnValidation}function ot(e){return c(e).providerFamily==="openai"}function st(e){return c(e).providerFamily==="anthropic"}function at(e){return T(e.modelId,c(e.provider).dropThinkingBlockModelHints)}function dt(e){let t=c(e.provider);return t.providerThoughtSignatureSanitization&&T(e.modelId,t.providerThoughtSignatureModelHints)}function pt(e,t){let r=c(e),n=r.transcriptToolCallIdMode;if(n==="strict9")return n;if(T(t,r.transcriptToolCallIdModelHints))return"strict9"}var k={anthropic:["ANTHROPIC_OAUTH_TOKEN","ANTHROPIC_API_KEY"],chutes:["CHUTES_OAUTH_TOKEN","CHUTES_API_KEY"],zai:["ZAI_API_KEY","Z_AI_API_KEY"],opencode:["OPENCODE_API_KEY","OPENCODE_ZEN_API_KEY"],qwen:["DASHSCOPE_API_KEY","QWEN_API_KEY"],"qwen-coding":["DASHSCOPE_API_KEY","QWEN_API_KEY"],volcengine:["VOLCANO_ENGINE_API_KEY","ARK_API_KEY","DOUBAO_API_KEY"],"volcengine-plan":["VOLCANO_ENGINE_API_KEY","ARK_API_KEY","DOUBAO_API_KEY"],byteplus:["BYTEPLUS_API_KEY"],"byteplus-plan":["BYTEPLUS_API_KEY"],"kimi-coding":["KIMI_API_KEY","KIMICODE_API_KEY"],huggingface:["HUGGINGFACE_HUB_TOKEN","HF_TOKEN"],openai:["OPENAI_API_KEY"],voyage:["VOYAGE_API_KEY"],groq:["GROQ_API_KEY"],deepgram:["DEEPGRAM_API_KEY"],cerebras:["CEREBRAS_API_KEY"],xai:["XAI_API_KEY"],openrouter:["OPENROUTER_API_KEY"],litellm:["LITELLM_API_KEY"],"vercel-ai-gateway":["AI_GATEWAY_API_KEY"],"cloudflare-ai-gateway":["CLOUDFLARE_AI_GATEWAY_API_KEY"],moonshot:["MOONSHOT_API_KEY"],minimax:["MINIMAX_API_KEY"],"minimax-cn":["MINIMAX_CN_API_KEY","MINIMAX_API_KEY"],nvidia:["NVIDIA_API_KEY"],xiaomi:["XIAOMI_API_KEY"],synthetic:["SYNTHETIC_API_KEY"],venice:["VENICE_API_KEY"],mistral:["MISTRAL_API_KEY"],together:["TOGETHER_API_KEY"],qianfan:["QIANFAN_API_KEY"],ollama:["OLLAMA_API_KEY"],vllm:["VLLM_API_KEY"],kilocode:["KILOCODE_API_KEY"]};function ct(){return[...new Set(Object.values(k).flat())]}function lt(e){let t=S(e.provider),r=e.env??process.env,n=new Set(e.appliedEnvKeys??[]),o=i=>{let d=r[i]?.trim();if(!d)return null;let u=n.has(i)?`shell env: ${i}`:`env: ${i}`;return{apiKey:d,source:u}},p=e.resolveSpecialApiKey?.(t,r,n);if(p)return p;let s=k[t];if(!s||s.length===0)return null;for(let i of s){let d=o(i);if(d)return d}return null}export{fe as ACP_EXTENDED_METHODS,ye as ACP_EXTENDED_SESSION_UPDATE_TYPES,me as ACP_METHODS,ge as ACP_PROTOCOL_VERSION,O as ACP_SESSION_UPDATE_TYPES,G as AGENT_RPC_APPROVAL_METHODS,l as AGENT_RPC_ERROR_CODES,Y as AGENT_RPC_PROTOCOL_VERSION,b as AGENT_TEAM_WS_EVENT_NAMES,I as AGENT_WS_EVENT_NAMES,w as ALL_AGENT_WS_EVENT_NAMES,P as CAPABILITY_MANIFEST_DIFF_SECTIONS,te as GATEWAY_RPC_METHODS,R as GatewayRpcContract,He as MEMORY_OBSERVATION_HOOK_VALUES,Le as MEMORY_OBSERVATION_SOURCE_VALUES,je as MEMORY_WRITE_ACCESS_VALUES,Ye as MUTATION_CHECKPOINT_BACKEND_VALUES,Be as MUTATION_CHECKPOINT_ENTRY_KIND_VALUES,qe as MUTATION_CHECKPOINT_PHASE_VALUES,Ge as PROVIDER_RUNTIME_AUTH_MODE_VALUES,Xe as PROVIDER_RUNTIME_COMPAT_FLAG_VALUES,k as PROVIDER_RUNTIME_ENV_API_KEY_CANDIDATES,q as PROVIDER_RUNTIME_OPENAI_CODEX_PROVIDER_ID,ze as PROVIDER_RUNTIME_VAULT_ERROR_TYPE_VALUES,Ue as RESOURCE_MANIFEST_SCHEMA_VERSION,a as RUNTIME_ASSET_IDS,y as RUNTIME_PROFILE_IDS,we as WEB_ACTION_SCOPE_VALUES,xe as WEB_APPROVAL_DEFAULT_VALUES,ke as WEB_CAPABILITY_FAMILY_VALUES,Te as WEB_CAPABILITY_ID_VALUES,Oe as WEB_DEGRADATION_TARGET_VALUES,Ne as WEB_ESCALATION_REASON_VALUES,Ce as WEB_EXECUTION_MODE_VALUES,Me as WEB_POLICY_RISK_CLASS_VALUES,De as WEB_RETRY_POLICY_VALUES,ve as WEB_STATEFULNESS_VALUES,_e as WEB_TASK_MODE_VALUES,ee as buildAgentRpcMeta,A as classifyGatewayRpcMethod,f as cloneCapabilityManifestSnapshot,he as createCapabilityManifestDiffPayload,K as createDefaultRuntimeResourceProfiles,Pe as deriveCapabilityToolNamespaces,Ee as deriveCapabilityWorkspaceIds,h as getManifestShortcutEntry,F as getRuntimeResourceAsset,V as getRuntimeResourceProfile,Fe as getRuntimeResourceProfileAssets,D as isAcpJsonRpcNotification,N as isAcpJsonRpcRequest,H as isAcpJsonRpcResponse,v as isAgentRpcNotification,_ as isAgentRpcRequest,C as isAgentRpcResponse,st as isAnthropicProviderRuntimeFamily,Re as isExtendedSessionUpdateType,ot as isOpenAiProviderRuntimeFamily,Se as isStandardSessionUpdateType,ct as listProviderRuntimeEnvApiKeyNames,be as mergeCapabilityManifestSnapshot,S as normalizeProviderRuntimeId,B as normalizeProviderRuntimeIdForAuth,We as normalizeRuntimeResourceManifest,Ae as parseAcpMessage,z as parseAgentRpcMessage,et as preservesProviderRuntimeAnthropicThinkingSignatures,$e as readProviderRuntimeCompatFlag,M as requireGatewayRpcMeta,x as requiresIdempotencyKey,tt as requiresOpenAiCompatibleAnthropicToolPayloadForProviderRuntime,c as resolveProviderRuntimeCapabilities,lt as resolveProviderRuntimeEnvApiKey,Je as resolveProviderRuntimeKeyFamily,pt as resolveProviderRuntimeTranscriptToolCallIdMode,at as shouldDropThinkingBlocksForProviderRuntimeModel,dt as shouldSanitizeProviderRuntimeThoughtSignaturesForModel,it as supportsOpenAiCompatTurnValidationForProviderRuntime,Ve as upsertRuntimeResourceAsset,rt as usesOpenAiFunctionAnthropicToolSchemaForProviderRuntime,nt as usesOpenAiStringModeAnthropicToolChoiceForProviderRuntime};
package/dist/tunables.js CHANGED
@@ -1 +1 @@
1
- var _=Math.min(Math.max(1,Number(process.env.TOOL_LOOP_DEFAULT_BUDGET)||25),100),u=Math.max(1e3,Number(process.env.TOOL_LOOP_TOOL_TIMEOUT_MS)||24e4),i=3,T=2;var M=128e3,m=13e3,E=16384,c=65536,p=3,l=65536,S=500,R=3,x=5e4,A=2e5,O=2e3,I=3e4,d=3,b=2,L=3e5,C=216e5,D=.75,N=16e3,f=12e4,U=3,P=4,B=50,k=3,g=2,y=300*1e3;var me=720*60*60*1e3,F=4,X=0,h=50,K=50,w=30,Ee=3600*1e3;var v=5,G=4e4,H=50*1024,V=500*1024,Y=500*1024*1024,z=50*1024*1024,W=3e5,$=2,j=3e3,Z=3,q=5e3,J=1e3,Q=3e3,ee=3e4,te=60*1024,ne=10;var re=100,oe=24,se=5,ae=6e5,_e=30,ue=144e5,ie=3e5;function o(){return{maxRoundsLimit:100,defaultMaxRounds:25,defaultTemperature:0,maxToolBudgetCap:100,defaultToolBudget:_,defaultToolExecutionTimeoutMs:u,maxConsecutiveFailures:i,maxIdenticalCallRepeats:T,defaultContextWindowTokens:M,responseBufferTokens:m,defaultMaxOutputTokens:E,defaultModelMaxOutputTokens:c,maxOutputTokensRecoveryLimit:p,escalatedMaxOutputTokens:l,diminishingReturnsThreshold:S,diminishingReturnsMinContinuations:R,defaultMaxResultSizeChars:x,maxToolResultsPerMessageChars:A,toolResultPreviewBytes:O,heartbeatIntervalMs:I,max529Retries:d,maxApiRetries:b,persistentRetryMaxBackoffMs:L,persistentRetryResetCapMs:C,compressionTargetUsageRatio:D,compressionMinBudget:N,compressionMaxBudget:f,reactiveCompactMaxFailures:U,reactiveCompactMinMessages:P,reactiveCompactTargetPercent:B,minToolCallsForSkill:k,minDistinctToolsForSkill:g,skillCreationCooldownMs:y,maxForkDepth:F,maxSessions:h,taskSummaryTurnThreshold:K,taskSummaryRegenInterval:w,maxIncludeDepth:v,maxInstructionChars:G,instructionsMaxFileSize:H,instructionsMaxDirSize:V,mediaMaxDownloadSize:Y,mediaMaxUploadSize:z,mediaDownloadTimeoutMs:W,acpMaxSpawnRetries:$,acpRetryBackoffBase:j,acpRuntimeRestartMax:Z,acpRuntimeRestartBackoffBase:q,taskPollIntervalMs:J,taskStoppedDisplayMs:Q,taskPanelGraceMs:ee,memoryPrefetchMaxSessionBytes:te,memoryPrefetchLimitPerRecall:ne,memoryMaxSurfacedEntries:re,dreamMinIntervalHours:oe,dreamMinSessions:se,dreamScanIntervalMs:ae,idleDreamMinutes:_e,dreamCooldownMs:ue,dreamMaxDurationMs:ie,teamBudgetTokens:X,braveApiKey:"",exaApiKey:"",serperApiKey:"",searxngBaseUrl:"",crawl4aiBaseUrl:"",searchSvcBaseUrl:""}}function a(t){let e=o();return Object.prototype.hasOwnProperty.call(e,t)?null:`Unknown tunable key: "${t}". Valid keys: ${Object.keys(e).join(", ")}`}function Te(t,e){let r=a(t);if(r)return r;let n=typeof o()[t];return e==null||typeof e!==n?`Invalid value for "${t}": expected ${n}, got ${e===null?"null":typeof e}`:n==="number"&&!Number.isFinite(e)?`Invalid value for "${t}": expected a finite number`:null}function Me(t,e){if(typeof e!="string")return e;let r=o();if(!Object.prototype.hasOwnProperty.call(r,t))return e;let s=typeof r[t];if(s==="number"){let n=Number(e);if(Number.isFinite(n)&&e.trim()!=="")return n}else if(s==="boolean"){if(e==="true")return!0;if(e==="false")return!1}return e}export{Me as coerceTunableValue,o as getTunableDefaults,a as validateTunableKey,Te as validateTunableUpdate};
1
+ var _=Math.min(Math.max(1,Number(process.env.TOOL_LOOP_DEFAULT_BUDGET)||25),100),u=Math.max(1e3,Number(process.env.TOOL_LOOP_TOOL_TIMEOUT_MS)||24e4),i=3,T=2;var m=128e3,M=13e3,c=16384,E=65536,p=3,S=65536,l=500,R=3,x=5e4,A=2e5,O=2e3,I=3e4,d=3,b=2,D=3e5,f=216e5,L=.75,N=16e3,U=12e4,C=3,P=4,B=50,g=3,y=2;var me=720*60*60*1e3,k=4,F=0,X=50,h=50,K=30,Me=3600*1e3;var w=5,v=4e4,G=50*1024,H=500*1024,V=500*1024*1024,Y=50*1024*1024,z=3e5,W=2,$=3e3,j=3,Z=5e3,q=1e3,J=3e3,Q=3e4,ee=60*1024,te=10,ne=100,re=24,oe=5,se=6e5,ae=30,_e=144e5,ue=3e5;function o(){return{maxRoundsLimit:100,defaultMaxRounds:25,defaultTemperature:0,maxToolBudgetCap:100,defaultToolBudget:_,defaultToolExecutionTimeoutMs:u,maxConsecutiveFailures:i,maxIdenticalCallRepeats:T,defaultContextWindowTokens:m,responseBufferTokens:M,defaultMaxOutputTokens:c,defaultModelMaxOutputTokens:E,maxOutputTokensRecoveryLimit:p,escalatedMaxOutputTokens:S,diminishingReturnsThreshold:l,diminishingReturnsMinContinuations:R,defaultMaxResultSizeChars:x,maxToolResultsPerMessageChars:A,toolResultPreviewBytes:O,heartbeatIntervalMs:I,max529Retries:d,maxApiRetries:b,persistentRetryMaxBackoffMs:D,persistentRetryResetCapMs:f,compressionTargetUsageRatio:L,compressionMinBudget:N,compressionMaxBudget:U,reactiveCompactMaxFailures:C,reactiveCompactMinMessages:P,reactiveCompactTargetPercent:B,minToolCallsForSkill:g,minDistinctToolsForSkill:y,maxForkDepth:k,maxSessions:X,taskSummaryTurnThreshold:h,taskSummaryRegenInterval:K,maxIncludeDepth:w,maxInstructionChars:v,instructionsMaxFileSize:G,instructionsMaxDirSize:H,mediaMaxDownloadSize:V,mediaMaxUploadSize:Y,mediaDownloadTimeoutMs:z,acpMaxSpawnRetries:W,acpRetryBackoffBase:$,acpRuntimeRestartMax:j,acpRuntimeRestartBackoffBase:Z,taskPollIntervalMs:q,taskStoppedDisplayMs:J,taskPanelGraceMs:Q,memoryPrefetchMaxSessionBytes:ee,memoryPrefetchLimitPerRecall:te,memoryMaxSurfacedEntries:ne,dreamMinIntervalHours:re,dreamMinSessions:oe,dreamScanIntervalMs:se,idleDreamMinutes:ae,dreamCooldownMs:_e,dreamMaxDurationMs:ue,teamBudgetTokens:F,braveApiKey:"",exaApiKey:"",serperApiKey:"",searxngBaseUrl:"",crawl4aiBaseUrl:"",searchSvcBaseUrl:""}}function a(t){let e=o();return Object.prototype.hasOwnProperty.call(e,t)?null:`Unknown tunable key: "${t}". Valid keys: ${Object.keys(e).join(", ")}`}function ie(t,e){let r=a(t);if(r)return r;let n=typeof o()[t];return e==null||typeof e!==n?`Invalid value for "${t}": expected ${n}, got ${e===null?"null":typeof e}`:n==="number"&&!Number.isFinite(e)?`Invalid value for "${t}": expected a finite number`:null}function Te(t,e){if(typeof e!="string")return e;let r=o();if(!Object.prototype.hasOwnProperty.call(r,t))return e;let s=typeof r[t];if(s==="number"){let n=Number(e);if(Number.isFinite(n)&&e.trim()!=="")return n}else if(s==="boolean"){if(e==="true")return!0;if(e==="false")return!1}return e}export{Te as coerceTunableValue,o as getTunableDefaults,a as validateTunableKey,ie as validateTunableUpdate};
@@ -11,9 +11,8 @@ export interface AcpExtendedHost extends DreamHandlerHost, SoloHandlerHost, Prod
11
11
  getActiveProjectRoot(): string;
12
12
  log(message: string): void;
13
13
  /**
14
- * 激活层(S3c):gateway-routed delegate 传输桥(可选;缺省/undefined = ProductOrchestrator 委派路径)。
15
- * 懒读 AcpServer.delegate/supportsDelegate(server initialize 后才 init,故 getter 而非常量);
16
- * Gateway 未声明 delegate 能力位时 bridge.isSupported()=false; orchestration stations fail loud.
14
+ * Lazily reads the Gateway delegate bridge because ACP negotiation completes after host creation.
15
+ * A missing or unsupported bridge makes orchestration fail loud; there is no local spawn rail.
17
16
  */
18
17
  getDelegateBridge?(): DelegateBridge | undefined;
19
18
  resolveClientForPurpose(purpose: "textGeneration"): {
@@ -40,7 +39,6 @@ export declare function handleAcpDream(host: AcpExtendedHost, params: {
40
39
  * rpc-registry handler did this; the x/ ACP entry (the one the gateway actually calls) didn't.
41
40
  */
42
41
  export declare function handleAcpSoloStart(host: AcpExtendedHost, params: Record<string, unknown>): Promise<unknown>;
43
- export declare function handleAcpSoloStatus(host: AcpExtendedHost, params: Record<string, unknown>): Promise<unknown>;
44
42
  export declare function handleAcpSoloSelect(host: AcpExtendedHost, params: Record<string, unknown>): Promise<unknown>;
45
43
  export declare function handleAcpSoloCancel(host: AcpExtendedHost, params: Record<string, unknown>): Promise<unknown>;
46
44
  export declare function handleAcpSoloSubscribe(host: AcpExtendedHost, params: Record<string, unknown>): Promise<unknown>;
@@ -60,13 +58,13 @@ export declare function handleAcpSoloSpecJudge(host: AcpExtendedHost, params: Re
60
58
  /**
61
59
  * M4 自动化页对话式搭图/改图(x/workflow.chat):forked agent + propose_workflow 工具,产出工作流提案
62
60
  * (新建 def / 改已有 patch),propose-only 无副作用。澄清走 Cut6 ask 往返。失败降级 { error } 不抛。
63
- * 应用由前端经既有 workflow.create/patch 完成(触发 WS 回流画布),故本轮不碰引擎控制器。
61
+ * 应用由前端经 Gateway Host workflow.create/patch 完成(触发 WS 回流画布),故本轮无持久化副作用。
64
62
  */
65
63
  export declare function handleAcpWorkflowChat(host: AcpExtendedHost, params: Record<string, unknown>): Promise<WorkflowChatResult>;
66
64
  /**
67
65
  * x/workflow.matchIntent(spec D22 语义兜底)— 确定性短语在客户端已查过且未命中,且存在
68
- * semantic:true 的活跃意图工作流时才会被调用:对候选集做**一次**轻量 LLM 分类(单发,非 agent
69
- * turn)。候选枚举是纯文件读(active root + automation 项目的工作流 store),不经引擎。
66
+ * semantic:true 的活跃意图工作流时才会被调用:对 Gateway 提供的跨项目候选集做**一次**轻量
67
+ * LLM 分类(单发,非 agent turn)。本方法不读取 Workflow store
70
68
  * 无 LLM / 分类失败 → {matched:null}(放行进正常聊天,绝不拦死用户消息)。
71
69
  */
72
70
  export declare function handleAcpWorkflowMatchIntent(host: AcpExtendedHost, params: Record<string, unknown>): Promise<unknown>;
@@ -75,7 +73,6 @@ export declare function handleAcpProductPlan(host: AcpExtendedHost, params: Reco
75
73
  export declare function handleAcpProductConfirm(host: AcpExtendedHost, params: Record<string, unknown>): Promise<unknown>;
76
74
  export declare function handleAcpProductMessage(host: AcpExtendedHost, params: Record<string, unknown>): Promise<unknown>;
77
75
  export declare function handleAcpProductResume(host: AcpExtendedHost, params: Record<string, unknown>): Promise<unknown>;
78
- export declare function handleAcpProductStatus(host: AcpExtendedHost, params: Record<string, unknown>): Promise<unknown>;
79
76
  export declare function handleAcpProductPause(host: AcpExtendedHost, params: Record<string, unknown>): Promise<unknown>;
80
77
  export declare function handleAcpProductCancel(host: AcpExtendedHost, params: Record<string, unknown>): Promise<unknown>;
81
78
  export declare function handleAcpProductRollback(host: AcpExtendedHost, params: Record<string, unknown>): Promise<unknown>;
@@ -83,13 +80,11 @@ export declare function handleAcpProductReplay(host: AcpExtendedHost, params: Re
83
80
  /** Test-only reset. */
84
81
  export declare function __resetGoalHandler(): void;
85
82
  export declare function handleAcpGoalStart(host: AcpExtendedHost, params: Record<string, unknown>): Promise<unknown>;
86
- export declare function handleAcpGoalStatus(host: AcpExtendedHost, params: Record<string, unknown>): Promise<unknown>;
87
83
  export declare function handleAcpGoalPause(host: AcpExtendedHost, params: Record<string, unknown>): Promise<unknown>;
88
84
  export declare function handleAcpGoalResume(host: AcpExtendedHost, params: Record<string, unknown>): Promise<unknown>;
89
85
  export declare function handleAcpGoalUpdateGoal(host: AcpExtendedHost, params: Record<string, unknown>): Promise<unknown>;
90
86
  export declare function handleAcpGoalStop(host: AcpExtendedHost, params: Record<string, unknown>): Promise<unknown>;
91
87
  export declare function handleAcpGoalMessage(host: AcpExtendedHost, params: Record<string, unknown>): Promise<unknown>;
92
- export declare function handleAcpGoalEvents(host: AcpExtendedHost, params: Record<string, unknown>): Promise<unknown>;
93
88
  /** Test-only reset. */
94
89
  export declare function __resetSubscribers(): void;
95
90
  /** I6: drop a session from every stream's subscriber set on disconnect (called from session/close),
@@ -14,7 +14,7 @@ export interface AcpExtendedHostAdapterDeps {
14
14
  handleMcpToolCall(memberId: string, toolName: string, args: Record<string, unknown>): Promise<unknown>;
15
15
  resolveClientForPurpose: AcpExtendedHost["resolveClientForPurpose"];
16
16
  pendingAskUser: AcpExtendedHost["pendingAskUser"];
17
- /** 激活层(S3c):gateway-routed delegate 桥(懒读 AcpServer;缺省 = 旧委派路径)。 */
17
+ /** Lazily resolves the required Gateway delegate rail from AcpServer. */
18
18
  getDelegateBridge?: AcpExtendedHost["getDelegateBridge"];
19
19
  }
20
20
  export declare function createAcpExtendedHostAdapter(deps: AcpExtendedHostAdapterDeps): AcpExtendedHost;
@@ -4,8 +4,8 @@
4
4
  *
5
5
  * Deliberately NOTHING lands on disk here: a workflow bundle is a declarative graph, not an
6
6
  * executable artifact — applying it goes through the same `workflow.import` write path every
7
- * other bundle uses (validateWorkflowDef gate, project-scoped persistence, credential re-bind
8
- * checklist in the UI). This function only fetches + verifies + parses.
7
+ * other bundle uses (validateWorkflowDef gate, project-scoped persistence, and external
8
+ * connection reconfiguration in node/MCP settings). This function only fetches + verifies + parses.
9
9
  *
10
10
  * NOT the executable launcher-gate path: bundles carry no code; they run inside the engine's
11
11
  * restricted expression language under the D29/D30 permission gates, and applying one never
@@ -32,4 +32,10 @@ export interface DreamHandlerHost {
32
32
  sendResponse(id: string | number, result?: unknown, error?: AgentRpcError): void;
33
33
  }
34
34
  export declare function handleDream(this: DreamHandlerHost, msg: AgentRpcRequest): Promise<void>;
35
+ /**
36
+ * [B15] dream 后置维护三链:importance decay → 冲突消解/待定 claim 晋升 → 提案消费。
37
+ * 每次 dream 尝试后运行(不看 dream 成败;调用点见 handleDream),三链彼此错误隔离 ——
38
+ * 任一链失败只留 error 级日志,不阻断后续链。导出仅供单测钉行为,生产唯一调用方是 handleDream。
39
+ */
40
+ export declare function runPostDreamMaintenance(host: DreamHandlerHost, memoryRoot: string): Promise<void>;
35
41
  export {};
@@ -1,9 +1,7 @@
1
1
  import type { GoalLoopCoordinator } from "../../orchestration/goal-loop-coordinator.js";
2
- import type { GoalStatus } from "../../orchestration/goal-run-types.js";
3
2
  export declare class GoalHandler {
4
3
  private readonly coordinator;
5
- private readonly cwd;
6
- constructor(coordinator: GoalLoopCoordinator, cwd: string);
4
+ constructor(coordinator: GoalLoopCoordinator);
7
5
  start(params: {
8
6
  goal: string;
9
7
  cwd?: string;
@@ -12,9 +10,6 @@ export declare class GoalHandler {
12
10
  ok: true;
13
11
  goalRunId: string;
14
12
  }>;
15
- status(params: {
16
- goalRunId: string;
17
- }): Promise<GoalStatus>;
18
13
  message(params: {
19
14
  goalRunId: string;
20
15
  text: string;
@@ -44,11 +39,4 @@ export declare class GoalHandler {
44
39
  }): Promise<{
45
40
  ok: true;
46
41
  }>;
47
- events(params: {
48
- goalRunId: string;
49
- fromSeq?: number;
50
- limit?: number;
51
- }): Promise<{
52
- events: unknown[];
53
- }>;
54
42
  }
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Product mode handlers.
3
- * Handles: product.plan/confirm/message/create/resume/pause/checkpoint/status/list/delete/cancel/rollback/replay.
3
+ * Handles: product.plan/confirm/message/create/resume/pause/checkpoint/list/delete/cancel/rollback/replay.
4
4
  */
5
+ import type { ProductPlanningOwner } from "../../orchestration/product-planner.js";
5
6
  import { type AgentRpcError, type AgentRpcRequest } from "../../protocol/wire/index.js";
6
7
  import { type ProductCoordinatorHost } from "../product-coordinator.js";
7
8
  export type { ProductCoordinatorHost } from "../product-coordinator.js";
@@ -9,7 +10,7 @@ export interface ProductHandlerHost extends ProductCoordinatorHost {
9
10
  getActiveProjectRoot(): string;
10
11
  sendResponse(id: string | number, result?: unknown, error?: AgentRpcError): void;
11
12
  }
12
- export { productProjectMap, writeProductTerminalPlanStatus } from "../product-coordinator.js";
13
+ export { writeProductProjectPlanStatus } from "../product-coordinator.js";
13
14
  export declare function ensureProductOrchestrator(this: ProductCoordinatorHost): import("../../orchestration/agent-instance.js").ProductOrchestrator;
14
15
  export declare function ensureProductPlanner(this: ProductCoordinatorHost): import("../../orchestration/product-planner.js").ProductPlanner;
15
16
  /** `product.plan` - Start interactive planning with leader agent. */
@@ -26,10 +27,6 @@ export declare function handleProductResume(this: ProductHandlerHost, msg: Agent
26
27
  export declare function handleProductPause(this: ProductHandlerHost, msg: AgentRpcRequest): Promise<void>;
27
28
  /** `product.checkpoint` - Manual checkpoint. */
28
29
  export declare function handleProductCheckpoint(this: ProductHandlerHost, msg: AgentRpcRequest): Promise<void>;
29
- /** `product.status` - Query product status. */
30
- export declare function handleProductStatus(this: ProductHandlerHost, msg: AgentRpcRequest): Promise<void>;
31
- /** `product.list` - List all products. */
32
- export declare function handleProductList(this: ProductHandlerHost, msg: AgentRpcRequest): Promise<void>;
33
30
  export declare function handleProductDelete(this: ProductHandlerHost, msg: AgentRpcRequest): Promise<void>;
34
31
  /**
35
32
  * Cancel a product no matter which lifecycle phase it is in. The orchestrator only knows
@@ -44,10 +41,10 @@ export declare function handleProductDelete(this: ProductHandlerHost, msg: Agent
44
41
  * 3. If neither side has the product, resolve ok rather than throwing (cancel is best-effort).
45
42
  */
46
43
  export declare function cancelProductAnyPhase(orchestrator: {
47
- delete(productId: string): Promise<void>;
44
+ delete(productId: string, owner: ProductPlanningOwner): Promise<void>;
48
45
  }, planner: {
49
- cancel(productId: string): Promise<void>;
50
- }, productId: string): Promise<void>;
46
+ cancel(productId: string, owner: ProductPlanningOwner): Promise<void>;
47
+ }, productId: string, owner: ProductPlanningOwner): Promise<void>;
51
48
  /** `product.cancel` - Cancel a running product (handles both executing and planning phases). */
52
49
  export declare function handleProductCancel(this: ProductHandlerHost, msg: AgentRpcRequest): Promise<void>;
53
50
  /** `product.rollback` - Rollback a product to a checkpoint. */
@@ -1,28 +1,25 @@
1
1
  /**
2
2
  * Solo mode handlers — extracted from StdioServer.
3
- * Handles: solo.start, solo.status, solo.cancel, solo.select,
4
- * solo.list, solo.delete, solo.message, solo.evaluate
3
+ * Handles: solo.start, solo.cancel, solo.select,
4
+ * solo.delete, solo.message, solo.evaluate
5
5
  */
6
6
  import type { HostAgentProviderDirectory } from "../../runtime/infra/host-agent-provider-directory.js";
7
7
  import { SoloEvaluator } from "../../orchestration/solo-evaluator.js";
8
8
  import type { DelegateBridge } from "../../orchestration/delegate-bridge.js";
9
9
  import { type AgentRpcError, type AgentRpcRequest } from "../../protocol/wire/index.js";
10
- export declare const soloProjectMap: Map<string, string>;
11
10
  export interface SoloHandlerHost {
12
11
  soloEvaluator: SoloEvaluator | null;
13
12
  providerDirectory: HostAgentProviderDirectory;
14
13
  sendNotification(method: string, params: Record<string, unknown>): void;
15
14
  sendResponse(id: string | number, result?: unknown, error?: AgentRpcError): void;
16
15
  handleMcpToolCall(memberId: string, toolName: string, args: Record<string, unknown>): Promise<unknown>;
17
- /** 激活层(S3c §1.5):gateway-routed delegate 桥(懒读;未挂/gate = undefined → 旧本地 spawn 路径)。 */
16
+ /** Lazily resolves the required Gateway delegate rail. */
18
17
  getDelegateBridge?(): DelegateBridge | undefined;
19
18
  }
20
19
  export declare function ensureSoloEvaluator(this: SoloHandlerHost): SoloEvaluator;
21
20
  export declare function handleSoloStart(this: SoloHandlerHost, msg: AgentRpcRequest): Promise<void>;
22
- export declare function handleSoloStatus(this: SoloHandlerHost, msg: AgentRpcRequest): Promise<void>;
23
21
  export declare function handleSoloCancel(this: SoloHandlerHost, msg: AgentRpcRequest): Promise<void>;
24
22
  export declare function handleSoloSelect(this: SoloHandlerHost, msg: AgentRpcRequest): Promise<void>;
25
- export declare function handleSoloList(this: SoloHandlerHost, msg: AgentRpcRequest): void;
26
23
  export declare function handleSoloDelete(this: SoloHandlerHost, msg: AgentRpcRequest): Promise<void>;
27
24
  export declare function handleSoloMessage(this: SoloHandlerHost, msg: AgentRpcRequest): Promise<void>;
28
25
  export declare function handleSoloEvaluate(this: SoloHandlerHost, msg: AgentRpcRequest): Promise<void>;
@@ -4,5 +4,5 @@ export interface WorkflowComputeHandlerHost {
4
4
  toolCatalog?: ToolCatalog;
5
5
  sendResponse(id: string | number, result?: unknown, error?: AgentRpcError): void;
6
6
  }
7
- /** Stateless compute port. Workflow definitions, runs, credentials, and approvals remain gateway-owned. */
7
+ /** Stateless compute port. Workflow definitions, runs, and approvals remain gateway-owned; authentication is outside Workflow. */
8
8
  export declare function handleComputeToolInvoke(this: WorkflowComputeHandlerHost, msg: AgentRpcRequest): Promise<void>;
@@ -35,8 +35,6 @@ export interface RegisterMemoryRuntimeHooksDeps {
35
35
  } | null;
36
36
  /** Part B recall visibility: forwards turn.memory_recall to the client. */
37
37
  sendNotification?: (method: string, params: Record<string, unknown>) => void;
38
- /** V3.2 usage 仪表落盘目录(memory-hooks 记录 procedure 复用维度)。 */
39
- profileMemoryDir?: () => string;
40
38
  }
41
39
  export declare function registerMemoryRuntimeHooks(deps: RegisterMemoryRuntimeHooksDeps): MemoryProviderState;
42
40
  export interface RegisterMemoryToolDeps {
@@ -10,7 +10,7 @@ export interface MultiAgentHandlerHostDeps {
10
10
  log(message: string): void;
11
11
  sendNotification(method: string, params: Record<string, unknown>): void;
12
12
  sendResponse(id: string | number, result?: unknown, error?: AgentRpcError): void;
13
- /** 激活层(S3c):gateway-routed delegate 桥(懒读;未挂/gate = undefined 各旧本地 spawn 路径)。 */
13
+ /** Lazily resolves the required Gateway delegate rail. */
14
14
  getDelegateBridge?: ProductHandlerHost["getDelegateBridge"];
15
15
  }
16
16
  export declare function createMultiAgentHandlerHost(deps: MultiAgentHandlerHostDeps): MultiAgentHandlerHost;
@@ -12,6 +12,7 @@ export interface OrchestrationMemoryHost {
12
12
  memoryProvider?: {
13
13
  search(query: string, userId: string, options?: {
14
14
  limit?: number;
15
+ excludeTagGroups?: string[][];
15
16
  }): Promise<Array<{
16
17
  text: string;
17
18
  }>>;
@@ -8,17 +8,14 @@ export interface ProductCoordinatorHost {
8
8
  productPlanner: ProductPlanner | null;
9
9
  handleMcpToolCall(memberId: string, tool: string, args: Record<string, unknown>): Promise<unknown>;
10
10
  sendNotification(method: string, params: Record<string, unknown>): void;
11
- /** 激活层(S3c):gateway-routed delegate 桥(gate 关/未挂 = undefined 旧本地 spawn 路径)。 */
11
+ /** Lazily resolves the required Gateway delegate rail. */
12
12
  getDelegateBridge?(): DelegateBridge | undefined;
13
13
  }
14
- /** productId → 容器项目 id(R2 容器优先,与 solo-handler.soloProjectMap 对称)。终态回写用。
15
- * 定义在此(callbacks 所在文件)与 solo 对称;product-handler 再导出供 ACP 入口/测试引用。 */
16
- export declare const productProjectMap: Map<string, string>;
17
14
  /**
18
15
  * 终态回写 product 容器项目的 planStatus(比照 R1 solo onTerminal),并 re-push 项目使 历史方案
19
16
  * 刷新后留存。**仅当项目仍 "running" 时迁移**——避免"完成晚到覆盖取消"或反向覆盖(R1 cancel-clobber
20
17
  * 教训)。成功 → "completed";失败 → "failed";取消 → "cancelled"。
21
18
  */
22
- export declare function writeProductTerminalPlanStatus(host: ProductCoordinatorHost, productId: string, status: "completed" | "failed" | "cancelled"): Promise<void>;
19
+ export declare function writeProductProjectPlanStatus(host: ProductCoordinatorHost, projectId: string, status: "completed" | "failed" | "cancelled"): Promise<void>;
23
20
  export declare function ensureProductOrchestrator(host: ProductCoordinatorHost): ProductOrchestrator;
24
21
  export declare function ensureProductPlanner(host: ProductCoordinatorHost): ProductPlanner;
@@ -11,7 +11,6 @@ import { type TurnBaselineHandlerHost } from "./handlers/turn-baseline-handler.j
11
11
  import { type TurnControlHandlerHost } from "./handlers/turn-handler.js";
12
12
  import { type WorkingMaterialsHandlerHost } from "./handlers/working-materials-handler.js";
13
13
  import { type DreamHandlerHost } from "./handlers/dream-handler.js";
14
- import type { MultiAgentHandlerHost } from "./multi-agent-handler-host.js";
15
14
  export type RpcMethodHandler = (msg: AgentRpcRequest) => void | Promise<void>;
16
15
  /**
17
16
  * Per-domain host adapters the RPC registry binds handlers to. Each field is
@@ -54,7 +53,5 @@ export interface RpcHandlerHosts {
54
53
  turn: TurnControlHandlerHost;
55
54
  turnBaseline: TurnBaselineHandlerHost;
56
55
  workingMaterials: WorkingMaterialsHandlerHost;
57
- /** agents/solo/product are served by the multi-agent sub-host. */
58
- multiAgent: MultiAgentHandlerHost;
59
56
  }
60
57
  export declare function createRpcMethodRegistry(host: RpcHandlerHosts): ReadonlyMap<string, RpcMethodHandler>;
@@ -28,8 +28,6 @@ export interface RuntimeHookBootstrapDeps {
28
28
  apiKey: string;
29
29
  };
30
30
  sendNotification?(method: string, params: Record<string, unknown>): void;
31
- /** V3.2 usage 仪表落盘目录。 */
32
- profileMemoryDir?: () => string;
33
31
  }
34
32
  export interface RuntimeHookBootstrapResult {
35
33
  hooks: HookRegistry;
@@ -1,5 +1,6 @@
1
1
  import type { LLMRequest } from "../agent/types.js";
2
2
  import type { ModelPurpose } from "../runtime/infra/model-registry.js";
3
+ import type { MultiAgentHandlerHost } from "./multi-agent-handler-host.js";
3
4
  import type { RpcHandlerHosts } from "./rpc-registry.js";
4
5
  type DirectStdioRpcHost = RpcHandlerHosts["config"] & RpcHandlerHosts["control"] & RpcHandlerHosts["files"] & RpcHandlerHosts["skills"] & RpcHandlerHosts["community"] & {
5
6
  currentTurnId?: string;
@@ -9,7 +10,7 @@ type DirectStdioRpcHost = RpcHandlerHosts["config"] & RpcHandlerHosts["control"]
9
10
  projectMemoryStoreFactory: RpcHandlerHosts["memory"]["projectMemoryStoreFactory"];
10
11
  setActiveWorkdir(dir: string): void;
11
12
  getActiveProjectRoot(): string;
12
- readonly multiAgentHandlerHost: RpcHandlerHosts["multiAgent"];
13
+ readonly multiAgentHandlerHost: MultiAgentHandlerHost;
13
14
  };
14
15
  type StdioRpcAdapterSource = DirectStdioRpcHost & {
15
16
  ensureTaskDistillation(): import("./rpc-registry.js").TaskDistillationRpcSurface;
@@ -226,9 +226,8 @@ export declare class StdioServer {
226
226
  createDreamHandlerHost(): import("./handlers/dream-handler.js").DreamHandlerHost;
227
227
  private createAcpExtendedHandlerHost;
228
228
  /**
229
- * 激活层(S3c):gateway-routed delegate —— 懒读 AcpServer(server initialize 后才 init,故每次现读)。
230
- * gateway 声明 delegate 能力位(supportsDelegate)才放行 x/delegate;否则调用方(@mention coordinator /
231
- * workflow agent 节点 / 后续各机制 B spawn 点)走各自旧本地 spawn 路径(单轨保留,gate 关零回归)。
229
+ * Lazily resolve the AcpServer delegate because the server is initialized during handshake.
230
+ * Orchestration callers fail loud when the Host does not advertise delegate support.
232
231
  */
233
232
  private buildDelegateBridge;
234
233
  /**
@@ -12,7 +12,6 @@ import type { HostCapabilityClient } from "../transport/host-capability-client.j
12
12
  /** [A4] addProcedure 落库回执分类(见 TaskDistillationDeps.addProcedure)。 */
13
13
  export type AddProcedureOutcome = "created" | "merged" | "rejected" | "retryable-failure";
14
14
  export interface TaskDistillationDeps {
15
- profileMemoryDir: () => string;
16
15
  /** Gateway-owned skill authority. Missing service is fatal; local skill-store fallback is forbidden. */
17
16
  hostCapabilityClient: () => HostCapabilityClient | undefined;
18
17
  /** 签名 embedding;null=不可用(候选照存但不参与聚类,宁严勿松)。
@@ -82,8 +81,6 @@ export interface DistillPassResult {
82
81
  export declare class TaskDistillationCoordinator {
83
82
  private readonly deps;
84
83
  private readonly turnIndexBySession;
85
- /** 已通知过晋升的条目(进程内防重复打扰;跨重启重复通知无害) */
86
- private readonly promotionNotified;
87
84
  constructor(deps: TaskDistillationDeps);
88
85
  private requireCapability;
89
86
  /** 回合完成时采集候选。异步(embedding 网络调用),错误吞掉不碰回合主链。 */
@@ -543,21 +543,11 @@ export interface OnboardingState {
543
543
  startedAt?: string;
544
544
  completedAt?: string;
545
545
  }
546
- /** 开场行动卡(freeze §3.5:actor 必须显式声明,不再隐式=主程序,P3)。 */
547
- export interface ActionCard {
548
- id: string;
549
- label: string;
550
- actor: AgentId;
551
- }
552
546
  /** OnboardingService —— 首启"认识你"(spec §14,host-owned)。 */
553
547
  export interface OnboardingService {
554
548
  getState(ownerId: string): OnboardingState;
555
549
  advance(ownerId: string, step: string): OnboardingState;
556
550
  }
557
- /** ActionSurfaceService —— 开场行动卡(spec §14,host-owned)。 */
558
- export interface ActionSurfaceService {
559
- listActions(session: SessionContext): ActionCard[];
560
- }
561
551
  /**
562
552
  * GatewayDelegateRelay —— 机制 B 的 gateway-routed delegate 唯一入口(6 处 spawn 点改调这里,P4)。
563
553
  * 编排(小智)发 delegate → 网关解析 session/cred/capability → Supervisor.ensure+sendTurn → 事件回流。
@@ -13,4 +13,3 @@ export { StdioServer, type StdioServerConfig } from "./cli/stdio-server.js";
13
13
  export type { LLMTransport, LLMRequest, LLMChunk } from "./runtime/ports/index.js";
14
14
  export { createHookRegistry } from "./runtime/hooks/hook-registry.js";
15
15
  export { buildCnMirrorEnv, CN_MIRROR_ENV_KEYS } from "./config/cn-mirror.js";
16
- export { buildSkillInstruction, } from "./orchestration/index.js";