apt-mcp-agent-setup 3.5.35 → 3.5.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/bin/cli.js +1 -1
- package/build-input.json +220 -215
- package/bundle/NOTICES.md +0 -0
- package/bundle/core.enc +0 -0
- package/bundle/mcp-rules.enc +0 -0
- package/bundle/skills-aso.enc +0 -0
- package/bundle/skills-ba.enc +0 -0
- package/bundle/skills-base.enc +0 -0
- package/bundle/skills-be.enc +0 -0
- package/bundle/skills-design.enc +0 -0
- package/bundle/skills-fe.enc +0 -0
- package/bundle/skills-marketing.enc +0 -0
- package/bundle/skills-mobile.enc +0 -0
- package/bundle/skills-pm.enc +0 -0
- package/docs/technical-sources.md +7 -7
- package/integrity-manifest.json +172 -172
- package/package.json +1 -1
- package/release-check.js +30 -30
- package/src/backends/browser-tools.js +1 -1
- package/src/backends/index-cache-authority.js +1 -1
- package/src/backends/index-command.js +1 -1
- package/src/backends/index-contract.json +11 -11
- package/src/backends/index-maintenance.js +1 -1
- package/src/backends/index-store.js +1 -1
- package/src/backends/profiles.js +1 -1
- package/src/backends/review_graph.py +103 -103
- package/src/backends/source-discovery.js +1 -1
- package/src/core/admission-fence.js +1 -1
- package/src/core/aso-import.js +1 -1
- package/src/core/backend-lease-recovery.js +1 -1
- package/src/core/boot-evidence.js +1 -1
- package/src/core/caller-context.js +1 -1
- package/src/core/catalog.js +1 -1
- package/src/core/claude-caller-authority.js +1 -1
- package/src/core/claude-invocation.js +1 -1
- package/src/core/claude-launch-recovery.js +1 -1
- package/src/core/claude-native.js +1 -1
- package/src/core/claude-plan.js +1 -1
- package/src/core/claude-transcript-scan.js +1 -1
- package/src/core/claude-worker-transcript.js +1 -1
- package/src/core/codex-host-metadata.js +1 -1
- package/src/core/codex-transcript-receipt.js +1 -1
- package/src/core/connection-inspector.js +1 -1
- package/src/core/content-hash-cache.js +1 -1
- package/src/core/context-metrics.js +1 -1
- package/src/core/doctor.js +1 -1
- package/src/core/draining-completion.js +1 -1
- package/src/core/execution.js +1 -1
- package/src/core/git-context.js +1 -1
- package/src/core/hook-bridge.js +1 -1
- package/src/core/hook-diagnostics.js +1 -1
- package/src/core/hook-lease.js +1 -1
- package/src/core/host-adapters.js +1 -1
- package/src/core/interrupted-boot-transport-proof.js +1 -1
- package/src/core/interrupted-natural-closure-proof.js +1 -1
- package/src/core/interrupted-operation-audit.js +1 -1
- package/src/core/interrupted-transport-proof.js +1 -1
- package/src/core/ipc-envelope.js +1 -1
- package/src/core/legacy-retirement-proof.js +1 -1
- package/src/core/memory-scope.js +1 -1
- package/src/core/memory-store.js +1 -1
- package/src/core/model-inventory.js +1 -1
- package/src/core/model-routing.js +1 -1
- package/src/core/native-dispatch.js +1 -1
- package/src/core/native-receipt.js +1 -1
- package/src/core/native-retirement.js +1 -1
- package/src/core/node-version.js +1 -1
- package/src/core/npm-cli.js +1 -1
- package/src/core/owned-command-child.js +1 -1
- package/src/core/owned-command.js +1 -1
- package/src/core/owned-lock.js +1 -1
- package/src/core/owned-process.js +1 -1
- package/src/core/pipeline-journal.js +1 -1
- package/src/core/presentations.js +1 -1
- package/src/core/quality-artifacts.js +1 -1
- package/src/core/quality.js +1 -1
- package/src/core/read-command.js +1 -1
- package/src/core/readonly-skill.js +1 -1
- package/src/core/recovery-archive.js +1 -1
- package/src/core/recovery-proof.js +1 -1
- package/src/core/resource-transaction.js +1 -1
- package/src/core/run-checkpoint.js +1 -1
- package/src/core/run-compatibility.js +1 -1
- package/src/core/run-state-codec.js +1 -1
- package/src/core/runtime-authority.js +1 -1
- package/src/core/runtime-info.js +1 -1
- package/src/core/runtime-ownership.js +1 -1
- package/src/core/session.js +1 -1
- package/src/core/shared-checkout.js +1 -1
- package/src/core/skill-companions.js +1 -1
- package/src/core/skill-names.js +1 -1
- package/src/core/storage-retry.js +1 -1
- package/src/core/tool-contracts.js +1 -1
- package/src/core/transport-boot-contract.json +12 -12
- package/src/core/transport-close-contract.json +10 -10
- package/src/core/transport-contract.json +10 -10
- package/src/core/transport-pending-boot-contract.json +12 -12
- package/src/core/update-control.js +1 -1
- package/src/core/upgrade-runs.js +1 -1
- package/src/core/upgrade-stop.js +1 -1
- package/src/core/windows-job.js +1 -1
- package/src/core/workflow-policy.js +1 -1
- package/src/core/workspace-generation.js +1 -1
- package/src/core/workspace-path.js +1 -1
- package/src/installer/bounded-command.js +1 -1
- package/src/installer/candidate-preflight.js +1 -1
- package/src/installer/claude-commands.js +1 -1
- package/src/installer/connection-activation.js +1 -1
- package/src/installer/connection-supervisor.js +1 -1
- package/src/installer/deployment-draft.js +1 -1
- package/src/installer/gateway-context.js +1 -1
- package/src/installer/gateway-migration.js +1 -1
- package/src/installer/gateway-runtime.js +1 -1
- package/src/installer/global-setup.js +1 -1
- package/src/installer/hook-context-client.js +1 -1
- package/src/installer/hook-dispatcher.js +179 -179
- package/src/installer/host-hooks.js +1 -1
- package/src/installer/index-interruption-recovery.js +1 -1
- package/src/installer/index-recovery.js +1 -1
- package/src/installer/install-intent.js +1 -1
- package/src/installer/interrupted-operation-recovery.js +1 -1
- package/src/installer/legacy-prepared-plan.js +1 -1
- package/src/installer/legacy-registration.js +1 -1
- package/src/installer/managed-config.js +1 -1
- package/src/installer/migration-scope.js +1 -1
- package/src/installer/platform-config.js +1 -1
- package/src/installer/prerequisites.js +1 -1
- package/src/installer/presentations.js +1 -1
- package/src/installer/project-outcome.js +1 -1
- package/src/installer/project-setup.js +1 -1
- package/src/installer/recovery-backup-retention.js +1 -1
- package/src/installer/registration-closure.js +1 -1
- package/src/installer/registration-plan.js +1 -1
- package/src/installer/registration-receipt.js +1 -1
- package/src/installer/registrations.js +1 -1
- package/src/installer/runtime-activation.js +1 -1
- package/src/installer/runtime-child.js +1 -1
- package/src/installer/runtime-cleanup.js +1 -1
- package/src/installer/runtime-lock.js +1 -1
- package/src/installer/runtime-store.js +1 -1
- package/src/installer/runtime-supervisor.js +1 -1
- package/src/installer/setup-wizard.js +1 -1
- package/src/installer/stale-run-release.js +1 -1
- package/src/installer/update-addons.js +1 -1
- package/src/installer/update-cleanup.js +1 -1
- package/src/installer/update-executor.js +1 -1
- package/src/installer/update-history.js +1 -1
- package/src/installer/update-registration.js +1 -1
- package/src/installer/update-report.js +1 -1
- package/src/installer/update-request.js +1 -1
- package/src/installer/update-scope.js +1 -1
- package/src/installer/workspace-registry.js +1 -1
- package/src/installer/workspace-transaction.js +1 -1
- package/src/installer/workspace-update.js +1 -1
- package/src/license/crypto.js +1 -1
- package/src/license/fingerprint.js +1 -1
- package/src/license/terms.js +1 -1
- package/src/license/verify.js +1 -1
- package/src/presets/index.js +1 -1
- package/src/proxy/backends.js +1 -1
- package/src/proxy/browser-sessions.js +1 -1
- package/src/proxy/core-tools.js +1 -1
- package/src/proxy/pipeline.js +1 -1
- package/src/proxy/public-catalog.js +1 -1
- package/src/proxy/router.config.js +1 -1
- package/src/proxy/router.js +1 -1
- package/src/proxy/run-summary.js +1 -1
- package/src/proxy/server.js +1 -1
- package/src/proxy/workspace-gateway.js +1 -1
- package/src/templates/apt-runtime.md +3 -2
- package/src/templates/mcp-tools.md +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const _0x13ab78=_0x5b1d;(function(_0x29ed78,_0x5478f7){const _0x4e2cc9=_0x5b1d,_0x9b742=_0x29ed78();while(!![]){try{const _0x50bc4c=parseInt(_0x4e2cc9(0x1ca))/0x1*(parseInt(_0x4e2cc9(0x1eb))/0x2)+-parseInt(_0x4e2cc9(0x1fa))/0x3*(parseInt(_0x4e2cc9(0x20b))/0x4)+parseInt(_0x4e2cc9(0x1b8))/0x5*(parseInt(_0x4e2cc9(0x200))/0x6)+parseInt(_0x4e2cc9(0x1fe))/0x7*(parseInt(_0x4e2cc9(0x1e5))/0x8)+parseInt(_0x4e2cc9(0x1ea))/0x9+parseInt(_0x4e2cc9(0x1c7))/0xa+-parseInt(_0x4e2cc9(0x17f))/0xb;if(_0x50bc4c===_0x5478f7)break;else _0x9b742['push'](_0x9b742['shift']());}catch(_0x202005){_0x9b742['push'](_0x9b742['shift']());}}}(_0x3ced,0xca3ad));const crypto=require(_0x13ab78(0x182)),{WorkspaceRegistry}=require(_0x13ab78(0x1d8)),{gatewayCatalog}=require(_0x13ab78(0x1be)),{sameWorkspace}=require(_0x13ab78(0x18b)),contracts=require(_0x13ab78(0x1d4)),fail=(_0x3b3d13,_0x3bf414=_0x3b3d13)=>{const _0x5f2af8=_0x13ab78,_0x27e782={};_0x27e782[_0x5f2af8(0x1d9)]=_0x3b3d13;throw Object[_0x5f2af8(0x1a0)](new Error(_0x3bf414),_0x27e782);},content=_0x37fd65=>({'content':[{'type':_0x13ab78(0x1f2),'text':JSON[_0x13ab78(0x1b0)](_0x37fd65)}]});function _0x5b1d(_0x4f4585,_0x210866){_0x4f4585=_0x4f4585-0x17e;const _0x3ced0f=_0x3ced();let _0x5b1d27=_0x3ced0f[_0x4f4585];if(_0x5b1d['lGNKOZ']===undefined){var _0x19674=function(_0x50c5c5){const _0x21caf6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3b998b='',_0x363b8b='';for(let _0x345a87=0x0,_0x19a5b3,_0x422c97,_0x384452=0x0;_0x422c97=_0x50c5c5['charAt'](_0x384452++);~_0x422c97&&(_0x19a5b3=_0x345a87%0x4?_0x19a5b3*0x40+_0x422c97:_0x422c97,_0x345a87++%0x4)?_0x3b998b+=String['fromCharCode'](0xff&_0x19a5b3>>(-0x2*_0x345a87&0x6)):0x0){_0x422c97=_0x21caf6['indexOf'](_0x422c97);}for(let _0x450fe9=0x0,_0x4e1a59=_0x3b998b['length'];_0x450fe9<_0x4e1a59;_0x450fe9++){_0x363b8b+='%'+('00'+_0x3b998b['charCodeAt'](_0x450fe9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x363b8b);};_0x5b1d['ENpVAX']=_0x19674,_0x5b1d['XVBodo']={},_0x5b1d['lGNKOZ']=!![];}const _0x511342=_0x3ced0f[0x0],_0x3f23ac=_0x4f4585+_0x511342,_0x2a0a7e=_0x5b1d['XVBodo'][_0x3f23ac];return!_0x2a0a7e?(_0x5b1d27=_0x5b1d['ENpVAX'](_0x5b1d27),_0x5b1d['XVBodo'][_0x3f23ac]=_0x5b1d27):_0x5b1d27=_0x2a0a7e,_0x5b1d27;}function validateIdentity(_0x4807b9){const _0x1fcf61=_0x13ab78,_0x50784c={};_0x50784c[_0x1fcf61(0x1d2)]=contracts[_0x1fcf61(0x1d2)],_0x50784c[_0x1fcf61(0x1da)]=contracts[_0x1fcf61(0x1da)],_0x50784c['task']=contracts[_0x1fcf61(0x1f1)],_0x50784c[_0x1fcf61(0x1ba)]=contracts[_0x1fcf61(0x1ba)];for(const [_0x32e7c3,_0x1162e0]of Object[_0x1fcf61(0x1bf)](_0x50784c)){if(_0x4807b9[_0x32e7c3]===undefined)continue;const _0x1030aa=_0x4807b9[_0x32e7c3];if(typeof _0x1030aa!==_0x1fcf61(0x209)||!_0x1030aa[_0x1fcf61(0x1ab)]()||_0x1030aa[_0x1fcf61(0x195)]>_0x1162e0[_0x1fcf61(0x1a2)]||_0x1162e0[_0x1fcf61(0x1b5)]&&!new RegExp(_0x1162e0[_0x1fcf61(0x1b5)])[_0x1fcf61(0x1a8)](_0x1030aa))fail(_0x1fcf61(0x1dd)+_0x32e7c3[_0x1fcf61(0x180)](/([a-z])([A-Z])/g,_0x1fcf61(0x190))[_0x1fcf61(0x1fb)](),_0x1162e0[_0x1fcf61(0x203)]);}}class WorkspaceGateway{constructor(_0x239ca4={}){const _0x4ceb7f=_0x13ab78;this[_0x4ceb7f(0x204)]=_0x239ca4[_0x4ceb7f(0x204)]||new WorkspaceRegistry(),this[_0x4ceb7f(0x1e3)]=_0x239ca4[_0x4ceb7f(0x1e3)],this['host']=_0x239ca4[_0x4ceb7f(0x1cb)]||null,this[_0x4ceb7f(0x18d)]=_0x239ca4[_0x4ceb7f(0x18d)]||crypto[_0x4ceb7f(0x206)](),this[_0x4ceb7f(0x20c)]=new Map(),this[_0x4ceb7f(0x1e9)]=new Map(),this[_0x4ceb7f(0x1c0)]=new Map(),this[_0x4ceb7f(0x1aa)]=gatewayCatalog(),this[_0x4ceb7f(0x19d)]=_0x239ca4[_0x4ceb7f(0x19d)]||(()=>{}),this[_0x4ceb7f(0x19e)]=null,this['stopped']=![];}async['bind'](_0x5e73a3,_0x444508={}){const _0x2ccfbc=_0x13ab78;_0x444508[_0x2ccfbc(0x1ef)]?.[_0x2ccfbc(0x1a3)]();if(!_0x5e73a3['sessionId'])fail(_0x2ccfbc(0x1d3),_0x2ccfbc(0x1f4));const _0x17bc89=this[_0x2ccfbc(0x20c)][_0x2ccfbc(0x1e7)](_0x5e73a3[_0x2ccfbc(0x1d2)]);if(_0x17bc89&&!_0x5e73a3[_0x2ccfbc(0x1dc)]&&!_0x5e73a3[_0x2ccfbc(0x1b9)])return _0x17bc89;const _0x523fd6=this[_0x2ccfbc(0x1e9)][_0x2ccfbc(0x1e7)](_0x5e73a3['sessionId']);if(_0x523fd6&&!_0x5e73a3[_0x2ccfbc(0x1dc)]&&!_0x5e73a3['workspacePath'])return _0x523fd6[_0x2ccfbc(0x1e0)];const _0x525b90=this[_0x2ccfbc(0x204)][_0x2ccfbc(0x1b3)](_0x5e73a3,{'host':this[_0x2ccfbc(0x1cb)]});if(_0x5e73a3['bindingToken'])this[_0x2ccfbc(0x1b1)](_0x5e73a3[_0x2ccfbc(0x19f)],_0x525b90[_0x2ccfbc(0x1dc)]);if(_0x17bc89){if(!sameWorkspace(_0x525b90[_0x2ccfbc(0x1ce)],_0x17bc89[_0x2ccfbc(0x1ce)]))fail(_0x2ccfbc(0x184));return _0x17bc89;}if(this['initializing']['has'](_0x5e73a3[_0x2ccfbc(0x1d2)])){const _0x380d24=this[_0x2ccfbc(0x1e9)][_0x2ccfbc(0x1e7)](_0x5e73a3[_0x2ccfbc(0x1d2)]);if(!sameWorkspace(_0x380d24[_0x2ccfbc(0x1ce)],_0x525b90['workspace']))fail(_0x2ccfbc(0x184));return _0x380d24[_0x2ccfbc(0x1e0)];}const _0x52c8bd={};_0x52c8bd[_0x2ccfbc(0x18d)]=this[_0x2ccfbc(0x18d)],_0x52c8bd['sessionId']=_0x5e73a3[_0x2ccfbc(0x1d2)],_0x52c8bd[_0x2ccfbc(0x1ce)]=_0x525b90['workspace'],_0x52c8bd['workspaceId']=_0x525b90['workspaceId'],_0x52c8bd[_0x2ccfbc(0x1de)]=_0x2ccfbc(0x192),_0x52c8bd[_0x2ccfbc(0x19b)]=_0x2ccfbc(0x196),_0x52c8bd['nativeIdentity']=_0x2ccfbc(0x20a);const _0x472260=_0x52c8bd,_0x19f021=((async()=>{const _0x735c86=_0x2ccfbc;if(typeof this['runtimeFactory']!==_0x735c86(0x1a7))fail('GATEWAY_RUNTIME_UNAVAILABLE');const _0x3d3c2c=_0x525b90[_0x735c86(0x186)]?.[this[_0x735c86(0x1cb)]]||{},_0x25fabc=await this['runtimeFactory'](_0x472260,this[_0x735c86(0x19e)]||{},_0x3d3c2c);try{if(_0x444508[_0x735c86(0x1ef)])await require(_0x735c86(0x1a5))[_0x735c86(0x205)](_0x444508['lease']);}catch(_0x47c92f){await _0x25fabc[_0x735c86(0x1ed)]();throw _0x47c92f;}this[_0x735c86(0x208)]&&(await _0x25fabc['close'](),fail(_0x735c86(0x210)));const _0xa50267={..._0x472260};_0xa50267[_0x735c86(0x1ac)]=_0x25fabc,_0xa50267[_0x735c86(0x1fd)]=_0x3d3c2c;const _0x355e20=_0xa50267;return _0x444508[_0x735c86(0x1ef)]?.['assertCurrent'](),this[_0x735c86(0x20c)][_0x735c86(0x1bc)](_0x5e73a3[_0x735c86(0x1d2)],_0x355e20),_0x355e20;})()),_0x1cbe10={};_0x1cbe10['workspace']=_0x525b90['workspace'],_0x1cbe10[_0x2ccfbc(0x1e0)]=_0x19f021,this['initializing'][_0x2ccfbc(0x1bc)](_0x5e73a3[_0x2ccfbc(0x1d2)],_0x1cbe10);try{return await _0x19f021;}finally{this[_0x2ccfbc(0x1e9)][_0x2ccfbc(0x1c1)](_0x5e73a3[_0x2ccfbc(0x1d2)]);}}[_0x13ab78(0x1c2)](_0xd6b3bd){const _0x32da92=_0x13ab78;for(const [_0x196f07,_0x25eb53]of this[_0x32da92(0x1c0)])if(_0x25eb53[_0x32da92(0x1c6)]<Date[_0x32da92(0x1e8)]())this[_0x32da92(0x1c0)]['delete'](_0x196f07);if(this['bindingSelections'][_0x32da92(0x17e)]>=0x1000)fail('GATEWAY_SELECTION_LIMIT');const _0x5cf96d=this[_0x32da92(0x18d)]+'.'+crypto['randomBytes'](0x20)[_0x32da92(0x199)]('base64url');this[_0x32da92(0x1c0)][_0x32da92(0x1bc)](_0x5cf96d,{'workspaceId':_0xd6b3bd[_0x32da92(0x1dc)],'expiresAt':Date['now']()+0xdbba0});const _0x2d40b7={};return _0x2d40b7[_0x32da92(0x1dc)]=_0xd6b3bd['workspaceId'],_0x2d40b7['workspace']=_0xd6b3bd[_0x32da92(0x1ce)],_0x2d40b7['bindingToken']=_0x5cf96d,_0x2d40b7;}[_0x13ab78(0x1b1)](_0x184941,_0x531300){const _0x1b81a3=_0x13ab78,_0x539684=this[_0x1b81a3(0x1c0)][_0x1b81a3(0x1e7)](_0x184941);if(!_0x539684||_0x539684[_0x1b81a3(0x1c6)]<Date[_0x1b81a3(0x1e8)]()||_0x539684[_0x1b81a3(0x1dc)]!==_0x531300)fail(_0x1b81a3(0x207),_0x1b81a3(0x1b7));return _0x539684;}[_0x13ab78(0x1c8)](_0x543111){const _0x4dffad=_0x13ab78;let _0x4db9ff;if(_0x543111['sessionId'])_0x4db9ff=this[_0x4dffad(0x20c)]['get'](_0x543111[_0x4dffad(0x1d2)]);else{if(this['sessions']['size']===0x1)_0x4db9ff=this[_0x4dffad(0x20c)][_0x4dffad(0x1d0)]()[_0x4dffad(0x181)]()[_0x4dffad(0x1a4)];else{if(this['sessions'][_0x4dffad(0x17e)]>0x1)fail('WORKSPACE_AMBIGUOUS',_0x4dffad(0x1c4));}}if(!_0x4db9ff)fail(_0x4dffad(0x1d7),_0x4dffad(0x1ad));if(_0x543111[_0x4dffad(0x1dc)]||_0x543111[_0x4dffad(0x1b9)]){const _0x33ccf0=this[_0x4dffad(0x204)]['resolve'](_0x543111,{'host':this['host']});if(!sameWorkspace(_0x33ccf0[_0x4dffad(0x1ce)],_0x4db9ff[_0x4dffad(0x1ce)]))fail(_0x4dffad(0x184));}if(_0x543111['projectPath']&&!sameWorkspace(_0x543111[_0x4dffad(0x19c)],_0x4db9ff[_0x4dffad(0x1ce)]))fail(_0x4dffad(0x184));return _0x4db9ff;}async['handle'](_0x4a8cd2){const _0x1f13d0=_0x13ab78;if(this[_0x1f13d0(0x208)])fail('GATEWAY_CLOSED');const {id:_0x33e760,method:_0x5d8ef4,params:params={}}=_0x4a8cd2,_0x11d7a0=_0x24ecb6=>({'jsonrpc':_0x1f13d0(0x1a9),'id':_0x33e760,'result':_0x24ecb6});if(_0x5d8ef4==='initialize'||_0x5d8ef4===_0x1f13d0(0x202)){const _0x107d84=[_0x1f13d0(0x20f),_0x1f13d0(0x1c5),_0x1f13d0(0x191),_0x1f13d0(0x189)],_0x3b3851=_0x107d84[_0x1f13d0(0x1bd)](params[_0x1f13d0(0x1e4)])?params['protocolVersion']:_0x107d84['at'](-0x1),_0x3bf875={...params};_0x3bf875[_0x1f13d0(0x1e4)]=_0x3b3851,this[_0x1f13d0(0x19e)]=_0x3bf875;const _0x25b429={};_0x25b429[_0x1f13d0(0x198)]=!![];const _0x3d39dc={};return _0x3d39dc['tools']=_0x25b429,_0x11d7a0({'protocolVersion':_0x3b3851,'capabilities':_0x3d39dc,'serverInfo':{'name':_0x1f13d0(0x192),'version':require(_0x1f13d0(0x1db))[_0x1f13d0(0x1e1)]},'instructions':_0x1f13d0(0x20e)});}if(_0x5d8ef4==='tools/list')return _0x11d7a0({'tools':structuredClone(this[_0x1f13d0(0x1aa)])});if(_0x5d8ef4===_0x1f13d0(0x185))return _0x11d7a0({});if(_0x5d8ef4===_0x1f13d0(0x193))return null;const _0x3b00c2={};_0x3b00c2[_0x1f13d0(0x1d9)]=-0x7f59,_0x3b00c2[_0x1f13d0(0x18c)]='Method\x20not\x20found';if(_0x5d8ef4!=='tools/call')return _0x33e760===undefined?null:{'jsonrpc':_0x1f13d0(0x1a9),'id':_0x33e760,'error':_0x3b00c2};try{const _0x17613d=params['arguments']||{};if(Array[_0x1f13d0(0x188)](_0x17613d)||typeof _0x17613d!==_0x1f13d0(0x194))fail(_0x1f13d0(0x1cc));validateIdentity(_0x17613d);if(params[_0x1f13d0(0x1d1)]!==_0x1f13d0(0x1af)&¶ms['name']!=='mcp_agent_health'&&require(_0x1f13d0(0x1a1))['sensitiveTool'](params[_0x1f13d0(0x1d1)])&&!_0x17613d[_0x1f13d0(0x1d2)])fail(_0x1f13d0(0x1d3),'Mutations\x20require\x20the\x20explicitly\x20bound\x20sessionId.');const _0x23a76f=this['catalog'][_0x1f13d0(0x1e6)](_0x204666=>_0x204666[_0x1f13d0(0x1d1)]===params[_0x1f13d0(0x1d1)]);if(!_0x23a76f){const _0x3357dd=require(_0x1f13d0(0x1ee))[_0x1f13d0(0x19a)](params[_0x1f13d0(0x1d1)]);if(_0x3357dd&&_0x3357dd[_0x1f13d0(0x1ae)]!==_0x1f13d0(0x1f8)){const _0x568038={};_0x568038[_0x1f13d0(0x1ae)]=_0x3357dd[_0x1f13d0(0x1ae)],_0x568038[_0x1f13d0(0x1d2)]=_0x17613d[_0x1f13d0(0x1d2)];const _0x559108={};_0x559108[_0x1f13d0(0x20d)]=_0x1f13d0(0x1f3),_0x559108[_0x1f13d0(0x1ec)]=_0x568038;const _0x194551={};_0x194551['code']=_0x1f13d0(0x18a),_0x194551[_0x1f13d0(0x1f7)]=_0x559108;const _0x38619d=Object[_0x1f13d0(0x1a0)](new Error('This\x20addon\x20needs\x20intentional\x20catalog\x20discovery;\x20call\x20mcp_agent_health\x20with\x20its\x20backend\x20and\x20sessionId.'),_0x194551);throw _0x38619d;}fail(_0x1f13d0(0x1df),'This\x20gateway\x20has\x20no\x20verified\x20catalog\x20for\x20that\x20tool.');}if(params[_0x1f13d0(0x1d1)]==='workspace_list')return _0x11d7a0(content({'workspaces':this[_0x1f13d0(0x204)][_0x1f13d0(0x1a6)]()[_0x1f13d0(0x1d6)](_0x1e6dbb=>!this['host']||_0x1e6dbb[_0x1f13d0(0x1e2)][_0x1f13d0(0x1bd)](this[_0x1f13d0(0x1cb)]))['map'](_0x146c5e=>this[_0x1f13d0(0x1c2)](_0x146c5e)),'connectionId':this[_0x1f13d0(0x18d)]}));if(params[_0x1f13d0(0x1d1)]===_0x1f13d0(0x1f3)&&!_0x17613d[_0x1f13d0(0x1d2)]&&!_0x17613d[_0x1f13d0(0x1ae)])return _0x11d7a0(content({'registration':_0x1f13d0(0x192),'connectionId':this[_0x1f13d0(0x18d)],'boundSessions':this[_0x1f13d0(0x20c)][_0x1f13d0(0x17e)],'backendsStartedByDiscovery':0x0,'serving':'gateway','version':require(_0x1f13d0(0x1db))[_0x1f13d0(0x1e1)]}));for(const _0x51203e of _0x23a76f[_0x1f13d0(0x18e)][_0x1f13d0(0x1c3)]||[])if(_0x17613d[_0x51203e]===undefined&&_0x51203e!==_0x1f13d0(0x1d2))fail('MISSING_'+_0x51203e[_0x1f13d0(0x180)](/([a-z])([A-Z])/g,_0x1f13d0(0x190))[_0x1f13d0(0x1fb)](),'Required\x20field:\x20'+_0x51203e+'.');const _0x574067=params[_0x1f13d0(0x1d1)]===_0x1f13d0(0x1b4)?await this['bind'](_0x17613d):this['selected'](_0x17613d);if(_0x574067['profile']?.[_0x1f13d0(0x1d5)]?.[params[_0x1f13d0(0x1d1)]]?.[_0x1f13d0(0x197)]===![])fail('PROJECT_TOOL_DISABLED');const _0x35ba16={..._0x17613d};_0x35ba16[_0x1f13d0(0x1d2)]=_0x574067['sessionId'];const _0xebe790=_0x35ba16,_0x2bb189={...params};_0x2bb189['arguments']=_0xebe790;const _0x18cd1d={..._0x4a8cd2};_0x18cd1d[_0x1f13d0(0x18f)]=_0x2bb189;const _0x452589=await _0x574067[_0x1f13d0(0x1ac)][_0x1f13d0(0x1f6)](_0x18cd1d);if(params['name']==='mcp_agent_health'&&_0x17613d[_0x1f13d0(0x1ae)]&&!_0x452589['isError']){const _0x215bda={};_0x215bda[_0x1f13d0(0x187)]=_0x1f13d0(0x1cd),_0x215bda[_0x1f13d0(0x18f)]={};const _0x342915=await _0x574067['runtime'][_0x1f13d0(0x1f6)](_0x215bda);let _0x1b2b6e=![];for(const _0x2444be of _0x342915[_0x1f13d0(0x1d5)]||[]){if(require(_0x1f13d0(0x1ee))[_0x1f13d0(0x19a)](_0x2444be['name'])?.[_0x1f13d0(0x1ae)]!==_0x17613d[_0x1f13d0(0x1ae)])continue;const _0x3bdb3e=require('./public-catalog')[_0x1f13d0(0x183)](structuredClone(_0x2444be)),_0x20b818=this[_0x1f13d0(0x1aa)]['find'](_0x25df1d=>_0x25df1d[_0x1f13d0(0x1d1)]===_0x3bdb3e['name']);if(_0x20b818&&JSON[_0x1f13d0(0x1b0)](_0x20b818[_0x1f13d0(0x18e)])!==JSON['stringify'](_0x3bdb3e['inputSchema']))fail(_0x1f13d0(0x1b6));!_0x20b818&&(this['catalog'][_0x1f13d0(0x1bb)](_0x3bdb3e),_0x1b2b6e=!![]);}if(_0x1b2b6e)this['onCatalogChanged']();}return _0x11d7a0(_0x452589);}catch(_0x6c1bcc){const _0x372460={};return _0x372460['tool']='workspace_list',_0x372460[_0x1f13d0(0x1f5)]=_0x1f13d0(0x1b4),_0x372460[_0x1f13d0(0x1c3)]=[_0x1f13d0(0x1d2),_0x1f13d0(0x1dc)],_0x11d7a0({...content({'success':![],'code':_0x6c1bcc[_0x1f13d0(0x1d9)]||_0x1f13d0(0x1cf),'error':_0x6c1bcc['message'],'recovery':_0x6c1bcc[_0x1f13d0(0x1f7)]||([_0x1f13d0(0x1d7),'WORKSPACE_AMBIGUOUS',_0x1f13d0(0x1f0)][_0x1f13d0(0x1bd)](_0x6c1bcc[_0x1f13d0(0x1d9)])?_0x372460:undefined)}),'isError':!![]});}}async['close'](){const _0x5ae668=_0x13ab78;this[_0x5ae668(0x208)]=!![],await Promise[_0x5ae668(0x1b2)]([...this['initializing'][_0x5ae668(0x1d0)]()][_0x5ae668(0x1c9)](_0x4a6e5f=>_0x4a6e5f['promise']));const _0xc02d78=await Promise[_0x5ae668(0x1b2)]([...this[_0x5ae668(0x20c)][_0x5ae668(0x1d0)]()][_0x5ae668(0x1c9)](_0x173efb=>_0x173efb[_0x5ae668(0x1ac)][_0x5ae668(0x1ed)]())),_0x3b2592=_0xc02d78[_0x5ae668(0x1e6)](_0x9eb183=>_0x9eb183[_0x5ae668(0x1f9)]===_0x5ae668(0x1fc));if(_0x3b2592)throw _0x3b2592['reason'];this[_0x5ae668(0x20c)][_0x5ae668(0x1ff)]();}}const _0x2e0f72={};_0x2e0f72[_0x13ab78(0x201)]=WorkspaceGateway,_0x2e0f72['validateIdentity']=validateIdentity,module['exports']=_0x2e0f72;function _0x3ced(){const _0x4eea88=['y29Kzq','CMvXDwvZDeLK','lI4VlI4VCgfJA2fNzs5QC29U','D29YA3nWywnLswq','su5wquXjrf8','CMvNAxn0CMf0Aw9U','ve9ptf9ot1rFqvzbsuXbqKXf','ChjVBwLZzq','DMvYC2LVBG','Ag9ZDhm','CNvUDgLTzuzHy3rVCNK','ChjVDg9JB2XwzxjZAw9U','mtGZmdu3nM5ssevdyW','zMLUza','z2v0','BM93','Aw5PDgLHBgL6Aw5N','odi5oti1mwjyturlAq','mM5hq0jUtW','yxjNDw1LBNrZ','y2XVC2u','lI9YB3v0zxi','BgvHC2u','v09ss1nqqunfx05pvf9sruDju1rfuKve','DgfZAW','Dgv4Da','BwnWx2fNzw50x2HLywX0Aa','ugfZCYb0AguGC2fTzsbUB25LBxb0EsbZzxnZAw9UswqGDgHYB3vNAg91Dcb0AgLZignOyxqU','DgHLBG','CMvXDwvZDa','CMvJB3zLCNK','x2j1AwX0Aw4','C3rHDhvZ','mJCZodfVy2XQDNe','Dg9vChbLCKnHC2u','CMvQzwn0zwq','ChjVzMLSzq','mJHXD0nkAgK','y2XLyxi','nLrUuvH4Bq','v29YA3nWywnLr2f0zxDHEq','C2vYDMvYl2rPC2nVDMvY','zgvZy3jPChrPB24','CMvNAxn0CNK','B2jZzxj2zuHVB2Tdyw5JzwXSyxrPB24','CMfUzg9Tvvvjra','r0furvDbwv9truXfq1rjt05FuKvrvuLsruq','C3rVChbLza','C3rYAw5N','Dw5JB25MAxjTzwq','mZy0uxvtquDK','C2vZC2LVBNm','Dg9VBa','t25LiefqvcbNyxrLD2f5ihnLCNzLCYbPBNn0ywXSzwqGChjVAMvJDhmUienHBgWGD29YA3nWywnLx2XPC3qSihrOzw4GC2vZC2LVBL9IB290C3rYyxaGD2L0Acb5B3vYihnLC3nPB25jzcbHBMqGDgHLihbYB2PLy3qGD29YA3nWywnLswqUiefSD2f5CYbWyxnZihrOyxqGC2vZC2LVBKLKig9Uihn1yNnLCxvLBNqGy2fSBhmUie5LDMvYigjPBMqGAg9TzsbVCIbZzwXLy3qGysbWCM9Qzwn0igzYB20GCMvJzw5JEs4','mJaYnc0Xms0Wnq','r0furvDbwv9dte9truq','C2L6zq','mtyWmty1mJHJwwDywK8','CMvWBgfJzq','BMv4Da','BM9KztPJCNLWDg8','zgvJB3jHDgvhyxrLD2f5vg9VBa','v09ss1nqqunfx0jjtKrjtKDFq09orKXjq1q','CgLUzW','ChjVzMLSzxm','Bwv0Ag9K','AxnbCNjHEq','mJaYns0Xms0Ynq','qKfds0vorf9dqvrbte9hx0rju0npvKvswv9srvfvsvjfra','lI4Vy29Yzs93B3jRC3bHy2uTCgf0Aa','BwvZC2fNzq','y29UBMvJDgLVBKLK','Aw5WDxrty2HLBwe','CgfYyw1Z','jdfFjdi','mJaYns0WnI0Xoa','yxb0lw1JCc1Hz2vUDa','BM90AwzPy2f0Aw9UCY9PBML0AwfSAxPLza','B2jQzwn0','BgvUz3rO','y2fSBgvYlxnLBgvJDgvK','zw5HyMXLza','BgLZDenOyw5Nzwq','Dg9tDhjPBMC','BwfWrxHWB3nLzfrVt3jPz2LUywW','ChjVDMvUyw5Jzq','ChjVAMvJDfbHDgG','B25dyxrHBg9Nq2HHBMDLza','Aw5PDgLHBgL6zq','yMLUzgLUz1rVA2vU','yxnZAwDU','lI4Vy29Yzs9JywXSzxiTy29UDgv4Da','Bwf4tgvUz3rO','yxnZzxj0q3vYCMvUDa','DMfSDwu','lI4Vy29Yzs9OB29RlwXLyxnL','BgLZDa','zNvUy3rPB24','DgvZDa','mI4W','y2f0ywXVzW','DhjPBq','CNvUDgLTzq','q2fSBcb3B3jRC3bHy2vFBgLZDcWGDgHLBIbZzxnZAw9Ux2jVB3rZDhjHCcb3AxrOihnLC3nPB25jzcbHBMqGD29YA3nWywnLswqU','yMfJA2vUza','D29YA3nWywnLx2XPC3q','C3rYAw5NAwz5','DMvYAwz5u2vSzwn0Aw9U','ywXSu2v0DgXLza','CMvZB2X2zq','C2vZC2LVBL9IB290C3rYyxa','Cgf0DgvYBG','q0fuquXpr19tq0HftufFq09orKXjq1q','q2fSBcb3B3jRC3bHy2vFBgLZDcbVBIb0AgLZignVBM5Ly3rPB24Gyw5KihvZzsbPDhmGy3vYCMvUDcbIAw5KAw5Nvg9Rzw4U','mta0ndKWuvnvCK9N','D29YA3nWywnLugf0Aa','CNvUswq','ChvZAa','C2v0','Aw5JBhvKzxm','lI9WDwjSAwmTy2f0ywXVzW','zw50CMLLCW','yMLUzgLUz1nLBgvJDgLVBNm','zgvSzxrL','C2vSzwn0Aw9U','CMvXDwLYzwq','ugfZCYbZzxnZAw9Uswq7ihrOAxmGy29UBMvJDgLVBIbZzxj2zxmGBxvSDgLWBguGChjVAMvJDcbZzxnZAw9UCY4','mJaYns0WmY0YnG','zxHWAxjLC0f0','nZyWodiWwhbpqMPm','C2vSzwn0zwq','BwfW','mte4mduZmwn6y1LTDG','Ag9ZDa','su5wquXjrf9buKDvtuvovfm','Dg9VBhmVBgLZDa','D29YA3nWywnL','r0furvDbwv9srvfvrvnux0zbsuXfra','DMfSDwvZ','BMfTzq','C2vZC2LVBKLK','u0vtu0LptL9jrf9srvfvsvjfra','lI4Vy29Yzs90B29SlwnVBNrYywn0CW','Dg9VBhm','zMLSDgvY','v09ss1nqqunfx0jjtKrjtKDFuKvrvuLsruq','lI4VAw5ZDgfSBgvYl3DVCMTZCgfJzs1YzwDPC3rYEq'];_0x3ced=function(){return _0x4eea88;};return _0x3ced();}
|
|
1
|
+
'use strict';const _0xa28fd7=_0x116e;function _0x116e(_0x3c7ae8,_0x196869){_0x3c7ae8=_0x3c7ae8-0x16a;const _0xd02111=_0xd021();let _0x116e90=_0xd02111[_0x3c7ae8];if(_0x116e['PGJKIa']===undefined){var _0x230747=function(_0x4a5d98){const _0x55ddea='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x305e7a='',_0x2a985d='';for(let _0x3930a4=0x0,_0x5470ac,_0xe6bb7a,_0xa0ff92=0x0;_0xe6bb7a=_0x4a5d98['charAt'](_0xa0ff92++);~_0xe6bb7a&&(_0x5470ac=_0x3930a4%0x4?_0x5470ac*0x40+_0xe6bb7a:_0xe6bb7a,_0x3930a4++%0x4)?_0x305e7a+=String['fromCharCode'](0xff&_0x5470ac>>(-0x2*_0x3930a4&0x6)):0x0){_0xe6bb7a=_0x55ddea['indexOf'](_0xe6bb7a);}for(let _0x53f6da=0x0,_0x2ca61c=_0x305e7a['length'];_0x53f6da<_0x2ca61c;_0x53f6da++){_0x2a985d+='%'+('00'+_0x305e7a['charCodeAt'](_0x53f6da)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2a985d);};_0x116e['svYFlI']=_0x230747,_0x116e['XefkoK']={},_0x116e['PGJKIa']=!![];}const _0x54cd25=_0xd02111[0x0],_0x214f8a=_0x3c7ae8+_0x54cd25,_0x4d7253=_0x116e['XefkoK'][_0x214f8a];return!_0x4d7253?(_0x116e90=_0x116e['svYFlI'](_0x116e90),_0x116e['XefkoK'][_0x214f8a]=_0x116e90):_0x116e90=_0x4d7253,_0x116e90;}(function(_0x2852c5,_0x10a704){const _0x261bd0=_0x116e,_0x23b184=_0x2852c5();while(!![]){try{const _0x2dc314=-parseInt(_0x261bd0(0x1ce))/0x1*(-parseInt(_0x261bd0(0x1eb))/0x2)+parseInt(_0x261bd0(0x1c3))/0x3*(parseInt(_0x261bd0(0x16f))/0x4)+parseInt(_0x261bd0(0x1a9))/0x5*(parseInt(_0x261bd0(0x1b3))/0x6)+parseInt(_0x261bd0(0x1bd))/0x7*(-parseInt(_0x261bd0(0x1f2))/0x8)+-parseInt(_0x261bd0(0x1d1))/0x9*(-parseInt(_0x261bd0(0x1af))/0xa)+parseInt(_0x261bd0(0x188))/0xb+-parseInt(_0x261bd0(0x19f))/0xc;if(_0x2dc314===_0x10a704)break;else _0x23b184['push'](_0x23b184['shift']());}catch(_0x1b05c4){_0x23b184['push'](_0x23b184['shift']());}}}(_0xd021,0x27e97));const crypto=require(_0xa28fd7(0x17d)),{WorkspaceRegistry}=require(_0xa28fd7(0x171)),{gatewayCatalog}=require('./public-catalog'),{sameWorkspace}=require(_0xa28fd7(0x16c)),contracts=require('../core/tool-contracts'),fail=(_0x265593,_0x32d5f4=_0x265593)=>{const _0x11dd9d=_0xa28fd7,_0x2b4056={};_0x2b4056[_0x11dd9d(0x174)]=_0x265593;throw Object[_0x11dd9d(0x1c7)](new Error(_0x32d5f4),_0x2b4056);},content=_0x3db56c=>({'content':[{'type':_0xa28fd7(0x197),'text':JSON[_0xa28fd7(0x18d)](_0x3db56c)}]});function validateIdentity(_0x43e581){const _0x2c16d3=_0xa28fd7,_0x2e043e={};_0x2e043e[_0x2c16d3(0x1fd)]=contracts['sessionId'],_0x2e043e[_0x2c16d3(0x201)]=contracts[_0x2c16d3(0x201)],_0x2e043e[_0x2c16d3(0x1f4)]=contracts[_0x2c16d3(0x1f4)],_0x2e043e[_0x2c16d3(0x1c1)]=contracts['runId'];for(const [_0x363b5c,_0x1c057c]of Object[_0x2c16d3(0x193)](_0x2e043e)){if(_0x43e581[_0x363b5c]===undefined)continue;const _0x4e0b65=_0x43e581[_0x363b5c];if(typeof _0x4e0b65!==_0x2c16d3(0x19d)||!_0x4e0b65[_0x2c16d3(0x1ff)]()||_0x4e0b65[_0x2c16d3(0x176)]>_0x1c057c['maxLength']||_0x1c057c[_0x2c16d3(0x1f9)]&&!new RegExp(_0x1c057c['pattern'])[_0x2c16d3(0x1fe)](_0x4e0b65))fail(_0x2c16d3(0x1cd)+_0x363b5c[_0x2c16d3(0x1b7)](/([a-z])([A-Z])/g,'$1_$2')[_0x2c16d3(0x1ac)](),_0x1c057c[_0x2c16d3(0x1de)]);}}class WorkspaceGateway{constructor(_0xfc9d6={}){const _0x516651=_0xa28fd7;this[_0x516651(0x198)]=_0xfc9d6[_0x516651(0x198)]||new WorkspaceRegistry(),this[_0x516651(0x1fa)]=_0xfc9d6[_0x516651(0x1fa)],this[_0x516651(0x1a2)]=_0xfc9d6['host']||null,this[_0x516651(0x181)]=_0xfc9d6['connectionId']||crypto[_0x516651(0x16b)](),this['sessions']=new Map(),this[_0x516651(0x1e8)]=new Map(),this['bindingSelections']=new Map(),this[_0x516651(0x1b6)]=gatewayCatalog(),this[_0x516651(0x1c5)]=_0xfc9d6['onCatalogChanged']||(()=>{}),this[_0x516651(0x19c)]=null,this[_0x516651(0x190)]=![];}async[_0xa28fd7(0x1d8)](_0x3e06c7,_0x5cb777={}){const _0x189b35=_0xa28fd7;_0x5cb777[_0x189b35(0x1f0)]?.[_0x189b35(0x19a)]();if(!_0x3e06c7[_0x189b35(0x1fd)])fail('SESSION_ID_REQUIRED',_0x189b35(0x1d2));const _0xa1b9a=this[_0x189b35(0x1e3)][_0x189b35(0x187)](_0x3e06c7[_0x189b35(0x1fd)]);if(_0xa1b9a&&!_0x3e06c7['workspaceId']&&!_0x3e06c7['workspacePath'])return _0xa1b9a;const _0x147505=this[_0x189b35(0x1e8)][_0x189b35(0x187)](_0x3e06c7[_0x189b35(0x1fd)]);if(_0x147505&&!_0x3e06c7[_0x189b35(0x17a)]&&!_0x3e06c7['workspacePath'])return _0x147505[_0x189b35(0x196)];const _0x2b1b37=this[_0x189b35(0x198)]['resolve'](_0x3e06c7,{'host':this[_0x189b35(0x1a2)]});if(_0x3e06c7[_0x189b35(0x194)])this[_0x189b35(0x1b4)](_0x3e06c7[_0x189b35(0x194)],_0x2b1b37[_0x189b35(0x17a)]);if(_0xa1b9a){if(!sameWorkspace(_0x2b1b37['workspace'],_0xa1b9a[_0x189b35(0x191)]))fail(_0x189b35(0x1d0));return _0xa1b9a;}if(this[_0x189b35(0x1e8)]['has'](_0x3e06c7['sessionId'])){const _0x7269c4=this[_0x189b35(0x1e8)][_0x189b35(0x187)](_0x3e06c7[_0x189b35(0x1fd)]);if(!sameWorkspace(_0x7269c4['workspace'],_0x2b1b37['workspace']))fail('WORKSPACE_BINDING_CONFLICT');return _0x7269c4[_0x189b35(0x196)];}const _0x29c355={};_0x29c355['connectionId']=this[_0x189b35(0x181)],_0x29c355[_0x189b35(0x1fd)]=_0x3e06c7[_0x189b35(0x1fd)],_0x29c355[_0x189b35(0x191)]=_0x2b1b37[_0x189b35(0x191)],_0x29c355[_0x189b35(0x17a)]=_0x2b1b37[_0x189b35(0x17a)],_0x29c355[_0x189b35(0x17e)]='apt-mcp-agent',_0x29c355[_0x189b35(0x1e9)]=_0x189b35(0x1d9),_0x29c355['nativeIdentity']=_0x189b35(0x183);const _0x2b1a65=_0x29c355,_0xc82931=((async()=>{const _0x101509=_0x189b35;if(typeof this[_0x101509(0x1fa)]!=='function')fail('GATEWAY_RUNTIME_UNAVAILABLE');const _0x349f68=_0x2b1b37[_0x101509(0x17c)]?.[this[_0x101509(0x1a2)]]||{},_0x1fdabf=await this[_0x101509(0x1fa)](_0x2b1a65,this[_0x101509(0x19c)]||{},_0x349f68);try{if(_0x5cb777[_0x101509(0x1f0)])await require(_0x101509(0x1a7))[_0x101509(0x19e)](_0x5cb777['lease']);}catch(_0x5d41ff){await _0x1fdabf[_0x101509(0x18e)]();throw _0x5d41ff;}this[_0x101509(0x190)]&&(await _0x1fdabf['close'](),fail(_0x101509(0x1a1)));const _0x970fdb={..._0x2b1a65};_0x970fdb['runtime']=_0x1fdabf,_0x970fdb[_0x101509(0x182)]=_0x349f68;const _0x48f1dd=_0x970fdb;return _0x5cb777[_0x101509(0x1f0)]?.[_0x101509(0x19a)](),this[_0x101509(0x1e3)][_0x101509(0x1dd)](_0x3e06c7[_0x101509(0x1fd)],_0x48f1dd),_0x48f1dd;})()),_0x2ee35f={};_0x2ee35f[_0x189b35(0x191)]=_0x2b1b37[_0x189b35(0x191)],_0x2ee35f[_0x189b35(0x196)]=_0xc82931,this[_0x189b35(0x1e8)][_0x189b35(0x1dd)](_0x3e06c7[_0x189b35(0x1fd)],_0x2ee35f);try{return await _0xc82931;}finally{this['initializing']['delete'](_0x3e06c7[_0x189b35(0x1fd)]);}}['selection'](_0x11a728){const _0x550f4b=_0xa28fd7;for(const [_0x4316ca,_0x566d01]of this['bindingSelections'])if(_0x566d01[_0x550f4b(0x19b)]<Date[_0x550f4b(0x1b8)]())this[_0x550f4b(0x1d5)][_0x550f4b(0x1c4)](_0x4316ca);if(this[_0x550f4b(0x1d5)][_0x550f4b(0x1aa)]>=0x1000)fail(_0x550f4b(0x170));const _0x36102c=this[_0x550f4b(0x181)]+'.'+crypto['randomBytes'](0x20)[_0x550f4b(0x202)]('base64url');this[_0x550f4b(0x1d5)][_0x550f4b(0x1dd)](_0x36102c,{'workspaceId':_0x11a728[_0x550f4b(0x17a)],'expiresAt':Date[_0x550f4b(0x1b8)]()+0xdbba0});const _0x56f979={};return _0x56f979['workspaceId']=_0x11a728[_0x550f4b(0x17a)],_0x56f979[_0x550f4b(0x191)]=_0x11a728[_0x550f4b(0x191)],_0x56f979[_0x550f4b(0x194)]=_0x36102c,_0x56f979;}[_0xa28fd7(0x1b4)](_0x5e0526,_0x4edd0d){const _0x161a4b=_0xa28fd7,_0x67fadc=this[_0x161a4b(0x1d5)]['get'](_0x5e0526);if(!_0x67fadc||_0x67fadc['expiresAt']<Date['now']()||_0x67fadc[_0x161a4b(0x17a)]!==_0x4edd0d)fail(_0x161a4b(0x189),_0x161a4b(0x1f8));return _0x67fadc;}['selected'](_0x297966){const _0x2122aa=_0xa28fd7;let _0x59d83f;if(_0x297966['sessionId'])_0x59d83f=this[_0x2122aa(0x1e3)][_0x2122aa(0x187)](_0x297966[_0x2122aa(0x1fd)]);else{if(this[_0x2122aa(0x1e3)][_0x2122aa(0x1aa)]===0x1)_0x59d83f=this['sessions'][_0x2122aa(0x1ee)]()[_0x2122aa(0x1a4)]()[_0x2122aa(0x1ed)];else{if(this[_0x2122aa(0x1e3)][_0x2122aa(0x1aa)]>0x1)fail(_0x2122aa(0x1bc),_0x2122aa(0x199));}}if(!_0x59d83f)fail(_0x2122aa(0x173),_0x2122aa(0x1f3));if(_0x297966['workspaceId']||_0x297966[_0x2122aa(0x1ab)]){const _0x12d7d0=this['registry'][_0x2122aa(0x1a3)](_0x297966,{'host':this[_0x2122aa(0x1a2)]});if(!sameWorkspace(_0x12d7d0[_0x2122aa(0x191)],_0x59d83f[_0x2122aa(0x191)]))fail(_0x2122aa(0x1d0));}if(_0x297966['projectPath']&&!sameWorkspace(_0x297966[_0x2122aa(0x1b9)],_0x59d83f[_0x2122aa(0x191)]))fail('WORKSPACE_BINDING_CONFLICT');return _0x59d83f;}async[_0xa28fd7(0x1be)](_0x4e1d5c){const _0x6a3d2a=_0xa28fd7;if(this['stopped'])fail('GATEWAY_CLOSED');const {id:_0x419ce5,method:_0x499be0,params:params={}}=_0x4e1d5c,_0x2b8414=_0x2a8ea2=>({'jsonrpc':_0x6a3d2a(0x1e4),'id':_0x419ce5,'result':_0x2a8ea2});if(_0x499be0===_0x6a3d2a(0x19c)||_0x499be0==='server/discover'){const _0x3f4b24=[_0x6a3d2a(0x1db),_0x6a3d2a(0x1c0),'2025-06-18',_0x6a3d2a(0x172)],_0x5eff83=_0x3f4b24[_0x6a3d2a(0x1dc)](params['protocolVersion'])?params['protocolVersion']:_0x3f4b24['at'](-0x1),_0x3f63c2={...params};_0x3f63c2[_0x6a3d2a(0x18c)]=_0x5eff83,this[_0x6a3d2a(0x19c)]=_0x3f63c2;const _0x2618e7={};_0x2618e7[_0x6a3d2a(0x16e)]=!![];const _0x3e29a7={};return _0x3e29a7[_0x6a3d2a(0x1e1)]=_0x2618e7,_0x2b8414({'protocolVersion':_0x5eff83,'capabilities':_0x3e29a7,'serverInfo':{'name':_0x6a3d2a(0x1cc),'version':require(_0x6a3d2a(0x1e7))[_0x6a3d2a(0x186)]},'instructions':_0x6a3d2a(0x1a8)});}if(_0x499be0===_0x6a3d2a(0x1ec))return _0x2b8414({'tools':structuredClone(this[_0x6a3d2a(0x1b6)])});if(_0x499be0===_0x6a3d2a(0x1d3))return _0x2b8414({});if(_0x499be0===_0x6a3d2a(0x1fc))return null;const _0x2a7c69={};_0x2a7c69[_0x6a3d2a(0x174)]=-0x7f59,_0x2a7c69[_0x6a3d2a(0x1d7)]=_0x6a3d2a(0x1b2);if(_0x499be0!=='tools/call')return _0x419ce5===undefined?null:{'jsonrpc':_0x6a3d2a(0x1e4),'id':_0x419ce5,'error':_0x2a7c69};try{const _0x5e827d=params[_0x6a3d2a(0x1c8)]||{};if(Array[_0x6a3d2a(0x1ef)](_0x5e827d)||typeof _0x5e827d!==_0x6a3d2a(0x18b))fail(_0x6a3d2a(0x18a));validateIdentity(_0x5e827d);if(params['name']!==_0x6a3d2a(0x178)&¶ms[_0x6a3d2a(0x177)]!==_0x6a3d2a(0x1ba)&&require(_0x6a3d2a(0x1f6))[_0x6a3d2a(0x1b5)](params[_0x6a3d2a(0x177)])&&!_0x5e827d[_0x6a3d2a(0x1fd)])fail(_0x6a3d2a(0x1cf),_0x6a3d2a(0x185));const _0x2005cb=this[_0x6a3d2a(0x1b6)]['find'](_0x1d69a6=>_0x1d69a6[_0x6a3d2a(0x177)]===params['name']);if(!_0x2005cb){const _0x12331c=require(_0x6a3d2a(0x1ca))[_0x6a3d2a(0x16a)](params[_0x6a3d2a(0x177)]);if(_0x12331c&&_0x12331c[_0x6a3d2a(0x175)]!==_0x6a3d2a(0x200)){const _0x2ea16f={};_0x2ea16f[_0x6a3d2a(0x175)]=_0x12331c[_0x6a3d2a(0x175)],_0x2ea16f[_0x6a3d2a(0x1fd)]=_0x5e827d[_0x6a3d2a(0x1fd)];const _0x1accd0={};_0x1accd0[_0x6a3d2a(0x1f7)]=_0x6a3d2a(0x1ba),_0x1accd0[_0x6a3d2a(0x1c8)]=_0x2ea16f;const _0x1c6f18={};_0x1c6f18['code']=_0x6a3d2a(0x17b),_0x1c6f18[_0x6a3d2a(0x1d6)]=_0x1accd0;const _0x468165=Object[_0x6a3d2a(0x1c7)](new Error(_0x6a3d2a(0x1f5)),_0x1c6f18);throw _0x468165;}fail('TOOL_NOT_AVAILABLE',_0x6a3d2a(0x1ad));}if(params[_0x6a3d2a(0x177)]==='workspace_list')return _0x2b8414(content({'workspaces':this[_0x6a3d2a(0x198)][_0x6a3d2a(0x1f1)]()[_0x6a3d2a(0x1c2)](_0x1c1b2d=>!this[_0x6a3d2a(0x1a2)]||_0x1c1b2d[_0x6a3d2a(0x1fb)][_0x6a3d2a(0x1dc)](this['host']))[_0x6a3d2a(0x184)](_0xc7487=>this[_0x6a3d2a(0x1a0)](_0xc7487)),'connectionId':this[_0x6a3d2a(0x181)]}));if(params['name']==='mcp_agent_health'&&!_0x5e827d[_0x6a3d2a(0x1fd)]&&!_0x5e827d[_0x6a3d2a(0x175)])return _0x2b8414(content({'registration':_0x6a3d2a(0x1cc),'connectionId':this['connectionId'],'boundSessions':this[_0x6a3d2a(0x1e3)][_0x6a3d2a(0x1aa)],'backendsStartedByDiscovery':0x0,'serving':_0x6a3d2a(0x1b0),'version':require(_0x6a3d2a(0x1e7))[_0x6a3d2a(0x186)]}));for(const _0x4af759 of _0x2005cb[_0x6a3d2a(0x17f)][_0x6a3d2a(0x1e0)]||[])if(_0x5e827d[_0x4af759]===undefined&&_0x4af759!=='sessionId')fail(_0x6a3d2a(0x180)+_0x4af759[_0x6a3d2a(0x1b7)](/([a-z])([A-Z])/g,_0x6a3d2a(0x1bb))['toUpperCase'](),_0x6a3d2a(0x1e2)+_0x4af759+'.');const _0x15f133=params[_0x6a3d2a(0x177)]===_0x6a3d2a(0x1ae)?await this['bind'](_0x5e827d):this[_0x6a3d2a(0x1a5)](_0x5e827d);if(_0x15f133[_0x6a3d2a(0x182)]?.[_0x6a3d2a(0x1e1)]?.[params[_0x6a3d2a(0x177)]]?.['enabled']===![])fail('PROJECT_TOOL_DISABLED');const _0x4ec2cf={..._0x5e827d};_0x4ec2cf['sessionId']=_0x15f133['sessionId'];const _0x215c27=_0x4ec2cf,_0x2a9cee={...params};_0x2a9cee[_0x6a3d2a(0x1c8)]=_0x215c27;const _0x43ef39={..._0x4e1d5c};_0x43ef39[_0x6a3d2a(0x1bf)]=_0x2a9cee;const _0x3d12e2=await _0x15f133[_0x6a3d2a(0x1df)][_0x6a3d2a(0x1a6)](_0x43ef39);if(params[_0x6a3d2a(0x177)]===_0x6a3d2a(0x1ba)&&_0x5e827d[_0x6a3d2a(0x175)]&&!_0x3d12e2['isError']){const _0x47faa7={};_0x47faa7[_0x6a3d2a(0x1ea)]=_0x6a3d2a(0x1ec),_0x47faa7[_0x6a3d2a(0x1bf)]={};const _0x599f26=await _0x15f133[_0x6a3d2a(0x1df)]['request'](_0x47faa7);let _0x18407c=![];for(const _0xc78b78 of _0x599f26[_0x6a3d2a(0x1e1)]||[]){if(require(_0x6a3d2a(0x1ca))[_0x6a3d2a(0x16a)](_0xc78b78[_0x6a3d2a(0x177)])?.['backend']!==_0x5e827d[_0x6a3d2a(0x175)])continue;const _0x212977=require(_0x6a3d2a(0x1da))['decorateGatewayTool'](structuredClone(_0xc78b78)),_0x3f6dab=this['catalog'][_0x6a3d2a(0x195)](_0xfda4bb=>_0xfda4bb['name']===_0x212977['name']);if(_0x3f6dab&&JSON['stringify'](_0x3f6dab[_0x6a3d2a(0x17f)])!==JSON[_0x6a3d2a(0x18d)](_0x212977[_0x6a3d2a(0x17f)]))fail(_0x6a3d2a(0x1d4));!_0x3f6dab&&(this[_0x6a3d2a(0x1b6)][_0x6a3d2a(0x1e5)](_0x212977),_0x18407c=!![]);}if(_0x18407c)this[_0x6a3d2a(0x1c5)]();}return _0x2b8414(_0x3d12e2);}catch(_0x583519){const _0x3e2757={};return _0x3e2757['tool']=_0x6a3d2a(0x178),_0x3e2757[_0x6a3d2a(0x18f)]=_0x6a3d2a(0x1ae),_0x3e2757[_0x6a3d2a(0x1e0)]=['sessionId','workspaceId'],_0x2b8414({...content({'success':![],'code':_0x583519['code']||_0x6a3d2a(0x1cb),'error':_0x583519[_0x6a3d2a(0x1d7)],'recovery':_0x583519[_0x6a3d2a(0x1d6)]||([_0x6a3d2a(0x173),_0x6a3d2a(0x1bc),_0x6a3d2a(0x1b1)]['includes'](_0x583519[_0x6a3d2a(0x174)])?_0x3e2757:undefined)}),'isError':!![]});}}async[_0xa28fd7(0x18e)](){const _0x2bc1db=_0xa28fd7;this[_0x2bc1db(0x190)]=!![],await Promise[_0x2bc1db(0x1c9)]([...this[_0x2bc1db(0x1e8)][_0x2bc1db(0x1ee)]()][_0x2bc1db(0x184)](_0x3216e1=>_0x3216e1['promise']));const _0x13c5a7=await Promise[_0x2bc1db(0x1c9)]([...this[_0x2bc1db(0x1e3)][_0x2bc1db(0x1ee)]()][_0x2bc1db(0x184)](_0x30c691=>_0x30c691['runtime'][_0x2bc1db(0x18e)]())),_0x36649d=_0x13c5a7[_0x2bc1db(0x195)](_0x12755f=>_0x12755f[_0x2bc1db(0x1e6)]===_0x2bc1db(0x179));if(_0x36649d)throw _0x36649d['reason'];this[_0x2bc1db(0x1e3)][_0x2bc1db(0x16d)]();}}const _0x3d25cc={};function _0xd021(){const _0x47d3dc=['tuLtu0Lor18','y29UBMvJDgLVBKLK','ChjVzMLSzq','Dw5JB25MAxjTzwq','BwfW','txv0yxrPB25ZihjLCxvPCMuGDgHLigv4CgXPy2L0BhKGyM91BMqGC2vZC2LVBKLKlG','DMvYC2LVBG','z2v0','mJC2mJq5nKLqEvHwEa','r0furvDbwv9truXfq1rjt05FuKvrvuLsruq','su5wquXjrf9buKDvtuvovfm','B2jQzwn0','ChjVDg9JB2XwzxjZAw9U','C3rYAw5NAwz5','y2XVC2u','DgHLBG','C3rVChbLza','D29YA3nWywnL','DMfSAwrHDgvjzgvUDgL0Eq','zw50CMLLCW','yMLUzgLUz1rVA2vU','zMLUza','ChjVBwLZzq','Dgv4Da','CMvNAxn0CNK','ugfZCYbZzxnZAw9Uswq7ihrOAxmGy29UBMvJDgLVBIbZzxj2zxmGBxvSDgLWBguGChjVAMvJDcbZzxnZAw9UCY4','yxnZzxj0q3vYCMvUDa','zxHWAxjLC0f0','Aw5PDgLHBgL6zq','C3rYAw5N','B2jZzxj2zuHVB2Tdyw5JzwXSyxrPB24','ndG3mtuWofrmrg93tW','C2vSzwn0Aw9U','r0furvDbwv9dte9truq','Ag9ZDa','CMvZB2X2zq','BMv4Da','C2vSzwn0zwq','CMvXDwvZDa','lI4Vy29Yzs9OB29RlwXLyxnL','t25LiefqvcbNyxrLD2f5ihnLCNzLCYbPBNn0ywXSzwqGChjVAMvJDhmUienHBgWGD29YA3nWywnLx2XPC3qSihrOzw4GC2vZC2LVBL9IB290C3rYyxaGD2L0Acb5B3vYihnLC3nPB25jzcbHBMqGDgHLihbYB2PLy3qGD29YA3nWywnLswqUiefSD2f5CYbWyxnZihrOyxqGC2vZC2LVBKLKig9Uihn1yNnLCxvLBNqGy2fSBhmUie5LDMvYigjPBMqGAg9TzsbVCIbZzwXLy3qGysbWCM9Qzwn0igzYB20GCMvJzw5JEs4','mtbjwMjoAvm','C2L6zq','D29YA3nWywnLugf0Aa','Dg9vChbLCKnHC2u','vgHPCYbNyxrLD2f5igHHCYbUBYb2zxjPzMLLzcbJyxrHBg9NigzVCIb0Agf0ihrVB2WU','C2vZC2LVBL9IB290C3rYyxa','mtb1Agflrgm','z2f0zxDHEq','v09ss1nqqunfx05pvf9sruDju1rfuKve','twv0Ag9Kig5VDcbMB3vUza','mtC5nJGYsgvqswDQ','DMvYAwz5u2vSzwn0Aw9U','C2vUC2L0AxzLvg9VBa','y2f0ywXVzW','CMvWBgfJzq','BM93','ChjVAMvJDfbHDgG','BwnWx2fNzw50x2HLywX0Aa','jdfFjdi','v09ss1nqqunfx0fnqKLhvu9vuW','mteYwvfiEu9v','AgfUzgXL','CgfYyw1Z','mJaYns0WmY0YnG','CNvUswq','zMLSDgvY','m2nlvKzqEa','zgvSzxrL','B25dyxrHBg9Nq2HHBMDLza','v29YA3nWywnLr2f0zxDHEq','yxnZAwDU','yxjNDw1LBNrZ','ywXSu2v0DgXLza','lI9YB3v0zxi','r0furvDbwv9srvfvrvnux0zbsuXfra','yxb0lw1JCc1Hz2vUDa','su5wquXjrf8','mtqZntroC3fNqxi','u0vtu0LptL9jrf9srvfvsvjfra','v09ss1nqqunfx0jjtKrjtKDFq09orKXjq1q','ndqYmZe0v3HhrK1X','ugfZCYb0AguGC2fTzsbUB25LBxb0EsbZzxnZAw9UswqGDgHYB3vNAg91Dcb0AgLZignOyxqU','CgLUzW','q0fuquXpr19tq0HftufFq09orKXjq1q','yMLUzgLUz1nLBgvJDgLVBNm','CMvJB3zLCNK','BwvZC2fNzq','yMLUza','y2fSBgvYlxnLBgvJDgvK','lI9WDwjSAwmTy2f0ywXVzW','mJaYnc0Xms0Wnq','Aw5JBhvKzxm','C2v0','zgvZy3jPChrPB24','CNvUDgLTzq','CMvXDwLYzwq','Dg9VBhm','uMvXDwLYzwqGzMLLBgq6ia','C2vZC2LVBNm','mI4W','ChvZAa','C3rHDhvZ','lI4VlI4VCgfJA2fNzs5QC29U','Aw5PDgLHBgL6Aw5N','ChjVDMvUyw5Jzq','Bwv0Ag9K','mJjKzwLHzxK','Dg9VBhmVBgLZDa','DMfSDwu','DMfSDwvZ','AxnbCNjHEq','BgvHC2u','BgLZDa','mZu0nZjJDe5XqNK','q2fSBcb3B3jRC3bHy2vFBgLZDcWGDgHLBIbZzxnZAw9Ux2jVB3rZDhjHCcb3AxrOihnLC3nPB25jzcbHBMqGD29YA3nWywnLswqU','DgfZAW','vgHPCYbHzgrVBIbUzwvKCYbPBNrLBNrPB25HBcbJyxrHBg9NigrPC2nVDMvYEtSGy2fSBcbTy3bFywDLBNrFAgvHBhrOihDPDgGGAxrZigjHy2TLBMqGyw5KihnLC3nPB25jzc4','lI4Vy29Yzs9JywXSzxiTy29UDgv4Da','Dg9VBa','q2fSBcb3B3jRC3bHy2vFBgLZDcbVBIb0AgLZignVBM5Ly3rPB24Gyw5KihvZzsbPDhmGy3vYCMvUDcbIAw5KAw5Nvg9Rzw4U','Cgf0DgvYBG','CNvUDgLTzuzHy3rVCNK','Ag9ZDhm','BM90AwzPy2f0Aw9UCY9PBML0AwfSAxPLza','C2vZC2LVBKLK','DgvZDa','DhjPBq','x2j1AwX0Aw4','CMvXDwvZDeLK','Dg9tDhjPBMC','BwfWrxHWB3nLzfrVt3jPz2LUywW','CMfUzg9Tvvvjra','lI4Vy29Yzs93B3jRC3bHy2uTCgf0Aa','y2XLyxi','BgLZDenOyw5Nzwq','ndG5mJq4twHgq1z3','r0furvDbwv9truXfq1rjt05FteLnsvq','lI4VAw5ZDgfSBgvYl3DVCMTZCgfJzs1YzwDPC3rYEq','mJaYns0Xms0Ynq','v09ss1nqqunfx0jjtKrjtKDFuKvrvuLsruq','y29Kzq','yMfJA2vUza','BgvUz3rO','BMfTzq','D29YA3nWywnLx2XPC3q','CMvQzwn0zwq','D29YA3nWywnLswq','qKfds0vorf9dqvrbte9hx0rju0npvKvswv9srvfvsvjfra','ChjVzMLSzxm','BM9KztPJCNLWDg8','CMvNAxn0CMf0Aw9U','Aw5WDxrty2HLBwe'];_0xd021=function(){return _0x47d3dc;};return _0xd021();}_0x3d25cc[_0xa28fd7(0x1c6)]=WorkspaceGateway,_0x3d25cc[_0xa28fd7(0x192)]=validateIdentity,module['exports']=_0x3d25cc;
|
|
@@ -14,8 +14,9 @@
|
|
|
14
14
|
`pipeline_reset(task, runId, confirm=true)` cancels a run while preserving history. Legacy runs retain their legacy definitions. Content-only documentation does not require PRD, issue or TDD steps; AGENTS.md, SKILL.md, trigger maps and runtime configuration are operational contracts.
|
|
15
15
|
|
|
16
16
|
Claude dispatch uses the host's declared `Agent` or `Task` schema and `prompt`.
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
Launch writers and reviewers in the background when the host declares it: a
|
|
18
|
+
background reviewer is bound when its launch returns and records its review and
|
|
19
|
+
its report in one pass. An unbound child is read-only. For a foreground reviewer, receive findings first, link the native identity, then
|
|
19
20
|
resume the same child to author its structured review and report. Complete both
|
|
20
21
|
phases continuously. Do not use Codex fields or write a verdict for the child.
|
|
21
22
|
An async launch or report is not native completion. Refresh receipts before
|
|
@@ -5,12 +5,13 @@
|
|
|
5
5
|
For Figma and Stitch tool names and authentication, read `docs/agents/design-config.md` when working on design tasks.
|
|
6
6
|
|
|
7
7
|
- Bootstrap: `session_bootstrap(sessionId, contextEpoch, host, capabilities)` identifies this context and reports resumable work. When the native tool schema is visible, describe `capabilities.nativeDispatch` with its tool, selection mode, model/effort field names, fork modes and requestable model IDs. On Claude Code, naming the tool and its model field is enough, for example `{tool:"Agent", modelField:"model"}`: APT then asks for a cheaper model per task (`haiku`, `sonnet`, or `opus` under a coordinator that ranks above it), never for a model above yours, and leaves the field unset when the task needs your model. This coordinator declaration permits a request, but is not a host-observed model receipt. An absent capability field means unknown, not a permanent denial.
|
|
8
|
-
- Route: `route_request(sessionId, requestId, prompt, target, stack, explicitSkills)` returns the workflow, specialist, review roles, platform verification requirements and phase-specific skills. Load current-step skills with `skill_load` and agent/workflow content with `context_load` for each new worker or context epoch.
|
|
8
|
+
- Route: `route_request(sessionId, requestId, prompt, target, stack, explicitSkills)` returns the workflow, specialist, review roles, platform verification requirements and phase-specific skills. Load current-step skills with `skill_load` and agent/workflow content with `context_load` for each new worker or context epoch. Start the run with the pipeline it returns, which follows what the request produces: research that only answers needs no run, a PRD, report, guide, translation or research write-up is `document-artifact` also when scripts build it, and only a change to code is `bugfix`, `hotfix`, `feature` or `high-risk`. A document run gets its writer, a spec review per item and the quality review of the run; give its workers the research and writing task, not code or test work.
|
|
9
9
|
- Models: `model_list(sessionId, offset, limit, query)` reports advertised, requestable and eligible models with source, account scope and coverage. CLI and Codex local cache entries are reference only. Use the pinned `nativeDispatch` from `pipeline_next`; compare its selector with the actual spawn arguments, then keep the host-reported worker model separate. An `inherit` selector or a model chosen in the IDE does not confirm a child model.
|
|
10
10
|
- Start: `pipeline_start(pipeline, task, workspace, acceptanceCriteria, scope, qualityPlan, productImpact, sessionId)` creates a versioned run. Give `scope` the narrowest directory prefixes the task changes, such as `docs/guide/`, never the whole workspace or a pattern: runs of other host sessions work in the same checkout at the same time only when the scopes do not overlap, and a run is confined to its scope while it shares the checkout. Bootstrap the session in the intended workspace first. `workspace` is a schema-valid object, such as `{mode:"current",confirmed:true}`; a string or an unbound global server cannot create a run. Use the canonical `apt-mcp-agent` gateway, selecting a registered project with `workspace_list` then `session_bootstrap(sessionId, workspaceId, bindingToken)` first. Preserve that session ID on later calls. Legacy connections keep their reported alias until migration. New executable runs require at least one acceptance criterion string that exactly matches `qualityPlan.criteria[].expectedOutcome`. The plan uses `criteria: [{id, expectedOutcome, source, checkIds}]`, `checks: [{id, criterionIds, format, testIds, required}]`, and `reviews: [{id, required}]`. A recent user-facing web or mobile route requires its platform check and Product review. Use `pipeline_use(task, runId)` to resume the same run.
|
|
11
|
-
- Execute: `pipeline_next(task, runId, sessionId, role, requestId)` reserves an attempt. Pass its exact `nativeTaskName`, model/tier, reasoning effort and fork mode to the native tool where that tool supports them. Its `complexity` and `risk` arguments set the worker's model tier. Leave them at `normal` unless the task needs otherwise: `high` is for a change to a shared interface, to security or to stored data, and runs on the strongest model, which is often your own. A task that makes no progress twice is raised to that model without a rating. On a high-risk run every writer gets that model; reviewers and researchers keep their rating. A researcher rated `low` runs on the fastest model. Codex model overrides require `fork_turns:"none"`; put `APT_ATTEMPT_ID`, `APT_ACTOR_ID` and `APT_SESSION_ID` in the fresh worker brief. A `followup_task` keeps the existing worker's model; dispatch a new worker when a new model is required. The coordinator controls transitions. Resource and quota waits remain resumable. When a step answers `WORKSPACE_BUSY` with `waiting:true`, call `pipeline_checkpoint(action="resource-wait", reason="workspace_busy", workerStopped=true)` and retry later; do not pause the run. Reading next to an active writer of the same run needs no reservation: on Claude Code launch an `Explore` or `Plan` agent without APT markers. Writers are exclusive by default. Work items planned with `parallel: true` and disjoint `scope` prefixes reserve confined writers that run at the same time, one per item and at most four actors in total; `parallelWrite:true` confines a writer on an unmarked scoped item and `parallelWrite:false` reserves a marked item exclusively. A confined writer cannot edit files outside its scope and reports with `action="report"`; verification runs after all parallel writers have reported. A reviewer records `pipeline_checkpoint(action="review")` with `review.findings`, each `{id, message}` and optionally `severity` and `required`. When a review failed or its reviewer stopped without a verdict, consume the report with `status:"failed"` and a `blocker` to return to implementation, or reserve a new reviewer with `pipeline_next(workItemId)`.
|
|
11
|
+
- Execute: `pipeline_next(task, runId, sessionId, role, requestId)` reserves an attempt. Pass its exact `nativeTaskName`, model/tier, reasoning effort and fork mode to the native tool where that tool supports them. Its `complexity` and `risk` arguments set the worker's model tier. Leave them at `normal` unless the task needs otherwise: `high` is for a change to a shared interface, to security or to stored data, and runs on the strongest model, which is often your own. A task that makes no progress twice is raised to that model without a rating. On a high-risk run every writer gets that model; reviewers and researchers keep their rating. A researcher rated `low` runs on the fastest model. Codex model overrides require `fork_turns:"none"`; put `APT_ATTEMPT_ID`, `APT_ACTOR_ID` and `APT_SESSION_ID` in the fresh worker brief. A `followup_task` keeps the existing worker's model; dispatch a new worker when a new model is required. The coordinator controls transitions. Resource and quota waits remain resumable. When a step answers `WORKSPACE_BUSY` with `waiting:true`, call `pipeline_checkpoint(action="resource-wait", reason="workspace_busy", workerStopped=true)` and retry later; do not pause the run. Reading next to an active writer of the same run needs no reservation: on Claude Code launch an `Explore` or `Plan` agent without APT markers. Writers are exclusive by default. Work items planned with `parallel: true` and disjoint `scope` prefixes reserve confined writers that run at the same time, one per item and at most four actors in total; `parallelWrite:true` confines a writer on an unmarked scoped item and `parallelWrite:false` reserves a marked item exclusively. A confined writer cannot edit files outside its scope and reports with `action="report"`; verification runs after all parallel writers have reported. A work item planned with `risk: "low"` is accepted after its spec review when the run is not high-risk and none of its changed files is sensitive (auth, permission, API, schema, migration, lock or runtime files) or changes a public contract; otherwise it keeps the quality review, and the item records why in `reviewDepth`. Mark an item low only for copy, styling or internal changes with no public surface. A reviewer records `pipeline_checkpoint(action="review")` with `review.findings`, each `{id, message}` and optionally `severity` and `required`. A worker reviewer's last owed review also files its report and releases its attempt; consume it with `consume-report`, no separate `report` is needed. A writer that runs the checks of its item with `pipeline_verify(checkId)` before it reports spares the verify stage: `pipeline_next` then returns `currentChecks`, and the verify checkpoint takes those evidence IDs without running the checks again. Plan related packages as work items of one run rather than one run each, so the run review and acceptance happen once. When a review failed or its reviewer stopped without a verdict, consume the report with `status:"failed"` and a `blocker` to return to implementation, or reserve a new reviewer with `pipeline_next(workItemId)`.
|
|
12
12
|
- Verify: `pipeline_verify` records authorized argv execution under the run workspace. For functional acceptance, pass `checkId`, supported `reportFormat` and named test IDs in the pinned plan. A `reportPath` is a workspace-relative path below `.agents/runtime/`, such as `.agents/runtime/reports/<checkId>.json`, that the command writes and that does not exist yet. Zero, skipped or unreadable tests and unrelated successful commands remain unverified. `pipeline_verify(kind="review")` is rejected before running a command. Read `pipeline_next.requiredReview`: nested work items require `spec`/`quality`, while run-level gates require `technical`/`product`. The reserved reviewer records its own structured verdict with `pipeline_checkpoint(action="review")`; resolution of a persistent finding needs current evidence and later reviewer confirmation. A finding raised by the review of a work item belongs to that item: it holds that item's reviews and the completion of the run, not the reviews of other items, and a change outside the item's scope does not reopen it. A failed round that leaves other findings open than the round before counts as progress. A direct start without a bound route needs Technical `impactAssessment` before acceptance. User-flow impact requires Product review and platform checks. Missing required platform checks leave the run unaccepted.
|
|
13
13
|
- Inspect: `pipeline_status` reports current criterion/check status, open findings, reviewer provenance and pending creation intents without binding sessions. `pipeline_start`, `pipeline_use`, `pipeline_reset` and `pipeline_checkpoint` answer with a summary of the run: the last evidence records, open findings without their history, and the attempts in flight. `pipeline_status(task, runId)` returns the full record. A reported attempt's own evidence is attached when its report is consumed. `pipeline_reset(task, runId, sessionId, confirm:true, target:"creation")` abandons a matching unfinished intent while preserving its file. The default `target:"run"` cancels a run without deleting history. `pipeline_prepare_merge` only prepares a report.
|
|
14
|
+
- After an APT update: the update pauses open runs with reason `runtime-upgrade` and keeps their steps, items, evidence and budgets. Bind the run with `pipeline_use(task, runId)` and continue it with `pipeline_checkpoint(action="resume")`; do not start a new run. A run paused by its attempt budget resumes only with `grantAttempts` after the user has answered in this session: `true` grants ten attempts, a number up to 100 grants that many, so ask the user how many when the work may run unattended. A user may also grant in advance, for example "allow up to 40 attempts" before leaving the work running: record it at once with `pipeline_checkpoint(action="resume", grantAttempts=40)` on the running run. It raises the limit of every item without pausing the run, and only a message of the user in this session counts. When a failed run review leaves findings of the run open, reserve a writer for the item whose code they concern with `pipeline_next(workItemId)`; that reopens the accepted item. Item reviews do not wait for findings of the run.
|
|
14
15
|
- Read-only questions, review and existing test execution do not require a mutation pipeline. Scope-limited changes use the short pipeline; increased risk adds required checks.
|
|
15
16
|
- MCP gates cover proxied calls. Native tool gates and continuation require observed host hooks. Plan Mode and user interruption take precedence.
|
|
16
17
|
- Codegraph failures permit file-search fallback. The proxy refreshes the review graph before impact analysis; it must report failure rather than use stale results.
|