prelude-context 1.0.0 → 1.2.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.
- package/README.md +46 -9
- package/dist/bin/prelude.js +9 -0
- package/dist/bin/prelude.js.map +1 -1
- package/dist/src/commands/decision.d.ts.map +1 -1
- package/dist/src/commands/decision.js +4 -1
- package/dist/src/commands/decision.js.map +1 -1
- package/dist/src/commands/export.d.ts.map +1 -1
- package/dist/src/commands/export.js +4 -1
- package/dist/src/commands/export.js.map +1 -1
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +8 -1
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/share.d.ts.map +1 -1
- package/dist/src/commands/share.js +4 -1
- package/dist/src/commands/share.js.map +1 -1
- package/dist/src/commands/update.d.ts +11 -0
- package/dist/src/commands/update.d.ts.map +1 -0
- package/dist/src/commands/update.js +186 -0
- package/dist/src/commands/update.js.map +1 -0
- package/dist/src/commands/watch.d.ts.map +1 -1
- package/dist/src/commands/watch.js +4 -1
- package/dist/src/commands/watch.js.map +1 -1
- package/dist/src/core/merger.d.ts +48 -0
- package/dist/src/core/merger.d.ts.map +1 -0
- package/dist/src/core/merger.js +221 -0
- package/dist/src/core/merger.js.map +1 -0
- package/dist/src/core/state-manager.d.ts +62 -0
- package/dist/src/core/state-manager.d.ts.map +1 -0
- package/dist/src/core/state-manager.js +156 -0
- package/dist/src/core/state-manager.js.map +1 -0
- package/dist/src/runtime/context.d.ts +3 -0
- package/dist/src/runtime/context.d.ts.map +1 -0
- package/dist/src/runtime/context.js +17 -0
- package/dist/src/runtime/context.js.map +1 -0
- package/dist/src/schema/state.d.ts +157 -0
- package/dist/src/schema/state.d.ts.map +1 -0
- package/dist/src/schema/state.js +49 -0
- package/dist/src/schema/state.js.map +1 -0
- package/package.json +11 -12
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Tracks which fields are inferred vs manually edited
|
|
4
|
+
* Stored in .context/.prelude/state.json
|
|
5
|
+
*/
|
|
6
|
+
export const FieldStateSchema = z.object({
|
|
7
|
+
value: z.any(), // The actual value
|
|
8
|
+
source: z.enum(['inferred', 'manual', 'merged']),
|
|
9
|
+
lastInferred: z.string().datetime().optional(), // When it was last inferred
|
|
10
|
+
lastModified: z.string().datetime().optional(), // When user last edited
|
|
11
|
+
inferredHash: z.string().optional(), // Hash of last inferred value
|
|
12
|
+
});
|
|
13
|
+
export const FileStateSchema = z.object({
|
|
14
|
+
file: z.string(), // e.g., "project.json"
|
|
15
|
+
lastUpdated: z.string().datetime(),
|
|
16
|
+
fields: z.record(z.string(), FieldStateSchema), // field path -> state
|
|
17
|
+
});
|
|
18
|
+
export const PreludeStateSchema = z.object({
|
|
19
|
+
version: z.string().default('1.0.0'),
|
|
20
|
+
initialized: z.string().datetime(),
|
|
21
|
+
lastUpdate: z.string().datetime(),
|
|
22
|
+
files: z.array(FileStateSchema),
|
|
23
|
+
});
|
|
24
|
+
/**
|
|
25
|
+
* Helper to create initial state
|
|
26
|
+
*/
|
|
27
|
+
export function createInitialState() {
|
|
28
|
+
const now = new Date().toISOString();
|
|
29
|
+
return {
|
|
30
|
+
version: '1.0.0',
|
|
31
|
+
initialized: now,
|
|
32
|
+
lastUpdate: now,
|
|
33
|
+
files: [],
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Helper to track a field
|
|
38
|
+
*/
|
|
39
|
+
export function trackField(value, source, inferredHash) {
|
|
40
|
+
const now = new Date().toISOString();
|
|
41
|
+
return {
|
|
42
|
+
value,
|
|
43
|
+
source,
|
|
44
|
+
lastInferred: source === 'inferred' ? now : undefined,
|
|
45
|
+
lastModified: source === 'manual' ? now : undefined,
|
|
46
|
+
inferredHash,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/schema/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,mBAAmB;IACnC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAChD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,4BAA4B;IAC5E,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,wBAAwB;IACxE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,8BAA8B;CACpE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,uBAAuB;IACzC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,EAAE,sBAAsB;CACvE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;IACpC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC;CAChC,CAAC,CAAC;AAMH;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,OAAO;QACL,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,GAAG;QAChB,UAAU,EAAE,GAAG;QACf,KAAK,EAAE,EAAE;KACV,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CACxB,KAAU,EACV,MAAwC,EACxC,YAAqB;IAErB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,OAAO;QACL,KAAK;QACL,MAAM;QACN,YAAY,EAAE,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;QACrD,YAAY,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;QACnD,YAAY;KACb,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "prelude-context",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "The open standard for expressing and maintaining machine-readable context about a codebase",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
|
-
"prelude": "
|
|
7
|
+
"prelude": "dist/bin/prelude.js"
|
|
8
8
|
},
|
|
9
9
|
"files": [
|
|
10
10
|
"dist/**/*",
|
|
@@ -13,15 +13,6 @@
|
|
|
13
13
|
"SPEC.md",
|
|
14
14
|
"LICENSE"
|
|
15
15
|
],
|
|
16
|
-
"scripts": {
|
|
17
|
-
"dev": "tsx watch bin/prelude.ts",
|
|
18
|
-
"build": "tsc",
|
|
19
|
-
"prepublishOnly": "pnpm build",
|
|
20
|
-
"test": "vitest",
|
|
21
|
-
"test:watch": "vitest --watch",
|
|
22
|
-
"lint": "eslint . --ext .ts",
|
|
23
|
-
"format": "prettier --write \"**/*.{ts,json,md}\""
|
|
24
|
-
},
|
|
25
16
|
"keywords": [
|
|
26
17
|
"cli",
|
|
27
18
|
"context",
|
|
@@ -60,5 +51,13 @@
|
|
|
60
51
|
},
|
|
61
52
|
"engines": {
|
|
62
53
|
"node": ">=18.0.0"
|
|
54
|
+
},
|
|
55
|
+
"scripts": {
|
|
56
|
+
"dev": "tsx watch bin/prelude.ts",
|
|
57
|
+
"build": "tsc",
|
|
58
|
+
"test": "vitest",
|
|
59
|
+
"test:watch": "vitest --watch",
|
|
60
|
+
"lint": "eslint . --ext .ts",
|
|
61
|
+
"format": "prettier --write \"**/*.{ts,json,md}\""
|
|
63
62
|
}
|
|
64
|
-
}
|
|
63
|
+
}
|