@ranger-testing/ranger-cli 1.1.6 → 2.0.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 (109) hide show
  1. package/README.md +47 -45
  2. package/build/cli.js +671 -291
  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 +5 -10
  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 +9 -15
  11. package/build/commands/config.js.map +1 -1
  12. package/build/commands/env.js +10 -13
  13. package/build/commands/env.js.map +1 -1
  14. package/build/commands/feature.js +138 -67
  15. package/build/commands/feature.js.map +1 -1
  16. package/build/commands/hook.js +9 -4
  17. package/build/commands/hook.js.map +1 -1
  18. package/build/commands/hooks/autoPrompt.js +32 -0
  19. package/build/commands/hooks/autoPrompt.js.map +1 -0
  20. package/build/commands/hooks/disable.js +8 -5
  21. package/build/commands/hooks/disable.js.map +1 -1
  22. package/build/commands/hooks/enable.js +16 -9
  23. package/build/commands/hooks/enable.js.map +1 -1
  24. package/build/commands/hooks/exitPlanMode.js +10 -10
  25. package/build/commands/hooks/exitPlanMode.js.map +1 -1
  26. package/build/commands/hooks/index.js +1 -0
  27. package/build/commands/hooks/index.js.map +1 -1
  28. package/build/commands/hooks/output.js +20 -2
  29. package/build/commands/hooks/output.js.map +1 -1
  30. package/build/commands/hooks/planReminder.js +9 -9
  31. package/build/commands/hooks/planReminder.js.map +1 -1
  32. package/build/commands/hooks/planStart.js +6 -6
  33. package/build/commands/hooks/planStart.js.map +1 -1
  34. package/build/commands/hooks/postEdit.js +6 -6
  35. package/build/commands/hooks/postEdit.js.map +1 -1
  36. package/build/commands/hooks/preCompact.js +5 -5
  37. package/build/commands/hooks/preCompact.js.map +1 -1
  38. package/build/commands/hooks/sessionEnd.js +8 -4
  39. package/build/commands/hooks/sessionEnd.js.map +1 -1
  40. package/build/commands/hooks/sessionStart.js +41 -25
  41. package/build/commands/hooks/sessionStart.js.map +1 -1
  42. package/build/commands/hooks/stopHook.js +30 -6
  43. package/build/commands/hooks/stopHook.js.map +1 -1
  44. package/build/commands/index.js +1 -2
  45. package/build/commands/index.js.map +1 -1
  46. package/build/commands/login.js +2 -5
  47. package/build/commands/login.js.map +1 -1
  48. package/build/commands/setupCi.js +189 -0
  49. package/build/commands/setupCi.js.map +1 -0
  50. package/build/commands/skillup.js +16 -68
  51. package/build/commands/skillup.js.map +1 -1
  52. package/build/commands/start.js +1 -1
  53. package/build/commands/start.js.map +1 -1
  54. package/build/commands/status.js +14 -13
  55. package/build/commands/status.js.map +1 -1
  56. package/build/commands/update.js +34 -5
  57. package/build/commands/update.js.map +1 -1
  58. package/build/commands/updateEnv.js +1 -1
  59. package/build/commands/updateEnv.js.map +1 -1
  60. package/build/commands/useEnv.js +1 -1
  61. package/build/commands/useEnv.js.map +1 -1
  62. package/build/commands/utils/activeProfile.js +76 -0
  63. package/build/commands/utils/activeProfile.js.map +1 -0
  64. package/build/commands/utils/browserSessionsApi.js +1 -1
  65. package/build/commands/utils/browserSessionsApi.js.map +1 -1
  66. package/build/commands/utils/desirePathLog.js +39 -34
  67. package/build/commands/utils/desirePathLog.js.map +1 -1
  68. package/build/commands/utils/deviceAuth.js +53 -5
  69. package/build/commands/utils/deviceAuth.js.map +1 -1
  70. package/build/commands/utils/environment.js +11 -12
  71. package/build/commands/utils/environment.js.map +1 -1
  72. package/build/commands/utils/featureApi.js +49 -46
  73. package/build/commands/utils/featureApi.js.map +1 -1
  74. package/build/commands/utils/featureReportGenerator.js +6 -6
  75. package/build/commands/utils/featureReportGenerator.js.map +1 -1
  76. package/build/commands/utils/keychain.js +1 -1
  77. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  78. package/build/commands/utils/profileMessages.js +8 -0
  79. package/build/commands/utils/profileMessages.js.map +1 -0
  80. package/build/commands/utils/profileSetupBanner.js +167 -0
  81. package/build/commands/utils/profileSetupBanner.js.map +1 -0
  82. package/build/commands/utils/retry.js +25 -0
  83. package/build/commands/utils/retry.js.map +1 -0
  84. package/build/commands/utils/sessionCache.js +17 -0
  85. package/build/commands/utils/sessionCache.js.map +1 -1
  86. package/build/commands/utils/settings.js +23 -2
  87. package/build/commands/utils/settings.js.map +1 -1
  88. package/build/commands/utils/skills.js +1 -1
  89. package/build/commands/utils/telemetry.js +254 -0
  90. package/build/commands/utils/telemetry.js.map +1 -0
  91. package/build/commands/utils/userApi.js +4 -4
  92. package/build/commands/utils/userApi.js.map +1 -1
  93. package/build/commands/verifyFeature.js +678 -407
  94. package/build/commands/verifyFeature.js.map +1 -1
  95. package/build/commands/verifyInBrowser.js +1 -1
  96. package/build/commands/verifyInBrowser.js.map +1 -1
  97. package/build/skills/ranger/SKILL.md +65 -64
  98. package/build/skills/ranger/create.md +31 -31
  99. package/build/skills/ranger/feedback.md +25 -17
  100. package/build/skills/ranger/start.md +37 -37
  101. package/build/skills/ranger/verify.md +59 -55
  102. package/package.json +1 -1
  103. package/scripts/postinstall.js +1 -1
  104. package/build/commands/dataMcpServer.js +0 -1
  105. package/build/commands/dataMcpServer.js.map +0 -1
  106. package/build/commands/utils/cliSecret.js +0 -1
  107. package/build/commands/utils/cliSecret.js.map +0 -1
  108. package/build/skills/bug-bash.md +0 -329
  109. package/build/skills/e2e-test-recommender.md +0 -168
@@ -0,0 +1,254 @@
1
+ import { randomUUID } from 'crypto';
2
+ import { getToken } from './keychain.js';
3
+ import { getApiBaseUrl } from './environment.js';
4
+ import { getCurrentVersion } from './version.js';
5
+ // ---------- TelemetryCollector ----------
6
+ export class TelemetryCollector {
7
+ buffer = [];
8
+ commandId;
9
+ command;
10
+ commandStartTime;
11
+ phaseCounter = 0;
12
+ phaseStartTimes = new Map();
13
+ flushing = null;
14
+ // Shared enrichment fields (computed once)
15
+ cliVersion;
16
+ nodeVersion;
17
+ platform;
18
+ isTty;
19
+ isCI;
20
+ // Context set during command execution
21
+ featureId;
22
+ checklistItemId;
23
+ browserSessionId;
24
+ constructor(command) {
25
+ this.commandId = randomUUID();
26
+ this.command = command;
27
+ this.commandStartTime = Date.now();
28
+ this.cliVersion = getCurrentVersion();
29
+ this.nodeVersion = process.version;
30
+ this.platform = process.platform;
31
+ this.isTty = process.stdout.isTTY ?? false;
32
+ this.isCI = !!(process.env.CI || process.env.GITHUB_ACTIONS);
33
+ }
34
+ /**
35
+ * Set context IDs that will be attached to all subsequent events.
36
+ */
37
+ setContext(ctx) {
38
+ if (ctx.featureId)
39
+ this.featureId = ctx.featureId;
40
+ if (ctx.checklistItemId)
41
+ this.checklistItemId = ctx.checklistItemId;
42
+ if (ctx.browserSessionId)
43
+ this.browserSessionId = ctx.browserSessionId;
44
+ }
45
+ /**
46
+ * Track command start. Fires immediately for fault tolerance.
47
+ */
48
+ async trackCommandStart(metadata) {
49
+ const event = this.buildEvent({
50
+ eventType: 'command_start',
51
+ metadata,
52
+ });
53
+ await this.sendImmediate(event);
54
+ }
55
+ /**
56
+ * Track command end. Fires immediately + flushes buffer.
57
+ */
58
+ async trackCommandEnd(outcome, metadata) {
59
+ const event = this.buildEvent({
60
+ eventType: 'command_end',
61
+ outcome,
62
+ durationMs: Date.now() - this.commandStartTime,
63
+ metadata,
64
+ });
65
+ await this.sendImmediate(event);
66
+ await this.flush();
67
+ }
68
+ /**
69
+ * Track command error. Fires immediately + flushes buffer.
70
+ */
71
+ async trackCommandError(error, metadata) {
72
+ const event = this.buildEvent({
73
+ eventType: 'command_error',
74
+ errorMessage: truncate(error instanceof Error ? error.message : String(error), 500),
75
+ errorType: error instanceof Error ? error.constructor.name : 'Unknown',
76
+ durationMs: Date.now() - this.commandStartTime,
77
+ metadata,
78
+ });
79
+ await this.sendImmediate(event);
80
+ await this.flush();
81
+ }
82
+ /**
83
+ * Track phase start. Buffered.
84
+ */
85
+ trackPhaseStart(phase, metadata) {
86
+ this.phaseCounter++;
87
+ this.phaseStartTimes.set(phase, Date.now());
88
+ const event = this.buildEvent({
89
+ eventType: 'phase_start',
90
+ phase,
91
+ phaseIndex: this.phaseCounter,
92
+ metadata,
93
+ });
94
+ this.buffer.push(event);
95
+ }
96
+ /**
97
+ * Track phase end. Buffered, auto-flushes at 10 events.
98
+ */
99
+ trackPhaseEnd(phase, metadata) {
100
+ const startTime = this.phaseStartTimes.get(phase);
101
+ const durationMs = startTime ? Date.now() - startTime : undefined;
102
+ this.phaseStartTimes.delete(phase);
103
+ const event = this.buildEvent({
104
+ eventType: 'phase_end',
105
+ phase,
106
+ durationMs,
107
+ metadata,
108
+ });
109
+ this.buffer.push(event);
110
+ if (this.buffer.length >= 10) {
111
+ this.flushAsync();
112
+ }
113
+ }
114
+ /**
115
+ * Track phase error. Fires immediately (phase errors often precede exit).
116
+ */
117
+ async trackPhaseError(phase, error, metadata) {
118
+ const startTime = this.phaseStartTimes.get(phase);
119
+ const durationMs = startTime ? Date.now() - startTime : undefined;
120
+ this.phaseStartTimes.delete(phase);
121
+ const event = this.buildEvent({
122
+ eventType: 'phase_error',
123
+ phase,
124
+ durationMs,
125
+ errorMessage: truncate(error instanceof Error ? error.message : String(error), 500),
126
+ errorType: error instanceof Error ? error.constructor.name : 'Unknown',
127
+ metadata,
128
+ });
129
+ await this.sendImmediate(event);
130
+ }
131
+ /**
132
+ * Flush all buffered events to the server.
133
+ */
134
+ async flush() {
135
+ if (this.buffer.length === 0)
136
+ return;
137
+ const events = this.buffer.splice(0);
138
+ try {
139
+ await this.sendBatch(events);
140
+ }
141
+ catch {
142
+ // Swallow — telemetry must never throw
143
+ }
144
+ }
145
+ // ---------- Private ----------
146
+ buildEvent(partial) {
147
+ return {
148
+ eventType: partial.eventType,
149
+ command: this.command,
150
+ commandId: this.commandId,
151
+ timestamp: new Date().toISOString(),
152
+ durationMs: partial.durationMs,
153
+ phase: partial.phase,
154
+ phaseIndex: partial.phaseIndex,
155
+ outcome: partial.outcome,
156
+ errorMessage: partial.errorMessage,
157
+ errorType: partial.errorType,
158
+ featureId: this.featureId,
159
+ checklistItemId: this.checklistItemId,
160
+ browserSessionId: this.browserSessionId,
161
+ evaluation: partial.evaluation,
162
+ cliVersion: this.cliVersion,
163
+ nodeVersion: this.nodeVersion,
164
+ platform: this.platform,
165
+ isTty: this.isTty,
166
+ isCI: this.isCI,
167
+ metadata: partial.metadata,
168
+ };
169
+ }
170
+ async sendImmediate(event) {
171
+ try {
172
+ await this.sendBatch([event]);
173
+ }
174
+ catch {
175
+ // Swallow — telemetry must never throw
176
+ }
177
+ }
178
+ flushAsync() {
179
+ if (this.flushing)
180
+ return;
181
+ this.flushing = this.flush().finally(() => {
182
+ this.flushing = null;
183
+ });
184
+ }
185
+ async sendBatch(events) {
186
+ const token = await getToken().catch(() => null);
187
+ const baseUrl = getApiBaseUrl();
188
+ const headers = {
189
+ 'Content-Type': 'application/json',
190
+ };
191
+ if (token) {
192
+ headers['Authorization'] = `Bearer ${token}`;
193
+ }
194
+ const payload = { events };
195
+ if (process.env.DEBUG) {
196
+ console.error(`[telemetry] Sending ${events.length} event(s) to ${baseUrl}/api/v1/mcp/cli-telemetry`);
197
+ }
198
+ const controller = new AbortController();
199
+ const timeout = setTimeout(() => controller.abort(), 5000);
200
+ try {
201
+ await fetch(`${baseUrl}/api/v1/mcp/cli-telemetry`, {
202
+ method: 'POST',
203
+ headers,
204
+ body: JSON.stringify(payload),
205
+ signal: controller.signal,
206
+ });
207
+ }
208
+ finally {
209
+ clearTimeout(timeout);
210
+ }
211
+ }
212
+ }
213
+ // ---------- Module-level API ----------
214
+ let currentCollector = null;
215
+ /**
216
+ * Create a telemetry collector for a command invocation.
217
+ * Call this at the start of each command handler.
218
+ */
219
+ export function createTelemetryCollector(command) {
220
+ currentCollector = new TelemetryCollector(command);
221
+ return currentCollector;
222
+ }
223
+ /**
224
+ * Get the current collector (if any).
225
+ * Useful for the yargs fail() handler to report errors.
226
+ */
227
+ export function getCurrentCollector() {
228
+ return currentCollector;
229
+ }
230
+ /**
231
+ * Wrap a CLI command handler with telemetry.
232
+ * Handles collector creation, command start/end/error tracking, and flush.
233
+ * Pass the telemetry collector to the callback for phase-level tracking.
234
+ */
235
+ export async function withTelemetry(command, fn, metadata) {
236
+ const telemetry = createTelemetryCollector(command);
237
+ await telemetry.trackCommandStart(metadata);
238
+ try {
239
+ const result = await fn(telemetry);
240
+ await telemetry.trackCommandEnd('success');
241
+ return result;
242
+ }
243
+ catch (error) {
244
+ await telemetry.trackCommandError(error);
245
+ throw error;
246
+ }
247
+ finally {
248
+ await telemetry.flush();
249
+ }
250
+ }
251
+ function truncate(str, maxLen) {
252
+ return str.length > maxLen ? str.slice(0, maxLen) + '...' : str;
253
+ }
254
+ //# sourceMappingURL=telemetry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../../src/commands/utils/telemetry.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
- import { getMcpServerUrl } from './environment.js';
1
+ import { getApiBaseUrl } from './environment.js';
2
2
  /**
3
- * Get current user info from the /me endpoint.
3
+ * Get current user info from the /api/v1/mcp/me endpoint.
4
4
  * Returns user info on success, or an error object on failure.
5
5
  */
6
6
  export async function getCurrentUser(token) {
7
- const mcpServerUrl = getMcpServerUrl();
7
+ const apiBaseUrl = getApiBaseUrl();
8
8
  try {
9
- const response = await fetch(`${mcpServerUrl}/me`, {
9
+ const response = await fetch(`${apiBaseUrl}/api/v1/mcp/me`, {
10
10
  method: 'GET',
11
11
  headers: {
12
12
  Authorization: `Bearer ${token}`,
@@ -1 +1 @@
1
- {"version":3,"file":"userApi.js","sourceRoot":"","sources":["../../../src/commands/utils/userApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAoBnD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAChC,KAAa;IAEb,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IAEvC,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,YAAY,KAAK,EAAE;YAC/C,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACL,aAAa,EAAE,UAAU,KAAK,EAAE;aACnC;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE;gBAClD,MAAM,EAAE,QAAQ,CAAC,MAAM;aAC1B,CAAC;QACN,CAAC;QAED,MAAM,IAAI,GAAa,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC7C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO;YACH,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAChE,CAAC;IACN,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"userApi.js","sourceRoot":"","sources":["../../../src/commands/utils/userApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAoBjD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAChC,KAAa;IAEb,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,gBAAgB,EAAE;YACxD,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACL,aAAa,EAAE,UAAU,KAAK,EAAE;aACnC;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE;gBAClD,MAAM,EAAE,QAAQ,CAAC,MAAM;aAC1B,CAAC;QACN,CAAC;QAED,MAAM,IAAI,GAAa,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC7C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO;YACH,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAChE,CAAC;IACN,CAAC;AACL,CAAC"}