@cairnkeep/cli 1.1.2 → 1.1.3
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/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,13 @@
|
|
|
3
3
|
All notable user-facing changes are documented here. This project follows
|
|
4
4
|
[Semantic Versioning](https://semver.org/).
|
|
5
5
|
|
|
6
|
+
## [1.1.3] - 2026-07-14
|
|
7
|
+
|
|
8
|
+
### Fixed
|
|
9
|
+
|
|
10
|
+
- Allow the standard `$schema` self-reference in strict overlay manifests and
|
|
11
|
+
verify that the shipped example uses only declared top-level properties.
|
|
12
|
+
|
|
6
13
|
## [1.1.2] - 2026-07-14
|
|
7
14
|
|
|
8
15
|
### Added
|
package/package.json
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
"additionalProperties": false,
|
|
7
7
|
"required": ["schemaVersion", "id", "name", "version", "core", "policy", "bootstrap"],
|
|
8
8
|
"properties": {
|
|
9
|
+
"$schema": {"type": "string", "format": "uri-reference"},
|
|
9
10
|
"schemaVersion": {"const": 1},
|
|
10
11
|
"id": {"type": "string", "pattern": "^[a-z][a-z0-9-]{1,63}$"},
|
|
11
12
|
"name": {"type": "string", "minLength": 1, "maxLength": 120},
|
|
@@ -16,6 +16,9 @@ if (schema.properties.schemaVersion.const !== 1) throw new Error("unexpected sch
|
|
|
16
16
|
for (const field of schema.required) {
|
|
17
17
|
if (!(field in example)) throw new Error(`example missing required field: ${field}`);
|
|
18
18
|
}
|
|
19
|
+
for (const field of Object.keys(example)) {
|
|
20
|
+
if (!(field in schema.properties)) throw new Error(`example uses undeclared field: ${field}`);
|
|
21
|
+
}
|
|
19
22
|
if (example.core.package !== "@cairnkeep/cli") throw new Error("example must consume the public core");
|
|
20
23
|
if (example.policy.memory.storage !== "local") throw new Error("example must remain local-first");
|
|
21
24
|
if (example.policy.memory.transport !== "stdio") throw new Error("example must remain local-first");
|