@ixo/topic-protocol 0.8.0 → 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 (60) hide show
  1. package/README.md +6 -1
  2. package/dist/schemas/decision-to-pay-template-v2.schema.json +301 -0
  3. package/dist/schemas/payable-obligation-v2.schema.json +319 -0
  4. package/dist/schemas/payment-terms-v2.schema.json +238 -0
  5. package/dist/schemas/topic-contract-body.schema.json +57 -0
  6. package/dist/schemas/topic-contract-state.schema.json +22 -329
  7. package/dist/schemas/topic-operation.schema.json +2 -2
  8. package/dist/schemas/topic-recipe.schema.json +19 -0
  9. package/dist/schemas/topic-root.schema.json +21 -1
  10. package/dist/schemas/topic-shape.schema.json +80 -0
  11. package/dist/src/contracts/schemas.d.ts +4448 -2534
  12. package/dist/src/contracts/schemas.js +12 -0
  13. package/dist/src/contracts/schemas.js.map +1 -1
  14. package/dist/src/contracts/topic-contract.d.ts +44 -5
  15. package/dist/src/contracts/topic-contract.js +3 -1
  16. package/dist/src/contracts/topic-contract.js.map +1 -1
  17. package/dist/src/errors.d.ts +1 -1
  18. package/dist/src/errors.js.map +1 -1
  19. package/dist/src/index.d.ts +10 -2
  20. package/dist/src/index.js +9 -1
  21. package/dist/src/index.js.map +1 -1
  22. package/dist/src/projector/payload.d.ts +34 -0
  23. package/dist/src/projector/payload.js +93 -2
  24. package/dist/src/projector/payload.js.map +1 -1
  25. package/dist/src/projector/state.js +54 -0
  26. package/dist/src/projector/state.js.map +1 -1
  27. package/dist/src/projector/types.d.ts +52 -2
  28. package/dist/src/projector/types.js.map +1 -1
  29. package/dist/src/shapes/canonical.d.ts +2 -0
  30. package/dist/src/shapes/canonical.js +20 -0
  31. package/dist/src/shapes/canonical.js.map +1 -0
  32. package/dist/src/shapes/claims.d.ts +12 -0
  33. package/dist/src/shapes/claims.js +20 -0
  34. package/dist/src/shapes/claims.js.map +1 -0
  35. package/dist/src/shapes/now.d.ts +2 -0
  36. package/dist/src/shapes/now.js +61 -0
  37. package/dist/src/shapes/now.js.map +1 -0
  38. package/dist/src/shapes/progress.d.ts +3 -0
  39. package/dist/src/shapes/progress.js +490 -0
  40. package/dist/src/shapes/progress.js.map +1 -0
  41. package/dist/src/shapes/recipes.d.ts +5 -0
  42. package/dist/src/shapes/recipes.js +386 -0
  43. package/dist/src/shapes/recipes.js.map +1 -0
  44. package/dist/src/shapes/resolver.d.ts +14 -0
  45. package/dist/src/shapes/resolver.js +121 -0
  46. package/dist/src/shapes/resolver.js.map +1 -0
  47. package/dist/src/shapes/state.d.ts +105 -0
  48. package/dist/src/shapes/state.js +3 -0
  49. package/dist/src/shapes/state.js.map +1 -0
  50. package/dist/src/shapes/types.d.ts +392 -0
  51. package/dist/src/shapes/types.js +44 -0
  52. package/dist/src/shapes/types.js.map +1 -0
  53. package/package.json +3 -1
  54. package/recipes/README.md +12 -0
  55. package/recipes/agent-delivery.json +740 -0
  56. package/recipes/registry.json +41 -0
  57. package/recipes/research-brief.json +578 -0
  58. package/recipes/verified-work-payment.json +801 -0
  59. package/templates/decision-to-pay/README.md +27 -19
  60. package/templates/decision-to-pay/verified-work-payment.v0.2.template.json +319 -0
@@ -0,0 +1,740 @@
1
+ {
2
+ "version": 1,
3
+ "code": "agent-delivery",
4
+ "id": "https://topic-protocol.ixo.world/recipes/agent-delivery",
5
+ "recipeVersion": "1.0.0-rc.2",
6
+ "label": "Agent delivery",
7
+ "description": "Commission agent work, review its delivery, and explicitly confirm any external Action.",
8
+ "baseRecipe": "flow",
9
+ "creates": "draft",
10
+ "shape": {
11
+ "version": 1,
12
+ "code": "recipe/agent-delivery",
13
+ "axes": [
14
+ {
15
+ "code": "contract",
16
+ "phase": "forming",
17
+ "required": true,
18
+ "initialState": "proposed",
19
+ "states": [
20
+ {
21
+ "code": "proposed"
22
+ },
23
+ {
24
+ "code": "effective",
25
+ "terminal": true
26
+ }
27
+ ]
28
+ },
29
+ {
30
+ "code": "work",
31
+ "phase": "working",
32
+ "required": true,
33
+ "initialState": "pending",
34
+ "states": [
35
+ {
36
+ "code": "pending"
37
+ },
38
+ {
39
+ "code": "in-progress"
40
+ },
41
+ {
42
+ "code": "submitted",
43
+ "terminal": true
44
+ }
45
+ ]
46
+ },
47
+ {
48
+ "code": "verification",
49
+ "phase": "verifying",
50
+ "required": true,
51
+ "initialState": "pending",
52
+ "states": [
53
+ {
54
+ "code": "pending"
55
+ },
56
+ {
57
+ "code": "verified",
58
+ "terminal": true
59
+ }
60
+ ]
61
+ },
62
+ {
63
+ "code": "decision",
64
+ "phase": "deciding",
65
+ "required": true,
66
+ "initialState": "pending",
67
+ "states": [
68
+ {
69
+ "code": "pending"
70
+ },
71
+ {
72
+ "code": "approved",
73
+ "terminal": true
74
+ }
75
+ ]
76
+ },
77
+ {
78
+ "code": "effect",
79
+ "phase": "effecting",
80
+ "required": true,
81
+ "initialState": "pending",
82
+ "states": [
83
+ {
84
+ "code": "pending"
85
+ },
86
+ {
87
+ "code": "requested"
88
+ },
89
+ {
90
+ "code": "confirmed",
91
+ "terminal": true
92
+ }
93
+ ]
94
+ },
95
+ {
96
+ "code": "topic",
97
+ "phase": "complete",
98
+ "required": true,
99
+ "initialState": "open",
100
+ "states": [
101
+ {
102
+ "code": "open"
103
+ },
104
+ {
105
+ "code": "complete",
106
+ "terminal": true
107
+ }
108
+ ]
109
+ }
110
+ ],
111
+ "transitions": [
112
+ {
113
+ "code": "edit-setup",
114
+ "phase": "forming",
115
+ "predecessor": {
116
+ "axis": "contract",
117
+ "state": "proposed"
118
+ },
119
+ "target": {
120
+ "axis": "contract",
121
+ "state": "proposed"
122
+ },
123
+ "command": "topic.edit-setup",
124
+ "requiredAbility": "topic/write",
125
+ "assignedTo": {
126
+ "kind": "role",
127
+ "value": "setup-editor"
128
+ },
129
+ "gates": [],
130
+ "confirmation": "none",
131
+ "consequence": "shared-state",
132
+ "evidence": {
133
+ "kind": "operation",
134
+ "type": "update-contract"
135
+ },
136
+ "presentation": {
137
+ "reasonCode": "setup-needs-input",
138
+ "actionLabelKey": "topic.action.edit-setup.label",
139
+ "bodyKey": "topic.setup.edit.body",
140
+ "purposeKey": "topic.setup.edit.purpose",
141
+ "unlocksKey": "topic.setup.edit.unlocks",
142
+ "priority": 800
143
+ }
144
+ },
145
+ {
146
+ "code": "confirm-setup",
147
+ "phase": "forming",
148
+ "predecessor": {
149
+ "axis": "contract",
150
+ "state": "proposed"
151
+ },
152
+ "target": {
153
+ "axis": "contract",
154
+ "state": "effective"
155
+ },
156
+ "command": "topic.confirm-setup",
157
+ "requiredAbility": "topic/confirm-setup",
158
+ "assignedTo": {
159
+ "kind": "role",
160
+ "value": "setup-confirmer"
161
+ },
162
+ "gates": [],
163
+ "confirmation": "authority",
164
+ "consequence": "shared-state",
165
+ "evidence": {
166
+ "kind": "operation",
167
+ "type": "confirm-setup"
168
+ },
169
+ "presentation": {
170
+ "reasonCode": "setup-awaits-confirmation",
171
+ "actionLabelKey": "topic.action.confirm-setup.label",
172
+ "bodyKey": "topic.setup.confirm.body",
173
+ "purposeKey": "topic.setup.confirm.purpose",
174
+ "unlocksKey": "topic.setup.confirm.unlocks",
175
+ "priority": 700
176
+ }
177
+ },
178
+ {
179
+ "code": "start-work",
180
+ "phase": "working",
181
+ "predecessor": {
182
+ "axis": "work",
183
+ "state": "pending"
184
+ },
185
+ "target": {
186
+ "axis": "work",
187
+ "state": "in-progress"
188
+ },
189
+ "command": "topic.start-work",
190
+ "requiredAbility": "topic/write",
191
+ "assignedTo": {
192
+ "kind": "role",
193
+ "value": "worker"
194
+ },
195
+ "gates": [
196
+ {
197
+ "kind": "axis",
198
+ "axis": "contract",
199
+ "states": [
200
+ "effective"
201
+ ]
202
+ }
203
+ ],
204
+ "confirmation": "none",
205
+ "consequence": "shared-state",
206
+ "evidence": {
207
+ "kind": "operation",
208
+ "type": "change-progress"
209
+ },
210
+ "presentation": {
211
+ "reasonCode": "start-work",
212
+ "actionLabelKey": "topic.action.start-work.label",
213
+ "bodyKey": "topic.action.start-work.prompt",
214
+ "purposeKey": "topic.action.start-work.purpose",
215
+ "unlocksKey": "topic.action.start-work.unlocks",
216
+ "priority": 900
217
+ }
218
+ },
219
+ {
220
+ "code": "raise-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.raise-dispute",
231
+ "requiredAbility": "topic/raise-dispute",
232
+ "assignedTo": {
233
+ "kind": "role",
234
+ "value": "participant"
235
+ },
236
+ "gates": [],
237
+ "confirmation": "none",
238
+ "consequence": "shared-state",
239
+ "evidence": {
240
+ "kind": "operation",
241
+ "type": "raise-dispute"
242
+ },
243
+ "presentation": {
244
+ "reasonCode": "dispute-available",
245
+ "actionLabelKey": "topic.action.raise-dispute.label",
246
+ "bodyKey": "topic.action.raise-dispute.prompt",
247
+ "purposeKey": "topic.action.raise-dispute.purpose",
248
+ "unlocksKey": "topic.action.raise-dispute.unlocks",
249
+ "priority": 900
250
+ }
251
+ },
252
+ {
253
+ "code": "resolve-dispute",
254
+ "phase": "working",
255
+ "predecessor": {
256
+ "axis": "topic",
257
+ "state": "open"
258
+ },
259
+ "target": {
260
+ "axis": "topic",
261
+ "state": "open"
262
+ },
263
+ "command": "topic.resolve-dispute",
264
+ "requiredAbility": "topic/resolve-dispute",
265
+ "assignedTo": {
266
+ "kind": "role",
267
+ "value": "dispute-resolver"
268
+ },
269
+ "gates": [
270
+ {
271
+ "kind": "condition",
272
+ "states": [
273
+ "disputed"
274
+ ]
275
+ }
276
+ ],
277
+ "confirmation": "authority",
278
+ "consequence": "shared-state",
279
+ "evidence": {
280
+ "kind": "operation",
281
+ "type": "resolve-dispute"
282
+ },
283
+ "presentation": {
284
+ "reasonCode": "dispute-awaits-resolution",
285
+ "actionLabelKey": "topic.action.resolve-dispute.label",
286
+ "bodyKey": "topic.action.resolve-dispute.prompt",
287
+ "purposeKey": "topic.action.resolve-dispute.purpose",
288
+ "unlocksKey": "topic.action.resolve-dispute.unlocks",
289
+ "priority": 900
290
+ }
291
+ },
292
+ {
293
+ "code": "answer-question",
294
+ "phase": "working",
295
+ "predecessor": {
296
+ "axis": "work",
297
+ "state": "in-progress"
298
+ },
299
+ "target": {
300
+ "axis": "work",
301
+ "state": "in-progress"
302
+ },
303
+ "command": "topic.answer-question",
304
+ "requiredAbility": "topic/write",
305
+ "assignedTo": {
306
+ "kind": "role",
307
+ "value": "worker"
308
+ },
309
+ "gates": [
310
+ {
311
+ "kind": "field",
312
+ "path": "/questions/open",
313
+ "predicate": "present"
314
+ }
315
+ ],
316
+ "confirmation": "none",
317
+ "consequence": "shared-state",
318
+ "evidence": {
319
+ "kind": "operation",
320
+ "type": "answer-question"
321
+ },
322
+ "presentation": {
323
+ "reasonCode": "question-awaits-answer",
324
+ "actionLabelKey": "topic.action.answer-question.label",
325
+ "bodyKey": "topic.action.answer-question.prompt",
326
+ "purposeKey": "topic.action.answer-question.purpose",
327
+ "unlocksKey": "topic.action.answer-question.unlocks",
328
+ "priority": 900
329
+ }
330
+ },
331
+ {
332
+ "code": "change-due-date",
333
+ "phase": "working",
334
+ "predecessor": {
335
+ "axis": "work",
336
+ "state": "in-progress"
337
+ },
338
+ "target": {
339
+ "axis": "work",
340
+ "state": "in-progress"
341
+ },
342
+ "command": "topic.change-due-date",
343
+ "requiredAbility": "topic/write",
344
+ "assignedTo": {
345
+ "kind": "role",
346
+ "value": "worker"
347
+ },
348
+ "gates": [
349
+ {
350
+ "kind": "field",
351
+ "path": "/outcome/target/value",
352
+ "predicate": "present"
353
+ }
354
+ ],
355
+ "confirmation": "none",
356
+ "consequence": "shared-state",
357
+ "evidence": {
358
+ "kind": "operation",
359
+ "type": "change-due-date"
360
+ },
361
+ "presentation": {
362
+ "reasonCode": "due-date-review",
363
+ "actionLabelKey": "topic.action.change-due-date.label",
364
+ "bodyKey": "topic.action.change-due-date.prompt",
365
+ "purposeKey": "topic.action.change-due-date.purpose",
366
+ "unlocksKey": "topic.action.change-due-date.unlocks",
367
+ "priority": 900
368
+ }
369
+ },
370
+ {
371
+ "code": "unblock-topic",
372
+ "phase": "working",
373
+ "predecessor": {
374
+ "axis": "topic",
375
+ "state": "open"
376
+ },
377
+ "target": {
378
+ "axis": "topic",
379
+ "state": "open"
380
+ },
381
+ "command": "topic.unblock",
382
+ "requiredAbility": "topic/unblock",
383
+ "assignedTo": {
384
+ "kind": "role",
385
+ "value": "block-resolver"
386
+ },
387
+ "gates": [
388
+ {
389
+ "kind": "condition",
390
+ "states": [
391
+ "blocked"
392
+ ]
393
+ }
394
+ ],
395
+ "confirmation": "none",
396
+ "consequence": "shared-state",
397
+ "evidence": {
398
+ "kind": "operation",
399
+ "type": "unblock-topic"
400
+ },
401
+ "presentation": {
402
+ "reasonCode": "topic-blocked",
403
+ "actionLabelKey": "topic.action.unblock-topic.label",
404
+ "bodyKey": "topic.action.unblock-topic.prompt",
405
+ "purposeKey": "topic.action.unblock-topic.purpose",
406
+ "unlocksKey": "topic.action.unblock-topic.unlocks",
407
+ "priority": 900
408
+ }
409
+ },
410
+ {
411
+ "code": "submit-work",
412
+ "phase": "working",
413
+ "predecessor": {
414
+ "axis": "work",
415
+ "state": "in-progress"
416
+ },
417
+ "target": {
418
+ "axis": "work",
419
+ "state": "submitted"
420
+ },
421
+ "command": "topic.record-outcome",
422
+ "requiredAbility": "topic/record-outcome",
423
+ "assignedTo": {
424
+ "kind": "role",
425
+ "value": "worker"
426
+ },
427
+ "gates": [],
428
+ "confirmation": "none",
429
+ "consequence": "shared-state",
430
+ "evidence": {
431
+ "kind": "record",
432
+ "type": "ixo.topic.work-submission",
433
+ "finality": "accepted"
434
+ },
435
+ "presentation": {
436
+ "reasonCode": "submit-work",
437
+ "actionLabelKey": "topic.action.submit-work.label",
438
+ "bodyKey": "topic.action.submit-work.prompt",
439
+ "purposeKey": "topic.action.submit-work.purpose",
440
+ "unlocksKey": "topic.action.submit-work.unlocks",
441
+ "priority": 900
442
+ }
443
+ },
444
+ {
445
+ "code": "complete-topic",
446
+ "phase": "complete",
447
+ "predecessor": {
448
+ "axis": "topic",
449
+ "state": "open"
450
+ },
451
+ "target": {
452
+ "axis": "topic",
453
+ "state": "complete"
454
+ },
455
+ "command": "topic.complete",
456
+ "requiredAbility": "topic/confirm-completion",
457
+ "assignedTo": {
458
+ "kind": "role",
459
+ "value": "completion-authority"
460
+ },
461
+ "gates": [
462
+ {
463
+ "kind": "axis",
464
+ "axis": "work",
465
+ "states": [
466
+ "submitted"
467
+ ]
468
+ }
469
+ ],
470
+ "confirmation": "authority",
471
+ "consequence": "shared-state",
472
+ "evidence": {
473
+ "kind": "operation",
474
+ "type": "complete-topic"
475
+ },
476
+ "completesTopic": true,
477
+ "presentation": {
478
+ "reasonCode": "complete-topic",
479
+ "actionLabelKey": "topic.action.complete-topic.label",
480
+ "bodyKey": "topic.action.complete-topic.prompt",
481
+ "purposeKey": "topic.action.complete-topic.purpose",
482
+ "unlocksKey": "topic.action.complete-topic.unlocks",
483
+ "priority": 900
484
+ }
485
+ },
486
+ {
487
+ "code": "record-verification",
488
+ "phase": "verifying",
489
+ "predecessor": {
490
+ "axis": "verification",
491
+ "state": "pending"
492
+ },
493
+ "target": {
494
+ "axis": "verification",
495
+ "state": "verified"
496
+ },
497
+ "command": "topic.record-verification",
498
+ "requiredAbility": "claim/evaluate",
499
+ "assignedTo": {
500
+ "kind": "role",
501
+ "value": "evaluator"
502
+ },
503
+ "gates": [
504
+ {
505
+ "kind": "axis",
506
+ "axis": "work",
507
+ "states": [
508
+ "submitted"
509
+ ]
510
+ }
511
+ ],
512
+ "confirmation": "none",
513
+ "consequence": "shared-state",
514
+ "evidence": {
515
+ "kind": "record",
516
+ "type": "ixo.evaluation",
517
+ "finality": "accepted"
518
+ },
519
+ "handoff": {
520
+ "kind": "flow",
521
+ "binding": "evaluation"
522
+ },
523
+ "presentation": {
524
+ "reasonCode": "verification-required",
525
+ "actionLabelKey": "topic.action.record-verification.label",
526
+ "bodyKey": "topic.action.record-verification.prompt",
527
+ "purposeKey": "topic.action.record-verification.purpose",
528
+ "unlocksKey": "topic.action.record-verification.unlocks",
529
+ "priority": 900
530
+ }
531
+ },
532
+ {
533
+ "code": "record-decision",
534
+ "phase": "deciding",
535
+ "predecessor": {
536
+ "axis": "decision",
537
+ "state": "pending"
538
+ },
539
+ "target": {
540
+ "axis": "decision",
541
+ "state": "approved"
542
+ },
543
+ "command": "topic.record-decision",
544
+ "requiredAbility": "claim/decide",
545
+ "assignedTo": {
546
+ "kind": "role",
547
+ "value": "decision-authority"
548
+ },
549
+ "gates": [
550
+ {
551
+ "kind": "axis",
552
+ "axis": "verification",
553
+ "states": [
554
+ "verified"
555
+ ]
556
+ }
557
+ ],
558
+ "confirmation": "authority",
559
+ "consequence": "shared-state",
560
+ "evidence": {
561
+ "kind": "record",
562
+ "type": "ixo.decision",
563
+ "finality": "accepted"
564
+ },
565
+ "presentation": {
566
+ "reasonCode": "decision-required",
567
+ "actionLabelKey": "topic.action.record-decision.label",
568
+ "bodyKey": "topic.action.record-decision.prompt",
569
+ "purposeKey": "topic.action.record-decision.purpose",
570
+ "unlocksKey": "topic.action.record-decision.unlocks",
571
+ "priority": 900
572
+ }
573
+ },
574
+ {
575
+ "code": "request-action",
576
+ "phase": "effecting",
577
+ "predecessor": {
578
+ "axis": "effect",
579
+ "state": "pending"
580
+ },
581
+ "target": {
582
+ "axis": "effect",
583
+ "state": "requested"
584
+ },
585
+ "command": "topic.request-action",
586
+ "requiredAbility": "topic/request-action",
587
+ "assignedTo": {
588
+ "kind": "role",
589
+ "value": "action-requester"
590
+ },
591
+ "gates": [
592
+ {
593
+ "kind": "axis",
594
+ "axis": "decision",
595
+ "states": [
596
+ "approved"
597
+ ]
598
+ },
599
+ {
600
+ "kind": "binding",
601
+ "type": "flow"
602
+ }
603
+ ],
604
+ "confirmation": "viewer",
605
+ "consequence": "external-effect",
606
+ "evidence": {
607
+ "kind": "operation",
608
+ "type": "request-action"
609
+ },
610
+ "handoff": {
611
+ "kind": "flow",
612
+ "binding": "action"
613
+ },
614
+ "presentation": {
615
+ "reasonCode": "action-request-required",
616
+ "actionLabelKey": "topic.action.request-action.label",
617
+ "bodyKey": "topic.action.request-action.prompt",
618
+ "purposeKey": "topic.action.request-action.purpose",
619
+ "unlocksKey": "topic.action.request-action.unlocks",
620
+ "priority": 900
621
+ }
622
+ },
623
+ {
624
+ "code": "confirm-action",
625
+ "phase": "effecting",
626
+ "predecessor": {
627
+ "axis": "effect",
628
+ "state": "requested"
629
+ },
630
+ "target": {
631
+ "axis": "effect",
632
+ "state": "confirmed"
633
+ },
634
+ "command": "topic.confirm-action",
635
+ "requiredAbility": "topic/record-action",
636
+ "assignedTo": {
637
+ "kind": "role",
638
+ "value": "action-confirmer"
639
+ },
640
+ "gates": [],
641
+ "confirmation": "authority",
642
+ "consequence": "external-effect",
643
+ "evidence": {
644
+ "kind": "receipt",
645
+ "type": "ixo.action-receipt",
646
+ "finality": "final"
647
+ },
648
+ "handoff": {
649
+ "kind": "flow",
650
+ "binding": "action"
651
+ },
652
+ "presentation": {
653
+ "reasonCode": "action-confirmation-required",
654
+ "actionLabelKey": "topic.action.confirm-action.label",
655
+ "bodyKey": "topic.action.confirm-action.prompt",
656
+ "purposeKey": "topic.action.confirm-action.purpose",
657
+ "unlocksKey": "topic.action.confirm-action.unlocks",
658
+ "priority": 900
659
+ }
660
+ }
661
+ ],
662
+ "progressRules": [
663
+ {
664
+ "code": "disputed",
665
+ "condition": "disputed",
666
+ "priority": 700,
667
+ "source": {
668
+ "kind": "record",
669
+ "value": "ixo.topic.dispute"
670
+ }
671
+ },
672
+ {
673
+ "code": "failed",
674
+ "condition": "failed",
675
+ "priority": 650,
676
+ "source": {
677
+ "kind": "receipt",
678
+ "value": "failed"
679
+ }
680
+ },
681
+ {
682
+ "code": "blocked",
683
+ "condition": "blocked",
684
+ "priority": 600,
685
+ "source": {
686
+ "kind": "topic",
687
+ "value": "blocked"
688
+ },
689
+ "requiresTarget": true
690
+ },
691
+ {
692
+ "code": "waiting",
693
+ "condition": "waiting",
694
+ "priority": 500,
695
+ "source": {
696
+ "kind": "topic",
697
+ "value": "waiting"
698
+ },
699
+ "requiresTarget": true
700
+ },
701
+ {
702
+ "code": "needs-input",
703
+ "condition": "needs-input",
704
+ "priority": 400,
705
+ "source": {
706
+ "kind": "record",
707
+ "value": "ixo.topic.question"
708
+ }
709
+ },
710
+ {
711
+ "code": "needs-confirmation",
712
+ "condition": "needs-confirmation",
713
+ "priority": 350,
714
+ "source": {
715
+ "kind": "axis",
716
+ "value": "contract"
717
+ },
718
+ "states": [
719
+ "proposed"
720
+ ]
721
+ }
722
+ ],
723
+ "inferredRecordPolicy": {
724
+ "autoAccept": [
725
+ "ixo.topic.fact",
726
+ "ixo.topic.summary",
727
+ "ixo.topic.classification"
728
+ ],
729
+ "neverAutoAccept": [
730
+ "ixo.topic.contract",
731
+ "ixo.topic.outcome",
732
+ "ixo.topic.authority",
733
+ "ixo.topic.action",
734
+ "ixo.claim",
735
+ "ixo.evaluation",
736
+ "ixo.settlement"
737
+ ]
738
+ }
739
+ }
740
+ }