@renaiss-shipflow/cli 0.10.0 → 0.12.1

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 (59) hide show
  1. package/dist/client.d.ts +27 -0
  2. package/dist/client.d.ts.map +1 -1
  3. package/dist/client.js +5 -0
  4. package/dist/client.js.map +1 -1
  5. package/dist/commands/config.d.ts.map +1 -1
  6. package/dist/commands/config.js +3 -1
  7. package/dist/commands/config.js.map +1 -1
  8. package/dist/commands/git-identity.d.ts +3 -0
  9. package/dist/commands/git-identity.d.ts.map +1 -0
  10. package/dist/commands/git-identity.js +77 -0
  11. package/dist/commands/git-identity.js.map +1 -0
  12. package/dist/commands/issue.d.ts.map +1 -1
  13. package/dist/commands/issue.js +49 -6
  14. package/dist/commands/issue.js.map +1 -1
  15. package/dist/commands/login.d.ts.map +1 -1
  16. package/dist/commands/login.js +16 -2
  17. package/dist/commands/login.js.map +1 -1
  18. package/dist/commands/pr.d.ts.map +1 -1
  19. package/dist/commands/pr.js +107 -3
  20. package/dist/commands/pr.js.map +1 -1
  21. package/dist/commands/stats.d.ts +7 -0
  22. package/dist/commands/stats.d.ts.map +1 -1
  23. package/dist/commands/stats.js +72 -1
  24. package/dist/commands/stats.js.map +1 -1
  25. package/dist/commands/test.d.ts +10 -0
  26. package/dist/commands/test.d.ts.map +1 -1
  27. package/dist/commands/test.js +52 -14
  28. package/dist/commands/test.js.map +1 -1
  29. package/dist/config.d.ts +7 -0
  30. package/dist/config.d.ts.map +1 -1
  31. package/dist/config.js +9 -0
  32. package/dist/config.js.map +1 -1
  33. package/dist/escalation-format.d.ts +35 -2
  34. package/dist/escalation-format.d.ts.map +1 -1
  35. package/dist/escalation-format.js +81 -4
  36. package/dist/escalation-format.js.map +1 -1
  37. package/dist/gh.d.ts +40 -1
  38. package/dist/gh.d.ts.map +1 -1
  39. package/dist/gh.js +88 -3
  40. package/dist/gh.js.map +1 -1
  41. package/dist/git-local.d.ts +4 -0
  42. package/dist/git-local.d.ts.map +1 -1
  43. package/dist/git-local.js +37 -0
  44. package/dist/git-local.js.map +1 -1
  45. package/dist/index.js +2 -0
  46. package/dist/index.js.map +1 -1
  47. package/dist/packet.d.ts +43 -3
  48. package/dist/packet.d.ts.map +1 -1
  49. package/dist/packet.js +124 -17
  50. package/dist/packet.js.map +1 -1
  51. package/dist/review-contract-data.d.ts +91 -0
  52. package/dist/review-contract-data.d.ts.map +1 -0
  53. package/dist/review-contract-data.js +111 -0
  54. package/dist/review-contract-data.js.map +1 -0
  55. package/dist/review-contract.d.ts +66 -0
  56. package/dist/review-contract.d.ts.map +1 -0
  57. package/dist/review-contract.js +139 -0
  58. package/dist/review-contract.js.map +1 -0
  59. package/package.json +1 -1
@@ -1,8 +1,11 @@
1
1
  import { execSync } from "node:child_process";
2
+ import { readFileSync } from "node:fs";
2
3
  import { resolveMergePolicy, resolveRequireCi, resolveStalePrHours, } from "../config.js";
3
- import { ghPRCreate, ghPRMerge, ghPRView, ghPRDiffText, ghCurrentLogin, ghEnsureLabel, ghIssueAddLabels, ghIssueRemoveLabel, ghIssueView, ghReviewThreads, ghResolveReviewThread } from "../gh.js";
4
+ import { hostname } from "node:os";
5
+ import { ghPRCreate, ghPRMerge, ghPRView, ghPRDiffText, ghCurrentLogin, ghEnsureLabel, ghIssueAddLabels, ghIssueRemoveLabel, ghIssueView, ghReviewThreads, ghResolveReviewThread, ghCreateReview } from "../gh.js";
4
6
  import { buildReviewPacket } from "../packet.js";
5
- import { cleanupMergedLocalBranch } from "../git-local.js";
7
+ import { diffAnchors, buildReviewPayload } from "../review-contract.js";
8
+ import { cleanupMergedLocalBranch, findSuspiciousEmails } from "../git-local.js";
6
9
  import { shellQuote } from "../sh.js";
7
10
  import { classifyPR, mergeDecision } from "../pr-state.js";
8
11
  import { loadCtx, runAction } from "./helpers.js";
@@ -29,10 +32,27 @@ export function registerPRCommand(program) {
29
32
  .option("--base <ref>", "Base branch")
30
33
  .option("--draft", "Create as draft")
31
34
  .option("--preview-url <url>", "Testing/preview site for this PR (relayed to the issue reporter)")
35
+ .option("--allow-suspicious-email", "Skip the commit-email identity guard (not recommended)")
32
36
  .option("--json", "Output JSON")
33
37
  .action(runAction(async (opts) => {
34
38
  const ctx = await loadCtx(program);
35
39
  const branch = currentBranch();
40
+ // Identity guard (issue #90): a machine-derived author email
41
+ // (user@hostname) can't be matched to a GitHub account — Vercel blocks
42
+ // the deployment AFTER merge, which is the expensive place to find out.
43
+ if (!opts.allowSuspiciousEmail) {
44
+ const bad = findSuspiciousEmails(branchAuthorEmails(), hostname());
45
+ if (bad.length) {
46
+ console.error("Refusing to open a PR: commit author email(s) won't match a GitHub account (deployments will be blocked):");
47
+ for (const b of bad)
48
+ console.error(` • ${b}`);
49
+ console.error("Fix: renaiss-shipflow git-identity --fix (sets a repo-local matched identity)");
50
+ console.error("Then rewrite the offending commits: git commit --amend --reset-author --no-edit");
51
+ console.error(' (several commits: git rebase --exec "git commit --amend --reset-author --no-edit" origin/<base>)');
52
+ console.error("Bypass (not recommended): --allow-suspicious-email");
53
+ process.exit(1);
54
+ }
55
+ }
36
56
  const issueNumber = opts.issue ? parseInt(opts.issue, 10) : detectIssueFromBranch(branch);
37
57
  // Reference the issue with a link (Closes #N) — don't copy its detail into
38
58
  // the PR; GitHub renders the linked issue.
@@ -267,7 +287,64 @@ export function registerPRCommand(program) {
267
287
  // Missing/inaccessible issue → packet warns loudly below.
268
288
  }
269
289
  }
270
- console.log(buildReviewPacket({ pr: prView, threads, diff, issue }));
290
+ // Feature map (best-effort): powers the per-feature evidence-coverage
291
+ // check — a multi-feature PR needs ≥1 proof per touched feature.
292
+ let features;
293
+ try {
294
+ const fm = await ctx.client.getFeatureMapping(ctx.creds.org, ctx.project.projectId);
295
+ features = Object.entries(fm.features ?? {}).map(([key, f]) => ({
296
+ key,
297
+ name: f.name || key,
298
+ paths: f.paths ?? [],
299
+ layer: f.layer || undefined,
300
+ description: f.description || undefined,
301
+ testPriority: f.test_priority || undefined,
302
+ }));
303
+ }
304
+ catch {
305
+ // No map (or fetch blip) → the packet simply omits the coverage lines.
306
+ }
307
+ console.log(buildReviewPacket({ pr: prView, threads, diff, issue, features }));
308
+ }));
309
+ pr
310
+ .command("post-review <number>")
311
+ .description("Post the loop reviewer's findings as a formal review with INLINE diff-anchored comments (like the server) — findings sit on the code diff, not a diff-less top-level comment")
312
+ .option("--summary <text>", "1-2 sentence verdict summary")
313
+ .option("--verdict <v>", "approve | comment | request_changes | reject", "comment")
314
+ .option("--findings <path>", "JSON file of findings (array or {findings:[...]}); '-' or omitted reads stdin")
315
+ .option("--repo <fullname>", "Override target repo")
316
+ .option("--json", "Output JSON")
317
+ .action(runAction(async (numberStr, opts) => {
318
+ const ctx = await loadCtx(program);
319
+ const number = parseInt(numberStr, 10);
320
+ const repo = opts.repo ?? ctx.project.repoFullName;
321
+ // Only block on stdin when findings are actually piped (or "-" is
322
+ // explicit). In an interactive terminal with no --findings this is the
323
+ // approve flow (empty findings) — reading stdin would hang forever.
324
+ const rawFindings = opts.findings && opts.findings !== "-"
325
+ ? readFileSync(opts.findings, "utf8")
326
+ : (opts.findings === "-" || !process.stdin.isTTY) ? await readStdin() : "";
327
+ let parsed;
328
+ try {
329
+ parsed = JSON.parse(rawFindings || "[]");
330
+ }
331
+ catch {
332
+ console.error("--findings must be valid JSON (an array, or {findings:[...]})");
333
+ process.exit(1);
334
+ }
335
+ const findings = (Array.isArray(parsed) ? parsed : parsed?.findings ?? []);
336
+ const verdict = (["approve", "comment", "request_changes", "reject"].includes(opts.verdict ?? "")
337
+ ? opts.verdict : "comment");
338
+ const anchors = diffAnchors(ghPRDiffText(repo, number));
339
+ const payload = buildReviewPayload({ summary: opts.summary ?? "", verdict, findings, anchors });
340
+ ghCreateReview(repo, number, payload);
341
+ const inlineCount = payload.comments.length;
342
+ const foldedCount = findings.length - inlineCount;
343
+ if (opts.json) {
344
+ console.log(JSON.stringify({ number, verdict, inline: inlineCount, folded: foldedCount }));
345
+ return;
346
+ }
347
+ console.log(`Posted ${verdict} review on #${number}: ${inlineCount} inline finding(s) on the diff${foldedCount ? `, ${foldedCount} folded into the body` : ""}.`);
271
348
  }));
272
349
  pr
273
350
  .command("approve <number>")
@@ -361,6 +438,33 @@ export function registerPRCommand(program) {
361
438
  console.log(`🧵 Resolved ${targets.length} review thread(s) on PR #${number}.`);
362
439
  }));
363
440
  }
441
+ /** Author emails on the branch's own commits (vs origin main/master), falling
442
+ * back to recent history when no base ref resolves. */
443
+ function branchAuthorEmails() {
444
+ for (const range of ["origin/main..HEAD", "origin/master..HEAD"]) {
445
+ try {
446
+ const out = execSync(`git log --format=%ae ${range}`, { stdio: ["ignore", "pipe", "ignore"] }).toString().trim();
447
+ if (out)
448
+ return out.split("\n");
449
+ return []; // range resolved and is empty — nothing new to check
450
+ }
451
+ catch {
452
+ /* base ref missing — try the next */
453
+ }
454
+ }
455
+ try {
456
+ return execSync("git log --format=%ae -30", { stdio: ["ignore", "pipe", "ignore"] }).toString().trim().split("\n").filter(Boolean);
457
+ }
458
+ catch {
459
+ return [];
460
+ }
461
+ }
462
+ async function readStdin() {
463
+ const chunks = [];
464
+ for await (const c of process.stdin)
465
+ chunks.push(c);
466
+ return Buffer.concat(chunks).toString("utf8");
467
+ }
364
468
  function currentBranch() {
365
469
  return execSync("git rev-parse --abbrev-ref HEAD").toString().trim();
366
470
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pr.js","sourceRoot":"","sources":["../../src/commands/pr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pr.js","sourceRoot":"","sources":["../../src/commands/pr.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,10 @@
1
1
  import type { Command } from "commander";
2
+ import type { AIUsageStats } from "../client.js";
3
+ /**
4
+ * Build the per-stage table rows for `stats --tokens`, sorted by cost descending
5
+ * (most expensive stage first). Exported so the output shape can be unit-tested
6
+ * without a live server.
7
+ */
8
+ export declare function buildStageRows(stats: AIUsageStats): string[][];
2
9
  export declare function registerStatsCommand(program: Command): void;
3
10
  //# sourceMappingURL=stats.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/commands/stats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8B3D"}
1
+ {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/commands/stats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAiCjD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,EAAE,EAAE,CAY9D;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2D3D"}
@@ -1,9 +1,58 @@
1
1
  import { getClient, getOrg, getFormat, handleError } from "./helpers.js";
2
- import { formatOutput } from "../output.js";
2
+ import { formatOutput, printTable } from "../output.js";
3
+ const STAGE_TABLE_HEADERS = [
4
+ "Stage",
5
+ "Requests",
6
+ "Tokens In",
7
+ "Tokens Out",
8
+ "Cache Hits",
9
+ "Cost (USD)",
10
+ ];
11
+ function num(n) {
12
+ return (n ?? 0).toLocaleString("en-US");
13
+ }
14
+ function cost(n) {
15
+ return `$${(n ?? 0).toFixed(4)}`;
16
+ }
17
+ /**
18
+ * Render the cache-hit cell for a bucket. Cache-READ tokens are the "hits"
19
+ * (input served from prompt cache); we show the raw count plus a hit ratio
20
+ * (cacheRead / tokensIn) when there are input tokens to compare against, e.g.
21
+ * "1,234 (45%)". A stage with no cache reads renders a plain "0".
22
+ */
23
+ function cacheHits(cacheReadTokens, tokensIn) {
24
+ const read = cacheReadTokens ?? 0;
25
+ if (read <= 0)
26
+ return "0";
27
+ if (!tokensIn || tokensIn <= 0)
28
+ return num(read);
29
+ const pct = Math.round((read / tokensIn) * 100);
30
+ return `${num(read)} (${pct}%)`;
31
+ }
32
+ /**
33
+ * Build the per-stage table rows for `stats --tokens`, sorted by cost descending
34
+ * (most expensive stage first). Exported so the output shape can be unit-tested
35
+ * without a live server.
36
+ */
37
+ export function buildStageRows(stats) {
38
+ const byStage = stats.byStage ?? {};
39
+ return Object.entries(byStage)
40
+ .sort((a, b) => (b[1].costUsd ?? 0) - (a[1].costUsd ?? 0))
41
+ .map(([stage, s]) => [
42
+ stage,
43
+ num(s.requests),
44
+ num(s.tokensIn),
45
+ num(s.tokensOut),
46
+ cacheHits(s.cacheReadTokens ?? 0, s.tokensIn),
47
+ cost(s.costUsd),
48
+ ]);
49
+ }
3
50
  export function registerStatsCommand(program) {
4
51
  program
5
52
  .command("stats")
6
53
  .description("Show usage statistics for the current billing period")
54
+ .option("--tokens", "Show per-stage AI token usage (from ai_logs) instead of execution counts")
55
+ .option("--days <n>", "Lookback window in days for --tokens (default 30)", "30")
7
56
  .option("--json", "Output as JSON")
8
57
  .option("--yaml", "Output as YAML")
9
58
  .action(async function () {
@@ -11,6 +60,28 @@ export function registerStatsCommand(program) {
11
60
  const client = getClient(this);
12
61
  const org = getOrg(this);
13
62
  const format = getFormat(this);
63
+ const opts = this.opts();
64
+ if (opts.tokens) {
65
+ const days = Number.parseInt(String(opts.days), 10);
66
+ const windowDays = Number.isFinite(days) && days > 0 ? days : 30;
67
+ const stats = await client.getTokenStats(org, windowDays);
68
+ formatOutput(format, stats, () => {
69
+ console.log(`AI Token Usage (last ${windowDays} days)`);
70
+ console.log(` Total Requests: ${num(stats.totalRequests)}`);
71
+ console.log(` Tokens In: ${num(stats.totalTokensIn)}`);
72
+ console.log(` Tokens Out: ${num(stats.totalTokensOut)}`);
73
+ console.log(` Cache Hits: ${cacheHits(stats.totalCacheReadTokens ?? 0, stats.totalTokensIn)}`);
74
+ console.log(` Total Cost: ${cost(stats.totalCostUsd)}`);
75
+ const rows = buildStageRows(stats);
76
+ if (rows.length === 0) {
77
+ console.log(`\nNo AI usage recorded for this period.`);
78
+ return;
79
+ }
80
+ console.log(`\nBy Stage:`);
81
+ printTable(STAGE_TABLE_HEADERS, rows);
82
+ });
83
+ return;
84
+ }
14
85
  const stats = await client.getStats(org);
15
86
  formatOutput(format, stats, () => {
16
87
  console.log(`Usage Statistics`);
@@ -1 +1 @@
1
- {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/commands/stats.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,sDAAsD,CAAC;SACnE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK;QACX,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YACzB,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAEzC,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC/B,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC;gBAC5D,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;gBACxD,IAAI,KAAK,CAAC,iBAAiB,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/E,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;oBAC9B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;wBACpE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;oBACvC,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/commands/stats.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,13 @@
1
1
  import type { Command } from "commander";
2
2
  export declare function registerTestCommand(program: Command): void;
3
+ export interface DetectedRunner {
4
+ cmd: string;
5
+ args: string[];
6
+ source: string;
7
+ }
8
+ /** Spawn the detected runner and return the exit code to use. On a spawn
9
+ * error (e.g. ENOENT: the detected binary is not installed) print a clear
10
+ * diagnostic naming the binary + why it was chosen, and return 127. */
11
+ export declare function runRunner(runner: DetectedRunner, root: string): number;
12
+ export declare function detectRunner(root: string): DetectedRunner | null;
3
13
  //# sourceMappingURL=test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAc1D"}
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAa1D;AAED,MAAM,WAAW,cAAc;IAAG,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AAE/E;;uEAEuE;AACvE,wBAAgB,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAUtE;AAmBD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAiBhE"}
@@ -1,7 +1,7 @@
1
- import { spawnSync } from "node:child_process";
2
- import { existsSync } from "node:fs";
1
+ import { existsSync, readFileSync } from "node:fs";
3
2
  import { join } from "node:path";
4
3
  import { getCwdRepoRoot } from "../project.js";
4
+ import { _spawn } from "../sh.js";
5
5
  export function registerTestCommand(program) {
6
6
  program
7
7
  .command("test")
@@ -19,26 +19,64 @@ export function registerTestCommand(program) {
19
19
  process.exit(2);
20
20
  }
21
21
  console.log(`> ${runner.cmd} ${runner.args.join(" ")}`);
22
- const r = spawnSync(runner.cmd, runner.args, { stdio: "inherit", cwd: root });
23
- process.exit(r.status ?? 1);
22
+ process.exit(runRunner(runner, root));
24
23
  });
25
24
  }
26
- function detectRunner(root) {
25
+ /** Spawn the detected runner and return the exit code to use. On a spawn
26
+ * error (e.g. ENOENT: the detected binary is not installed) print a clear
27
+ * diagnostic naming the binary + why it was chosen, and return 127. */
28
+ export function runRunner(runner, root) {
29
+ const r = _spawn(runner.cmd, runner.args, { stdio: "inherit", cwd: root });
30
+ if (r.error) {
31
+ const detail = r.error.code === "ENOENT"
32
+ ? `'${runner.cmd}' not found on PATH`
33
+ : `'${runner.cmd}' failed to start: ${r.error.message}`;
34
+ console.error(`error: ${detail} (detected from ${runner.source}). Install it or run your test command manually.`);
35
+ return 127;
36
+ }
37
+ return r.status ?? 1;
38
+ }
39
+ /** True when the root package.json declares a non-empty `test` script.
40
+ *
41
+ * Bun's *native* `bun test` ignores package.json scripts and recursively runs
42
+ * every `*.test.*` file with Bun's own runner — which breaks sibling
43
+ * workspaces that use a different runner (e.g. the dashboard's
44
+ * vitest/happy-dom suites, which fail under Bun with "document is not
45
+ * defined"). When a root `test` script exists we route through `bun run test`
46
+ * so the script — and each workspace's real runner — wins. See issue #131. */
47
+ function hasTestScript(root) {
48
+ try {
49
+ const pkg = JSON.parse(readFileSync(join(root, "package.json"), "utf8"));
50
+ return typeof pkg?.scripts?.test === "string" && pkg.scripts.test.trim() !== "";
51
+ }
52
+ catch {
53
+ return false;
54
+ }
55
+ }
56
+ export function detectRunner(root) {
27
57
  if (existsSync(join(root, "package.json"))) {
28
- if (existsSync(join(root, "bun.lockb")) || existsSync(join(root, "bun.lock")))
29
- return { cmd: "bun", args: ["test"] };
58
+ // `bun test` is Bun's native runner and bypasses package.json scripts. If a
59
+ // root `test` script exists, route through it via `bun run test`; otherwise
60
+ // fall back to the native runner. See issue #131.
61
+ const bunArgs = hasTestScript(root) ? ["run", "test"] : ["test"];
62
+ if (existsSync(join(root, "bun.lockb")))
63
+ return { cmd: "bun", args: bunArgs, source: "bun.lockb" };
64
+ if (existsSync(join(root, "bun.lock")))
65
+ return { cmd: "bun", args: bunArgs, source: "bun.lock" };
30
66
  if (existsSync(join(root, "pnpm-lock.yaml")))
31
- return { cmd: "pnpm", args: ["test"] };
67
+ return { cmd: "pnpm", args: ["test"], source: "pnpm-lock.yaml" };
32
68
  if (existsSync(join(root, "yarn.lock")))
33
- return { cmd: "yarn", args: ["test"] };
34
- return { cmd: "npm", args: ["test"] };
69
+ return { cmd: "yarn", args: ["test"], source: "yarn.lock" };
70
+ return { cmd: "npm", args: ["test"], source: "package.json" };
35
71
  }
36
72
  if (existsSync(join(root, "go.mod")))
37
- return { cmd: "go", args: ["test", "./..."] };
73
+ return { cmd: "go", args: ["test", "./..."], source: "go.mod" };
38
74
  if (existsSync(join(root, "Cargo.toml")))
39
- return { cmd: "cargo", args: ["test"] };
40
- if (existsSync(join(root, "pyproject.toml")) || existsSync(join(root, "pytest.ini")))
41
- return { cmd: "pytest", args: [] };
75
+ return { cmd: "cargo", args: ["test"], source: "Cargo.toml" };
76
+ if (existsSync(join(root, "pyproject.toml")))
77
+ return { cmd: "pytest", args: [], source: "pyproject.toml" };
78
+ if (existsSync(join(root, "pytest.ini")))
79
+ return { cmd: "pytest", args: [], source: "pytest.ini" };
42
80
  return null;
43
81
  }
44
82
  //# sourceMappingURL=test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -27,6 +27,9 @@ export interface StoredConfig {
27
27
  bugHunt?: boolean;
28
28
  bugHuntCap?: number;
29
29
  requireReview?: boolean;
30
+ gitName?: string;
31
+ gitEmail?: string;
32
+ signoffOwner?: string;
30
33
  }
31
34
  /** How far the loop may drive a PR toward merge without a human. */
32
35
  export type MergePolicy = "manual" | "auto-on-green" | "auto-timeout";
@@ -91,6 +94,10 @@ export declare function resolveBugHunt(): boolean;
91
94
  export declare function resolveBugHuntCap(): number;
92
95
  /** Route every issue + PR through the reviewer first (env > config > true). */
93
96
  export declare function resolveRequireReview(): boolean;
97
+ /** Sign-off owner the loop names on escalations (env > config > undefined —
98
+ * the escalate command then falls back to the issue author). A leading @ is
99
+ * tolerated and stripped so both "gemscng" and "@gemscng" work. */
100
+ export declare function resolveSignoffOwner(): string | undefined;
94
101
  export declare function resolveApiUrl(flagUrl?: string): string;
95
102
  /** JWT first, API key fallback. */
96
103
  export declare function resolveAuthToken(): {
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -2,6 +2,7 @@ import { readFileSync, writeFileSync, mkdirSync, existsSync, unlinkSync, readdir
2
2
  import { join } from "node:path";
3
3
  import { homedir } from "node:os";
4
4
  import { createHash } from "node:crypto";
5
+ import { normalizeOwner } from "./escalation-format.js";
5
6
  const DEFAULT_BASE = join(homedir(), ".config", "renaissshipflow");
6
7
  /** Base config directory before profile selection. Override entirely with
7
8
  * SHIPFLOW_CONFIG_DIR (useful for tests or wholly separate stores). */
@@ -185,6 +186,14 @@ export function resolveRequireReview() {
185
186
  const c = loadConfig().requireReview;
186
187
  return c === undefined ? true : c;
187
188
  }
189
+ /** Sign-off owner the loop names on escalations (env > config > undefined —
190
+ * the escalate command then falls back to the issue author). A leading @ is
191
+ * tolerated and stripped so both "gemscng" and "@gemscng" work. */
192
+ export function resolveSignoffOwner() {
193
+ const env = process.env.SHIPFLOW_SIGNOFF_OWNER;
194
+ const raw = env != null && env.trim() !== "" ? env : loadConfig().signoffOwner ?? "";
195
+ return normalizeOwner(raw);
196
+ }
188
197
  // ── url + auth resolution ──
189
198
  export function resolveApiUrl(flagUrl) {
190
199
  return flagUrl || process.env.SHIPFLOW_API_URL || loadConfig().apiUrl || "http://localhost:8080";
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtG,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAEnE;wEACwE;AACxE,SAAS,aAAa;IACpB,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,YAAY,CAAC;AACzD,CAAC;AAED;;oBAEoB;AACpB,MAAM,UAAU,aAAa;IAC3B,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACrD,CAAC;AAED;;;oFAGoF;AACpF,MAAM,UAAU,SAAS;IACvB,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,aAAa,CAAC,CAAC;AAClE,MAAM,SAAS,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,kBAAkB,CAAC,CAAC;AACtE,MAAM,YAAY,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,eAAe,CAAC,CAAC;AAEtE;8EAC8E;AAC9E,MAAM,UAAU,YAAY;IAC1B,IAAI,CAAC;QACH,OAAO,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aAC3E,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aAClB,IAAI,EAAE,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;0EAC0E;AAC1E,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IAC7E,OAAO,UAAU,CAA2B,IAAI,CAAC,GAAG,EAAE,kBAAkB,CAAC,EAAE,IAAI,CAAC,CAAC;AACnF,CAAC;AA+CD,MAAM,cAAc,GAAkB,CAAC,QAAQ,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;AAmBlF,SAAS,SAAS;IAChB,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IACxB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAI,IAAY,EAAE,QAAW;IAC9C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAM,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,KAAc;IAC7C,SAAS,EAAE,CAAC;IACZ,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE;QACzD,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,KAAK;KACZ,CAAC,CAAC;AACL,CAAC;AAED,6BAA6B;AAC7B,MAAM,CAAC,MAAM,UAAU,GAAG,GAAiB,EAAE,CAAC,UAAU,CAAe,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;AACzF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAe,EAAQ,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;AAChF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAS,EAAE,GAAG,IAAI,CAAC;IAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC;AAAC,CAAC;AAAC,MAAM,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;AAEtF,0BAA0B;AAC1B,MAAM,CAAC,MAAM,eAAe,GAAG,GAA6B,EAAE,CAC5D,UAAU,CAA2B,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;AAC1D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAoB,EAAQ,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;AACzF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAS,EAAE,GAAG,IAAI,CAAC;IAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;AAAC,CAAC;AAAC,MAAM,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;AAE1F;;0FAE0F;AAC1F,MAAM,UAAU,WAAW,CAAC,KAAwB;IAIlD,OAAO;QACL,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CACjB,eAAe,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;KACpG,CAAC;AACJ,CAAC;AAED,sBAAsB;AACtB,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAiB,EAAE,CAAC,UAAU,CAAe,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;AACjG,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAe,EAAQ,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC;AAExF,mFAAmF;AACnF,MAAM,UAAU,0BAA0B,CAAC,WAAmB;IAC5D,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,4BAA4B;AAE5B,qDAAqD;AACrD,MAAM,UAAU,SAAS,CAAC,CAAqB;IAC7C,IAAI,CAAC,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IAC5B,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;AACrE,CAAC;AAED;6EAC6E;AAC7E,MAAM,UAAU,gBAAgB;IAC9B,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAC/F,OAAO,UAAU,EAAE,CAAC,SAAS,KAAK,IAAI,CAAC;AACzC,CAAC;AAED;0CAC0C;AAC1C,MAAM,UAAU,iBAAiB;IAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAC7C,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACrD,OAAO,UAAU,EAAE,CAAC,UAAU,CAAC;AACjC,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,UAAU,CAAC,CAA8B,EAAE,QAAgB;IACzE,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC9E,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IAClD,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1B,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACrD,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,gBAAgB;IAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IAC5C,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACrD,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC,SAAS,CAAC;IACjC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,kBAAkB;IAChC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAC9C,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,WAAW,CAA4B,CAAC;IACpG,OAAO,GAAG,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC9D,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,qBAAqB;IACnC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;IAClD,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACzD,OAAO,UAAU,CAAC,UAAU,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAC3C,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC1D,OAAO,UAAU,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,mBAAmB;IACjC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;IAChD,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC1D,OAAO,UAAU,CAAC,UAAU,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,cAAc;IAC5B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC1C,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACrD,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC,OAAO,CAAC;IAC/B,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,iBAAiB;IAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAC9C,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACzD,OAAO,UAAU,CAAC,UAAU,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,oBAAoB;IAClC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;IAChD,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACrD,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC,aAAa,CAAC;IACrC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,8BAA8B;AAC9B,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC5C,OAAO,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,UAAU,EAAE,CAAC,MAAM,IAAI,uBAAuB,CAAC;AACnG,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,gBAAgB;IAC9B,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;IAChC,IAAI,KAAK,EAAE,GAAG;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzD,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,UAAU,EAAE,CAAC,MAAM,CAAC;IAC9D,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,aAAa;IAC3B,MAAM,CAAC,GAAG,gBAAgB,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,KAAK,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtG,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAEnE;wEACwE;AACxE,SAAS,aAAa;IACpB,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,YAAY,CAAC;AACzD,CAAC;AAED;;oBAEoB;AACpB,MAAM,UAAU,aAAa;IAC3B,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACrD,CAAC;AAED;;;oFAGoF;AACpF,MAAM,UAAU,SAAS;IACvB,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,aAAa,CAAC,CAAC;AAClE,MAAM,SAAS,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,kBAAkB,CAAC,CAAC;AACtE,MAAM,YAAY,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,eAAe,CAAC,CAAC;AAEtE;8EAC8E;AAC9E,MAAM,UAAU,YAAY;IAC1B,IAAI,CAAC;QACH,OAAO,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aAC3E,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aAClB,IAAI,EAAE,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;0EAC0E;AAC1E,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IAC7E,OAAO,UAAU,CAA2B,IAAI,CAAC,GAAG,EAAE,kBAAkB,CAAC,EAAE,IAAI,CAAC,CAAC;AACnF,CAAC;AAwDD,MAAM,cAAc,GAAkB,CAAC,QAAQ,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;AAmBlF,SAAS,SAAS;IAChB,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IACxB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAI,IAAY,EAAE,QAAW;IAC9C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAM,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,KAAc;IAC7C,SAAS,EAAE,CAAC;IACZ,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE;QACzD,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,KAAK;KACZ,CAAC,CAAC;AACL,CAAC;AAED,6BAA6B;AAC7B,MAAM,CAAC,MAAM,UAAU,GAAG,GAAiB,EAAE,CAAC,UAAU,CAAe,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;AACzF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAe,EAAQ,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;AAChF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAS,EAAE,GAAG,IAAI,CAAC;IAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC;AAAC,CAAC;AAAC,MAAM,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;AAEtF,0BAA0B;AAC1B,MAAM,CAAC,MAAM,eAAe,GAAG,GAA6B,EAAE,CAC5D,UAAU,CAA2B,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;AAC1D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAoB,EAAQ,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;AACzF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAS,EAAE,GAAG,IAAI,CAAC;IAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;AAAC,CAAC;AAAC,MAAM,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;AAE1F;;0FAE0F;AAC1F,MAAM,UAAU,WAAW,CAAC,KAAwB;IAIlD,OAAO;QACL,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CACjB,eAAe,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;KACpG,CAAC;AACJ,CAAC;AAED,sBAAsB;AACtB,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAiB,EAAE,CAAC,UAAU,CAAe,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;AACjG,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAe,EAAQ,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC;AAExF,mFAAmF;AACnF,MAAM,UAAU,0BAA0B,CAAC,WAAmB;IAC5D,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,4BAA4B;AAE5B,qDAAqD;AACrD,MAAM,UAAU,SAAS,CAAC,CAAqB;IAC7C,IAAI,CAAC,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IAC5B,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;AACrE,CAAC;AAED;6EAC6E;AAC7E,MAAM,UAAU,gBAAgB;IAC9B,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAC/F,OAAO,UAAU,EAAE,CAAC,SAAS,KAAK,IAAI,CAAC;AACzC,CAAC;AAED;0CAC0C;AAC1C,MAAM,UAAU,iBAAiB;IAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAC7C,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACrD,OAAO,UAAU,EAAE,CAAC,UAAU,CAAC;AACjC,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,UAAU,CAAC,CAA8B,EAAE,QAAgB;IACzE,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC9E,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IAClD,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1B,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACrD,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,gBAAgB;IAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IAC5C,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACrD,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC,SAAS,CAAC;IACjC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,kBAAkB;IAChC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAC9C,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,WAAW,CAA4B,CAAC;IACpG,OAAO,GAAG,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC9D,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,qBAAqB;IACnC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;IAClD,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACzD,OAAO,UAAU,CAAC,UAAU,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAC3C,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC1D,OAAO,UAAU,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,mBAAmB;IACjC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;IAChD,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC1D,OAAO,UAAU,CAAC,UAAU,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,cAAc;IAC5B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC1C,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACrD,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC,OAAO,CAAC;IAC/B,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,iBAAiB;IAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAC9C,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACzD,OAAO,UAAU,CAAC,UAAU,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,oBAAoB;IAClC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;IAChD,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACrD,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC,aAAa,CAAC;IACrC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAED;;mEAEmE;AACnE,MAAM,UAAU,mBAAmB;IACjC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;IAC/C,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,YAAY,IAAI,EAAE,CAAC;IACrF,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED,8BAA8B;AAC9B,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC5C,OAAO,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,UAAU,EAAE,CAAC,MAAM,IAAI,uBAAuB,CAAC;AACnG,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,gBAAgB;IAC9B,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;IAChC,IAAI,KAAK,EAAE,GAAG;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzD,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,UAAU,EAAE,CAAC,MAAM,CAAC;IAC9D,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,aAAa;IAC3B,MAAM,CAAC,GAAG,gBAAgB,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,KAAK,CAAC;AAClB,CAAC"}