@reqlan/analytical 0.8.2 → 0.10.0

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 +27 -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 +56 -4
  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 +8 -2
  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 +12 -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 -1
  27. package/out/core/workspace-paths.js +8 -44
  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/schema.d.ts +1 -1
  53. package/out/index-store/schema.js +6 -2
  54. package/out/index-store/schema.js.map +1 -1
  55. package/out/index-store/sqlite-store.d.ts +10 -4
  56. package/out/index-store/sqlite-store.js +81 -606
  57. package/out/index-store/sqlite-store.js.map +1 -1
  58. package/out/index-store/webview-graph-queries.d.ts +7 -0
  59. package/out/index-store/webview-graph-queries.js.map +1 -1
  60. package/out/index-store/webview-table-queries.d.ts +1 -1
  61. package/out/index-store/webview-table-queries.js +9 -0
  62. package/out/index-store/webview-table-queries.js.map +1 -1
  63. package/out/index-store/workspace-index-file.d.ts +3 -14
  64. package/out/index-store/workspace-index-file.js +1 -118
  65. package/out/index-store/workspace-index-file.js.map +1 -1
  66. package/out/index-store/workspace-index-sync.d.ts +4 -17
  67. package/out/index-store/workspace-index-sync.js +29 -11
  68. package/out/index-store/workspace-index-sync.js.map +1 -1
  69. package/out/index-store/workspace-index.d.ts +36 -9
  70. package/out/index-store/workspace-index.js +223 -120
  71. package/out/index-store/workspace-index.js.map +1 -1
  72. package/out/index.d.ts +16 -39
  73. package/out/index.js +9 -23
  74. package/out/index.js.map +1 -1
  75. package/out/native/generated.d.ts +102 -0
  76. package/out/native/generated.js +4 -0
  77. package/out/native/generated.js.map +1 -0
  78. package/out/native/index.d.ts +17 -0
  79. package/out/native/index.js +12 -0
  80. package/out/native/index.js.map +1 -0
  81. package/out/native/load-native.d.ts +50 -0
  82. package/out/native/load-native.js +152 -0
  83. package/out/native/load-native.js.map +1 -0
  84. package/out/{analysis-api.d.ts → native/native-analysis-api.d.ts} +24 -20
  85. package/out/native/native-analysis-api.js +212 -0
  86. package/out/native/native-analysis-api.js.map +1 -0
  87. package/out/native/native-index-store.d.ts +5 -0
  88. package/out/native/native-index-store.js +6 -0
  89. package/out/native/native-index-store.js.map +1 -0
  90. package/out/native/native-sql-db.d.ts +135 -0
  91. package/out/native/native-sql-db.js +217 -0
  92. package/out/native/native-sql-db.js.map +1 -0
  93. package/out/native/native-workspace-index.d.ts +164 -0
  94. package/out/native/native-workspace-index.js +283 -0
  95. package/out/native/native-workspace-index.js.map +1 -0
  96. package/out/native/open-analysis-api.d.ts +16 -0
  97. package/out/native/open-analysis-api.js +21 -0
  98. package/out/native/open-analysis-api.js.map +1 -0
  99. package/out/native/parse-source.d.ts +24 -0
  100. package/out/native/parse-source.js +26 -0
  101. package/out/native/parse-source.js.map +1 -0
  102. package/package.json +18 -22
  103. package/out/analysis/analyser-registry.d.ts +0 -21
  104. package/out/analysis/analyser-registry.js +0 -33
  105. package/out/analysis/analyser-registry.js.map +0 -1
  106. package/out/analysis/completion-tracking-analyser.d.ts +0 -3
  107. package/out/analysis/completion-tracking-analyser.js +0 -37
  108. package/out/analysis/completion-tracking-analyser.js.map +0 -1
  109. package/out/analysis/deprecation-impact-analyser.d.ts +0 -3
  110. package/out/analysis/deprecation-impact-analyser.js +0 -21
  111. package/out/analysis/deprecation-impact-analyser.js.map +0 -1
  112. package/out/analysis/file-related-analyser.d.ts +0 -5
  113. package/out/analysis/file-related-analyser.js +0 -41
  114. package/out/analysis/file-related-analyser.js.map +0 -1
  115. package/out/analysis/fuzzy-search-analyser.d.ts +0 -17
  116. package/out/analysis/fuzzy-search-analyser.js +0 -25
  117. package/out/analysis/fuzzy-search-analyser.js.map +0 -1
  118. package/out/analysis/fuzzy-search-worker-client.d.ts +0 -39
  119. package/out/analysis/fuzzy-search-worker-client.js +0 -178
  120. package/out/analysis/fuzzy-search-worker-client.js.map +0 -1
  121. package/out/analysis/fuzzy-search-worker.d.ts +0 -32
  122. package/out/analysis/fuzzy-search-worker.js +0 -81
  123. package/out/analysis/fuzzy-search-worker.js.map +0 -1
  124. package/out/analysis/fuzzy-search.d.ts +0 -38
  125. package/out/analysis/fuzzy-search.js +0 -217
  126. package/out/analysis/fuzzy-search.js.map +0 -1
  127. package/out/analysis/git-dates-analyser.d.ts +0 -9
  128. package/out/analysis/git-dates-analyser.js +0 -77
  129. package/out/analysis/git-dates-analyser.js.map +0 -1
  130. package/out/analysis/list-ideas-analyser.d.ts +0 -3
  131. package/out/analysis/list-ideas-analyser.js +0 -7
  132. package/out/analysis/list-ideas-analyser.js.map +0 -1
  133. package/out/analysis/local-graph-analyser.d.ts +0 -6
  134. package/out/analysis/local-graph-analyser.js +0 -42
  135. package/out/analysis/local-graph-analyser.js.map +0 -1
  136. package/out/analysis/semantic-search-analyser.d.ts +0 -8
  137. package/out/analysis/semantic-search-analyser.js +0 -51
  138. package/out/analysis/semantic-search-analyser.js.map +0 -1
  139. package/out/analysis-api.js +0 -190
  140. package/out/analysis-api.js.map +0 -1
  141. package/out/core/analytical-store.d.ts +0 -85
  142. package/out/core/analytical-store.js +0 -143
  143. package/out/core/analytical-store.js.map +0 -1
  144. package/out/core/context-model.d.ts +0 -204
  145. package/out/core/context-model.js +0 -36
  146. package/out/core/context-model.js.map +0 -1
  147. package/out/core/context-signals.d.ts +0 -149
  148. package/out/core/context-signals.js +0 -397
  149. package/out/core/context-signals.js.map +0 -1
  150. package/out/create-runtime.d.ts +0 -47
  151. package/out/create-runtime.js +0 -79
  152. package/out/create-runtime.js.map +0 -1
  153. package/out/export/export-html.d.ts +0 -4
  154. package/out/export/export-html.js +0 -12
  155. package/out/export/export-html.js.map +0 -1
  156. package/out/export/html-export-assets.d.ts +0 -3
  157. package/out/export/html-export-assets.js +0 -1926
  158. package/out/export/html-export-assets.js.map +0 -1
  159. package/out/export/html-export-template.d.ts +0 -18
  160. package/out/export/html-export-template.js +0 -1139
  161. package/out/export/html-export-template.js.map +0 -1
  162. package/out/export/html-export-utils.d.ts +0 -86
  163. package/out/export/html-export-utils.js +0 -485
  164. package/out/export/html-export-utils.js.map +0 -1
  165. package/out/export/write-html-export.d.ts +0 -2
  166. package/out/export/write-html-export.js +0 -181
  167. package/out/export/write-html-export.js.map +0 -1
  168. package/out/graph/physics-core-source.d.ts +0 -5
  169. package/out/graph/physics-core-source.js +0 -8
  170. package/out/graph/physics-core-source.js.map +0 -1
  171. package/out/graph/physics-core.d.ts +0 -141
  172. package/out/graph/physics-core.js +0 -237
  173. package/out/graph/physics-core.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":"html-export-template.js","sourceRoot":"","sources":["../../src/export/html-export-template.ts"],"names":[],"mappings":"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"}
@@ -1,86 +0,0 @@
1
- import type { ExportClusterRecord, ExportFileRecord, ExportIdeaRecord, ExportPageInfo, ExportSnapshot } from './types.js';
2
- export declare function escapeHtml(value: string): string;
3
- export declare function formatDate(value: string): string;
4
- export declare function stringifyJson(value: unknown): string;
5
- /** Normalize an export mount prefix to a leading-slash path without a trailing slash. */
6
- export declare function normalizeUrlBase(urlBase?: string): string | undefined;
7
- export declare function hrefFor(currentPath: string, targetPath: string, urlBase?: string): string;
8
- export declare function formatAttributeValue(value: unknown): string;
9
- export declare function slugAttributeKey(key: string): string;
10
- /** Stable in-page html id for an exported idea (safe for `#` fragment links). */
11
- export declare function exportIdeaAnchorId(idea: {
12
- id: string;
13
- }): string;
14
- /** Trimmed status when present; otherwise undefined (never invent "unspecified"). */
15
- export declare function ideaStatus(idea: {
16
- status?: string | null;
17
- }): string | undefined;
18
- /** Non-empty tag list; empty/missing tags yield []. */
19
- export declare function ideaTags(idea: {
20
- tags?: readonly string[] | null;
21
- }): string[];
22
- export declare function renderOptionalStatusParagraph(idea: {
23
- status?: string | null;
24
- }): string;
25
- export declare function renderOptionalTagsParagraph(idea: {
26
- tags?: readonly string[] | null;
27
- }): string;
28
- export declare function renderOptionalStatusCell(idea: {
29
- status?: string | null;
30
- }): string;
31
- export declare function renderOptionalTagsCell(idea: {
32
- tags?: readonly string[] | null;
33
- }): string;
34
- /** Find the deterministic status/tag cluster for a rollup or filter key. */
35
- export declare function findValueCluster(snapshot: ExportSnapshot, kind: 'status' | 'tag', valueKey: string): ExportClusterRecord | undefined;
36
- /** Build `page?key=value` hrefs that seed column filters on list pages. */
37
- export declare function listFilterHref(snapshot: ExportSnapshot, currentPath: string, page: ExportPageInfo, filters: Record<string, string>): string;
38
- /**
39
- * Destination for a status or tag facet: prefer the matching cluster page,
40
- * otherwise the ideas index with a seeded Status/Tags column filter.
41
- */
42
- export declare function statusOrTagFacetHref(snapshot: ExportSnapshot, currentPath: string, kind: 'status' | 'tag', valueKey: string): string;
43
- export declare function renderLinkedStatusCell(snapshot: ExportSnapshot, currentPath: string, idea: ExportIdeaRecord): string;
44
- export declare function renderLinkedTagsCell(snapshot: ExportSnapshot, currentPath: string, idea: ExportIdeaRecord): string;
45
- export declare function renderFilePathCell(snapshot: ExportSnapshot, currentPath: string, fileUri: string): string;
46
- export declare function pageHref(currentPath: string, page: ExportPageInfo, urlBase?: string): string;
47
- /** Resolve a hosting .rq file or outbound code-file page for a path or graph node id. */
48
- export declare function resolveExportFilePage(snapshot: ExportSnapshot, options: {
49
- id?: string;
50
- fileUri?: string;
51
- }): {
52
- page: ExportPageInfo;
53
- kind: 'file' | 'code-file';
54
- } | undefined;
55
- export declare function filePageEnabled(snapshot: ExportSnapshot, kind: 'file' | 'code-file'): boolean;
56
- export declare function renderDefinitionList(values: Record<string, number>, hrefForKey?: (key: string) => string | undefined): string;
57
- export declare function renderMetric(label: string, value: string, href?: string): string;
58
- export declare function relatedClusters(snapshot: ExportSnapshot, idea: ExportIdeaRecord): ExportClusterRecord[];
59
- export declare function fileByIdea(snapshot: ExportSnapshot, idea: ExportIdeaRecord): ExportFileRecord | undefined;
60
- /**
61
- * Render text that may contain wiki/bracket refs as styled links to export pages.
62
- * When `samePageIdeaAnchors` is set, idea refs resolve to in-page `#` anchors
63
- * (see [html_export_print_in_page_anchors]) instead of separate idea pages.
64
- */
65
- export declare function renderTextWithRefsHtml(snapshot: ExportSnapshot, currentPath: string, text: string, options?: {
66
- idea?: ExportIdeaRecord;
67
- emptyMessage?: string;
68
- samePageIdeaAnchors?: boolean;
69
- }): string;
70
- /**
71
- * Render an idea body/summary with styled inline refs: linked idea/file names and destination tooltips.
72
- */
73
- export declare function renderIdeaSummaryHtml(snapshot: ExportSnapshot, currentPath: string, idea: ExportIdeaRecord, emptyMessage?: string, options?: {
74
- samePageIdeaAnchors?: boolean;
75
- }): string;
76
- /** Render an attribute value, linking any embedded idea/file refs to export pages. */
77
- export declare function renderAttributeValueHtml(snapshot: ExportSnapshot, currentPath: string, value: unknown, idea?: ExportIdeaRecord, options?: {
78
- samePageIdeaAnchors?: boolean;
79
- }): string;
80
- /**
81
- * Compact attribute list for printable idea cards/sheets.
82
- * Shows every declared attribute (not only status/tags).
83
- */
84
- export declare function renderPrintIdeaAttributesHtml(snapshot: ExportSnapshot, currentPath: string, idea: ExportIdeaRecord, options?: {
85
- samePageIdeaAnchors?: boolean;
86
- }): string;
@@ -1,485 +0,0 @@
1
- import { filterDisplayLabel, FILTER_NOT_PRESENT, isFilterEmpty, isFilterNotPresent, isFilterUnspecified } from '../core/filter-specials.js';
2
- export function escapeHtml(value) {
3
- return value
4
- .replace(/&/g, '&amp;')
5
- .replace(/</g, '&lt;')
6
- .replace(/>/g, '&gt;')
7
- .replace(/"/g, '&quot;');
8
- }
9
- export function formatDate(value) {
10
- return new Date(value).toLocaleString('en-AU', {
11
- year: 'numeric',
12
- month: 'short',
13
- day: '2-digit',
14
- hour: '2-digit',
15
- minute: '2-digit'
16
- });
17
- }
18
- export function stringifyJson(value) {
19
- return JSON.stringify(value, null, 2).replace(/</g, '\\u003c');
20
- }
21
- /** Normalize an export mount prefix to a leading-slash path without a trailing slash. */
22
- export function normalizeUrlBase(urlBase) {
23
- const trimmed = urlBase?.trim();
24
- if (!trimmed) {
25
- return undefined;
26
- }
27
- const withoutTrailing = trimmed.replace(/\/+$/, '');
28
- if (withoutTrailing.length === 0) {
29
- return undefined;
30
- }
31
- if (/^[a-zA-Z][a-zA-Z0-9+.-]*:/.test(withoutTrailing) || withoutTrailing.startsWith('/')) {
32
- return withoutTrailing;
33
- }
34
- return `/${withoutTrailing}`;
35
- }
36
- export function hrefFor(currentPath, targetPath, urlBase) {
37
- const base = normalizeUrlBase(urlBase);
38
- const cleanedTarget = targetPath.replace(/^\.\//, '').replace(/^\/+/, '');
39
- if (base) {
40
- return cleanedTarget ? `${base}/${cleanedTarget}` : `${base}/`;
41
- }
42
- const fromSegments = currentPath.split('/').filter(Boolean);
43
- const toSegments = cleanedTarget.split('/').filter(Boolean);
44
- const fromDir = fromSegments.slice(0, -1);
45
- while (fromDir.length > 0 && toSegments.length > 0 && fromDir[0] === toSegments[0]) {
46
- fromDir.shift();
47
- toSegments.shift();
48
- }
49
- const prefix = fromDir.map(() => '..');
50
- return [...prefix, ...toSegments].join('/') || '.';
51
- }
52
- export function formatAttributeValue(value) {
53
- if (value === true) {
54
- return 'true';
55
- }
56
- if (value === false) {
57
- return 'false';
58
- }
59
- if (Array.isArray(value)) {
60
- return value.map(String).join(', ');
61
- }
62
- if (value == null) {
63
- return '';
64
- }
65
- if (typeof value === 'object') {
66
- return JSON.stringify(value);
67
- }
68
- return String(value);
69
- }
70
- export function slugAttributeKey(key) {
71
- return key.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '') || 'attribute';
72
- }
73
- /** Stable in-page html id for an exported idea (safe for `#` fragment links). */
74
- export function exportIdeaAnchorId(idea) {
75
- return `idea-${slugAttributeKey(idea.id)}`;
76
- }
77
- /** Trimmed status when present; otherwise undefined (never invent "unspecified"). */
78
- export function ideaStatus(idea) {
79
- const value = idea.status?.trim();
80
- return value ? value : undefined;
81
- }
82
- /** Non-empty tag list; empty/missing tags yield []. */
83
- export function ideaTags(idea) {
84
- return (idea.tags ?? []).map(tag => String(tag).trim()).filter(Boolean);
85
- }
86
- export function renderOptionalStatusParagraph(idea) {
87
- const status = ideaStatus(idea);
88
- return status ? `<p><strong>Status:</strong> ${escapeHtml(status)}</p>` : '';
89
- }
90
- export function renderOptionalTagsParagraph(idea) {
91
- const tags = ideaTags(idea);
92
- return tags.length > 0 ? `<p><strong>Tags:</strong> ${escapeHtml(tags.join(', '))}</p>` : '';
93
- }
94
- export function renderOptionalStatusCell(idea) {
95
- const status = ideaStatus(idea);
96
- return status ? escapeHtml(status) : '';
97
- }
98
- export function renderOptionalTagsCell(idea) {
99
- const tags = ideaTags(idea);
100
- return tags.length > 0 ? escapeHtml(tags.join(', ')) : '';
101
- }
102
- /** Find the deterministic status/tag cluster for a rollup or filter key. */
103
- export function findValueCluster(snapshot, kind, valueKey) {
104
- const id = `${kind}:${valueKey}`;
105
- return snapshot.clustersById[id] ?? snapshot.clusters.find(cluster => cluster.kind === kind && (cluster.id === id || cluster.label === `${kind}: ${filterDisplayLabel(valueKey)}`));
106
- }
107
- /** Build `page?key=value` hrefs that seed column filters on list pages. */
108
- export function listFilterHref(snapshot, currentPath, page, filters) {
109
- const base = pageHref(currentPath, page, snapshot.urlBase);
110
- const params = new URLSearchParams();
111
- for (const [key, value] of Object.entries(filters)) {
112
- if (value) {
113
- params.set(key, value);
114
- }
115
- }
116
- const query = params.toString();
117
- return query ? `${base}?${query}` : base;
118
- }
119
- /**
120
- * Destination for a status or tag facet: prefer the matching cluster page,
121
- * otherwise the ideas index with a seeded Status/Tags column filter.
122
- */
123
- export function statusOrTagFacetHref(snapshot, currentPath, kind, valueKey) {
124
- const cluster = findValueCluster(snapshot, kind, valueKey);
125
- if (cluster && snapshot.pageOptions.includeClusterPages) {
126
- return pageHref(currentPath, cluster.page, snapshot.urlBase);
127
- }
128
- const filterKey = kind === 'status' ? 'status' : 'tags';
129
- return listFilterHref(snapshot, currentPath, snapshot.manifest.ideasIndex, {
130
- [filterKey]: filterDisplayLabel(valueKey)
131
- });
132
- }
133
- export function renderLinkedStatusCell(snapshot, currentPath, idea) {
134
- const key = idea.statusKey ?? FILTER_NOT_PRESENT;
135
- const label = filterDisplayLabel(key);
136
- const visible = ideaStatus(idea);
137
- const href = statusOrTagFacetHref(snapshot, currentPath, 'status', key);
138
- const sortValue = escapeHtml(label);
139
- if (!visible) {
140
- return `<span data-sort-value="${sortValue}"></span>`;
141
- }
142
- return `<a href="${escapeHtml(href)}" data-sort-value="${sortValue}">${escapeHtml(visible)}</a>`;
143
- }
144
- export function renderLinkedTagsCell(snapshot, currentPath, idea) {
145
- const keys = idea.tagsKeys ?? [FILTER_NOT_PRESENT];
146
- const tags = ideaTags(idea);
147
- const sortValue = escapeHtml(tags.length > 0 ? tags.join(', ') : filterDisplayLabel(keys[0] ?? FILTER_NOT_PRESENT));
148
- if (tags.length === 0) {
149
- return `<span data-sort-value="${sortValue}"></span>`;
150
- }
151
- const links = tags.map(tag => {
152
- const href = statusOrTagFacetHref(snapshot, currentPath, 'tag', tag);
153
- return `<a href="${escapeHtml(href)}">${escapeHtml(tag)}</a>`;
154
- });
155
- return `<span data-sort-value="${sortValue}">${links.join(', ')}</span>`;
156
- }
157
- export function renderFilePathCell(snapshot, currentPath, fileUri) {
158
- const target = resolveExportFilePage(snapshot, { fileUri });
159
- if (target && filePageEnabled(snapshot, target.kind)) {
160
- return `<a href="${escapeHtml(pageHref(currentPath, target.page, snapshot.urlBase))}" data-sort-value="${escapeHtml(fileUri)}">${escapeHtml(fileUri)}</a>`;
161
- }
162
- return escapeHtml(fileUri);
163
- }
164
- export function pageHref(currentPath, page, urlBase) {
165
- return hrefFor(currentPath, page.path, urlBase);
166
- }
167
- /** Resolve a hosting .rq file or outbound code-file page for a path or graph node id. */
168
- export function resolveExportFilePage(snapshot, options) {
169
- const byId = options.id
170
- ? (snapshot.filesById[options.id] ?? snapshot.codeFilesById[options.id])
171
- : undefined;
172
- if (byId) {
173
- const kind = snapshot.filesById[byId.id] ? 'file' : 'code-file';
174
- return { page: byId.page, kind };
175
- }
176
- const fileUri = options.fileUri?.trim();
177
- if (!fileUri) {
178
- return undefined;
179
- }
180
- const hosting = snapshot.files.find(file => file.fileUri === fileUri);
181
- if (hosting) {
182
- return { page: hosting.page, kind: 'file' };
183
- }
184
- const codeFile = snapshot.codeFiles.find(file => file.fileUri === fileUri);
185
- if (codeFile) {
186
- return { page: codeFile.page, kind: 'code-file' };
187
- }
188
- const normalized = fileUri.replace(/\\/g, '/');
189
- const bySuffix = [...snapshot.files, ...snapshot.codeFiles].find(file => {
190
- const candidate = file.fileUri.replace(/\\/g, '/');
191
- return candidate === normalized
192
- || candidate.endsWith(`/${normalized}`)
193
- || candidate.endsWith(normalized)
194
- || normalized.endsWith(`/${candidate}`)
195
- || normalized.endsWith(candidate);
196
- });
197
- if (bySuffix) {
198
- const kind = snapshot.filesById[bySuffix.id] ? 'file' : 'code-file';
199
- return { page: bySuffix.page, kind };
200
- }
201
- const base = fileBaseName(fileUri).toLowerCase();
202
- if (base) {
203
- const byName = [...snapshot.files, ...snapshot.codeFiles].filter(file => fileBaseName(file.fileUri).toLowerCase() === base);
204
- if (byName.length === 1) {
205
- const match = byName[0];
206
- const kind = snapshot.filesById[match.id] ? 'file' : 'code-file';
207
- return { page: match.page, kind };
208
- }
209
- }
210
- return undefined;
211
- }
212
- export function filePageEnabled(snapshot, kind) {
213
- return kind === 'file'
214
- ? snapshot.pageOptions.includeFilePages
215
- : snapshot.pageOptions.includeCodeFilePages;
216
- }
217
- export function renderDefinitionList(values, hrefForKey) {
218
- const entries = Object.entries(values);
219
- if (entries.length === 0) {
220
- return '<p class="subtle">No data available.</p>';
221
- }
222
- return `
223
- <dl class="rollup-list">
224
- ${entries.map(([key, value]) => {
225
- const label = filterDisplayLabel(key);
226
- const specialClass = isFilterNotPresent(key)
227
- ? 'rollup-special rollup-not-present'
228
- : isFilterEmpty(key)
229
- ? 'rollup-special rollup-empty'
230
- : isFilterUnspecified(key)
231
- ? 'rollup-special rollup-unspecified'
232
- : '';
233
- const href = hrefForKey?.(key);
234
- const term = href
235
- ? `<dt><a class="rollup-link" href="${escapeHtml(href)}">${escapeHtml(label)}</a></dt><dd><a class="rollup-link" href="${escapeHtml(href)}">${escapeHtml(String(value))}</a></dd>`
236
- : `<dt>${escapeHtml(label)}</dt><dd>${escapeHtml(String(value))}</dd>`;
237
- return `
238
- <div${specialClass ? ` class="${specialClass}"` : ''}>
239
- ${term}
240
- </div>`;
241
- }).join('')}
242
- </dl>
243
- `;
244
- }
245
- export function renderMetric(label, value, href) {
246
- const inner = `
247
- <span class="metric-label">${escapeHtml(label)}</span>
248
- <strong class="metric-value">${escapeHtml(value)}</strong>
249
- `;
250
- return `
251
- <article class="metric">
252
- ${href ? `<a class="metric-link" href="${escapeHtml(href)}">${inner}</a>` : inner}
253
- </article>
254
- `;
255
- }
256
- export function relatedClusters(snapshot, idea) {
257
- return idea.clusterIds
258
- .map(clusterId => snapshot.clustersById[clusterId])
259
- .filter((cluster) => Boolean(cluster));
260
- }
261
- export function fileByIdea(snapshot, idea) {
262
- return snapshot.files.find(file => file.fileUri === idea.fileUri);
263
- }
264
- /** Wiki `[[...]]` or bracket `[...]` tokens preserved in indexed summaries. */
265
- const SUMMARY_REF_PATTERN = /\[\[([\s\S]+?)\]\]|\[([^\[\]]+)\]/g;
266
- function fileBaseName(path) {
267
- const cleaned = path.replace(/^["']|["']$/g, '').trim();
268
- const segments = cleaned.split(/[/\\]/).filter(Boolean);
269
- return segments[segments.length - 1] || cleaned;
270
- }
271
- function summaryRefInner(raw) {
272
- const isWiki = raw.startsWith('[[') && raw.endsWith(']]');
273
- const inner = isWiki ? raw.slice(2, -2) : raw.slice(1, -1);
274
- let target = inner.trim();
275
- if (isWiki) {
276
- const pipe = inner.indexOf('|');
277
- if (pipe >= 0) {
278
- target = inner.slice(0, pipe).trim();
279
- }
280
- }
281
- return { isWiki, inner, target };
282
- }
283
- function summaryRefDisplayName(raw) {
284
- const { isWiki, inner, target } = summaryRefInner(raw);
285
- if (isWiki) {
286
- const pipe = inner.indexOf('|');
287
- if (pipe >= 0) {
288
- const alias = inner.slice(pipe + 1).trim();
289
- if (alias) {
290
- return alias;
291
- }
292
- }
293
- }
294
- const quoted = /^["'](.+)["']$/.exec(target);
295
- if (quoted?.[1]) {
296
- return fileBaseName(quoted[1]);
297
- }
298
- const segments = target.split('.').filter(Boolean);
299
- return segments[segments.length - 1] || target || raw;
300
- }
301
- function summaryRefFilePath(raw) {
302
- const { target } = summaryRefInner(raw);
303
- const quoted = /^["'](.+)["']$/.exec(target);
304
- return quoted?.[1]?.trim() || undefined;
305
- }
306
- function findIdeaByRefName(snapshot, raw, displayName) {
307
- const { target } = summaryRefInner(raw);
308
- const qualified = target.split('.').map(part => part.trim()).filter(Boolean);
309
- const ideaName = (qualified.at(-1) || displayName).toLowerCase();
310
- if (!ideaName) {
311
- return undefined;
312
- }
313
- const matches = snapshot.ideas.filter(candidate => candidate.name.toLowerCase() === ideaName);
314
- if (matches.length === 1) {
315
- return matches[0];
316
- }
317
- if (matches.length > 1 && qualified.length > 1) {
318
- const qualifier = qualified.slice(0, -1).join('.').toLowerCase();
319
- const narrowed = matches.filter(candidate => {
320
- const path = candidate.fileUri.toLowerCase();
321
- return path.includes(qualifier) || path.includes(qualifier.replace(/\./g, '/'));
322
- });
323
- if (narrowed.length === 1) {
324
- return narrowed[0];
325
- }
326
- }
327
- return undefined;
328
- }
329
- /**
330
- * Render text that may contain wiki/bracket refs as styled links to export pages.
331
- * When `samePageIdeaAnchors` is set, idea refs resolve to in-page `#` anchors
332
- * (see [html_export_print_in_page_anchors]) instead of separate idea pages.
333
- */
334
- export function renderTextWithRefsHtml(snapshot, currentPath, text, options) {
335
- const source = text?.trim();
336
- if (!source) {
337
- return escapeHtml(options?.emptyMessage ?? '');
338
- }
339
- const used = new WeakSet();
340
- const takeRow = (raw, displayName) => {
341
- if (!options?.idea) {
342
- return undefined;
343
- }
344
- const matches = [
345
- ...options.idea.references.outbound,
346
- ...options.idea.references.unresolved,
347
- ...options.idea.references.inbound
348
- ].filter(row => row.snippet === raw
349
- || [row.label, row.targetName, fileBaseName(row.targetPath)]
350
- .filter(Boolean)
351
- .map(value => String(value).toLowerCase())
352
- .includes(displayName.toLowerCase()));
353
- const unused = matches.find(row => !used.has(row));
354
- const row = unused ?? matches[0];
355
- if (row) {
356
- used.add(row);
357
- }
358
- return row;
359
- };
360
- const ideaFromRow = (row) => {
361
- if (!row) {
362
- return undefined;
363
- }
364
- if (row.targetIdeaId && snapshot.ideasById[row.targetIdeaId]) {
365
- return snapshot.ideasById[row.targetIdeaId];
366
- }
367
- if (row.direction === 'inbound' && snapshot.ideasById[row.sourceIdeaId]) {
368
- return snapshot.ideasById[row.sourceIdeaId];
369
- }
370
- return undefined;
371
- };
372
- const renderLine = (line) => {
373
- let html = '';
374
- let lastIndex = 0;
375
- SUMMARY_REF_PATTERN.lastIndex = 0;
376
- for (const match of line.matchAll(SUMMARY_REF_PATTERN)) {
377
- const raw = match[0];
378
- const index = match.index ?? 0;
379
- html += escapeHtml(line.slice(lastIndex, index));
380
- lastIndex = index + raw.length;
381
- const displayName = summaryRefDisplayName(raw);
382
- const row = takeRow(raw, displayName);
383
- const linkedIdea = ideaFromRow(row) ?? findIdeaByRefName(snapshot, raw, displayName);
384
- const filePath = summaryRefFilePath(raw) ?? (!linkedIdea ? row?.targetPath : undefined);
385
- const fileTarget = !linkedIdea && filePath
386
- ? resolveExportFilePage(snapshot, { fileUri: filePath })
387
- : undefined;
388
- const label = linkedIdea?.name
389
- ?? (fileTarget ? fileBaseName(filePath ?? displayName) : displayName);
390
- const title = linkedIdea
391
- ? `${linkedIdea.fileUri} · ${linkedIdea.name}`
392
- : filePath || row?.targetPath || (row && !row.isResolved ? `Unresolved reference: ${displayName}` : displayName);
393
- let href;
394
- if (linkedIdea && options?.samePageIdeaAnchors) {
395
- href = `#${exportIdeaAnchorId(linkedIdea)}`;
396
- }
397
- else if (linkedIdea && snapshot.pageOptions.includeIdeaPages) {
398
- href = pageHref(currentPath, linkedIdea.page, snapshot.urlBase);
399
- }
400
- else if (fileTarget && filePageEnabled(snapshot, fileTarget.kind)) {
401
- href = pageHref(currentPath, fileTarget.page, snapshot.urlBase);
402
- }
403
- const className = [
404
- 'idea-ref',
405
- linkedIdea ? 'idea-ref--idea' : '',
406
- fileTarget ? 'idea-ref--file' : '',
407
- !href ? 'idea-ref--unresolved' : ''
408
- ].filter(Boolean).join(' ');
409
- if (href) {
410
- html += `<a class="${className}" href="${escapeHtml(href)}" title="${escapeHtml(title)}">${escapeHtml(label)}</a>`;
411
- }
412
- else {
413
- html += `<span class="${className}" title="${escapeHtml(title)}">${escapeHtml(label)}</span>`;
414
- }
415
- }
416
- html += escapeHtml(line.slice(lastIndex));
417
- return html;
418
- };
419
- return source
420
- .split('\n')
421
- .map(line => renderLine(line))
422
- .join('<br>');
423
- }
424
- /**
425
- * Render an idea body/summary with styled inline refs: linked idea/file names and destination tooltips.
426
- */
427
- export function renderIdeaSummaryHtml(snapshot, currentPath, idea, emptyMessage = 'No summary provided.', options) {
428
- return renderTextWithRefsHtml(snapshot, currentPath, idea.summary ?? '', {
429
- idea,
430
- emptyMessage,
431
- samePageIdeaAnchors: options?.samePageIdeaAnchors
432
- });
433
- }
434
- /** Render an attribute value, linking any embedded idea/file refs to export pages. */
435
- export function renderAttributeValueHtml(snapshot, currentPath, value, idea, options) {
436
- if (value === true) {
437
- return 'true';
438
- }
439
- if (value === false) {
440
- return 'false';
441
- }
442
- if (value == null) {
443
- return '—';
444
- }
445
- if (Array.isArray(value)) {
446
- if (value.length === 0) {
447
- return '—';
448
- }
449
- return value
450
- .map(item => renderTextWithRefsHtml(snapshot, currentPath, String(item), {
451
- idea,
452
- samePageIdeaAnchors: options?.samePageIdeaAnchors
453
- }))
454
- .join(', ');
455
- }
456
- if (typeof value === 'object') {
457
- return escapeHtml(JSON.stringify(value));
458
- }
459
- const text = String(value);
460
- if (!text.trim()) {
461
- return '—';
462
- }
463
- return renderTextWithRefsHtml(snapshot, currentPath, text, {
464
- idea,
465
- samePageIdeaAnchors: options?.samePageIdeaAnchors
466
- });
467
- }
468
- /**
469
- * Compact attribute list for printable idea cards/sheets.
470
- * Shows every declared attribute (not only status/tags).
471
- */
472
- export function renderPrintIdeaAttributesHtml(snapshot, currentPath, idea, options) {
473
- const entries = Object.entries(idea.attributes);
474
- if (entries.length === 0) {
475
- return '';
476
- }
477
- const rows = entries.map(([key, value]) => `
478
- <div>
479
- <dt>${escapeHtml(key)}</dt>
480
- <dd>${renderAttributeValueHtml(snapshot, currentPath, value, idea, options)}</dd>
481
- </div>
482
- `).join('');
483
- return `<dl class="print-attrs">${rows}</dl>`;
484
- }
485
- //# sourceMappingURL=html-export-utils.js.map