@reqlan/analytical 0.9.1 → 0.10.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 (179) hide show
  1. package/README.md +19 -2
  2. package/README.template.md +1 -1
  3. package/out/core/barrel-page.d.ts +2 -1
  4. package/out/core/barrel-page.js +18 -83
  5. package/out/core/barrel-page.js.map +1 -1
  6. package/out/core/base-discovery.d.ts +6 -0
  7. package/out/core/base-discovery.js +47 -2
  8. package/out/core/base-discovery.js.map +1 -1
  9. package/out/core/create-base.js +10 -14
  10. package/out/core/create-base.js.map +1 -1
  11. package/out/core/file-reference-resolve.js +3 -1
  12. package/out/core/file-reference-resolve.js.map +1 -1
  13. package/out/core/index-error.d.ts +3 -3
  14. package/out/core/index-error.js.map +1 -1
  15. package/out/core/index-state-types.d.ts +47 -0
  16. package/out/core/index-state-types.js +11 -0
  17. package/out/core/index-state-types.js.map +1 -0
  18. package/out/core/path-relative.d.ts +15 -0
  19. package/out/core/path-relative.js +84 -0
  20. package/out/core/path-relative.js.map +1 -0
  21. package/out/core/rqignore.js +62 -62
  22. package/out/core/rqignore.js.map +1 -1
  23. package/out/core/types.d.ts +4 -3
  24. package/out/core/types.js +4 -1
  25. package/out/core/types.js.map +1 -1
  26. package/out/core/workspace-paths.d.ts +1 -2
  27. package/out/core/workspace-paths.js +6 -46
  28. package/out/core/workspace-paths.js.map +1 -1
  29. package/out/export/build-export-snapshot.js +1 -1
  30. package/out/export/build-export-snapshot.js.map +1 -1
  31. package/out/export/export-utils.d.ts +5 -0
  32. package/out/export/export-utils.js +38 -0
  33. package/out/export/export-utils.js.map +1 -0
  34. package/out/export/write-csv-export.js +1 -1
  35. package/out/export/write-csv-export.js.map +1 -1
  36. package/out/export/write-markdown-export.js +1 -1
  37. package/out/export/write-markdown-export.js.map +1 -1
  38. package/out/index-store/base-registry.d.ts +2 -3
  39. package/out/index-store/base-registry.js +8 -4
  40. package/out/index-store/base-registry.js.map +1 -1
  41. package/out/index-store/fuzzy-search-hit.d.ts +10 -0
  42. package/out/index-store/fuzzy-search-hit.js +2 -0
  43. package/out/index-store/fuzzy-search-hit.js.map +1 -0
  44. package/out/index-store/index-diagnostics-store.d.ts +4 -0
  45. package/out/index-store/index-diagnostics-store.js +44 -88
  46. package/out/index-store/index-diagnostics-store.js.map +1 -1
  47. package/out/index-store/index-file-error.d.ts +1 -1
  48. package/out/index-store/index-parse-issues.d.ts +4 -3
  49. package/out/index-store/index-parse-issues.js +0 -38
  50. package/out/index-store/index-parse-issues.js.map +1 -1
  51. package/out/index-store/index-status.d.ts +1 -1
  52. package/out/index-store/sqlite-store.d.ts +6 -2
  53. package/out/index-store/sqlite-store.js +70 -613
  54. package/out/index-store/sqlite-store.js.map +1 -1
  55. package/out/index-store/webview-graph-queries.d.ts +5 -0
  56. package/out/index-store/webview-graph-queries.js.map +1 -1
  57. package/out/index-store/workspace-index-file.d.ts +3 -14
  58. package/out/index-store/workspace-index-file.js +1 -114
  59. package/out/index-store/workspace-index-file.js.map +1 -1
  60. package/out/index-store/workspace-index-sync.d.ts +4 -17
  61. package/out/index-store/workspace-index-sync.js +29 -11
  62. package/out/index-store/workspace-index-sync.js.map +1 -1
  63. package/out/index-store/workspace-index.d.ts +36 -9
  64. package/out/index-store/workspace-index.js +223 -120
  65. package/out/index-store/workspace-index.js.map +1 -1
  66. package/out/index.d.ts +16 -43
  67. package/out/index.js +9 -25
  68. package/out/index.js.map +1 -1
  69. package/out/native/generated.d.ts +102 -0
  70. package/out/native/generated.js +4 -0
  71. package/out/native/generated.js.map +1 -0
  72. package/out/native/index.d.ts +17 -0
  73. package/out/native/index.js +12 -0
  74. package/out/native/index.js.map +1 -0
  75. package/out/native/load-native.d.ts +50 -0
  76. package/out/native/load-native.js +186 -0
  77. package/out/native/load-native.js.map +1 -0
  78. package/out/{analysis-api.d.ts → native/native-analysis-api.d.ts} +19 -19
  79. package/out/native/native-analysis-api.js +212 -0
  80. package/out/native/native-analysis-api.js.map +1 -0
  81. package/out/native/native-index-store.d.ts +5 -0
  82. package/out/native/native-index-store.js +6 -0
  83. package/out/native/native-index-store.js.map +1 -0
  84. package/out/native/native-sql-db.d.ts +135 -0
  85. package/out/native/native-sql-db.js +217 -0
  86. package/out/native/native-sql-db.js.map +1 -0
  87. package/out/native/native-workspace-index.d.ts +164 -0
  88. package/out/native/native-workspace-index.js +283 -0
  89. package/out/native/native-workspace-index.js.map +1 -0
  90. package/out/native/open-analysis-api.d.ts +16 -0
  91. package/out/native/open-analysis-api.js +21 -0
  92. package/out/native/open-analysis-api.js.map +1 -0
  93. package/out/native/parse-source.d.ts +24 -0
  94. package/out/native/parse-source.js +26 -0
  95. package/out/native/parse-source.js.map +1 -0
  96. package/package.json +18 -30
  97. package/out/analysis/analyser-registry.d.ts +0 -21
  98. package/out/analysis/analyser-registry.js +0 -33
  99. package/out/analysis/analyser-registry.js.map +0 -1
  100. package/out/analysis/completion-tracking-analyser.d.ts +0 -3
  101. package/out/analysis/completion-tracking-analyser.js +0 -37
  102. package/out/analysis/completion-tracking-analyser.js.map +0 -1
  103. package/out/analysis/contextual-search.d.ts +0 -26
  104. package/out/analysis/contextual-search.js +0 -94
  105. package/out/analysis/contextual-search.js.map +0 -1
  106. package/out/analysis/deprecation-impact-analyser.d.ts +0 -3
  107. package/out/analysis/deprecation-impact-analyser.js +0 -21
  108. package/out/analysis/deprecation-impact-analyser.js.map +0 -1
  109. package/out/analysis/file-related-analyser.d.ts +0 -5
  110. package/out/analysis/file-related-analyser.js +0 -41
  111. package/out/analysis/file-related-analyser.js.map +0 -1
  112. package/out/analysis/fuzzy-search-analyser.d.ts +0 -17
  113. package/out/analysis/fuzzy-search-analyser.js +0 -25
  114. package/out/analysis/fuzzy-search-analyser.js.map +0 -1
  115. package/out/analysis/fuzzy-search-worker-client.d.ts +0 -39
  116. package/out/analysis/fuzzy-search-worker-client.js +0 -178
  117. package/out/analysis/fuzzy-search-worker-client.js.map +0 -1
  118. package/out/analysis/fuzzy-search-worker.d.ts +0 -32
  119. package/out/analysis/fuzzy-search-worker.js +0 -81
  120. package/out/analysis/fuzzy-search-worker.js.map +0 -1
  121. package/out/analysis/fuzzy-search.d.ts +0 -62
  122. package/out/analysis/fuzzy-search.js +0 -471
  123. package/out/analysis/fuzzy-search.js.map +0 -1
  124. package/out/analysis/git-dates-analyser.d.ts +0 -12
  125. package/out/analysis/git-dates-analyser.js +0 -96
  126. package/out/analysis/git-dates-analyser.js.map +0 -1
  127. package/out/analysis/list-ideas-analyser.d.ts +0 -3
  128. package/out/analysis/list-ideas-analyser.js +0 -7
  129. package/out/analysis/list-ideas-analyser.js.map +0 -1
  130. package/out/analysis/local-graph-analyser.d.ts +0 -6
  131. package/out/analysis/local-graph-analyser.js +0 -42
  132. package/out/analysis/local-graph-analyser.js.map +0 -1
  133. package/out/analysis/semantic-search-analyser.d.ts +0 -8
  134. package/out/analysis/semantic-search-analyser.js +0 -51
  135. package/out/analysis/semantic-search-analyser.js.map +0 -1
  136. package/out/analysis-api.js +0 -199
  137. package/out/analysis-api.js.map +0 -1
  138. package/out/core/analytical-store.d.ts +0 -85
  139. package/out/core/analytical-store.js +0 -143
  140. package/out/core/analytical-store.js.map +0 -1
  141. package/out/core/context-model.d.ts +0 -204
  142. package/out/core/context-model.js +0 -36
  143. package/out/core/context-model.js.map +0 -1
  144. package/out/core/context-signals.d.ts +0 -154
  145. package/out/core/context-signals.js +0 -406
  146. package/out/core/context-signals.js.map +0 -1
  147. package/out/create-runtime.d.ts +0 -47
  148. package/out/create-runtime.js +0 -79
  149. package/out/create-runtime.js.map +0 -1
  150. package/out/export/export-html.d.ts +0 -4
  151. package/out/export/export-html.js +0 -12
  152. package/out/export/export-html.js.map +0 -1
  153. package/out/export/html-export-assets.d.ts +0 -3
  154. package/out/export/html-export-assets.js +0 -2294
  155. package/out/export/html-export-assets.js.map +0 -1
  156. package/out/export/html-export-template.d.ts +0 -18
  157. package/out/export/html-export-template.js +0 -1154
  158. package/out/export/html-export-template.js.map +0 -1
  159. package/out/export/html-export-utils.d.ts +0 -86
  160. package/out/export/html-export-utils.js +0 -485
  161. package/out/export/html-export-utils.js.map +0 -1
  162. package/out/export/write-html-export.d.ts +0 -2
  163. package/out/export/write-html-export.js +0 -181
  164. package/out/export/write-html-export.js.map +0 -1
  165. package/out/graph/physics-core-source.d.ts +0 -5
  166. package/out/graph/physics-core-source.js +0 -8
  167. package/out/graph/physics-core-source.js.map +0 -1
  168. package/out/graph/physics-core.d.ts +0 -141
  169. package/out/graph/physics-core.js +0 -237
  170. package/out/graph/physics-core.js.map +0 -1
  171. package/out/index-store/file-treatment.d.ts +0 -40
  172. package/out/index-store/file-treatment.js +0 -144
  173. package/out/index-store/file-treatment.js.map +0 -1
  174. package/out/index-store/idea-extractor.d.ts +0 -11
  175. package/out/index-store/idea-extractor.js +0 -351
  176. package/out/index-store/idea-extractor.js.map +0 -1
  177. package/out/index-store/overview-coverage.d.ts +0 -23
  178. package/out/index-store/overview-coverage.js +0 -254
  179. package/out/index-store/overview-coverage.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"physics-core.js","sourceRoot":"","sources":["../../src/graph/physics-core.js"],"names":[],"mappings":"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"}
@@ -1,40 +0,0 @@
1
- /**
2
- * Client-side reshape of graph slices for hosting-.rq / implicit-ideaset treatment.
3
- * Shared by Ideas Summary cytoscape and HTML export canvas.
4
- */
5
- import type { GraphNodeView, GraphViewSlice } from './webview-graph-queries.js';
6
- export type FileTreatment = 'invisible' | 'compound' | 'linked';
7
- export declare const FILE_TREATMENT_MODES: readonly FileTreatment[];
8
- export declare const DEFAULT_FILE_TREATMENT: FileTreatment;
9
- /** Synthetic leaf id for a hosting .rq file rendered as a linked ideaset node. */
10
- export declare function fileIdeasetNodeId(fileUri: string): string;
11
- export declare function isFileIdeasetNodeId(id: string): boolean;
12
- export declare function isFileIdeasetNode(node: Pick<GraphNodeView, 'id' | 'isFileIdeaset'>): boolean;
13
- /** Display name for an implicit file ideaset (basename without .rq). */
14
- export declare function fileIdeasetDisplayName(fileUri: string): string;
15
- /** Cytoscape compound parent id for a hosting file. */
16
- export declare function fileCompoundNodeId(fileUri: string): string;
17
- /** Hosting file URI encoded in a `compound:rq-file:…` id, if any. */
18
- export declare function fileUriFromFileCompoundId(id: string): string | undefined;
19
- /** Hosting file URI encoded in a `rq-file:…` linked node id, if any. */
20
- export declare function fileUriFromFileIdeasetId(id: string): string | undefined;
21
- export interface FileTreatmentOption {
22
- id: FileTreatment;
23
- label: string;
24
- /** Short toolbar trigger suffix (e.g. "hidden"). */
25
- shortLabel: string;
26
- /** Shown as option tooltip / help text. */
27
- description: string;
28
- }
29
- export declare const FILE_TREATMENT_OPTIONS: readonly FileTreatmentOption[];
30
- export declare function normalizeFileTreatment(value: unknown): FileTreatment;
31
- export declare function cycleFileTreatment(current: FileTreatment): FileTreatment;
32
- export declare function fileTreatmentOption(mode: FileTreatment): FileTreatmentOption;
33
- export declare function fileTreatmentLabel(mode: FileTreatment): string;
34
- /**
35
- * Reshape a graph slice for file / implicit-ideaset treatment.
36
- * - invisible: no synthetic file nodes (ideas float free)
37
- * - compound: same membership as invisible; consumers draw file compound parents
38
- * - linked: add ideaset-styled leaf nodes per hosting file with member edges
39
- */
40
- export declare function applyFileTreatment(slice: GraphViewSlice, treatment?: FileTreatment): GraphViewSlice;
@@ -1,144 +0,0 @@
1
- export const FILE_TREATMENT_MODES = ['invisible', 'compound', 'linked'];
2
- export const DEFAULT_FILE_TREATMENT = 'linked';
3
- /** Synthetic leaf id for a hosting .rq file rendered as a linked ideaset node. */
4
- export function fileIdeasetNodeId(fileUri) {
5
- return `rq-file:${fileUri}`;
6
- }
7
- export function isFileIdeasetNodeId(id) {
8
- return id.startsWith('rq-file:');
9
- }
10
- export function isFileIdeasetNode(node) {
11
- return Boolean(node.isFileIdeaset) || isFileIdeasetNodeId(node.id);
12
- }
13
- /** Display name for an implicit file ideaset (basename without .rq). */
14
- export function fileIdeasetDisplayName(fileUri) {
15
- const trimmed = fileUri.replace(/\\/g, '/');
16
- const slash = trimmed.lastIndexOf('/');
17
- const fileName = slash >= 0 ? trimmed.slice(slash + 1) : trimmed;
18
- return fileName.endsWith('.rq') ? fileName.slice(0, -3) : fileName;
19
- }
20
- /** Cytoscape compound parent id for a hosting file. */
21
- export function fileCompoundNodeId(fileUri) {
22
- return `compound:rq-file:${fileUri}`;
23
- }
24
- /** Hosting file URI encoded in a `compound:rq-file:…` id, if any. */
25
- export function fileUriFromFileCompoundId(id) {
26
- const prefix = 'compound:rq-file:';
27
- return id.startsWith(prefix) ? id.slice(prefix.length) : undefined;
28
- }
29
- /** Hosting file URI encoded in a `rq-file:…` linked node id, if any. */
30
- export function fileUriFromFileIdeasetId(id) {
31
- return isFileIdeasetNodeId(id) ? id.slice('rq-file:'.length) : undefined;
32
- }
33
- export const FILE_TREATMENT_OPTIONS = [
34
- {
35
- id: 'invisible',
36
- label: 'Hidden',
37
- shortLabel: 'hidden',
38
- description: 'Do not show hosting .rq files — ideas float freely with no file containers or file nodes.'
39
- },
40
- {
41
- id: 'compound',
42
- label: 'Compound',
43
- shortLabel: 'compound',
44
- description: 'Draw each hosting .rq file as a container around its ideas. Drag the box to move members; click the title to open the file.'
45
- },
46
- {
47
- id: 'linked',
48
- label: 'Linked nodes',
49
- shortLabel: 'linked',
50
- description: 'Show each hosting .rq file as an ideaset-styled node linked to its ideas. Click the node to open the file.'
51
- }
52
- ];
53
- export function normalizeFileTreatment(value) {
54
- return value === 'compound' || value === 'linked' || value === 'invisible'
55
- ? value
56
- : DEFAULT_FILE_TREATMENT;
57
- }
58
- export function cycleFileTreatment(current) {
59
- const index = FILE_TREATMENT_MODES.indexOf(current);
60
- return FILE_TREATMENT_MODES[(index + 1) % FILE_TREATMENT_MODES.length] ?? DEFAULT_FILE_TREATMENT;
61
- }
62
- export function fileTreatmentOption(mode) {
63
- return FILE_TREATMENT_OPTIONS.find(option => option.id === mode)
64
- ?? FILE_TREATMENT_OPTIONS[0];
65
- }
66
- export function fileTreatmentLabel(mode) {
67
- return `Files: ${fileTreatmentOption(mode).shortLabel}`;
68
- }
69
- function stripSyntheticFileIdeasets(slice) {
70
- const nodes = slice.nodes.filter(node => !isFileIdeasetNode(node));
71
- const keep = new Set(nodes.map(node => node.id));
72
- const edges = slice.edges.filter(edge => keep.has(edge.sourceId) && keep.has(edge.targetId));
73
- if (nodes.length === slice.nodes.length && edges.length === slice.edges.length) {
74
- return slice;
75
- }
76
- return { ...slice, nodes, edges };
77
- }
78
- function memberEligible(node) {
79
- return !node.isExternal && !isFileIdeasetNode(node) && Boolean(node.fileUri);
80
- }
81
- function withLinkedFileIdeasets(slice) {
82
- const base = stripSyntheticFileIdeasets(slice);
83
- const membersByFile = new Map();
84
- for (const node of base.nodes) {
85
- if (!memberEligible(node)) {
86
- continue;
87
- }
88
- const list = membersByFile.get(node.fileUri) ?? [];
89
- list.push(node);
90
- membersByFile.set(node.fileUri, list);
91
- }
92
- const extraNodes = [];
93
- const extraEdges = [];
94
- for (const [fileUri, members] of [...membersByFile.entries()].sort(([a], [b]) => a.localeCompare(b))) {
95
- if (members.length === 0) {
96
- continue;
97
- }
98
- const id = fileIdeasetNodeId(fileUri);
99
- const name = fileIdeasetDisplayName(fileUri);
100
- extraNodes.push({
101
- id,
102
- name,
103
- kind: 'ideaset',
104
- fileUri,
105
- lineStart: 0,
106
- tags: [],
107
- isFileIdeaset: true
108
- });
109
- for (const member of members) {
110
- extraEdges.push({
111
- id: `${id}->ideaset_member:${member.id}`,
112
- sourceId: id,
113
- targetId: member.id,
114
- kind: 'ideaset_member',
115
- label: name
116
- });
117
- }
118
- }
119
- if (extraNodes.length === 0) {
120
- return base;
121
- }
122
- return {
123
- ...base,
124
- nodes: [...base.nodes, ...extraNodes],
125
- edges: [...base.edges, ...extraEdges]
126
- };
127
- }
128
- /**
129
- * Reshape a graph slice for file / implicit-ideaset treatment.
130
- * - invisible: no synthetic file nodes (ideas float free)
131
- * - compound: same membership as invisible; consumers draw file compound parents
132
- * - linked: add ideaset-styled leaf nodes per hosting file with member edges
133
- */
134
- export function applyFileTreatment(slice, treatment = DEFAULT_FILE_TREATMENT) {
135
- switch (normalizeFileTreatment(treatment)) {
136
- case 'linked':
137
- return withLinkedFileIdeasets(slice);
138
- case 'compound':
139
- case 'invisible':
140
- default:
141
- return stripSyntheticFileIdeasets(slice);
142
- }
143
- }
144
- //# sourceMappingURL=file-treatment.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-treatment.js","sourceRoot":"","sources":["../../src/index-store/file-treatment.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- /**
2
- * Extracts ideas, attributes, and graph edges from parsed reqlan documents.
3
- */
4
- import { type LangiumDocument } from 'langium';
5
- import { type WildcardIdeaCandidate } from '@reqlan/language';
6
- import { type IndexedDocument } from '../core/types.js';
7
- export interface ExtractIndexedDocumentOptions {
8
- /** Workspace idea catalog for expanding wildcard references. */
9
- ideaCandidates?: readonly WildcardIdeaCandidate[];
10
- }
11
- export declare function extractIndexedDocument(document: LangiumDocument, options?: ExtractIndexedDocumentOptions): IndexedDocument | undefined;
@@ -1,351 +0,0 @@
1
- /**
2
- * Extracts ideas, attributes, and graph edges from parsed reqlan documents.
3
- */
4
- import { AstUtils } from 'langium';
5
- import { findEmbeddedFileReferencesInText, findNamespaceImportByAlias, importPathOf, isAttribute, isBracketReference, isIdea, isIdeaSet, isLocalReference, isMarkdownLink, isModel, isNamespaceImportOnlyReference, isOneLinerIdea, isQualifiedReference, isBlockValue, isListValue, isScalarValue, isWikiLink, isWildcardReference, matchWildcardAgainstCatalog, namespaceImportBindingName, parseMarkdownLink, parseWildcardPathPattern, summarizeIdeaDeclaration, unquoteReqlanString, wildcardReferenceLabel } from '@reqlan/language';
6
- import { edgeId, ideaId } from '../core/types.js';
7
- import { createHash } from 'node:crypto';
8
- export function extractIndexedDocument(document, options) {
9
- const model = document.parseResult.value;
10
- if (!isModel(model)) {
11
- return undefined;
12
- }
13
- const fileUri = document.uri.toString();
14
- const text = document.textDocument.getText();
15
- const contentHash = hashText(text);
16
- const ideas = [];
17
- const edges = [];
18
- const candidates = options?.ideaCandidates;
19
- for (const element of model.elements) {
20
- if (isIdea(element)) {
21
- ideas.push(toIdeaRecord(element, 'block', fileUri, document));
22
- collectIdeaEdges(element, fileUri, edges, candidates);
23
- }
24
- else if (isOneLinerIdea(element)) {
25
- ideas.push(toIdeaRecord(element, 'oneliner', fileUri, document));
26
- collectIdeaEdges(element, fileUri, edges, candidates);
27
- }
28
- else if (isIdeaSet(element)) {
29
- ideas.push(toIdeasetRecord(element, fileUri, document));
30
- for (const member of element.members) {
31
- const memberRef = member.ref;
32
- if (!memberRef) {
33
- continue;
34
- }
35
- const sourceId = ideaId(fileUri, element.name);
36
- const targetId = ideaId(fileUri, memberRef.name);
37
- edges.push({
38
- id: edgeId(sourceId, 'ideaset_member', targetId),
39
- sourceId,
40
- targetId,
41
- kind: 'ideaset_member'
42
- });
43
- }
44
- }
45
- }
46
- for (const edge of collectReferenceEdges(model, fileUri, candidates)) {
47
- edges.push(edge);
48
- }
49
- for (const edge of collectFileReferenceEdges(text, fileUri, ideas)) {
50
- edges.push(edge);
51
- }
52
- return { fileUri, contentHash, ideas, edges };
53
- }
54
- function toIdeaRecord(idea, kind, fileUri, document) {
55
- const range = idea.$cstNode?.range;
56
- const attributes = collectAttributes(idea);
57
- return {
58
- id: ideaId(fileUri, idea.name),
59
- name: idea.name,
60
- kind,
61
- fileUri,
62
- lineStart: range?.start.line ?? 0,
63
- lineEnd: range?.end.line ?? 0,
64
- summary: summarizeIdeaDeclaration(idea),
65
- attributesJson: JSON.stringify(attributes),
66
- contentHash: ''
67
- };
68
- }
69
- function toIdeasetRecord(ideaset, fileUri, _document) {
70
- const range = ideaset.$cstNode?.range;
71
- return {
72
- id: ideaId(fileUri, ideaset.name),
73
- name: ideaset.name,
74
- kind: 'ideaset',
75
- fileUri,
76
- lineStart: range?.start.line ?? 0,
77
- lineEnd: range?.end.line ?? 0,
78
- summary: `Ideaset (${ideaset.name})`,
79
- attributesJson: '{}',
80
- contentHash: ''
81
- };
82
- }
83
- function collectAttributes(idea) {
84
- const attributes = {};
85
- if (!isIdea(idea)) {
86
- return attributes;
87
- }
88
- for (const element of idea.elements) {
89
- if (!isAttribute(element)) {
90
- continue;
91
- }
92
- attributes[element.name] = attributeValue(element);
93
- if (element.negated) {
94
- attributes[element.name] = false;
95
- }
96
- }
97
- return attributes;
98
- }
99
- function attributeValue(attribute) {
100
- if (!attribute.value) {
101
- return true;
102
- }
103
- if (isScalarValue(attribute.value)) {
104
- return normalizeAttributeText(attribute.value.$cstNode?.text)
105
- || inlinePartsText(attribute.value.parts);
106
- }
107
- if (isListValue(attribute.value)) {
108
- return attribute.value.items
109
- .map(item => normalizeAttributeText(item.$cstNode?.text))
110
- .filter((item) => Boolean(item));
111
- }
112
- if (isBlockValue(attribute.value)) {
113
- const raw = attribute.value.$cstNode?.text ?? '';
114
- const inner = raw.replace(/^\{\s*/, '').replace(/\s*\}$/, '').trim();
115
- return inner.replace(/\r\n/g, '\n');
116
- }
117
- return true;
118
- }
119
- /** Prefer source text; fall back to AST part fields for scalar-like nodes. */
120
- function inlinePartsText(parts) {
121
- return parts
122
- .map(part => {
123
- if (typeof part === 'string') {
124
- return part;
125
- }
126
- if (!part || typeof part !== 'object') {
127
- return '';
128
- }
129
- const node = part;
130
- if (typeof node.text === 'string' && node.text.length > 0) {
131
- return node.text;
132
- }
133
- if (typeof node.inlineCode === 'string' && node.inlineCode.length > 0) {
134
- return node.inlineCode;
135
- }
136
- return node.$cstNode?.text ?? '';
137
- })
138
- .join('')
139
- .replace(/\s+/g, ' ')
140
- .trim();
141
- }
142
- function normalizeAttributeText(text) {
143
- return text?.replace(/\s+/g, ' ').trim() ?? '';
144
- }
145
- function collectIdeaEdges(idea, fileUri, edges, candidates) {
146
- const sourceId = ideaId(fileUri, idea.name);
147
- for (const node of AstUtils.streamAst(idea)) {
148
- if (isWikiLink(node) || isBracketReference(node)) {
149
- for (const edge of referenceToEdges(sourceId, node.target, fileUri, node, candidates)) {
150
- edges.push(edge);
151
- }
152
- }
153
- if (isMarkdownLink(node)) {
154
- const target = parseMarkdownLink(node.raw)?.target;
155
- if (target) {
156
- edges.push({
157
- id: edgeId(sourceId, 'file_reference', target),
158
- sourceId,
159
- targetFile: target,
160
- kind: 'file_reference',
161
- label: target,
162
- ...edgeMetaFromNode(node),
163
- isResolved: true
164
- });
165
- }
166
- }
167
- }
168
- }
169
- function collectReferenceEdges(model, fileUri, candidates) {
170
- const edges = [];
171
- for (const node of AstUtils.streamAst(model)) {
172
- if (!isWikiLink(node) && !isBracketReference(node)) {
173
- continue;
174
- }
175
- const owningIdea = AstUtils.getContainerOfType(node, (candidate) => isIdea(candidate) || isOneLinerIdea(candidate));
176
- if (!owningIdea) {
177
- continue;
178
- }
179
- for (const edge of referenceToEdges(ideaId(fileUri, owningIdea.name), node.target, fileUri, node, candidates)) {
180
- edges.push(edge);
181
- }
182
- }
183
- return edges;
184
- }
185
- function edgeMetaFromNode(node) {
186
- const line = node.$cstNode?.range?.start.line;
187
- const raw = node.$cstNode?.text ?? '';
188
- const snippet = raw.replace(/\s+/g, ' ').trim().slice(0, 120);
189
- return {
190
- sourceLine: line !== undefined ? line + 1 : undefined,
191
- snippet: snippet || undefined
192
- };
193
- }
194
- function unresolvedIdeaName(target) {
195
- if (!('idea' in target) || !target.idea || typeof target.idea !== 'object') {
196
- return undefined;
197
- }
198
- const idea = target.idea;
199
- if (idea.ref) {
200
- return undefined;
201
- }
202
- return idea.$refText ?? idea.name;
203
- }
204
- /**
205
- * Bare `[alias]` refs to namespace imports target the imported file (same as the editor),
206
- * not an idea — emit a file_reference edge using the shared namespace-import classifier.
207
- */
208
- function namespaceAliasFileEdge(sourceId, target, meta) {
209
- if (!isLocalReference(target) && !isQualifiedReference(target)) {
210
- return undefined;
211
- }
212
- if (!isNamespaceImportOnlyReference(target)) {
213
- return undefined;
214
- }
215
- const document = AstUtils.getDocument(target);
216
- const model = document.parseResult.value;
217
- if (!isModel(model)) {
218
- return undefined;
219
- }
220
- const bindingName = isQualifiedReference(target)
221
- ? target.qualifier?.$refText
222
- : namespaceImportBindingName(target);
223
- if (!bindingName) {
224
- return undefined;
225
- }
226
- const importDecl = isQualifiedReference(target)
227
- ? target.qualifier?.ref
228
- : findNamespaceImportByAlias(model.imports, bindingName);
229
- const rawPath = importDecl ? importPathOf(importDecl) : undefined;
230
- if (!rawPath) {
231
- return undefined;
232
- }
233
- const targetFile = unquoteReqlanString(rawPath);
234
- return {
235
- id: edgeId(sourceId, 'file_reference', targetFile),
236
- sourceId,
237
- targetFile,
238
- kind: 'file_reference',
239
- label: bindingName,
240
- ...meta,
241
- isResolved: true
242
- };
243
- }
244
- function referenceToEdges(sourceId, target, fileUri, sourceNode, candidates) {
245
- if (isWildcardReference(target)) {
246
- return wildcardReferenceEdges(sourceId, target, sourceNode, candidates);
247
- }
248
- const edge = referenceToEdge(sourceId, target, fileUri, sourceNode);
249
- return edge ? [edge] : [];
250
- }
251
- function wildcardReferenceEdges(sourceId, target, sourceNode, candidates) {
252
- const meta = sourceNode ? edgeMetaFromNode(sourceNode) : {};
253
- const path = parseWildcardPathPattern(target.pathPattern);
254
- const label = wildcardReferenceLabel(path, target.ideaPattern);
255
- if (!candidates?.length) {
256
- return [{
257
- id: edgeId(sourceId, 'wildcard_reference', `unresolved:${label}`),
258
- sourceId,
259
- kind: 'wildcard_reference',
260
- label,
261
- ...meta,
262
- isResolved: false
263
- }];
264
- }
265
- const document = AstUtils.getDocument(target);
266
- const matches = matchWildcardAgainstCatalog(target.pathPattern, target.ideaPattern, document, candidates);
267
- if (matches.length === 0) {
268
- return [{
269
- id: edgeId(sourceId, 'wildcard_reference', `unresolved:${label}`),
270
- sourceId,
271
- kind: 'wildcard_reference',
272
- label,
273
- ...meta,
274
- isResolved: false
275
- }];
276
- }
277
- return matches.map(match => {
278
- const targetId = ideaId(match.fileUri, match.ideaName);
279
- return {
280
- id: edgeId(sourceId, 'wildcard_reference', targetId),
281
- sourceId,
282
- targetId,
283
- kind: 'wildcard_reference',
284
- label: match.ideaName,
285
- ...meta,
286
- isResolved: true
287
- };
288
- });
289
- }
290
- function referenceToEdge(sourceId, target, fileUri, sourceNode) {
291
- const meta = sourceNode ? edgeMetaFromNode(sourceNode) : {};
292
- const ideaRef = 'idea' in target ? target.idea : undefined;
293
- if (ideaRef && typeof ideaRef === 'object' && 'ref' in ideaRef && ideaRef.ref) {
294
- const targetFileUri = AstUtils.getDocument(ideaRef.ref).uri.toString();
295
- const targetId = ideaId(targetFileUri, ideaRef.ref.name);
296
- return {
297
- id: edgeId(sourceId, 'references', targetId),
298
- sourceId,
299
- targetId,
300
- kind: 'references',
301
- label: ideaRef.ref.name,
302
- ...meta,
303
- isResolved: true
304
- };
305
- }
306
- const namespaceFile = namespaceAliasFileEdge(sourceId, target, meta);
307
- if (namespaceFile) {
308
- return namespaceFile;
309
- }
310
- const unresolved = unresolvedIdeaName(target);
311
- if (unresolved) {
312
- return {
313
- id: edgeId(sourceId, 'references', `unresolved:${unresolved}`),
314
- sourceId,
315
- kind: 'references',
316
- label: unresolved,
317
- ...meta,
318
- isResolved: false
319
- };
320
- }
321
- if ('file' in target && typeof target.file === 'string') {
322
- return {
323
- id: edgeId(sourceId, 'file_reference', target.file),
324
- sourceId,
325
- targetFile: target.file,
326
- kind: 'file_reference',
327
- label: target.file,
328
- ...meta,
329
- isResolved: true
330
- };
331
- }
332
- return undefined;
333
- }
334
- function collectFileReferenceEdges(text, fileUri, ideas) {
335
- const edges = [];
336
- const sourceId = ideas[0]?.id ?? `${fileUri}#__file__`;
337
- for (const ref of findEmbeddedFileReferencesInText(text)) {
338
- edges.push({
339
- id: edgeId(sourceId, 'file_reference', ref.file),
340
- sourceId,
341
- targetFile: ref.file,
342
- kind: 'file_reference',
343
- label: ref.file
344
- });
345
- }
346
- return edges;
347
- }
348
- function hashText(text) {
349
- return createHash('sha256').update(text).digest('hex').slice(0, 16);
350
- }
351
- //# sourceMappingURL=idea-extractor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"idea-extractor.js","sourceRoot":"","sources":["../../src/index-store/idea-extractor.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- import type { SqliteIndexStore } from './sqlite-store.js';
2
- export interface OverviewCoverageScores {
3
- ideaCount: number;
4
- rqFileCount: number;
5
- eligibleNonRqFileCount: number;
6
- referencedEligibleFileCount: number;
7
- /** 0–100; null when there are no eligible non-.rq files. */
8
- fileCoveragePct: number | null;
9
- distinctFileReferenceCount: number;
10
- totalLoc: number;
11
- /** Ideas per 1000 LOC; null when LOC is 0. */
12
- ideasPerKLoc: number | null;
13
- /** True when LOC counting hit size caps (totals are lower bounds). */
14
- locTruncated: boolean;
15
- calculatedAt: number;
16
- }
17
- export interface ComputeOverviewCoverageOptions {
18
- baseRoot: string;
19
- store: SqliteIndexStore;
20
- /** Optional abort check — return true to stop early. */
21
- shouldCancel?: () => boolean;
22
- }
23
- export declare function computeOverviewCoverageScores(options: ComputeOverviewCoverageOptions): Promise<OverviewCoverageScores>;