@claw-network/protocol 0.1.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.
- package/dist/contracts/events.d.ts +238 -0
- package/dist/contracts/events.d.ts.map +1 -0
- package/dist/contracts/events.js +499 -0
- package/dist/contracts/events.js.map +1 -0
- package/dist/contracts/index.d.ts +5 -0
- package/dist/contracts/index.d.ts.map +1 -0
- package/dist/contracts/index.js +5 -0
- package/dist/contracts/index.js.map +1 -0
- package/dist/contracts/state.d.ts +16 -0
- package/dist/contracts/state.d.ts.map +1 -0
- package/dist/contracts/state.js +399 -0
- package/dist/contracts/state.js.map +1 -0
- package/dist/contracts/store.d.ts +19 -0
- package/dist/contracts/store.d.ts.map +1 -0
- package/dist/contracts/store.js +22 -0
- package/dist/contracts/store.js.map +1 -0
- package/dist/contracts/types.d.ts +81 -0
- package/dist/contracts/types.d.ts.map +1 -0
- package/dist/contracts/types.js +2 -0
- package/dist/contracts/types.js.map +1 -0
- package/dist/dao/events.d.ts +191 -0
- package/dist/dao/events.d.ts.map +1 -0
- package/dist/dao/events.js +294 -0
- package/dist/dao/events.js.map +1 -0
- package/dist/dao/index.d.ts +6 -0
- package/dist/dao/index.d.ts.map +1 -0
- package/dist/dao/index.js +6 -0
- package/dist/dao/index.js.map +1 -0
- package/dist/dao/state.d.ts +44 -0
- package/dist/dao/state.d.ts.map +1 -0
- package/dist/dao/state.js +373 -0
- package/dist/dao/state.js.map +1 -0
- package/dist/dao/store.d.ts +47 -0
- package/dist/dao/store.d.ts.map +1 -0
- package/dist/dao/store.js +52 -0
- package/dist/dao/store.js.map +1 -0
- package/dist/dao/types.d.ts +149 -0
- package/dist/dao/types.d.ts.map +1 -0
- package/dist/dao/types.js +95 -0
- package/dist/dao/types.js.map +1 -0
- package/dist/dao/voting.d.ts +56 -0
- package/dist/dao/voting.d.ts.map +1 -0
- package/dist/dao/voting.js +129 -0
- package/dist/dao/voting.js.map +1 -0
- package/dist/identity/document.d.ts +35 -0
- package/dist/identity/document.d.ts.map +1 -0
- package/dist/identity/document.js +84 -0
- package/dist/identity/document.js.map +1 -0
- package/dist/identity/events.d.ts +96 -0
- package/dist/identity/events.d.ts.map +1 -0
- package/dist/identity/events.js +165 -0
- package/dist/identity/events.js.map +1 -0
- package/dist/identity/index.d.ts +4 -0
- package/dist/identity/index.d.ts.map +1 -0
- package/dist/identity/index.js +4 -0
- package/dist/identity/index.js.map +1 -0
- package/dist/identity/resolver.d.ts +10 -0
- package/dist/identity/resolver.d.ts.map +1 -0
- package/dist/identity/resolver.js +10 -0
- package/dist/identity/resolver.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/markets/broadcast.d.ts +5 -0
- package/dist/markets/broadcast.d.ts.map +1 -0
- package/dist/markets/broadcast.js +9 -0
- package/dist/markets/broadcast.js.map +1 -0
- package/dist/markets/capability.d.ts +129 -0
- package/dist/markets/capability.d.ts.map +1 -0
- package/dist/markets/capability.js +262 -0
- package/dist/markets/capability.js.map +1 -0
- package/dist/markets/events.d.ts +448 -0
- package/dist/markets/events.d.ts.map +1 -0
- package/dist/markets/events.js +1074 -0
- package/dist/markets/events.js.map +1 -0
- package/dist/markets/index.d.ts +12 -0
- package/dist/markets/index.d.ts.map +1 -0
- package/dist/markets/index.js +12 -0
- package/dist/markets/index.js.map +1 -0
- package/dist/markets/info-flow.d.ts +144 -0
- package/dist/markets/info-flow.d.ts.map +1 -0
- package/dist/markets/info-flow.js +257 -0
- package/dist/markets/info-flow.js.map +1 -0
- package/dist/markets/info-store.d.ts +80 -0
- package/dist/markets/info-store.d.ts.map +1 -0
- package/dist/markets/info-store.js +384 -0
- package/dist/markets/info-store.js.map +1 -0
- package/dist/markets/info.d.ts +118 -0
- package/dist/markets/info.d.ts.map +1 -0
- package/dist/markets/info.js +123 -0
- package/dist/markets/info.js.map +1 -0
- package/dist/markets/search.d.ts +70 -0
- package/dist/markets/search.d.ts.map +1 -0
- package/dist/markets/search.js +659 -0
- package/dist/markets/search.js.map +1 -0
- package/dist/markets/state.d.ts +30 -0
- package/dist/markets/state.d.ts.map +1 -0
- package/dist/markets/state.js +610 -0
- package/dist/markets/state.js.map +1 -0
- package/dist/markets/store.d.ts +43 -0
- package/dist/markets/store.d.ts.map +1 -0
- package/dist/markets/store.js +460 -0
- package/dist/markets/store.js.map +1 -0
- package/dist/markets/task.d.ts +96 -0
- package/dist/markets/task.d.ts.map +1 -0
- package/dist/markets/task.js +286 -0
- package/dist/markets/task.js.map +1 -0
- package/dist/markets/types.d.ts +340 -0
- package/dist/markets/types.d.ts.map +1 -0
- package/dist/markets/types.js +88 -0
- package/dist/markets/types.js.map +1 -0
- package/dist/p2p/codec.d.ts +42 -0
- package/dist/p2p/codec.d.ts.map +1 -0
- package/dist/p2p/codec.js +187 -0
- package/dist/p2p/codec.js.map +1 -0
- package/dist/p2p/flatbuffers.d.ts +57 -0
- package/dist/p2p/flatbuffers.d.ts.map +1 -0
- package/dist/p2p/flatbuffers.js +418 -0
- package/dist/p2p/flatbuffers.js.map +1 -0
- package/dist/p2p/index.d.ts +3 -0
- package/dist/p2p/index.d.ts.map +1 -0
- package/dist/p2p/index.js +3 -0
- package/dist/p2p/index.js.map +1 -0
- package/dist/p2p/types.d.ts +79 -0
- package/dist/p2p/types.d.ts.map +1 -0
- package/dist/p2p/types.js +15 -0
- package/dist/p2p/types.js.map +1 -0
- package/dist/reputation/anti-cheat.d.ts +24 -0
- package/dist/reputation/anti-cheat.d.ts.map +1 -0
- package/dist/reputation/anti-cheat.js +109 -0
- package/dist/reputation/anti-cheat.js.map +1 -0
- package/dist/reputation/events.d.ts +29 -0
- package/dist/reputation/events.d.ts.map +1 -0
- package/dist/reputation/events.js +122 -0
- package/dist/reputation/events.js.map +1 -0
- package/dist/reputation/index.d.ts +6 -0
- package/dist/reputation/index.d.ts.map +1 -0
- package/dist/reputation/index.js +6 -0
- package/dist/reputation/index.js.map +1 -0
- package/dist/reputation/scoring.d.ts +40 -0
- package/dist/reputation/scoring.d.ts.map +1 -0
- package/dist/reputation/scoring.js +114 -0
- package/dist/reputation/scoring.js.map +1 -0
- package/dist/reputation/state.d.ts +48 -0
- package/dist/reputation/state.d.ts.map +1 -0
- package/dist/reputation/state.js +135 -0
- package/dist/reputation/state.js.map +1 -0
- package/dist/reputation/store.d.ts +23 -0
- package/dist/reputation/store.d.ts.map +1 -0
- package/dist/reputation/store.js +33 -0
- package/dist/reputation/store.js.map +1 -0
- package/dist/wallet/events.d.ts +121 -0
- package/dist/wallet/events.d.ts.map +1 -0
- package/dist/wallet/events.js +175 -0
- package/dist/wallet/events.js.map +1 -0
- package/dist/wallet/finality.d.ts +4 -0
- package/dist/wallet/finality.d.ts.map +1 -0
- package/dist/wallet/finality.js +32 -0
- package/dist/wallet/finality.js.map +1 -0
- package/dist/wallet/index.d.ts +4 -0
- package/dist/wallet/index.d.ts.map +1 -0
- package/dist/wallet/index.js +4 -0
- package/dist/wallet/index.js.map +1 -0
- package/dist/wallet/state.d.ts +32 -0
- package/dist/wallet/state.d.ts.map +1 -0
- package/dist/wallet/state.js +170 -0
- package/dist/wallet/state.js.map +1 -0
- package/package.json +42 -0
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
import { createMarketListingPublishEnvelope, } from './events.js';
|
|
2
|
+
export const TASK_TYPES = ['one_time', 'project', 'ongoing', 'contest', 'bounty'];
|
|
3
|
+
export function isTaskType(value) {
|
|
4
|
+
return TASK_TYPES.includes(value);
|
|
5
|
+
}
|
|
6
|
+
export const TASK_COMPLEXITIES = ['simple', 'moderate', 'complex', 'expert'];
|
|
7
|
+
export function isTaskComplexity(value) {
|
|
8
|
+
return TASK_COMPLEXITIES.includes(value);
|
|
9
|
+
}
|
|
10
|
+
export const DELIVERABLE_TYPES = ['file', 'code', 'data', 'report', 'service', 'result', 'other'];
|
|
11
|
+
export function isDeliverableType(value) {
|
|
12
|
+
return DELIVERABLE_TYPES.includes(value);
|
|
13
|
+
}
|
|
14
|
+
export const SKILL_LEVELS = ['beginner', 'intermediate', 'advanced', 'expert'];
|
|
15
|
+
export function isSkillLevel(value) {
|
|
16
|
+
return SKILL_LEVELS.includes(value);
|
|
17
|
+
}
|
|
18
|
+
function requireNonEmpty(value, field) {
|
|
19
|
+
if (!value || value.trim().length === 0) {
|
|
20
|
+
throw new Error(`${field} is required`);
|
|
21
|
+
}
|
|
22
|
+
return value.trim();
|
|
23
|
+
}
|
|
24
|
+
function assertRecord(value, field) {
|
|
25
|
+
if (!value || typeof value !== 'object' || Array.isArray(value)) {
|
|
26
|
+
throw new Error(`${field} must be an object`);
|
|
27
|
+
}
|
|
28
|
+
return value;
|
|
29
|
+
}
|
|
30
|
+
function parseStringArray(value, field) {
|
|
31
|
+
if (!Array.isArray(value)) {
|
|
32
|
+
throw new Error(`${field} must be an array`);
|
|
33
|
+
}
|
|
34
|
+
const result = [];
|
|
35
|
+
for (const entry of value) {
|
|
36
|
+
if (typeof entry !== 'string') {
|
|
37
|
+
throw new Error(`${field} must contain strings`);
|
|
38
|
+
}
|
|
39
|
+
const trimmed = entry.trim();
|
|
40
|
+
if (trimmed.length) {
|
|
41
|
+
result.push(trimmed);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return result;
|
|
45
|
+
}
|
|
46
|
+
function parseDeliverables(value) {
|
|
47
|
+
if (!Array.isArray(value)) {
|
|
48
|
+
throw new Error('task.deliverables must be an array');
|
|
49
|
+
}
|
|
50
|
+
return value.map((entry, index) => {
|
|
51
|
+
const record = assertRecord(entry, `task.deliverables[${index}]`);
|
|
52
|
+
const name = requireNonEmpty(String(record.name ?? ''), `task.deliverables[${index}].name`);
|
|
53
|
+
const typeValue = String(record.type ?? '');
|
|
54
|
+
if (!isDeliverableType(typeValue)) {
|
|
55
|
+
throw new Error(`task.deliverables[${index}].type is invalid`);
|
|
56
|
+
}
|
|
57
|
+
const requiredValue = record.required;
|
|
58
|
+
if (typeof requiredValue !== 'boolean') {
|
|
59
|
+
throw new Error(`task.deliverables[${index}].required must be a boolean`);
|
|
60
|
+
}
|
|
61
|
+
const acceptanceCriteria = record.acceptanceCriteria !== undefined
|
|
62
|
+
? parseStringArray(record.acceptanceCriteria, `task.deliverables[${index}].acceptanceCriteria`)
|
|
63
|
+
: undefined;
|
|
64
|
+
return {
|
|
65
|
+
id: typeof record.id === 'string' && record.id.trim().length > 0 ? record.id : undefined,
|
|
66
|
+
name,
|
|
67
|
+
description: typeof record.description === 'string' ? record.description : undefined,
|
|
68
|
+
type: typeValue,
|
|
69
|
+
required: requiredValue,
|
|
70
|
+
acceptanceCriteria,
|
|
71
|
+
format: typeof record.format === 'string' ? record.format : undefined,
|
|
72
|
+
};
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
function parseSkills(value) {
|
|
76
|
+
if (!Array.isArray(value)) {
|
|
77
|
+
throw new Error('task.skills must be an array');
|
|
78
|
+
}
|
|
79
|
+
return value.map((entry, index) => {
|
|
80
|
+
const record = assertRecord(entry, `task.skills[${index}]`);
|
|
81
|
+
const name = requireNonEmpty(String(record.name ?? ''), `task.skills[${index}].name`);
|
|
82
|
+
const levelValue = String(record.level ?? '');
|
|
83
|
+
if (!isSkillLevel(levelValue)) {
|
|
84
|
+
throw new Error(`task.skills[${index}].level is invalid`);
|
|
85
|
+
}
|
|
86
|
+
const requiredValue = record.required;
|
|
87
|
+
if (typeof requiredValue !== 'boolean') {
|
|
88
|
+
throw new Error(`task.skills[${index}].required must be a boolean`);
|
|
89
|
+
}
|
|
90
|
+
return {
|
|
91
|
+
name,
|
|
92
|
+
level: levelValue,
|
|
93
|
+
required: requiredValue,
|
|
94
|
+
};
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
function parseTimeline(value) {
|
|
98
|
+
const record = assertRecord(value, 'timeline');
|
|
99
|
+
const flexibleValue = record.flexible;
|
|
100
|
+
if (typeof flexibleValue !== 'boolean') {
|
|
101
|
+
throw new Error('timeline.flexible must be a boolean');
|
|
102
|
+
}
|
|
103
|
+
const startBy = record.startBy;
|
|
104
|
+
if (startBy !== undefined && typeof startBy !== 'number') {
|
|
105
|
+
throw new Error('timeline.startBy must be a number');
|
|
106
|
+
}
|
|
107
|
+
const deadline = record.deadline;
|
|
108
|
+
if (deadline !== undefined && typeof deadline !== 'number') {
|
|
109
|
+
throw new Error('timeline.deadline must be a number');
|
|
110
|
+
}
|
|
111
|
+
return {
|
|
112
|
+
flexible: flexibleValue,
|
|
113
|
+
startBy: typeof startBy === 'number' ? startBy : undefined,
|
|
114
|
+
deadline: typeof deadline === 'number' ? deadline : undefined,
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
function parseWorkerRequirements(value) {
|
|
118
|
+
const record = assertRecord(value, 'workerRequirements');
|
|
119
|
+
const minReputation = record.minReputation;
|
|
120
|
+
if (minReputation !== undefined && typeof minReputation !== 'number') {
|
|
121
|
+
throw new Error('workerRequirements.minReputation must be a number');
|
|
122
|
+
}
|
|
123
|
+
const requiredSkills = record.requiredSkills !== undefined
|
|
124
|
+
? parseStringArray(record.requiredSkills, 'workerRequirements.requiredSkills')
|
|
125
|
+
: undefined;
|
|
126
|
+
const requiredVerifications = record.requiredVerifications !== undefined
|
|
127
|
+
? parseStringArray(record.requiredVerifications, 'workerRequirements.requiredVerifications')
|
|
128
|
+
: undefined;
|
|
129
|
+
const preferredWorkers = record.preferredWorkers !== undefined
|
|
130
|
+
? parseStringArray(record.preferredWorkers, 'workerRequirements.preferredWorkers')
|
|
131
|
+
: undefined;
|
|
132
|
+
const maxWorkers = record.maxWorkers;
|
|
133
|
+
if (maxWorkers !== undefined && typeof maxWorkers !== 'number') {
|
|
134
|
+
throw new Error('workerRequirements.maxWorkers must be a number');
|
|
135
|
+
}
|
|
136
|
+
return {
|
|
137
|
+
minReputation: typeof minReputation === 'number' ? minReputation : undefined,
|
|
138
|
+
requiredSkills,
|
|
139
|
+
requiredVerifications,
|
|
140
|
+
preferredWorkers,
|
|
141
|
+
maxWorkers: typeof maxWorkers === 'number' ? maxWorkers : undefined,
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
function parseBiddingSettings(value) {
|
|
145
|
+
const record = assertRecord(value, 'bidding');
|
|
146
|
+
const typeValue = String(record.type ?? '');
|
|
147
|
+
if (typeValue !== 'open' && typeValue !== 'sealed' && typeValue !== 'reverse') {
|
|
148
|
+
throw new Error('bidding.type is invalid');
|
|
149
|
+
}
|
|
150
|
+
const settings = { type: typeValue };
|
|
151
|
+
if (record.open !== undefined) {
|
|
152
|
+
const open = assertRecord(record.open, 'bidding.open');
|
|
153
|
+
if (open.visibleBids !== undefined && typeof open.visibleBids !== 'boolean') {
|
|
154
|
+
throw new Error('bidding.open.visibleBids must be a boolean');
|
|
155
|
+
}
|
|
156
|
+
if (open.allowCounterOffers !== undefined && typeof open.allowCounterOffers !== 'boolean') {
|
|
157
|
+
throw new Error('bidding.open.allowCounterOffers must be a boolean');
|
|
158
|
+
}
|
|
159
|
+
settings.open = {
|
|
160
|
+
visibleBids: typeof open.visibleBids === 'boolean' ? open.visibleBids : undefined,
|
|
161
|
+
allowCounterOffers: typeof open.allowCounterOffers === 'boolean'
|
|
162
|
+
? open.allowCounterOffers
|
|
163
|
+
: undefined,
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
if (record.sealed !== undefined) {
|
|
167
|
+
const sealed = assertRecord(record.sealed, 'bidding.sealed');
|
|
168
|
+
if (sealed.revealTime !== undefined && typeof sealed.revealTime !== 'number') {
|
|
169
|
+
throw new Error('bidding.sealed.revealTime must be a number');
|
|
170
|
+
}
|
|
171
|
+
settings.sealed = {
|
|
172
|
+
revealTime: typeof sealed.revealTime === 'number' ? sealed.revealTime : undefined,
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
if (record.reverse !== undefined) {
|
|
176
|
+
const reverse = assertRecord(record.reverse, 'bidding.reverse');
|
|
177
|
+
const starting = reverse.startingPrice;
|
|
178
|
+
if (starting !== undefined && typeof starting !== 'string' && typeof starting !== 'number') {
|
|
179
|
+
throw new Error('bidding.reverse.startingPrice must be a string or number');
|
|
180
|
+
}
|
|
181
|
+
const decrement = reverse.minDecrement;
|
|
182
|
+
if (decrement !== undefined && typeof decrement !== 'string' && typeof decrement !== 'number') {
|
|
183
|
+
throw new Error('bidding.reverse.minDecrement must be a string or number');
|
|
184
|
+
}
|
|
185
|
+
settings.reverse = {
|
|
186
|
+
startingPrice: starting !== undefined ? String(starting) : undefined,
|
|
187
|
+
minDecrement: decrement !== undefined ? String(decrement) : undefined,
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
if (record.bidDeadline !== undefined && typeof record.bidDeadline !== 'number') {
|
|
191
|
+
throw new Error('bidding.bidDeadline must be a number');
|
|
192
|
+
}
|
|
193
|
+
settings.bidDeadline = typeof record.bidDeadline === 'number' ? record.bidDeadline : undefined;
|
|
194
|
+
if (record.autoSelect !== undefined) {
|
|
195
|
+
const autoSelect = assertRecord(record.autoSelect, 'bidding.autoSelect');
|
|
196
|
+
if (typeof autoSelect.enabled !== 'boolean') {
|
|
197
|
+
throw new Error('bidding.autoSelect.enabled must be a boolean');
|
|
198
|
+
}
|
|
199
|
+
const criteriaValue = String(autoSelect.criteria ?? '');
|
|
200
|
+
if (!['lowest', 'highest_rated', 'best_match'].includes(criteriaValue)) {
|
|
201
|
+
throw new Error('bidding.autoSelect.criteria is invalid');
|
|
202
|
+
}
|
|
203
|
+
settings.autoSelect = {
|
|
204
|
+
enabled: autoSelect.enabled,
|
|
205
|
+
criteria: criteriaValue,
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
return settings;
|
|
209
|
+
}
|
|
210
|
+
function parseMilestones(value) {
|
|
211
|
+
if (!Array.isArray(value)) {
|
|
212
|
+
throw new Error('milestones must be an array');
|
|
213
|
+
}
|
|
214
|
+
return value.map((entry, index) => {
|
|
215
|
+
const record = assertRecord(entry, `milestones[${index}]`);
|
|
216
|
+
const id = requireNonEmpty(String(record.id ?? ''), `milestones[${index}].id`);
|
|
217
|
+
const name = requireNonEmpty(String(record.name ?? ''), `milestones[${index}].name`);
|
|
218
|
+
const percentage = Number(record.percentage ?? NaN);
|
|
219
|
+
if (!Number.isFinite(percentage)) {
|
|
220
|
+
throw new Error(`milestones[${index}].percentage must be a number`);
|
|
221
|
+
}
|
|
222
|
+
const deadline = record.deadline;
|
|
223
|
+
if (deadline !== undefined && typeof deadline !== 'number') {
|
|
224
|
+
throw new Error(`milestones[${index}].deadline must be a number`);
|
|
225
|
+
}
|
|
226
|
+
return {
|
|
227
|
+
id,
|
|
228
|
+
name,
|
|
229
|
+
description: typeof record.description === 'string' ? record.description : undefined,
|
|
230
|
+
deliverables: record.deliverables !== undefined
|
|
231
|
+
? parseStringArray(record.deliverables, `milestones[${index}].deliverables`)
|
|
232
|
+
: undefined,
|
|
233
|
+
percentage,
|
|
234
|
+
deadline: typeof deadline === 'number' ? deadline : undefined,
|
|
235
|
+
status: typeof record.status === 'string' ? record.status : undefined,
|
|
236
|
+
};
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
export function parseTaskMarketData(value) {
|
|
240
|
+
const record = assertRecord(value, 'marketData');
|
|
241
|
+
const taskTypeValue = String(record.taskType ?? '');
|
|
242
|
+
if (!isTaskType(taskTypeValue)) {
|
|
243
|
+
throw new Error('taskType is invalid');
|
|
244
|
+
}
|
|
245
|
+
const task = assertRecord(record.task, 'task');
|
|
246
|
+
const requirements = requireNonEmpty(String(task.requirements ?? ''), 'task.requirements');
|
|
247
|
+
const deliverables = parseDeliverables(task.deliverables);
|
|
248
|
+
const skills = parseSkills(task.skills);
|
|
249
|
+
const complexityValue = String(task.complexity ?? '');
|
|
250
|
+
if (!isTaskComplexity(complexityValue)) {
|
|
251
|
+
throw new Error('task.complexity is invalid');
|
|
252
|
+
}
|
|
253
|
+
const estimatedDuration = Number(task.estimatedDuration ?? NaN);
|
|
254
|
+
if (!Number.isFinite(estimatedDuration)) {
|
|
255
|
+
throw new Error('task.estimatedDuration must be a number');
|
|
256
|
+
}
|
|
257
|
+
const timeline = parseTimeline(record.timeline);
|
|
258
|
+
const workerRequirements = record.workerRequirements
|
|
259
|
+
? parseWorkerRequirements(record.workerRequirements)
|
|
260
|
+
: undefined;
|
|
261
|
+
const bidding = record.bidding ? parseBiddingSettings(record.bidding) : undefined;
|
|
262
|
+
const milestones = record.milestones ? parseMilestones(record.milestones) : undefined;
|
|
263
|
+
return {
|
|
264
|
+
taskType: taskTypeValue,
|
|
265
|
+
task: {
|
|
266
|
+
requirements,
|
|
267
|
+
deliverables,
|
|
268
|
+
skills,
|
|
269
|
+
complexity: complexityValue,
|
|
270
|
+
estimatedDuration,
|
|
271
|
+
},
|
|
272
|
+
timeline,
|
|
273
|
+
workerRequirements,
|
|
274
|
+
bidding,
|
|
275
|
+
milestones,
|
|
276
|
+
};
|
|
277
|
+
}
|
|
278
|
+
export async function createTaskListingPublishEnvelope(params) {
|
|
279
|
+
const marketData = parseTaskMarketData(params.marketData);
|
|
280
|
+
return createMarketListingPublishEnvelope({
|
|
281
|
+
...params,
|
|
282
|
+
marketType: 'task',
|
|
283
|
+
marketData,
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
//# sourceMappingURL=task.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/markets/task.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
export type TokenAmount = string;
|
|
2
|
+
export declare const MARKET_TYPES: readonly ["info", "task", "capability"];
|
|
3
|
+
export type MarketType = (typeof MARKET_TYPES)[number];
|
|
4
|
+
export declare function isMarketType(value: string): value is MarketType;
|
|
5
|
+
export declare const LISTING_STATUSES: readonly ["draft", "active", "paused", "sold_out", "expired", "removed"];
|
|
6
|
+
export type ListingStatus = (typeof LISTING_STATUSES)[number];
|
|
7
|
+
export declare function isListingStatus(value: string): value is ListingStatus;
|
|
8
|
+
export declare const LISTING_VISIBILITIES: readonly ["public", "private", "unlisted"];
|
|
9
|
+
export type ListingVisibility = (typeof LISTING_VISIBILITIES)[number];
|
|
10
|
+
export declare function isListingVisibility(value: string): value is ListingVisibility;
|
|
11
|
+
export declare const PRICING_TYPES: readonly ["fixed", "range", "usage", "subscription", "auction", "negotiation"];
|
|
12
|
+
export type PricingType = (typeof PRICING_TYPES)[number];
|
|
13
|
+
export declare function isPricingType(value: string): value is PricingType;
|
|
14
|
+
export interface Discount {
|
|
15
|
+
type: 'percentage' | 'fixed' | 'bundle';
|
|
16
|
+
value: number;
|
|
17
|
+
condition?: {
|
|
18
|
+
minQuantity?: number;
|
|
19
|
+
minValue?: TokenAmount;
|
|
20
|
+
couponCode?: string;
|
|
21
|
+
reputationLevel?: string;
|
|
22
|
+
firstTime?: boolean;
|
|
23
|
+
};
|
|
24
|
+
validFrom?: number;
|
|
25
|
+
validUntil?: number;
|
|
26
|
+
}
|
|
27
|
+
export interface PricingModel {
|
|
28
|
+
type: PricingType;
|
|
29
|
+
fixedPrice?: TokenAmount;
|
|
30
|
+
priceRange?: {
|
|
31
|
+
min: TokenAmount;
|
|
32
|
+
max: TokenAmount;
|
|
33
|
+
};
|
|
34
|
+
usagePrice?: {
|
|
35
|
+
unit: string;
|
|
36
|
+
pricePerUnit: TokenAmount;
|
|
37
|
+
minimumUnits?: number;
|
|
38
|
+
maximumUnits?: number;
|
|
39
|
+
};
|
|
40
|
+
subscriptionPrice?: {
|
|
41
|
+
period: 'hourly' | 'daily' | 'weekly' | 'monthly' | 'yearly';
|
|
42
|
+
price: TokenAmount;
|
|
43
|
+
trialPeriod?: number;
|
|
44
|
+
};
|
|
45
|
+
auction?: {
|
|
46
|
+
startingPrice: TokenAmount;
|
|
47
|
+
reservePrice?: TokenAmount;
|
|
48
|
+
bidIncrement: TokenAmount;
|
|
49
|
+
duration: number;
|
|
50
|
+
endTime: number;
|
|
51
|
+
};
|
|
52
|
+
negotiable: boolean;
|
|
53
|
+
currency: 'TOKEN';
|
|
54
|
+
discounts?: Discount[];
|
|
55
|
+
}
|
|
56
|
+
export interface ListingRestrictions {
|
|
57
|
+
buyerRequirements?: {
|
|
58
|
+
minReputation?: number;
|
|
59
|
+
verifiedOnly?: boolean;
|
|
60
|
+
allowedCategories?: string[];
|
|
61
|
+
blockedAgents?: string[];
|
|
62
|
+
};
|
|
63
|
+
regionRestrictions?: {
|
|
64
|
+
allowed?: string[];
|
|
65
|
+
blocked?: string[];
|
|
66
|
+
};
|
|
67
|
+
quantityLimits?: {
|
|
68
|
+
total?: number;
|
|
69
|
+
perBuyer?: number;
|
|
70
|
+
perPeriod?: {
|
|
71
|
+
count: number;
|
|
72
|
+
period: number;
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
availabilityWindow?: {
|
|
76
|
+
startTime?: number;
|
|
77
|
+
endTime?: number;
|
|
78
|
+
schedule?: AvailabilitySchedule[];
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
export interface AvailabilitySchedule {
|
|
82
|
+
startTime: number;
|
|
83
|
+
endTime: number;
|
|
84
|
+
recurring?: {
|
|
85
|
+
frequency: 'daily' | 'weekly' | 'monthly';
|
|
86
|
+
interval: number;
|
|
87
|
+
dayOfWeek?: number[];
|
|
88
|
+
dayOfMonth?: number[];
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
export interface ListingStats {
|
|
92
|
+
views: number;
|
|
93
|
+
favorites: number;
|
|
94
|
+
inquiries: number;
|
|
95
|
+
orders: number;
|
|
96
|
+
completedOrders: number;
|
|
97
|
+
totalRevenue: TokenAmount;
|
|
98
|
+
averageRating: number;
|
|
99
|
+
ratingCount: number;
|
|
100
|
+
}
|
|
101
|
+
export interface MarketListing {
|
|
102
|
+
id: string;
|
|
103
|
+
marketType: MarketType;
|
|
104
|
+
seller: {
|
|
105
|
+
did: string;
|
|
106
|
+
name?: string;
|
|
107
|
+
reputation: number;
|
|
108
|
+
verified: boolean;
|
|
109
|
+
};
|
|
110
|
+
title: string;
|
|
111
|
+
description: string;
|
|
112
|
+
category: string;
|
|
113
|
+
tags: string[];
|
|
114
|
+
pricing: PricingModel;
|
|
115
|
+
status: ListingStatus;
|
|
116
|
+
visibility: ListingVisibility;
|
|
117
|
+
restrictions?: ListingRestrictions;
|
|
118
|
+
stats: ListingStats;
|
|
119
|
+
createdAt: number;
|
|
120
|
+
updatedAt: number;
|
|
121
|
+
expiresAt?: number;
|
|
122
|
+
metadata: Record<string, unknown>;
|
|
123
|
+
marketData: Record<string, unknown>;
|
|
124
|
+
}
|
|
125
|
+
export interface OrderItem {
|
|
126
|
+
id: string;
|
|
127
|
+
listingId: string;
|
|
128
|
+
title?: string;
|
|
129
|
+
description?: string;
|
|
130
|
+
quantity: number;
|
|
131
|
+
unitPrice: TokenAmount;
|
|
132
|
+
totalPrice: TokenAmount;
|
|
133
|
+
itemData?: Record<string, unknown>;
|
|
134
|
+
}
|
|
135
|
+
export interface OrderFee {
|
|
136
|
+
type: 'platform' | 'escrow' | 'priority' | 'insurance' | 'other';
|
|
137
|
+
name: string;
|
|
138
|
+
amount: TokenAmount;
|
|
139
|
+
percentage?: number;
|
|
140
|
+
}
|
|
141
|
+
export interface AppliedDiscount extends Discount {
|
|
142
|
+
amount: TokenAmount;
|
|
143
|
+
}
|
|
144
|
+
export declare const ORDER_STATUSES: readonly ["draft", "pending", "accepted", "payment_pending", "paid", "in_progress", "delivered", "completed", "cancelled", "disputed", "refunded"];
|
|
145
|
+
export type OrderStatus = (typeof ORDER_STATUSES)[number];
|
|
146
|
+
export declare function isOrderStatus(value: string): value is OrderStatus;
|
|
147
|
+
export declare const PAYMENT_STATUSES: readonly ["pending", "escrowed", "partial", "released", "refunded", "disputed"];
|
|
148
|
+
export type PaymentStatus = (typeof PAYMENT_STATUSES)[number];
|
|
149
|
+
export declare function isPaymentStatus(value: string): value is PaymentStatus;
|
|
150
|
+
export declare const DELIVERY_STATUSES: readonly ["pending", "in_progress", "delivered", "confirmed", "rejected", "revision"];
|
|
151
|
+
export type DeliveryStatus = (typeof DELIVERY_STATUSES)[number];
|
|
152
|
+
export declare function isDeliveryStatus(value: string): value is DeliveryStatus;
|
|
153
|
+
export interface OrderPayment {
|
|
154
|
+
status: PaymentStatus;
|
|
155
|
+
method?: string;
|
|
156
|
+
escrowId?: string;
|
|
157
|
+
paidAt?: number;
|
|
158
|
+
releasedAt?: number;
|
|
159
|
+
}
|
|
160
|
+
export interface OrderDelivery {
|
|
161
|
+
status: DeliveryStatus;
|
|
162
|
+
method?: string;
|
|
163
|
+
tracking?: OrderDeliveryTracking;
|
|
164
|
+
deliveredAt?: number;
|
|
165
|
+
confirmedAt?: number;
|
|
166
|
+
}
|
|
167
|
+
export interface OrderDeliveryTracking {
|
|
168
|
+
deliveryId: string;
|
|
169
|
+
accessUrl?: string;
|
|
170
|
+
accessToken?: string;
|
|
171
|
+
expiresAt?: number;
|
|
172
|
+
}
|
|
173
|
+
export interface OrderReview {
|
|
174
|
+
rating: number;
|
|
175
|
+
comment: string;
|
|
176
|
+
detailedRatings?: {
|
|
177
|
+
quality?: number;
|
|
178
|
+
communication?: number;
|
|
179
|
+
timeliness?: number;
|
|
180
|
+
value?: number;
|
|
181
|
+
};
|
|
182
|
+
createdAt: number;
|
|
183
|
+
updatedAt?: number;
|
|
184
|
+
}
|
|
185
|
+
export interface Attachment {
|
|
186
|
+
id?: string;
|
|
187
|
+
name?: string;
|
|
188
|
+
url?: string;
|
|
189
|
+
size?: number;
|
|
190
|
+
mimeType?: string;
|
|
191
|
+
}
|
|
192
|
+
export interface OrderMessage {
|
|
193
|
+
id: string;
|
|
194
|
+
sender: string;
|
|
195
|
+
content: string;
|
|
196
|
+
attachments?: Attachment[];
|
|
197
|
+
createdAt: number;
|
|
198
|
+
readAt?: number;
|
|
199
|
+
}
|
|
200
|
+
export interface OrderDisputeRef {
|
|
201
|
+
disputeId: string;
|
|
202
|
+
status?: string;
|
|
203
|
+
}
|
|
204
|
+
export interface Order {
|
|
205
|
+
id: string;
|
|
206
|
+
marketType: MarketType;
|
|
207
|
+
listingId: string;
|
|
208
|
+
buyer: {
|
|
209
|
+
did: string;
|
|
210
|
+
name?: string;
|
|
211
|
+
};
|
|
212
|
+
seller: {
|
|
213
|
+
did: string;
|
|
214
|
+
name?: string;
|
|
215
|
+
};
|
|
216
|
+
items: OrderItem[];
|
|
217
|
+
pricing: {
|
|
218
|
+
subtotal: TokenAmount;
|
|
219
|
+
discounts?: AppliedDiscount[];
|
|
220
|
+
fees?: OrderFee[];
|
|
221
|
+
total: TokenAmount;
|
|
222
|
+
};
|
|
223
|
+
payment: OrderPayment;
|
|
224
|
+
delivery: OrderDelivery;
|
|
225
|
+
status: OrderStatus;
|
|
226
|
+
createdAt: number;
|
|
227
|
+
updatedAt: number;
|
|
228
|
+
completedAt?: number;
|
|
229
|
+
reviews?: {
|
|
230
|
+
byBuyer?: OrderReview;
|
|
231
|
+
bySeller?: OrderReview;
|
|
232
|
+
};
|
|
233
|
+
dispute?: OrderDisputeRef;
|
|
234
|
+
messages: OrderMessage[];
|
|
235
|
+
metadata: Record<string, unknown>;
|
|
236
|
+
}
|
|
237
|
+
export interface MarketSubscription {
|
|
238
|
+
id: string;
|
|
239
|
+
listingId: string;
|
|
240
|
+
buyer: {
|
|
241
|
+
did: string;
|
|
242
|
+
name?: string;
|
|
243
|
+
};
|
|
244
|
+
status: 'active' | 'cancelled';
|
|
245
|
+
createdAt: number;
|
|
246
|
+
updatedAt: number;
|
|
247
|
+
metadata?: Record<string, unknown>;
|
|
248
|
+
}
|
|
249
|
+
export interface MarketDispute {
|
|
250
|
+
id: string;
|
|
251
|
+
orderId: string;
|
|
252
|
+
type: string;
|
|
253
|
+
description: string;
|
|
254
|
+
claimAmount?: TokenAmount;
|
|
255
|
+
status: 'open' | 'responded' | 'resolved';
|
|
256
|
+
response?: {
|
|
257
|
+
text: string;
|
|
258
|
+
evidence?: Record<string, unknown>[];
|
|
259
|
+
};
|
|
260
|
+
resolution?: {
|
|
261
|
+
outcome: string;
|
|
262
|
+
notes?: string;
|
|
263
|
+
};
|
|
264
|
+
createdAt: number;
|
|
265
|
+
updatedAt: number;
|
|
266
|
+
}
|
|
267
|
+
export declare const BID_STATUSES: readonly ["submitted", "shortlisted", "accepted", "rejected", "withdrawn"];
|
|
268
|
+
export type BidStatus = (typeof BID_STATUSES)[number];
|
|
269
|
+
export declare function isBidStatus(value: string): value is BidStatus;
|
|
270
|
+
export interface TaskBid {
|
|
271
|
+
id: string;
|
|
272
|
+
taskId: string;
|
|
273
|
+
bidder: {
|
|
274
|
+
did: string;
|
|
275
|
+
name?: string;
|
|
276
|
+
};
|
|
277
|
+
proposal: {
|
|
278
|
+
price: TokenAmount;
|
|
279
|
+
timeline: number;
|
|
280
|
+
approach: string;
|
|
281
|
+
milestones?: Record<string, unknown>[];
|
|
282
|
+
};
|
|
283
|
+
status: BidStatus;
|
|
284
|
+
createdAt: number;
|
|
285
|
+
updatedAt: number;
|
|
286
|
+
metadata?: Record<string, unknown>;
|
|
287
|
+
}
|
|
288
|
+
export declare const SUBMISSION_STATUSES: readonly ["pending_review", "approved", "rejected", "revision"];
|
|
289
|
+
export type SubmissionStatus = (typeof SUBMISSION_STATUSES)[number];
|
|
290
|
+
export declare function isSubmissionStatus(value: string): value is SubmissionStatus;
|
|
291
|
+
export interface TaskSubmission {
|
|
292
|
+
id: string;
|
|
293
|
+
orderId: string;
|
|
294
|
+
worker: string;
|
|
295
|
+
deliverables: Record<string, unknown>[];
|
|
296
|
+
notes?: string;
|
|
297
|
+
status: SubmissionStatus;
|
|
298
|
+
review?: {
|
|
299
|
+
approved: boolean;
|
|
300
|
+
feedback: string;
|
|
301
|
+
rating?: number;
|
|
302
|
+
reviewedAt?: number;
|
|
303
|
+
revisionDeadline?: number;
|
|
304
|
+
};
|
|
305
|
+
submittedAt: number;
|
|
306
|
+
updatedAt: number;
|
|
307
|
+
}
|
|
308
|
+
export declare const CAPABILITY_LEASE_STATUSES: readonly ["active", "paused", "exhausted", "expired", "cancelled", "terminated"];
|
|
309
|
+
export type CapabilityLeaseStatus = (typeof CAPABILITY_LEASE_STATUSES)[number];
|
|
310
|
+
export declare function isCapabilityLeaseStatus(value: string): value is CapabilityLeaseStatus;
|
|
311
|
+
export type CapabilityPlanType = 'pay_per_use' | 'time_based' | 'subscription' | 'credits';
|
|
312
|
+
export interface CapabilityLeasePlan {
|
|
313
|
+
type: CapabilityPlanType;
|
|
314
|
+
details?: Record<string, unknown>;
|
|
315
|
+
}
|
|
316
|
+
export interface CapabilityLease {
|
|
317
|
+
id: string;
|
|
318
|
+
listingId: string;
|
|
319
|
+
lessee: string;
|
|
320
|
+
lessor: string;
|
|
321
|
+
plan: CapabilityLeasePlan;
|
|
322
|
+
credentials?: Record<string, unknown>;
|
|
323
|
+
status: CapabilityLeaseStatus;
|
|
324
|
+
startedAt: number;
|
|
325
|
+
updatedAt: number;
|
|
326
|
+
expiresAt?: number;
|
|
327
|
+
lastUsedAt?: number;
|
|
328
|
+
metadata?: Record<string, unknown>;
|
|
329
|
+
}
|
|
330
|
+
export interface CapabilityUsageRecord {
|
|
331
|
+
id: string;
|
|
332
|
+
leaseId: string;
|
|
333
|
+
resource: string;
|
|
334
|
+
units: number;
|
|
335
|
+
latency: number;
|
|
336
|
+
success: boolean;
|
|
337
|
+
cost?: TokenAmount;
|
|
338
|
+
timestamp: number;
|
|
339
|
+
}
|
|
340
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/markets/types.ts"],"names":[],"mappings":"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"}
|