@rainfall-devkit/sdk 0.1.8 → 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.
Files changed (58) hide show
  1. package/README.md +51 -0
  2. package/dist/chunk-7MRE4ZVI.mjs +662 -0
  3. package/dist/chunk-AQFC7YAX.mjs +27 -0
  4. package/dist/chunk-EI7SJH5K.mjs +85 -0
  5. package/dist/chunk-NTTAVKRT.mjs +89 -0
  6. package/dist/chunk-RVKW5KBT.mjs +269 -0
  7. package/dist/chunk-V5QWJVLC.mjs +662 -0
  8. package/dist/chunk-VDPKDC3R.mjs +869 -0
  9. package/dist/chunk-WOITG5TG.mjs +84 -0
  10. package/dist/chunk-XAHJQRBJ.mjs +269 -0
  11. package/dist/chunk-XEQ6U3JQ.mjs +269 -0
  12. package/dist/cli/index.js +3797 -632
  13. package/dist/cli/index.mjs +453 -36
  14. package/dist/config-7UT7GYSN.mjs +16 -0
  15. package/dist/config-DDTQQBN7.mjs +14 -0
  16. package/dist/config-MD45VGWD.mjs +14 -0
  17. package/dist/config-ZKNHII2A.mjs +8 -0
  18. package/dist/daemon/index.d.mts +168 -0
  19. package/dist/daemon/index.d.ts +168 -0
  20. package/dist/daemon/index.js +3182 -0
  21. package/dist/daemon/index.mjs +1548 -0
  22. package/dist/errors-BMPseAnM.d.mts +47 -0
  23. package/dist/errors-BMPseAnM.d.ts +47 -0
  24. package/dist/errors-CZdRoYyw.d.ts +332 -0
  25. package/dist/errors-Chjq1Mev.d.mts +332 -0
  26. package/dist/index.d.mts +249 -2
  27. package/dist/index.d.ts +249 -2
  28. package/dist/index.js +1247 -3
  29. package/dist/index.mjs +227 -2
  30. package/dist/listeners-B5Vy9Ao5.d.ts +372 -0
  31. package/dist/listeners-BbYIaNCs.d.mts +372 -0
  32. package/dist/listeners-CP2A9J_2.d.ts +372 -0
  33. package/dist/listeners-CTRSofnm.d.mts +372 -0
  34. package/dist/listeners-CYI-YwIF.d.mts +372 -0
  35. package/dist/listeners-DRwITBW_.d.mts +372 -0
  36. package/dist/listeners-DrMrvFT5.d.ts +372 -0
  37. package/dist/listeners-MNAnpZj-.d.mts +372 -0
  38. package/dist/listeners-PZI7iT85.d.ts +372 -0
  39. package/dist/listeners-QJeEtLbV.d.ts +372 -0
  40. package/dist/listeners-hp0Ib2Ox.d.ts +372 -0
  41. package/dist/listeners-jLwetUnx.d.mts +372 -0
  42. package/dist/mcp.d.mts +7 -2
  43. package/dist/mcp.d.ts +7 -2
  44. package/dist/mcp.js +92 -1
  45. package/dist/mcp.mjs +1 -1
  46. package/dist/sdk-4OvXPr8E.d.mts +1054 -0
  47. package/dist/sdk-4OvXPr8E.d.ts +1054 -0
  48. package/dist/sdk-CJ9g5lFo.d.mts +772 -0
  49. package/dist/sdk-CJ9g5lFo.d.ts +772 -0
  50. package/dist/sdk-CN1ezZrI.d.mts +1054 -0
  51. package/dist/sdk-CN1ezZrI.d.ts +1054 -0
  52. package/dist/sdk-DD1OeGRJ.d.mts +871 -0
  53. package/dist/sdk-DD1OeGRJ.d.ts +871 -0
  54. package/dist/sdk-Xw0BjsLd.d.mts +1054 -0
  55. package/dist/sdk-Xw0BjsLd.d.ts +1054 -0
  56. package/dist/types-GnRAfH-h.d.mts +489 -0
  57. package/dist/types-GnRAfH-h.d.ts +489 -0
  58. package/package.json +17 -5
@@ -0,0 +1,489 @@
1
+ /**
2
+ * Core types for the Rainfall SDK
3
+ */
4
+ interface RainfallConfig {
5
+ apiKey: string;
6
+ baseUrl?: string;
7
+ timeout?: number;
8
+ retries?: number;
9
+ retryDelay?: number;
10
+ }
11
+ interface RequestOptions {
12
+ timeout?: number;
13
+ retries?: number;
14
+ retryDelay?: number;
15
+ }
16
+ interface ApiResponse<T = unknown> {
17
+ success: boolean;
18
+ data?: T;
19
+ error?: ApiError;
20
+ }
21
+ interface ApiError {
22
+ code: string;
23
+ message: string;
24
+ details?: Record<string, unknown>;
25
+ }
26
+ interface RateLimitInfo {
27
+ limit: number;
28
+ remaining: number;
29
+ resetAt: Date;
30
+ }
31
+ interface ToolSchema {
32
+ name: string;
33
+ description: string;
34
+ category: string;
35
+ parameters: unknown;
36
+ output: unknown;
37
+ metadata: Record<string, unknown>;
38
+ }
39
+ declare namespace Integrations {
40
+ interface GitHub {
41
+ issues: {
42
+ create(params: {
43
+ owner: string;
44
+ repo: string;
45
+ title: string;
46
+ body?: string;
47
+ }): Promise<unknown>;
48
+ list(params: {
49
+ owner: string;
50
+ repo: string;
51
+ state?: 'open' | 'closed' | 'all';
52
+ }): Promise<unknown>;
53
+ get(params: {
54
+ owner: string;
55
+ repo: string;
56
+ issue_number: number;
57
+ }): Promise<unknown>;
58
+ update(params: {
59
+ owner: string;
60
+ repo: string;
61
+ issue_number: number;
62
+ title?: string;
63
+ body?: string;
64
+ state?: 'open' | 'closed';
65
+ }): Promise<unknown>;
66
+ addComment(params: {
67
+ owner: string;
68
+ repo: string;
69
+ issue_number: number;
70
+ body: string;
71
+ }): Promise<unknown>;
72
+ };
73
+ repos: {
74
+ get(params: {
75
+ owner: string;
76
+ repo: string;
77
+ }): Promise<unknown>;
78
+ listBranches(params: {
79
+ owner: string;
80
+ repo: string;
81
+ }): Promise<unknown>;
82
+ };
83
+ pullRequests: {
84
+ list(params: {
85
+ owner: string;
86
+ repo: string;
87
+ state?: 'open' | 'closed' | 'all';
88
+ }): Promise<unknown>;
89
+ get(params: {
90
+ owner: string;
91
+ repo: string;
92
+ pullNumber: number;
93
+ }): Promise<unknown>;
94
+ };
95
+ }
96
+ interface Notion {
97
+ pages: {
98
+ create(params: {
99
+ parent: unknown;
100
+ properties: unknown;
101
+ children?: unknown[];
102
+ }): Promise<unknown>;
103
+ retrieve(params: {
104
+ pageId: string;
105
+ }): Promise<unknown>;
106
+ update(params: {
107
+ pageId: string;
108
+ properties: unknown;
109
+ }): Promise<unknown>;
110
+ };
111
+ databases: {
112
+ query(params: {
113
+ databaseId: string;
114
+ filter?: unknown;
115
+ sorts?: unknown[];
116
+ }): Promise<unknown>;
117
+ retrieve(params: {
118
+ databaseId: string;
119
+ }): Promise<unknown>;
120
+ };
121
+ blocks: {
122
+ appendChildren(params: {
123
+ blockId: string;
124
+ children: unknown[];
125
+ }): Promise<unknown>;
126
+ retrieveChildren(params: {
127
+ blockId: string;
128
+ }): Promise<unknown>;
129
+ };
130
+ }
131
+ interface Linear {
132
+ issues: {
133
+ create(params: {
134
+ title: string;
135
+ description?: string;
136
+ teamId?: string;
137
+ assigneeId?: string;
138
+ priority?: number;
139
+ labels?: string[];
140
+ }): Promise<unknown>;
141
+ list(params?: {
142
+ filter?: unknown;
143
+ orderBy?: string;
144
+ }): Promise<unknown>;
145
+ get(params: {
146
+ issueId: string;
147
+ }): Promise<unknown>;
148
+ update(params: {
149
+ issueId: string;
150
+ title?: string;
151
+ description?: string;
152
+ state?: string;
153
+ }): Promise<unknown>;
154
+ archive(params: {
155
+ issueId: string;
156
+ }): Promise<unknown>;
157
+ };
158
+ teams: {
159
+ list(): Promise<unknown>;
160
+ };
161
+ }
162
+ interface Slack {
163
+ messages: {
164
+ send(params: {
165
+ channelId: string;
166
+ text: string;
167
+ blocks?: unknown[];
168
+ }): Promise<unknown>;
169
+ list(params: {
170
+ channelId: string;
171
+ limit?: number;
172
+ }): Promise<unknown>;
173
+ };
174
+ channels: {
175
+ list(): Promise<unknown>;
176
+ };
177
+ users: {
178
+ list(): Promise<unknown>;
179
+ };
180
+ reactions: {
181
+ add(params: {
182
+ channelId: string;
183
+ timestamp: string;
184
+ reaction: string;
185
+ }): Promise<unknown>;
186
+ };
187
+ }
188
+ interface Figma {
189
+ files: {
190
+ get(params: {
191
+ fileKey: string;
192
+ }): Promise<unknown>;
193
+ getNodes(params: {
194
+ fileKey: string;
195
+ nodeIds: string[];
196
+ }): Promise<unknown>;
197
+ getImages(params: {
198
+ fileKey: string;
199
+ nodeIds: string[];
200
+ format?: 'png' | 'svg' | 'pdf';
201
+ }): Promise<unknown>;
202
+ getComments(params: {
203
+ fileKey: string;
204
+ }): Promise<unknown>;
205
+ postComment(params: {
206
+ fileKey: string;
207
+ message: string;
208
+ nodeId?: string;
209
+ }): Promise<unknown>;
210
+ };
211
+ projects: {
212
+ list(params: {
213
+ teamId: string;
214
+ }): Promise<unknown>;
215
+ getFiles(params: {
216
+ projectId: string;
217
+ }): Promise<unknown>;
218
+ };
219
+ }
220
+ interface Stripe {
221
+ customers: {
222
+ create(params: {
223
+ email: string;
224
+ name?: string;
225
+ metadata?: Record<string, string>;
226
+ }): Promise<unknown>;
227
+ retrieve(params: {
228
+ customerId: string;
229
+ }): Promise<unknown>;
230
+ update(params: {
231
+ customerId: string;
232
+ metadata?: Record<string, string>;
233
+ }): Promise<unknown>;
234
+ listPaymentMethods(params: {
235
+ customerId: string;
236
+ }): Promise<unknown>;
237
+ };
238
+ paymentIntents: {
239
+ create(params: {
240
+ amount: number;
241
+ currency: string;
242
+ customer?: string;
243
+ }): Promise<unknown>;
244
+ retrieve(params: {
245
+ paymentIntentId: string;
246
+ }): Promise<unknown>;
247
+ confirm(params: {
248
+ paymentIntentId: string;
249
+ }): Promise<unknown>;
250
+ };
251
+ subscriptions: {
252
+ create(params: {
253
+ customer: string;
254
+ items: unknown[];
255
+ }): Promise<unknown>;
256
+ retrieve(params: {
257
+ subscriptionId: string;
258
+ }): Promise<unknown>;
259
+ cancel(params: {
260
+ subscriptionId: string;
261
+ }): Promise<unknown>;
262
+ };
263
+ }
264
+ }
265
+ declare namespace Memory {
266
+ interface MemoryClient {
267
+ create(params: {
268
+ content: string;
269
+ keywords?: string[];
270
+ metadata?: Record<string, unknown>;
271
+ }): Promise<unknown>;
272
+ get(params: {
273
+ memoryId: string;
274
+ }): Promise<unknown>;
275
+ recall(params: {
276
+ query: string;
277
+ topK?: number;
278
+ threshold?: number;
279
+ }): Promise<unknown>;
280
+ list(params?: {
281
+ limit?: number;
282
+ offset?: number;
283
+ }): Promise<unknown>;
284
+ update(params: {
285
+ memoryId: string;
286
+ content?: string;
287
+ metadata?: Record<string, unknown>;
288
+ }): Promise<unknown>;
289
+ delete(params: {
290
+ memoryId: string;
291
+ }): Promise<unknown>;
292
+ }
293
+ }
294
+ declare namespace Articles {
295
+ interface ArticlesClient {
296
+ search(params: {
297
+ query: string;
298
+ limit?: number;
299
+ }): Promise<unknown>;
300
+ create(params: {
301
+ title: string;
302
+ content: string;
303
+ topics?: string[];
304
+ metadata?: Record<string, unknown>;
305
+ }): Promise<unknown>;
306
+ createFromUrl(params: {
307
+ url: string;
308
+ }): Promise<unknown>;
309
+ fetch(params: {
310
+ articleId: string;
311
+ }): Promise<unknown>;
312
+ recent(params?: {
313
+ limit?: number;
314
+ }): Promise<unknown>;
315
+ relevant(params: {
316
+ query: string;
317
+ limit?: number;
318
+ }): Promise<unknown>;
319
+ summarize(params: {
320
+ articleId?: string;
321
+ text?: string;
322
+ length?: 'short' | 'medium' | 'long';
323
+ }): Promise<unknown>;
324
+ extractTopics(params: {
325
+ text: string;
326
+ }): Promise<unknown>;
327
+ }
328
+ }
329
+ declare namespace Web {
330
+ interface WebClient {
331
+ search: {
332
+ exa(params: {
333
+ query: string;
334
+ numResults?: number;
335
+ includeDomains?: string[];
336
+ excludeDomains?: string[];
337
+ }): Promise<unknown>;
338
+ perplexity(params: {
339
+ query: string;
340
+ }): Promise<unknown>;
341
+ };
342
+ fetch(params: {
343
+ url: string;
344
+ headers?: Record<string, string>;
345
+ }): Promise<unknown>;
346
+ htmlToMarkdown(params: {
347
+ html: string;
348
+ baseUrl?: string;
349
+ }): Promise<unknown>;
350
+ extractHtml(params: {
351
+ html: string;
352
+ selector: string;
353
+ }): Promise<unknown>;
354
+ }
355
+ }
356
+ declare namespace AI {
357
+ interface AIClient {
358
+ embeddings: {
359
+ document(params: {
360
+ text: string;
361
+ }): Promise<unknown>;
362
+ query(params: {
363
+ text: string;
364
+ }): Promise<unknown>;
365
+ image(params: {
366
+ imageBase64: string;
367
+ }): Promise<unknown>;
368
+ };
369
+ image: {
370
+ generate(params: {
371
+ prompt: string;
372
+ size?: '256x256' | '512x512' | '1024x1024';
373
+ }): Promise<unknown>;
374
+ };
375
+ ocr(params: {
376
+ imageBase64: string;
377
+ }): Promise<unknown>;
378
+ vision(params: {
379
+ imageBase64: string;
380
+ prompt?: string;
381
+ }): Promise<unknown>;
382
+ chat(params: {
383
+ messages: Array<{
384
+ role: 'user' | 'assistant' | 'system';
385
+ content: string;
386
+ }>;
387
+ model?: string;
388
+ }): Promise<unknown>;
389
+ complete(params: {
390
+ prompt: string;
391
+ suffix?: string;
392
+ }): Promise<unknown>;
393
+ classify(params: {
394
+ text: string;
395
+ labels: string[];
396
+ }): Promise<unknown>;
397
+ segment(params: {
398
+ text: string;
399
+ maxLength?: number;
400
+ }): Promise<unknown[]>;
401
+ }
402
+ }
403
+ declare namespace Data {
404
+ interface DataClient {
405
+ csv: {
406
+ query(params: {
407
+ sql: string;
408
+ csvData?: string;
409
+ fileId?: string;
410
+ }): Promise<unknown>;
411
+ convert(params: {
412
+ data: string;
413
+ fromFormat: string;
414
+ toFormat: string;
415
+ }): Promise<unknown>;
416
+ };
417
+ scripts: {
418
+ create(params: {
419
+ name: string;
420
+ code: string;
421
+ language?: string;
422
+ }): Promise<unknown>;
423
+ execute(params: {
424
+ name: string;
425
+ params?: Record<string, unknown>;
426
+ }): Promise<unknown>;
427
+ list(): Promise<unknown>;
428
+ update(params: {
429
+ name: string;
430
+ code: string;
431
+ }): Promise<unknown>;
432
+ delete(params: {
433
+ name: string;
434
+ }): Promise<unknown>;
435
+ };
436
+ similarity: {
437
+ search(params: {
438
+ query: number[];
439
+ embeddings: number[][];
440
+ topK?: number;
441
+ }): Promise<unknown>;
442
+ duckDbSearch(params: {
443
+ query: number[];
444
+ tableName: string;
445
+ }): Promise<unknown>;
446
+ };
447
+ }
448
+ }
449
+ declare namespace Utils {
450
+ interface UtilsClient {
451
+ mermaid(params: {
452
+ diagram: string;
453
+ }): Promise<unknown>;
454
+ documentConvert(params: {
455
+ document: string;
456
+ mimeType: string;
457
+ format: string;
458
+ }): Promise<unknown>;
459
+ regex: {
460
+ match(params: {
461
+ text: string;
462
+ pattern: string;
463
+ flags?: string;
464
+ }): Promise<unknown>;
465
+ replace(params: {
466
+ text: string;
467
+ pattern: string;
468
+ replacement: string;
469
+ flags?: string;
470
+ }): Promise<unknown>;
471
+ };
472
+ jsonExtract(params: {
473
+ text: string;
474
+ }): Promise<unknown>;
475
+ digest(params: {
476
+ data: string;
477
+ }): Promise<string>;
478
+ monteCarlo(params: {
479
+ iterations?: number;
480
+ formula: string;
481
+ variables?: Record<string, {
482
+ mean: number;
483
+ stdDev: number;
484
+ }>;
485
+ }): Promise<unknown>;
486
+ }
487
+ }
488
+
489
+ export { AI as A, Data as D, Integrations as I, Memory as M, type RainfallConfig as R, type ToolSchema as T, Utils as U, Web as W, type ApiError as a, type ApiResponse as b, Articles as c, type RateLimitInfo as d, type RequestOptions as e };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rainfall-devkit/sdk",
3
- "version": "0.1.8",
3
+ "version": "0.2.1",
4
4
  "description": "Official SDK for Rainfall API - 200+ tools for building AI-powered applications",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -18,6 +18,11 @@
18
18
  "import": "./dist/mcp.mjs",
19
19
  "require": "./dist/mcp.js",
20
20
  "types": "./dist/mcp.d.ts"
21
+ },
22
+ "./daemon": {
23
+ "import": "./dist/daemon/index.mjs",
24
+ "require": "./dist/daemon/index.js",
25
+ "types": "./dist/daemon/index.d.ts"
21
26
  }
22
27
  },
23
28
  "files": [
@@ -26,7 +31,7 @@
26
31
  "LICENSE"
27
32
  ],
28
33
  "scripts": {
29
- "build": "tsup src/index.ts src/mcp.ts src/cli/index.ts --format cjs,esm --dts --shims",
34
+ "build": "tsup src/index.ts src/mcp.ts src/cli/index.ts src/daemon/index.ts --format cjs,esm --dts --shims",
30
35
  "dev": "tsup src/index.ts --format cjs,esm --dts --watch",
31
36
  "test": "bun test",
32
37
  "lint": "tsc --noEmit",
@@ -39,6 +44,7 @@
39
44
  "ai",
40
45
  "tools",
41
46
  "mcp",
47
+ "daemon",
42
48
  "automation",
43
49
  "github",
44
50
  "notion",
@@ -59,14 +65,20 @@
59
65
  "homepage": "https://github.com/Holistic-Dogma/rainfall-devkit#readme",
60
66
  "devDependencies": {
61
67
  "@types/bun": "latest",
68
+ "@types/express": "^4",
69
+ "@types/libsodium-wrappers": "^0.7.14",
62
70
  "@types/node": "^20",
71
+ "@types/ws": "^8",
63
72
  "tsup": "^8",
64
73
  "typescript": "^5"
65
74
  },
75
+ "dependencies": {
76
+ "@modelcontextprotocol/sdk": "^1.27.1",
77
+ "express": "^4",
78
+ "libsodium-wrappers": "^0.8.2",
79
+ "ws": "^8"
80
+ },
66
81
  "engines": {
67
82
  "node": ">=18"
68
- },
69
- "dependencies": {
70
- "@rainfall-devkit/sdk": "^0.1.7"
71
83
  }
72
84
  }