@ranger-testing/ranger-cli 1.0.14 → 1.1.0
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 +57 -131
- package/build/cli.js +60 -62
- package/build/cli.js.map +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/addEnv.js.map +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/clean.js.map +1 -1
- package/build/commands/dataMcpServer.js +1 -1
- package/build/commands/feature.js +91 -34
- package/build/commands/feature.js.map +1 -1
- package/build/commands/hook.js +27 -0
- package/build/commands/hook.js.map +1 -0
- package/build/commands/hooks/disable.js +25 -0
- package/build/commands/hooks/disable.js.map +1 -0
- package/build/commands/hooks/enable.js +44 -0
- package/build/commands/hooks/enable.js.map +1 -0
- package/build/commands/hooks/exitPlanMode.js +35 -0
- package/build/commands/hooks/exitPlanMode.js.map +1 -0
- package/build/commands/hooks/index.js +10 -0
- package/build/commands/hooks/index.js.map +1 -0
- package/build/commands/hooks/output.js +53 -0
- package/build/commands/hooks/output.js.map +1 -0
- package/build/commands/hooks/planReminder.js +46 -0
- package/build/commands/hooks/planReminder.js.map +1 -0
- package/build/commands/hooks/planStart.js +30 -0
- package/build/commands/hooks/planStart.js.map +1 -0
- package/build/commands/hooks/postEdit.js +41 -0
- package/build/commands/hooks/postEdit.js.map +1 -0
- package/build/commands/hooks/preCompact.js +30 -0
- package/build/commands/hooks/preCompact.js.map +1 -0
- package/build/commands/hooks/sessionStart.js +35 -0
- package/build/commands/hooks/sessionStart.js.map +1 -0
- package/build/commands/hooks/stopHook.js +54 -0
- package/build/commands/hooks/stopHook.js.map +1 -0
- package/build/commands/index.js +1 -3
- package/build/commands/index.js.map +1 -1
- package/build/commands/skillup.js +36 -69
- package/build/commands/skillup.js.map +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/start.js.map +1 -1
- package/build/commands/status.js +17 -21
- package/build/commands/status.js.map +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/updateEnv.js.map +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudePlugin.js +85 -0
- package/build/commands/utils/claudePlugin.js.map +1 -0
- package/build/commands/utils/cliSecret.js +1 -1
- package/build/commands/utils/featureApi.js +23 -0
- package/build/commands/utils/featureApi.js.map +1 -1
- package/build/commands/utils/git.js +44 -0
- package/build/commands/utils/git.js.map +1 -0
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/sessionCache.js +133 -0
- package/build/commands/utils/sessionCache.js.map +1 -0
- package/build/commands/utils/skillContent.js +3 -3
- package/build/commands/utils/skillContent.js.map +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/skills.js.map +1 -1
- package/build/commands/verifyFeature.js +22 -2
- package/build/commands/verifyFeature.js.map +1 -1
- package/build/commands/verifyInBrowser.js +1 -1
- package/build/skills/ranger/SKILL.md +164 -0
- package/build/skills/ranger/create.md +151 -0
- package/build/skills/ranger/start.md +122 -0
- package/build/skills/{feature-tracker → ranger}/verify.md +33 -3
- package/package.json +1 -1
- package/build/commands/postEditHook.js +0 -25
- package/build/commands/postEditHook.js.map +0 -1
- package/build/commands/preCompactHook.js +0 -85
- package/build/commands/preCompactHook.js.map +0 -1
- package/build/commands/sessionStartHook.js +0 -64
- package/build/commands/sessionStartHook.js.map +0 -1
- package/build/commands/utils/mcpConfig.js +0 -1
- package/build/commands/utils/mcpConfig.js.map +0 -1
- package/build/skills/feature-tracker/SKILL.md +0 -163
- package/build/skills/feature-tracker/create.md +0 -114
- package/build/skills/feature-tracker/report.md +0 -159
- package/build/skills/feature-tracker/start.md +0 -93
package/build/commands/clean.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x37fd(_0x3abf0d,_0x37872f){_0x3abf0d=_0x3abf0d-0xc6;const _0x117fe1=_0x117f();let _0x37fd01=_0x117fe1[_0x3abf0d];return _0x37fd01;}(function(_0x26307e,_0x18c716){const _0x56ec59=_0x37fd,_0x30c476=_0x26307e();while(!![]){try{const _0x353488=parseInt(_0x56ec59(0xcc))/0x1+parseInt(_0x56ec59(0xe0))/0x2+-parseInt(_0x56ec59(0xd9))/0x3*(-parseInt(_0x56ec59(0xcd))/0x4)+parseInt(_0x56ec59(0xd6))/0x5*(parseInt(_0x56ec59(0xc6))/0x6)+parseInt(_0x56ec59(0xd4))/0x7*(parseInt(_0x56ec59(0xd8))/0x8)+parseInt(_0x56ec59(0xd0))/0x9*(-parseInt(_0x56ec59(0xd3))/0xa)+-parseInt(_0x56ec59(0xcb))/0xb*(parseInt(_0x56ec59(0xd7))/0xc);if(_0x353488===_0x18c716)break;else _0x30c476['push'](_0x30c476['shift']());}catch(_0x43f1c9){_0x30c476['push'](_0x30c476['shift']());}}}(_0x117f,0x94833));import{rm}from'fs/promises';function _0x117f(){const _0x407a57=['3110UlQgRt','3372047jkfHyq','log','10kypIqL','21396zBEJrs','8VHHSDC','114bZBKZs','TNaJp','✓\x20Removed\x20user\x20skill:\x20','bug-bash','LQuOf','e2e-test-recommender','✓\x20Removed\x20project\x20skill:\x20','954794qHzchC','kvVCI','2539578VZFyde','\x0a✅\x20Cleanup\x20complete!\x0a','ranger','bmyVY','ESKHL','8129NTbcvW','208243rMuowP','51928pbTShP','XsMib','cegLP','16821SQSqil','✓\x20Removed\x20.ranger/\x20directory','\x0a🧹\x20Cleaning\x20up\x20Ranger\x20artifacts...\x0a'];_0x117f=function(){return _0x407a57;};return _0x117f();}import{join}from'path';import{existsSync}from'fs';import{deleteAllCredentials}from'./utils/keychain.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getCacheFile}from'./utils/sessionCache.js';export async function clean(){const _0xcc25fd=_0x37fd,_0x3aafd1={'JBygq':_0xcc25fd(0xd2),'kvVCI':function(_0x182e9d,_0x328a75){return _0x182e9d(_0x328a75);},'cegLP':function(_0x104061){return _0x104061();},'IKIvB':function(_0x317fd5,_0x18cf55,_0x20a92b){return _0x317fd5(_0x18cf55,_0x20a92b);},'bmyVY':_0xcc25fd(0xd1),'ESKHL':'feature-tracker','TNaJp':function(_0xa7ae31,_0x233a65,_0x2ff448){return _0xa7ae31(_0x233a65,_0x2ff448);},'XsMib':function(_0x591aa4,_0x2d78f6){return _0x591aa4(_0x2d78f6);},'Aaysq':function(_0x493df2,_0xac6c04,_0x2a623e){return _0x493df2(_0xac6c04,_0x2a623e);},'LQuOf':_0xcc25fd(0xc7)};console['log'](_0x3aafd1['JBygq']);let _0x1fd6aa=![];try{await deleteAllCredentials(),console['log']('✓\x20Removed\x20credentials\x20from\x20OS\x20Keychain'),_0x1fd6aa=!![];}catch{}const _0x2b6c42=getCacheFile();existsSync(_0x2b6c42)&&(await _0x3aafd1[_0xcc25fd(0xe1)](rm,_0x2b6c42),_0x1fd6aa=!![]);const _0x486a67=_0x3aafd1['cegLP'](getRangerDir);existsSync(_0x486a67)&&(await _0x3aafd1['IKIvB'](rm,_0x486a67,{'recursive':!![]}),console['log'](_0x3aafd1[_0xcc25fd(0xc9)]),_0x1fd6aa=!![]);const _0x53fc06=[_0xcc25fd(0xc8),_0x3aafd1[_0xcc25fd(0xca)],_0xcc25fd(0xdc),_0xcc25fd(0xde)],_0x5ec0f1=_0x3aafd1[_0xcc25fd(0xcf)](getProjectSkillsDir);for(const _0x125499 of _0x53fc06){const _0x54ad97=_0x3aafd1[_0xcc25fd(0xda)](join,_0x5ec0f1,_0x125499);_0x3aafd1[_0xcc25fd(0xce)](existsSync,_0x54ad97)&&(await rm(_0x54ad97,{'recursive':!![]}),console['log'](_0xcc25fd(0xdf)+_0x125499),_0x1fd6aa=!![]);}const _0x48ff39=getUserSkillsDir();for(const _0x59ed39 of _0x53fc06){const _0x136ce1=_0x3aafd1['IKIvB'](join,_0x48ff39,_0x59ed39);existsSync(_0x136ce1)&&(await _0x3aafd1['Aaysq'](rm,_0x136ce1,{'recursive':!![]}),console[_0xcc25fd(0xd5)](_0xcc25fd(0xdb)+_0x59ed39),_0x1fd6aa=!![]);}_0x1fd6aa?console[_0xcc25fd(0xd5)](_0x3aafd1[_0xcc25fd(0xdd)]):console['log']('Nothing\x20to\x20clean\x20up.\x0a');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clean.js","sourceRoot":"","sources":["../../src/commands/clean.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"clean.js","sourceRoot":"","sources":["../../src/commands/clean.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,MAAM,CAAC,KAAK,UAAU,KAAK;IACvB,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IAEtD,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,sCAAsC;IACtC,IAAI,CAAC;QACD,MAAM,oBAAoB,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACtD,OAAO,GAAG,IAAI,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACL,yCAAyC;IAC7C,CAAC;IAED,2BAA2B;IAC3B,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACxB,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC;QACpB,OAAO,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,4BAA4B;IAC5B,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACxB,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,0DAA0D;IAC1D,MAAM,cAAc,GAAG;QACnB,QAAQ;QACR,iBAAiB;QACjB,UAAU;QACV,sBAAsB;KACzB,CAAC;IACF,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;IAC/C,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;QAC/C,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvB,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,EAAE,CAAC,CAAC;YACjD,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC;IACL,CAAC;IAED,wDAAwD;IACxD,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvB,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAC;YAC9C,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC;IACL,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAC1C,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x581435,_0x1e751d){const _0x17a560=_0x47b2,_0x3af2b3=_0x581435();while(!![]){try{const _0x5174fa=parseInt(_0x17a560(0x1df))/0x1*(parseInt(_0x17a560(0x1f7))/0x2)+parseInt(_0x17a560(0x1d4))/0x3+parseInt(_0x17a560(0x1c3))/0x4*(parseInt(_0x17a560(0x1b9))/0x5)+-parseInt(_0x17a560(0x1a8))/0x6*(-parseInt(_0x17a560(0x1e8))/0x7)+parseInt(_0x17a560(0x1ae))/0x8+parseInt(_0x17a560(0x1e5))/0x9*(-parseInt(_0x17a560(0x1c4))/0xa)+parseInt(_0x17a560(0x1af))/0xb*(-parseInt(_0x17a560(0x1ad))/0xc);if(_0x5174fa===_0x1e751d)break;else _0x3af2b3['push'](_0x3af2b3['shift']());}catch(_0x34566d){_0x3af2b3['push'](_0x3af2b3['shift']());}}}(_0x58d7,0xa79da));const _0x36d2de=(function(){const _0x13fd38={'eyMRB':function(_0x5dfb1d,_0x459b72,_0x4ab5ab,_0x5b7fd8){return _0x5dfb1d(_0x459b72,_0x4ab5ab,_0x5b7fd8);},'MikKx':'owdGV'};let _0x4105c5=!![];return function(_0x9dea0a,_0x398653){const _0x1bc2e5=_0x47b2,_0x4e0d62={'ACLNw':function(_0x4852fc,_0x629836,_0x1ae39a,_0x39951b){const _0x105606=_0x47b2;return _0x13fd38[_0x105606(0x1f4)](_0x4852fc,_0x629836,_0x1ae39a,_0x39951b);},'YZzWP':function(_0x55364e,_0x480596){return _0x55364e!==_0x480596;},'ZUbCR':_0x13fd38[_0x1bc2e5(0x1c9)]},_0x259288=_0x4105c5?function(){const _0x50e8f6=_0x1bc2e5,_0x47263f={'SlUOv':function(_0x59ff35,_0x45f5dd,_0x573a17,_0x3e5e24){return _0x4e0d62['ACLNw'](_0x59ff35,_0x45f5dd,_0x573a17,_0x3e5e24);},'MXTvM':_0x50e8f6(0x1c7)};if(_0x398653){if(_0x4e0d62[_0x50e8f6(0x1b5)](_0x4e0d62[_0x50e8f6(0x1a6)],_0x50e8f6(0x1cc)))_0x47263f[_0x50e8f6(0x1bd)](_0x39df5e,_0x10eb49['id']??null,_0x5a675a[_0x50e8f6(0x1ac)],_0x47263f['MXTvM']);else{const _0x43315d=_0x398653['apply'](_0x9dea0a,arguments);return _0x398653=null,_0x43315d;}}}:function(){};return _0x4105c5=![],_0x259288;};}()),_0x391425=_0x36d2de(this,function(){const _0x1641dc=_0x47b2,_0x754217={'fSzJu':_0x1641dc(0x1ec)};return _0x391425['toString']()[_0x1641dc(0x1b8)](_0x1641dc(0x1ec))['toString']()[_0x1641dc(0x1c0)](_0x391425)['search'](_0x754217['fSzJu']);});function _0x58d7(){const _0x28b3e2=['ngTVq25Jwa','mJy3nZC1mePzq3PeDq','zKrUEwO','BLjiu0u','uMfUz2vYihnLCNzLCIb1BMf2ywLSywjSzs4GugXLyxnLihrYEsbHz2fPBIbSyxrLCI4','ue9tva','twLRs3G','EfbgteC','Bg9N','B3DKr1y','C3rKB3v0','z2v0uMvHzgvY','AfLcBhG','C2XPy2u','C3rYAw5NAwz5','D0rIB2u','mI4W','mtCYmJC1oxLnCfjwyG','CgfYC2u','Duzwq3O','su5urvjoquXFrvjst1i','D1fPzNO','uNHfz3O','sfruucbLCNjVCJOG','C3rKAw4','zxHPDa','tK9Fve9lru4','rg15DeK','mti2mda1nhzUqKXyCa','t25XCwi','CuTNzKy','vg5qDhe','C3rHDhvZvgv4Da','wfDqwwS','ndv6z1LREha','D2zhuey','t2zLtuq','ntzvufnVz0u','yxbWBgLJyxrPB24VANnVBIWGDgv4Dc9LDMvUDc1ZDhjLyw0','AgvHzgvYCW','wwzUwM8','kcGOlISPkYKRksSK','rwD3vMu','z3LjDhu','r2v0ihLVDxiGDg9Rzw4GyxqGAhr0Chm6lY9KyxnOyM9HCMqUCMfUz2vYlM5LDc9JBgK','sgDiEgG','C3bSAxq','Dgv4Dc9LDMvUDc1ZDhjLyw0','v0Ltrvu','zxLnuKi','uwXJDNy','uLrUrhK','mLHct3f3tW','sw52ywXPzcbVCIbLEhbPCMvKiefqssb0B2TLBI4GuNvUigbYyw5NzxiGC3rHCNqGpg5LDY10B2TLBJ5GihrVihjLlwf1DgHLBNrPy2f0zs4','DhjPBq','yxbWBgLJyxrPB24VANnVBG','l21JCa','y2XVC2u','C3rHDhvZ','tfjoqvK','wLvIq1i','qNjzEKy','mJC3mJa2r2HpvMDI','CMvHza','B2TTuNi','y3jLyxrLsw50zxjMywnL','u0vsvKvsx1voqvzbsuXbqKXf','mtmXoti5mM51rvjWBq','nJi1mdiWmezyteTHCa','mtiXwfryquT4','zgf0ytOG','yxbWBhK','BwvZC2fNzq','BeLVA0y','C3rHCNrZv2L0Aa','wvP6v1a','ANnVBG','Aw5JBhvKzxm','C2vHCMnO','mti0nZK1mhnNvxnvCW','CuLgB2G','DerOrg4','Cg5nB2O','u2Xvt3y','BgLUzq','qMvHCMvYia','y29UC3rYDwn0B3i','su5wquXjrf9ut0TftG','qundrvntx0rftKLfra'];_0x58d7=function(){return _0x28b3e2;};return _0x58d7();}_0x391425();import*as _0x157a6f from'readline';import{getToken}from'./utils/keychain.js';import{getMcpServerUrl}from'./utils/environment.js';const ERROR_CODES={'NO_TOKEN':-0x7d01,'INVALID_TOKEN':-0x7d02,'ACCESS_DENIED':-0x7d03,'SERVER_UNAVAILABLE':-0x7d04,'INTERNAL_ERROR':-0x7f5b};function _0x47b2(_0x4d14cf,_0xde8931){_0x4d14cf=_0x4d14cf-0x1a0;const _0x113afd=_0x58d7();let _0x391425=_0x113afd[_0x4d14cf];if(_0x47b2['MtGdsa']===undefined){var _0x36d2de=function(_0x5bb1e6){const _0x2c6694='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x63a57a='',_0x1859ef='',_0x5d6cf3=_0x63a57a+_0x36d2de;for(let _0x23e4e9=0x0,_0x3d5dd0,_0x58f0b1,_0x475114=0x0;_0x58f0b1=_0x5bb1e6['charAt'](_0x475114++);~_0x58f0b1&&(_0x3d5dd0=_0x23e4e9%0x4?_0x3d5dd0*0x40+_0x58f0b1:_0x58f0b1,_0x23e4e9++%0x4)?_0x63a57a+=_0x5d6cf3['charCodeAt'](_0x475114+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x3d5dd0>>(-0x2*_0x23e4e9&0x6)):_0x23e4e9:0x0){_0x58f0b1=_0x2c6694['indexOf'](_0x58f0b1);}for(let _0x1340bc=0x0,_0x3a4c22=_0x63a57a['length'];_0x1340bc<_0x3a4c22;_0x1340bc++){_0x1859ef+='%'+('00'+_0x63a57a['charCodeAt'](_0x1340bc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1859ef);};_0x47b2['FqUftt']=_0x36d2de,_0x47b2['aAIxrk']={},_0x47b2['MtGdsa']=!![];}const _0x58d7d7=_0x113afd[0x0],_0x47b242=_0x4d14cf+_0x58d7d7,_0x3a32dd=_0x47b2['aAIxrk'][_0x47b242];if(!_0x3a32dd){const _0x104fd9=function(_0x576422){this['VULlld']=_0x576422,this['xGThos']=[0x1,0x0,0x0],this['VBfknJ']=function(){return'newState';},this['iOYCpX']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['zEmUPh']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x104fd9['prototype']['BVXxFF']=function(){const _0x5b969a=new RegExp(this['iOYCpX']+this['zEmUPh']),_0x3e1703=_0x5b969a['test'](this['VBfknJ']['toString']())?--this['xGThos'][0x1]:--this['xGThos'][0x0];return this['TExCzB'](_0x3e1703);},_0x104fd9['prototype']['TExCzB']=function(_0x465abe){if(!Boolean(~_0x465abe))return _0x465abe;return this['KjzZju'](this['VULlld']);},_0x104fd9['prototype']['KjzZju']=function(_0x2a5d3c){for(let _0x81937d=0x0,_0x386bf5=this['xGThos']['length'];_0x81937d<_0x386bf5;_0x81937d++){this['xGThos']['push'](Math['round'](Math['random']())),_0x386bf5=this['xGThos']['length'];}return _0x2a5d3c(this['xGThos'][0x0]);},new _0x104fd9(_0x47b2)['BVXxFF'](),_0x391425=_0x47b2['FqUftt'](_0x391425),_0x47b2['aAIxrk'][_0x47b242]=_0x391425;}else _0x391425=_0x3a32dd;return _0x391425;}function jsonRpcError(_0x2fd68f,_0x3af337,_0x3edf3b){const _0xce3cb5=_0x47b2;console[_0xce3cb5(0x1cb)](JSON['stringify']({'jsonrpc':_0xce3cb5(0x1d3),'id':_0x2fd68f,'error':{'code':_0x3af337,'message':_0x3edf3b}}));}export async function dataMcpServer(){const _0x276fed=_0x47b2,_0xa85a6f={'pnMoj':function(_0x3acb01,_0x169eac,_0x5d1590,_0x58a664){return _0x3acb01(_0x169eac,_0x5d1590,_0x58a664);},'XWPYk':'Invalid\x20or\x20expired\x20API\x20token.\x20Run\x20`ranger\x20start\x20<new-token>`\x20to\x20re-authenticate.','gyItu':_0x276fed(0x1d3),'qKgfF':function(_0x55472b,_0x2169a5,_0x2ab253,_0x22fb96){return _0x55472b(_0x2169a5,_0x2ab253,_0x22fb96);},'LRNAY':'Unknown\x20error','TnPtq':function(_0x4e668d,_0x6ad431){return _0x4e668d!==_0x6ad431;},'nRHSE':'BzqFV','wQifz':function(_0xb50cd9,_0x3bf74d,_0x5cd56a){return _0xb50cd9(_0x3bf74d,_0x5cd56a);},'lIokF':_0x276fed(0x1a1),'zGnYq':_0x276fed(0x1e9),'tDhDn':function(_0x4f0db6,_0x388b1d){return _0x4f0db6===_0x388b1d;},'fDnyj':function(_0x1053e5,_0x49252a){return _0x1053e5===_0x49252a;},'Qlcvv':_0x276fed(0x1e0),'wfGPF':_0x276fed(0x1ca),'gdjFZ':function(_0x5b741d,_0x3d4860,_0xa41d43,_0x59a602){return _0x5b741d(_0x3d4860,_0xa41d43,_0x59a602);},'OfeMD':function(_0x16c16b,_0x25cd89){return _0x16c16b===_0x25cd89;},'qIFoh':_0x276fed(0x1c7),'uFVCz':_0x276fed(0x1f0),'RTnDy':'content-type','DmytI':_0x276fed(0x1f2),'rpeHX':_0x276fed(0x1b0),'BrYzF':_0x276fed(0x1f3),'okmRr':function(_0x4316e5){return _0x4316e5();},'MYAFL':function(_0xee92a4,_0x205717){return _0xee92a4+_0x205717;},'YfnZo':_0x276fed(0x1ef),'hBjnv':function(_0x5378c1){return _0x5378c1();},'hYBlx':_0x276fed(0x1a3)},_0x5b53db=await _0xa85a6f[_0x276fed(0x1aa)](getToken);!_0x5b53db&&(_0xa85a6f[_0x276fed(0x1e1)](jsonRpcError,null,ERROR_CODES[_0x276fed(0x1dd)],_0xa85a6f['MYAFL']('Ranger\x20not\x20configured.\x20Run\x20`ranger\x20start\x20<token>`\x20in\x20a\x20terminal.\x20',_0xa85a6f[_0x276fed(0x1eb)])),process[_0x276fed(0x1dc)](0x1));const _0x5492c5=_0xa85a6f['hBjnv'](getMcpServerUrl),_0x5178f6=_0x5492c5+_0x276fed(0x1a2),_0x308617=_0x157a6f[_0x276fed(0x1ab)]({'input':process[_0x276fed(0x1db)],'output':process[_0x276fed(0x1cd)],'terminal':![]});_0x308617['on'](_0x276fed(0x1be),async _0x520306=>{const _0x2ad09d=_0x276fed,_0x4eb201={'EgwVe':function(_0x68c5e3,_0x180a0a,_0x327487,_0x4354de){const _0x5c5b1a=_0x47b2;return _0xa85a6f[_0x5c5b1a(0x1e1)](_0x68c5e3,_0x180a0a,_0x327487,_0x4354de);},'HYXON':function(_0x2f5a0f,_0x94c219){return _0x2f5a0f instanceof _0x94c219;},'RxEgz':_0xa85a6f[_0x2ad09d(0x1a5)]};if(!_0x520306[_0x2ad09d(0x1a0)]())return;try{if(_0xa85a6f[_0x2ad09d(0x1e2)](_0xa85a6f[_0x2ad09d(0x1c6)],_0xa85a6f[_0x2ad09d(0x1c6)]))_0xa85a6f[_0x2ad09d(0x1bc)](_0x5c0e38,_0x132121['id']??null,_0x31acff[_0x2ad09d(0x1c1)],_0xa85a6f[_0x2ad09d(0x1e4)]);else{const _0x1bdd69=JSON[_0x2ad09d(0x1d5)](_0x520306),_0x41c734=await _0xa85a6f[_0x2ad09d(0x1d8)](fetch,_0x5178f6,{'method':_0x2ad09d(0x1c8),'headers':{'Content-Type':_0xa85a6f[_0x2ad09d(0x1b3)],'Accept':_0xa85a6f['zGnYq'],'Authorization':_0x2ad09d(0x1bf)+_0x5b53db},'body':JSON['stringify'](_0x1bdd69)});if(!_0x41c734['ok']){if(_0xa85a6f[_0x2ad09d(0x1bb)](_0x41c734[_0x2ad09d(0x1a4)],0x191))_0xa85a6f[_0x2ad09d(0x1c5)](_0xa85a6f[_0x2ad09d(0x1f5)],_0xa85a6f[_0x2ad09d(0x1e6)])?_0x4eb201[_0x2ad09d(0x1ed)](_0x5d2b54,null,_0x56d472[_0x2ad09d(0x1d7)],_0x4eb201['HYXON'](_0x3c4450,_0x1d6b56)?_0x21250f[_0x2ad09d(0x1b2)]:_0x4eb201[_0x2ad09d(0x1d9)]):_0xa85a6f['gdjFZ'](jsonRpcError,_0x1bdd69['id']??null,ERROR_CODES[_0x2ad09d(0x1c1)],_0x2ad09d(0x1f8));else{if(_0xa85a6f[_0x2ad09d(0x1e7)](_0x41c734['status'],0x193))_0xa85a6f[_0x2ad09d(0x1bc)](jsonRpcError,_0x1bdd69['id']??null,ERROR_CODES[_0x2ad09d(0x1c2)],'Access\x20denied.\x20Your\x20token\x20may\x20not\x20have\x20MCP\x20permissions.');else _0x41c734[_0x2ad09d(0x1a4)]>=0x1f4?_0xa85a6f['qKgfF'](jsonRpcError,_0x1bdd69['id']??null,ERROR_CODES[_0x2ad09d(0x1ac)],_0xa85a6f[_0x2ad09d(0x1ba)]):_0xa85a6f[_0x2ad09d(0x1e2)](_0x2ad09d(0x1d2),_0xa85a6f[_0x2ad09d(0x1d6)])?jsonRpcError(_0x1bdd69['id']??null,ERROR_CODES['INTERNAL_ERROR'],_0x2ad09d(0x1da)+_0x41c734['status']+'\x20'+_0x41c734[_0x2ad09d(0x1e3)]):_0x81901b[_0x2ad09d(0x1cb)](_0xf96bff[_0x2ad09d(0x1d1)]({'jsonrpc':_0xa85a6f[_0x2ad09d(0x1ee)],'id':_0x20a803,'error':{'code':_0x1f72ea,'message':_0x403789}}));}return;}const _0x44275b=_0x41c734[_0x2ad09d(0x1ea)]['get'](_0xa85a6f[_0x2ad09d(0x1f6)])||'';if(_0x44275b[_0x2ad09d(0x1b7)](_0xa85a6f[_0x2ad09d(0x1de)])){const _0x358e98=_0x41c734['body']?.[_0x2ad09d(0x1ce)]();if(!_0x358e98)return;const _0x1f9c5f=new TextDecoder();let _0x283404='';while(!![]){const {done:_0x2ffb77,value:_0x447bea}=await _0x358e98[_0x2ad09d(0x1a9)]();if(_0x2ffb77)break;_0x283404+=_0x1f9c5f['decode'](_0x447bea,{'stream':!![]});const _0xaf1f46=_0x283404[_0x2ad09d(0x1f1)]('\x0a\x0a');_0x283404=_0xaf1f46['pop']()||'';for(const _0x457d6b of _0xaf1f46){if(!_0x457d6b[_0x2ad09d(0x1a0)]())continue;const _0x15c25b=_0x457d6b[_0x2ad09d(0x1f1)]('\x0a');for(const _0x2f0369 of _0x15c25b){if(_0x2f0369[_0x2ad09d(0x1b4)](_0xa85a6f['rpeHX'])){if(_0xa85a6f['OfeMD'](_0x2ad09d(0x1f3),_0xa85a6f[_0x2ad09d(0x1a7)])){const _0x34f332=_0x2f0369[_0x2ad09d(0x1d0)](0x6);_0x34f332[_0x2ad09d(0x1a0)]()&&console[_0x2ad09d(0x1cb)](_0x34f332);}else{const _0x155401=_0x104fd9?function(){const _0x5f1d0c=_0x2ad09d;if(_0x81937d){const _0xb82fa6=_0x1d33dd[_0x5f1d0c(0x1b1)](_0x17d176,arguments);return _0x50b132=null,_0xb82fa6;}}:function(){};return _0x2a5d3c=![],_0x155401;}}}}}}else{const _0x419d7b=await _0x41c734[_0x2ad09d(0x1b6)]();console[_0x2ad09d(0x1cb)](JSON['stringify'](_0x419d7b));}}}catch(_0x56c089){_0xa85a6f[_0x2ad09d(0x1e1)](jsonRpcError,null,ERROR_CODES[_0x2ad09d(0x1d7)],_0x56c089 instanceof Error?_0x56c089[_0x2ad09d(0x1b2)]:'Unknown\x20error');}}),_0x308617['on'](_0xa85a6f[_0x276fed(0x1cf)],()=>{const _0x394343=_0x276fed;process[_0x394343(0x1dc)](0x0);});}
|
|
1
|
+
(function(_0x530b8b,_0x1ba649){const _0x51e88c=_0x3033,_0x4c7281=_0x530b8b();while(!![]){try{const _0x525700=parseInt(_0x51e88c(0x135))/0x1+-parseInt(_0x51e88c(0x123))/0x2*(-parseInt(_0x51e88c(0x11f))/0x3)+-parseInt(_0x51e88c(0x148))/0x4*(parseInt(_0x51e88c(0x131))/0x5)+parseInt(_0x51e88c(0x155))/0x6+parseInt(_0x51e88c(0x134))/0x7*(parseInt(_0x51e88c(0x16d))/0x8)+parseInt(_0x51e88c(0x12d))/0x9*(-parseInt(_0x51e88c(0x114))/0xa)+-parseInt(_0x51e88c(0x165))/0xb;if(_0x525700===_0x1ba649)break;else _0x4c7281['push'](_0x4c7281['shift']());}catch(_0x53cecf){_0x4c7281['push'](_0x4c7281['shift']());}}}(_0x4d71,0x18f8d));const _0x5d2142=(function(){const _0x3037ae=_0x3033,_0x337312={'AsXaL':'data:\x20','NVJLP':function(_0x11721f,_0x542b8a){return _0x11721f instanceof _0x542b8a;},'mvsuD':function(_0x519181,_0x68e666){return _0x519181!==_0x68e666;},'gvOfE':function(_0x4b0933,_0x5efee2){return _0x4b0933===_0x5efee2;},'mbLqd':_0x3037ae(0x162),'dIpXo':_0x3037ae(0x133)};let _0x464c53=!![];return function(_0x29a38e,_0x45df01){const _0x56ec04=_0x3037ae,_0x525653={'qwTYi':_0x337312['AsXaL'],'ZlrjB':function(_0x3c1e23,_0x4e6240,_0x2c2313,_0x38fa70){return _0x3c1e23(_0x4e6240,_0x2c2313,_0x38fa70);},'gmWKp':function(_0xf3b39b,_0x282ba8){return _0x337312['NVJLP'](_0xf3b39b,_0x282ba8);},'jxztC':function(_0x51a2db,_0x370a9a){const _0x553443=_0x3033;return _0x337312[_0x553443(0x153)](_0x51a2db,_0x370a9a);},'sybwH':'xYZuJ'};if(_0x337312[_0x56ec04(0x16b)](_0x337312[_0x56ec04(0x145)],_0x337312[_0x56ec04(0x13b)])){if(_0x562fd1[_0x56ec04(0x12b)](_0x525653[_0x56ec04(0x11e)])){const _0x4e44b7=_0x102543[_0x56ec04(0x13f)](0x6);_0x4e44b7['trim']()&&_0x35f949[_0x56ec04(0x161)](_0x4e44b7);}}else{const _0x1d18ef=_0x464c53?function(){const _0x14d76f=_0x56ec04;if(_0x45df01){if(_0x525653[_0x14d76f(0x14b)](_0x525653[_0x14d76f(0x120)],_0x525653[_0x14d76f(0x120)]))_0x525653[_0x14d76f(0x15f)](_0x5e3ae3,null,_0x467e4e['INTERNAL_ERROR'],_0x525653[_0x14d76f(0x14d)](_0x27bf58,_0x2bc2c4)?_0x1be2ae[_0x14d76f(0x13a)]:_0x14d76f(0x141));else{const _0x1d96f2=_0x45df01['apply'](_0x29a38e,arguments);return _0x45df01=null,_0x1d96f2;}}}:function(){};return _0x464c53=![],_0x1d18ef;}};}()),_0x4999d1=_0x5d2142(this,function(){const _0x5e914f=_0x3033,_0x3a2527={'YABIj':_0x5e914f(0x138)};return _0x4999d1[_0x5e914f(0x11a)]()[_0x5e914f(0x152)](_0x5e914f(0x138))[_0x5e914f(0x11a)]()[_0x5e914f(0x15c)](_0x4999d1)[_0x5e914f(0x152)](_0x3a2527['YABIj']);});_0x4999d1();import*as _0x2206fe from'readline';function _0x3033(_0x189a8c,_0x2bdae2){_0x189a8c=_0x189a8c-0x110;const _0xa4577=_0x4d71();let _0x4999d1=_0xa4577[_0x189a8c];if(_0x3033['DvMHox']===undefined){var _0x5d2142=function(_0x32e0cb){const _0x57bbd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1cef1e='',_0x9bcd33='',_0x27dd14=_0x1cef1e+_0x5d2142;for(let _0x42ea39=0x0,_0xec07df,_0x3ca643,_0x1f2467=0x0;_0x3ca643=_0x32e0cb['charAt'](_0x1f2467++);~_0x3ca643&&(_0xec07df=_0x42ea39%0x4?_0xec07df*0x40+_0x3ca643:_0x3ca643,_0x42ea39++%0x4)?_0x1cef1e+=_0x27dd14['charCodeAt'](_0x1f2467+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0xec07df>>(-0x2*_0x42ea39&0x6)):_0x42ea39:0x0){_0x3ca643=_0x57bbd['indexOf'](_0x3ca643);}for(let _0x2dd2e7=0x0,_0x382db9=_0x1cef1e['length'];_0x2dd2e7<_0x382db9;_0x2dd2e7++){_0x9bcd33+='%'+('00'+_0x1cef1e['charCodeAt'](_0x2dd2e7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x9bcd33);};_0x3033['vVxhvj']=_0x5d2142,_0x3033['nSDQuE']={},_0x3033['DvMHox']=!![];}const _0x4d715d=_0xa4577[0x0],_0x3033bd=_0x189a8c+_0x4d715d,_0x4a7f16=_0x3033['nSDQuE'][_0x3033bd];if(!_0x4a7f16){const _0x4942b1=function(_0xa47097){this['fqYvDw']=_0xa47097,this['BLugQg']=[0x1,0x0,0x0],this['XaujZS']=function(){return'newState';},this['sYsLVq']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['pOmeRH']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x4942b1['prototype']['NboSYT']=function(){const _0x3522f4=new RegExp(this['sYsLVq']+this['pOmeRH']),_0x2aa872=_0x3522f4['test'](this['XaujZS']['toString']())?--this['BLugQg'][0x1]:--this['BLugQg'][0x0];return this['DYhsOc'](_0x2aa872);},_0x4942b1['prototype']['DYhsOc']=function(_0x30a7de){if(!Boolean(~_0x30a7de))return _0x30a7de;return this['RAlfwe'](this['fqYvDw']);},_0x4942b1['prototype']['RAlfwe']=function(_0x2f1423){for(let _0x1f46f8=0x0,_0x383bf8=this['BLugQg']['length'];_0x1f46f8<_0x383bf8;_0x1f46f8++){this['BLugQg']['push'](Math['round'](Math['random']())),_0x383bf8=this['BLugQg']['length'];}return _0x2f1423(this['BLugQg'][0x0]);},new _0x4942b1(_0x3033)['NboSYT'](),_0x4999d1=_0x3033['vVxhvj'](_0x4999d1),_0x3033['nSDQuE'][_0x3033bd]=_0x4999d1;}else _0x4999d1=_0x4a7f16;return _0x4999d1;}import{getToken}from'./utils/keychain.js';import{getMcpServerUrl}from'./utils/environment.js';const ERROR_CODES={'NO_TOKEN':-0x7d01,'INVALID_TOKEN':-0x7d02,'ACCESS_DENIED':-0x7d03,'SERVER_UNAVAILABLE':-0x7d04,'INTERNAL_ERROR':-0x7f5b};function jsonRpcError(_0x373f8e,_0x2f2709,_0x5d3c1d){const _0x502825=_0x3033,_0xf4df69={'SkUup':'2.0'};console['log'](JSON[_0x502825(0x115)]({'jsonrpc':_0xf4df69[_0x502825(0x15e)],'id':_0x373f8e,'error':{'code':_0x2f2709,'message':_0x5d3c1d}}));}function _0x4d71(){const _0x5353fe=['wKvutuK','A2rnDee','mZq2nty4vwzeq3rk','DhjPBq','qundrvntx0rftKLfra','ANH6Dem','sg9UzhK','z21xs3a','rfzzCxO','BfvTqwm','yuHLD0e','ANnVBG','C2vHCMnO','BxzZDuq','tK90sui','mta4ntqZnNzzwufNCG','AwHSDee','yxbWBgLJyxrPB24VANnVBG','rxztCMS','sw52ywXPzcbVCIbLEhbPCMvKiefqssb0B2TLBI4GuNvUigbYyw5NzxiGC3rHCNqGpg5LDY10B2TLBJ5GihrVihjLlwf1DgHLBNrPy2f0zs4','v1Dvzuq','AK92ufG','y29UC3rYDwn0B3i','Cu9tv3u','u2TvDxa','wMXYAKi','rvnICMq','Bg9N','rfjHr2q','y3jLyxrLsw50zxjMywnL','Cg9W','nteXntiYt1zNALHf','uMfUz2vYihnLCNzLCIb1BMf2ywLSywjSzs4GugXLyxnLihrYEsbHz2fPBIbSyxrLCI4','Aw5JBhvKzxm','C3bSAxq','r2v0ihLVDxiGDg9Rzw4GyxqGAhr0Chm6lY9KyxnOyM9HCMqUCMfUz2vYlM5LDc9JBgK','BgLUzq','z3zpzKu','Du5irfa','mJu2mJe2zgTQAuHk','EvzZBuW','EvfrtKu','zxHPDa','l21JCa','qwnJzxnZigrLBMLLzc4Gww91CIb0B2TLBIbTyxKGBM90igHHDMuGtunqihbLCM1PC3nPB25ZlG','mtmWtKXHCeji','C3rYAw5NAwz5','EvnUv3O','C3rKAw4','wNDZyMK','CMvHza','Dg9tDhjPBMC','CMPnvhi','sfruucbLCNjVCJOG','uhr4A0e','CxDuwwK','m21UAenOyW','C3LID0G','s2HRs20','A0rizhy','mtK5nZK2uMHMtuvN','zwv3rMi','yxbWBhK','DfH5svq','C3rHDhvZvgv4Da','zgvJB2rL','u3rICLy','uMfUz2vYig5VDcbJB25MAwD1CMvKlIbsDw4GyhjHBMDLCIbZDgfYDca8Dg9Rzw4+ycbPBIbHihrLCM1PBMfSlIa','C3rHCNrZv2L0Aa','q21UyNu','mJq4nJDzywfTDLy','BLnqB00','AwfdsfO','y2XVC2u','mtbPAfDevxy','C3rHDhvZ','rerQz1u','n0nxwhPWyq','nduXntLnsg1UBeS','EM5twgK','z2v0uMvHzgvY','kcGOlISPkYKRksSK','su5wquXjrf9ut0TftG','BwvZC2fNzq','zeLWwg8','ENfmAvy','qvbZqNC','su5urvjoquXFrvjst1i','C2XPy2u','t0HMshK','vw5RBM93BIbLCNjVCG','DLzus3q','qMvHCMvYia','Dgv4Dc9LDMvUDc1ZDhjLyw0','BwjmCwq'];_0x4d71=function(){return _0x5353fe;};return _0x4d71();}export async function dataMcpServer(){const _0xfbdab6=_0x3033,_0x209ff6={'Zwsbi':_0xfbdab6(0x138),'StbrV':_0xfbdab6(0x166),'iaCHZ':function(_0x2a888e,_0x5dd46d,_0x43f4ff,_0x33eb8c){return _0x2a888e(_0x5dd46d,_0x43f4ff,_0x33eb8c);},'kdMtA':function(_0x517241,_0x5c1657,_0x1945c1,_0x5848af){return _0x517241(_0x5c1657,_0x1945c1,_0x5848af);},'lUmAc':'RGwOI','EvSrk':function(_0x1893ce,_0x3b7952){return _0x1893ce===_0x3b7952;},'wrtvM':_0xfbdab6(0x13c),'DVYqz':function(_0x5e6f87,_0x3fcb2e,_0x4e7242){return _0x5e6f87(_0x3fcb2e,_0x4e7242);},'yVsmL':_0xfbdab6(0x157),'eewFb':'application/json,\x20text/event-stream','yrMFt':'jOvPX','Hondy':_0xfbdab6(0x159),'vVTKt':function(_0x99d4bc,_0x2d1256){return _0x99d4bc===_0x2d1256;},'yjCPX':function(_0x154e18,_0x530c7c){return _0x154e18===_0x530c7c;},'WWUeD':_0xfbdab6(0x136),'FtPqO':function(_0x30fd60,_0x57f0e6,_0x5d3f35,_0x22f0b1){return _0x30fd60(_0x57f0e6,_0x5d3f35,_0x22f0b1);},'yQQNE':_0xfbdab6(0x113),'KhkKm':function(_0x4b02b1,_0xf3d60e){return _0x4b02b1>=_0xf3d60e;},'ySnWz':'content-type','DWUSz':function(_0x4fd1e8,_0x1e3c3c){return _0x4fd1e8===_0x1e3c3c;},'rjMTr':_0xfbdab6(0x146),'APsBw':'yNFgg','tXyIT':_0xfbdab6(0x16c),'NOtIB':'data:\x20','PtxkA':function(_0x29160b,_0x473f41){return _0x29160b instanceof _0x473f41;},'KGsni':_0xfbdab6(0x12c),'ESbrd':_0xfbdab6(0x122),'aHewA':function(_0x8e8cc6,_0x49ff4e,_0x3473cc,_0x217b05){return _0x8e8cc6(_0x49ff4e,_0x3473cc,_0x217b05);},'OHfHy':function(_0x50d53f,_0x23b993){return _0x50d53f+_0x23b993;},'uJBWu':_0xfbdab6(0x169),'YuVVS':_0xfbdab6(0x16a),'ihltA':_0xfbdab6(0x130)},_0x1d357b=await getToken();!_0x1d357b&&(_0x209ff6['KGsni']!==_0x209ff6[_0xfbdab6(0x160)]?(_0x209ff6[_0xfbdab6(0x150)](jsonRpcError,null,ERROR_CODES['NO_TOKEN'],_0x209ff6[_0xfbdab6(0x140)](_0xfbdab6(0x12a),_0x209ff6['uJBWu'])),process[_0xfbdab6(0x111)](0x1)):_0x4d12cc(_0x595d7a['id']??null,_0x27a640['INVALID_TOKEN'],_0xfbdab6(0x159)));const _0x6ceaee=getMcpServerUrl(),_0x35a981=_0x6ceaee+_0xfbdab6(0x112),_0x4d2a90=_0x2206fe[_0xfbdab6(0x163)]({'input':process[_0xfbdab6(0x117)],'output':process['stdout'],'terminal':![]});_0x4d2a90['on'](_0x209ff6['YuVVS'],async _0x17be75=>{const _0x47ce17=_0xfbdab6,_0x899d26={'sEcRC':function(_0x26dfd1,_0x45ef20,_0x50dbca,_0x33c562){const _0x58071c=_0x3033;return _0x209ff6[_0x58071c(0x12f)](_0x26dfd1,_0x45ef20,_0x50dbca,_0x33c562);},'qOSWu':function(_0x481fa8,_0x502191,_0x1eb84c,_0x475c16){const _0xb8c653=_0x3033;return _0x209ff6[_0xb8c653(0x147)](_0x481fa8,_0x502191,_0x1eb84c,_0x475c16);}};if(_0x209ff6[_0x47ce17(0x14f)]===_0x209ff6[_0x47ce17(0x14f)]){if(!_0x17be75[_0x47ce17(0x149)]())return;try{if(_0x209ff6[_0x47ce17(0x158)](_0x209ff6['wrtvM'],_0x47ce17(0x12e)))_0x899d26['sEcRC'](_0x292f98,_0x529a5a['id']??null,_0x2504af[_0x47ce17(0x14a)],_0x47ce17(0x113));else{const _0x41c658=JSON['parse'](_0x17be75),_0x23f209=await _0x209ff6[_0x47ce17(0x14e)](fetch,_0x35a981,{'method':'POST','headers':{'Content-Type':_0x209ff6[_0x47ce17(0x16e)],'Accept':_0x209ff6[_0x47ce17(0x124)],'Authorization':_0x47ce17(0x143)+_0x1d357b},'body':JSON['stringify'](_0x41c658)});if(!_0x23f209['ok']){if(_0x47ce17(0x15b)===_0x209ff6['yrMFt']){if(_0x209ff6['EvSrk'](_0x23f209['status'],0x191))jsonRpcError(_0x41c658['id']??null,ERROR_CODES[_0x47ce17(0x139)],_0x209ff6[_0x47ce17(0x14c)]);else{if(_0x209ff6[_0x47ce17(0x142)](_0x23f209[_0x47ce17(0x132)],0x193)){if(_0x209ff6['yjCPX'](_0x209ff6[_0x47ce17(0x15a)],_0x209ff6['WWUeD']))_0x209ff6['FtPqO'](jsonRpcError,_0x41c658['id']??null,ERROR_CODES['ACCESS_DENIED'],_0x209ff6[_0x47ce17(0x110)]);else return _0xc093cd[_0x47ce17(0x11a)]()['search'](LuAVUD[_0x47ce17(0x118)])[_0x47ce17(0x11a)]()['constructor'](_0x4dd2db)[_0x47ce17(0x152)](LuAVUD[_0x47ce17(0x118)]);}else _0x209ff6[_0x47ce17(0x121)](_0x23f209['status'],0x1f4)?jsonRpcError(_0x41c658['id']??null,ERROR_CODES['SERVER_UNAVAILABLE'],_0x209ff6[_0x47ce17(0x129)]):_0x209ff6['iaCHZ'](jsonRpcError,_0x41c658['id']??null,ERROR_CODES[_0x47ce17(0x13e)],'HTTP\x20error:\x20'+_0x23f209[_0x47ce17(0x132)]+'\x20'+_0x23f209[_0x47ce17(0x127)]);}return;}else{const _0x46b8dd=_0x4942b1?function(){const _0x5615a4=_0x47ce17;if(_0x1f46f8){const _0x45808a=_0x85a3c7[_0x5615a4(0x125)](_0xc50bcd,arguments);return _0x297ac3=null,_0x45808a;}}:function(){};return _0x2f1423=![],_0x46b8dd;}}const _0x5abe06=_0x23f209['headers']['get'](_0x209ff6[_0x47ce17(0x116)])||'';if(_0x5abe06[_0x47ce17(0x167)](_0x47ce17(0x144))){if(_0x209ff6['DWUSz'](_0x209ff6[_0x47ce17(0x11b)],_0x209ff6['rjMTr'])){const _0x120f9c=_0x23f209['body']?.[_0x47ce17(0x137)]();if(!_0x120f9c)return;const _0x25970b=new TextDecoder();let _0xa5284='';while(!![]){const {done:_0xccc98d,value:_0x58cada}=await _0x120f9c[_0x47ce17(0x119)]();if(_0xccc98d)break;_0xa5284+=_0x25970b[_0x47ce17(0x128)](_0x58cada,{'stream':!![]});const _0x4ce58c=_0xa5284[_0x47ce17(0x168)]('\x0a\x0a');_0xa5284=_0x4ce58c[_0x47ce17(0x164)]()||'';for(const _0x1f75aa of _0x4ce58c){if(!_0x1f75aa[_0x47ce17(0x149)]())continue;const _0x116ee5=_0x1f75aa[_0x47ce17(0x168)]('\x0a');for(const _0x5dd068 of _0x116ee5){if(_0x209ff6[_0x47ce17(0x142)](_0x209ff6[_0x47ce17(0x13d)],_0x209ff6[_0x47ce17(0x126)])){const _0x7bf60c=_0x4a74c9[_0x47ce17(0x125)](_0x30ba2b,arguments);return _0x157f7b=null,_0x7bf60c;}else{if(_0x5dd068[_0x47ce17(0x12b)](_0x209ff6[_0x47ce17(0x154)])){const _0xbfe0b4=_0x5dd068[_0x47ce17(0x13f)](0x6);_0xbfe0b4[_0x47ce17(0x149)]()&&console[_0x47ce17(0x161)](_0xbfe0b4);}}}}}}else _0x899d26[_0x47ce17(0x15d)](_0x364afe,_0x1644b1['id']??null,_0x11aa0a[_0x47ce17(0x13e)],_0x47ce17(0x11c)+_0x404552['status']+'\x20'+_0x46e5c4['statusText']);}else{const _0x519525=await _0x23f209[_0x47ce17(0x151)]();console[_0x47ce17(0x161)](JSON[_0x47ce17(0x115)](_0x519525));}}}catch(_0x2dc9d7){_0x209ff6[_0x47ce17(0x12f)](jsonRpcError,null,ERROR_CODES[_0x47ce17(0x13e)],_0x209ff6[_0x47ce17(0x11d)](_0x2dc9d7,Error)?_0x2dc9d7[_0x47ce17(0x13a)]:_0x47ce17(0x141));}}else _0xee9d53(_0x3e001d['id']??null,_0x10517a['SERVER_UNAVAILABLE'],_0x209ff6[_0x47ce17(0x129)]);}),_0x4d2a90['on'](_0x209ff6[_0xfbdab6(0x156)],()=>{const _0x181dd8=_0xfbdab6;process[_0x181dd8(0x111)](0x0);});}
|
|
@@ -3,8 +3,9 @@ import { join } from 'path';
|
|
|
3
3
|
import { existsSync } from 'fs';
|
|
4
4
|
import { execSync } from 'child_process';
|
|
5
5
|
import inquirer from 'inquirer';
|
|
6
|
-
import { createFeature, listFeatures, getFeature, getFeatureReportMarkdown, listFeatureSessions, startSession, concludeSession, } from './utils/featureApi.js';
|
|
6
|
+
import { createFeature, listFeatures, getFeature, updateFeature, getFeatureReportMarkdown, listFeatureSessions, startSession, concludeSession, createChecklistItem, } from './utils/featureApi.js';
|
|
7
7
|
import { getRangerDir } from './utils/rangerRoot.js';
|
|
8
|
+
import { registerSession } from './utils/sessionCache.js';
|
|
8
9
|
// Active feature file name (relative to .ranger dir)
|
|
9
10
|
const ACTIVE_FEATURE_FILE = 'active-feature.txt';
|
|
10
11
|
/**
|
|
@@ -118,19 +119,11 @@ function getReviewStatusDisplay(feature) {
|
|
|
118
119
|
function displayFeature(feature, checklistItems) {
|
|
119
120
|
const devStatus = getDevStatusDisplay(feature);
|
|
120
121
|
const reviewStatus = getReviewStatusDisplay(feature);
|
|
121
|
-
console.log(`\n${devStatus.emoji} ${feature.name} (${feature.
|
|
122
|
+
console.log(`\n${devStatus.emoji} ${feature.name} (${feature.dashboardUrl})`);
|
|
122
123
|
console.log(` Dev Status: ${devStatus.label}`);
|
|
123
124
|
if (reviewStatus) {
|
|
124
125
|
console.log(` Review Status: ${reviewStatus.emoji} ${reviewStatus.label}`);
|
|
125
126
|
}
|
|
126
|
-
if (feature.stats) {
|
|
127
|
-
const { verifiedItems, totalItems, blockedItems } = feature.stats;
|
|
128
|
-
let progressStr = ` Progress: ${verifiedItems}/${totalItems}`;
|
|
129
|
-
if (blockedItems > 0) {
|
|
130
|
-
progressStr += ` (${blockedItems} blocked)`;
|
|
131
|
-
}
|
|
132
|
-
console.log(progressStr);
|
|
133
|
-
}
|
|
134
127
|
if (feature.description) {
|
|
135
128
|
console.log(` Description: ${feature.description}`);
|
|
136
129
|
}
|
|
@@ -196,6 +189,11 @@ export async function featureCreate(name, options) {
|
|
|
196
189
|
await setActiveFeatureId(feature.id);
|
|
197
190
|
// Start the session immediately so it's in_progress
|
|
198
191
|
await tryStartCurrentSession(feature.id);
|
|
192
|
+
// Register Claude session if provided via env var
|
|
193
|
+
const claudeSessionId = process.env.CLAUDE_SESSION_ID;
|
|
194
|
+
if (claudeSessionId) {
|
|
195
|
+
registerSession(claudeSessionId, feature.id);
|
|
196
|
+
}
|
|
199
197
|
console.log(`\n\u2705 Feature created: ${feature.id}`);
|
|
200
198
|
displayFeature(feature, feature.checklistItems);
|
|
201
199
|
console.log(`\n\u27a1\ufe0f Set as active feature`);
|
|
@@ -204,7 +202,10 @@ export async function featureCreate(name, options) {
|
|
|
204
202
|
* List features
|
|
205
203
|
*/
|
|
206
204
|
export async function featureList(options) {
|
|
207
|
-
const filters = {
|
|
205
|
+
const filters = {
|
|
206
|
+
limit: options.limit ?? 10,
|
|
207
|
+
offset: options.offset ?? 0,
|
|
208
|
+
};
|
|
208
209
|
if (options.currentBranch) {
|
|
209
210
|
filters.gitRepoUrl = getGitRepoUrl();
|
|
210
211
|
filters.gitBranch = getGitBranch();
|
|
@@ -214,7 +215,10 @@ export async function featureList(options) {
|
|
|
214
215
|
console.log('\nNo features found.');
|
|
215
216
|
return;
|
|
216
217
|
}
|
|
217
|
-
|
|
218
|
+
const showing = result.totalCount > result.items.length
|
|
219
|
+
? `Showing ${result.items.length} of ${result.totalCount}`
|
|
220
|
+
: `${result.totalCount} feature(s) found`;
|
|
221
|
+
console.log(`\n${showing}:\n`);
|
|
218
222
|
for (const feature of result.items) {
|
|
219
223
|
const devStatus = getDevStatusDisplay(feature);
|
|
220
224
|
const reviewStatus = getReviewStatusDisplay(feature);
|
|
@@ -224,19 +228,19 @@ export async function featureList(options) {
|
|
|
224
228
|
if (reviewStatus) {
|
|
225
229
|
console.log(` Review Status: ${reviewStatus.emoji} ${reviewStatus.label}`);
|
|
226
230
|
}
|
|
227
|
-
if (feature.stats) {
|
|
228
|
-
const { verifiedItems, totalItems, blockedItems } = feature.stats;
|
|
229
|
-
let progressStr = ` Progress: ${verifiedItems}/${totalItems}`;
|
|
230
|
-
if (blockedItems > 0) {
|
|
231
|
-
progressStr += ` (${blockedItems} blocked)`;
|
|
232
|
-
}
|
|
233
|
-
console.log(progressStr);
|
|
234
|
-
}
|
|
235
231
|
if (feature.gitBranch) {
|
|
236
232
|
console.log(` Branch: ${feature.gitBranch}`);
|
|
237
233
|
}
|
|
238
234
|
console.log('');
|
|
239
235
|
}
|
|
236
|
+
// Show next page command if there are more items
|
|
237
|
+
const currentLimit = filters.limit ?? 10;
|
|
238
|
+
const nextOffset = (filters.offset ?? 0) + result.items.length;
|
|
239
|
+
if (nextOffset < result.totalCount) {
|
|
240
|
+
const limitFlag = currentLimit !== 10 ? ` --limit ${currentLimit}` : '';
|
|
241
|
+
const branchFlag = options.currentBranch ? ' --current-branch' : '';
|
|
242
|
+
console.log(`Next page: ranger feature list --offset ${nextOffset}${limitFlag}${branchFlag}`);
|
|
243
|
+
}
|
|
240
244
|
}
|
|
241
245
|
/**
|
|
242
246
|
* Show feature details
|
|
@@ -245,33 +249,35 @@ export async function featureShow(id) {
|
|
|
245
249
|
const featureId = id || (await getActiveFeatureId());
|
|
246
250
|
if (!featureId) {
|
|
247
251
|
console.error('\n\u274c No feature ID provided and no active feature set.');
|
|
248
|
-
console.error('Run: ranger feature
|
|
252
|
+
console.error('Run: ranger feature resume <id> to set an active feature');
|
|
249
253
|
process.exit(1);
|
|
250
254
|
}
|
|
251
255
|
const feature = await getFeature(featureId);
|
|
252
256
|
displayFeature(feature, feature.checklistItems);
|
|
253
257
|
}
|
|
254
|
-
/**
|
|
255
|
-
* Set active feature
|
|
256
|
-
*/
|
|
257
|
-
export async function featureUse(id) {
|
|
258
|
-
// Verify the feature exists
|
|
259
|
-
const feature = await getFeature(id);
|
|
260
|
-
await setActiveFeatureId(feature.id);
|
|
261
|
-
console.log(`\n\u2705 Active feature set to: ${feature.name} (${feature.id})`);
|
|
262
|
-
}
|
|
263
258
|
/**
|
|
264
259
|
* Resume feature matching current git context
|
|
265
260
|
* @param id Optional feature ID to resume directly (bypasses search/prompt)
|
|
266
261
|
*/
|
|
267
262
|
export async function featureResume(id) {
|
|
268
|
-
// If ID provided,
|
|
263
|
+
// If ID provided, set it as the active feature directly
|
|
269
264
|
if (id) {
|
|
270
265
|
const feature = await getFeature(id);
|
|
271
266
|
await setActiveFeatureId(feature.id);
|
|
267
|
+
// Update the feature's gitBranch to the current branch
|
|
268
|
+
const currentBranch = getGitBranch();
|
|
269
|
+
if (currentBranch && currentBranch !== feature.gitBranch) {
|
|
270
|
+
await updateFeature(feature.id, { gitBranch: currentBranch });
|
|
271
|
+
console.log(` Updated branch to: ${currentBranch}`);
|
|
272
|
+
}
|
|
272
273
|
console.log(`\n\u2705 Resumed feature: ${feature.name} (${feature.id})`);
|
|
273
274
|
// Start the current session if it's ready
|
|
274
275
|
await tryStartCurrentSession(feature.id);
|
|
276
|
+
// Register Claude session if provided via env var
|
|
277
|
+
const claudeSessionId = process.env.CLAUDE_SESSION_ID;
|
|
278
|
+
if (claudeSessionId) {
|
|
279
|
+
registerSession(claudeSessionId, feature.id);
|
|
280
|
+
}
|
|
275
281
|
displayFeature(feature, feature.checklistItems);
|
|
276
282
|
return;
|
|
277
283
|
}
|
|
@@ -298,7 +304,23 @@ export async function featureResume(id) {
|
|
|
298
304
|
selectedFeature = activeFeatures[0];
|
|
299
305
|
}
|
|
300
306
|
else {
|
|
301
|
-
// Multiple matches -
|
|
307
|
+
// Multiple matches - check if we're in interactive mode
|
|
308
|
+
const isInteractive = process.stdin.isTTY && process.stdout.isTTY;
|
|
309
|
+
if (!isInteractive) {
|
|
310
|
+
// Non-interactive mode: list features and require explicit ID
|
|
311
|
+
console.log('\nNon-interactive mode detected. Multiple features found:');
|
|
312
|
+
for (const f of activeFeatures) {
|
|
313
|
+
const devStatus = getDevStatusDisplay(f);
|
|
314
|
+
console.log(` ${devStatus.emoji} ${f.name}`);
|
|
315
|
+
console.log(` ID: ${f.id}`);
|
|
316
|
+
if (f.gitBranch) {
|
|
317
|
+
console.log(` Branch: ${f.gitBranch}`);
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
console.error('\nPlease specify the feature ID: ranger feature resume <id>');
|
|
321
|
+
process.exit(1);
|
|
322
|
+
}
|
|
323
|
+
// Interactive mode: prompt user to select
|
|
302
324
|
const { selected } = await inquirer.prompt([
|
|
303
325
|
{
|
|
304
326
|
type: 'list',
|
|
@@ -313,11 +335,21 @@ export async function featureResume(id) {
|
|
|
313
335
|
selectedFeature = activeFeatures.find((f) => f.id === selected);
|
|
314
336
|
}
|
|
315
337
|
await setActiveFeatureId(selectedFeature.id);
|
|
338
|
+
// Update the feature's gitBranch to the current branch
|
|
339
|
+
if (gitBranch && gitBranch !== selectedFeature.gitBranch) {
|
|
340
|
+
await updateFeature(selectedFeature.id, { gitBranch });
|
|
341
|
+
console.log(` Updated branch to: ${gitBranch}`);
|
|
342
|
+
}
|
|
316
343
|
console.log(`\n\u2705 Resumed feature: ${selectedFeature.name} (${selectedFeature.id})`);
|
|
317
344
|
// Start the current session if it's ready
|
|
318
345
|
await tryStartCurrentSession(selectedFeature.id);
|
|
319
|
-
//
|
|
346
|
+
// Register Claude session if provided via env var
|
|
320
347
|
const fullFeature = await getFeature(selectedFeature.id);
|
|
348
|
+
const claudeSessionId = process.env.CLAUDE_SESSION_ID;
|
|
349
|
+
if (claudeSessionId) {
|
|
350
|
+
registerSession(claudeSessionId, fullFeature.id);
|
|
351
|
+
}
|
|
352
|
+
// Show current status
|
|
321
353
|
displayFeature(fullFeature, fullFeature.checklistItems);
|
|
322
354
|
}
|
|
323
355
|
/**
|
|
@@ -368,7 +400,7 @@ export async function featureConcludeSession(id) {
|
|
|
368
400
|
const featureId = id || (await getActiveFeatureId());
|
|
369
401
|
if (!featureId) {
|
|
370
402
|
console.error('\n\u274c No feature ID provided and no active feature set.');
|
|
371
|
-
console.error('Run: ranger feature
|
|
403
|
+
console.error('Run: ranger feature resume <id> to set an active feature');
|
|
372
404
|
process.exit(1);
|
|
373
405
|
}
|
|
374
406
|
const feature = await getFeature(featureId);
|
|
@@ -426,4 +458,29 @@ export async function featureSessions(id) {
|
|
|
426
458
|
console.log('');
|
|
427
459
|
}
|
|
428
460
|
}
|
|
461
|
+
/**
|
|
462
|
+
* Add a checklist item to the active feature
|
|
463
|
+
*/
|
|
464
|
+
export async function featureAddChecklistItem(description, id) {
|
|
465
|
+
const featureId = id || (await getActiveFeatureId());
|
|
466
|
+
if (!featureId) {
|
|
467
|
+
console.error('\n\u274c No feature ID provided and no active feature set.');
|
|
468
|
+
console.error('Run: ranger feature resume <id> to set an active feature');
|
|
469
|
+
process.exit(1);
|
|
470
|
+
}
|
|
471
|
+
const feature = await getFeature(featureId);
|
|
472
|
+
// Check if there's an active (non-submitted) review
|
|
473
|
+
if (feature.latestReview && !feature.latestReview.submittedAt) {
|
|
474
|
+
console.error('\n\u274c Cannot add checklist item: feature has an active review.');
|
|
475
|
+
console.error('Please finish your review first:');
|
|
476
|
+
console.error(` ${feature.dashboardUrl}`);
|
|
477
|
+
process.exit(1);
|
|
478
|
+
}
|
|
479
|
+
// Create the checklist item
|
|
480
|
+
await createChecklistItem(featureId, description);
|
|
481
|
+
// Refetch and display the updated feature
|
|
482
|
+
const updatedFeature = await getFeature(featureId);
|
|
483
|
+
console.log(`\n\u2705 Checklist item added`);
|
|
484
|
+
displayFeature(updatedFeature, updatedFeature.checklistItems);
|
|
485
|
+
}
|
|
429
486
|
//# sourceMappingURL=feature.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature.js","sourceRoot":"","sources":["../../src/commands/feature.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"feature.js","sourceRoot":"","sources":["../../src/commands/feature.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { sessionStart, preCompact, postEdit, planStart, planReminder, exitPlanMode, stopHook, enable, disable, } from './hooks/index.js';
|
|
2
|
+
const HOOKS = {
|
|
3
|
+
'session-start': sessionStart,
|
|
4
|
+
'pre-compact': preCompact,
|
|
5
|
+
'post-edit': postEdit,
|
|
6
|
+
'plan-start': planStart,
|
|
7
|
+
'plan-reminder': planReminder,
|
|
8
|
+
'exit-plan-mode': exitPlanMode,
|
|
9
|
+
stop: stopHook,
|
|
10
|
+
enable: enable,
|
|
11
|
+
disable: disable,
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Unified hook command handler for Claude Code plugin.
|
|
15
|
+
* Routes to the appropriate hook based on the --name parameter.
|
|
16
|
+
*/
|
|
17
|
+
export async function hook(name) {
|
|
18
|
+
const hookFn = HOOKS[name];
|
|
19
|
+
if (!hookFn) {
|
|
20
|
+
const validNames = Object.keys(HOOKS).join(', ');
|
|
21
|
+
console.error(`Unknown hook: ${name}`);
|
|
22
|
+
console.error(`Valid hooks: ${validNames}`);
|
|
23
|
+
process.exit(1);
|
|
24
|
+
}
|
|
25
|
+
await hookFn();
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=hook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/commands/hook.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,OAAO,GACV,MAAM,kBAAkB,CAAC;AAa1B,MAAM,KAAK,GAA0C;IACjD,eAAe,EAAE,YAAY;IAC7B,aAAa,EAAE,UAAU;IACzB,WAAW,EAAE,QAAQ;IACrB,YAAY,EAAE,SAAS;IACvB,eAAe,EAAE,YAAY;IAC7B,gBAAgB,EAAE,YAAY;IAC9B,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,OAAO;CACnB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAY;IACnC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAgB,CAAC,CAAC;IAEvC,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,OAAO,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;QACvC,OAAO,CAAC,KAAK,CAAC,gBAAgB,UAAU,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,MAAM,EAAE,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { disableSession } from '../utils/sessionCache.js';
|
|
2
|
+
import { printBlock } from './output.js';
|
|
3
|
+
/**
|
|
4
|
+
* Disable hook - disables Ranger hooks for this Claude session
|
|
5
|
+
*/
|
|
6
|
+
export async function disable() {
|
|
7
|
+
const sessionId = process.env.CLAUDE_SESSION_ID || '';
|
|
8
|
+
if (!sessionId) {
|
|
9
|
+
console.error('Error: CLAUDE_SESSION_ID not found in environment.');
|
|
10
|
+
process.exit(1);
|
|
11
|
+
}
|
|
12
|
+
// Disable hooks for this session
|
|
13
|
+
disableSession(sessionId);
|
|
14
|
+
printBlock(`# RANGER DISABLED
|
|
15
|
+
|
|
16
|
+
The user has expressly disabled Ranger hooks for this session.
|
|
17
|
+
|
|
18
|
+
**IMPORTANT INSTRUCTIONS:**
|
|
19
|
+
- Do NOT use the /ranger skill
|
|
20
|
+
- Do NOT use any \`ranger\` CLI commands
|
|
21
|
+
- Proceed with your task without tracking features using the Ranger CLI
|
|
22
|
+
|
|
23
|
+
To re-enable Ranger, run \`/ranger:enable\`.`);
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=disable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disable.js","sourceRoot":"","sources":["../../../src/commands/hooks/disable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO;IACzB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC;IAEtD,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,iCAAiC;IACjC,cAAc,CAAC,SAAS,CAAC,CAAC;IAE1B,UAAU,CAAC;;;;;;;;;6CAS8B,CAAC,CAAC;AAC/C,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { enableSession } from '../utils/sessionCache.js';
|
|
2
|
+
import { getToken } from '../utils/keychain.js';
|
|
3
|
+
import { getRangerSkillContent } from '../utils/skillContent.js';
|
|
4
|
+
import { printBlock } from './output.js';
|
|
5
|
+
/**
|
|
6
|
+
* Enable hook - enables Ranger hooks for this Claude session
|
|
7
|
+
*/
|
|
8
|
+
export async function enable() {
|
|
9
|
+
const sessionId = process.env.CLAUDE_SESSION_ID || '';
|
|
10
|
+
if (!sessionId) {
|
|
11
|
+
console.error('Error: CLAUDE_SESSION_ID not found in environment.');
|
|
12
|
+
console.error('Make sure Ranger hooks are properly configured.');
|
|
13
|
+
process.exit(1);
|
|
14
|
+
}
|
|
15
|
+
// Check if CLI is configured (has token)
|
|
16
|
+
const token = await getToken();
|
|
17
|
+
if (!token) {
|
|
18
|
+
printBlock(`# RANGER SETUP REQUIRED
|
|
19
|
+
|
|
20
|
+
The Ranger CLI is not configured. To get started:
|
|
21
|
+
|
|
22
|
+
1. Install: \`npm install -g @ranger-testing/ranger-cli\`
|
|
23
|
+
2. Get token: https://dashboard.ranger.net/cli
|
|
24
|
+
3. Initialize: \`ranger start <your-token>\`
|
|
25
|
+
|
|
26
|
+
Restart your Claude Code session after setup.`);
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
// Enable hooks for this session
|
|
30
|
+
enableSession(sessionId);
|
|
31
|
+
// Output the skill prompt
|
|
32
|
+
const skillContent = getRangerSkillContent();
|
|
33
|
+
printBlock(`# RANGER ENABLED
|
|
34
|
+
|
|
35
|
+
**For ANY UI work, you MUST use the /ranger skill.**
|
|
36
|
+
|
|
37
|
+
${skillContent}
|
|
38
|
+
|
|
39
|
+
## Quick Reference
|
|
40
|
+
|
|
41
|
+
**In plan mode:** Include Ranger Feature Specification at end of plan.
|
|
42
|
+
**Not in plan mode:** Run \`ranger feature create\` FIRST, then verify with \`ranger verify-feature\`.`);
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=enable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enable.js","sourceRoot":"","sources":["../../../src/commands/hooks/enable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM;IACxB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC;IAEtD,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACpE,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,yCAAyC;IACzC,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,UAAU,CAAC;;;;;;;;8CAQ2B,CAAC,CAAC;QACxC,OAAO;IACX,CAAC;IAED,gCAAgC;IAChC,aAAa,CAAC,SAAS,CAAC,CAAC;IAEzB,0BAA0B;IAC1B,MAAM,YAAY,GAAG,qBAAqB,EAAE,CAAC;IAE7C,UAAU,CAAC;;;;EAIb,YAAY;;;;;uGAKyF,CAAC,CAAC;AACzG,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { printBlock, getEnabledSessionId } from './output.js';
|
|
2
|
+
/**
|
|
3
|
+
* PermissionRequest hook handler for ExitPlanMode
|
|
4
|
+
*
|
|
5
|
+
* This command is invoked when Claude requests permission to exit plan mode.
|
|
6
|
+
* It reminds Claude to create a Ranger feature to track the work.
|
|
7
|
+
*/
|
|
8
|
+
export async function exitPlanMode() {
|
|
9
|
+
const sessionId = await getEnabledSessionId();
|
|
10
|
+
if (!sessionId) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
printBlock(`=== RANGER: CREATE FEATURE NOW ===
|
|
14
|
+
|
|
15
|
+
You are about to exit plan mode. If your plan includes UI changes:
|
|
16
|
+
|
|
17
|
+
**ACTION REQUIRED:** Create the Ranger feature using items from your Ranger Feature Specification:
|
|
18
|
+
|
|
19
|
+
\`\`\`
|
|
20
|
+
ranger feature create "<Feature Name from plan>" \\
|
|
21
|
+
-d "<Description from plan>" \\
|
|
22
|
+
-c "<Checklist item 1 from plan>" \\
|
|
23
|
+
-c "<Checklist item 2 from plan>"
|
|
24
|
+
\`\`\`
|
|
25
|
+
|
|
26
|
+
**REMINDER:** Checklist items must be E2E user flows, NOT implementation tasks.
|
|
27
|
+
|
|
28
|
+
**Good:** "User can log in with valid credentials and see dashboard"
|
|
29
|
+
**Bad:** "Add form validation" or "API returns 200"
|
|
30
|
+
|
|
31
|
+
If you did NOT include a Ranger Feature Specification in your plan, go back and add one before proceeding. See /ranger and create.md for guidance.
|
|
32
|
+
|
|
33
|
+
=== END ===`);
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=exitPlanMode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exitPlanMode.js","sourceRoot":"","sources":["../../../src/commands/hooks/exitPlanMode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY;IAC9B,MAAM,SAAS,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO;IACX,CAAC;IAED,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;YAoBH,CAAC,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { sessionStart } from './sessionStart.js';
|
|
2
|
+
export { preCompact } from './preCompact.js';
|
|
3
|
+
export { postEdit } from './postEdit.js';
|
|
4
|
+
export { planStart } from './planStart.js';
|
|
5
|
+
export { planReminder } from './planReminder.js';
|
|
6
|
+
export { exitPlanMode } from './exitPlanMode.js';
|
|
7
|
+
export { stopHook } from './stopHook.js';
|
|
8
|
+
export { enable } from './enable.js';
|
|
9
|
+
export { disable } from './disable.js';
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
|