@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 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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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
- /** The one place that decides whether content may still change. */
738
- function assertUnfrozen(instance, what) {
739
- if (instance.status === 'open')
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.status !== 'open') {
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.status !== 'pending_signature') {
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.status !== 'pending_signature') {
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.status !== 'open') {
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.status !== 'signed') {
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
- if (instance.status === 'voided')
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 or a moved parent edge has to appear in a PR
6
- * diff. No `lifecycles` option: this engine declares no state machine, and an
7
- * empty one would claim otherwise.
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
- * Imported by nothing, so the direction stays acyclic.
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
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,gDAA8B,CAAC"}
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 or a moved parent edge has to appear in a PR
8
- * diff. No `lifecycles` option: this engine declares no state machine, and an
9
- * empty one would claim otherwise.
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
- * Imported by nothing, so the direction stays acyclic.
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;AAEjD;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,SAAS,CAAC,gBAAgB,CAAC,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.11.12",
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.95.0",
29
- "@substrat-run/kernel": "^0.95.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.95.0",
36
- "@substrat-run/engine-test-kit": "^0.3.22",
37
- "@substrat-run/contract-tests": "^0.95.0",
38
- "@substrat-run/model-emit": "0.8.10"
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"