@ixo/topic-protocol 1.0.0-rc.1 → 1.0.0-rc.2

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.
Files changed (40) hide show
  1. package/README.md +1 -1
  2. package/dist/schemas/topic-contract-body.schema.json +12 -21
  3. package/dist/schemas/topic-contract-state.schema.json +18 -93
  4. package/dist/schemas/topic-operation.schema.json +2 -2
  5. package/dist/schemas/topic-root.schema.json +5 -1
  6. package/dist/schemas/topic-shape.schema.json +5 -4
  7. package/dist/src/contracts/schemas.d.ts +394 -75
  8. package/dist/src/contracts/topic-contract.d.ts +15 -1
  9. package/dist/src/contracts/topic-contract.js.map +1 -1
  10. package/dist/src/index.d.ts +4 -4
  11. package/dist/src/index.js +1 -1
  12. package/dist/src/index.js.map +1 -1
  13. package/dist/src/projector/payload.d.ts +34 -0
  14. package/dist/src/projector/payload.js +93 -2
  15. package/dist/src/projector/payload.js.map +1 -1
  16. package/dist/src/projector/state.js +54 -0
  17. package/dist/src/projector/state.js.map +1 -1
  18. package/dist/src/projector/types.d.ts +44 -2
  19. package/dist/src/projector/types.js.map +1 -1
  20. package/dist/src/shapes/now.d.ts +2 -2
  21. package/dist/src/shapes/now.js +38 -19
  22. package/dist/src/shapes/now.js.map +1 -1
  23. package/dist/src/shapes/progress.d.ts +3 -3
  24. package/dist/src/shapes/progress.js +391 -77
  25. package/dist/src/shapes/progress.js.map +1 -1
  26. package/dist/src/shapes/recipes.js +102 -53
  27. package/dist/src/shapes/recipes.js.map +1 -1
  28. package/dist/src/shapes/resolver.js +13 -3
  29. package/dist/src/shapes/resolver.js.map +1 -1
  30. package/dist/src/shapes/state.d.ts +72 -20
  31. package/dist/src/shapes/state.js +1 -0
  32. package/dist/src/shapes/state.js.map +1 -1
  33. package/dist/src/shapes/types.d.ts +155 -4
  34. package/dist/src/shapes/types.js +3 -1
  35. package/dist/src/shapes/types.js.map +1 -1
  36. package/package.json +1 -1
  37. package/recipes/agent-delivery.json +166 -33
  38. package/recipes/registry.json +6 -6
  39. package/recipes/research-brief.json +148 -30
  40. package/recipes/verified-work-payment.json +172 -34
@@ -2,7 +2,7 @@
2
2
  "version": 1,
3
3
  "code": "research-brief",
4
4
  "id": "https://topic-protocol.ixo.world/recipes/research-brief",
5
- "recipeVersion": "1.0.0-rc.1",
5
+ "recipeVersion": "1.0.0-rc.2",
6
6
  "label": "Research brief",
7
7
  "description": "Frame a question, do the research, verify the sources, and close the brief explicitly.",
8
8
  "baseRecipe": "research",
@@ -15,13 +15,13 @@
15
15
  "code": "contract",
16
16
  "phase": "forming",
17
17
  "required": true,
18
- "initialState": "draft",
18
+ "initialState": "proposed",
19
19
  "states": [
20
20
  {
21
- "code": "draft"
21
+ "code": "proposed"
22
22
  },
23
23
  {
24
- "code": "accepted",
24
+ "code": "effective",
25
25
  "terminal": true
26
26
  }
27
27
  ]
@@ -77,21 +77,21 @@
77
77
  ],
78
78
  "transitions": [
79
79
  {
80
- "code": "edit-terms",
80
+ "code": "edit-setup",
81
81
  "phase": "forming",
82
82
  "predecessor": {
83
83
  "axis": "contract",
84
- "state": "draft"
84
+ "state": "proposed"
85
85
  },
86
86
  "target": {
87
87
  "axis": "contract",
88
- "state": "draft"
88
+ "state": "proposed"
89
89
  },
90
- "command": "topic.edit-terms",
90
+ "command": "topic.edit-setup",
91
91
  "requiredAbility": "topic/write",
92
92
  "assignedTo": {
93
93
  "kind": "role",
94
- "value": "contract-acceptor"
94
+ "value": "setup-editor"
95
95
  },
96
96
  "gates": [],
97
97
  "confirmation": "none",
@@ -101,35 +101,45 @@
101
101
  "type": "update-contract"
102
102
  },
103
103
  "presentation": {
104
- "reasonCode": "terms-need-input"
104
+ "reasonCode": "setup-needs-input",
105
+ "actionLabelKey": "topic.action.edit-setup.label",
106
+ "bodyKey": "topic.setup.edit.body",
107
+ "purposeKey": "topic.setup.edit.purpose",
108
+ "unlocksKey": "topic.setup.edit.unlocks",
109
+ "priority": 800
105
110
  }
106
111
  },
107
112
  {
108
- "code": "accept-terms",
113
+ "code": "confirm-setup",
109
114
  "phase": "forming",
110
115
  "predecessor": {
111
116
  "axis": "contract",
112
- "state": "draft"
117
+ "state": "proposed"
113
118
  },
114
119
  "target": {
115
120
  "axis": "contract",
116
- "state": "accepted"
121
+ "state": "effective"
117
122
  },
118
- "command": "topic.accept-terms",
119
- "requiredAbility": "topic/accept-contract",
123
+ "command": "topic.confirm-setup",
124
+ "requiredAbility": "topic/confirm-setup",
120
125
  "assignedTo": {
121
126
  "kind": "role",
122
- "value": "contract-acceptor"
127
+ "value": "setup-confirmer"
123
128
  },
124
129
  "gates": [],
125
- "confirmation": "viewer",
130
+ "confirmation": "authority",
126
131
  "consequence": "shared-state",
127
132
  "evidence": {
128
133
  "kind": "operation",
129
- "type": "accept-contract"
134
+ "type": "confirm-setup"
130
135
  },
131
136
  "presentation": {
132
- "reasonCode": "terms-await-acceptance"
137
+ "reasonCode": "setup-awaits-confirmation",
138
+ "actionLabelKey": "topic.action.confirm-setup.label",
139
+ "bodyKey": "topic.setup.confirm.body",
140
+ "purposeKey": "topic.setup.confirm.purpose",
141
+ "unlocksKey": "topic.setup.confirm.unlocks",
142
+ "priority": 700
133
143
  }
134
144
  },
135
145
  {
@@ -154,7 +164,7 @@
154
164
  "kind": "axis",
155
165
  "axis": "contract",
156
166
  "states": [
157
- "accepted"
167
+ "effective"
158
168
  ]
159
169
  }
160
170
  ],
@@ -165,7 +175,85 @@
165
175
  "type": "change-progress"
166
176
  },
167
177
  "presentation": {
168
- "reasonCode": "start-work"
178
+ "reasonCode": "start-work",
179
+ "actionLabelKey": "topic.action.start-work.label",
180
+ "bodyKey": "topic.action.start-work.prompt",
181
+ "purposeKey": "topic.action.start-work.purpose",
182
+ "unlocksKey": "topic.action.start-work.unlocks",
183
+ "priority": 900
184
+ }
185
+ },
186
+ {
187
+ "code": "raise-dispute",
188
+ "phase": "working",
189
+ "predecessor": {
190
+ "axis": "topic",
191
+ "state": "open"
192
+ },
193
+ "target": {
194
+ "axis": "topic",
195
+ "state": "open"
196
+ },
197
+ "command": "topic.raise-dispute",
198
+ "requiredAbility": "topic/raise-dispute",
199
+ "assignedTo": {
200
+ "kind": "role",
201
+ "value": "participant"
202
+ },
203
+ "gates": [],
204
+ "confirmation": "none",
205
+ "consequence": "shared-state",
206
+ "evidence": {
207
+ "kind": "operation",
208
+ "type": "raise-dispute"
209
+ },
210
+ "presentation": {
211
+ "reasonCode": "dispute-available",
212
+ "actionLabelKey": "topic.action.raise-dispute.label",
213
+ "bodyKey": "topic.action.raise-dispute.prompt",
214
+ "purposeKey": "topic.action.raise-dispute.purpose",
215
+ "unlocksKey": "topic.action.raise-dispute.unlocks",
216
+ "priority": 900
217
+ }
218
+ },
219
+ {
220
+ "code": "resolve-dispute",
221
+ "phase": "working",
222
+ "predecessor": {
223
+ "axis": "topic",
224
+ "state": "open"
225
+ },
226
+ "target": {
227
+ "axis": "topic",
228
+ "state": "open"
229
+ },
230
+ "command": "topic.resolve-dispute",
231
+ "requiredAbility": "topic/resolve-dispute",
232
+ "assignedTo": {
233
+ "kind": "role",
234
+ "value": "dispute-resolver"
235
+ },
236
+ "gates": [
237
+ {
238
+ "kind": "condition",
239
+ "states": [
240
+ "disputed"
241
+ ]
242
+ }
243
+ ],
244
+ "confirmation": "authority",
245
+ "consequence": "shared-state",
246
+ "evidence": {
247
+ "kind": "operation",
248
+ "type": "resolve-dispute"
249
+ },
250
+ "presentation": {
251
+ "reasonCode": "dispute-awaits-resolution",
252
+ "actionLabelKey": "topic.action.resolve-dispute.label",
253
+ "bodyKey": "topic.action.resolve-dispute.prompt",
254
+ "purposeKey": "topic.action.resolve-dispute.purpose",
255
+ "unlocksKey": "topic.action.resolve-dispute.unlocks",
256
+ "priority": 900
169
257
  }
170
258
  },
171
259
  {
@@ -199,7 +287,12 @@
199
287
  "type": "answer-question"
200
288
  },
201
289
  "presentation": {
202
- "reasonCode": "question-awaits-answer"
290
+ "reasonCode": "question-awaits-answer",
291
+ "actionLabelKey": "topic.action.answer-question.label",
292
+ "bodyKey": "topic.action.answer-question.prompt",
293
+ "purposeKey": "topic.action.answer-question.purpose",
294
+ "unlocksKey": "topic.action.answer-question.unlocks",
295
+ "priority": 900
203
296
  }
204
297
  },
205
298
  {
@@ -233,7 +326,12 @@
233
326
  "type": "change-due-date"
234
327
  },
235
328
  "presentation": {
236
- "reasonCode": "due-date-review"
329
+ "reasonCode": "due-date-review",
330
+ "actionLabelKey": "topic.action.change-due-date.label",
331
+ "bodyKey": "topic.action.change-due-date.prompt",
332
+ "purposeKey": "topic.action.change-due-date.purpose",
333
+ "unlocksKey": "topic.action.change-due-date.unlocks",
334
+ "priority": 900
237
335
  }
238
336
  },
239
337
  {
@@ -268,7 +366,12 @@
268
366
  "type": "unblock-topic"
269
367
  },
270
368
  "presentation": {
271
- "reasonCode": "topic-blocked"
369
+ "reasonCode": "topic-blocked",
370
+ "actionLabelKey": "topic.action.unblock-topic.label",
371
+ "bodyKey": "topic.action.unblock-topic.prompt",
372
+ "purposeKey": "topic.action.unblock-topic.purpose",
373
+ "unlocksKey": "topic.action.unblock-topic.unlocks",
374
+ "priority": 900
272
375
  }
273
376
  },
274
377
  {
@@ -297,7 +400,12 @@
297
400
  "finality": "accepted"
298
401
  },
299
402
  "presentation": {
300
- "reasonCode": "submit-work"
403
+ "reasonCode": "submit-work",
404
+ "actionLabelKey": "topic.action.submit-work.label",
405
+ "bodyKey": "topic.action.submit-work.prompt",
406
+ "purposeKey": "topic.action.submit-work.purpose",
407
+ "unlocksKey": "topic.action.submit-work.unlocks",
408
+ "priority": 900
301
409
  }
302
410
  },
303
411
  {
@@ -334,7 +442,12 @@
334
442
  },
335
443
  "completesTopic": true,
336
444
  "presentation": {
337
- "reasonCode": "complete-topic"
445
+ "reasonCode": "complete-topic",
446
+ "actionLabelKey": "topic.action.complete-topic.label",
447
+ "bodyKey": "topic.action.complete-topic.prompt",
448
+ "purposeKey": "topic.action.complete-topic.purpose",
449
+ "unlocksKey": "topic.action.complete-topic.unlocks",
450
+ "priority": 900
338
451
  }
339
452
  },
340
453
  {
@@ -375,7 +488,12 @@
375
488
  "binding": "evaluation"
376
489
  },
377
490
  "presentation": {
378
- "reasonCode": "verification-required"
491
+ "reasonCode": "verification-required",
492
+ "actionLabelKey": "topic.action.record-verification.label",
493
+ "bodyKey": "topic.action.record-verification.prompt",
494
+ "purposeKey": "topic.action.record-verification.purpose",
495
+ "unlocksKey": "topic.action.record-verification.unlocks",
496
+ "priority": 900
379
497
  }
380
498
  }
381
499
  ],
@@ -428,15 +546,15 @@
428
546
  }
429
547
  },
430
548
  {
431
- "code": "needs-acceptance",
432
- "condition": "needs-acceptance",
549
+ "code": "needs-confirmation",
550
+ "condition": "needs-confirmation",
433
551
  "priority": 350,
434
552
  "source": {
435
553
  "kind": "axis",
436
554
  "value": "contract"
437
555
  },
438
556
  "states": [
439
- "draft"
557
+ "proposed"
440
558
  ]
441
559
  }
442
560
  ],
@@ -2,7 +2,7 @@
2
2
  "version": 1,
3
3
  "code": "verified-work-payment",
4
4
  "id": "https://topic-protocol.ixo.world/recipes/verified-work-payment",
5
- "recipeVersion": "1.0.0-rc.1",
5
+ "recipeVersion": "1.0.0-rc.2",
6
6
  "label": "Verified work payment",
7
7
  "description": "Bind one entity and claim collection, verify work, decide, execute through Flow, and observe settlement finality.",
8
8
  "baseRecipe": "claims",
@@ -15,13 +15,13 @@
15
15
  "code": "contract",
16
16
  "phase": "forming",
17
17
  "required": true,
18
- "initialState": "draft",
18
+ "initialState": "proposed",
19
19
  "states": [
20
20
  {
21
- "code": "draft"
21
+ "code": "proposed"
22
22
  },
23
23
  {
24
- "code": "accepted",
24
+ "code": "effective",
25
25
  "terminal": true
26
26
  }
27
27
  ]
@@ -125,21 +125,21 @@
125
125
  ],
126
126
  "transitions": [
127
127
  {
128
- "code": "edit-terms",
128
+ "code": "edit-setup",
129
129
  "phase": "forming",
130
130
  "predecessor": {
131
131
  "axis": "contract",
132
- "state": "draft"
132
+ "state": "proposed"
133
133
  },
134
134
  "target": {
135
135
  "axis": "contract",
136
- "state": "draft"
136
+ "state": "proposed"
137
137
  },
138
- "command": "topic.edit-terms",
138
+ "command": "topic.edit-setup",
139
139
  "requiredAbility": "topic/write",
140
140
  "assignedTo": {
141
141
  "kind": "role",
142
- "value": "contract-acceptor"
142
+ "value": "setup-editor"
143
143
  },
144
144
  "gates": [],
145
145
  "confirmation": "none",
@@ -149,35 +149,45 @@
149
149
  "type": "update-contract"
150
150
  },
151
151
  "presentation": {
152
- "reasonCode": "terms-need-input"
152
+ "reasonCode": "setup-needs-input",
153
+ "actionLabelKey": "topic.action.edit-setup.label",
154
+ "bodyKey": "topic.setup.edit.body",
155
+ "purposeKey": "topic.setup.edit.purpose",
156
+ "unlocksKey": "topic.setup.edit.unlocks",
157
+ "priority": 800
153
158
  }
154
159
  },
155
160
  {
156
- "code": "accept-terms",
161
+ "code": "confirm-setup",
157
162
  "phase": "forming",
158
163
  "predecessor": {
159
164
  "axis": "contract",
160
- "state": "draft"
165
+ "state": "proposed"
161
166
  },
162
167
  "target": {
163
168
  "axis": "contract",
164
- "state": "accepted"
169
+ "state": "effective"
165
170
  },
166
- "command": "topic.accept-terms",
167
- "requiredAbility": "topic/accept-contract",
171
+ "command": "topic.confirm-setup",
172
+ "requiredAbility": "topic/confirm-setup",
168
173
  "assignedTo": {
169
174
  "kind": "role",
170
- "value": "contract-acceptor"
175
+ "value": "setup-confirmer"
171
176
  },
172
177
  "gates": [],
173
- "confirmation": "viewer",
178
+ "confirmation": "authority",
174
179
  "consequence": "shared-state",
175
180
  "evidence": {
176
181
  "kind": "operation",
177
- "type": "accept-contract"
182
+ "type": "confirm-setup"
178
183
  },
179
184
  "presentation": {
180
- "reasonCode": "terms-await-acceptance"
185
+ "reasonCode": "setup-awaits-confirmation",
186
+ "actionLabelKey": "topic.action.confirm-setup.label",
187
+ "bodyKey": "topic.setup.confirm.body",
188
+ "purposeKey": "topic.setup.confirm.purpose",
189
+ "unlocksKey": "topic.setup.confirm.unlocks",
190
+ "priority": 700
181
191
  }
182
192
  },
183
193
  {
@@ -202,7 +212,7 @@
202
212
  "kind": "axis",
203
213
  "axis": "contract",
204
214
  "states": [
205
- "accepted"
215
+ "effective"
206
216
  ]
207
217
  }
208
218
  ],
@@ -213,7 +223,85 @@
213
223
  "type": "change-progress"
214
224
  },
215
225
  "presentation": {
216
- "reasonCode": "start-work"
226
+ "reasonCode": "start-work",
227
+ "actionLabelKey": "topic.action.start-work.label",
228
+ "bodyKey": "topic.action.start-work.prompt",
229
+ "purposeKey": "topic.action.start-work.purpose",
230
+ "unlocksKey": "topic.action.start-work.unlocks",
231
+ "priority": 900
232
+ }
233
+ },
234
+ {
235
+ "code": "raise-dispute",
236
+ "phase": "working",
237
+ "predecessor": {
238
+ "axis": "topic",
239
+ "state": "open"
240
+ },
241
+ "target": {
242
+ "axis": "topic",
243
+ "state": "open"
244
+ },
245
+ "command": "topic.raise-dispute",
246
+ "requiredAbility": "topic/raise-dispute",
247
+ "assignedTo": {
248
+ "kind": "role",
249
+ "value": "participant"
250
+ },
251
+ "gates": [],
252
+ "confirmation": "none",
253
+ "consequence": "shared-state",
254
+ "evidence": {
255
+ "kind": "operation",
256
+ "type": "raise-dispute"
257
+ },
258
+ "presentation": {
259
+ "reasonCode": "dispute-available",
260
+ "actionLabelKey": "topic.action.raise-dispute.label",
261
+ "bodyKey": "topic.action.raise-dispute.prompt",
262
+ "purposeKey": "topic.action.raise-dispute.purpose",
263
+ "unlocksKey": "topic.action.raise-dispute.unlocks",
264
+ "priority": 900
265
+ }
266
+ },
267
+ {
268
+ "code": "resolve-dispute",
269
+ "phase": "working",
270
+ "predecessor": {
271
+ "axis": "topic",
272
+ "state": "open"
273
+ },
274
+ "target": {
275
+ "axis": "topic",
276
+ "state": "open"
277
+ },
278
+ "command": "topic.resolve-dispute",
279
+ "requiredAbility": "topic/resolve-dispute",
280
+ "assignedTo": {
281
+ "kind": "role",
282
+ "value": "dispute-resolver"
283
+ },
284
+ "gates": [
285
+ {
286
+ "kind": "condition",
287
+ "states": [
288
+ "disputed"
289
+ ]
290
+ }
291
+ ],
292
+ "confirmation": "authority",
293
+ "consequence": "shared-state",
294
+ "evidence": {
295
+ "kind": "operation",
296
+ "type": "resolve-dispute"
297
+ },
298
+ "presentation": {
299
+ "reasonCode": "dispute-awaits-resolution",
300
+ "actionLabelKey": "topic.action.resolve-dispute.label",
301
+ "bodyKey": "topic.action.resolve-dispute.prompt",
302
+ "purposeKey": "topic.action.resolve-dispute.purpose",
303
+ "unlocksKey": "topic.action.resolve-dispute.unlocks",
304
+ "priority": 900
217
305
  }
218
306
  },
219
307
  {
@@ -247,7 +335,12 @@
247
335
  "type": "answer-question"
248
336
  },
249
337
  "presentation": {
250
- "reasonCode": "question-awaits-answer"
338
+ "reasonCode": "question-awaits-answer",
339
+ "actionLabelKey": "topic.action.answer-question.label",
340
+ "bodyKey": "topic.action.answer-question.prompt",
341
+ "purposeKey": "topic.action.answer-question.purpose",
342
+ "unlocksKey": "topic.action.answer-question.unlocks",
343
+ "priority": 900
251
344
  }
252
345
  },
253
346
  {
@@ -281,7 +374,12 @@
281
374
  "type": "change-due-date"
282
375
  },
283
376
  "presentation": {
284
- "reasonCode": "due-date-review"
377
+ "reasonCode": "due-date-review",
378
+ "actionLabelKey": "topic.action.change-due-date.label",
379
+ "bodyKey": "topic.action.change-due-date.prompt",
380
+ "purposeKey": "topic.action.change-due-date.purpose",
381
+ "unlocksKey": "topic.action.change-due-date.unlocks",
382
+ "priority": 900
285
383
  }
286
384
  },
287
385
  {
@@ -316,7 +414,12 @@
316
414
  "type": "unblock-topic"
317
415
  },
318
416
  "presentation": {
319
- "reasonCode": "topic-blocked"
417
+ "reasonCode": "topic-blocked",
418
+ "actionLabelKey": "topic.action.unblock-topic.label",
419
+ "bodyKey": "topic.action.unblock-topic.prompt",
420
+ "purposeKey": "topic.action.unblock-topic.purpose",
421
+ "unlocksKey": "topic.action.unblock-topic.unlocks",
422
+ "priority": 900
320
423
  }
321
424
  },
322
425
  {
@@ -345,7 +448,12 @@
345
448
  "finality": "accepted"
346
449
  },
347
450
  "presentation": {
348
- "reasonCode": "submit-work"
451
+ "reasonCode": "submit-work",
452
+ "actionLabelKey": "topic.action.submit-work.label",
453
+ "bodyKey": "topic.action.submit-work.prompt",
454
+ "purposeKey": "topic.action.submit-work.purpose",
455
+ "unlocksKey": "topic.action.submit-work.unlocks",
456
+ "priority": 900
349
457
  }
350
458
  },
351
459
  {
@@ -382,7 +490,12 @@
382
490
  },
383
491
  "completesTopic": true,
384
492
  "presentation": {
385
- "reasonCode": "complete-topic"
493
+ "reasonCode": "complete-topic",
494
+ "actionLabelKey": "topic.action.complete-topic.label",
495
+ "bodyKey": "topic.action.complete-topic.prompt",
496
+ "purposeKey": "topic.action.complete-topic.purpose",
497
+ "unlocksKey": "topic.action.complete-topic.unlocks",
498
+ "priority": 900
386
499
  }
387
500
  },
388
501
  {
@@ -423,7 +536,12 @@
423
536
  "binding": "evaluation"
424
537
  },
425
538
  "presentation": {
426
- "reasonCode": "verification-required"
539
+ "reasonCode": "verification-required",
540
+ "actionLabelKey": "topic.action.record-verification.label",
541
+ "bodyKey": "topic.action.record-verification.prompt",
542
+ "purposeKey": "topic.action.record-verification.purpose",
543
+ "unlocksKey": "topic.action.record-verification.unlocks",
544
+ "priority": 900
427
545
  }
428
546
  },
429
547
  {
@@ -460,7 +578,12 @@
460
578
  "finality": "accepted"
461
579
  },
462
580
  "presentation": {
463
- "reasonCode": "decision-required"
581
+ "reasonCode": "decision-required",
582
+ "actionLabelKey": "topic.action.record-decision.label",
583
+ "bodyKey": "topic.action.record-decision.prompt",
584
+ "purposeKey": "topic.action.record-decision.purpose",
585
+ "unlocksKey": "topic.action.record-decision.unlocks",
586
+ "priority": 900
464
587
  }
465
588
  },
466
589
  {
@@ -504,7 +627,12 @@
504
627
  "binding": "action"
505
628
  },
506
629
  "presentation": {
507
- "reasonCode": "action-request-required"
630
+ "reasonCode": "action-request-required",
631
+ "actionLabelKey": "topic.action.request-action.label",
632
+ "bodyKey": "topic.action.request-action.prompt",
633
+ "purposeKey": "topic.action.request-action.purpose",
634
+ "unlocksKey": "topic.action.request-action.unlocks",
635
+ "priority": 900
508
636
  }
509
637
  },
510
638
  {
@@ -537,7 +665,12 @@
537
665
  "binding": "action"
538
666
  },
539
667
  "presentation": {
540
- "reasonCode": "action-confirmation-required"
668
+ "reasonCode": "action-confirmation-required",
669
+ "actionLabelKey": "topic.action.confirm-action.label",
670
+ "bodyKey": "topic.action.confirm-action.prompt",
671
+ "purposeKey": "topic.action.confirm-action.purpose",
672
+ "unlocksKey": "topic.action.confirm-action.unlocks",
673
+ "priority": 900
541
674
  }
542
675
  },
543
676
  {
@@ -578,7 +711,12 @@
578
711
  "binding": "settlement"
579
712
  },
580
713
  "presentation": {
581
- "reasonCode": "settlement-required"
714
+ "reasonCode": "settlement-required",
715
+ "actionLabelKey": "topic.action.record-settlement.label",
716
+ "bodyKey": "topic.action.record-settlement.prompt",
717
+ "purposeKey": "topic.action.record-settlement.purpose",
718
+ "unlocksKey": "topic.action.record-settlement.unlocks",
719
+ "priority": 900
582
720
  }
583
721
  }
584
722
  ],
@@ -631,15 +769,15 @@
631
769
  }
632
770
  },
633
771
  {
634
- "code": "needs-acceptance",
635
- "condition": "needs-acceptance",
772
+ "code": "needs-confirmation",
773
+ "condition": "needs-confirmation",
636
774
  "priority": 350,
637
775
  "source": {
638
776
  "kind": "axis",
639
777
  "value": "contract"
640
778
  },
641
779
  "states": [
642
- "draft"
780
+ "proposed"
643
781
  ]
644
782
  }
645
783
  ],