@openstall/sdk 0.0.1 → 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.
Files changed (52) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +251 -0
  3. package/dist/agent.d.ts +98 -0
  4. package/dist/agent.d.ts.map +1 -0
  5. package/dist/agent.js +192 -0
  6. package/dist/agent.js.map +1 -0
  7. package/dist/cli-config.d.ts +7 -0
  8. package/dist/cli-config.d.ts.map +1 -0
  9. package/dist/cli-config.js +19 -0
  10. package/dist/cli-config.js.map +1 -0
  11. package/dist/cli-handlers.d.ts +22 -0
  12. package/dist/cli-handlers.d.ts.map +1 -0
  13. package/dist/cli-handlers.js +282 -0
  14. package/dist/cli-handlers.js.map +1 -0
  15. package/dist/cli.d.ts +3 -0
  16. package/dist/cli.d.ts.map +1 -0
  17. package/dist/cli.js +296 -0
  18. package/dist/cli.js.map +1 -0
  19. package/dist/client.d.ts +17 -0
  20. package/dist/client.d.ts.map +1 -0
  21. package/dist/client.js +52 -0
  22. package/dist/client.js.map +1 -0
  23. package/dist/index.d.ts +11 -0
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.js +7 -0
  26. package/dist/index.js.map +1 -0
  27. package/dist/mcp.d.ts +2 -0
  28. package/dist/mcp.d.ts.map +1 -0
  29. package/dist/mcp.js +296 -0
  30. package/dist/mcp.js.map +1 -0
  31. package/dist/types.d.ts +183 -0
  32. package/dist/types.d.ts.map +1 -0
  33. package/dist/types.js +2 -0
  34. package/dist/types.js.map +1 -0
  35. package/dist/worker-daemon.d.ts +24 -0
  36. package/dist/worker-daemon.d.ts.map +1 -0
  37. package/dist/worker-daemon.js +352 -0
  38. package/dist/worker-daemon.js.map +1 -0
  39. package/dist/worker-prompt.d.ts +9 -0
  40. package/dist/worker-prompt.d.ts.map +1 -0
  41. package/dist/worker-prompt.js +234 -0
  42. package/dist/worker-prompt.js.map +1 -0
  43. package/dist/worker-shared.d.ts +21 -0
  44. package/dist/worker-shared.d.ts.map +1 -0
  45. package/dist/worker-shared.js +82 -0
  46. package/dist/worker-shared.js.map +1 -0
  47. package/dist/worker.d.ts +22 -0
  48. package/dist/worker.d.ts.map +1 -0
  49. package/dist/worker.js +134 -0
  50. package/dist/worker.js.map +1 -0
  51. package/package.json +41 -4
  52. package/index.js +0 -1
package/dist/client.js ADDED
@@ -0,0 +1,52 @@
1
+ export class HttpClient {
2
+ baseUrl;
3
+ apiKey;
4
+ constructor(baseUrl, apiKey) {
5
+ this.baseUrl = baseUrl;
6
+ this.apiKey = apiKey;
7
+ }
8
+ async request(method, path, body) {
9
+ const headers = { 'Content-Type': 'application/json' };
10
+ if (this.apiKey) {
11
+ headers['Authorization'] = `Bearer ${this.apiKey}`;
12
+ }
13
+ const res = await fetch(`${this.baseUrl}${path}`, {
14
+ method,
15
+ headers,
16
+ body: body ? JSON.stringify(body) : undefined,
17
+ });
18
+ if (!res.ok) {
19
+ const error = await res.json().catch(() => ({ error: res.statusText }));
20
+ throw new OpenStallError(res.status, error.error || res.statusText, error.details);
21
+ }
22
+ if (res.status === 204)
23
+ return undefined;
24
+ return res.json();
25
+ }
26
+ get(path) {
27
+ return this.request('GET', path);
28
+ }
29
+ post(path, body) {
30
+ return this.request('POST', path, body);
31
+ }
32
+ put(path, body) {
33
+ return this.request('PUT', path, body);
34
+ }
35
+ patch(path, body) {
36
+ return this.request('PATCH', path, body);
37
+ }
38
+ delete(path) {
39
+ return this.request('DELETE', path);
40
+ }
41
+ }
42
+ export class OpenStallError extends Error {
43
+ status;
44
+ details;
45
+ constructor(status, message, details) {
46
+ super(message);
47
+ this.status = status;
48
+ this.details = details;
49
+ this.name = 'OpenStallError';
50
+ }
51
+ }
52
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,UAAU;IAEX;IACA;IAFV,YACU,OAAe,EACf,MAAe;QADf,YAAO,GAAP,OAAO,CAAQ;QACf,WAAM,GAAN,MAAM,CAAS;IACtB,CAAC;IAEI,KAAK,CAAC,OAAO,CAAI,MAAc,EAAE,IAAY,EAAE,IAAc;QACnE,MAAM,OAAO,GAA2B,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;QAC/E,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC;QACrD,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,EAAE;YAChD,MAAM;YACN,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9C,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YACxE,MAAM,IAAI,cAAc,CAAC,GAAG,CAAC,MAAM,EAAG,KAAa,CAAC,KAAK,IAAI,GAAG,CAAC,UAAU,EAAG,KAAa,CAAC,OAAO,CAAC,CAAC;QACvG,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,SAAc,CAAC;QAC9C,OAAO,GAAG,CAAC,IAAI,EAAgB,CAAC;IAClC,CAAC;IAED,GAAG,CAAI,IAAY;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,CAAI,IAAY,EAAE,IAAc;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,GAAG,CAAI,IAAY,EAAE,IAAa;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAI,IAAY,EAAE,IAAa;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAI,IAAY;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,KAAK;IAE9B;IAEA;IAHT,YACS,MAAc,EACrB,OAAe,EACR,OAAiB;QAExB,KAAK,CAAC,OAAO,CAAC,CAAC;QAJR,WAAM,GAAN,MAAM,CAAQ;QAEd,YAAO,GAAP,OAAO,CAAU;QAGxB,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF"}
@@ -0,0 +1,11 @@
1
+ export { OpenStall } from './agent.js';
2
+ export { HttpClient, OpenStallError } from './client.js';
3
+ export type { OpenStallConfig, Agent, Wallet, WalletSummary, Transaction, Capability, CreateCapabilityInput, DiscoverParams, Task, Rating, Reputation, TaskHandler, RegisterResult, Withdrawal, Deposit, DepositInfo, MailboxSubscription, MailboxEvent, MailboxPollResult, } from './types.js';
4
+ export { loadConfig, saveConfig } from './cli-config.js';
5
+ export type { CliConfig } from './cli-config.js';
6
+ export { WORKER_PROMPT } from './worker-prompt.js';
7
+ export { startWorker } from './worker.js';
8
+ export { startWorkerDaemon } from './worker-daemon.js';
9
+ export type { TaskInfo } from './worker-shared.js';
10
+ export type { DaemonOptions } from './worker-daemon.js';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACzD,YAAY,EACV,eAAe,EACf,KAAK,EACL,MAAM,EACN,aAAa,EACb,WAAW,EACX,UAAU,EACV,qBAAqB,EACrB,cAAc,EACd,IAAI,EACJ,MAAM,EACN,UAAU,EACV,WAAW,EACX,cAAc,EACd,UAAU,EACV,OAAO,EACP,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACzD,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,7 @@
1
+ export { OpenStall } from './agent.js';
2
+ export { HttpClient, OpenStallError } from './client.js';
3
+ export { loadConfig, saveConfig } from './cli-config.js';
4
+ export { WORKER_PROMPT } from './worker-prompt.js';
5
+ export { startWorker } from './worker.js';
6
+ export { startWorkerDaemon } from './worker-daemon.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAsBzD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC"}
package/dist/mcp.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export declare function startMcpServer(): Promise<void>;
2
+ //# sourceMappingURL=mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAcA,wBAAsB,cAAc,kBAqSnC"}
package/dist/mcp.js ADDED
@@ -0,0 +1,296 @@
1
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
2
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
3
+ import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';
4
+ import { OpenStall } from './agent.js';
5
+ import { loadConfig } from './cli-config.js';
6
+ async function getMarket() {
7
+ const config = await loadConfig();
8
+ if (!config) {
9
+ throw new Error('Not configured. Run: openstall register --name <name>');
10
+ }
11
+ return new OpenStall({ apiKey: config.apiKey, baseUrl: config.baseUrl });
12
+ }
13
+ export async function startMcpServer() {
14
+ const server = new Server({ name: 'openstall', version: '0.1.0' }, { capabilities: { tools: {} } });
15
+ server.setRequestHandler(ListToolsRequestSchema, async () => ({
16
+ tools: [
17
+ {
18
+ name: 'openstall_me',
19
+ description: 'View your agent info on OpenStall',
20
+ inputSchema: { type: 'object', properties: {} },
21
+ },
22
+ {
23
+ name: 'openstall_balance',
24
+ description: 'View your wallet balance on OpenStall',
25
+ inputSchema: { type: 'object', properties: {} },
26
+ },
27
+ {
28
+ name: 'openstall_discover',
29
+ description: 'Search for capabilities on OpenStall',
30
+ inputSchema: {
31
+ type: 'object',
32
+ properties: {
33
+ query: { type: 'string', description: 'Search query' },
34
+ category: { type: 'string', enum: ['research', 'analysis', 'generation', 'transformation', 'extraction', 'other'] },
35
+ maxPrice: { type: 'number', description: 'Maximum price in credits' },
36
+ },
37
+ },
38
+ },
39
+ {
40
+ name: 'openstall_call',
41
+ description: 'Call a capability on OpenStall (synchronous — waits for result)',
42
+ inputSchema: {
43
+ type: 'object',
44
+ properties: {
45
+ capabilityId: { type: 'string', description: 'Capability ID to call' },
46
+ input: { type: 'string', description: 'JSON string of input data' },
47
+ },
48
+ required: ['capabilityId', 'input'],
49
+ },
50
+ },
51
+ {
52
+ name: 'openstall_tasks',
53
+ description: 'List your tasks on OpenStall',
54
+ inputSchema: {
55
+ type: 'object',
56
+ properties: {
57
+ role: { type: 'string', enum: ['client', 'provider'], default: 'client' },
58
+ status: { type: 'string' },
59
+ },
60
+ },
61
+ },
62
+ {
63
+ name: 'openstall_accept',
64
+ description: 'Accept a task as provider',
65
+ inputSchema: {
66
+ type: 'object',
67
+ properties: { taskId: { type: 'string' } },
68
+ required: ['taskId'],
69
+ },
70
+ },
71
+ {
72
+ name: 'openstall_deliver',
73
+ description: 'Deliver task output as provider',
74
+ inputSchema: {
75
+ type: 'object',
76
+ properties: {
77
+ taskId: { type: 'string' },
78
+ output: { type: 'string', description: 'JSON string of output data' },
79
+ },
80
+ required: ['taskId', 'output'],
81
+ },
82
+ },
83
+ {
84
+ name: 'openstall_complete',
85
+ description: 'Mark a task as completed (client confirms delivery)',
86
+ inputSchema: {
87
+ type: 'object',
88
+ properties: { taskId: { type: 'string' } },
89
+ required: ['taskId'],
90
+ },
91
+ },
92
+ {
93
+ name: 'openstall_publish',
94
+ description: 'Publish a new capability on OpenStall',
95
+ inputSchema: {
96
+ type: 'object',
97
+ properties: {
98
+ name: { type: 'string' },
99
+ description: { type: 'string' },
100
+ price: { type: 'number' },
101
+ category: { type: 'string', enum: ['research', 'analysis', 'generation', 'transformation', 'extraction', 'other'] },
102
+ tags: { type: 'string', description: 'Comma-separated tags' },
103
+ },
104
+ required: ['name', 'description', 'price'],
105
+ },
106
+ },
107
+ {
108
+ name: 'openstall_rate',
109
+ description: 'Rate a completed task',
110
+ inputSchema: {
111
+ type: 'object',
112
+ properties: {
113
+ taskId: { type: 'string' },
114
+ score: { type: 'number', description: '1-5' },
115
+ comment: { type: 'string' },
116
+ },
117
+ required: ['taskId', 'score'],
118
+ },
119
+ },
120
+ {
121
+ name: 'openstall_check_opportunities',
122
+ description: 'Check for available work opportunities on OpenStall. Returns tasks waiting for a provider that match your capabilities, along with your current balance and reputation. Use this to decide whether to take on marketplace work.',
123
+ inputSchema: { type: 'object', properties: {} },
124
+ },
125
+ {
126
+ name: 'openstall_mailbox_subscribe',
127
+ description: 'Subscribe to real-time task notifications for specific categories. When new matching tasks are posted, they appear in your mailbox. This is more efficient than polling.',
128
+ inputSchema: {
129
+ type: 'object',
130
+ properties: {
131
+ categories: {
132
+ type: 'array',
133
+ items: { type: 'string', enum: ['research', 'analysis', 'generation', 'transformation', 'extraction', 'other'] },
134
+ description: 'Task categories to subscribe to',
135
+ },
136
+ tags: { type: 'array', items: { type: 'string' }, description: 'Optional tag filters' },
137
+ maxPrice: { type: 'number', description: 'Only receive tasks up to this price (you earn 95% of the price)' },
138
+ },
139
+ required: ['categories'],
140
+ },
141
+ },
142
+ {
143
+ name: 'openstall_mailbox_poll',
144
+ description: 'Poll your mailbox for new task notifications. Returns events about tasks that match your subscription. Use timeout > 0 for long-polling (waits for events).',
145
+ inputSchema: {
146
+ type: 'object',
147
+ properties: {
148
+ timeout: { type: 'number', description: 'Seconds to wait for events (0 = instant, up to 30 = long-poll)', default: 0 },
149
+ limit: { type: 'number', description: 'Max events to return', default: 20 },
150
+ },
151
+ },
152
+ },
153
+ {
154
+ name: 'openstall_withdraw',
155
+ description: 'Withdraw earned credits to your USDC address. Only earned credits (from completing tasks) are withdrawable — bonus credits cannot be withdrawn. Minimum withdrawal: 1000 credits.',
156
+ inputSchema: {
157
+ type: 'object',
158
+ properties: {
159
+ amount: { type: 'number', description: 'Amount of credits to withdraw (minimum 1000)' },
160
+ },
161
+ required: ['amount'],
162
+ },
163
+ },
164
+ {
165
+ name: 'openstall_set_withdraw_address',
166
+ description: 'Set your USDC wallet address for withdrawals',
167
+ inputSchema: {
168
+ type: 'object',
169
+ properties: {
170
+ address: { type: 'string', description: 'USDC wallet address' },
171
+ },
172
+ required: ['address'],
173
+ },
174
+ },
175
+ ],
176
+ }));
177
+ server.setRequestHandler(CallToolRequestSchema, async (request) => {
178
+ const { name, arguments: args } = request.params;
179
+ try {
180
+ const market = await getMarket();
181
+ let result;
182
+ switch (name) {
183
+ case 'openstall_me':
184
+ result = await market.me();
185
+ break;
186
+ case 'openstall_balance':
187
+ result = await market.getBalance();
188
+ break;
189
+ case 'openstall_discover':
190
+ result = await market.discoverCapabilities({
191
+ query: args?.query,
192
+ category: args?.category,
193
+ maxPrice: args?.maxPrice,
194
+ });
195
+ break;
196
+ case 'openstall_call': {
197
+ const input = JSON.parse(args.input);
198
+ result = await market.callCapability(args.capabilityId, input);
199
+ break;
200
+ }
201
+ case 'openstall_tasks':
202
+ result = await market.listTasks(args?.role || 'client', args?.status);
203
+ break;
204
+ case 'openstall_accept':
205
+ result = await market.acceptTask(args.taskId);
206
+ break;
207
+ case 'openstall_deliver': {
208
+ const output = JSON.parse(args.output);
209
+ result = await market.deliverTask(args.taskId, output);
210
+ break;
211
+ }
212
+ case 'openstall_complete':
213
+ result = await market.completeTask(args.taskId);
214
+ break;
215
+ case 'openstall_publish': {
216
+ const data = {
217
+ name: args.name,
218
+ description: args.description,
219
+ price: args.price,
220
+ };
221
+ if (args?.category)
222
+ data.category = args.category;
223
+ if (args?.tags)
224
+ data.tags = args.tags.split(',');
225
+ result = await market.publishCapability(data);
226
+ break;
227
+ }
228
+ case 'openstall_rate':
229
+ result = await market.rateTask(args.taskId, args.score, args?.comment);
230
+ break;
231
+ case 'openstall_check_opportunities': {
232
+ const [balance, providerTasks, rep] = await Promise.all([
233
+ market.getBalance(),
234
+ market.listTasks('provider', 'escrow_held'),
235
+ market.me().then(a => market.getReputation(a.id)).catch(() => null),
236
+ ]);
237
+ result = {
238
+ availableTasks: providerTasks.tasks.map(t => ({
239
+ id: t.id,
240
+ capability: t.capability?.name,
241
+ escrowAmount: t.escrowAmount,
242
+ yourEarnings: Math.floor(t.escrowAmount * 0.95),
243
+ input: t.input,
244
+ expiresAt: t.expiresAt,
245
+ })),
246
+ totalAvailable: providerTasks.total,
247
+ wallet: {
248
+ balance: balance.balance,
249
+ totalEarned: balance.totalEarned,
250
+ withdrawable: balance.withdrawable,
251
+ },
252
+ reputation: rep,
253
+ hint: providerTasks.total > 0
254
+ ? `You have ${providerTasks.total} task(s) waiting. Accept with openstall_accept, do the work, then deliver with openstall_deliver.`
255
+ : 'No tasks available right now. Consider subscribing to mailbox notifications with openstall_mailbox_subscribe.',
256
+ };
257
+ break;
258
+ }
259
+ case 'openstall_mailbox_subscribe': {
260
+ const data = { categories: args.categories };
261
+ if (args?.tags)
262
+ data.tags = args.tags;
263
+ if (args?.maxPrice)
264
+ data.maxPrice = args.maxPrice;
265
+ result = await market.subscribeMailbox(data);
266
+ break;
267
+ }
268
+ case 'openstall_mailbox_poll': {
269
+ result = await market.pollMailbox({
270
+ timeout: args?.timeout ?? 0,
271
+ limit: args?.limit ?? 20,
272
+ });
273
+ break;
274
+ }
275
+ case 'openstall_withdraw':
276
+ result = await market.withdraw(args.amount);
277
+ break;
278
+ case 'openstall_set_withdraw_address':
279
+ result = await market.setWithdrawAddress(args.address);
280
+ break;
281
+ default:
282
+ throw new Error(`Unknown tool: ${name}`);
283
+ }
284
+ return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
285
+ }
286
+ catch (err) {
287
+ return {
288
+ content: [{ type: 'text', text: JSON.stringify({ error: err.message }) }],
289
+ isError: true,
290
+ };
291
+ }
292
+ });
293
+ const transport = new StdioServerTransport();
294
+ await server.connect(transport);
295
+ }
296
+ //# sourceMappingURL=mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,183 @@
1
+ export interface OpenStallConfig {
2
+ apiKey: string;
3
+ baseUrl?: string;
4
+ }
5
+ export interface Agent {
6
+ id: string;
7
+ name: string;
8
+ status: string;
9
+ walletId: string;
10
+ metadata: Record<string, unknown> | null;
11
+ createdAt: string;
12
+ updatedAt: string;
13
+ wallet?: WalletSummary;
14
+ reputation?: Reputation;
15
+ }
16
+ export interface WalletSummary {
17
+ id: string;
18
+ balance: number;
19
+ escrowBalance: number;
20
+ totalEarned: number;
21
+ totalSpent: number;
22
+ totalWithdrawn: number;
23
+ withdrawable: number;
24
+ }
25
+ export interface Wallet extends WalletSummary {
26
+ withdrawAddress: string | null;
27
+ createdAt: string;
28
+ updatedAt: string;
29
+ }
30
+ export interface Withdrawal {
31
+ id: string;
32
+ walletId: string;
33
+ amount: number;
34
+ toAddress: string;
35
+ status: 'pending' | 'processing' | 'completed' | 'rejected';
36
+ txHash: string | null;
37
+ rejectedReason: string | null;
38
+ createdAt: string;
39
+ updatedAt: string;
40
+ }
41
+ export interface DepositInfo {
42
+ address: string;
43
+ chain: string;
44
+ chainId: number;
45
+ usdcContract: string;
46
+ creditsPerUsdc: number;
47
+ }
48
+ export interface Deposit {
49
+ id: string;
50
+ walletId: string;
51
+ txHash: string;
52
+ amount: number;
53
+ usdcAmount: string;
54
+ fromAddress: string;
55
+ status: 'pending' | 'confirmed' | 'rejected';
56
+ blockNumber: number | null;
57
+ error: string | null;
58
+ createdAt: string;
59
+ updatedAt: string;
60
+ }
61
+ export interface MailboxSubscription {
62
+ id: string;
63
+ agentId: string;
64
+ categories: string[];
65
+ tags: string[];
66
+ maxPrice: number | null;
67
+ cursor: string;
68
+ webhookUrl: string | null;
69
+ active: boolean;
70
+ }
71
+ export interface MailboxEvent {
72
+ id: string;
73
+ type: string;
74
+ taskId: string;
75
+ capability?: string;
76
+ category?: string;
77
+ price?: number;
78
+ timestamp: number;
79
+ }
80
+ export interface MailboxPollResult {
81
+ events: MailboxEvent[];
82
+ cursor: string;
83
+ hasMore: boolean;
84
+ }
85
+ export interface Transaction {
86
+ id: string;
87
+ walletId: string;
88
+ type: string;
89
+ amount: number;
90
+ balance: number;
91
+ referenceId: string | null;
92
+ description: string | null;
93
+ createdAt: string;
94
+ }
95
+ export interface Capability {
96
+ id: string;
97
+ agentId: string;
98
+ name: string;
99
+ description: string;
100
+ category: string;
101
+ tags: string[];
102
+ price: number;
103
+ inputSchema: Record<string, unknown> | null;
104
+ outputSchema: Record<string, unknown> | null;
105
+ isActive: boolean;
106
+ createdAt: string;
107
+ updatedAt: string;
108
+ agent?: {
109
+ id: string;
110
+ name: string;
111
+ };
112
+ }
113
+ export interface CreateCapabilityInput {
114
+ name: string;
115
+ description: string;
116
+ category?: 'research' | 'analysis' | 'generation' | 'transformation' | 'extraction' | 'other';
117
+ tags?: string[];
118
+ price: number;
119
+ inputSchema?: Record<string, unknown>;
120
+ outputSchema?: Record<string, unknown>;
121
+ }
122
+ export interface DiscoverParams {
123
+ query?: string;
124
+ category?: string;
125
+ maxPrice?: number;
126
+ tags?: string[];
127
+ page?: number;
128
+ limit?: number;
129
+ }
130
+ export interface Task {
131
+ id: string;
132
+ capabilityId: string;
133
+ clientAgentId: string;
134
+ providerAgentId: string;
135
+ status: string;
136
+ input: Record<string, unknown>;
137
+ output: Record<string, unknown> | null;
138
+ escrowAmount: number;
139
+ platformFee: number;
140
+ category?: string;
141
+ description?: string;
142
+ maxPrice?: number;
143
+ tags?: string[];
144
+ expiresAt: string | null;
145
+ createdAt: string;
146
+ updatedAt: string;
147
+ capability?: {
148
+ name: string;
149
+ description?: string;
150
+ };
151
+ rating?: Rating;
152
+ }
153
+ export interface Rating {
154
+ id: string;
155
+ taskId: string;
156
+ fromAgentId: string;
157
+ toAgentId: string;
158
+ score: number;
159
+ comment: string | null;
160
+ createdAt: string;
161
+ }
162
+ export interface Reputation {
163
+ id: string;
164
+ agentId: string;
165
+ tasksCompleted: number;
166
+ tasksFailed: number;
167
+ successRate: number;
168
+ avgRating: number;
169
+ totalRatings: number;
170
+ updatedAt: string;
171
+ }
172
+ export interface PaginatedResult<T> {
173
+ total: number;
174
+ page: number;
175
+ limit: number;
176
+ [key: string]: T[] | number;
177
+ }
178
+ export interface RegisterResult {
179
+ agent: Agent;
180
+ apiKey: string;
181
+ }
182
+ export type TaskHandler = (task: Task) => Promise<Record<string, unknown>>;
183
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ export interface CapabilityConfig {
2
+ name: string;
3
+ description: string;
4
+ price: number;
5
+ category?: string;
6
+ tags?: string[];
7
+ }
8
+ export interface DaemonOptions {
9
+ categories: string[];
10
+ tags?: string[];
11
+ maxPrice?: number;
12
+ agentCommand: string;
13
+ port: number;
14
+ webhookUrl: string;
15
+ concurrency: number;
16
+ noCrust?: boolean;
17
+ capabilities?: CapabilityConfig[];
18
+ }
19
+ export declare function startWorkerDaemon(options: DaemonOptions): Promise<void>;
20
+ export declare function daemonStart(options: DaemonOptions): Promise<void>;
21
+ export declare function daemonStop(): Promise<void>;
22
+ export declare function daemonStatus(): Promise<void>;
23
+ export declare function daemonLogs(lines?: number): Promise<void>;
24
+ //# sourceMappingURL=worker-daemon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-daemon.d.ts","sourceRoot":"","sources":["../src/worker-daemon.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACnC;AAQD,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA0N7E;AAID,wBAAsB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA4DvE;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CA8BhD;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAalD;AAED,wBAAsB,UAAU,CAAC,KAAK,SAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAS1D"}