@graphrefly/graphrefly 0.23.0 → 0.24.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 (76) hide show
  1. package/dist/{chunk-NZMBRXQV.js → chunk-5DJTTKX3.js} +11 -13
  2. package/dist/chunk-5DJTTKX3.js.map +1 -0
  3. package/dist/{chunk-XTLYW4FR.js → chunk-5WGT55R4.js} +4 -4
  4. package/dist/{chunk-CWYPA63G.js → chunk-AOCBDH4T.js} +2 -2
  5. package/dist/{chunk-HVBX5KIW.js → chunk-H4RVA4VE.js} +2 -2
  6. package/dist/{chunk-32N5A454.js → chunk-HWPIFSW2.js} +2 -2
  7. package/dist/chunk-HWPIFSW2.js.map +1 -0
  8. package/dist/{chunk-PNUZM7PC.js → chunk-IPLKX3L2.js} +6 -6
  9. package/dist/{chunk-2GQLMQVJ.js → chunk-MW4VAKAO.js} +3 -3
  10. package/dist/{chunk-JFONSPNF.js → chunk-PY4XCDLR.js} +2 -2
  11. package/dist/{chunk-263BEJJO.js → chunk-QOWVNWOC.js} +3 -3
  12. package/dist/{chunk-PX6PDUJ5.js → chunk-TDEXAMGO.js} +4 -4
  13. package/dist/{chunk-PX6PDUJ5.js.map → chunk-TDEXAMGO.js.map} +1 -1
  14. package/dist/{chunk-XRFJJ2IU.js → chunk-XOFWRC73.js} +3 -3
  15. package/dist/compat/nestjs/index.cjs +10 -12
  16. package/dist/compat/nestjs/index.cjs.map +1 -1
  17. package/dist/compat/nestjs/index.d.cts +6 -6
  18. package/dist/compat/nestjs/index.d.ts +6 -6
  19. package/dist/compat/nestjs/index.js +9 -9
  20. package/dist/core/index.cjs +10 -12
  21. package/dist/core/index.cjs.map +1 -1
  22. package/dist/core/index.d.cts +3 -3
  23. package/dist/core/index.d.ts +3 -3
  24. package/dist/core/index.js +3 -3
  25. package/dist/extra/index.cjs +10 -12
  26. package/dist/extra/index.cjs.map +1 -1
  27. package/dist/extra/index.d.cts +4 -4
  28. package/dist/extra/index.d.ts +4 -4
  29. package/dist/extra/index.js +4 -4
  30. package/dist/graph/index.cjs +10 -12
  31. package/dist/graph/index.cjs.map +1 -1
  32. package/dist/graph/index.d.cts +5 -5
  33. package/dist/graph/index.d.ts +5 -5
  34. package/dist/graph/index.js +4 -4
  35. package/dist/{graph-CEO2FkLY.d.ts → graph-B6NFqv3z.d.ts} +3 -3
  36. package/dist/{graph-BtdSRHUc.d.cts → graph-D-3JIQme.d.cts} +3 -3
  37. package/dist/{index-B0tfuXwV.d.cts → index-1z8vRTCt.d.cts} +3 -3
  38. package/dist/{index-BFGjXbiP.d.cts → index-AMWewNDe.d.cts} +2 -2
  39. package/dist/{index-BUj3ASVe.d.cts → index-BJB7t9gg.d.cts} +10 -24
  40. package/dist/{index-RXN94sHK.d.ts → index-BysCTzJz.d.ts} +3 -3
  41. package/dist/{index-DSPc5rkv.d.ts → index-C-TXEa7C.d.ts} +10 -24
  42. package/dist/{index-CkElcUY6.d.ts → index-CYkjxu3s.d.ts} +2 -2
  43. package/dist/{index-jEtF4N7L.d.ts → index-D7XgsUt7.d.ts} +2 -2
  44. package/dist/{index-DgscL7v0.d.ts → index-DiobMNwE.d.ts} +3 -3
  45. package/dist/{index-BPlWVAKY.d.cts → index-J7Kc0oIQ.d.cts} +3 -3
  46. package/dist/{index-C59uSJAH.d.cts → index-b5BYtczN.d.cts} +2 -2
  47. package/dist/index.cjs +20 -32
  48. package/dist/index.cjs.map +1 -1
  49. package/dist/index.d.cts +15 -15
  50. package/dist/index.d.ts +15 -15
  51. package/dist/index.js +21 -31
  52. package/dist/index.js.map +1 -1
  53. package/dist/{meta-3QjzotRv.d.ts → meta-CnkLA_43.d.ts} +1 -1
  54. package/dist/{meta-B-Lbs4-O.d.cts → meta-DWbkoq1s.d.cts} +1 -1
  55. package/dist/{node-C7PD3sn9.d.cts → node-B-f-Lu-k.d.cts} +15 -13
  56. package/dist/{node-C7PD3sn9.d.ts → node-B-f-Lu-k.d.ts} +15 -13
  57. package/dist/{observable-axpzv1K2.d.cts → observable-DBnrwcar.d.cts} +1 -1
  58. package/dist/{observable-EyO-moQY.d.ts → observable-uP-wy_uK.d.ts} +1 -1
  59. package/dist/patterns/reactive-layout/index.cjs +10 -12
  60. package/dist/patterns/reactive-layout/index.cjs.map +1 -1
  61. package/dist/patterns/reactive-layout/index.d.cts +5 -5
  62. package/dist/patterns/reactive-layout/index.d.ts +5 -5
  63. package/dist/patterns/reactive-layout/index.js +6 -6
  64. package/dist/{storage-DIgAr7M_.d.cts → storage-BuTdpCI1.d.cts} +1 -1
  65. package/dist/{storage-CHT5WE9m.d.ts → storage-F2X1U1x0.d.ts} +1 -1
  66. package/package.json +2 -2
  67. package/dist/chunk-32N5A454.js.map +0 -1
  68. package/dist/chunk-NZMBRXQV.js.map +0 -1
  69. /package/dist/{chunk-XTLYW4FR.js.map → chunk-5WGT55R4.js.map} +0 -0
  70. /package/dist/{chunk-CWYPA63G.js.map → chunk-AOCBDH4T.js.map} +0 -0
  71. /package/dist/{chunk-HVBX5KIW.js.map → chunk-H4RVA4VE.js.map} +0 -0
  72. /package/dist/{chunk-PNUZM7PC.js.map → chunk-IPLKX3L2.js.map} +0 -0
  73. /package/dist/{chunk-2GQLMQVJ.js.map → chunk-MW4VAKAO.js.map} +0 -0
  74. /package/dist/{chunk-JFONSPNF.js.map → chunk-PY4XCDLR.js.map} +0 -0
  75. /package/dist/{chunk-263BEJJO.js.map → chunk-QOWVNWOC.js.map} +0 -0
  76. /package/dist/{chunk-XRFJJ2IU.js.map → chunk-XOFWRC73.js.map} +0 -0
@@ -1,5 +1,5 @@
1
- export { B as BlockAdapters, C as CanvasMeasureAdapter, a as CanvasMeasureAdapterOptions, b as CanvasModule, c as CharPosition, d as CliMeasureAdapter, e as CliMeasureAdapterOptions, f as ContentBlock, I as ImageMeasurer, g as ImageSizeAdapter, L as LayoutLine, h as LineBreaksResult, j as MeasuredBlock, M as MeasurementAdapter, N as NodeCanvasMeasureAdapter, P as PositionedBlock, k as PrecomputedAdapter, l as PrecomputedAdapterOptions, m as PreparedSegment, R as ReactiveBlockLayoutBundle, n as ReactiveBlockLayoutOptions, o as ReactiveLayoutBundle, p as ReactiveLayoutOptions, S as SegmentBreakKind, q as SegmentMeasureStats, r as SvgBoundsAdapter, s as SvgMeasurer, t as analyzeAndMeasure, u as computeBlockFlow, v as computeCharPositions, w as computeLineBreaks, x as computeTotalHeight, y as measureBlock, z as measureBlocks, A as reactiveBlockLayout, D as reactiveLayout } from '../../index-C59uSJAH.cjs';
2
- import '../../node-C7PD3sn9.cjs';
3
- import '../../graph-BtdSRHUc.cjs';
4
- import '../../meta-B-Lbs4-O.cjs';
5
- import '../../storage-DIgAr7M_.cjs';
1
+ export { B as BlockAdapters, C as CanvasMeasureAdapter, a as CanvasMeasureAdapterOptions, b as CanvasModule, c as CharPosition, d as CliMeasureAdapter, e as CliMeasureAdapterOptions, f as ContentBlock, I as ImageMeasurer, g as ImageSizeAdapter, L as LayoutLine, h as LineBreaksResult, j as MeasuredBlock, M as MeasurementAdapter, N as NodeCanvasMeasureAdapter, P as PositionedBlock, k as PrecomputedAdapter, l as PrecomputedAdapterOptions, m as PreparedSegment, R as ReactiveBlockLayoutBundle, n as ReactiveBlockLayoutOptions, o as ReactiveLayoutBundle, p as ReactiveLayoutOptions, S as SegmentBreakKind, q as SegmentMeasureStats, r as SvgBoundsAdapter, s as SvgMeasurer, t as analyzeAndMeasure, u as computeBlockFlow, v as computeCharPositions, w as computeLineBreaks, x as computeTotalHeight, y as measureBlock, z as measureBlocks, A as reactiveBlockLayout, D as reactiveLayout } from '../../index-b5BYtczN.cjs';
2
+ import '../../node-B-f-Lu-k.cjs';
3
+ import '../../graph-D-3JIQme.cjs';
4
+ import '../../meta-DWbkoq1s.cjs';
5
+ import '../../storage-BuTdpCI1.cjs';
@@ -1,5 +1,5 @@
1
- export { B as BlockAdapters, C as CanvasMeasureAdapter, a as CanvasMeasureAdapterOptions, b as CanvasModule, c as CharPosition, d as CliMeasureAdapter, e as CliMeasureAdapterOptions, f as ContentBlock, I as ImageMeasurer, g as ImageSizeAdapter, L as LayoutLine, h as LineBreaksResult, j as MeasuredBlock, M as MeasurementAdapter, N as NodeCanvasMeasureAdapter, P as PositionedBlock, k as PrecomputedAdapter, l as PrecomputedAdapterOptions, m as PreparedSegment, R as ReactiveBlockLayoutBundle, n as ReactiveBlockLayoutOptions, o as ReactiveLayoutBundle, p as ReactiveLayoutOptions, S as SegmentBreakKind, q as SegmentMeasureStats, r as SvgBoundsAdapter, s as SvgMeasurer, t as analyzeAndMeasure, u as computeBlockFlow, v as computeCharPositions, w as computeLineBreaks, x as computeTotalHeight, y as measureBlock, z as measureBlocks, A as reactiveBlockLayout, D as reactiveLayout } from '../../index-jEtF4N7L.js';
2
- import '../../node-C7PD3sn9.js';
3
- import '../../graph-CEO2FkLY.js';
4
- import '../../meta-3QjzotRv.js';
5
- import '../../storage-CHT5WE9m.js';
1
+ export { B as BlockAdapters, C as CanvasMeasureAdapter, a as CanvasMeasureAdapterOptions, b as CanvasModule, c as CharPosition, d as CliMeasureAdapter, e as CliMeasureAdapterOptions, f as ContentBlock, I as ImageMeasurer, g as ImageSizeAdapter, L as LayoutLine, h as LineBreaksResult, j as MeasuredBlock, M as MeasurementAdapter, N as NodeCanvasMeasureAdapter, P as PositionedBlock, k as PrecomputedAdapter, l as PrecomputedAdapterOptions, m as PreparedSegment, R as ReactiveBlockLayoutBundle, n as ReactiveBlockLayoutOptions, o as ReactiveLayoutBundle, p as ReactiveLayoutOptions, S as SegmentBreakKind, q as SegmentMeasureStats, r as SvgBoundsAdapter, s as SvgMeasurer, t as analyzeAndMeasure, u as computeBlockFlow, v as computeCharPositions, w as computeLineBreaks, x as computeTotalHeight, y as measureBlock, z as measureBlocks, A as reactiveBlockLayout, D as reactiveLayout } from '../../index-D7XgsUt7.js';
2
+ import '../../node-B-f-Lu-k.js';
3
+ import '../../graph-B6NFqv3z.js';
4
+ import '../../meta-CnkLA_43.js';
5
+ import '../../storage-F2X1U1x0.js';
@@ -14,13 +14,13 @@ import {
14
14
  measureBlocks,
15
15
  reactiveBlockLayout,
16
16
  reactiveLayout
17
- } from "../../chunk-PX6PDUJ5.js";
18
- import "../../chunk-32N5A454.js";
19
- import "../../chunk-CWYPA63G.js";
20
- import "../../chunk-XRFJJ2IU.js";
21
- import "../../chunk-HVBX5KIW.js";
17
+ } from "../../chunk-TDEXAMGO.js";
18
+ import "../../chunk-HWPIFSW2.js";
19
+ import "../../chunk-AOCBDH4T.js";
20
+ import "../../chunk-XOFWRC73.js";
21
+ import "../../chunk-H4RVA4VE.js";
22
22
  import "../../chunk-7TAQJHQV.js";
23
- import "../../chunk-NZMBRXQV.js";
23
+ import "../../chunk-5DJTTKX3.js";
24
24
  export {
25
25
  CanvasMeasureAdapter,
26
26
  CliMeasureAdapter,
@@ -1,4 +1,4 @@
1
- import { N as Node } from './node-C7PD3sn9.cjs';
1
+ import { N as Node } from './node-B-f-Lu-k.cjs';
2
2
 
3
3
  /**
4
4
  * Storage tier primitive — unified persistence surface (roadmap §3.1).
@@ -1,4 +1,4 @@
1
- import { N as Node } from './node-C7PD3sn9.js';
1
+ import { N as Node } from './node-B-f-Lu-k.js';
2
2
 
3
3
  /**
4
4
  * Storage tier primitive — unified persistence surface (roadmap §3.1).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@graphrefly/graphrefly",
3
- "version": "0.23.0",
3
+ "version": "0.24.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": {
@@ -157,7 +157,7 @@
157
157
  },
158
158
  "scripts": {
159
159
  "docs:dev": "pnpm --dir website dev",
160
- "docs:build": "pnpm --dir website build",
160
+ "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/",
161
161
  "docs:preview": "pnpm --dir website preview",
162
162
  "build": "tsup",
163
163
  "test": "vitest run",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/patterns/_internal.ts"],"sourcesContent":["/**\n * Shared internal utilities for the patterns layer.\n *\n * These are private helpers used across multiple pattern modules. They are NOT\n * part of the public API — import from `./patterns/index.js` for public exports.\n *\n * General-purpose reactive utilities (`keepalive`, `reactiveCounter`) live in\n * `extra/sources.ts` and are re-exported here for convenience.\n *\n * @internal\n * @module\n */\n\nimport { downWithBatch } from \"../core/batch.js\";\nimport { DATA, DIRTY } from \"../core/messages.js\";\nimport type { Node } from \"../core/node.js\";\nimport { defaultConfig } from \"../core/node.js\";\n\n// Re-export general-purpose utilities from extra (canonical home).\nexport { keepalive, reactiveCounter } from \"../extra/sources.js\";\n\n// ---------------------------------------------------------------------------\n// emitToMeta\n// ---------------------------------------------------------------------------\n\n/**\n * Forward a single `[DATA, value]` to a meta companion node via tier-3\n * deferral, tolerating absent companions. Used by patterns that publish\n * per-wave statistics alongside their main output (cache-hit-rate,\n * segment-count, layout-time-ns, etc.) — subscribers see the parent's\n * DATA first because phase-2 completes before phase-3 during drain.\n *\n * Equivalent to the expanded form:\n * ```ts\n * downWithBatch((msgs) => metaNode?.down(msgs), [[DATA, value]], tierOf);\n * ```\n * but captures the \"meta may not be mounted\" null guard and the\n * `defaultConfig.tierOf` boilerplate in one name.\n *\n * @internal\n */\nexport function emitToMeta<T>(metaNode: Node<T> | undefined, value: T): void {\n\tif (metaNode == null) return;\n\tdownWithBatch((msgs) => metaNode.down(msgs), [[DATA, value]], defaultConfig.tierOf);\n}\n\n// ---------------------------------------------------------------------------\n// tryIncrementBounded\n// ---------------------------------------------------------------------------\n\n/**\n * Bounded increment for a self-owned counter state node.\n *\n * Reads `counter.cache`, bumps by 1 if under `cap`, writes back. Returns\n * `false` when the cap is reached. Documented P3 exception: the counter is\n * not a declared dep of the caller — it's a private budget read+written from\n * a single call site. This helper keeps the `.cache` access in one named\n * place.\n *\n * **Safety today:**\n * 1. Single-threaded JS runner never invokes the caller concurrently.\n * 2. `counter.down` writes the cache synchronously before returning, so\n * synchronous re-entry through a downstream publish reads the\n * freshly-incremented value — no double-count.\n *\n * **Future risk:** under a free-threaded runner (PY no-GIL or hypothetical\n * concurrent TS runner), two concurrent firings could still race. Revisit\n * when that surfaces.\n *\n * @internal\n */\nexport function tryIncrementBounded(counter: Node<number>, cap: number): boolean {\n\tconst cur = (counter.cache as number | undefined) ?? 0;\n\tif (cur >= cap) return false;\n\tcounter.down([[DIRTY], [DATA, cur + 1]]);\n\treturn true;\n}\n\n// ---------------------------------------------------------------------------\n// domainMeta\n// ---------------------------------------------------------------------------\n\n/**\n * Build a domain metadata object for pattern-layer nodes.\n *\n * Each domain (orchestration, messaging, reduction, ai, cqrs, domain_template)\n * follows the same shape: `{ [domain]: true, [domain]_type: kind, ...extra }`.\n *\n * @param domain - The domain tag (e.g. `\"orchestration\"`, `\"ai\"`, `\"cqrs\"`).\n * @param kind - The specific type within the domain (e.g. `\"gate\"`, `\"prompt\"`).\n * @param extra - Additional metadata to merge.\n * @returns Metadata object.\n *\n * @internal\n */\nexport function domainMeta(\n\tdomain: string,\n\tkind: string,\n\textra?: Record<string, unknown>,\n): Record<string, unknown> {\n\treturn {\n\t\t[domain]: true,\n\t\t[`${domain}_type`]: kind,\n\t\t...(extra ?? {}),\n\t};\n}\n\n// ---------------------------------------------------------------------------\n// trackingKey\n// ---------------------------------------------------------------------------\n\n/**\n * Stable tracking key for an item with retry/reingestion decoration.\n *\n * Uses `relatedTo[0]` if present (carries the original key forward through\n * retries and reingestions). Falls back to `summary` for first-time items.\n *\n * This avoids deriving keys from mutated summary strings — retries decorate\n * the summary with `[RETRY N/M]` and failure context, so regex-stripping\n * would be fragile and any new decoration pattern would risk infinite loops\n * by generating novel keys.\n *\n * @internal\n */\nexport function trackingKey(item: { summary: string; relatedTo?: string[] }): string {\n\treturn item.relatedTo?.[0] ?? item.summary;\n}\n"],"mappings":";;;;;;;;AAyCO,SAAS,WAAc,UAA+B,OAAgB;AAC5E,MAAI,YAAY,KAAM;AACtB,gBAAc,CAAC,SAAS,SAAS,KAAK,IAAI,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,cAAc,MAAM;AACnF;AA2BO,SAAS,oBAAoB,SAAuB,KAAsB;AAChF,QAAM,MAAO,QAAQ,SAAgC;AACrD,MAAI,OAAO,IAAK,QAAO;AACvB,UAAQ,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC;AACvC,SAAO;AACR;AAmBO,SAAS,WACf,QACA,MACA,OAC0B;AAC1B,SAAO;AAAA,IACN,CAAC,MAAM,GAAG;AAAA,IACV,CAAC,GAAG,MAAM,OAAO,GAAG;AAAA,IACpB,GAAI,SAAS,CAAC;AAAA,EACf;AACD;AAmBO,SAAS,YAAY,MAAyD;AACpF,SAAO,KAAK,YAAY,CAAC,KAAK,KAAK;AACpC;","names":[]}