@graphrefly/graphrefly 0.47.1 → 0.47.2

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 (164) hide show
  1. package/dist/base/composition/index.cjs +24 -16
  2. package/dist/base/composition/index.cjs.map +1 -1
  3. package/dist/base/composition/index.js +6 -6
  4. package/dist/base/index.cjs +142 -86
  5. package/dist/base/index.cjs.map +1 -1
  6. package/dist/base/index.js +11 -11
  7. package/dist/base/io/index.cjs +114 -68
  8. package/dist/base/io/index.cjs.map +1 -1
  9. package/dist/base/io/index.js +5 -5
  10. package/dist/base/sources/browser/index.cjs +13 -9
  11. package/dist/base/sources/browser/index.cjs.map +1 -1
  12. package/dist/base/sources/browser/index.js +13 -9
  13. package/dist/base/sources/browser/index.js.map +1 -1
  14. package/dist/base/sources/event/index.cjs +1 -1
  15. package/dist/base/sources/event/index.cjs.map +1 -1
  16. package/dist/base/sources/event/index.js +1 -1
  17. package/dist/base/sources/index.cjs +21 -13
  18. package/dist/base/sources/index.cjs.map +1 -1
  19. package/dist/base/sources/index.js +3 -3
  20. package/dist/base/sources/node/index.cjs +43 -37
  21. package/dist/base/sources/node/index.cjs.map +1 -1
  22. package/dist/base/sources/node/index.js +43 -37
  23. package/dist/base/sources/node/index.js.map +1 -1
  24. package/dist/{chunk-VLAGJZSL.js → chunk-3O3NKZJW.js} +2 -2
  25. package/dist/{chunk-YJ4U2D2C.js → chunk-446I4EGD.js} +9 -7
  26. package/dist/chunk-446I4EGD.js.map +1 -0
  27. package/dist/{chunk-DKNHAICT.js → chunk-5GVURVIG.js} +14 -8
  28. package/dist/chunk-5GVURVIG.js.map +1 -0
  29. package/dist/{chunk-2OB3CEJS.js → chunk-6MRSX3YK.js} +2 -2
  30. package/dist/{chunk-EVYY4X5A.js → chunk-6ZLCPUXS.js} +2 -2
  31. package/dist/{chunk-U225SKB4.js → chunk-7AVQIGF6.js} +61 -10
  32. package/dist/chunk-7AVQIGF6.js.map +1 -0
  33. package/dist/{chunk-7EGRP2VX.js → chunk-7BULJTL6.js} +2 -2
  34. package/dist/{chunk-7EGRP2VX.js.map → chunk-7BULJTL6.js.map} +1 -1
  35. package/dist/{chunk-7ADWWI2T.js → chunk-DDTS7F5O.js} +6 -4
  36. package/dist/chunk-DDTS7F5O.js.map +1 -0
  37. package/dist/{chunk-OCUDSN63.js → chunk-EL5VHUGK.js} +79 -47
  38. package/dist/chunk-EL5VHUGK.js.map +1 -0
  39. package/dist/{chunk-4GYMCUDZ.js → chunk-EP4WVQLX.js} +5 -5
  40. package/dist/{chunk-SOOKUYVM.js → chunk-F7EKHR32.js} +13 -9
  41. package/dist/chunk-F7EKHR32.js.map +1 -0
  42. package/dist/{chunk-RGMTUZCL.js → chunk-FQSQONOU.js} +3 -3
  43. package/dist/{chunk-RAGGHLCV.js → chunk-GUNIRPEJ.js} +8 -6
  44. package/dist/{chunk-RAGGHLCV.js.map → chunk-GUNIRPEJ.js.map} +1 -1
  45. package/dist/{chunk-BU3SEFA5.js → chunk-IOJDYUA7.js} +2 -2
  46. package/dist/{chunk-Y52CS6YA.js → chunk-JA67ZQG2.js} +2 -2
  47. package/dist/{chunk-Y52CS6YA.js.map → chunk-JA67ZQG2.js.map} +1 -1
  48. package/dist/{chunk-DM4OMPWK.js → chunk-KNU73RZW.js} +2 -2
  49. package/dist/{chunk-K7PDZYQE.js → chunk-KRFGO5QH.js} +18 -14
  50. package/dist/{chunk-K7PDZYQE.js.map → chunk-KRFGO5QH.js.map} +1 -1
  51. package/dist/{chunk-Z4YXAUDN.js → chunk-KUFXLAEY.js} +11 -7
  52. package/dist/{chunk-Z4YXAUDN.js.map → chunk-KUFXLAEY.js.map} +1 -1
  53. package/dist/{chunk-YXCPV26R.js → chunk-MS3WPRJR.js} +37 -25
  54. package/dist/chunk-MS3WPRJR.js.map +1 -0
  55. package/dist/{chunk-CXANAIZU.js → chunk-N65E26UL.js} +3 -3
  56. package/dist/{chunk-O3MT7DYI.js → chunk-N6MNJNHB.js} +2 -2
  57. package/dist/{chunk-A7KV5UK4.js → chunk-OXD5LFQP.js} +2 -2
  58. package/dist/{chunk-V4Y3TM7U.js → chunk-PTWADEH3.js} +8 -6
  59. package/dist/chunk-PTWADEH3.js.map +1 -0
  60. package/dist/{chunk-IHTWQEDR.js → chunk-QFE5BQH7.js} +2 -2
  61. package/dist/{chunk-IHTWQEDR.js.map → chunk-QFE5BQH7.js.map} +1 -1
  62. package/dist/{chunk-J5WFUEO4.js → chunk-R6ZCSXKX.js} +3 -3
  63. package/dist/{chunk-PZWISPIQ.js → chunk-S7HN5FHL.js} +17 -11
  64. package/dist/chunk-S7HN5FHL.js.map +1 -0
  65. package/dist/{chunk-RJOG4IJU.js → chunk-T7SP3EYR.js} +18 -12
  66. package/dist/chunk-T7SP3EYR.js.map +1 -0
  67. package/dist/{chunk-4S53H2KR.js → chunk-VAZXUK6G.js} +2 -2
  68. package/dist/{chunk-IJRR6YAI.js → chunk-VLDRAMP7.js} +18 -12
  69. package/dist/chunk-VLDRAMP7.js.map +1 -0
  70. package/dist/{chunk-B4AKFXGE.js → chunk-VNXAF2KE.js} +3 -3
  71. package/dist/{chunk-MTTRCEJT.js → chunk-VP3TIUDF.js} +2 -2
  72. package/dist/{chunk-6XZYT4SW.js → chunk-WGDEBIP4.js} +5 -5
  73. package/dist/{chunk-E5OZPDIW.js → chunk-X7BA5PWG.js} +7 -5
  74. package/dist/chunk-X7BA5PWG.js.map +1 -0
  75. package/dist/compat/index.cjs +1 -1
  76. package/dist/compat/index.cjs.map +1 -1
  77. package/dist/compat/index.js +2 -2
  78. package/dist/compat/nestjs/index.cjs +1 -1
  79. package/dist/compat/nestjs/index.cjs.map +1 -1
  80. package/dist/compat/nestjs/index.js +2 -2
  81. package/dist/index.cjs +283 -142
  82. package/dist/index.cjs.map +1 -1
  83. package/dist/index.js +32 -32
  84. package/dist/presets/ai/index.cjs +42 -26
  85. package/dist/presets/ai/index.cjs.map +1 -1
  86. package/dist/presets/ai/index.js +10 -10
  87. package/dist/presets/harness/index.cjs +53 -33
  88. package/dist/presets/harness/index.cjs.map +1 -1
  89. package/dist/presets/harness/index.js +21 -21
  90. package/dist/presets/index.cjs +76 -48
  91. package/dist/presets/index.cjs.map +1 -1
  92. package/dist/presets/index.js +24 -24
  93. package/dist/presets/resilience/index.cjs +35 -23
  94. package/dist/presets/resilience/index.cjs.map +1 -1
  95. package/dist/presets/resilience/index.js +5 -5
  96. package/dist/solutions/index.cjs +71 -45
  97. package/dist/solutions/index.cjs.map +1 -1
  98. package/dist/solutions/index.js +21 -21
  99. package/dist/{timeout-U5O4ESK3.js → timeout-BEABACRP.js} +2 -2
  100. package/dist/utils/ai/browser.cjs.map +1 -1
  101. package/dist/utils/ai/browser.js +9 -9
  102. package/dist/utils/ai/index.cjs +41 -25
  103. package/dist/utils/ai/index.cjs.map +1 -1
  104. package/dist/utils/ai/index.js +17 -17
  105. package/dist/utils/ai/node.js +3 -3
  106. package/dist/utils/domain-templates/index.cjs +1 -1
  107. package/dist/utils/domain-templates/index.cjs.map +1 -1
  108. package/dist/utils/domain-templates/index.js +2 -2
  109. package/dist/utils/graphspec/index.cjs +1 -1
  110. package/dist/utils/graphspec/index.cjs.map +1 -1
  111. package/dist/utils/graphspec/index.js +2 -2
  112. package/dist/utils/harness/index.cjs +16 -10
  113. package/dist/utils/harness/index.cjs.map +1 -1
  114. package/dist/utils/harness/index.js +1 -1
  115. package/dist/utils/index.cjs +138 -55
  116. package/dist/utils/index.cjs.map +1 -1
  117. package/dist/utils/index.js +21 -21
  118. package/dist/utils/memory/index.cjs +51 -0
  119. package/dist/utils/memory/index.cjs.map +1 -1
  120. package/dist/utils/memory/index.d.cts +58 -9
  121. package/dist/utils/memory/index.d.ts +58 -9
  122. package/dist/utils/memory/index.js +1 -1
  123. package/dist/utils/orchestration/index.cjs +5 -3
  124. package/dist/utils/orchestration/index.cjs.map +1 -1
  125. package/dist/utils/orchestration/index.js +1 -1
  126. package/dist/utils/process/index.js +2 -2
  127. package/dist/utils/reduction/index.cjs +1 -1
  128. package/dist/utils/reduction/index.cjs.map +1 -1
  129. package/dist/utils/reduction/index.js +1 -1
  130. package/dist/utils/resilience/index.cjs +35 -23
  131. package/dist/utils/resilience/index.cjs.map +1 -1
  132. package/dist/utils/resilience/index.js +4 -4
  133. package/dist/utils/surface/index.cjs +1 -1
  134. package/dist/utils/surface/index.cjs.map +1 -1
  135. package/dist/utils/surface/index.js +3 -3
  136. package/package.json +1 -1
  137. package/dist/chunk-7ADWWI2T.js.map +0 -1
  138. package/dist/chunk-DKNHAICT.js.map +0 -1
  139. package/dist/chunk-E5OZPDIW.js.map +0 -1
  140. package/dist/chunk-IJRR6YAI.js.map +0 -1
  141. package/dist/chunk-OCUDSN63.js.map +0 -1
  142. package/dist/chunk-PZWISPIQ.js.map +0 -1
  143. package/dist/chunk-RJOG4IJU.js.map +0 -1
  144. package/dist/chunk-SOOKUYVM.js.map +0 -1
  145. package/dist/chunk-U225SKB4.js.map +0 -1
  146. package/dist/chunk-V4Y3TM7U.js.map +0 -1
  147. package/dist/chunk-YJ4U2D2C.js.map +0 -1
  148. package/dist/chunk-YXCPV26R.js.map +0 -1
  149. /package/dist/{chunk-VLAGJZSL.js.map → chunk-3O3NKZJW.js.map} +0 -0
  150. /package/dist/{chunk-2OB3CEJS.js.map → chunk-6MRSX3YK.js.map} +0 -0
  151. /package/dist/{chunk-EVYY4X5A.js.map → chunk-6ZLCPUXS.js.map} +0 -0
  152. /package/dist/{chunk-4GYMCUDZ.js.map → chunk-EP4WVQLX.js.map} +0 -0
  153. /package/dist/{chunk-RGMTUZCL.js.map → chunk-FQSQONOU.js.map} +0 -0
  154. /package/dist/{chunk-BU3SEFA5.js.map → chunk-IOJDYUA7.js.map} +0 -0
  155. /package/dist/{chunk-DM4OMPWK.js.map → chunk-KNU73RZW.js.map} +0 -0
  156. /package/dist/{chunk-CXANAIZU.js.map → chunk-N65E26UL.js.map} +0 -0
  157. /package/dist/{chunk-O3MT7DYI.js.map → chunk-N6MNJNHB.js.map} +0 -0
  158. /package/dist/{chunk-A7KV5UK4.js.map → chunk-OXD5LFQP.js.map} +0 -0
  159. /package/dist/{chunk-J5WFUEO4.js.map → chunk-R6ZCSXKX.js.map} +0 -0
  160. /package/dist/{chunk-4S53H2KR.js.map → chunk-VAZXUK6G.js.map} +0 -0
  161. /package/dist/{chunk-B4AKFXGE.js.map → chunk-VNXAF2KE.js.map} +0 -0
  162. /package/dist/{chunk-MTTRCEJT.js.map → chunk-VP3TIUDF.js.map} +0 -0
  163. /package/dist/{chunk-6XZYT4SW.js.map → chunk-WGDEBIP4.js.map} +0 -0
  164. /package/dist/{timeout-U5O4ESK3.js.map → timeout-BEABACRP.js.map} +0 -0
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-BXGZFGZ4.js";
6
6
  import {
7
7
  firstWhere
8
- } from "./chunk-O3MT7DYI.js";
8
+ } from "./chunk-N6MNJNHB.js";
9
9
 
10
10
  // src/utils/process/index.ts
11
11
  import {
@@ -506,4 +506,4 @@ export {
506
506
  processStateKeyOf,
507
507
  processManager
508
508
  };
509
- //# sourceMappingURL=chunk-EVYY4X5A.js.map
509
+ //# sourceMappingURL=chunk-6ZLCPUXS.js.map
@@ -12,12 +12,12 @@ import {
12
12
  } from "./chunk-BXGZFGZ4.js";
13
13
 
14
14
  // src/utils/memory/index.ts
15
- import { monotonicNs, NodeImpl, node as node9, wallClockNs as wallClockNs3 } from "@graphrefly/pure-ts/core";
15
+ import { monotonicNs as monotonicNs2, NodeImpl, node as node9, wallClockNs as wallClockNs3 } from "@graphrefly/pure-ts/core";
16
16
  import { fromTimer as fromTimer3, keepalive as keepalive6, reactiveMap } from "@graphrefly/pure-ts/extra";
17
17
  import { Graph as Graph2 } from "@graphrefly/pure-ts/graph";
18
18
 
19
19
  // src/utils/memory/fact-store.ts
20
- import { node, wallClockNs } from "@graphrefly/pure-ts/core";
20
+ import { monotonicNs, node, wallClockNs } from "@graphrefly/pure-ts/core";
21
21
  import { keepalive, reactiveLog } from "@graphrefly/pure-ts/extra";
22
22
  import { Graph } from "@graphrefly/pure-ts/graph";
23
23
  var OVERFLOW_SAMPLE_SIZE = 8;
@@ -446,6 +446,57 @@ function reactiveFactStore(config) {
446
446
  );
447
447
  graph.add(consolidated, { name: "consolidated" });
448
448
  graph.addDisposer(keepalive(consolidated));
449
+ if (config.decayTrigger) {
450
+ const decayProcessor = node(
451
+ config.decay ? [config.decayTrigger, config.decay] : [config.decayTrigger],
452
+ (batchData, actions, ctx) => {
453
+ const policy = config.decay ? lastOf(batchData[1], ctx.prevData[1]) : void 0;
454
+ if (!policy) {
455
+ actions.emit([]);
456
+ return;
457
+ }
458
+ const now = BigInt(monotonicNs());
459
+ const changes = [];
460
+ for (const f of allFacts().values()) {
461
+ if (f.validTo !== void 0) continue;
462
+ const ageNs = now - f.t_ns;
463
+ const raw = policy(f.confidence, ageNs);
464
+ if (!Number.isFinite(raw)) continue;
465
+ const next = raw < 0 ? 0 : raw > 1 ? 1 : raw;
466
+ if (next === f.confidence) continue;
467
+ changes.push({ id: f.id, next });
468
+ }
469
+ const decayed = [];
470
+ for (const { id, next } of changes) {
471
+ const idx = findShardOf(id);
472
+ const fs = idx < 0 ? void 0 : shards[idx].cache;
473
+ const live = fs?.byId.get(id);
474
+ if (!live || live.validTo !== void 0) continue;
475
+ replaceFragment(
476
+ id,
477
+ (prev) => prev.validTo !== void 0 ? prev : { ...prev, confidence: next }
478
+ );
479
+ decayed.push({ ...live, confidence: next });
480
+ }
481
+ if (decayed.length > 0) {
482
+ events.append({
483
+ action: "decay",
484
+ t_ns: wallClockNs(),
485
+ seq: bumpCursor(seqCursor)
486
+ });
487
+ }
488
+ actions.emit(decayed);
489
+ },
490
+ {
491
+ name: "decay_processor",
492
+ describeKind: "derived",
493
+ initial: [],
494
+ meta: factMeta("decay")
495
+ }
496
+ );
497
+ graph.add(decayProcessor, { name: "decay_processor" });
498
+ graph.addDisposer(keepalive(decayProcessor));
499
+ }
449
500
  const ingestAudit = node(
450
501
  [extractOp],
451
502
  (batchData, actions, ctx) => {
@@ -988,7 +1039,7 @@ function collection(name, opts = {}) {
988
1039
  return scoreInput;
989
1040
  };
990
1041
  const graph = new Graph2(name);
991
- const retentionScore = (_k, v) => ranked ? decay(v.baseScore, ageSeconds(monotonicNs(), v.lastAccessNs), decayRate, minScore) : v.lastAccessNs;
1042
+ const retentionScore = (_k, v) => ranked ? decay(v.baseScore, ageSeconds(monotonicNs2(), v.lastAccessNs), decayRate, minScore) : v.lastAccessNs;
992
1043
  const items = reactiveMap({
993
1044
  name: "items",
994
1045
  ...maxSize !== void 0 ? { retention: { score: retentionScore, maxSize } } : {}
@@ -1001,12 +1052,12 @@ function collection(name, opts = {}) {
1001
1052
  refreshTick = node9(
1002
1053
  [tickCounter],
1003
1054
  (_batchData, actions) => {
1004
- actions.emit(monotonicNs());
1055
+ actions.emit(monotonicNs2());
1005
1056
  },
1006
1057
  {
1007
1058
  name: "refresh_tick_ns",
1008
1059
  describeKind: "derived",
1009
- initial: monotonicNs(),
1060
+ initial: monotonicNs2(),
1010
1061
  meta: memoryMeta("clock")
1011
1062
  }
1012
1063
  );
@@ -1027,9 +1078,9 @@ function collection(name, opts = {}) {
1027
1078
  let now;
1028
1079
  if (refreshTick) {
1029
1080
  const tickValue = values[1];
1030
- now = typeof tickValue === "number" ? tickValue : monotonicNs();
1081
+ now = typeof tickValue === "number" ? tickValue : monotonicNs2();
1031
1082
  } else {
1032
- now = monotonicNs();
1083
+ now = monotonicNs2();
1033
1084
  }
1034
1085
  if (!snapshot || snapshot.size === 0) {
1035
1086
  actions.emit([]);
@@ -1087,7 +1138,7 @@ function collection(name, opts = {}) {
1087
1138
  });
1088
1139
  const seqCursor = registerCursor(graph, "seq", 0);
1089
1140
  const upsertImpl = (id, value, _opts) => {
1090
- const now = monotonicNs();
1141
+ const now = monotonicNs2();
1091
1142
  const prev = items.get(id);
1092
1143
  const baseScore = _opts?.score ?? readScoreFn()(value);
1093
1144
  items.set(id, {
@@ -1273,7 +1324,7 @@ function vectorIndex(opts = {}) {
1273
1324
  id,
1274
1325
  vector: [...vector],
1275
1326
  ...copiedMeta !== void 0 ? { meta: copiedMeta } : {},
1276
- upsertedAtNs: monotonicNs()
1327
+ upsertedAtNs: monotonicNs2()
1277
1328
  };
1278
1329
  entries.set(id, record);
1279
1330
  };
@@ -1709,4 +1760,4 @@ export {
1709
1760
  vectorIndex,
1710
1761
  knowledgeGraph
1711
1762
  };
1712
- //# sourceMappingURL=chunk-U225SKB4.js.map
1763
+ //# sourceMappingURL=chunk-7AVQIGF6.js.map