@nodesify/astria 1.0.11 → 1.0.12

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 (66) hide show
  1. package/dist/commands/cluster.d.ts +7 -1
  2. package/dist/commands/cluster.d.ts.map +1 -1
  3. package/dist/commands/cluster.js +9 -2
  4. package/dist/commands/cluster.js.map +1 -1
  5. package/dist/commands/digest.d.ts +7 -0
  6. package/dist/commands/digest.d.ts.map +1 -0
  7. package/dist/commands/digest.js +161 -0
  8. package/dist/commands/digest.js.map +1 -0
  9. package/dist/commands/install.d.ts.map +1 -1
  10. package/dist/commands/install.js +11 -1
  11. package/dist/commands/install.js.map +1 -1
  12. package/dist/commands/map.d.ts.map +1 -1
  13. package/dist/commands/map.js +2 -1
  14. package/dist/commands/map.js.map +1 -1
  15. package/dist/commands/mcp.d.ts +17 -2
  16. package/dist/commands/mcp.d.ts.map +1 -1
  17. package/dist/commands/mcp.js +16 -0
  18. package/dist/commands/mcp.js.map +1 -1
  19. package/dist/commands/merge-driver.d.ts +7 -0
  20. package/dist/commands/merge-driver.d.ts.map +1 -0
  21. package/dist/commands/merge-driver.js +186 -0
  22. package/dist/commands/merge-driver.js.map +1 -0
  23. package/dist/commands/merge-gate.d.ts +14 -0
  24. package/dist/commands/merge-gate.d.ts.map +1 -0
  25. package/dist/commands/merge-gate.js +200 -0
  26. package/dist/commands/merge-gate.js.map +1 -0
  27. package/dist/commands/merge.d.ts +4 -1
  28. package/dist/commands/merge.d.ts.map +1 -1
  29. package/dist/commands/merge.js +4 -3
  30. package/dist/commands/merge.js.map +1 -1
  31. package/dist/commands/prs.d.ts +3 -0
  32. package/dist/commands/prs.d.ts.map +1 -1
  33. package/dist/commands/prs.js +188 -13
  34. package/dist/commands/prs.js.map +1 -1
  35. package/dist/commands/query.d.ts.map +1 -1
  36. package/dist/commands/query.js +2 -1
  37. package/dist/commands/query.js.map +1 -1
  38. package/dist/commands/stats.d.ts.map +1 -1
  39. package/dist/commands/stats.js +1 -0
  40. package/dist/commands/stats.js.map +1 -1
  41. package/dist/commands/watch.d.ts.map +1 -1
  42. package/dist/commands/watch.js +83 -49
  43. package/dist/commands/watch.js.map +1 -1
  44. package/dist/defaults.d.ts +2 -0
  45. package/dist/defaults.d.ts.map +1 -0
  46. package/dist/defaults.js +7 -0
  47. package/dist/defaults.js.map +1 -0
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +84 -14
  50. package/dist/index.js.map +1 -1
  51. package/dist/install/index.d.ts +1 -0
  52. package/dist/install/index.d.ts.map +1 -1
  53. package/dist/install/index.js +64 -0
  54. package/dist/install/index.js.map +1 -1
  55. package/dist/install/settings-inject.d.ts.map +1 -1
  56. package/dist/install/settings-inject.js +3 -3
  57. package/dist/install/settings-inject.js.map +1 -1
  58. package/dist/native.d.ts +42 -40
  59. package/dist/native.d.ts.map +1 -1
  60. package/dist/native.js +56 -85
  61. package/dist/native.js.map +1 -1
  62. package/package.json +10 -8
  63. package/dist/commands/migrate.d.ts +0 -4
  64. package/dist/commands/migrate.d.ts.map +0 -1
  65. package/dist/commands/migrate.js +0 -75
  66. package/dist/commands/migrate.js.map +0 -1
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+ // Merge gate: the OSS-side artifact of the hosted tier's "merge-gate
3
+ // verification". A CI command that refuses to merge on a stale, missing, or
4
+ // unhealthy graph, and quantifies the blast radius of the pending diff:
5
+ //
6
+ // astria merge-gate --max-age-hours 24 --min-health 60 --max-risk 70
7
+ //
8
+ // Exit 0 = pass (green), exit 1 = fail with the failing checks listed —
9
+ // wire it into CI or a GitHub required check. `--json` for the hosted
10
+ // pipeline to consume.
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.mergeGateCommand = mergeGateCommand;
13
+ const child_process_1 = require("child_process");
14
+ const fs_1 = require("fs");
15
+ const path_1 = require("path");
16
+ const native_1 = require("../native");
17
+ const BOLD = '\x1b[1m';
18
+ const GREEN = '\x1b[32m';
19
+ const RED = '\x1b[31m';
20
+ const DIM = '\x1b[2m';
21
+ const RESET = '\x1b[0m';
22
+ // Git work-tree detection that distinguishes the three outcomes: inside a
23
+ // work tree, genuinely outside one (exit 128 + "not a git repository"), or
24
+ // the git invocation FAILED (git missing, broken index, ...). A failure is
25
+ // an error string — never a silent "not a repository" skip, which would
26
+ // let the gate pass without the diff-risk check it promised.
27
+ function gitWorkTreeStatus(projectRoot) {
28
+ try {
29
+ const out = (0, child_process_1.execFileSync)('git', ['rev-parse', '--is-inside-work-tree'], {
30
+ cwd: projectRoot,
31
+ encoding: 'utf8',
32
+ stdio: ['pipe', 'pipe', 'pipe'],
33
+ });
34
+ return { inside: out.trim() === 'true', error: null };
35
+ }
36
+ catch (e) {
37
+ const stderr = String(e?.stderr ?? '');
38
+ if (e?.status === 128 && /not a git repository/i.test(stderr)) {
39
+ return { inside: false, error: null };
40
+ }
41
+ if (e?.code === 'ENOENT') {
42
+ return { inside: false, error: 'git executable not found on PATH' };
43
+ }
44
+ return {
45
+ inside: false,
46
+ error: (stderr || e?.message || String(e)).trim().split('\n').pop() || 'git failed',
47
+ };
48
+ }
49
+ }
50
+ async function mergeGateCommand(opts) {
51
+ try {
52
+ const maxAgeHours = opts.maxAgeHours !== undefined ? Number(opts.maxAgeHours) : 24;
53
+ const minHealth = opts.minHealth !== undefined ? Number(opts.minHealth) : 60;
54
+ const maxRisk = opts.maxRisk !== undefined ? Number(opts.maxRisk) : 70;
55
+ for (const [name, value] of [['--max-age-hours', maxAgeHours], ['--min-health', minHealth], ['--max-risk', maxRisk]]) {
56
+ if (!Number.isFinite(value))
57
+ throw new Error(`invalid ${name}: not a number`);
58
+ }
59
+ const checks = [];
60
+ const dbPath = (0, path_1.join)(opts.graph, '.astria', 'db.sqlite');
61
+ // 1. The graph exists and carries build provenance.
62
+ let build = null;
63
+ try {
64
+ build = (0, native_1.graphBuildInfo)(opts.graph);
65
+ }
66
+ catch {
67
+ // fall through — handled by the exists check
68
+ }
69
+ const exists = build !== null && build !== undefined || (0, fs_1.existsSync)(dbPath);
70
+ checks.push({
71
+ name: 'graph-exists',
72
+ passed: exists,
73
+ detail: exists ? `built by astria ${build?.astriaVersion ?? '?'}, pipeline ${build?.pipelineVersion ?? '?'}` : `no graph at ${dbPath} — run 'astria run' first`,
74
+ });
75
+ // 2. Two distinct freshness signals:
76
+ // - graph AGE (how long since publication, ceiling-configured), and
77
+ // - source COVERAGE (does the graph represent the current HEAD —
78
+ // commit identity plus manifest content comparison).
79
+ // A graph built after a commit can still fail coverage: it may have
80
+ // been built from a dirty tree, an older commit, or drifted since.
81
+ // One probe for both coverage and diff-risk.
82
+ const gitStatus = gitWorkTreeStatus(opts.graph);
83
+ if (exists) {
84
+ const publishedAt = Number(build?.graphPublishedAt);
85
+ const ageHours = Number.isFinite(publishedAt) && publishedAt > 0
86
+ ? (Date.now() / 1000 - publishedAt) / 3600
87
+ : null;
88
+ checks.push({
89
+ name: 'graph-fresh',
90
+ passed: ageHours !== null && ageHours <= maxAgeHours,
91
+ detail: ageHours === null
92
+ ? 'graph has no publish timestamp (pre-provenance build) — rebuild with `astria run`'
93
+ : `graph is ${ageHours.toFixed(1)} h old (age limit ${maxAgeHours} h; source coverage is a separate check below)`,
94
+ });
95
+ // Coverage: the HEAD recorded at publication must equal the current
96
+ // HEAD, and every manifest file must still hash to the content the
97
+ // graph was built from. A publish timestamp alone only proved the
98
+ // build happened LATER — never that it saw the commit.
99
+ if (gitStatus.error !== null) {
100
+ checks.push({
101
+ name: 'graph-covers-head',
102
+ passed: false,
103
+ detail: `git detection failed: ${gitStatus.error} — cannot verify the graph covers HEAD`,
104
+ });
105
+ }
106
+ else if (gitStatus.inside) {
107
+ try {
108
+ const coverage = (0, native_1.verifySourceCommit)(opts.graph);
109
+ const samples = coverage.driftSamples.length > 0
110
+ ? ` (${coverage.driftSamples.join('; ')})`
111
+ : '';
112
+ const verified = coverage.filesChecked > 0
113
+ ? ` — ${coverage.filesChecked} manifest file(s) content-verified`
114
+ : '';
115
+ checks.push({
116
+ name: 'graph-covers-head',
117
+ passed: coverage.coversHead === true,
118
+ detail: `${coverage.reason}${verified}${samples}`,
119
+ });
120
+ }
121
+ catch (e) {
122
+ checks.push({
123
+ name: 'graph-covers-head',
124
+ passed: false,
125
+ detail: `coverage verification failed: ${e?.message || e}`,
126
+ });
127
+ }
128
+ }
129
+ }
130
+ // 3. Health floor.
131
+ if (exists) {
132
+ const health = (0, native_1.healthReport)(opts.graph);
133
+ checks.push({
134
+ name: 'health-floor',
135
+ passed: health.score >= minHealth,
136
+ detail: `health score ${health.score}/100 (floor ${minHealth}), grade ${health.grade}`,
137
+ });
138
+ // 4. Blast radius of the pending diff. Outside a git repository is an
139
+ // explicit, visible skip; a FAILED git detection is a FAILED check
140
+ // — never a silent "not a repository" skip that lets the gate pass
141
+ // without the diff-risk it promised.
142
+ if (gitStatus.error !== null) {
143
+ checks.push({
144
+ name: 'diff-risk',
145
+ passed: false,
146
+ detail: `git detection failed: ${gitStatus.error} — cannot score the diff`,
147
+ });
148
+ }
149
+ else if (!gitStatus.inside) {
150
+ checks.push({
151
+ name: 'diff-risk',
152
+ passed: true,
153
+ detail: 'skipped — not a git repository (risk requires a diff to score)',
154
+ });
155
+ }
156
+ else {
157
+ try {
158
+ const useRange = opts.base !== undefined;
159
+ const risk = (0, native_1.riskReport)(opts.graph, opts.staged === true && !useRange, useRange ? opts.base : undefined, useRange ? (opts.head ?? 'HEAD') : undefined);
160
+ const riskPassed = risk.score <= maxRisk;
161
+ checks.push({
162
+ name: 'diff-risk',
163
+ passed: riskPassed,
164
+ detail: useRange
165
+ ? `diff risk ${risk.score}/100 for ${opts.base}...${opts.head ?? 'HEAD'} (ceiling ${maxRisk}), ${risk.impacted} symbols impacted across ${risk.changedFiles.length} changed file(s)`
166
+ : `diff risk ${risk.score}/100 (ceiling ${maxRisk}), ${risk.impacted} symbols impacted across ${risk.changedFiles.length} changed file(s)`,
167
+ });
168
+ }
169
+ catch (e) {
170
+ checks.push({
171
+ name: 'diff-risk',
172
+ passed: false,
173
+ detail: `risk calculation failed: ${e?.message || e}`,
174
+ });
175
+ }
176
+ }
177
+ }
178
+ const passed = checks.every((c) => c.passed);
179
+ if (opts.json) {
180
+ console.log(JSON.stringify({ passed, checks }, null, 2));
181
+ }
182
+ else {
183
+ console.log(`${BOLD}Merge gate — ${passed ? 'PASSED ✓' : 'FAILED ✗'}${RESET}\n`);
184
+ for (const check of checks) {
185
+ const mark = check.passed ? `${GREEN}✓${RESET}` : `${RED}✗${RESET}`;
186
+ console.log(` ${mark} ${check.name}: ${check.detail}`);
187
+ }
188
+ if (!passed) {
189
+ console.log(`\n${DIM}Fix the failing checks or adjust the thresholds — this gate is what the hosted tier enforces on every merge.${RESET}`);
190
+ }
191
+ }
192
+ if (!passed)
193
+ process.exitCode = 1;
194
+ }
195
+ catch (e) {
196
+ console.error(`Error: ${e.message || e}`);
197
+ process.exitCode = 1;
198
+ }
199
+ }
200
+ //# sourceMappingURL=merge-gate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-gate.js","sourceRoot":"","sources":["../../src/commands/merge-gate.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,5 @@
1
- export declare function mergeCommand(pathA: string, pathB: string, outPath: string): Promise<void>;
1
+ export interface MergeOptions {
2
+ sameRepo?: boolean;
3
+ }
4
+ export declare function mergeCommand(pathA: string, pathB: string, outPath: string, opts?: MergeOptions): Promise<void>;
2
5
  //# sourceMappingURL=merge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../src/commands/merge.ts"],"names":[],"mappings":"AAGA,wBAAsB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,iBAU/E"}
1
+ {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../src/commands/merge.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAsB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,YAAiB,iBAaxG"}
@@ -36,10 +36,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.mergeCommand = mergeCommand;
37
37
  const path = __importStar(require("path"));
38
38
  const native_1 = require("../native");
39
- async function mergeCommand(pathA, pathB, outPath) {
39
+ async function mergeCommand(pathA, pathB, outPath, opts = {}) {
40
40
  try {
41
- console.log(`Merging graphs: ${pathA} + ${pathB} -> ${outPath}`);
42
- const result = (0, native_1.mergeGraphs)(pathA, pathB, outPath);
41
+ console.log(`Merging graphs: ${pathA} + ${pathB} -> ${outPath}` +
42
+ (opts.sameRepo ? ' (same repository: shared ids, conflicts error)' : ' (cross-repository: ids namespaced per root)'));
43
+ const result = (0, native_1.mergeGraphs)(pathA, pathB, outPath, opts.sameRepo === true);
43
44
  console.log(`Nodes: ${result.nodesAdded}, Edges: ${result.edgesAdded}, Communities: ${result.communities}`);
44
45
  console.log(`Merged graph written to: ${path.join(outPath, '.astria')}`);
45
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/commands/merge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,oCAUC;AAbD,2CAA6B;AAC7B,sCAAwC;AAEjC,KAAK,UAAU,YAAY,CAAC,KAAa,EAAE,KAAa,EAAE,OAAe;IAC9E,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,MAAM,KAAK,OAAO,OAAO,EAAE,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,IAAA,oBAAW,EAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,UAAU,YAAY,MAAM,CAAC,UAAU,kBAAkB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAC5G,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/commands/merge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,oCAaC;AApBD,2CAA6B;AAC7B,sCAAwC;AAMjC,KAAK,UAAU,YAAY,CAAC,KAAa,EAAE,KAAa,EAAE,OAAe,EAAE,OAAqB,EAAE;IACvG,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CACT,mBAAmB,KAAK,MAAM,KAAK,OAAO,OAAO,EAAE;YACjD,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,iDAAiD,CAAC,CAAC,CAAC,8CAA8C,CAAC,CACvH,CAAC;QACF,MAAM,MAAM,GAAG,IAAA,oBAAW,EAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,UAAU,YAAY,MAAM,CAAC,UAAU,kBAAkB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAC5G,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
@@ -1,5 +1,8 @@
1
1
  export declare function prsCommand(count: string, opts: {
2
2
  graph: string;
3
3
  conflicts: boolean;
4
+ triage?: boolean;
5
+ queue?: boolean;
6
+ json?: boolean;
4
7
  }): Promise<void>;
5
8
  //# sourceMappingURL=prs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prs.d.ts","sourceRoot":"","sources":["../../src/commands/prs.ts"],"names":[],"mappings":"AAyIA,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,iBA8B1F"}
1
+ {"version":3,"file":"prs.d.ts","sourceRoot":"","sources":["../../src/commands/prs.ts"],"names":[],"mappings":"AA+SA,wBAAsB,UAAU,CAC9B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,iBA2E/F"}
@@ -1,7 +1,12 @@
1
1
  "use strict";
2
- // PR impact dashboard: maps open PRs' changed files onto the knowledge graph
3
- // (communities touched, node blast radius) and flags merge-order risk.
4
- // Ported from upstream graphify v8 prs.py. Requires the `gh` CLI (read-only).
2
+ // PR impact dashboard: maps open PRs' changed files onto the knowledge
3
+ // graph (communities touched, node blast radius), pulls CI + review state,
4
+ // maps branches onto git worktrees, ranks the review queue, and flags
5
+ // merge-order risk. Requires the `gh` CLI (read-only).
6
+ //
7
+ // Richer than the v1 port of upstream graphify's prs.py: one `gh pr list`
8
+ // call carries CI (statusCheckRollup) and review (reviewDecision) state, so
9
+ // the dashboard ranks the queue instead of just listing it.
5
10
  Object.defineProperty(exports, "__esModule", { value: true });
6
11
  exports.prsCommand = prsCommand;
7
12
  const child_process_1 = require("child_process");
@@ -9,9 +14,14 @@ const fs_1 = require("fs");
9
14
  const path_1 = require("path");
10
15
  const DIM = '\x1b[2m';
11
16
  const BOLD = '\x1b[1m';
17
+ const GREEN = '\x1b[32m';
12
18
  const YELLOW = '\x1b[33m';
19
+ const RED = '\x1b[31m';
13
20
  const CYAN = '\x1b[36m';
14
21
  const RESET = '\x1b[0m';
22
+ function gh(args) {
23
+ return (0, child_process_1.execFileSync)('gh', args, { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] });
24
+ }
15
25
  function ghAvailable() {
16
26
  try {
17
27
  (0, child_process_1.execFileSync)('gh', ['--version'], { stdio: 'pipe' });
@@ -21,22 +31,65 @@ function ghAvailable() {
21
31
  return false;
22
32
  }
23
33
  }
34
+ const PR_FIELDS = 'number,title,headRefName,baseRefName,isDraft,author,createdAt,updatedAt,additions,deletions,reviewDecision,statusCheckRollup,mergeable,mergeStateStatus';
24
35
  function listOpenPrs(limit) {
25
- const out = (0, child_process_1.execFileSync)('gh', ['pr', 'list', '--limit', String(limit), '--json', 'number,title,headRefName,baseRefName,isDraft'], { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] });
26
- return JSON.parse(out);
36
+ return JSON.parse(gh(['pr', 'list', '--limit', String(limit), '--json', PR_FIELDS]));
27
37
  }
28
38
  function prFiles(number) {
29
39
  if (!Number.isInteger(number) || number <= 0)
30
40
  return [];
31
41
  try {
32
- const out = (0, child_process_1.execFileSync)('gh', ['pr', 'view', String(number), '--json', 'files'], { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] });
33
- const parsed = JSON.parse(out);
42
+ const parsed = JSON.parse(gh(['pr', 'view', String(number), '--json', 'files']));
34
43
  return (parsed.files || []).map((f) => f.path);
35
44
  }
36
45
  catch {
37
46
  return [];
38
47
  }
39
48
  }
49
+ function listWorktrees() {
50
+ try {
51
+ const out = (0, child_process_1.execFileSync)('git', ['worktree', 'list', '--porcelain'], {
52
+ encoding: 'utf-8',
53
+ stdio: ['pipe', 'pipe', 'pipe'],
54
+ });
55
+ const trees = [];
56
+ let path = '';
57
+ for (const line of out.split('\n')) {
58
+ if (line.startsWith('worktree '))
59
+ path = line.slice('worktree '.length);
60
+ else if (line.startsWith('branch '))
61
+ trees.push({ branch: line.slice('branch '.length).replace('refs/heads/', ''), path });
62
+ else if (line === 'detached' || line === 'bare')
63
+ trees.push({ branch: null, path });
64
+ }
65
+ return trees;
66
+ }
67
+ catch {
68
+ return [];
69
+ }
70
+ }
71
+ function summarizeChecks(pr) {
72
+ const checks = pr.statusCheckRollup ?? [];
73
+ const failing = [];
74
+ let state = 'none';
75
+ for (const check of checks) {
76
+ // The rollup mixes CheckRun and StatusContext shapes; both carry a
77
+ // conclusion/state, one of the two is always set.
78
+ const verdict = check.conclusion ?? check.state ?? check.status ?? '';
79
+ const name = check.name ?? check.workflowName ?? 'check';
80
+ if (/FAILURE|ERROR|FAILED|EXPECTING/.test(verdict)) {
81
+ failing.push(name);
82
+ state = 'failing';
83
+ }
84
+ else if (/PENDING|IN_PROGRESS|QUEUED/.test(verdict) && state !== 'failing') {
85
+ state = 'running';
86
+ }
87
+ else if (verdict === 'SUCCESS' && state === 'none') {
88
+ state = 'passing';
89
+ }
90
+ }
91
+ return { state, failing };
92
+ }
40
93
  function loadGraphNodes(graphRoot) {
41
94
  const graphJson = (0, path_1.join)(graphRoot, '.astria', 'graph.json');
42
95
  if (!(0, fs_1.existsSync)(graphJson)) {
@@ -48,15 +101,24 @@ function loadGraphNodes(graphRoot) {
48
101
  community: n.community ?? null,
49
102
  }));
50
103
  }
51
- function computeImpact(pr, files, nodes) {
104
+ function computeImpact(pr, files, nodes, worktrees) {
52
105
  const normalized = files.map((f) => f.replace(/\\/g, '/'));
53
106
  const impact = {
54
107
  number: pr.number,
55
108
  title: pr.title,
109
+ author: pr.author?.login ?? 'unknown',
56
110
  draft: pr.isDraft,
57
111
  files,
58
112
  nodes: new Set(),
59
113
  communities: new Map(),
114
+ ci: summarizeChecks(pr),
115
+ review: pr.reviewDecision || 'unreviewed',
116
+ mergeable: pr.mergeable || 'UNKNOWN',
117
+ mergeState: pr.mergeStateStatus || 'UNKNOWN',
118
+ worktree: worktrees.find((w) => w.branch === pr.headRefName)?.path ?? null,
119
+ size: (pr.additions ?? 0) + (pr.deletions ?? 0),
120
+ riskScore: 0,
121
+ reasons: [],
60
122
  };
61
123
  for (const node of nodes) {
62
124
  if (!node.source_file)
@@ -71,6 +133,70 @@ function computeImpact(pr, files, nodes) {
71
133
  }
72
134
  return impact;
73
135
  }
136
+ /// Rank the review queue: the score is urgency, not danger — what should a
137
+ /// reviewer look at first? Failing CI and requested changes rise to the top,
138
+ /// then graph impact (communities touched = blast radius), then size.
139
+ function rankQueue(impacts) {
140
+ for (const pr of impacts) {
141
+ let score = 0;
142
+ const reasons = [];
143
+ if (pr.ci.state === 'failing') {
144
+ score += 40;
145
+ reasons.push(`CI failing (${pr.ci.failing.slice(0, 2).join(', ')})`);
146
+ }
147
+ if (pr.review === 'CHANGES_REQUESTED') {
148
+ score += 30;
149
+ reasons.push('changes requested');
150
+ }
151
+ const symbols = [...pr.communities.values()].reduce((a, b) => a + b, 0);
152
+ score += Math.min(symbols, 60) / 2; // up to +30 from graph blast radius
153
+ const communities = pr.communities.size;
154
+ if (communities >= 3) {
155
+ score += 10;
156
+ reasons.push(`spans ${communities} communities`);
157
+ }
158
+ if (pr.mergeable === 'CONFLICTING') {
159
+ score += 25;
160
+ reasons.push('merge conflicts');
161
+ }
162
+ if (pr.draft) {
163
+ score -= 20;
164
+ reasons.unshift('draft');
165
+ }
166
+ if (pr.review === 'APPROVED' && pr.ci.state === 'passing') {
167
+ score += 15;
168
+ reasons.push('ready to merge');
169
+ }
170
+ pr.riskScore = score;
171
+ pr.reasons = reasons;
172
+ }
173
+ return [...impacts].sort((a, b) => b.riskScore - a.riskScore || a.number - b.number);
174
+ }
175
+ function ciBadge(pr) {
176
+ switch (pr.ci.state) {
177
+ case 'passing': return `${GREEN}ci✓${RESET}`;
178
+ case 'failing': return `${RED}ci✗${RESET}`;
179
+ case 'running': return `${YELLOW}ci…${RESET}`;
180
+ default: return `${DIM}ci−${RESET}`;
181
+ }
182
+ }
183
+ function reviewBadge(pr) {
184
+ switch (pr.review) {
185
+ case 'APPROVED': return `${GREEN}approved${RESET}`;
186
+ case 'CHANGES_REQUESTED': return `${RED}changes-requested${RESET}`;
187
+ case 'REVIEW_REQUIRED': return `${YELLOW}review-required${RESET}`;
188
+ default: return `${DIM}unreviewed${RESET}`;
189
+ }
190
+ }
191
+ function mergeBadge(pr) {
192
+ if (pr.mergeable === 'CONFLICTING')
193
+ return `${RED}conflicts${RESET}`;
194
+ if (pr.mergeState === 'BLOCKED' || pr.mergeState === 'UNSTABLE')
195
+ return `${YELLOW}${pr.mergeState.toLowerCase()}${RESET}`;
196
+ if (pr.mergeState === 'CLEAN' || pr.mergeable === 'MERGEABLE')
197
+ return `${GREEN}clean${RESET}`;
198
+ return `${DIM}unknown${RESET}`;
199
+ }
74
200
  function printTable(impacts) {
75
201
  console.log(`${BOLD}Open pull requests mapped onto the knowledge graph${RESET}\n`);
76
202
  const numW = String(Math.max(...impacts.map((i) => i.number), 0)).length;
@@ -79,10 +205,20 @@ function printTable(impacts) {
79
205
  const top = [...pr.communities.entries()].sort((a, b) => b[1] - a[1]).slice(0, 4);
80
206
  const commStr = top.map(([c, n]) => `${CYAN}${c}${RESET}:${n}`).join(' ') || '—';
81
207
  const symbols = [...pr.communities.values()].reduce((a, b) => a + b, 0);
82
- console.log(`${DIM}#${String(pr.number).padStart(numW)}${RESET} ${draft}${pr.title}`);
83
- console.log(` ${DIM}${pr.files.length} file(s) · ${symbols} graph symbols · communities: ${commStr}${RESET}`);
208
+ const worktree = pr.worktree ? ` ${DIM}(worktree: ${pr.worktree})${RESET}` : '';
209
+ console.log(`${DIM}#${String(pr.number).padStart(numW)}${RESET} ${draft}${pr.title} ${DIM}@${pr.author}${RESET}`);
210
+ console.log(` ${ciBadge(pr)} ${reviewBadge(pr)} ${mergeBadge(pr)} · ${DIM}${pr.files.length} file(s), ±${pr.size}${RESET} · ${symbols} graph symbols · communities: ${commStr}${worktree}`);
84
211
  }
85
212
  }
213
+ /// The ranked review queue: one line per PR, most urgent first, with the
214
+ /// reasons the ranker chose it.
215
+ function printQueue(impacts) {
216
+ console.log(`\n${BOLD}Review queue (ranked by urgency)${RESET}\n`);
217
+ impacts.forEach((pr, i) => {
218
+ const reasons = pr.reasons.length ? ` — ${pr.reasons.slice(0, 3).join(', ')}` : '';
219
+ console.log(`${String(i + 1).padStart(2)}. ${DIM}#${pr.number}${RESET} ${pr.title} ${DIM}(${Math.round(pr.riskScore)} pts)${RESET}${reasons}`);
220
+ });
221
+ }
86
222
  function printConflicts(impacts) {
87
223
  console.log(`\n${BOLD}Merge-order risk (shared communities)${RESET}\n`);
88
224
  let found = false;
@@ -120,10 +256,49 @@ async function prsCommand(count, opts) {
120
256
  return;
121
257
  }
122
258
  const nodes = loadGraphNodes(opts.graph);
123
- const impacts = prs.map((pr) => computeImpact(pr, prFiles(pr.number), nodes));
124
- printTable(impacts);
259
+ const worktrees = listWorktrees();
260
+ const impacts = prs.map((pr) => computeImpact(pr, prFiles(pr.number), nodes, worktrees));
261
+ const ranked = rankQueue(impacts);
262
+ if (opts.json) {
263
+ console.log(JSON.stringify(ranked.map((pr) => ({
264
+ number: pr.number,
265
+ title: pr.title,
266
+ author: pr.author,
267
+ draft: pr.draft,
268
+ ci_state: pr.ci.state,
269
+ ci_failing: pr.ci.failing,
270
+ review: pr.review,
271
+ mergeable: pr.mergeable,
272
+ merge_state: pr.mergeState,
273
+ worktree: pr.worktree,
274
+ files: pr.files.length,
275
+ symbols_touched: [...pr.communities.values()].reduce((a, b) => a + b, 0),
276
+ communities: Object.fromEntries(pr.communities),
277
+ queue_score: Math.round(pr.riskScore),
278
+ reasons: pr.reasons,
279
+ })), null, 2));
280
+ return;
281
+ }
282
+ if (opts.triage) {
283
+ console.log(`${BOLD}PR triage${RESET}\n`);
284
+ for (const pr of ranked) {
285
+ console.log(`${ciBadge(pr)} ${DIM}#${pr.number}${RESET} ${pr.title}`);
286
+ console.log(` ${DIM}${reviewBadge(pr)} · ${mergeBadge(pr)} · ${pr.reasons.join(' · ') || 'no signals'}${RESET}`);
287
+ }
288
+ if (opts.conflicts)
289
+ printConflicts(ranked);
290
+ return;
291
+ }
292
+ if (opts.queue) {
293
+ printQueue(ranked);
294
+ if (opts.conflicts)
295
+ printConflicts(ranked);
296
+ return;
297
+ }
298
+ printTable(ranked);
299
+ printQueue(ranked);
125
300
  if (opts.conflicts)
126
- printConflicts(impacts);
301
+ printConflicts(ranked);
127
302
  }
128
303
  catch (e) {
129
304
  console.error(`Error: ${e.message || e}`);
@@ -1 +1 @@
1
- {"version":3,"file":"prs.js","sourceRoot":"","sources":["../../src/commands/prs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prs.js","sourceRoot":"","sources":["../../src/commands/prs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/commands/query.ts"],"names":[],"mappings":"AAEA,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,iBA8CA"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/commands/query.ts"],"names":[],"mappings":"AAGA,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,iBA8CA"}
@@ -2,11 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.queryCommand = queryCommand;
4
4
  const native_1 = require("../native");
5
+ const defaults_1 = require("../defaults");
5
6
  async function queryCommand(question, opts) {
6
7
  try {
7
8
  const mode = opts.dfs ? 'dfs' : 'bfs';
8
9
  const depth = parseInt(opts.depth || '2', 10);
9
- const budget = parseInt(opts.budget || '2000', 10);
10
+ const budget = parseInt(opts.budget || String(defaults_1.DEFAULT_QUERY_BUDGET), 10);
10
11
  const cursor = parseInt(opts.cursor || '0', 10) || 0;
11
12
  // The native layer reads ASTRIA_EMBED at query time; the flag shares the
12
13
  // same switch so CLI and MCP callers get identical behavior.
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/commands/query.ts"],"names":[],"mappings":";;AAEA,oCAwDC;AA1DD,sCAAuC;AAEhC,KAAK,UAAU,YAAY,CAAC,QAAgB,EAAE,IAUpD;IACC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QACrD,yEAAyE;QACzE,6DAA6D;QAC7D,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC;QACnD,MAAM,MAAM,GAAG,IAAA,mBAAU,EACvB,IAAI,CAAC,KAAK,EACV,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,MAAM,EACN,IAAI,CAAC,QAAQ,IAAI,KAAK,EACtB,IAAI,CAAC,MAAM,EACX,MAAM,CACP,CAAC;QACF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ;gBACE,QAAQ;gBACR,IAAI;gBACJ,KAAK;gBACL,MAAM;gBACN,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK;gBAChC,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,mEAAmE;gBACnE,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI;gBACrC,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,IAAI;gBACzC,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;YACF,OAAO;QACT,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/commands/query.ts"],"names":[],"mappings":";;AAGA,oCAwDC;AA3DD,sCAAuC;AACvC,0CAAmD;AAE5C,KAAK,UAAU,YAAY,CAAC,QAAgB,EAAE,IAUpD;IACC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,+BAAoB,CAAC,EAAE,EAAE,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QACrD,yEAAyE;QACzE,6DAA6D;QAC7D,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC;QACnD,MAAM,MAAM,GAAG,IAAA,mBAAU,EACvB,IAAI,CAAC,KAAK,EACV,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,MAAM,EACN,IAAI,CAAC,QAAQ,IAAI,KAAK,EACtB,IAAI,CAAC,MAAM,EACX,MAAM,CACP,CAAC;QACF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ;gBACE,QAAQ;gBACR,IAAI;gBACJ,KAAK;gBACL,MAAM;gBACN,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK;gBAChC,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,mEAAmE;gBACnE,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI;gBACrC,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,IAAI;gBACzC,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;YACF,OAAO;QACT,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/commands/stats.ts"],"names":[],"mappings":"AAEA,wBAAsB,YAAY,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,iBAoBzE"}
1
+ {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/commands/stats.ts"],"names":[],"mappings":"AAEA,wBAAsB,YAAY,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,iBAuBzE"}
@@ -13,6 +13,7 @@ async function statsCommand(opts) {
13
13
  console.log(`Edges: ${stats.edgeCount}`);
14
14
  console.log(`Communities: ${stats.communityCount}`);
15
15
  console.log(`Files tracked: ${stats.fileCount}`);
16
+ console.log(`Embeddings: ${stats.embeddingsSupported ? 'available' : 'not supported in this build'}`);
16
17
  const types = Object.entries((stats.typeCounts ?? {}))
17
18
  .sort((a, b) => b[1] - a[1])
18
19
  .map(([t, n]) => `${t}: ${n}`)
@@ -1 +1 @@
1
- {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/commands/stats.ts"],"names":[],"mappings":";;AAEA,oCAoBC;AAtBD,sCAAuC;AAEhC,KAAK,UAAU,YAAY,CAAC,IAAuC;IACxE,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAA,mBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAA2B,CAAC;aAC7E,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3B,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;aAC7B,IAAI,CAAC,KAAK,CAAC,CAAC;QACf,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,EAAE,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/commands/stats.ts"],"names":[],"mappings":";;AAEA,oCAuBC;AAzBD,sCAAuC;AAEhC,KAAK,UAAU,YAAY,CAAC,IAAuC;IACxE,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAA,mBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CACT,eAAe,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,6BAA6B,EAAE,CACzF,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAA2B,CAAC;aAC7E,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3B,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;aAC7B,IAAI,CAAC,KAAK,CAAC,CAAC;QACf,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,EAAE,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}