@rengler33/prov 0.1.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 +314 -0
- package/dist/cli.d.ts +26 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +381 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/agent.d.ts +107 -0
- package/dist/commands/agent.d.ts.map +1 -0
- package/dist/commands/agent.js +197 -0
- package/dist/commands/agent.js.map +1 -0
- package/dist/commands/agent.test.d.ts +5 -0
- package/dist/commands/agent.test.d.ts.map +1 -0
- package/dist/commands/agent.test.js +199 -0
- package/dist/commands/agent.test.js.map +1 -0
- package/dist/commands/constraint.d.ts +100 -0
- package/dist/commands/constraint.d.ts.map +1 -0
- package/dist/commands/constraint.js +763 -0
- package/dist/commands/constraint.js.map +1 -0
- package/dist/commands/constraint.test.d.ts +9 -0
- package/dist/commands/constraint.test.d.ts.map +1 -0
- package/dist/commands/constraint.test.js +470 -0
- package/dist/commands/constraint.test.js.map +1 -0
- package/dist/commands/graph.d.ts +99 -0
- package/dist/commands/graph.d.ts.map +1 -0
- package/dist/commands/graph.js +552 -0
- package/dist/commands/graph.js.map +1 -0
- package/dist/commands/graph.test.d.ts +2 -0
- package/dist/commands/graph.test.d.ts.map +1 -0
- package/dist/commands/graph.test.js +258 -0
- package/dist/commands/graph.test.js.map +1 -0
- package/dist/commands/impact.d.ts +83 -0
- package/dist/commands/impact.d.ts.map +1 -0
- package/dist/commands/impact.js +319 -0
- package/dist/commands/impact.js.map +1 -0
- package/dist/commands/impact.test.d.ts +2 -0
- package/dist/commands/impact.test.d.ts.map +1 -0
- package/dist/commands/impact.test.js +234 -0
- package/dist/commands/impact.test.js.map +1 -0
- package/dist/commands/init.d.ts +45 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +94 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/init.test.d.ts +7 -0
- package/dist/commands/init.test.d.ts.map +1 -0
- package/dist/commands/init.test.js +174 -0
- package/dist/commands/init.test.js.map +1 -0
- package/dist/commands/integration.test.d.ts +10 -0
- package/dist/commands/integration.test.d.ts.map +1 -0
- package/dist/commands/integration.test.js +456 -0
- package/dist/commands/integration.test.js.map +1 -0
- package/dist/commands/mcp.d.ts +21 -0
- package/dist/commands/mcp.d.ts.map +1 -0
- package/dist/commands/mcp.js +616 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/commands/mcp.test.d.ts +7 -0
- package/dist/commands/mcp.test.d.ts.map +1 -0
- package/dist/commands/mcp.test.js +132 -0
- package/dist/commands/mcp.test.js.map +1 -0
- package/dist/commands/plan.d.ts +218 -0
- package/dist/commands/plan.d.ts.map +1 -0
- package/dist/commands/plan.js +1307 -0
- package/dist/commands/plan.js.map +1 -0
- package/dist/commands/plan.test.d.ts +9 -0
- package/dist/commands/plan.test.d.ts.map +1 -0
- package/dist/commands/plan.test.js +569 -0
- package/dist/commands/plan.test.js.map +1 -0
- package/dist/commands/spec.d.ts +94 -0
- package/dist/commands/spec.d.ts.map +1 -0
- package/dist/commands/spec.js +635 -0
- package/dist/commands/spec.js.map +1 -0
- package/dist/commands/spec.test.d.ts +9 -0
- package/dist/commands/spec.test.d.ts.map +1 -0
- package/dist/commands/spec.test.js +407 -0
- package/dist/commands/spec.test.js.map +1 -0
- package/dist/commands/trace.d.ts +157 -0
- package/dist/commands/trace.d.ts.map +1 -0
- package/dist/commands/trace.js +847 -0
- package/dist/commands/trace.js.map +1 -0
- package/dist/commands/trace.test.d.ts +9 -0
- package/dist/commands/trace.test.d.ts.map +1 -0
- package/dist/commands/trace.test.js +524 -0
- package/dist/commands/trace.test.js.map +1 -0
- package/dist/graph.d.ts +204 -0
- package/dist/graph.d.ts.map +1 -0
- package/dist/graph.js +496 -0
- package/dist/graph.js.map +1 -0
- package/dist/graph.test.d.ts +2 -0
- package/dist/graph.test.d.ts.map +1 -0
- package/dist/graph.test.js +382 -0
- package/dist/graph.test.js.map +1 -0
- package/dist/hash.d.ts +72 -0
- package/dist/hash.d.ts.map +1 -0
- package/dist/hash.js +137 -0
- package/dist/hash.js.map +1 -0
- package/dist/hash.test.d.ts +2 -0
- package/dist/hash.test.d.ts.map +1 -0
- package/dist/hash.test.js +227 -0
- package/dist/hash.test.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +64 -0
- package/dist/index.js.map +1 -0
- package/dist/index.test.d.ts +2 -0
- package/dist/index.test.d.ts.map +1 -0
- package/dist/index.test.js +11 -0
- package/dist/index.test.js.map +1 -0
- package/dist/output.d.ts +84 -0
- package/dist/output.d.ts.map +1 -0
- package/dist/output.js +175 -0
- package/dist/output.js.map +1 -0
- package/dist/output.test.d.ts +7 -0
- package/dist/output.test.d.ts.map +1 -0
- package/dist/output.test.js +146 -0
- package/dist/output.test.js.map +1 -0
- package/dist/staleness.d.ts +162 -0
- package/dist/staleness.d.ts.map +1 -0
- package/dist/staleness.js +309 -0
- package/dist/staleness.js.map +1 -0
- package/dist/staleness.test.d.ts +2 -0
- package/dist/staleness.test.d.ts.map +1 -0
- package/dist/staleness.test.js +448 -0
- package/dist/staleness.test.js.map +1 -0
- package/dist/storage.d.ts +267 -0
- package/dist/storage.d.ts.map +1 -0
- package/dist/storage.js +623 -0
- package/dist/storage.js.map +1 -0
- package/dist/storage.test.d.ts +5 -0
- package/dist/storage.test.d.ts.map +1 -0
- package/dist/storage.test.js +434 -0
- package/dist/storage.test.js.map +1 -0
- package/dist/types.d.ts +270 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +12 -0
- package/dist/types.js.map +1 -0
- package/dist/types.test.d.ts +2 -0
- package/dist/types.test.d.ts.map +1 -0
- package/dist/types.test.js +232 -0
- package/dist/types.test.js.map +1 -0
- package/dist/watcher.d.ts +139 -0
- package/dist/watcher.d.ts.map +1 -0
- package/dist/watcher.js +406 -0
- package/dist/watcher.js.map +1 -0
- package/dist/watcher.test.d.ts +5 -0
- package/dist/watcher.test.d.ts.map +1 -0
- package/dist/watcher.test.js +327 -0
- package/dist/watcher.test.js.map +1 -0
- package/package.json +53 -0
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Storage layer for prov.
|
|
3
|
+
*
|
|
4
|
+
* Handles persistence of the intent graph and trace mappings to disk.
|
|
5
|
+
* Uses file-based storage in .prov/ directory for git-friendliness.
|
|
6
|
+
*
|
|
7
|
+
* @see spec:storage:v1
|
|
8
|
+
*/
|
|
9
|
+
import { IntentGraph } from './graph.js';
|
|
10
|
+
import type { EntityId, Hash, StepId, Timestamp, TraceId } from './types.js';
|
|
11
|
+
/** Root directory name for prov metadata */
|
|
12
|
+
export declare const PROV_DIR = ".prov";
|
|
13
|
+
/** Intent graph file name */
|
|
14
|
+
export declare const GRAPH_FILE = "graph.json";
|
|
15
|
+
/** Mappings directory name */
|
|
16
|
+
export declare const MAPPINGS_DIR = "mappings";
|
|
17
|
+
/** Cache directory name */
|
|
18
|
+
export declare const CACHE_DIR = "cache";
|
|
19
|
+
/** Lock file name */
|
|
20
|
+
export declare const LOCK_FILE = ".lock";
|
|
21
|
+
/** Schema version for graph format */
|
|
22
|
+
export declare const SCHEMA_VERSION = 1;
|
|
23
|
+
/**
|
|
24
|
+
* Graph file schema for persistence.
|
|
25
|
+
*/
|
|
26
|
+
export interface GraphFile {
|
|
27
|
+
/** Schema version for migrations */
|
|
28
|
+
readonly schemaVersion: number;
|
|
29
|
+
/** ISO timestamp of last modification */
|
|
30
|
+
readonly updatedAt: Timestamp;
|
|
31
|
+
/** Graph nodes keyed by ID */
|
|
32
|
+
readonly nodes: Record<string, SerializedNode>;
|
|
33
|
+
/** Graph edges */
|
|
34
|
+
readonly edges: SerializedEdge[];
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Serialized node format (JSON-friendly).
|
|
38
|
+
*/
|
|
39
|
+
export interface SerializedNode {
|
|
40
|
+
readonly id: EntityId;
|
|
41
|
+
readonly type: string;
|
|
42
|
+
readonly hash?: Hash | undefined;
|
|
43
|
+
readonly sourceFile?: string | undefined;
|
|
44
|
+
readonly data: unknown;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Serialized edge format (JSON-friendly).
|
|
48
|
+
*/
|
|
49
|
+
export interface SerializedEdge {
|
|
50
|
+
readonly from: EntityId;
|
|
51
|
+
readonly to: EntityId;
|
|
52
|
+
readonly type: string;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Line range mapping within a file.
|
|
56
|
+
*/
|
|
57
|
+
export interface LineMapping {
|
|
58
|
+
/** Starting line (1-indexed) */
|
|
59
|
+
readonly startLine: number;
|
|
60
|
+
/** Ending line (1-indexed, inclusive) */
|
|
61
|
+
readonly endLine: number;
|
|
62
|
+
/** Step ID this range implements */
|
|
63
|
+
readonly stepId: StepId;
|
|
64
|
+
/** Optional trace ID */
|
|
65
|
+
readonly traceId?: TraceId;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Trace mapping for a single source file.
|
|
69
|
+
*/
|
|
70
|
+
export interface FileMapping {
|
|
71
|
+
/** Source file path (relative to project root) */
|
|
72
|
+
readonly path: string;
|
|
73
|
+
/** Hash of the file at trace time */
|
|
74
|
+
readonly fileHash: Hash;
|
|
75
|
+
/** ISO timestamp of last update */
|
|
76
|
+
readonly updatedAt: Timestamp;
|
|
77
|
+
/** Line range mappings */
|
|
78
|
+
readonly mappings: readonly LineMapping[];
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Options for storage operations.
|
|
82
|
+
*/
|
|
83
|
+
export interface StorageOptions {
|
|
84
|
+
/** Project root directory (default: cwd) */
|
|
85
|
+
readonly projectRoot?: string;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Result of storage operations.
|
|
89
|
+
*/
|
|
90
|
+
export interface StorageResult<T> {
|
|
91
|
+
readonly success: boolean;
|
|
92
|
+
readonly data?: T | undefined;
|
|
93
|
+
readonly error?: string | undefined;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Get the .prov directory path for a project.
|
|
97
|
+
*/
|
|
98
|
+
export declare function getProvDir(projectRoot?: string): string;
|
|
99
|
+
/**
|
|
100
|
+
* Get the graph.json file path.
|
|
101
|
+
*/
|
|
102
|
+
export declare function getGraphPath(projectRoot?: string): string;
|
|
103
|
+
/**
|
|
104
|
+
* Get the mappings directory path.
|
|
105
|
+
*/
|
|
106
|
+
export declare function getMappingsDir(projectRoot?: string): string;
|
|
107
|
+
/**
|
|
108
|
+
* Get the cache directory path.
|
|
109
|
+
*/
|
|
110
|
+
export declare function getCacheDir(projectRoot?: string): string;
|
|
111
|
+
/**
|
|
112
|
+
* Get the lock file path.
|
|
113
|
+
*/
|
|
114
|
+
export declare function getLockPath(projectRoot?: string): string;
|
|
115
|
+
/**
|
|
116
|
+
* Get the mapping file path for a source file.
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* getMappingPath('src/auth/login.ts') → '.prov/mappings/src/auth/login.ts.yaml'
|
|
120
|
+
*/
|
|
121
|
+
export declare function getMappingPath(sourcePath: string, projectRoot?: string): string;
|
|
122
|
+
/**
|
|
123
|
+
* Check if prov is initialized in the project.
|
|
124
|
+
*/
|
|
125
|
+
export declare function isInitialized(projectRoot?: string): boolean;
|
|
126
|
+
/**
|
|
127
|
+
* Initialize prov directory structure.
|
|
128
|
+
*
|
|
129
|
+
* Creates:
|
|
130
|
+
* - .prov/
|
|
131
|
+
* - .prov/mappings/
|
|
132
|
+
* - .prov/cache/
|
|
133
|
+
*
|
|
134
|
+
* @see req:storage:directory-structure
|
|
135
|
+
*/
|
|
136
|
+
export declare function initialize(projectRoot?: string): StorageResult<void>;
|
|
137
|
+
/**
|
|
138
|
+
* Acquire a write lock.
|
|
139
|
+
*
|
|
140
|
+
* @see req:storage:atomic-writes
|
|
141
|
+
*/
|
|
142
|
+
export declare function acquireLock(projectRoot?: string): StorageResult<void>;
|
|
143
|
+
/**
|
|
144
|
+
* Release the write lock.
|
|
145
|
+
*/
|
|
146
|
+
export declare function releaseLock(projectRoot?: string): StorageResult<void>;
|
|
147
|
+
/**
|
|
148
|
+
* Execute a function with a lock held.
|
|
149
|
+
*/
|
|
150
|
+
export declare function withLock<T>(projectRoot: string, fn: () => Promise<T> | T): Promise<StorageResult<T>>;
|
|
151
|
+
/**
|
|
152
|
+
* Write data atomically (write to temp, then rename).
|
|
153
|
+
*
|
|
154
|
+
* @see req:storage:atomic-writes
|
|
155
|
+
*/
|
|
156
|
+
export declare function atomicWrite(filePath: string, content: string): StorageResult<void>;
|
|
157
|
+
/**
|
|
158
|
+
* Save the intent graph to disk.
|
|
159
|
+
*
|
|
160
|
+
* @see req:storage:graph-format
|
|
161
|
+
* @see req:storage:atomic-writes
|
|
162
|
+
*/
|
|
163
|
+
export declare function saveGraph(graph: IntentGraph, projectRoot?: string): StorageResult<void>;
|
|
164
|
+
/**
|
|
165
|
+
* Load the intent graph from disk.
|
|
166
|
+
*
|
|
167
|
+
* @see req:storage:graph-format
|
|
168
|
+
*/
|
|
169
|
+
export declare function loadGraph(projectRoot?: string): StorageResult<IntentGraph>;
|
|
170
|
+
/**
|
|
171
|
+
* Save a trace mapping for a source file.
|
|
172
|
+
*
|
|
173
|
+
* @see req:storage:mapping-format
|
|
174
|
+
*/
|
|
175
|
+
export declare function saveMapping(mapping: FileMapping, projectRoot?: string): StorageResult<void>;
|
|
176
|
+
/**
|
|
177
|
+
* Load a trace mapping for a source file.
|
|
178
|
+
*
|
|
179
|
+
* @see req:storage:mapping-format
|
|
180
|
+
*/
|
|
181
|
+
export declare function loadMapping(sourcePath: string, projectRoot?: string): StorageResult<FileMapping | null>;
|
|
182
|
+
/**
|
|
183
|
+
* Delete a trace mapping for a source file.
|
|
184
|
+
*/
|
|
185
|
+
export declare function deleteMapping(sourcePath: string, projectRoot?: string): StorageResult<void>;
|
|
186
|
+
/**
|
|
187
|
+
* List all trace mappings.
|
|
188
|
+
*/
|
|
189
|
+
export declare function listMappings(projectRoot?: string): StorageResult<string[]>;
|
|
190
|
+
/**
|
|
191
|
+
* Get cached hash for a file.
|
|
192
|
+
*/
|
|
193
|
+
export declare function getCachedHash(filePath: string, projectRoot?: string): Hash | null;
|
|
194
|
+
/**
|
|
195
|
+
* Set cached hash for a file.
|
|
196
|
+
*/
|
|
197
|
+
export declare function setCachedHash(filePath: string, hash: Hash, projectRoot?: string): StorageResult<void>;
|
|
198
|
+
/**
|
|
199
|
+
* Clear the hash cache.
|
|
200
|
+
*/
|
|
201
|
+
export declare function clearCache(projectRoot?: string): StorageResult<void>;
|
|
202
|
+
/**
|
|
203
|
+
* Storage class providing a high-level interface for prov persistence.
|
|
204
|
+
*/
|
|
205
|
+
export declare class Storage {
|
|
206
|
+
private readonly projectRoot;
|
|
207
|
+
constructor(options?: StorageOptions);
|
|
208
|
+
/**
|
|
209
|
+
* Check if prov is initialized.
|
|
210
|
+
*/
|
|
211
|
+
isInitialized(): boolean;
|
|
212
|
+
/**
|
|
213
|
+
* Initialize prov directory structure.
|
|
214
|
+
*/
|
|
215
|
+
initialize(): StorageResult<void>;
|
|
216
|
+
/**
|
|
217
|
+
* Load the intent graph.
|
|
218
|
+
*/
|
|
219
|
+
loadGraph(): StorageResult<IntentGraph>;
|
|
220
|
+
/**
|
|
221
|
+
* Save the intent graph.
|
|
222
|
+
*/
|
|
223
|
+
saveGraph(graph: IntentGraph): StorageResult<void>;
|
|
224
|
+
/**
|
|
225
|
+
* Load a file mapping.
|
|
226
|
+
*/
|
|
227
|
+
loadMapping(sourcePath: string): StorageResult<FileMapping | null>;
|
|
228
|
+
/**
|
|
229
|
+
* Save a file mapping.
|
|
230
|
+
*/
|
|
231
|
+
saveMapping(mapping: FileMapping): StorageResult<void>;
|
|
232
|
+
/**
|
|
233
|
+
* Delete a file mapping.
|
|
234
|
+
*/
|
|
235
|
+
deleteMapping(sourcePath: string): StorageResult<void>;
|
|
236
|
+
/**
|
|
237
|
+
* List all file mappings.
|
|
238
|
+
*/
|
|
239
|
+
listMappings(): StorageResult<string[]>;
|
|
240
|
+
/**
|
|
241
|
+
* Get cached hash for a file.
|
|
242
|
+
*/
|
|
243
|
+
getCachedHash(filePath: string): Hash | null;
|
|
244
|
+
/**
|
|
245
|
+
* Set cached hash for a file.
|
|
246
|
+
*/
|
|
247
|
+
setCachedHash(filePath: string, hash: Hash): StorageResult<void>;
|
|
248
|
+
/**
|
|
249
|
+
* Clear the cache.
|
|
250
|
+
*/
|
|
251
|
+
clearCache(): StorageResult<void>;
|
|
252
|
+
/**
|
|
253
|
+
* Execute a function with a write lock.
|
|
254
|
+
*/
|
|
255
|
+
withLock<T>(fn: () => Promise<T> | T): Promise<StorageResult<T>>;
|
|
256
|
+
/**
|
|
257
|
+
* Get path utilities.
|
|
258
|
+
*/
|
|
259
|
+
get paths(): {
|
|
260
|
+
provDir: string;
|
|
261
|
+
graphPath: string;
|
|
262
|
+
mappingsDir: string;
|
|
263
|
+
cacheDir: string;
|
|
264
|
+
getMappingPath: (sourcePath: string) => string;
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
//# sourceMappingURL=storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
|