@reqlan/analytical 0.7.0 → 0.8.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 (73) hide show
  1. package/README.md +19 -0
  2. package/out/analysis/fuzzy-search-analyser.d.ts +17 -0
  3. package/out/analysis/fuzzy-search-analyser.js +25 -0
  4. package/out/analysis/fuzzy-search-analyser.js.map +1 -0
  5. package/out/analysis/fuzzy-search-worker-client.d.ts +39 -0
  6. package/out/analysis/fuzzy-search-worker-client.js +178 -0
  7. package/out/analysis/fuzzy-search-worker-client.js.map +1 -0
  8. package/out/analysis/fuzzy-search-worker.d.ts +32 -0
  9. package/out/analysis/fuzzy-search-worker.js +81 -0
  10. package/out/analysis/fuzzy-search-worker.js.map +1 -0
  11. package/out/analysis/fuzzy-search.d.ts +38 -0
  12. package/out/analysis/fuzzy-search.js +217 -0
  13. package/out/analysis/fuzzy-search.js.map +1 -0
  14. package/out/analysis/git-dates-analyser.js +12 -3
  15. package/out/analysis/git-dates-analyser.js.map +1 -1
  16. package/out/analysis-api.d.ts +14 -0
  17. package/out/analysis-api.js +32 -0
  18. package/out/analysis-api.js.map +1 -1
  19. package/out/core/barrel-page.d.ts +46 -0
  20. package/out/core/barrel-page.js +162 -0
  21. package/out/core/barrel-page.js.map +1 -0
  22. package/out/core/filter-specials.d.ts +2 -0
  23. package/out/core/filter-specials.js +15 -0
  24. package/out/core/filter-specials.js.map +1 -1
  25. package/out/core/types.d.ts +17 -1
  26. package/out/core/types.js +1 -0
  27. package/out/core/types.js.map +1 -1
  28. package/out/create-runtime.js +2 -0
  29. package/out/create-runtime.js.map +1 -1
  30. package/out/export/export-csv.d.ts +4 -0
  31. package/out/export/export-csv.js +13 -0
  32. package/out/export/export-csv.js.map +1 -0
  33. package/out/export/export-json.d.ts +6 -0
  34. package/out/export/export-json.js +28 -0
  35. package/out/export/export-json.js.map +1 -0
  36. package/out/export/export-markdown.d.ts +4 -0
  37. package/out/export/export-markdown.js +23 -0
  38. package/out/export/export-markdown.js.map +1 -0
  39. package/out/export/html-export-assets.d.ts +1 -1
  40. package/out/export/html-export-assets.js +126 -5
  41. package/out/export/html-export-assets.js.map +1 -1
  42. package/out/export/html-export-template.js +89 -47
  43. package/out/export/html-export-template.js.map +1 -1
  44. package/out/export/html-export-utils.d.ts +33 -3
  45. package/out/export/html-export-utils.js +108 -10
  46. package/out/export/html-export-utils.js.map +1 -1
  47. package/out/export/types.d.ts +1 -1
  48. package/out/export/write-csv-export.d.ts +5 -0
  49. package/out/export/write-csv-export.js +132 -0
  50. package/out/export/write-csv-export.js.map +1 -0
  51. package/out/export/write-json-export.d.ts +3 -0
  52. package/out/export/write-json-export.js +92 -0
  53. package/out/export/write-json-export.js.map +1 -0
  54. package/out/export/write-markdown-export.d.ts +5 -0
  55. package/out/export/write-markdown-export.js +177 -0
  56. package/out/export/write-markdown-export.js.map +1 -0
  57. package/out/index-store/idea-extractor.d.ts +6 -1
  58. package/out/index-store/idea-extractor.js +56 -11
  59. package/out/index-store/idea-extractor.js.map +1 -1
  60. package/out/index-store/sqlite-store.d.ts +16 -3
  61. package/out/index-store/sqlite-store.js +104 -8
  62. package/out/index-store/sqlite-store.js.map +1 -1
  63. package/out/index-store/webview-graph-queries.d.ts +5 -0
  64. package/out/index-store/webview-graph-queries.js +21 -4
  65. package/out/index-store/webview-graph-queries.js.map +1 -1
  66. package/out/index-store/webview-table-queries.js +1 -0
  67. package/out/index-store/webview-table-queries.js.map +1 -1
  68. package/out/index-store/workspace-index-file.js +22 -1
  69. package/out/index-store/workspace-index-file.js.map +1 -1
  70. package/out/index.d.ts +14 -1
  71. package/out/index.js +9 -1
  72. package/out/index.js.map +1 -1
  73. package/package.json +2 -2
@@ -1,4 +1,4 @@
1
- import { filterDisplayLabel, isFilterEmpty, isFilterNotPresent, isFilterUnspecified } from '../core/filter-specials.js';
1
+ import { filterDisplayLabel, FILTER_NOT_PRESENT, isFilterEmpty, isFilterNotPresent, isFilterUnspecified } from '../core/filter-specials.js';
2
2
  export function escapeHtml(value) {
3
3
  return value
4
4
  .replace(/&/g, '&')
@@ -70,6 +70,10 @@ export function formatAttributeValue(value) {
70
70
  export function slugAttributeKey(key) {
71
71
  return key.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '') || 'attribute';
72
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
+ }
73
77
  /** Trimmed status when present; otherwise undefined (never invent "unspecified"). */
74
78
  export function ideaStatus(idea) {
75
79
  const value = idea.status?.trim();
@@ -95,6 +99,68 @@ export function renderOptionalTagsCell(idea) {
95
99
  const tags = ideaTags(idea);
96
100
  return tags.length > 0 ? escapeHtml(tags.join(', ')) : '';
97
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
+ }
98
164
  export function pageHref(currentPath, page, urlBase) {
99
165
  return hrefFor(currentPath, page.path, urlBase);
100
166
  }
@@ -148,7 +214,7 @@ export function filePageEnabled(snapshot, kind) {
148
214
  ? snapshot.pageOptions.includeFilePages
149
215
  : snapshot.pageOptions.includeCodeFilePages;
150
216
  }
151
- export function renderDefinitionList(values) {
217
+ export function renderDefinitionList(values, hrefForKey) {
152
218
  const entries = Object.entries(values);
153
219
  if (entries.length === 0) {
154
220
  return '<p class="subtle">No data available.</p>';
@@ -164,10 +230,13 @@ export function renderDefinitionList(values) {
164
230
  : isFilterUnspecified(key)
165
231
  ? 'rollup-special rollup-unspecified'
166
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>`;
167
237
  return `
168
238
  <div${specialClass ? ` class="${specialClass}"` : ''}>
169
- <dt>${escapeHtml(label)}</dt>
170
- <dd>${escapeHtml(String(value))}</dd>
239
+ ${term}
171
240
  </div>`;
172
241
  }).join('')}
173
242
  </dl>
@@ -259,6 +328,8 @@ function findIdeaByRefName(snapshot, raw, displayName) {
259
328
  }
260
329
  /**
261
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.
262
333
  */
263
334
  export function renderTextWithRefsHtml(snapshot, currentPath, text, options) {
264
335
  const source = text?.trim();
@@ -320,7 +391,10 @@ export function renderTextWithRefsHtml(snapshot, currentPath, text, options) {
320
391
  ? `${linkedIdea.fileUri} · ${linkedIdea.name}`
321
392
  : filePath || row?.targetPath || (row && !row.isResolved ? `Unresolved reference: ${displayName}` : displayName);
322
393
  let href;
323
- if (linkedIdea && snapshot.pageOptions.includeIdeaPages) {
394
+ if (linkedIdea && options?.samePageIdeaAnchors) {
395
+ href = `#${exportIdeaAnchorId(linkedIdea)}`;
396
+ }
397
+ else if (linkedIdea && snapshot.pageOptions.includeIdeaPages) {
324
398
  href = pageHref(currentPath, linkedIdea.page, snapshot.urlBase);
325
399
  }
326
400
  else if (fileTarget && filePageEnabled(snapshot, fileTarget.kind)) {
@@ -350,14 +424,15 @@ export function renderTextWithRefsHtml(snapshot, currentPath, text, options) {
350
424
  /**
351
425
  * Render an idea body/summary with styled inline refs: linked idea/file names and destination tooltips.
352
426
  */
353
- export function renderIdeaSummaryHtml(snapshot, currentPath, idea, emptyMessage = 'No summary provided.') {
427
+ export function renderIdeaSummaryHtml(snapshot, currentPath, idea, emptyMessage = 'No summary provided.', options) {
354
428
  return renderTextWithRefsHtml(snapshot, currentPath, idea.summary ?? '', {
355
429
  idea,
356
- emptyMessage
430
+ emptyMessage,
431
+ samePageIdeaAnchors: options?.samePageIdeaAnchors
357
432
  });
358
433
  }
359
434
  /** Render an attribute value, linking any embedded idea/file refs to export pages. */
360
- export function renderAttributeValueHtml(snapshot, currentPath, value, idea) {
435
+ export function renderAttributeValueHtml(snapshot, currentPath, value, idea, options) {
361
436
  if (value === true) {
362
437
  return 'true';
363
438
  }
@@ -372,7 +447,10 @@ export function renderAttributeValueHtml(snapshot, currentPath, value, idea) {
372
447
  return '—';
373
448
  }
374
449
  return value
375
- .map(item => renderTextWithRefsHtml(snapshot, currentPath, String(item), { idea }))
450
+ .map(item => renderTextWithRefsHtml(snapshot, currentPath, String(item), {
451
+ idea,
452
+ samePageIdeaAnchors: options?.samePageIdeaAnchors
453
+ }))
376
454
  .join(', ');
377
455
  }
378
456
  if (typeof value === 'object') {
@@ -382,6 +460,26 @@ export function renderAttributeValueHtml(snapshot, currentPath, value, idea) {
382
460
  if (!text.trim()) {
383
461
  return '—';
384
462
  }
385
- return renderTextWithRefsHtml(snapshot, currentPath, text, { idea });
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>`;
386
484
  }
387
485
  //# sourceMappingURL=html-export-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"html-export-utils.js","sourceRoot":"","sources":["../../src/export/html-export-utils.ts"],"names":[],"mappings":"AAOA,OAAO,EACH,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACtB,MAAM,4BAA4B,CAAC;AAEpC,MAAM,UAAU,UAAU,CAAC,KAAa;IACpC,OAAO,KAAK;SACP,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAa;IACpC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE;QAC3C,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,OAAO;QACd,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,SAAS;KACpB,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAc;IACxC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACnE,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC7C,MAAM,OAAO,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC;IAChC,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACpD,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,IAAI,2BAA2B,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACvF,OAAO,eAAe,CAAC;IAC3B,CAAC;IACD,OAAO,IAAI,eAAe,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,WAAmB,EAAE,UAAkB,EAAE,OAAgB;IAC7E,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC1E,IAAI,IAAI,EAAE,CAAC;QACP,OAAO,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,aAAa,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC;IACnE,CAAC;IACD,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1C,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,UAAU,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAc;IAC/C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QAClB,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAChB,OAAO,EAAE,CAAC;IACd,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAW;IACxC,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC;AAC9F,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,UAAU,CAAC,IAAgC;IACvD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;IAClC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACrC,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,QAAQ,CAAC,IAAyC;IAC9D,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,IAAgC;IAC1E,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,MAAM,CAAC,CAAC,CAAC,+BAA+B,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,IAAyC;IACjF,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,6BAA6B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;AACjG,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAgC;IACrE,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAyC;IAC5E,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,WAAmB,EAAE,IAAoB,EAAE,OAAgB;IAChF,OAAO,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,qBAAqB,CACjC,QAAwB,EACxB,OAA0C;IAE1C,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE;QACnB,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACxE,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,IAAI,EAAE,CAAC;QACP,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;QAChE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IACrC,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;IACxC,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;IACtE,IAAI,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAChD,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;IAC3E,IAAI,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IACtD,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACpE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACnD,OAAO,SAAS,KAAK,UAAU;eACxB,SAAS,CAAC,QAAQ,CAAC,IAAI,UAAU,EAAE,CAAC;eACpC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC;eAC9B,UAAU,CAAC,QAAQ,CAAC,IAAI,SAAS,EAAE,CAAC;eACpC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IACH,IAAI,QAAQ,EAAE,CAAC;QACX,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;QACpE,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IACzC,CAAC;IACD,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IACjD,IAAI,IAAI,EAAE,CAAC;QACP,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CACpE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI,CACpD,CAAC;QACF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;YACzB,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;YACjE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QACtC,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAwB,EAAE,IAA0B;IAChF,OAAO,IAAI,KAAK,MAAM;QAClB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,gBAAgB;QACvC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,oBAAoB,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAA8B;IAC/D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,0CAA0C,CAAC;IACtD,CAAC;IACD,OAAO;;cAEG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC;YACxC,CAAC,CAAC,mCAAmC;YACrC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC;gBAChB,CAAC,CAAC,6BAA6B;gBAC/B,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC;oBACtB,CAAC,CAAC,mCAAmC;oBACrC,CAAC,CAAC,EAAE,CAAC;QACjB,OAAO;sBACD,YAAY,CAAC,CAAC,CAAC,WAAW,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE;0BAC1C,UAAU,CAAC,KAAK,CAAC;0BACjB,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;uBAC5B,CAAC;IACZ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;KAElB,CAAC;AACN,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,KAAa,EAAE,IAAa;IACpE,MAAM,KAAK,GAAG;qCACmB,UAAU,CAAC,KAAK,CAAC;uCACf,UAAU,CAAC,KAAK,CAAC;KACnD,CAAC;IACF,OAAO;;cAEG,IAAI,CAAC,CAAC,CAAC,gCAAgC,UAAU,CAAC,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK;;KAExF,CAAC;AACN,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAwB,EAAE,IAAsB;IAC5E,OAAO,IAAI,CAAC,UAAU;SACjB,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;SAClD,MAAM,CAAC,CAAC,OAAO,EAAkC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAAwB,EAAE,IAAsB;IACvE,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC;AACtE,CAAC;AAED,+EAA+E;AAC/E,MAAM,mBAAmB,GAAG,oCAAoC,CAAC;AAEjE,SAAS,YAAY,CAAC,IAAY;IAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACxD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACxD,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC;AACpD,CAAC;AAED,SAAS,eAAe,CAAC,GAAW;IAChC,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3D,IAAI,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC1B,IAAI,MAAM,EAAE,CAAC;QACT,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;YACZ,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QACzC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AACrC,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAW;IACtC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACvD,IAAI,MAAM,EAAE,CAAC;QACT,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3C,IAAI,KAAK,EAAE,CAAC;gBACR,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;IACL,CAAC;IACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACd,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnD,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,MAAM,IAAI,GAAG,CAAC;AAC1D,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAW;IACnC,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;AAC5C,CAAC;AAID,SAAS,iBAAiB,CAAC,QAAwB,EAAE,GAAW,EAAE,WAAmB;IACjF,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;IACjE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,CAAC;IAC9F,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7C,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QACjE,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;YACxC,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAClC,QAAwB,EACxB,WAAmB,EACnB,IAAY,EACZ,OAGC;IAED,MAAM,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAO,UAAU,CAAC,OAAO,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,OAAO,EAAU,CAAC;IACnC,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,WAAmB,EAA4B,EAAE;QAC3E,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;YACjB,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,MAAM,OAAO,GAAG;YACZ,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ;YACnC,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU;YACrC,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO;SACrC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACX,GAAG,CAAC,OAAO,KAAK,GAAG;eAChB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;iBACvD,MAAM,CAAC,OAAO,CAAC;iBACf,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;iBACzC,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAC3C,CAAC;QACF,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,GAAG,EAAE,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,GAA6B,EAAgC,EAAE;QAChF,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,IAAI,GAAG,CAAC,YAAY,IAAI,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YAC3D,OAAO,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACtE,OAAO,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE;QACxC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,mBAAmB,CAAC,SAAS,GAAG,CAAC,CAAC;QAClC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACrD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;YACtB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;YAC/B,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;YACjD,SAAS,GAAG,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC;YAE/B,MAAM,WAAW,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;YAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YACtC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;YACrF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACxF,MAAM,UAAU,GAAG,CAAC,UAAU,IAAI,QAAQ;gBACtC,CAAC,CAAC,qBAAqB,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;gBACxD,CAAC,CAAC,SAAS,CAAC;YAEhB,MAAM,KAAK,GAAG,UAAU,EAAE,IAAI;mBACvB,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAC1E,MAAM,KAAK,GAAG,UAAU;gBACpB,CAAC,CAAC,GAAG,UAAU,CAAC,OAAO,MAAM,UAAU,CAAC,IAAI,EAAE;gBAC9C,CAAC,CAAC,QAAQ,IAAI,GAAG,EAAE,UAAU,IAAI,CAC7B,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,yBAAyB,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,CAChF,CAAC;YAEN,IAAI,IAAwB,CAAC;YAC7B,IAAI,UAAU,IAAI,QAAQ,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;gBACtD,IAAI,GAAG,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;YACpE,CAAC;iBAAM,IAAI,UAAU,IAAI,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClE,IAAI,GAAG,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;YACpE,CAAC;YAED,MAAM,SAAS,GAAG;gBACd,UAAU;gBACV,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;gBAClC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;gBAClC,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE;aACtC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE5B,IAAI,IAAI,EAAE,CAAC;gBACP,IAAI,IAAI,aAAa,SAAS,WAAW,UAAU,CAAC,IAAI,CAAC,YAAY,UAAU,CAAC,KAAK,CAAC,KAAK,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;YACvH,CAAC;iBAAM,CAAC;gBACJ,IAAI,IAAI,gBAAgB,SAAS,YAAY,UAAU,CAAC,KAAK,CAAC,KAAK,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC;YAClG,CAAC;QACL,CAAC;QACD,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;IAEF,OAAO,MAAM;SACR,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SAC7B,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACjC,QAAwB,EACxB,WAAmB,EACnB,IAAsB,EACtB,YAAY,GAAG,sBAAsB;IAErC,OAAO,sBAAsB,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE;QACrE,IAAI;QACJ,YAAY;KACf,CAAC,CAAC;AACP,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,wBAAwB,CACpC,QAAwB,EACxB,WAAmB,EACnB,KAAc,EACd,IAAuB;IAEvB,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QAClB,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAChB,OAAO,GAAG,CAAC;IACf,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,GAAG,CAAC;QACf,CAAC;QACD,OAAO,KAAK;aACP,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;aAClF,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACf,OAAO,GAAG,CAAC;IACf,CAAC;IACD,OAAO,sBAAsB,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AACzE,CAAC"}
1
+ {"version":3,"file":"html-export-utils.js","sourceRoot":"","sources":["../../src/export/html-export-utils.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { AncestorChainResult, IdeaAttributeMap, IdeaSummary, ReferenceListRow } from '../core/types.js';
2
2
  import type { GraphViewSlice } from '../index-store/webview-graph-queries.js';
3
- export type ExportFormat = 'html' | 'pdf';
3
+ export type ExportFormat = 'html' | 'pdf' | 'markdown' | 'json' | 'csv';
4
4
  export type ExportScope = 'workspace' | 'currentFile';
5
5
  export type ExportRuntimeMode = 'interactive' | 'document' | 'print';
6
6
  export type ExportClusterStrategy = 'deterministic' | 'hybrid';
@@ -0,0 +1,5 @@
1
+ import type { ExportProgressCallback, ExportRequest, ExportResult, ExportSnapshot } from './types.js';
2
+ /** Write CSV export(s): ideas.csv with flattened tags/attributes, plus references.csv. */
3
+ export declare function writeCsvExport(snapshot: ExportSnapshot, request: ExportRequest, onProgress?: ExportProgressCallback): Promise<ExportResult>;
4
+ /** RFC 4180-ish CSV cell escaping. */
5
+ export declare function csvEscape(value: string): string;
@@ -0,0 +1,132 @@
1
+ import { mkdir, writeFile } from 'node:fs/promises';
2
+ import { join } from 'node:path';
3
+ import { formatAttributeValue } from './html-export-utils.js';
4
+ /** Write CSV export(s): ideas.csv with flattened tags/attributes, plus references.csv. */
5
+ export async function writeCsvExport(snapshot, request, onProgress) {
6
+ const outputDir = join(request.outputDir, request.exportName);
7
+ await mkdir(outputDir, { recursive: true });
8
+ const ideasPath = join(outputDir, 'ideas.csv');
9
+ const referencesPath = join(outputDir, 'references.csv');
10
+ const total = 2;
11
+ let completed = 0;
12
+ onProgress?.({
13
+ phase: 'write',
14
+ message: 'Writing ideas.csv…',
15
+ completed,
16
+ total,
17
+ });
18
+ await writeFile(ideasPath, renderIdeasCsv(snapshot), 'utf8');
19
+ completed += 1;
20
+ onProgress?.({
21
+ phase: 'write',
22
+ message: 'Writing references.csv…',
23
+ completed,
24
+ total,
25
+ });
26
+ await writeFile(referencesPath, renderReferencesCsv(snapshot), 'utf8');
27
+ completed += 1;
28
+ onProgress?.({
29
+ phase: 'write',
30
+ message: `Wrote ${total} CSV files`,
31
+ completed,
32
+ total,
33
+ });
34
+ return {
35
+ outputDir,
36
+ indexFilePath: ideasPath,
37
+ printFilePath: ideasPath,
38
+ dataFilePath: referencesPath,
39
+ };
40
+ }
41
+ function renderIdeasCsv(snapshot) {
42
+ const attributeKeys = collectAttributeKeys(snapshot.ideas);
43
+ const headers = [
44
+ 'id',
45
+ 'name',
46
+ 'kind',
47
+ 'fileUri',
48
+ 'lineStart',
49
+ 'status',
50
+ 'tags',
51
+ 'summary',
52
+ ...attributeKeys.map(key => `attr:${key}`),
53
+ ];
54
+ const rows = snapshot.ideas.map(idea => {
55
+ const cells = [
56
+ idea.id,
57
+ idea.name,
58
+ idea.kind,
59
+ idea.fileUri,
60
+ String(idea.lineStart),
61
+ idea.status ?? '',
62
+ idea.tags.join(';'),
63
+ idea.summary,
64
+ ...attributeKeys.map(key => {
65
+ if (!(key in idea.attributes)) {
66
+ return '';
67
+ }
68
+ return formatAttributeValue(idea.attributes[key]);
69
+ }),
70
+ ];
71
+ return cells.map(csvEscape).join(',');
72
+ });
73
+ return `${headers.map(csvEscape).join(',')}\n${rows.join('\n')}${rows.length > 0 ? '\n' : ''}`;
74
+ }
75
+ function renderReferencesCsv(snapshot) {
76
+ const headers = [
77
+ 'sourceIdeaId',
78
+ 'sourceName',
79
+ 'direction',
80
+ 'kind',
81
+ 'label',
82
+ 'targetIdeaId',
83
+ 'targetName',
84
+ 'targetPath',
85
+ 'isResolved',
86
+ 'snippet',
87
+ ];
88
+ const rows = [];
89
+ for (const idea of snapshot.ideas) {
90
+ for (const group of [
91
+ { direction: 'outbound', rows: idea.references.outbound },
92
+ { direction: 'inbound', rows: idea.references.inbound },
93
+ { direction: 'unresolved', rows: idea.references.unresolved },
94
+ ]) {
95
+ for (const row of group.rows) {
96
+ rows.push([
97
+ idea.id,
98
+ idea.name,
99
+ group.direction,
100
+ row.kind,
101
+ row.label,
102
+ row.targetIdeaId ?? '',
103
+ row.targetName,
104
+ row.targetPath,
105
+ row.isResolved ? 'true' : 'false',
106
+ row.snippet ?? '',
107
+ ].map(csvEscape).join(','));
108
+ }
109
+ }
110
+ }
111
+ return `${headers.map(csvEscape).join(',')}\n${rows.join('\n')}${rows.length > 0 ? '\n' : ''}`;
112
+ }
113
+ function collectAttributeKeys(ideas) {
114
+ const keys = new Set();
115
+ for (const idea of ideas) {
116
+ for (const key of Object.keys(idea.attributes)) {
117
+ if (key === 'status' || key === 'tags') {
118
+ continue;
119
+ }
120
+ keys.add(key);
121
+ }
122
+ }
123
+ return [...keys].sort((a, b) => a.localeCompare(b));
124
+ }
125
+ /** RFC 4180-ish CSV cell escaping. */
126
+ export function csvEscape(value) {
127
+ if (/[",\n\r]/.test(value)) {
128
+ return `"${value.replace(/"/g, '""')}"`;
129
+ }
130
+ return value;
131
+ }
132
+ //# sourceMappingURL=write-csv-export.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-csv-export.js","sourceRoot":"","sources":["../../src/export/write-csv-export.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ExportProgressCallback, ExportRequest, ExportResult, ExportSnapshot } from './types.js';
2
+ /** Write a structured JSON export for tooling and AI consumption. */
3
+ export declare function writeJsonExport(snapshot: ExportSnapshot, request: ExportRequest, onProgress?: ExportProgressCallback): Promise<ExportResult>;
@@ -0,0 +1,92 @@
1
+ import { mkdir, writeFile } from 'node:fs/promises';
2
+ import { join } from 'node:path';
3
+ /** Write a structured JSON export for tooling and AI consumption. */
4
+ export async function writeJsonExport(snapshot, request, onProgress) {
5
+ const outputDir = join(request.outputDir, request.exportName);
6
+ await mkdir(outputDir, { recursive: true });
7
+ const indexFilePath = join(outputDir, 'export.json');
8
+ onProgress?.({
9
+ phase: 'write',
10
+ message: 'Writing export.json…',
11
+ completed: 0,
12
+ total: 1,
13
+ });
14
+ const payload = {
15
+ format: 'json',
16
+ title: snapshot.title,
17
+ generatedAt: snapshot.generatedAt,
18
+ workspaceRoot: snapshot.workspaceRoot,
19
+ scope: snapshot.scope,
20
+ sourceFileUri: snapshot.sourceFileUri,
21
+ counts: snapshot.counts,
22
+ byStatus: snapshot.byStatus,
23
+ byTag: snapshot.byTag,
24
+ ideas: snapshot.ideas.map(idea => ({
25
+ id: idea.id,
26
+ name: idea.name,
27
+ kind: idea.kind,
28
+ fileUri: idea.fileUri,
29
+ lineStart: idea.lineStart,
30
+ summary: idea.summary,
31
+ status: idea.status,
32
+ tags: idea.tags,
33
+ attributes: idea.attributes,
34
+ references: {
35
+ inbound: idea.references.inbound.map(compactRef),
36
+ outbound: idea.references.outbound.map(compactRef),
37
+ unresolved: idea.references.unresolved.map(compactRef),
38
+ },
39
+ clusterIds: idea.clusterIds,
40
+ })),
41
+ files: snapshot.files.map(file => ({
42
+ fileUri: file.fileUri,
43
+ ideaIds: file.ideas.map(idea => idea.id),
44
+ ideaCount: file.ideas.length,
45
+ statuses: file.statuses,
46
+ tags: file.tags,
47
+ })),
48
+ clusters: snapshot.clusters.map(cluster => ({
49
+ id: cluster.id,
50
+ kind: cluster.kind,
51
+ label: cluster.label,
52
+ description: cluster.description,
53
+ ideaIds: cluster.ideaIds,
54
+ counts: cluster.counts,
55
+ })),
56
+ attributes: snapshot.attributes.map(attribute => ({
57
+ key: attribute.key,
58
+ ideaCount: attribute.ideaCount,
59
+ values: attribute.values.map(value => ({
60
+ value: value.value,
61
+ count: value.count,
62
+ ideaIds: value.ideaIds,
63
+ })),
64
+ })),
65
+ };
66
+ await writeFile(indexFilePath, `${JSON.stringify(payload, null, 2)}\n`, 'utf8');
67
+ onProgress?.({
68
+ phase: 'write',
69
+ message: 'Wrote export.json',
70
+ completed: 1,
71
+ total: 1,
72
+ });
73
+ return {
74
+ outputDir,
75
+ indexFilePath,
76
+ printFilePath: indexFilePath,
77
+ dataFilePath: indexFilePath,
78
+ };
79
+ }
80
+ function compactRef(row) {
81
+ return {
82
+ kind: row.kind,
83
+ label: row.label,
84
+ targetName: row.targetName,
85
+ targetPath: row.targetPath,
86
+ targetIdeaId: row.targetIdeaId,
87
+ sourceIdeaId: row.sourceIdeaId,
88
+ isResolved: row.isResolved,
89
+ snippet: row.snippet,
90
+ };
91
+ }
92
+ //# sourceMappingURL=write-json-export.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-json-export.js","sourceRoot":"","sources":["../../src/export/write-json-export.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { ExportProgressCallback, ExportRequest, ExportResult, ExportSnapshot } from './types.js';
2
+ /** Build markdown paths from HTML-oriented snapshot page paths. */
3
+ export declare function toMarkdownPath(htmlPath: string): string;
4
+ /** Write a multi-file markdown export from an export snapshot. */
5
+ export declare function writeMarkdownExport(snapshot: ExportSnapshot, request: ExportRequest, onProgress?: ExportProgressCallback): Promise<ExportResult>;