@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.
- package/README.md +72 -183
- package/build/cli.js +219 -278
- 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/authEncrypt.js +7 -6
- package/build/commands/authEncrypt.js.map +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/clean.js.map +1 -1
- package/build/commands/config.js +5 -4
- package/build/commands/config.js.map +1 -1
- package/build/commands/dataMcpServer.js +1 -1
- package/build/commands/dataMcpServer.js.map +1 -1
- package/build/commands/env.js +17 -10
- package/build/commands/env.js.map +1 -1
- package/build/commands/feature.js +277 -285
- 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 -0
- package/build/commands/index.js.map +1 -1
- package/build/commands/skillup.js +41 -77
- 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 +47 -65
- package/build/commands/status.js.map +1 -1
- package/build/commands/update.js +32 -40
- package/build/commands/update.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/useEnv.js.map +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/browserSessionsApi.js.map +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/environment.js +0 -6
- package/build/commands/utils/environment.js.map +1 -1
- package/build/commands/utils/featureApi.js +82 -15
- package/build/commands/utils/featureApi.js.map +1 -1
- package/build/commands/utils/featureReportGenerator.js +37 -3
- package/build/commands/utils/featureReportGenerator.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/keychain.js.map +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/rangerRoot.js +30 -0
- package/build/commands/utils/rangerRoot.js.map +1 -0
- package/build/commands/utils/sessionCache.js +133 -0
- package/build/commands/utils/sessionCache.js.map +1 -0
- package/build/commands/utils/settings.js +7 -5
- package/build/commands/utils/settings.js.map +1 -1
- package/build/commands/utils/skillContent.js +28 -0
- package/build/commands/utils/skillContent.js.map +1 -0
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/skills.js.map +1 -1
- package/build/commands/utils/userApi.js +32 -0
- package/build/commands/utils/userApi.js.map +1 -0
- package/build/commands/verifyFeature.js +450 -105
- package/build/commands/verifyFeature.js.map +1 -1
- package/build/commands/verifyInBrowser.js +1 -1
- package/build/commands/verifyInBrowser.js.map +1 -1
- package/build/skills/bug-bash.md +31 -10
- 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 +43 -17
- package/package.json +5 -3
- package/scripts/postinstall.js +18 -0
- 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 -185
- package/build/skills/feature-tracker/create.md +0 -105
- package/build/skills/feature-tracker/manage.md +0 -145
- package/build/skills/feature-tracker/report.md +0 -159
- 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
|
-
|
|
65
|
-
|
|
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":"AAEA;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IAChD,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAChD,OAAO,uCAAuC,UAAU,EAAE,CAAC;AAC/D,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,MAAc;IAClC,QAAQ,MAAM,EAAE,CAAC;QACb,KAAK,UAAU,CAAC;QAChB,KAAK,WAAW;YACZ,OAAO,QAAQ,CAAC,CAAC,cAAc;QACnC,KAAK,SAAS,CAAC;QACf,KAAK,aAAa;YACd,OAAO,cAAc,CAAC,CAAC,kBAAkB;QAC7C,KAAK,SAAS;YACV,OAAO,cAAc,CAAC,CAAC,YAAY;QACvC,KAAK,UAAU;YACX,OAAO,QAAQ,CAAC,CAAC,WAAW;QAChC;YACI,OAAO,QAAQ,CAAC,CAAC,gBAAgB;IACzC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,EAAiB;IACrC,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAClD,IAAI,EAAE,GAAG,IAAI;QAAE,OAAO,GAAG,EAAE,IAAI,CAAC;IAChC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IACtC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,GAAG,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACzC,MAAM,gBAAgB,GAAG,OAAO,GAAG,EAAE,CAAC;IACtC,OAAO,GAAG,OAAO,KAAK,gBAAgB,GAAG,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,OAAsB;IACtC,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE;QACjD,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,OAAO;QACd,GAAG,EAAE,SAAS;KACjB,CAAC,CAAC;AACP,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAuB;IACzD,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAE1D,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,SAAS;IACT,KAAK,CAAC,IAAI,CAAC,qBAAqB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAChD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,
|
|
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
|
|
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;
|
|
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
|
-
|
|
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(
|
|
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(
|
|
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 =
|
|
90
|
+
const token = await getToken();
|
|
90
91
|
if (!token) {
|
|
91
|
-
throw new Error('No API token found.
|
|
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(
|
|
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":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
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(
|
|
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":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/commands/utils/skills.ts"],"names":[],"mappings":"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"}
|