@ranger-testing/ranger-cli 1.0.13 → 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.
Files changed (101) hide show
  1. package/README.md +72 -183
  2. package/build/cli.js +219 -278
  3. package/build/cli.js.map +1 -1
  4. package/build/commands/addEnv.js +1 -1
  5. package/build/commands/addEnv.js.map +1 -1
  6. package/build/commands/authEncrypt.js +7 -6
  7. package/build/commands/authEncrypt.js.map +1 -1
  8. package/build/commands/clean.js +1 -1
  9. package/build/commands/clean.js.map +1 -1
  10. package/build/commands/config.js +5 -4
  11. package/build/commands/config.js.map +1 -1
  12. package/build/commands/dataMcpServer.js +1 -1
  13. package/build/commands/dataMcpServer.js.map +1 -1
  14. package/build/commands/env.js +17 -10
  15. package/build/commands/env.js.map +1 -1
  16. package/build/commands/feature.js +277 -285
  17. package/build/commands/feature.js.map +1 -1
  18. package/build/commands/hook.js +27 -0
  19. package/build/commands/hook.js.map +1 -0
  20. package/build/commands/hooks/disable.js +25 -0
  21. package/build/commands/hooks/disable.js.map +1 -0
  22. package/build/commands/hooks/enable.js +44 -0
  23. package/build/commands/hooks/enable.js.map +1 -0
  24. package/build/commands/hooks/exitPlanMode.js +35 -0
  25. package/build/commands/hooks/exitPlanMode.js.map +1 -0
  26. package/build/commands/hooks/index.js +10 -0
  27. package/build/commands/hooks/index.js.map +1 -0
  28. package/build/commands/hooks/output.js +53 -0
  29. package/build/commands/hooks/output.js.map +1 -0
  30. package/build/commands/hooks/planReminder.js +46 -0
  31. package/build/commands/hooks/planReminder.js.map +1 -0
  32. package/build/commands/hooks/planStart.js +30 -0
  33. package/build/commands/hooks/planStart.js.map +1 -0
  34. package/build/commands/hooks/postEdit.js +41 -0
  35. package/build/commands/hooks/postEdit.js.map +1 -0
  36. package/build/commands/hooks/preCompact.js +30 -0
  37. package/build/commands/hooks/preCompact.js.map +1 -0
  38. package/build/commands/hooks/sessionStart.js +35 -0
  39. package/build/commands/hooks/sessionStart.js.map +1 -0
  40. package/build/commands/hooks/stopHook.js +54 -0
  41. package/build/commands/hooks/stopHook.js.map +1 -0
  42. package/build/commands/index.js +1 -0
  43. package/build/commands/index.js.map +1 -1
  44. package/build/commands/skillup.js +41 -77
  45. package/build/commands/skillup.js.map +1 -1
  46. package/build/commands/start.js +1 -1
  47. package/build/commands/start.js.map +1 -1
  48. package/build/commands/status.js +47 -65
  49. package/build/commands/status.js.map +1 -1
  50. package/build/commands/update.js +32 -40
  51. package/build/commands/update.js.map +1 -1
  52. package/build/commands/updateEnv.js +1 -1
  53. package/build/commands/updateEnv.js.map +1 -1
  54. package/build/commands/useEnv.js +1 -1
  55. package/build/commands/useEnv.js.map +1 -1
  56. package/build/commands/utils/browserSessionsApi.js +1 -1
  57. package/build/commands/utils/browserSessionsApi.js.map +1 -1
  58. package/build/commands/utils/claudePlugin.js +85 -0
  59. package/build/commands/utils/claudePlugin.js.map +1 -0
  60. package/build/commands/utils/cliSecret.js +1 -1
  61. package/build/commands/utils/environment.js +0 -6
  62. package/build/commands/utils/environment.js.map +1 -1
  63. package/build/commands/utils/featureApi.js +82 -15
  64. package/build/commands/utils/featureApi.js.map +1 -1
  65. package/build/commands/utils/featureReportGenerator.js +37 -3
  66. package/build/commands/utils/featureReportGenerator.js.map +1 -1
  67. package/build/commands/utils/git.js +44 -0
  68. package/build/commands/utils/git.js.map +1 -0
  69. package/build/commands/utils/keychain.js +1 -1
  70. package/build/commands/utils/keychain.js.map +1 -1
  71. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  72. package/build/commands/utils/rangerRoot.js +30 -0
  73. package/build/commands/utils/rangerRoot.js.map +1 -0
  74. package/build/commands/utils/sessionCache.js +133 -0
  75. package/build/commands/utils/sessionCache.js.map +1 -0
  76. package/build/commands/utils/settings.js +7 -5
  77. package/build/commands/utils/settings.js.map +1 -1
  78. package/build/commands/utils/skillContent.js +28 -0
  79. package/build/commands/utils/skillContent.js.map +1 -0
  80. package/build/commands/utils/skills.js +1 -1
  81. package/build/commands/utils/skills.js.map +1 -1
  82. package/build/commands/utils/userApi.js +32 -0
  83. package/build/commands/utils/userApi.js.map +1 -0
  84. package/build/commands/verifyFeature.js +450 -105
  85. package/build/commands/verifyFeature.js.map +1 -1
  86. package/build/commands/verifyInBrowser.js +1 -1
  87. package/build/commands/verifyInBrowser.js.map +1 -1
  88. package/build/skills/bug-bash.md +31 -10
  89. package/build/skills/ranger/SKILL.md +164 -0
  90. package/build/skills/ranger/create.md +151 -0
  91. package/build/skills/ranger/start.md +122 -0
  92. package/build/skills/{feature-tracker → ranger}/verify.md +43 -17
  93. package/package.json +5 -3
  94. package/scripts/postinstall.js +18 -0
  95. package/build/commands/utils/mcpConfig.js +0 -1
  96. package/build/commands/utils/mcpConfig.js.map +0 -1
  97. package/build/skills/feature-tracker/SKILL.md +0 -185
  98. package/build/skills/feature-tracker/create.md +0 -105
  99. package/build/skills/feature-tracker/manage.md +0 -145
  100. package/build/skills/feature-tracker/report.md +0 -159
  101. package/build/skills/feature-tracker/start.md +0 -93
@@ -16,6 +16,8 @@ function getStatusEmoji(status) {
16
16
  case 'pending':
17
17
  case 'in_progress':
18
18
  return '\ud83d\udd04'; // rotating arrows
19
+ case 'incomplete':
20
+ return '\ud83d\udfe0'; // orange circle 🟠
19
21
  case 'blocked':
20
22
  return '\ud83d\uded1'; // stop sign
21
23
  case 'canceled':
@@ -60,9 +62,38 @@ export function generateFeatureReport(data) {
60
62
  // Header
61
63
  lines.push(`# Feature Report: ${feature.name}`);
62
64
  lines.push('');
63
- // Status
64
- const statusEmoji = getStatusEmoji(feature.status);
65
- lines.push(`**Status:** ${statusEmoji} ${feature.status.charAt(0).toUpperCase() + feature.status.slice(1).replace('_', ' ')}`);
65
+ // Status - derive from completedAt and currentSession
66
+ let statusLabel;
67
+ let statusEmoji;
68
+ if (feature.completedAt) {
69
+ statusLabel = 'Completed';
70
+ statusEmoji = '\u2705'; // green check
71
+ }
72
+ else if (feature.currentSession) {
73
+ const sessionStatus = feature.currentSession.status;
74
+ switch (sessionStatus) {
75
+ case 'ready':
76
+ statusLabel = `Session ${feature.currentSession.iteration}: Ready`;
77
+ statusEmoji = '\u25b6\ufe0f'; // ▶️
78
+ break;
79
+ case 'in_progress':
80
+ statusLabel = `Session ${feature.currentSession.iteration}: In Progress`;
81
+ statusEmoji = '\ud83d\udd04'; // 🔄
82
+ break;
83
+ case 'completed':
84
+ statusLabel = `Session ${feature.currentSession.iteration}: Awaiting Review`;
85
+ statusEmoji = '\ud83d\udcca'; // 📊
86
+ break;
87
+ default:
88
+ statusLabel = 'Unknown';
89
+ statusEmoji = '\u2753';
90
+ }
91
+ }
92
+ else {
93
+ statusLabel = 'No Session';
94
+ statusEmoji = '\u2b1c'; // white square
95
+ }
96
+ lines.push(`**Status:** ${statusEmoji} ${statusLabel}`);
66
97
  lines.push(`**Created:** ${formatDate(feature.createdAt)}`);
67
98
  if (feature.completedAt) {
68
99
  lines.push(`**Completed:** ${formatDate(feature.completedAt)}`);
@@ -110,6 +141,9 @@ export function generateFeatureReport(data) {
110
141
  lines.push(`- **Reason:** ${item.canceledReason}`);
111
142
  }
112
143
  }
144
+ if (item.status === 'incomplete') {
145
+ lines.push(`- **Status:** Incomplete - requires further work`);
146
+ }
113
147
  // Link to session if available
114
148
  if (item.browserSessionId) {
115
149
  lines.push(`- **Session:** ${item.browserSessionId}`);
@@ -1 +1 @@
1
- {"version":3,"file":"featureReportGenerator.js","sourceRoot":"","sources":["../../../src/commands/utils/featureReportGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"featureReportGenerator.js","sourceRoot":"","sources":["../../../src/commands/utils/featureReportGenerator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import { execSync } from 'child_process';
2
+ /**
3
+ * Get the current git branch
4
+ */
5
+ export function getGitBranch() {
6
+ try {
7
+ return execSync('git rev-parse --abbrev-ref HEAD', {
8
+ encoding: 'utf-8',
9
+ stdio: ['pipe', 'pipe', 'pipe'],
10
+ }).trim();
11
+ }
12
+ catch {
13
+ return undefined;
14
+ }
15
+ }
16
+ /**
17
+ * Get the current git remote URL (normalized)
18
+ */
19
+ export function getGitRepoUrl() {
20
+ try {
21
+ const remote = execSync('git remote get-url origin', {
22
+ encoding: 'utf-8',
23
+ stdio: ['pipe', 'pipe', 'pipe'],
24
+ }).trim();
25
+ // Normalize git URL (remove .git suffix, convert ssh to https format)
26
+ return remote
27
+ .replace(/\.git$/, '')
28
+ .replace(/^git@github\.com:/, 'github.com/')
29
+ .replace(/^https?:\/\//, '');
30
+ }
31
+ catch {
32
+ return undefined;
33
+ }
34
+ }
35
+ /**
36
+ * Get git info (branch and repo URL)
37
+ */
38
+ export function getGitInfo() {
39
+ return {
40
+ branch: getGitBranch(),
41
+ repoUrl: getGitRepoUrl(),
42
+ };
43
+ }
44
+ //# sourceMappingURL=git.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/commands/utils/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAOzC;;GAEG;AACH,MAAM,UAAU,YAAY;IACxB,IAAI,CAAC;QACD,OAAO,QAAQ,CAAC,iCAAiC,EAAE;YAC/C,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,SAAS,CAAC;IACrB,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IACzB,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,QAAQ,CAAC,2BAA2B,EAAE;YACjD,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,sEAAsE;QACtE,OAAO,MAAM;aACR,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;aACrB,OAAO,CAAC,mBAAmB,EAAE,aAAa,CAAC;aAC3C,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,SAAS,CAAC;IACrB,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU;IACtB,OAAO;QACH,MAAM,EAAE,YAAY,EAAE;QACtB,OAAO,EAAE,aAAa,EAAE;KAC3B,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- const _0x7622d9=_0x466a;(function(_0x5140b5,_0x26bf8c){const _0x454e49=_0x466a,_0x447986=_0x5140b5();while(!![]){try{const _0x47af53=parseInt(_0x454e49(0x8b))/0x1*(parseInt(_0x454e49(0x90))/0x2)+parseInt(_0x454e49(0x93))/0x3+-parseInt(_0x454e49(0x91))/0x4+parseInt(_0x454e49(0x95))/0x5*(parseInt(_0x454e49(0x94))/0x6)+-parseInt(_0x454e49(0x87))/0x7+-parseInt(_0x454e49(0x89))/0x8+-parseInt(_0x454e49(0x8d))/0x9*(parseInt(_0x454e49(0x8e))/0xa);if(_0x47af53===_0x26bf8c)break;else _0x447986['push'](_0x447986['shift']());}catch(_0x3caeeb){_0x447986['push'](_0x447986['shift']());}}}(_0x2a57,0x526c3));const _0x1571dc=(function(){let _0x69b463=!![];return function(_0xefac39,_0x238afb){const _0x4cddff=_0x69b463?function(){const _0x54b6ab=_0x466a;if(_0x238afb){const _0x2af646=_0x238afb[_0x54b6ab(0x98)](_0xefac39,arguments);return _0x238afb=null,_0x2af646;}}:function(){};return _0x69b463=![],_0x4cddff;};}()),_0x1f5186=_0x1571dc(this,function(){const _0x2c3470=_0x466a,_0x4b7ff8={'TvQey':_0x2c3470(0x8a)};return _0x1f5186['toString']()['search'](_0x2c3470(0x8a))[_0x2c3470(0x88)]()[_0x2c3470(0x96)](_0x1f5186)[_0x2c3470(0x92)](_0x4b7ff8[_0x2c3470(0x8c)]);});_0x1f5186();import _0x56d72a from'keytar';function _0x466a(_0x1c70d0,_0x24f41f){_0x1c70d0=_0x1c70d0-0x86;const _0x8ca92c=_0x2a57();let _0x1f5186=_0x8ca92c[_0x1c70d0];if(_0x466a['wMTPhL']===undefined){var _0x1571dc=function(_0x3dea61){const _0x23dcba='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x125b65='',_0x7b46c2='',_0x4ef27a=_0x125b65+_0x1571dc;for(let _0x36b375=0x0,_0x19a62e,_0x5bab86,_0x18e8a4=0x0;_0x5bab86=_0x3dea61['charAt'](_0x18e8a4++);~_0x5bab86&&(_0x19a62e=_0x36b375%0x4?_0x19a62e*0x40+_0x5bab86:_0x5bab86,_0x36b375++%0x4)?_0x125b65+=_0x4ef27a['charCodeAt'](_0x18e8a4+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x19a62e>>(-0x2*_0x36b375&0x6)):_0x36b375:0x0){_0x5bab86=_0x23dcba['indexOf'](_0x5bab86);}for(let _0x35faf4=0x0,_0x140fcc=_0x125b65['length'];_0x35faf4<_0x140fcc;_0x35faf4++){_0x7b46c2+='%'+('00'+_0x125b65['charCodeAt'](_0x35faf4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x7b46c2);};_0x466a['RgQGjc']=_0x1571dc,_0x466a['gtXCqj']={},_0x466a['wMTPhL']=!![];}const _0x2a57a2=_0x8ca92c[0x0],_0x466a19=_0x1c70d0+_0x2a57a2,_0x53b4e7=_0x466a['gtXCqj'][_0x466a19];if(!_0x53b4e7){const _0x1590d7=function(_0x487e1d){this['OplMil']=_0x487e1d,this['uqcZyq']=[0x1,0x0,0x0],this['cXOUyu']=function(){return'newState';},this['rXaRbC']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['LRqLVV']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x1590d7['prototype']['gBUATP']=function(){const _0x2f857b=new RegExp(this['rXaRbC']+this['LRqLVV']),_0x58ee51=_0x2f857b['test'](this['cXOUyu']['toString']())?--this['uqcZyq'][0x1]:--this['uqcZyq'][0x0];return this['nwYRsl'](_0x58ee51);},_0x1590d7['prototype']['nwYRsl']=function(_0x33f3d1){if(!Boolean(~_0x33f3d1))return _0x33f3d1;return this['tONjtJ'](this['OplMil']);},_0x1590d7['prototype']['tONjtJ']=function(_0x594b81){for(let _0x48d00b=0x0,_0x186095=this['uqcZyq']['length'];_0x48d00b<_0x186095;_0x48d00b++){this['uqcZyq']['push'](Math['round'](Math['random']())),_0x186095=this['uqcZyq']['length'];}return _0x594b81(this['uqcZyq'][0x0]);},new _0x1590d7(_0x466a)['gBUATP'](),_0x1f5186=_0x466a['RgQGjc'](_0x1f5186),_0x466a['gtXCqj'][_0x466a19]=_0x1f5186;}else _0x1f5186=_0x53b4e7;return _0x1f5186;}const SERVICE_NAME=_0x7622d9(0x99),ACCOUNT_TOKEN=_0x7622d9(0x9a),ACCOUNT_SERVER_URL='server-url';export async function storeToken(_0x545ae8){await _0x56d72a['setPassword'](SERVICE_NAME,ACCOUNT_TOKEN,_0x545ae8);}export async function getToken(){return await _0x56d72a['getPassword'](SERVICE_NAME,ACCOUNT_TOKEN);}export async function deleteToken(){const _0x198b86=_0x7622d9;return await _0x56d72a[_0x198b86(0x8f)](SERVICE_NAME,ACCOUNT_TOKEN);}export async function storeServerUrl(_0x300794){await _0x56d72a['setPassword'](SERVICE_NAME,ACCOUNT_SERVER_URL,_0x300794);}function _0x2a57(){const _0x1cf903=['mJiWmdG1nMHNtvnnuW','Dg9tDhjPBMC','mJiWmJqXnMDrvNvAva','kcGOlISPkYKRksSK','mJi3nMvXDwjyzW','vhzrzxK','mZi0odaXDKDwEeDR','otbXChfbCxG','zgvSzxrLugfZC3DVCMq','ntm2wer6rfvM','mti4mJa2ohbuAxboEq','C2vHCMnO','mte0mZu0owfbv3vzCq','mZbABfnMsvG','ntGXndGWAuzKu2HP','y29UC3rYDwn0B3i','z2v0ugfZC3DVCMq','yxbWBhK','CMfUz2vYlwnSAq','yxbPlxrVA2vU','sgHxA1e'];_0x2a57=function(){return _0x1cf903;};return _0x2a57();}export async function getServerUrl(){const _0x2d43c4=_0x7622d9;return await _0x56d72a[_0x2d43c4(0x97)](SERVICE_NAME,ACCOUNT_SERVER_URL);}export async function deleteServerUrl(){const _0x51e3c1=_0x7622d9;return await _0x56d72a[_0x51e3c1(0x8f)](SERVICE_NAME,ACCOUNT_SERVER_URL);}export async function deleteAllCredentials(){const _0x3108a0=_0x7622d9,_0x47c771={'HhWkQ':function(_0x9d4711){return _0x9d4711();},'UJhKq':function(_0x272564){return _0x272564();}};await _0x47c771[_0x3108a0(0x86)](deleteToken),await _0x47c771['UJhKq'](deleteServerUrl);}
1
+ const _0x4a6219=_0xac2e;(function(_0x5dc69b,_0x3b5ecc){const _0x513083=_0xac2e,_0x6b4090=_0x5dc69b();while(!![]){try{const _0x3e0ba7=parseInt(_0x513083(0x1a2))/0x1*(-parseInt(_0x513083(0x192))/0x2)+-parseInt(_0x513083(0x189))/0x3*(-parseInt(_0x513083(0x198))/0x4)+-parseInt(_0x513083(0x188))/0x5*(-parseInt(_0x513083(0x193))/0x6)+-parseInt(_0x513083(0x18a))/0x7+parseInt(_0x513083(0x1aa))/0x8+parseInt(_0x513083(0x1a6))/0x9+-parseInt(_0x513083(0x196))/0xa;if(_0x3e0ba7===_0x3b5ecc)break;else _0x6b4090['push'](_0x6b4090['shift']());}catch(_0x574776){_0x6b4090['push'](_0x6b4090['shift']());}}}(_0x109c,0x1abf7));const _0x4c5fda=(function(){const _0x12cce1=_0xac2e,_0xda0a09={'eDdSd':function(_0x85bf16,_0x386220){return _0x85bf16!==_0x386220;},'sLutm':'LKDmo','HNVPu':_0x12cce1(0x1a5)};let _0x382a1b=!![];return function(_0x25f040,_0x41a287){const _0x21096d=_0x12cce1,_0x1e6d27={'VOsjH':function(_0x31e281,_0x1852ba){const _0x53915a=_0xac2e;return _0xda0a09[_0x53915a(0x190)](_0x31e281,_0x1852ba);},'SADhQ':_0xda0a09[_0x21096d(0x18d)]};if(_0xda0a09[_0x21096d(0x1ad)]===_0xda0a09[_0x21096d(0x1ad)]){const _0x165ac2=_0x382a1b?function(){const _0x28d0a6=_0x21096d;if(_0x41a287){if(_0x1e6d27[_0x28d0a6(0x1ab)](_0x28d0a6(0x18f),_0x1e6d27[_0x28d0a6(0x1ac)]))return _0x14a3f1[_0x28d0a6(0x19d)][_0xdcdcd1];else{const _0x515da8=_0x41a287[_0x28d0a6(0x1a9)](_0x25f040,arguments);return _0x41a287=null,_0x515da8;}}}:function(){};return _0x382a1b=![],_0x165ac2;}else{if(_0x18adc7){const _0x511fe4=_0x4cbc6d[_0x21096d(0x1a9)](_0x3e330c,arguments);return _0x5b4a90=null,_0x511fe4;}}};}()),_0x1446ba=_0x4c5fda(this,function(){const _0x56be14=_0xac2e,_0x22db3d={'epRNr':_0x56be14(0x1a1)};return _0x1446ba[_0x56be14(0x19a)]()['search'](_0x22db3d[_0x56be14(0x194)])[_0x56be14(0x19a)]()[_0x56be14(0x18c)](_0x1446ba)[_0x56be14(0x1a8)](_0x22db3d[_0x56be14(0x194)]);});_0x1446ba();import _0x55d2b9 from'keytar';import{appendFile}from'fs/promises';function _0x109c(){const _0x17af6c=['nZK4mZnSzNz0BfC','zhHQCwW','zuzNC3e','C09Vy3O','mtuWndmXnhzuBKz1vq','u2riwwW','C2vHCMnO','yxbWBhK','mtmZnJy0AgHRqxjk','vK9ZAKG','u0feAfe','se5wuhu','mJGWnJvRyMfvqMS','nJqWnZqWq0X2sfvj','mtm4mZiXnhjlAezOtq','yxbPlxrVA2vU','y29UC3rYDwn0B3i','C0X1Dg0','vK1btK0','teTeBw8','zurKu2q','tgXSquu','nejfrvHgCG','mtmYy0TzALzv','zxbstNi','sfbPqMG','ntqWotmWverkBxf1','Dez5r1C','nfLjDwXTra','zgvSzxrLugfZC3DVCMq','Dg9tDhjPBMC','C2v0ugfZC3DVCMq','wgfUthq','zw52','r0Lusfvcx0vovG','uKfor0vsx01duf9ut0TftG','z2v0ugfZC3DVCMq','kcGOlISPkYKRksSK'];_0x109c=function(){return _0x17af6c;};return _0x109c();}const SERVICE_NAME='ranger-cli',ACCOUNT_TOKEN=_0x4a6219(0x18b),ENV_TOKEN=_0x4a6219(0x19f);function isGitHubCI(){const _0x4b2670=_0x4a6219;return!!process[_0x4b2670(0x19d)]['GITHUB_ENV'];}async function writeToGitHubEnv(_0x59f425,_0x2d7abd){const _0x47ce59=_0x4a6219,_0xd8103={'dxjql':function(_0x1818cf,_0x987211,_0xbfce48){return _0x1818cf(_0x987211,_0xbfce48);}},_0x16a35f=process[_0x47ce59(0x19d)][_0x47ce59(0x19e)];_0x16a35f&&await _0xd8103[_0x47ce59(0x1a3)](appendFile,_0x16a35f,_0x59f425+'='+_0x2d7abd+'\x0a');}export async function storeToken(_0x4ab736){const _0x3d38f8=_0x4a6219,_0x2ff603={'HPiBh':function(_0x1747d8){return _0x1747d8();},'tFyGW':function(_0x705243,_0x237cf8){return _0x705243===_0x237cf8;},'LllAE':'WFSgY','rHTQs':function(_0x11d711,_0x4d828c,_0x4b7743){return _0x11d711(_0x4d828c,_0x4b7743);},'eFgsq':'oiLec','XanLt':_0x3d38f8(0x18e)};if(_0x2ff603[_0x3d38f8(0x195)](isGitHubCI)){if(_0x2ff603[_0x3d38f8(0x197)](_0x2ff603[_0x3d38f8(0x191)],_0x3d38f8(0x1a7)))return!!_0x304dce[_0x3d38f8(0x19d)][_0x3d38f8(0x19e)];else await _0x2ff603['rHTQs'](writeToGitHubEnv,ENV_TOKEN,_0x4ab736);}else{if(_0x2ff603['tFyGW'](_0x2ff603[_0x3d38f8(0x1a4)],_0x2ff603[_0x3d38f8(0x19c)])){const _0xbe95ab=_0x234246?function(){const _0x39329e=_0x3d38f8;if(_0x33dd87){const _0x4dbf4d=_0x643b49[_0x39329e(0x1a9)](_0x441562,arguments);return _0xb07045=null,_0x4dbf4d;}}:function(){};return _0x5758d8=![],_0xbe95ab;}else await _0x55d2b9[_0x3d38f8(0x19b)](SERVICE_NAME,ACCOUNT_TOKEN,_0x4ab736);}}export async function getToken(){const _0x361cbc=_0x4a6219;if(process[_0x361cbc(0x19d)][ENV_TOKEN])return process[_0x361cbc(0x19d)][ENV_TOKEN];return await _0x55d2b9[_0x361cbc(0x1a0)](SERVICE_NAME,ACCOUNT_TOKEN);}export async function deleteToken(){const _0x1c5d6e=_0x4a6219;return await _0x55d2b9[_0x1c5d6e(0x199)](SERVICE_NAME,ACCOUNT_TOKEN);}function _0xac2e(_0x5dc0cd,_0x53e8f6){_0x5dc0cd=_0x5dc0cd-0x188;const _0x3aaf7a=_0x109c();let _0x1446ba=_0x3aaf7a[_0x5dc0cd];if(_0xac2e['wnmfUx']===undefined){var _0x4c5fda=function(_0x2b3797){const _0x3a223b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2dfa3a='',_0x30a8ca='',_0x52f362=_0x2dfa3a+_0x4c5fda;for(let _0x19406d=0x0,_0x16b62d,_0x3acff4,_0x599123=0x0;_0x3acff4=_0x2b3797['charAt'](_0x599123++);~_0x3acff4&&(_0x16b62d=_0x19406d%0x4?_0x16b62d*0x40+_0x3acff4:_0x3acff4,_0x19406d++%0x4)?_0x2dfa3a+=_0x52f362['charCodeAt'](_0x599123+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x16b62d>>(-0x2*_0x19406d&0x6)):_0x19406d:0x0){_0x3acff4=_0x3a223b['indexOf'](_0x3acff4);}for(let _0x3f81ab=0x0,_0x372271=_0x2dfa3a['length'];_0x3f81ab<_0x372271;_0x3f81ab++){_0x30a8ca+='%'+('00'+_0x2dfa3a['charCodeAt'](_0x3f81ab)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x30a8ca);};_0xac2e['YAYUlc']=_0x4c5fda,_0xac2e['ihUuDk']={},_0xac2e['wnmfUx']=!![];}const _0x109ce8=_0x3aaf7a[0x0],_0xac2e12=_0x5dc0cd+_0x109ce8,_0x1b9063=_0xac2e['ihUuDk'][_0xac2e12];if(!_0x1b9063){const _0x234246=function(_0x364857){this['WIBxZi']=_0x364857,this['aVXYqk']=[0x1,0x0,0x0],this['FUFpOX']=function(){return'newState';},this['uzImVu']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['Eamqmz']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x234246['prototype']['GNjjcb']=function(){const _0xa7c089=new RegExp(this['uzImVu']+this['Eamqmz']),_0x37fb37=_0xa7c089['test'](this['FUFpOX']['toString']())?--this['aVXYqk'][0x1]:--this['aVXYqk'][0x0];return this['llHetp'](_0x37fb37);},_0x234246['prototype']['llHetp']=function(_0x594de4){if(!Boolean(~_0x594de4))return _0x594de4;return this['NEtOeG'](this['WIBxZi']);},_0x234246['prototype']['NEtOeG']=function(_0x5758d8){for(let _0x33dd87=0x0,_0x2c6c7e=this['aVXYqk']['length'];_0x33dd87<_0x2c6c7e;_0x33dd87++){this['aVXYqk']['push'](Math['round'](Math['random']())),_0x2c6c7e=this['aVXYqk']['length'];}return _0x5758d8(this['aVXYqk'][0x0]);},new _0x234246(_0xac2e)['GNjjcb'](),_0x1446ba=_0xac2e['YAYUlc'](_0x1446ba),_0xac2e['ihUuDk'][_0xac2e12]=_0x1446ba;}else _0x1446ba=_0x1b9063;return _0x1446ba;}export async function deleteAllCredentials(){await deleteToken();}
@@ -1 +1 @@
1
- {"version":3,"file":"keychain.js","sourceRoot":"","sources":["../../../src/commands/utils/keychain.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,YAAY,GAAG,YAAY,CAAC;AAClC,MAAM,aAAa,GAAG,WAAW,CAAC;AAClC,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAExC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAa;IAC1C,MAAM,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;AACjE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC1B,OAAO,MAAM,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AACjE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW;IAC7B,OAAO,MAAM,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AACpE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAW;IAC5C,MAAM,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,kBAAkB,EAAE,GAAG,CAAC,CAAC;AACpE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY;IAC9B,OAAO,MAAM,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;AACtE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACjC,OAAO,MAAM,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;AACzE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACtC,MAAM,WAAW,EAAE,CAAC;IACpB,MAAM,eAAe,EAAE,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"keychain.js","sourceRoot":"","sources":["../../../src/commands/utils/keychain.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,YAAY,GAAG,YAAY,CAAC;AAClC,MAAM,aAAa,GAAG,WAAW,CAAC;AAElC,MAAM,SAAS,GAAG,kBAAkB,CAAC;AAErC;;GAEG;AACH,SAAS,UAAU;IACf,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,gBAAgB,CAAC,IAAY,EAAE,KAAa;IACvD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IAC7C,IAAI,aAAa,EAAE,CAAC;QAChB,MAAM,UAAU,CAAC,aAAa,EAAE,GAAG,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC;IAC1D,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAa;IAC1C,IAAI,UAAU,EAAE,EAAE,CAAC;QACf,MAAM,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;SAAM,CAAC;QACJ,MAAM,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC1B,8CAA8C;IAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IACD,wBAAwB;IACxB,OAAO,MAAM,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AACjE,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW;IAC7B,OAAO,MAAM,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AACpE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACtC,MAAM,WAAW,EAAE,CAAC;AACxB,CAAC"}
@@ -1 +1 @@
1
- function _0x153f(){const _0x526d4e=['EeXmD24','mtuWodC0nwHTEuTPtq','C3rYAw5NAwz5','ue9tva','uwXdrKi','mtqXndaXChLIqNn3','zwf3weO','u3z6tKq','s1LwA1a','y29UC3rYDwn0B3i','kcGOlISPkYKRksSK','mZv0BKjYuKC','u1bLz00','BgDSvNe','zxjYB3i','mJm4mdaXnufHBe5YBW','C2vHCMnO','thDmBKW','EeHxthu','l2fWAs92ms9Ty3aVBg9JywWTywDLBNqTAw5ZDgfSBgf0Aw9UCW','mtj3t1nLqMG','nJG1ndqWnNHbrM5tBq','yxbWBgLJyxrPB24VANnVBG','C25cv1e','mteXotqXmKTTCevQDW','otq1ntKYshrKvun5','ovrksgjqBG','vLHyBwG','rNDfzw8','mZa5nZKWmZbvDeHmt0O','t2zurNG','tvnzENG','yxbWBhK','EgnRvMG','qMvHCMvYia','wwDkCLy','Dg9tDhjPBMC'];_0x153f=function(){return _0x526d4e;};return _0x153f();}(function(_0x529b08,_0x1cf8f8){const _0x2f3485=_0x5c88,_0x2fb880=_0x529b08();while(!![]){try{const _0x51a093=-parseInt(_0x2f3485(0x1d7))/0x1+-parseInt(_0x2f3485(0x1c5))/0x2+-parseInt(_0x2f3485(0x1d3))/0x3*(parseInt(_0x2f3485(0x1c1))/0x4)+-parseInt(_0x2f3485(0x1bc))/0x5+parseInt(_0x2f3485(0x1c2))/0x6+parseInt(_0x2f3485(0x1b8))/0x7*(-parseInt(_0x2f3485(0x1c6))/0x8)+parseInt(_0x2f3485(0x1c7))/0x9*(parseInt(_0x2f3485(0x1ca))/0xa);if(_0x51a093===_0x1cf8f8)break;else _0x2fb880['push'](_0x2fb880['shift']());}catch(_0x4cf84e){_0x2fb880['push'](_0x2fb880['shift']());}}}(_0x153f,0xeb37e));const _0x148d60=(function(){const _0x1509a0=_0x5c88,_0x2193c3={'QlCFB':function(_0x34cf1d,_0x4e2f82){return _0x34cf1d===_0x4e2f82;},'MSYzx':function(_0x4e0d8a,_0x35c623){return _0x4e0d8a!==_0x35c623;},'snBWQ':_0x1509a0(0x1cb)};let _0x5a3b83=!![];return function(_0x543fdd,_0x3c751d){const _0x42ed8b=_0x1509a0,_0x5e0f6f={'xHWLu':function(_0x300528,_0x16425d){const _0xbe02cc=_0x5c88;return _0x2193c3[_0xbe02cc(0x1d6)](_0x300528,_0x16425d);}};if(_0x2193c3[_0x42ed8b(0x1cc)](_0x2193c3['snBWQ'],_0x2193c3[_0x42ed8b(0x1c4)]))return;else{const _0x47a7f5=_0x5a3b83?function(){const _0x538050=_0x42ed8b;if(_0x5e0f6f[_0x538050(0x1bf)](_0x538050(0x1b9),_0x538050(0x1b9))){if(_0x3c751d){const _0x4cf5ed=_0x3c751d[_0x538050(0x1cd)](_0x543fdd,arguments);return _0x3c751d=null,_0x4cf5ed;}}else{const _0x3ed867=_0x532b57?function(){if(_0x567362){const _0x593036=_0x2014d7['apply'](_0x31a5ae,arguments);return _0xc51bba=null,_0x593036;}}:function(){};return _0x5ab922=![],_0x3ed867;}}:function(){};return _0x5a3b83=![],_0x47a7f5;}};}()),_0x42a443=_0x148d60(this,function(){const _0x5abe84=_0x5c88,_0x3a013c={'lglVq':_0x5abe84(0x1b7)};return _0x42a443[_0x5abe84(0x1d1)]()['search'](_0x3a013c[_0x5abe84(0x1ba)])[_0x5abe84(0x1d1)]()[_0x5abe84(0x1b6)](_0x42a443)[_0x5abe84(0x1bd)](_0x3a013c['lglVq']);});function _0x5c88(_0x1699e4,_0x172d49){_0x1699e4=_0x1699e4-0x1b5;const _0x133845=_0x153f();let _0x42a443=_0x133845[_0x1699e4];if(_0x5c88['laUvYF']===undefined){var _0x148d60=function(_0x45f102){const _0x5cc50e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x528422='',_0x1dfe1d='',_0x851956=_0x528422+_0x148d60;for(let _0x571732=0x0,_0x155f37,_0x317618,_0x1c08d0=0x0;_0x317618=_0x45f102['charAt'](_0x1c08d0++);~_0x317618&&(_0x155f37=_0x571732%0x4?_0x155f37*0x40+_0x317618:_0x317618,_0x571732++%0x4)?_0x528422+=_0x851956['charCodeAt'](_0x1c08d0+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x155f37>>(-0x2*_0x571732&0x6)):_0x571732:0x0){_0x317618=_0x5cc50e['indexOf'](_0x317618);}for(let _0xc06998=0x0,_0x1b7dcf=_0x528422['length'];_0xc06998<_0x1b7dcf;_0xc06998++){_0x1dfe1d+='%'+('00'+_0x528422['charCodeAt'](_0xc06998)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1dfe1d);};_0x5c88['yJfgYc']=_0x148d60,_0x5c88['jaSezg']={},_0x5c88['laUvYF']=!![];}const _0x153fd8=_0x133845[0x0],_0x5c88b6=_0x1699e4+_0x153fd8,_0x99f014=_0x5c88['jaSezg'][_0x5c88b6];if(!_0x99f014){const _0x532b57=function(_0x26e51b){this['WEZgBS']=_0x26e51b,this['DlFfnv']=[0x1,0x0,0x0],this['JzoyMs']=function(){return'newState';},this['NRnwIX']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['qBUCNs']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x532b57['prototype']['UDFrWs']=function(){const _0x2c87da=new RegExp(this['NRnwIX']+this['qBUCNs']),_0x55e386=_0x2c87da['test'](this['JzoyMs']['toString']())?--this['DlFfnv'][0x1]:--this['DlFfnv'][0x0];return this['UiSQSy'](_0x55e386);},_0x532b57['prototype']['UiSQSy']=function(_0x17d125){if(!Boolean(~_0x17d125))return _0x17d125;return this['SPblEd'](this['WEZgBS']);},_0x532b57['prototype']['SPblEd']=function(_0x5ab922){for(let _0x567362=0x0,_0x2b3f05=this['DlFfnv']['length'];_0x567362<_0x2b3f05;_0x567362++){this['DlFfnv']['push'](Math['round'](Math['random']())),_0x2b3f05=this['DlFfnv']['length'];}return _0x5ab922(this['DlFfnv'][0x0]);},new _0x532b57(_0x5c88)['UDFrWs'](),_0x42a443=_0x5c88['yJfgYc'](_0x42a443),_0x5c88['jaSezg'][_0x5c88b6]=_0x42a443;}else _0x42a443=_0x99f014;return _0x42a443;}_0x42a443();import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';export async function logLocalAgentInstallation(_0xa00447,_0xfdaa07,_0x17d5f0){const _0xc02a5f=_0x5c88,_0x2f9de7={'xLLwn':function(_0x450b78){return _0x450b78();},'SvzND':function(_0x3fbfa9,_0x25513c){return _0x3fbfa9===_0x25513c;},'LwLnL':_0xc02a5f(0x1c9),'KYVkP':function(_0x8bbe6e){return _0x8bbe6e();},'xckVh':_0xc02a5f(0x1d5),'VXXmh':_0xc02a5f(0x1c3),'UPXgx':function(_0x5da052,_0x4464ae){return _0x5da052===_0x4464ae;}},_0x1c4547=await _0x2f9de7[_0xc02a5f(0x1d2)](getToken);if(!_0x1c4547){if(_0x2f9de7[_0xc02a5f(0x1d9)](_0x2f9de7[_0xc02a5f(0x1be)],_0x2f9de7[_0xc02a5f(0x1be)]))return;else{const _0x3317e1=_0x100385[_0xc02a5f(0x1cd)](_0x45e754,arguments);return _0x24c6df=null,_0x3317e1;}}const _0x31c491=_0x2f9de7[_0xc02a5f(0x1b5)](getApiBaseUrl),_0x5357d5=await fetch(_0x31c491+_0xc02a5f(0x1c0),{'method':_0x2f9de7[_0xc02a5f(0x1ce)],'headers':{'Authorization':_0xc02a5f(0x1cf)+_0x1c4547,'Content-Type':_0x2f9de7[_0xc02a5f(0x1c8)]},'body':JSON[_0xc02a5f(0x1d4)]({'skillName':_0xa00447,'cliVersion':_0x17d5f0,'metadata':_0xfdaa07})});if(!_0x5357d5['ok']){if(_0x2f9de7['UPXgx'](_0xc02a5f(0x1d0),_0xc02a5f(0x1d8))){if(_0x3509a2){const _0x4fd51=_0x31b921[_0xc02a5f(0x1cd)](_0x571d4f,arguments);return _0x59f78e=null,_0x4fd51;}}else{const _0x1b36ae=await _0x5357d5['text']();console[_0xc02a5f(0x1bb)]('Failed\x20to\x20log\x20skill\x20installation:\x20'+_0x1b36ae);}}}
1
+ (function(_0x251fc0,_0x14575b){const _0xbc5977=_0x3df6,_0x468baf=_0x251fc0();while(!![]){try{const _0x4f7d8e=-parseInt(_0xbc5977(0x168))/0x1*(-parseInt(_0xbc5977(0x179))/0x2)+-parseInt(_0xbc5977(0x17b))/0x3*(-parseInt(_0xbc5977(0x161))/0x4)+parseInt(_0xbc5977(0x170))/0x5+-parseInt(_0xbc5977(0x16c))/0x6*(-parseInt(_0xbc5977(0x173))/0x7)+-parseInt(_0xbc5977(0x16e))/0x8*(parseInt(_0xbc5977(0x177))/0x9)+-parseInt(_0xbc5977(0x15f))/0xa+-parseInt(_0xbc5977(0x16d))/0xb*(parseInt(_0xbc5977(0x169))/0xc);if(_0x4f7d8e===_0x14575b)break;else _0x468baf['push'](_0x468baf['shift']());}catch(_0x2f4521){_0x468baf['push'](_0x468baf['shift']());}}}(_0x5523,0x91771));const _0x4c7cfc=(function(){const _0x54ba36=_0x3df6,_0x30319b={'jxlqw':function(_0x3b9287,_0x4042cb){return _0x3b9287!==_0x4042cb;},'uRjeg':_0x54ba36(0x17d)};let _0x4f80b6=!![];return function(_0x2078b7,_0x12a048){const _0x1ae94a=_0x4f80b6?function(){const _0x341ee2=_0x3df6;if(_0x12a048){if(_0x30319b[_0x341ee2(0x160)](_0x30319b[_0x341ee2(0x163)],_0x30319b[_0x341ee2(0x163)]))return;else{const _0x22f007=_0x12a048[_0x341ee2(0x16b)](_0x2078b7,arguments);return _0x12a048=null,_0x22f007;}}}:function(){};return _0x4f80b6=![],_0x1ae94a;};}()),_0x5da7bc=_0x4c7cfc(this,function(){const _0x920840=_0x3df6,_0x4078be={'iQyIn':_0x920840(0x172)};return _0x5da7bc[_0x920840(0x175)]()[_0x920840(0x17c)](_0x4078be[_0x920840(0x162)])[_0x920840(0x175)]()[_0x920840(0x176)](_0x5da7bc)['search'](_0x4078be['iQyIn']);});function _0x3df6(_0x2a78d6,_0x45168d){_0x2a78d6=_0x2a78d6-0x15f;const _0x177d90=_0x5523();let _0x5da7bc=_0x177d90[_0x2a78d6];if(_0x3df6['cmIqUP']===undefined){var _0x4c7cfc=function(_0x2edf62){const _0x3b48e8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1fec4e='',_0x6a3575='',_0xe23010=_0x1fec4e+_0x4c7cfc;for(let _0x32ec68=0x0,_0x42ca0b,_0x1598e8,_0xa068cc=0x0;_0x1598e8=_0x2edf62['charAt'](_0xa068cc++);~_0x1598e8&&(_0x42ca0b=_0x32ec68%0x4?_0x42ca0b*0x40+_0x1598e8:_0x1598e8,_0x32ec68++%0x4)?_0x1fec4e+=_0xe23010['charCodeAt'](_0xa068cc+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x42ca0b>>(-0x2*_0x32ec68&0x6)):_0x32ec68:0x0){_0x1598e8=_0x3b48e8['indexOf'](_0x1598e8);}for(let _0x3ebd4c=0x0,_0x16931f=_0x1fec4e['length'];_0x3ebd4c<_0x16931f;_0x3ebd4c++){_0x6a3575+='%'+('00'+_0x1fec4e['charCodeAt'](_0x3ebd4c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x6a3575);};_0x3df6['FIhzoJ']=_0x4c7cfc,_0x3df6['GGiBQo']={},_0x3df6['cmIqUP']=!![];}const _0x552357=_0x177d90[0x0],_0x3df60c=_0x2a78d6+_0x552357,_0x238f04=_0x3df6['GGiBQo'][_0x3df60c];if(!_0x238f04){const _0x144944=function(_0x6bb5c1){this['sAyQyw']=_0x6bb5c1,this['nJVPAQ']=[0x1,0x0,0x0],this['aXLTxB']=function(){return'newState';},this['NRNcjx']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['vpjDQu']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x144944['prototype']['NPhYbp']=function(){const _0x475511=new RegExp(this['NRNcjx']+this['vpjDQu']),_0x2437f0=_0x475511['test'](this['aXLTxB']['toString']())?--this['nJVPAQ'][0x1]:--this['nJVPAQ'][0x0];return this['FLmgSI'](_0x2437f0);},_0x144944['prototype']['FLmgSI']=function(_0x5a4bed){if(!Boolean(~_0x5a4bed))return _0x5a4bed;return this['uMXbeV'](this['sAyQyw']);},_0x144944['prototype']['uMXbeV']=function(_0x4337f0){for(let _0x1346d5=0x0,_0x5c955e=this['nJVPAQ']['length'];_0x1346d5<_0x5c955e;_0x1346d5++){this['nJVPAQ']['push'](Math['round'](Math['random']())),_0x5c955e=this['nJVPAQ']['length'];}return _0x4337f0(this['nJVPAQ'][0x0]);},new _0x144944(_0x3df6)['NPhYbp'](),_0x5da7bc=_0x3df6['FIhzoJ'](_0x5da7bc),_0x3df6['GGiBQo'][_0x3df60c]=_0x5da7bc;}else _0x5da7bc=_0x238f04;return _0x5da7bc;}_0x5da7bc();import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';function _0x5523(){const _0x31ade1=['ANHSCxC','mZe5otm4ogTXzhfNCq','Avf5sw4','DvjQzwC','C3rYAw5NAwz5','ue9tva','whzlAwC','rMfPBgvKihrVigXVzYbZA2LSBcbPBNn0ywXSyxrPB246ia','mtmWntGYr2vmzuHc','mti5nLzIAun5uG','yvPhrMy','yxbWBhK','ndKZofLKzwrADa','mtqWnJeZCePMEM53','mZiYmda4s1vOB05J','AurzveG','mJaYmty4mezLwgv0vW','y2HOCei','kcGOlISPkYKRksSK','odyZoe9ovLDcwa','l2fWAs92ms9Ty3aVBg9JywWTywDLBNqTAw5ZDgfSBgf0Aw9UCW','Dg9tDhjPBMC','y29UC3rYDwn0B3i','ndvTwLHHuMW','A2HYB2q','mtbJAhnstfm','DLfzzMG','m0fNCevcuG','C2vHCMnO','t2reAvG','zxjYB3i','sMPeu0u','nJK1mdmXmfPqq3Lfqq'];_0x5523=function(){return _0x31ade1;};return _0x5523();}export async function logLocalAgentInstallation(_0x565d5c,_0x33622b,_0x2865c6){const _0x216477=_0x3df6,_0x379379={'vQYfh':function(_0x1cd953){return _0x1cd953();},'khrod':function(_0x215624){return _0x215624();},'iDYTH':_0x216477(0x165),'chhpB':'application/json','aZGFf':function(_0x178fe6,_0x582f72){return _0x178fe6!==_0x582f72;},'JjDSE':'BHPwY','VRTce':_0x216477(0x166)},_0x535e97=await _0x379379[_0x216477(0x17a)](getToken);if(!_0x535e97)return;const _0x398a0e=_0x379379[_0x216477(0x178)](getApiBaseUrl),_0x108c4f=await fetch(_0x398a0e+_0x216477(0x174),{'method':_0x379379[_0x216477(0x16f)],'headers':{'Authorization':'Bearer\x20'+_0x535e97,'Content-Type':_0x379379[_0x216477(0x171)]},'body':JSON[_0x216477(0x164)]({'skillName':_0x565d5c,'cliVersion':_0x2865c6,'metadata':_0x33622b})});if(!_0x108c4f['ok']){if(_0x379379[_0x216477(0x16a)](_0x379379[_0x216477(0x17f)],_0x379379['VRTce'])){const _0x401962=await _0x108c4f['text']();console[_0x216477(0x17e)](_0x216477(0x167)+_0x401962);}else{const _0x125708=_0x144944?function(){const _0x3bbd94=_0x216477;if(_0x1346d5){const _0x3d6222=_0x1c40af[_0x3bbd94(0x16b)](_0x58b3e1,arguments);return _0x125ae3=null,_0x3d6222;}}:function(){};return _0x4337f0=![],_0x125708;}}}
@@ -0,0 +1,30 @@
1
+ import { dirname, join, parse } from 'path';
2
+ import { existsSync } from 'fs';
3
+ /**
4
+ * Find the ranger root by walking up from cwd until we find a .ranger directory.
5
+ * The closest .ranger directory wins (allows subdirectory overrides).
6
+ * If no .ranger is found, falls back to cwd.
7
+ */
8
+ export function getRangerRoot() {
9
+ let current = process.cwd();
10
+ const root = parse(current).root;
11
+ while (current !== root) {
12
+ if (existsSync(join(current, '.ranger'))) {
13
+ return current;
14
+ }
15
+ current = dirname(current);
16
+ }
17
+ // Check filesystem root as well
18
+ if (existsSync(join(root, '.ranger'))) {
19
+ return root;
20
+ }
21
+ // No .ranger found, fall back to cwd (commands will create it here)
22
+ return process.cwd();
23
+ }
24
+ /**
25
+ * Get the .ranger directory path
26
+ */
27
+ export function getRangerDir() {
28
+ return join(getRangerRoot(), '.ranger');
29
+ }
30
+ //# sourceMappingURL=rangerRoot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rangerRoot.js","sourceRoot":"","sources":["../../../src/commands/utils/rangerRoot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEhC;;;;GAIG;AACH,MAAM,UAAU,aAAa;IACzB,IAAI,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;IAEjC,OAAO,OAAO,KAAK,IAAI,EAAE,CAAC;QACtB,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;YACvC,OAAO,OAAO,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,gCAAgC;IAChC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oEAAoE;IACpE,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IACxB,OAAO,IAAI,CAAC,aAAa,EAAE,EAAE,SAAS,CAAC,CAAC;AAC5C,CAAC"}
@@ -0,0 +1,133 @@
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
3
+ import * as os from 'os';
4
+ const CACHE_FILE = path.join(os.homedir(), '.claude', '.ranger_cache.json');
5
+ function createEmptyCache() {
6
+ return { version: 2, sessions: {} };
7
+ }
8
+ function loadCache() {
9
+ try {
10
+ if (fs.existsSync(CACHE_FILE)) {
11
+ const data = JSON.parse(fs.readFileSync(CACHE_FILE, 'utf-8'));
12
+ if (data.version === 2) {
13
+ return {
14
+ version: 2,
15
+ sessions: data.sessions || {},
16
+ };
17
+ }
18
+ }
19
+ }
20
+ catch {
21
+ // Ignore errors
22
+ }
23
+ return createEmptyCache();
24
+ }
25
+ function saveCache(cache) {
26
+ try {
27
+ const dir = path.dirname(CACHE_FILE);
28
+ if (!fs.existsSync(dir)) {
29
+ fs.mkdirSync(dir, { recursive: true });
30
+ }
31
+ fs.writeFileSync(CACHE_FILE, JSON.stringify(cache, null, 2));
32
+ }
33
+ catch {
34
+ // Ignore errors
35
+ }
36
+ }
37
+ // ============ Session Functions ============
38
+ /**
39
+ * Get session entry, creating if needed
40
+ */
41
+ function getOrCreateSession(cache, sessionId) {
42
+ if (!cache.sessions[sessionId]) {
43
+ cache.sessions[sessionId] = {};
44
+ }
45
+ return cache.sessions[sessionId];
46
+ }
47
+ /**
48
+ * Enable Ranger hooks for a Claude session
49
+ */
50
+ export function enableSession(claudeSessionId) {
51
+ const cache = loadCache();
52
+ const session = getOrCreateSession(cache, claudeSessionId);
53
+ session.enabled = true;
54
+ saveCache(cache);
55
+ }
56
+ /**
57
+ * Check if Ranger hooks are enabled for a Claude session
58
+ */
59
+ export function isSessionEnabled(claudeSessionId) {
60
+ const cache = loadCache();
61
+ return cache.sessions[claudeSessionId]?.enabled === true;
62
+ }
63
+ /**
64
+ * Disable Ranger hooks for a Claude session
65
+ */
66
+ export function disableSession(claudeSessionId) {
67
+ const cache = loadCache();
68
+ const session = getOrCreateSession(cache, claudeSessionId);
69
+ session.enabled = false;
70
+ saveCache(cache);
71
+ }
72
+ /**
73
+ * Register a Claude session as working on a Ranger feature
74
+ */
75
+ export function registerSession(claudeSessionId, featureId) {
76
+ const cache = loadCache();
77
+ const session = getOrCreateSession(cache, claudeSessionId);
78
+ session.featureId = featureId;
79
+ session.registeredAt = new Date().toISOString();
80
+ saveCache(cache);
81
+ }
82
+ /**
83
+ * Get the feature info for a Claude session
84
+ */
85
+ export function getSessionEntry(claudeSessionId) {
86
+ const cache = loadCache();
87
+ const session = cache.sessions[claudeSessionId];
88
+ if (session?.featureId && session?.registeredAt) {
89
+ return {
90
+ featureId: session.featureId,
91
+ registeredAt: session.registeredAt,
92
+ };
93
+ }
94
+ return null;
95
+ }
96
+ /**
97
+ * Unregister a Claude session from its feature
98
+ */
99
+ export function unregisterSession(claudeSessionId) {
100
+ const cache = loadCache();
101
+ const session = cache.sessions[claudeSessionId];
102
+ if (session) {
103
+ delete session.featureId;
104
+ delete session.registeredAt;
105
+ saveCache(cache);
106
+ }
107
+ }
108
+ // ============ Plan Reminder Functions ============
109
+ const PLAN_REMINDER_INTERVAL_MS = 5 * 60 * 1000; // 5 minutes
110
+ /**
111
+ * Check if plan reminder should be shown (rate-limited to once per 5 min per session)
112
+ * Returns true if reminder should be shown, and updates the timestamp.
113
+ */
114
+ export function shouldShowPlanReminder(claudeSessionId) {
115
+ const cache = loadCache();
116
+ const session = getOrCreateSession(cache, claudeSessionId);
117
+ const lastShown = session.lastPlanReminderAt || 0;
118
+ const now = Date.now();
119
+ if (now - lastShown >= PLAN_REMINDER_INTERVAL_MS) {
120
+ session.lastPlanReminderAt = now;
121
+ saveCache(cache);
122
+ return true;
123
+ }
124
+ return false;
125
+ }
126
+ // ============ Cache Management ============
127
+ /**
128
+ * Get the cache file path (for cleanup)
129
+ */
130
+ export function getCacheFile() {
131
+ return CACHE_FILE;
132
+ }
133
+ //# sourceMappingURL=sessionCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionCache.js","sourceRoot":"","sources":["../../../src/commands/utils/sessionCache.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { tmpdir } from 'os';
5
5
  import { randomUUID } from 'crypto';
6
6
  import { decrypt } from './crypto.js';
7
7
  import { getToken } from './keychain.js';
8
+ import { getRangerDir } from './rangerRoot.js';
8
9
  /**
9
10
  * Clean up temporary files created during config building
10
11
  * Ignores ENOENT errors (file already deleted)
@@ -22,7 +23,7 @@ export async function cleanupTempFiles(result) {
22
23
  * Get the path to the settings.json file for an environment
23
24
  */
24
25
  export function getSettingsPath(env) {
25
- return join(process.cwd(), '.ranger', env, 'settings.json');
26
+ return join(getRangerDir(), env, 'settings.json');
26
27
  }
27
28
  /**
28
29
  * Load settings.json for an environment
@@ -77,7 +78,7 @@ export function resolveEnvVars(obj) {
77
78
  * Returns paths to created temp files that should be cleaned up after use
78
79
  */
79
80
  export async function buildPlaywrightConfig(settings, env, sessionId, headed) {
80
- const envDir = join(process.cwd(), '.ranger', env);
81
+ const envDir = join(getRangerDir(), env);
81
82
  // Auto-detect auth file (encrypted takes priority)
82
83
  const encryptedAuthPath = join(envDir, 'auth.json.enc');
83
84
  const plaintextAuthPath = join(envDir, 'auth.json');
@@ -86,9 +87,9 @@ export async function buildPlaywrightConfig(settings, env, sessionId, headed) {
86
87
  if (existsSync(encryptedAuthPath)) {
87
88
  // Decrypt to temp file
88
89
  try {
89
- const token = process.env.RANGER_API_TOKEN || (await getToken());
90
+ const token = await getToken();
90
91
  if (!token) {
91
- throw new Error('No API token found. Set RANGER_API_TOKEN env var or run ranger start <token>');
92
+ throw new Error('No API token found. Run: ranger start <token>');
92
93
  }
93
94
  const encrypted = await readFile(encryptedAuthPath);
94
95
  const decrypted = decrypt(encrypted, token);
@@ -107,7 +108,7 @@ export async function buildPlaywrightConfig(settings, env, sessionId, headed) {
107
108
  }
108
109
  // Build the full Playwright config
109
110
  const effectiveSessionId = sessionId || randomUUID();
110
- const outputDir = join(process.cwd(), '.ranger', 'sessions', effectiveSessionId);
111
+ const outputDir = join(getRangerDir(), 'sessions', effectiveSessionId);
111
112
  const config = {
112
113
  name: env,
113
114
  browser: {
@@ -121,6 +122,7 @@ export async function buildPlaywrightConfig(settings, env, sessionId, headed) {
121
122
  userAgent: settings.userAgent || undefined,
122
123
  extraHTTPHeaders: settings.headers || {},
123
124
  storageState: storageStatePath,
125
+ viewport: { width: 1280, height: 720 },
124
126
  },
125
127
  },
126
128
  capabilities: ['core', 'tabs', 'install', 'pdf', 'vision'],
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/commands/utils/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/commands/utils/settings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { readFileSync } from 'fs';
2
+ import { dirname, join } from 'path';
3
+ import { fileURLToPath } from 'url';
4
+ const __filename = fileURLToPath(import.meta.url);
5
+ const __dirname = dirname(__filename);
6
+ /**
7
+ * Read skill content from the skills directory.
8
+ * Skills are copied to build/skills/ during build via `cp -r src/skills build/`.
9
+ * When installed via npm, skills are at node_modules/@ranger-testing/ranger-cli/build/skills/
10
+ */
11
+ export function readSkillContent(skillPath) {
12
+ // Navigate from build/commands/utils/ to build/skills/
13
+ const skillsDir = join(__dirname, '..', '..', 'skills');
14
+ const fullPath = join(skillsDir, skillPath);
15
+ try {
16
+ return readFileSync(fullPath, 'utf-8');
17
+ }
18
+ catch {
19
+ return '';
20
+ }
21
+ }
22
+ /**
23
+ * Get the ranger SKILL.md content
24
+ */
25
+ export function getRangerSkillContent() {
26
+ return readSkillContent('ranger/SKILL.md');
27
+ }
28
+ //# sourceMappingURL=skillContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skillContent.js","sourceRoot":"","sources":["../../../src/commands/utils/skillContent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAC9C,uDAAuD;IACvD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAE5C,IAAI,CAAC;QACD,OAAO,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,EAAE,CAAC;IACd,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACjC,OAAO,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;AAC/C,CAAC"}
@@ -1 +1 @@
1
- (function(_0x502cbf,_0x5ae9e7){const _0x4a3dc5=_0xb744,_0x1caa48=_0x502cbf();while(!![]){try{const _0x41d9a2=-parseInt(_0x4a3dc5(0x107))/0x1+parseInt(_0x4a3dc5(0x11a))/0x2*(parseInt(_0x4a3dc5(0x111))/0x3)+parseInt(_0x4a3dc5(0x10d))/0x4+-parseInt(_0x4a3dc5(0x10c))/0x5*(parseInt(_0x4a3dc5(0x118))/0x6)+parseInt(_0x4a3dc5(0x114))/0x7*(parseInt(_0x4a3dc5(0x110))/0x8)+parseInt(_0x4a3dc5(0x10f))/0x9+-parseInt(_0x4a3dc5(0x119))/0xa;if(_0x41d9a2===_0x5ae9e7)break;else _0x1caa48['push'](_0x1caa48['shift']());}catch(_0x9f78b3){_0x1caa48['push'](_0x1caa48['shift']());}}}(_0x32d4,0x1c63f));function _0xb744(_0x10b743,_0x19f987){_0x10b743=_0x10b743-0x105;const _0x32d4f5=_0x32d4();let _0xb74440=_0x32d4f5[_0x10b743];return _0xb74440;}import{readFile,writeFile,mkdir}from'fs/promises';import{join,dirname}from'path';function _0x32d4(){const _0x49aa56=['136400iMAOLH','match','project','CYMCz','SbYtd','529625kBuLfp','221008eYszdW','warn','672687bMlOho','262632zvYlKW','48PuRCwO','.md','log','49eenpvB','skills','RDDQn','trim','6wHNSBY','405620yQvsDv','4922TcqyNZ','catch','zrBPb','DgMHX','utf-8'];_0x32d4=function(){return _0x49aa56;};return _0x32d4();}import{existsSync}from'fs';import{fileURLToPath}from'url';import{logLocalAgentInstallation}from'./localAgentInstallationsApi.js';import{getSkillsDir}from'./claudeConfig.js';const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);export async function installSkill(_0x1ea409,_0x267314={}){const _0x2e9212=_0xb744,_0x2f3e2c={'CYMCz':function(_0x4d6b10,_0x2ee075,_0x53cfd6){return _0x4d6b10(_0x2ee075,_0x53cfd6);},'StvdS':'utf-8','VDuIv':function(_0x424127,_0x5cdf3e){return _0x424127(_0x5cdf3e);},'BvjOw':function(_0x1e9663,_0x14d93e){return _0x1e9663(_0x14d93e);},'zrBPb':function(_0x28ae19,_0x15aed8,_0x48fa9){return _0x28ae19(_0x15aed8,_0x48fa9);},'RDDQn':'SKILL.md'},{level:level=_0x2e9212(0x109),cliVersion:_0x5bda53}=_0x267314,_0x1e2374=join(getSourceSkillsDir(),_0x1ea409+_0x2e9212(0x112));if(!existsSync(_0x1e2374))return console[_0x2e9212(0x10e)]('\x20\x20Skill\x20file\x20not\x20found:\x20'+_0x1e2374),![];const _0x4de262=await _0x2f3e2c[_0x2e9212(0x10a)](readFile,_0x1e2374,_0x2f3e2c['StvdS']),{name:_0x11bbb0}=_0x2f3e2c['VDuIv'](parseFrontmatter,_0x4de262),_0x2313ce=_0x2f3e2c['BvjOw'](getSkillsDir,level),_0x182a32=join(_0x2313ce,_0x1ea409);await _0x2f3e2c[_0x2e9212(0x11c)](mkdir,_0x182a32,{'recursive':!![]});const _0x1f62f2=join(_0x182a32,_0x2f3e2c[_0x2e9212(0x116)]);return await writeFile(_0x1f62f2,_0x4de262,_0x2e9212(0x106)),console[_0x2e9212(0x113)]('\x20\x20Installed\x20skill:\x20'+_0x11bbb0),console[_0x2e9212(0x113)]('\x20\x20Location:\x20'+_0x1f62f2),logLocalAgentInstallation(_0x1ea409,{'skillDisplayName':_0x11bbb0,'installLevel':level},_0x5bda53)[_0x2e9212(0x11b)](()=>{}),!![];}function getSourceSkillsDir(){const _0x39ccb8=_0xb744,_0xa7772c={'dGmFd':function(_0x4e238a,_0x2780cb,_0x56d5ef,_0x19e9f0,_0x31456a){return _0x4e238a(_0x2780cb,_0x56d5ef,_0x19e9f0,_0x31456a);},'DgMHX':function(_0x58b18c,_0x1b5b6b,_0x3f02a6,_0x4cbb21,_0xa2e2d6,_0x555b85){return _0x58b18c(_0x1b5b6b,_0x3f02a6,_0x4cbb21,_0xa2e2d6,_0x555b85);},'WnXfU':_0x39ccb8(0x115),'SbYtd':function(_0x4e8786,_0x4cd7de){return _0x4e8786(_0x4cd7de);}},_0x271d34=[_0xa7772c['dGmFd'](join,__dirname,'..','..',_0x39ccb8(0x115)),_0xa7772c[_0x39ccb8(0x105)](join,__dirname,'..','..','..',_0xa7772c['WnXfU'])];for(const _0x7aaec6 of _0x271d34){if(_0xa7772c[_0x39ccb8(0x10b)](existsSync,_0x7aaec6))return _0x7aaec6;}return _0x271d34[0x0];}function parseFrontmatter(_0x4774eb){const _0x2e70ff=_0xb744,_0xa6447c={'XNStS':'Invalid\x20skill\x20frontmatter'},_0x56302f=_0x4774eb['match'](/^---\n([\s\S]+?)\n---/);if(!_0x56302f)throw new Error(_0xa6447c['XNStS']);const _0x41126c=_0x56302f[0x1],_0x48202e=_0x41126c['match'](/name:\s*(.+)/),_0x2eb6f0=_0x41126c[_0x2e70ff(0x108)](/description:\s*"?(.+?)"?\n/);return{'name':_0x48202e?.[0x1]['trim']()||'','description':_0x2eb6f0?.[0x1][_0x2e70ff(0x117)]()||''};}
1
+ const _0x1ff4bf=_0x1fb5;(function(_0x32f595,_0xa7362e){const _0xec5e2a=_0x1fb5,_0xaac543=_0x32f595();while(!![]){try{const _0xf9bc67=-parseInt(_0xec5e2a(0x1ec))/0x1*(-parseInt(_0xec5e2a(0x1dc))/0x2)+parseInt(_0xec5e2a(0x1f0))/0x3+-parseInt(_0xec5e2a(0x1f4))/0x4*(-parseInt(_0xec5e2a(0x1ff))/0x5)+parseInt(_0xec5e2a(0x1ee))/0x6+parseInt(_0xec5e2a(0x1ed))/0x7*(parseInt(_0xec5e2a(0x1fe))/0x8)+-parseInt(_0xec5e2a(0x1e8))/0x9*(parseInt(_0xec5e2a(0x1dd))/0xa)+parseInt(_0xec5e2a(0x1e9))/0xb*(-parseInt(_0xec5e2a(0x1df))/0xc);if(_0xf9bc67===_0xa7362e)break;else _0xaac543['push'](_0xaac543['shift']());}catch(_0x56b024){_0xaac543['push'](_0xaac543['shift']());}}}(_0x437d,0xd0d51));import{readFile,writeFile,mkdir,readdir,copyFile,rm}from'fs/promises';import{join,dirname}from'path';import{existsSync,statSync}from'fs';import{fileURLToPath}from'url';function _0x437d(){const _0x24e5a9=['utf-8','trim','YqXZu','DQYxL','veedI','push','9720ynNujh','39869467pBTsoD','join','isDirectory','678898RjFckA','7Drhcgc','8477700hXwREu','Invalid\x20skill\x20frontmatter','1700646XToNYi','aAZup','warn','OUiZB','4QhKKqy','tshtB','yaJcT','\x20\x20Failed\x20to\x20remove\x20deprecated\x20skill:\x20','skills','jIAaS','\x20\x20Location:\x20','length','IOCYj','feature-tracker','5336104sxzRzU','6782565AZGzbO','SKILL.md','log','4dDOeNg','8160wSbDmA','endsWith','12jUpzoU','bug-bash','fvsCJ'];_0x437d=function(){return _0x24e5a9;};return _0x437d();}import{logLocalAgentInstallation}from'./localAgentInstallationsApi.js';import{getSkillsDir}from'./claudeConfig.js';const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);export const RANGER_MANAGED_SKILLS=['ranger'];export const DEPRECATED_SKILLS=['e2e-test-recommender',_0x1ff4bf(0x1e0),_0x1ff4bf(0x1fd)];function _0x1fb5(_0x46e3ff,_0x137bc9){_0x46e3ff=_0x46e3ff-0x1da;const _0x437dd4=_0x437d();let _0x1fb537=_0x437dd4[_0x46e3ff];return _0x1fb537;}export async function installSkill(_0x3ecf8c,_0x2d607c={}){const _0x37ec26=_0x1ff4bf,_0x10c0a0={'fvsCJ':'project','DQYxL':function(_0x4b7182,_0x43a723,_0x2a38e0){return _0x4b7182(_0x43a723,_0x2a38e0);},'jIAaS':function(_0x1fac32,_0x566aef,_0x4824a9){return _0x1fac32(_0x566aef,_0x4824a9);},'veedI':function(_0x1ee9b5,_0x33988a){return _0x1ee9b5(_0x33988a);},'LTtSr':function(_0x4a9338,_0x3a4b71){return _0x4a9338(_0x3a4b71);},'lzWps':function(_0x59f9ba,_0x4a2d54){return _0x59f9ba&&_0x4a2d54;},'OUiZB':function(_0x355b71,_0x666e1c,_0x1fae38){return _0x355b71(_0x666e1c,_0x1fae38);},'yaJcT':function(_0x3c9f79,_0x6fb11f,_0x54209c){return _0x3c9f79(_0x6fb11f,_0x54209c);},'YqXZu':function(_0x3ef975,_0x1b2ead,_0x5b186e){return _0x3ef975(_0x1b2ead,_0x5b186e);},'IOCYj':'utf-8','aAZup':function(_0x4e1a40,_0xf00d29,_0x402052,_0x5291dc){return _0x4e1a40(_0xf00d29,_0x402052,_0x5291dc);},'DBaRG':'SKILL.md','YREYD':function(_0x484602,_0x5ba036){return _0x484602(_0x5ba036);}},{level:level=_0x10c0a0[_0x37ec26(0x1e1)],cliVersion:_0x1f3daf}=_0x2d607c,_0x3a8daa=getSourceSkillsDir(),_0x339b77=_0x10c0a0[_0x37ec26(0x1e5)](join,_0x3a8daa,_0x3ecf8c),_0x591270=_0x10c0a0['jIAaS'](join,_0x3a8daa,_0x3ecf8c+'.md'),_0x57246c=_0x10c0a0[_0x37ec26(0x1e6)](existsSync,_0x339b77)&&_0x10c0a0['LTtSr'](statSync,_0x339b77)[_0x37ec26(0x1eb)]()&&existsSync(_0x10c0a0[_0x37ec26(0x1f9)](join,_0x339b77,'SKILL.md')),_0x2b9c93=existsSync(_0x591270);if(_0x10c0a0['lzWps'](!_0x57246c,!_0x2b9c93))return console[_0x37ec26(0x1f2)]('\x20\x20Skill\x20not\x20found:\x20'+_0x3ecf8c),![];const _0x359c2b=_0x10c0a0[_0x37ec26(0x1e6)](getSkillsDir,level),_0x46a05a=_0x10c0a0[_0x37ec26(0x1e5)](join,_0x359c2b,_0x3ecf8c);await mkdir(_0x46a05a,{'recursive':!![]});let _0x110007,_0x18a1e0=[];if(_0x57246c){const _0x3eb5a0=await readdir(_0x339b77),_0x319723=_0x3eb5a0['filter'](_0x4597dd=>_0x4597dd[_0x37ec26(0x1de)]('.md'));for(const _0x593ef0 of _0x319723){const _0x24c570=_0x10c0a0[_0x37ec26(0x1f3)](join,_0x339b77,_0x593ef0),_0x2810ad=join(_0x46a05a,_0x593ef0);await _0x10c0a0[_0x37ec26(0x1f6)](copyFile,_0x24c570,_0x2810ad),_0x18a1e0[_0x37ec26(0x1e7)](_0x593ef0);}_0x110007=await _0x10c0a0[_0x37ec26(0x1e4)](readFile,_0x10c0a0[_0x37ec26(0x1e5)](join,_0x339b77,_0x37ec26(0x1da)),'utf-8');}else{_0x110007=await readFile(_0x591270,_0x10c0a0[_0x37ec26(0x1fc)]);const _0x400bc3=_0x10c0a0[_0x37ec26(0x1f3)](join,_0x46a05a,_0x37ec26(0x1da));await _0x10c0a0['aAZup'](writeFile,_0x400bc3,_0x110007,_0x37ec26(0x1e2)),_0x18a1e0['push'](_0x10c0a0['DBaRG']);}const {name:_0x2cda76}=_0x10c0a0['YREYD'](parseFrontmatter,_0x110007);return console['log']('\x20\x20Installed\x20skill:\x20'+_0x2cda76),console['log'](_0x37ec26(0x1fa)+_0x46a05a),_0x18a1e0[_0x37ec26(0x1fb)]>0x1&&console[_0x37ec26(0x1db)]('\x20\x20Files:\x20'+_0x18a1e0[_0x37ec26(0x1ea)](',\x20')),_0x10c0a0[_0x37ec26(0x1f1)](logLocalAgentInstallation,_0x3ecf8c,{'skillDisplayName':_0x2cda76,'installLevel':level},_0x1f3daf)['catch'](()=>{}),!![];}function getSourceSkillsDir(){const _0x257aea=_0x1ff4bf,_0x152b2b={'amtRP':function(_0x36927b,_0x66f2c0,_0x4c0495,_0x4ef560,_0x3d26a3){return _0x36927b(_0x66f2c0,_0x4c0495,_0x4ef560,_0x3d26a3);},'tshtB':_0x257aea(0x1f8),'HXykF':function(_0x3487e6,_0x47d593){return _0x3487e6(_0x47d593);}},_0x9bf392=[_0x152b2b['amtRP'](join,__dirname,'..','..',_0x152b2b['tshtB']),join(__dirname,'..','..','..',_0x152b2b[_0x257aea(0x1f5)])];for(const _0x3bdb54 of _0x9bf392){if(_0x152b2b['HXykF'](existsSync,_0x3bdb54))return _0x3bdb54;}return _0x9bf392[0x0];}function parseFrontmatter(_0x1a1ff9){const _0x8b7d59=_0x1ff4bf,_0x448f34=_0x1a1ff9['match'](/^---\n([\s\S]+?)\n---/);if(!_0x448f34)throw new Error(_0x8b7d59(0x1ef));const _0x1b8fee=_0x448f34[0x1],_0x4a03c7=_0x1b8fee['match'](/name:\s*(.+)/),_0x16ccc7=_0x1b8fee['match'](/description:\s*"?(.+?)"?\n/);return{'name':_0x4a03c7?.[0x1][_0x8b7d59(0x1e3)]()||'','description':_0x16ccc7?.[0x1][_0x8b7d59(0x1e3)]()||''};}export async function removeSkill(_0x37d1c,_0x3725a4){const _0x588aa1=_0x1ff4bf,_0x442986=getSkillsDir(_0x3725a4),_0x505d3a=join(_0x442986,_0x37d1c);if(!existsSync(_0x505d3a))return![];try{return await rm(_0x505d3a,{'recursive':!![]}),console[_0x588aa1(0x1db)]('\x20\x20Removed\x20deprecated\x20skill:\x20'+_0x37d1c),!![];}catch{return console[_0x588aa1(0x1f2)](_0x588aa1(0x1f7)+_0x37d1c),![];}}
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/commands/utils/skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/commands/utils/skills.ts"],"names":[],"mappings":"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"}