@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.
- package/README.md +1 -1
- package/dist/schemas/topic-contract-body.schema.json +12 -21
- package/dist/schemas/topic-contract-state.schema.json +18 -93
- package/dist/schemas/topic-operation.schema.json +2 -2
- package/dist/schemas/topic-root.schema.json +5 -1
- package/dist/schemas/topic-shape.schema.json +5 -4
- package/dist/src/contracts/schemas.d.ts +394 -75
- package/dist/src/contracts/topic-contract.d.ts +15 -1
- package/dist/src/contracts/topic-contract.js.map +1 -1
- package/dist/src/index.d.ts +4 -4
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/projector/payload.d.ts +34 -0
- package/dist/src/projector/payload.js +93 -2
- package/dist/src/projector/payload.js.map +1 -1
- package/dist/src/projector/state.js +54 -0
- package/dist/src/projector/state.js.map +1 -1
- package/dist/src/projector/types.d.ts +44 -2
- package/dist/src/projector/types.js.map +1 -1
- package/dist/src/shapes/now.d.ts +2 -2
- package/dist/src/shapes/now.js +38 -19
- package/dist/src/shapes/now.js.map +1 -1
- package/dist/src/shapes/progress.d.ts +3 -3
- package/dist/src/shapes/progress.js +391 -77
- package/dist/src/shapes/progress.js.map +1 -1
- package/dist/src/shapes/recipes.js +102 -53
- package/dist/src/shapes/recipes.js.map +1 -1
- package/dist/src/shapes/resolver.js +13 -3
- package/dist/src/shapes/resolver.js.map +1 -1
- package/dist/src/shapes/state.d.ts +72 -20
- package/dist/src/shapes/state.js +1 -0
- package/dist/src/shapes/state.js.map +1 -1
- package/dist/src/shapes/types.d.ts +155 -4
- package/dist/src/shapes/types.js +3 -1
- package/dist/src/shapes/types.js.map +1 -1
- package/package.json +1 -1
- package/recipes/agent-delivery.json +166 -33
- package/recipes/registry.json +6 -6
- package/recipes/research-brief.json +148 -30
- package/recipes/verified-work-payment.json +172 -34
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const SHAPE_PHASES: readonly ["forming", "working", "verifying", "deciding", "effecting", "settling", "complete", "dormant"];
|
|
2
|
-
export declare const SHAPE_CONDITIONS: readonly ["on-track", "needs-input", "needs-
|
|
2
|
+
export declare const SHAPE_CONDITIONS: readonly ["on-track", "needs-input", "needs-confirmation", "review-due", "expired", "waiting", "blocked", "failed", "disputed", "degraded"];
|
|
3
3
|
export declare const SHAPE_ATTENTION_STATES: readonly ["none", "viewer-action-required", "viewer-review-required", "viewer-confirmation-required"];
|
|
4
4
|
export declare const BASE_RECIPE_CODES: readonly ["project", "flow", "proposal", "evaluation", "claims", "research", "discussion", "incident"];
|
|
5
5
|
export declare const TOPIC_RECIPE_CODES: readonly ["research-brief", "agent-delivery", "verified-work-payment"];
|
|
@@ -15,7 +15,56 @@ export type ShapeEvidenceRequirementV1 = {
|
|
|
15
15
|
readonly type: string;
|
|
16
16
|
readonly finality?: "observed" | "accepted" | "verified" | "final";
|
|
17
17
|
};
|
|
18
|
-
export type
|
|
18
|
+
export type TopicSubjectRefV1 = {
|
|
19
|
+
readonly kind: "actor";
|
|
20
|
+
readonly id: string;
|
|
21
|
+
} | {
|
|
22
|
+
readonly kind: "role";
|
|
23
|
+
readonly id: string;
|
|
24
|
+
};
|
|
25
|
+
export interface TopicConfirmationPolicyV1 {
|
|
26
|
+
readonly mode: "any" | "all" | "threshold";
|
|
27
|
+
readonly subjects: readonly TopicSubjectRefV1[];
|
|
28
|
+
readonly threshold?: number;
|
|
29
|
+
}
|
|
30
|
+
export interface TopicAssentPolicyV1 {
|
|
31
|
+
readonly mode: "any" | "all" | "threshold";
|
|
32
|
+
readonly signatories: readonly TopicSubjectRefV1[];
|
|
33
|
+
readonly threshold?: number;
|
|
34
|
+
}
|
|
35
|
+
export interface TopicDisputePolicyV1 {
|
|
36
|
+
readonly resolvers?: readonly TopicSubjectRefV1[];
|
|
37
|
+
readonly process?: {
|
|
38
|
+
readonly kind: "flow" | "resource";
|
|
39
|
+
readonly id: string;
|
|
40
|
+
readonly label?: string;
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
export interface TopicActivationPolicyV1 {
|
|
44
|
+
/** Drafts may leave any activation detail unresolved; effectiveness may not. */
|
|
45
|
+
readonly editors?: readonly TopicSubjectRefV1[];
|
|
46
|
+
readonly confirmation?: TopicConfirmationPolicyV1;
|
|
47
|
+
readonly lifecycle?: {
|
|
48
|
+
readonly effectiveAt?: string;
|
|
49
|
+
readonly reviewAt?: string;
|
|
50
|
+
readonly expiresAt?: string;
|
|
51
|
+
readonly onExpiry: "pause-consequential";
|
|
52
|
+
};
|
|
53
|
+
readonly dispute?: TopicDisputePolicyV1;
|
|
54
|
+
}
|
|
55
|
+
export interface ShapeRequirementPresentationV1 {
|
|
56
|
+
readonly code: string;
|
|
57
|
+
readonly labelKey: string;
|
|
58
|
+
readonly promptKey: string;
|
|
59
|
+
readonly purposeKey: string;
|
|
60
|
+
readonly priority: number;
|
|
61
|
+
readonly focusPath?: string;
|
|
62
|
+
readonly assignedTo?: {
|
|
63
|
+
readonly kind: "actor" | "role";
|
|
64
|
+
readonly value: string;
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
export type ShapeGateV1 = ({
|
|
19
68
|
readonly kind: "field";
|
|
20
69
|
readonly path: string;
|
|
21
70
|
readonly predicate: "present" | "accepted";
|
|
@@ -41,6 +90,8 @@ export type ShapeGateV1 = {
|
|
|
41
90
|
} | {
|
|
42
91
|
readonly kind: "condition";
|
|
43
92
|
readonly states: readonly ("waiting" | "blocked" | "failed" | "disputed")[];
|
|
93
|
+
}) & {
|
|
94
|
+
readonly requirement?: ShapeRequirementPresentationV1;
|
|
44
95
|
};
|
|
45
96
|
export interface ShapeStateDefinitionV1 {
|
|
46
97
|
readonly code: string;
|
|
@@ -84,6 +135,11 @@ export interface ShapeTransitionV1 {
|
|
|
84
135
|
readonly presentation?: {
|
|
85
136
|
readonly reasonCode: string;
|
|
86
137
|
readonly actionLabelKey?: string;
|
|
138
|
+
readonly bodyKey?: string;
|
|
139
|
+
readonly purposeKey?: string;
|
|
140
|
+
readonly unlocksKey?: string;
|
|
141
|
+
readonly priority?: number;
|
|
142
|
+
readonly focusPath?: string;
|
|
87
143
|
};
|
|
88
144
|
}
|
|
89
145
|
export interface ShapeProgressRuleV1 {
|
|
@@ -159,6 +215,29 @@ export interface TopicProgressSourceV1 {
|
|
|
159
215
|
readonly status?: string;
|
|
160
216
|
readonly finality?: "observed" | "accepted" | "verified" | "final";
|
|
161
217
|
}
|
|
218
|
+
export interface TopicProgressSourceV2 extends TopicProgressSourceV1 {
|
|
219
|
+
readonly actor?: string;
|
|
220
|
+
readonly contractRevision?: string;
|
|
221
|
+
readonly bodyHash?: `sha256:${string}`;
|
|
222
|
+
readonly policyDigest?: `sha256:${string}`;
|
|
223
|
+
readonly authorityProofRef?: string;
|
|
224
|
+
}
|
|
225
|
+
export interface TopicEvaluationTimeV1 {
|
|
226
|
+
readonly at: string;
|
|
227
|
+
readonly source: "matrix" | "server" | "system" | "client";
|
|
228
|
+
readonly trusted: boolean;
|
|
229
|
+
readonly freshUntil?: string;
|
|
230
|
+
}
|
|
231
|
+
export interface TopicDisputeV1 {
|
|
232
|
+
readonly id: string;
|
|
233
|
+
readonly status: "open" | "resolved";
|
|
234
|
+
readonly reasonCode: string;
|
|
235
|
+
readonly raisedBy: string;
|
|
236
|
+
readonly affectedRevision: string;
|
|
237
|
+
readonly resolver: TopicSubjectRefV1;
|
|
238
|
+
readonly process?: TopicDisputePolicyV1["process"];
|
|
239
|
+
readonly resolutionRef?: string;
|
|
240
|
+
}
|
|
162
241
|
export interface TopicProgressBlockV1 {
|
|
163
242
|
readonly condition: "waiting" | "blocked" | "failed" | "disputed";
|
|
164
243
|
readonly sourceId: string;
|
|
@@ -198,13 +277,52 @@ export interface TopicStateTagV1 {
|
|
|
198
277
|
export interface TopicTransitionCandidateV1 {
|
|
199
278
|
readonly transition: ShapeTransitionV1;
|
|
200
279
|
readonly assignedActor?: string;
|
|
280
|
+
readonly assignedActors?: readonly string[];
|
|
201
281
|
readonly gateStatus: readonly {
|
|
202
282
|
readonly gate: ShapeGateV1;
|
|
203
283
|
readonly satisfied: boolean;
|
|
204
284
|
}[];
|
|
205
285
|
}
|
|
206
|
-
export
|
|
207
|
-
|
|
286
|
+
export type TopicObligationKindV1 = "safety" | "input" | "confirmation" | "assent" | "transition" | "wait" | "review" | "expiry" | "dispute";
|
|
287
|
+
export type TopicObligationStatusV1 = "open" | "ready" | "waiting" | "blocked" | "unavailable";
|
|
288
|
+
export interface TopicObligationV1 {
|
|
289
|
+
readonly id: string;
|
|
290
|
+
readonly code: string;
|
|
291
|
+
readonly kind: TopicObligationKindV1;
|
|
292
|
+
readonly phase: ShapePhaseV1;
|
|
293
|
+
readonly status: TopicObligationStatusV1;
|
|
294
|
+
readonly priority: number;
|
|
295
|
+
readonly blocking: boolean;
|
|
296
|
+
readonly responsibility?: {
|
|
297
|
+
readonly kind: "actor" | "role";
|
|
298
|
+
readonly value: string;
|
|
299
|
+
};
|
|
300
|
+
readonly assignedActors: readonly string[];
|
|
301
|
+
readonly requiredAbility?: string;
|
|
302
|
+
readonly consequence: ShapeConsequenceClassV1;
|
|
303
|
+
readonly focusPath?: string;
|
|
304
|
+
readonly transitionCode?: string;
|
|
305
|
+
readonly command?: string;
|
|
306
|
+
readonly handoff?: ShapeTransitionV1["handoff"];
|
|
307
|
+
readonly presentation: {
|
|
308
|
+
readonly labelKey: string;
|
|
309
|
+
readonly promptKey: string;
|
|
310
|
+
readonly purposeKey: string;
|
|
311
|
+
readonly unlocksKey?: string;
|
|
312
|
+
};
|
|
313
|
+
readonly provenance: readonly string[];
|
|
314
|
+
}
|
|
315
|
+
export type TopicProgressInputV2 = Omit<TopicProgressInputV1, "sources" | "shape"> & {
|
|
316
|
+
readonly shape?: EffectiveTopicShapeV1;
|
|
317
|
+
readonly sources: readonly TopicProgressSourceV2[];
|
|
318
|
+
readonly contractBodyHash: `sha256:${string}`;
|
|
319
|
+
readonly policyDigest: `sha256:${string}`;
|
|
320
|
+
readonly activationPolicy?: TopicActivationPolicyV1;
|
|
321
|
+
readonly assentPolicy?: TopicAssentPolicyV1;
|
|
322
|
+
readonly evaluationTime?: TopicEvaluationTimeV1;
|
|
323
|
+
readonly dispute?: TopicDisputeV1;
|
|
324
|
+
};
|
|
325
|
+
interface TopicProgressProjectionCommonV1 {
|
|
208
326
|
readonly topicId: string;
|
|
209
327
|
readonly topicRevision: string;
|
|
210
328
|
readonly contractRevision: string;
|
|
@@ -218,6 +336,16 @@ export interface TopicProgressProjectionV1 {
|
|
|
218
336
|
readonly provenance: readonly string[];
|
|
219
337
|
readonly block?: TopicProgressBlockV1;
|
|
220
338
|
}
|
|
339
|
+
export interface TopicProgressProjectionV1 extends TopicProgressProjectionCommonV1 {
|
|
340
|
+
readonly version: 1;
|
|
341
|
+
}
|
|
342
|
+
export interface TopicProgressProjectionV2 extends TopicProgressProjectionCommonV1 {
|
|
343
|
+
readonly version: 2;
|
|
344
|
+
readonly obligations: readonly TopicObligationV1[];
|
|
345
|
+
readonly primaryObligationId?: string;
|
|
346
|
+
readonly evaluatedAt?: TopicEvaluationTimeV1;
|
|
347
|
+
readonly dispute?: TopicDisputeV1;
|
|
348
|
+
}
|
|
221
349
|
export interface TopicViewerAuthorityV1 {
|
|
222
350
|
readonly viewerId: string;
|
|
223
351
|
readonly matrixWrite: boolean;
|
|
@@ -239,3 +367,26 @@ export interface TopicNowProjectionV1 {
|
|
|
239
367
|
};
|
|
240
368
|
readonly blockedOn?: TopicProgressBlockV1["target"];
|
|
241
369
|
}
|
|
370
|
+
export type TopicObligationActionabilityV1 = "mine" | "theirs" | "unassigned" | "unauthorized" | "unavailable";
|
|
371
|
+
export interface TopicNowObligationV1 extends TopicObligationV1 {
|
|
372
|
+
readonly actionability: TopicObligationActionabilityV1;
|
|
373
|
+
}
|
|
374
|
+
export interface TopicNowProjectionV2 {
|
|
375
|
+
readonly version: 2;
|
|
376
|
+
readonly phase: ShapePhaseV1;
|
|
377
|
+
readonly condition: ShapeConditionV1;
|
|
378
|
+
readonly attention: ShapeAttentionV1;
|
|
379
|
+
readonly reasonCode: string;
|
|
380
|
+
readonly stateTags: readonly TopicStateTagV1[];
|
|
381
|
+
readonly transitions: readonly ShapeTransitionV1[];
|
|
382
|
+
readonly obligations: readonly TopicNowObligationV1[];
|
|
383
|
+
readonly primaryObligation?: TopicNowObligationV1;
|
|
384
|
+
readonly remainingCount: number;
|
|
385
|
+
readonly cacheKey: {
|
|
386
|
+
readonly topicRevision: string;
|
|
387
|
+
readonly contractRevision: string;
|
|
388
|
+
readonly shapeDigest: `sha256:${string}`;
|
|
389
|
+
};
|
|
390
|
+
readonly blockedOn?: TopicProgressBlockV1["target"];
|
|
391
|
+
}
|
|
392
|
+
export {};
|
package/dist/src/shapes/types.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/shapes/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,SAAS;IACT,SAAS;IACT,WAAW;IACX,UAAU;IACV,WAAW;IACX,UAAU;IACV,UAAU;IACV,SAAS;CACD,CAAC;AAEX,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,UAAU;IACV,aAAa;IACb,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/shapes/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,SAAS;IACT,SAAS;IACT,WAAW;IACX,UAAU;IACV,WAAW;IACX,UAAU;IACV,UAAU;IACV,SAAS;CACD,CAAC;AAEX,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,UAAU;IACV,aAAa;IACb,oBAAoB;IACpB,YAAY;IACZ,SAAS;IACT,SAAS;IACT,SAAS;IACT,QAAQ;IACR,UAAU;IACV,UAAU;CACF,CAAC;AAEX,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,MAAM;IACN,wBAAwB;IACxB,wBAAwB;IACxB,8BAA8B;CACtB,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,SAAS;IACT,MAAM;IACN,UAAU;IACV,YAAY;IACZ,QAAQ;IACR,UAAU;IACV,YAAY;IACZ,UAAU;CACF,CAAC;AAEX,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,gBAAgB;IAChB,gBAAgB;IAChB,uBAAuB;CACf,CAAC"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"version": 1,
|
|
3
3
|
"code": "agent-delivery",
|
|
4
4
|
"id": "https://topic-protocol.ixo.world/recipes/agent-delivery",
|
|
5
|
-
"recipeVersion": "1.0.0-rc.
|
|
5
|
+
"recipeVersion": "1.0.0-rc.2",
|
|
6
6
|
"label": "Agent delivery",
|
|
7
7
|
"description": "Commission agent work, review its delivery, and explicitly confirm any external Action.",
|
|
8
8
|
"baseRecipe": "flow",
|
|
@@ -15,13 +15,13 @@
|
|
|
15
15
|
"code": "contract",
|
|
16
16
|
"phase": "forming",
|
|
17
17
|
"required": true,
|
|
18
|
-
"initialState": "
|
|
18
|
+
"initialState": "proposed",
|
|
19
19
|
"states": [
|
|
20
20
|
{
|
|
21
|
-
"code": "
|
|
21
|
+
"code": "proposed"
|
|
22
22
|
},
|
|
23
23
|
{
|
|
24
|
-
"code": "
|
|
24
|
+
"code": "effective",
|
|
25
25
|
"terminal": true
|
|
26
26
|
}
|
|
27
27
|
]
|
|
@@ -110,21 +110,21 @@
|
|
|
110
110
|
],
|
|
111
111
|
"transitions": [
|
|
112
112
|
{
|
|
113
|
-
"code": "edit-
|
|
113
|
+
"code": "edit-setup",
|
|
114
114
|
"phase": "forming",
|
|
115
115
|
"predecessor": {
|
|
116
116
|
"axis": "contract",
|
|
117
|
-
"state": "
|
|
117
|
+
"state": "proposed"
|
|
118
118
|
},
|
|
119
119
|
"target": {
|
|
120
120
|
"axis": "contract",
|
|
121
|
-
"state": "
|
|
121
|
+
"state": "proposed"
|
|
122
122
|
},
|
|
123
|
-
"command": "topic.edit-
|
|
123
|
+
"command": "topic.edit-setup",
|
|
124
124
|
"requiredAbility": "topic/write",
|
|
125
125
|
"assignedTo": {
|
|
126
126
|
"kind": "role",
|
|
127
|
-
"value": "
|
|
127
|
+
"value": "setup-editor"
|
|
128
128
|
},
|
|
129
129
|
"gates": [],
|
|
130
130
|
"confirmation": "none",
|
|
@@ -134,35 +134,45 @@
|
|
|
134
134
|
"type": "update-contract"
|
|
135
135
|
},
|
|
136
136
|
"presentation": {
|
|
137
|
-
"reasonCode": "
|
|
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
|
|
138
143
|
}
|
|
139
144
|
},
|
|
140
145
|
{
|
|
141
|
-
"code": "
|
|
146
|
+
"code": "confirm-setup",
|
|
142
147
|
"phase": "forming",
|
|
143
148
|
"predecessor": {
|
|
144
149
|
"axis": "contract",
|
|
145
|
-
"state": "
|
|
150
|
+
"state": "proposed"
|
|
146
151
|
},
|
|
147
152
|
"target": {
|
|
148
153
|
"axis": "contract",
|
|
149
|
-
"state": "
|
|
154
|
+
"state": "effective"
|
|
150
155
|
},
|
|
151
|
-
"command": "topic.
|
|
152
|
-
"requiredAbility": "topic/
|
|
156
|
+
"command": "topic.confirm-setup",
|
|
157
|
+
"requiredAbility": "topic/confirm-setup",
|
|
153
158
|
"assignedTo": {
|
|
154
159
|
"kind": "role",
|
|
155
|
-
"value": "
|
|
160
|
+
"value": "setup-confirmer"
|
|
156
161
|
},
|
|
157
162
|
"gates": [],
|
|
158
|
-
"confirmation": "
|
|
163
|
+
"confirmation": "authority",
|
|
159
164
|
"consequence": "shared-state",
|
|
160
165
|
"evidence": {
|
|
161
166
|
"kind": "operation",
|
|
162
|
-
"type": "
|
|
167
|
+
"type": "confirm-setup"
|
|
163
168
|
},
|
|
164
169
|
"presentation": {
|
|
165
|
-
"reasonCode": "
|
|
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
|
|
166
176
|
}
|
|
167
177
|
},
|
|
168
178
|
{
|
|
@@ -187,7 +197,7 @@
|
|
|
187
197
|
"kind": "axis",
|
|
188
198
|
"axis": "contract",
|
|
189
199
|
"states": [
|
|
190
|
-
"
|
|
200
|
+
"effective"
|
|
191
201
|
]
|
|
192
202
|
}
|
|
193
203
|
],
|
|
@@ -198,7 +208,85 @@
|
|
|
198
208
|
"type": "change-progress"
|
|
199
209
|
},
|
|
200
210
|
"presentation": {
|
|
201
|
-
"reasonCode": "start-work"
|
|
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
|
|
202
290
|
}
|
|
203
291
|
},
|
|
204
292
|
{
|
|
@@ -232,7 +320,12 @@
|
|
|
232
320
|
"type": "answer-question"
|
|
233
321
|
},
|
|
234
322
|
"presentation": {
|
|
235
|
-
"reasonCode": "question-awaits-answer"
|
|
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
|
|
236
329
|
}
|
|
237
330
|
},
|
|
238
331
|
{
|
|
@@ -266,7 +359,12 @@
|
|
|
266
359
|
"type": "change-due-date"
|
|
267
360
|
},
|
|
268
361
|
"presentation": {
|
|
269
|
-
"reasonCode": "due-date-review"
|
|
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
|
|
270
368
|
}
|
|
271
369
|
},
|
|
272
370
|
{
|
|
@@ -301,7 +399,12 @@
|
|
|
301
399
|
"type": "unblock-topic"
|
|
302
400
|
},
|
|
303
401
|
"presentation": {
|
|
304
|
-
"reasonCode": "topic-blocked"
|
|
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
|
|
305
408
|
}
|
|
306
409
|
},
|
|
307
410
|
{
|
|
@@ -330,7 +433,12 @@
|
|
|
330
433
|
"finality": "accepted"
|
|
331
434
|
},
|
|
332
435
|
"presentation": {
|
|
333
|
-
"reasonCode": "submit-work"
|
|
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
|
|
334
442
|
}
|
|
335
443
|
},
|
|
336
444
|
{
|
|
@@ -367,7 +475,12 @@
|
|
|
367
475
|
},
|
|
368
476
|
"completesTopic": true,
|
|
369
477
|
"presentation": {
|
|
370
|
-
"reasonCode": "complete-topic"
|
|
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
|
|
371
484
|
}
|
|
372
485
|
},
|
|
373
486
|
{
|
|
@@ -408,7 +521,12 @@
|
|
|
408
521
|
"binding": "evaluation"
|
|
409
522
|
},
|
|
410
523
|
"presentation": {
|
|
411
|
-
"reasonCode": "verification-required"
|
|
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
|
|
412
530
|
}
|
|
413
531
|
},
|
|
414
532
|
{
|
|
@@ -445,7 +563,12 @@
|
|
|
445
563
|
"finality": "accepted"
|
|
446
564
|
},
|
|
447
565
|
"presentation": {
|
|
448
|
-
"reasonCode": "decision-required"
|
|
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
|
|
449
572
|
}
|
|
450
573
|
},
|
|
451
574
|
{
|
|
@@ -489,7 +612,12 @@
|
|
|
489
612
|
"binding": "action"
|
|
490
613
|
},
|
|
491
614
|
"presentation": {
|
|
492
|
-
"reasonCode": "action-request-required"
|
|
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
|
|
493
621
|
}
|
|
494
622
|
},
|
|
495
623
|
{
|
|
@@ -522,7 +650,12 @@
|
|
|
522
650
|
"binding": "action"
|
|
523
651
|
},
|
|
524
652
|
"presentation": {
|
|
525
|
-
"reasonCode": "action-confirmation-required"
|
|
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
|
|
526
659
|
}
|
|
527
660
|
}
|
|
528
661
|
],
|
|
@@ -575,15 +708,15 @@
|
|
|
575
708
|
}
|
|
576
709
|
},
|
|
577
710
|
{
|
|
578
|
-
"code": "needs-
|
|
579
|
-
"condition": "needs-
|
|
711
|
+
"code": "needs-confirmation",
|
|
712
|
+
"condition": "needs-confirmation",
|
|
580
713
|
"priority": 350,
|
|
581
714
|
"source": {
|
|
582
715
|
"kind": "axis",
|
|
583
716
|
"value": "contract"
|
|
584
717
|
},
|
|
585
718
|
"states": [
|
|
586
|
-
"
|
|
719
|
+
"proposed"
|
|
587
720
|
]
|
|
588
721
|
}
|
|
589
722
|
],
|
package/recipes/registry.json
CHANGED
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
"creates": "draft",
|
|
10
10
|
"ref": {
|
|
11
11
|
"id": "https://topic-protocol.ixo.world/recipes/research-brief",
|
|
12
|
-
"version": "1.0.0-rc.
|
|
13
|
-
"digest": "sha256:
|
|
12
|
+
"version": "1.0.0-rc.2",
|
|
13
|
+
"digest": "sha256:76aa6428b3a41ea0652c078f8020ba7918fe0f8c3ac79ef941c88b33ee62294b"
|
|
14
14
|
}
|
|
15
15
|
},
|
|
16
16
|
{
|
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
"creates": "draft",
|
|
22
22
|
"ref": {
|
|
23
23
|
"id": "https://topic-protocol.ixo.world/recipes/agent-delivery",
|
|
24
|
-
"version": "1.0.0-rc.
|
|
25
|
-
"digest": "sha256:
|
|
24
|
+
"version": "1.0.0-rc.2",
|
|
25
|
+
"digest": "sha256:fc646487e42ae88984b644449a90fe5b30769380d73b391cd44f46926f406e5e"
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
28
|
{
|
|
@@ -33,8 +33,8 @@
|
|
|
33
33
|
"creates": "draft",
|
|
34
34
|
"ref": {
|
|
35
35
|
"id": "https://topic-protocol.ixo.world/recipes/verified-work-payment",
|
|
36
|
-
"version": "1.0.0-rc.
|
|
37
|
-
"digest": "sha256:
|
|
36
|
+
"version": "1.0.0-rc.2",
|
|
37
|
+
"digest": "sha256:27c0e70c6bfac1557ae402673bd4aa8bace7ff50c82c5e30cf5e6f356114fb86"
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
]
|