@swarmdock/sdk 0.2.0 → 0.2.1

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/client.js CHANGED
@@ -498,7 +498,7 @@ export class SwarmDockAgent {
498
498
  description: s.description,
499
499
  category: s.category,
500
500
  tags: [],
501
- pricingModel: s.pricing?.model ?? 'fixed',
501
+ pricingModel: s.pricing?.model ?? 'per-task',
502
502
  basePrice: String(s.pricing?.basePrice ?? 0),
503
503
  examplePrompts: s.examples ?? [],
504
504
  })),
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -4,5 +4,26 @@ export declare class SwarmDockError extends Error {
4
4
  readonly details?: unknown;
5
5
  constructor(status: number, message: string, details?: unknown);
6
6
  private static statusToCode;
7
+ /** Create the appropriate error subclass based on HTTP status */
8
+ static fromResponse(status: number, message: string, details?: unknown): SwarmDockError;
9
+ }
10
+ export declare class ValidationError extends SwarmDockError {
11
+ constructor(message?: string, details?: unknown);
12
+ }
13
+ export declare class AuthenticationError extends SwarmDockError {
14
+ constructor(message?: string, details?: unknown);
15
+ }
16
+ export declare class AuthorizationError extends SwarmDockError {
17
+ constructor(message?: string, details?: unknown);
18
+ }
19
+ export declare class NotFoundError extends SwarmDockError {
20
+ constructor(message?: string, details?: unknown);
21
+ }
22
+ export declare class ConflictError extends SwarmDockError {
23
+ constructor(message?: string, details?: unknown);
24
+ }
25
+ export declare class RateLimitError extends SwarmDockError {
26
+ readonly retryAfter?: number;
27
+ constructor(retryAfter?: number, details?: unknown);
7
28
  }
8
29
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;gBAEf,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;IAQ9D,OAAO,CAAC,MAAM,CAAC,YAAY;CAY5B"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;gBAEf,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;IAQ9D,OAAO,CAAC,MAAM,CAAC,YAAY;IAa3B,iEAAiE;IACjE,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,cAAc;CAWxF;AAED,qBAAa,eAAgB,SAAQ,cAAc;gBACrC,OAAO,SAAsB,EAAE,OAAO,CAAC,EAAE,OAAO;CAI7D;AAED,qBAAa,mBAAoB,SAAQ,cAAc;gBACzC,OAAO,SAA0B,EAAE,OAAO,CAAC,EAAE,OAAO;CAIjE;AAED,qBAAa,kBAAmB,SAAQ,cAAc;gBACxC,OAAO,SAA6B,EAAE,OAAO,CAAC,EAAE,OAAO;CAIpE;AAED,qBAAa,aAAc,SAAQ,cAAc;gBACnC,OAAO,SAAuB,EAAE,OAAO,CAAC,EAAE,OAAO;CAI9D;AAED,qBAAa,aAAc,SAAQ,cAAc;gBACnC,OAAO,SAAsB,EAAE,OAAO,CAAC,EAAE,OAAO;CAI7D;AAED,qBAAa,cAAe,SAAQ,cAAc;IAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;gBACjB,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAKnD"}
package/dist/errors.js CHANGED
@@ -21,5 +21,55 @@ export class SwarmDockError extends Error {
21
21
  default: return 'UNKNOWN_ERROR';
22
22
  }
23
23
  }
24
+ /** Create the appropriate error subclass based on HTTP status */
25
+ static fromResponse(status, message, details) {
26
+ switch (status) {
27
+ case 400: return new ValidationError(message, details);
28
+ case 401: return new AuthenticationError(message, details);
29
+ case 403: return new AuthorizationError(message, details);
30
+ case 404: return new NotFoundError(message, details);
31
+ case 409: return new ConflictError(message, details);
32
+ case 429: return new RateLimitError(undefined, details);
33
+ default: return new SwarmDockError(status, message, details);
34
+ }
35
+ }
36
+ }
37
+ export class ValidationError extends SwarmDockError {
38
+ constructor(message = 'Validation failed', details) {
39
+ super(400, message, details);
40
+ this.name = 'ValidationError';
41
+ }
42
+ }
43
+ export class AuthenticationError extends SwarmDockError {
44
+ constructor(message = 'Authentication failed', details) {
45
+ super(401, message, details);
46
+ this.name = 'AuthenticationError';
47
+ }
48
+ }
49
+ export class AuthorizationError extends SwarmDockError {
50
+ constructor(message = 'Insufficient permissions', details) {
51
+ super(403, message, details);
52
+ this.name = 'AuthorizationError';
53
+ }
54
+ }
55
+ export class NotFoundError extends SwarmDockError {
56
+ constructor(message = 'Resource not found', details) {
57
+ super(404, message, details);
58
+ this.name = 'NotFoundError';
59
+ }
60
+ }
61
+ export class ConflictError extends SwarmDockError {
62
+ constructor(message = 'Resource conflict', details) {
63
+ super(409, message, details);
64
+ this.name = 'ConflictError';
65
+ }
66
+ }
67
+ export class RateLimitError extends SwarmDockError {
68
+ retryAfter;
69
+ constructor(retryAfter, details) {
70
+ super(429, 'Rate limit exceeded', details);
71
+ this.name = 'RateLimitError';
72
+ this.retryAfter = retryAfter;
73
+ }
24
74
  }
25
75
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,cAAe,SAAQ,KAAK;IAC9B,MAAM,CAAS;IACf,IAAI,CAAS;IACb,OAAO,CAAW;IAE3B,YAAY,MAAc,EAAE,OAAe,EAAE,OAAiB;QAC5D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEO,MAAM,CAAC,YAAY,CAAC,MAAc;QACxC,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,GAAG,CAAC,CAAC,OAAO,aAAa,CAAC;YAC/B,KAAK,GAAG,CAAC,CAAC,OAAO,cAAc,CAAC;YAChC,KAAK,GAAG,CAAC,CAAC,OAAO,WAAW,CAAC;YAC7B,KAAK,GAAG,CAAC,CAAC,OAAO,WAAW,CAAC;YAC7B,KAAK,GAAG,CAAC,CAAC,OAAO,UAAU,CAAC;YAC5B,KAAK,GAAG,CAAC,CAAC,OAAO,cAAc,CAAC;YAChC,KAAK,GAAG,CAAC,CAAC,OAAO,gBAAgB,CAAC;YAClC,OAAO,CAAC,CAAC,OAAO,eAAe,CAAC;QAClC,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,cAAe,SAAQ,KAAK;IAC9B,MAAM,CAAS;IACf,IAAI,CAAS;IACb,OAAO,CAAW;IAE3B,YAAY,MAAc,EAAE,OAAe,EAAE,OAAiB;QAC5D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEO,MAAM,CAAC,YAAY,CAAC,MAAc;QACxC,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,GAAG,CAAC,CAAC,OAAO,aAAa,CAAC;YAC/B,KAAK,GAAG,CAAC,CAAC,OAAO,cAAc,CAAC;YAChC,KAAK,GAAG,CAAC,CAAC,OAAO,WAAW,CAAC;YAC7B,KAAK,GAAG,CAAC,CAAC,OAAO,WAAW,CAAC;YAC7B,KAAK,GAAG,CAAC,CAAC,OAAO,UAAU,CAAC;YAC5B,KAAK,GAAG,CAAC,CAAC,OAAO,cAAc,CAAC;YAChC,KAAK,GAAG,CAAC,CAAC,OAAO,gBAAgB,CAAC;YAClC,OAAO,CAAC,CAAC,OAAO,eAAe,CAAC;QAClC,CAAC;IACH,CAAC;IAED,iEAAiE;IACjE,MAAM,CAAC,YAAY,CAAC,MAAc,EAAE,OAAe,EAAE,OAAiB;QACpE,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,GAAG,CAAC,CAAC,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACvD,KAAK,GAAG,CAAC,CAAC,OAAO,IAAI,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC3D,KAAK,GAAG,CAAC,CAAC,OAAO,IAAI,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC1D,KAAK,GAAG,CAAC,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACrD,KAAK,GAAG,CAAC,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACrD,KAAK,GAAG,CAAC,CAAC,OAAO,IAAI,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACxD,OAAO,CAAC,CAAC,OAAO,IAAI,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,cAAc;IACjD,YAAY,OAAO,GAAG,mBAAmB,EAAE,OAAiB;QAC1D,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,cAAc;IACrD,YAAY,OAAO,GAAG,uBAAuB,EAAE,OAAiB;QAC9D,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,cAAc;IACpD,YAAY,OAAO,GAAG,0BAA0B,EAAE,OAAiB;QACjE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,cAAc;IAC/C,YAAY,OAAO,GAAG,oBAAoB,EAAE,OAAiB;QAC3D,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,cAAc;IAC/C,YAAY,OAAO,GAAG,mBAAmB,EAAE,OAAiB;QAC1D,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,cAAc;IACvC,UAAU,CAAU;IAC7B,YAAY,UAAmB,EAAE,OAAiB;QAChD,KAAK,CAAC,GAAG,EAAE,qBAAqB,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { SwarmDockClient, SwarmDockAgent } from './client.js';
2
2
  export type { SwarmDockClientOptions, RegisterParams, RegisterResult, BalanceResult, TransactionsResult, TaskListResult, TaskDetailResult, RatingsSummary, PortfolioResult, ReputationResult, TaskContext, TaskResult, TaskListing, SwarmDockAgentOptions, } from './client.js';
3
- export { SwarmDockError } from './errors.js';
3
+ export { SwarmDockError, ValidationError, AuthenticationError, AuthorizationError, NotFoundError, ConflictError, RateLimitError, } from './errors.js';
4
4
  export type { Agent, AgentSkill, Task, TaskBid, EscrowTransaction, AgentRating, Dispute, AATPayload, AgentCard, AgentCardSkill, PortfolioItem, StoredArtifactRef, SSEEvent, AgentUpdateInput, TaskCreateInput, TaskUpdateInput, TaskSubmitInput, TaskListQuery, BidCreateInput, RatingCreateInput, } from '@swarmdock/shared';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC9D,YAAY,EACV,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,WAAW,EACX,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,YAAY,EACV,KAAK,EACL,UAAU,EACV,IAAI,EACJ,OAAO,EACP,iBAAiB,EACjB,WAAW,EACX,OAAO,EACP,UAAU,EACV,SAAS,EACT,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,eAAe,EACf,aAAa,EACb,cAAc,EACd,iBAAiB,GAClB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC9D,YAAY,EACV,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,WAAW,EACX,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,KAAK,EACL,UAAU,EACV,IAAI,EACJ,OAAO,EACP,iBAAiB,EACjB,WAAW,EACX,OAAO,EACP,UAAU,EACV,SAAS,EACT,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,eAAe,EACf,aAAa,EACb,cAAc,EACd,iBAAiB,GAClB,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  export { SwarmDockClient, SwarmDockAgent } from './client.js';
2
- export { SwarmDockError } from './errors.js';
2
+ export { SwarmDockError, ValidationError, AuthenticationError, AuthorizationError, NotFoundError, ConflictError, RateLimitError, } from './errors.js';
3
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAiB9D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAiB9D,OAAO,EACL,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,cAAc,GACf,MAAM,aAAa,CAAC"}
package/package.json CHANGED
@@ -1,30 +1,35 @@
1
1
  {
2
2
  "name": "@swarmdock/sdk",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
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
- "build": "tsc",
15
- "dev": "tsc --watch",
16
- "type-check": "tsc --noEmit"
17
- },
18
16
  "dependencies": {
19
- "@swarmdock/shared": "workspace:*",
20
17
  "@x402/evm": "^2.0.4",
21
18
  "@x402/fetch": "^2.0.4",
22
19
  "jose": "^6.0.0",
23
20
  "tweetnacl": "^1.0.3",
24
21
  "tweetnacl-util": "^0.15.1",
25
- "viem": "^2.37.4"
22
+ "viem": "^2.37.4",
23
+ "@swarmdock/shared": "0.2.1"
26
24
  },
27
25
  "devDependencies": {
26
+ "tsx": "^4.20.6",
28
27
  "typescript": "^5.8.0"
28
+ },
29
+ "scripts": {
30
+ "build": "tsc",
31
+ "dev": "tsc --watch",
32
+ "test": "node --import ./node_modules/tsx/dist/loader.mjs --test tests/**/*.test.ts",
33
+ "type-check": "tsc --noEmit"
29
34
  }
30
- }
35
+ }
@@ -1,4 +0,0 @@
1
-
2
- > @swarmdock/sdk@0.1.1 build /Users/wayde/Dev/swarmdock/packages/sdk
3
- > tsc
4
-
@@ -1,4 +0,0 @@
1
-
2
- > @swarmdock/sdk@0.1.1 type-check /Users/wayde/Dev/swarmdock/packages/sdk
3
- > tsc --noEmit
4
-
package/src/client.ts DELETED
@@ -1,926 +0,0 @@
1
- import nacl from 'tweetnacl';
2
- import tweetnaclUtil from 'tweetnacl-util';
3
- const { encodeBase64, decodeBase64 } = tweetnaclUtil;
4
- import { wrapFetchWithPaymentFromConfig } from '@x402/fetch';
5
- import { ExactEvmScheme } from '@x402/evm';
6
- import { privateKeyToAccount } from 'viem/accounts';
7
- import type {
8
- Agent,
9
- Task,
10
- TaskBid,
11
- EscrowTransaction,
12
- AgentRating,
13
- AgentSkill,
14
- Dispute,
15
- PortfolioItem,
16
- SSEEvent,
17
- AgentUpdateInput,
18
- TaskCreateInput,
19
- TaskSubmitInput,
20
- BidCreateInput,
21
- RatingCreateInput,
22
- } from '@swarmdock/shared';
23
- import { SwarmDockError } from './errors.js';
24
-
25
- export interface SwarmDockClientOptions {
26
- baseUrl: string;
27
- privateKey?: string; // Ed25519 secret key, base64
28
- paymentPrivateKey?: `0x${string}`;
29
- }
30
-
31
- export interface RegisterParams {
32
- displayName: string;
33
- description?: string;
34
- framework?: string;
35
- frameworkVersion?: string;
36
- modelProvider?: string;
37
- modelName?: string;
38
- walletAddress: string;
39
- skills?: Array<{
40
- skillId: string;
41
- skillName: string;
42
- description: string;
43
- category: string;
44
- tags?: string[];
45
- pricingModel?: string;
46
- basePrice: string;
47
- examplePrompts?: string[];
48
- }>;
49
- agentCardUrl?: string;
50
- }
51
-
52
- export interface RegisterResult {
53
- token: string;
54
- agent: {
55
- id: string;
56
- did: string;
57
- displayName: string;
58
- trustLevel: number;
59
- status: string;
60
- };
61
- }
62
-
63
- export interface BalanceResult {
64
- agentId: string;
65
- earned: string;
66
- spent: string;
67
- escrowed?: string;
68
- released?: string;
69
- currency: string;
70
- network: string;
71
- }
72
-
73
- export interface TransactionsResult {
74
- transactions: EscrowTransaction[];
75
- limit: number;
76
- offset: number;
77
- }
78
-
79
- export interface TaskListResult {
80
- tasks: Array<Task & { bidCount?: number }>;
81
- limit: number;
82
- offset: number;
83
- total?: number;
84
- }
85
-
86
- type TaskListFilters = {
87
- q?: string;
88
- status?: string;
89
- skills?: string;
90
- budgetMin?: string;
91
- budgetMax?: string;
92
- requesterId?: string;
93
- assigneeId?: string;
94
- limit?: number;
95
- offset?: number;
96
- };
97
-
98
- export interface TaskDetailResult extends Task {
99
- requester?: {
100
- id: string;
101
- displayName: string;
102
- trustLevel: number;
103
- status: string;
104
- } | null;
105
- assignee?: {
106
- id: string;
107
- displayName: string;
108
- trustLevel: number;
109
- status: string;
110
- } | null;
111
- bids: Array<TaskBid & {
112
- bidderDisplayName?: string | null;
113
- bidder?: {
114
- id: string;
115
- displayName: string;
116
- trustLevel: number;
117
- status: string;
118
- } | null;
119
- }>;
120
- bidCount: number;
121
- dispute: Dispute | null;
122
- }
123
-
124
- export interface RatingsSummary {
125
- ratings: AgentRating[];
126
- averages: {
127
- quality: number;
128
- speed: number | null;
129
- communication: number | null;
130
- reliability: number | null;
131
- } | null;
132
- count: number;
133
- }
134
-
135
- export interface PortfolioResult {
136
- items: PortfolioItem[];
137
- count: number;
138
- }
139
-
140
- export interface ReputationResult {
141
- agentId: string;
142
- trustLevel: number;
143
- totalTasksCompleted: number;
144
- totalTasksFailed: number;
145
- averageRating: number | null;
146
- specializations: string[];
147
- }
148
-
149
- type SSECallback = (event: SSEEvent) => void;
150
-
151
- export class SwarmDockClient {
152
- private readonly baseUrl: string;
153
- private readonly secretKey: Uint8Array | null;
154
- private readonly publicKeyBase64: string | null;
155
- private readonly fetchImpl: typeof globalThis.fetch;
156
- private token: string | null = null;
157
- private agentId: string | null = null;
158
-
159
- private sseAbortController: AbortController | null = null;
160
-
161
- readonly profile: ProfileOperations;
162
- readonly tasks: TaskOperations;
163
- readonly events: EventOperations;
164
- readonly payments: PaymentOperations;
165
-
166
- constructor(options: SwarmDockClientOptions) {
167
- this.baseUrl = options.baseUrl.replace(/\/+$/, '');
168
- if (options.privateKey) {
169
- this.secretKey = decodeBase64(options.privateKey);
170
- const keyPair = nacl.sign.keyPair.fromSecretKey(this.secretKey);
171
- this.publicKeyBase64 = encodeBase64(keyPair.publicKey);
172
- } else {
173
- this.secretKey = null;
174
- this.publicKeyBase64 = null;
175
- }
176
-
177
- this.fetchImpl = options.paymentPrivateKey
178
- ? wrapFetchWithPaymentFromConfig(globalThis.fetch, {
179
- schemes: [
180
- {
181
- network: 'eip155:*',
182
- client: new ExactEvmScheme(privateKeyToAccount(options.paymentPrivateKey)),
183
- },
184
- ],
185
- })
186
- : globalThis.fetch;
187
-
188
- this.profile = new ProfileOperations(this);
189
- this.tasks = new TaskOperations(this);
190
- this.events = new EventOperations(this);
191
- this.payments = new PaymentOperations(this);
192
- }
193
-
194
- async register(params: RegisterParams): Promise<RegisterResult> {
195
- this.requireSigner();
196
-
197
- const registerBody = {
198
- publicKey: this.publicKeyBase64!,
199
- displayName: params.displayName,
200
- description: params.description,
201
- framework: params.framework,
202
- frameworkVersion: params.frameworkVersion,
203
- modelProvider: params.modelProvider,
204
- modelName: params.modelName,
205
- walletAddress: params.walletAddress,
206
- agentCardUrl: params.agentCardUrl,
207
- skills: params.skills ?? [],
208
- };
209
-
210
- const registerRes = await this.fetch<{ agentId: string; challenge: string; expiresAt: string }>(
211
- '/api/v1/agents/register',
212
- { method: 'POST', body: registerBody, auth: false },
213
- );
214
-
215
- const signature = this.sign(registerRes.challenge);
216
-
217
- const verifyRes = await this.fetch<RegisterResult>(
218
- '/api/v1/agents/verify',
219
- {
220
- method: 'POST',
221
- body: {
222
- publicKey: this.publicKeyBase64!,
223
- challenge: registerRes.challenge,
224
- signature,
225
- },
226
- auth: false,
227
- },
228
- );
229
-
230
- this.token = verifyRes.token;
231
- this.agentId = verifyRes.agent.id;
232
-
233
- return verifyRes;
234
- }
235
-
236
- async authenticate(): Promise<void> {
237
- if (this.token) {
238
- return;
239
- }
240
-
241
- this.requireSigner();
242
-
243
- const challengeRes = await this.fetch<{ challenge: string; expiresAt: string }>(
244
- '/api/v1/agents/login/challenge',
245
- {
246
- method: 'POST',
247
- body: { publicKey: this.publicKeyBase64! },
248
- auth: false,
249
- },
250
- );
251
-
252
- const verifyRes = await this.fetch<RegisterResult>(
253
- '/api/v1/agents/login/verify',
254
- {
255
- method: 'POST',
256
- body: {
257
- publicKey: this.publicKeyBase64!,
258
- challenge: challengeRes.challenge,
259
- signature: this.sign(challengeRes.challenge),
260
- },
261
- auth: false,
262
- },
263
- );
264
-
265
- this.token = verifyRes.token;
266
- this.agentId = verifyRes.agent.id;
267
- }
268
-
269
- async heartbeat(): Promise<{ token: string }> {
270
- await this.authenticate();
271
-
272
- const res = await this.fetch<{ token: string; lastHeartbeat: string }>(
273
- `/api/v1/agents/${this.agentId!}/heartbeat`,
274
- { method: 'POST' },
275
- );
276
-
277
- this.token = res.token;
278
- return { token: res.token };
279
- }
280
-
281
- async rate(input: RatingCreateInput): Promise<AgentRating> {
282
- return this.fetch<AgentRating>('/api/v1/ratings', {
283
- method: 'POST',
284
- body: input,
285
- });
286
- }
287
-
288
- // -- Internal helpers exposed to sub-operation classes --
289
-
290
- /** @internal */
291
- async fetch<T>(path: string, options: FetchOptions = {}): Promise<T> {
292
- const { method = 'GET', body, query, auth = true } = options;
293
-
294
- let url = `${this.baseUrl}${path}`;
295
- if (query) {
296
- const params = new URLSearchParams();
297
- for (const [key, value] of Object.entries(query)) {
298
- if (value !== undefined && value !== null) {
299
- params.set(key, String(value));
300
- }
301
- }
302
- const qs = params.toString();
303
- if (qs) url += `?${qs}`;
304
- }
305
-
306
- const headers: Record<string, string> = {
307
- 'Content-Type': 'application/json',
308
- 'Accept': 'application/json',
309
- };
310
-
311
- if (auth) {
312
- await this.authenticate();
313
- headers['Authorization'] = `Bearer ${this.token!}`;
314
- }
315
-
316
- const res = await this.fetchImpl(url, {
317
- method,
318
- headers,
319
- body: body ? JSON.stringify(body) : undefined,
320
- });
321
-
322
- if (!res.ok) {
323
- let errorData: { error?: string; details?: unknown } | undefined;
324
- try {
325
- errorData = await res.json() as { error?: string; details?: unknown };
326
- } catch {
327
- // Response may not be JSON
328
- }
329
- throw new SwarmDockError(
330
- res.status,
331
- errorData?.error ?? `Request failed: ${method} ${path}`,
332
- errorData?.details,
333
- );
334
- }
335
-
336
- return res.json() as Promise<T>;
337
- }
338
-
339
- /** @internal */
340
- getAgentId(): string {
341
- this.requireAuth();
342
- return this.agentId!;
343
- }
344
-
345
- /** @internal */
346
- getToken(): string {
347
- this.requireAuth();
348
- return this.token!;
349
- }
350
-
351
- /** @internal */
352
- getBaseUrl(): string {
353
- return this.baseUrl;
354
- }
355
-
356
- /** @internal */
357
- setToken(token: string): void {
358
- this.token = token;
359
- }
360
-
361
- /** @internal */
362
- getSseAbortController(): AbortController | null {
363
- return this.sseAbortController;
364
- }
365
-
366
- /** @internal */
367
- setSseAbortController(controller: AbortController | null): void {
368
- this.sseAbortController = controller;
369
- }
370
-
371
- private requireAuth(): void {
372
- if (!this.token || !this.agentId) {
373
- throw new SwarmDockError(401, 'Not authenticated. Call register() first.');
374
- }
375
- }
376
-
377
- private requireSigner(): void {
378
- if (!this.secretKey || !this.publicKeyBase64) {
379
- throw new SwarmDockError(401, 'This operation requires an Ed25519 private key.');
380
- }
381
- }
382
-
383
- private sign(message: string): string {
384
- this.requireSigner();
385
- const messageBytes = new TextEncoder().encode(message);
386
- const signature = nacl.sign.detached(messageBytes, this.secretKey!);
387
- return encodeBase64(signature);
388
- }
389
- }
390
-
391
- interface FetchOptions {
392
- method?: string;
393
- body?: unknown;
394
- query?: Record<string, string | number | undefined | null>;
395
- auth?: boolean;
396
- }
397
-
398
- // -- Sub-operation classes --
399
-
400
- class ProfileOperations {
401
- constructor(private readonly client: SwarmDockClient) {}
402
-
403
- async get(agentId?: string): Promise<Agent & { skills: AgentSkill[] }> {
404
- if (!agentId) {
405
- await this.client.authenticate();
406
- }
407
- const id = agentId ?? this.client.getAgentId();
408
- return this.client.fetch(`/api/v1/agents/${id}`, { auth: false });
409
- }
410
-
411
- async update(fields: AgentUpdateInput): Promise<Agent> {
412
- await this.client.authenticate();
413
- const id = this.client.getAgentId();
414
- return this.client.fetch(`/api/v1/agents/${id}`, {
415
- method: 'PATCH',
416
- body: fields,
417
- });
418
- }
419
-
420
- async ratings(agentId?: string): Promise<RatingsSummary> {
421
- if (!agentId) {
422
- await this.client.authenticate();
423
- }
424
- const id = agentId ?? this.client.getAgentId();
425
- return this.client.fetch(`/api/v1/agents/${id}/ratings`, { auth: false });
426
- }
427
-
428
- async portfolio(agentId?: string): Promise<PortfolioResult> {
429
- if (!agentId) {
430
- await this.client.authenticate();
431
- }
432
- const id = agentId ?? this.client.getAgentId();
433
- return this.client.fetch(`/api/v1/agents/${id}/portfolio`, { auth: false });
434
- }
435
-
436
- readonly portfolioManage = {
437
- create: async (taskId: string): Promise<PortfolioItem> => {
438
- await this.client.authenticate();
439
- const id = this.client.getAgentId();
440
- return this.client.fetch(`/api/v1/agents/${id}/portfolio`, {
441
- method: 'POST',
442
- body: { taskId },
443
- });
444
- },
445
-
446
- update: async (itemId: string, updates: { isPinned?: boolean; displayOrder?: number }): Promise<PortfolioItem> => {
447
- await this.client.authenticate();
448
- const id = this.client.getAgentId();
449
- return this.client.fetch(`/api/v1/agents/${id}/portfolio/${itemId}`, {
450
- method: 'PATCH',
451
- body: updates,
452
- });
453
- },
454
-
455
- remove: async (itemId: string): Promise<void> => {
456
- await this.client.authenticate();
457
- const id = this.client.getAgentId();
458
- await this.client.fetch(`/api/v1/agents/${id}/portfolio/${itemId}`, {
459
- method: 'DELETE',
460
- });
461
- },
462
- };
463
-
464
- async reputation(agentId?: string): Promise<ReputationResult> {
465
- if (!agentId) {
466
- await this.client.authenticate();
467
- }
468
- const id = agentId ?? this.client.getAgentId();
469
- return this.client.fetch(`/api/v1/agents/${id}/reputation`, { auth: false });
470
- }
471
-
472
- async match(params: { description: string; skills?: string[]; limit?: number }): Promise<{ matches: Agent[] }> {
473
- return this.client.fetch('/api/v1/agents/match', { method: 'POST', body: params, auth: false });
474
- }
475
- }
476
-
477
- class TaskOperations {
478
- constructor(private readonly client: SwarmDockClient) {}
479
-
480
- async list(filters?: TaskListFilters): Promise<TaskListResult> {
481
- const query: Record<string, string | number | undefined | null> = {};
482
- if (filters) {
483
- if (filters.q) query.q = filters.q;
484
- if (filters.status) query.status = filters.status;
485
- if (filters.skills) query.skills = filters.skills;
486
- if (filters.budgetMin) query.budgetMin = filters.budgetMin;
487
- if (filters.budgetMax) query.budgetMax = filters.budgetMax;
488
- if (filters.requesterId) query.requesterId = filters.requesterId;
489
- if (filters.assigneeId) query.assigneeId = filters.assigneeId;
490
- if (filters.limit !== undefined) query.limit = filters.limit;
491
- if (filters.offset !== undefined) query.offset = filters.offset;
492
- }
493
- return this.client.fetch('/api/v1/tasks', { query, auth: false });
494
- }
495
-
496
- async create(input: TaskCreateInput): Promise<Task> {
497
- return this.client.fetch('/api/v1/tasks', {
498
- method: 'POST',
499
- body: input,
500
- });
501
- }
502
-
503
- async get(taskId: string): Promise<TaskDetailResult> {
504
- return this.client.fetch(`/api/v1/tasks/${taskId}`, { auth: false });
505
- }
506
-
507
- async listBids(taskId: string): Promise<{ bids: TaskBid[] }> {
508
- return this.client.fetch(`/api/v1/tasks/${taskId}/bids`, { auth: false });
509
- }
510
-
511
- async bid(taskId: string, input: BidCreateInput): Promise<TaskBid> {
512
- return this.client.fetch(`/api/v1/tasks/${taskId}/bids`, {
513
- method: 'POST',
514
- body: input,
515
- });
516
- }
517
-
518
- async acceptBid(taskId: string, bidId: string): Promise<{ task: Task; acceptedBid: TaskBid; escrow?: EscrowTransaction }> {
519
- return this.client.fetch(`/api/v1/tasks/${taskId}/bids/${bidId}/accept`, {
520
- method: 'POST',
521
- });
522
- }
523
-
524
- async start(taskId: string): Promise<Task> {
525
- return this.client.fetch(`/api/v1/tasks/${taskId}/start`, {
526
- method: 'POST',
527
- });
528
- }
529
-
530
- async submit(taskId: string, input: TaskSubmitInput): Promise<Task> {
531
- return this.client.fetch(`/api/v1/tasks/${taskId}/submit`, {
532
- method: 'POST',
533
- body: input,
534
- });
535
- }
536
-
537
- async approve(taskId: string): Promise<Task> {
538
- return this.client.fetch(`/api/v1/tasks/${taskId}/approve`, {
539
- method: 'POST',
540
- });
541
- }
542
-
543
- async reject(taskId: string, reason?: string): Promise<Task> {
544
- return this.client.fetch(`/api/v1/tasks/${taskId}/reject`, {
545
- method: 'POST',
546
- body: reason ? { reason } : undefined,
547
- });
548
- }
549
-
550
- async dispute(taskId: string, reason: string): Promise<Dispute> {
551
- return this.client.fetch(`/api/v1/tasks/${taskId}/dispute`, {
552
- method: 'POST',
553
- body: { reason },
554
- });
555
- }
556
- }
557
-
558
- class EventOperations {
559
- private callback: SSECallback | null = null;
560
-
561
- constructor(private readonly client: SwarmDockClient) {}
562
-
563
- subscribe(callback: SSECallback): void {
564
- this.unsubscribe();
565
- this.callback = callback;
566
-
567
- const controller = new AbortController();
568
- this.client.setSseAbortController(controller);
569
-
570
- const url = `${this.client.getBaseUrl()}/api/v1/events`;
571
- const token = this.client.getToken();
572
-
573
- this.connectSSE(url, token, controller.signal);
574
- }
575
-
576
- unsubscribe(): void {
577
- const controller = this.client.getSseAbortController();
578
- if (controller) {
579
- controller.abort();
580
- this.client.setSseAbortController(null);
581
- }
582
- this.callback = null;
583
- }
584
-
585
- private async connectSSE(url: string, token: string, signal: AbortSignal): Promise<void> {
586
- try {
587
- const response = await globalThis.fetch(url, {
588
- headers: {
589
- 'Authorization': `Bearer ${token}`,
590
- 'Accept': 'text/event-stream',
591
- 'Cache-Control': 'no-cache',
592
- },
593
- signal,
594
- });
595
-
596
- if (!response.ok) {
597
- throw new SwarmDockError(response.status, 'Failed to connect to SSE stream');
598
- }
599
-
600
- const reader = response.body?.getReader();
601
- if (!reader) {
602
- throw new SwarmDockError(500, 'Response body is not readable');
603
- }
604
-
605
- const decoder = new TextDecoder();
606
- let buffer = '';
607
-
608
- while (!signal.aborted) {
609
- const { done, value } = await reader.read();
610
- if (done) break;
611
-
612
- buffer += decoder.decode(value, { stream: true });
613
- const lines = buffer.split('\n');
614
- buffer = lines.pop() ?? '';
615
-
616
- let currentEvent: string | null = null;
617
- let currentData: string | null = null;
618
-
619
- for (const line of lines) {
620
- if (line.startsWith('event: ')) {
621
- currentEvent = line.slice(7).trim();
622
- } else if (line.startsWith('data: ')) {
623
- currentData = line.slice(6).trim();
624
- } else if (line === '' && currentEvent && currentData) {
625
- if (this.callback) {
626
- try {
627
- const parsed = JSON.parse(currentData);
628
- this.callback({
629
- type: currentEvent,
630
- data: parsed,
631
- timestamp: (parsed as Record<string, unknown>).timestamp as string ?? new Date().toISOString(),
632
- });
633
- } catch {
634
- // Skip malformed events
635
- }
636
- }
637
- currentEvent = null;
638
- currentData = null;
639
- }
640
- }
641
- }
642
- } catch (err) {
643
- if (signal.aborted) return;
644
- throw err;
645
- }
646
- }
647
- }
648
-
649
- class PaymentOperations {
650
- constructor(private readonly client: SwarmDockClient) {}
651
-
652
- async balance(): Promise<BalanceResult> {
653
- await this.client.authenticate();
654
- const id = this.client.getAgentId();
655
- return this.client.fetch(`/api/v1/payments/agents/${id}/balance`);
656
- }
657
-
658
- async transactions(limit?: number, offset?: number): Promise<TransactionsResult> {
659
- await this.client.authenticate();
660
- const id = this.client.getAgentId();
661
- return this.client.fetch(`/api/v1/payments/agents/${id}/transactions`, {
662
- query: { limit: limit ?? undefined, offset: offset ?? undefined },
663
- });
664
- }
665
- }
666
-
667
- // -- Agent mode types --
668
-
669
- export interface TaskContext {
670
- id: string;
671
- title: string;
672
- description: string;
673
- inputData: unknown;
674
- inputFiles: string[];
675
- skillRequirements: string[];
676
- budgetMax: string;
677
-
678
- /** Mark the task as in-progress */
679
- start(): Promise<void>;
680
- /** Submit the completed result */
681
- complete(result: TaskResult): Promise<void>;
682
- }
683
-
684
- export interface TaskResult {
685
- artifacts: Array<{ type: string; content: unknown }>;
686
- files?: string[];
687
- notes?: string;
688
- }
689
-
690
- export interface TaskListing {
691
- id: string;
692
- title: string;
693
- description: string;
694
- skillRequirements: string[];
695
- budgetMin: string | null;
696
- budgetMax: string;
697
- matchingMode: string;
698
- }
699
-
700
- export interface SwarmDockAgentOptions {
701
- baseUrl?: string;
702
- name: string;
703
- skills: Array<{
704
- id: string;
705
- name: string;
706
- description: string;
707
- category: string;
708
- pricing?: { model?: string; basePrice: number };
709
- examples?: string[];
710
- inputModes?: string[];
711
- outputModes?: string[];
712
- }>;
713
- framework?: string;
714
- modelProvider?: string;
715
- modelName?: string;
716
- walletAddress: string;
717
- privateKey?: string;
718
- paymentPrivateKey?: `0x${string}`;
719
- }
720
-
721
- type TaskHandler = (task: TaskContext) => Promise<TaskResult>;
722
- type TaskAvailableHandler = (listing: TaskListing) => Promise<void>;
723
-
724
- const HEARTBEAT_INTERVAL_MS = 5 * 60 * 1000; // 5 minutes
725
-
726
- export class SwarmDockAgent {
727
- private client: SwarmDockClient;
728
- private readonly options: SwarmDockAgentOptions;
729
- private taskHandlers: Map<string, TaskHandler> = new Map();
730
- private taskAvailableHandler?: TaskAvailableHandler;
731
- private heartbeatInterval?: ReturnType<typeof setInterval>;
732
- private eventUnsubscribe?: () => void;
733
- private running = false;
734
-
735
- constructor(options: SwarmDockAgentOptions) {
736
- this.options = options;
737
- this.client = new SwarmDockClient({
738
- baseUrl: options.baseUrl ?? 'https://api.swarmdock.ai',
739
- privateKey: options.privateKey,
740
- paymentPrivateKey: options.paymentPrivateKey,
741
- });
742
- }
743
-
744
- /**
745
- * Register a handler for tasks that match a specific skill.
746
- * When this agent is assigned a task whose skillRequirements include
747
- * the given skillId, the handler will be invoked.
748
- */
749
- onTask(skillId: string, handler: TaskHandler): void {
750
- this.taskHandlers.set(skillId, handler);
751
- }
752
-
753
- /**
754
- * Register a handler that fires when a new task is created on the
755
- * marketplace that matches this agent's skills. Useful for auto-bidding.
756
- */
757
- onTaskAvailable(handler: TaskAvailableHandler): void {
758
- this.taskAvailableHandler = handler;
759
- }
760
-
761
- /**
762
- * Start the agent: register (or authenticate), begin heartbeat,
763
- * and subscribe to the SSE event stream.
764
- */
765
- async start(): Promise<void> {
766
- if (this.running) return;
767
-
768
- // Register or authenticate
769
- try {
770
- await this.client.register({
771
- displayName: this.options.name,
772
- framework: this.options.framework,
773
- modelProvider: this.options.modelProvider,
774
- modelName: this.options.modelName,
775
- walletAddress: this.options.walletAddress,
776
- skills: this.options.skills.map((s) => ({
777
- skillId: s.id,
778
- skillName: s.name,
779
- description: s.description,
780
- category: s.category,
781
- tags: [],
782
- pricingModel: s.pricing?.model ?? 'fixed',
783
- basePrice: String(s.pricing?.basePrice ?? 0),
784
- examplePrompts: s.examples ?? [],
785
- })),
786
- });
787
- } catch (err) {
788
- // If already registered, authenticate instead
789
- if (err instanceof SwarmDockError && (err.status === 409 || err.message.includes('already registered'))) {
790
- await this.client.authenticate();
791
- } else {
792
- throw err;
793
- }
794
- }
795
-
796
- this.running = true;
797
-
798
- // Start heartbeat
799
- this.heartbeatInterval = setInterval(async () => {
800
- try {
801
- await this.client.heartbeat();
802
- } catch {
803
- // Heartbeat failures are non-fatal; the next one will retry
804
- }
805
- }, HEARTBEAT_INTERVAL_MS);
806
-
807
- // Subscribe to SSE events
808
- const agentId = this.client.getAgentId();
809
-
810
- this.client.events.subscribe((event) => {
811
- this.handleEvent(event, agentId).catch(() => {
812
- // Event handling errors are non-fatal
813
- });
814
- });
815
-
816
- this.eventUnsubscribe = () => this.client.events.unsubscribe();
817
- }
818
-
819
- /**
820
- * Stop the agent: unsubscribe from events, clear heartbeat,
821
- * and mark as not running.
822
- */
823
- async stop(): Promise<void> {
824
- if (!this.running) return;
825
- this.running = false;
826
-
827
- if (this.heartbeatInterval) {
828
- clearInterval(this.heartbeatInterval);
829
- this.heartbeatInterval = undefined;
830
- }
831
-
832
- if (this.eventUnsubscribe) {
833
- this.eventUnsubscribe();
834
- this.eventUnsubscribe = undefined;
835
- }
836
- }
837
-
838
- /**
839
- * Submit a bid on a task.
840
- */
841
- async bid(taskId: string, options: { price: number; confidence?: number; proposal?: string }): Promise<TaskBid> {
842
- return this.client.tasks.bid(taskId, {
843
- proposedPrice: String(options.price),
844
- confidenceScore: options.confidence,
845
- proposal: options.proposal,
846
- portfolioRefs: [],
847
- });
848
- }
849
-
850
- /** Expose the underlying client for advanced use cases */
851
- getClient(): SwarmDockClient {
852
- return this.client;
853
- }
854
-
855
- // -- Private helpers --
856
-
857
- private async handleEvent(event: SSEEvent, agentId: string): Promise<void> {
858
- if (!this.running) return;
859
-
860
- const data = event.data as Record<string, unknown>;
861
-
862
- if (event.type === 'task.assigned' && data.assigneeId === agentId) {
863
- await this.handleTaskAssigned(data.taskId as string);
864
- } else if (event.type === 'task.created' && this.taskAvailableHandler) {
865
- await this.handleTaskCreated(data);
866
- }
867
- }
868
-
869
- private async handleTaskAssigned(taskId: string): Promise<void> {
870
- const detail = await this.client.tasks.get(taskId);
871
-
872
- // Find the first matching handler based on skill requirements
873
- let matchedHandler: TaskHandler | undefined;
874
- for (const skillReq of detail.skillRequirements ?? []) {
875
- matchedHandler = this.taskHandlers.get(skillReq);
876
- if (matchedHandler) break;
877
- }
878
-
879
- if (!matchedHandler) return;
880
-
881
- const ctx: TaskContext = {
882
- id: detail.id,
883
- title: detail.title,
884
- description: detail.description ?? '',
885
- inputData: detail.inputData ?? null,
886
- inputFiles: detail.inputFiles ?? [],
887
- skillRequirements: detail.skillRequirements ?? [],
888
- budgetMax: detail.budgetMax ?? '0',
889
-
890
- start: async () => {
891
- await this.client.tasks.start(taskId);
892
- },
893
-
894
- complete: async (result: TaskResult) => {
895
- await this.client.tasks.submit(taskId, {
896
- artifacts: result.artifacts,
897
- files: result.files ?? [],
898
- notes: result.notes,
899
- });
900
- },
901
- };
902
-
903
- const result = await matchedHandler(ctx);
904
-
905
- // If the handler returns a result directly, auto-submit it
906
- if (result && result.artifacts) {
907
- await ctx.complete(result);
908
- }
909
- }
910
-
911
- private async handleTaskCreated(data: Record<string, unknown>): Promise<void> {
912
- if (!this.taskAvailableHandler) return;
913
-
914
- const listing: TaskListing = {
915
- id: data.taskId as string,
916
- title: (data.title as string) ?? '',
917
- description: (data.description as string) ?? '',
918
- skillRequirements: (data.skillRequirements as string[]) ?? [],
919
- budgetMin: (data.budgetMin as string) ?? null,
920
- budgetMax: (data.budgetMax as string) ?? '0',
921
- matchingMode: (data.matchingMode as string) ?? 'manual',
922
- };
923
-
924
- await this.taskAvailableHandler(listing);
925
- }
926
- }
package/src/errors.ts DELETED
@@ -1,26 +0,0 @@
1
- export class SwarmDockError extends Error {
2
- readonly status: number;
3
- readonly code: string;
4
- readonly details?: unknown;
5
-
6
- constructor(status: number, message: string, details?: unknown) {
7
- super(message);
8
- this.name = 'SwarmDockError';
9
- this.status = status;
10
- this.code = SwarmDockError.statusToCode(status);
11
- this.details = details;
12
- }
13
-
14
- private static statusToCode(status: number): string {
15
- switch (status) {
16
- case 400: return 'BAD_REQUEST';
17
- case 401: return 'UNAUTHORIZED';
18
- case 403: return 'FORBIDDEN';
19
- case 404: return 'NOT_FOUND';
20
- case 409: return 'CONFLICT';
21
- case 429: return 'RATE_LIMITED';
22
- case 500: return 'INTERNAL_ERROR';
23
- default: return 'UNKNOWN_ERROR';
24
- }
25
- }
26
- }
package/src/index.ts DELETED
@@ -1,41 +0,0 @@
1
- export { SwarmDockClient, SwarmDockAgent } from './client.js';
2
- export type {
3
- SwarmDockClientOptions,
4
- RegisterParams,
5
- RegisterResult,
6
- BalanceResult,
7
- TransactionsResult,
8
- TaskListResult,
9
- TaskDetailResult,
10
- RatingsSummary,
11
- PortfolioResult,
12
- ReputationResult,
13
- TaskContext,
14
- TaskResult,
15
- TaskListing,
16
- SwarmDockAgentOptions,
17
- } from './client.js';
18
- export { SwarmDockError } from './errors.js';
19
-
20
- export type {
21
- Agent,
22
- AgentSkill,
23
- Task,
24
- TaskBid,
25
- EscrowTransaction,
26
- AgentRating,
27
- Dispute,
28
- AATPayload,
29
- AgentCard,
30
- AgentCardSkill,
31
- PortfolioItem,
32
- StoredArtifactRef,
33
- SSEEvent,
34
- AgentUpdateInput,
35
- TaskCreateInput,
36
- TaskUpdateInput,
37
- TaskSubmitInput,
38
- TaskListQuery,
39
- BidCreateInput,
40
- RatingCreateInput,
41
- } from '@swarmdock/shared';
package/tsconfig.json DELETED
@@ -1,8 +0,0 @@
1
- {
2
- "extends": "../../tsconfig.json",
3
- "compilerOptions": {
4
- "outDir": "./dist",
5
- "rootDir": "./src"
6
- },
7
- "include": ["src/**/*.ts"]
8
- }