@buoy-design/cli 0.4.1 → 0.6.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 (61) hide show
  1. package/README.md +50 -21
  2. package/dist/cloud/config.d.ts +12 -0
  3. package/dist/cloud/config.d.ts.map +1 -1
  4. package/dist/cloud/config.js.map +1 -1
  5. package/dist/commands/ahoy.d.ts.map +1 -1
  6. package/dist/commands/ahoy.js +3 -1
  7. package/dist/commands/ahoy.js.map +1 -1
  8. package/dist/commands/check.d.ts.map +1 -1
  9. package/dist/commands/check.js +14 -0
  10. package/dist/commands/check.js.map +1 -1
  11. package/dist/commands/ignore.d.ts +7 -3
  12. package/dist/commands/ignore.d.ts.map +1 -1
  13. package/dist/commands/ignore.js +81 -78
  14. package/dist/commands/ignore.js.map +1 -1
  15. package/dist/commands/index.d.ts +1 -0
  16. package/dist/commands/index.d.ts.map +1 -1
  17. package/dist/commands/index.js +1 -0
  18. package/dist/commands/index.js.map +1 -1
  19. package/dist/commands/login.d.ts.map +1 -1
  20. package/dist/commands/login.js +136 -34
  21. package/dist/commands/login.js.map +1 -1
  22. package/dist/commands/rescue.d.ts +3 -0
  23. package/dist/commands/rescue.d.ts.map +1 -0
  24. package/dist/commands/rescue.js +147 -0
  25. package/dist/commands/rescue.js.map +1 -0
  26. package/dist/commands/telemetry.d.ts +9 -0
  27. package/dist/commands/telemetry.d.ts.map +1 -0
  28. package/dist/commands/telemetry.js +51 -0
  29. package/dist/commands/telemetry.js.map +1 -0
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +5 -1
  32. package/dist/index.js.map +1 -1
  33. package/dist/rescue/report.d.ts +9 -0
  34. package/dist/rescue/report.d.ts.map +1 -0
  35. package/dist/rescue/report.js +107 -0
  36. package/dist/rescue/report.js.map +1 -0
  37. package/dist/rescue/store.d.ts +9 -0
  38. package/dist/rescue/store.d.ts.map +1 -0
  39. package/dist/rescue/store.js +50 -0
  40. package/dist/rescue/store.js.map +1 -0
  41. package/dist/rescue/types.d.ts +76 -0
  42. package/dist/rescue/types.d.ts.map +1 -0
  43. package/dist/rescue/types.js +2 -0
  44. package/dist/rescue/types.js.map +1 -0
  45. package/dist/rescue/workflow.d.ts +37 -0
  46. package/dist/rescue/workflow.d.ts.map +1 -0
  47. package/dist/rescue/workflow.js +355 -0
  48. package/dist/rescue/workflow.js.map +1 -0
  49. package/dist/services/drift-analysis.d.ts +3 -1
  50. package/dist/services/drift-analysis.d.ts.map +1 -1
  51. package/dist/services/drift-analysis.js +179 -98
  52. package/dist/services/drift-analysis.js.map +1 -1
  53. package/dist/telemetry/index.d.ts +53 -0
  54. package/dist/telemetry/index.d.ts.map +1 -0
  55. package/dist/telemetry/index.js +117 -0
  56. package/dist/telemetry/index.js.map +1 -0
  57. package/dist/utils/upgrade-hints.d.ts +13 -2
  58. package/dist/utils/upgrade-hints.d.ts.map +1 -1
  59. package/dist/utils/upgrade-hints.js +45 -7
  60. package/dist/utils/upgrade-hints.js.map +1 -1
  61. package/package.json +3 -3
@@ -2,7 +2,9 @@ import { Command } from "commander";
2
2
  import { readFile, writeFile, mkdir } from "fs/promises";
3
3
  import { existsSync } from "fs";
4
4
  import { join, dirname } from "path";
5
+ import { createHash } from "node:crypto";
5
6
  import { loadConfig } from "../config/loader.js";
7
+ import { DriftAnalysisService } from "../services/drift-analysis.js";
6
8
  import { spinner, success, error, info, warning, header, keyValue, newline, setJsonMode, } from "../output/reporters.js";
7
9
  import { formatJson } from "../output/formatters.js";
8
10
  const IGNORE_DIR = ".buoy";
@@ -45,22 +47,49 @@ export async function saveIgnoreList(ignoreList, projectRoot = process.cwd()) {
45
47
  /**
46
48
  * Create ignore list from current drift signals
47
49
  */
48
- export function createIgnoreList(drifts, reason) {
50
+ export function fingerprintDrift(drift) {
51
+ const location = (drift.source.location || "")
52
+ .replace(/:\d+(?::\d+)?$/, "")
53
+ .replaceAll("\\", "/");
54
+ const details = drift.details || {};
55
+ const suggestions = Array.isArray(details.suggestions)
56
+ ? [...details.suggestions].map(String).sort()
57
+ : [];
58
+ const identity = JSON.stringify({
59
+ type: drift.type,
60
+ file: location,
61
+ entityType: drift.source.entityType,
62
+ entityName: drift.source.entityName,
63
+ actual: details.actual ?? null,
64
+ expected: details.expected ?? null,
65
+ suggestions,
66
+ message: details.actual == null &&
67
+ details.expected == null &&
68
+ suggestions.length === 0
69
+ ? drift.message.replace(/\s+/g, " ").trim()
70
+ : null,
71
+ });
72
+ return createHash("sha256").update(identity).digest("hex").slice(0, 24);
73
+ }
74
+ export function createIgnoreList(drifts, reason, createdBy) {
49
75
  const now = new Date().toISOString();
76
+ const fingerprints = drifts.map(fingerprintDrift);
50
77
  // Create per-drift entries with the reason
51
78
  const entries = {};
52
- for (const drift of drifts) {
53
- entries[drift.id] = {
79
+ for (const fingerprint of fingerprints) {
80
+ entries[fingerprint] = {
54
81
  reason,
55
82
  createdAt: now,
83
+ createdBy,
56
84
  };
57
85
  }
58
86
  return {
59
- version: 1,
87
+ version: 2,
60
88
  createdAt: now,
61
89
  updatedAt: now,
62
90
  reason,
63
91
  driftIds: drifts.map((d) => d.id),
92
+ fingerprints,
64
93
  entries,
65
94
  summary: {
66
95
  critical: drifts.filter((d) => d.severity === "critical").length,
@@ -77,11 +106,22 @@ export function filterIgnored(drifts, ignoreList) {
77
106
  if (!ignoreList) {
78
107
  return { newDrifts: drifts, ignoredCount: 0 };
79
108
  }
80
- const ignoreSet = new Set(ignoreList.driftIds);
81
- const newDrifts = drifts.filter((d) => !ignoreSet.has(d.id));
109
+ const ignoreSet = new Set(ignoreList.driftIds || []);
110
+ const fingerprintSet = new Set(ignoreList.fingerprints || []);
111
+ const newDrifts = drifts.filter((d) => !ignoreSet.has(d.id) && !fingerprintSet.has(fingerprintDrift(d)));
82
112
  const ignoredCount = drifts.length - newDrifts.length;
83
113
  return { newDrifts, ignoredCount };
84
114
  }
115
+ export function preserveIgnoreEntries(next, existing, currentDrifts) {
116
+ if (!next.entries || !existing.entries)
117
+ return;
118
+ const fingerprintById = new Map(currentDrifts.map((drift) => [drift.id, fingerprintDrift(drift)]));
119
+ for (const [key, entry] of Object.entries(existing.entries)) {
120
+ const migratedKey = existing.version === 1 ? fingerprintById.get(key) || key : key;
121
+ if (next.entries[migratedKey])
122
+ next.entries[migratedKey] = entry;
123
+ }
124
+ }
85
125
  export function createIgnoreCommand() {
86
126
  const cmd = new Command("ignore").description("Manage ignored drift signals for existing projects");
87
127
  // ignore all
@@ -90,6 +130,7 @@ export function createIgnoreCommand() {
90
130
  .description("Ignore all current drift signals (hides existing issues)")
91
131
  .option("--json", "Output as JSON")
92
132
  .option("-f, --force", "Overwrite existing ignore list without prompting")
133
+ .option("--actor <name>", "Person or team accepting the baseline")
93
134
  .requiredOption("-r, --reason <reason>", "Reason for ignoring these drift signals (required)")
94
135
  .action(async (options) => {
95
136
  if (options.json) {
@@ -97,9 +138,10 @@ export function createIgnoreCommand() {
97
138
  }
98
139
  const spin = spinner("Loading configuration...");
99
140
  try {
100
- const { config } = await loadConfig();
141
+ const { config, configPath } = await loadConfig();
142
+ const projectRoot = configPath ? dirname(configPath) : process.cwd();
101
143
  // Check for existing ignore list
102
- const existing = await loadIgnoreList();
144
+ const existing = await loadIgnoreList(projectRoot);
103
145
  if (existing && !options.force) {
104
146
  spin.stop();
105
147
  warning(`Ignore list already exists with ${existing.summary.total} drifts.`);
@@ -107,34 +149,17 @@ export function createIgnoreCommand() {
107
149
  return;
108
150
  }
109
151
  spin.text = "Scanning for current drift...";
110
- // Import required modules
111
- const { ReactComponentScanner } = await import("@buoy-design/scanners/git");
112
- const { SemanticDiffEngine } = await import("@buoy-design/core/analysis");
113
- // Scan components
114
- const components = [];
115
- if (config.sources.react?.enabled) {
116
- spin.text = "Scanning React components...";
117
- const scanner = new ReactComponentScanner({
118
- projectRoot: process.cwd(),
119
- include: config.sources.react.include,
120
- exclude: config.sources.react.exclude,
121
- designSystemPackage: config.sources.react.designSystemPackage,
122
- });
123
- const result = await scanner.scan();
124
- components.push(...result.items);
125
- }
126
- spin.text = "Analyzing drift...";
127
- // Run analysis
128
- const engine = new SemanticDiffEngine();
129
- const diffResult = engine.analyzeComponents(components, {
130
- checkDeprecated: true,
131
- checkNaming: true,
132
- checkDocumentation: true,
152
+ const service = new DriftAnalysisService(config, projectRoot);
153
+ const result = await service.analyze({
154
+ includeIgnored: true,
155
+ onProgress: (message) => {
156
+ spin.text = message;
157
+ },
133
158
  });
134
- const drifts = diffResult.drifts;
159
+ const drifts = result.drifts;
135
160
  // Create and save ignore list
136
- const ignoreList = createIgnoreList(drifts, options.reason);
137
- await saveIgnoreList(ignoreList);
161
+ const ignoreList = createIgnoreList(drifts, options.reason, options.actor);
162
+ await saveIgnoreList(ignoreList, projectRoot);
138
163
  spin.stop();
139
164
  if (options.json) {
140
165
  console.log(formatJson({
@@ -151,7 +176,7 @@ export function createIgnoreCommand() {
151
176
  keyValue("Warning", String(ignoreList.summary.warning));
152
177
  keyValue("Info", String(ignoreList.summary.info));
153
178
  newline();
154
- success(`Ignore list saved to ${IGNORE_DIR}/${IGNORE_FILE}`);
179
+ success(`Ignore list saved to ${getIgnorePath(projectRoot)}`);
155
180
  info("Future drift checks will only show NEW issues not in this ignore list.");
156
181
  info("Tip: Add .buoy/ to .gitignore or commit it to share with your team.");
157
182
  }
@@ -172,7 +197,9 @@ export function createIgnoreCommand() {
172
197
  setJsonMode(true);
173
198
  }
174
199
  try {
175
- const ignoreList = await loadIgnoreList();
200
+ const { configPath } = await loadConfig();
201
+ const projectRoot = configPath ? dirname(configPath) : process.cwd();
202
+ const ignoreList = await loadIgnoreList(projectRoot);
176
203
  if (options.json) {
177
204
  console.log(formatJson({ ignoreList }));
178
205
  return;
@@ -194,7 +221,7 @@ export function createIgnoreCommand() {
194
221
  keyValue("Warning", String(ignoreList.summary.warning));
195
222
  keyValue("Info", String(ignoreList.summary.info));
196
223
  newline();
197
- info(`Ignore file: ${getIgnorePath()}`);
224
+ info(`Ignore file: ${getIgnorePath(projectRoot)}`);
198
225
  }
199
226
  catch (err) {
200
227
  const message = err instanceof Error ? err.message : String(err);
@@ -207,6 +234,7 @@ export function createIgnoreCommand() {
207
234
  .command("add")
208
235
  .description("Add current drift signals to the ignore list")
209
236
  .option("--json", "Output as JSON")
237
+ .option("--actor <name>", "Person or team accepting the baseline")
210
238
  .requiredOption("-r, --reason <reason>", "Reason for ignoring these drift signals (required)")
211
239
  .action(async (options) => {
212
240
  if (options.json) {
@@ -214,52 +242,25 @@ export function createIgnoreCommand() {
214
242
  }
215
243
  const spin = spinner("Loading configuration...");
216
244
  try {
217
- const { config } = await loadConfig();
218
- const existing = await loadIgnoreList();
245
+ const { config, configPath } = await loadConfig();
246
+ const projectRoot = configPath ? dirname(configPath) : process.cwd();
247
+ const existing = await loadIgnoreList(projectRoot);
219
248
  spin.text = "Scanning for current drift...";
220
- // Import required modules
221
- const { ReactComponentScanner } = await import("@buoy-design/scanners/git");
222
- const { SemanticDiffEngine } = await import("@buoy-design/core/analysis");
223
- // Scan components
224
- const components = [];
225
- if (config.sources.react?.enabled) {
226
- spin.text = "Scanning React components...";
227
- const scanner = new ReactComponentScanner({
228
- projectRoot: process.cwd(),
229
- include: config.sources.react.include,
230
- exclude: config.sources.react.exclude,
231
- designSystemPackage: config.sources.react.designSystemPackage,
232
- });
233
- const result = await scanner.scan();
234
- components.push(...result.items);
235
- }
236
- spin.text = "Analyzing drift...";
237
- // Run analysis
238
- const engine = new SemanticDiffEngine();
239
- const diffResult = engine.analyzeComponents(components, {
240
- checkDeprecated: true,
241
- checkNaming: true,
242
- checkDocumentation: true,
249
+ const service = new DriftAnalysisService(config, projectRoot);
250
+ const result = await service.analyze({
251
+ includeIgnored: true,
252
+ onProgress: (message) => {
253
+ spin.text = message;
254
+ },
243
255
  });
244
- const drifts = diffResult.drifts;
256
+ const drifts = result.drifts;
245
257
  // Create updated ignore list, preserving existing entries
246
- const ignoreList = createIgnoreList(drifts, options.reason);
258
+ const ignoreList = createIgnoreList(drifts, options.reason, options.actor);
247
259
  if (existing) {
248
260
  ignoreList.createdAt = existing.createdAt;
249
- // Preserve existing per-drift entries, only add new ones with the new reason
250
- if (existing.entries) {
251
- for (const [id, entry] of Object.entries(existing.entries)) {
252
- if (ignoreList.entries && !ignoreList.entries[id]) {
253
- // This drift was removed, don't preserve
254
- }
255
- else if (ignoreList.entries && existing.driftIds.includes(id)) {
256
- // Preserve original entry for existing drifts
257
- ignoreList.entries[id] = entry;
258
- }
259
- }
260
- }
261
+ preserveIgnoreEntries(ignoreList, existing, drifts);
261
262
  }
262
- await saveIgnoreList(ignoreList);
263
+ await saveIgnoreList(ignoreList, projectRoot);
263
264
  spin.stop();
264
265
  const added = existing
265
266
  ? ignoreList.summary.total - existing.summary.total
@@ -300,7 +301,9 @@ export function createIgnoreCommand() {
300
301
  }
301
302
  try {
302
303
  const { unlink } = await import("fs/promises");
303
- const ignorePath = getIgnorePath();
304
+ const { configPath } = await loadConfig();
305
+ const projectRoot = configPath ? dirname(configPath) : process.cwd();
306
+ const ignorePath = getIgnorePath(projectRoot);
304
307
  if (!existsSync(ignorePath)) {
305
308
  if (options.json) {
306
309
  console.log(formatJson({ action: "cleared", existed: false }));
@@ -1 +1 @@
1
- {"version":3,"file":"ignore.js","sourceRoot":"","sources":["../../src/commands/ignore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ignore.js","sourceRoot":"","sources":["../../src/commands/ignore.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export { createDockCommand } from "./dock.js";
4
4
  export { createAhoyCommand } from "./ahoy.js";
5
5
  export { createDesignMdCommand } from "./designmd/index.js";
6
6
  export { createSystemCommand } from "./system.js";
7
+ export { createRescueCommand } from "./rescue.js";
7
8
  export { createCheckCommand } from "./check.js";
8
9
  export { createIgnoreCommand, loadIgnoreList, filterIgnored, } from "./ignore.js";
9
10
  export { createFixCommand } from "./fix.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC"}
@@ -4,6 +4,7 @@ export { createDockCommand } from "./dock.js";
4
4
  export { createAhoyCommand } from "./ahoy.js";
5
5
  export { createDesignMdCommand } from "./designmd/index.js";
6
6
  export { createSystemCommand } from "./system.js";
7
+ export { createRescueCommand } from "./rescue.js";
7
8
  // Re-exports for internal use (subcommands within groups)
8
9
  export { createCheckCommand } from "./check.js";
9
10
  export { createIgnoreCommand, loadIgnoreList, filterIgnored, } from "./ignore.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,0DAA0D;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,0DAA0D;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwFpC,wBAAgB,kBAAkB,IAAI,OAAO,CAkG5C"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+IpC,wBAAgB,kBAAkB,IAAI,OAAO,CAsI5C"}
@@ -7,8 +7,11 @@ import { Command } from 'commander';
7
7
  import { createInterface } from 'readline';
8
8
  import { exec } from 'child_process';
9
9
  import { promisify } from 'util';
10
+ import { createServer } from 'http';
11
+ import { hostname } from 'os';
10
12
  import { updateCloudConfig, isLoggedIn, getApiEndpoint, readCloudConfig, } from '../cloud/config.js';
11
- import { getMe } from '../cloud/client.js';
13
+ import { getMe, getGitHubInstallUrl, listGitHubInstallations } from '../cloud/client.js';
14
+ import { sendTelemetry } from '../telemetry/index.js';
12
15
  import { spinner, error, info, warning, keyValue, newline } from '../output/reporters.js';
13
16
  const execAsync = promisify(exec);
14
17
  /**
@@ -29,21 +32,6 @@ async function openBrowser(url) {
29
32
  }
30
33
  await execAsync(command);
31
34
  }
32
- /**
33
- * Prompt for input
34
- */
35
- function prompt(question) {
36
- const rl = createInterface({
37
- input: process.stdin,
38
- output: process.stdout,
39
- });
40
- return new Promise((resolve) => {
41
- rl.question(question, (answer) => {
42
- rl.close();
43
- resolve(answer.trim());
44
- });
45
- });
46
- }
47
35
  /**
48
36
  * Validate API token by fetching user info
49
37
  */
@@ -63,6 +51,86 @@ async function validateToken(token) {
63
51
  account: result.data.account,
64
52
  };
65
53
  }
54
+ /**
55
+ * Listen on a random loopback port for the dashboard to POST the token.
56
+ * Resolves with the token, or null if the server could not start.
57
+ */
58
+ function waitForTokenOnLoopback() {
59
+ let resolveToken = () => { };
60
+ const token = new Promise((resolve) => { resolveToken = resolve; });
61
+ const server = createServer((req, res) => {
62
+ // Only the dashboard origin should be talking to us; answer preflight so
63
+ // the browser allows the cross-origin POST from app.buoy.design.
64
+ res.setHeader('Access-Control-Allow-Origin', '*');
65
+ res.setHeader('Access-Control-Allow-Methods', 'POST, OPTIONS');
66
+ res.setHeader('Access-Control-Allow-Headers', 'Content-Type');
67
+ if (req.method === 'OPTIONS') {
68
+ res.writeHead(204);
69
+ res.end();
70
+ return;
71
+ }
72
+ if (req.method !== 'POST' || req.url !== '/token') {
73
+ res.writeHead(404);
74
+ res.end();
75
+ return;
76
+ }
77
+ let body = '';
78
+ req.on('data', (chunk) => { body += chunk; if (body.length > 4096)
79
+ req.destroy(); });
80
+ req.on('end', () => {
81
+ try {
82
+ const parsed = JSON.parse(body);
83
+ if (parsed.token && parsed.token.startsWith('buoy_')) {
84
+ res.writeHead(200, { 'Content-Type': 'application/json' });
85
+ res.end('{"ok":true}');
86
+ resolveToken(parsed.token);
87
+ return;
88
+ }
89
+ }
90
+ catch { /* fall through */ }
91
+ res.writeHead(400);
92
+ res.end();
93
+ });
94
+ });
95
+ let url = null;
96
+ try {
97
+ server.listen(0, '127.0.0.1');
98
+ const addr = server.address();
99
+ if (addr && typeof addr === 'object')
100
+ url = `http://127.0.0.1:${addr.port}/token`;
101
+ }
102
+ catch {
103
+ url = null;
104
+ }
105
+ return { url, token, close: () => { try {
106
+ server.close();
107
+ }
108
+ catch { /* ignore */ } } };
109
+ }
110
+ /**
111
+ * Race a terminal prompt against the loopback listener. Whichever supplies a
112
+ * token first wins; the readline prompt is closed either way.
113
+ */
114
+ function promptOrLoopback(question, loopbackToken) {
115
+ const rl = createInterface({ input: process.stdin, output: process.stdout });
116
+ return new Promise((resolve) => {
117
+ let done = false;
118
+ const finish = (value) => {
119
+ if (done)
120
+ return;
121
+ done = true;
122
+ rl.close();
123
+ resolve(value.trim());
124
+ };
125
+ rl.question(question, finish);
126
+ loopbackToken.then((t) => {
127
+ if (!done) {
128
+ process.stdout.write('\n');
129
+ finish(t);
130
+ }
131
+ });
132
+ });
133
+ }
66
134
  export function createLoginCommand() {
67
135
  const cmd = new Command('login');
68
136
  cmd
@@ -87,34 +155,43 @@ export function createLoginCommand() {
87
155
  token = options.token;
88
156
  }
89
157
  else {
90
- // Interactive login/signup flow
158
+ // Interactive login/signup flow. The dashboard's /cli-auth page mints
159
+ // an API key and POSTs it back to a loopback listener, so pasting is
160
+ // only the fallback.
161
+ await sendTelemetry('cli_login_started');
91
162
  const endpoint = getApiEndpoint();
92
- const isSignup = options.signup;
93
- const authPath = isSignup ? '/signup?source=cli' : '/cli-auth';
94
- const authUrl = `${endpoint.replace('api.', 'app.')}${authPath}`;
163
+ const appOrigin = endpoint.replace('api.', 'app.');
164
+ const listener = waitForTokenOnLoopback();
165
+ const params = new URLSearchParams({ host: hostname() });
166
+ if (listener.url)
167
+ params.set('callback', listener.url);
168
+ const cliAuthPath = `/cli-auth?${params.toString()}`;
169
+ const authUrl = options.signup
170
+ ? `${appOrigin}/sign-up?redirect_url=${encodeURIComponent(cliAuthPath)}`
171
+ : `${appOrigin}${cliAuthPath}`;
95
172
  newline();
96
- if (isSignup) {
97
- info('Opening browser to create your Buoy account...');
98
- info('After signup, you\'ll get an API token to paste here.');
99
- }
100
- else {
101
- info('Opening browser to authenticate with Buoy Cloud...');
102
- }
173
+ info(options.signup
174
+ ? 'Opening browser to create your Buoy account...'
175
+ : 'Opening browser to connect the CLI to Buoy Cloud...');
103
176
  newline();
104
177
  if (options.browser !== false) {
105
178
  try {
106
179
  await openBrowser(authUrl);
107
- info('Browser opened. Complete authentication there.');
180
+ info('Browser opened. Approve the key there and this terminal will continue.');
108
181
  }
109
182
  catch {
110
183
  warning('Could not open browser automatically.');
111
184
  }
112
185
  }
113
186
  newline();
114
- info(`If browser didn't open, visit: ${authUrl}`);
187
+ info(`If the browser didn't open, visit: ${authUrl}`);
115
188
  newline();
116
- // Prompt for token
117
- token = await prompt('Paste your API token here: ');
189
+ try {
190
+ token = await promptOrLoopback('Waiting for the browser (or paste the key here): ', listener.token);
191
+ }
192
+ finally {
193
+ listener.close();
194
+ }
118
195
  if (!token) {
119
196
  error('No token provided. Login cancelled.');
120
197
  process.exit(1);
@@ -141,11 +218,36 @@ export function createLoginCommand() {
141
218
  keyValue('Account', validation.account?.name || 'Unknown');
142
219
  keyValue('Email', validation.user?.email || 'Unknown');
143
220
  keyValue('Plan', validation.account?.plan || 'free');
221
+ // Collapse the two-step funnel: most people who log in from a drift
222
+ // hint want PR reviews, so offer the GitHub App install right here.
223
+ let hasInstall = false;
224
+ try {
225
+ const installs = await listGitHubInstallations();
226
+ hasInstall = !!installs.ok && (installs.data?.installations || []).length > 0;
227
+ }
228
+ catch { /* treat as no install */ }
229
+ if (!hasInstall && options.browser !== false && process.stdin.isTTY) {
230
+ newline();
231
+ const answer = await promptOrLoopback('Set up the GitHub PR bot now so every pull request gets reviewed? [Y/n] ', new Promise(() => { }));
232
+ if (answer === '' || /^y/i.test(answer)) {
233
+ const installUrl = getGitHubInstallUrl(getApiEndpoint());
234
+ try {
235
+ await openBrowser(installUrl);
236
+ info('Browser opened. Choose the repositories Buoy should review.');
237
+ }
238
+ catch {
239
+ info(`Open this URL to install the GitHub App: ${installUrl}`);
240
+ }
241
+ newline();
242
+ info('After installing, run `buoy ahoy status` to verify.');
243
+ return;
244
+ }
245
+ }
144
246
  newline();
145
247
  info('You can now use:');
146
- info(' buoy link - Connect this project to Buoy Cloud');
147
- info(' buoy whoami - Show current user');
148
- info(' buoy logout - Sign out');
248
+ info(' buoy ahoy github - Set up the GitHub PR bot');
249
+ info(' buoy ahoy status - Show current account');
250
+ info(' buoy ahoy logout - Sign out');
149
251
  });
150
252
  return cmd;
151
253
  }
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function createRescueCommand(): Command;
3
+ //# sourceMappingURL=rescue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rescue.d.ts","sourceRoot":"","sources":["../../src/commands/rescue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2BpC,wBAAgB,mBAAmB,IAAI,OAAO,CA8L7C"}