@smartmemory/stratum 0.4.1 → 0.4.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/dist/cli/guard.js +58 -9
- package/dist/cli/guard.js.map +1 -1
- package/package.json +1 -1
package/dist/cli/guard.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/** CLI boundary for the guarded state-machine API. */
|
|
2
2
|
import { AUTHORIZATION_NAMESPACES, authorizationPayload } from "../guard/authorization.js";
|
|
3
3
|
import { inspectDescriptorFile } from "../guard/descriptors.js";
|
|
4
|
+
import { GuardError, GuardNotFound, GuardTampered } from "../guard/errors.js";
|
|
4
5
|
import { guardChecksum } from "../guard/fingerprint.js";
|
|
5
|
-
import {
|
|
6
|
-
import { _ledgerHead, guardHistory, guardMigrate, guardOverride, guardTransition, guardUpgrade, registerGuard, } from "../guard/transition.js";
|
|
7
|
-
const ACTIONS = new Set(["register", "transition", "override", "migrate", "upgrade", "authorize", "descriptors", "history"]);
|
|
6
|
+
import { loadRegistry } from "../guard/store.js";
|
|
7
|
+
import { _ledgerHead, guardHistory, guardMigrate, guardOverride, guardApplyUpgrade, guardTransition, guardUpgrade, payloadDigestForVersion, registerGuard, } from "../guard/transition.js";
|
|
8
|
+
const ACTIONS = new Set(["register", "transition", "override", "migrate", "upgrade", "apply-upgrade", "authorize", "descriptors", "history", "policy", "digest"]);
|
|
8
9
|
let testJudge;
|
|
9
10
|
/** Replace only the CLI transition judge in isolated tests. */
|
|
10
11
|
export function setGuardJudgeForTests(judge) {
|
|
@@ -49,6 +50,20 @@ function optional(payload, key, fallback) {
|
|
|
49
50
|
const value = payload[key];
|
|
50
51
|
return value === undefined || value === null ? fallback : value;
|
|
51
52
|
}
|
|
53
|
+
function requiredStringRecord(payload, key) {
|
|
54
|
+
const value = required(payload, key);
|
|
55
|
+
if (typeof value !== "object" || value === null || Array.isArray(value) || Object.values(value).some((entry) => typeof entry !== "string")) {
|
|
56
|
+
throw new TypeError(`guard argument ${JSON.stringify(key)} must be a record of strings`);
|
|
57
|
+
}
|
|
58
|
+
return value;
|
|
59
|
+
}
|
|
60
|
+
function optionalStringArray(payload, key, fallback) {
|
|
61
|
+
const value = optional(payload, key, fallback);
|
|
62
|
+
if (!Array.isArray(value) || value.some((entry) => typeof entry !== "string")) {
|
|
63
|
+
throw new TypeError(`guard argument ${JSON.stringify(key)} must be an array of strings`);
|
|
64
|
+
}
|
|
65
|
+
return value;
|
|
66
|
+
}
|
|
52
67
|
async function dispatch(action, payload) {
|
|
53
68
|
switch (action) {
|
|
54
69
|
case "register":
|
|
@@ -72,12 +87,11 @@ async function dispatch(action, payload) {
|
|
|
72
87
|
case "upgrade":
|
|
73
88
|
assertOnlyKeys(payload, ["resource_id", "new_graph", "new_edge_predicates", "rationale", "new_terminal", "new_stakes"]);
|
|
74
89
|
return guardUpgrade(required(payload, "resource_id"), required(payload, "new_graph"), required(payload, "new_edge_predicates"), required(payload, "rationale"), optional(payload, "new_terminal", []), optional(payload, "new_stakes", {}));
|
|
75
|
-
//
|
|
76
|
-
//
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
// See docs/features/STRAT-GUARD-DESCRIPTOR/design.md, "Decision 6".
|
|
90
|
+
// Descriptor location is caller-controlled, but authorization is a signed
|
|
91
|
+
// artifact verified against the in-source trust root. See Decision 6.
|
|
92
|
+
case "apply-upgrade":
|
|
93
|
+
assertOnlyKeys(payload, ["resource_id", "descriptor_id"]);
|
|
94
|
+
return guardApplyUpgrade(required(payload, "resource_id"), required(payload, "descriptor_id"));
|
|
81
95
|
case "authorize": {
|
|
82
96
|
// Prints the exact bytes to sign for an override or migrate. Grants
|
|
83
97
|
// nothing: it reads the resource's ledger head, which is not a secret, and
|
|
@@ -126,6 +140,41 @@ async function dispatch(action, payload) {
|
|
|
126
140
|
case "history":
|
|
127
141
|
assertOnlyKeys(payload, ["resource_id"]);
|
|
128
142
|
return guardHistory(required(payload, "resource_id"));
|
|
143
|
+
case "policy": {
|
|
144
|
+
assertOnlyKeys(payload, ["resource_id"]);
|
|
145
|
+
const resourceId = required(payload, "resource_id");
|
|
146
|
+
const registry = loadRegistry(resourceId);
|
|
147
|
+
if (registry === null)
|
|
148
|
+
throw new GuardNotFound(`no guard registered for ${JSON.stringify(resourceId)}`);
|
|
149
|
+
if (guardChecksum(registry.graph, registry.edge_predicates, registry.terminal, registry.stakes) !== registry.checksum) {
|
|
150
|
+
throw new GuardTampered(`guard ${JSON.stringify(resourceId)} policy checksum mismatch`);
|
|
151
|
+
}
|
|
152
|
+
return {
|
|
153
|
+
status: "ok",
|
|
154
|
+
resource_id: resourceId,
|
|
155
|
+
checksum: registry.checksum,
|
|
156
|
+
graph: registry.graph,
|
|
157
|
+
edge_predicates: registry.edge_predicates,
|
|
158
|
+
terminal: registry.terminal,
|
|
159
|
+
stakes: registry.stakes,
|
|
160
|
+
initial: registry.initial,
|
|
161
|
+
graph_version: registry.graph_version,
|
|
162
|
+
current_state: registry.current_state,
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
case "digest": {
|
|
166
|
+
// Grants nothing, reads no state: it only canonicalizes caller-provided envelope material.
|
|
167
|
+
assertOnlyKeys(payload, ["from_state", "to_state", "artifacts", "modified_files", "resolved_by", "policy_checksum"]);
|
|
168
|
+
const policyChecksum = required(payload, "policy_checksum");
|
|
169
|
+
if (!/^[0-9a-f]{64}$/.test(policyChecksum)) {
|
|
170
|
+
throw new TypeError('guard argument "policy_checksum" must be 64 lowercase hexadecimal characters');
|
|
171
|
+
}
|
|
172
|
+
return {
|
|
173
|
+
status: "ok",
|
|
174
|
+
payload_digest: payloadDigestForVersion(required(payload, "from_state"), required(payload, "to_state"), requiredStringRecord(payload, "artifacts"), optionalStringArray(payload, "modified_files", []), optional(payload, "resolved_by", "agent"), policyChecksum, 2),
|
|
175
|
+
payload_digest_version: 2,
|
|
176
|
+
};
|
|
177
|
+
}
|
|
129
178
|
default:
|
|
130
179
|
throw new Error(`unreachable guard action ${JSON.stringify(action)}`);
|
|
131
180
|
}
|
package/dist/cli/guard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guard.js","sourceRoot":"","sources":["../../src/cli/guard.ts"],"names":[],"mappings":"AAAA,sDAAsD;AAEtD,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAA0B,MAAM,2BAA2B,CAAC;AACnH,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"guard.js","sourceRoot":"","sources":["../../src/cli/guard.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@smartmemory/stratum",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.3",
|
|
4
4
|
"description": "Stratum engine: your agent proposes the step, Stratum decides whether it actually finished. Typed, resumable, postcondition-enforced workflows for AI agents.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|