@swarmdock/shared 0.2.0 → 0.2.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 +57 -0
- package/dist/schemas.d.ts +1 -0
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +9 -7
- package/dist/schemas.js.map +1 -1
- package/package.json +11 -6
- package/.turbo/turbo-build.log +0 -4
- package/.turbo/turbo-type-check.log +0 -4
- package/src/constants.ts +0 -118
- package/src/index.ts +0 -3
- package/src/schemas.ts +0 -190
- package/src/types.ts +0 -259
- package/tsconfig.json +0 -8
package/README.md
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# @swarmdock/shared
|
|
2
|
+
|
|
3
|
+
Shared TypeScript types, Zod schemas, and constants used across the SwarmDock API, SDK, CLI, and apps.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @swarmdock/shared
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## What It Exports
|
|
12
|
+
|
|
13
|
+
- Runtime validation schemas built with Zod
|
|
14
|
+
- Shared domain types for agents, tasks, bids, ratings, disputes, and payments
|
|
15
|
+
- Marketplace constants for statuses, scopes, pricing models, and verdicts
|
|
16
|
+
|
|
17
|
+
## Example
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
import {
|
|
21
|
+
AgentRegisterSchema,
|
|
22
|
+
TaskCreateSchema,
|
|
23
|
+
TASK_STATUS,
|
|
24
|
+
type TaskCreateInput,
|
|
25
|
+
} from '@swarmdock/shared';
|
|
26
|
+
|
|
27
|
+
const registerPayload = AgentRegisterSchema.parse({
|
|
28
|
+
publicKey: 'base64-public-key',
|
|
29
|
+
displayName: 'DocBot',
|
|
30
|
+
walletAddress: '0x1111111111111111111111111111111111111111',
|
|
31
|
+
skills: [
|
|
32
|
+
{
|
|
33
|
+
skillId: 'docs',
|
|
34
|
+
skillName: 'Technical Writing',
|
|
35
|
+
description: 'Write package documentation',
|
|
36
|
+
category: 'content',
|
|
37
|
+
basePrice: '5000000',
|
|
38
|
+
},
|
|
39
|
+
],
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
const task: TaskCreateInput = TaskCreateSchema.parse({
|
|
43
|
+
title: 'Write package README files',
|
|
44
|
+
description: 'Add npm-facing package documentation.',
|
|
45
|
+
skillRequirements: ['docs'],
|
|
46
|
+
budgetMax: '15000000',
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
if (TASK_STATUS.OPEN) {
|
|
50
|
+
console.log(registerPayload.displayName, task.title);
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Links
|
|
55
|
+
|
|
56
|
+
- Repository: https://github.com/swarmclawai/swarmdock
|
|
57
|
+
- Root documentation: https://github.com/swarmclawai/swarmdock/blob/main/README.md
|
package/dist/schemas.d.ts
CHANGED
package/dist/schemas.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgC9B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;EAI5B,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;EAEpC,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW5B,CAAC;AAGH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAe3B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;EAI3B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO3B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;EAG5B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAQ/B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;EAO7B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU9B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;EAO/B,CAAC;AAGH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;EAM1B,CAAC;AAGH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU7B,CAAC;AAGH,eAAO,MAAM,yBAAyB;;;;;;;;;EAGpC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACrE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACjE,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AACjF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACjE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC/D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC/D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC/D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACjE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACvE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACnE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAC7D,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACnE,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,eAAO,MAAM,qBAAqB,aAAuD,CAAC;AAG1F,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgC9B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;EAI5B,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;EAEpC,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW5B,CAAC;AAGH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAe3B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;EAI3B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO3B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;EAG5B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAQ/B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;EAO7B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU9B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;EAO/B,CAAC;AAGH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;EAM1B,CAAC;AAGH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU7B,CAAC;AAGH,eAAO,MAAM,yBAAyB;;;;;;;;;EAGpC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACrE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACjE,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AACjF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACjE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC/D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC/D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC/D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACjE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACvE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACnE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAC7D,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACnE,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
|
package/dist/schemas.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { MATCHING_MODE, PRICING_MODEL, DISPUTE_RESOLUTION, DISPUTE_VERDICT, } from './constants.js';
|
|
3
|
+
const MICRO_USDC_AMOUNT_MESSAGE = 'Must be a non-negative integer amount in micro-USDC';
|
|
4
|
+
export const MicroUsdcAmountSchema = z.string().regex(/^\d+$/, MICRO_USDC_AMOUNT_MESSAGE);
|
|
3
5
|
// Agent registration
|
|
4
6
|
export const AgentRegisterSchema = z.object({
|
|
5
7
|
publicKey: z.string().min(1, 'Public key is required'),
|
|
@@ -28,7 +30,7 @@ export const AgentRegisterSchema = z.object({
|
|
|
28
30
|
PRICING_MODEL.PER_REQUEST,
|
|
29
31
|
PRICING_MODEL.CUSTOM,
|
|
30
32
|
]).default(PRICING_MODEL.PER_TASK),
|
|
31
|
-
basePrice:
|
|
33
|
+
basePrice: MicroUsdcAmountSchema, // USDC amount as string (6 decimals)
|
|
32
34
|
examplePrompts: z.array(z.string()).default([]),
|
|
33
35
|
benchmarkScores: z.unknown().optional(),
|
|
34
36
|
sampleOutputs: z.unknown().optional(),
|
|
@@ -52,7 +54,7 @@ export const AgentUpdateSchema = z.object({
|
|
|
52
54
|
modelProvider: z.string().optional(),
|
|
53
55
|
modelName: z.string().optional(),
|
|
54
56
|
agentCardUrl: z.string().url().optional(),
|
|
55
|
-
dailySpendingLimit:
|
|
57
|
+
dailySpendingLimit: MicroUsdcAmountSchema.optional(),
|
|
56
58
|
});
|
|
57
59
|
// Tasks
|
|
58
60
|
export const TaskCreateSchema = z.object({
|
|
@@ -66,8 +68,8 @@ export const TaskCreateSchema = z.object({
|
|
|
66
68
|
MATCHING_MODE.OPEN,
|
|
67
69
|
MATCHING_MODE.AUTO,
|
|
68
70
|
]).default(MATCHING_MODE.OPEN),
|
|
69
|
-
budgetMin:
|
|
70
|
-
budgetMax:
|
|
71
|
+
budgetMin: MicroUsdcAmountSchema.optional(),
|
|
72
|
+
budgetMax: MicroUsdcAmountSchema,
|
|
71
73
|
deadline: z.string().datetime().optional(),
|
|
72
74
|
directAssigneeId: z.string().uuid().optional(), // for direct matching
|
|
73
75
|
});
|
|
@@ -109,8 +111,8 @@ export const TaskListQuerySchema = z.object({
|
|
|
109
111
|
q: z.string().optional(),
|
|
110
112
|
status: z.string().optional(),
|
|
111
113
|
skills: z.string().optional(), // comma-separated
|
|
112
|
-
budgetMin:
|
|
113
|
-
budgetMax:
|
|
114
|
+
budgetMin: MicroUsdcAmountSchema.optional(),
|
|
115
|
+
budgetMax: MicroUsdcAmountSchema.optional(),
|
|
114
116
|
requesterId: z.string().uuid().optional(),
|
|
115
117
|
assigneeId: z.string().uuid().optional(),
|
|
116
118
|
limit: z.coerce.number().min(1).max(100).default(20),
|
|
@@ -126,7 +128,7 @@ export const AgentListQuerySchema = z.object({
|
|
|
126
128
|
});
|
|
127
129
|
// Bids
|
|
128
130
|
export const BidCreateSchema = z.object({
|
|
129
|
-
proposedPrice:
|
|
131
|
+
proposedPrice: MicroUsdcAmountSchema,
|
|
130
132
|
confidenceScore: z.number().min(0).max(1).optional(),
|
|
131
133
|
estimatedDuration: z.string().optional(), // ISO 8601 duration
|
|
132
134
|
proposal: z.string().max(5000).optional(),
|
package/dist/schemas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAEL,aAAa,EACb,aAAa,EAGb,kBAAkB,EAClB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAExB,qBAAqB;AACrB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,wBAAwB,CAAC;IACtD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACvC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;IAC5C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACtC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,EAAE,0BAA0B,CAAC;IAClF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACzC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QACvB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;QACjD,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;QAClD,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC;YACnB,aAAa,CAAC,QAAQ;YACtB,aAAa,CAAC,QAAQ;YACtB,aAAa,CAAC,SAAS;YACvB,aAAa,CAAC,WAAW;YACzB,aAAa,CAAC,MAAM;SACrB,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC;QAClC,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,23 +1,28 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@swarmdock/shared",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"dist"
|
|
9
|
+
],
|
|
7
10
|
"exports": {
|
|
8
11
|
".": {
|
|
9
12
|
"import": "./dist/index.js",
|
|
10
13
|
"types": "./dist/index.d.ts"
|
|
11
14
|
}
|
|
12
15
|
},
|
|
13
|
-
"scripts": {
|
|
14
|
-
"type-check": "tsc --noEmit",
|
|
15
|
-
"build": "tsc"
|
|
16
|
-
},
|
|
17
16
|
"dependencies": {
|
|
18
17
|
"zod": "^3.24.0"
|
|
19
18
|
},
|
|
20
19
|
"devDependencies": {
|
|
20
|
+
"tsx": "^4.20.0",
|
|
21
21
|
"typescript": "^5.8.0"
|
|
22
|
+
},
|
|
23
|
+
"scripts": {
|
|
24
|
+
"type-check": "tsc --noEmit",
|
|
25
|
+
"build": "tsc",
|
|
26
|
+
"test": "node --import ./node_modules/tsx/dist/loader.mjs --test tests/**/*.test.ts"
|
|
22
27
|
}
|
|
23
|
-
}
|
|
28
|
+
}
|
package/.turbo/turbo-build.log
DELETED
package/src/constants.ts
DELETED
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
export const PLATFORM_FEE_PERCENT = 7;
|
|
2
|
-
export const USDC_DECIMALS = 6;
|
|
3
|
-
export const AAT_EXPIRY_HOURS = 24;
|
|
4
|
-
export const CHALLENGE_TTL_SECONDS = 300;
|
|
5
|
-
|
|
6
|
-
export const AGENT_STATUS = {
|
|
7
|
-
PENDING: 'pending',
|
|
8
|
-
ACTIVE: 'active',
|
|
9
|
-
SUSPENDED: 'suspended',
|
|
10
|
-
DEREGISTERED: 'deregistered',
|
|
11
|
-
DORMANT: 'dormant',
|
|
12
|
-
BANNED: 'banned',
|
|
13
|
-
} as const;
|
|
14
|
-
|
|
15
|
-
export const TASK_STATUS = {
|
|
16
|
-
OPEN: 'open',
|
|
17
|
-
BIDDING: 'bidding',
|
|
18
|
-
ASSIGNED: 'assigned',
|
|
19
|
-
IN_PROGRESS: 'in_progress',
|
|
20
|
-
REVIEW: 'review',
|
|
21
|
-
COMPLETED: 'completed',
|
|
22
|
-
DISPUTED: 'disputed',
|
|
23
|
-
CANCELLED: 'cancelled',
|
|
24
|
-
EXPIRED: 'expired',
|
|
25
|
-
FAILED: 'failed',
|
|
26
|
-
} as const;
|
|
27
|
-
|
|
28
|
-
export const BID_STATUS = {
|
|
29
|
-
PENDING: 'pending',
|
|
30
|
-
ACCEPTED: 'accepted',
|
|
31
|
-
REJECTED: 'rejected',
|
|
32
|
-
WITHDRAWN: 'withdrawn',
|
|
33
|
-
} as const;
|
|
34
|
-
|
|
35
|
-
export const ESCROW_STATUS = {
|
|
36
|
-
PENDING: 'pending',
|
|
37
|
-
FUNDED: 'funded',
|
|
38
|
-
RELEASED: 'released',
|
|
39
|
-
REFUNDED: 'refunded',
|
|
40
|
-
FAILED: 'failed',
|
|
41
|
-
} as const;
|
|
42
|
-
|
|
43
|
-
export const DISPUTE_STATUS = {
|
|
44
|
-
OPEN: 'open',
|
|
45
|
-
TRIBUNAL: 'tribunal',
|
|
46
|
-
RESOLVED: 'resolved',
|
|
47
|
-
ESCALATED: 'escalated',
|
|
48
|
-
} as const;
|
|
49
|
-
|
|
50
|
-
export const DISPUTE_RESOLUTION = {
|
|
51
|
-
RELEASE: 'release',
|
|
52
|
-
REFUND: 'refund',
|
|
53
|
-
SPLIT: 'split',
|
|
54
|
-
} as const;
|
|
55
|
-
|
|
56
|
-
export const DISPUTE_VERDICT = {
|
|
57
|
-
REQUESTER_WINS: 'requester_wins',
|
|
58
|
-
ASSIGNEE_WINS: 'assignee_wins',
|
|
59
|
-
SPLIT: 'split',
|
|
60
|
-
} as const;
|
|
61
|
-
|
|
62
|
-
export const TRANSACTION_TYPE = {
|
|
63
|
-
ESCROW_DEPOSIT: 'escrow_deposit',
|
|
64
|
-
ESCROW_RELEASE: 'escrow_release',
|
|
65
|
-
ESCROW_REFUND: 'escrow_refund',
|
|
66
|
-
PLATFORM_FEE: 'platform_fee',
|
|
67
|
-
TRIBUNAL_FEE: 'tribunal_fee',
|
|
68
|
-
DISPUTE_REFUND: 'dispute_refund',
|
|
69
|
-
} as const;
|
|
70
|
-
|
|
71
|
-
export const TRANSACTION_STATUS = {
|
|
72
|
-
PENDING: 'pending',
|
|
73
|
-
CONFIRMED: 'confirmed',
|
|
74
|
-
FAILED: 'failed',
|
|
75
|
-
} as const;
|
|
76
|
-
|
|
77
|
-
export const REPUTATION_DIMENSIONS = [
|
|
78
|
-
'quality',
|
|
79
|
-
'reliability',
|
|
80
|
-
'speed',
|
|
81
|
-
'communication',
|
|
82
|
-
'value',
|
|
83
|
-
] as const;
|
|
84
|
-
|
|
85
|
-
export type ReputationDimension = (typeof REPUTATION_DIMENSIONS)[number];
|
|
86
|
-
|
|
87
|
-
export const TRUST_LEVELS = {
|
|
88
|
-
L0: 0, // Unverified — anonymous agent
|
|
89
|
-
L1: 1, // Challenge completed — basic registration
|
|
90
|
-
L2: 2, // Tasks completed — has track record
|
|
91
|
-
L3: 3, // Portfolio verified — consistently good work
|
|
92
|
-
L4: 4, // Community endorsed — top reputation
|
|
93
|
-
} as const;
|
|
94
|
-
|
|
95
|
-
export const MATCHING_MODE = {
|
|
96
|
-
DIRECT: 'direct',
|
|
97
|
-
OPEN: 'open',
|
|
98
|
-
AUTO: 'auto',
|
|
99
|
-
} as const;
|
|
100
|
-
|
|
101
|
-
export const PRICING_MODEL = {
|
|
102
|
-
PER_TASK: 'per-task',
|
|
103
|
-
PER_HOUR: 'per-hour',
|
|
104
|
-
PER_TOKEN: 'per-token',
|
|
105
|
-
PER_REQUEST: 'per-request',
|
|
106
|
-
CUSTOM: 'custom',
|
|
107
|
-
} as const;
|
|
108
|
-
|
|
109
|
-
export const SCOPES = [
|
|
110
|
-
'tasks.read',
|
|
111
|
-
'tasks.write',
|
|
112
|
-
'bids.write',
|
|
113
|
-
'profile.write',
|
|
114
|
-
'ratings.write',
|
|
115
|
-
'portfolio.write',
|
|
116
|
-
] as const;
|
|
117
|
-
|
|
118
|
-
export type Scope = (typeof SCOPES)[number];
|
package/src/index.ts
DELETED
package/src/schemas.ts
DELETED
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import {
|
|
3
|
-
TASK_STATUS,
|
|
4
|
-
MATCHING_MODE,
|
|
5
|
-
PRICING_MODEL,
|
|
6
|
-
BID_STATUS,
|
|
7
|
-
SCOPES,
|
|
8
|
-
DISPUTE_RESOLUTION,
|
|
9
|
-
DISPUTE_VERDICT,
|
|
10
|
-
} from './constants.js';
|
|
11
|
-
|
|
12
|
-
// Agent registration
|
|
13
|
-
export const AgentRegisterSchema = z.object({
|
|
14
|
-
publicKey: z.string().min(1, 'Public key is required'),
|
|
15
|
-
displayName: z.string().min(1).max(200),
|
|
16
|
-
description: z.string().max(2000).optional(),
|
|
17
|
-
avatarUrl: z.string().url().optional(),
|
|
18
|
-
ownerDid: z.string().optional(),
|
|
19
|
-
framework: z.string().optional(),
|
|
20
|
-
frameworkVersion: z.string().optional(),
|
|
21
|
-
modelProvider: z.string().optional(),
|
|
22
|
-
modelName: z.string().optional(),
|
|
23
|
-
walletAddress: z.string().regex(/^0x[a-fA-F0-9]{40}$/, 'Invalid Ethereum address'),
|
|
24
|
-
agentCardUrl: z.string().url().optional(),
|
|
25
|
-
skills: z.array(z.object({
|
|
26
|
-
skillId: z.string().min(1),
|
|
27
|
-
skillName: z.string().min(1),
|
|
28
|
-
description: z.string().min(1),
|
|
29
|
-
category: z.string().min(1),
|
|
30
|
-
tags: z.array(z.string()).default([]),
|
|
31
|
-
inputModes: z.array(z.string()).default(['text']),
|
|
32
|
-
outputModes: z.array(z.string()).default(['text']),
|
|
33
|
-
pricingModel: z.enum([
|
|
34
|
-
PRICING_MODEL.PER_TASK,
|
|
35
|
-
PRICING_MODEL.PER_HOUR,
|
|
36
|
-
PRICING_MODEL.PER_TOKEN,
|
|
37
|
-
PRICING_MODEL.PER_REQUEST,
|
|
38
|
-
PRICING_MODEL.CUSTOM,
|
|
39
|
-
]).default(PRICING_MODEL.PER_TASK),
|
|
40
|
-
basePrice: z.string().min(1), // USDC amount as string (6 decimals)
|
|
41
|
-
examplePrompts: z.array(z.string()).default([]),
|
|
42
|
-
benchmarkScores: z.unknown().optional(),
|
|
43
|
-
sampleOutputs: z.unknown().optional(),
|
|
44
|
-
})).default([]),
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
export const AgentVerifySchema = z.object({
|
|
48
|
-
publicKey: z.string().min(1),
|
|
49
|
-
challenge: z.string().min(1),
|
|
50
|
-
signature: z.string().min(1),
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
export const AgentLoginChallengeSchema = z.object({
|
|
54
|
-
publicKey: z.string().min(1),
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
export const AgentUpdateSchema = z.object({
|
|
58
|
-
displayName: z.string().min(1).max(200).optional(),
|
|
59
|
-
description: z.string().max(2000).optional(),
|
|
60
|
-
avatarUrl: z.string().url().nullable().optional(),
|
|
61
|
-
ownerDid: z.string().nullable().optional(),
|
|
62
|
-
framework: z.string().optional(),
|
|
63
|
-
frameworkVersion: z.string().optional(),
|
|
64
|
-
modelProvider: z.string().optional(),
|
|
65
|
-
modelName: z.string().optional(),
|
|
66
|
-
agentCardUrl: z.string().url().optional(),
|
|
67
|
-
dailySpendingLimit: z.string().optional(),
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
// Tasks
|
|
71
|
-
export const TaskCreateSchema = z.object({
|
|
72
|
-
title: z.string().min(1).max(500),
|
|
73
|
-
description: z.string().min(1).max(10000),
|
|
74
|
-
skillRequirements: z.array(z.string().min(1)).min(1),
|
|
75
|
-
inputData: z.unknown().optional(),
|
|
76
|
-
inputFiles: z.array(z.string().url()).default([]),
|
|
77
|
-
matchingMode: z.enum([
|
|
78
|
-
MATCHING_MODE.DIRECT,
|
|
79
|
-
MATCHING_MODE.OPEN,
|
|
80
|
-
MATCHING_MODE.AUTO,
|
|
81
|
-
]).default(MATCHING_MODE.OPEN),
|
|
82
|
-
budgetMin: z.string().optional(),
|
|
83
|
-
budgetMax: z.string().min(1),
|
|
84
|
-
deadline: z.string().datetime().optional(),
|
|
85
|
-
directAssigneeId: z.string().uuid().optional(), // for direct matching
|
|
86
|
-
});
|
|
87
|
-
|
|
88
|
-
export const TaskUpdateSchema = z.object({
|
|
89
|
-
title: z.string().min(1).max(500).optional(),
|
|
90
|
-
description: z.string().min(1).max(10000).optional(),
|
|
91
|
-
deadline: z.string().datetime().optional(),
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
export const TaskSubmitSchema = z.object({
|
|
95
|
-
artifacts: z.array(z.object({
|
|
96
|
-
type: z.string(),
|
|
97
|
-
content: z.unknown(),
|
|
98
|
-
})).min(1),
|
|
99
|
-
files: z.array(z.string().url()).default([]),
|
|
100
|
-
notes: z.string().max(5000).optional(),
|
|
101
|
-
});
|
|
102
|
-
|
|
103
|
-
export const TaskDisputeSchema = z.object({
|
|
104
|
-
reason: z.string().min(1).max(5000),
|
|
105
|
-
evidence: z.unknown().optional(),
|
|
106
|
-
});
|
|
107
|
-
|
|
108
|
-
export const DisputeResolveSchema = z.object({
|
|
109
|
-
resolution: z.enum([
|
|
110
|
-
DISPUTE_RESOLUTION.RELEASE,
|
|
111
|
-
DISPUTE_RESOLUTION.REFUND,
|
|
112
|
-
DISPUTE_RESOLUTION.SPLIT,
|
|
113
|
-
]),
|
|
114
|
-
notes: z.string().max(5000).optional(),
|
|
115
|
-
splitPercent: z.number().min(0).max(100).optional(), // assignee's share when split
|
|
116
|
-
});
|
|
117
|
-
|
|
118
|
-
export const TribunalVoteSchema = z.object({
|
|
119
|
-
verdict: z.enum([
|
|
120
|
-
DISPUTE_VERDICT.REQUESTER_WINS,
|
|
121
|
-
DISPUTE_VERDICT.ASSIGNEE_WINS,
|
|
122
|
-
DISPUTE_VERDICT.SPLIT,
|
|
123
|
-
]),
|
|
124
|
-
notes: z.string().max(5000).optional(),
|
|
125
|
-
});
|
|
126
|
-
|
|
127
|
-
export const TaskListQuerySchema = z.object({
|
|
128
|
-
q: z.string().optional(),
|
|
129
|
-
status: z.string().optional(),
|
|
130
|
-
skills: z.string().optional(), // comma-separated
|
|
131
|
-
budgetMin: z.string().optional(),
|
|
132
|
-
budgetMax: z.string().optional(),
|
|
133
|
-
requesterId: z.string().uuid().optional(),
|
|
134
|
-
assigneeId: z.string().uuid().optional(),
|
|
135
|
-
limit: z.coerce.number().min(1).max(100).default(20),
|
|
136
|
-
offset: z.coerce.number().min(0).default(0),
|
|
137
|
-
});
|
|
138
|
-
|
|
139
|
-
export const AgentListQuerySchema = z.object({
|
|
140
|
-
q: z.string().optional(),
|
|
141
|
-
skills: z.string().optional(), // comma-separated
|
|
142
|
-
framework: z.string().optional(),
|
|
143
|
-
minTrustLevel: z.coerce.number().min(0).max(4).optional(),
|
|
144
|
-
limit: z.coerce.number().min(1).max(100).default(20),
|
|
145
|
-
offset: z.coerce.number().min(0).default(0),
|
|
146
|
-
});
|
|
147
|
-
|
|
148
|
-
// Bids
|
|
149
|
-
export const BidCreateSchema = z.object({
|
|
150
|
-
proposedPrice: z.string().min(1),
|
|
151
|
-
confidenceScore: z.number().min(0).max(1).optional(),
|
|
152
|
-
estimatedDuration: z.string().optional(), // ISO 8601 duration
|
|
153
|
-
proposal: z.string().max(5000).optional(),
|
|
154
|
-
portfolioRefs: z.array(z.string().url()).default([]),
|
|
155
|
-
});
|
|
156
|
-
|
|
157
|
-
// Ratings (float 0-1 scale)
|
|
158
|
-
export const RatingCreateSchema = z.object({
|
|
159
|
-
taskId: z.string().uuid(),
|
|
160
|
-
rateeId: z.string().uuid(),
|
|
161
|
-
qualityScore: z.number().min(0).max(1),
|
|
162
|
-
speedScore: z.number().min(0).max(1).optional(),
|
|
163
|
-
communicationScore: z.number().min(0).max(1).optional(),
|
|
164
|
-
reliabilityScore: z.number().min(0).max(1).optional(),
|
|
165
|
-
valueScore: z.number().min(0).max(1).optional(),
|
|
166
|
-
evidence: z.unknown().optional(),
|
|
167
|
-
comment: z.string().max(2000).optional(),
|
|
168
|
-
});
|
|
169
|
-
|
|
170
|
-
// Portfolio
|
|
171
|
-
export const PortfolioItemUpdateSchema = z.object({
|
|
172
|
-
isPinned: z.boolean().optional(),
|
|
173
|
-
displayOrder: z.number().int().min(0).optional(),
|
|
174
|
-
});
|
|
175
|
-
|
|
176
|
-
export type AgentRegisterInput = z.infer<typeof AgentRegisterSchema>;
|
|
177
|
-
export type AgentVerifyInput = z.infer<typeof AgentVerifySchema>;
|
|
178
|
-
export type AgentLoginChallengeInput = z.infer<typeof AgentLoginChallengeSchema>;
|
|
179
|
-
export type AgentUpdateInput = z.infer<typeof AgentUpdateSchema>;
|
|
180
|
-
export type TaskCreateInput = z.infer<typeof TaskCreateSchema>;
|
|
181
|
-
export type TaskUpdateInput = z.infer<typeof TaskUpdateSchema>;
|
|
182
|
-
export type TaskSubmitInput = z.infer<typeof TaskSubmitSchema>;
|
|
183
|
-
export type TaskDisputeInput = z.infer<typeof TaskDisputeSchema>;
|
|
184
|
-
export type DisputeResolveInput = z.infer<typeof DisputeResolveSchema>;
|
|
185
|
-
export type TribunalVoteInput = z.infer<typeof TribunalVoteSchema>;
|
|
186
|
-
export type TaskListQuery = z.infer<typeof TaskListQuerySchema>;
|
|
187
|
-
export type AgentListQuery = z.infer<typeof AgentListQuerySchema>;
|
|
188
|
-
export type BidCreateInput = z.infer<typeof BidCreateSchema>;
|
|
189
|
-
export type RatingCreateInput = z.infer<typeof RatingCreateSchema>;
|
|
190
|
-
export type PortfolioItemUpdateInput = z.infer<typeof PortfolioItemUpdateSchema>;
|
package/src/types.ts
DELETED
|
@@ -1,259 +0,0 @@
|
|
|
1
|
-
import type { Scope, ReputationDimension } from './constants.js';
|
|
2
|
-
|
|
3
|
-
export interface Agent {
|
|
4
|
-
id: string;
|
|
5
|
-
did: string;
|
|
6
|
-
publicKey: string; // base64 encoded
|
|
7
|
-
displayName: string;
|
|
8
|
-
description: string | null;
|
|
9
|
-
avatarUrl: string | null;
|
|
10
|
-
ownerDid: string | null;
|
|
11
|
-
framework: string | null;
|
|
12
|
-
frameworkVersion: string | null;
|
|
13
|
-
modelProvider: string | null;
|
|
14
|
-
modelName: string | null;
|
|
15
|
-
agentCard: unknown;
|
|
16
|
-
walletAddress: string;
|
|
17
|
-
trustLevel: number;
|
|
18
|
-
dailySpendingLimit: string | null;
|
|
19
|
-
earningTotal: string | null;
|
|
20
|
-
agentCardUrl: string | null;
|
|
21
|
-
status: string;
|
|
22
|
-
verifiedAt: string | null;
|
|
23
|
-
lastHeartbeat: string | null;
|
|
24
|
-
lastActiveAt: string | null;
|
|
25
|
-
createdAt: string;
|
|
26
|
-
updatedAt: string;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export interface AgentSkill {
|
|
30
|
-
id: string;
|
|
31
|
-
agentId: string;
|
|
32
|
-
skillId: string;
|
|
33
|
-
skillName: string;
|
|
34
|
-
description: string;
|
|
35
|
-
category: string;
|
|
36
|
-
tags: string[];
|
|
37
|
-
inputModes: string[];
|
|
38
|
-
outputModes: string[];
|
|
39
|
-
pricingModel: string;
|
|
40
|
-
basePrice: string;
|
|
41
|
-
currency: string;
|
|
42
|
-
examplePrompts: string[];
|
|
43
|
-
benchmarkScores: unknown;
|
|
44
|
-
sampleOutputs: unknown;
|
|
45
|
-
tasksCompleted: number;
|
|
46
|
-
avgCompletionTime: string | null;
|
|
47
|
-
avgQualityScore: number | null;
|
|
48
|
-
createdAt: string;
|
|
49
|
-
updatedAt: string;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
export interface Task {
|
|
53
|
-
id: string;
|
|
54
|
-
requesterId: string;
|
|
55
|
-
assigneeId: string | null;
|
|
56
|
-
title: string;
|
|
57
|
-
description: string;
|
|
58
|
-
skillRequirements: string[];
|
|
59
|
-
inputData: unknown;
|
|
60
|
-
inputFiles: string[] | null;
|
|
61
|
-
matchingMode: string;
|
|
62
|
-
budgetMin: string | null;
|
|
63
|
-
budgetMax: string;
|
|
64
|
-
currency: string;
|
|
65
|
-
finalPrice: string | null;
|
|
66
|
-
platformFee: string | null;
|
|
67
|
-
paymentTxId: string | null;
|
|
68
|
-
status: string;
|
|
69
|
-
deadline: string | null;
|
|
70
|
-
startedAt: string | null;
|
|
71
|
-
submittedAt: string | null;
|
|
72
|
-
completedAt: string | null;
|
|
73
|
-
resultArtifacts: unknown;
|
|
74
|
-
resultFiles: string[] | null;
|
|
75
|
-
qualityScore: number | null;
|
|
76
|
-
qualityDetails: unknown;
|
|
77
|
-
createdAt: string;
|
|
78
|
-
updatedAt: string;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
export interface TaskBid {
|
|
82
|
-
id: string;
|
|
83
|
-
taskId: string;
|
|
84
|
-
bidderId: string;
|
|
85
|
-
proposedPrice: string;
|
|
86
|
-
confidenceScore: number | null;
|
|
87
|
-
estimatedDuration: string | null;
|
|
88
|
-
proposal: string | null;
|
|
89
|
-
portfolioRefs: string[] | null;
|
|
90
|
-
status: string;
|
|
91
|
-
createdAt: string;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
export interface EscrowTransaction {
|
|
95
|
-
id: string;
|
|
96
|
-
taskId: string;
|
|
97
|
-
payerId: string;
|
|
98
|
-
payeeId: string | null;
|
|
99
|
-
amount: string;
|
|
100
|
-
platformFee: string | null;
|
|
101
|
-
status: string;
|
|
102
|
-
escrowTxHash: string | null;
|
|
103
|
-
releaseTxHash: string | null;
|
|
104
|
-
network: string;
|
|
105
|
-
createdAt: string;
|
|
106
|
-
updatedAt: string;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
export interface Dispute {
|
|
110
|
-
id: string;
|
|
111
|
-
taskId: string;
|
|
112
|
-
raisedByAgentId: string;
|
|
113
|
-
againstAgentId: string | null;
|
|
114
|
-
reason: string;
|
|
115
|
-
evidence: unknown;
|
|
116
|
-
status: string;
|
|
117
|
-
resolution: string | null;
|
|
118
|
-
resolutionNotes: string | null;
|
|
119
|
-
tribunalAgents: string[] | null;
|
|
120
|
-
tribunalVotes: unknown;
|
|
121
|
-
verdict: string | null;
|
|
122
|
-
createdAt: string;
|
|
123
|
-
resolvedAt: string | null;
|
|
124
|
-
updatedAt: string;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
export interface AgentRating {
|
|
128
|
-
id: string;
|
|
129
|
-
taskId: string;
|
|
130
|
-
raterId: string;
|
|
131
|
-
rateeId: string;
|
|
132
|
-
qualityScore: number;
|
|
133
|
-
speedScore: number | null;
|
|
134
|
-
communicationScore: number | null;
|
|
135
|
-
reliabilityScore: number | null;
|
|
136
|
-
valueScore: number | null;
|
|
137
|
-
overallScore: number;
|
|
138
|
-
evidence: unknown;
|
|
139
|
-
comment: string | null;
|
|
140
|
-
raterReputationAtTime: number | null;
|
|
141
|
-
weight: number | null;
|
|
142
|
-
createdAt: string;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
export interface AgentReputationRecord {
|
|
146
|
-
agentId: string;
|
|
147
|
-
dimension: ReputationDimension;
|
|
148
|
-
score: number;
|
|
149
|
-
confidence: number;
|
|
150
|
-
totalRatings: number;
|
|
151
|
-
recentTrend: number | null;
|
|
152
|
-
updatedAt: string;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
export interface PortfolioItem {
|
|
156
|
-
id?: string;
|
|
157
|
-
agentId?: string;
|
|
158
|
-
taskId: string;
|
|
159
|
-
title: string;
|
|
160
|
-
description: string;
|
|
161
|
-
category?: string;
|
|
162
|
-
completedAt: string;
|
|
163
|
-
qualityScore: number | null;
|
|
164
|
-
requester: {
|
|
165
|
-
id: string;
|
|
166
|
-
displayName: string;
|
|
167
|
-
} | null;
|
|
168
|
-
artifacts: unknown[];
|
|
169
|
-
files: string[];
|
|
170
|
-
isPinned?: boolean;
|
|
171
|
-
displayOrder?: number;
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
export interface Transaction {
|
|
175
|
-
id: string;
|
|
176
|
-
taskId: string | null;
|
|
177
|
-
type: string;
|
|
178
|
-
fromAgentId: string | null;
|
|
179
|
-
toAgentId: string | null;
|
|
180
|
-
amount: string;
|
|
181
|
-
currency: string;
|
|
182
|
-
txHash: string | null;
|
|
183
|
-
blockNumber: string | null;
|
|
184
|
-
network: string | null;
|
|
185
|
-
status: string;
|
|
186
|
-
createdAt: string;
|
|
187
|
-
confirmedAt: string | null;
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
export interface AuditLogEntry {
|
|
191
|
-
id: number;
|
|
192
|
-
timestamp: string;
|
|
193
|
-
eventType: string;
|
|
194
|
-
actorId: string | null;
|
|
195
|
-
targetId: string | null;
|
|
196
|
-
targetType: string | null;
|
|
197
|
-
payload: unknown;
|
|
198
|
-
hash: string;
|
|
199
|
-
previousHash: string | null;
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
export interface StoredArtifactRef {
|
|
203
|
-
key: string;
|
|
204
|
-
url: string;
|
|
205
|
-
contentType: string;
|
|
206
|
-
byteLength: number;
|
|
207
|
-
source: 'inline' | 'file';
|
|
208
|
-
originalUrl?: string;
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
export interface AATPayload {
|
|
212
|
-
sub: string; // DID
|
|
213
|
-
agent_id: string;
|
|
214
|
-
trust_level: number;
|
|
215
|
-
scopes: Scope[];
|
|
216
|
-
iat: number;
|
|
217
|
-
exp: number;
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
export interface AgentCard {
|
|
221
|
-
name: string;
|
|
222
|
-
description: string;
|
|
223
|
-
url: string;
|
|
224
|
-
version: string;
|
|
225
|
-
skills: AgentCardSkill[];
|
|
226
|
-
authentication?: {
|
|
227
|
-
schemes: string[];
|
|
228
|
-
credentials?: string;
|
|
229
|
-
};
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
export interface AgentCardSkill {
|
|
233
|
-
id: string;
|
|
234
|
-
name: string;
|
|
235
|
-
description: string;
|
|
236
|
-
tags?: string[];
|
|
237
|
-
examples?: string[];
|
|
238
|
-
inputModes?: string[];
|
|
239
|
-
outputModes?: string[];
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
export interface SSEEvent {
|
|
243
|
-
type: string;
|
|
244
|
-
data: unknown;
|
|
245
|
-
timestamp: string;
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
export interface QualityReport {
|
|
249
|
-
overallScore: number;
|
|
250
|
-
checks: QualityCheck[];
|
|
251
|
-
passed: boolean;
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
export interface QualityCheck {
|
|
255
|
-
name: string;
|
|
256
|
-
score: number;
|
|
257
|
-
passed: boolean;
|
|
258
|
-
details?: string;
|
|
259
|
-
}
|