@substrat-run/engine-protocol 0.11.12 → 0.12.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/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +43 -12
- package/dist/index.js.map +1 -1
- package/dist/lifecycle.d.ts +175 -0
- package/dist/lifecycle.d.ts.map +1 -0
- package/dist/lifecycle.js +124 -0
- package/dist/lifecycle.js.map +1 -0
- package/dist/model.d.ts +7 -4
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +9 -5
- package/dist/model.js.map +1 -1
- package/package.json +7 -7
package/dist/index.d.ts
CHANGED
|
@@ -32,6 +32,12 @@ export declare const PROTOCOL_CONFLICT_REASONS: readonly ['already_open', 'alrea
|
|
|
32
32
|
export type ProtocolConflictReason = (typeof PROTOCOL_CONFLICT_REASONS)[number];
|
|
33
33
|
import { protocolEntities } from './entities.js';
|
|
34
34
|
export { protocolEntities, protocolInstanceRow } from './entities.js';
|
|
35
|
+
/**
|
|
36
|
+
* The state machine is PUBLIC too (#844): a vertical rendering "what can I do
|
|
37
|
+
* from here" derives it from the declaration rather than re-deriving
|
|
38
|
+
* `status === 'open' && …` in a button's `disabled`.
|
|
39
|
+
*/
|
|
40
|
+
export { protocolLifecycles, protocolLifecycle } from './lifecycle.js';
|
|
35
41
|
/**
|
|
36
42
|
* The row shapes this engine publishes, as Zod (#738). A vertical declaring an
|
|
37
43
|
* operation that RETURNS one needs something to point at; before these it had
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* There are no consumers here. Nothing composes this engine by emitting at it.
|
|
18
18
|
*/
|
|
19
19
|
import { z } from 'zod';
|
|
20
|
-
import { dataSubjectId, entityRef, instant, listLimitOf, listsDeclaredBy, mapPage, moduleManifest, operationInputsOf, pageOf, permissionKey, sealedCell, principalId, substratError, } from '@substrat-run/contracts';
|
|
20
|
+
import { dataSubjectId, entityRef, instant, listLimitOf, listsDeclaredBy, mapPage, moduleManifest, operationInputsOf, pageOf, permissionKey, sealedCell, principalId, transitionFor, substratError, } from '@substrat-run/contracts';
|
|
21
21
|
/**
|
|
22
22
|
* The conflict reasons this engine raises — its own vocabulary, narrowing the platform's
|
|
23
23
|
* `conflict` code (#113). Exported so a vertical can branch on WHY a refusal happened
|
|
@@ -45,10 +45,30 @@ export const PROTOCOL_CONFLICT_REASONS = [
|
|
|
45
45
|
/** `conflict(reason, message)` — reason first, so the classification reads before the prose. */
|
|
46
46
|
const conflict = (reason, message) => substratError('conflict', message, { reason });
|
|
47
47
|
import { protocolEntities } from './entities.js';
|
|
48
|
+
import { protocolLifecycle } from './lifecycle.js';
|
|
48
49
|
// The entity registry is PUBLIC: a composing vertical imports it to check
|
|
49
50
|
// relation edges naming this engine's entities, and to declare an operation's
|
|
50
51
|
// output without transcribing this engine's shape.
|
|
51
52
|
export { protocolEntities, protocolInstanceRow } from './entities.js';
|
|
53
|
+
/**
|
|
54
|
+
* The state machine is PUBLIC too (#844): a vertical rendering "what can I do
|
|
55
|
+
* from here" derives it from the declaration rather than re-deriving
|
|
56
|
+
* `status === 'open' && …` in a button's `disabled`.
|
|
57
|
+
*/
|
|
58
|
+
export { protocolLifecycles, protocolLifecycle } from './lifecycle.js';
|
|
59
|
+
/**
|
|
60
|
+
* The declaration doing the deciding, in this engine's own conflict vocabulary.
|
|
61
|
+
*
|
|
62
|
+
* `assertTransition` would refuse every one of these with
|
|
63
|
+
* `reason: 'invalid_transition'`. This engine has published `wrong_status`,
|
|
64
|
+
* `content_frozen` and `already_voided` since its first release and consumers
|
|
65
|
+
* branch on them, so the *legality* question moves to the declaration
|
|
66
|
+
* (`transitionFor`) and the answer stays local — the shape
|
|
67
|
+
* `apps/docs/concepts/lifecycle.md` prescribes for exactly this case.
|
|
68
|
+
*/
|
|
69
|
+
function legalHere(instance, operation) {
|
|
70
|
+
return transitionFor(protocolLifecycle, instance.status, operation) !== null;
|
|
71
|
+
}
|
|
52
72
|
/**
|
|
53
73
|
* The row shapes this engine publishes, as Zod (#738). A vertical declaring an
|
|
54
74
|
* operation that RETURNS one needs something to point at; before these it had
|
|
@@ -734,9 +754,17 @@ export function instantiateProtocol(ctx, rawInput) {
|
|
|
734
754
|
});
|
|
735
755
|
return getInstanceRow(ctx, id);
|
|
736
756
|
}
|
|
737
|
-
/**
|
|
738
|
-
|
|
739
|
-
|
|
757
|
+
/**
|
|
758
|
+
* The one place that decides whether content may still change.
|
|
759
|
+
*
|
|
760
|
+
* The states that admit a content change are the ones the lifecycle declares
|
|
761
|
+
* `operation` legal in — so adding a state, or letting `bind-document` reach one
|
|
762
|
+
* `fill` cannot, is a change to the declaration and shows up in `model.json`.
|
|
763
|
+
* The prose stays here because `content_frozen` says more than "invalid
|
|
764
|
+
* transition": the verb is fine, the content is not.
|
|
765
|
+
*/
|
|
766
|
+
function assertUnfrozen(instance, operation, what) {
|
|
767
|
+
if (legalHere(instance, operation))
|
|
740
768
|
return;
|
|
741
769
|
if (instance.status === 'pending_signature') {
|
|
742
770
|
throw conflict('content_frozen', `protocol is out for signature: content is frozen until the requests resolve ` +
|
|
@@ -749,7 +777,7 @@ export function fillProtocol(ctx, rawInput) {
|
|
|
749
777
|
const input = fillProtocolInput.parse(rawInput);
|
|
750
778
|
const instance = getInstanceRow(ctx, input.instanceId);
|
|
751
779
|
// Invariant 1+4: responses bind to an UNFROZEN instance only, and always append.
|
|
752
|
-
assertUnfrozen(instance, 'responses');
|
|
780
|
+
assertUnfrozen(instance, 'protocol/fill', 'responses');
|
|
753
781
|
const template = getTemplateRow(ctx, instance.template_key, instance.template_version);
|
|
754
782
|
const content = templateContentOf(template);
|
|
755
783
|
if (content.kind !== 'checklist') {
|
|
@@ -816,7 +844,7 @@ export function fillProtocol(ctx, rawInput) {
|
|
|
816
844
|
export function bindDocument(ctx, rawInput) {
|
|
817
845
|
const input = bindDocumentInput.parse(rawInput);
|
|
818
846
|
const instance = getInstanceRow(ctx, input.instanceId);
|
|
819
|
-
assertUnfrozen(instance, 'the binding');
|
|
847
|
+
assertUnfrozen(instance, 'protocol/bind-document', 'the binding');
|
|
820
848
|
const template = getTemplateRow(ctx, instance.template_key, instance.template_version);
|
|
821
849
|
const content = templateContentOf(template);
|
|
822
850
|
if (content.kind !== 'document') {
|
|
@@ -890,7 +918,7 @@ export function bindDocument(ctx, rawInput) {
|
|
|
890
918
|
export async function requestSignatures(ctx, rawInput) {
|
|
891
919
|
const input = requestSignaturesInput.parse(rawInput);
|
|
892
920
|
const instance = getInstanceRow(ctx, input.instanceId);
|
|
893
|
-
if (instance
|
|
921
|
+
if (!legalHere(instance, 'protocol/request-signatures')) {
|
|
894
922
|
throw conflict('wrong_status', `protocol is ${instance.status}: only an open protocol can be sent for signature`);
|
|
895
923
|
}
|
|
896
924
|
const primaries = input.parties.filter((p) => p.signatureKind === 'primary');
|
|
@@ -1081,7 +1109,7 @@ export async function recordSignature(ctx, rawInput) {
|
|
|
1081
1109
|
throw conflict('request_resolved', `signature request is already ${request.status}: ${request.id}`);
|
|
1082
1110
|
}
|
|
1083
1111
|
const instance = getInstanceRow(ctx, request.instance_id);
|
|
1084
|
-
if (instance
|
|
1112
|
+
if (!legalHere(instance, 'protocol/record-signature')) {
|
|
1085
1113
|
throw conflict('wrong_status', `protocol is ${instance.status}: signatures are only recorded while out for signature`);
|
|
1086
1114
|
}
|
|
1087
1115
|
// Re-derive rather than trust the column, then check the provider agrees.
|
|
@@ -1189,7 +1217,7 @@ export function declineSignature(ctx, rawInput) {
|
|
|
1189
1217
|
export function cancelSignatureRequests(ctx, rawInput) {
|
|
1190
1218
|
const input = cancelSignatureRequestsInput.parse(rawInput);
|
|
1191
1219
|
const instance = getInstanceRow(ctx, input.instanceId);
|
|
1192
|
-
if (instance
|
|
1220
|
+
if (!legalHere(instance, 'protocol/cancel-signatures')) {
|
|
1193
1221
|
throw conflict('wrong_status', `protocol is ${instance.status}: only a protocol out for signature can be withdrawn`);
|
|
1194
1222
|
}
|
|
1195
1223
|
const now = ctx.now();
|
|
@@ -1288,7 +1316,7 @@ function emitSignatureEvent(ctx, args) {
|
|
|
1288
1316
|
*/
|
|
1289
1317
|
export async function signProtocol(ctx, input) {
|
|
1290
1318
|
const instance = getInstanceRow(ctx, z.string().min(1).parse(input.instanceId));
|
|
1291
|
-
if (instance
|
|
1319
|
+
if (!legalHere(instance, 'protocol/sign')) {
|
|
1292
1320
|
throw conflict('wrong_status', `protocol is ${instance.status}: only an open protocol can be signed`);
|
|
1293
1321
|
}
|
|
1294
1322
|
const latest = latestPerItem(getResponseRows(ctx, instance.id));
|
|
@@ -1322,7 +1350,7 @@ export async function signProtocol(ctx, input) {
|
|
|
1322
1350
|
*/
|
|
1323
1351
|
export async function countersignProtocol(ctx, input) {
|
|
1324
1352
|
const instance = getInstanceRow(ctx, z.string().min(1).parse(input.instanceId));
|
|
1325
|
-
if (instance
|
|
1353
|
+
if (!legalHere(instance, 'protocol/countersign')) {
|
|
1326
1354
|
throw conflict('wrong_status', `protocol is ${instance.status}: only a signed (frozen) protocol can be counter-signed`);
|
|
1327
1355
|
}
|
|
1328
1356
|
const signatures = getSignatureRows(ctx, instance.id);
|
|
@@ -1358,7 +1386,10 @@ export async function countersignProtocol(ctx, input) {
|
|
|
1358
1386
|
export function voidProtocol(ctx, input) {
|
|
1359
1387
|
const reason = z.string().min(1).parse(input.reason);
|
|
1360
1388
|
const instance = getInstanceRow(ctx, z.string().min(1).parse(input.instanceId));
|
|
1361
|
-
|
|
1389
|
+
// `voided` is the one state with no `protocol/void` edge, so "not legal here"
|
|
1390
|
+
// and "already voided" are the same fact — asked of the declaration, answered
|
|
1391
|
+
// in this engine's words.
|
|
1392
|
+
if (!legalHere(instance, 'protocol/void'))
|
|
1362
1393
|
throw conflict('already_voided', 'protocol is already voided');
|
|
1363
1394
|
const now = ctx.now();
|
|
1364
1395
|
// An outstanding request set dies with the protocol — leaving rows `pending`
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The protocol instance's state machine, declared (#844).
|
|
3
|
+
*
|
|
4
|
+
* It was already here — as `instance.status !== 'open'` at five call sites plus
|
|
5
|
+
* an `already_voided` throw, held to the `status` enum in `entities.ts` by
|
|
6
|
+
* nothing. This is the same machine in one place the compiler checks: a state
|
|
7
|
+
* the column cannot hold, a value the column CAN hold with no state declared for
|
|
8
|
+
* it, an edge to nowhere, or an operation this engine does not declare are all
|
|
9
|
+
* refused.
|
|
10
|
+
*
|
|
11
|
+
* ## The engine keeps its own conflict vocabulary
|
|
12
|
+
*
|
|
13
|
+
* `assertTransition` is the default adoption and this engine does not take it.
|
|
14
|
+
* Its refusals answer three different questions — `content_frozen` (the content
|
|
15
|
+
* may no longer change), `wrong_status` (the verb needs another state),
|
|
16
|
+
* `already_voided` (there is nothing left to do) — and a consumer branching on
|
|
17
|
+
* `PROTOCOL_CONFLICT_REASONS` already sees all three. Flattening them into one
|
|
18
|
+
* `invalid_transition` would be a non-additive change to a published surface for
|
|
19
|
+
* no gain, so `index.ts` asks this declaration the *legality* question with
|
|
20
|
+
* `transitionFor` and keeps its own reason. The declaration is still the single
|
|
21
|
+
* description of what is legal; only the prose stays local.
|
|
22
|
+
*
|
|
23
|
+
* ## Composed by call — so the check lives with the in-scope function
|
|
24
|
+
*
|
|
25
|
+
* This engine is composed **by call** (`signProtocol`, `voidProtocol`, …), and a
|
|
26
|
+
* vertical wraps those inside its own transaction. So the check sits in the
|
|
27
|
+
* in-scope function, not in the registered operation: a vertical composing
|
|
28
|
+
* `requestSignatures` gets the invariant, and one that only calls the operation
|
|
29
|
+
* gets the same invariant by the same route.
|
|
30
|
+
*
|
|
31
|
+
* Edges are named by the operation id even where the caller is the in-scope
|
|
32
|
+
* function, because the operation is the stable public name for the verb and the
|
|
33
|
+
* join key everything else uses — `manifest.guards[].before`, the emitted XState
|
|
34
|
+
* machine, the docs diagram.
|
|
35
|
+
*
|
|
36
|
+
* ## `protocol/record-signature` is an edge whose move is conditional
|
|
37
|
+
*
|
|
38
|
+
* Recording a signature moves the instance to `signed` only when every requested
|
|
39
|
+
* party has signed; earlier ones leave it where it is. It is still the edge:
|
|
40
|
+
* this verb, and no other, performs `pending_signature → signed`, and dropping
|
|
41
|
+
* it to `allow` would emit a diagram in which nothing ever reaches `signed` from
|
|
42
|
+
* out-for-signature. The condition stays in the handler, where a lifecycle
|
|
43
|
+
* deliberately cannot reach — the same placement booking gives `not_yet_expired`
|
|
44
|
+
* on its `held → expired` edge.
|
|
45
|
+
*
|
|
46
|
+
* ## What is deliberately not here
|
|
47
|
+
*
|
|
48
|
+
* `protocol/get`, `protocol/list-for-entity`, `protocol/list-templates`,
|
|
49
|
+
* `protocol/define-template` and `protocol/instantiate` are reads and creations,
|
|
50
|
+
* and no instance state gates them. **Absence means "not governed", never
|
|
51
|
+
* "forbidden"** — the machine describes which mutations a state admits, and an
|
|
52
|
+
* operation it has never heard of is not its business.
|
|
53
|
+
*
|
|
54
|
+
* `protocol/decline-signature` is absent for a sharper reason: it is gated by
|
|
55
|
+
* the *signature request's* own status (`pending`), not the instance's. That is
|
|
56
|
+
* a second machine on a row this registry does not declare as an entity, and
|
|
57
|
+
* describing one of its edges here would put the check in a place that does not
|
|
58
|
+
* make it.
|
|
59
|
+
*
|
|
60
|
+
* `guards` are absent too, and that is K-38 holding: a guard is wired in the
|
|
61
|
+
* manifest as `{ before, predicate, config }` and evaluated by the kernel. Every
|
|
62
|
+
* edge below names its operation, so a guard on the operation already is a guard
|
|
63
|
+
* on the edge — this engine's own `protocol/all-signed` predicate is wired that
|
|
64
|
+
* way by the composing vertical.
|
|
65
|
+
*/
|
|
66
|
+
export declare const protocolLifecycles: {
|
|
67
|
+
readonly protocol: {
|
|
68
|
+
readonly field: "status";
|
|
69
|
+
readonly initial: "open";
|
|
70
|
+
readonly states: {
|
|
71
|
+
/**
|
|
72
|
+
* Content still moves. The only state that admits substates (K-17).
|
|
73
|
+
*
|
|
74
|
+
* It is also the only one with no freeze invariant: `pending_signature`
|
|
75
|
+
* holds a hash parties are signing against, `signed` holds the attestation
|
|
76
|
+
* itself, and `voided` is over. Refining "being filled in" — `in_review`,
|
|
77
|
+
* `awaiting_customer` — is vertical vocabulary, and this is where it would
|
|
78
|
+
* go. The other three declare nothing, and that absence is the intent.
|
|
79
|
+
*/
|
|
80
|
+
readonly open: {
|
|
81
|
+
readonly on: {
|
|
82
|
+
readonly 'protocol/request-signatures': "pending_signature";
|
|
83
|
+
readonly 'protocol/sign': "signed";
|
|
84
|
+
readonly 'protocol/void': "voided";
|
|
85
|
+
};
|
|
86
|
+
readonly allow: readonly ["protocol/fill", "protocol/bind-document"];
|
|
87
|
+
readonly extensible: true;
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* Out for signature: the content hash is frozen and the requests are live.
|
|
91
|
+
*
|
|
92
|
+
* Withdrawing THAWS — `cancel-signatures` returns it to `open` and clears
|
|
93
|
+
* the frozen hash — which is why this state has an edge back and `signed`
|
|
94
|
+
* does not.
|
|
95
|
+
*/
|
|
96
|
+
readonly pending_signature: {
|
|
97
|
+
readonly on: {
|
|
98
|
+
readonly 'protocol/record-signature': "signed";
|
|
99
|
+
readonly 'protocol/cancel-signatures': "open";
|
|
100
|
+
readonly 'protocol/void': "voided";
|
|
101
|
+
};
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* Attested and frozen. Counter-signing is legal here and moves nothing:
|
|
105
|
+
* a second signature over the SAME frozen content, which is why it is
|
|
106
|
+
* `allow` rather than a self-loop nobody performs.
|
|
107
|
+
*/
|
|
108
|
+
readonly signed: {
|
|
109
|
+
readonly on: {
|
|
110
|
+
readonly 'protocol/void': "voided";
|
|
111
|
+
};
|
|
112
|
+
readonly allow: readonly ["protocol/countersign"];
|
|
113
|
+
};
|
|
114
|
+
/** Terminal, and terminal for a reason: voiding is how a protocol is superseded, never deleted. */
|
|
115
|
+
readonly voided: {
|
|
116
|
+
readonly terminal: true;
|
|
117
|
+
};
|
|
118
|
+
};
|
|
119
|
+
};
|
|
120
|
+
};
|
|
121
|
+
/** The machine for the `protocol` entity — the shape the evaluator takes. */
|
|
122
|
+
export declare const protocolLifecycle: {
|
|
123
|
+
readonly field: "status";
|
|
124
|
+
readonly initial: "open";
|
|
125
|
+
readonly states: {
|
|
126
|
+
/**
|
|
127
|
+
* Content still moves. The only state that admits substates (K-17).
|
|
128
|
+
*
|
|
129
|
+
* It is also the only one with no freeze invariant: `pending_signature`
|
|
130
|
+
* holds a hash parties are signing against, `signed` holds the attestation
|
|
131
|
+
* itself, and `voided` is over. Refining "being filled in" — `in_review`,
|
|
132
|
+
* `awaiting_customer` — is vertical vocabulary, and this is where it would
|
|
133
|
+
* go. The other three declare nothing, and that absence is the intent.
|
|
134
|
+
*/
|
|
135
|
+
readonly open: {
|
|
136
|
+
readonly on: {
|
|
137
|
+
readonly 'protocol/request-signatures': "pending_signature";
|
|
138
|
+
readonly 'protocol/sign': "signed";
|
|
139
|
+
readonly 'protocol/void': "voided";
|
|
140
|
+
};
|
|
141
|
+
readonly allow: readonly ["protocol/fill", "protocol/bind-document"];
|
|
142
|
+
readonly extensible: true;
|
|
143
|
+
};
|
|
144
|
+
/**
|
|
145
|
+
* Out for signature: the content hash is frozen and the requests are live.
|
|
146
|
+
*
|
|
147
|
+
* Withdrawing THAWS — `cancel-signatures` returns it to `open` and clears
|
|
148
|
+
* the frozen hash — which is why this state has an edge back and `signed`
|
|
149
|
+
* does not.
|
|
150
|
+
*/
|
|
151
|
+
readonly pending_signature: {
|
|
152
|
+
readonly on: {
|
|
153
|
+
readonly 'protocol/record-signature': "signed";
|
|
154
|
+
readonly 'protocol/cancel-signatures': "open";
|
|
155
|
+
readonly 'protocol/void': "voided";
|
|
156
|
+
};
|
|
157
|
+
};
|
|
158
|
+
/**
|
|
159
|
+
* Attested and frozen. Counter-signing is legal here and moves nothing:
|
|
160
|
+
* a second signature over the SAME frozen content, which is why it is
|
|
161
|
+
* `allow` rather than a self-loop nobody performs.
|
|
162
|
+
*/
|
|
163
|
+
readonly signed: {
|
|
164
|
+
readonly on: {
|
|
165
|
+
readonly 'protocol/void': "voided";
|
|
166
|
+
};
|
|
167
|
+
readonly allow: readonly ["protocol/countersign"];
|
|
168
|
+
};
|
|
169
|
+
/** Terminal, and terminal for a reason: voiding is how a protocol is superseded, never deleted. */
|
|
170
|
+
readonly voided: {
|
|
171
|
+
readonly terminal: true;
|
|
172
|
+
};
|
|
173
|
+
};
|
|
174
|
+
};
|
|
175
|
+
//# sourceMappingURL=lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AACH,eAAO,MAAM,kBAAkB;;;;;YAQzB;;;;;;;;eAQG;;;;;;;;;;YAUH;;;;;;eAMG;;;;;;;;YAQH;;;;eAIG;;;;;;;YAKH,mGAAmG;;;;;;CAMvG,CAAC;AAEH,6EAA6E;AAC7E,eAAO,MAAM,iBAAiB;;;;QAlDxB;;;;;;;;WAQG;;;;;;;;;;QAUH;;;;;;WAMG;;;;;;;;QAQH;;;;WAIG;;;;;;;QAKH,mGAAmG;;;;;CAS7C,CAAC"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { defineLifecycles } from '@substrat-run/contracts';
|
|
2
|
+
import { protocolEntities } from './entities.js';
|
|
3
|
+
import { protocolOperations } from './operations.js';
|
|
4
|
+
/**
|
|
5
|
+
* The protocol instance's state machine, declared (#844).
|
|
6
|
+
*
|
|
7
|
+
* It was already here — as `instance.status !== 'open'` at five call sites plus
|
|
8
|
+
* an `already_voided` throw, held to the `status` enum in `entities.ts` by
|
|
9
|
+
* nothing. This is the same machine in one place the compiler checks: a state
|
|
10
|
+
* the column cannot hold, a value the column CAN hold with no state declared for
|
|
11
|
+
* it, an edge to nowhere, or an operation this engine does not declare are all
|
|
12
|
+
* refused.
|
|
13
|
+
*
|
|
14
|
+
* ## The engine keeps its own conflict vocabulary
|
|
15
|
+
*
|
|
16
|
+
* `assertTransition` is the default adoption and this engine does not take it.
|
|
17
|
+
* Its refusals answer three different questions — `content_frozen` (the content
|
|
18
|
+
* may no longer change), `wrong_status` (the verb needs another state),
|
|
19
|
+
* `already_voided` (there is nothing left to do) — and a consumer branching on
|
|
20
|
+
* `PROTOCOL_CONFLICT_REASONS` already sees all three. Flattening them into one
|
|
21
|
+
* `invalid_transition` would be a non-additive change to a published surface for
|
|
22
|
+
* no gain, so `index.ts` asks this declaration the *legality* question with
|
|
23
|
+
* `transitionFor` and keeps its own reason. The declaration is still the single
|
|
24
|
+
* description of what is legal; only the prose stays local.
|
|
25
|
+
*
|
|
26
|
+
* ## Composed by call — so the check lives with the in-scope function
|
|
27
|
+
*
|
|
28
|
+
* This engine is composed **by call** (`signProtocol`, `voidProtocol`, …), and a
|
|
29
|
+
* vertical wraps those inside its own transaction. So the check sits in the
|
|
30
|
+
* in-scope function, not in the registered operation: a vertical composing
|
|
31
|
+
* `requestSignatures` gets the invariant, and one that only calls the operation
|
|
32
|
+
* gets the same invariant by the same route.
|
|
33
|
+
*
|
|
34
|
+
* Edges are named by the operation id even where the caller is the in-scope
|
|
35
|
+
* function, because the operation is the stable public name for the verb and the
|
|
36
|
+
* join key everything else uses — `manifest.guards[].before`, the emitted XState
|
|
37
|
+
* machine, the docs diagram.
|
|
38
|
+
*
|
|
39
|
+
* ## `protocol/record-signature` is an edge whose move is conditional
|
|
40
|
+
*
|
|
41
|
+
* Recording a signature moves the instance to `signed` only when every requested
|
|
42
|
+
* party has signed; earlier ones leave it where it is. It is still the edge:
|
|
43
|
+
* this verb, and no other, performs `pending_signature → signed`, and dropping
|
|
44
|
+
* it to `allow` would emit a diagram in which nothing ever reaches `signed` from
|
|
45
|
+
* out-for-signature. The condition stays in the handler, where a lifecycle
|
|
46
|
+
* deliberately cannot reach — the same placement booking gives `not_yet_expired`
|
|
47
|
+
* on its `held → expired` edge.
|
|
48
|
+
*
|
|
49
|
+
* ## What is deliberately not here
|
|
50
|
+
*
|
|
51
|
+
* `protocol/get`, `protocol/list-for-entity`, `protocol/list-templates`,
|
|
52
|
+
* `protocol/define-template` and `protocol/instantiate` are reads and creations,
|
|
53
|
+
* and no instance state gates them. **Absence means "not governed", never
|
|
54
|
+
* "forbidden"** — the machine describes which mutations a state admits, and an
|
|
55
|
+
* operation it has never heard of is not its business.
|
|
56
|
+
*
|
|
57
|
+
* `protocol/decline-signature` is absent for a sharper reason: it is gated by
|
|
58
|
+
* the *signature request's* own status (`pending`), not the instance's. That is
|
|
59
|
+
* a second machine on a row this registry does not declare as an entity, and
|
|
60
|
+
* describing one of its edges here would put the check in a place that does not
|
|
61
|
+
* make it.
|
|
62
|
+
*
|
|
63
|
+
* `guards` are absent too, and that is K-38 holding: a guard is wired in the
|
|
64
|
+
* manifest as `{ before, predicate, config }` and evaluated by the kernel. Every
|
|
65
|
+
* edge below names its operation, so a guard on the operation already is a guard
|
|
66
|
+
* on the edge — this engine's own `protocol/all-signed` predicate is wired that
|
|
67
|
+
* way by the composing vertical.
|
|
68
|
+
*/
|
|
69
|
+
export const protocolLifecycles = defineLifecycles(protocolEntities, protocolOperations)({
|
|
70
|
+
protocol: {
|
|
71
|
+
field: 'status',
|
|
72
|
+
initial: 'open',
|
|
73
|
+
states: {
|
|
74
|
+
/**
|
|
75
|
+
* Content still moves. The only state that admits substates (K-17).
|
|
76
|
+
*
|
|
77
|
+
* It is also the only one with no freeze invariant: `pending_signature`
|
|
78
|
+
* holds a hash parties are signing against, `signed` holds the attestation
|
|
79
|
+
* itself, and `voided` is over. Refining "being filled in" — `in_review`,
|
|
80
|
+
* `awaiting_customer` — is vertical vocabulary, and this is where it would
|
|
81
|
+
* go. The other three declare nothing, and that absence is the intent.
|
|
82
|
+
*/
|
|
83
|
+
open: {
|
|
84
|
+
on: {
|
|
85
|
+
'protocol/request-signatures': 'pending_signature',
|
|
86
|
+
'protocol/sign': 'signed',
|
|
87
|
+
'protocol/void': 'voided',
|
|
88
|
+
},
|
|
89
|
+
allow: ['protocol/fill', 'protocol/bind-document'],
|
|
90
|
+
extensible: true,
|
|
91
|
+
},
|
|
92
|
+
/**
|
|
93
|
+
* Out for signature: the content hash is frozen and the requests are live.
|
|
94
|
+
*
|
|
95
|
+
* Withdrawing THAWS — `cancel-signatures` returns it to `open` and clears
|
|
96
|
+
* the frozen hash — which is why this state has an edge back and `signed`
|
|
97
|
+
* does not.
|
|
98
|
+
*/
|
|
99
|
+
pending_signature: {
|
|
100
|
+
on: {
|
|
101
|
+
'protocol/record-signature': 'signed',
|
|
102
|
+
'protocol/cancel-signatures': 'open',
|
|
103
|
+
'protocol/void': 'voided',
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
/**
|
|
107
|
+
* Attested and frozen. Counter-signing is legal here and moves nothing:
|
|
108
|
+
* a second signature over the SAME frozen content, which is why it is
|
|
109
|
+
* `allow` rather than a self-loop nobody performs.
|
|
110
|
+
*/
|
|
111
|
+
signed: {
|
|
112
|
+
on: { 'protocol/void': 'voided' },
|
|
113
|
+
allow: ['protocol/countersign'],
|
|
114
|
+
},
|
|
115
|
+
/** Terminal, and terminal for a reason: voiding is how a protocol is superseded, never deleted. */
|
|
116
|
+
voided: {
|
|
117
|
+
terminal: true,
|
|
118
|
+
},
|
|
119
|
+
},
|
|
120
|
+
},
|
|
121
|
+
});
|
|
122
|
+
/** The machine for the `protocol` entity — the shape the evaluator takes. */
|
|
123
|
+
export const protocolLifecycle = protocolLifecycles.protocol;
|
|
124
|
+
//# sourceMappingURL=lifecycle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB,CAChD,gBAAgB,EAChB,kBAAkB,CACnB,CAAC;IACA,QAAQ,EAAE;QACR,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,MAAM;QACf,MAAM,EAAE;YACN;;;;;;;;eAQG;YACH,IAAI,EAAE;gBACJ,EAAE,EAAE;oBACF,6BAA6B,EAAE,mBAAmB;oBAClD,eAAe,EAAE,QAAQ;oBACzB,eAAe,EAAE,QAAQ;iBAC1B;gBACD,KAAK,EAAE,CAAC,eAAe,EAAE,wBAAwB,CAAC;gBAClD,UAAU,EAAE,IAAI;aACjB;YACD;;;;;;eAMG;YACH,iBAAiB,EAAE;gBACjB,EAAE,EAAE;oBACF,2BAA2B,EAAE,QAAQ;oBACrC,4BAA4B,EAAE,MAAM;oBACpC,eAAe,EAAE,QAAQ;iBAC1B;aACF;YACD;;;;eAIG;YACH,MAAM,EAAE;gBACN,EAAE,EAAE,EAAE,eAAe,EAAE,QAAQ,EAAE;gBACjC,KAAK,EAAE,CAAC,sBAAsB,CAAC;aAChC;YACD,mGAAmG;YACnG,MAAM,EAAE;gBACN,QAAQ,EAAE,IAAI;aACf;SACF;KACF;CACF,CAAC,CAAC;AAEH,6EAA6E;AAC7E,MAAM,CAAC,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,QAAQ,CAAC"}
|
package/dist/model.d.ts
CHANGED
|
@@ -2,11 +2,14 @@
|
|
|
2
2
|
* The artifact of record for this engine (#697/#844, #976).
|
|
3
3
|
*
|
|
4
4
|
* `pnpm lint:model --check` re-emits this into `engines/protocol/model.json`, so a
|
|
5
|
-
* changed table, a renamed field
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* changed table, a renamed field, a moved parent edge — and now a state added to
|
|
6
|
+
* the machine, an edge redirected, or a state that stops admitting substates —
|
|
7
|
+
* all have to appear in a PR diff.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
9
|
+
* It lives here rather than beside the entities because the lifecycle needs the
|
|
10
|
+
* operations and the operations need the entities: `entities.ts` importing the
|
|
11
|
+
* lifecycle would close that loop into a cycle. A third file that imports both
|
|
12
|
+
* and is imported by neither is the shape that does not.
|
|
10
13
|
*/
|
|
11
14
|
export declare const protocolModel: import("@substrat-run/contracts").EmittedModel;
|
|
12
15
|
//# sourceMappingURL=model.d.ts.map
|
package/dist/model.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,aAAa,gDAAkE,CAAC"}
|
package/dist/model.js
CHANGED
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import { emitModel } from '@substrat-run/contracts';
|
|
2
2
|
import { protocolEntities } from './entities.js';
|
|
3
|
+
import { protocolLifecycles } from './lifecycle.js';
|
|
3
4
|
/**
|
|
4
5
|
* The artifact of record for this engine (#697/#844, #976).
|
|
5
6
|
*
|
|
6
7
|
* `pnpm lint:model --check` re-emits this into `engines/protocol/model.json`, so a
|
|
7
|
-
* changed table, a renamed field
|
|
8
|
-
*
|
|
9
|
-
*
|
|
8
|
+
* changed table, a renamed field, a moved parent edge — and now a state added to
|
|
9
|
+
* the machine, an edge redirected, or a state that stops admitting substates —
|
|
10
|
+
* all have to appear in a PR diff.
|
|
10
11
|
*
|
|
11
|
-
*
|
|
12
|
+
* It lives here rather than beside the entities because the lifecycle needs the
|
|
13
|
+
* operations and the operations need the entities: `entities.ts` importing the
|
|
14
|
+
* lifecycle would close that loop into a cycle. A third file that imports both
|
|
15
|
+
* and is imported by neither is the shape that does not.
|
|
12
16
|
*/
|
|
13
|
-
export const protocolModel = emitModel(protocolEntities);
|
|
17
|
+
export const protocolModel = emitModel(protocolEntities, { lifecycles: protocolLifecycles });
|
|
14
18
|
//# sourceMappingURL=model.js.map
|
package/dist/model.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,SAAS,CAAC,gBAAgB,EAAE,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@substrat-run/engine-protocol",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.1",
|
|
4
4
|
"description": "Substrat engine: protocols, checklists and signed documents with the freeze → immutable invariant — versioned templates, append-only responses, verifiable content hash, counter-signatures on frozen content, and asynchronous multi-party signatures by external (non-principal) signatories",
|
|
5
5
|
"license": "AGPL-3.0-only",
|
|
6
6
|
"repository": {
|
|
@@ -25,17 +25,17 @@
|
|
|
25
25
|
"access": "public"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@substrat-run/contracts": "^0.
|
|
29
|
-
"@substrat-run/kernel": "^0.
|
|
28
|
+
"@substrat-run/contracts": "^0.96.0",
|
|
29
|
+
"@substrat-run/kernel": "^0.96.0"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"typescript": "^7.0.0",
|
|
33
33
|
"vitest": "^3.2.7",
|
|
34
34
|
"zod": "^4.4.3",
|
|
35
|
-
"@substrat-run/adapter-sqlite": "^0.
|
|
36
|
-
"@substrat-run/
|
|
37
|
-
"@substrat-run/
|
|
38
|
-
"@substrat-run/
|
|
35
|
+
"@substrat-run/adapter-sqlite": "^0.96.0",
|
|
36
|
+
"@substrat-run/contract-tests": "^0.96.0",
|
|
37
|
+
"@substrat-run/model-emit": "0.8.12",
|
|
38
|
+
"@substrat-run/engine-test-kit": "^0.3.23"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
41
|
"zod": "^4.4.0"
|