dsh-gitnexus-plus 0.1.3 → 0.1.4

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 (56) hide show
  1. package/README-CN.md +22 -7
  2. package/README.md +41 -8
  3. package/lib/bin/graph-helper.d.ts +21 -0
  4. package/lib/bin/graph-helper.d.ts.map +1 -0
  5. package/lib/bin/graph-helper.js +71 -0
  6. package/lib/bin/graph-helper.js.map +1 -0
  7. package/lib/client.js +4081 -2370
  8. package/lib/gitnexus/analyze.d.ts +48 -8
  9. package/lib/gitnexus/analyze.d.ts.map +1 -1
  10. package/lib/gitnexus/analyze.js +345 -84
  11. package/lib/gitnexus/analyze.js.map +1 -1
  12. package/lib/gitnexus/commands.d.ts +8 -1
  13. package/lib/gitnexus/commands.d.ts.map +1 -1
  14. package/lib/gitnexus/commands.js +19 -0
  15. package/lib/gitnexus/commands.js.map +1 -1
  16. package/lib/gitnexus/delta.d.ts +144 -0
  17. package/lib/gitnexus/delta.d.ts.map +1 -0
  18. package/lib/gitnexus/delta.js +347 -0
  19. package/lib/gitnexus/delta.js.map +1 -0
  20. package/lib/gitnexus/git-activity.d.ts +13 -21
  21. package/lib/gitnexus/git-activity.d.ts.map +1 -1
  22. package/lib/gitnexus/git-activity.js +60 -26
  23. package/lib/gitnexus/git-activity.js.map +1 -1
  24. package/lib/gitnexus/graph.d.ts +126 -0
  25. package/lib/gitnexus/graph.d.ts.map +1 -0
  26. package/lib/gitnexus/graph.js +472 -0
  27. package/lib/gitnexus/graph.js.map +1 -0
  28. package/lib/gitnexus/root.d.ts +0 -3
  29. package/lib/gitnexus/root.d.ts.map +1 -1
  30. package/lib/gitnexus/root.js +64 -5
  31. package/lib/gitnexus/root.js.map +1 -1
  32. package/lib/gitnexus/search.d.ts +21 -8
  33. package/lib/gitnexus/search.d.ts.map +1 -1
  34. package/lib/gitnexus/search.js +87 -13
  35. package/lib/gitnexus/search.js.map +1 -1
  36. package/lib/index.d.ts +6 -0
  37. package/lib/index.d.ts.map +1 -1
  38. package/lib/index.js +165 -3
  39. package/lib/index.js.map +1 -1
  40. package/lib/routes/analyze.d.ts +3 -2
  41. package/lib/routes/analyze.d.ts.map +1 -1
  42. package/lib/routes/analyze.js +8 -2
  43. package/lib/routes/analyze.js.map +1 -1
  44. package/lib/routes/delta.d.ts +22 -0
  45. package/lib/routes/delta.d.ts.map +1 -0
  46. package/lib/routes/delta.js +50 -0
  47. package/lib/routes/delta.js.map +1 -0
  48. package/lib/routes/file-diff.d.ts +19 -0
  49. package/lib/routes/file-diff.d.ts.map +1 -0
  50. package/lib/routes/file-diff.js +69 -0
  51. package/lib/routes/file-diff.js.map +1 -0
  52. package/lib/routes/graph.d.ts +22 -0
  53. package/lib/routes/graph.d.ts.map +1 -0
  54. package/lib/routes/graph.js +71 -0
  55. package/lib/routes/graph.js.map +1 -0
  56. package/package.json +2 -2
@@ -53,6 +53,34 @@ async function git(repoPath, args, maxBuffer = 32 * 1024 * 1024) {
53
53
  return null;
54
54
  }
55
55
  }
56
+ /** Patch is capped: a minified vendor file can carry megabytes in one commit. */
57
+ const DIFF_LIMIT_BYTES = 120 * 1024;
58
+ /**
59
+ * The change a commit made to one file.
60
+ *
61
+ * `git show <sha> -- <path>` is the only command that answers this without checking
62
+ * out anything, and it is read-only. The path has already been resolved inside the
63
+ * project by the route; the sha is validated here because it reaches git as an argument.
64
+ */
65
+ export async function readCommitDiff(repoPath, filePath, sha) {
66
+ const clean = String(sha ?? '').trim();
67
+ if (!/^[0-9a-fA-F]{7,40}$/.test(clean)) {
68
+ return { path: filePath, sha: clean, available: false, patch: '', truncated: false, reason: '提交号不合法' };
69
+ }
70
+ const out = await git(repoPath, ['show', '--format=', '--no-color', '--unified=3', clean, '--', filePath], DIFF_LIMIT_BYTES * 2);
71
+ if (out === null) {
72
+ return { path: filePath, sha: clean, available: false, patch: '', truncated: false, reason: 'git 无法读取该提交的改动' };
73
+ }
74
+ const truncated = Buffer.byteLength(out, 'utf8') > DIFF_LIMIT_BYTES;
75
+ return {
76
+ path: filePath,
77
+ sha: clean,
78
+ available: true,
79
+ patch: truncated ? out.slice(0, DIFF_LIMIT_BYTES) : out,
80
+ truncated,
81
+ reason: null,
82
+ };
83
+ }
56
84
  /**
57
85
  * Whether an author is a machine account.
58
86
  *
@@ -158,6 +186,15 @@ export async function readGitActivity(repoPath, options = {}) {
158
186
  return 'missing';
159
187
  return 'excluded';
160
188
  };
189
+ // The branch list does not depend on the log, so it starts before the log is parsed
190
+ // and is awaited where it is used. Two windows of git work overlap instead of queue.
191
+ const branchPromise = git(repoPath, [
192
+ 'for-each-ref',
193
+ `--count=${maxBranches}`,
194
+ '--sort=-committerdate',
195
+ `--format=%(refname:short)${US}%(committerdate:iso-strict)${US}%(authorname)${US}%(HEAD)`,
196
+ 'refs/heads',
197
+ ]);
161
198
  const log = await git(repoPath, [
162
199
  'log',
163
200
  `--since=${since}`,
@@ -277,11 +314,13 @@ export async function readGitActivity(repoPath, options = {}) {
277
314
  */
278
315
  const readBaseline = async (ref, source) => {
279
316
  const short = ref.slice(0, 8);
280
- const show = await git(repoPath, [
281
- 'show',
282
- '-s',
283
- `--format=%H${US}%aI${US}%an${US}%s`,
284
- ref,
317
+ // Three independent reads of the same ref pair: the subject, the numstat, and the
318
+ // commit count. Running them together keeps the baseline to one git round-trip
319
+ // instead of three, which is most of what this panel load used to spend.
320
+ const [show, diff, countRaw] = await Promise.all([
321
+ git(repoPath, ['show', '-s', `--format=%H${US}%aI${US}%an${US}%s`, ref]),
322
+ git(repoPath, ['diff', '--numstat', '--no-renames', `${ref}..HEAD`]),
323
+ git(repoPath, ['rev-list', '--count', `${ref}..HEAD`]),
285
324
  ]);
286
325
  if (show === null) {
287
326
  return {
@@ -309,7 +348,6 @@ export async function readGitActivity(repoPath, options = {}) {
309
348
  subject: subject ?? null,
310
349
  author: author ?? null,
311
350
  };
312
- const diff = await git(repoPath, ['diff', '--numstat', '--no-renames', `${ref}..HEAD`]);
313
351
  if (diff === null) {
314
352
  return {
315
353
  ...base,
@@ -343,7 +381,6 @@ export async function readGitActivity(repoPath, options = {}) {
343
381
  deletions += del;
344
382
  changed.set(filePath, { insertions: ins, deletions: del });
345
383
  }
346
- const countRaw = await git(repoPath, ['rev-list', '--count', `${ref}..HEAD`]);
347
384
  const commitCount = countRaw === null ? 0 : Number.parseInt(countRaw.trim(), 10);
348
385
  const changedFiles = [...changed.entries()]
349
386
  .sort((a, b) => b[1].insertions + b[1].deletions - (a[1].insertions + a[1].deletions))
@@ -371,6 +408,20 @@ export async function readGitActivity(repoPath, options = {}) {
371
408
  reason: null,
372
409
  };
373
410
  };
411
+ const baselineRef = typeof options.baselineRef === 'string' ? options.baselineRef.trim() : '';
412
+ // The manifest can legitimately have no recorded commit. Falling back to the
413
+ // oldest commit in the activity window still answers "what changed recently?",
414
+ // but the source is carried so the UI never calls it an index baseline.
415
+ // `oldestCommit` is the oldest *date*; the fallback needs the oldest SHA, which
416
+ // is the last commit after `git log` has produced newest-first entries.
417
+ const windowBaseline = commits.length > 0 ? commits[commits.length - 1].sha : '';
418
+ // Started here and awaited at the end: the baseline is two or three more git calls,
419
+ // and it does not depend on the branch list that is awaited in between.
420
+ const baselinePromise = baselineRef !== ''
421
+ ? readBaseline(baselineRef, 'index')
422
+ : windowBaseline !== ''
423
+ ? readBaseline(windowBaseline, 'window')
424
+ : null;
374
425
  const byChanges = [...files.values()]
375
426
  .sort((a, b) => b.changes - a.changes || (a.path < b.path ? -1 : 1))
376
427
  .slice(0, maxFiles)
@@ -387,13 +438,7 @@ export async function readGitActivity(repoPath, options = {}) {
387
438
  files: fileSet.size,
388
439
  bot: looksLikeBot(rest.name, rest.email),
389
440
  })));
390
- const branchRaw = await git(repoPath, [
391
- 'for-each-ref',
392
- `--count=${maxBranches}`,
393
- '--sort=-committerdate',
394
- `--format=%(refname:short)${US}%(committerdate:iso-strict)${US}%(authorname)${US}%(HEAD)`,
395
- 'refs/heads',
396
- ]);
441
+ const branchRaw = await branchPromise;
397
442
  const branches = [];
398
443
  if (branchRaw !== null) {
399
444
  for (const line of branchRaw.split('\n')) {
@@ -472,18 +517,7 @@ export async function readGitActivity(repoPath, options = {}) {
472
517
  verdict: anyMissing ? 'missing' : anyIndexed ? 'indexed' : 'excluded',
473
518
  };
474
519
  });
475
- const baselineRef = typeof options.baselineRef === 'string' ? options.baselineRef.trim() : '';
476
- // The manifest can legitimately have no recorded commit. Falling back to the
477
- // oldest commit in the activity window still answers "what changed recently?",
478
- // but the source is carried so the UI never calls it an index baseline.
479
- // `oldestCommit` is the oldest *date*; the fallback needs the oldest SHA, which
480
- // is the last commit after `git log` has produced newest-first entries.
481
- const windowBaseline = commits.length > 0 ? commits[commits.length - 1].sha : '';
482
- const baseline = baselineRef !== ''
483
- ? await readBaseline(baselineRef, 'index')
484
- : windowBaseline !== ''
485
- ? await readBaseline(windowBaseline, 'window')
486
- : null;
520
+ const baseline = baselinePromise === null ? null : await baselinePromise;
487
521
  return {
488
522
  window: {
489
523
  sinceDays,
@@ -1 +1 @@
1
- {"version":3,"file":"git-activity.js","sourceRoot":"","sources":["../../src/gitnexus/git-activity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-activity.js","sourceRoot":"","sources":["../../src/gitnexus/git-activity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,126 @@
1
+ /**
2
+ * Bounded graph projection for the panel's graph view.
3
+ *
4
+ * WHY A PROJECTION AND NOT CYPHER OVER HTTP
5
+ * -----------------------------------------
6
+ * The graph itself is the product here: it answers "what is in this index" better than
7
+ * any table. But a view that accepts Cypher from a browser turns a read-only panel into
8
+ * an arbitrary query endpoint over the user's code graph — and the roadmap's rule is a
9
+ * whitelist of projections, never raw forwarding. So this module exposes exactly two
10
+ * shapes:
11
+ *
12
+ * `communities` every community as a node, with aggregated cross-community edges
13
+ * `community` one community's member symbols and the relations among them
14
+ *
15
+ * Both are bounded by a node budget and an edge budget, and both report what they left
16
+ * out. A 93k-node repository must not be able to freeze the panel, and a view that
17
+ * silently drops half the graph is worse than one that says it did.
18
+ *
19
+ * WHERE THIS RUNS
20
+ * ---------------
21
+ * `projectGraph` talks to LadybugDB, so it can only run on the system Node — the host
22
+ * is Electron's Node and cannot load the native addon (see `search.ts`). The host calls
23
+ * `projectViaHelper`, which starts `lib/bin/graph-helper.js` and parses one JSON object,
24
+ * exactly like the search path. Keeping the query code in the helper process also means
25
+ * a query that crashes the native engine takes down a short-lived child, not the panel.
26
+ */
27
+ import type { ShellLike } from './analyze.js';
28
+ /** The projections a caller may ask for. Anything else is refused, not guessed. */
29
+ export type GraphView = 'communities' | 'community';
30
+ export declare const GRAPH_VIEWS: readonly GraphView[];
31
+ /** A node as the view needs it — enough to draw it, label it, and open its file. */
32
+ export interface GraphNode {
33
+ id: string;
34
+ /** GitNexus's own label (Community, Function, Class, …), not a translated kind. */
35
+ kind: string;
36
+ name: string;
37
+ /** Repo-relative path, for the click-to-open behaviour. Null on community nodes. */
38
+ filePath: string | null;
39
+ startLine: number | null;
40
+ /** Community nodes only: how many symbols it holds. */
41
+ symbolCount?: number;
42
+ }
43
+ export interface GraphEdge {
44
+ source: string;
45
+ target: string;
46
+ /** GitNexus's relation type (CALLS, USES, ACCESSES, …). */
47
+ type: string;
48
+ /** Number of underlying relations this edge aggregates. */
49
+ weight: number;
50
+ }
51
+ export interface GraphProjection {
52
+ view: GraphView;
53
+ /** The community a drill-down is scoped to; null for the overview. */
54
+ scope: string | null;
55
+ nodes: GraphNode[];
56
+ edges: GraphEdge[];
57
+ /** How many nodes exist before the budget, when the count is known. */
58
+ total: number;
59
+ truncated: boolean;
60
+ budget: {
61
+ nodes: number;
62
+ edges: number;
63
+ };
64
+ notes: string[];
65
+ readAt: string;
66
+ }
67
+ export interface GraphOptions {
68
+ view?: GraphView;
69
+ /** Required for `community`; refused when it could not be a literal safely. */
70
+ id?: string;
71
+ /** The plugin-owned GitNexus prefix, when one was installed from the panel. */
72
+ managedPrefix?: string;
73
+ env?: NodeJS.ProcessEnv;
74
+ nodeBudget?: number;
75
+ edgeBudget?: number;
76
+ }
77
+ /**
78
+ * A projection failure, in the shape the route and the helper both need.
79
+ *
80
+ * Separate from `SearchError` because the codes are different states: a viewer asking
81
+ * for a community that does not exist is a 400 about the request, not a search failure.
82
+ */
83
+ export type GraphErrorCode = 'invalid-view' | 'invalid-id' | 'not-a-project' | 'no-index' | 'no-index-store' | 'graph-unavailable' | 'index-busy' | 'graph-failed';
84
+ export declare class GraphError extends Error {
85
+ code: GraphErrorCode;
86
+ status: number;
87
+ constructor(code: GraphErrorCode, status: number, message: string);
88
+ }
89
+ /**
90
+ * Reduce a caller-supplied id to something safe inside a single-quoted Cypher literal.
91
+ *
92
+ * The id is interpolated rather than bound because LadybugDB's prepare path does not
93
+ * accept a parameter in every position this query needs (the same limitation `search.ts`
94
+ * documents for `CONTAINS`). Safety comes from **refusing** anything outside a known
95
+ * alphabet — quotes and backslashes cannot appear — rather than from escaping.
96
+ *
97
+ * @returns the id, or null when it is not acceptable
98
+ */
99
+ export declare function sanitizeGraphId(raw: unknown): string | null;
100
+ /** Whether a value names a projection this module implements. */
101
+ export declare function isGraphView(value: unknown): value is GraphView;
102
+ /**
103
+ * Read one projection.
104
+ *
105
+ * @param repoPath absolute repository root
106
+ */
107
+ export declare function projectGraph(repoPath: string, options?: GraphOptions): Promise<GraphProjection>;
108
+ /** Options for the subprocess projection. */
109
+ export interface HelperGraphOptions {
110
+ /** The host's shell executor; `null` when the deployment has none. */
111
+ shell: ShellLike | null;
112
+ /** Absolute path to `lib/bin/graph-helper.js`. */
113
+ helperPath: string;
114
+ managedPrefix?: string;
115
+ nodeBudget?: number;
116
+ edgeBudget?: number;
117
+ }
118
+ /**
119
+ * Read a projection in a child Node process.
120
+ *
121
+ * Same execution boundary as `searchViaHelper`, for the same measured reason: the host
122
+ * cannot load `lbugjs.node`. A failure to start the child is reported as
123
+ * `graph-unavailable`, and this plugin never widens the sandbox to make it work.
124
+ */
125
+ export declare function projectViaHelper(repoPath: string, view: GraphView, id: string | null, options: HelperGraphOptions): Promise<GraphProjection>;
126
+ //# sourceMappingURL=graph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/gitnexus/graph.ts"],"names":[],"mappings":"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"}