-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
330 lines (303 loc) · 9.63 KB
/
index.js
File metadata and controls
330 lines (303 loc) · 9.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
/* @ts-self-types="./index.d.ts" */
/**
* @module
*
* Deterministic WARP graph over Git: graph-native storage, traversal,
* and tooling. All graph state lives as Git commits pointing to the
* well-known empty tree — invisible to normal Git workflows, but
* inheriting content-addressing, cryptographic integrity, and
* distributed replication.
*
* @example
* ```ts
* import GitPlumbing from "@git-stunts/plumbing";
* import WarpApp from "@git-stunts/git-warp";
* import { GitGraphAdapter } from "@git-stunts/git-warp";
*
* const plumbing = new GitPlumbing({ cwd: "." });
* const persistence = new GitGraphAdapter({ plumbing });
*
* const app = await WarpApp.open({
* persistence,
* graphName: "myGraph",
* writerId: "writer-1",
* });
*
* const patch = await app.createPatch();
* patch.addNode("user:alice").setProperty("user:alice", "name", "Alice");
* await patch.commit();
* const worldline = app.worldline();
* const node = await worldline.getNodeProps("user:alice");
* ```
*/
import GitGraphAdapter from './src/infrastructure/adapters/GitGraphAdapter.js';
import GraphNode from './src/domain/entities/GraphNode.js';
import BitmapIndexBuilder from './src/domain/services/index/BitmapIndexBuilder.js';
import BitmapIndexReader from './src/domain/services/index/BitmapIndexReader.js';
import IndexRebuildService from './src/domain/services/index/IndexRebuildService.js';
import HealthCheckService, { HealthStatus } from './src/domain/services/HealthCheckService.js';
import CommitDagTraversalService from './src/domain/services/dag/CommitDagTraversalService.js';
import GraphPersistencePort from './src/ports/GraphPersistencePort.js';
import IndexStoragePort from './src/ports/IndexStoragePort.js';
import LoggerPort from './src/ports/LoggerPort.js';
import ClockPort from './src/ports/ClockPort.js';
import SeekCachePort from './src/ports/SeekCachePort.js';
import InMemoryGraphAdapter from './src/infrastructure/adapters/InMemoryGraphAdapter.js';
import NoOpLogger from './src/infrastructure/adapters/NoOpLogger.js';
import ConsoleLogger, { LogLevel } from './src/infrastructure/adapters/ConsoleLogger.js';
import ClockAdapter from './src/infrastructure/adapters/ClockAdapter.js';
import {
AuditError,
EncryptionError,
ForkError,
IndexError,
QueryError,
PatchError,
SchemaUnsupportedError,
ShardLoadError,
ShardCorruptionError,
ShardValidationError,
StorageError,
TraversalError,
OperationAbortedError,
SyncError,
StrandError,
WormholeError,
} from './src/domain/errors/index.js';
import WriterError from './src/domain/errors/WriterError.js';
import BlobStoragePort from './src/ports/BlobStoragePort.js';
import InMemoryBlobStorageAdapter from './src/domain/utils/defaultBlobStorage.js';
import CryptoPort from './src/ports/CryptoPort.js';
import HttpServerPort from './src/ports/HttpServerPort.js';
import NodeCryptoAdapter from './src/infrastructure/adapters/NodeCryptoAdapter.js';
import WebCryptoAdapter from './src/infrastructure/adapters/WebCryptoAdapter.js';
import BunHttpAdapter from './src/infrastructure/adapters/BunHttpAdapter.js';
import DenoHttpAdapter from './src/infrastructure/adapters/DenoHttpAdapter.js';
import { checkAborted, createTimeoutSignal } from './src/domain/utils/cancellation.js';
// Multi-writer graph support (WARP)
import WarpCore from './src/domain/WarpCore.js';
import WarpApp from './src/domain/WarpApp.js';
import {
createNodeAdd,
createNodeTombstone,
createEdgeAdd,
createEdgeTombstone,
createPropSet,
createInlineValue,
createBlobValue,
createEventId,
} from './src/domain/types/WarpTypes.js';
import { migrateV4toV5 } from './src/domain/services/MigrationService.js';
import QueryBuilder from './src/domain/services/query/QueryBuilder.js';
import Observer from './src/domain/services/query/Observer.js';
import Worldline from './src/domain/services/Worldline.js';
import WorldlineSelector from './src/domain/types/WorldlineSelector.js';
import LiveSelector from './src/domain/types/LiveSelector.js';
import CoordinateSelector from './src/domain/types/CoordinateSelector.js';
import StrandSelector from './src/domain/types/StrandSelector.js';
import { computeTranslationCost } from './src/domain/services/TranslationCost.js';
import {
encodeEdgePropKey,
decodeEdgePropKey,
isEdgePropKey,
CONTENT_PROPERTY_KEY,
} from './src/domain/services/KeyCodec.js';
import {
createTickReceipt,
canonicalJson as tickReceiptCanonicalJson,
OP_TYPES as TICK_RECEIPT_OP_TYPES,
RESULT_TYPES as TICK_RECEIPT_RESULT_TYPES,
} from './src/domain/types/TickReceipt.js';
// Provenance payload (HOLOGRAM)
import ProvenancePayload from './src/domain/services/provenance/ProvenancePayload.js';
// Boundary Transition Records (HOLOGRAM)
import {
createBTR,
verifyBTR,
replayBTR,
serializeBTR,
deserializeBTR,
} from './src/domain/services/provenance/BoundaryTransitionRecord.js';
// Wormhole compression (HOLOGRAM)
import {
createWormhole,
composeWormholes,
replayWormhole,
serializeWormhole,
deserializeWormhole,
} from './src/domain/services/WormholeService.js';
import BisectService from './src/domain/services/BisectService.js';
import EffectSinkPort from './src/ports/EffectSinkPort.js';
import { MultiplexSink } from './src/domain/services/MultiplexSink.js';
import { EffectPipeline } from './src/domain/services/EffectPipeline.js';
import {
createEffectEmission,
canonicalEmissionJson,
DELIVERY_MODES,
DELIVERY_OUTCOMES,
} from './src/domain/types/EffectEmission.js';
import {
createDeliveryObservation,
canonicalObservationJson,
} from './src/domain/types/DeliveryObservation.js';
import {
createExternalizationPolicy,
LIVE_LENS,
REPLAY_LENS,
INSPECT_LENS,
} from './src/domain/types/ExternalizationPolicy.js';
import { NoOpEffectSink } from './src/infrastructure/adapters/NoOpEffectSink.js';
import { ConsoleEffectSink } from './src/infrastructure/adapters/ConsoleEffectSink.js';
import { ChunkEffectSink } from './src/infrastructure/adapters/ChunkEffectSink.js';
import { PatchBuilderV2 } from './src/domain/services/PatchBuilderV2.js';
import { PatchSession } from './src/domain/warp/PatchSession.js';
import { Writer } from './src/domain/warp/Writer.js';
import { ProvenanceIndex } from './src/domain/services/provenance/ProvenanceIndex.js';
import WarpStateIndexBuilder, { buildWarpStateIndex } from './src/domain/services/index/WarpStateIndexBuilder.js';
import { computeStateHashV5, projectStateV5 } from './src/domain/services/state/StateSerializerV5.js';
import { createStateReaderV5 } from './src/domain/services/state/StateReaderV5.js';
import { compareVisibleStateV5 } from './src/domain/services/VisibleStateComparisonV5.js';
import {
normalizeVisibleStateScopeV1,
scopeMaterializedStateV5,
} from './src/domain/services/VisibleStateScopeV1.js';
import {
exportCoordinateComparisonFact,
exportCoordinateTransferPlanFact,
} from './src/domain/services/CoordinateFactExport.js';
export {
GitGraphAdapter,
InMemoryGraphAdapter,
GraphNode,
BitmapIndexBuilder,
BitmapIndexReader,
IndexRebuildService,
HealthCheckService,
HealthStatus,
CommitDagTraversalService,
BisectService,
GraphPersistencePort,
IndexStoragePort,
// Logging infrastructure
LoggerPort,
NoOpLogger,
ConsoleLogger,
LogLevel,
// Clock infrastructure
ClockPort,
// Seek cache (RECALL)
SeekCachePort,
ClockAdapter,
// Port contracts
BlobStoragePort,
InMemoryBlobStorageAdapter,
CryptoPort,
HttpServerPort,
// Crypto adapters
NodeCryptoAdapter,
WebCryptoAdapter,
// HTTP adapters
BunHttpAdapter,
DenoHttpAdapter,
// Error types for integrity failure handling
AuditError,
EncryptionError,
PatchError,
ForkError,
IndexError,
QueryError,
SchemaUnsupportedError,
ShardLoadError,
ShardCorruptionError,
ShardValidationError,
StorageError,
TraversalError,
OperationAbortedError,
SyncError,
StrandError,
WormholeError,
WriterError,
// Cancellation utilities
checkAborted,
createTimeoutSignal,
// Multi-writer graph support (WARP)
WarpApp,
WarpCore,
Worldline,
WorldlineSelector,
LiveSelector,
CoordinateSelector,
StrandSelector,
QueryBuilder,
Observer,
PatchBuilderV2,
PatchSession,
Writer,
ProvenanceIndex,
computeTranslationCost,
// WARP type creators
createNodeAdd,
createNodeTombstone,
createEdgeAdd,
createEdgeTombstone,
createPropSet,
createInlineValue,
createBlobValue,
createEventId,
// Key codec utilities (BULKHEAD)
encodeEdgePropKey,
decodeEdgePropKey,
isEdgePropKey,
CONTENT_PROPERTY_KEY,
// State indexing & hashing
WarpStateIndexBuilder,
buildWarpStateIndex,
computeStateHashV5,
projectStateV5,
createStateReaderV5,
compareVisibleStateV5,
normalizeVisibleStateScopeV1,
scopeMaterializedStateV5,
exportCoordinateComparisonFact,
exportCoordinateTransferPlanFact,
// WARP migration
migrateV4toV5,
// Tick receipts (LIGHTHOUSE)
createTickReceipt,
tickReceiptCanonicalJson,
TICK_RECEIPT_OP_TYPES,
TICK_RECEIPT_RESULT_TYPES,
// Provenance payload (HOLOGRAM)
ProvenancePayload,
// Boundary Transition Records (HOLOGRAM)
createBTR,
verifyBTR,
replayBTR,
serializeBTR,
deserializeBTR,
// Wormhole compression (HOLOGRAM)
createWormhole,
composeWormholes,
replayWormhole,
serializeWormhole,
deserializeWormhole,
// Effect emission & delivery observation
EffectSinkPort,
MultiplexSink,
EffectPipeline,
createEffectEmission,
canonicalEmissionJson,
createDeliveryObservation,
canonicalObservationJson,
createExternalizationPolicy,
DELIVERY_MODES,
DELIVERY_OUTCOMES,
LIVE_LENS,
REPLAY_LENS,
INSPECT_LENS,
NoOpEffectSink,
ConsoleEffectSink,
ChunkEffectSink,
};
// WarpApp is the primary product-facing API for v15.
export default WarpApp;