@reqlan/analytical 0.7.0 → 0.8.2
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.
- package/README.md +27 -0
- package/out/analysis/fuzzy-search-analyser.d.ts +17 -0
- package/out/analysis/fuzzy-search-analyser.js +25 -0
- package/out/analysis/fuzzy-search-analyser.js.map +1 -0
- package/out/analysis/fuzzy-search-worker-client.d.ts +39 -0
- package/out/analysis/fuzzy-search-worker-client.js +178 -0
- package/out/analysis/fuzzy-search-worker-client.js.map +1 -0
- package/out/analysis/fuzzy-search-worker.d.ts +32 -0
- package/out/analysis/fuzzy-search-worker.js +81 -0
- package/out/analysis/fuzzy-search-worker.js.map +1 -0
- package/out/analysis/fuzzy-search.d.ts +38 -0
- package/out/analysis/fuzzy-search.js +217 -0
- package/out/analysis/fuzzy-search.js.map +1 -0
- package/out/analysis/git-dates-analyser.js +12 -3
- package/out/analysis/git-dates-analyser.js.map +1 -1
- package/out/analysis-api.d.ts +14 -0
- package/out/analysis-api.js +32 -0
- package/out/analysis-api.js.map +1 -1
- package/out/core/barrel-page.d.ts +46 -0
- package/out/core/barrel-page.js +162 -0
- package/out/core/barrel-page.js.map +1 -0
- package/out/core/filter-specials.d.ts +2 -0
- package/out/core/filter-specials.js +15 -0
- package/out/core/filter-specials.js.map +1 -1
- package/out/core/types.d.ts +17 -1
- package/out/core/types.js +1 -0
- package/out/core/types.js.map +1 -1
- package/out/create-runtime.js +2 -0
- package/out/create-runtime.js.map +1 -1
- package/out/export/export-csv.d.ts +4 -0
- package/out/export/export-csv.js +13 -0
- package/out/export/export-csv.js.map +1 -0
- package/out/export/export-json.d.ts +6 -0
- package/out/export/export-json.js +28 -0
- package/out/export/export-json.js.map +1 -0
- package/out/export/export-markdown.d.ts +4 -0
- package/out/export/export-markdown.js +23 -0
- package/out/export/export-markdown.js.map +1 -0
- package/out/export/html-export-assets.d.ts +1 -1
- package/out/export/html-export-assets.js +126 -5
- package/out/export/html-export-assets.js.map +1 -1
- package/out/export/html-export-template.js +89 -47
- package/out/export/html-export-template.js.map +1 -1
- package/out/export/html-export-utils.d.ts +33 -3
- package/out/export/html-export-utils.js +108 -10
- package/out/export/html-export-utils.js.map +1 -1
- package/out/export/types.d.ts +1 -1
- package/out/export/write-csv-export.d.ts +5 -0
- package/out/export/write-csv-export.js +132 -0
- package/out/export/write-csv-export.js.map +1 -0
- package/out/export/write-json-export.d.ts +3 -0
- package/out/export/write-json-export.js +92 -0
- package/out/export/write-json-export.js.map +1 -0
- package/out/export/write-markdown-export.d.ts +5 -0
- package/out/export/write-markdown-export.js +177 -0
- package/out/export/write-markdown-export.js.map +1 -0
- package/out/index-store/idea-extractor.d.ts +6 -1
- package/out/index-store/idea-extractor.js +56 -11
- package/out/index-store/idea-extractor.js.map +1 -1
- package/out/index-store/sqlite-store.d.ts +16 -3
- package/out/index-store/sqlite-store.js +104 -8
- package/out/index-store/sqlite-store.js.map +1 -1
- package/out/index-store/webview-graph-queries.d.ts +5 -0
- package/out/index-store/webview-graph-queries.js +21 -4
- package/out/index-store/webview-graph-queries.js.map +1 -1
- package/out/index-store/webview-table-queries.js +1 -0
- package/out/index-store/webview-table-queries.js.map +1 -1
- package/out/index-store/workspace-index-file.js +22 -1
- package/out/index-store/workspace-index-file.js.map +1 -1
- package/out/index.d.ts +14 -1
- package/out/index.js +9 -1
- package/out/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { mkdir, writeFile } from 'node:fs/promises';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { formatAttributeValue } from './html-export-utils.js';
|
|
4
|
+
/** Build markdown paths from HTML-oriented snapshot page paths. */
|
|
5
|
+
export function toMarkdownPath(htmlPath) {
|
|
6
|
+
return htmlPath.replace(/\.html$/i, '.md');
|
|
7
|
+
}
|
|
8
|
+
/** Write a multi-file markdown export from an export snapshot. */
|
|
9
|
+
export async function writeMarkdownExport(snapshot, request, onProgress) {
|
|
10
|
+
const outputDir = join(request.outputDir, request.exportName);
|
|
11
|
+
await mkdir(outputDir, { recursive: true });
|
|
12
|
+
const indexFilePath = join(outputDir, 'README.md');
|
|
13
|
+
const ideasDir = join(outputDir, 'ideas');
|
|
14
|
+
if (snapshot.pageOptions.includeIdeaPages) {
|
|
15
|
+
await mkdir(ideasDir, { recursive: true });
|
|
16
|
+
}
|
|
17
|
+
const writes = [
|
|
18
|
+
() => writeFile(indexFilePath, renderReadme(snapshot), 'utf8'),
|
|
19
|
+
];
|
|
20
|
+
if (snapshot.pageOptions.includeIdeaPages) {
|
|
21
|
+
for (const idea of snapshot.ideas) {
|
|
22
|
+
const path = join(outputDir, ideaMarkdownRelPath(idea));
|
|
23
|
+
writes.push(() => writeFile(path, renderIdeaMarkdown(snapshot, idea), 'utf8'));
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
const total = writes.length;
|
|
27
|
+
let completed = 0;
|
|
28
|
+
onProgress?.({
|
|
29
|
+
phase: 'write',
|
|
30
|
+
message: `Writing markdown (${total} files)…`,
|
|
31
|
+
completed: 0,
|
|
32
|
+
total,
|
|
33
|
+
});
|
|
34
|
+
for (const write of writes) {
|
|
35
|
+
await write();
|
|
36
|
+
completed += 1;
|
|
37
|
+
onProgress?.({
|
|
38
|
+
phase: 'write',
|
|
39
|
+
message: `Writing markdown (${completed}/${total})…`,
|
|
40
|
+
completed,
|
|
41
|
+
total,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
outputDir,
|
|
46
|
+
indexFilePath,
|
|
47
|
+
printFilePath: indexFilePath,
|
|
48
|
+
dataFilePath: indexFilePath,
|
|
49
|
+
ideasIndexFilePath: indexFilePath,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
function ideaMarkdownRelPath(idea) {
|
|
53
|
+
return toMarkdownPath(idea.page.path);
|
|
54
|
+
}
|
|
55
|
+
function renderReadme(snapshot) {
|
|
56
|
+
const lines = [
|
|
57
|
+
`# ${snapshot.title}`,
|
|
58
|
+
'',
|
|
59
|
+
`Generated ${snapshot.generatedAt}`,
|
|
60
|
+
'',
|
|
61
|
+
`Ideas: **${snapshot.counts.ideas}** · Files: **${snapshot.counts.files}** · Clusters: **${snapshot.counts.clusters}**`,
|
|
62
|
+
'',
|
|
63
|
+
];
|
|
64
|
+
if (Object.keys(snapshot.byStatus).length > 0) {
|
|
65
|
+
lines.push('## Status', '');
|
|
66
|
+
for (const [status, count] of Object.entries(snapshot.byStatus).sort((a, b) => a[0].localeCompare(b[0]))) {
|
|
67
|
+
lines.push(`- ${escapeMd(status)}: ${count}`);
|
|
68
|
+
}
|
|
69
|
+
lines.push('');
|
|
70
|
+
}
|
|
71
|
+
if (Object.keys(snapshot.byTag).length > 0) {
|
|
72
|
+
lines.push('## Tags', '');
|
|
73
|
+
for (const [tag, count] of Object.entries(snapshot.byTag).sort((a, b) => a[0].localeCompare(b[0]))) {
|
|
74
|
+
lines.push(`- ${escapeMd(tag)}: ${count}`);
|
|
75
|
+
}
|
|
76
|
+
lines.push('');
|
|
77
|
+
}
|
|
78
|
+
lines.push('## Ideas', '');
|
|
79
|
+
if (snapshot.ideas.length === 0) {
|
|
80
|
+
lines.push('_No ideas in this export scope._', '');
|
|
81
|
+
}
|
|
82
|
+
else if (snapshot.pageOptions.includeIdeaPages) {
|
|
83
|
+
for (const idea of snapshot.ideas) {
|
|
84
|
+
const href = ideaMarkdownRelPath(idea);
|
|
85
|
+
const status = idea.status ? ` · ${escapeMd(idea.status)}` : '';
|
|
86
|
+
lines.push(`- [${escapeMdLinkText(idea.name)}](${href})${status}`);
|
|
87
|
+
if (idea.summary?.trim()) {
|
|
88
|
+
lines.push(` - ${escapeMd(oneLine(idea.summary))}`);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
lines.push('');
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
for (const idea of snapshot.ideas) {
|
|
95
|
+
lines.push(renderIdeaMarkdown(snapshot, idea, { headingLevel: 3, omitBackLink: true }));
|
|
96
|
+
lines.push('');
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
if (snapshot.files.length > 0) {
|
|
100
|
+
lines.push('## Files', '');
|
|
101
|
+
for (const file of snapshot.files) {
|
|
102
|
+
lines.push(`- \`${escapeMd(file.fileUri)}\` (${file.ideas.length} ideas)`);
|
|
103
|
+
}
|
|
104
|
+
lines.push('');
|
|
105
|
+
}
|
|
106
|
+
return `${lines.join('\n').trimEnd()}\n`;
|
|
107
|
+
}
|
|
108
|
+
function renderIdeaMarkdown(snapshot, idea, options) {
|
|
109
|
+
const level = options?.headingLevel ?? 1;
|
|
110
|
+
const heading = `${'#'.repeat(level)} ${escapeMd(idea.name)}`;
|
|
111
|
+
const lines = [heading, ''];
|
|
112
|
+
if (!options?.omitBackLink) {
|
|
113
|
+
lines.push('[← Back to index](../README.md)', '');
|
|
114
|
+
}
|
|
115
|
+
if (idea.summary?.trim()) {
|
|
116
|
+
lines.push(idea.summary.trim(), '');
|
|
117
|
+
}
|
|
118
|
+
lines.push(`- **File:** \`${escapeMd(idea.fileUri)}\``);
|
|
119
|
+
if (idea.status) {
|
|
120
|
+
lines.push(`- **Status:** ${escapeMd(idea.status)}`);
|
|
121
|
+
}
|
|
122
|
+
if (idea.tags.length > 0) {
|
|
123
|
+
lines.push(`- **Tags:** ${idea.tags.map(tag => `\`${escapeMd(tag)}\``).join(', ')}`);
|
|
124
|
+
}
|
|
125
|
+
lines.push('');
|
|
126
|
+
const attrEntries = Object.entries(idea.attributes).filter(([key]) => key !== 'status' && key !== 'tags');
|
|
127
|
+
if (attrEntries.length > 0) {
|
|
128
|
+
lines.push('## Attributes', '');
|
|
129
|
+
for (const [key, value] of attrEntries.sort((a, b) => a[0].localeCompare(b[0]))) {
|
|
130
|
+
lines.push(`- **${escapeMd(key)}:** ${escapeMd(formatAttributeValue(value))}`);
|
|
131
|
+
}
|
|
132
|
+
lines.push('');
|
|
133
|
+
}
|
|
134
|
+
appendRefSection(lines, snapshot, 'Outbound', idea.references.outbound);
|
|
135
|
+
appendRefSection(lines, snapshot, 'Inbound', idea.references.inbound);
|
|
136
|
+
if (idea.references.unresolved.length > 0) {
|
|
137
|
+
lines.push('## Unresolved references', '');
|
|
138
|
+
for (const row of idea.references.unresolved) {
|
|
139
|
+
lines.push(`- ${escapeMd(row.label || row.targetName || row.targetPath || 'unresolved')}`);
|
|
140
|
+
}
|
|
141
|
+
lines.push('');
|
|
142
|
+
}
|
|
143
|
+
return `${lines.join('\n').trimEnd()}\n`;
|
|
144
|
+
}
|
|
145
|
+
function appendRefSection(lines, snapshot, title, rows) {
|
|
146
|
+
if (rows.length === 0) {
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
lines.push(`## ${title}`, '');
|
|
150
|
+
for (const row of rows) {
|
|
151
|
+
const target = row.targetIdeaId ? snapshot.ideasById[row.targetIdeaId] : undefined;
|
|
152
|
+
if (target && snapshot.pageOptions.includeIdeaPages) {
|
|
153
|
+
const fileName = ideaMarkdownRelPath(target).replace(/^ideas\//, '');
|
|
154
|
+
lines.push(`- [${escapeMdLinkText(target.name)}](./${fileName})`);
|
|
155
|
+
}
|
|
156
|
+
else if (target) {
|
|
157
|
+
lines.push(`- ${escapeMd(target.name)}`);
|
|
158
|
+
}
|
|
159
|
+
else if (row.targetPath) {
|
|
160
|
+
lines.push(`- \`${escapeMd(row.targetPath)}\``);
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
lines.push(`- ${escapeMd(row.targetName || row.label || 'reference')}`);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
lines.push('');
|
|
167
|
+
}
|
|
168
|
+
function oneLine(value) {
|
|
169
|
+
return value.replace(/\s+/g, ' ').trim();
|
|
170
|
+
}
|
|
171
|
+
function escapeMd(value) {
|
|
172
|
+
return value.replace(/([\\`*_{}[\]()#+\-.!|>])/g, '\\$1');
|
|
173
|
+
}
|
|
174
|
+
function escapeMdLinkText(value) {
|
|
175
|
+
return value.replace(/([\\\[\]])/g, '\\$1');
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=write-markdown-export.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-markdown-export.js","sourceRoot":"","sources":["../../src/export/write-markdown-export.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,5 +2,10 @@
|
|
|
2
2
|
* Extracts ideas, attributes, and graph edges from parsed reqlan documents.
|
|
3
3
|
*/
|
|
4
4
|
import { type LangiumDocument } from 'langium';
|
|
5
|
+
import { type WildcardIdeaCandidate } from '@reqlan/language';
|
|
5
6
|
import { type IndexedDocument } from '../core/types.js';
|
|
6
|
-
export
|
|
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;
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
* Extracts ideas, attributes, and graph edges from parsed reqlan documents.
|
|
3
3
|
*/
|
|
4
4
|
import { AstUtils } from 'langium';
|
|
5
|
-
import { findEmbeddedFileReferencesInText, findNamespaceImportByAlias, importPathOf, isAttribute, isBracketReference, isIdea, isIdeaSet, isLocalReference, isMarkdownLink, isModel, isNamespaceImportOnlyReference, isOneLinerIdea, isQualifiedReference, isBlockValue, isListValue, isScalarValue, isWikiLink, namespaceImportBindingName, parseMarkdownLink, summarizeIdeaDeclaration, unquoteReqlanString } from '@reqlan/language';
|
|
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
6
|
import { edgeId, ideaId } from '../core/types.js';
|
|
7
7
|
import { createHash } from 'node:crypto';
|
|
8
|
-
export function extractIndexedDocument(document) {
|
|
8
|
+
export function extractIndexedDocument(document, options) {
|
|
9
9
|
const model = document.parseResult.value;
|
|
10
10
|
if (!isModel(model)) {
|
|
11
11
|
return undefined;
|
|
@@ -15,14 +15,15 @@ export function extractIndexedDocument(document) {
|
|
|
15
15
|
const contentHash = hashText(text);
|
|
16
16
|
const ideas = [];
|
|
17
17
|
const edges = [];
|
|
18
|
+
const candidates = options?.ideaCandidates;
|
|
18
19
|
for (const element of model.elements) {
|
|
19
20
|
if (isIdea(element)) {
|
|
20
21
|
ideas.push(toIdeaRecord(element, 'block', fileUri, document));
|
|
21
|
-
collectIdeaEdges(element, fileUri, edges);
|
|
22
|
+
collectIdeaEdges(element, fileUri, edges, candidates);
|
|
22
23
|
}
|
|
23
24
|
else if (isOneLinerIdea(element)) {
|
|
24
25
|
ideas.push(toIdeaRecord(element, 'oneliner', fileUri, document));
|
|
25
|
-
collectIdeaEdges(element, fileUri, edges);
|
|
26
|
+
collectIdeaEdges(element, fileUri, edges, candidates);
|
|
26
27
|
}
|
|
27
28
|
else if (isIdeaSet(element)) {
|
|
28
29
|
ideas.push(toIdeasetRecord(element, fileUri, document));
|
|
@@ -42,7 +43,7 @@ export function extractIndexedDocument(document) {
|
|
|
42
43
|
}
|
|
43
44
|
}
|
|
44
45
|
}
|
|
45
|
-
for (const edge of collectReferenceEdges(model, fileUri)) {
|
|
46
|
+
for (const edge of collectReferenceEdges(model, fileUri, candidates)) {
|
|
46
47
|
edges.push(edge);
|
|
47
48
|
}
|
|
48
49
|
for (const edge of collectFileReferenceEdges(text, fileUri, ideas)) {
|
|
@@ -141,12 +142,11 @@ function inlinePartsText(parts) {
|
|
|
141
142
|
function normalizeAttributeText(text) {
|
|
142
143
|
return text?.replace(/\s+/g, ' ').trim() ?? '';
|
|
143
144
|
}
|
|
144
|
-
function collectIdeaEdges(idea, fileUri, edges) {
|
|
145
|
+
function collectIdeaEdges(idea, fileUri, edges, candidates) {
|
|
145
146
|
const sourceId = ideaId(fileUri, idea.name);
|
|
146
147
|
for (const node of AstUtils.streamAst(idea)) {
|
|
147
148
|
if (isWikiLink(node) || isBracketReference(node)) {
|
|
148
|
-
const edge
|
|
149
|
-
if (edge) {
|
|
149
|
+
for (const edge of referenceToEdges(sourceId, node.target, fileUri, node, candidates)) {
|
|
150
150
|
edges.push(edge);
|
|
151
151
|
}
|
|
152
152
|
}
|
|
@@ -166,7 +166,7 @@ function collectIdeaEdges(idea, fileUri, edges) {
|
|
|
166
166
|
}
|
|
167
167
|
}
|
|
168
168
|
}
|
|
169
|
-
function collectReferenceEdges(model, fileUri) {
|
|
169
|
+
function collectReferenceEdges(model, fileUri, candidates) {
|
|
170
170
|
const edges = [];
|
|
171
171
|
for (const node of AstUtils.streamAst(model)) {
|
|
172
172
|
if (!isWikiLink(node) && !isBracketReference(node)) {
|
|
@@ -176,8 +176,7 @@ function collectReferenceEdges(model, fileUri) {
|
|
|
176
176
|
if (!owningIdea) {
|
|
177
177
|
continue;
|
|
178
178
|
}
|
|
179
|
-
const edge
|
|
180
|
-
if (edge) {
|
|
179
|
+
for (const edge of referenceToEdges(ideaId(fileUri, owningIdea.name), node.target, fileUri, node, candidates)) {
|
|
181
180
|
edges.push(edge);
|
|
182
181
|
}
|
|
183
182
|
}
|
|
@@ -242,6 +241,52 @@ function namespaceAliasFileEdge(sourceId, target, meta) {
|
|
|
242
241
|
isResolved: true
|
|
243
242
|
};
|
|
244
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
|
+
}
|
|
245
290
|
function referenceToEdge(sourceId, target, fileUri, sourceNode) {
|
|
246
291
|
const meta = sourceNode ? edgeMetaFromNode(sourceNode) : {};
|
|
247
292
|
const ideaRef = 'idea' in target ? target.idea : undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idea-extractor.js","sourceRoot":"","sources":["../../src/index-store/idea-extractor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"idea-extractor.js","sourceRoot":"","sources":["../../src/index-store/idea-extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { EdgeRecord, IdeaRecord, IdeaReferenceChip, IdeaSummary, IdeaWithRange, IdeasetKind, IdeasetMemberRow, IdeasetTableRow, IdeaTableRow, ReferenceListRow, ReferenceTableRow, AncestorChainResult } from '../core/types.js';
|
|
1
|
+
import type { EdgeRecord, IdeaRecord, IdeaReferenceChip, IdeaSummary, IdeaWithRange, IdeasetKind, IdeasetMemberRow, IdeasetTableRow, IdeaTableRow, ReferenceListRow, ReferenceTableRow, AncestorChainResult, TodoIdeaListResult } from '../core/types.js';
|
|
2
2
|
import type { AttributesTableQuery, AttributeTableRow, IdeasTableQuery, IdeasetsTableQuery, ReferencesTableQuery } from './webview-table-queries.js';
|
|
3
3
|
import type { GitIdeaTimelineEvent } from './webview-table-queries.js';
|
|
4
4
|
import { type GraphViewQuery } from './webview-graph-queries.js';
|
|
@@ -57,6 +57,11 @@ export declare class SqliteIndexStore {
|
|
|
57
57
|
valuesByKey: Record<string, string[]>;
|
|
58
58
|
}>;
|
|
59
59
|
searchByNameOrSummary(query: string): Promise<IdeaSummary[]>;
|
|
60
|
+
/**
|
|
61
|
+
* Ideas that carry a `@todo` attribute (bare or valued), not `@status todo`.
|
|
62
|
+
* Caps returned rows; `total` is the uncapped match count for overflow UI.
|
|
63
|
+
*/
|
|
64
|
+
listTodoIdeas(limit?: number): Promise<TodoIdeaListResult>;
|
|
60
65
|
listIdeasForGraphQuery(query: GraphViewQuery, limit: number): Promise<{
|
|
61
66
|
candidates: IdeaSummary[];
|
|
62
67
|
totalMatching: number;
|
|
@@ -81,9 +86,17 @@ export declare class SqliteIndexStore {
|
|
|
81
86
|
private queryAttributesPage;
|
|
82
87
|
/**
|
|
83
88
|
* Idea ids that still need git date backfill for the Timeline tab.
|
|
84
|
-
*
|
|
89
|
+
* - `fileUri`: only ideas in that file (active-editor priority queue)
|
|
90
|
+
* - `preferFileUri`: list that file's ideas first, then the rest of the backlog
|
|
91
|
+
* rq:["../../../../reqlan rq/extension/git-codelens.rq".git_dates_background_indexing]
|
|
92
|
+
* rq:["../../../../reqlan rq/extension/git-codelens.rq".git_idea_timeline_analysis]
|
|
93
|
+
* rq:["../../../../reqlan rq/extension/features-graph-analysers.rq".git_dates]
|
|
94
|
+
* rq:["../../../../reqlan rq/extension/module/ideas_summary/webview.rq".timeline_page]
|
|
85
95
|
*/
|
|
86
|
-
listIdeaIdsMissingGitDates(limit?: number
|
|
96
|
+
listIdeaIdsMissingGitDates(limit?: number, options?: {
|
|
97
|
+
fileUri?: string;
|
|
98
|
+
preferFileUri?: string;
|
|
99
|
+
}): Promise<string[]>;
|
|
87
100
|
/**
|
|
88
101
|
* Recent idea evolution events from indexed git dates for the Timeline tab.
|
|
89
102
|
* Emits separate created / modified entries when both timestamps exist and differ.
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
import { mkdir, readFile, unlink, writeFile } from 'node:fs/promises';
|
|
6
6
|
import { basename, dirname } from 'node:path';
|
|
7
7
|
import { BASE_MIGRATIONS, SCHEMA_VERSION, VERSION_MIGRATIONS } from './schema.js';
|
|
8
|
-
import { BLOCKING_STATUSES, ideaStatus, ideaTags, parseAttributes } from '../core/types.js';
|
|
9
|
-
import { statusFilterKeyFromAttributes, tagsFilterKeysFromAttributes } from '../core/filter-specials.js';
|
|
8
|
+
import { ACTIVITY_BAR_TODO_LIMIT, BLOCKING_STATUSES, ideaStatus, ideaTags, parseAttributes } from '../core/types.js';
|
|
9
|
+
import { statusFilterKeyFromAttributes, tagsFilterKeysFromAttributes, todoNoteFromAttributes } from '../core/filter-specials.js';
|
|
10
10
|
import { resolveReferencedFilePath } from '../core/file-reference-resolve.js';
|
|
11
11
|
import { buildGraphTruncationOrderClause } from './webview-graph-queries.js';
|
|
12
12
|
import { aggregateAttributesFromRows, attributeValuesForKeys, buildIdeasetsOrderClause, buildIdeasetsWhereClause, buildIdeasOrderClause, buildIdeasWhereClause, buildReferencesOrderClause, buildReferencesWhereClause, filterAndPageAttributes } from './webview-table-queries.js';
|
|
@@ -144,12 +144,19 @@ export class SqliteIndexStore {
|
|
|
144
144
|
}
|
|
145
145
|
}
|
|
146
146
|
async listAllIdeas() {
|
|
147
|
-
const rows = await
|
|
147
|
+
const rows = await allYielding(this.db, `
|
|
148
148
|
SELECT id, name, kind, file_uri, line_start, summary, attributes_json
|
|
149
149
|
FROM ideas
|
|
150
150
|
ORDER BY file_uri, line_start
|
|
151
151
|
`);
|
|
152
|
-
|
|
152
|
+
const ideas = [];
|
|
153
|
+
for (let index = 0; index < rows.length; index += 1) {
|
|
154
|
+
if (index > 0 && index % 250 === 0) {
|
|
155
|
+
await new Promise(resolve => setTimeout(resolve, 0));
|
|
156
|
+
}
|
|
157
|
+
ideas.push(this.toSummary(rows[index]));
|
|
158
|
+
}
|
|
159
|
+
return ideas;
|
|
153
160
|
}
|
|
154
161
|
async getIdea(id) {
|
|
155
162
|
const row = await get(this.db, `
|
|
@@ -313,7 +320,7 @@ export class SqliteIndexStore {
|
|
|
313
320
|
const nextFrontier = [];
|
|
314
321
|
for (const currentId of frontier) {
|
|
315
322
|
for (const edge of await this.getEdgesFrom(currentId)) {
|
|
316
|
-
if (edge.kind !== 'references' || !edge.targetId || visited.has(edge.targetId)) {
|
|
323
|
+
if ((edge.kind !== 'references' && edge.kind !== 'wildcard_reference') || !edge.targetId || visited.has(edge.targetId)) {
|
|
317
324
|
continue;
|
|
318
325
|
}
|
|
319
326
|
visited.add(edge.targetId);
|
|
@@ -447,6 +454,42 @@ export class SqliteIndexStore {
|
|
|
447
454
|
`, pattern, pattern);
|
|
448
455
|
return rows.map(row => this.toSummary(row));
|
|
449
456
|
}
|
|
457
|
+
/**
|
|
458
|
+
* Ideas that carry a `@todo` attribute (bare or valued), not `@status todo`.
|
|
459
|
+
* Caps returned rows; `total` is the uncapped match count for overflow UI.
|
|
460
|
+
*/
|
|
461
|
+
async listTodoIdeas(limit = ACTIVITY_BAR_TODO_LIMIT) {
|
|
462
|
+
const cappedLimit = Math.max(0, Math.min(Math.floor(limit), 500));
|
|
463
|
+
// Coarse prefilter: `"todo":` matches the attribute key, not `@status todo`.
|
|
464
|
+
const rows = await all(this.db, `
|
|
465
|
+
SELECT id, name, kind, file_uri, line_start, summary, attributes_json
|
|
466
|
+
FROM ideas
|
|
467
|
+
WHERE kind != 'ideaset'
|
|
468
|
+
AND attributes_json LIKE '%"todo":%'
|
|
469
|
+
ORDER BY name ASC, file_uri ASC, line_start ASC
|
|
470
|
+
`);
|
|
471
|
+
const ideas = [];
|
|
472
|
+
for (const row of rows) {
|
|
473
|
+
const attributes = parseAttributes(row.attributes_json);
|
|
474
|
+
if (!Object.prototype.hasOwnProperty.call(attributes, 'todo')) {
|
|
475
|
+
continue;
|
|
476
|
+
}
|
|
477
|
+
const todoNote = todoNoteFromAttributes(attributes);
|
|
478
|
+
ideas.push({
|
|
479
|
+
id: row.id,
|
|
480
|
+
name: row.name,
|
|
481
|
+
kind: row.kind,
|
|
482
|
+
fileUri: row.file_uri,
|
|
483
|
+
lineStart: row.line_start,
|
|
484
|
+
summary: row.summary,
|
|
485
|
+
...(todoNote !== undefined ? { todoNote } : {})
|
|
486
|
+
});
|
|
487
|
+
}
|
|
488
|
+
return {
|
|
489
|
+
total: ideas.length,
|
|
490
|
+
ideas: ideas.slice(0, cappedLimit)
|
|
491
|
+
};
|
|
492
|
+
}
|
|
450
493
|
async listIdeasForGraphQuery(query, limit) {
|
|
451
494
|
const { sql, params } = buildGraphFilterWhereClause(query);
|
|
452
495
|
const orderSql = buildGraphTruncationOrderClause(query.truncationBasis);
|
|
@@ -701,9 +744,43 @@ export class SqliteIndexStore {
|
|
|
701
744
|
}
|
|
702
745
|
/**
|
|
703
746
|
* Idea ids that still need git date backfill for the Timeline tab.
|
|
704
|
-
*
|
|
747
|
+
* - `fileUri`: only ideas in that file (active-editor priority queue)
|
|
748
|
+
* - `preferFileUri`: list that file's ideas first, then the rest of the backlog
|
|
749
|
+
* rq:["../../../../reqlan rq/extension/git-codelens.rq".git_dates_background_indexing]
|
|
750
|
+
* rq:["../../../../reqlan rq/extension/git-codelens.rq".git_idea_timeline_analysis]
|
|
751
|
+
* rq:["../../../../reqlan rq/extension/features-graph-analysers.rq".git_dates]
|
|
752
|
+
* rq:["../../../../reqlan rq/extension/module/ideas_summary/webview.rq".timeline_page]
|
|
705
753
|
*/
|
|
706
|
-
async listIdeaIdsMissingGitDates(limit = 40) {
|
|
754
|
+
async listIdeaIdsMissingGitDates(limit = 40, options) {
|
|
755
|
+
const capped = Math.max(1, Math.min(limit, 200));
|
|
756
|
+
const fileUri = options?.fileUri?.trim();
|
|
757
|
+
if (fileUri) {
|
|
758
|
+
const rows = await all(this.db, `
|
|
759
|
+
SELECT id
|
|
760
|
+
FROM ideas
|
|
761
|
+
WHERE kind != 'ideaset'
|
|
762
|
+
AND git_created_at IS NULL
|
|
763
|
+
AND git_modified_at IS NULL
|
|
764
|
+
AND file_uri = ?
|
|
765
|
+
ORDER BY line_start ASC
|
|
766
|
+
LIMIT ?
|
|
767
|
+
`, fileUri, capped);
|
|
768
|
+
return rows.map(row => row.id);
|
|
769
|
+
}
|
|
770
|
+
const preferFileUri = options?.preferFileUri?.trim();
|
|
771
|
+
if (preferFileUri) {
|
|
772
|
+
const rows = await all(this.db, `
|
|
773
|
+
SELECT id
|
|
774
|
+
FROM ideas
|
|
775
|
+
WHERE kind != 'ideaset'
|
|
776
|
+
AND git_created_at IS NULL
|
|
777
|
+
AND git_modified_at IS NULL
|
|
778
|
+
ORDER BY CASE WHEN file_uri = ? THEN 0 ELSE 1 END,
|
|
779
|
+
file_uri ASC, line_start ASC
|
|
780
|
+
LIMIT ?
|
|
781
|
+
`, preferFileUri, capped);
|
|
782
|
+
return rows.map(row => row.id);
|
|
783
|
+
}
|
|
707
784
|
const rows = await all(this.db, `
|
|
708
785
|
SELECT id
|
|
709
786
|
FROM ideas
|
|
@@ -712,7 +789,7 @@ export class SqliteIndexStore {
|
|
|
712
789
|
AND git_modified_at IS NULL
|
|
713
790
|
ORDER BY file_uri ASC, line_start ASC
|
|
714
791
|
LIMIT ?
|
|
715
|
-
`,
|
|
792
|
+
`, capped);
|
|
716
793
|
return rows.map(row => row.id);
|
|
717
794
|
}
|
|
718
795
|
/**
|
|
@@ -862,6 +939,25 @@ async function all(db, sql, ...params) {
|
|
|
862
939
|
statement.free();
|
|
863
940
|
}
|
|
864
941
|
}
|
|
942
|
+
/** Like `all`, but yields to the event loop every chunk so interactive work can run. */
|
|
943
|
+
async function allYielding(db, sql, ...params) {
|
|
944
|
+
const statement = db.db.prepare(sql, params);
|
|
945
|
+
const rows = [];
|
|
946
|
+
try {
|
|
947
|
+
let stepped = 0;
|
|
948
|
+
while (statement.step()) {
|
|
949
|
+
rows.push(statement.getAsObject());
|
|
950
|
+
stepped += 1;
|
|
951
|
+
if (stepped % 250 === 0) {
|
|
952
|
+
await new Promise(resolve => setTimeout(resolve, 0));
|
|
953
|
+
}
|
|
954
|
+
}
|
|
955
|
+
return rows;
|
|
956
|
+
}
|
|
957
|
+
finally {
|
|
958
|
+
statement.free();
|
|
959
|
+
}
|
|
960
|
+
}
|
|
865
961
|
async function exec(db, sql) {
|
|
866
962
|
db.db.exec(sql);
|
|
867
963
|
db.dirty = true;
|