@git-stunts/git-warp 12.2.1 → 12.4.1
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 +5 -5
- package/bin/cli/commands/info.js +1 -5
- package/bin/cli/infrastructure.js +6 -9
- package/bin/cli/shared.js +8 -0
- package/bin/presenters/text.js +10 -3
- package/bin/warp-graph.js +6 -6
- package/package.json +1 -1
- package/src/domain/WarpGraph.js +5 -35
- package/src/domain/crdt/ORSet.js +3 -0
- package/src/domain/crdt/VersionVector.js +1 -1
- package/src/domain/entities/GraphNode.js +1 -6
- package/src/domain/errors/ForkError.js +1 -1
- package/src/domain/errors/IndexError.js +1 -1
- package/src/domain/errors/OperationAbortedError.js +1 -1
- package/src/domain/errors/PatchError.js +1 -1
- package/src/domain/errors/PersistenceError.js +45 -0
- package/src/domain/errors/QueryError.js +1 -1
- package/src/domain/errors/SchemaUnsupportedError.js +1 -1
- package/src/domain/errors/SyncError.js +1 -1
- package/src/domain/errors/TraversalError.js +1 -1
- package/src/domain/errors/TrustError.js +1 -1
- package/src/domain/errors/WormholeError.js +1 -1
- package/src/domain/errors/index.js +1 -0
- package/src/domain/services/AdjacencyNeighborProvider.js +1 -4
- package/src/domain/services/AnchorMessageCodec.js +1 -3
- package/src/domain/services/AuditMessageCodec.js +1 -5
- package/src/domain/services/AuditReceiptService.js +4 -18
- package/src/domain/services/AuditVerifierService.js +3 -7
- package/src/domain/services/BitmapIndexBuilder.js +6 -12
- package/src/domain/services/BitmapIndexReader.js +7 -20
- package/src/domain/services/BitmapNeighborProvider.js +1 -3
- package/src/domain/services/BoundaryTransitionRecord.js +7 -23
- package/src/domain/services/CheckpointMessageCodec.js +6 -6
- package/src/domain/services/CheckpointSerializerV5.js +8 -12
- package/src/domain/services/CheckpointService.js +28 -40
- package/src/domain/services/CommitDagTraversalService.js +1 -3
- package/src/domain/services/DagPathFinding.js +9 -59
- package/src/domain/services/DagTopology.js +4 -16
- package/src/domain/services/DagTraversal.js +7 -31
- package/src/domain/services/Frontier.js +4 -6
- package/src/domain/services/GitLogParser.js +1 -2
- package/src/domain/services/GraphTraversal.js +14 -114
- package/src/domain/services/HealthCheckService.js +3 -9
- package/src/domain/services/HookInstaller.js +2 -8
- package/src/domain/services/HttpSyncServer.js +24 -25
- package/src/domain/services/IncrementalIndexUpdater.js +4 -6
- package/src/domain/services/IndexRebuildService.js +6 -52
- package/src/domain/services/IndexStalenessChecker.js +2 -3
- package/src/domain/services/JoinReducer.js +200 -100
- package/src/domain/services/KeyCodec.js +48 -0
- package/src/domain/services/LogicalBitmapIndexBuilder.js +1 -2
- package/src/domain/services/LogicalIndexBuildService.js +2 -6
- package/src/domain/services/LogicalIndexReader.js +1 -2
- package/src/domain/services/LogicalTraversal.js +13 -64
- package/src/domain/services/MaterializedViewService.js +5 -19
- package/src/domain/services/MessageSchemaDetector.js +35 -5
- package/src/domain/services/MigrationService.js +1 -4
- package/src/domain/services/ObserverView.js +1 -7
- package/src/domain/services/OpNormalizer.js +79 -0
- package/src/domain/services/PatchBuilderV2.js +67 -38
- package/src/domain/services/PatchMessageCodec.js +1 -6
- package/src/domain/services/PropertyIndexBuilder.js +1 -2
- package/src/domain/services/PropertyIndexReader.js +1 -4
- package/src/domain/services/ProvenanceIndex.js +5 -7
- package/src/domain/services/ProvenancePayload.js +1 -1
- package/src/domain/services/QueryBuilder.js +3 -16
- package/src/domain/services/StateDiff.js +3 -9
- package/src/domain/services/StateSerializerV5.js +10 -10
- package/src/domain/services/StreamingBitmapIndexBuilder.js +13 -41
- package/src/domain/services/SyncAuthService.js +8 -32
- package/src/domain/services/SyncController.js +5 -25
- package/src/domain/services/SyncProtocol.js +10 -13
- package/src/domain/services/SyncTrustGate.js +4 -9
- package/src/domain/services/TemporalQuery.js +9 -27
- package/src/domain/services/TranslationCost.js +2 -8
- package/src/domain/services/WarpMessageCodec.js +2 -0
- package/src/domain/services/WarpStateIndexBuilder.js +2 -4
- package/src/domain/services/WormholeService.js +9 -25
- package/src/domain/trust/TrustCrypto.js +9 -10
- package/src/domain/trust/TrustEvaluator.js +1 -8
- package/src/domain/trust/TrustRecordService.js +5 -10
- package/src/domain/types/TickReceipt.js +9 -11
- package/src/domain/types/WarpTypes.js +1 -5
- package/src/domain/types/WarpTypesV2.js +78 -13
- package/src/domain/utils/CachedValue.js +1 -4
- package/src/domain/utils/MinHeap.js +3 -3
- package/src/domain/utils/RefLayout.js +26 -0
- package/src/domain/utils/WriterId.js +2 -7
- package/src/domain/utils/canonicalCbor.js +1 -1
- package/src/domain/utils/defaultClock.js +1 -0
- package/src/domain/utils/defaultCodec.js +1 -1
- package/src/domain/utils/parseCursorBlob.js +4 -4
- package/src/domain/warp/PatchSession.js +3 -8
- package/src/domain/warp/Writer.js +9 -12
- package/src/domain/warp/_wire.js +2 -2
- package/src/domain/warp/_wiredMethods.d.ts +5 -7
- package/src/domain/warp/checkpoint.methods.js +1 -1
- package/src/domain/warp/fork.methods.js +2 -6
- package/src/domain/warp/materializeAdvanced.methods.js +3 -3
- package/src/domain/warp/patch.methods.js +8 -8
- package/src/domain/warp/provenance.methods.js +5 -5
- package/src/domain/warp/query.methods.js +9 -18
- package/src/domain/warp/subscribe.methods.js +2 -8
- package/src/globals.d.ts +7 -0
- package/src/infrastructure/adapters/BunHttpAdapter.js +14 -18
- package/src/infrastructure/adapters/ConsoleLogger.js +2 -9
- package/src/infrastructure/adapters/DenoHttpAdapter.js +15 -15
- package/src/infrastructure/adapters/GitGraphAdapter.js +234 -58
- package/src/infrastructure/adapters/InMemoryGraphAdapter.js +9 -2
- package/src/infrastructure/adapters/NodeHttpAdapter.js +14 -14
- package/src/infrastructure/adapters/WebCryptoAdapter.js +1 -2
- package/src/ports/BlobPort.js +2 -2
- package/src/ports/HttpServerPort.js +24 -2
- package/src/ports/RefPort.js +2 -1
- package/src/visualization/renderers/ascii/box.js +1 -1
- package/src/visualization/renderers/ascii/check.js +1 -5
- package/src/visualization/renderers/ascii/history.js +1 -6
- package/src/visualization/renderers/ascii/path.js +4 -22
- package/src/visualization/renderers/ascii/progress.js +1 -4
- package/src/visualization/renderers/ascii/seek.js +1 -5
- package/src/visualization/renderers/ascii/table.js +1 -3
|
@@ -55,11 +55,7 @@ function segmentFits(currentWidth, segmentWidth, maxWidth) {
|
|
|
55
55
|
|
|
56
56
|
/**
|
|
57
57
|
* Creates a path segment with node and optional arrow.
|
|
58
|
-
* @param {
|
|
59
|
-
* @param {string} opts.nodeId - Node ID
|
|
60
|
-
* @param {number} opts.index - Position in path
|
|
61
|
-
* @param {number} opts.pathLength - Total path length
|
|
62
|
-
* @param {string[]} [opts.edges] - Optional edge labels
|
|
58
|
+
* @param {{ nodeId: string, index: number, pathLength: number, edges?: string[] }} opts - Segment options
|
|
63
59
|
* @returns {{segment: string, width: number}} Segment string and its width
|
|
64
60
|
*/
|
|
65
61
|
function createPathSegment({ nodeId, index, pathLength, edges }) {
|
|
@@ -164,13 +160,7 @@ function renderSameNode(nodeId) {
|
|
|
164
160
|
|
|
165
161
|
/**
|
|
166
162
|
* Renders a found path.
|
|
167
|
-
* @param {
|
|
168
|
-
* @param {string} payload.graph - Graph name
|
|
169
|
-
* @param {string} payload.from - Source node ID
|
|
170
|
-
* @param {string} payload.to - Target node ID
|
|
171
|
-
* @param {string[]} payload.path - Array of node IDs in the path
|
|
172
|
-
* @param {number} payload.length - Path length (number of edges)
|
|
173
|
-
* @param {string[]} [payload.edges] - Optional array of edge labels
|
|
163
|
+
* @param {{ graph: string, from: string, to: string, path: string[], length: number, edges?: string[] }} payload - Path payload
|
|
174
164
|
* @param {number} [terminalWidth] - Terminal width for wrapping
|
|
175
165
|
* @returns {string} Formatted ASCII output
|
|
176
166
|
*/
|
|
@@ -203,16 +193,8 @@ function renderFoundPath(payload, terminalWidth = DEFAULT_TERMINAL_WIDTH) {
|
|
|
203
193
|
|
|
204
194
|
/**
|
|
205
195
|
* Renders the path view.
|
|
206
|
-
* @param {
|
|
207
|
-
* @param {
|
|
208
|
-
* @param {string} payload.from - Source node ID
|
|
209
|
-
* @param {string} payload.to - Target node ID
|
|
210
|
-
* @param {boolean} payload.found - Whether a path was found
|
|
211
|
-
* @param {string[]} payload.path - Array of node IDs in the path
|
|
212
|
-
* @param {number} payload.length - Path length (number of edges)
|
|
213
|
-
* @param {string[]} [payload.edges] - Optional array of edge labels
|
|
214
|
-
* @param {Object} [options] - Rendering options
|
|
215
|
-
* @param {number} [options.terminalWidth] - Terminal width for wrapping
|
|
196
|
+
* @param {{ graph: string, from: string, to: string, found: boolean, path: string[], length: number, edges?: string[] }} payload - The path command payload
|
|
197
|
+
* @param {{ terminalWidth?: number }} [options] - Rendering options
|
|
216
198
|
* @returns {string} Formatted ASCII output
|
|
217
199
|
*/
|
|
218
200
|
export function renderPathView(payload, options = {}) {
|
|
@@ -7,10 +7,7 @@ import chalk from 'chalk';
|
|
|
7
7
|
*
|
|
8
8
|
* @param {number} percent - Percentage value (clamped to 0-100)
|
|
9
9
|
* @param {number} [width=20] - Character width of the bar
|
|
10
|
-
* @param {
|
|
11
|
-
* @param {string} [options.filled='█'] - Character for filled segments
|
|
12
|
-
* @param {string} [options.empty='░'] - Character for empty segments
|
|
13
|
-
* @param {boolean} [options.showPercent=true] - Whether to append the percentage value
|
|
10
|
+
* @param {{ filled?: string, empty?: string, showPercent?: boolean }} [options] - Display options
|
|
14
11
|
* @returns {string} The rendered progress bar with ANSI colors
|
|
15
12
|
*/
|
|
16
13
|
export function progressBar(percent, width = 20, options = {}) {
|
|
@@ -234,11 +234,7 @@ function buildLane(patchSet, points, currentTick) {
|
|
|
234
234
|
* Between consecutive columns, connector characters of the appropriate style
|
|
235
235
|
* fill the gap (COL_W − 1 chars).
|
|
236
236
|
*
|
|
237
|
-
* @param {
|
|
238
|
-
* @param {string} opts.writerId
|
|
239
|
-
* @param {WriterInfo} opts.writerInfo - `{ ticks, tipSha, tickShas }`
|
|
240
|
-
* @param {{ points: number[] }} opts.win - Computed window
|
|
241
|
-
* @param {number} opts.currentTick - Active seek cursor tick
|
|
237
|
+
* @param {{ writerId: string, writerInfo: WriterInfo, win: { points: number[] }, currentTick: number }} opts
|
|
242
238
|
* @returns {string} Formatted, indented swimlane line
|
|
243
239
|
*/
|
|
244
240
|
function buildWriterSwimRow({ writerId, writerInfo, win, currentTick }) {
|
|
@@ -3,9 +3,7 @@ import Table from 'cli-table3';
|
|
|
3
3
|
/**
|
|
4
4
|
* Creates a cli-table3 instance with default WARP styling.
|
|
5
5
|
*
|
|
6
|
-
* @param {
|
|
7
|
-
* @param {string[]} [options.head] - Column headers
|
|
8
|
-
* @param {Object} [options.style] - Style overrides (defaults: head=cyan, border=gray)
|
|
6
|
+
* @param {{ head?: string[], style?: Record<string, unknown>, [key: string]: unknown }} [options] - Options forwarded to cli-table3 constructor
|
|
9
7
|
* @returns {InstanceType<typeof Table>} A cli-table3 instance
|
|
10
8
|
*/
|
|
11
9
|
export function createTable(options = {}) {
|