@prism-d1/cli 1.4.3 → 1.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.
- package/dist/assets/github-workflows/prism-eval-gate-kiro.yml +22 -2
- package/dist/assets/gitlab-workflows/prism-eval-gate.yml +22 -1
- package/dist/src/aws/check.js +1 -1
- package/dist/src/aws/team.d.ts +39 -0
- package/dist/src/aws/team.d.ts.map +1 -0
- package/dist/src/aws/team.js +172 -0
- package/dist/src/aws/team.js.map +1 -0
- package/dist/src/commands/enable/codeburn.d.ts +27 -3
- package/dist/src/commands/enable/codeburn.d.ts.map +1 -1
- package/dist/src/commands/enable/codeburn.js +317 -40
- package/dist/src/commands/enable/codeburn.js.map +1 -1
- package/dist/src/commands/team/add-developer.d.ts +17 -0
- package/dist/src/commands/team/add-developer.d.ts.map +1 -0
- package/dist/src/commands/team/add-developer.js +22 -0
- package/dist/src/commands/team/add-developer.js.map +1 -0
- package/dist/src/commands/team/info.d.ts +16 -0
- package/dist/src/commands/team/info.d.ts.map +1 -0
- package/dist/src/commands/team/info.js +30 -0
- package/dist/src/commands/team/info.js.map +1 -0
- package/dist/src/dashboard/codewatch.d.ts +3 -1
- package/dist/src/dashboard/codewatch.d.ts.map +1 -1
- package/dist/src/dashboard/codewatch.js +1 -0
- package/dist/src/dashboard/codewatch.js.map +1 -1
- package/dist/src/dashboard/page.d.ts.map +1 -1
- package/dist/src/dashboard/page.js +203 -55
- package/dist/src/dashboard/page.js.map +1 -1
- package/dist/src/dashboard/payload.d.ts +31 -4
- package/dist/src/dashboard/payload.d.ts.map +1 -1
- package/dist/src/dashboard/payload.js +43 -24
- package/dist/src/dashboard/payload.js.map +1 -1
- package/dist/src/dashboard/repos.d.ts +6 -0
- package/dist/src/dashboard/repos.d.ts.map +1 -1
- package/dist/src/dashboard/repos.js +24 -0
- package/dist/src/dashboard/repos.js.map +1 -1
- package/dist/src/dashboard/setup.d.ts +21 -5
- package/dist/src/dashboard/setup.d.ts.map +1 -1
- package/dist/src/dashboard/setup.js +47 -17
- package/dist/src/dashboard/setup.js.map +1 -1
- package/dist/src/dashboard/summary.d.ts +45 -0
- package/dist/src/dashboard/summary.d.ts.map +1 -0
- package/dist/src/dashboard/summary.js +20 -0
- package/dist/src/dashboard/summary.js.map +1 -0
- package/dist/src/dashboard/usage.d.ts +16 -0
- package/dist/src/dashboard/usage.d.ts.map +1 -1
- package/dist/src/dashboard/usage.js +31 -3
- package/dist/src/dashboard/usage.js.map +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +8 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/utils/otel-sync-schedule.d.ts +18 -1
- package/dist/src/utils/otel-sync-schedule.d.ts.map +1 -1
- package/dist/src/utils/otel-sync-schedule.js +44 -3
- package/dist/src/utils/otel-sync-schedule.js.map +1 -1
- package/dist/src/utils/sync-mode.d.ts +43 -0
- package/dist/src/utils/sync-mode.d.ts.map +1 -0
- package/dist/src/utils/sync-mode.js +84 -0
- package/dist/src/utils/sync-mode.js.map +1 -0
- package/package.json +1 -1
|
@@ -13,8 +13,9 @@ import { existsSync, mkdirSync, writeFileSync, readFileSync, unlinkSync } from '
|
|
|
13
13
|
import { join } from 'node:path';
|
|
14
14
|
import { run, runInteractive } from '../../utils/exec.js';
|
|
15
15
|
import { withPrivateTemp } from '../../utils/tempfile.js';
|
|
16
|
-
import { CRON_MARKER, PLIST_LABEL, SCHTASK_NAME, otelLogDir, otelLogFile, codeburnSyncConfigPath, linuxCrontabAvailable, crontabLines, darwinPlistPath, scheduleExists, schedulerName, CODEBURN_INSTALL_ARGS, ENABLE_CODEBURN_CMD, SYNC_SINCE, syncArgs, } from '../../utils/otel-sync-schedule.js';
|
|
16
|
+
import { CRON_MARKER, PLIST_LABEL, SCHTASK_NAME, otelLogDir, otelLogFile, codeburnSyncConfigPath, linuxCrontabAvailable, crontabLines, darwinPlistPath, scheduleExists, schedulerName, CODEBURN_INSTALL_ARGS, ENABLE_CODEBURN_CMD, SYNC_SINCE, syncArgs, linuxCronScheduleExists, SYSTEMD_SCHEDULER_NAME, SYSTEMD_UNIT, systemdServicePath, systemdTimerExists, systemdTimerPath, systemdUserAvailable, systemdUserDir, configuredSyncUrl, } from '../../utils/otel-sync-schedule.js';
|
|
17
17
|
import { runGuarded } from './security.js';
|
|
18
|
+
import { effectiveMode, LOCAL_MODE_HELP, MODE_SOURCE_TEXT, PLATFORM_TEAM_HELP, SETUP_DOCS, SYNC_MODE_PATH, TEAM_URL_CMD, writeSyncMode, } from '../../utils/sync-mode.js';
|
|
18
19
|
// ---- Constants ----
|
|
19
20
|
// Marker, label and task name are shared with the dashboard's setup check.
|
|
20
21
|
const LOG_DIR = otelLogDir();
|
|
@@ -72,6 +73,66 @@ function linuxRemoveSchedule() {
|
|
|
72
73
|
const lines = existing.stdout.split('\n').filter(l => !l.includes(CRON_MARKER) && !l.includes('codeburn sync push'));
|
|
73
74
|
withPrivateTemp('crontab', lines.join('\n') + '\n', f => run('crontab', [f]));
|
|
74
75
|
}
|
|
76
|
+
// ---- Linux: systemd user timer (when the crontab cannot be read) ----
|
|
77
|
+
/**
|
|
78
|
+
* One ExecStart argument: double-quoted, with backslash and quote escaped,
|
|
79
|
+
* and `%` (specifiers) and `$` (variable expansion) doubled so systemd passes
|
|
80
|
+
* the path through literally.
|
|
81
|
+
*/
|
|
82
|
+
function systemdQuote(value) {
|
|
83
|
+
return `"${value.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/%/g, '%%').replace(/\$/g, '$$$$')}"`;
|
|
84
|
+
}
|
|
85
|
+
/** The service and timer unit files. The timer fires at the same hours as the cron entry (`0 *\/N * * *`). */
|
|
86
|
+
export function systemdUnits(codeburnPath, intervalHours, logFile) {
|
|
87
|
+
const exec = [codeburnPath, ...syncArgs(SYNC_SINCE)].map(systemdQuote).join(' ');
|
|
88
|
+
const log = logFile.replace(/%/g, '%%');
|
|
89
|
+
const service = [
|
|
90
|
+
'# Generated by prism-cli enable codeburn. Do not edit.',
|
|
91
|
+
'[Unit]',
|
|
92
|
+
'Description=PRISM codeburn sync push',
|
|
93
|
+
'',
|
|
94
|
+
'[Service]',
|
|
95
|
+
'Type=oneshot',
|
|
96
|
+
`ExecStart=${exec}`,
|
|
97
|
+
`StandardOutput=append:${log}`,
|
|
98
|
+
`StandardError=append:${log}`,
|
|
99
|
+
'',
|
|
100
|
+
].join('\n');
|
|
101
|
+
const timer = [
|
|
102
|
+
'# Generated by prism-cli enable codeburn. Do not edit.',
|
|
103
|
+
'[Unit]',
|
|
104
|
+
`Description=PRISM codeburn sync push every ${intervalHours}h`,
|
|
105
|
+
'',
|
|
106
|
+
'[Timer]',
|
|
107
|
+
`OnCalendar=*-*-* 00/${intervalHours}:00:00`,
|
|
108
|
+
'Persistent=true',
|
|
109
|
+
'',
|
|
110
|
+
'[Install]',
|
|
111
|
+
'WantedBy=timers.target',
|
|
112
|
+
'',
|
|
113
|
+
].join('\n');
|
|
114
|
+
return { service, timer };
|
|
115
|
+
}
|
|
116
|
+
/** Writes both units, then reloads and enables the timer. The crontab is never read or written here. */
|
|
117
|
+
export function systemdInstallSchedule(codeburnPath, intervalHours, home = homedir(), runFn = run) {
|
|
118
|
+
const units = systemdUnits(codeburnPath, intervalHours, otelLogFile(home));
|
|
119
|
+
mkdirSync(systemdUserDir(home), { recursive: true });
|
|
120
|
+
writeFileSync(systemdServicePath(home), units.service);
|
|
121
|
+
writeFileSync(systemdTimerPath(home), units.timer);
|
|
122
|
+
for (const args of [['--user', 'daemon-reload'], ['--user', 'enable', '--now', `${SYSTEMD_UNIT}.timer`]]) {
|
|
123
|
+
const r = runFn('systemctl', args);
|
|
124
|
+
if (!r.ok)
|
|
125
|
+
throw new Error(`Failed to install the systemd user timer (systemctl ${args.join(' ')}): ${r.stderr}`);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
export function systemdRemoveSchedule(home = homedir(), runFn = run) {
|
|
129
|
+
// A timer that is already stopped makes disable fail; the unit files are removed either way.
|
|
130
|
+
runFn('systemctl', ['--user', 'disable', '--now', `${SYSTEMD_UNIT}.timer`]);
|
|
131
|
+
for (const f of [systemdTimerPath(home), systemdServicePath(home)])
|
|
132
|
+
if (existsSync(f))
|
|
133
|
+
unlinkSync(f);
|
|
134
|
+
runFn('systemctl', ['--user', 'daemon-reload']);
|
|
135
|
+
}
|
|
75
136
|
// ---- macOS: LaunchAgent ----
|
|
76
137
|
/**
|
|
77
138
|
* Escapes a value for use inside a plist <string> element.
|
|
@@ -205,7 +266,15 @@ function removeSchedule() {
|
|
|
205
266
|
}
|
|
206
267
|
}
|
|
207
268
|
export function defaultDeps() {
|
|
269
|
+
const linux = platform() === 'linux';
|
|
208
270
|
return {
|
|
271
|
+
linux,
|
|
272
|
+
systemd: {
|
|
273
|
+
available: systemdUserAvailable,
|
|
274
|
+
exists: () => systemdTimerExists(),
|
|
275
|
+
install: (p, h) => { mkdirSync(LOG_DIR, { recursive: true }); systemdInstallSchedule(p, h); },
|
|
276
|
+
remove: () => systemdRemoveSchedule(),
|
|
277
|
+
},
|
|
209
278
|
run,
|
|
210
279
|
runInteractive,
|
|
211
280
|
findCodeburn: getCodeburnPath,
|
|
@@ -217,25 +286,105 @@ export function defaultDeps() {
|
|
|
217
286
|
}),
|
|
218
287
|
log: (line = '') => console.log(line),
|
|
219
288
|
error: (line) => console.error(line),
|
|
220
|
-
|
|
221
|
-
|
|
289
|
+
// On Linux these four are the crontab only; the systemd timer is `systemd` above.
|
|
290
|
+
scheduleExists: linux ? linuxCronScheduleExists : scheduleExists,
|
|
291
|
+
schedulerName: linux ? () => 'crontab' : schedulerName,
|
|
222
292
|
installSchedule,
|
|
223
293
|
removeSchedule,
|
|
224
294
|
};
|
|
225
295
|
}
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
296
|
+
const nativeSchedule = (d) => ({
|
|
297
|
+
name: d.schedulerName(), exists: d.scheduleExists, install: d.installSchedule, remove: d.removeSchedule,
|
|
298
|
+
});
|
|
299
|
+
const systemdSchedule = (d) => ({
|
|
300
|
+
name: SYSTEMD_SCHEDULER_NAME, exists: d.systemd.exists,
|
|
301
|
+
install: (p, h) => { d.systemd.install(p, h); return true; }, remove: d.systemd.remove,
|
|
302
|
+
});
|
|
303
|
+
export const SCHEDULE_KINDS = ['systemd', 'cron'];
|
|
304
|
+
export const SYSTEMD_CMD = `${ENABLE_CODEBURN_CMD} --schedule systemd`;
|
|
305
|
+
/** --schedule is a Linux choice; returns an error line, or null when the value is usable. */
|
|
306
|
+
function scheduleOptionError(opts, d) {
|
|
307
|
+
if (opts.schedule === undefined)
|
|
230
308
|
return null;
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
309
|
+
if (!SCHEDULE_KINDS.includes(opts.schedule))
|
|
310
|
+
return `Error: --schedule must be systemd or cron, got "${opts.schedule}".`;
|
|
311
|
+
if (!d.linux)
|
|
312
|
+
return `Error: --schedule applies to Linux only; this machine uses a ${d.schedulerName()}.`;
|
|
313
|
+
if (opts.schedule === 'systemd' && !d.systemd.available())
|
|
314
|
+
return 'Error: --schedule systemd needs a systemd user manager, and "systemctl --user" is not available here.';
|
|
315
|
+
return null;
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Which schedule to install. --schedule decides when given; an installed
|
|
319
|
+
* systemd timer is kept; else the crontab. When the crontab cannot be read and
|
|
320
|
+
* `systemctl --user` works, the timer is offered instead, after a yes (or
|
|
321
|
+
* --yes), and the crontab is never touched. Returns an exit code on refusal.
|
|
322
|
+
*/
|
|
323
|
+
async function pickSchedule(opts, d, dry) {
|
|
324
|
+
const native = nativeSchedule(d);
|
|
325
|
+
if (!d.linux || opts.schedule === 'cron')
|
|
326
|
+
return native;
|
|
327
|
+
if (opts.schedule === 'systemd' || d.systemd.exists())
|
|
328
|
+
return systemdSchedule(d);
|
|
329
|
+
const cron = probeSchedule(native);
|
|
330
|
+
if (!(cron instanceof Error) || !d.systemd.available())
|
|
331
|
+
return native;
|
|
332
|
+
d.log(` ⚠ ${cron.message}`);
|
|
333
|
+
d.log(` A ${SYSTEMD_SCHEDULER_NAME} can run the sync push instead. Your crontab is not touched.`);
|
|
334
|
+
if (dry) {
|
|
335
|
+
d.log(` → would ask to install a ${SYSTEMD_SCHEDULER_NAME} instead (${SYSTEMD_CMD} skips the question)`);
|
|
336
|
+
return systemdSchedule(d);
|
|
234
337
|
}
|
|
235
|
-
|
|
236
|
-
return
|
|
338
|
+
if (opts.yes)
|
|
339
|
+
return systemdSchedule(d);
|
|
340
|
+
if (!d.isTTY) {
|
|
341
|
+
d.error(`Error: your crontab cannot be read and there is no terminal to confirm a ${SYSTEMD_SCHEDULER_NAME}. Re-run with: ${SYSTEMD_CMD}`);
|
|
342
|
+
return 1;
|
|
343
|
+
}
|
|
344
|
+
if (yes(await d.ask(` Install a ${SYSTEMD_SCHEDULER_NAME} (${SYSTEMD_UNIT}.timer) instead? [y/N] `)))
|
|
345
|
+
return systemdSchedule(d);
|
|
346
|
+
d.error(`Not scheduled. Re-run with ${SYSTEMD_CMD}, or fix crontab access and re-run ${ENABLE_CODEBURN_CMD}.`);
|
|
347
|
+
return 1;
|
|
348
|
+
}
|
|
349
|
+
/** --remove: every installed schedule (or the --schedule one). An unreadable crontab is reported and left alone. */
|
|
350
|
+
function removeSchedules(opts, d) {
|
|
351
|
+
const targets = [];
|
|
352
|
+
if (d.linux && opts.schedule !== 'cron')
|
|
353
|
+
targets.push(systemdSchedule(d));
|
|
354
|
+
if (opts.schedule !== 'systemd')
|
|
355
|
+
targets.push(nativeSchedule(d));
|
|
356
|
+
let removed = 0;
|
|
357
|
+
const errors = [];
|
|
358
|
+
d.log('');
|
|
359
|
+
for (const s of targets) {
|
|
360
|
+
const has = probeSchedule(s);
|
|
361
|
+
if (has instanceof Error) {
|
|
362
|
+
errors.push(has);
|
|
363
|
+
continue;
|
|
364
|
+
}
|
|
365
|
+
if (!has)
|
|
366
|
+
continue;
|
|
367
|
+
removed++;
|
|
368
|
+
if (opts.dryRun)
|
|
369
|
+
d.log(` → would remove the ${s.name} schedule.`);
|
|
370
|
+
else {
|
|
371
|
+
s.remove();
|
|
372
|
+
d.log(` ✓ ${s.name} schedule removed.`);
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
if (!removed && errors.length) {
|
|
376
|
+
d.error(`Error: ${errors[0].message}`);
|
|
377
|
+
return 1;
|
|
237
378
|
}
|
|
379
|
+
for (const e of errors)
|
|
380
|
+
d.log(` ⚠ ${e.message}`);
|
|
381
|
+
if (!removed && !errors.length)
|
|
382
|
+
d.log(` No ${targets.map((s) => s.name).join(' or ')} schedule found — nothing to remove.`);
|
|
383
|
+
d.log('');
|
|
384
|
+
return 0;
|
|
238
385
|
}
|
|
386
|
+
// Lives in utils/otel-sync-schedule.ts (shared with the dashboard and aws check); re-exported for existing importers.
|
|
387
|
+
export { configuredSyncUrl };
|
|
239
388
|
/** True when `version` (e.g. "0.9.24") is at least MIN_CODEBURN. */
|
|
240
389
|
export function codeburnVersionOk(version) {
|
|
241
390
|
const parts = version.split('.').map((n) => parseInt(n, 10) || 0);
|
|
@@ -265,9 +414,9 @@ function reportSyncStatus(cb, d) {
|
|
|
265
414
|
d.log(` ${line}`);
|
|
266
415
|
}
|
|
267
416
|
/** Whether the schedule exists, or the error when that cannot be told (an unreadable crontab). */
|
|
268
|
-
function probeSchedule(
|
|
417
|
+
function probeSchedule(s) {
|
|
269
418
|
try {
|
|
270
|
-
return
|
|
419
|
+
return s.exists();
|
|
271
420
|
}
|
|
272
421
|
catch (e) {
|
|
273
422
|
return e instanceof Error ? e : new Error(String(e));
|
|
@@ -287,19 +436,31 @@ function showStatus(d) {
|
|
|
287
436
|
d.log(` ✗ codeburn not found in PATH (run ${ENABLE_CODEBURN_CMD})`);
|
|
288
437
|
}
|
|
289
438
|
const url = configuredSyncUrl(d.home);
|
|
439
|
+
const m = effectiveMode(d.home, url);
|
|
440
|
+
d.log(` Sync mode: ${m.mode} (${MODE_SOURCE_TEXT[m.source]})`);
|
|
290
441
|
if (url === null)
|
|
291
|
-
d.log(` ✗ sync not configured (run ${
|
|
442
|
+
d.log(m.mode === 'team' ? ` ✗ sync not configured (run ${TEAM_URL_CMD})` : ' - no sync endpoint (usage stays on this machine)');
|
|
292
443
|
else if (url)
|
|
293
444
|
d.log(` ✓ sync configured: ${url}`);
|
|
294
445
|
else
|
|
295
446
|
d.log(` ✓ sync config exists: ${codeburnSyncConfigPath(d.home)}`);
|
|
296
|
-
const
|
|
447
|
+
const timer = d.linux && d.systemd.exists();
|
|
448
|
+
const schedule = probeSchedule(nativeSchedule(d));
|
|
297
449
|
if (schedule instanceof Error)
|
|
298
|
-
d.log(` ⚠ ${schedule.message}`);
|
|
450
|
+
d.log(timer ? ` - crontab not used: ${schedule.message}` : ` ⚠ ${schedule.message}`);
|
|
299
451
|
else if (schedule)
|
|
300
452
|
d.log(` ✓ ${d.schedulerName()} schedule active`);
|
|
301
|
-
else
|
|
453
|
+
else if (!timer)
|
|
302
454
|
d.log(` ✗ no ${d.schedulerName()} schedule found`);
|
|
455
|
+
if (timer) {
|
|
456
|
+
const active = d.run('systemctl', ['--user', 'is-active', `${SYSTEMD_UNIT}.timer`]);
|
|
457
|
+
d.log(active.ok
|
|
458
|
+
? ` ✓ ${SYSTEMD_SCHEDULER_NAME} schedule active (${SYSTEMD_UNIT}.timer)`
|
|
459
|
+
: ` ⚠ ${SYSTEMD_SCHEDULER_NAME} installed but not active (${SYSTEMD_UNIT}.timer: ${(active.stdout || active.stderr || 'unknown').split('\n')[0]})`);
|
|
460
|
+
}
|
|
461
|
+
else if (d.linux && schedule instanceof Error && d.systemd.available()) {
|
|
462
|
+
d.log(` → schedule it with a ${SYSTEMD_SCHEDULER_NAME} instead: ${SYSTEMD_CMD}`);
|
|
463
|
+
}
|
|
303
464
|
const logFile = otelLogFile(d.home);
|
|
304
465
|
if (existsSync(logFile)) {
|
|
305
466
|
// Read in process rather than shelling out to tail, which does not exist
|
|
@@ -315,6 +476,100 @@ function showStatus(d) {
|
|
|
315
476
|
reportSyncStatus(codeburnPath, d);
|
|
316
477
|
d.log('');
|
|
317
478
|
}
|
|
479
|
+
const MODE_CHOICES = [
|
|
480
|
+
['1', 'local', 'just me, keep it on this machine'],
|
|
481
|
+
['2', 'team', "my team's PRISM (I have the collector URL from my platform team)"],
|
|
482
|
+
['3', 'admin', "I'm the platform team setting up PRISM"],
|
|
483
|
+
];
|
|
484
|
+
/**
|
|
485
|
+
* The sync mode for this run: a flag, else the mode already in effect (saved,
|
|
486
|
+
* or team for a machine with a sync endpoint), else the question on a TTY,
|
|
487
|
+
* else local. Returns an exit code on a bad answer.
|
|
488
|
+
*/
|
|
489
|
+
async function chooseMode(opts, d, dry) {
|
|
490
|
+
if (opts.local)
|
|
491
|
+
return 'local';
|
|
492
|
+
if (opts.admin)
|
|
493
|
+
return 'admin';
|
|
494
|
+
if (opts.url)
|
|
495
|
+
return 'team';
|
|
496
|
+
const cur = effectiveMode(d.home);
|
|
497
|
+
if (cur.source !== 'default') {
|
|
498
|
+
d.log(` Sync mode: ${cur.mode} (${MODE_SOURCE_TEXT[cur.source]}; --local, --url or --admin changes it)`);
|
|
499
|
+
return cur.mode;
|
|
500
|
+
}
|
|
501
|
+
if (!d.isTTY) {
|
|
502
|
+
d.log(' No terminal and no --local, --url or --admin: local only.');
|
|
503
|
+
return 'local';
|
|
504
|
+
}
|
|
505
|
+
if (dry) {
|
|
506
|
+
d.log(' → would ask where your usage should go; this plan is for local only (--url or --admin plans the others)');
|
|
507
|
+
return 'local';
|
|
508
|
+
}
|
|
509
|
+
d.log(' Where should your usage go?');
|
|
510
|
+
for (const [n, , text] of MODE_CHOICES)
|
|
511
|
+
d.log(` ${n}) ${text}`);
|
|
512
|
+
const answer = (await d.ask(' Choose 1, 2 or 3 [1]: ')).trim() || '1';
|
|
513
|
+
const picked = MODE_CHOICES.find(([n]) => n === answer);
|
|
514
|
+
if (!picked) {
|
|
515
|
+
d.error(`Error: "${answer}" is not 1, 2 or 3. Or pass --local, --url <collector URL> or --admin.`);
|
|
516
|
+
return 1;
|
|
517
|
+
}
|
|
518
|
+
return picked[1];
|
|
519
|
+
}
|
|
520
|
+
function saveMode(mode, d, dry) {
|
|
521
|
+
if (dry) {
|
|
522
|
+
d.log(` → would save sync mode ${mode} in ${SYNC_MODE_PATH}`);
|
|
523
|
+
return;
|
|
524
|
+
}
|
|
525
|
+
writeSyncMode(d.home, mode);
|
|
526
|
+
d.log(` ✓ Sync mode ${mode} saved in ${SYNC_MODE_PATH}`);
|
|
527
|
+
}
|
|
528
|
+
/** Every installed sync schedule's name; an unreadable crontab is skipped (it cannot be told). */
|
|
529
|
+
function installedSchedules(d) {
|
|
530
|
+
const all = d.linux ? [nativeSchedule(d), systemdSchedule(d)] : [nativeSchedule(d)];
|
|
531
|
+
return all.filter((s) => probeSchedule(s) === true).map((s) => s.name);
|
|
532
|
+
}
|
|
533
|
+
/** Local only: codeburn keeps working here; no endpoint is set up and no schedule installed. */
|
|
534
|
+
async function localOnly(opts, d, dry) {
|
|
535
|
+
// Removal first: taking the schedule off never needs codeburn installed.
|
|
536
|
+
if (opts.remove) {
|
|
537
|
+
const code = removeSchedules(opts, d);
|
|
538
|
+
if (code)
|
|
539
|
+
return code;
|
|
540
|
+
}
|
|
541
|
+
const ensured = await ensureCodeburn(opts, d);
|
|
542
|
+
if (typeof ensured === 'number')
|
|
543
|
+
return ensured;
|
|
544
|
+
saveMode('local', d, dry);
|
|
545
|
+
const url = configuredSyncUrl(d.home);
|
|
546
|
+
const left = dry && opts.remove ? [] : installedSchedules(d);
|
|
547
|
+
d.log('');
|
|
548
|
+
if (left.length) {
|
|
549
|
+
d.log(` ⚠ Sync mode is local, but the ${left.join(' and ')} schedule is still installed and still pushes usage.`);
|
|
550
|
+
d.log(` Remove it: ${ENABLE_CODEBURN_CMD} --local --remove`);
|
|
551
|
+
}
|
|
552
|
+
else {
|
|
553
|
+
d.log(' ✅ Local only: codeburn usage stays on this machine. No sync endpoint is set up and no schedule is installed.');
|
|
554
|
+
}
|
|
555
|
+
if (url !== null)
|
|
556
|
+
d.log(` Left in place: codeburn's sync config${url ? ` for ${url}` : ''} (${codeburnSyncConfigPath(d.home)}). Nothing pushes to it without a schedule.`);
|
|
557
|
+
d.log(`\n ${LOCAL_MODE_HELP.text}`);
|
|
558
|
+
d.log(` Setup instructions: ${SETUP_DOCS.telemetryAccount}\n`);
|
|
559
|
+
return 0;
|
|
560
|
+
}
|
|
561
|
+
/** Admin: the platform-team steps and helper commands. No AWS call is made. */
|
|
562
|
+
function platformTeam(d, dry) {
|
|
563
|
+
d.log(' Platform team setup (this prints steps only; no AWS calls are made):\n');
|
|
564
|
+
PLATFORM_TEAM_HELP.steps.forEach((step, i) => d.log(` ${i + 1}. ${step}`));
|
|
565
|
+
d.log('\n Helper commands:');
|
|
566
|
+
d.log(' prism-cli team info read-only: prints OtelCollectorUrl and OtelUserPoolId');
|
|
567
|
+
d.log(' prism-cli team add-developer <email> creates the developer\'s telemetry account (asks first; --dry-run shows the plan)');
|
|
568
|
+
d.log(`\n Platform team guide: ${SETUP_DOCS.platformTeamGuide}\n`);
|
|
569
|
+
saveMode('admin', d, dry);
|
|
570
|
+
d.log(` To sync your own usage as well, run ${TEAM_URL_CMD}.\n`);
|
|
571
|
+
return 0;
|
|
572
|
+
}
|
|
318
573
|
/**
|
|
319
574
|
* Step 1: codeburn on PATH, installing it after a confirmation when missing.
|
|
320
575
|
* Returns its path, `null` on a dry run without it, or an exit code on refusal.
|
|
@@ -362,23 +617,22 @@ async function ensureCodeburn(opts, d) {
|
|
|
362
617
|
* which prints each step it would take with the exact command.
|
|
363
618
|
*/
|
|
364
619
|
export async function enableCodeburn(opts, d) {
|
|
620
|
+
const scheduleError = scheduleOptionError(opts, d);
|
|
621
|
+
if (scheduleError) {
|
|
622
|
+
d.error(scheduleError);
|
|
623
|
+
return 1;
|
|
624
|
+
}
|
|
365
625
|
if (opts.status) {
|
|
366
626
|
showStatus(d);
|
|
367
627
|
return 0;
|
|
368
628
|
}
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
else if (opts.dryRun) {
|
|
374
|
-
d.log(`\n → would remove the ${d.schedulerName()} schedule.\n`);
|
|
375
|
-
}
|
|
376
|
-
else {
|
|
377
|
-
d.removeSchedule();
|
|
378
|
-
d.log(`\n ✓ ${d.schedulerName()} schedule removed.\n`);
|
|
379
|
-
}
|
|
380
|
-
return 0;
|
|
629
|
+
const modes = [opts.local && '--local', opts.url && '--url', opts.admin && '--admin'].filter(Boolean);
|
|
630
|
+
if (modes.length > 1) {
|
|
631
|
+
d.error(`Error: ${modes.join(' and ')} choose different sync modes; pass one of them.`);
|
|
632
|
+
return 1;
|
|
381
633
|
}
|
|
634
|
+
if (opts.remove && !opts.local)
|
|
635
|
+
return removeSchedules(opts, d);
|
|
382
636
|
const dry = !!opts.dryRun;
|
|
383
637
|
const intervalHours = opts.interval ? parseInt(opts.interval, 10) : 12;
|
|
384
638
|
if (isNaN(intervalHours) || intervalHours < 1) {
|
|
@@ -386,6 +640,13 @@ export async function enableCodeburn(opts, d) {
|
|
|
386
640
|
return 1;
|
|
387
641
|
}
|
|
388
642
|
d.log(dry ? '\n🔄 enable codeburn — dry run, nothing is changed\n' : '\n🔄 enable codeburn\n');
|
|
643
|
+
const mode = await chooseMode(opts, d, dry);
|
|
644
|
+
if (typeof mode === 'number')
|
|
645
|
+
return mode;
|
|
646
|
+
if (mode === 'admin')
|
|
647
|
+
return platformTeam(d, dry);
|
|
648
|
+
if (mode === 'local')
|
|
649
|
+
return localOnly(opts, d, dry);
|
|
389
650
|
// 1. codeburn installed, and new enough for --attribution
|
|
390
651
|
const ensured = await ensureCodeburn(opts, d);
|
|
391
652
|
if (typeof ensured === 'number')
|
|
@@ -411,9 +672,13 @@ export async function enableCodeburn(opts, d) {
|
|
|
411
672
|
d.log(' → would ask for the OTEL collector URL (pass --url <OtelCollectorUrl> to skip)');
|
|
412
673
|
}
|
|
413
674
|
else {
|
|
414
|
-
|
|
675
|
+
if (!d.isTTY) {
|
|
676
|
+
d.error(`Error: the collector URL is required. Ask your platform team for it, then run ${TEAM_URL_CMD}.`);
|
|
677
|
+
return 1;
|
|
678
|
+
}
|
|
679
|
+
otelUrl = await d.ask(' Collector URL (from your platform team; the OtelCollectorUrl stack output): ');
|
|
415
680
|
if (!otelUrl) {
|
|
416
|
-
d.error(
|
|
681
|
+
d.error(`Error: the collector URL is required. Ask your platform team for it, then run ${TEAM_URL_CMD}.`);
|
|
417
682
|
return 1;
|
|
418
683
|
}
|
|
419
684
|
}
|
|
@@ -462,13 +727,17 @@ export async function enableCodeburn(opts, d) {
|
|
|
462
727
|
// 4. One-time backfill, only when sync or the schedule is new: the push is
|
|
463
728
|
// incremental, so a re-run of an installed setup has nothing to backfill.
|
|
464
729
|
// An unreadable crontab stops the install here, before the backfill uploads anything.
|
|
465
|
-
|
|
730
|
+
// Linux with an unreadable crontab: the systemd timer is offered here, before anything is uploaded.
|
|
731
|
+
const picked = await pickSchedule(opts, d, dry);
|
|
732
|
+
if (typeof picked === 'number')
|
|
733
|
+
return picked;
|
|
734
|
+
const schedule = probeSchedule(picked);
|
|
466
735
|
if (schedule instanceof Error && !dry) {
|
|
467
736
|
d.error(`Error: ${schedule.message}`);
|
|
468
737
|
return 1;
|
|
469
738
|
}
|
|
470
739
|
const hadSchedule = schedule === true;
|
|
471
|
-
const sched =
|
|
740
|
+
const sched = picked.name;
|
|
472
741
|
if (needsSetup || !hadSchedule) {
|
|
473
742
|
const backfillArgs = syncArgs(BACKFILL_SINCE);
|
|
474
743
|
if (dry) {
|
|
@@ -504,13 +773,18 @@ export async function enableCodeburn(opts, d) {
|
|
|
504
773
|
else {
|
|
505
774
|
if (hadSchedule) {
|
|
506
775
|
d.log(` ✓ ${sched} schedule already installed — refreshing it.`);
|
|
507
|
-
|
|
776
|
+
picked.remove();
|
|
508
777
|
}
|
|
509
|
-
scheduled =
|
|
778
|
+
scheduled = picked.install(bin, intervalHours);
|
|
510
779
|
if (scheduled)
|
|
511
780
|
d.log(` ✓ ${sched} schedule installed (every ${intervalHours}h): ${pushCmd}`);
|
|
781
|
+
if (scheduled && sched === SYSTEMD_SCHEDULER_NAME) {
|
|
782
|
+
d.log(` Unit files: ${systemdUserDir(d.home)}/${SYSTEMD_UNIT}.{service,timer}`);
|
|
783
|
+
d.log(' A user timer runs while your user manager does; "loginctl enable-linger" keeps it running when you are logged out.');
|
|
784
|
+
}
|
|
512
785
|
}
|
|
513
786
|
// 6. What codeburn itself reports.
|
|
787
|
+
saveMode('team', d, dry);
|
|
514
788
|
if (dry) {
|
|
515
789
|
d.log(' → would run: codeburn sync status');
|
|
516
790
|
d.log('\n Dry run complete. Re-run without --dry-run to apply.\n');
|
|
@@ -532,19 +806,22 @@ export async function enableCodeburn(opts, d) {
|
|
|
532
806
|
return 0;
|
|
533
807
|
}
|
|
534
808
|
export const CODEBURN_OPTIONS = [
|
|
535
|
-
{ flags: '--
|
|
809
|
+
{ flags: '--local', description: 'Sync mode local (the default): codeburn usage stays on this machine; no endpoint, no schedule. Leaves an existing endpoint and schedule in place unless --remove' },
|
|
810
|
+
{ flags: '--url <url>', description: "Sync mode team: your team's collector URL (the OtelCollectorUrl stack output, from your platform team; default: the URL codeburn already syncs to)" },
|
|
811
|
+
{ flags: '--admin', description: 'Sync mode admin: print the platform-team setup steps and the prism-cli team helper commands (no AWS calls)' },
|
|
536
812
|
{ flags: '--interval <hours>', description: 'Sync interval in hours (default: 12)' },
|
|
537
|
-
{ flags: '--yes', description: `Install codeburn (${INSTALL_CMD})
|
|
813
|
+
{ flags: '--yes', description: `Install codeburn (${INSTALL_CMD}), reconfigure a different endpoint, and accept an offered systemd user timer without a prompt` },
|
|
538
814
|
{ flags: '--dry-run', description: 'Print the plan with the exact commands; change nothing' },
|
|
539
815
|
{ flags: '--status', description: 'Show codeburn, sync and schedule status' },
|
|
540
|
-
{ flags: '--remove', description: 'Remove the sync schedule' },
|
|
816
|
+
{ flags: '--remove', description: 'Remove the sync schedule (both kinds on Linux, unless --schedule picks one); with --local, switch to local and remove it' },
|
|
817
|
+
{ flags: '--schedule <kind>', description: 'Linux: systemd (a systemd user timer) or cron (your crontab). Default: cron; when the crontab cannot be read, a systemd user timer is offered' },
|
|
541
818
|
];
|
|
542
819
|
/** The one entry point for `enable codeburn` and its `bootstrapper setup-otel-sync` alias. */
|
|
543
820
|
export async function runEnableCodeburn(opts, hooks = {}) {
|
|
544
821
|
await runGuarded(() => enableCodeburn(opts, (hooks.deps ?? defaultDeps)()), hooks);
|
|
545
822
|
}
|
|
546
823
|
export default {
|
|
547
|
-
description:
|
|
824
|
+
description: "Set up codeburn: local only (default), sync to your team's PRISM every 12h (--url), or the platform-team steps (--admin)",
|
|
548
825
|
options: CODEBURN_OPTIONS,
|
|
549
826
|
action: runEnableCodeburn,
|
|
550
827
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeburn.js","sourceRoot":"","sources":["../../../../src/commands/enable/codeburn.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codeburn.js","sourceRoot":"","sources":["../../../../src/commands/enable/codeburn.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type AddDeveloperOptions } from '../../aws/team.js';
|
|
2
|
+
import { type TeamHooks } from './info.js';
|
|
3
|
+
declare const _default: {
|
|
4
|
+
description: string;
|
|
5
|
+
argument: {
|
|
6
|
+
name: string;
|
|
7
|
+
spec: string;
|
|
8
|
+
description: string;
|
|
9
|
+
};
|
|
10
|
+
options: {
|
|
11
|
+
flags: string;
|
|
12
|
+
description: string;
|
|
13
|
+
}[];
|
|
14
|
+
action(opts: AddDeveloperOptions, hooks?: TeamHooks): Promise<void>;
|
|
15
|
+
};
|
|
16
|
+
export default _default;
|
|
17
|
+
//# sourceMappingURL=add-developer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-developer.d.ts","sourceRoot":"","sources":["../../../../src/commands/team/add-developer.ts"],"names":[],"mappings":"AACA,OAAO,EAAiC,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAG5F,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;;;;;;;;;;;;iBAWhC,mBAAmB,UAAS,SAAS;;AAT1D,wBAeE"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { connectionDefaults } from '../../aws/connection.js';
|
|
2
|
+
import { ADD_PERMISSIONS, addDeveloper } from '../../aws/team.js';
|
|
3
|
+
import { AWS_TARGET_OPTIONS } from '../aws/check.js';
|
|
4
|
+
import { runGuarded } from '../enable/security.js';
|
|
5
|
+
import { teamDeps } from './info.js';
|
|
6
|
+
export default {
|
|
7
|
+
description: `AWS write: create a developer's telemetry account (Cognito user named by their email) after showing the plan and asking (needs ${ADD_PERMISSIONS})`,
|
|
8
|
+
argument: { name: 'email', spec: '<email>', description: "the developer's email; it is also the username" },
|
|
9
|
+
options: [
|
|
10
|
+
...AWS_TARGET_OPTIONS,
|
|
11
|
+
{ flags: '--user-pool-id <id>', description: "Cognito user pool (default: the PRISM stack's OtelUserPoolId output)" },
|
|
12
|
+
{ flags: '--yes', description: 'Create without the confirmation prompt (for scripts)' },
|
|
13
|
+
{ flags: '--dry-run', description: 'Show the plan (account, region, pool, email); change nothing' },
|
|
14
|
+
],
|
|
15
|
+
async action(opts, hooks = {}) {
|
|
16
|
+
await runGuarded(async () => {
|
|
17
|
+
const o = connectionDefaults({ ...opts, profile: opts.profile || undefined, region: opts.region || undefined }, hooks.env);
|
|
18
|
+
return addDeveloper(o, (hooks.teamDeps ?? teamDeps)());
|
|
19
|
+
}, hooks);
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=add-developer.js.map
|