percher 1.1.0 → 1.3.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 (40) hide show
  1. package/dist/bin/percher.js +1903 -972
  2. package/dist/package.json +4 -4
  3. package/dist/src/cli-utils.d.ts +1 -0
  4. package/dist/src/cli-utils.d.ts.map +1 -1
  5. package/dist/src/cli-utils.js +9 -0
  6. package/dist/src/cli-utils.js.map +1 -1
  7. package/dist/src/commands/apps.d.ts.map +1 -1
  8. package/dist/src/commands/apps.js +7 -14
  9. package/dist/src/commands/apps.js.map +1 -1
  10. package/dist/src/commands/data-records.d.ts +20 -0
  11. package/dist/src/commands/data-records.d.ts.map +1 -0
  12. package/dist/src/commands/data-records.js +183 -0
  13. package/dist/src/commands/data-records.js.map +1 -0
  14. package/dist/src/commands/data.d.ts.map +1 -1
  15. package/dist/src/commands/data.js +18 -2
  16. package/dist/src/commands/data.js.map +1 -1
  17. package/dist/src/commands/deploys.d.ts.map +1 -1
  18. package/dist/src/commands/deploys.js +9 -1
  19. package/dist/src/commands/deploys.js.map +1 -1
  20. package/dist/src/commands/telemetry.d.ts +4 -0
  21. package/dist/src/commands/telemetry.d.ts.map +1 -0
  22. package/dist/src/commands/telemetry.js +27 -0
  23. package/dist/src/commands/telemetry.js.map +1 -0
  24. package/dist/src/index.d.ts +6 -1
  25. package/dist/src/index.d.ts.map +1 -1
  26. package/dist/src/index.js +9 -3
  27. package/dist/src/index.js.map +1 -1
  28. package/dist/src/telemetry.d.ts +28 -3
  29. package/dist/src/telemetry.d.ts.map +1 -1
  30. package/dist/src/telemetry.js +107 -24
  31. package/dist/src/telemetry.js.map +1 -1
  32. package/dist/templates/astro/Dockerfile +10 -4
  33. package/dist/templates/capsule/Dockerfile +10 -4
  34. package/dist/templates/eleventy/Dockerfile +10 -4
  35. package/dist/templates/hugo/Dockerfile +10 -4
  36. package/dist/templates/preact/Dockerfile +10 -4
  37. package/dist/templates/solid/Dockerfile +10 -4
  38. package/dist/templates/vite-react/Dockerfile +10 -4
  39. package/dist/templates/vite-vue/Dockerfile +10 -4
  40. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"deploys.d.ts","sourceRoot":"","sources":["../../../src/commands/deploys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAuB/B,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAmapF"}
1
+ {"version":3,"file":"deploys.d.ts","sourceRoot":"","sources":["../../../src/commands/deploys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAuB/B,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CA6apF"}
@@ -98,6 +98,7 @@ export function registerDeploysCommands(cli, ctx, argv) {
98
98
  rebuild: Boolean(options.rebuild),
99
99
  });
100
100
  await writeLine(ctx, `${pc.green("✓")} rolled back to ${result.rolledBackTo.slice(0, 10)} (status: ${result.status})`);
101
+ await writeLine(ctx, "Env vars are not rolled back; the current values stay.");
101
102
  });
102
103
  cli
103
104
  .command("reproduce <deployId>", "Download a deploy's source and reproduce the build locally")
@@ -203,6 +204,13 @@ export function registerDeploysCommands(cli, ctx, argv) {
203
204
  // from the commit message so the output is one row per
204
205
  // version, no blank gaps.
205
206
  const message = v.message.split("\n")[0]?.trim() ?? "";
207
+ const note = Array.from((v.note ?? "")
208
+ // Controls, format characters (bidi overrides, zero-width), lone
209
+ // surrogates and line/paragraph separators must not reach a terminal.
210
+ .replace(/[\p{Cc}\p{Cf}\p{Cs}\p{Zl}\p{Zp}]/gu, " ")
211
+ .replace(/\s+/g, " ")
212
+ .trim());
213
+ const noteLabel = note.length > 80 ? `${note.slice(0, 79).join("")}…` : note.join("");
206
214
  // FUTURE25 Fas 1 — surface the deploy channel (how it was triggered).
207
215
  const channelLabels = {
208
216
  cli: "CLI",
@@ -222,7 +230,7 @@ export function registerDeploysCommands(cli, ctx, argv) {
222
230
  : null;
223
231
  if (marker && target)
224
232
  reasons.set(marker, target.explanation);
225
- await writeLine(ctx, `${v.sha} ${v.timestamp} ${message}${suffix}${marker ? ` ${marker}` : ""}`);
233
+ await writeLine(ctx, `${v.sha} ${v.timestamp} ${message}${noteLabel ? ` · ${noteLabel}` : ""}${suffix}${marker ? ` ${marker}` : ""}`);
226
234
  }
227
235
  for (const [marker, explanation] of reasons) {
228
236
  await writeLine(ctx, `\n${marker} ${explanation}`);
@@ -1 +1 @@
1
- {"version":3,"file":"deploys.js","sourceRoot":"","sources":["../../../src/commands/deploys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploys.js","sourceRoot":"","sources":["../../../src/commands/deploys.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Context } from "@percher/core";
2
+ import type { CAC } from "cac";
3
+ export declare function registerTelemetryCommands(cli: CAC, ctx: Context): void;
4
+ //# sourceMappingURL=telemetry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../../src/commands/telemetry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAK/B,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,CAsBtE"}
@@ -0,0 +1,27 @@
1
+ import { saveTelemetryAnswer, telemetryState } from "@percher/client";
2
+ import pc from "picocolors";
3
+ import { SilentExitError, writeErrLine, writeLine } from "../cli-utils.js";
4
+ import { telemetryStatusLine, VERSION } from "../telemetry.js";
5
+ export function registerTelemetryCommands(cli, ctx) {
6
+ cli
7
+ .command("telemetry [action]", "Anonymous usage statistics: on | off | status")
8
+ .action(async (action) => {
9
+ if (action === "on" || action === "off") {
10
+ try {
11
+ saveTelemetryAnswer(action === "on", VERSION);
12
+ }
13
+ catch {
14
+ await writeErrLine(ctx, `${pc.red("✗")} Could not save the answer.`);
15
+ throw new SilentExitError();
16
+ }
17
+ }
18
+ else if (action !== undefined && action !== "status") {
19
+ await writeErrLine(ctx, `${pc.red("✗")} Usage: percher telemetry on|off|status`);
20
+ throw new SilentExitError();
21
+ }
22
+ const state = telemetryState();
23
+ const overridden = action === "on" && state.envOptOut !== null;
24
+ await writeLine(ctx, `${telemetryStatusLine(state)}${overridden ? "; the environment variable still wins." : ""}`);
25
+ });
26
+ }
27
+ //# sourceMappingURL=telemetry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../../src/commands/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGtE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5D,MAAM,UAAU,yBAAyB,CAAC,GAAQ,EAAE,GAAY;IAC9D,GAAG;SACA,OAAO,CAAC,oBAAoB,EAAE,+CAA+C,CAAC;SAC9E,MAAM,CAAC,KAAK,EAAE,MAA0B,EAAE,EAAE;QAC3C,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACxC,IAAI,CAAC;gBACH,mBAAmB,CAAC,MAAM,KAAK,IAAI,EAAE,OAAO,CAAC,CAAC;YAChD,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;gBACrE,MAAM,IAAI,eAAe,EAAE,CAAC;YAC9B,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACvD,MAAM,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;YACjF,MAAM,IAAI,eAAe,EAAE,CAAC;QAC9B,CAAC;QACD,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;QAC/D,MAAM,SAAS,CACb,GAAG,EACH,GAAG,mBAAmB,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7F,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,3 +1,8 @@
1
1
  import type { Context } from "@percher/core";
2
- export declare function run(argv: string[], ctxOverride?: Context): Promise<number>;
2
+ import { type AskLine, type TelemetryQuestion } from "./telemetry.js";
3
+ export declare function run(argv: string[], ctxOverride?: Context, options?: {
4
+ askTelemetry?: AskLine;
5
+ stderrIsTTY?: boolean;
6
+ setTimer?: TelemetryQuestion["setTimer"];
7
+ }): Promise<number>;
3
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAwB7C,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAuEhF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAsB7C,OAAO,EACL,KAAK,OAAO,EAGZ,KAAK,iBAAiB,EAGvB,MAAM,aAAa,CAAC;AAGrB,wBAAsB,GAAG,CACvB,IAAI,EAAE,MAAM,EAAE,EACd,WAAW,CAAC,EAAE,OAAO,EACrB,OAAO,GAAE;IACP,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;CACrC,GACL,OAAO,CAAC,MAAM,CAAC,CA4EjB"}
package/dist/src/index.js CHANGED
@@ -14,13 +14,14 @@ import { registerHooksCommands } from "./commands/hooks.js";
14
14
  import { registerMigrateCommands } from "./commands/migrate.js";
15
15
  import { registerSharingCommands } from "./commands/sharing.js";
16
16
  import { registerStatusCommands } from "./commands/status.js";
17
+ import { registerTelemetryCommands } from "./commands/telemetry.js";
17
18
  import { registerTokenCommands } from "./commands/token.js";
18
19
  import { registerTransfersCommands } from "./commands/transfers.js";
19
20
  import { createCliContext } from "./context.js";
20
21
  import { renderError } from "./output.js";
21
- import { showTelemetryNotice, trackEvent, VERSION } from "./telemetry.js";
22
+ import { askOnStdin, askTelemetryConsentOnce, trackEvent, VERSION, } from "./telemetry.js";
22
23
  import { checkForUpdates } from "./version-check.js";
23
- export async function run(argv, ctxOverride) {
24
+ export async function run(argv, ctxOverride, options = {}) {
24
25
  const cli = cac("percher");
25
26
  const ctx = ctxOverride ?? (await createCliContext());
26
27
  registerAppsCommands(cli, ctx);
@@ -36,6 +37,7 @@ export async function run(argv, ctxOverride) {
36
37
  registerMigrateCommands(cli, ctx);
37
38
  registerSharingCommands(cli, ctx);
38
39
  registerStatusCommands(cli, ctx);
40
+ registerTelemetryCommands(cli, ctx);
39
41
  registerTokenCommands(cli, ctx);
40
42
  registerTransfersCommands(cli, ctx);
41
43
  registerAdminCommands(cli, ctx);
@@ -43,7 +45,6 @@ export async function run(argv, ctxOverride) {
43
45
  cli.version(VERSION);
44
46
  const command = argv[0] ?? "help";
45
47
  try {
46
- await showTelemetryNotice();
47
48
  cli.parse(["percher", "percher", ...argv], { run: false });
48
49
  // cac silently no-ops when no command matches: runMatchedCommand()
49
50
  // returns early on an undefined matchedCommand, so `percher
@@ -56,6 +57,11 @@ export async function run(argv, ctxOverride) {
56
57
  // (dogfood Fas 2 F2-#1; --help variant caught in Codex review.)
57
58
  const requested = argv[0];
58
59
  if (cli.matchedCommand) {
60
+ await askTelemetryConsentOnce(ctx, argv, cli.matchedCommand.name, {
61
+ ask: options.askTelemetry ?? askOnStdin,
62
+ stderrIsTTY: options.stderrIsTTY ?? process.stderr.isTTY === true,
63
+ setTimer: options.setTimer,
64
+ });
59
65
  await cli.runMatchedCommand();
60
66
  }
61
67
  else if (requested === undefined || requested === "help") {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,36 @@
1
+ import { type TelemetryState } from "@percher/client";
2
+ import type { Context } from "@percher/core";
1
3
  export declare const VERSION: string;
2
4
  /**
3
5
  * Send a telemetry event. Fire-and-forget — never blocks, never throws.
4
- * Respects PERCHER_NO_TELEMETRY=1 and DO_NOT_TRACK=1.
6
+ * Sends only after the user opted in; PERCHER_NO_TELEMETRY / DO_NOT_TRACK
7
+ * always win.
5
8
  */
6
9
  export declare function trackEvent(command: string, result: "success" | "error", errorType?: string): void;
10
+ /** Reads one answer line; null when input closes or `signal` aborts first. */
11
+ export type AskLine = (question: string, signal: AbortSignal) => Promise<string | null>;
7
12
  /**
8
- * Show telemetry notice on first run. Writes a marker file to skip next time.
13
+ * Reads the answer from `input`, writing the question to `output`. Ctrl-D,
14
+ * Ctrl-C and an abort end the question's line before returning.
9
15
  */
10
- export declare function showTelemetryNotice(): Promise<void>;
16
+ export declare function lineAsker(input: NodeJS.ReadableStream, output: NodeJS.WritableStream, onInterrupt?: () => void): AskLine;
17
+ /** The question goes to stderr, so stdout stays the command's own. */
18
+ export declare const askOnStdin: AskLine;
19
+ export interface TelemetryQuestion {
20
+ ask: AskLine;
21
+ /** The question is written to stderr; redirected, nobody would see it. */
22
+ stderrIsTTY: boolean;
23
+ /** setTimeout seam for tests; returns a cancel function. */
24
+ setTimer?: (fire: () => void, ms: number) => () => void;
25
+ }
26
+ /**
27
+ * Ask "Send anonymous usage statistics?" once, before a real command runs
28
+ * (`command` is the matched command's name; help, version and unknown
29
+ * commands never get here). Only when stdin, stdout and stderr are TTYs;
30
+ * never in CI or an agent terminal, with --json, for `percher telemetry`
31
+ * itself, under an env opt-out or once an answer is stored. No answer
32
+ * within 20 s, or closed input, stores nothing: it is asked again next run.
33
+ */
34
+ export declare function askTelemetryConsentOnce(ctx: Context, argv: string[], command: string, question: TelemetryQuestion): Promise<void>;
35
+ export declare function telemetryStatusLine(state?: TelemetryState): string;
11
36
  //# sourceMappingURL=telemetry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/telemetry.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,OAAO,EAAE,MAAoB,CAAC;AAW3C;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAmBjG;AAED;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAwBzD"}
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/telemetry.ts"],"names":[],"mappings":"AAOA,OAAO,EAGL,KAAK,cAAc,EAEpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAI7C,eAAO,MAAM,OAAO,EAAE,MAAoB,CAAC;AAE3C;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAmBjG;AAED,8EAA8E;AAC9E,MAAM,MAAM,OAAO,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAExF;;;GAGG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,MAAM,CAAC,cAAc,EAC5B,MAAM,EAAE,MAAM,CAAC,cAAc,EAC7B,WAAW,GAAE,MAAM,IAA8B,GAChD,OAAO,CA8BT;AAED,sEAAsE;AACtE,eAAO,MAAM,UAAU,EAAE,OAAkD,CAAC;AAE5E,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,OAAO,CAAC;IACb,0EAA0E;IAC1E,WAAW,EAAE,OAAO,CAAC;IACrB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,KAAK,MAAM,IAAI,CAAC;CACzD;AA0BD;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,iBAAiB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAgCf;AAED,wBAAgB,mBAAmB,CAAC,KAAK,GAAE,cAAiC,GAAG,MAAM,CAOpF"}
@@ -4,21 +4,18 @@
4
4
  // VERSION="0.2.5" and the version-check logic would print a phantom
5
5
  // "Update available: 0.2.5 → 0.2.11" banner. JSON-import-with-attribute
6
6
  // is supported natively by Bun and tsc with resolveJsonModule.
7
- import { resolveApiUrl } from "@percher/client";
7
+ import { createInterface } from "node:readline";
8
+ import { resolveApiUrl, saveTelemetryAnswer, telemetryState, } from "@percher/client";
8
9
  import pkg from "../package.json" with { type: "json" };
10
+ import { writeErrLine } from "./cli-utils.js";
9
11
  export const VERSION = pkg.version;
10
- /** Check if telemetry is disabled via env var. */
11
- function isDisabled() {
12
- return (process.env.PERCHER_NO_TELEMETRY === "1" ||
13
- process.env.PERCHER_NO_TELEMETRY === "true" ||
14
- process.env.DO_NOT_TRACK === "1");
15
- }
16
12
  /**
17
13
  * Send a telemetry event. Fire-and-forget — never blocks, never throws.
18
- * Respects PERCHER_NO_TELEMETRY=1 and DO_NOT_TRACK=1.
14
+ * Sends only after the user opted in; PERCHER_NO_TELEMETRY / DO_NOT_TRACK
15
+ * always win.
19
16
  */
20
17
  export function trackEvent(command, result, errorType) {
21
- if (isDisabled())
18
+ if (!telemetryState().enabled)
22
19
  return;
23
20
  const body = JSON.stringify({
24
21
  cliVersion: VERSION,
@@ -37,27 +34,113 @@ export function trackEvent(command, result, errorType) {
37
34
  }).catch(() => { });
38
35
  }
39
36
  /**
40
- * Show telemetry notice on first run. Writes a marker file to skip next time.
37
+ * Reads the answer from `input`, writing the question to `output`. Ctrl-D,
38
+ * Ctrl-C and an abort end the question's line before returning.
39
+ */
40
+ export function lineAsker(input, output, onInterrupt = () => process.exit(130)) {
41
+ return (question, signal) => new Promise((resolve) => {
42
+ const rl = createInterface({
43
+ input,
44
+ output,
45
+ terminal: input.isTTY === true,
46
+ });
47
+ let settled = false;
48
+ const finish = (answer) => {
49
+ if (settled)
50
+ return;
51
+ settled = true;
52
+ signal.removeEventListener("abort", onAbort);
53
+ if (answer === null)
54
+ output.write("\n");
55
+ resolve(answer);
56
+ rl.close();
57
+ };
58
+ const onAbort = () => finish(null);
59
+ signal.addEventListener("abort", onAbort, { once: true });
60
+ rl.on("line", (line) => finish(line));
61
+ rl.on("close", () => finish(null));
62
+ // Raw mode turns Ctrl-C into a readline event; keep its usual meaning.
63
+ rl.on("SIGINT", () => {
64
+ finish(null);
65
+ onInterrupt();
66
+ });
67
+ rl.setPrompt(question);
68
+ rl.prompt();
69
+ if (signal.aborted)
70
+ finish(null);
71
+ });
72
+ }
73
+ /** The question goes to stderr, so stdout stays the command's own. */
74
+ export const askOnStdin = lineAsker(process.stdin, process.stderr);
75
+ const ANSWER_TIMEOUT_MS = 20_000;
76
+ const CI_VARS = ["CONTINUOUS_INTEGRATION", "BUILD_NUMBER", "TF_BUILD", "JENKINS_URL"];
77
+ // Terminals driven by an AI agent or a CI runner: nobody would answer.
78
+ const AGENT_VARS = [
79
+ "CLAUDECODE",
80
+ "CURSOR_AGENT",
81
+ "CURSOR_TRACE_ID",
82
+ "CODEX_SANDBOX",
83
+ "CODEX_CI",
84
+ "GITHUB_ACTIONS",
85
+ ];
86
+ function isUnattended(env) {
87
+ const ci = env.CI;
88
+ if (ci !== undefined && ci !== "" && ci !== "0" && ci !== "false")
89
+ return true;
90
+ return [...CI_VARS, ...AGENT_VARS].some((key) => Boolean(env[key]));
91
+ }
92
+ const realTimer = (fire, ms) => {
93
+ const handle = setTimeout(fire, ms);
94
+ return () => clearTimeout(handle);
95
+ };
96
+ /**
97
+ * Ask "Send anonymous usage statistics?" once, before a real command runs
98
+ * (`command` is the matched command's name; help, version and unknown
99
+ * commands never get here). Only when stdin, stdout and stderr are TTYs;
100
+ * never in CI or an agent terminal, with --json, for `percher telemetry`
101
+ * itself, under an env opt-out or once an answer is stored. No answer
102
+ * within 20 s, or closed input, stores nothing: it is asked again next run.
41
103
  */
42
- export async function showTelemetryNotice() {
43
- if (isDisabled())
104
+ export async function askTelemetryConsentOnce(ctx, argv, command, question) {
105
+ if (command === "telemetry" || argv.includes("--json"))
106
+ return;
107
+ if (ctx.stdinIsInteractive !== true || !question.stderrIsTTY)
108
+ return;
109
+ if (isUnattended(ctx.env))
44
110
  return;
45
- const { homedir } = await import("node:os");
46
- const { existsSync, mkdirSync, writeFileSync } = await import("node:fs");
47
- const { join } = await import("node:path");
48
- const configDir = join(homedir(), ".percher");
49
- const markerFile = join(configDir, ".telemetry-notice-shown");
50
- if (existsSync(markerFile))
111
+ const state = telemetryState();
112
+ if (state.envOptOut || state.stored)
51
113
  return;
52
- // stderr, so a first run with --json still prints parseable stdout.
53
- console.error("Percher sends non-account-linked usage stats (CLI version, command, result, error type, OS, Bun version).");
54
- console.error("Disable with PERCHER_NO_TELEMETRY=1 or DO_NOT_TRACK=1\n");
114
+ const timeout = new AbortController();
115
+ const cancel = (question.setTimer ?? realTimer)(() => timeout.abort(), ANSWER_TIMEOUT_MS);
116
+ let answer;
55
117
  try {
56
- mkdirSync(configDir, { recursive: true });
57
- writeFileSync(markerFile, new Date().toISOString());
118
+ answer = await question.ask("Send anonymous usage statistics to Percher? (y/N) ", timeout.signal);
119
+ }
120
+ finally {
121
+ cancel();
122
+ }
123
+ if (answer === null)
124
+ return;
125
+ const enabled = /^y(es)?$/i.test(answer.trim());
126
+ try {
127
+ saveTelemetryAnswer(enabled, VERSION);
58
128
  }
59
129
  catch {
60
- // Best effort
130
+ await writeErrLine(ctx, "Could not save the answer; you will be asked again.");
131
+ return;
132
+ }
133
+ await writeErrLine(ctx, enabled
134
+ ? "Usage statistics on. Turn off: percher telemetry off"
135
+ : "Usage statistics off. Turn on: percher telemetry on");
136
+ }
137
+ export function telemetryStatusLine(state = telemetryState()) {
138
+ const stored = state.stored ? `stored answer: ${state.stored.enabled ? "on" : "off"}` : null;
139
+ if (state.envOptOut) {
140
+ return `Telemetry: off (env opt-out: ${state.envOptOut}${stored ? `; ${stored}` : ""})`;
61
141
  }
142
+ if (state.stored)
143
+ return `Telemetry: ${state.stored.enabled ? "on" : "off"} (stored answer)`;
144
+ return "Telemetry: off (undecided)";
62
145
  }
63
146
  //# sourceMappingURL=telemetry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/telemetry.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,uEAAuE;AACvE,mEAAmE;AACnE,oEAAoE;AACpE,wEAAwE;AACxE,+DAA+D;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACxD,MAAM,CAAC,MAAM,OAAO,GAAW,GAAG,CAAC,OAAO,CAAC;AAE3C,kDAAkD;AAClD,SAAS,UAAU;IACjB,OAAO,CACL,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,GAAG;QACxC,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,MAAM;QAC3C,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,GAAG,CACjC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,MAA2B,EAAE,SAAkB;IACzF,IAAI,UAAU,EAAE;QAAE,OAAO;IAEzB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;QAC1B,UAAU,EAAE,OAAO;QACnB,OAAO;QACP,MAAM;QACN,SAAS;QACT,EAAE,EAAE,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE;QACzC,UAAU,EAAE,OAAO,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;KACjE,CAAC,CAAC;IAEH,kDAAkD;IAClD,KAAK,CAAC,GAAG,aAAa,EAAE,gBAAgB,EAAE;QACxC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI;QACJ,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;KAClC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,IAAI,UAAU,EAAE;QAAE,OAAO;IAEzB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IACzE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IAE3C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC;IAE9D,IAAI,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO;IAEnC,oEAAoE;IACpE,OAAO,CAAC,KAAK,CACX,2GAA2G,CAC5G,CAAC;IACF,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAEzE,IAAI,CAAC;QACH,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,aAAa,CAAC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,cAAc;IAChB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/telemetry.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ RUN bun install && bun run build
14
14
  # Build pinned Caddy source with refreshed security modules. The scratch
15
15
  # runtime carries no shell, package manager, or file capabilities and listens
16
16
  # on the unprivileged port :8080.
17
- FROM golang:1.26.7-alpine3.23@sha256:b17af760035fc2f338eed92d448a6c67f2d45438844fc6c60678fa5f99e44b57 AS caddy-source
17
+ FROM golang:1.26.9-alpine3.23@sha256:6750308561953d451210ed1a8086d36c8c8bdcbf672d38d9d0d424b8a7a0216c AS caddy-source
18
18
  ADD --checksum=sha256:78e660d838e45c0b8c89338b325946238f153641aa9925df9ef2ad5e8eced31b \
19
19
  https://github.com/caddyserver/caddy/commit/b2693fb63a30e6d7be0972c3645e9a2c0a500e93.patch /tmp/caddy-cel-go.patch
20
20
  RUN go mod download github.com/caddyserver/caddy/v2@v2.11.4 \
@@ -24,9 +24,15 @@ WORKDIR /src
24
24
  RUN apk add --no-cache patch \
25
25
  && patch -p1 < /tmp/caddy-cel-go.patch \
26
26
  && go get github.com/go-chi/chi/v5@v5.3.0 github.com/google/cel-go@v0.29.2 \
27
- github.com/klauspost/compress@v1.18.7 go.opentelemetry.io/otel@v1.44.0 \
28
- golang.org/x/crypto@v0.55.0 golang.org/x/net@v0.58.0 \
29
- golang.org/x/text@v0.41.0 google.golang.org/grpc@v1.83.2 \
27
+ github.com/klauspost/compress@v1.18.7 go.opentelemetry.io/otel@v1.45.0 \
28
+ go.opentelemetry.io/otel/sdk/log@v0.21.0 \
29
+ go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc@v0.21.0 \
30
+ go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp@v0.21.0 \
31
+ go.opentelemetry.io/otel/exporters/stdout/stdoutlog@v0.21.0 \
32
+ go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc@v1.45.0 \
33
+ go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp@v1.45.0 \
34
+ golang.org/x/crypto@v0.57.0 golang.org/x/net@v0.60.0 \
35
+ golang.org/x/text@v0.42.0 google.golang.org/grpc@v1.83.2 \
30
36
  && go mod tidy \
31
37
  && CGO_ENABLED=0 go build -trimpath -ldflags "-s -w" -o /out/caddy ./cmd/caddy \
32
38
  && printf '%s\n' \
@@ -21,7 +21,7 @@ RUN bun install && bun run build
21
21
  # Build pinned Caddy source with refreshed security modules. The scratch
22
22
  # runtime carries no shell, package manager, or file capabilities and listens
23
23
  # on the unprivileged port :8080.
24
- FROM golang:1.26.7-alpine3.23@sha256:b17af760035fc2f338eed92d448a6c67f2d45438844fc6c60678fa5f99e44b57 AS caddy-source
24
+ FROM golang:1.26.9-alpine3.23@sha256:6750308561953d451210ed1a8086d36c8c8bdcbf672d38d9d0d424b8a7a0216c AS caddy-source
25
25
  ADD --checksum=sha256:78e660d838e45c0b8c89338b325946238f153641aa9925df9ef2ad5e8eced31b \
26
26
  https://github.com/caddyserver/caddy/commit/b2693fb63a30e6d7be0972c3645e9a2c0a500e93.patch /tmp/caddy-cel-go.patch
27
27
  RUN go mod download github.com/caddyserver/caddy/v2@v2.11.4 \
@@ -31,9 +31,15 @@ WORKDIR /src
31
31
  RUN apk add --no-cache patch \
32
32
  && patch -p1 < /tmp/caddy-cel-go.patch \
33
33
  && go get github.com/go-chi/chi/v5@v5.3.0 github.com/google/cel-go@v0.29.2 \
34
- github.com/klauspost/compress@v1.18.7 go.opentelemetry.io/otel@v1.44.0 \
35
- golang.org/x/crypto@v0.55.0 golang.org/x/net@v0.58.0 \
36
- golang.org/x/text@v0.41.0 google.golang.org/grpc@v1.83.2 \
34
+ github.com/klauspost/compress@v1.18.7 go.opentelemetry.io/otel@v1.45.0 \
35
+ go.opentelemetry.io/otel/sdk/log@v0.21.0 \
36
+ go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc@v0.21.0 \
37
+ go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp@v0.21.0 \
38
+ go.opentelemetry.io/otel/exporters/stdout/stdoutlog@v0.21.0 \
39
+ go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc@v1.45.0 \
40
+ go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp@v1.45.0 \
41
+ golang.org/x/crypto@v0.57.0 golang.org/x/net@v0.60.0 \
42
+ golang.org/x/text@v0.42.0 google.golang.org/grpc@v1.83.2 \
37
43
  && go mod tidy \
38
44
  && CGO_ENABLED=0 go build -trimpath -ldflags "-s -w" -o /out/caddy ./cmd/caddy \
39
45
  && printf '%s\n' \
@@ -14,7 +14,7 @@ RUN bun install && bun run build
14
14
  # Build pinned Caddy source with refreshed security modules. The scratch
15
15
  # runtime carries no shell, package manager, or file capabilities and listens
16
16
  # on the unprivileged port :8080.
17
- FROM golang:1.26.7-alpine3.23@sha256:b17af760035fc2f338eed92d448a6c67f2d45438844fc6c60678fa5f99e44b57 AS caddy-source
17
+ FROM golang:1.26.9-alpine3.23@sha256:6750308561953d451210ed1a8086d36c8c8bdcbf672d38d9d0d424b8a7a0216c AS caddy-source
18
18
  ADD --checksum=sha256:78e660d838e45c0b8c89338b325946238f153641aa9925df9ef2ad5e8eced31b \
19
19
  https://github.com/caddyserver/caddy/commit/b2693fb63a30e6d7be0972c3645e9a2c0a500e93.patch /tmp/caddy-cel-go.patch
20
20
  RUN go mod download github.com/caddyserver/caddy/v2@v2.11.4 \
@@ -24,9 +24,15 @@ WORKDIR /src
24
24
  RUN apk add --no-cache patch \
25
25
  && patch -p1 < /tmp/caddy-cel-go.patch \
26
26
  && go get github.com/go-chi/chi/v5@v5.3.0 github.com/google/cel-go@v0.29.2 \
27
- github.com/klauspost/compress@v1.18.7 go.opentelemetry.io/otel@v1.44.0 \
28
- golang.org/x/crypto@v0.55.0 golang.org/x/net@v0.58.0 \
29
- golang.org/x/text@v0.41.0 google.golang.org/grpc@v1.83.2 \
27
+ github.com/klauspost/compress@v1.18.7 go.opentelemetry.io/otel@v1.45.0 \
28
+ go.opentelemetry.io/otel/sdk/log@v0.21.0 \
29
+ go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc@v0.21.0 \
30
+ go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp@v0.21.0 \
31
+ go.opentelemetry.io/otel/exporters/stdout/stdoutlog@v0.21.0 \
32
+ go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc@v1.45.0 \
33
+ go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp@v1.45.0 \
34
+ golang.org/x/crypto@v0.57.0 golang.org/x/net@v0.60.0 \
35
+ golang.org/x/text@v0.42.0 google.golang.org/grpc@v1.83.2 \
30
36
  && go mod tidy \
31
37
  && CGO_ENABLED=0 go build -trimpath -ldflags "-s -w" -o /out/caddy ./cmd/caddy \
32
38
  && printf '%s\n' \
@@ -12,7 +12,7 @@ RUN hugo --minify
12
12
  # Build pinned Caddy source with refreshed security modules. The scratch
13
13
  # runtime carries no shell, package manager, or file capabilities and listens
14
14
  # on the unprivileged port :8080.
15
- FROM golang:1.26.7-alpine3.23@sha256:b17af760035fc2f338eed92d448a6c67f2d45438844fc6c60678fa5f99e44b57 AS caddy-source
15
+ FROM golang:1.26.9-alpine3.23@sha256:6750308561953d451210ed1a8086d36c8c8bdcbf672d38d9d0d424b8a7a0216c AS caddy-source
16
16
  ADD --checksum=sha256:78e660d838e45c0b8c89338b325946238f153641aa9925df9ef2ad5e8eced31b \
17
17
  https://github.com/caddyserver/caddy/commit/b2693fb63a30e6d7be0972c3645e9a2c0a500e93.patch /tmp/caddy-cel-go.patch
18
18
  RUN go mod download github.com/caddyserver/caddy/v2@v2.11.4 \
@@ -22,9 +22,15 @@ WORKDIR /src
22
22
  RUN apk add --no-cache patch \
23
23
  && patch -p1 < /tmp/caddy-cel-go.patch \
24
24
  && go get github.com/go-chi/chi/v5@v5.3.0 github.com/google/cel-go@v0.29.2 \
25
- github.com/klauspost/compress@v1.18.7 go.opentelemetry.io/otel@v1.44.0 \
26
- golang.org/x/crypto@v0.55.0 golang.org/x/net@v0.58.0 \
27
- golang.org/x/text@v0.41.0 google.golang.org/grpc@v1.83.2 \
25
+ github.com/klauspost/compress@v1.18.7 go.opentelemetry.io/otel@v1.45.0 \
26
+ go.opentelemetry.io/otel/sdk/log@v0.21.0 \
27
+ go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc@v0.21.0 \
28
+ go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp@v0.21.0 \
29
+ go.opentelemetry.io/otel/exporters/stdout/stdoutlog@v0.21.0 \
30
+ go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc@v1.45.0 \
31
+ go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp@v1.45.0 \
32
+ golang.org/x/crypto@v0.57.0 golang.org/x/net@v0.60.0 \
33
+ golang.org/x/text@v0.42.0 google.golang.org/grpc@v1.83.2 \
28
34
  && go mod tidy \
29
35
  && CGO_ENABLED=0 go build -trimpath -ldflags "-s -w" -o /out/caddy ./cmd/caddy \
30
36
  && printf '%s\n' \
@@ -14,7 +14,7 @@ RUN bun install && bun run build
14
14
  # Build pinned Caddy source with refreshed security modules. The scratch
15
15
  # runtime carries no shell, package manager, or file capabilities and listens
16
16
  # on the unprivileged port :8080.
17
- FROM golang:1.26.7-alpine3.23@sha256:b17af760035fc2f338eed92d448a6c67f2d45438844fc6c60678fa5f99e44b57 AS caddy-source
17
+ FROM golang:1.26.9-alpine3.23@sha256:6750308561953d451210ed1a8086d36c8c8bdcbf672d38d9d0d424b8a7a0216c AS caddy-source
18
18
  ADD --checksum=sha256:78e660d838e45c0b8c89338b325946238f153641aa9925df9ef2ad5e8eced31b \
19
19
  https://github.com/caddyserver/caddy/commit/b2693fb63a30e6d7be0972c3645e9a2c0a500e93.patch /tmp/caddy-cel-go.patch
20
20
  RUN go mod download github.com/caddyserver/caddy/v2@v2.11.4 \
@@ -24,9 +24,15 @@ WORKDIR /src
24
24
  RUN apk add --no-cache patch \
25
25
  && patch -p1 < /tmp/caddy-cel-go.patch \
26
26
  && go get github.com/go-chi/chi/v5@v5.3.0 github.com/google/cel-go@v0.29.2 \
27
- github.com/klauspost/compress@v1.18.7 go.opentelemetry.io/otel@v1.44.0 \
28
- golang.org/x/crypto@v0.55.0 golang.org/x/net@v0.58.0 \
29
- golang.org/x/text@v0.41.0 google.golang.org/grpc@v1.83.2 \
27
+ github.com/klauspost/compress@v1.18.7 go.opentelemetry.io/otel@v1.45.0 \
28
+ go.opentelemetry.io/otel/sdk/log@v0.21.0 \
29
+ go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc@v0.21.0 \
30
+ go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp@v0.21.0 \
31
+ go.opentelemetry.io/otel/exporters/stdout/stdoutlog@v0.21.0 \
32
+ go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc@v1.45.0 \
33
+ go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp@v1.45.0 \
34
+ golang.org/x/crypto@v0.57.0 golang.org/x/net@v0.60.0 \
35
+ golang.org/x/text@v0.42.0 google.golang.org/grpc@v1.83.2 \
30
36
  && go mod tidy \
31
37
  && CGO_ENABLED=0 go build -trimpath -ldflags "-s -w" -o /out/caddy ./cmd/caddy \
32
38
  && printf '%s\n' \