apt-mcp-agent-setup 3.3.0 → 3.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/bin/cli.js +1 -1
  2. package/bundle/NOTICES.md +0 -0
  3. package/bundle/core.enc +0 -0
  4. package/bundle/mcp-rules.enc +0 -0
  5. package/bundle/skills-aso.enc +0 -0
  6. package/bundle/skills-ba.enc +0 -0
  7. package/bundle/skills-base.enc +0 -0
  8. package/bundle/skills-be.enc +0 -0
  9. package/bundle/skills-design.enc +0 -0
  10. package/bundle/skills-fe.enc +0 -0
  11. package/bundle/skills-mobile.enc +0 -0
  12. package/bundle/skills-pm.enc +0 -0
  13. package/integrity-manifest.json +105 -69
  14. package/package.json +2 -2
  15. package/release-check.js +30 -23
  16. package/src/backends/browser-tools.js +1 -1
  17. package/src/backends/index-command.js +1 -1
  18. package/src/backends/index-store.js +1 -1
  19. package/src/backends/profiles.js +1 -1
  20. package/src/core/admission-fence.js +1 -0
  21. package/src/core/aso-import.js +1 -1
  22. package/src/core/caller-context.js +1 -0
  23. package/src/core/catalog.js +1 -1
  24. package/src/core/claude-caller-authority.js +1 -0
  25. package/src/core/claude-invocation.js +1 -0
  26. package/src/core/claude-native.js +1 -0
  27. package/src/core/claude-worker-transcript.js +1 -0
  28. package/src/core/codex-host-metadata.js +1 -1
  29. package/src/core/codex-transcript-receipt.js +1 -0
  30. package/src/core/context-metrics.js +1 -1
  31. package/src/core/doctor.js +1 -1
  32. package/src/core/draining-completion.js +1 -0
  33. package/src/core/execution.js +1 -1
  34. package/src/core/hook-bridge.js +1 -1
  35. package/src/core/host-adapters.js +1 -1
  36. package/src/core/ipc-envelope.js +1 -0
  37. package/src/core/memory-store.js +1 -1
  38. package/src/core/model-inventory.js +1 -1
  39. package/src/core/model-routing.js +1 -1
  40. package/src/core/native-dispatch.js +1 -1
  41. package/src/core/node-version.js +1 -0
  42. package/src/core/npm-cli.js +1 -1
  43. package/src/core/owned-lock.js +1 -1
  44. package/src/core/presentations.js +1 -1
  45. package/src/core/quality-artifacts.js +1 -0
  46. package/src/core/quality.js +1 -1
  47. package/src/core/resource-transaction.js +1 -0
  48. package/src/core/run-compatibility.js +1 -0
  49. package/src/core/runtime-info.js +1 -1
  50. package/src/core/runtime-ownership.js +1 -0
  51. package/src/core/session.js +1 -1
  52. package/src/core/skill-companions.js +1 -0
  53. package/src/core/skill-names.js +1 -1
  54. package/src/core/tool-contracts.js +1 -0
  55. package/src/core/update-control.js +1 -0
  56. package/src/core/workspace-generation.js +1 -0
  57. package/src/core/workspace-path.js +1 -1
  58. package/src/installer/bounded-command.js +1 -1
  59. package/src/installer/candidate-preflight.js +1 -0
  60. package/src/installer/connection-activation.js +1 -0
  61. package/src/installer/connection-supervisor.js +1 -0
  62. package/src/installer/deployment-draft.js +1 -0
  63. package/src/installer/gateway-context.js +1 -0
  64. package/src/installer/gateway-migration.js +1 -0
  65. package/src/installer/gateway-runtime.js +1 -0
  66. package/src/installer/global-setup.js +1 -1
  67. package/src/installer/hook-context-client.js +1 -0
  68. package/src/installer/hook-dispatcher.js +51 -0
  69. package/src/installer/host-hooks.js +1 -1
  70. package/src/installer/managed-config.js +1 -1
  71. package/src/installer/platform-config.js +1 -1
  72. package/src/installer/prerequisites.js +1 -1
  73. package/src/installer/presentations.js +1 -1
  74. package/src/installer/project-setup.js +1 -1
  75. package/src/installer/registration-plan.js +1 -0
  76. package/src/installer/registration-receipt.js +1 -1
  77. package/src/installer/registrations.js +1 -1
  78. package/src/installer/runtime-activation.js +1 -1
  79. package/src/installer/runtime-child.js +1 -0
  80. package/src/installer/runtime-launcher.js +50 -5
  81. package/src/installer/runtime-lock.js +1 -1
  82. package/src/installer/runtime-store.js +1 -1
  83. package/src/installer/runtime-supervisor.js +1 -1
  84. package/src/installer/setup-wizard.js +1 -1
  85. package/src/installer/update-addons.js +1 -0
  86. package/src/installer/update-executor.js +1 -0
  87. package/src/installer/workspace-registry.js +1 -0
  88. package/src/installer/workspace-transaction.js +1 -0
  89. package/src/installer/workspace-update.js +1 -0
  90. package/src/license/crypto.js +1 -1
  91. package/src/license/fingerprint.js +1 -1
  92. package/src/license/terms.js +1 -1
  93. package/src/license/verify.js +1 -1
  94. package/src/presets/index.js +1 -1
  95. package/src/proxy/backends.js +1 -1
  96. package/src/proxy/browser-sessions.js +1 -1
  97. package/src/proxy/core-tools.js +1 -1
  98. package/src/proxy/pipeline.js +1 -1
  99. package/src/proxy/public-catalog.js +1 -0
  100. package/src/proxy/router.config.js +1 -1
  101. package/src/proxy/router.js +1 -1
  102. package/src/proxy/server.js +1 -1
  103. package/src/proxy/workspace-gateway.js +1 -0
  104. package/src/templates/apt-runtime.md +12 -4
  105. package/src/templates/mcp-tools.md +9 -9
@@ -0,0 +1 @@
1
+ 'use strict';function _0x1dd8(){const _0x1ace79=['y2f0ywXVzW','ChvZAa','r0furvDbwv9svu5usu1fx1voqvzbsuXbqKXf','BMfTzq','B2jQzwn0','zNvUy3rPB24','z2v0','lI4Vy29Yzs90B29SlwnVBNrYywn0CW','BMf0AxzLswrLBNrPDhK','lI9WDwjSAwmTy2f0ywXVzW','CMvXDwvZDa','CNvUDgLTzuzHy3rVCNK','su5wquXjrf9buKDvtuvovfm','DMfSAwrHDgvjzgvUDgL0Eq','BM9KztPJCNLWDg8','Ag9ZDhm','BgLZDenOyw5Nzwq','Dg9VBhmVBgLZDa','Dgv4Da','CMvZB2X2zq','C3rYAw5NAwz5','v09ss1nqqunfx0fnqKLhvu9vuW','ChjVDMvUyw5Jzq','ChjVBwLZzq','y29Kzq','y2XVC2u','lI4Vy29Yzs9JywXSzxiTy29UDgv4Da','Dg9VBhmVy2fSBa','Aw5PDgLHBgL6zq','nZu2mZm0mLHOCeLPBa','C2vZC2LVBKLK','mtyWndeWmhrTshb5AW','Cgf0DgvYBG','v09ss1nqqunfx0jjtKrjtKDFq09orKXjq1q','ChjVAMvJDfbHDgG','mJy2z2jfs0zu','yxnZAwDU','C3rYAw5N','BM90AwzPy2f0Aw9UCY9PBML0AwfSAxPLza','CNvUDgLTzq','r0furvDbwv9srvfvrvnux0zbsuXfra','y2XLyxi','oteZmZy1t2Dns1zz','AgfZ','mJaYns0WnI0Xoa','BwvZC2fNzq','jdfFjdi','yMLUzgLUz1rVA2vU','zMLSDgvY','zMLUza','yMfJA2vUza','vgHPCYbNyxrLD2f5igHHCYbUBYb2zxjPzMLLzcbJyxrHBg9NigzVCIb0Agf0ihrVB2WU','CMvHC29U','AxnbCNjHEq','CMvNAxn0CNK','CMvNAxn0CMf0Aw9U','mI4W','zxHWAxjLC0f0','DMfSDwvZ','CMvJB3zLCNK','Bwf4tgvUz3rO','ndaZmJGZBffxA3bX','mJaYns0WmY0YnG','yMfZzty0DxjS','C2vUC2L0AxzLvg9VBa','uMvXDwLYzwqGzMLLBgq6ia','q2fSBcb3B3jRC3bHy2vFBgLZDcbVBIb0AgLZignVBM5Ly3rPB24Gyw5KihvZzsbPDhmGy3vYCMvUDcbIAw5KAw5Nvg9Rzw4U','C2vZC2LVBNm','y29UBMvJDgLVBKLK','C2L6zq','DgHLBG','r0furvDbwv9dte9truq','yMLUza','ve9ptf9ot1rFqvzbsuXbqKXf','ChjVDg9JB2XwzxjZAw9U','q0fuquXpr19tq0HftufFq09orKXjq1q','lI4Vy29Yzs93B3jRC3bHy2uTCgf0Aa','BM93','C3rVChbLza','nNHvrvHrta','mJaYnc0Xms0Wnq','x2j1AwX0Aw4','C2vZC2LVBL9IB290C3rYyxa','q2fSBcb3B3jRC3bHy2vFBgLZDcWGDgHLBIbZzxnZAw9Ux2jVB3rZDhjHCcb3AxrOihnLC3nPB25jzcbHBMqGD29YA3nWywnLswqU','BgLZDa','CgLUzW','DgvZDa','yxb0lw1JCc1Hz2vUDa','twv0Ag9Kig5VDcbMB3vUza','ugfZCYbZzxnZAw9Uswq7ihrOAxmGy29UBMvJDgLVBIbZzxj2zxmGBxvSDgLWBguGChjVAMvJDcbZzxnZAw9UCY4','B25dyxrHBg9Nq2HHBMDLza','qKfds0vorf9dqvrbte9hx0rju0npvKvswv9srvfvsvjfra','lI9YB3v0zxi','ChjVzMLSzxm','Aw5PDgLHBgL6Aw5N','ywXSu2v0DgXLza','C3rHDhvZ','yMLUzgLUz1nLBgvJDgLVBNm','z2f0zxDHEq','CMvWBgfJzq','CMvXDwLYzwq','CMfUzg9Tvvvjra','v09ss1nqqunfx05pvf9sruDju1rfuKve','CNvUswq','zgvSzxrL','C2v0','nte2mJK3nMTRBLvjAG','zxHWB3j0CW','Dw5JB25MAxjTzwq','D29YA3nWywnLx2XPC3q','y2fSBgvYlxnLBgvJDgvK','v09ss1nqqunfx0jjtKrjtKDFuKvrvuLsruq','D29YA3nWywnL','DgfZAW','zw5HyMXLza','zgvJB3jHDgvhyxrLD2f5vg9VBa','CgfYyw1Z','mJG0mdCYngTivhHcrW','BwfW','yxjNDw1LBNrZ','D29YA3nWywnLugf0Aa','D29YA3nWywnLswq','C2vSzwn0Aw9U','mJy4ndK2BejYwNHy','lI4VlI4VCgfJA2fNzs5QC29U','BMv4Da','C2vSzwn0zwq','BwnWx2fNzw50x2HLywX0Aa','vgHPCYbHzgrVBIbUzwvKCYbPBNrLBNrPB25HBcbJyxrHBg9NigrPC2nVDMvYEtSGy2fSBcbTy3bFywDLBNrFAgvHBhrOihDPDgGGAxrZigjHy2TLBMqGyw5KihnLC3nPB25jzc4','CMvXDwvZDeLK','ChjVzMLSzq','DhjPBq','su5wquXjrf8','DMvYC2LVBG','u0vtu0LptL9jrf9srvfvsvjfra','Dg9VBa','Aw5JBhvKzxm','Dg9VBhm','Dg9vChbLCKnHC2u','BwfWrxHWB3nLzfrVt3jPz2LUywW','Aw5WDxrty2HLBwe','C2vYDMvYl2rPC2nVDMvY','Ag9ZDa','zw50CMLLCW'];_0x1dd8=function(){return _0x1ace79;};return _0x1dd8();}const _0x166441=_0x5722;(function(_0x3edfb8,_0x3e17ed){const _0x17d737=_0x5722,_0x197e19=_0x3edfb8();while(!![]){try{const _0x5f314f=parseInt(_0x17d737(0x1b4))/0x1*(parseInt(_0x17d737(0x1c6))/0x2)+-parseInt(_0x17d737(0x196))/0x3+parseInt(_0x17d737(0x15c))/0x4+-parseInt(_0x17d737(0x1a1))/0x5+-parseInt(_0x17d737(0x194))/0x6+parseInt(_0x17d737(0x19a))/0x7*(parseInt(_0x17d737(0x162))/0x8)+-parseInt(_0x17d737(0x1e1))/0x9;if(_0x5f314f===_0x3e17ed)break;else _0x197e19['push'](_0x197e19['shift']());}catch(_0x3783b1){_0x197e19['push'](_0x197e19['shift']());}}}(_0x1dd8,0x9d2d0));const crypto=require(_0x166441(0x185)),{WorkspaceRegistry}=require('../installer/workspace-registry'),{gatewayCatalog}=require(_0x166441(0x180)),{sameWorkspace}=require(_0x166441(0x1c3)),contracts=require(_0x166441(0x17e)),fail=(_0x3c608d,_0x8a2762=_0x3c608d)=>{const _0x34fd6a=_0x166441,_0x30136a={};_0x30136a[_0x34fd6a(0x18f)]=_0x3c608d;throw Object[_0x34fd6a(0x19b)](new Error(_0x8a2762),_0x30136a);},content=_0x4844e4=>({'content':[{'type':_0x166441(0x189),'text':JSON['stringify'](_0x4844e4)}]});function validateIdentity(_0x10d4ac){const _0xe8aaea=_0x166441,_0x43cfb9={};_0x43cfb9['sessionId']=contracts[_0xe8aaea(0x195)],_0x43cfb9[_0xe8aaea(0x168)]=contracts['requestId'],_0x43cfb9[_0xe8aaea(0x1e8)]=contracts['task'],_0x43cfb9[_0xe8aaea(0x1de)]=contracts[_0xe8aaea(0x1de)];for(const [_0x1556cf,_0x54cba7]of Object[_0xe8aaea(0x176)](_0x43cfb9)){if(_0x10d4ac[_0x1556cf]===undefined)continue;const _0x455b40=_0x10d4ac[_0x1556cf];if(typeof _0x455b40!==_0xe8aaea(0x19c)||!_0x455b40[_0xe8aaea(0x16a)]()||_0x455b40['length']>_0x54cba7[_0xe8aaea(0x1b3)]||_0x54cba7['pattern']&&!new RegExp(_0x54cba7[_0xe8aaea(0x197)])[_0xe8aaea(0x1cd)](_0x455b40))fail(_0xe8aaea(0x16b)+_0x1556cf[_0xe8aaea(0x1da)](/([a-z])([A-Z])/g,_0xe8aaea(0x1a5))[_0xe8aaea(0x171)](),_0x54cba7['description']);}}function _0x5722(_0x328645,_0x545a37){_0x328645=_0x328645-0x15a;const _0x1dd876=_0x1dd8();let _0x5722fd=_0x1dd876[_0x328645];if(_0x5722['TdHiVa']===undefined){var _0x5eb818=function(_0x303e86){const _0x4f4927='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3198c7='',_0x3da83b='';for(let _0x475cf5=0x0,_0x54a131,_0x75f553,_0x17629f=0x0;_0x75f553=_0x303e86['charAt'](_0x17629f++);~_0x75f553&&(_0x54a131=_0x475cf5%0x4?_0x54a131*0x40+_0x75f553:_0x75f553,_0x475cf5++%0x4)?_0x3198c7+=String['fromCharCode'](0xff&_0x54a131>>(-0x2*_0x475cf5&0x6)):0x0){_0x75f553=_0x4f4927['indexOf'](_0x75f553);}for(let _0x54192a=0x0,_0x385f4a=_0x3198c7['length'];_0x54192a<_0x385f4a;_0x54192a++){_0x3da83b+='%'+('00'+_0x3198c7['charCodeAt'](_0x54192a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3da83b);};_0x5722['AlNdxh']=_0x5eb818,_0x5722['CrFDAm']={},_0x5722['TdHiVa']=!![];}const _0x3c1aa8=_0x1dd876[0x0],_0x390a66=_0x328645+_0x3c1aa8,_0x1fe46e=_0x5722['CrFDAm'][_0x390a66];return!_0x1fe46e?(_0x5722fd=_0x5722['AlNdxh'](_0x5722fd),_0x5722['CrFDAm'][_0x390a66]=_0x5722fd):_0x5722fd=_0x1fe46e,_0x5722fd;}class WorkspaceGateway{constructor(_0xd46d40={}){const _0x510ce4=_0x166441;this[_0x510ce4(0x1ad)]=_0xd46d40[_0x510ce4(0x1ad)]||new WorkspaceRegistry(),this[_0x510ce4(0x182)]=_0xd46d40[_0x510ce4(0x182)],this['host']=_0xd46d40[_0x510ce4(0x175)]||null,this[_0x510ce4(0x1bb)]=_0xd46d40[_0x510ce4(0x1bb)]||crypto[_0x510ce4(0x1dc)](),this[_0x510ce4(0x1ba)]=new Map(),this[_0x510ce4(0x1d5)]=new Map(),this['bindingSelections']=new Map(),this[_0x510ce4(0x177)]=gatewayCatalog(),this[_0x510ce4(0x1d1)]=_0xd46d40[_0x510ce4(0x1d1)]||(()=>{}),this['initialize']=null,this[_0x510ce4(0x1c5)]=![];}async[_0x166441(0x1bf)](_0x3adee0){const _0x16ea3f=_0x166441;if(!_0x3adee0[_0x16ea3f(0x195)])fail(_0x16ea3f(0x16d),'Pass\x20the\x20same\x20nonempty\x20sessionId\x20throughout\x20this\x20chat.');const _0x4a58fc=this['sessions']['get'](_0x3adee0['sessionId']);if(_0x4a58fc&&!_0x3adee0[_0x16ea3f(0x160)]&&!_0x3adee0['workspacePath'])return _0x4a58fc;const _0x506a6b=this['initializing'][_0x16ea3f(0x17d)](_0x3adee0['sessionId']);if(_0x506a6b&&!_0x3adee0[_0x16ea3f(0x160)]&&!_0x3adee0[_0x16ea3f(0x15f)])return _0x506a6b[_0x16ea3f(0x18e)];const _0x331e80=this['registry'][_0x16ea3f(0x18a)](_0x3adee0,{'host':this[_0x16ea3f(0x175)]});if(_0x3adee0[_0x16ea3f(0x1a6)])this['verifySelection'](_0x3adee0[_0x16ea3f(0x1a6)],_0x331e80[_0x16ea3f(0x160)]);if(_0x4a58fc){if(!sameWorkspace(_0x331e80[_0x16ea3f(0x1e7)],_0x4a58fc[_0x16ea3f(0x1e7)]))fail('WORKSPACE_BINDING_CONFLICT');return _0x4a58fc;}if(this[_0x16ea3f(0x1d5)][_0x16ea3f(0x1a2)](_0x3adee0[_0x16ea3f(0x195)])){const _0x4d48c2=this[_0x16ea3f(0x1d5)][_0x16ea3f(0x17d)](_0x3adee0['sessionId']);if(!sameWorkspace(_0x4d48c2[_0x16ea3f(0x1e7)],_0x331e80[_0x16ea3f(0x1e7)]))fail(_0x16ea3f(0x198));return _0x4d48c2[_0x16ea3f(0x18e)];}const _0x37291c={};_0x37291c[_0x16ea3f(0x1bb)]=this[_0x16ea3f(0x1bb)],_0x37291c[_0x16ea3f(0x195)]=_0x3adee0['sessionId'],_0x37291c['workspace']=_0x331e80[_0x16ea3f(0x1e7)],_0x37291c['workspaceId']=_0x331e80[_0x16ea3f(0x160)],_0x37291c[_0x16ea3f(0x1ae)]=_0x16ea3f(0x1ce),_0x37291c[_0x16ea3f(0x18d)]=_0x16ea3f(0x1e5),_0x37291c[_0x16ea3f(0x17f)]=_0x16ea3f(0x1e3);const _0x49cc7a=_0x37291c,_0x3df53b=((async()=>{const _0x42d968=_0x16ea3f;if(typeof this['runtimeFactory']!==_0x42d968(0x17c))fail(_0x42d968(0x179));const _0xa3d114=_0x331e80[_0x42d968(0x1d4)]?.[this[_0x42d968(0x175)]]||{},_0x56fe63=await this['runtimeFactory'](_0x49cc7a,this[_0x42d968(0x193)]||{},_0xa3d114);this[_0x42d968(0x1c5)]&&(await _0x56fe63['close'](),fail('GATEWAY_CLOSED'));const _0x4c06f3={..._0x49cc7a};_0x4c06f3['runtime']=_0x56fe63,_0x4c06f3[_0x42d968(0x169)]=_0xa3d114;const _0x1501ed=_0x4c06f3;return this['sessions']['set'](_0x3adee0[_0x42d968(0x195)],_0x1501ed),_0x1501ed;})()),_0x15ed3b={};_0x15ed3b[_0x16ea3f(0x1e7)]=_0x331e80[_0x16ea3f(0x1e7)],_0x15ed3b[_0x16ea3f(0x18e)]=_0x3df53b,this[_0x16ea3f(0x1d5)][_0x16ea3f(0x1e0)](_0x3adee0['sessionId'],_0x15ed3b);try{return await _0x3df53b;}finally{this['initializing']['delete'](_0x3adee0[_0x16ea3f(0x195)]);}}[_0x166441(0x161)](_0x2f5847){const _0x3feeb0=_0x166441;for(const [_0x32950a,_0x6b9ab0]of this[_0x3feeb0(0x1d8)])if(_0x6b9ab0[_0x3feeb0(0x1b0)]<Date[_0x3feeb0(0x1c4)]())this[_0x3feeb0(0x1d8)][_0x3feeb0(0x1df)](_0x32950a);if(this['bindingSelections']['size']>=0x1000)fail('GATEWAY_SELECTION_LIMIT');const _0x4fe89b=this[_0x3feeb0(0x1bb)]+'.'+crypto['randomBytes'](0x20)['toString'](_0x3feeb0(0x1b6));this[_0x3feeb0(0x1d8)][_0x3feeb0(0x1e0)](_0x4fe89b,{'workspaceId':_0x2f5847[_0x3feeb0(0x160)],'expiresAt':Date[_0x3feeb0(0x1c4)]()+0xdbba0});const _0x50af30={};return _0x50af30[_0x3feeb0(0x160)]=_0x2f5847[_0x3feeb0(0x160)],_0x50af30[_0x3feeb0(0x1e7)]=_0x2f5847[_0x3feeb0(0x1e7)],_0x50af30[_0x3feeb0(0x1a6)]=_0x4fe89b,_0x50af30;}['verifySelection'](_0x4328e0,_0x570a6f){const _0x5eb59e=_0x166441,_0x4b9eb1=this[_0x5eb59e(0x1d8)]['get'](_0x4328e0);if(!_0x4b9eb1||_0x4b9eb1['expiresAt']<Date[_0x5eb59e(0x1c4)]()||_0x4b9eb1[_0x5eb59e(0x160)]!==_0x570a6f)fail('GATEWAY_SELECTION_REQUIRED',_0x5eb59e(0x1b9));return _0x4b9eb1;}[_0x166441(0x165)](_0x3cb785){const _0x29ca15=_0x166441;let _0x42fd32;if(_0x3cb785[_0x29ca15(0x195)])_0x42fd32=this[_0x29ca15(0x1ba)][_0x29ca15(0x17d)](_0x3cb785[_0x29ca15(0x195)]);else{if(this[_0x29ca15(0x1ba)]['size']===0x1)_0x42fd32=this[_0x29ca15(0x1ba)][_0x29ca15(0x1b1)]()[_0x29ca15(0x164)]()['value'];else{if(this[_0x29ca15(0x1ba)][_0x29ca15(0x1bc)]>0x1)fail(_0x29ca15(0x18c),_0x29ca15(0x1d0));}}if(!_0x42fd32)fail(_0x29ca15(0x1e6),_0x29ca15(0x1ca));if(_0x3cb785['workspaceId']||_0x3cb785[_0x29ca15(0x15f)]){const _0x5b0d1b=this['registry'][_0x29ca15(0x18a)](_0x3cb785,{'host':this['host']});if(!sameWorkspace(_0x5b0d1b[_0x29ca15(0x1e7)],_0x42fd32['workspace']))fail(_0x29ca15(0x198));}if(_0x3cb785[_0x29ca15(0x199)]&&!sameWorkspace(_0x3cb785['projectPath'],_0x42fd32['workspace']))fail(_0x29ca15(0x198));return _0x42fd32;}async['handle'](_0x44a93f){const _0x218239=_0x166441;if(this[_0x218239(0x1c5)])fail(_0x218239(0x1be));const {id:_0x3b9803,method:_0x494195,params:params={}}=_0x44a93f,_0x30a439=_0x48c7dc=>({'jsonrpc':_0x218239(0x1af),'id':_0x3b9803,'result':_0x48c7dc});if(_0x494195==='initialize'||_0x494195===_0x218239(0x174)){const _0x33c65b=[_0x218239(0x1c7),_0x218239(0x1b5),_0x218239(0x1a3),'2025-11-25'],_0x35a281=_0x33c65b[_0x218239(0x16f)](params['protocolVersion'])?params[_0x218239(0x1c1)]:_0x33c65b['at'](-0x1),_0x1acc21={...params};_0x1acc21[_0x218239(0x1c1)]=_0x35a281,this[_0x218239(0x193)]=_0x1acc21;const _0x2c8b0f={};_0x2c8b0f[_0x218239(0x187)]=!![];const _0x431222={};return _0x431222[_0x218239(0x170)]=_0x2c8b0f,_0x30a439({'protocolVersion':_0x35a281,'capabilities':_0x431222,'serverInfo':{'name':_0x218239(0x1ce),'version':require(_0x218239(0x163))[_0x218239(0x16c)]},'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(_0x494195===_0x218239(0x188))return _0x30a439({'tools':structuredClone(this[_0x218239(0x177)])});if(_0x494195===_0x218239(0x1cc))return _0x30a439({});if(_0x494195===_0x218239(0x19d))return null;const _0x2a5dbf={};_0x2a5dbf[_0x218239(0x18f)]=-0x7f59,_0x2a5dbf[_0x218239(0x1a4)]=_0x218239(0x1cf);if(_0x494195!==_0x218239(0x192))return _0x3b9803===undefined?null:{'jsonrpc':'2.0','id':_0x3b9803,'error':_0x2a5dbf};try{const _0x4a096b=params[_0x218239(0x15e)]||{};if(Array[_0x218239(0x1ac)](_0x4a096b)||typeof _0x4a096b!==_0x218239(0x17b))fail(_0x218239(0x183));validateIdentity(_0x4a096b);if(params[_0x218239(0x17a)]!==_0x218239(0x1e4)&&params[_0x218239(0x17a)]!==_0x218239(0x166)&&require(_0x218239(0x191))[_0x218239(0x1b7)](params[_0x218239(0x17a)])&&!_0x4a096b[_0x218239(0x195)])fail('SESSION_ID_REQUIRED','Mutations\x20require\x20the\x20explicitly\x20bound\x20sessionId.');const _0x20adaa=this[_0x218239(0x177)][_0x218239(0x1a8)](_0x3aef5d=>_0x3aef5d[_0x218239(0x17a)]===params['name']);if(!_0x20adaa){const _0x19024f=require(_0x218239(0x1d3))['mapExposedToOriginal'](params[_0x218239(0x17a)]);if(_0x19024f&&_0x19024f[_0x218239(0x1a9)]!==_0x218239(0x1c8)){const _0xffe910={};_0xffe910['backend']=_0x19024f['backend'],_0xffe910[_0x218239(0x195)]=_0x4a096b[_0x218239(0x195)];const _0x15bb9f={};_0x15bb9f[_0x218239(0x16e)]=_0x218239(0x166),_0x15bb9f[_0x218239(0x15e)]=_0xffe910;const _0x4b9079={};_0x4b9079['code']=_0x218239(0x1d2),_0x4b9079[_0x218239(0x1b2)]=_0x15bb9f;const _0x5a9a1e=Object[_0x218239(0x19b)](new Error(_0x218239(0x167)),_0x4b9079);throw _0x5a9a1e;}fail(_0x218239(0x1c0),_0x218239(0x1aa));}if(params[_0x218239(0x17a)]==='workspace_list')return _0x30a439(content({'workspaces':this[_0x218239(0x1ad)][_0x218239(0x1cb)]()[_0x218239(0x1a7)](_0x3570ef=>!this['host']||_0x3570ef[_0x218239(0x186)][_0x218239(0x16f)](this[_0x218239(0x175)]))['map'](_0x1d4db5=>this[_0x218239(0x161)](_0x1d4db5)),'connectionId':this[_0x218239(0x1bb)]}));if(params[_0x218239(0x17a)]===_0x218239(0x166)&&!_0x4a096b[_0x218239(0x195)]&&!_0x4a096b['backend'])return _0x30a439(content({'registration':_0x218239(0x1ce),'connectionId':this[_0x218239(0x1bb)],'boundSessions':this[_0x218239(0x1ba)]['size'],'backendsStartedByDiscovery':0x0,'serving':_0x218239(0x1d9),'version':require('../../package.json')['version']}));for(const _0x27c709 of _0x20adaa['inputSchema'][_0x218239(0x1db)]||[])if(_0x4a096b[_0x27c709]===undefined&&_0x27c709!==_0x218239(0x195))fail('MISSING_'+_0x27c709[_0x218239(0x1da)](/([a-z])([A-Z])/g,_0x218239(0x1a5))[_0x218239(0x171)](),_0x218239(0x1b8)+_0x27c709+'.');const _0x1ae902=params[_0x218239(0x17a)]===_0x218239(0x1c9)?await this[_0x218239(0x1bf)](_0x4a096b):this[_0x218239(0x165)](_0x4a096b);if(_0x1ae902[_0x218239(0x169)]?.['tools']?.[params[_0x218239(0x17a)]]?.[_0x218239(0x1e9)]===![])fail('PROJECT_TOOL_DISABLED');const _0x568367={..._0x4a096b};_0x568367[_0x218239(0x195)]=_0x1ae902[_0x218239(0x195)];const _0x2e3110=_0x568367,_0x34c468={...params};_0x34c468[_0x218239(0x15e)]=_0x2e3110;const _0x1ffd36={..._0x44a93f};_0x1ffd36[_0x218239(0x15b)]=_0x34c468;const _0x21f75f=await _0x1ae902[_0x218239(0x19e)][_0x218239(0x181)](_0x1ffd36);if(params['name']==='mcp_agent_health'&&_0x4a096b[_0x218239(0x1a9)]&&!_0x21f75f['isError']){const _0x15cdb7={};_0x15cdb7['method']=_0x218239(0x188),_0x15cdb7['params']={};const _0x39d48d=await _0x1ae902[_0x218239(0x19e)][_0x218239(0x181)](_0x15cdb7);let _0x4c1edc=![];for(const _0x571a77 of _0x39d48d[_0x218239(0x170)]||[]){if(require(_0x218239(0x1d3))[_0x218239(0x172)](_0x571a77[_0x218239(0x17a)])?.[_0x218239(0x1a9)]!==_0x4a096b[_0x218239(0x1a9)])continue;const _0x44f7ed=require(_0x218239(0x180))[_0x218239(0x15a)](structuredClone(_0x571a77)),_0x52242f=this[_0x218239(0x177)][_0x218239(0x1a8)](_0x3d9e71=>_0x3d9e71[_0x218239(0x17a)]===_0x44f7ed[_0x218239(0x17a)]);if(_0x52242f&&JSON[_0x218239(0x18b)](_0x52242f[_0x218239(0x173)])!==JSON[_0x218239(0x18b)](_0x44f7ed[_0x218239(0x173)]))fail(_0x218239(0x1c2));!_0x52242f&&(this[_0x218239(0x177)][_0x218239(0x178)](_0x44f7ed),_0x4c1edc=!![]);}if(_0x4c1edc)this[_0x218239(0x1d1)]();}return _0x30a439(_0x21f75f);}catch(_0x4a63d6){const _0x3ad028={};return _0x3ad028['tool']=_0x218239(0x1e4),_0x3ad028[_0x218239(0x1bd)]='session_bootstrap',_0x3ad028[_0x218239(0x1db)]=[_0x218239(0x195),'workspaceId'],_0x30a439({...content({'success':![],'code':_0x4a63d6[_0x218239(0x18f)]||_0x218239(0x19f),'error':_0x4a63d6[_0x218239(0x1a4)],'recovery':_0x4a63d6['recovery']||([_0x218239(0x1e6),_0x218239(0x18c),_0x218239(0x1dd)]['includes'](_0x4a63d6[_0x218239(0x18f)])?_0x3ad028:undefined)}),'isError':!![]});}}async['close'](){const _0x11b7e5=_0x166441;this['stopped']=!![],await Promise[_0x11b7e5(0x1d6)]([...this[_0x11b7e5(0x1d5)][_0x11b7e5(0x1b1)]()][_0x11b7e5(0x15d)](_0x44dded=>_0x44dded[_0x11b7e5(0x18e)]));const _0x259aef=await Promise[_0x11b7e5(0x1d6)]([...this['sessions'][_0x11b7e5(0x1b1)]()]['map'](_0x3d54fe=>_0x3d54fe[_0x11b7e5(0x19e)][_0x11b7e5(0x190)]())),_0x47760d=_0x259aef[_0x11b7e5(0x1a8)](_0x4def69=>_0x4def69[_0x11b7e5(0x1d7)]==='rejected');if(_0x47760d)throw _0x47760d[_0x11b7e5(0x1ab)];this[_0x11b7e5(0x1ba)][_0x11b7e5(0x1a0)]();}}const _0x1536e3={};_0x1536e3['WorkspaceGateway']=WorkspaceGateway,_0x1536e3[_0x166441(0x184)]=validateIdentity,module[_0x166441(0x1e2)]=_0x1536e3;
@@ -1,16 +1,24 @@
1
1
  # APT session and execution contract
2
2
 
3
- 1. Call `session_bootstrap` at session start and after context recovery. Read project conventions from `.agents/memory/MEMORY.md`; retrieve only relevant dynamic knowledge. Report unavailable backends once and use available fallbacks.
3
+ 1. Use the single canonical `apt-mcp-agent` registration. Call `workspace_list` before the first bootstrap and match the actual open project, then call `session_bootstrap` with its `workspaceId`, `bindingToken` and one consistent `sessionId`. After context recovery reuse the same binding. Do not select home, the newest project or another session. If no registered project matches, report `WORKSPACE_BINDING_REQUIRED`. Read project conventions from `.agents/memory/MEMORY.md`; retrieve only relevant dynamic knowledge. Report unavailable backends once and use available fallbacks.
4
4
  2. Call `route_request` for a new request or changed intent, including target package/stack and explicit skills. Load the selected specialist and companion skills with `skill_load`. Do not read the complete trigger catalog into the model context.
5
5
  3. Read-only questions, reviews and running existing tests do not require a code-change pipeline. Before executable changes, inspect `pipeline_status` and bind `pipeline_start` or `pipeline_use` with canonical task/run identity and an explicit workspace.
6
6
  4. Small changes use scope, fix/check and review. Features use clarification only where needed, a plan with acceptance criteria, implementation, verification, review and acceptance. Bug fixes start with diagnosis and regression coverage. Do not require three questions, a PRD or external issues when the task is already clear.
7
- 5. Use `pipeline_next` to reserve work before dispatch. Use its pinned `nativeDispatch` fields only where the native tool supports them. Codex model overrides use a fresh brief with `fork_turns:"none"` and the exact `nativeTaskName`; a follow-up cannot change an existing worker's model. Include APT attempt, actor and session markers in the brief. Delegate useful independent research and reviews to native host subagents, with at most four active actors including the coordinator. Only one writer per workspace. Workers must not start/reset/rebind the parent pipeline.
7
+ 5. Use `pipeline_next` to reserve work before dispatch. Use its pinned `nativeDispatch` fields only where the native tool supports them. Codex model overrides use a fresh brief with `fork_turns:"none"` and the exact `nativeTaskName`; a follow-up cannot change an existing worker's model. Include APT attempt, actor and session markers in the brief. Delegate useful independent research and reviews to native host subagents, with at most four active actors including the coordinator. Only one writer per workspace. Workers must not start/reset/rebind the parent pipeline.
8
8
  6. Pin a quality plan for new executable runs: stable criteria, expected outcomes, concrete check IDs, target platforms and required review roles. Use `pipeline_verify` with a supported test report and named assertions, then `pipeline_checkpoint` with the current evidence IDs. Exit code, build, screenshot or a free-form summary cannot prove functional acceptance. Missing required checks keep the run unaccepted.
9
- 7. Record separate technical and Product/UX review verdicts when the work affects a user flow. Review staged, unstaged and relevant untracked changes. Keep finding IDs open across reviews until a current fix or reasoned dismissal is confirmed by a reviewer. High-risk work needs a host-observed independent technical reviewer; actor names and self-reported models do not prove independence. Rerun checks after affected changes. Review-only requests produce findings, not unsolicited edits or MR comments.
10
- 8. Stop after ten repair/check attempts per work item or three repeated outcomes without progress. Preserve budgets and blocked/paused states across resume. User interruption always wins over continuation hooks.
9
+ 7. Record separate technical and Product/UX review verdicts when the work affects a user flow. Review staged, unstaged and relevant untracked changes. Keep finding IDs open across reviews until a current fix or reasoned dismissal is confirmed by a reviewer. The native reviewer records its own structured verdict with `pipeline_checkpoint(action="review")`; nested work items use `spec`/`quality`, while run-level review uses `technical`/`product`. High-risk work needs host proof of the reviewer and verdict authorship; actor names, worker receipts alone and self-reported models do not prove it. Rerun checks after affected changes. Review-only requests produce findings, not unsolicited edits or MR comments.
10
+ 8. `pipeline_verify(kind="review")` cannot satisfy a review gate and is rejected before command execution. Use the `requiredReview` returned by `pipeline_next`, then record a structured review on the reserved attempt. Stop after ten repair/check attempts per work item or three repeated outcomes without progress. Preserve budgets and blocked/paused states across resume. User interruption always wins over continuation hooks.
11
11
  9. Native tool enforcement and automatic continuation depend on observed host capability. If unavailable, use sequential execution and state that limitation. Never claim independent review without an independent reviewer.
12
12
  10. Keep prose short and clear, reuse existing code, and load only current-step references. Strong caveman style is opt-in. Publishing, merging and external communication require authorization for those actions.
13
13
 
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
+ Claude dispatch uses the host's declared `Agent` or `Task` schema and `prompt`.
17
+ Prefer background only when supported. An unbound child is read-only. For a
18
+ foreground reviewer, receive findings first, link the native identity, then
19
+ resume the same child to author its structured review and report. Complete both
20
+ phases continuously. Do not use Codex fields or write a verdict for the child.
21
+ An async launch or report is not native completion. Refresh receipts before
22
+ releasing a known native worker; missing stop evidence remains a blocker.
23
+
16
24
  Read `docs/agents/mcp-tools.md` for interfaces. Run `npx apt-mcp-agent-setup doctor` to inspect configuration. A registered MCP server or installed hook is not proof of successful activation. Health must show successful initialization and functional probes, not only a running process.
@@ -4,19 +4,19 @@
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. 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
- - 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. On Antigravity, use the workspace MCP alias. 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.
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_checkpoint` records the latest review verdict per stage and persistent finding IDs through `action=review`; resolution 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
- - 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.
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.
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
+ - 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.
15
15
  - MCP gates cover proxied calls. Native tool gates and continuation require observed host hooks. Plan Mode and user interruption take precedence.
16
16
  - Codegraph failures permit file-search fallback. The proxy refreshes the review graph before impact analysis; it must report failure rather than use stale results.
17
- - `mcp_agent_health` reports process, initialization and functional readiness separately. `npx apt-mcp-agent-setup doctor` performs read-only configuration inspection.
18
- - Backend catalogs are available without starting child processes. A tool call starts only its target backend. Pass `backend` to `mcp_agent_health` when a live probe is required.
19
- - Use `npx apt-mcp-agent-setup mcp registrations --json` to inspect workspace aliases and `mcp cleanup --dry-run` before reviewing legacy validation aliases. Cleanup requires a reviewed plan and preserves a backup.
17
+ - `mcp_agent_health` reports process, initialization and functional readiness separately. `npx apt-mcp-agent-setup doctor` performs read-only configuration inspection.
18
+ - Backend catalogs are available without starting child processes. A tool call starts only its target backend. Pass `backend` to `mcp_agent_health` when a live probe is required.
19
+ - Use `npx apt-mcp-agent-setup mcp registrations --json` to inspect workspace aliases and `mcp cleanup --dry-run` before reviewing legacy validation aliases. Cleanup requires a reviewed plan and preserves a backup.
20
20
  - Browser work uses the lazy `browser-local` backend when the preset has it. Pass `aptTask` and `aptWorker` on browser calls. Use snapshot and console evidence. A page load or screenshot alone is not a feature check. After an uncertain browser action, inspect state before retrying and never replay a side-effecting call automatically.
21
21
  - `presentation_prepare` returns pinned PPT Master commands for the document-artifact pipeline. It does not execute commands or overwrite a source deck. Preserve unselected slides and report `visual-unverified` when no renderer and visual review are available.
22
22
  - `aso_import` reads workspace-relative CSV/XLSX exports. Preserve nulls and source metadata. It is export intake, not a live Sensor Tower connection; do not call unregistered market-data tool names.