apt-mcp-agent-setup 3.5.25 → 3.5.31
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 +68 -43
- 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/integrity-manifest.json +163 -159
- package/package.json +1 -1
- 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-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 +65 -0
- 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 -0
- 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 -0
- 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/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 -141
- 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 -0
- 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 -0
- 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/server.js +1 -1
- package/src/proxy/workspace-gateway.js +1 -1
- package/src/templates/mcp-tools.md +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const _0x156c63=_0x5b43;(function(_0x12401c,_0x47bf56){const _0x11300c=_0x5b43,_0x2a8872=_0x12401c();while(!![]){try{const _0x1bc979=parseInt(_0x11300c(0xfa))/0x1*(parseInt(_0x11300c(0x14d))/0x2)+-parseInt(_0x11300c(0x174))/0x3+parseInt(_0x11300c(0x17c))/0x4+parseInt(_0x11300c(0x16c))/0x5*(-parseInt(_0x11300c(0x151))/0x6)+-parseInt(_0x11300c(0x185))/0x7+-parseInt(_0x11300c(0x189))/0x8+parseInt(_0x11300c(0x176))/0x9*(parseInt(_0x11300c(0x11f))/0xa);if(_0x1bc979===_0x47bf56)break;else _0x2a8872['push'](_0x2a8872['shift']());}catch(_0x5d77c4){_0x2a8872['push'](_0x2a8872['shift']());}}}(_0x4650,0xbc07c));const crypto=require(_0x156c63(0x12c)),{WorkspaceRegistry}=require('../installer/workspace-registry'),{gatewayCatalog}=require(_0x156c63(0x119)),{sameWorkspace}=require(_0x156c63(0x180)),contracts=require(_0x156c63(0x108)),fail=(_0x3f0000,_0x29d925=_0x3f0000)=>{const _0x3374e9=_0x156c63,_0x466b71={};_0x466b71['code']=_0x3f0000;throw Object[_0x3374e9(0x145)](new Error(_0x29d925),_0x466b71);},content=_0x30ea48=>({'content':[{'type':_0x156c63(0x12b),'text':JSON[_0x156c63(0x15e)](_0x30ea48)}]});function validateIdentity(_0x4840f1){const _0x4b5fde=_0x156c63,_0x3137a3={};_0x3137a3[_0x4b5fde(0x10d)]=contracts[_0x4b5fde(0x10d)],_0x3137a3['requestId']=contracts['requestId'],_0x3137a3[_0x4b5fde(0x164)]=contracts['task'],_0x3137a3['runId']=contracts['runId'];for(const [_0x5f1b96,_0x567eab]of Object['entries'](_0x3137a3)){if(_0x4840f1[_0x5f1b96]===undefined)continue;const _0xa9e147=_0x4840f1[_0x5f1b96];if(typeof _0xa9e147!==_0x4b5fde(0xfb)||!_0xa9e147[_0x4b5fde(0x167)]()||_0xa9e147['length']>_0x567eab['maxLength']||_0x567eab[_0x4b5fde(0x13e)]&&!new RegExp(_0x567eab[_0x4b5fde(0x13e)])['test'](_0xa9e147))fail(_0x4b5fde(0x168)+_0x5f1b96[_0x4b5fde(0x165)](/([a-z])([A-Z])/g,_0x4b5fde(0x14e))[_0x4b5fde(0x17e)](),_0x567eab[_0x4b5fde(0x177)]);}}class WorkspaceGateway{constructor(_0x3bad71={}){const _0x2bd466=_0x156c63;this[_0x2bd466(0x16e)]=_0x3bad71[_0x2bd466(0x16e)]||new WorkspaceRegistry(),this['runtimeFactory']=_0x3bad71[_0x2bd466(0x11e)],this['host']=_0x3bad71[_0x2bd466(0x137)]||null,this['connectionId']=_0x3bad71[_0x2bd466(0x122)]||crypto[_0x2bd466(0x14a)](),this[_0x2bd466(0x173)]=new Map(),this[_0x2bd466(0x15d)]=new Map(),this[_0x2bd466(0x162)]=new Map(),this[_0x2bd466(0x140)]=gatewayCatalog(),this[_0x2bd466(0x156)]=_0x3bad71[_0x2bd466(0x156)]||(()=>{}),this[_0x2bd466(0x12e)]=null,this[_0x2bd466(0x171)]=![];}async[_0x156c63(0x142)](_0x47db77,_0x2c4209={}){const _0x373bb4=_0x156c63;_0x2c4209['lease']?.[_0x373bb4(0x160)]();if(!_0x47db77['sessionId'])fail('SESSION_ID_REQUIRED',_0x373bb4(0x186));const _0x5c6fd7=this[_0x373bb4(0x173)][_0x373bb4(0x15c)](_0x47db77[_0x373bb4(0x10d)]);if(_0x5c6fd7&&!_0x47db77[_0x373bb4(0x112)]&&!_0x47db77['workspacePath'])return _0x5c6fd7;const _0x49149d=this[_0x373bb4(0x15d)]['get'](_0x47db77[_0x373bb4(0x10d)]);if(_0x49149d&&!_0x47db77[_0x373bb4(0x112)]&&!_0x47db77['workspacePath'])return _0x49149d[_0x373bb4(0x14b)];const _0x3cd51b=this['registry'][_0x373bb4(0x113)](_0x47db77,{'host':this[_0x373bb4(0x137)]});if(_0x47db77[_0x373bb4(0x166)])this[_0x373bb4(0x17d)](_0x47db77['bindingToken'],_0x3cd51b['workspaceId']);if(_0x5c6fd7){if(!sameWorkspace(_0x3cd51b[_0x373bb4(0x13b)],_0x5c6fd7[_0x373bb4(0x13b)]))fail(_0x373bb4(0x149));return _0x5c6fd7;}if(this[_0x373bb4(0x15d)][_0x373bb4(0x13c)](_0x47db77[_0x373bb4(0x10d)])){const _0x62e479=this[_0x373bb4(0x15d)]['get'](_0x47db77['sessionId']);if(!sameWorkspace(_0x62e479['workspace'],_0x3cd51b[_0x373bb4(0x13b)]))fail(_0x373bb4(0x149));return _0x62e479[_0x373bb4(0x14b)];}const _0x4ea8ca={};_0x4ea8ca[_0x373bb4(0x122)]=this[_0x373bb4(0x122)],_0x4ea8ca['sessionId']=_0x47db77[_0x373bb4(0x10d)],_0x4ea8ca[_0x373bb4(0x13b)]=_0x3cd51b[_0x373bb4(0x13b)],_0x4ea8ca[_0x373bb4(0x112)]=_0x3cd51b['workspaceId'],_0x4ea8ca[_0x373bb4(0x13a)]='apt-mcp-agent',_0x4ea8ca[_0x373bb4(0x131)]=_0x373bb4(0x169),_0x4ea8ca[_0x373bb4(0x130)]=_0x373bb4(0x127);const _0x266f11=_0x4ea8ca,_0x414431=((async()=>{const _0x56e9d8=_0x373bb4;if(typeof this['runtimeFactory']!==_0x56e9d8(0x16d))fail(_0x56e9d8(0x161));const _0x5c5b96=_0x3cd51b['profiles']?.[this[_0x56e9d8(0x137)]]||{},_0xa943c8=await this['runtimeFactory'](_0x266f11,this[_0x56e9d8(0x12e)]||{},_0x5c5b96);try{if(_0x2c4209['lease'])await require(_0x56e9d8(0x110))[_0x56e9d8(0x172)](_0x2c4209['lease']);}catch(_0xed8891){await _0xa943c8[_0x56e9d8(0xfd)]();throw _0xed8891;}this[_0x56e9d8(0x171)]&&(await _0xa943c8[_0x56e9d8(0xfd)](),fail(_0x56e9d8(0x153)));const _0x4d2566={..._0x266f11};_0x4d2566['runtime']=_0xa943c8,_0x4d2566[_0x56e9d8(0x15b)]=_0x5c5b96;const _0x314347=_0x4d2566;return _0x2c4209[_0x56e9d8(0x136)]?.['assertCurrent'](),this[_0x56e9d8(0x173)][_0x56e9d8(0x148)](_0x47db77[_0x56e9d8(0x10d)],_0x314347),_0x314347;})()),_0x572bff={};_0x572bff[_0x373bb4(0x13b)]=_0x3cd51b[_0x373bb4(0x13b)],_0x572bff[_0x373bb4(0x14b)]=_0x414431,this[_0x373bb4(0x15d)][_0x373bb4(0x148)](_0x47db77[_0x373bb4(0x10d)],_0x572bff);try{return await _0x414431;}finally{this['initializing'][_0x373bb4(0x17b)](_0x47db77[_0x373bb4(0x10d)]);}}[_0x156c63(0x14f)](_0x1e176d){const _0x18fadb=_0x156c63;for(const [_0x49ef,_0x4ab605]of this[_0x18fadb(0x162)])if(_0x4ab605[_0x18fadb(0x163)]<Date[_0x18fadb(0x147)]())this[_0x18fadb(0x162)][_0x18fadb(0x17b)](_0x49ef);if(this[_0x18fadb(0x162)][_0x18fadb(0x141)]>=0x1000)fail(_0x18fadb(0x125));const _0x4a8b25=this[_0x18fadb(0x122)]+'.'+crypto[_0x18fadb(0x10b)](0x20)[_0x18fadb(0x138)](_0x18fadb(0x15a));this['bindingSelections'][_0x18fadb(0x148)](_0x4a8b25,{'workspaceId':_0x1e176d[_0x18fadb(0x112)],'expiresAt':Date[_0x18fadb(0x147)]()+0xdbba0});const _0x4b39e0={};return _0x4b39e0[_0x18fadb(0x112)]=_0x1e176d[_0x18fadb(0x112)],_0x4b39e0[_0x18fadb(0x13b)]=_0x1e176d['workspace'],_0x4b39e0[_0x18fadb(0x166)]=_0x4a8b25,_0x4b39e0;}['verifySelection'](_0x4d1757,_0x4f6e9e){const _0x338689=_0x156c63,_0x4e6cdf=this[_0x338689(0x162)]['get'](_0x4d1757);if(!_0x4e6cdf||_0x4e6cdf['expiresAt']<Date[_0x338689(0x147)]()||_0x4e6cdf['workspaceId']!==_0x4f6e9e)fail(_0x338689(0x181),'Call\x20workspace_list\x20on\x20this\x20connection\x20and\x20use\x20its\x20current\x20bindingToken.');return _0x4e6cdf;}[_0x156c63(0x100)](_0x4537ff){const _0x4c7044=_0x156c63;let _0x1321c4;if(_0x4537ff[_0x4c7044(0x10d)])_0x1321c4=this[_0x4c7044(0x173)]['get'](_0x4537ff['sessionId']);else{if(this[_0x4c7044(0x173)][_0x4c7044(0x141)]===0x1)_0x1321c4=this[_0x4c7044(0x173)][_0x4c7044(0x128)]()[_0x4c7044(0x16a)]()[_0x4c7044(0x175)];else{if(this[_0x4c7044(0x173)]['size']>0x1)fail(_0x4c7044(0xfc),'Pass\x20sessionId;\x20this\x20connection\x20serves\x20multiple\x20project\x20sessions.');}}if(!_0x1321c4)fail(_0x4c7044(0x183),_0x4c7044(0x104));if(_0x4537ff[_0x4c7044(0x112)]||_0x4537ff[_0x4c7044(0x10f)]){const _0x331619=this[_0x4c7044(0x16e)][_0x4c7044(0x113)](_0x4537ff,{'host':this[_0x4c7044(0x137)]});if(!sameWorkspace(_0x331619[_0x4c7044(0x13b)],_0x1321c4[_0x4c7044(0x13b)]))fail(_0x4c7044(0x149));}if(_0x4537ff[_0x4c7044(0x102)]&&!sameWorkspace(_0x4537ff[_0x4c7044(0x102)],_0x1321c4[_0x4c7044(0x13b)]))fail(_0x4c7044(0x149));return _0x1321c4;}async['handle'](_0x318287){const _0x46f8e4=_0x156c63;if(this[_0x46f8e4(0x171)])fail(_0x46f8e4(0x153));const {id:_0x5e0466,method:_0x49f51e,params:params={}}=_0x318287,_0x1a9295=_0x37052c=>({'jsonrpc':'2.0','id':_0x5e0466,'result':_0x37052c});if(_0x49f51e===_0x46f8e4(0x12e)||_0x49f51e==='server/discover'){const _0x2a46e5=['2024-11-05',_0x46f8e4(0x12d),_0x46f8e4(0x17a),_0x46f8e4(0x155)],_0x4b0154=_0x2a46e5[_0x46f8e4(0x103)](params['protocolVersion'])?params[_0x46f8e4(0x157)]:_0x2a46e5['at'](-0x1),_0x114ec1={...params};_0x114ec1[_0x46f8e4(0x157)]=_0x4b0154,this[_0x46f8e4(0x12e)]=_0x114ec1;const _0x5cefbb={};_0x5cefbb[_0x46f8e4(0x105)]=!![];const _0x4bc5e4={};return _0x4bc5e4['tools']=_0x5cefbb,_0x1a9295({'protocolVersion':_0x4b0154,'capabilities':_0x4bc5e4,'serverInfo':{'name':_0x46f8e4(0x123),'version':require(_0x46f8e4(0x12f))[_0x46f8e4(0x178)]},'instructions':'One\x20APT\x20gateway\x20serves\x20installed\x20projects.\x20Call\x20workspace_list,\x20then\x20session_bootstrap\x20with\x20your\x20sessionId\x20and\x20the\x20project\x20workspaceId.\x20Always\x20pass\x20that\x20sessionId\x20on\x20subsequent\x20calls.\x20Never\x20bind\x20home\x20or\x20select\x20a\x20project\x20from\x20recency.'});}if(_0x49f51e===_0x46f8e4(0x134))return _0x1a9295({'tools':structuredClone(this[_0x46f8e4(0x140)])});if(_0x49f51e===_0x46f8e4(0x16b))return _0x1a9295({});if(_0x49f51e===_0x46f8e4(0x13d))return null;const _0xb7a21c={};_0xb7a21c[_0x46f8e4(0xff)]=-0x7f59,_0xb7a21c[_0x46f8e4(0x188)]=_0x46f8e4(0x107);if(_0x49f51e!==_0x46f8e4(0x14c))return _0x5e0466===undefined?null:{'jsonrpc':_0x46f8e4(0x124),'id':_0x5e0466,'error':_0xb7a21c};try{const _0x1a5caf=params['arguments']||{};if(Array['isArray'](_0x1a5caf)||typeof _0x1a5caf!==_0x46f8e4(0x187))fail('INVALID_ARGUMENTS');validateIdentity(_0x1a5caf);if(params[_0x46f8e4(0x111)]!==_0x46f8e4(0x12a)&¶ms['name']!==_0x46f8e4(0x11a)&&require(_0x46f8e4(0x158))[_0x46f8e4(0x11c)](params['name'])&&!_0x1a5caf['sessionId'])fail(_0x46f8e4(0x120),_0x46f8e4(0x150));const _0x3fbacd=this[_0x46f8e4(0x140)]['find'](_0x47b685=>_0x47b685['name']===params[_0x46f8e4(0x111)]);if(!_0x3fbacd){const _0xd2e3e6=require(_0x46f8e4(0x144))[_0x46f8e4(0x15f)](params[_0x46f8e4(0x111)]);if(_0xd2e3e6&&_0xd2e3e6['backend']!==_0x46f8e4(0x126)){const _0x2d4250={};_0x2d4250['backend']=_0xd2e3e6[_0x46f8e4(0x10e)],_0x2d4250[_0x46f8e4(0x10d)]=_0x1a5caf['sessionId'];const _0x28dd26={};_0x28dd26[_0x46f8e4(0x129)]=_0x46f8e4(0x11a),_0x28dd26[_0x46f8e4(0x101)]=_0x2d4250;const _0x49f2e2={};_0x49f2e2[_0x46f8e4(0xff)]=_0x46f8e4(0x106),_0x49f2e2[_0x46f8e4(0x13f)]=_0x28dd26;const _0x3f4e8d=Object[_0x46f8e4(0x145)](new Error('This\x20addon\x20needs\x20intentional\x20catalog\x20discovery;\x20call\x20mcp_agent_health\x20with\x20its\x20backend\x20and\x20sessionId.'),_0x49f2e2);throw _0x3f4e8d;}fail('TOOL_NOT_AVAILABLE','This\x20gateway\x20has\x20no\x20verified\x20catalog\x20for\x20that\x20tool.');}if(params[_0x46f8e4(0x111)]===_0x46f8e4(0x12a))return _0x1a9295(content({'workspaces':this['registry']['list']()[_0x46f8e4(0x170)](_0x1e37fd=>!this['host']||_0x1e37fd[_0x46f8e4(0x146)][_0x46f8e4(0x103)](this[_0x46f8e4(0x137)]))[_0x46f8e4(0x11d)](_0x5db040=>this[_0x46f8e4(0x14f)](_0x5db040)),'connectionId':this[_0x46f8e4(0x122)]}));if(params['name']===_0x46f8e4(0x11a)&&!_0x1a5caf[_0x46f8e4(0x10d)]&&!_0x1a5caf[_0x46f8e4(0x10e)])return _0x1a9295(content({'registration':'apt-mcp-agent','connectionId':this[_0x46f8e4(0x122)],'boundSessions':this[_0x46f8e4(0x173)][_0x46f8e4(0x141)],'backendsStartedByDiscovery':0x0,'serving':'gateway','version':require(_0x46f8e4(0x12f))['version']}));for(const _0x5104ef of _0x3fbacd[_0x46f8e4(0x121)][_0x46f8e4(0x115)]||[])if(_0x1a5caf[_0x5104ef]===undefined&&_0x5104ef!=='sessionId')fail(_0x46f8e4(0x118)+_0x5104ef[_0x46f8e4(0x165)](/([a-z])([A-Z])/g,'$1_$2')[_0x46f8e4(0x17e)](),_0x46f8e4(0x117)+_0x5104ef+'.');const _0x28c3b1=params['name']===_0x46f8e4(0x154)?await this[_0x46f8e4(0x142)](_0x1a5caf):this[_0x46f8e4(0x100)](_0x1a5caf);if(_0x28c3b1[_0x46f8e4(0x15b)]?.[_0x46f8e4(0x152)]?.[params[_0x46f8e4(0x111)]]?.[_0x46f8e4(0x159)]===![])fail(_0x46f8e4(0x10a));const _0x304dfb={..._0x1a5caf};_0x304dfb[_0x46f8e4(0x10d)]=_0x28c3b1[_0x46f8e4(0x10d)];const _0xc9238=_0x304dfb,_0x4ce615={...params};_0x4ce615[_0x46f8e4(0x101)]=_0xc9238;const _0x1e3608={..._0x318287};_0x1e3608[_0x46f8e4(0x133)]=_0x4ce615;const _0x49678c=await _0x28c3b1[_0x46f8e4(0x10c)]['request'](_0x1e3608);if(params[_0x46f8e4(0x111)]===_0x46f8e4(0x11a)&&_0x1a5caf['backend']&&!_0x49678c[_0x46f8e4(0x143)]){const _0x21752c={};_0x21752c['method']=_0x46f8e4(0x134),_0x21752c['params']={};const _0x3dde55=await _0x28c3b1[_0x46f8e4(0x10c)][_0x46f8e4(0x109)](_0x21752c);let _0x18f74e=![];for(const _0x22ecd2 of _0x3dde55[_0x46f8e4(0x152)]||[]){if(require(_0x46f8e4(0x144))[_0x46f8e4(0x15f)](_0x22ecd2[_0x46f8e4(0x111)])?.[_0x46f8e4(0x10e)]!==_0x1a5caf[_0x46f8e4(0x10e)])continue;const _0x1a6c6a=require(_0x46f8e4(0x119))[_0x46f8e4(0x182)](structuredClone(_0x22ecd2)),_0x2935c6=this[_0x46f8e4(0x140)]['find'](_0x9d19dc=>_0x9d19dc[_0x46f8e4(0x111)]===_0x1a6c6a[_0x46f8e4(0x111)]);if(_0x2935c6&&JSON[_0x46f8e4(0x15e)](_0x2935c6[_0x46f8e4(0x121)])!==JSON['stringify'](_0x1a6c6a[_0x46f8e4(0x121)]))fail(_0x46f8e4(0x139));!_0x2935c6&&(this[_0x46f8e4(0x140)][_0x46f8e4(0xfe)](_0x1a6c6a),_0x18f74e=!![]);}if(_0x18f74e)this[_0x46f8e4(0x156)]();}return _0x1a9295(_0x49678c);}catch(_0xbdb156){const _0x168b40={};return _0x168b40['tool']='workspace_list',_0x168b40[_0x46f8e4(0x135)]=_0x46f8e4(0x154),_0x168b40['required']=[_0x46f8e4(0x10d),_0x46f8e4(0x112)],_0x1a9295({...content({'success':![],'code':_0xbdb156[_0x46f8e4(0xff)]||_0x46f8e4(0x17f),'error':_0xbdb156[_0x46f8e4(0x188)],'recovery':_0xbdb156['recovery']||([_0x46f8e4(0x183),_0x46f8e4(0xfc),_0x46f8e4(0x132)][_0x46f8e4(0x103)](_0xbdb156[_0x46f8e4(0xff)])?_0x168b40:undefined)}),'isError':!![]});}}async[_0x156c63(0xfd)](){const _0x3b1afa=_0x156c63;this[_0x3b1afa(0x171)]=!![],await Promise[_0x3b1afa(0x116)]([...this[_0x3b1afa(0x15d)][_0x3b1afa(0x128)]()][_0x3b1afa(0x11d)](_0x2288a6=>_0x2288a6['promise']));const _0x2ea097=await Promise[_0x3b1afa(0x116)]([...this[_0x3b1afa(0x173)]['values']()]['map'](_0x20feb3=>_0x20feb3['runtime'][_0x3b1afa(0xfd)]())),_0x108189=_0x2ea097[_0x3b1afa(0x179)](_0x35d3a0=>_0x35d3a0['status']==='rejected');if(_0x108189)throw _0x108189[_0x3b1afa(0x114)];this['sessions'][_0x3b1afa(0x11b)]();}}const _0x2d6827={};function _0x5b43(_0x1aa250,_0x9a3c60){_0x1aa250=_0x1aa250-0xfa;const _0x465021=_0x4650();let _0x5b4385=_0x465021[_0x1aa250];if(_0x5b43['vhQPpS']===undefined){var _0x44f580=function(_0x1ed92d){const _0x5468eb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2bb760='',_0x2e432b='';for(let _0xd8863f=0x0,_0xb995ac,_0x462730,_0x157474=0x0;_0x462730=_0x1ed92d['charAt'](_0x157474++);~_0x462730&&(_0xb995ac=_0xd8863f%0x4?_0xb995ac*0x40+_0x462730:_0x462730,_0xd8863f++%0x4)?_0x2bb760+=String['fromCharCode'](0xff&_0xb995ac>>(-0x2*_0xd8863f&0x6)):0x0){_0x462730=_0x5468eb['indexOf'](_0x462730);}for(let _0x3892fd=0x0,_0x1bcc5c=_0x2bb760['length'];_0x3892fd<_0x1bcc5c;_0x3892fd++){_0x2e432b+='%'+('00'+_0x2bb760['charCodeAt'](_0x3892fd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2e432b);};_0x5b43['aYKSwi']=_0x44f580,_0x5b43['qlawYF']={},_0x5b43['vhQPpS']=!![];}const _0x49b24f=_0x465021[0x0],_0x2d6cf9=_0x1aa250+_0x49b24f,_0x12ec40=_0x5b43['qlawYF'][_0x2d6cf9];return!_0x12ec40?(_0x5b4385=_0x5b43['aYKSwi'](_0x5b4385),_0x5b43['qlawYF'][_0x2d6cf9]=_0x5b4385):_0x5b4385=_0x12ec40,_0x5b4385;}function _0x4650(){const _0x14eeea=['lI4Vy29Yzs93B3jRC3bHy2uTCgf0Aa','r0furvDbwv9truXfq1rjt05FuKvrvuLsruq','zgvJB3jHDgvhyxrLD2f5vg9VBa','v09ss1nqqunfx0jjtKrjtKDFuKvrvuLsruq','v29YA3nWywnLr2f0zxDHEq','odeWmZa2n2nTBunUEG','ugfZCYb0AguGC2fTzsbUB25LBxb0EsbZzxnZAw9UswqGDgHYB3vNAg91Dcb0AgLZignOyxqU','B2jQzwn0','BwvZC2fNzq','nda2nZK2ofrgAfPItG','nZq4mNPSAKDMwG','C3rYAw5N','v09ss1nqqunfx0fnqKLhvu9vuW','y2XVC2u','ChvZAa','y29Kzq','C2vSzwn0zwq','yxjNDw1LBNrZ','ChjVAMvJDfbHDgG','Aw5JBhvKzxm','q2fSBcb3B3jRC3bHy2vFBgLZDcWGDgHLBIbZzxnZAw9Ux2jVB3rZDhjHCcb3AxrOihnLC3nPB25jzcbHBMqGD29YA3nWywnLswqU','BgLZDenOyw5Nzwq','qKfds0vorf9dqvrbte9hx0rju0npvKvswv9srvfvsvjfra','twv0Ag9Kig5VDcbMB3vUza','lI4Vy29Yzs90B29SlwnVBNrYywn0CW','CMvXDwvZDa','ufjpsKvdvf9ut09mx0rju0fcteve','CMfUzg9TqNL0zxm','CNvUDgLTzq','C2vZC2LVBKLK','yMfJA2vUza','D29YA3nWywnLugf0Aa','lI4Vy29Yzs9OB29RlwXLyxnL','BMfTzq','D29YA3nWywnLswq','CMvZB2X2zq','CMvHC29U','CMvXDwLYzwq','ywXSu2v0DgXLza','uMvXDwLYzwqGzMLLBgq6ia','tuLtu0Lor18','lI9WDwjSAwmTy2f0ywXVzW','BwnWx2fNzw50x2HLywX0Aa','y2XLyxi','C2vUC2L0AxzLvg9VBa','BwfW','CNvUDgLTzuzHy3rVCNK','mZiYmgHywxPisa','u0vtu0LptL9jrf9srvfvsvjfra','Aw5WDxrty2HLBwe','y29UBMvJDgLVBKLK','yxb0lw1JCc1Hz2vUDa','mI4W','r0furvDbwv9truXfq1rjt05FteLnsvq','x2j1AwX0Aw4','Dw5JB25MAxjTzwq','DMfSDwvZ','Dg9VBa','D29YA3nWywnLx2XPC3q','Dgv4Da','BM9KztPJCNLWDg8','mJaYns0WmY0YnG','Aw5PDgLHBgL6zq','lI4VlI4VCgfJA2fNzs5QC29U','BMf0AxzLswrLBNrPDhK','ChjVDMvUyw5Jzq','v09ss1nqqunfx05pvf9sruDju1rfuKve','CgfYyw1Z','Dg9VBhmVBgLZDa','DgHLBG','BgvHC2u','Ag9ZDa','Dg9tDhjPBMC','q0fuquXpr19tq0HftufFq09orKXjq1q','CMvNAxn0CMf0Aw9U','D29YA3nWywnL','AgfZ','BM90AwzPy2f0Aw9UCY9PBML0AwfSAxPLza','Cgf0DgvYBG','CMvJB3zLCNK','y2f0ywXVzW','C2L6zq','yMLUza','AxnfCNjVCG','lI9YB3v0zxi','yxnZAwDU','Ag9ZDhm','BM93','C2v0','v09ss1nqqunfx0jjtKrjtKDFq09orKXjq1q','CMfUzg9Tvvvjra','ChjVBwLZzq','Dg9VBhmVy2fSBa','mtmYBK5HuMrt','jdfFjdi','C2vSzwn0Aw9U','txv0yxrPB25ZihjLCxvPCMuGDgHLigv4CgXPy2L0BhKGyM91BMqGC2vZC2LVBKLKlG','mti0oty4mfv4s2vVyG','Dg9VBhm','r0furvDbwv9dte9truq','C2vZC2LVBL9IB290C3rYyxa','mJaYns0Xms0Ynq','B25dyxrHBg9Nq2HHBMDLza','ChjVDg9JB2XwzxjZAw9U','lI4Vy29Yzs9JywXSzxiTy29UDgv4Da','zw5HyMXLza','yMfZzty0DxjS','ChjVzMLSzq','z2v0','Aw5PDgLHBgL6Aw5N','C3rYAw5NAwz5','BwfWrxHWB3nLzfrVt3jPz2LUywW','yxnZzxj0q3vYCMvUDa','r0furvDbwv9svu5usu1fx1voqvzbsuXbqKXf','yMLUzgLUz1nLBgvJDgLVBNm','zxHWAxjLC0f0','DgfZAW','CMvWBgfJzq','yMLUzgLUz1rVA2vU','DhjPBq','su5wquXjrf8','y2fSBgvYlxnLBgvJDgvK','BMv4Da','CgLUzW','mJbfuurpsuC','zNvUy3rPB24','CMvNAxn0CNK','DMfSAwrHDgvjzgvUDgL0Eq','zMLSDgvY','C3rVChbLza','B2jZzxj2zuHVB2Tdyw5JzwXSyxrPB24','C2vZC2LVBNm','mZeWmdm1mfj2C0XNsG','DMfSDwu','odaWntvqv0fMBwG','zgvZy3jPChrPB24','DMvYC2LVBG','zMLUza','mJaYns0WnI0Xoa','zgvSzxrL','mZC3oti2ogz0ugL4vG','DMvYAwz5u2vSzwn0Aw9U','Dg9vChbLCKnHC2u','r0furvDbwv9srvfvrvnux0zbsuXfra'];_0x4650=function(){return _0x14eeea;};return _0x4650();}_0x2d6827[_0x156c63(0x184)]=WorkspaceGateway,_0x2d6827[_0x156c63(0x16f)]=validateIdentity,module['exports']=_0x2d6827;
|
|
1
|
+
'use strict';function _0x15be(_0xa8050,_0x321a30){_0xa8050=_0xa8050-0x125;const _0x4b68a2=_0x4b68();let _0x15be70=_0x4b68a2[_0xa8050];if(_0x15be['MTZNLy']===undefined){var _0x7ce9a1=function(_0x320214){const _0x5794b4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x319ce1='',_0x2b31c7='';for(let _0x4e63c8=0x0,_0x303cb6,_0x21c295,_0x202ff1=0x0;_0x21c295=_0x320214['charAt'](_0x202ff1++);~_0x21c295&&(_0x303cb6=_0x4e63c8%0x4?_0x303cb6*0x40+_0x21c295:_0x21c295,_0x4e63c8++%0x4)?_0x319ce1+=String['fromCharCode'](0xff&_0x303cb6>>(-0x2*_0x4e63c8&0x6)):0x0){_0x21c295=_0x5794b4['indexOf'](_0x21c295);}for(let _0x3bcad1=0x0,_0x4029b3=_0x319ce1['length'];_0x3bcad1<_0x4029b3;_0x3bcad1++){_0x2b31c7+='%'+('00'+_0x319ce1['charCodeAt'](_0x3bcad1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2b31c7);};_0x15be['eUuOTq']=_0x7ce9a1,_0x15be['nrBjRU']={},_0x15be['MTZNLy']=!![];}const _0x50a2a2=_0x4b68a2[0x0],_0x42201f=_0xa8050+_0x50a2a2,_0x4bf5f5=_0x15be['nrBjRU'][_0x42201f];return!_0x4bf5f5?(_0x15be70=_0x15be['eUuOTq'](_0x15be70),_0x15be['nrBjRU'][_0x42201f]=_0x15be70):_0x15be70=_0x4bf5f5,_0x15be70;}const _0x24788c=_0x15be;function _0x4b68(){const _0xe7e3e9=['zMLUza','ChjVDMvUyw5Jzq','BMf0AxzLswrLBNrPDhK','C3rVChbLza','vgHPCYbHzgrVBIbUzwvKCYbPBNrLBNrPB25HBcbJyxrHBg9NigrPC2nVDMvYEtSGy2fSBcbTy3bFywDLBNrFAgvHBhrOihDPDgGGAxrZigjHy2TLBMqGyw5KihnLC3nPB25jzc4','q2fSBcb3B3jRC3bHy2vFBgLZDcWGDgHLBIbZzxnZAw9Ux2jVB3rZDhjHCcb3AxrOihnLC3nPB25jzcbHBMqGD29YA3nWywnLswqU','mZqZnJbNqMLyAvi','ugfZCYb0AguGC2fTzsbUB25LBxb0EsbZzxnZAw9UswqGDgHYB3vNAg91Dcb0AgLZignOyxqU','BgvHC2u','Ag9ZDa','CMvQzwn0zwq','Dg9VBhmVy2fSBa','yMLUzgLUz1rVA2vU','y29Kzq','Aw5PDgLHBgL6zq','ufjpsKvdvf9ut09mx0rju0fcteve','nKfADMLQyq','CMvNAxn0CMf0Aw9U','Dgv4Da','CgLUzW','CMvXDwLYzwq','D29YA3nWywnLx2XPC3q','DMvYAwz5u2vSzwn0Aw9U','txv0yxrPB25ZihjLCxvPCMuGDgHLigv4CgXPy2L0BhKGyM91BMqGC2vZC2LVBKLKlG','zgvJB3jHDgvhyxrLD2f5vg9VBa','v09ss1nqqunfx0jjtKrjtKDFq09orKXjq1q','zNvUy3rPB24','ChvZAa','mJaYnc0Xms0Wnq','ChjVBwLZzq','q0fuquXpr19tq0HftufFq09orKXjq1q','C2L6zq','r0furvDbwv9truXfq1rjt05FuKvrvuLsruq','lI4Vy29Yzs9JywXSzxiTy29UDgv4Da','AgfUzgXL','Dg9vChbLCKnHC2u','BwfWrxHWB3nLzfrVt3jPz2LUywW','z2f0zxDHEq','lI4Vy29Yzs9OB29RlwXLyxnL','mJaYns0Xms0Ynq','r0furvDbwv9svu5usu1fx1voqvzbsuXbqKXf','twv0Ag9Kig5VDcbMB3vUza','Dg9VBhmVBgLZDa','ve9ptf9ot1rFqvzbsuXbqKXf','C2vSzwn0zwq','BgvUz3rO','D29YA3nWywnLswq','Dg9VBhm','CMvWBgfJzq','mtHlr3jnqKe','y29UBMvJDgLVBKLK','Dw5JB25MAxjTzwq','C3rHDhvZ','B2jQzwn0','BMfTzq','mteWmZGWmgXVAxrACW','CNvUDgLTzq','AxnfCNjVCG','jdfFjdi','DgvZDa','BwfW','ChjVzMLSzq','C2vZC2LVBNm','su5wquXjrf8','CMvXDwvZDa','AxnbCNjHEq','DgfZAW','yMfZzty0DxjS','Ag9ZDhm','uMvXDwLYzwqGzMLLBgq6ia','mJaYns0WmY0YnG','BwnWx2fNzw50x2HLywX0Aa','zw50CMLLCW','y2XLyxi','CNvUDgLTzuzHy3rVCNK','qKfds0vorf9dqvrbte9hx0rju0npvKvswv9srvfvsvjfra','BM93','v09ss1nqqunfx0fnqKLhvu9vuW','C3rYAw5NAwz5','zgvSzxrL','BwvZC2fNzq','AgfZ','yxnZzxj0q3vYCMvUDa','t25LiefqvcbNyxrLD2f5ihnLCNzLCYbPBNn0ywXSzwqGChjVAMvJDhmUienHBgWGD29YA3nWywnLx2XPC3qSihrOzw4GC2vZC2LVBL9IB290C3rYyxaGD2L0Acb5B3vYihnLC3nPB25jzcbHBMqGDgHLihbYB2PLy3qGD29YA3nWywnLswqUiefSD2f5CYbWyxnZihrOyxqGC2vZC2LVBKLKig9Uihn1yNnLCxvLBNqGy2fSBhmUie5LDMvYigjPBMqGAg9TzsbVCIbZzwXLy3qGysbWCM9Qzwn0igzYB20GCMvJzw5JEs4','ywXSu2v0DgXLza','lI4Vy29Yzs90B29SlwnVBNrYywn0CW','mZm4odDqs0fby00','y2f0ywXVzW','Aw5PDgLHBgL6Aw5N','Aw5WDxrty2HLBwe','C2vZC2LVBL9IB290C3rYyxa','C2vSzwn0Aw9U','D29YA3nWywnLugf0Aa','C2vUC2L0AxzLvg9VBa','CMvNAxn0CNK','n2vmqMjwDW','z2v0','DhjPBq','yMLUzgLUz1nLBgvJDgLVBNm','y2XVC2u','yxnZAwDU','yMfJA2vUza','r0furvDbwv9dte9truq','q2fSBcb3B3jRC3bHy2vFBgLZDcbVBIb0AgLZignVBM5Ly3rPB24Gyw5KihvZzsbPDhmGy3vYCMvUDcbIAw5KAw5Nvg9Rzw4U','CMvJB3zLCNK','lI4Vy29Yzs93B3jRC3bHy2uTCgf0Aa','v09ss1nqqunfx05pvf9sruDju1rfuKve','mI4W','B2jZzxj2zuHVB2Tdyw5JzwXSyxrPB24','lI9WDwjSAwmTy2f0ywXVzW','Dg9VBa','mZq4mtuYExrlEMnN','CMvHC29U','lI9YB3v0zxi','Cgf0DgvYBG','mtK5mwD4BNHKvq','tuLtu0Lor18','mZu1odbSyw9dvK0','lI4VlI4VCgfJA2fNzs5QC29U','D29YA3nWywnL','v09ss1nqqunfx0jjtKrjtKDFuKvrvuLsruq','ChjVAMvJDfbHDgG','BM90AwzPy2f0Aw9UCY9PBML0AwfSAxPLza','yMLUza','BM9KztPJCNLWDg8','yxb0lw1JCc1Hz2vUDa','mJiZndqYDMHbv3jb','BgLZDa','yxjNDw1LBNrZ','ChjVDg9JB2XwzxjZAw9U','Aw5JBhvKzxm','B25dyxrHBg9Nq2HHBMDLza','DMvYC2LVBG','DgHLBG','v29YA3nWywnLr2f0zxDHEq','C3rYAw5N','su5wquXjrf9buKDvtuvovfm','ugfZCYbZzxnZAw9Uswq7ihrOAxmGy29UBMvJDgLVBIbZzxj2zxmGBxvSDgLWBguGChjVAMvJDcbZzxnZAw9UCY4','zxHWAxjLC0f0','CgfYyw1Z','DMfSDwvZ','r0furvDbwv9srvfvrvnux0zbsuXfra','u0vtu0LptL9jrf9srvfvsvjfra','DMfSDwu','C2vZC2LVBKLK','CMvZB2X2zq','mta2mZe0nw9swxz6Cq'];_0x4b68=function(){return _0xe7e3e9;};return _0x4b68();}(function(_0x24372f,_0xa151e5){const _0x1156ff=_0x15be,_0x14aa14=_0x24372f();while(!![]){try{const _0x568b53=-parseInt(_0x1156ff(0x172))/0x1+-parseInt(_0x1156ff(0x19a))/0x2*(-parseInt(_0x1156ff(0x12c))/0x3)+parseInt(_0x1156ff(0x153))/0x4+parseInt(_0x1156ff(0x1ae))/0x5+parseInt(_0x1156ff(0x191))/0x6*(parseInt(_0x1156ff(0x17b))/0x7)+-parseInt(_0x1156ff(0x18b))/0x8*(-parseInt(_0x1156ff(0x14d))/0x9)+parseInt(_0x1156ff(0x1b5))/0xa*(-parseInt(_0x1156ff(0x18f))/0xb);if(_0x568b53===_0xa151e5)break;else _0x14aa14['push'](_0x14aa14['shift']());}catch(_0x56f8d0){_0x14aa14['push'](_0x14aa14['shift']());}}}(_0x4b68,0x246c2));const crypto=require(_0x24788c(0x198)),{WorkspaceRegistry}=require('../installer/workspace-registry'),{gatewayCatalog}=require(_0x24788c(0x189)),{sameWorkspace}=require(_0x24788c(0x185)),contracts=require(_0x24788c(0x171)),fail=(_0x23f220,_0x333d4c=_0x23f220)=>{const _0x1901d4=_0x24788c,_0x1682cf={};_0x1682cf['code']=_0x23f220;throw Object[_0x1901d4(0x180)](new Error(_0x333d4c),_0x1682cf);},content=_0x48f71e=>({'content':[{'type':_0x24788c(0x12e),'text':JSON['stringify'](_0x48f71e)}]});function validateIdentity(_0x29b55f){const _0x99ff4d=_0x24788c,_0x181b17={};_0x181b17['sessionId']=contracts[_0x99ff4d(0x1ac)],_0x181b17['requestId']=contracts['requestId'],_0x181b17[_0x99ff4d(0x15e)]=contracts[_0x99ff4d(0x15e)],_0x181b17['runId']=contracts['runId'];for(const [_0x4b94b6,_0x112215]of Object[_0x99ff4d(0x164)](_0x181b17)){if(_0x29b55f[_0x4b94b6]===undefined)continue;const _0x331c6c=_0x29b55f[_0x4b94b6];if(typeof _0x331c6c!==_0x99ff4d(0x1a3)||!_0x331c6c[_0x99ff4d(0x17d)]()||_0x331c6c[_0x99ff4d(0x149)]>_0x112215['maxLength']||_0x112215[_0x99ff4d(0x18e)]&&!new RegExp(_0x112215[_0x99ff4d(0x18e)])[_0x99ff4d(0x157)](_0x331c6c))fail(_0x99ff4d(0x15b)+_0x4b94b6[_0x99ff4d(0x14c)](/([a-z])([A-Z])/g,_0x99ff4d(0x156))[_0x99ff4d(0x13f)](),_0x112215['description']);}}class WorkspaceGateway{constructor(_0x5a66d9={}){const _0x58ba36=_0x24788c;this[_0x58ba36(0x17a)]=_0x5a66d9[_0x58ba36(0x17a)]||new WorkspaceRegistry(),this[_0x58ba36(0x166)]=_0x5a66d9[_0x58ba36(0x166)],this[_0x58ba36(0x125)]=_0x5a66d9[_0x58ba36(0x125)]||null,this['connectionId']=_0x5a66d9[_0x58ba36(0x14e)]||crypto['randomUUID'](),this[_0x58ba36(0x15a)]=new Map(),this[_0x58ba36(0x174)]=new Map(),this[_0x58ba36(0x17e)]=new Map(),this['catalog']=gatewayCatalog(),this[_0x58ba36(0x19f)]=_0x5a66d9[_0x58ba36(0x19f)]||(()=>{}),this[_0x58ba36(0x12a)]=null,this['stopped']=![];}async[_0x24788c(0x197)](_0x343970,_0x4123d2={}){const _0x2eef6d=_0x24788c;_0x4123d2[_0x2eef6d(0x1b7)]?.[_0x2eef6d(0x16e)]();if(!_0x343970[_0x2eef6d(0x1ac)])fail(_0x2eef6d(0x1aa),_0x2eef6d(0x1b6));const _0x2eaa21=this[_0x2eef6d(0x15a)][_0x2eef6d(0x17c)](_0x343970[_0x2eef6d(0x1ac)]);if(_0x2eaa21&&!_0x343970[_0x2eef6d(0x14a)]&&!_0x343970[_0x2eef6d(0x178)])return _0x2eaa21;const _0x216905=this[_0x2eef6d(0x174)][_0x2eef6d(0x17c)](_0x343970[_0x2eef6d(0x1ac)]);if(_0x216905&&!_0x343970[_0x2eef6d(0x14a)]&&!_0x343970[_0x2eef6d(0x178)])return _0x216905[_0x2eef6d(0x139)];const _0x4d011d=this[_0x2eef6d(0x17a)][_0x2eef6d(0x1ad)](_0x343970,{'host':this[_0x2eef6d(0x125)]});if(_0x343970[_0x2eef6d(0x128)])this[_0x2eef6d(0x132)](_0x343970['bindingToken'],_0x4d011d['workspaceId']);if(_0x2eaa21){if(!sameWorkspace(_0x4d011d[_0x2eef6d(0x193)],_0x2eaa21['workspace']))fail(_0x2eef6d(0x135));return _0x2eaa21;}if(this[_0x2eef6d(0x174)][_0x2eef6d(0x16d)](_0x343970[_0x2eef6d(0x1ac)])){const _0x34934f=this['initializing']['get'](_0x343970[_0x2eef6d(0x1ac)]);if(!sameWorkspace(_0x34934f[_0x2eef6d(0x193)],_0x4d011d[_0x2eef6d(0x193)]))fail(_0x2eef6d(0x135));return _0x34934f['promise'];}const _0x42dc88={};_0x42dc88[_0x2eef6d(0x14e)]=this[_0x2eef6d(0x14e)],_0x42dc88[_0x2eef6d(0x1ac)]=_0x343970[_0x2eef6d(0x1ac)],_0x42dc88[_0x2eef6d(0x193)]=_0x4d011d[_0x2eef6d(0x193)],_0x42dc88[_0x2eef6d(0x14a)]=_0x4d011d[_0x2eef6d(0x14a)],_0x42dc88[_0x2eef6d(0x12d)]=_0x2eef6d(0x199),_0x42dc88[_0x2eef6d(0x1b0)]='caller-selected',_0x42dc88[_0x2eef6d(0x1b1)]=_0x2eef6d(0x14f);const _0x4b5df5=_0x42dc88,_0x4958bf=((async()=>{const _0x33533a=_0x2eef6d;if(typeof this[_0x33533a(0x166)]!==_0x33533a(0x136))fail(_0x33533a(0x144));const _0x108ca9=_0x4d011d['profiles']?.[this[_0x33533a(0x125)]]||{},_0x394923=await this['runtimeFactory'](_0x4b5df5,this[_0x33533a(0x12a)]||{},_0x108ca9);try{if(_0x4123d2['lease'])await require(_0x33533a(0x142))[_0x33533a(0x188)](_0x4123d2[_0x33533a(0x1b7)]);}catch(_0x3a3591){await _0x394923[_0x33533a(0x17f)]();throw _0x3a3591;}this['stopped']&&(await _0x394923[_0x33533a(0x17f)](),fail(_0x33533a(0x182)));const _0x1ea6c9={..._0x4b5df5};_0x1ea6c9[_0x33533a(0x154)]=_0x394923,_0x1ea6c9[_0x33533a(0x159)]=_0x108ca9;const _0x5a49c8=_0x1ea6c9;return _0x4123d2[_0x33533a(0x1b7)]?.[_0x33533a(0x16e)](),this[_0x33533a(0x15a)]['set'](_0x343970[_0x33533a(0x1ac)],_0x5a49c8),_0x5a49c8;})()),_0x56f471={};_0x56f471[_0x2eef6d(0x193)]=_0x4d011d[_0x2eef6d(0x193)],_0x56f471['promise']=_0x4958bf,this['initializing']['set'](_0x343970[_0x2eef6d(0x1ac)],_0x56f471);try{return await _0x4958bf;}finally{this['initializing'][_0x2eef6d(0x16b)](_0x343970[_0x2eef6d(0x1ac)]);}}[_0x24788c(0x177)](_0x39cfce){const _0x11b0ae=_0x24788c;for(const [_0x340be8,_0x2afaf1]of this[_0x11b0ae(0x17e)])if(_0x2afaf1['expiresAt']<Date[_0x11b0ae(0x168)]())this['bindingSelections']['delete'](_0x340be8);if(this[_0x11b0ae(0x17e)][_0x11b0ae(0x13b)]>=0x1000)fail('GATEWAY_SELECTION_LIMIT');const _0x2ccb72=this['connectionId']+'.'+crypto['randomBytes'](0x20)['toString'](_0x11b0ae(0x15f));this[_0x11b0ae(0x17e)]['set'](_0x2ccb72,{'workspaceId':_0x39cfce[_0x11b0ae(0x14a)],'expiresAt':Date['now']()+0xdbba0});const _0x37c1f0={};return _0x37c1f0[_0x11b0ae(0x14a)]=_0x39cfce[_0x11b0ae(0x14a)],_0x37c1f0[_0x11b0ae(0x193)]=_0x39cfce[_0x11b0ae(0x193)],_0x37c1f0[_0x11b0ae(0x128)]=_0x2ccb72,_0x37c1f0;}[_0x24788c(0x132)](_0x5ba1a5,_0x46a875){const _0x4ab0fd=_0x24788c,_0x404995=this[_0x4ab0fd(0x17e)][_0x4ab0fd(0x17c)](_0x5ba1a5);if(!_0x404995||_0x404995[_0x4ab0fd(0x1a6)]<Date['now']()||_0x404995[_0x4ab0fd(0x14a)]!==_0x46a875)fail(_0x4ab0fd(0x13c),_0x4ab0fd(0x183));return _0x404995;}[_0x24788c(0x148)](_0x270d30){const _0x1b0f35=_0x24788c;let _0x33b59d;if(_0x270d30['sessionId'])_0x33b59d=this[_0x1b0f35(0x15a)][_0x1b0f35(0x17c)](_0x270d30[_0x1b0f35(0x1ac)]);else{if(this[_0x1b0f35(0x15a)][_0x1b0f35(0x13b)]===0x1)_0x33b59d=this['sessions'][_0x1b0f35(0x1a8)]()['next']()[_0x1b0f35(0x1ab)];else{if(this['sessions'][_0x1b0f35(0x13b)]>0x1)fail(_0x1b0f35(0x169),_0x1b0f35(0x1a5));}}if(!_0x33b59d)fail(_0x1b0f35(0x194),_0x1b0f35(0x1b4));if(_0x270d30[_0x1b0f35(0x14a)]||_0x270d30['workspacePath']){const _0x25477a=this[_0x1b0f35(0x17a)]['resolve'](_0x270d30,{'host':this['host']});if(!sameWorkspace(_0x25477a[_0x1b0f35(0x193)],_0x33b59d[_0x1b0f35(0x193)]))fail('WORKSPACE_BINDING_CONFLICT');}if(_0x270d30[_0x1b0f35(0x195)]&&!sameWorkspace(_0x270d30[_0x1b0f35(0x195)],_0x33b59d[_0x1b0f35(0x193)]))fail(_0x1b0f35(0x135));return _0x33b59d;}async[_0x24788c(0x13e)](_0xcb3e1c){const _0x555784=_0x24788c;if(this[_0x555784(0x1b2)])fail(_0x555784(0x182));const {id:_0x32d58e,method:_0x42e8a6,params:params={}}=_0xcb3e1c,_0xc59756=_0x1f36e5=>({'jsonrpc':_0x555784(0x187),'id':_0x32d58e,'result':_0x1f36e5});if(_0x42e8a6===_0x555784(0x12a)||_0x42e8a6==='server/discover'){const _0x2da08d=[_0x555784(0x138),_0x555784(0x162),'2025-06-18',_0x555784(0x143)],_0x1b0124=_0x2da08d[_0x555784(0x19e)](params['protocolVersion'])?params[_0x555784(0x19d)]:_0x2da08d['at'](-0x1),_0x296a39={...params};_0x296a39[_0x555784(0x19d)]=_0x1b0124,this[_0x555784(0x12a)]=_0x296a39;const _0x54b681={};_0x54b681['listChanged']=!![];const _0x4a83d0={};return _0x4a83d0[_0x555784(0x14b)]=_0x54b681,_0xc59756({'protocolVersion':_0x1b0124,'capabilities':_0x4a83d0,'serverInfo':{'name':_0x555784(0x199),'version':require(_0x555784(0x192))[_0x555784(0x1a0)]},'instructions':_0x555784(0x16f)});}if(_0x42e8a6===_0x555784(0x146))return _0xc59756({'tools':structuredClone(this[_0x555784(0x173)])});if(_0x42e8a6===_0x555784(0x12f))return _0xc59756({});if(_0x42e8a6===_0x555784(0x196))return null;const _0x59b5b8={};_0x59b5b8[_0x555784(0x129)]=-0x7f59,_0x59b5b8[_0x555784(0x16c)]=_0x555784(0x145);if(_0x42e8a6!==_0x555784(0x127))return _0x32d58e===undefined?null:{'jsonrpc':'2.0','id':_0x32d58e,'error':_0x59b5b8};try{const _0x4a8c63=params['arguments']||{};if(Array[_0x555784(0x15d)](_0x4a8c63)||typeof _0x4a8c63!==_0x555784(0x151))fail(_0x555784(0x1a4));validateIdentity(_0x4a8c63);if(params[_0x555784(0x152)]!==_0x555784(0x131)&¶ms[_0x555784(0x152)]!=='mcp_agent_health'&&require(_0x555784(0x13d))[_0x555784(0x179)](params[_0x555784(0x152)])&&!_0x4a8c63[_0x555784(0x1ac)])fail(_0x555784(0x1aa),_0x555784(0x133));const _0x43f5a2=this[_0x555784(0x173)][_0x555784(0x1af)](_0x317c19=>_0x317c19[_0x555784(0x152)]===params[_0x555784(0x152)]);if(!_0x43f5a2){const _0x3f05be=require(_0x555784(0x18d))[_0x555784(0x140)](params[_0x555784(0x152)]);if(_0x3f05be&&_0x3f05be[_0x555784(0x181)]!=='_builtin'){const _0x102be4={};_0x102be4[_0x555784(0x181)]=_0x3f05be[_0x555784(0x181)],_0x102be4['sessionId']=_0x4a8c63[_0x555784(0x1ac)];const _0x415159={};_0x415159[_0x555784(0x18a)]=_0x555784(0x163),_0x415159[_0x555784(0x19c)]=_0x102be4;const _0x112fc9={};_0x112fc9[_0x555784(0x129)]=_0x555784(0x167),_0x112fc9[_0x555784(0x184)]=_0x415159;const _0x34f945=Object[_0x555784(0x180)](new Error(_0x555784(0x1b3)),_0x112fc9);throw _0x34f945;}fail(_0x555784(0x147),'This\x20gateway\x20has\x20no\x20verified\x20catalog\x20for\x20that\x20tool.');}if(params[_0x555784(0x152)]===_0x555784(0x131))return _0xc59756(content({'workspaces':this[_0x555784(0x17a)][_0x555784(0x19b)]()['filter'](_0x28fc4c=>!this['host']||_0x28fc4c[_0x555784(0x160)]['includes'](this['host']))['map'](_0x129486=>this[_0x555784(0x177)](_0x129486)),'connectionId':this[_0x555784(0x14e)]}));if(params[_0x555784(0x152)]===_0x555784(0x163)&&!_0x4a8c63[_0x555784(0x1ac)]&&!_0x4a8c63[_0x555784(0x181)])return _0xc59756(content({'registration':_0x555784(0x199),'connectionId':this[_0x555784(0x14e)],'boundSessions':this[_0x555784(0x15a)][_0x555784(0x13b)],'backendsStartedByDiscovery':0x0,'serving':_0x555784(0x141),'version':require('../../package.json')['version']}));for(const _0x46b1d9 of _0x43f5a2['inputSchema'][_0x555784(0x130)]||[])if(_0x4a8c63[_0x46b1d9]===undefined&&_0x46b1d9!==_0x555784(0x1ac))fail(_0x555784(0x190)+_0x46b1d9['replace'](/([a-z])([A-Z])/g,_0x555784(0x156))[_0x555784(0x13f)](),_0x555784(0x161)+_0x46b1d9+'.');const _0x2069a4=params[_0x555784(0x152)]===_0x555784(0x176)?await this[_0x555784(0x197)](_0x4a8c63):this[_0x555784(0x148)](_0x4a8c63);if(_0x2069a4['profile']?.[_0x555784(0x14b)]?.[params[_0x555784(0x152)]]?.['enabled']===![])fail(_0x555784(0x12b));const _0x444fda={..._0x4a8c63};_0x444fda[_0x555784(0x1ac)]=_0x2069a4[_0x555784(0x1ac)];const _0x596214=_0x444fda,_0x2474e8={...params};_0x2474e8[_0x555784(0x19c)]=_0x596214;const _0x2ab099={..._0xcb3e1c};_0x2ab099['params']=_0x2474e8;const _0x2d4c3e=await _0x2069a4[_0x555784(0x154)][_0x555784(0x15c)](_0x2ab099);if(params[_0x555784(0x152)]===_0x555784(0x163)&&_0x4a8c63[_0x555784(0x181)]&&!_0x2d4c3e[_0x555784(0x155)]){const _0x21b730={};_0x21b730['method']='tools/list',_0x21b730[_0x555784(0x1a7)]={};const _0x41285d=await _0x2069a4['runtime'][_0x555784(0x15c)](_0x21b730);let _0x37c536=![];for(const _0x2d6f6b of _0x41285d[_0x555784(0x14b)]||[]){if(require(_0x555784(0x18d))[_0x555784(0x140)](_0x2d6f6b[_0x555784(0x152)])?.[_0x555784(0x181)]!==_0x4a8c63[_0x555784(0x181)])continue;const _0x596524=require(_0x555784(0x189))[_0x555784(0x134)](structuredClone(_0x2d6f6b)),_0x2e30c4=this[_0x555784(0x173)][_0x555784(0x1af)](_0x4614d7=>_0x4614d7[_0x555784(0x152)]===_0x596524['name']);if(_0x2e30c4&&JSON['stringify'](_0x2e30c4[_0x555784(0x175)])!==JSON[_0x555784(0x16a)](_0x596524[_0x555784(0x175)]))fail(_0x555784(0x13a));!_0x2e30c4&&(this[_0x555784(0x173)][_0x555784(0x137)](_0x596524),_0x37c536=!![]);}if(_0x37c536)this[_0x555784(0x19f)]();}return _0xc59756(_0x2d4c3e);}catch(_0x4a61a9){const _0x137170={};return _0x137170[_0x555784(0x18a)]=_0x555784(0x131),_0x137170[_0x555784(0x1a1)]=_0x555784(0x176),_0x137170[_0x555784(0x130)]=[_0x555784(0x1ac),_0x555784(0x14a)],_0xc59756({...content({'success':![],'code':_0x4a61a9[_0x555784(0x129)]||_0x555784(0x1a9),'error':_0x4a61a9[_0x555784(0x16c)],'recovery':_0x4a61a9['recovery']||([_0x555784(0x194),'WORKSPACE_AMBIGUOUS',_0x555784(0x186)][_0x555784(0x19e)](_0x4a61a9['code'])?_0x137170:undefined)}),'isError':!![]});}}async[_0x24788c(0x17f)](){const _0x21e6c5=_0x24788c;this[_0x21e6c5(0x1b2)]=!![],await Promise[_0x21e6c5(0x170)]([...this[_0x21e6c5(0x174)][_0x21e6c5(0x1a8)]()]['map'](_0x15cb73=>_0x15cb73['promise']));const _0x3d7d4c=await Promise[_0x21e6c5(0x170)]([...this[_0x21e6c5(0x15a)][_0x21e6c5(0x1a8)]()][_0x21e6c5(0x158)](_0x3e45c3=>_0x3e45c3[_0x21e6c5(0x154)][_0x21e6c5(0x17f)]())),_0x361a15=_0x3d7d4c[_0x21e6c5(0x1af)](_0x23185b=>_0x23185b[_0x21e6c5(0x150)]===_0x21e6c5(0x126));if(_0x361a15)throw _0x361a15[_0x21e6c5(0x18c)];this['sessions'][_0x21e6c5(0x165)]();}}const _0x38e29f={};_0x38e29f[_0x24788c(0x1a2)]=WorkspaceGateway,_0x38e29f['validateIdentity']=validateIdentity,module['exports']=_0x38e29f;
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
|
|
5
5
|
For Figma and Stitch tool names and authentication, read `docs/agents/design-config.md` when working on design tasks.
|
|
6
6
|
|
|
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. This coordinator declaration permits a request, but is not a host-observed model receipt. An absent capability field means unknown, not a permanent denial.
|
|
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
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.
|
|
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
|
-
- Start: `pipeline_start(pipeline, task, workspace, acceptanceCriteria, scope, qualityPlan, productImpact, sessionId)` creates a versioned run. 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. 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. 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.
|
|
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. 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.
|
|
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. 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 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_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
14
|
- 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.
|