@openvtc/trust-tasks 0.11.0 → 0.12.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.
@@ -12,6 +12,10 @@ export type ServiceKind = "didcomm" | "rest" | "tsp" | "webauthn";
12
12
  export interface VTAServicesDisablePayload {
13
13
  service: ServiceKind;
14
14
  ext?: Ext;
15
+ /**
16
+ * `didcomm` only: how long the unadvertised mediator keeps accepting delivery. Absent takes the agent's default. **0 means immediate teardown, and is only honoured when the request did not arrive through the mediator being torn down** — over a DIDComm-carried request the agent enforces a floor (1 hour), because cutting the mediator mid-request would discard the reply to the very task asking for it. A caller cannot rely on 0 being obeyed; read `drainUntil` in the result to learn what actually happened.
17
+ */
18
+ drainTtlSecs?: number;
15
19
  }
16
20
  /**
17
21
  * Vendor-namespaced extension object per SPEC.md §4.5.1. Each immediate key MUST be a reverse-DNS namespace; structure under each namespace is opaque to the framework.
@@ -88,6 +92,11 @@ export declare const PAYLOAD_SCHEMA: {
88
92
  readonly ext: {
89
93
  readonly $ref: "#/$defs/Ext";
90
94
  };
95
+ readonly drainTtlSecs: {
96
+ readonly type: "integer";
97
+ readonly minimum: 0;
98
+ readonly description: "`didcomm` only: how long the unadvertised mediator keeps accepting delivery. Absent takes the agent's default. **0 means immediate teardown, and is only honoured when the request did not arrive through the mediator being torn down** — over a DIDComm-carried request the agent enforces a floor (1 hour), because cutting the mediator mid-request would discard the reply to the very task asking for it. A caller cannot rely on 0 being obeyed; read `drainUntil` in the result to learn what actually happened.";
99
+ };
91
100
  };
92
101
  readonly $defs: {
93
102
  readonly Response: {
@@ -269,6 +278,11 @@ export declare const SPEC: {
269
278
  readonly ext: {
270
279
  readonly $ref: "#/$defs/Ext";
271
280
  };
281
+ readonly drainTtlSecs: {
282
+ readonly type: "integer";
283
+ readonly minimum: 0;
284
+ readonly description: "`didcomm` only: how long the unadvertised mediator keeps accepting delivery. Absent takes the agent's default. **0 means immediate teardown, and is only honoured when the request did not arrive through the mediator being torn down** — over a DIDComm-carried request the agent enforces a floor (1 hour), because cutting the mediator mid-request would discard the reply to the very task asking for it. A caller cannot rely on 0 being obeyed; read `drainUntil` in the result to learn what actually happened.";
285
+ };
272
286
  };
273
287
  readonly $defs: {
274
288
  readonly Response: {
@@ -1 +1 @@
1
- {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../../../src/vta/services/disable/1.0/payload.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,WAAW,CAAC;IACrB,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AACD;;GAEG;AACH,MAAM,WAAW,GAAG;IAClB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CAClC;AACD;;GAEG;AACH,MAAM,WAAW,iCAAiC;IAChD,MAAM,EAAE,qBAAqB,CAAC;IAC9B,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AACD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AAED,2BAA2B;AAC3B,eAAO,MAAM,QAAQ,EAAG,sDAA+D,CAAC;AAExF,mEAAmE;AACnE,MAAM,MAAM,OAAO,GAAG,yBAAyB,CAAC;AAEhD,qEAAqE;AACrE,eAAO,MAAM,iBAAiB,EAAG,+DAAwE,CAAC;AAE1G,4EAA4E;AAC5E,MAAM,MAAM,QAAQ,GAAG,iCAAiC,CAAC;AAEzD;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsGjB,CAAC;AAEX,mEAAmE;AACnE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuF1B,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMP,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMhB,CAAC"}
1
+ {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../../../src/vta/services/disable/1.0/payload.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,WAAW,CAAC;IACrB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AACD;;GAEG;AACH,MAAM,WAAW,GAAG;IAClB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CAClC;AACD;;GAEG;AACH,MAAM,WAAW,iCAAiC;IAChD,MAAM,EAAE,qBAAqB,CAAC;IAC9B,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AACD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AAED,2BAA2B;AAC3B,eAAO,MAAM,QAAQ,EAAG,sDAA+D,CAAC;AAExF,mEAAmE;AACnE,MAAM,MAAM,OAAO,GAAG,yBAAyB,CAAC;AAEhD,qEAAqE;AACrE,eAAO,MAAM,iBAAiB,EAAG,+DAAwE,CAAC;AAE1G,4EAA4E;AAC5E,MAAM,MAAM,QAAQ,GAAG,iCAAiC,CAAC;AAEzD;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2GjB,CAAC;AAEX,mEAAmE;AACnE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuF1B,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMP,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMhB,CAAC"}
@@ -31,6 +31,11 @@ export const PAYLOAD_SCHEMA = {
31
31
  },
32
32
  "ext": {
33
33
  "$ref": "#/$defs/Ext"
34
+ },
35
+ "drainTtlSecs": {
36
+ "type": "integer",
37
+ "minimum": 0,
38
+ "description": "`didcomm` only: how long the unadvertised mediator keeps accepting delivery. Absent takes the agent's default. **0 means immediate teardown, and is only honoured when the request did not arrive through the mediator being torn down** — over a DIDComm-carried request the agent enforces a floor (1 hour), because cutting the mediator mid-request would discard the reply to the very task asking for it. A caller cannot rely on 0 being obeyed; read `drainUntil` in the result to learn what actually happened."
34
39
  }
35
40
  },
36
41
  "$defs": {
@@ -1 +1 @@
1
- {"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../../../src/vta/services/disable/1.0/payload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../../../src/vta/services/disable/1.0/payload.ts"],"names":[],"mappings":"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"}
@@ -23,35 +23,39 @@ export interface Ext {
23
23
  * Success response to vta/services/rollback. Type https://trusttasks.org/spec/vta/services/rollback/1.0#response.
24
24
  */
25
25
  export interface VTAServicesRollbackResponsePayload {
26
- result: ServiceMutationResult;
26
+ result: RollbackResult;
27
27
  ext?: Ext;
28
28
  }
29
29
  /**
30
- * The outcome of a change to an advertised service. Every member describes the **log entry the change produced**, because that is what the change actually is: the agent's DID document is the record, and a consumer that treats the response as a mere acknowledgement will miss that a redeploy may be required.
30
+ * The outcome of a rollback. Distinct from ServiceMutationResult because a rollback can legitimately publish nothing: if the previous state already equals the current one there is no change to write, and `kind: "noOp"` says so with `logEntryVersionId` absent. Treating that as a failure would be wrong — the requested state holds — and treating it as an ordinary success would report a log entry that does not exist.
31
31
  */
32
- export interface ServiceMutationResult {
32
+ export interface RollbackResult {
33
33
  /**
34
- * Version id of the new did:webvh log entry this change wrote. Joins the change to the document's history.
34
+ * What the rollback did. `disabled` re-disabled the transport, `enabled` re-advertised it at its prior settings, `updated` restored prior settings on an entry that stayed advertised, and `noOp` means the previous state already matched — nothing was written.
35
35
  */
36
- logEntryVersionId: string;
36
+ kind: "disabled" | "enabled" | "updated" | "noOp";
37
37
  /**
38
- * RFC 3339 instant the change took effect the same instant stamped on the new log entry.
38
+ * Version id of the log entry the rollback wrote. **Absent when `kind` is `noOp`**, and present otherwise.
39
39
  */
40
- effectiveAt: string;
40
+ logEntryVersionId?: string;
41
41
  /**
42
- * Present when the change scheduled a DIDComm drain. Its absence means no drain was scheduled, NOT that a drain finished instantly: a consumer reporting 'done' on an absent value would be right, and one reporting it on a present value would be wrong.
42
+ * RFC 3339 instant the rollback took effect. Absent for `noOp`.
43
43
  */
44
- drainUntil?: string;
44
+ effectiveAt?: string;
45
45
  /**
46
- * The mediator being drained, when `drainUntil` is present.
46
+ * Present when rolling back DIDComm left a mediator draining.
47
47
  */
48
48
  drainingMediator?: string;
49
49
  /**
50
- * The agent's own DID — subject of the log entry this change wrote. Carried so a caller can follow up without a second round trip.
50
+ * When that drain completes.
51
+ */
52
+ drainUntil?: string;
53
+ /**
54
+ * The agent's own DID.
51
55
  */
52
56
  vtaDid?: string;
53
57
  /**
54
- * True when the agent's DID is self-hosted. **The change is persisted locally but NOT published**: the operator must fetch the updated `did.jsonl` and redeploy before any verifier sees it. A consumer that ignores this reports success for a change no one else can observe yet.
58
+ * True when the entry was written locally but not published the operator must redeploy before any verifier sees it.
55
59
  */
56
60
  serverless?: boolean;
57
61
  ext?: Ext;
@@ -99,7 +103,7 @@ export declare const PAYLOAD_SCHEMA: {
99
103
  readonly required: readonly ["result"];
100
104
  readonly properties: {
101
105
  readonly result: {
102
- readonly $ref: "#/$defs/ServiceMutationResult";
106
+ readonly $ref: "#/$defs/RollbackResult";
103
107
  };
104
108
  readonly ext: {
105
109
  readonly $ref: "#/$defs/Ext";
@@ -116,40 +120,44 @@ export declare const PAYLOAD_SCHEMA: {
116
120
  readonly pattern: "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$";
117
121
  };
118
122
  };
119
- readonly ServiceMutationResult: {
120
- readonly title: "ServiceMutationResult";
121
- readonly description: "The outcome of a change to an advertised service. Every member describes the **log entry the change produced**, because that is what the change actually is: the agent's DID document is the record, and a consumer that treats the response as a mere acknowledgement will miss that a redeploy may be required.";
123
+ readonly RollbackResult: {
124
+ readonly title: "RollbackResult";
125
+ readonly description: "The outcome of a rollback. Distinct from ServiceMutationResult because a rollback can legitimately publish nothing: if the previous state already equals the current one there is no change to write, and `kind: \"noOp\"` says so with `logEntryVersionId` absent. Treating that as a failure would be wrong — the requested state holds — and treating it as an ordinary success would report a log entry that does not exist.";
122
126
  readonly type: "object";
123
127
  readonly additionalProperties: false;
124
- readonly required: readonly ["logEntryVersionId", "effectiveAt"];
128
+ readonly required: readonly ["kind"];
125
129
  readonly properties: {
130
+ readonly kind: {
131
+ readonly type: "string";
132
+ readonly enum: readonly ["disabled", "enabled", "updated", "noOp"];
133
+ readonly description: "What the rollback did. `disabled` re-disabled the transport, `enabled` re-advertised it at its prior settings, `updated` restored prior settings on an entry that stayed advertised, and `noOp` means the previous state already matched — nothing was written.";
134
+ };
126
135
  readonly logEntryVersionId: {
127
136
  readonly type: "string";
128
- readonly minLength: 1;
129
- readonly description: "Version id of the new did:webvh log entry this change wrote. Joins the change to the document's history.";
137
+ readonly description: "Version id of the log entry the rollback wrote. **Absent when `kind` is `noOp`**, and present otherwise.";
130
138
  };
131
139
  readonly effectiveAt: {
132
140
  readonly type: "string";
133
141
  readonly format: "date-time";
134
- readonly description: "RFC 3339 instant the change took effect the same instant stamped on the new log entry.";
142
+ readonly description: "RFC 3339 instant the rollback took effect. Absent for `noOp`.";
135
143
  };
136
- readonly drainUntil: {
144
+ readonly drainingMediator: {
137
145
  readonly type: "string";
138
- readonly format: "date-time";
139
- readonly description: "Present when the change scheduled a DIDComm drain. Its absence means no drain was scheduled, NOT that a drain finished instantly: a consumer reporting 'done' on an absent value would be right, and one reporting it on a present value would be wrong.";
146
+ readonly description: "Present when rolling back DIDComm left a mediator draining.";
140
147
  };
141
- readonly drainingMediator: {
148
+ readonly drainUntil: {
142
149
  readonly type: "string";
143
- readonly description: "The mediator being drained, when `drainUntil` is present.";
150
+ readonly format: "date-time";
151
+ readonly description: "When that drain completes.";
144
152
  };
145
153
  readonly vtaDid: {
146
154
  readonly type: "string";
147
- readonly description: "The agent's own DID — subject of the log entry this change wrote. Carried so a caller can follow up without a second round trip.";
155
+ readonly description: "The agent's own DID.";
148
156
  };
149
157
  readonly serverless: {
150
158
  readonly type: "boolean";
151
- readonly description: "True when the agent's DID is self-hosted. **The change is persisted locally but NOT published**: the operator must fetch the updated `did.jsonl` and redeploy before any verifier sees it. A consumer that ignores this reports success for a change no one else can observe yet.";
152
159
  readonly default: false;
160
+ readonly description: "True when the entry was written locally but not published — the operator must redeploy before any verifier sees it.";
153
161
  };
154
162
  readonly ext: {
155
163
  readonly $ref: "#/$defs/Ext";
@@ -178,7 +186,7 @@ export declare const RESPONSE_PAYLOAD_SCHEMA: {
178
186
  readonly required: readonly ["result"];
179
187
  readonly properties: {
180
188
  readonly result: {
181
- readonly $ref: "#/$defs/ServiceMutationResult";
189
+ readonly $ref: "#/$defs/RollbackResult";
182
190
  };
183
191
  readonly ext: {
184
192
  readonly $ref: "#/$defs/Ext";
@@ -195,40 +203,44 @@ export declare const RESPONSE_PAYLOAD_SCHEMA: {
195
203
  readonly pattern: "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$";
196
204
  };
197
205
  };
198
- readonly ServiceMutationResult: {
199
- readonly title: "ServiceMutationResult";
200
- readonly description: "The outcome of a change to an advertised service. Every member describes the **log entry the change produced**, because that is what the change actually is: the agent's DID document is the record, and a consumer that treats the response as a mere acknowledgement will miss that a redeploy may be required.";
206
+ readonly RollbackResult: {
207
+ readonly title: "RollbackResult";
208
+ readonly description: "The outcome of a rollback. Distinct from ServiceMutationResult because a rollback can legitimately publish nothing: if the previous state already equals the current one there is no change to write, and `kind: \"noOp\"` says so with `logEntryVersionId` absent. Treating that as a failure would be wrong — the requested state holds — and treating it as an ordinary success would report a log entry that does not exist.";
201
209
  readonly type: "object";
202
210
  readonly additionalProperties: false;
203
- readonly required: readonly ["logEntryVersionId", "effectiveAt"];
211
+ readonly required: readonly ["kind"];
204
212
  readonly properties: {
213
+ readonly kind: {
214
+ readonly type: "string";
215
+ readonly enum: readonly ["disabled", "enabled", "updated", "noOp"];
216
+ readonly description: "What the rollback did. `disabled` re-disabled the transport, `enabled` re-advertised it at its prior settings, `updated` restored prior settings on an entry that stayed advertised, and `noOp` means the previous state already matched — nothing was written.";
217
+ };
205
218
  readonly logEntryVersionId: {
206
219
  readonly type: "string";
207
- readonly minLength: 1;
208
- readonly description: "Version id of the new did:webvh log entry this change wrote. Joins the change to the document's history.";
220
+ readonly description: "Version id of the log entry the rollback wrote. **Absent when `kind` is `noOp`**, and present otherwise.";
209
221
  };
210
222
  readonly effectiveAt: {
211
223
  readonly type: "string";
212
224
  readonly format: "date-time";
213
- readonly description: "RFC 3339 instant the change took effect the same instant stamped on the new log entry.";
225
+ readonly description: "RFC 3339 instant the rollback took effect. Absent for `noOp`.";
214
226
  };
215
- readonly drainUntil: {
227
+ readonly drainingMediator: {
216
228
  readonly type: "string";
217
- readonly format: "date-time";
218
- readonly description: "Present when the change scheduled a DIDComm drain. Its absence means no drain was scheduled, NOT that a drain finished instantly: a consumer reporting 'done' on an absent value would be right, and one reporting it on a present value would be wrong.";
229
+ readonly description: "Present when rolling back DIDComm left a mediator draining.";
219
230
  };
220
- readonly drainingMediator: {
231
+ readonly drainUntil: {
221
232
  readonly type: "string";
222
- readonly description: "The mediator being drained, when `drainUntil` is present.";
233
+ readonly format: "date-time";
234
+ readonly description: "When that drain completes.";
223
235
  };
224
236
  readonly vtaDid: {
225
237
  readonly type: "string";
226
- readonly description: "The agent's own DID — subject of the log entry this change wrote. Carried so a caller can follow up without a second round trip.";
238
+ readonly description: "The agent's own DID.";
227
239
  };
228
240
  readonly serverless: {
229
241
  readonly type: "boolean";
230
- readonly description: "True when the agent's DID is self-hosted. **The change is persisted locally but NOT published**: the operator must fetch the updated `did.jsonl` and redeploy before any verifier sees it. A consumer that ignores this reports success for a change no one else can observe yet.";
231
242
  readonly default: false;
243
+ readonly description: "True when the entry was written locally but not published — the operator must redeploy before any verifier sees it.";
232
244
  };
233
245
  readonly ext: {
234
246
  readonly $ref: "#/$defs/Ext";
@@ -280,7 +292,7 @@ export declare const SPEC: {
280
292
  readonly required: readonly ["result"];
281
293
  readonly properties: {
282
294
  readonly result: {
283
- readonly $ref: "#/$defs/ServiceMutationResult";
295
+ readonly $ref: "#/$defs/RollbackResult";
284
296
  };
285
297
  readonly ext: {
286
298
  readonly $ref: "#/$defs/Ext";
@@ -297,40 +309,44 @@ export declare const SPEC: {
297
309
  readonly pattern: "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$";
298
310
  };
299
311
  };
300
- readonly ServiceMutationResult: {
301
- readonly title: "ServiceMutationResult";
302
- readonly description: "The outcome of a change to an advertised service. Every member describes the **log entry the change produced**, because that is what the change actually is: the agent's DID document is the record, and a consumer that treats the response as a mere acknowledgement will miss that a redeploy may be required.";
312
+ readonly RollbackResult: {
313
+ readonly title: "RollbackResult";
314
+ readonly description: "The outcome of a rollback. Distinct from ServiceMutationResult because a rollback can legitimately publish nothing: if the previous state already equals the current one there is no change to write, and `kind: \"noOp\"` says so with `logEntryVersionId` absent. Treating that as a failure would be wrong — the requested state holds — and treating it as an ordinary success would report a log entry that does not exist.";
303
315
  readonly type: "object";
304
316
  readonly additionalProperties: false;
305
- readonly required: readonly ["logEntryVersionId", "effectiveAt"];
317
+ readonly required: readonly ["kind"];
306
318
  readonly properties: {
319
+ readonly kind: {
320
+ readonly type: "string";
321
+ readonly enum: readonly ["disabled", "enabled", "updated", "noOp"];
322
+ readonly description: "What the rollback did. `disabled` re-disabled the transport, `enabled` re-advertised it at its prior settings, `updated` restored prior settings on an entry that stayed advertised, and `noOp` means the previous state already matched — nothing was written.";
323
+ };
307
324
  readonly logEntryVersionId: {
308
325
  readonly type: "string";
309
- readonly minLength: 1;
310
- readonly description: "Version id of the new did:webvh log entry this change wrote. Joins the change to the document's history.";
326
+ readonly description: "Version id of the log entry the rollback wrote. **Absent when `kind` is `noOp`**, and present otherwise.";
311
327
  };
312
328
  readonly effectiveAt: {
313
329
  readonly type: "string";
314
330
  readonly format: "date-time";
315
- readonly description: "RFC 3339 instant the change took effect the same instant stamped on the new log entry.";
331
+ readonly description: "RFC 3339 instant the rollback took effect. Absent for `noOp`.";
316
332
  };
317
- readonly drainUntil: {
333
+ readonly drainingMediator: {
318
334
  readonly type: "string";
319
- readonly format: "date-time";
320
- readonly description: "Present when the change scheduled a DIDComm drain. Its absence means no drain was scheduled, NOT that a drain finished instantly: a consumer reporting 'done' on an absent value would be right, and one reporting it on a present value would be wrong.";
335
+ readonly description: "Present when rolling back DIDComm left a mediator draining.";
321
336
  };
322
- readonly drainingMediator: {
337
+ readonly drainUntil: {
323
338
  readonly type: "string";
324
- readonly description: "The mediator being drained, when `drainUntil` is present.";
339
+ readonly format: "date-time";
340
+ readonly description: "When that drain completes.";
325
341
  };
326
342
  readonly vtaDid: {
327
343
  readonly type: "string";
328
- readonly description: "The agent's own DID — subject of the log entry this change wrote. Carried so a caller can follow up without a second round trip.";
344
+ readonly description: "The agent's own DID.";
329
345
  };
330
346
  readonly serverless: {
331
347
  readonly type: "boolean";
332
- readonly description: "True when the agent's DID is self-hosted. **The change is persisted locally but NOT published**: the operator must fetch the updated `did.jsonl` and redeploy before any verifier sees it. A consumer that ignores this reports success for a change no one else can observe yet.";
333
348
  readonly default: false;
349
+ readonly description: "True when the entry was written locally but not published — the operator must redeploy before any verifier sees it.";
334
350
  };
335
351
  readonly ext: {
336
352
  readonly $ref: "#/$defs/Ext";
@@ -369,7 +385,7 @@ export declare const RESPONSE_SPEC: {
369
385
  readonly required: readonly ["result"];
370
386
  readonly properties: {
371
387
  readonly result: {
372
- readonly $ref: "#/$defs/ServiceMutationResult";
388
+ readonly $ref: "#/$defs/RollbackResult";
373
389
  };
374
390
  readonly ext: {
375
391
  readonly $ref: "#/$defs/Ext";
@@ -386,40 +402,44 @@ export declare const RESPONSE_SPEC: {
386
402
  readonly pattern: "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$";
387
403
  };
388
404
  };
389
- readonly ServiceMutationResult: {
390
- readonly title: "ServiceMutationResult";
391
- readonly description: "The outcome of a change to an advertised service. Every member describes the **log entry the change produced**, because that is what the change actually is: the agent's DID document is the record, and a consumer that treats the response as a mere acknowledgement will miss that a redeploy may be required.";
405
+ readonly RollbackResult: {
406
+ readonly title: "RollbackResult";
407
+ readonly description: "The outcome of a rollback. Distinct from ServiceMutationResult because a rollback can legitimately publish nothing: if the previous state already equals the current one there is no change to write, and `kind: \"noOp\"` says so with `logEntryVersionId` absent. Treating that as a failure would be wrong — the requested state holds — and treating it as an ordinary success would report a log entry that does not exist.";
392
408
  readonly type: "object";
393
409
  readonly additionalProperties: false;
394
- readonly required: readonly ["logEntryVersionId", "effectiveAt"];
410
+ readonly required: readonly ["kind"];
395
411
  readonly properties: {
412
+ readonly kind: {
413
+ readonly type: "string";
414
+ readonly enum: readonly ["disabled", "enabled", "updated", "noOp"];
415
+ readonly description: "What the rollback did. `disabled` re-disabled the transport, `enabled` re-advertised it at its prior settings, `updated` restored prior settings on an entry that stayed advertised, and `noOp` means the previous state already matched — nothing was written.";
416
+ };
396
417
  readonly logEntryVersionId: {
397
418
  readonly type: "string";
398
- readonly minLength: 1;
399
- readonly description: "Version id of the new did:webvh log entry this change wrote. Joins the change to the document's history.";
419
+ readonly description: "Version id of the log entry the rollback wrote. **Absent when `kind` is `noOp`**, and present otherwise.";
400
420
  };
401
421
  readonly effectiveAt: {
402
422
  readonly type: "string";
403
423
  readonly format: "date-time";
404
- readonly description: "RFC 3339 instant the change took effect the same instant stamped on the new log entry.";
424
+ readonly description: "RFC 3339 instant the rollback took effect. Absent for `noOp`.";
405
425
  };
406
- readonly drainUntil: {
426
+ readonly drainingMediator: {
407
427
  readonly type: "string";
408
- readonly format: "date-time";
409
- readonly description: "Present when the change scheduled a DIDComm drain. Its absence means no drain was scheduled, NOT that a drain finished instantly: a consumer reporting 'done' on an absent value would be right, and one reporting it on a present value would be wrong.";
428
+ readonly description: "Present when rolling back DIDComm left a mediator draining.";
410
429
  };
411
- readonly drainingMediator: {
430
+ readonly drainUntil: {
412
431
  readonly type: "string";
413
- readonly description: "The mediator being drained, when `drainUntil` is present.";
432
+ readonly format: "date-time";
433
+ readonly description: "When that drain completes.";
414
434
  };
415
435
  readonly vtaDid: {
416
436
  readonly type: "string";
417
- readonly description: "The agent's own DID — subject of the log entry this change wrote. Carried so a caller can follow up without a second round trip.";
437
+ readonly description: "The agent's own DID.";
418
438
  };
419
439
  readonly serverless: {
420
440
  readonly type: "boolean";
421
- readonly description: "True when the agent's DID is self-hosted. **The change is persisted locally but NOT published**: the operator must fetch the updated `did.jsonl` and redeploy before any verifier sees it. A consumer that ignores this reports success for a change no one else can observe yet.";
422
441
  readonly default: false;
442
+ readonly description: "True when the entry was written locally but not published — the operator must redeploy before any verifier sees it.";
423
443
  };
424
444
  readonly ext: {
425
445
  readonly $ref: "#/$defs/Ext";
@@ -1 +1 @@
1
- {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../../../src/vta/services/rollback/1.0/payload.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,WAAW,CAAC;IACrB,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AACD;;GAEG;AACH,MAAM,WAAW,GAAG;IAClB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CAClC;AACD;;GAEG;AACH,MAAM,WAAW,kCAAkC;IACjD,MAAM,EAAE,qBAAqB,CAAC;IAC9B,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AACD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AAED,2BAA2B;AAC3B,eAAO,MAAM,QAAQ,EAAG,uDAAgE,CAAC;AAEzF,mEAAmE;AACnE,MAAM,MAAM,OAAO,GAAG,0BAA0B,CAAC;AAEjD,qEAAqE;AACrE,eAAO,MAAM,iBAAiB,EAAG,gEAAyE,CAAC;AAE3G,4EAA4E;AAC5E,MAAM,MAAM,QAAQ,GAAG,kCAAkC,CAAC;AAE1D;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsGjB,CAAC;AAEX,mEAAmE;AACnE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuF1B,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMP,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMhB,CAAC"}
1
+ {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../../../src/vta/services/rollback/1.0/payload.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,WAAW,CAAC;IACrB,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AACD;;GAEG;AACH,MAAM,WAAW,GAAG;IAClB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CAClC;AACD;;GAEG;AACH,MAAM,WAAW,kCAAkC;IACjD,MAAM,EAAE,cAAc,CAAC;IACvB,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AACD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;IAClD;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AAED,2BAA2B;AAC3B,eAAO,MAAM,QAAQ,EAAG,uDAAgE,CAAC;AAEzF,mEAAmE;AACnE,MAAM,MAAM,OAAO,GAAG,0BAA0B,CAAC;AAEjD,qEAAqE;AACrE,eAAO,MAAM,iBAAiB,EAAG,gEAAyE,CAAC;AAE3G,4EAA4E;AAC5E,MAAM,MAAM,QAAQ,GAAG,kCAAkC,CAAC;AAE1D;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8GjB,CAAC;AAEX,mEAAmE;AACnE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+F1B,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMP,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMhB,CAAC"}
@@ -45,7 +45,7 @@ export const PAYLOAD_SCHEMA = {
45
45
  ],
46
46
  "properties": {
47
47
  "result": {
48
- "$ref": "#/$defs/ServiceMutationResult"
48
+ "$ref": "#/$defs/RollbackResult"
49
49
  },
50
50
  "ext": {
51
51
  "$ref": "#/$defs/Ext"
@@ -62,43 +62,51 @@ export const PAYLOAD_SCHEMA = {
62
62
  "pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
63
63
  }
64
64
  },
65
- "ServiceMutationResult": {
66
- "title": "ServiceMutationResult",
67
- "description": "The outcome of a change to an advertised service. Every member describes the **log entry the change produced**, because that is what the change actually is: the agent's DID document is the record, and a consumer that treats the response as a mere acknowledgement will miss that a redeploy may be required.",
65
+ "RollbackResult": {
66
+ "title": "RollbackResult",
67
+ "description": "The outcome of a rollback. Distinct from ServiceMutationResult because a rollback can legitimately publish nothing: if the previous state already equals the current one there is no change to write, and `kind: \"noOp\"` says so with `logEntryVersionId` absent. Treating that as a failure would be wrong — the requested state holds — and treating it as an ordinary success would report a log entry that does not exist.",
68
68
  "type": "object",
69
69
  "additionalProperties": false,
70
70
  "required": [
71
- "logEntryVersionId",
72
- "effectiveAt"
71
+ "kind"
73
72
  ],
74
73
  "properties": {
74
+ "kind": {
75
+ "type": "string",
76
+ "enum": [
77
+ "disabled",
78
+ "enabled",
79
+ "updated",
80
+ "noOp"
81
+ ],
82
+ "description": "What the rollback did. `disabled` re-disabled the transport, `enabled` re-advertised it at its prior settings, `updated` restored prior settings on an entry that stayed advertised, and `noOp` means the previous state already matched — nothing was written."
83
+ },
75
84
  "logEntryVersionId": {
76
85
  "type": "string",
77
- "minLength": 1,
78
- "description": "Version id of the new did:webvh log entry this change wrote. Joins the change to the document's history."
86
+ "description": "Version id of the log entry the rollback wrote. **Absent when `kind` is `noOp`**, and present otherwise."
79
87
  },
80
88
  "effectiveAt": {
81
89
  "type": "string",
82
90
  "format": "date-time",
83
- "description": "RFC 3339 instant the change took effect the same instant stamped on the new log entry."
91
+ "description": "RFC 3339 instant the rollback took effect. Absent for `noOp`."
84
92
  },
85
- "drainUntil": {
93
+ "drainingMediator": {
86
94
  "type": "string",
87
- "format": "date-time",
88
- "description": "Present when the change scheduled a DIDComm drain. Its absence means no drain was scheduled, NOT that a drain finished instantly: a consumer reporting 'done' on an absent value would be right, and one reporting it on a present value would be wrong."
95
+ "description": "Present when rolling back DIDComm left a mediator draining."
89
96
  },
90
- "drainingMediator": {
97
+ "drainUntil": {
91
98
  "type": "string",
92
- "description": "The mediator being drained, when `drainUntil` is present."
99
+ "format": "date-time",
100
+ "description": "When that drain completes."
93
101
  },
94
102
  "vtaDid": {
95
103
  "type": "string",
96
- "description": "The agent's own DID — subject of the log entry this change wrote. Carried so a caller can follow up without a second round trip."
104
+ "description": "The agent's own DID."
97
105
  },
98
106
  "serverless": {
99
107
  "type": "boolean",
100
- "description": "True when the agent's DID is self-hosted. **The change is persisted locally but NOT published**: the operator must fetch the updated `did.jsonl` and redeploy before any verifier sees it. A consumer that ignores this reports success for a change no one else can observe yet.",
101
- "default": false
108
+ "default": false,
109
+ "description": "True when the entry was written locally but not published — the operator must redeploy before any verifier sees it."
102
110
  },
103
111
  "ext": {
104
112
  "$ref": "#/$defs/Ext"
@@ -134,7 +142,7 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
134
142
  ],
135
143
  "properties": {
136
144
  "result": {
137
- "$ref": "#/$defs/ServiceMutationResult"
145
+ "$ref": "#/$defs/RollbackResult"
138
146
  },
139
147
  "ext": {
140
148
  "$ref": "#/$defs/Ext"
@@ -151,43 +159,51 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
151
159
  "pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
152
160
  }
153
161
  },
154
- "ServiceMutationResult": {
155
- "title": "ServiceMutationResult",
156
- "description": "The outcome of a change to an advertised service. Every member describes the **log entry the change produced**, because that is what the change actually is: the agent's DID document is the record, and a consumer that treats the response as a mere acknowledgement will miss that a redeploy may be required.",
162
+ "RollbackResult": {
163
+ "title": "RollbackResult",
164
+ "description": "The outcome of a rollback. Distinct from ServiceMutationResult because a rollback can legitimately publish nothing: if the previous state already equals the current one there is no change to write, and `kind: \"noOp\"` says so with `logEntryVersionId` absent. Treating that as a failure would be wrong — the requested state holds — and treating it as an ordinary success would report a log entry that does not exist.",
157
165
  "type": "object",
158
166
  "additionalProperties": false,
159
167
  "required": [
160
- "logEntryVersionId",
161
- "effectiveAt"
168
+ "kind"
162
169
  ],
163
170
  "properties": {
171
+ "kind": {
172
+ "type": "string",
173
+ "enum": [
174
+ "disabled",
175
+ "enabled",
176
+ "updated",
177
+ "noOp"
178
+ ],
179
+ "description": "What the rollback did. `disabled` re-disabled the transport, `enabled` re-advertised it at its prior settings, `updated` restored prior settings on an entry that stayed advertised, and `noOp` means the previous state already matched — nothing was written."
180
+ },
164
181
  "logEntryVersionId": {
165
182
  "type": "string",
166
- "minLength": 1,
167
- "description": "Version id of the new did:webvh log entry this change wrote. Joins the change to the document's history."
183
+ "description": "Version id of the log entry the rollback wrote. **Absent when `kind` is `noOp`**, and present otherwise."
168
184
  },
169
185
  "effectiveAt": {
170
186
  "type": "string",
171
187
  "format": "date-time",
172
- "description": "RFC 3339 instant the change took effect the same instant stamped on the new log entry."
188
+ "description": "RFC 3339 instant the rollback took effect. Absent for `noOp`."
173
189
  },
174
- "drainUntil": {
190
+ "drainingMediator": {
175
191
  "type": "string",
176
- "format": "date-time",
177
- "description": "Present when the change scheduled a DIDComm drain. Its absence means no drain was scheduled, NOT that a drain finished instantly: a consumer reporting 'done' on an absent value would be right, and one reporting it on a present value would be wrong."
192
+ "description": "Present when rolling back DIDComm left a mediator draining."
178
193
  },
179
- "drainingMediator": {
194
+ "drainUntil": {
180
195
  "type": "string",
181
- "description": "The mediator being drained, when `drainUntil` is present."
196
+ "format": "date-time",
197
+ "description": "When that drain completes."
182
198
  },
183
199
  "vtaDid": {
184
200
  "type": "string",
185
- "description": "The agent's own DID — subject of the log entry this change wrote. Carried so a caller can follow up without a second round trip."
201
+ "description": "The agent's own DID."
186
202
  },
187
203
  "serverless": {
188
204
  "type": "boolean",
189
- "description": "True when the agent's DID is self-hosted. **The change is persisted locally but NOT published**: the operator must fetch the updated `did.jsonl` and redeploy before any verifier sees it. A consumer that ignores this reports success for a change no one else can observe yet.",
190
- "default": false
205
+ "default": false,
206
+ "description": "True when the entry was written locally but not published — the operator must redeploy before any verifier sees it."
191
207
  },
192
208
  "ext": {
193
209
  "$ref": "#/$defs/Ext"
@@ -1 +1 @@
1
- {"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../../../src/vta/services/rollback/1.0/payload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../../../src/vta/services/rollback/1.0/payload.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openvtc/trust-tasks",
3
- "version": "0.11.0",
3
+ "version": "0.12.0",
4
4
  "description": "Generated TypeScript bindings for the Trust Tasks framework registry.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -14,6 +14,10 @@ export type ServiceKind = "didcomm" | "rest" | "tsp" | "webauthn";
14
14
  export interface VTAServicesDisablePayload {
15
15
  service: ServiceKind;
16
16
  ext?: Ext;
17
+ /**
18
+ * `didcomm` only: how long the unadvertised mediator keeps accepting delivery. Absent takes the agent's default. **0 means immediate teardown, and is only honoured when the request did not arrive through the mediator being torn down** — over a DIDComm-carried request the agent enforces a floor (1 hour), because cutting the mediator mid-request would discard the reply to the very task asking for it. A caller cannot rely on 0 being obeyed; read `drainUntil` in the result to learn what actually happened.
19
+ */
20
+ drainTtlSecs?: number;
17
21
  }
18
22
  /**
19
23
  * Vendor-namespaced extension object per SPEC.md §4.5.1. Each immediate key MUST be a reverse-DNS namespace; structure under each namespace is opaque to the framework.
@@ -96,6 +100,11 @@ export const PAYLOAD_SCHEMA = {
96
100
  },
97
101
  "ext": {
98
102
  "$ref": "#/$defs/Ext"
103
+ },
104
+ "drainTtlSecs": {
105
+ "type": "integer",
106
+ "minimum": 0,
107
+ "description": "`didcomm` only: how long the unadvertised mediator keeps accepting delivery. Absent takes the agent's default. **0 means immediate teardown, and is only honoured when the request did not arrive through the mediator being torn down** — over a DIDComm-carried request the agent enforces a floor (1 hour), because cutting the mediator mid-request would discard the reply to the very task asking for it. A caller cannot rely on 0 being obeyed; read `drainUntil` in the result to learn what actually happened."
99
108
  }
100
109
  },
101
110
  "$defs": {
@@ -25,35 +25,39 @@ export interface Ext {
25
25
  * Success response to vta/services/rollback. Type https://trusttasks.org/spec/vta/services/rollback/1.0#response.
26
26
  */
27
27
  export interface VTAServicesRollbackResponsePayload {
28
- result: ServiceMutationResult;
28
+ result: RollbackResult;
29
29
  ext?: Ext;
30
30
  }
31
31
  /**
32
- * The outcome of a change to an advertised service. Every member describes the **log entry the change produced**, because that is what the change actually is: the agent's DID document is the record, and a consumer that treats the response as a mere acknowledgement will miss that a redeploy may be required.
32
+ * The outcome of a rollback. Distinct from ServiceMutationResult because a rollback can legitimately publish nothing: if the previous state already equals the current one there is no change to write, and `kind: "noOp"` says so with `logEntryVersionId` absent. Treating that as a failure would be wrong — the requested state holds — and treating it as an ordinary success would report a log entry that does not exist.
33
33
  */
34
- export interface ServiceMutationResult {
34
+ export interface RollbackResult {
35
35
  /**
36
- * Version id of the new did:webvh log entry this change wrote. Joins the change to the document's history.
36
+ * What the rollback did. `disabled` re-disabled the transport, `enabled` re-advertised it at its prior settings, `updated` restored prior settings on an entry that stayed advertised, and `noOp` means the previous state already matched — nothing was written.
37
37
  */
38
- logEntryVersionId: string;
38
+ kind: "disabled" | "enabled" | "updated" | "noOp";
39
39
  /**
40
- * RFC 3339 instant the change took effect the same instant stamped on the new log entry.
40
+ * Version id of the log entry the rollback wrote. **Absent when `kind` is `noOp`**, and present otherwise.
41
41
  */
42
- effectiveAt: string;
42
+ logEntryVersionId?: string;
43
43
  /**
44
- * Present when the change scheduled a DIDComm drain. Its absence means no drain was scheduled, NOT that a drain finished instantly: a consumer reporting 'done' on an absent value would be right, and one reporting it on a present value would be wrong.
44
+ * RFC 3339 instant the rollback took effect. Absent for `noOp`.
45
45
  */
46
- drainUntil?: string;
46
+ effectiveAt?: string;
47
47
  /**
48
- * The mediator being drained, when `drainUntil` is present.
48
+ * Present when rolling back DIDComm left a mediator draining.
49
49
  */
50
50
  drainingMediator?: string;
51
51
  /**
52
- * The agent's own DID — subject of the log entry this change wrote. Carried so a caller can follow up without a second round trip.
52
+ * When that drain completes.
53
+ */
54
+ drainUntil?: string;
55
+ /**
56
+ * The agent's own DID.
53
57
  */
54
58
  vtaDid?: string;
55
59
  /**
56
- * True when the agent's DID is self-hosted. **The change is persisted locally but NOT published**: the operator must fetch the updated `did.jsonl` and redeploy before any verifier sees it. A consumer that ignores this reports success for a change no one else can observe yet.
60
+ * True when the entry was written locally but not published the operator must redeploy before any verifier sees it.
57
61
  */
58
62
  serverless?: boolean;
59
63
  ext?: Ext;
@@ -110,7 +114,7 @@ export const PAYLOAD_SCHEMA = {
110
114
  ],
111
115
  "properties": {
112
116
  "result": {
113
- "$ref": "#/$defs/ServiceMutationResult"
117
+ "$ref": "#/$defs/RollbackResult"
114
118
  },
115
119
  "ext": {
116
120
  "$ref": "#/$defs/Ext"
@@ -127,43 +131,51 @@ export const PAYLOAD_SCHEMA = {
127
131
  "pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
128
132
  }
129
133
  },
130
- "ServiceMutationResult": {
131
- "title": "ServiceMutationResult",
132
- "description": "The outcome of a change to an advertised service. Every member describes the **log entry the change produced**, because that is what the change actually is: the agent's DID document is the record, and a consumer that treats the response as a mere acknowledgement will miss that a redeploy may be required.",
134
+ "RollbackResult": {
135
+ "title": "RollbackResult",
136
+ "description": "The outcome of a rollback. Distinct from ServiceMutationResult because a rollback can legitimately publish nothing: if the previous state already equals the current one there is no change to write, and `kind: \"noOp\"` says so with `logEntryVersionId` absent. Treating that as a failure would be wrong — the requested state holds — and treating it as an ordinary success would report a log entry that does not exist.",
133
137
  "type": "object",
134
138
  "additionalProperties": false,
135
139
  "required": [
136
- "logEntryVersionId",
137
- "effectiveAt"
140
+ "kind"
138
141
  ],
139
142
  "properties": {
143
+ "kind": {
144
+ "type": "string",
145
+ "enum": [
146
+ "disabled",
147
+ "enabled",
148
+ "updated",
149
+ "noOp"
150
+ ],
151
+ "description": "What the rollback did. `disabled` re-disabled the transport, `enabled` re-advertised it at its prior settings, `updated` restored prior settings on an entry that stayed advertised, and `noOp` means the previous state already matched — nothing was written."
152
+ },
140
153
  "logEntryVersionId": {
141
154
  "type": "string",
142
- "minLength": 1,
143
- "description": "Version id of the new did:webvh log entry this change wrote. Joins the change to the document's history."
155
+ "description": "Version id of the log entry the rollback wrote. **Absent when `kind` is `noOp`**, and present otherwise."
144
156
  },
145
157
  "effectiveAt": {
146
158
  "type": "string",
147
159
  "format": "date-time",
148
- "description": "RFC 3339 instant the change took effect the same instant stamped on the new log entry."
160
+ "description": "RFC 3339 instant the rollback took effect. Absent for `noOp`."
149
161
  },
150
- "drainUntil": {
162
+ "drainingMediator": {
151
163
  "type": "string",
152
- "format": "date-time",
153
- "description": "Present when the change scheduled a DIDComm drain. Its absence means no drain was scheduled, NOT that a drain finished instantly: a consumer reporting 'done' on an absent value would be right, and one reporting it on a present value would be wrong."
164
+ "description": "Present when rolling back DIDComm left a mediator draining."
154
165
  },
155
- "drainingMediator": {
166
+ "drainUntil": {
156
167
  "type": "string",
157
- "description": "The mediator being drained, when `drainUntil` is present."
168
+ "format": "date-time",
169
+ "description": "When that drain completes."
158
170
  },
159
171
  "vtaDid": {
160
172
  "type": "string",
161
- "description": "The agent's own DID — subject of the log entry this change wrote. Carried so a caller can follow up without a second round trip."
173
+ "description": "The agent's own DID."
162
174
  },
163
175
  "serverless": {
164
176
  "type": "boolean",
165
- "description": "True when the agent's DID is self-hosted. **The change is persisted locally but NOT published**: the operator must fetch the updated `did.jsonl` and redeploy before any verifier sees it. A consumer that ignores this reports success for a change no one else can observe yet.",
166
- "default": false
177
+ "default": false,
178
+ "description": "True when the entry was written locally but not published — the operator must redeploy before any verifier sees it."
167
179
  },
168
180
  "ext": {
169
181
  "$ref": "#/$defs/Ext"
@@ -200,7 +212,7 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
200
212
  ],
201
213
  "properties": {
202
214
  "result": {
203
- "$ref": "#/$defs/ServiceMutationResult"
215
+ "$ref": "#/$defs/RollbackResult"
204
216
  },
205
217
  "ext": {
206
218
  "$ref": "#/$defs/Ext"
@@ -217,43 +229,51 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
217
229
  "pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
218
230
  }
219
231
  },
220
- "ServiceMutationResult": {
221
- "title": "ServiceMutationResult",
222
- "description": "The outcome of a change to an advertised service. Every member describes the **log entry the change produced**, because that is what the change actually is: the agent's DID document is the record, and a consumer that treats the response as a mere acknowledgement will miss that a redeploy may be required.",
232
+ "RollbackResult": {
233
+ "title": "RollbackResult",
234
+ "description": "The outcome of a rollback. Distinct from ServiceMutationResult because a rollback can legitimately publish nothing: if the previous state already equals the current one there is no change to write, and `kind: \"noOp\"` says so with `logEntryVersionId` absent. Treating that as a failure would be wrong — the requested state holds — and treating it as an ordinary success would report a log entry that does not exist.",
223
235
  "type": "object",
224
236
  "additionalProperties": false,
225
237
  "required": [
226
- "logEntryVersionId",
227
- "effectiveAt"
238
+ "kind"
228
239
  ],
229
240
  "properties": {
241
+ "kind": {
242
+ "type": "string",
243
+ "enum": [
244
+ "disabled",
245
+ "enabled",
246
+ "updated",
247
+ "noOp"
248
+ ],
249
+ "description": "What the rollback did. `disabled` re-disabled the transport, `enabled` re-advertised it at its prior settings, `updated` restored prior settings on an entry that stayed advertised, and `noOp` means the previous state already matched — nothing was written."
250
+ },
230
251
  "logEntryVersionId": {
231
252
  "type": "string",
232
- "minLength": 1,
233
- "description": "Version id of the new did:webvh log entry this change wrote. Joins the change to the document's history."
253
+ "description": "Version id of the log entry the rollback wrote. **Absent when `kind` is `noOp`**, and present otherwise."
234
254
  },
235
255
  "effectiveAt": {
236
256
  "type": "string",
237
257
  "format": "date-time",
238
- "description": "RFC 3339 instant the change took effect the same instant stamped on the new log entry."
258
+ "description": "RFC 3339 instant the rollback took effect. Absent for `noOp`."
239
259
  },
240
- "drainUntil": {
260
+ "drainingMediator": {
241
261
  "type": "string",
242
- "format": "date-time",
243
- "description": "Present when the change scheduled a DIDComm drain. Its absence means no drain was scheduled, NOT that a drain finished instantly: a consumer reporting 'done' on an absent value would be right, and one reporting it on a present value would be wrong."
262
+ "description": "Present when rolling back DIDComm left a mediator draining."
244
263
  },
245
- "drainingMediator": {
264
+ "drainUntil": {
246
265
  "type": "string",
247
- "description": "The mediator being drained, when `drainUntil` is present."
266
+ "format": "date-time",
267
+ "description": "When that drain completes."
248
268
  },
249
269
  "vtaDid": {
250
270
  "type": "string",
251
- "description": "The agent's own DID — subject of the log entry this change wrote. Carried so a caller can follow up without a second round trip."
271
+ "description": "The agent's own DID."
252
272
  },
253
273
  "serverless": {
254
274
  "type": "boolean",
255
- "description": "True when the agent's DID is self-hosted. **The change is persisted locally but NOT published**: the operator must fetch the updated `did.jsonl` and redeploy before any verifier sees it. A consumer that ignores this reports success for a change no one else can observe yet.",
256
- "default": false
275
+ "default": false,
276
+ "description": "True when the entry was written locally but not published — the operator must redeploy before any verifier sees it."
257
277
  },
258
278
  "ext": {
259
279
  "$ref": "#/$defs/Ext"