arborkit 1.0.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 (94) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/LICENSE +21 -0
  3. package/README.md +134 -0
  4. package/dist/addressing.d.ts +22 -0
  5. package/dist/addressing.js +56 -0
  6. package/dist/addressing.js.map +1 -0
  7. package/dist/ag-ui.d.ts +45 -0
  8. package/dist/ag-ui.js +50 -0
  9. package/dist/ag-ui.js.map +1 -0
  10. package/dist/arbor.d.ts +73 -0
  11. package/dist/arbor.js +1542 -0
  12. package/dist/arbor.js.map +1 -0
  13. package/dist/artifact-tree.d.ts +66 -0
  14. package/dist/artifact-tree.js +285 -0
  15. package/dist/artifact-tree.js.map +1 -0
  16. package/dist/clock.d.ts +15 -0
  17. package/dist/clock.js +23 -0
  18. package/dist/clock.js.map +1 -0
  19. package/dist/decompose.d.ts +18 -0
  20. package/dist/decompose.js +22 -0
  21. package/dist/decompose.js.map +1 -0
  22. package/dist/delta-storage.d.ts +55 -0
  23. package/dist/delta-storage.js +106 -0
  24. package/dist/delta-storage.js.map +1 -0
  25. package/dist/delta.d.ts +55 -0
  26. package/dist/delta.js +740 -0
  27. package/dist/delta.js.map +1 -0
  28. package/dist/embedding-port.d.ts +17 -0
  29. package/dist/embedding-port.js +21 -0
  30. package/dist/embedding-port.js.map +1 -0
  31. package/dist/embedding-text.d.ts +14 -0
  32. package/dist/embedding-text.js +21 -0
  33. package/dist/embedding-text.js.map +1 -0
  34. package/dist/errors.d.ts +37 -0
  35. package/dist/errors.js +59 -0
  36. package/dist/errors.js.map +1 -0
  37. package/dist/event-log.d.ts +75 -0
  38. package/dist/event-log.js +82 -0
  39. package/dist/event-log.js.map +1 -0
  40. package/dist/file-storage.d.ts +22 -0
  41. package/dist/file-storage.js +42 -0
  42. package/dist/file-storage.js.map +1 -0
  43. package/dist/ids.d.ts +17 -0
  44. package/dist/ids.js +22 -0
  45. package/dist/ids.js.map +1 -0
  46. package/dist/index.d.ts +29 -0
  47. package/dist/index.js +1826 -0
  48. package/dist/index.js.map +1 -0
  49. package/dist/json-edit.d.ts +18 -0
  50. package/dist/json-edit.js +85 -0
  51. package/dist/json-edit.js.map +1 -0
  52. package/dist/jsonpointer.d.ts +14 -0
  53. package/dist/jsonpointer.js +33 -0
  54. package/dist/jsonpointer.js.map +1 -0
  55. package/dist/mutator.d.ts +59 -0
  56. package/dist/mutator.js +244 -0
  57. package/dist/mutator.js.map +1 -0
  58. package/dist/navigator.d.ts +85 -0
  59. package/dist/navigator.js +192 -0
  60. package/dist/navigator.js.map +1 -0
  61. package/dist/path-glob.d.ts +13 -0
  62. package/dist/path-glob.js +40 -0
  63. package/dist/path-glob.js.map +1 -0
  64. package/dist/registry-validator.d.ts +15 -0
  65. package/dist/registry-validator.js +11 -0
  66. package/dist/registry-validator.js.map +1 -0
  67. package/dist/replay.d.ts +38 -0
  68. package/dist/replay.js +183 -0
  69. package/dist/replay.js.map +1 -0
  70. package/dist/semantic-index.d.ts +88 -0
  71. package/dist/semantic-index.js +226 -0
  72. package/dist/semantic-index.js.map +1 -0
  73. package/dist/storage.d.ts +39 -0
  74. package/dist/storage.js +378 -0
  75. package/dist/storage.js.map +1 -0
  76. package/dist/toolset.d.ts +78 -0
  77. package/dist/toolset.js +306 -0
  78. package/dist/toolset.js.map +1 -0
  79. package/dist/type-aware-decision.d.ts +8 -0
  80. package/dist/type-aware-decision.js +17 -0
  81. package/dist/type-aware-decision.js.map +1 -0
  82. package/dist/type-registry.d.ts +20 -0
  83. package/dist/type-registry.js +17 -0
  84. package/dist/type-registry.js.map +1 -0
  85. package/dist/types.d.ts +28 -0
  86. package/dist/types.js +1 -0
  87. package/dist/types.js.map +1 -0
  88. package/dist/vector-index-port.d.ts +34 -0
  89. package/dist/vector-index-port.js +49 -0
  90. package/dist/vector-index-port.js.map +1 -0
  91. package/dist/zod-adapter.d.ts +13 -0
  92. package/dist/zod-adapter.js +34 -0
  93. package/dist/zod-adapter.js.map +1 -0
  94. package/package.json +47 -0
@@ -0,0 +1,55 @@
1
+ import { ArtifactTree, TreeDeps } from './artifact-tree.js';
2
+ import { MutationEvent, EventLog } from './event-log.js';
3
+ import { Mutator } from './mutator.js';
4
+ import { VectorIndexPort } from './vector-index-port.js';
5
+ import { DeltaStoragePort } from './delta-storage.js';
6
+ import './types.js';
7
+ import './ids.js';
8
+ import './clock.js';
9
+ import './decompose.js';
10
+ import './addressing.js';
11
+ import './errors.js';
12
+ import './storage.js';
13
+
14
+ /**
15
+ * Re-apply ONE recorded event FORWARD onto a live tree via the `Mutator`, addressed by
16
+ * the event's stable path(s). The inverse of replay's `reverseApplyValue`: set→`after`,
17
+ * insert→insert `after`, remove→remove, move→to. Goes through the Mutator so
18
+ * decomposition, typing (via `e.nodeType`), and the index hooks run exactly as in normal
19
+ * operation. Node ids for touched subtrees are regenerated; replay/revert are path-addressed and
20
+ * unaffected, but id-addressed views (e.g. toolset `history`, which filters by targetId)
21
+ * may not see a regenerated node's pre-restore history. Malformed/pre-M7 events (missing
22
+ * paths) are skipped.
23
+ */
24
+ declare function applyEventForward(mutator: Mutator, e: MutationEvent): void;
25
+ /** Forward-apply a sequence of events, in order. */
26
+ declare function replayForward(mutator: Mutator, events: readonly MutationEvent[]): void;
27
+ /**
28
+ * Append every event newer than `sinceSeq` to the journal (the cheap, common save).
29
+ * Returns the new high-water seq to pass next time. No-op if nothing is new.
30
+ * Throws if events in `[sinceSeq, baseSeq)` were compacted away before being journaled
31
+ * (that history is unrecoverable) — compact only right before `persistCheckpoint`.
32
+ */
33
+ declare function persistDelta(store: DeltaStoragePort, log: EventLog, sinceSeq: number): Promise<number>;
34
+ /**
35
+ * Write a full checkpoint (replacing the prior one and clearing the journal) and return
36
+ * its high-water seq. Pair with M12 `log.compactTo(...)` BEFORE calling to keep the
37
+ * checkpoint's embedded event window small.
38
+ */
39
+ declare function persistCheckpoint(store: DeltaStoragePort, tree: ArtifactTree, log: EventLog, vectors: VectorIndexPort): Promise<number>;
40
+ /**
41
+ * Restore a tree + log from a checkpoint plus its journaled deltas. Returns null if no
42
+ * checkpoint has been written yet. Forward-replays the journal through a `Mutator` so node
43
+ * TYPES are preserved (via each event's `nodeType`) and UNCHANGED nodes keep their ids and
44
+ * checkpoint vectors; touched nodes are re-decomposed and marked `embedding.state: "stale"`
45
+ * for the consumer's `SemanticIndex` reindex, and removed/orphaned nodes' vectors are
46
+ * dropped. `vectors` should be a fresh index (the checkpoint's vectors are upserted into it).
47
+ * Restore must use the same `decompose` decision as the original run (journal-touched nodes
48
+ * are re-decomposed); replay does not re-validate.
49
+ */
50
+ declare function restoreFromDelta(store: DeltaStoragePort, deps: TreeDeps, vectors: VectorIndexPort): Promise<{
51
+ tree: ArtifactTree;
52
+ log: EventLog;
53
+ } | null>;
54
+
55
+ export { applyEventForward, persistCheckpoint, persistDelta, replayForward, restoreFromDelta };