@graphrefly/graphrefly 0.26.0 → 0.27.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 (150) hide show
  1. package/dist/ai-CaR_912Q.d.cts +1033 -0
  2. package/dist/ai-WlRltJV7.d.ts +1033 -0
  3. package/dist/audit-ClmqGOCx.d.cts +245 -0
  4. package/dist/audit-DRlSzBu9.d.ts +245 -0
  5. package/dist/{chunk-JYXEWPH4.js → chunk-APFNLIRG.js} +2 -2
  6. package/dist/chunk-AT5LKYNL.js +395 -0
  7. package/dist/chunk-AT5LKYNL.js.map +1 -0
  8. package/dist/{chunk-AMCG74RZ.js → chunk-BQ6RQQFF.js} +215 -2128
  9. package/dist/chunk-BQ6RQQFF.js.map +1 -0
  10. package/dist/{chunk-IZYUSJC7.js → chunk-DST5DKZS.js} +6 -4
  11. package/dist/{chunk-IZYUSJC7.js.map → chunk-DST5DKZS.js.map} +1 -1
  12. package/dist/{chunk-LCE3GF5P.js → chunk-GTE6PWRZ.js} +2 -2
  13. package/dist/{chunk-RB6QPHJ7.js → chunk-J2VBW3DZ.js} +2 -93
  14. package/dist/chunk-J2VBW3DZ.js.map +1 -0
  15. package/dist/{chunk-FQMKGR6L.js → chunk-JWBCY4NC.js} +3 -3
  16. package/dist/chunk-K2AUJHVP.js +2251 -0
  17. package/dist/chunk-K2AUJHVP.js.map +1 -0
  18. package/dist/chunk-NC6S43JJ.js +456 -0
  19. package/dist/chunk-NC6S43JJ.js.map +1 -0
  20. package/dist/chunk-OFVJBJXR.js +98 -0
  21. package/dist/chunk-OFVJBJXR.js.map +1 -0
  22. package/dist/{chunk-6LDQFTYS.js → chunk-OU5CQKNW.js} +2 -2
  23. package/dist/{chunk-THTWHNU4.js → chunk-PF7GRZMW.js} +5 -5
  24. package/dist/chunk-RNHBMHKA.js +1665 -0
  25. package/dist/chunk-RNHBMHKA.js.map +1 -0
  26. package/dist/{chunk-SN4YWWYO.js → chunk-WBZOVTYK.js} +11 -11
  27. package/dist/chunk-WKNUIZOY.js +354 -0
  28. package/dist/chunk-WKNUIZOY.js.map +1 -0
  29. package/dist/{chunk-ZQMEI34O.js → chunk-X3VMZYBT.js} +3 -3
  30. package/dist/chunk-X5R3GL6H.js +525 -0
  31. package/dist/chunk-X5R3GL6H.js.map +1 -0
  32. package/dist/compat/index.d.cts +14 -14
  33. package/dist/compat/index.d.ts +14 -14
  34. package/dist/compat/index.js +17 -16
  35. package/dist/compat/jotai/index.d.cts +2 -2
  36. package/dist/compat/jotai/index.d.ts +2 -2
  37. package/dist/compat/nanostores/index.d.cts +2 -2
  38. package/dist/compat/nanostores/index.d.ts +2 -2
  39. package/dist/compat/nestjs/index.d.cts +6 -6
  40. package/dist/compat/nestjs/index.d.ts +6 -6
  41. package/dist/compat/nestjs/index.js +7 -6
  42. package/dist/compat/react/index.d.cts +2 -2
  43. package/dist/compat/react/index.d.ts +2 -2
  44. package/dist/compat/solid/index.d.cts +2 -2
  45. package/dist/compat/solid/index.d.ts +2 -2
  46. package/dist/compat/svelte/index.d.cts +2 -2
  47. package/dist/compat/svelte/index.d.ts +2 -2
  48. package/dist/compat/vue/index.d.cts +2 -2
  49. package/dist/compat/vue/index.d.ts +2 -2
  50. package/dist/compat/zustand/index.d.cts +5 -5
  51. package/dist/compat/zustand/index.d.ts +5 -5
  52. package/dist/compat/zustand/index.js +3 -3
  53. package/dist/composite-C7PcQvcs.d.cts +303 -0
  54. package/dist/composite-aUCvjZVR.d.ts +303 -0
  55. package/dist/core/index.d.cts +4 -3
  56. package/dist/core/index.d.ts +4 -3
  57. package/dist/{demo-shell-DEp-nMTl.d.ts → demo-shell-BDkOptd6.d.ts} +2 -2
  58. package/dist/{demo-shell-26p5fVxn.d.cts → demo-shell-Crid1WdR.d.cts} +2 -2
  59. package/dist/extra/index.d.cts +5 -4
  60. package/dist/extra/index.d.ts +5 -4
  61. package/dist/extra/index.js +68 -62
  62. package/dist/extra/sources.d.cts +1 -1
  63. package/dist/extra/sources.d.ts +1 -1
  64. package/dist/graph/index.d.cts +5 -5
  65. package/dist/graph/index.d.ts +5 -5
  66. package/dist/graph/index.js +3 -3
  67. package/dist/{graph-DQ69XU0g.d.ts → graph-CCwGKLCm.d.ts} +4 -4
  68. package/dist/{graph-6tZ5jEzr.d.cts → graph-DNCrvZSn.d.cts} +4 -4
  69. package/dist/{index-qldRdbQw.d.ts → index-3lsddbbS.d.ts} +1 -1
  70. package/dist/{index-Bxb5ZYc9.d.cts → index-B1tloyhO.d.cts} +1 -1
  71. package/dist/{index-eJ6T_qGM.d.ts → index-B6D3QNSA.d.ts} +2 -2
  72. package/dist/{index-B4MP_8V_.d.cts → index-B6EhDnjH.d.cts} +1 -1
  73. package/dist/{index-CmnuOibw.d.ts → index-B9B7_HEY.d.ts} +1 -1
  74. package/dist/{index-BeIdBfcb.d.cts → index-BHlKbUwO.d.cts} +16 -315
  75. package/dist/{index-CuYwdKO-.d.ts → index-BPVt8kqc.d.ts} +3 -3
  76. package/dist/index-BaSM3aYt.d.ts +195 -0
  77. package/dist/{index-BjI6ty9z.d.ts → index-BuEoe-Qu.d.ts} +9 -9
  78. package/dist/{index-DdD5MVDL.d.ts → index-BwfLUNw4.d.ts} +16 -315
  79. package/dist/{index-QBpffFW-.d.cts → index-ByQxazQJ.d.cts} +1 -1
  80. package/dist/{index-xdGjv0nO.d.ts → index-C0svESO4.d.ts} +1 -1
  81. package/dist/{index-BW1z3BN9.d.ts → index-C8oil6M6.d.ts} +3 -3
  82. package/dist/{index-C8mdwMXc.d.cts → index-CI3DprxP.d.cts} +3 -3
  83. package/dist/{index-CUwyr1Kk.d.cts → index-CO8uBlUh.d.cts} +2 -2
  84. package/dist/{index-DrISNAOm.d.ts → index-CxFrXH4m.d.ts} +1 -1
  85. package/dist/{index-BEfE8H_G.d.cts → index-D8wS_PeY.d.cts} +9 -9
  86. package/dist/{index-CUyrtuOf.d.cts → index-DO_6JN9Z.d.cts} +1 -1
  87. package/dist/index-DVGiGFGT.d.cts +195 -0
  88. package/dist/{index-DFhjO4Gg.d.cts → index-DYme44FM.d.cts} +1 -1
  89. package/dist/{index-_oMEWlDq.d.cts → index-DlLp-2Xn.d.cts} +3 -3
  90. package/dist/{index-CPgZ5wRl.d.ts → index-Dzk2hrlR.d.ts} +1 -1
  91. package/dist/{index-Bd_fwmLf.d.cts → index-VHqptjhu.d.cts} +1 -1
  92. package/dist/{index-CDAjUFIv.d.ts → index-VdHQMPy1.d.ts} +1 -1
  93. package/dist/{index-B_IP40nB.d.cts → index-Xi3u0HCQ.d.cts} +1 -1
  94. package/dist/{index-BYOHF0zP.d.ts → index-wEn0eFe8.d.ts} +1 -1
  95. package/dist/index.d.cts +35 -1692
  96. package/dist/index.d.ts +35 -1692
  97. package/dist/index.js +307 -3731
  98. package/dist/index.js.map +1 -1
  99. package/dist/memory-C6Z2tGpC.d.cts +139 -0
  100. package/dist/memory-li6FL5RM.d.ts +139 -0
  101. package/dist/messaging-Gt4LPbyA.d.cts +269 -0
  102. package/dist/messaging-XDoYablx.d.ts +269 -0
  103. package/dist/{meta-C0-8XW6Q.d.cts → meta-BxCA7rcr.d.cts} +1 -1
  104. package/dist/{meta-BGqSZ7mt.d.ts → meta-CbznRPYJ.d.ts} +1 -1
  105. package/dist/{node-C_IBuvX2.d.cts → node-BmerH3kS.d.cts} +1 -1
  106. package/dist/{node-C_IBuvX2.d.ts → node-BmerH3kS.d.ts} +1 -1
  107. package/dist/{observable-DCk45RH5.d.ts → observable-BgGUwcqp.d.ts} +1 -1
  108. package/dist/{observable-Crr1jgzx.d.cts → observable-DJt_AxzQ.d.cts} +1 -1
  109. package/dist/patterns/ai.cjs +7930 -0
  110. package/dist/patterns/ai.cjs.map +1 -0
  111. package/dist/patterns/ai.d.cts +10 -0
  112. package/dist/patterns/ai.d.ts +10 -0
  113. package/dist/patterns/ai.js +71 -0
  114. package/dist/patterns/ai.js.map +1 -0
  115. package/dist/patterns/audit.cjs +5805 -0
  116. package/dist/patterns/audit.cjs.map +1 -0
  117. package/dist/patterns/audit.d.cts +6 -0
  118. package/dist/patterns/audit.d.ts +6 -0
  119. package/dist/patterns/audit.js +29 -0
  120. package/dist/patterns/audit.js.map +1 -0
  121. package/dist/patterns/demo-shell.d.cts +6 -6
  122. package/dist/patterns/demo-shell.d.ts +6 -6
  123. package/dist/patterns/demo-shell.js +4 -4
  124. package/dist/patterns/memory.cjs +5283 -0
  125. package/dist/patterns/memory.cjs.map +1 -0
  126. package/dist/patterns/memory.d.cts +5 -0
  127. package/dist/patterns/memory.d.ts +5 -0
  128. package/dist/patterns/memory.js +20 -0
  129. package/dist/patterns/memory.js.map +1 -0
  130. package/dist/patterns/reactive-layout/index.d.cts +6 -6
  131. package/dist/patterns/reactive-layout/index.d.ts +6 -6
  132. package/dist/patterns/reactive-layout/index.js +4 -4
  133. package/dist/{reactive-layout-BaOQefHu.d.cts → reactive-layout-MQP--J3F.d.cts} +2 -2
  134. package/dist/{reactive-layout-D9gejYXE.d.ts → reactive-layout-u5Ulnqag.d.ts} +2 -2
  135. package/dist/{storage-BMycWEh2.d.ts → storage-CMjUUuxn.d.ts} +2 -2
  136. package/dist/{storage-DiqWHzVI.d.cts → storage-DdWlZo6U.d.cts} +2 -2
  137. package/dist/sugar-CCOxXK1e.d.ts +201 -0
  138. package/dist/sugar-D02n5JjF.d.cts +201 -0
  139. package/package.json +32 -2
  140. package/dist/chunk-AMCG74RZ.js.map +0 -1
  141. package/dist/chunk-RB6QPHJ7.js.map +0 -1
  142. package/dist/index-C0ZXMaXO.d.cts +0 -392
  143. package/dist/index-CY2TljO4.d.ts +0 -392
  144. /package/dist/{chunk-JYXEWPH4.js.map → chunk-APFNLIRG.js.map} +0 -0
  145. /package/dist/{chunk-LCE3GF5P.js.map → chunk-GTE6PWRZ.js.map} +0 -0
  146. /package/dist/{chunk-FQMKGR6L.js.map → chunk-JWBCY4NC.js.map} +0 -0
  147. /package/dist/{chunk-6LDQFTYS.js.map → chunk-OU5CQKNW.js.map} +0 -0
  148. /package/dist/{chunk-THTWHNU4.js.map → chunk-PF7GRZMW.js.map} +0 -0
  149. /package/dist/{chunk-SN4YWWYO.js.map → chunk-WBZOVTYK.js.map} +0 -0
  150. /package/dist/{chunk-ZQMEI34O.js.map → chunk-X3VMZYBT.js.map} +0 -0
@@ -0,0 +1,5 @@
1
+ import '../node-BmerH3kS.cjs';
2
+ import '../graph-DNCrvZSn.cjs';
3
+ export { C as CollectionEntry, b as CollectionGraph, c as CollectionOptions, d as CollectionPolicy, H as HnswAdapter, e as KnowledgeEdge, K as KnowledgeGraphGraph, L as LightCollectionBundle, f as LightCollectionEntry, g as LightCollectionOptions, R as RankedCollectionEntry, h as VectorBackend, V as VectorIndexBundle, i as VectorIndexOptions, j as VectorRecord, a as VectorSearchResult, k as collection, l as decay, n as knowledgeGraph, o as lightCollection, v as vectorIndex } from '../memory-C6Z2tGpC.cjs';
4
+ import '../meta-BxCA7rcr.cjs';
5
+ import '../storage-DdWlZo6U.cjs';
@@ -0,0 +1,5 @@
1
+ import '../node-BmerH3kS.js';
2
+ import '../graph-CCwGKLCm.js';
3
+ export { C as CollectionEntry, b as CollectionGraph, c as CollectionOptions, d as CollectionPolicy, H as HnswAdapter, e as KnowledgeEdge, K as KnowledgeGraphGraph, L as LightCollectionBundle, f as LightCollectionEntry, g as LightCollectionOptions, R as RankedCollectionEntry, h as VectorBackend, V as VectorIndexBundle, i as VectorIndexOptions, j as VectorRecord, a as VectorSearchResult, k as collection, l as decay, n as knowledgeGraph, o as lightCollection, v as vectorIndex } from '../memory-li6FL5RM.js';
4
+ import '../meta-CbznRPYJ.js';
5
+ import '../storage-CMjUUuxn.js';
@@ -0,0 +1,20 @@
1
+ import {
2
+ collection,
3
+ decay,
4
+ knowledgeGraph,
5
+ lightCollection,
6
+ vectorIndex
7
+ } from "../chunk-AT5LKYNL.js";
8
+ import "../chunk-PF7GRZMW.js";
9
+ import "../chunk-VYPWMZ6H.js";
10
+ import "../chunk-7TAQJHQV.js";
11
+ import "../chunk-PHOUUNK7.js";
12
+ import "../chunk-SX52TAR4.js";
13
+ export {
14
+ collection,
15
+ decay,
16
+ knowledgeGraph,
17
+ lightCollection,
18
+ vectorIndex
19
+ };
20
+ //# sourceMappingURL=memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,6 +1,6 @@
1
- export { B as BlockAdapters, C as CanvasMeasureAdapter, a as CanvasMeasureAdapterOptions, b as CanvasModule, c as CircleObstacle, d as CliMeasureAdapter, e as CliMeasureAdapterOptions, f as ContentBlock, F as FlowColumns, g as FlowContainer, h as FlowLinesResult, I as ImageMeasurer, j as ImageSizeAdapter, M as MeasuredBlock, N as NodeCanvasMeasureAdapter, O as Obstacle, P as PositionedBlock, k as PositionedLine, l as PrecomputedAdapter, m as PrecomputedAdapterOptions, R as ReactiveBlockLayoutBundle, n as ReactiveBlockLayoutOptions, o as ReactiveFlowLayoutBundle, p as ReactiveFlowLayoutOptions, q as RectObstacle, S as SvgBoundsAdapter, r as SvgMeasurer, s as circleIntervalForBand, t as computeBlockFlow, u as computeFlowLines, v as computeTotalHeight, w as measureBlock, x as measureBlocks, y as reactiveBlockLayout, z as reactiveFlowLayout, A as rectIntervalForBand } from '../../index-C8mdwMXc.cjs';
2
- export { C as CharPosition, I as Interval, a as LayoutCursor, b as LayoutLine, c as LayoutNextLineContext, d as LayoutNextLineResult, L as LineBreaksResult, M as MeasurementAdapter, P as PreparedSegment, R as ReactiveLayoutBundle, e as ReactiveLayoutOptions, S as SegmentBreakKind, f as SegmentMeasureStats, g as analyzeAndMeasure, h as carveTextLineSlots, i as computeCharPositions, j as computeLineBreaks, l as layoutNextLine, r as reactiveLayout } from '../../reactive-layout-BaOQefHu.cjs';
3
- import '../../node-C_IBuvX2.cjs';
4
- import '../../graph-6tZ5jEzr.cjs';
5
- import '../../meta-C0-8XW6Q.cjs';
6
- import '../../storage-DiqWHzVI.cjs';
1
+ export { B as BlockAdapters, C as CanvasMeasureAdapter, a as CanvasMeasureAdapterOptions, b as CanvasModule, c as CircleObstacle, d as CliMeasureAdapter, e as CliMeasureAdapterOptions, f as ContentBlock, F as FlowColumns, g as FlowContainer, h as FlowLinesResult, I as ImageMeasurer, j as ImageSizeAdapter, M as MeasuredBlock, N as NodeCanvasMeasureAdapter, O as Obstacle, P as PositionedBlock, k as PositionedLine, l as PrecomputedAdapter, m as PrecomputedAdapterOptions, R as ReactiveBlockLayoutBundle, n as ReactiveBlockLayoutOptions, o as ReactiveFlowLayoutBundle, p as ReactiveFlowLayoutOptions, q as RectObstacle, S as SvgBoundsAdapter, r as SvgMeasurer, s as circleIntervalForBand, t as computeBlockFlow, u as computeFlowLines, v as computeTotalHeight, w as measureBlock, x as measureBlocks, y as reactiveBlockLayout, z as reactiveFlowLayout, A as rectIntervalForBand } from '../../index-CI3DprxP.cjs';
2
+ export { C as CharPosition, I as Interval, a as LayoutCursor, b as LayoutLine, c as LayoutNextLineContext, d as LayoutNextLineResult, L as LineBreaksResult, M as MeasurementAdapter, P as PreparedSegment, R as ReactiveLayoutBundle, e as ReactiveLayoutOptions, S as SegmentBreakKind, f as SegmentMeasureStats, g as analyzeAndMeasure, h as carveTextLineSlots, i as computeCharPositions, j as computeLineBreaks, l as layoutNextLine, r as reactiveLayout } from '../../reactive-layout-MQP--J3F.cjs';
3
+ import '../../node-BmerH3kS.cjs';
4
+ import '../../graph-DNCrvZSn.cjs';
5
+ import '../../meta-BxCA7rcr.cjs';
6
+ import '../../storage-DdWlZo6U.cjs';
@@ -1,6 +1,6 @@
1
- export { B as BlockAdapters, C as CanvasMeasureAdapter, a as CanvasMeasureAdapterOptions, b as CanvasModule, c as CircleObstacle, d as CliMeasureAdapter, e as CliMeasureAdapterOptions, f as ContentBlock, F as FlowColumns, g as FlowContainer, h as FlowLinesResult, I as ImageMeasurer, j as ImageSizeAdapter, M as MeasuredBlock, N as NodeCanvasMeasureAdapter, O as Obstacle, P as PositionedBlock, k as PositionedLine, l as PrecomputedAdapter, m as PrecomputedAdapterOptions, R as ReactiveBlockLayoutBundle, n as ReactiveBlockLayoutOptions, o as ReactiveFlowLayoutBundle, p as ReactiveFlowLayoutOptions, q as RectObstacle, S as SvgBoundsAdapter, r as SvgMeasurer, s as circleIntervalForBand, t as computeBlockFlow, u as computeFlowLines, v as computeTotalHeight, w as measureBlock, x as measureBlocks, y as reactiveBlockLayout, z as reactiveFlowLayout, A as rectIntervalForBand } from '../../index-BW1z3BN9.js';
2
- export { C as CharPosition, I as Interval, a as LayoutCursor, b as LayoutLine, c as LayoutNextLineContext, d as LayoutNextLineResult, L as LineBreaksResult, M as MeasurementAdapter, P as PreparedSegment, R as ReactiveLayoutBundle, e as ReactiveLayoutOptions, S as SegmentBreakKind, f as SegmentMeasureStats, g as analyzeAndMeasure, h as carveTextLineSlots, i as computeCharPositions, j as computeLineBreaks, l as layoutNextLine, r as reactiveLayout } from '../../reactive-layout-D9gejYXE.js';
3
- import '../../node-C_IBuvX2.js';
4
- import '../../graph-DQ69XU0g.js';
5
- import '../../meta-BGqSZ7mt.js';
6
- import '../../storage-BMycWEh2.js';
1
+ export { B as BlockAdapters, C as CanvasMeasureAdapter, a as CanvasMeasureAdapterOptions, b as CanvasModule, c as CircleObstacle, d as CliMeasureAdapter, e as CliMeasureAdapterOptions, f as ContentBlock, F as FlowColumns, g as FlowContainer, h as FlowLinesResult, I as ImageMeasurer, j as ImageSizeAdapter, M as MeasuredBlock, N as NodeCanvasMeasureAdapter, O as Obstacle, P as PositionedBlock, k as PositionedLine, l as PrecomputedAdapter, m as PrecomputedAdapterOptions, R as ReactiveBlockLayoutBundle, n as ReactiveBlockLayoutOptions, o as ReactiveFlowLayoutBundle, p as ReactiveFlowLayoutOptions, q as RectObstacle, S as SvgBoundsAdapter, r as SvgMeasurer, s as circleIntervalForBand, t as computeBlockFlow, u as computeFlowLines, v as computeTotalHeight, w as measureBlock, x as measureBlocks, y as reactiveBlockLayout, z as reactiveFlowLayout, A as rectIntervalForBand } from '../../index-C8oil6M6.js';
2
+ export { C as CharPosition, I as Interval, a as LayoutCursor, b as LayoutLine, c as LayoutNextLineContext, d as LayoutNextLineResult, L as LineBreaksResult, M as MeasurementAdapter, P as PreparedSegment, R as ReactiveLayoutBundle, e as ReactiveLayoutOptions, S as SegmentBreakKind, f as SegmentMeasureStats, g as analyzeAndMeasure, h as carveTextLineSlots, i as computeCharPositions, j as computeLineBreaks, l as layoutNextLine, r as reactiveLayout } from '../../reactive-layout-u5Ulnqag.js';
3
+ import '../../node-BmerH3kS.js';
4
+ import '../../graph-CCwGKLCm.js';
5
+ import '../../meta-CbznRPYJ.js';
6
+ import '../../storage-CMjUUuxn.js';
@@ -14,7 +14,7 @@ import {
14
14
  reactiveBlockLayout,
15
15
  reactiveFlowLayout,
16
16
  rectIntervalForBand
17
- } from "../../chunk-ZQMEI34O.js";
17
+ } from "../../chunk-X3VMZYBT.js";
18
18
  import {
19
19
  analyzeAndMeasure,
20
20
  carveTextLineSlots,
@@ -22,12 +22,12 @@ import {
22
22
  computeLineBreaks,
23
23
  layoutNextLine,
24
24
  reactiveLayout
25
- } from "../../chunk-LCE3GF5P.js";
25
+ } from "../../chunk-GTE6PWRZ.js";
26
26
  import "../../chunk-JSCT3CR4.js";
27
27
  import "../../chunk-BVZYTZ5H.js";
28
- import "../../chunk-THTWHNU4.js";
29
- import "../../chunk-7TAQJHQV.js";
28
+ import "../../chunk-PF7GRZMW.js";
30
29
  import "../../chunk-VYPWMZ6H.js";
30
+ import "../../chunk-7TAQJHQV.js";
31
31
  import "../../chunk-PHOUUNK7.js";
32
32
  import "../../chunk-SX52TAR4.js";
33
33
  export {
@@ -1,5 +1,5 @@
1
- import { N as Node } from './node-C_IBuvX2.cjs';
2
- import { G as Graph } from './graph-6tZ5jEzr.cjs';
1
+ import { N as Node } from './node-BmerH3kS.cjs';
2
+ import { a as Graph } from './graph-DNCrvZSn.cjs';
3
3
 
4
4
  /** Pluggable measurement backend. */
5
5
  interface MeasurementAdapter {
@@ -1,5 +1,5 @@
1
- import { N as Node } from './node-C_IBuvX2.js';
2
- import { G as Graph } from './graph-DQ69XU0g.js';
1
+ import { N as Node } from './node-BmerH3kS.js';
2
+ import { a as Graph } from './graph-CCwGKLCm.js';
3
3
 
4
4
  /** Pluggable measurement backend. */
5
5
  interface MeasurementAdapter {
@@ -1,4 +1,4 @@
1
- import { N as Node } from './node-C_IBuvX2.js';
1
+ import { N as Node } from './node-BmerH3kS.js';
2
2
 
3
3
  /**
4
4
  * Storage tier primitive — unified persistence surface (roadmap §3.1).
@@ -187,4 +187,4 @@ declare function fromIDBTransaction(tx: IDBTransaction): Node<void>;
187
187
  */
188
188
  declare function indexedDbStorage(spec: IndexedDbStorageSpec): StorageTier;
189
189
 
190
- export { type IndexedDbStorageSpec as I, type StorageHandle as S, type StorageTier as a, fromIDBRequest as b, fromIDBTransaction as c, dictStorage as d, fileStorage as f, indexedDbStorage as i, memoryStorage as m, sqliteStorage as s };
190
+ export { type IndexedDbStorageSpec as I, type StorageTier as S, type StorageHandle as a, fromIDBRequest as b, fromIDBTransaction as c, dictStorage as d, fileStorage as f, indexedDbStorage as i, memoryStorage as m, sqliteStorage as s };
@@ -1,4 +1,4 @@
1
- import { N as Node } from './node-C_IBuvX2.cjs';
1
+ import { N as Node } from './node-BmerH3kS.cjs';
2
2
 
3
3
  /**
4
4
  * Storage tier primitive — unified persistence surface (roadmap §3.1).
@@ -187,4 +187,4 @@ declare function fromIDBTransaction(tx: IDBTransaction): Node<void>;
187
187
  */
188
188
  declare function indexedDbStorage(spec: IndexedDbStorageSpec): StorageTier;
189
189
 
190
- export { type IndexedDbStorageSpec as I, type StorageHandle as S, type StorageTier as a, fromIDBRequest as b, fromIDBTransaction as c, dictStorage as d, fileStorage as f, indexedDbStorage as i, memoryStorage as m, sqliteStorage as s };
190
+ export { type IndexedDbStorageSpec as I, type StorageTier as S, type StorageHandle as a, fromIDBRequest as b, fromIDBTransaction as c, dictStorage as d, fileStorage as f, indexedDbStorage as i, memoryStorage as m, sqliteStorage as s };
@@ -0,0 +1,201 @@
1
+ import { a as NodeOptions, F as FnCtx, N as Node, t as NodeActions, x as NodeFnCleanup } from './node-BmerH3kS.js';
2
+
3
+ /**
4
+ * Sugar constructors over the raw `node()` primitive.
5
+ *
6
+ * Each factory wraps a user-friendly function into the canonical
7
+ * `NodeFn = (data, actions, ctx) => cleanup | void` shape, then calls
8
+ * `node(...)`. This is the only place `actions.emit(...)` is invoked
9
+ * on behalf of the user — if you need finer control (multi-emission,
10
+ * raw `actions.down` / `actions.up`, cleanup return), use the raw
11
+ * `node()` factory from `./node.js` directly.
12
+ *
13
+ * See SESSION-foundation-redesign.md §8.5 + §10.6 for the rewrite.
14
+ */
15
+
16
+ /**
17
+ * Creates a manual source node. Drive it with `state.emit(v)` (framed,
18
+ * diamond-safe) or `state.down([[DATA, v]])` (raw compat path).
19
+ *
20
+ * @param initial - Starting cached value. Pass `undefined` or `null`
21
+ * explicitly to cache that value; omit to leave the node in `"sentinel"`.
22
+ * @param opts - Optional {@link NodeOptions} (excluding `initial`).
23
+ */
24
+ declare function state<T>(initial: T, opts?: Omit<NodeOptions<T>, "initial">): Node<T>;
25
+ /**
26
+ * User-level producer compute: runs once on first-subscriber activation.
27
+ * Receives `actions` for imperative emission and `ctx` for FnCtx (typically
28
+ * only `store` is useful on a producer — no deps means `prevData` and
29
+ * `terminalDeps` are empty).
30
+ */
31
+ type ProducerFn = (actions: NodeActions, ctx: FnCtx) => NodeFnCleanup | void;
32
+ /**
33
+ * Creates a producer node with no deps; `fn` runs once when the first
34
+ * subscriber connects. Return a cleanup function (`() => void`) or
35
+ * `{ deactivation: () => void }` to register teardown.
36
+ *
37
+ * @example
38
+ * ```ts
39
+ * const ticker = producer((actions) => {
40
+ * const id = setInterval(() => actions.emit(Date.now()), 1000);
41
+ * return () => clearInterval(id);
42
+ * });
43
+ * ```
44
+ */
45
+ declare function producer<T = unknown>(fn: ProducerFn, opts?: NodeOptions<T>): Node<T>;
46
+ /**
47
+ * User-level derived compute: receives the latest DATA from each dep and
48
+ * returns the new value. The sugar wraps it with `actions.emit(fn(...))`
49
+ * so the return value flows through the framed emit pipeline.
50
+ *
51
+ * For derived nodes that need to inspect `ctx.prevData` / `ctx.terminalDeps`
52
+ * / `ctx.store`, accept the optional second parameter.
53
+ */
54
+ type DerivedFn<T> = (data: readonly unknown[], ctx: FnCtx) => T | undefined | null;
55
+ /**
56
+ * Creates a derived node that computes **one output per wave** from the latest
57
+ * value of each dependency — **snapshot / combine semantics**.
58
+ *
59
+ * `fn` receives one scalar per dep (the last DATA value seen this wave, or the
60
+ * prior-wave value as fallback). It is called once per settled wave and emits
61
+ * a single value via `actions.emit`. The equals check then suppresses the
62
+ * emission as `RESOLVED` if the output has not changed.
63
+ *
64
+ * **Not for streaming one-to-one transforms.** If each DATA value in a batch
65
+ * must produce a corresponding output (e.g. transforming every item emitted by
66
+ * `fromIter` individually), use {@link map} or raw `node()` with full batch
67
+ * iteration instead. `derived` only sees the *last* value per dep when a batch
68
+ * carries multiple DATAs.
69
+ *
70
+ * @example
71
+ * ```ts
72
+ * const a = state(1);
73
+ * const b = derived([a], ([x]) => (x as number) * 2);
74
+ * ```
75
+ */
76
+ declare function derived<T = unknown>(deps: readonly Node[], fn: DerivedFn<T>, opts?: NodeOptions<T> & {
77
+ partial?: boolean;
78
+ }): Node<T>;
79
+ /**
80
+ * User-level effect compute: fires when deps settle. Return value is NOT
81
+ * auto-emitted — use `actions.emit(v)` / `actions.down(msgs)` explicitly if
82
+ * the effect also wants to produce downstream messages. Return a cleanup
83
+ * function or `{ deactivation }` to register teardown.
84
+ */
85
+ type EffectFn = (data: readonly unknown[], actions: NodeActions, ctx: FnCtx) => NodeFnCleanup | void;
86
+ /**
87
+ * Runs a side-effect when deps settle. Return value is not auto-emitted.
88
+ *
89
+ * @example
90
+ * ```ts
91
+ * effect([source], ([v]) => {
92
+ * console.log(v);
93
+ * });
94
+ * ```
95
+ */
96
+ declare function effect(deps: readonly Node[], fn: EffectFn, opts?: NodeOptions<unknown> & {
97
+ partial?: boolean;
98
+ }): Node<unknown>;
99
+ /**
100
+ * Proxy handed to a {@link DynamicFn}. `track(dep)` returns the dep's
101
+ * latest DATA payload, as delivered through the protocol. Reading from
102
+ * `track` does NOT bypass the message protocol — it reads the internal
103
+ * `DepRecord.prevData` (the stable end-of-previous-wave value) that
104
+ * `_onDepMessage` already populated. If a dep has not yet sent DATA,
105
+ * `track` returns `undefined`.
106
+ */
107
+ type TrackFn = (dep: Node) => unknown;
108
+ /** User-level dynamicNode compute. */
109
+ type DynamicFn<T> = (track: TrackFn, ctx: FnCtx) => T | undefined | null;
110
+ /**
111
+ * Sugar over `derived(...)` that exposes dep values via a `track(dep)`
112
+ * proxy instead of positional `data[i]`. All declared `allDeps` participate
113
+ * in wave tracking, so the first fn run waits for every dep to settle.
114
+ * Unused deps that update just re-run fn; `equals` absorbs unchanged
115
+ * outputs as RESOLVED.
116
+ *
117
+ * P3-compliant: `track(dep)` reads from the framework-managed
118
+ * `DepRecord.prevData` populated by the protocol, never from
119
+ * `dep.cache`.
120
+ *
121
+ * @example
122
+ * ```ts
123
+ * const a = state(1);
124
+ * const b = state(10);
125
+ * const sum = dynamicNode([a, b], (track) => (track(a) as number) + (track(b) as number));
126
+ * ```
127
+ */
128
+ declare function dynamicNode<T = unknown>(allDeps: readonly Node[], fn: DynamicFn<T>, opts?: NodeOptions<T> & {
129
+ partial?: boolean;
130
+ }): Node<T>;
131
+ /**
132
+ * Like {@link dynamicNode} but deps are discovered at runtime via `track()`
133
+ * calls — no upfront `allDeps` array needed. Designed for pull-based compat
134
+ * layers (Jotai atoms, TC39 Signals) where deps are unknown until fn runs.
135
+ *
136
+ * **Two-phase discovery:**
137
+ * 1. fn runs. Each `track(dep)` for an unknown dep: subscribes immediately
138
+ * via `_addDep`, returns `dep.cache` as a stub (P3 boundary exception).
139
+ * Result is discarded (discovery run).
140
+ * 2. New deps settle (DATA from subscribe handshake). Wave machinery
141
+ * re-triggers fn. `track(dep)` now returns protocol-delivered `data[i]`.
142
+ * If MORE unknown deps appear, repeat step 1.
143
+ * 3. Converges when no new deps found → real run → `actions.emit(result)`.
144
+ *
145
+ * P3 violation is limited to discovery runs. Once all deps are known,
146
+ * subsequent waves use protocol-delivered values exclusively.
147
+ *
148
+ * Re-entrance safety: `_addDep` subscribes immediately. If the dep delivers
149
+ * DATA synchronously during fn execution, `_execFn`'s re-entrance guard
150
+ * defers the re-run to after the current fn returns.
151
+ *
152
+ * @param opts - Optional {@link AutoTrackOptions}. Pass `{ partial: true }` to
153
+ * allow fn to run before all known deps have delivered their first value
154
+ * (useful for optional/secondary deps).
155
+ *
156
+ * @example
157
+ * ```ts
158
+ * const a = state(1), b = state(2);
159
+ * const sum = autoTrackNode((track) => track(a) + track(b));
160
+ * // deps [a, b] discovered automatically on first run
161
+ * ```
162
+ */
163
+ /**
164
+ * Options for {@link autoTrackNode}.
165
+ */
166
+ interface AutoTrackOptions<T> extends NodeOptions<T> {
167
+ /**
168
+ * When `true`, fn may run before all known deps have delivered their first
169
+ * DATA. Unknown deps return `undefined` via `track()`, which the fn must
170
+ * handle explicitly. Useful when some deps are "nice-to-have" — e.g. a
171
+ * primary computation should continue while a secondary dep is still
172
+ * initialising.
173
+ *
174
+ * When `false` (default), fn is held until every known dep has delivered at
175
+ * least one DATA value — a RESOLVED is emitted for the wave instead.
176
+ * This matches `derived()` semantics and is the correct default for
177
+ * pull-based compat layers (Signals, Jotai) where all deps must be
178
+ * initialised before the computation is meaningful.
179
+ *
180
+ * @default false
181
+ */
182
+ partial?: boolean;
183
+ }
184
+ declare function autoTrackNode<T = unknown>(fn: (track: TrackFn, ctx: FnCtx) => T | undefined | null, opts?: AutoTrackOptions<T>): Node<T>;
185
+ /** Unary operator used by {@link pipe}. */
186
+ type PipeOperator = (n: Node) => Node;
187
+ /**
188
+ * Composes unary operators left-to-right; returns the final node.
189
+ *
190
+ * @example
191
+ * ```ts
192
+ * const out = pipe(
193
+ * source,
194
+ * (n) => map(n, (x) => x + 1),
195
+ * (n) => filter(n, (x) => x > 0),
196
+ * );
197
+ * ```
198
+ */
199
+ declare function pipe(source: Node, ...ops: PipeOperator[]): Node;
200
+
201
+ export { type AutoTrackOptions as A, type DerivedFn as D, type EffectFn as E, type PipeOperator as P, type TrackFn as T, type DynamicFn as a, type ProducerFn as b, autoTrackNode as c, derived as d, dynamicNode as e, effect as f, producer as g, pipe as p, state as s };
@@ -0,0 +1,201 @@
1
+ import { a as NodeOptions, F as FnCtx, N as Node, t as NodeActions, x as NodeFnCleanup } from './node-BmerH3kS.cjs';
2
+
3
+ /**
4
+ * Sugar constructors over the raw `node()` primitive.
5
+ *
6
+ * Each factory wraps a user-friendly function into the canonical
7
+ * `NodeFn = (data, actions, ctx) => cleanup | void` shape, then calls
8
+ * `node(...)`. This is the only place `actions.emit(...)` is invoked
9
+ * on behalf of the user — if you need finer control (multi-emission,
10
+ * raw `actions.down` / `actions.up`, cleanup return), use the raw
11
+ * `node()` factory from `./node.js` directly.
12
+ *
13
+ * See SESSION-foundation-redesign.md §8.5 + §10.6 for the rewrite.
14
+ */
15
+
16
+ /**
17
+ * Creates a manual source node. Drive it with `state.emit(v)` (framed,
18
+ * diamond-safe) or `state.down([[DATA, v]])` (raw compat path).
19
+ *
20
+ * @param initial - Starting cached value. Pass `undefined` or `null`
21
+ * explicitly to cache that value; omit to leave the node in `"sentinel"`.
22
+ * @param opts - Optional {@link NodeOptions} (excluding `initial`).
23
+ */
24
+ declare function state<T>(initial: T, opts?: Omit<NodeOptions<T>, "initial">): Node<T>;
25
+ /**
26
+ * User-level producer compute: runs once on first-subscriber activation.
27
+ * Receives `actions` for imperative emission and `ctx` for FnCtx (typically
28
+ * only `store` is useful on a producer — no deps means `prevData` and
29
+ * `terminalDeps` are empty).
30
+ */
31
+ type ProducerFn = (actions: NodeActions, ctx: FnCtx) => NodeFnCleanup | void;
32
+ /**
33
+ * Creates a producer node with no deps; `fn` runs once when the first
34
+ * subscriber connects. Return a cleanup function (`() => void`) or
35
+ * `{ deactivation: () => void }` to register teardown.
36
+ *
37
+ * @example
38
+ * ```ts
39
+ * const ticker = producer((actions) => {
40
+ * const id = setInterval(() => actions.emit(Date.now()), 1000);
41
+ * return () => clearInterval(id);
42
+ * });
43
+ * ```
44
+ */
45
+ declare function producer<T = unknown>(fn: ProducerFn, opts?: NodeOptions<T>): Node<T>;
46
+ /**
47
+ * User-level derived compute: receives the latest DATA from each dep and
48
+ * returns the new value. The sugar wraps it with `actions.emit(fn(...))`
49
+ * so the return value flows through the framed emit pipeline.
50
+ *
51
+ * For derived nodes that need to inspect `ctx.prevData` / `ctx.terminalDeps`
52
+ * / `ctx.store`, accept the optional second parameter.
53
+ */
54
+ type DerivedFn<T> = (data: readonly unknown[], ctx: FnCtx) => T | undefined | null;
55
+ /**
56
+ * Creates a derived node that computes **one output per wave** from the latest
57
+ * value of each dependency — **snapshot / combine semantics**.
58
+ *
59
+ * `fn` receives one scalar per dep (the last DATA value seen this wave, or the
60
+ * prior-wave value as fallback). It is called once per settled wave and emits
61
+ * a single value via `actions.emit`. The equals check then suppresses the
62
+ * emission as `RESOLVED` if the output has not changed.
63
+ *
64
+ * **Not for streaming one-to-one transforms.** If each DATA value in a batch
65
+ * must produce a corresponding output (e.g. transforming every item emitted by
66
+ * `fromIter` individually), use {@link map} or raw `node()` with full batch
67
+ * iteration instead. `derived` only sees the *last* value per dep when a batch
68
+ * carries multiple DATAs.
69
+ *
70
+ * @example
71
+ * ```ts
72
+ * const a = state(1);
73
+ * const b = derived([a], ([x]) => (x as number) * 2);
74
+ * ```
75
+ */
76
+ declare function derived<T = unknown>(deps: readonly Node[], fn: DerivedFn<T>, opts?: NodeOptions<T> & {
77
+ partial?: boolean;
78
+ }): Node<T>;
79
+ /**
80
+ * User-level effect compute: fires when deps settle. Return value is NOT
81
+ * auto-emitted — use `actions.emit(v)` / `actions.down(msgs)` explicitly if
82
+ * the effect also wants to produce downstream messages. Return a cleanup
83
+ * function or `{ deactivation }` to register teardown.
84
+ */
85
+ type EffectFn = (data: readonly unknown[], actions: NodeActions, ctx: FnCtx) => NodeFnCleanup | void;
86
+ /**
87
+ * Runs a side-effect when deps settle. Return value is not auto-emitted.
88
+ *
89
+ * @example
90
+ * ```ts
91
+ * effect([source], ([v]) => {
92
+ * console.log(v);
93
+ * });
94
+ * ```
95
+ */
96
+ declare function effect(deps: readonly Node[], fn: EffectFn, opts?: NodeOptions<unknown> & {
97
+ partial?: boolean;
98
+ }): Node<unknown>;
99
+ /**
100
+ * Proxy handed to a {@link DynamicFn}. `track(dep)` returns the dep's
101
+ * latest DATA payload, as delivered through the protocol. Reading from
102
+ * `track` does NOT bypass the message protocol — it reads the internal
103
+ * `DepRecord.prevData` (the stable end-of-previous-wave value) that
104
+ * `_onDepMessage` already populated. If a dep has not yet sent DATA,
105
+ * `track` returns `undefined`.
106
+ */
107
+ type TrackFn = (dep: Node) => unknown;
108
+ /** User-level dynamicNode compute. */
109
+ type DynamicFn<T> = (track: TrackFn, ctx: FnCtx) => T | undefined | null;
110
+ /**
111
+ * Sugar over `derived(...)` that exposes dep values via a `track(dep)`
112
+ * proxy instead of positional `data[i]`. All declared `allDeps` participate
113
+ * in wave tracking, so the first fn run waits for every dep to settle.
114
+ * Unused deps that update just re-run fn; `equals` absorbs unchanged
115
+ * outputs as RESOLVED.
116
+ *
117
+ * P3-compliant: `track(dep)` reads from the framework-managed
118
+ * `DepRecord.prevData` populated by the protocol, never from
119
+ * `dep.cache`.
120
+ *
121
+ * @example
122
+ * ```ts
123
+ * const a = state(1);
124
+ * const b = state(10);
125
+ * const sum = dynamicNode([a, b], (track) => (track(a) as number) + (track(b) as number));
126
+ * ```
127
+ */
128
+ declare function dynamicNode<T = unknown>(allDeps: readonly Node[], fn: DynamicFn<T>, opts?: NodeOptions<T> & {
129
+ partial?: boolean;
130
+ }): Node<T>;
131
+ /**
132
+ * Like {@link dynamicNode} but deps are discovered at runtime via `track()`
133
+ * calls — no upfront `allDeps` array needed. Designed for pull-based compat
134
+ * layers (Jotai atoms, TC39 Signals) where deps are unknown until fn runs.
135
+ *
136
+ * **Two-phase discovery:**
137
+ * 1. fn runs. Each `track(dep)` for an unknown dep: subscribes immediately
138
+ * via `_addDep`, returns `dep.cache` as a stub (P3 boundary exception).
139
+ * Result is discarded (discovery run).
140
+ * 2. New deps settle (DATA from subscribe handshake). Wave machinery
141
+ * re-triggers fn. `track(dep)` now returns protocol-delivered `data[i]`.
142
+ * If MORE unknown deps appear, repeat step 1.
143
+ * 3. Converges when no new deps found → real run → `actions.emit(result)`.
144
+ *
145
+ * P3 violation is limited to discovery runs. Once all deps are known,
146
+ * subsequent waves use protocol-delivered values exclusively.
147
+ *
148
+ * Re-entrance safety: `_addDep` subscribes immediately. If the dep delivers
149
+ * DATA synchronously during fn execution, `_execFn`'s re-entrance guard
150
+ * defers the re-run to after the current fn returns.
151
+ *
152
+ * @param opts - Optional {@link AutoTrackOptions}. Pass `{ partial: true }` to
153
+ * allow fn to run before all known deps have delivered their first value
154
+ * (useful for optional/secondary deps).
155
+ *
156
+ * @example
157
+ * ```ts
158
+ * const a = state(1), b = state(2);
159
+ * const sum = autoTrackNode((track) => track(a) + track(b));
160
+ * // deps [a, b] discovered automatically on first run
161
+ * ```
162
+ */
163
+ /**
164
+ * Options for {@link autoTrackNode}.
165
+ */
166
+ interface AutoTrackOptions<T> extends NodeOptions<T> {
167
+ /**
168
+ * When `true`, fn may run before all known deps have delivered their first
169
+ * DATA. Unknown deps return `undefined` via `track()`, which the fn must
170
+ * handle explicitly. Useful when some deps are "nice-to-have" — e.g. a
171
+ * primary computation should continue while a secondary dep is still
172
+ * initialising.
173
+ *
174
+ * When `false` (default), fn is held until every known dep has delivered at
175
+ * least one DATA value — a RESOLVED is emitted for the wave instead.
176
+ * This matches `derived()` semantics and is the correct default for
177
+ * pull-based compat layers (Signals, Jotai) where all deps must be
178
+ * initialised before the computation is meaningful.
179
+ *
180
+ * @default false
181
+ */
182
+ partial?: boolean;
183
+ }
184
+ declare function autoTrackNode<T = unknown>(fn: (track: TrackFn, ctx: FnCtx) => T | undefined | null, opts?: AutoTrackOptions<T>): Node<T>;
185
+ /** Unary operator used by {@link pipe}. */
186
+ type PipeOperator = (n: Node) => Node;
187
+ /**
188
+ * Composes unary operators left-to-right; returns the final node.
189
+ *
190
+ * @example
191
+ * ```ts
192
+ * const out = pipe(
193
+ * source,
194
+ * (n) => map(n, (x) => x + 1),
195
+ * (n) => filter(n, (x) => x > 0),
196
+ * );
197
+ * ```
198
+ */
199
+ declare function pipe(source: Node, ...ops: PipeOperator[]): Node;
200
+
201
+ export { type AutoTrackOptions as A, type DerivedFn as D, type EffectFn as E, type PipeOperator as P, type TrackFn as T, type DynamicFn as a, type ProducerFn as b, autoTrackNode as c, derived as d, dynamicNode as e, effect as f, producer as g, pipe as p, state as s };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@graphrefly/graphrefly",
3
- "version": "0.26.0",
3
+ "version": "0.27.0",
4
4
  "packageManager": "pnpm@10.33.0+sha512.10568bb4a6afb58c9eb3630da90cc9516417abebd3fabbe6739f0ae795728da1491e9db5a544c76ad8eb7570f5c4bb3d6c637b2cb41bfdcdb47fa823c8649319",
5
5
  "description": "Reactive harness layer for agent workflows. Describe automations in plain language, trace every decision, enforce policies, persist checkpoints. Zero dependencies.",
6
6
  "repository": {
@@ -176,6 +176,36 @@
176
176
  "types": "./dist/patterns/demo-shell.d.cts",
177
177
  "default": "./dist/patterns/demo-shell.cjs"
178
178
  }
179
+ },
180
+ "./patterns/memory": {
181
+ "import": {
182
+ "types": "./dist/patterns/memory.d.ts",
183
+ "default": "./dist/patterns/memory.js"
184
+ },
185
+ "require": {
186
+ "types": "./dist/patterns/memory.d.cts",
187
+ "default": "./dist/patterns/memory.cjs"
188
+ }
189
+ },
190
+ "./patterns/ai": {
191
+ "import": {
192
+ "types": "./dist/patterns/ai.d.ts",
193
+ "default": "./dist/patterns/ai.js"
194
+ },
195
+ "require": {
196
+ "types": "./dist/patterns/ai.d.cts",
197
+ "default": "./dist/patterns/ai.cjs"
198
+ }
199
+ },
200
+ "./patterns/audit": {
201
+ "import": {
202
+ "types": "./dist/patterns/audit.d.ts",
203
+ "default": "./dist/patterns/audit.js"
204
+ },
205
+ "require": {
206
+ "types": "./dist/patterns/audit.d.cts",
207
+ "default": "./dist/patterns/audit.cjs"
208
+ }
179
209
  }
180
210
  },
181
211
  "files": [
@@ -187,7 +217,7 @@
187
217
  },
188
218
  "scripts": {
189
219
  "docs:dev": "pnpm --dir website dev",
190
- "docs:build": "pnpm --dir website build && pnpm --dir demos/compat-matrix build && pnpm --dir demos/reactive-layout build && cp -r demos/compat-matrix/dist/. website/dist/demos/compat-matrix/ && cp -r demos/reactive-layout/dist/. website/dist/demos/reactive-layout/",
220
+ "docs:build": "pnpm build && pnpm --dir website build && pnpm --dir demos/compat-matrix build && pnpm --dir demos/reactive-layout build && pnpm --dir demos/knowledge-graph build && cp -r demos/compat-matrix/dist/. website/dist/demos/compat-matrix/ && cp -r demos/reactive-layout/dist/. website/dist/demos/reactive-layout/ && cp -r demos/knowledge-graph/dist/. website/dist/demos/knowledge-graph/",
191
221
  "docs:preview": "pnpm --dir website preview",
192
222
  "build": "tsup",
193
223
  "test": "vitest run",