@swarmdock/sdk 0.1.0 → 0.1.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.
@@ -0,0 +1,4 @@
1
+
2
+ > @swarmdock/sdk@0.1.1 build /Users/wayde/Dev/swarmdock/packages/sdk
3
+ > tsc
4
+
@@ -1,4 +1,4 @@
1
1
 
2
- > @swarmdock/sdk@0.1.0 type-check /Users/wayde/Dev/swarmdock/packages/sdk
2
+ > @swarmdock/sdk@0.1.1 type-check /Users/wayde/Dev/swarmdock/packages/sdk
3
3
  > tsc --noEmit
4
4
 
package/dist/client.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import type { Agent, Task, TaskBid, EscrowTransaction, AgentRating, AgentSkill, SSEEvent, AgentUpdateInput, TaskCreateInput, TaskListQuery, TaskSubmitInput, BidCreateInput, RatingCreateInput } from '@swarmdock/shared';
1
+ import type { Agent, Task, TaskBid, EscrowTransaction, AgentRating, AgentSkill, SSEEvent, AgentUpdateInput, TaskCreateInput, TaskSubmitInput, BidCreateInput, RatingCreateInput } from '@swarmdock/shared';
2
2
  export interface SwarmDockClientOptions {
3
3
  baseUrl: string;
4
- privateKey: string;
4
+ privateKey?: string;
5
5
  }
6
6
  export interface RegisterParams {
7
7
  displayName: string;
@@ -46,14 +46,58 @@ export interface TransactionsResult {
46
46
  offset: number;
47
47
  }
48
48
  export interface TaskListResult {
49
- tasks: Task[];
49
+ tasks: Array<Task & {
50
+ bidCount?: number;
51
+ }>;
50
52
  limit: number;
51
53
  offset: number;
54
+ total?: number;
52
55
  }
56
+ type TaskListFilters = {
57
+ q?: string;
58
+ status?: string;
59
+ skills?: string;
60
+ budgetMin?: string;
61
+ budgetMax?: string;
62
+ requesterId?: string;
63
+ assigneeId?: string;
64
+ limit?: number;
65
+ offset?: number;
66
+ };
53
67
  export interface TaskDetailResult extends Task {
54
- bids: TaskBid[];
68
+ requester?: {
69
+ id: string;
70
+ displayName: string;
71
+ trustLevel: number;
72
+ status: string;
73
+ } | null;
74
+ assignee?: {
75
+ id: string;
76
+ displayName: string;
77
+ trustLevel: number;
78
+ status: string;
79
+ } | null;
80
+ bids: Array<TaskBid & {
81
+ bidderDisplayName?: string | null;
82
+ bidder?: {
83
+ id: string;
84
+ displayName: string;
85
+ trustLevel: number;
86
+ status: string;
87
+ } | null;
88
+ }>;
55
89
  bidCount: number;
56
90
  }
91
+ export interface RatingsSummary {
92
+ ratings: AgentRating[];
93
+ averages: {
94
+ quality: number;
95
+ speed: number | null;
96
+ communication: number | null;
97
+ reliability: number | null;
98
+ } | null;
99
+ count: number;
100
+ }
57
101
  type SSECallback = (event: SSEEvent) => void;
58
102
  export declare class SwarmDockClient {
59
103
  private readonly baseUrl;
@@ -68,6 +112,7 @@ export declare class SwarmDockClient {
68
112
  readonly payments: PaymentOperations;
69
113
  constructor(options: SwarmDockClientOptions);
70
114
  register(params: RegisterParams): Promise<RegisterResult>;
115
+ authenticate(): Promise<void>;
71
116
  heartbeat(): Promise<{
72
117
  token: string;
73
118
  }>;
@@ -87,6 +132,7 @@ export declare class SwarmDockClient {
87
132
  /** @internal */
88
133
  setSseAbortController(controller: AbortController | null): void;
89
134
  private requireAuth;
135
+ private requireSigner;
90
136
  private sign;
91
137
  }
92
138
  interface FetchOptions {
@@ -102,6 +148,7 @@ declare class ProfileOperations {
102
148
  skills: AgentSkill[];
103
149
  }>;
104
150
  update(fields: AgentUpdateInput): Promise<Agent>;
151
+ ratings(agentId?: string): Promise<RatingsSummary>;
105
152
  match(params: {
106
153
  description: string;
107
154
  skills?: string[];
@@ -113,10 +160,18 @@ declare class ProfileOperations {
113
160
  declare class TaskOperations {
114
161
  private readonly client;
115
162
  constructor(client: SwarmDockClient);
116
- list(filters?: Partial<TaskListQuery>): Promise<TaskListResult>;
163
+ list(filters?: TaskListFilters): Promise<TaskListResult>;
117
164
  create(input: TaskCreateInput): Promise<Task>;
118
165
  get(taskId: string): Promise<TaskDetailResult>;
166
+ listBids(taskId: string): Promise<{
167
+ bids: TaskBid[];
168
+ }>;
119
169
  bid(taskId: string, input: BidCreateInput): Promise<TaskBid>;
170
+ acceptBid(taskId: string, bidId: string): Promise<{
171
+ task: Task;
172
+ acceptedBid: TaskBid;
173
+ escrow?: EscrowTransaction;
174
+ }>;
120
175
  start(taskId: string): Promise<Task>;
121
176
  submit(taskId: string, input: TaskSubmitInput): Promise<Task>;
122
177
  approve(taskId: string): Promise<Task>;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,KAAK,EACL,IAAI,EACJ,OAAO,EACP,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,cAAc,EACd,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAG3B,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,KAAK,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;KAC3B,CAAC,CAAC;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,GAAG,EAAE,MAAM,CAAC;QACZ,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,KAAK,CAAC,IAAI,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,eAAe,GAAG;IACrB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,WAAW,gBAAiB,SAAQ,IAAI;IAC5C,SAAS,CAAC,EAAE;QACV,EAAE,EAAE,MAAM,CAAC;QACX,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;KAChB,GAAG,IAAI,CAAC;IACT,QAAQ,CAAC,EAAE;QACT,EAAE,EAAE,MAAM,CAAC;QACX,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;KAChB,GAAG,IAAI,CAAC;IACT,IAAI,EAAE,KAAK,CAAC,OAAO,GAAG;QACpB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAClC,MAAM,CAAC,EAAE;YACP,EAAE,EAAE,MAAM,CAAC;YACX,WAAW,EAAE,MAAM,CAAC;YACpB,UAAU,EAAE,MAAM,CAAC;YACnB,MAAM,EAAE,MAAM,CAAC;SAChB,GAAG,IAAI,CAAC;KACV,CAAC,CAAC;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;KAC5B,GAAG,IAAI,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;CACf;AAED,KAAK,WAAW,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;AAE7C,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgB;IAChD,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,OAAO,CAAuB;IAEtC,OAAO,CAAC,kBAAkB,CAAgC;IAE1D,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;gBAEzB,OAAO,EAAE,sBAAsB;IAiBrC,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IA0CzD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAiC7B,SAAS,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAYvC,IAAI,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC;IAS1D,gBAAgB;IACV,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,CAAC,CAAC;IAgDpE,gBAAgB;IAChB,UAAU,IAAI,MAAM;IAKpB,gBAAgB;IAChB,QAAQ,IAAI,MAAM;IAKlB,gBAAgB;IAChB,UAAU,IAAI,MAAM;IAIpB,gBAAgB;IAChB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI7B,gBAAgB;IAChB,qBAAqB,IAAI,eAAe,GAAG,IAAI;IAI/C,gBAAgB;IAChB,qBAAqB,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,GAAG,IAAI;IAI/D,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,IAAI;CAMb;AAED,UAAU,YAAY;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC;IAC3D,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAID,cAAM,iBAAiB;IACT,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,eAAe;IAE9C,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG;QAAE,MAAM,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC;IAQhE,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC;IAShD,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAQlD,KAAK,CAAC,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,CAAA;KAAE,CAAC;CAG/G;AAED,cAAM,cAAc;IACN,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,eAAe;IAE9C,IAAI,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAgBxD,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAO7C,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAI9C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC;IAItD,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAO5D,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,WAAW,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,iBAAiB,CAAA;KAAE,CAAC;IAMnH,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAO7D,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAM7D;AAED,cAAM,eAAe;IAGP,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,QAAQ,CAA4B;gBAEf,MAAM,EAAE,eAAe;IAEpD,SAAS,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IAatC,WAAW,IAAI,IAAI;YASL,UAAU;CA8DzB;AAED,cAAM,iBAAiB;IACT,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,eAAe;IAE9C,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC;IAMjC,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAOjF"}
package/dist/client.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import nacl from 'tweetnacl';
2
- import { encodeBase64, decodeBase64 } from 'tweetnacl-util';
2
+ import tweetnaclUtil from 'tweetnacl-util';
3
+ const { encodeBase64, decodeBase64 } = tweetnaclUtil;
3
4
  import { SwarmDockError } from './errors.js';
4
5
  export class SwarmDockClient {
5
6
  baseUrl;
@@ -14,15 +15,22 @@ export class SwarmDockClient {
14
15
  payments;
15
16
  constructor(options) {
16
17
  this.baseUrl = options.baseUrl.replace(/\/+$/, '');
17
- this.secretKey = decodeBase64(options.privateKey);
18
- const keyPair = nacl.sign.keyPair.fromSecretKey(this.secretKey);
19
- this.publicKeyBase64 = encodeBase64(keyPair.publicKey);
18
+ if (options.privateKey) {
19
+ this.secretKey = decodeBase64(options.privateKey);
20
+ const keyPair = nacl.sign.keyPair.fromSecretKey(this.secretKey);
21
+ this.publicKeyBase64 = encodeBase64(keyPair.publicKey);
22
+ }
23
+ else {
24
+ this.secretKey = null;
25
+ this.publicKeyBase64 = null;
26
+ }
20
27
  this.profile = new ProfileOperations(this);
21
28
  this.tasks = new TaskOperations(this);
22
29
  this.events = new EventOperations(this);
23
30
  this.payments = new PaymentOperations(this);
24
31
  }
25
32
  async register(params) {
33
+ this.requireSigner();
26
34
  const registerBody = {
27
35
  publicKey: this.publicKeyBase64,
28
36
  displayName: params.displayName,
@@ -50,8 +58,30 @@ export class SwarmDockClient {
50
58
  this.agentId = verifyRes.agent.id;
51
59
  return verifyRes;
52
60
  }
61
+ async authenticate() {
62
+ if (this.token) {
63
+ return;
64
+ }
65
+ this.requireSigner();
66
+ const challengeRes = await this.fetch('/api/v1/agents/login/challenge', {
67
+ method: 'POST',
68
+ body: { publicKey: this.publicKeyBase64 },
69
+ auth: false,
70
+ });
71
+ const verifyRes = await this.fetch('/api/v1/agents/login/verify', {
72
+ method: 'POST',
73
+ body: {
74
+ publicKey: this.publicKeyBase64,
75
+ challenge: challengeRes.challenge,
76
+ signature: this.sign(challengeRes.challenge),
77
+ },
78
+ auth: false,
79
+ });
80
+ this.token = verifyRes.token;
81
+ this.agentId = verifyRes.agent.id;
82
+ }
53
83
  async heartbeat() {
54
- this.requireAuth();
84
+ await this.authenticate();
55
85
  const res = await this.fetch(`/api/v1/agents/${this.agentId}/heartbeat`, { method: 'POST' });
56
86
  this.token = res.token;
57
87
  return { token: res.token };
@@ -83,7 +113,7 @@ export class SwarmDockClient {
83
113
  'Accept': 'application/json',
84
114
  };
85
115
  if (auth) {
86
- this.requireAuth();
116
+ await this.authenticate();
87
117
  headers['Authorization'] = `Bearer ${this.token}`;
88
118
  }
89
119
  const res = await globalThis.fetch(url, {
@@ -134,7 +164,13 @@ export class SwarmDockClient {
134
164
  throw new SwarmDockError(401, 'Not authenticated. Call register() first.');
135
165
  }
136
166
  }
167
+ requireSigner() {
168
+ if (!this.secretKey || !this.publicKeyBase64) {
169
+ throw new SwarmDockError(401, 'This operation requires an Ed25519 private key.');
170
+ }
171
+ }
137
172
  sign(message) {
173
+ this.requireSigner();
138
174
  const messageBytes = new TextEncoder().encode(message);
139
175
  const signature = nacl.sign.detached(messageBytes, this.secretKey);
140
176
  return encodeBase64(signature);
@@ -147,16 +183,27 @@ class ProfileOperations {
147
183
  this.client = client;
148
184
  }
149
185
  async get(agentId) {
186
+ if (!agentId) {
187
+ await this.client.authenticate();
188
+ }
150
189
  const id = agentId ?? this.client.getAgentId();
151
190
  return this.client.fetch(`/api/v1/agents/${id}`, { auth: false });
152
191
  }
153
192
  async update(fields) {
193
+ await this.client.authenticate();
154
194
  const id = this.client.getAgentId();
155
195
  return this.client.fetch(`/api/v1/agents/${id}`, {
156
196
  method: 'PATCH',
157
197
  body: fields,
158
198
  });
159
199
  }
200
+ async ratings(agentId) {
201
+ if (!agentId) {
202
+ await this.client.authenticate();
203
+ }
204
+ const id = agentId ?? this.client.getAgentId();
205
+ return this.client.fetch(`/api/v1/agents/${id}/ratings`, { auth: false });
206
+ }
160
207
  async match(params) {
161
208
  return this.client.fetch('/api/v1/agents/match', { method: 'POST', body: params, auth: false });
162
209
  }
@@ -169,6 +216,8 @@ class TaskOperations {
169
216
  async list(filters) {
170
217
  const query = {};
171
218
  if (filters) {
219
+ if (filters.q)
220
+ query.q = filters.q;
172
221
  if (filters.status)
173
222
  query.status = filters.status;
174
223
  if (filters.skills)
@@ -197,12 +246,20 @@ class TaskOperations {
197
246
  async get(taskId) {
198
247
  return this.client.fetch(`/api/v1/tasks/${taskId}`, { auth: false });
199
248
  }
249
+ async listBids(taskId) {
250
+ return this.client.fetch(`/api/v1/tasks/${taskId}/bids`, { auth: false });
251
+ }
200
252
  async bid(taskId, input) {
201
253
  return this.client.fetch(`/api/v1/tasks/${taskId}/bids`, {
202
254
  method: 'POST',
203
255
  body: input,
204
256
  });
205
257
  }
258
+ async acceptBid(taskId, bidId) {
259
+ return this.client.fetch(`/api/v1/tasks/${taskId}/bids/${bidId}/accept`, {
260
+ method: 'POST',
261
+ });
262
+ }
206
263
  async start(taskId) {
207
264
  return this.client.fetch(`/api/v1/tasks/${taskId}/start`, {
208
265
  method: 'POST',
@@ -317,10 +374,12 @@ class PaymentOperations {
317
374
  this.client = client;
318
375
  }
319
376
  async balance() {
377
+ await this.client.authenticate();
320
378
  const id = this.client.getAgentId();
321
379
  return this.client.fetch(`/api/v1/payments/agents/${id}/balance`);
322
380
  }
323
381
  async transactions(limit, offset) {
382
+ await this.client.authenticate();
324
383
  const id = this.client.getAgentId();
325
384
  return this.client.fetch(`/api/v1/payments/agents/${id}/transactions`, {
326
385
  query: { limit: limit ?? undefined, offset: offset ?? undefined },
@@ -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/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { SwarmDockClient } from './client.js';
2
- export type { SwarmDockClientOptions, RegisterParams, RegisterResult, BalanceResult, TransactionsResult, TaskListResult, TaskDetailResult, } from './client.js';
2
+ export type { SwarmDockClientOptions, RegisterParams, RegisterResult, BalanceResult, TransactionsResult, TaskListResult, TaskDetailResult, RatingsSummary, } from './client.js';
3
3
  export { SwarmDockError } from './errors.js';
4
4
  export type { Agent, AgentSkill, Task, TaskBid, EscrowTransaction, AgentRating, AATPayload, AgentCard, AgentCardSkill, 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,MAAM,aAAa,CAAC;AAC9C,YAAY,EACV,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,gBAAgB,GACjB,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,UAAU,EACV,SAAS,EACT,cAAc,EACd,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,MAAM,aAAa,CAAC;AAC9C,YAAY,EACV,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,cAAc,GACf,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,UAAU,EACV,SAAS,EACT,cAAc,EACd,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,eAAe,EACf,aAAa,EACb,cAAc,EACd,iBAAiB,GAClB,MAAM,mBAAmB,CAAC"}
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,MAAM,aAAa,CAAC;AAU9C,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,MAAM,aAAa,CAAC;AAW9C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@swarmdock/sdk",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
package/src/client.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import nacl from 'tweetnacl';
2
- import { encodeBase64, decodeBase64 } from 'tweetnacl-util';
2
+ import tweetnaclUtil from 'tweetnacl-util';
3
+ const { encodeBase64, decodeBase64 } = tweetnaclUtil;
3
4
  import type {
4
5
  Agent,
5
6
  Task,
@@ -10,7 +11,6 @@ import type {
10
11
  SSEEvent,
11
12
  AgentUpdateInput,
12
13
  TaskCreateInput,
13
- TaskListQuery,
14
14
  TaskSubmitInput,
15
15
  BidCreateInput,
16
16
  RatingCreateInput,
@@ -19,7 +19,7 @@ import { SwarmDockError } from './errors.js';
19
19
 
20
20
  export interface SwarmDockClientOptions {
21
21
  baseUrl: string;
22
- privateKey: string; // Ed25519 secret key, base64
22
+ privateKey?: string; // Ed25519 secret key, base64
23
23
  }
24
24
 
25
25
  export interface RegisterParams {
@@ -69,22 +69,66 @@ export interface TransactionsResult {
69
69
  }
70
70
 
71
71
  export interface TaskListResult {
72
- tasks: Task[];
72
+ tasks: Array<Task & { bidCount?: number }>;
73
73
  limit: number;
74
74
  offset: number;
75
+ total?: number;
75
76
  }
76
77
 
78
+ type TaskListFilters = {
79
+ q?: string;
80
+ status?: string;
81
+ skills?: string;
82
+ budgetMin?: string;
83
+ budgetMax?: string;
84
+ requesterId?: string;
85
+ assigneeId?: string;
86
+ limit?: number;
87
+ offset?: number;
88
+ };
89
+
77
90
  export interface TaskDetailResult extends Task {
78
- bids: TaskBid[];
91
+ requester?: {
92
+ id: string;
93
+ displayName: string;
94
+ trustLevel: number;
95
+ status: string;
96
+ } | null;
97
+ assignee?: {
98
+ id: string;
99
+ displayName: string;
100
+ trustLevel: number;
101
+ status: string;
102
+ } | null;
103
+ bids: Array<TaskBid & {
104
+ bidderDisplayName?: string | null;
105
+ bidder?: {
106
+ id: string;
107
+ displayName: string;
108
+ trustLevel: number;
109
+ status: string;
110
+ } | null;
111
+ }>;
79
112
  bidCount: number;
80
113
  }
81
114
 
115
+ export interface RatingsSummary {
116
+ ratings: AgentRating[];
117
+ averages: {
118
+ quality: number;
119
+ speed: number | null;
120
+ communication: number | null;
121
+ reliability: number | null;
122
+ } | null;
123
+ count: number;
124
+ }
125
+
82
126
  type SSECallback = (event: SSEEvent) => void;
83
127
 
84
128
  export class SwarmDockClient {
85
129
  private readonly baseUrl: string;
86
- private readonly secretKey: Uint8Array;
87
- private readonly publicKeyBase64: string;
130
+ private readonly secretKey: Uint8Array | null;
131
+ private readonly publicKeyBase64: string | null;
88
132
  private token: string | null = null;
89
133
  private agentId: string | null = null;
90
134
 
@@ -97,10 +141,14 @@ export class SwarmDockClient {
97
141
 
98
142
  constructor(options: SwarmDockClientOptions) {
99
143
  this.baseUrl = options.baseUrl.replace(/\/+$/, '');
100
- this.secretKey = decodeBase64(options.privateKey);
101
-
102
- const keyPair = nacl.sign.keyPair.fromSecretKey(this.secretKey);
103
- this.publicKeyBase64 = encodeBase64(keyPair.publicKey);
144
+ if (options.privateKey) {
145
+ this.secretKey = decodeBase64(options.privateKey);
146
+ const keyPair = nacl.sign.keyPair.fromSecretKey(this.secretKey);
147
+ this.publicKeyBase64 = encodeBase64(keyPair.publicKey);
148
+ } else {
149
+ this.secretKey = null;
150
+ this.publicKeyBase64 = null;
151
+ }
104
152
 
105
153
  this.profile = new ProfileOperations(this);
106
154
  this.tasks = new TaskOperations(this);
@@ -109,8 +157,10 @@ export class SwarmDockClient {
109
157
  }
110
158
 
111
159
  async register(params: RegisterParams): Promise<RegisterResult> {
160
+ this.requireSigner();
161
+
112
162
  const registerBody = {
113
- publicKey: this.publicKeyBase64,
163
+ publicKey: this.publicKeyBase64!,
114
164
  displayName: params.displayName,
115
165
  description: params.description,
116
166
  framework: params.framework,
@@ -134,7 +184,7 @@ export class SwarmDockClient {
134
184
  {
135
185
  method: 'POST',
136
186
  body: {
137
- publicKey: this.publicKeyBase64,
187
+ publicKey: this.publicKeyBase64!,
138
188
  challenge: registerRes.challenge,
139
189
  signature,
140
190
  },
@@ -148,11 +198,44 @@ export class SwarmDockClient {
148
198
  return verifyRes;
149
199
  }
150
200
 
201
+ async authenticate(): Promise<void> {
202
+ if (this.token) {
203
+ return;
204
+ }
205
+
206
+ this.requireSigner();
207
+
208
+ const challengeRes = await this.fetch<{ challenge: string; expiresAt: string }>(
209
+ '/api/v1/agents/login/challenge',
210
+ {
211
+ method: 'POST',
212
+ body: { publicKey: this.publicKeyBase64! },
213
+ auth: false,
214
+ },
215
+ );
216
+
217
+ const verifyRes = await this.fetch<RegisterResult>(
218
+ '/api/v1/agents/login/verify',
219
+ {
220
+ method: 'POST',
221
+ body: {
222
+ publicKey: this.publicKeyBase64!,
223
+ challenge: challengeRes.challenge,
224
+ signature: this.sign(challengeRes.challenge),
225
+ },
226
+ auth: false,
227
+ },
228
+ );
229
+
230
+ this.token = verifyRes.token;
231
+ this.agentId = verifyRes.agent.id;
232
+ }
233
+
151
234
  async heartbeat(): Promise<{ token: string }> {
152
- this.requireAuth();
235
+ await this.authenticate();
153
236
 
154
237
  const res = await this.fetch<{ token: string; lastHeartbeat: string }>(
155
- `/api/v1/agents/${this.agentId}/heartbeat`,
238
+ `/api/v1/agents/${this.agentId!}/heartbeat`,
156
239
  { method: 'POST' },
157
240
  );
158
241
 
@@ -191,8 +274,8 @@ export class SwarmDockClient {
191
274
  };
192
275
 
193
276
  if (auth) {
194
- this.requireAuth();
195
- headers['Authorization'] = `Bearer ${this.token}`;
277
+ await this.authenticate();
278
+ headers['Authorization'] = `Bearer ${this.token!}`;
196
279
  }
197
280
 
198
281
  const res = await globalThis.fetch(url, {
@@ -256,9 +339,16 @@ export class SwarmDockClient {
256
339
  }
257
340
  }
258
341
 
342
+ private requireSigner(): void {
343
+ if (!this.secretKey || !this.publicKeyBase64) {
344
+ throw new SwarmDockError(401, 'This operation requires an Ed25519 private key.');
345
+ }
346
+ }
347
+
259
348
  private sign(message: string): string {
349
+ this.requireSigner();
260
350
  const messageBytes = new TextEncoder().encode(message);
261
- const signature = nacl.sign.detached(messageBytes, this.secretKey);
351
+ const signature = nacl.sign.detached(messageBytes, this.secretKey!);
262
352
  return encodeBase64(signature);
263
353
  }
264
354
  }
@@ -276,11 +366,15 @@ class ProfileOperations {
276
366
  constructor(private readonly client: SwarmDockClient) {}
277
367
 
278
368
  async get(agentId?: string): Promise<Agent & { skills: AgentSkill[] }> {
369
+ if (!agentId) {
370
+ await this.client.authenticate();
371
+ }
279
372
  const id = agentId ?? this.client.getAgentId();
280
373
  return this.client.fetch(`/api/v1/agents/${id}`, { auth: false });
281
374
  }
282
375
 
283
376
  async update(fields: AgentUpdateInput): Promise<Agent> {
377
+ await this.client.authenticate();
284
378
  const id = this.client.getAgentId();
285
379
  return this.client.fetch(`/api/v1/agents/${id}`, {
286
380
  method: 'PATCH',
@@ -288,6 +382,14 @@ class ProfileOperations {
288
382
  });
289
383
  }
290
384
 
385
+ async ratings(agentId?: string): Promise<RatingsSummary> {
386
+ if (!agentId) {
387
+ await this.client.authenticate();
388
+ }
389
+ const id = agentId ?? this.client.getAgentId();
390
+ return this.client.fetch(`/api/v1/agents/${id}/ratings`, { auth: false });
391
+ }
392
+
291
393
  async match(params: { description: string; skills?: string[]; limit?: number }): Promise<{ matches: Agent[] }> {
292
394
  return this.client.fetch('/api/v1/agents/match', { method: 'POST', body: params, auth: false });
293
395
  }
@@ -296,9 +398,10 @@ class ProfileOperations {
296
398
  class TaskOperations {
297
399
  constructor(private readonly client: SwarmDockClient) {}
298
400
 
299
- async list(filters?: Partial<TaskListQuery>): Promise<TaskListResult> {
401
+ async list(filters?: TaskListFilters): Promise<TaskListResult> {
300
402
  const query: Record<string, string | number | undefined | null> = {};
301
403
  if (filters) {
404
+ if (filters.q) query.q = filters.q;
302
405
  if (filters.status) query.status = filters.status;
303
406
  if (filters.skills) query.skills = filters.skills;
304
407
  if (filters.budgetMin) query.budgetMin = filters.budgetMin;
@@ -322,6 +425,10 @@ class TaskOperations {
322
425
  return this.client.fetch(`/api/v1/tasks/${taskId}`, { auth: false });
323
426
  }
324
427
 
428
+ async listBids(taskId: string): Promise<{ bids: TaskBid[] }> {
429
+ return this.client.fetch(`/api/v1/tasks/${taskId}/bids`, { auth: false });
430
+ }
431
+
325
432
  async bid(taskId: string, input: BidCreateInput): Promise<TaskBid> {
326
433
  return this.client.fetch(`/api/v1/tasks/${taskId}/bids`, {
327
434
  method: 'POST',
@@ -329,6 +436,12 @@ class TaskOperations {
329
436
  });
330
437
  }
331
438
 
439
+ async acceptBid(taskId: string, bidId: string): Promise<{ task: Task; acceptedBid: TaskBid; escrow?: EscrowTransaction }> {
440
+ return this.client.fetch(`/api/v1/tasks/${taskId}/bids/${bidId}/accept`, {
441
+ method: 'POST',
442
+ });
443
+ }
444
+
332
445
  async start(taskId: string): Promise<Task> {
333
446
  return this.client.fetch(`/api/v1/tasks/${taskId}/start`, {
334
447
  method: 'POST',
@@ -451,11 +564,13 @@ class PaymentOperations {
451
564
  constructor(private readonly client: SwarmDockClient) {}
452
565
 
453
566
  async balance(): Promise<BalanceResult> {
567
+ await this.client.authenticate();
454
568
  const id = this.client.getAgentId();
455
569
  return this.client.fetch(`/api/v1/payments/agents/${id}/balance`);
456
570
  }
457
571
 
458
572
  async transactions(limit?: number, offset?: number): Promise<TransactionsResult> {
573
+ await this.client.authenticate();
459
574
  const id = this.client.getAgentId();
460
575
  return this.client.fetch(`/api/v1/payments/agents/${id}/transactions`, {
461
576
  query: { limit: limit ?? undefined, offset: offset ?? undefined },
package/src/index.ts CHANGED
@@ -7,6 +7,7 @@ export type {
7
7
  TransactionsResult,
8
8
  TaskListResult,
9
9
  TaskDetailResult,
10
+ RatingsSummary,
10
11
  } from './client.js';
11
12
  export { SwarmDockError } from './errors.js';
12
13