@reqlan/analytical 0.5.4 → 0.6.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 (77) hide show
  1. package/README.md +22 -3
  2. package/out/analysis/git-dates-analyser.js +41 -12
  3. package/out/analysis/git-dates-analyser.js.map +1 -1
  4. package/out/core/analytical-store.d.ts +9 -2
  5. package/out/core/analytical-store.js +7 -5
  6. package/out/core/analytical-store.js.map +1 -1
  7. package/out/core/application-memory.d.ts +17 -2
  8. package/out/core/application-memory.js +23 -5
  9. package/out/core/application-memory.js.map +1 -1
  10. package/out/core/base-discovery.d.ts +40 -0
  11. package/out/core/base-discovery.js +166 -0
  12. package/out/core/base-discovery.js.map +1 -0
  13. package/out/core/context-model.d.ts +17 -0
  14. package/out/core/context-model.js.map +1 -1
  15. package/out/core/create-base.d.ts +11 -0
  16. package/out/core/create-base.js +33 -0
  17. package/out/core/create-base.js.map +1 -0
  18. package/out/core/rqignore.d.ts +25 -0
  19. package/out/core/rqignore.js +149 -0
  20. package/out/core/rqignore.js.map +1 -0
  21. package/out/core/types.d.ts +5 -1
  22. package/out/core/types.js.map +1 -1
  23. package/out/create-runtime.d.ts +29 -4
  24. package/out/create-runtime.js +47 -8
  25. package/out/create-runtime.js.map +1 -1
  26. package/out/export/html-export-assets.d.ts +2 -2
  27. package/out/export/html-export-assets.js +259 -239
  28. package/out/export/html-export-assets.js.map +1 -1
  29. package/out/graph/physics-core.d.ts +141 -0
  30. package/out/graph/physics-core.js +237 -0
  31. package/out/graph/physics-core.js.map +1 -0
  32. package/out/headless-index-service.d.ts +6 -23
  33. package/out/headless-index-service.js +5 -171
  34. package/out/headless-index-service.js.map +1 -1
  35. package/out/index-store/base-registry.d.ts +57 -0
  36. package/out/index-store/base-registry.js +192 -0
  37. package/out/index-store/base-registry.js.map +1 -0
  38. package/out/index-store/index-diagnostics-store.d.ts +72 -0
  39. package/out/index-store/index-diagnostics-store.js +238 -0
  40. package/out/index-store/index-diagnostics-store.js.map +1 -0
  41. package/out/index-store/index-file-error.d.ts +16 -0
  42. package/out/index-store/index-file-error.js +27 -0
  43. package/out/index-store/index-file-error.js.map +1 -0
  44. package/out/index-store/index-parse-issues.d.ts +9 -0
  45. package/out/index-store/index-parse-issues.js +62 -0
  46. package/out/index-store/index-parse-issues.js.map +1 -0
  47. package/out/index-store/index-status.d.ts +20 -0
  48. package/out/index-store/index-status.js +2 -0
  49. package/out/index-store/index-status.js.map +1 -0
  50. package/out/index-store/overview-coverage.d.ts +23 -0
  51. package/out/index-store/overview-coverage.js +254 -0
  52. package/out/index-store/overview-coverage.js.map +1 -0
  53. package/out/index-store/schema.d.ts +1 -1
  54. package/out/index-store/schema.js +4 -1
  55. package/out/index-store/schema.js.map +1 -1
  56. package/out/index-store/sqlite-store.d.ts +31 -2
  57. package/out/index-store/sqlite-store.js +152 -13
  58. package/out/index-store/sqlite-store.js.map +1 -1
  59. package/out/index-store/webview-table-queries.d.ts +65 -1
  60. package/out/index-store/webview-table-queries.js +188 -26
  61. package/out/index-store/webview-table-queries.js.map +1 -1
  62. package/out/index-store/workspace-index-file.d.ts +27 -0
  63. package/out/index-store/workspace-index-file.js +98 -0
  64. package/out/index-store/workspace-index-file.js.map +1 -0
  65. package/out/index-store/workspace-index-sync.d.ts +53 -0
  66. package/out/index-store/workspace-index-sync.js +164 -0
  67. package/out/index-store/workspace-index-sync.js.map +1 -0
  68. package/out/index-store/workspace-index.d.ts +80 -0
  69. package/out/index-store/workspace-index.js +525 -0
  70. package/out/index-store/workspace-index.js.map +1 -0
  71. package/out/index-store/workspace-mtime.d.ts +14 -0
  72. package/out/index-store/workspace-mtime.js +56 -0
  73. package/out/index-store/workspace-mtime.js.map +1 -0
  74. package/out/index.d.ts +25 -6
  75. package/out/index.js +12 -3
  76. package/out/index.js.map +1 -1
  77. package/package.json +7 -2
@@ -9,7 +9,7 @@ import { BASE_MIGRATIONS, SCHEMA_VERSION, VERSION_MIGRATIONS } from './schema.js
9
9
  import { BLOCKING_STATUSES, ideaStatus, ideaTags, parseAttributes } from '../core/types.js';
10
10
  import { resolveReferencedFilePath } from '../core/file-reference-resolve.js';
11
11
  import { buildGraphTruncationOrderClause } from './webview-graph-queries.js';
12
- import { attributeValuesForKeys, buildIdeasetsOrderClause, buildIdeasetsWhereClause, buildIdeasOrderClause, buildIdeasWhereClause, buildReferencesOrderClause, buildReferencesWhereClause } from './webview-table-queries.js';
12
+ import { aggregateAttributesFromRows, attributeValuesForKeys, buildIdeasetsOrderClause, buildIdeasetsWhereClause, buildIdeasOrderClause, buildIdeasWhereClause, buildReferencesOrderClause, buildReferencesWhereClause, filterAndPageAttributes } from './webview-table-queries.js';
13
13
  import { buildGraphFilterWhereClause } from './webview-graph-queries.js';
14
14
  export class SqliteIndexStore {
15
15
  constructor(db) {
@@ -43,9 +43,31 @@ export class SqliteIndexStore {
43
43
  const row = await get(this.db, 'SELECT content_hash FROM documents WHERE file_uri = ?', fileUri);
44
44
  return row?.content_hash;
45
45
  }
46
- async upsertDocument(fileUri, contentHash, ideas, edges) {
46
+ async getDocumentMtimeMs(fileUri) {
47
+ const row = await get(this.db, 'SELECT mtime_ms FROM documents WHERE file_uri = ?', fileUri);
48
+ return row?.mtime_ms == null ? undefined : row.mtime_ms;
49
+ }
50
+ async updateDocumentMtime(fileUri, mtimeMs) {
51
+ await run(this.db, `UPDATE documents SET mtime_ms = ?, indexed_at = datetime('now') WHERE file_uri = ?`, mtimeMs, fileUri);
52
+ }
53
+ async listDocumentMtimes() {
54
+ const rows = await all(this.db, 'SELECT file_uri, mtime_ms FROM documents');
55
+ const result = new Map();
56
+ for (const row of rows) {
57
+ result.set(row.file_uri, row.mtime_ms == null ? undefined : row.mtime_ms);
58
+ }
59
+ return result;
60
+ }
61
+ async upsertDocument(fileUri, contentHash, ideas, edges, mtimeMs) {
47
62
  await run(this.db, 'BEGIN');
48
63
  try {
64
+ // Preserve analyser-populated git dates across delete+reinsert reindex.
65
+ const existingGit = await all(this.db, `
66
+ SELECT id, git_created_at, git_modified_at
67
+ FROM ideas
68
+ WHERE file_uri = ?
69
+ `, fileUri);
70
+ const gitById = new Map(existingGit.map(row => [row.id, row]));
49
71
  await run(this.db, 'DELETE FROM edges WHERE source_id IN (SELECT id FROM ideas WHERE file_uri = ?)', fileUri);
50
72
  await run(this.db, 'DELETE FROM ideas WHERE file_uri = ?', fileUri);
51
73
  const insertIdeaSql = `
@@ -58,7 +80,8 @@ export class SqliteIndexStore {
58
80
  )
59
81
  `;
60
82
  for (const idea of ideas) {
61
- await run(this.db, insertIdeaSql, idea.id, idea.name, idea.kind, idea.fileUri, idea.lineStart, idea.lineEnd, idea.summary, idea.attributesJson, idea.contentHash, idea.gitCreatedAt ?? null, idea.gitModifiedAt ?? null);
83
+ const previous = gitById.get(idea.id);
84
+ await run(this.db, insertIdeaSql, idea.id, idea.name, idea.kind, idea.fileUri, idea.lineStart, idea.lineEnd, idea.summary, idea.attributesJson, idea.contentHash, idea.gitCreatedAt ?? previous?.git_created_at ?? null, idea.gitModifiedAt ?? previous?.git_modified_at ?? null);
62
85
  }
63
86
  const insertEdgeSql = `
64
87
  INSERT OR IGNORE INTO edges (
@@ -71,12 +94,13 @@ export class SqliteIndexStore {
71
94
  await run(this.db, insertEdgeSql, edge.id, edge.sourceId, edge.targetId ?? null, edge.targetFile ?? null, edge.kind, edge.label ?? null, edge.sourceLine ?? null, edge.snippet ?? null, edge.isResolved === false ? 0 : 1);
72
95
  }
73
96
  await run(this.db, `
74
- INSERT INTO documents (file_uri, content_hash, indexed_at)
75
- VALUES (?, ?, datetime('now'))
97
+ INSERT INTO documents (file_uri, content_hash, indexed_at, mtime_ms)
98
+ VALUES (?, ?, datetime('now'), ?)
76
99
  ON CONFLICT(file_uri) DO UPDATE SET
77
100
  content_hash = excluded.content_hash,
78
- indexed_at = excluded.indexed_at
79
- `, fileUri, contentHash);
101
+ indexed_at = excluded.indexed_at,
102
+ mtime_ms = excluded.mtime_ms
103
+ `, fileUri, contentHash, mtimeMs ?? null);
80
104
  await run(this.db, 'COMMIT');
81
105
  }
82
106
  catch (error) {
@@ -85,11 +109,20 @@ export class SqliteIndexStore {
85
109
  }
86
110
  }
87
111
  async removeDocument(fileUri) {
112
+ await this.removeDocuments([fileUri]);
113
+ }
114
+ /** Delete many document rows (and their ideas/edges) in one transaction. */
115
+ async removeDocuments(fileUris) {
116
+ if (fileUris.length === 0) {
117
+ return;
118
+ }
88
119
  await run(this.db, 'BEGIN');
89
120
  try {
90
- await run(this.db, 'DELETE FROM edges WHERE source_id IN (SELECT id FROM ideas WHERE file_uri = ?)', fileUri);
91
- await run(this.db, 'DELETE FROM ideas WHERE file_uri = ?', fileUri);
92
- await run(this.db, 'DELETE FROM documents WHERE file_uri = ?', fileUri);
121
+ for (const fileUri of fileUris) {
122
+ await run(this.db, 'DELETE FROM edges WHERE source_id IN (SELECT id FROM ideas WHERE file_uri = ?)', fileUri);
123
+ await run(this.db, 'DELETE FROM ideas WHERE file_uri = ?', fileUri);
124
+ await run(this.db, 'DELETE FROM documents WHERE file_uri = ?', fileUri);
125
+ }
93
126
  await run(this.db, 'COMMIT');
94
127
  }
95
128
  catch (error) {
@@ -349,6 +382,17 @@ export class SqliteIndexStore {
349
382
  const rows = await all(this.db, 'SELECT * FROM edges');
350
383
  return rows.map(mapEdgeRow);
351
384
  }
385
+ /** Outbound file_reference targets for coverage metrics (source id + authored path). */
386
+ async listFileReferenceTargets() {
387
+ const rows = await all(this.db, `SELECT source_id, target_file
388
+ FROM edges
389
+ WHERE target_file IS NOT NULL AND target_file != ''
390
+ AND (kind = 'file_reference' OR target_id IS NULL)`);
391
+ return rows.map(row => ({
392
+ sourceId: row.source_id,
393
+ targetFile: row.target_file
394
+ }));
395
+ }
352
396
  async getAllIdeasRaw() {
353
397
  const rows = await all(this.db, 'SELECT * FROM ideas');
354
398
  return rows.map(mapIdeaRow);
@@ -430,6 +474,7 @@ export class SqliteIndexStore {
430
474
  SELECT
431
475
  i.id,
432
476
  i.name,
477
+ i.kind,
433
478
  i.file_uri,
434
479
  i.line_start,
435
480
  i.summary,
@@ -616,6 +661,7 @@ export class SqliteIndexStore {
616
661
  const rows = await all(this.db, `
617
662
  SELECT
618
663
  e.kind,
664
+ e.source_id,
619
665
  e.target_id,
620
666
  e.target_file,
621
667
  e.label,
@@ -633,6 +679,90 @@ export class SqliteIndexStore {
633
679
  `, ...whereParams, query.pageSize, query.page * query.pageSize);
634
680
  return rows.map(row => toReferenceTableRow(row));
635
681
  }
682
+ /**
683
+ * Aggregate attribute keys for the Ideas Summary attributes tab.
684
+ * per ["../../../../reqlan rq/extension/module/ideas_summary/webview.rq".attributes_tab]
685
+ */
686
+ async countAttributes(query) {
687
+ const { total } = await this.queryAttributesPage(query);
688
+ return total;
689
+ }
690
+ async listAttributesPage(query) {
691
+ const { rows } = await this.queryAttributesPage(query);
692
+ return rows;
693
+ }
694
+ async queryAttributesPage(query) {
695
+ const rows = await all(this.db, `
696
+ SELECT id, attributes_json
697
+ FROM ideas
698
+ WHERE kind != 'ideaset'
699
+ `);
700
+ return filterAndPageAttributes(aggregateAttributesFromRows(rows), query);
701
+ }
702
+ /**
703
+ * Idea ids that still need git date backfill for the Timeline tab.
704
+ * per ["../../../../reqlan rq/extension/module/ideas_summary/webview.rq".timeline_page]
705
+ */
706
+ async listIdeaIdsMissingGitDates(limit = 40) {
707
+ const rows = await all(this.db, `
708
+ SELECT id
709
+ FROM ideas
710
+ WHERE kind != 'ideaset'
711
+ AND git_created_at IS NULL
712
+ AND git_modified_at IS NULL
713
+ ORDER BY file_uri ASC, line_start ASC
714
+ LIMIT ?
715
+ `, Math.max(1, Math.min(limit, 200)));
716
+ return rows.map(row => row.id);
717
+ }
718
+ /**
719
+ * Recent idea evolution events from indexed git dates for the Timeline tab.
720
+ * Emits separate created / modified entries when both timestamps exist and differ.
721
+ * per ["../../../../reqlan rq/extension/module/ideas_summary/webview.rq".timeline_page]
722
+ */
723
+ async listRecentGitIdeaEvents(limit = 50) {
724
+ const rows = await all(this.db, `
725
+ SELECT id, name, kind, file_uri, line_start, summary, attributes_json,
726
+ git_created_at, git_modified_at
727
+ FROM ideas
728
+ WHERE kind != 'ideaset'
729
+ AND (git_modified_at IS NOT NULL OR git_created_at IS NOT NULL)
730
+ ORDER BY COALESCE(git_modified_at, git_created_at) DESC
731
+ LIMIT ?
732
+ `, Math.max(1, Math.min(limit * 2, 400)));
733
+ const events = [];
734
+ for (const row of rows) {
735
+ const attributes = parseAttributes(row.attributes_json);
736
+ const created = row.git_created_at ?? undefined;
737
+ const modified = row.git_modified_at ?? undefined;
738
+ const base = {
739
+ ideaId: row.id,
740
+ name: row.name,
741
+ fileUri: row.file_uri,
742
+ lineStart: row.line_start,
743
+ summary: row.summary || undefined,
744
+ status: ideaStatus(attributes),
745
+ ideaKind: row.kind,
746
+ tags: ideaTags(attributes),
747
+ gitCreatedAt: created,
748
+ gitModifiedAt: modified
749
+ };
750
+ if (modified && created && modified === created) {
751
+ events.push({ ...base, at: created, kind: 'created' });
752
+ }
753
+ else {
754
+ if (modified) {
755
+ events.push({ ...base, at: modified, kind: 'modified' });
756
+ }
757
+ if (created) {
758
+ events.push({ ...base, at: created, kind: 'created' });
759
+ }
760
+ }
761
+ }
762
+ return events
763
+ .sort((left, right) => Date.parse(right.at) - Date.parse(left.at))
764
+ .slice(0, Math.max(1, Math.min(limit, 200)));
765
+ }
636
766
  toSummary(row) {
637
767
  const attributes = parseAttributes(row.attributes_json);
638
768
  return {
@@ -793,6 +923,7 @@ function toIdeaTableRow(row, attributeColumns, outboundReferences, inboundRefere
793
923
  id: row.id,
794
924
  title: row.name,
795
925
  path: row.file_uri,
926
+ kind: row.kind === 'oneliner' ? 'oneliner' : 'block',
796
927
  mainAttribute: row.summary || undefined,
797
928
  otherAttributes: otherAttributeItems.join('; '),
798
929
  otherAttributeItems,
@@ -851,9 +982,13 @@ function toOutgoingReferenceChip(row) {
851
982
  const filterKey = row.target_id
852
983
  ? `outbound:idea:${row.target_id}`
853
984
  : `outbound:file:${row.target_file ?? row.label ?? ''}`;
985
+ const fileUri = row.target_uri
986
+ ?? (row.target_file
987
+ ? resolveReferencedFilePath(row.target_file, row.source_id)
988
+ : row.source_uri);
854
989
  return {
855
990
  label: targetName,
856
- fileUri: row.target_uri ?? row.source_uri,
991
+ fileUri,
857
992
  line: row.target_line ?? row.source_line,
858
993
  direction: 'outbound',
859
994
  filterKey
@@ -869,7 +1004,10 @@ function toIncomingReferenceChip(row) {
869
1004
  };
870
1005
  }
871
1006
  function toReferenceTableRow(row) {
872
- const targetPath = row.target_uri ?? row.target_file ?? '';
1007
+ const rawTargetPath = row.target_uri ?? row.target_file ?? '';
1008
+ const targetPath = !row.target_uri && row.target_file
1009
+ ? resolveReferencedFilePath(row.target_file, row.source_id)
1010
+ : rawTargetPath;
873
1011
  const targetName = row.target_name ?? row.label ?? row.target_file ?? '—';
874
1012
  return {
875
1013
  sourcePath: row.source_uri,
@@ -879,7 +1017,8 @@ function toReferenceTableRow(row) {
879
1017
  isInRq: row.target_id !== null,
880
1018
  referenceType: toReferenceViewType(row.kind),
881
1019
  sourceFileUri: row.source_uri,
882
- sourceLineStart: row.source_line
1020
+ sourceLineStart: row.source_line,
1021
+ targetFileUri: targetPath || undefined
883
1022
  };
884
1023
  }
885
1024
  function toReferenceViewType(kind) {
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-store.js","sourceRoot":"","sources":["../../src/index-store/sqlite-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite-store.js","sourceRoot":"","sources":["../../src/index-store/sqlite-store.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,25 @@
1
+ /**
2
+ * UI-SQL helpers for Ideas Summary table queries.
3
+ * per ["../../../../reqlan rq/extension/module/ideas_summary/webview.rq".table_column_filters]
4
+ * per ["../../../../reqlan rq/extension/module/ideas_summary/webview.rq".group_by_type]
5
+ * per ["../../../../reqlan rq/extension/module/ideas_summary/webview.rq".attributes_tab]
6
+ */
1
7
  import type { IdeaAttributeMap } from '../core/types.js';
2
8
  export type SortDirection = 'asc' | 'desc';
3
- export type IdeasSortColumn = 'title' | 'path' | 'body' | 'outRefs' | 'inRefs' | `attr:${string}`;
9
+ export type IdeasSortColumn = 'title' | 'path' | 'body' | 'kind' | 'outRefs' | 'inRefs' | `attr:${string}`;
4
10
  export interface ReferenceFilter {
5
11
  direction: 'inbound' | 'outbound';
6
12
  filterKey: string;
7
13
  label: string;
8
14
  }
15
+ /** Per-column filter: text substring and/or selected enum values. */
16
+ export interface ColumnFilter {
17
+ column: string;
18
+ text?: string;
19
+ selected?: string[];
20
+ }
21
+ export type IdeasGroupBy = 'kind';
22
+ export type ReferencesGroupBy = 'type';
9
23
  export interface IdeasTableQuery {
10
24
  page: number;
11
25
  pageSize: number;
@@ -14,6 +28,8 @@ export interface IdeasTableQuery {
14
28
  sortDir?: SortDirection;
15
29
  attributeColumns: string[];
16
30
  referenceFilters: ReferenceFilter[];
31
+ columnFilters?: ColumnFilter[];
32
+ groupBy?: IdeasGroupBy;
17
33
  }
18
34
  export type IdeasetsSortColumn = 'name' | 'path' | 'kind' | 'members';
19
35
  export interface IdeasetsTableQuery {
@@ -22,6 +38,7 @@ export interface IdeasetsTableQuery {
22
38
  search?: string;
23
39
  sortBy?: IdeasetsSortColumn;
24
40
  sortDir?: SortDirection;
41
+ columnFilters?: ColumnFilter[];
25
42
  }
26
43
  export type ReferencesSortColumn = 'source' | 'target' | 'inRq' | 'type';
27
44
  export interface ReferencesTableQuery {
@@ -30,12 +47,51 @@ export interface ReferencesTableQuery {
30
47
  search?: string;
31
48
  sortBy?: ReferencesSortColumn;
32
49
  sortDir?: SortDirection;
50
+ columnFilters?: ColumnFilter[];
51
+ groupBy?: ReferencesGroupBy;
52
+ }
53
+ export type AttributesSortColumn = 'key' | 'ideaCount' | 'valueCount';
54
+ export interface AttributesTableQuery {
55
+ page: number;
56
+ pageSize: number;
57
+ search?: string;
58
+ sortBy?: AttributesSortColumn;
59
+ sortDir?: SortDirection;
60
+ columnFilters?: ColumnFilter[];
61
+ }
62
+ export interface AttributeTableRow {
63
+ key: string;
64
+ ideaCount: number;
65
+ valueCount: number;
66
+ sampleValues: string[];
67
+ }
68
+ /** Indexed git-date event for Ideas Summary Timeline (idea evolution). */
69
+ export interface GitIdeaTimelineEvent {
70
+ ideaId: string;
71
+ name: string;
72
+ fileUri: string;
73
+ lineStart: number;
74
+ at: string;
75
+ kind: 'created' | 'modified';
76
+ summary?: string;
77
+ status?: string;
78
+ ideaKind?: string;
79
+ tags?: string[];
80
+ gitCreatedAt?: string;
81
+ gitModifiedAt?: string;
82
+ }
83
+ export interface AttributeAggregate {
84
+ key: string;
85
+ ideaIds: Set<string>;
86
+ values: Map<string, number>;
33
87
  }
34
88
  export declare function attributeJsonPath(key: string): string;
35
89
  export declare function attributeKeyFromChipItem(item: string): string;
36
90
  export declare function formatAttributeValue(value: string | string[] | boolean | undefined): string;
37
91
  export declare function attributeValuesForKeys(attributesJson: string, keys: string[]): Record<string, string>;
38
92
  export declare function hasMeaningfulAttribute(attributes: IdeaAttributeMap, key: string): boolean;
93
+ /** Map References table view types back to edge kinds for SQL filters. */
94
+ export declare function edgeKindsForReferenceViewTypes(types: string[]): string[];
39
95
  export declare function buildIdeasWhereClause(query: IdeasTableQuery): {
40
96
  sql: string;
41
97
  params: unknown[];
@@ -55,3 +111,11 @@ export declare function buildReferenceFilterClause(filterKey: string): {
55
111
  sql: string;
56
112
  params: unknown[];
57
113
  };
114
+ export declare function aggregateAttributesFromRows(rows: Array<{
115
+ id: string;
116
+ attributes_json: string;
117
+ }>): AttributeAggregate[];
118
+ export declare function filterAndPageAttributes(aggregates: AttributeAggregate[], query: AttributesTableQuery): {
119
+ total: number;
120
+ rows: AttributeTableRow[];
121
+ };