@graphrefly/graphrefly 0.19.0 → 0.21.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.
- package/README.md +20 -3
- package/dist/{chunk-JC2SN46B.js → chunk-2UDLYZHT.js} +3 -3
- package/dist/{chunk-YXR3WW3Q.js → chunk-4MQ2J6IG.js} +4 -4
- package/dist/{chunk-YXR3WW3Q.js.map → chunk-4MQ2J6IG.js.map} +1 -1
- package/dist/{chunk-XUOY3YKN.js → chunk-7IGHIFTT.js} +2 -2
- package/dist/{chunk-AHRKWMNI.js → chunk-DOSLSFKL.js} +3 -3
- package/dist/{chunk-BER7UYLM.js → chunk-ECN37NVS.js} +161 -199
- package/dist/chunk-ECN37NVS.js.map +1 -0
- package/dist/{chunk-YLR5JUJZ.js → chunk-G66H6ZRK.js} +3 -3
- package/dist/{chunk-IRZAGZUB.js → chunk-VOQFK7YN.js} +26 -2
- package/dist/chunk-VOQFK7YN.js.map +1 -0
- package/dist/{chunk-OO5QOAXI.js → chunk-XWBVAO2R.js} +22 -9
- package/dist/chunk-XWBVAO2R.js.map +1 -0
- package/dist/{chunk-UW77D7SP.js → chunk-ZTCDY5NQ.js} +3 -3
- package/dist/compat/nestjs/index.cjs +15 -6
- package/dist/compat/nestjs/index.cjs.map +1 -1
- package/dist/compat/nestjs/index.js +7 -7
- package/dist/core/index.cjs +3 -3
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.cts +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.js +3 -3
- package/dist/extra/index.cjs +183 -199
- package/dist/extra/index.cjs.map +1 -1
- package/dist/extra/index.d.cts +1 -1
- package/dist/extra/index.d.ts +1 -1
- package/dist/extra/index.js +7 -3
- package/dist/graph/index.cjs +1 -1
- package/dist/graph/index.cjs.map +1 -1
- package/dist/graph/index.js +4 -4
- package/dist/{index-CvKzv0AW.d.ts → index-BHfg_Ez3.d.ts} +1 -1
- package/dist/{index-BBUYZfJ1.d.cts → index-Bc_diYYJ.d.cts} +1 -1
- package/dist/{index-BnkMgNNa.d.ts → index-DuN3bhtm.d.ts} +47 -2
- package/dist/{index-Bjh5C1Tp.d.cts → index-SFzE_KTa.d.cts} +47 -2
- package/dist/index.cjs +463 -281
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +275 -10
- package/dist/index.d.ts +275 -10
- package/dist/index.js +284 -90
- package/dist/index.js.map +1 -1
- package/dist/patterns/reactive-layout/index.cjs +1 -1
- package/dist/patterns/reactive-layout/index.cjs.map +1 -1
- package/dist/patterns/reactive-layout/index.js +4 -4
- package/package.json +3 -2
- package/dist/chunk-BER7UYLM.js.map +0 -1
- package/dist/chunk-IRZAGZUB.js.map +0 -1
- package/dist/chunk-OO5QOAXI.js.map +0 -1
- /package/dist/{chunk-JC2SN46B.js.map → chunk-2UDLYZHT.js.map} +0 -0
- /package/dist/{chunk-XUOY3YKN.js.map → chunk-7IGHIFTT.js.map} +0 -0
- /package/dist/{chunk-AHRKWMNI.js.map → chunk-DOSLSFKL.js.map} +0 -0
- /package/dist/{chunk-YLR5JUJZ.js.map → chunk-G66H6ZRK.js.map} +0 -0
- /package/dist/{chunk-UW77D7SP.js.map → chunk-ZTCDY5NQ.js.map} +0 -0
package/README.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# GraphReFly
|
|
2
2
|
|
|
3
|
-
**Describe
|
|
3
|
+
**The reactive harness layer for agent workflows.** Describe in plain language, review visually, run persistently, trace every decision.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
GraphReFly makes long-running human + LLM co-operation reactive, resumable, and causally explainable. State pushes downstream on change (no re-reading), nodes have lifecycles (not infinite append), and every decision has a traceable causal chain — the substrate underneath tools, agents, and personal automations.
|
|
6
6
|
|
|
7
7
|
[](https://www.npmjs.com/package/@graphrefly/graphrefly)
|
|
8
8
|
[](./LICENSE)
|
|
9
9
|
|
|
10
|
-
[Docs](https://graphrefly.dev) | [Spec](https://graphrefly.dev/spec/) | [Python API](https://graphrefly.dev/py/api/) | [API Reference](https://graphrefly.dev/api/node/)
|
|
10
|
+
[Docs](https://graphrefly.dev) | [Spec](https://graphrefly.dev/spec/) | [Python API](https://graphrefly.dev/py/api/) | [TS API Reference](https://graphrefly.dev/api/node/)
|
|
11
11
|
|
|
12
12
|
---
|
|
13
13
|
|
|
@@ -46,6 +46,23 @@ count.set(3);
|
|
|
46
46
|
|
|
47
47
|
You describe what you need — an LLM composes a reactive graph (like SQL for data flows). The graph runs persistently, checkpoints its state, and traces every decision through a causal chain. Ask "why?" at any point and get a human-readable explanation from source to conclusion.
|
|
48
48
|
|
|
49
|
+
## Harness engineering coverage
|
|
50
|
+
|
|
51
|
+
The eight requirements of a production agent harness cluster into a handful of composed blocks that sit on top of the reactive graph primitives:
|
|
52
|
+
|
|
53
|
+
| Need | GraphReFly |
|
|
54
|
+
|---|---|
|
|
55
|
+
| Context & state | `persistentState()` — `autoCheckpoint` + `snapshot` / `restore` + incremental diff |
|
|
56
|
+
| Agent memory | `agentMemory()` — `distill` + vectors + knowledge graph + tiers, OpenViking decay |
|
|
57
|
+
| Control flow & resilience | `resilientPipeline()` — `rateLimiter → breaker → retry → timeout → fallback`, correct ordering built in |
|
|
58
|
+
| Execution & policy | `guardedExecution()` — Actor / Guard ABAC + `policy()` + `budgetGate` + scoped describe |
|
|
59
|
+
| Observability & causality | `graphLens()` — reactive topology, health, flow, and `why(node)` causal chains as structured data |
|
|
60
|
+
| Human governance | `gate` — reactive `pending` / `isOpen` with `approve` / `reject` / `modify(fn, n)` |
|
|
61
|
+
| Verification | Multi-model eval harness with regression gates |
|
|
62
|
+
| Continuous improvement | Strategy model: `rootCause × intervention → successRate` |
|
|
63
|
+
|
|
64
|
+
The library computes structured facts reactively; LLMs and UIs render them. Natural language is never the library's job — which keeps the whole stack model-agnostic and testable.
|
|
65
|
+
|
|
49
66
|
## Why GraphReFly?
|
|
50
67
|
|
|
51
68
|
| | Zustand / Jotai | RxJS | XState | LangGraph | TC39 Signals | **GraphReFly** |
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
describeNode,
|
|
3
3
|
resolveDescribeFields
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-7IGHIFTT.js";
|
|
5
5
|
import {
|
|
6
6
|
COMPLETE,
|
|
7
7
|
DATA,
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
messageTier,
|
|
17
17
|
monotonicNs,
|
|
18
18
|
state
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-4MQ2J6IG.js";
|
|
20
20
|
|
|
21
21
|
// src/graph/sizeof.ts
|
|
22
22
|
var OVERHEAD = {
|
|
@@ -2114,4 +2114,4 @@ export {
|
|
|
2114
2114
|
Graph,
|
|
2115
2115
|
reachable
|
|
2116
2116
|
};
|
|
2117
|
-
//# sourceMappingURL=chunk-
|
|
2117
|
+
//# sourceMappingURL=chunk-2UDLYZHT.js.map
|
|
@@ -1072,7 +1072,7 @@ var NodeImpl = class extends NodeBase {
|
|
|
1072
1072
|
try {
|
|
1073
1073
|
const consumed = this._onMessage(msg, index, this._actions);
|
|
1074
1074
|
if (consumed) {
|
|
1075
|
-
if (t === START) {
|
|
1075
|
+
if (t === START || t === DATA || t === RESOLVED) {
|
|
1076
1076
|
this._depDirtyMask.clear(index);
|
|
1077
1077
|
if (this._depDirtyMask.any() && this._depSettledMask.covers(this._depDirtyMask)) {
|
|
1078
1078
|
this._depDirtyMask.reset();
|
|
@@ -1565,8 +1565,8 @@ function producer(fn, opts) {
|
|
|
1565
1565
|
function derived(deps, fn, opts) {
|
|
1566
1566
|
return node(deps, fn, { describeKind: "derived", ...opts });
|
|
1567
1567
|
}
|
|
1568
|
-
function effect(deps, fn) {
|
|
1569
|
-
return node(deps, fn, { describeKind: "effect" });
|
|
1568
|
+
function effect(deps, fn, opts) {
|
|
1569
|
+
return node(deps, fn, { describeKind: "effect", ...opts });
|
|
1570
1570
|
}
|
|
1571
1571
|
function pipe(source, ...ops) {
|
|
1572
1572
|
let current = source;
|
|
@@ -1628,4 +1628,4 @@ export {
|
|
|
1628
1628
|
effect,
|
|
1629
1629
|
pipe
|
|
1630
1630
|
};
|
|
1631
|
-
//# sourceMappingURL=chunk-
|
|
1631
|
+
//# sourceMappingURL=chunk-4MQ2J6IG.js.map
|