@swarmdock/sdk 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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,8 @@
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, Dispute, PortfolioItem, 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
+ paymentPrivateKey?: `0x${string}`;
5
6
  }
6
7
  export interface RegisterParams {
7
8
  displayName: string;
@@ -37,6 +38,8 @@ export interface BalanceResult {
37
38
  agentId: string;
38
39
  earned: string;
39
40
  spent: string;
41
+ escrowed?: string;
42
+ released?: string;
40
43
  currency: string;
41
44
  network: string;
42
45
  }
@@ -46,19 +49,77 @@ export interface TransactionsResult {
46
49
  offset: number;
47
50
  }
48
51
  export interface TaskListResult {
49
- tasks: Task[];
52
+ tasks: Array<Task & {
53
+ bidCount?: number;
54
+ }>;
50
55
  limit: number;
51
56
  offset: number;
57
+ total?: number;
52
58
  }
59
+ type TaskListFilters = {
60
+ q?: string;
61
+ status?: string;
62
+ skills?: string;
63
+ budgetMin?: string;
64
+ budgetMax?: string;
65
+ requesterId?: string;
66
+ assigneeId?: string;
67
+ limit?: number;
68
+ offset?: number;
69
+ };
53
70
  export interface TaskDetailResult extends Task {
54
- bids: TaskBid[];
71
+ requester?: {
72
+ id: string;
73
+ displayName: string;
74
+ trustLevel: number;
75
+ status: string;
76
+ } | null;
77
+ assignee?: {
78
+ id: string;
79
+ displayName: string;
80
+ trustLevel: number;
81
+ status: string;
82
+ } | null;
83
+ bids: Array<TaskBid & {
84
+ bidderDisplayName?: string | null;
85
+ bidder?: {
86
+ id: string;
87
+ displayName: string;
88
+ trustLevel: number;
89
+ status: string;
90
+ } | null;
91
+ }>;
55
92
  bidCount: number;
93
+ dispute: Dispute | null;
94
+ }
95
+ export interface RatingsSummary {
96
+ ratings: AgentRating[];
97
+ averages: {
98
+ quality: number;
99
+ speed: number | null;
100
+ communication: number | null;
101
+ reliability: number | null;
102
+ } | null;
103
+ count: number;
104
+ }
105
+ export interface PortfolioResult {
106
+ items: PortfolioItem[];
107
+ count: number;
108
+ }
109
+ export interface ReputationResult {
110
+ agentId: string;
111
+ trustLevel: number;
112
+ totalTasksCompleted: number;
113
+ totalTasksFailed: number;
114
+ averageRating: number | null;
115
+ specializations: string[];
56
116
  }
57
117
  type SSECallback = (event: SSEEvent) => void;
58
118
  export declare class SwarmDockClient {
59
119
  private readonly baseUrl;
60
120
  private readonly secretKey;
61
121
  private readonly publicKeyBase64;
122
+ private readonly fetchImpl;
62
123
  private token;
63
124
  private agentId;
64
125
  private sseAbortController;
@@ -68,6 +129,7 @@ export declare class SwarmDockClient {
68
129
  readonly payments: PaymentOperations;
69
130
  constructor(options: SwarmDockClientOptions);
70
131
  register(params: RegisterParams): Promise<RegisterResult>;
132
+ authenticate(): Promise<void>;
71
133
  heartbeat(): Promise<{
72
134
  token: string;
73
135
  }>;
@@ -87,6 +149,7 @@ export declare class SwarmDockClient {
87
149
  /** @internal */
88
150
  setSseAbortController(controller: AbortController | null): void;
89
151
  private requireAuth;
152
+ private requireSigner;
90
153
  private sign;
91
154
  }
92
155
  interface FetchOptions {
@@ -102,6 +165,17 @@ declare class ProfileOperations {
102
165
  skills: AgentSkill[];
103
166
  }>;
104
167
  update(fields: AgentUpdateInput): Promise<Agent>;
168
+ ratings(agentId?: string): Promise<RatingsSummary>;
169
+ portfolio(agentId?: string): Promise<PortfolioResult>;
170
+ readonly portfolioManage: {
171
+ create: (taskId: string) => Promise<PortfolioItem>;
172
+ update: (itemId: string, updates: {
173
+ isPinned?: boolean;
174
+ displayOrder?: number;
175
+ }) => Promise<PortfolioItem>;
176
+ remove: (itemId: string) => Promise<void>;
177
+ };
178
+ reputation(agentId?: string): Promise<ReputationResult>;
105
179
  match(params: {
106
180
  description: string;
107
181
  skills?: string[];
@@ -113,14 +187,23 @@ declare class ProfileOperations {
113
187
  declare class TaskOperations {
114
188
  private readonly client;
115
189
  constructor(client: SwarmDockClient);
116
- list(filters?: Partial<TaskListQuery>): Promise<TaskListResult>;
190
+ list(filters?: TaskListFilters): Promise<TaskListResult>;
117
191
  create(input: TaskCreateInput): Promise<Task>;
118
192
  get(taskId: string): Promise<TaskDetailResult>;
193
+ listBids(taskId: string): Promise<{
194
+ bids: TaskBid[];
195
+ }>;
119
196
  bid(taskId: string, input: BidCreateInput): Promise<TaskBid>;
197
+ acceptBid(taskId: string, bidId: string): Promise<{
198
+ task: Task;
199
+ acceptedBid: TaskBid;
200
+ escrow?: EscrowTransaction;
201
+ }>;
120
202
  start(taskId: string): Promise<Task>;
121
203
  submit(taskId: string, input: TaskSubmitInput): Promise<Task>;
122
204
  approve(taskId: string): Promise<Task>;
123
205
  reject(taskId: string, reason?: string): Promise<Task>;
206
+ dispute(taskId: string, reason: string): Promise<Dispute>;
124
207
  }
125
208
  declare class EventOperations {
126
209
  private readonly client;
@@ -136,5 +219,104 @@ declare class PaymentOperations {
136
219
  balance(): Promise<BalanceResult>;
137
220
  transactions(limit?: number, offset?: number): Promise<TransactionsResult>;
138
221
  }
222
+ export interface TaskContext {
223
+ id: string;
224
+ title: string;
225
+ description: string;
226
+ inputData: unknown;
227
+ inputFiles: string[];
228
+ skillRequirements: string[];
229
+ budgetMax: string;
230
+ /** Mark the task as in-progress */
231
+ start(): Promise<void>;
232
+ /** Submit the completed result */
233
+ complete(result: TaskResult): Promise<void>;
234
+ }
235
+ export interface TaskResult {
236
+ artifacts: Array<{
237
+ type: string;
238
+ content: unknown;
239
+ }>;
240
+ files?: string[];
241
+ notes?: string;
242
+ }
243
+ export interface TaskListing {
244
+ id: string;
245
+ title: string;
246
+ description: string;
247
+ skillRequirements: string[];
248
+ budgetMin: string | null;
249
+ budgetMax: string;
250
+ matchingMode: string;
251
+ }
252
+ export interface SwarmDockAgentOptions {
253
+ baseUrl?: string;
254
+ name: string;
255
+ skills: Array<{
256
+ id: string;
257
+ name: string;
258
+ description: string;
259
+ category: string;
260
+ pricing?: {
261
+ model?: string;
262
+ basePrice: number;
263
+ };
264
+ examples?: string[];
265
+ inputModes?: string[];
266
+ outputModes?: string[];
267
+ }>;
268
+ framework?: string;
269
+ modelProvider?: string;
270
+ modelName?: string;
271
+ walletAddress: string;
272
+ privateKey?: string;
273
+ paymentPrivateKey?: `0x${string}`;
274
+ }
275
+ type TaskHandler = (task: TaskContext) => Promise<TaskResult>;
276
+ type TaskAvailableHandler = (listing: TaskListing) => Promise<void>;
277
+ export declare class SwarmDockAgent {
278
+ private client;
279
+ private readonly options;
280
+ private taskHandlers;
281
+ private taskAvailableHandler?;
282
+ private heartbeatInterval?;
283
+ private eventUnsubscribe?;
284
+ private running;
285
+ constructor(options: SwarmDockAgentOptions);
286
+ /**
287
+ * Register a handler for tasks that match a specific skill.
288
+ * When this agent is assigned a task whose skillRequirements include
289
+ * the given skillId, the handler will be invoked.
290
+ */
291
+ onTask(skillId: string, handler: TaskHandler): void;
292
+ /**
293
+ * Register a handler that fires when a new task is created on the
294
+ * marketplace that matches this agent's skills. Useful for auto-bidding.
295
+ */
296
+ onTaskAvailable(handler: TaskAvailableHandler): void;
297
+ /**
298
+ * Start the agent: register (or authenticate), begin heartbeat,
299
+ * and subscribe to the SSE event stream.
300
+ */
301
+ start(): Promise<void>;
302
+ /**
303
+ * Stop the agent: unsubscribe from events, clear heartbeat,
304
+ * and mark as not running.
305
+ */
306
+ stop(): Promise<void>;
307
+ /**
308
+ * Submit a bid on a task.
309
+ */
310
+ bid(taskId: string, options: {
311
+ price: number;
312
+ confidence?: number;
313
+ proposal?: string;
314
+ }): Promise<TaskBid>;
315
+ /** Expose the underlying client for advanced use cases */
316
+ getClient(): SwarmDockClient;
317
+ private handleEvent;
318
+ private handleTaskAssigned;
319
+ private handleTaskCreated;
320
+ }
139
321
  export {};
140
322
  //# sourceMappingURL=client.d.ts.map
@@ -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":"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"}