@mirra-messenger/sdk 0.3.0 → 0.5.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,2355 @@
1
+ /**
2
+ * Auto-Generated SDK Adapter Methods
3
+ *
4
+ * DO NOT EDIT THIS FILE DIRECTLY
5
+ * Generated from adapter operation schemas
6
+ * Run: npm run generate:llm-api
7
+ */
8
+ import { MirraSDK } from '../client';
9
+ export interface FlowsCreateTimeFlowArgs {
10
+ title: string;
11
+ description: string;
12
+ schedule: string;
13
+ scriptId: string;
14
+ scriptInput?: any;
15
+ }
16
+ export interface FlowsCreateEventFlowArgs {
17
+ title: string;
18
+ description: string;
19
+ trigger: any;
20
+ scriptId: string;
21
+ scriptInput?: any;
22
+ }
23
+ export interface FlowsListFlowsArgs {
24
+ status?: string;
25
+ }
26
+ export interface FlowsGetFlowArgs {
27
+ id: string;
28
+ }
29
+ export interface FlowsUpdateFlowArgs {
30
+ id: string;
31
+ title?: string;
32
+ description?: string;
33
+ trigger?: any;
34
+ scriptId?: string;
35
+ scriptInput?: any;
36
+ status?: string;
37
+ }
38
+ export interface FlowsDeleteFlowArgs {
39
+ id: string;
40
+ }
41
+ export interface FlowsPauseFlowArgs {
42
+ id: string;
43
+ }
44
+ export interface FlowsResumeFlowArgs {
45
+ id: string;
46
+ }
47
+ export interface FlowsSearchFlowsArgs {
48
+ status?: string;
49
+ triggerType?: string;
50
+ limit?: number;
51
+ offset?: number;
52
+ }
53
+ export interface FlowsRecordExecutionArgs {
54
+ id: string;
55
+ success: boolean;
56
+ result?: any;
57
+ error?: string;
58
+ }
59
+ export interface FlowsListEventTypesArgs {
60
+ includeTemplates?: boolean;
61
+ }
62
+ export interface FlowsTestFlowArgs {
63
+ flowId: string;
64
+ dryRun?: boolean;
65
+ eventOverrides?: any;
66
+ }
67
+ export interface FlowsValidateTriggerArgs {
68
+ flowId: string;
69
+ event: any;
70
+ }
71
+ export interface FlowsGetFlowsByEventTypeArgs {
72
+ eventType: string;
73
+ }
74
+ export interface UserUpdateProfileArgs {
75
+ username?: string;
76
+ email?: string;
77
+ timezone?: string;
78
+ phoneNumber?: string;
79
+ }
80
+ export interface UserUpdatePreferencesArgs {
81
+ timezone?: string;
82
+ socials?: any;
83
+ }
84
+ export interface UserDeactivateAccountArgs {
85
+ confirm: boolean;
86
+ }
87
+ export interface ContactsListContactsArgs {
88
+ limit?: number;
89
+ offset?: number;
90
+ }
91
+ export interface ContactsGetContactArgs {
92
+ contactId?: string;
93
+ username?: string;
94
+ }
95
+ export interface ContactsAddContactArgs {
96
+ username: string;
97
+ }
98
+ export interface ContactsRemoveContactArgs {
99
+ contactId?: string;
100
+ username?: string;
101
+ }
102
+ export interface ContactsSearchContactsArgs {
103
+ query: string;
104
+ searchType?: string;
105
+ limit?: number;
106
+ }
107
+ export interface ContactsBlockContactArgs {
108
+ contactId?: string;
109
+ username?: string;
110
+ }
111
+ export interface ContactsUnblockContactArgs {
112
+ contactId?: string;
113
+ username?: string;
114
+ }
115
+ export interface ContactsGetBlockedContactsArgs {
116
+ limit?: number;
117
+ offset?: number;
118
+ }
119
+ export interface ContactsGetContactRequestsArgs {
120
+ type?: string;
121
+ status?: string;
122
+ }
123
+ export interface MemoryCreateArgs {
124
+ type: string;
125
+ content: string;
126
+ metadata?: any;
127
+ }
128
+ export interface MemorySearchArgs {
129
+ query: string;
130
+ types?: any[];
131
+ startTime?: number;
132
+ endTime?: number;
133
+ propertyFilters?: any;
134
+ limit?: number;
135
+ }
136
+ export interface MemoryQueryArgs {
137
+ type?: string;
138
+ filters?: any;
139
+ limit?: number;
140
+ offset?: number;
141
+ }
142
+ export interface MemoryFindOneArgs {
143
+ filters: any;
144
+ }
145
+ export interface MemoryUpdateArgs {
146
+ id: string;
147
+ type?: string;
148
+ content?: string;
149
+ metadata?: any;
150
+ }
151
+ export interface MemoryDeleteArgs {
152
+ id: string;
153
+ }
154
+ export interface AiChatArgs {
155
+ messages: any[];
156
+ model?: string;
157
+ temperature?: number;
158
+ maxTokens?: number;
159
+ }
160
+ export interface AiDecideArgs {
161
+ prompt: string;
162
+ options: any[];
163
+ context?: string;
164
+ model?: string;
165
+ }
166
+ export interface DocumentUploadArgs {
167
+ file: string;
168
+ filename: string;
169
+ mimeType: string;
170
+ graphId?: string;
171
+ title?: string;
172
+ productTags?: any[];
173
+ }
174
+ export interface DocumentGetArgs {
175
+ documentId: string;
176
+ }
177
+ export interface DocumentGetStatusArgs {
178
+ documentId: string;
179
+ }
180
+ export interface DocumentGetChunksArgs {
181
+ documentId: string;
182
+ }
183
+ export interface DocumentDeleteArgs {
184
+ documentId: string;
185
+ }
186
+ export interface DocumentShareArgs {
187
+ documentId: string;
188
+ targetGraphId: string;
189
+ shareReason?: string;
190
+ }
191
+ export interface DocumentUnshareArgs {
192
+ documentId: string;
193
+ graphId: string;
194
+ }
195
+ export interface DocumentListGraphsArgs {
196
+ documentId: string;
197
+ }
198
+ export interface DocumentSearchArgs {
199
+ query: string;
200
+ graphId?: string;
201
+ limit?: number;
202
+ threshold?: number;
203
+ }
204
+ export interface DocumentListArgs {
205
+ graphId?: string;
206
+ limit?: number;
207
+ offset?: number;
208
+ }
209
+ export interface FeedItemsCreateFeedItemArgs {
210
+ title: string;
211
+ subtitle?: string;
212
+ blocks: any[];
213
+ itemType: string;
214
+ actions?: any[];
215
+ avatar?: any;
216
+ metadata?: any;
217
+ }
218
+ export interface TelegramSendMessageArgs {
219
+ chatId: string;
220
+ text: string;
221
+ }
222
+ export interface TelegramGetChatsArgs {
223
+ limit?: number;
224
+ offset?: number;
225
+ forceRefresh?: boolean;
226
+ }
227
+ export interface TelegramFindChatByNameArgs {
228
+ name: string;
229
+ }
230
+ export interface TelegramSearchMessagesArgs {
231
+ chatIds?: any[];
232
+ query?: string;
233
+ fromDate?: string;
234
+ toDate?: string;
235
+ limit?: number;
236
+ senderId?: string;
237
+ }
238
+ export interface TelegramGetRecentContactsArgs {
239
+ limit?: number;
240
+ }
241
+ export interface TelegramGetChatMessagesArgs {
242
+ chatId: string;
243
+ limit?: number;
244
+ offsetId?: number;
245
+ minDate?: string;
246
+ maxDate?: string;
247
+ }
248
+ export interface TelegramGetUnreadSummaryArgs {
249
+ chatIds?: any[];
250
+ priorityOnly?: boolean;
251
+ groupBy?: string;
252
+ }
253
+ export interface TelegramMarkAsReadArgs {
254
+ chatId: string;
255
+ maxMessageId?: number;
256
+ }
257
+ export interface TelegramGetMentionsArgs {
258
+ chatIds?: any[];
259
+ sinceDate?: string;
260
+ onlyUnread?: boolean;
261
+ }
262
+ export interface TelegramGlobalSearchArgs {
263
+ query: string;
264
+ filter?: string;
265
+ limit?: number;
266
+ }
267
+ export interface GoogleGmailSendEmailArgs {
268
+ to: string;
269
+ subject: string;
270
+ body: string;
271
+ cc?: string;
272
+ bcc?: string;
273
+ isHtml?: boolean;
274
+ }
275
+ export interface GoogleGmailSearchEmailsArgs {
276
+ query: string;
277
+ maxResults?: number;
278
+ }
279
+ export interface GoogleGmailListEmailsArgs {
280
+ maxResults?: number;
281
+ }
282
+ export interface GoogleGmailGetEmailArgs {
283
+ messageId: string;
284
+ }
285
+ export interface GoogleGmailCreateDraftArgs {
286
+ to: string;
287
+ subject: string;
288
+ body: string;
289
+ cc?: string;
290
+ bcc?: string;
291
+ isHtml?: boolean;
292
+ }
293
+ export interface GoogleGmailUpdateDraftArgs {
294
+ draftId: string;
295
+ to?: string;
296
+ subject?: string;
297
+ body?: string;
298
+ cc?: string;
299
+ bcc?: string;
300
+ isHtml?: boolean;
301
+ }
302
+ export interface GoogleGmailDeleteDraftArgs {
303
+ draftId: string;
304
+ }
305
+ export interface GoogleGmailListDraftsArgs {
306
+ maxResults?: number;
307
+ }
308
+ export interface GoogleGmailDeleteEmailArgs {
309
+ messageId: string;
310
+ }
311
+ export interface GoogleCalendarCreateEventArgs {
312
+ summary: string;
313
+ start: any;
314
+ end: any;
315
+ description?: string;
316
+ location?: string;
317
+ attendees?: any[];
318
+ }
319
+ export interface GoogleCalendarListEventsArgs {
320
+ timeMin?: string;
321
+ timeMax?: string;
322
+ maxResults?: number;
323
+ query?: string;
324
+ }
325
+ export interface GoogleCalendarGetEventsArgs {
326
+ timeMin?: string;
327
+ timeMax?: string;
328
+ maxResults?: number;
329
+ query?: string;
330
+ }
331
+ export interface GoogleCalendarGetEventArgs {
332
+ eventId: string;
333
+ }
334
+ export interface GoogleCalendarUpdateEventArgs {
335
+ eventId: string;
336
+ summary?: string;
337
+ description?: string;
338
+ location?: string;
339
+ start?: any;
340
+ end?: any;
341
+ }
342
+ export interface GoogleCalendarDeleteEventArgs {
343
+ eventId: string;
344
+ }
345
+ export interface GoogleCalendarSearchEventsArgs {
346
+ query: string;
347
+ timeMin?: string;
348
+ timeMax?: string;
349
+ maxResults?: number;
350
+ }
351
+ export interface GoogleDriveListFilesArgs {
352
+ query?: string;
353
+ pageSize?: number;
354
+ }
355
+ export interface GoogleDriveCreateFileArgs {
356
+ name: string;
357
+ mimeType: string;
358
+ folderId?: string;
359
+ }
360
+ export interface GoogleDriveCreateFolderArgs {
361
+ name: string;
362
+ parentFolderId?: string;
363
+ }
364
+ export interface GoogleDriveGetFileInfoArgs {
365
+ fileId: string;
366
+ }
367
+ export interface GoogleDriveShareFileArgs {
368
+ fileId: string;
369
+ email?: string;
370
+ role?: string;
371
+ }
372
+ export interface GoogleDriveDownloadFileArgs {
373
+ fileId: string;
374
+ }
375
+ export interface GoogleDriveMoveFileArgs {
376
+ fileId: string;
377
+ folderId: string;
378
+ }
379
+ export interface GoogleDriveDeleteFileArgs {
380
+ fileId: string;
381
+ permanently?: boolean;
382
+ }
383
+ export interface GoogleDriveSearchFilesArgs {
384
+ query: string;
385
+ pageSize?: number;
386
+ }
387
+ export interface GoogleDriveUpdateFileArgs {
388
+ fileId: string;
389
+ name?: string;
390
+ description?: string;
391
+ }
392
+ export interface GoogleSheetsCreateSpreadsheetArgs {
393
+ title: string;
394
+ }
395
+ export interface GoogleSheetsReadRangeArgs {
396
+ spreadsheetId: string;
397
+ range: string;
398
+ }
399
+ export interface GoogleSheetsWriteRangeArgs {
400
+ spreadsheetId: string;
401
+ range: string;
402
+ values: any[];
403
+ }
404
+ export interface GoogleSheetsAppendRowArgs {
405
+ spreadsheetId: string;
406
+ sheetName: string;
407
+ values: any[];
408
+ }
409
+ export interface GoogleSheetsGetSpreadsheetArgs {
410
+ spreadsheetId: string;
411
+ }
412
+ export interface GoogleSheetsInsertAtCellArgs {
413
+ spreadsheetId: string;
414
+ cell: string;
415
+ value: string;
416
+ bold?: boolean;
417
+ italic?: boolean;
418
+ foregroundColor?: string;
419
+ backgroundColor?: string;
420
+ }
421
+ export interface GoogleSheetsInsertFormulaArgs {
422
+ spreadsheetId: string;
423
+ cell: string;
424
+ formula: string;
425
+ note?: string;
426
+ }
427
+ export interface GoogleSheetsFormatRangeArgs {
428
+ spreadsheetId: string;
429
+ range: string;
430
+ bold?: boolean;
431
+ italic?: boolean;
432
+ foregroundColor?: string;
433
+ backgroundColor?: string;
434
+ borders?: boolean;
435
+ }
436
+ export interface GoogleSheetsCreateChartArgs {
437
+ spreadsheetId: string;
438
+ sheetId: number;
439
+ dataRange: string;
440
+ chartType: string;
441
+ title: string;
442
+ position: any;
443
+ }
444
+ export interface GoogleSheetsFindAndReplaceArgs {
445
+ spreadsheetId: string;
446
+ findText: string;
447
+ replaceText: string;
448
+ sheetName?: string;
449
+ matchCase?: boolean;
450
+ matchEntireCell?: boolean;
451
+ }
452
+ export interface GoogleSheetsInsertMultipleRowsArgs {
453
+ spreadsheetId: string;
454
+ sheetName: string;
455
+ rowsData: any[];
456
+ startingRow?: number;
457
+ formattingOptions?: any;
458
+ }
459
+ export interface GoogleSheetsClearRangeArgs {
460
+ spreadsheetId: string;
461
+ sheetName: string;
462
+ range: string;
463
+ }
464
+ export interface GoogleSheetsInsertRowsArgs {
465
+ spreadsheetId: string;
466
+ sheetId: number;
467
+ startRowIndex: number;
468
+ numRows: number;
469
+ }
470
+ export interface GoogleSheetsDeleteRowsArgs {
471
+ spreadsheetId: string;
472
+ sheetId: number;
473
+ startRowIndex: number;
474
+ numRows: number;
475
+ }
476
+ export interface GoogleSheetsInsertColumnsArgs {
477
+ spreadsheetId: string;
478
+ sheetId: number;
479
+ startColumnIndex: number;
480
+ numColumns: number;
481
+ }
482
+ export interface GoogleSheetsDeleteColumnsArgs {
483
+ spreadsheetId: string;
484
+ sheetId: number;
485
+ startColumnIndex: number;
486
+ numColumns: number;
487
+ }
488
+ export interface GoogleSheetsCopyRangeArgs {
489
+ spreadsheetId: string;
490
+ sourceSheetId: number;
491
+ sourceRange: string;
492
+ targetSheetId: number;
493
+ targetStartCell: string;
494
+ }
495
+ export interface GoogleDocsCreateDocumentArgs {
496
+ title: string;
497
+ }
498
+ export interface GoogleDocsGetDocumentArgs {
499
+ documentId: string;
500
+ }
501
+ export interface GoogleDocsAppendTextArgs {
502
+ documentId: string;
503
+ text: string;
504
+ }
505
+ export interface GoogleDocsReplaceTextArgs {
506
+ documentId: string;
507
+ searchText: string;
508
+ replaceText: string;
509
+ }
510
+ export interface GoogleDocsGetDocumentContentArgs {
511
+ documentId: string;
512
+ }
513
+ export interface GoogleDocsInsertTextAtPositionArgs {
514
+ documentId: string;
515
+ text: string;
516
+ position: number;
517
+ }
518
+ export interface GoogleDocsInsertTextAfterArgs {
519
+ documentId: string;
520
+ searchText: string;
521
+ textToInsert: string;
522
+ occurrence?: number;
523
+ }
524
+ export interface GoogleDocsInsertHeadingArgs {
525
+ documentId: string;
526
+ text: string;
527
+ level: number;
528
+ position?: number;
529
+ insertAfterText?: string;
530
+ }
531
+ export interface GoogleDocsInsertListArgs {
532
+ documentId: string;
533
+ items: any[];
534
+ listType: string;
535
+ position?: number;
536
+ insertAfterText?: string;
537
+ }
538
+ export interface GoogleDocsInsertTableArgs {
539
+ documentId: string;
540
+ data: any[];
541
+ hasHeader?: boolean;
542
+ position?: number;
543
+ insertAfterText?: string;
544
+ }
545
+ export interface GoogleDocsUpdateDocumentContentArgs {
546
+ documentId: string;
547
+ newContent: string;
548
+ }
549
+ export interface GoogleDocsCreateSectionArgs {
550
+ documentId: string;
551
+ heading: string;
552
+ content: string;
553
+ }
554
+ export interface GoogleDocsFindInsertionPointArgs {
555
+ documentId: string;
556
+ position: number;
557
+ searchText?: string;
558
+ }
559
+ export interface JiraCreateIssueArgs {
560
+ projectKey: string;
561
+ summary: string;
562
+ description?: string;
563
+ issueType?: string;
564
+ }
565
+ export interface JiraSearchIssuesArgs {
566
+ jql: string;
567
+ maxResults?: number;
568
+ }
569
+ export interface JiraGetIssueArgs {
570
+ issueKey: string;
571
+ }
572
+ export interface JiraUpdateIssueArgs {
573
+ issueKey: string;
574
+ summary?: string;
575
+ description?: string;
576
+ }
577
+ export interface JiraDeleteIssueArgs {
578
+ issueKey: string;
579
+ }
580
+ export interface JiraAddCommentArgs {
581
+ issueKey: string;
582
+ comment: string;
583
+ }
584
+ export interface JiraTransitionIssueArgs {
585
+ issueKey: string;
586
+ transitionId: string;
587
+ }
588
+ export interface JiraAssignIssueArgs {
589
+ issueKey: string;
590
+ accountId: string;
591
+ }
592
+ export interface JiraGetProjectMetadataArgs {
593
+ projectKey: string;
594
+ }
595
+ export interface JiraGetTransitionsArgs {
596
+ issueKey: string;
597
+ }
598
+ export interface JiraListAssignableUsersArgs {
599
+ projectKey: string;
600
+ }
601
+ export interface JiraGetIssueTypesArgs {
602
+ projectKey: string;
603
+ }
604
+ export interface JiraDiscoverExtendedArgs {
605
+ query: string;
606
+ limit?: number;
607
+ }
608
+ export interface JiraExecuteExtendedArgs {
609
+ operationId: string;
610
+ pathParams?: any;
611
+ queryParams?: any;
612
+ body?: any;
613
+ }
614
+ export interface TwitterPostTweetArgs {
615
+ text: string;
616
+ }
617
+ export interface TwitterGetUserTweetsArgs {
618
+ userId?: string;
619
+ userName?: string;
620
+ cursor?: string;
621
+ includeReplies?: boolean;
622
+ }
623
+ export interface TrelloGetBoardArgs {
624
+ boardId: string;
625
+ }
626
+ export interface TrelloCreateCardArgs {
627
+ name: string;
628
+ idList: string;
629
+ desc?: string;
630
+ }
631
+ export interface TrelloGetCardArgs {
632
+ cardId: string;
633
+ }
634
+ export interface TrelloUpdateCardArgs {
635
+ cardId: string;
636
+ name?: string;
637
+ desc?: string;
638
+ idList?: string;
639
+ closed?: boolean;
640
+ }
641
+ export interface TrelloDeleteCardArgs {
642
+ cardId: string;
643
+ }
644
+ export interface TrelloCreateChecklistArgs {
645
+ cardId: string;
646
+ name: string;
647
+ }
648
+ export interface TrelloGetChecklistArgs {
649
+ checklistId: string;
650
+ }
651
+ export interface TrelloUpdateChecklistArgs {
652
+ checklistId: string;
653
+ name: string;
654
+ }
655
+ export interface TrelloDeleteChecklistArgs {
656
+ checklistId: string;
657
+ }
658
+ export interface TrelloAddCheckItemArgs {
659
+ checklistId: string;
660
+ name: string;
661
+ }
662
+ export interface TrelloUpdateCheckItemArgs {
663
+ cardId: string;
664
+ checkItemId: string;
665
+ name?: string;
666
+ state?: string;
667
+ }
668
+ export interface TrelloDeleteCheckItemArgs {
669
+ checklistId: string;
670
+ checkItemId: string;
671
+ }
672
+ export interface TrelloDiscoverExtendedArgs {
673
+ query: string;
674
+ limit?: number;
675
+ }
676
+ export interface TrelloExecuteExtendedArgs {
677
+ operationId: string;
678
+ pathParams?: any;
679
+ queryParams?: any;
680
+ body?: any;
681
+ }
682
+ export interface JupiterSwapArgs {
683
+ inputMint: string;
684
+ outputMint: string;
685
+ amount: number;
686
+ inputDecimals: number;
687
+ slippageBps?: number;
688
+ }
689
+ export interface JupiterGetHoldingsArgs {
690
+ walletAddress?: string;
691
+ }
692
+ export interface JupiterGetTokenSecurityArgs {
693
+ tokenMint: string;
694
+ }
695
+ export interface JupiterSearchTokensArgs {
696
+ query: string;
697
+ }
698
+ export interface JupiterRefreshSwapArgs {
699
+ feedItemId: string;
700
+ swapId: string;
701
+ inputMint: string;
702
+ outputMint: string;
703
+ amount: number;
704
+ inputDecimals: number;
705
+ slippageBps?: number;
706
+ }
707
+ export interface CryptoGetPriceArgs {
708
+ tokenAddress: string;
709
+ chainName?: string;
710
+ }
711
+ export interface CryptoSendTokenArgs {
712
+ recipient: string;
713
+ token: string;
714
+ amount: number;
715
+ }
716
+ export interface CryptoMonitorPriceArgs {
717
+ tokenAddress: string;
718
+ direction: string;
719
+ targetPrice: number;
720
+ scriptId: string;
721
+ chainName?: string;
722
+ percentStep?: number;
723
+ }
724
+ export interface CryptoUnsubscribeAssetArgs {
725
+ tokenAddress: string;
726
+ }
727
+ export interface CryptoRefreshTransactionArgs {
728
+ feedItemId: string;
729
+ transferId: string;
730
+ recipient: string;
731
+ token: string;
732
+ amount: number;
733
+ tokenMint?: string;
734
+ tokenDecimals?: number;
735
+ }
736
+ export interface ScriptsCreateScriptArgs {
737
+ name: string;
738
+ description?: string;
739
+ runtime?: string;
740
+ config?: any;
741
+ code: string;
742
+ }
743
+ export interface ScriptsDeleteScriptArgs {
744
+ scriptId: string;
745
+ }
746
+ export interface ScriptsCreateVersionArgs {
747
+ scriptId: string;
748
+ code: string;
749
+ commitMessage?: string;
750
+ }
751
+ export interface ScriptsListVersionsArgs {
752
+ scriptId: string;
753
+ }
754
+ export interface ScriptsDeployScriptArgs {
755
+ scriptId: string;
756
+ version?: number;
757
+ }
758
+ export interface ScriptsExecuteScriptArgs {
759
+ scriptId: string;
760
+ data?: any;
761
+ trigger?: any;
762
+ }
763
+ export interface ScriptsGetScriptArgs {
764
+ scriptId: string;
765
+ }
766
+ export interface ScriptsGetExecutionsArgs {
767
+ scriptId: string;
768
+ status?: string;
769
+ limit?: number;
770
+ }
771
+ export interface ScriptsGetExecutionArgs {
772
+ executionId: string;
773
+ }
774
+ export interface ScriptsPublishScriptArgs {
775
+ scriptId: string;
776
+ pricing?: any;
777
+ }
778
+ export interface ScriptsUnpublishScriptArgs {
779
+ scriptId: string;
780
+ }
781
+ export interface ScriptsGetMetricsArgs {
782
+ scriptId: string;
783
+ }
784
+ export interface ScriptsCreateWebhookArgs {
785
+ scriptId: string;
786
+ name: string;
787
+ enabled?: boolean;
788
+ }
789
+ export interface ScriptsCreateScheduleArgs {
790
+ scriptId: string;
791
+ name: string;
792
+ cronExpression: string;
793
+ enabled?: boolean;
794
+ data?: any;
795
+ }
796
+ export interface ScriptsGetFlowScriptArgs {
797
+ flowId: string;
798
+ }
799
+ export interface ScriptsModifyFlowScriptArgs {
800
+ flowId: string;
801
+ newCode: string;
802
+ commitMessage?: string;
803
+ }
804
+ export interface ScriptsLintScriptArgs {
805
+ code: string;
806
+ }
807
+ export interface FeedbackReportBugArgs {
808
+ title: string;
809
+ description: string;
810
+ severity: string;
811
+ stepsToReproduce?: any[];
812
+ expectedBehavior?: string;
813
+ actualBehavior?: string;
814
+ errorDetails?: any;
815
+ context?: any;
816
+ llmAnalysis?: string;
817
+ }
818
+ export interface FeedbackReportToolFailureArgs {
819
+ adapterType: string;
820
+ operation: string;
821
+ errorMessage: string;
822
+ errorCode?: string;
823
+ errorStack?: string;
824
+ args?: any;
825
+ llmAnalysis?: string;
826
+ suggestedFix?: string;
827
+ context?: any;
828
+ }
829
+ export interface FeedbackReportMissingCapabilityArgs {
830
+ userRequest: string;
831
+ reason: string;
832
+ suggestedCapability?: string;
833
+ relatedAdapters?: any[];
834
+ context?: any;
835
+ }
836
+ export interface FeedbackSubmitFeedbackArgs {
837
+ sentiment: string;
838
+ feedback: string;
839
+ category?: string;
840
+ context?: any;
841
+ }
842
+ export interface FeedbackSubmitFeatureRequestArgs {
843
+ title: string;
844
+ description: string;
845
+ useCase?: string;
846
+ priority?: string;
847
+ }
848
+ export interface MirraMessagingSendMessageArgs {
849
+ recipientId: string;
850
+ content: string;
851
+ automation?: any;
852
+ }
853
+ export interface MirraMessagingSendGroupMessageArgs {
854
+ groupId: string;
855
+ content: string;
856
+ automation?: any;
857
+ }
858
+ export interface MirraMessagingGetContactsArgs {
859
+ limit?: number;
860
+ offset?: number;
861
+ }
862
+ export interface MirraMessagingFindContactArgs {
863
+ query: string;
864
+ }
865
+ export interface MirraMessagingGetChatsArgs {
866
+ scope?: string;
867
+ limit?: number;
868
+ }
869
+ export interface MirraMessagingGetGroupsArgs {
870
+ limit?: number;
871
+ }
872
+ /**
873
+ * Flows Adapter
874
+ * Category: internal
875
+ */
876
+ declare function createFlowsAdapter(sdk: MirraSDK): {
877
+ /**
878
+ * Create a new time-based flow with cron schedule
879
+ * @param args.title - Flow title
880
+ * @param args.description - Detailed description of what the flow does
881
+ * @param args.schedule - Cron expression for scheduling (e.g., "0 9 * * *" for daily at 9am)
882
+ * @param args.scriptId - ID of the script to execute when triggered
883
+ * @param args.scriptInput - Optional static input data for the script (optional)
884
+ */
885
+ createTimeFlow: (args: FlowsCreateTimeFlowArgs) => Promise<any>;
886
+ /**
887
+ * Create an event-based flow with pre-filtering conditions.
888
+
889
+ EFFICIENCY RULE: Always filter in eventFilter, not the script.
890
+ - eventFilter conditions: FREE (evaluated in-memory before script runs)
891
+ - Script filtering: EXPENSIVE (invokes Lambda for every event)
892
+
893
+ BAD: Trigger on "telegram.message" with no filter → script checks sender
894
+ GOOD: Trigger on "telegram.message" with eventFilter for sender
895
+
896
+ TRIGGER STRUCTURE:
897
+ {
898
+ type: "event",
899
+ config: {
900
+ eventFilter: {
901
+ operator: "and" | "or",
902
+ conditions: [
903
+ { operator: "equals", field: "eventType", value: "call.ended" },
904
+ { operator: "contains", field: "content.text", value: "urgent" }
905
+ ]
906
+ }
907
+ }
908
+ }
909
+
910
+ VALID OPERATORS: equals, notEquals, contains, startsWith, endsWith, greaterThan, lessThan, exists, notExists, matchesRegex, and, or, not
911
+
912
+ COMMON EVENT TYPES: call.started, call.ended, call.action, telegram.message, gmail.email_received
913
+ * @param args.title - Flow title
914
+ * @param args.description - Detailed description of what the flow does
915
+ * @param args.trigger - Event filter conditions that determine WHEN the script runs. Add ALL filtering logic here to minimize Lambda invocations. Must have type:"event" and config.eventFilter with operator and conditions array.
916
+ * @param args.scriptId - ID of the script to execute when triggered
917
+ * @param args.scriptInput - Optional static input data for the script (optional)
918
+ */
919
+ createEventFlow: (args: FlowsCreateEventFlowArgs) => Promise<any>;
920
+ /**
921
+ * List all flows for the user
922
+ * @param args.status - Filter by status: active, paused, completed, failed (optional)
923
+ */
924
+ listFlows: (args: FlowsListFlowsArgs) => Promise<any>;
925
+ /**
926
+ * Get a specific flow by ID
927
+ * @param args.id - Flow ID
928
+ */
929
+ getFlow: (args: FlowsGetFlowArgs) => Promise<any>;
930
+ /**
931
+ * Update an existing flow
932
+ * @param args.id - Flow ID to update
933
+ * @param args.title - New title (optional)
934
+ * @param args.description - New description (optional)
935
+ * @param args.trigger - New trigger configuration (optional)
936
+ * @param args.scriptId - New script ID (optional)
937
+ * @param args.scriptInput - New script input data (optional)
938
+ * @param args.status - New status: active, paused, completed, failed (optional)
939
+ */
940
+ updateFlow: (args: FlowsUpdateFlowArgs) => Promise<any>;
941
+ /**
942
+ * Delete a flow
943
+ * @param args.id - Flow ID to delete
944
+ */
945
+ deleteFlow: (args: FlowsDeleteFlowArgs) => Promise<any>;
946
+ /**
947
+ * Pause an active flow
948
+ * @param args.id - Flow ID to pause
949
+ */
950
+ pauseFlow: (args: FlowsPauseFlowArgs) => Promise<any>;
951
+ /**
952
+ * Resume a paused flow
953
+ * @param args.id - Flow ID to resume
954
+ */
955
+ resumeFlow: (args: FlowsResumeFlowArgs) => Promise<any>;
956
+ /**
957
+ * Search flows with filters
958
+ * @param args.status - Filter by status (or array of statuses) (optional)
959
+ * @param args.triggerType - Filter by trigger type: time or event (optional)
960
+ * @param args.limit - Maximum number of results (default: 100) (optional)
961
+ * @param args.offset - Pagination offset (default: 0) (optional)
962
+ */
963
+ searchFlows: (args: FlowsSearchFlowsArgs) => Promise<any>;
964
+ /**
965
+ * Record execution result for a flow
966
+ * @param args.id - Flow ID
967
+ * @param args.success - Whether execution succeeded
968
+ * @param args.result - Execution result data (optional)
969
+ * @param args.error - Error message if execution failed (optional)
970
+ */
971
+ recordExecution: (args: FlowsRecordExecutionArgs) => Promise<any>;
972
+ /**
973
+ * List all available event types that can trigger automations
974
+ * @param args.includeTemplates - Include condition templates for each event type (optional)
975
+ */
976
+ listEventTypes: (args: FlowsListEventTypesArgs) => Promise<any>;
977
+ /**
978
+ * Test a flow by generating an event that matches the trigger conditions.
979
+
980
+ MODES:
981
+ - dryRun=true (DEFAULT): Validates trigger matching only. Safe, no side effects, no token consumption.
982
+ - dryRun=false: Executes the real script. WARNING: This causes real side effects (sends messages, makes API calls, consumes tokens).
983
+
984
+ Use dryRun=true first to verify trigger conditions work, then dryRun=false only when ready to test full execution.
985
+
986
+ WORKFLOW:
987
+ 1. Generates a test event from the flow's trigger conditions
988
+ 2. Validates the event matches the trigger (always)
989
+ 3. If dryRun=false, executes the script with the test event
990
+
991
+ RESULT:
992
+ Returns detailed information about trigger matching, including which conditions passed/failed, and optionally full execution results.
993
+ * @param args.flowId - ID of the flow to test
994
+ * @param args.dryRun - If true (default), only validate trigger matching without executing script. If false, execute the script (causes side effects). (optional)
995
+ * @param args.eventOverrides - Custom field values to merge into the generated test event (e.g., {"content.text": "custom message"}) (optional)
996
+ */
997
+ testFlow: (args: FlowsTestFlowArgs) => Promise<any>;
998
+ /**
999
+ * Check if a custom event would match a flow trigger without any execution. Useful for debugging trigger conditions or testing with real event data.
1000
+ * @param args.flowId - ID of the flow
1001
+ * @param args.event - Event object to test against the trigger (must match IntegrationEvent structure)
1002
+ */
1003
+ validateTrigger: (args: FlowsValidateTriggerArgs) => Promise<any>;
1004
+ /**
1005
+ * Get all active flows that are triggered by a specific event type. Used by frontend to show flow selection for targeted execution (e.g., call.action flows).
1006
+ * @param args.eventType - Event type to filter by (e.g., "call.action", "call.ended", "telegram.message")
1007
+ */
1008
+ getFlowsByEventType: (args: FlowsGetFlowsByEventTypeArgs) => Promise<any>;
1009
+ };
1010
+ /**
1011
+ * User Adapter
1012
+ * Category: internal
1013
+ */
1014
+ declare function createUserAdapter(sdk: MirraSDK): {
1015
+ /**
1016
+ * Get user profile information including username, email, timezone, phone, and usage stats
1017
+ */
1018
+ getProfile: (args?: {}) => Promise<any>;
1019
+ /**
1020
+ * Update user profile fields (username, email, timezone, phone)
1021
+ * @param args.username - New username (3-30 characters, alphanumeric with underscores/hyphens) (optional)
1022
+ * @param args.email - New email address (optional)
1023
+ * @param args.timezone - IANA timezone identifier (e.g., America/Los_Angeles) (optional)
1024
+ * @param args.phoneNumber - Phone number (7-15 digits with optional formatting) (optional)
1025
+ */
1026
+ updateProfile: (args: UserUpdateProfileArgs) => Promise<any>;
1027
+ /**
1028
+ * Update user preferences (notification settings, etc)
1029
+ * @param args.timezone - Preferred timezone for scheduling (optional)
1030
+ * @param args.socials - Social media links (twitter, discord) (optional)
1031
+ */
1032
+ updatePreferences: (args: UserUpdatePreferencesArgs) => Promise<any>;
1033
+ /**
1034
+ * Get token usage statistics, quota, and billing information
1035
+ */
1036
+ getUsageStats: (args?: {}) => Promise<any>;
1037
+ /**
1038
+ * Get active sessions/devices (based on push token registrations)
1039
+ */
1040
+ getSessions: (args?: {}) => Promise<any>;
1041
+ /**
1042
+ * Soft delete user account (set inactive flag) - CAUTION: This marks the account for deletion
1043
+ * @param args.confirm - Must be true to confirm account deactivation
1044
+ */
1045
+ deactivateAccount: (args: UserDeactivateAccountArgs) => Promise<any>;
1046
+ };
1047
+ /**
1048
+ * Contacts Adapter
1049
+ * Category: internal
1050
+ */
1051
+ declare function createContactsAdapter(sdk: MirraSDK): {
1052
+ /**
1053
+ * Get a list of all accepted contacts for the user with their profile information
1054
+ * @param args.limit - Maximum number of contacts to return (default: 100) (optional)
1055
+ * @param args.offset - Number of contacts to skip for pagination (default: 0) (optional)
1056
+ */
1057
+ listContacts: (args: ContactsListContactsArgs) => Promise<any>;
1058
+ /**
1059
+ * Get detailed information about a specific contact by their ID or username
1060
+ * @param args.contactId - The contact user ID (MongoDB ObjectId) (optional)
1061
+ * @param args.username - The contact username (optional)
1062
+ */
1063
+ getContact: (args: ContactsGetContactArgs) => Promise<any>;
1064
+ /**
1065
+ * Send a contact request to another user by their username
1066
+ * @param args.username - Username of the user to add as a contact
1067
+ */
1068
+ addContact: (args: ContactsAddContactArgs) => Promise<any>;
1069
+ /**
1070
+ * Remove a user from your contacts list (unfriend)
1071
+ * @param args.contactId - The contact user ID to remove (optional)
1072
+ * @param args.username - The contact username to remove (optional)
1073
+ */
1074
+ removeContact: (args: ContactsRemoveContactArgs) => Promise<any>;
1075
+ /**
1076
+ * Search your contacts by username, email, phone, or wallet address
1077
+ * @param args.query - Search query - can be username, email, phone, or wallet address
1078
+ * @param args.searchType - Type of search to perform: all, username, email, phone, or wallet (default: all) (optional)
1079
+ * @param args.limit - Maximum number of results (default: 20) (optional)
1080
+ */
1081
+ searchContacts: (args: ContactsSearchContactsArgs) => Promise<any>;
1082
+ /**
1083
+ * Block a user (prevents them from contacting you)
1084
+ * @param args.contactId - The user ID to block (optional)
1085
+ * @param args.username - The username to block (optional)
1086
+ */
1087
+ blockContact: (args: ContactsBlockContactArgs) => Promise<any>;
1088
+ /**
1089
+ * Unblock a previously blocked user
1090
+ * @param args.contactId - The user ID to unblock (optional)
1091
+ * @param args.username - The username to unblock (optional)
1092
+ */
1093
+ unblockContact: (args: ContactsUnblockContactArgs) => Promise<any>;
1094
+ /**
1095
+ * Get a list of all users you have blocked
1096
+ * @param args.limit - Maximum number of results (default: 100) (optional)
1097
+ * @param args.offset - Number of items to skip for pagination (default: 0) (optional)
1098
+ */
1099
+ getBlockedContacts: (args: ContactsGetBlockedContactsArgs) => Promise<any>;
1100
+ /**
1101
+ * Get pending contact requests (sent by you or received from others)
1102
+ * @param args.type - Type of requests to retrieve: all, sent, or received (default: all) (optional)
1103
+ * @param args.status - Filter by request status: pending, accepted, or rejected (default: pending) (optional)
1104
+ */
1105
+ getContactRequests: (args: ContactsGetContactRequestsArgs) => Promise<any>;
1106
+ };
1107
+ /**
1108
+ * Memory Adapter
1109
+ * Category: internal
1110
+ */
1111
+ declare function createMemoryAdapter(sdk: MirraSDK): {
1112
+ /**
1113
+ * Create a new memory entity in the knowledge graph. Use the type field to specify what kind of memory (task, note, idea, shopping_item, etc.)
1114
+ * @param args.type - Memory subtype: "task" (reminders/todos), "note" (general notes), "idea" (concepts/ideas), "shopping_item" (shopping list), "topic" (general knowledge), "document" (documents), "contact" (people), or "event" (calendar items)
1115
+ * @param args.content - Main content/description of the memory
1116
+ * @param args.metadata - Additional metadata (e.g., priority, deadline, tags, etc.) (optional)
1117
+ */
1118
+ create: (args: MemoryCreateArgs) => Promise<any>;
1119
+ /**
1120
+ * Semantic search across memory entities with advanced filtering
1121
+ * @param args.query - Search query text for semantic matching
1122
+ * @param args.types - Filter by entity types (e.g., ["TASK", "NOTE", "IDEA"]) (optional)
1123
+ * @param args.startTime - Filter entities created after this timestamp (Unix milliseconds) (optional)
1124
+ * @param args.endTime - Filter entities created before this timestamp (Unix milliseconds) (optional)
1125
+ * @param args.propertyFilters - Filter by entity properties: { status: ["completed"], tags: ["urgent"], priority: ["high"], roles: ["task"], contexts: ["work"] } (optional)
1126
+ * @param args.limit - Maximum number of results (default: 50, max: 100) (optional)
1127
+ */
1128
+ search: (args: MemorySearchArgs) => Promise<any>;
1129
+ /**
1130
+ * Query memory entities with filters. Returns lightweight summaries with normalized fields: id, type, name, description, status, priority, createdAt, updatedAt
1131
+ * @param args.type - Semantic type filter (e.g., "task", "note", "idea", "reminder", "contact", "document"). Matches against meta_item_type, subType, or semantic_roles (optional)
1132
+ * @param args.filters - Additional filters (not yet implemented) (optional)
1133
+ * @param args.limit - Maximum results (default: 50, max: 100). Use smaller limits to get complete results without truncation (optional)
1134
+ * @param args.offset - Pagination offset for fetching more results (default: 0) (optional)
1135
+ */
1136
+ query: (args: MemoryQueryArgs) => Promise<any>;
1137
+ /**
1138
+ * Find a single entity matching criteria
1139
+ * @param args.filters - Filter criteria (e.g., { id: "..." })
1140
+ */
1141
+ findOne: (args: MemoryFindOneArgs) => Promise<any>;
1142
+ /**
1143
+ * Update an existing memory entity
1144
+ * @param args.id - Entity ID to update
1145
+ * @param args.type - Entity type (optional)
1146
+ * @param args.content - Updated content (optional)
1147
+ * @param args.metadata - Updated metadata (optional)
1148
+ */
1149
+ update: (args: MemoryUpdateArgs) => Promise<any>;
1150
+ /**
1151
+ * Delete a memory entity
1152
+ * @param args.id - Entity ID to delete
1153
+ */
1154
+ delete: (args: MemoryDeleteArgs) => Promise<any>;
1155
+ };
1156
+ /**
1157
+ * AI Services Adapter
1158
+ * Category: internal
1159
+ */
1160
+ declare function createAiAdapter(sdk: MirraSDK): {
1161
+ /**
1162
+ * Have a conversation with an AI assistant. Supports multi-turn conversations with system prompts, user messages, and assistant responses.
1163
+
1164
+ PROVIDER: Uses Anthropic (Claude) as the AI provider.
1165
+
1166
+ BEST PRACTICES:
1167
+ - Use system messages to set AI behavior and constraints
1168
+ - Keep conversations focused - avoid unnecessary context
1169
+
1170
+ MESSAGE STRUCTURE:
1171
+ Each message has:
1172
+ - role: "system" | "user" | "assistant"
1173
+ - content: string (the message text)
1174
+
1175
+ TYPICAL PATTERNS:
1176
+ 1. Simple query: [{ role: "user", content: "question" }]
1177
+ 2. With system prompt: [{ role: "system", content: "instructions" }, { role: "user", content: "question" }]
1178
+ 3. Multi-turn: [system, user, assistant, user, assistant, ...]
1179
+ * @param args.messages - Array of message objects with role ("system" | "user" | "assistant") and content (string). System messages set AI behavior, user messages are queries, assistant messages are previous AI responses.
1180
+ * @param args.model - Specific model to use. Default: "claude-3-haiku-20240307". Use Anthropic Claude model names. (optional)
1181
+ * @param args.temperature - Creativity level 0.0-1.0. Lower=factual/consistent, Higher=creative/varied. Default: 0.7 (optional)
1182
+ * @param args.maxTokens - Maximum tokens in response. Default: 1000. Increase for longer responses (costs more tokens). (optional)
1183
+ */
1184
+ chat: (args: AiChatArgs) => Promise<any>;
1185
+ /**
1186
+ * Use AI to make a decision from a list of options. The AI analyzes your prompt, considers the context, and selects the most appropriate option with reasoning.
1187
+
1188
+ USE CASES:
1189
+ - Route messages to correct handlers
1190
+ - Classify user intents
1191
+ - Select appropriate tools or actions
1192
+ - Prioritize tasks
1193
+ - Choose templates or responses
1194
+ - Determine sentiment or category
1195
+
1196
+ HOW IT WORKS:
1197
+ 1. Provide a prompt (the decision context)
1198
+ 2. List available options (each with id and label)
1199
+ 3. Optionally add extra context
1200
+ 4. AI returns selected option ID and reasoning
1201
+
1202
+ BEST PRACTICES:
1203
+ - Make option labels clear and descriptive
1204
+ - Use unique IDs for options
1205
+ - Add context when decision needs background info
1206
+ - Keep prompt focused on the decision criteria
1207
+ - Use metadata field for additional option data
1208
+ * @param args.prompt - The decision prompt - what needs to be decided and why
1209
+ * @param args.options - Array of options to choose from. Each option must have: id (unique identifier), label (descriptive name), and optional metadata (additional data)
1210
+ * @param args.context - Additional context to help the AI make a better decision (optional)
1211
+ * @param args.model - Specific model to use. Defaults to system default. (optional)
1212
+ */
1213
+ decide: (args: AiDecideArgs) => Promise<any>;
1214
+ };
1215
+ /**
1216
+ * Documents Adapter
1217
+ * Category: storage
1218
+ */
1219
+ declare function createDocumentAdapter(sdk: MirraSDK): {
1220
+ /**
1221
+ * Upload and process a document (PDF, DOCX, TXT, MD)
1222
+ * @param args.file - Base64 encoded file content
1223
+ * @param args.filename - Original filename with extension
1224
+ * @param args.mimeType - MIME type (application/pdf, text/plain, etc.)
1225
+ * @param args.graphId - Target graph ID (defaults to user's personal graph) (optional)
1226
+ * @param args.title - Custom document title (optional)
1227
+ * @param args.productTags - Array of product tags for categorization (optional)
1228
+ */
1229
+ upload: (args: DocumentUploadArgs) => Promise<any>;
1230
+ /**
1231
+ * Get document metadata and content
1232
+ * @param args.documentId - Document ID to retrieve
1233
+ */
1234
+ get: (args: DocumentGetArgs) => Promise<any>;
1235
+ /**
1236
+ * Get document processing status
1237
+ * @param args.documentId - Document ID to check
1238
+ */
1239
+ getStatus: (args: DocumentGetStatusArgs) => Promise<any>;
1240
+ /**
1241
+ * Get all chunks for a document
1242
+ * @param args.documentId - Document ID
1243
+ */
1244
+ getChunks: (args: DocumentGetChunksArgs) => Promise<any>;
1245
+ /**
1246
+ * Delete a document and all its chunks
1247
+ * @param args.documentId - Document ID to delete
1248
+ */
1249
+ delete: (args: DocumentDeleteArgs) => Promise<any>;
1250
+ /**
1251
+ * Share a document to another graph (group or user-contact)
1252
+ * @param args.documentId - Document ID to share
1253
+ * @param args.targetGraphId - Target graph ID to share to
1254
+ * @param args.shareReason - Optional reason for sharing (optional)
1255
+ */
1256
+ share: (args: DocumentShareArgs) => Promise<any>;
1257
+ /**
1258
+ * Remove document access from a graph
1259
+ * @param args.documentId - Document ID
1260
+ * @param args.graphId - Graph ID to remove access from
1261
+ */
1262
+ unshare: (args: DocumentUnshareArgs) => Promise<any>;
1263
+ /**
1264
+ * List all graphs a document is shared in
1265
+ * @param args.documentId - Document ID
1266
+ */
1267
+ listGraphs: (args: DocumentListGraphsArgs) => Promise<any>;
1268
+ /**
1269
+ * Semantic search across document chunks
1270
+ * @param args.query - Search query
1271
+ * @param args.graphId - Graph ID to search in (defaults to user's graph) (optional)
1272
+ * @param args.limit - Maximum results (default: 10) (optional)
1273
+ * @param args.threshold - Similarity threshold 0-1 (default: 0.7) (optional)
1274
+ */
1275
+ search: (args: DocumentSearchArgs) => Promise<any>;
1276
+ /**
1277
+ * List documents in a graph
1278
+ * @param args.graphId - Graph ID to list documents from (defaults to user's graph) (optional)
1279
+ * @param args.limit - Maximum results (default: 50) (optional)
1280
+ * @param args.offset - Pagination offset (default: 0) (optional)
1281
+ */
1282
+ list: (args: DocumentListArgs) => Promise<any>;
1283
+ };
1284
+ /**
1285
+ * Feed Items Adapter
1286
+ * Category: internal
1287
+ */
1288
+ declare function createFeedItemsAdapter(sdk: MirraSDK): {
1289
+ /**
1290
+ * Create a feed item with flexible content blocks. Use this to show action results, notifications, or updates to users.
1291
+ * @param args.title - Main title of the feed item (shown prominently)
1292
+ * @param args.subtitle - Optional subtitle (shown below title in muted color) (optional)
1293
+ * @param args.blocks - Array of content blocks to display (text, key_value, list, timestamp, user_mention, divider, image, progress)
1294
+ * @param args.itemType - Type: informative (FYI), actionable (needs response), or error
1295
+ * @param args.actions - Optional action buttons for the feed item (optional)
1296
+ * @param args.avatar - Optional avatar to show (user profile, icon, or custom image) (optional)
1297
+ * @param args.metadata - Additional metadata (searchable, not displayed) (optional)
1298
+ */
1299
+ createFeedItem: (args: FeedItemsCreateFeedItemArgs) => Promise<any>;
1300
+ };
1301
+ /**
1302
+ * Telegram Adapter
1303
+ * Category: social
1304
+ */
1305
+ declare function createTelegramAdapter(sdk: MirraSDK): {
1306
+ /**
1307
+ * Send a text message to a Telegram chat or user. Supports both chat IDs and usernames.
1308
+ * @param args.chatId - Chat ID (numeric) or username (e.g., @username) to send the message to. Chat IDs can be obtained from getChats operation.
1309
+ * @param args.text - The text content of the message to send
1310
+ */
1311
+ sendMessage: (args: TelegramSendMessageArgs) => Promise<any>;
1312
+ /**
1313
+ * Retrieve Telegram chats with pagination support. Use limit and offset to paginate through large chat lists. Results are cached for 10 minutes.
1314
+ * @param args.limit - Maximum number of chats to return (default: 50, max: 100). Use pagination for large chat lists to avoid token limits. (optional)
1315
+ * @param args.offset - Number of chats to skip for pagination (default: 0). Combine with limit to fetch subsequent pages. (optional)
1316
+ * @param args.forceRefresh - If true, bypasses the cache and fetches fresh chat data from Telegram. Default: false (optional)
1317
+ */
1318
+ getChats: (args: TelegramGetChatsArgs) => Promise<any>;
1319
+ /**
1320
+ * Find a Telegram chat by name or username. Searches through user's chats and returns the first match.
1321
+ * @param args.name - Chat name, username (with or without @), or partial match to search for
1322
+ */
1323
+ findChatByName: (args: TelegramFindChatByNameArgs) => Promise<any>;
1324
+ /**
1325
+ * Search for messages across Telegram chats by content, date range, sender, or specific chats.
1326
+ * @param args.chatIds - Array of chat IDs to search within. If not provided, searches globally. (optional)
1327
+ * @param args.query - Text query to search for in messages (optional)
1328
+ * @param args.fromDate - ISO date string for start of date range (optional)
1329
+ * @param args.toDate - ISO date string for end of date range (optional)
1330
+ * @param args.limit - Maximum number of messages to return (default: 100, max: 100) (optional)
1331
+ * @param args.senderId - Filter messages by sender ID (optional)
1332
+ */
1333
+ searchMessages: (args: TelegramSearchMessagesArgs) => Promise<any>;
1334
+ /**
1335
+ * Get recent private chat contacts from Telegram, ordered by most recent activity. Uses the cached chat list filtered for 1:1 conversations.
1336
+ * @param args.limit - Maximum number of contacts to return (default: 100, max: 100) (optional)
1337
+ */
1338
+ getRecentContacts: (args: TelegramGetRecentContactsArgs) => Promise<any>;
1339
+ /**
1340
+ * Get message history from a specific Telegram chat with pagination and date filtering.
1341
+ * @param args.chatId - Chat ID to retrieve messages from
1342
+ * @param args.limit - Maximum number of messages to return (default: 50, max: 100) (optional)
1343
+ * @param args.offsetId - Message ID to use as pagination offset (optional)
1344
+ * @param args.minDate - ISO date string for minimum message date (optional)
1345
+ * @param args.maxDate - ISO date string for maximum message date (optional)
1346
+ */
1347
+ getChatMessages: (args: TelegramGetChatMessagesArgs) => Promise<any>;
1348
+ /**
1349
+ * Get summary of unread messages across Telegram chats, including mentions and last message info.
1350
+ * @param args.chatIds - Array of chat IDs to filter by. If not provided, checks all chats. (optional)
1351
+ * @param args.priorityOnly - If true, only return chats with unread messages (optional)
1352
+ * @param args.groupBy - Group results by "chat" or "sender" (optional)
1353
+ */
1354
+ getUnreadSummary: (args: TelegramGetUnreadSummaryArgs) => Promise<any>;
1355
+ /**
1356
+ * Mark messages as read in a Telegram chat up to a specific message ID.
1357
+ * @param args.chatId - Chat ID to mark messages as read in
1358
+ * @param args.maxMessageId - Maximum message ID to mark as read. If not provided, marks all messages as read. (optional)
1359
+ */
1360
+ markAsRead: (args: TelegramMarkAsReadArgs) => Promise<any>;
1361
+ /**
1362
+ * Get messages where the user is mentioned in Telegram chats.
1363
+ * @param args.chatIds - Array of chat IDs to filter mentions by (optional)
1364
+ * @param args.sinceDate - ISO date string - only return mentions since this date (optional)
1365
+ * @param args.onlyUnread - If true, only return unread mentions (optional)
1366
+ */
1367
+ getMentions: (args: TelegramGetMentionsArgs) => Promise<any>;
1368
+ /**
1369
+ * Perform a global search across all Telegram chats for messages matching a query.
1370
+ * @param args.query - Search query text
1371
+ * @param args.filter - Filter results by chat type: "groups", "private", or "channels" (optional)
1372
+ * @param args.limit - Maximum number of results to return (default: 100, max: 100) (optional)
1373
+ */
1374
+ globalSearch: (args: TelegramGlobalSearchArgs) => Promise<any>;
1375
+ };
1376
+ /**
1377
+ * Gmail Adapter
1378
+ * Category: communication
1379
+ */
1380
+ declare function createGoogleGmailAdapter(sdk: MirraSDK): {
1381
+ /**
1382
+ * Send an email via Gmail
1383
+ * @param args.to - Valid email address
1384
+ * @param args.subject - Email subject line
1385
+ * @param args.body - Email body content
1386
+ * @param args.cc - CC recipients (comma-separated email addresses) (optional)
1387
+ * @param args.bcc - BCC recipients (comma-separated email addresses) (optional)
1388
+ * @param args.isHtml - Whether body is HTML format (optional)
1389
+ */
1390
+ sendEmail: (args: GoogleGmailSendEmailArgs) => Promise<any>;
1391
+ /**
1392
+ * Search emails with Gmail query syntax
1393
+ * @param args.query - Gmail search query (e.g., "from:user@example.com is:unread")
1394
+ * @param args.maxResults - Maximum number of results to return (default: 50, max: 100) (optional)
1395
+ */
1396
+ searchEmails: (args: GoogleGmailSearchEmailsArgs) => Promise<any>;
1397
+ /**
1398
+ * List recent emails from inbox
1399
+ * @param args.maxResults - Maximum number of results to return (default: 50, max: 100) (optional)
1400
+ */
1401
+ listEmails: (args: GoogleGmailListEmailsArgs) => Promise<any>;
1402
+ /**
1403
+ * Get details of a specific email by ID
1404
+ * @param args.messageId - Gmail message ID
1405
+ */
1406
+ getEmail: (args: GoogleGmailGetEmailArgs) => Promise<any>;
1407
+ /**
1408
+ * Create a draft email in Gmail
1409
+ * @param args.to - Valid email address
1410
+ * @param args.subject - Email subject line
1411
+ * @param args.body - Email body content
1412
+ * @param args.cc - CC recipients (comma-separated email addresses) (optional)
1413
+ * @param args.bcc - BCC recipients (comma-separated email addresses) (optional)
1414
+ * @param args.isHtml - Whether body is HTML format (optional)
1415
+ */
1416
+ createDraft: (args: GoogleGmailCreateDraftArgs) => Promise<any>;
1417
+ /**
1418
+ * Update an existing draft email
1419
+ * @param args.draftId - Gmail draft ID to update
1420
+ * @param args.to - Updated recipient email address(es) (optional)
1421
+ * @param args.subject - Updated email subject line (optional)
1422
+ * @param args.body - Updated email body content (optional)
1423
+ * @param args.cc - Updated CC recipients (optional)
1424
+ * @param args.bcc - Updated BCC recipients (optional)
1425
+ * @param args.isHtml - Whether body is HTML format (optional)
1426
+ */
1427
+ updateDraft: (args: GoogleGmailUpdateDraftArgs) => Promise<any>;
1428
+ /**
1429
+ * Delete a draft email
1430
+ * @param args.draftId - Gmail draft ID to delete
1431
+ */
1432
+ deleteDraft: (args: GoogleGmailDeleteDraftArgs) => Promise<any>;
1433
+ /**
1434
+ * List all draft emails
1435
+ * @param args.maxResults - Maximum number of drafts to return (default: 10) (optional)
1436
+ */
1437
+ listDrafts: (args: GoogleGmailListDraftsArgs) => Promise<any>;
1438
+ /**
1439
+ * Delete an email
1440
+ * @param args.messageId - Gmail message ID to delete
1441
+ */
1442
+ deleteEmail: (args: GoogleGmailDeleteEmailArgs) => Promise<any>;
1443
+ };
1444
+ /**
1445
+ * Google Calendar Adapter
1446
+ * Category: productivity
1447
+ */
1448
+ declare function createGoogleCalendarAdapter(sdk: MirraSDK): {
1449
+ /**
1450
+ * Create a new calendar event
1451
+ * @param args.summary - Event title/summary
1452
+ * @param args.start - Start time object with dateTime and optional timeZone
1453
+ * @param args.end - End time object with dateTime and optional timeZone
1454
+ * @param args.description - Event description (optional)
1455
+ * @param args.location - Event location (optional)
1456
+ * @param args.attendees - Array of attendee email addresses (optional)
1457
+ */
1458
+ createEvent: (args: GoogleCalendarCreateEventArgs) => Promise<any>;
1459
+ /**
1460
+ * List calendar events
1461
+ * @param args.timeMin - Start time for events to list (ISO 8601) (optional)
1462
+ * @param args.timeMax - End time for events to list (ISO 8601) (optional)
1463
+ * @param args.maxResults - Maximum number of events to return (default: 50, max: 100) (optional)
1464
+ * @param args.query - Search query to filter events (optional)
1465
+ */
1466
+ listEvents: (args: GoogleCalendarListEventsArgs) => Promise<any>;
1467
+ /**
1468
+ * Get calendar events (alias for listEvents)
1469
+ * @param args.timeMin - Start time for events to list (ISO 8601) (optional)
1470
+ * @param args.timeMax - End time for events to list (ISO 8601) (optional)
1471
+ * @param args.maxResults - Maximum number of events to return (default: 50, max: 100) (optional)
1472
+ * @param args.query - Search query to filter events (optional)
1473
+ */
1474
+ getEvents: (args: GoogleCalendarGetEventsArgs) => Promise<any>;
1475
+ /**
1476
+ * Get a specific calendar event by ID
1477
+ * @param args.eventId - Calendar event ID
1478
+ */
1479
+ getEvent: (args: GoogleCalendarGetEventArgs) => Promise<any>;
1480
+ /**
1481
+ * Update an existing calendar event
1482
+ * @param args.eventId - Calendar event ID to update
1483
+ * @param args.summary - Updated event title/summary (optional)
1484
+ * @param args.description - Updated event description (optional)
1485
+ * @param args.location - Updated event location (optional)
1486
+ * @param args.start - Updated start time object with dateTime and optional timeZone (optional)
1487
+ * @param args.end - Updated end time object with dateTime and optional timeZone (optional)
1488
+ */
1489
+ updateEvent: (args: GoogleCalendarUpdateEventArgs) => Promise<any>;
1490
+ /**
1491
+ * Delete a calendar event
1492
+ * @param args.eventId - Calendar event ID to delete
1493
+ */
1494
+ deleteEvent: (args: GoogleCalendarDeleteEventArgs) => Promise<any>;
1495
+ /**
1496
+ * Search calendar events by text query
1497
+ * @param args.query - Search query to filter events
1498
+ * @param args.timeMin - Start time for events to search (ISO 8601) (optional)
1499
+ * @param args.timeMax - End time for events to search (ISO 8601) (optional)
1500
+ * @param args.maxResults - Maximum number of events to return (default: 50, max: 100) (optional)
1501
+ */
1502
+ searchEvents: (args: GoogleCalendarSearchEventsArgs) => Promise<any>;
1503
+ };
1504
+ /**
1505
+ * Google Drive Adapter
1506
+ * Category: storage
1507
+ */
1508
+ declare function createGoogleDriveAdapter(sdk: MirraSDK): {
1509
+ /**
1510
+ * List files in Google Drive
1511
+ * @param args.query - Search query (Google Drive query syntax) (optional)
1512
+ * @param args.pageSize - Maximum number of files to return (default: 20) (optional)
1513
+ */
1514
+ listFiles: (args: GoogleDriveListFilesArgs) => Promise<any>;
1515
+ /**
1516
+ * Create a new file in Google Drive
1517
+ * @param args.name - Name of the file
1518
+ * @param args.mimeType - MIME type of the file
1519
+ * @param args.folderId - Parent folder ID (optional) (optional)
1520
+ */
1521
+ createFile: (args: GoogleDriveCreateFileArgs) => Promise<any>;
1522
+ /**
1523
+ * Create a new folder in Google Drive
1524
+ * @param args.name - Name of the folder
1525
+ * @param args.parentFolderId - Parent folder ID (optional) (optional)
1526
+ */
1527
+ createFolder: (args: GoogleDriveCreateFolderArgs) => Promise<any>;
1528
+ /**
1529
+ * Get information about a file
1530
+ * @param args.fileId - ID of the file
1531
+ */
1532
+ getFileInfo: (args: GoogleDriveGetFileInfoArgs) => Promise<any>;
1533
+ /**
1534
+ * Share a file with others
1535
+ * @param args.fileId - ID of the file to share
1536
+ * @param args.email - Email address to share with (optional) (optional)
1537
+ * @param args.role - Permission role: reader, writer, commenter (default: reader) (optional)
1538
+ */
1539
+ shareFile: (args: GoogleDriveShareFileArgs) => Promise<any>;
1540
+ /**
1541
+ * Download a file from Google Drive. For Google Docs/Sheets, exports as PDF/XLSX. Returns base64-encoded data.
1542
+ * @param args.fileId - ID of the file to download
1543
+ */
1544
+ downloadFile: (args: GoogleDriveDownloadFileArgs) => Promise<any>;
1545
+ /**
1546
+ * Move a file to a different folder
1547
+ * @param args.fileId - ID of the file to move
1548
+ * @param args.folderId - ID of the destination folder
1549
+ */
1550
+ moveFile: (args: GoogleDriveMoveFileArgs) => Promise<any>;
1551
+ /**
1552
+ * Delete a file or folder. By default moves to trash; set permanently=true to delete forever.
1553
+ * @param args.fileId - ID of the file or folder to delete
1554
+ * @param args.permanently - If true, permanently delete instead of moving to trash (default: false) (optional)
1555
+ */
1556
+ deleteFile: (args: GoogleDriveDeleteFileArgs) => Promise<any>;
1557
+ /**
1558
+ * Search for files using Google Drive query syntax
1559
+ * @param args.query - Search query using Drive syntax (e.g., "name contains 'report'", "mimeType='application/pdf'")
1560
+ * @param args.pageSize - Maximum number of files to return (default: 20) (optional)
1561
+ */
1562
+ searchFiles: (args: GoogleDriveSearchFilesArgs) => Promise<any>;
1563
+ /**
1564
+ * Update file metadata (name, description)
1565
+ * @param args.fileId - ID of the file to update
1566
+ * @param args.name - New name for the file (optional)
1567
+ * @param args.description - New description for the file (optional)
1568
+ */
1569
+ updateFile: (args: GoogleDriveUpdateFileArgs) => Promise<any>;
1570
+ };
1571
+ /**
1572
+ * Google Sheets Adapter
1573
+ * Category: productivity
1574
+ */
1575
+ declare function createGoogleSheetsAdapter(sdk: MirraSDK): {
1576
+ /**
1577
+ * Create a new Google Sheets spreadsheet
1578
+ * @param args.title - Title of the spreadsheet
1579
+ */
1580
+ createSpreadsheet: (args: GoogleSheetsCreateSpreadsheetArgs) => Promise<any>;
1581
+ /**
1582
+ * Read data from a range in a spreadsheet
1583
+ * @param args.spreadsheetId - ID of the spreadsheet
1584
+ * @param args.range - Cell range (e.g., "Sheet1!A1:B10")
1585
+ */
1586
+ readRange: (args: GoogleSheetsReadRangeArgs) => Promise<any>;
1587
+ /**
1588
+ * Write data to a range in a spreadsheet
1589
+ * @param args.spreadsheetId - ID of the spreadsheet
1590
+ * @param args.range - Cell range (e.g., "Sheet1!A1:B10")
1591
+ * @param args.values - Data to write (2D array)
1592
+ */
1593
+ writeRange: (args: GoogleSheetsWriteRangeArgs) => Promise<any>;
1594
+ /**
1595
+ * Append a row to a spreadsheet
1596
+ * @param args.spreadsheetId - ID of the spreadsheet
1597
+ * @param args.sheetName - Name of the sheet
1598
+ * @param args.values - Row values to append
1599
+ */
1600
+ appendRow: (args: GoogleSheetsAppendRowArgs) => Promise<any>;
1601
+ /**
1602
+ * Get spreadsheet metadata and properties
1603
+ * @param args.spreadsheetId - ID of the spreadsheet
1604
+ */
1605
+ getSpreadsheet: (args: GoogleSheetsGetSpreadsheetArgs) => Promise<any>;
1606
+ /**
1607
+ * Insert a value at a specific cell with optional formatting
1608
+ * @param args.spreadsheetId - ID of the spreadsheet
1609
+ * @param args.cell - Cell reference in format SheetName!A1
1610
+ * @param args.value - Value to insert
1611
+ * @param args.bold - Make text bold (optional)
1612
+ * @param args.italic - Make text italic (optional)
1613
+ * @param args.foregroundColor - Text color (hex or named color) (optional)
1614
+ * @param args.backgroundColor - Cell background color (hex or named color) (optional)
1615
+ */
1616
+ insertAtCell: (args: GoogleSheetsInsertAtCellArgs) => Promise<any>;
1617
+ /**
1618
+ * Insert a formula at a specific cell
1619
+ * @param args.spreadsheetId - ID of the spreadsheet
1620
+ * @param args.cell - Cell reference in format SheetName!A1
1621
+ * @param args.formula - Formula to insert (with or without leading =)
1622
+ * @param args.note - Optional note to add to the cell (optional)
1623
+ */
1624
+ insertFormula: (args: GoogleSheetsInsertFormulaArgs) => Promise<any>;
1625
+ /**
1626
+ * Apply formatting to a range of cells
1627
+ * @param args.spreadsheetId - ID of the spreadsheet
1628
+ * @param args.range - Range in format SheetName!A1:B10
1629
+ * @param args.bold - Make text bold (optional)
1630
+ * @param args.italic - Make text italic (optional)
1631
+ * @param args.foregroundColor - Text color (hex or named color) (optional)
1632
+ * @param args.backgroundColor - Cell background color (hex or named color) (optional)
1633
+ * @param args.borders - Add borders to cells (optional)
1634
+ */
1635
+ formatRange: (args: GoogleSheetsFormatRangeArgs) => Promise<any>;
1636
+ /**
1637
+ * Create a chart from spreadsheet data
1638
+ * @param args.spreadsheetId - ID of the spreadsheet
1639
+ * @param args.sheetId - ID of the sheet containing data
1640
+ * @param args.dataRange - Data range for the chart (e.g., A1:B10)
1641
+ * @param args.chartType - Chart type: BAR, LINE, AREA, PIE, or SCATTER
1642
+ * @param args.title - Chart title
1643
+ * @param args.position - Chart position with row, column, rowCount, columnCount
1644
+ */
1645
+ createChart: (args: GoogleSheetsCreateChartArgs) => Promise<any>;
1646
+ /**
1647
+ * Find and replace text in a spreadsheet
1648
+ * @param args.spreadsheetId - ID of the spreadsheet
1649
+ * @param args.findText - Text to find
1650
+ * @param args.replaceText - Text to replace with
1651
+ * @param args.sheetName - Limit search to specific sheet (optional)
1652
+ * @param args.matchCase - Case-sensitive search (optional)
1653
+ * @param args.matchEntireCell - Match entire cell content only (optional)
1654
+ */
1655
+ findAndReplace: (args: GoogleSheetsFindAndReplaceArgs) => Promise<any>;
1656
+ /**
1657
+ * Insert multiple rows of data at once
1658
+ * @param args.spreadsheetId - ID of the spreadsheet
1659
+ * @param args.sheetName - Name of the sheet
1660
+ * @param args.rowsData - 2D array of row data to insert
1661
+ * @param args.startingRow - Row number to start insertion (1-indexed). If not provided, appends to end (optional)
1662
+ * @param args.formattingOptions - Optional formatting to apply (bold, italic, foregroundColor, backgroundColor, borders) (optional)
1663
+ */
1664
+ insertMultipleRows: (args: GoogleSheetsInsertMultipleRowsArgs) => Promise<any>;
1665
+ /**
1666
+ * Clear content from a range of cells
1667
+ * @param args.spreadsheetId - ID of the spreadsheet
1668
+ * @param args.sheetName - Name of the sheet
1669
+ * @param args.range - Range to clear (e.g., A1:B10)
1670
+ */
1671
+ clearRange: (args: GoogleSheetsClearRangeArgs) => Promise<any>;
1672
+ /**
1673
+ * Insert empty rows at a specific position in a sheet. IMPORTANT: Requires numeric sheetId (get from getSpreadsheet), not sheet name. Row indices are 0-indexed (row 1 in UI = index 0).
1674
+ * @param args.spreadsheetId - ID of the spreadsheet
1675
+ * @param args.sheetId - Numeric sheet ID (get from getSpreadsheet response: sheets[0].properties.sheetId). This is NOT the sheet name.
1676
+ * @param args.startRowIndex - Row index to start inserting at (0-indexed). To insert before row 5 in the UI, use index 4.
1677
+ * @param args.numRows - Number of rows to insert
1678
+ */
1679
+ insertRows: (args: GoogleSheetsInsertRowsArgs) => Promise<any>;
1680
+ /**
1681
+ * Delete rows from a sheet. IMPORTANT: Requires numeric sheetId (get from getSpreadsheet), not sheet name. Row indices are 0-indexed (row 1 in UI = index 0).
1682
+ * @param args.spreadsheetId - ID of the spreadsheet
1683
+ * @param args.sheetId - Numeric sheet ID (get from getSpreadsheet response: sheets[0].properties.sheetId). This is NOT the sheet name.
1684
+ * @param args.startRowIndex - Row index to start deleting from (0-indexed). To delete row 5 in the UI, use index 4.
1685
+ * @param args.numRows - Number of rows to delete
1686
+ */
1687
+ deleteRows: (args: GoogleSheetsDeleteRowsArgs) => Promise<any>;
1688
+ /**
1689
+ * Insert empty columns at a specific position in a sheet. IMPORTANT: Requires numeric sheetId (get from getSpreadsheet), not sheet name. Column indices are 0-indexed (A=0, B=1, C=2, etc.).
1690
+ * @param args.spreadsheetId - ID of the spreadsheet
1691
+ * @param args.sheetId - Numeric sheet ID (get from getSpreadsheet response: sheets[0].properties.sheetId). This is NOT the sheet name.
1692
+ * @param args.startColumnIndex - Column index to start inserting at (0-indexed: A=0, B=1, C=2, D=3, etc.). To insert before column D, use index 3.
1693
+ * @param args.numColumns - Number of columns to insert
1694
+ */
1695
+ insertColumns: (args: GoogleSheetsInsertColumnsArgs) => Promise<any>;
1696
+ /**
1697
+ * Delete columns from a sheet. IMPORTANT: Requires numeric sheetId (get from getSpreadsheet), not sheet name. Column indices are 0-indexed (A=0, B=1, C=2, etc.).
1698
+ * @param args.spreadsheetId - ID of the spreadsheet
1699
+ * @param args.sheetId - Numeric sheet ID (get from getSpreadsheet response: sheets[0].properties.sheetId). This is NOT the sheet name.
1700
+ * @param args.startColumnIndex - Column index to start deleting from (0-indexed: A=0, B=1, C=2, D=3, etc.). To delete column D, use index 3.
1701
+ * @param args.numColumns - Number of columns to delete
1702
+ */
1703
+ deleteColumns: (args: GoogleSheetsDeleteColumnsArgs) => Promise<any>;
1704
+ /**
1705
+ * Copy data from one range to another location within the same spreadsheet. IMPORTANT: Requires numeric sheetIds (get from getSpreadsheet), not sheet names. Can copy within same sheet or across sheets.
1706
+ * @param args.spreadsheetId - ID of the spreadsheet
1707
+ * @param args.sourceSheetId - Numeric sheet ID of the source sheet (get from getSpreadsheet response: sheets[n].properties.sheetId)
1708
+ * @param args.sourceRange - Source range in A1 notation WITHOUT sheet name (e.g., "A1:C5", not "Sheet1!A1:C5")
1709
+ * @param args.targetSheetId - Numeric sheet ID of the target sheet (can be same as sourceSheetId to copy within same sheet)
1710
+ * @param args.targetStartCell - Target start cell in A1 notation (e.g., "E1"). The copied data will fill cells starting from this position.
1711
+ */
1712
+ copyRange: (args: GoogleSheetsCopyRangeArgs) => Promise<any>;
1713
+ };
1714
+ /**
1715
+ * Google Docs Adapter
1716
+ * Category: productivity
1717
+ */
1718
+ declare function createGoogleDocsAdapter(sdk: MirraSDK): {
1719
+ /**
1720
+ * Create a new Google Doc
1721
+ * @param args.title - Title of the document
1722
+ */
1723
+ createDocument: (args: GoogleDocsCreateDocumentArgs) => Promise<any>;
1724
+ /**
1725
+ * Get a Google Doc by ID
1726
+ * @param args.documentId - ID of the document
1727
+ */
1728
+ getDocument: (args: GoogleDocsGetDocumentArgs) => Promise<any>;
1729
+ /**
1730
+ * Append text to the end of a document
1731
+ * @param args.documentId - ID of the document
1732
+ * @param args.text - Text to append
1733
+ */
1734
+ appendText: (args: GoogleDocsAppendTextArgs) => Promise<any>;
1735
+ /**
1736
+ * Replace text in a document
1737
+ * @param args.documentId - ID of the document
1738
+ * @param args.searchText - Text to search for
1739
+ * @param args.replaceText - Text to replace with
1740
+ */
1741
+ replaceText: (args: GoogleDocsReplaceTextArgs) => Promise<any>;
1742
+ /**
1743
+ * Get the text content of a Google Doc
1744
+ * @param args.documentId - ID of the document
1745
+ */
1746
+ getDocumentContent: (args: GoogleDocsGetDocumentContentArgs) => Promise<any>;
1747
+ /**
1748
+ * Insert text at a specific position in the document
1749
+ * @param args.documentId - ID of the document
1750
+ * @param args.text - Text to insert
1751
+ * @param args.position - Character position to insert at (1-indexed)
1752
+ */
1753
+ insertTextAtPosition: (args: GoogleDocsInsertTextAtPositionArgs) => Promise<any>;
1754
+ /**
1755
+ * Insert text after a search string in the document
1756
+ * @param args.documentId - ID of the document
1757
+ * @param args.searchText - Text to search for
1758
+ * @param args.textToInsert - Text to insert after the search text
1759
+ * @param args.occurrence - Which occurrence to insert after (default: 1) (optional)
1760
+ */
1761
+ insertTextAfter: (args: GoogleDocsInsertTextAfterArgs) => Promise<any>;
1762
+ /**
1763
+ * Insert a heading into the document
1764
+ * @param args.documentId - ID of the document
1765
+ * @param args.text - Heading text
1766
+ * @param args.level - Heading level (1-6)
1767
+ * @param args.position - Character position to insert at (optional)
1768
+ * @param args.insertAfterText - Insert after this text instead of at position (optional)
1769
+ */
1770
+ insertHeading: (args: GoogleDocsInsertHeadingArgs) => Promise<any>;
1771
+ /**
1772
+ * Insert a bulleted or numbered list into the document
1773
+ * @param args.documentId - ID of the document
1774
+ * @param args.items - Array of list items
1775
+ * @param args.listType - Type of list: "bulleted" or "numbered"
1776
+ * @param args.position - Character position to insert at (optional)
1777
+ * @param args.insertAfterText - Insert after this text instead of at position (optional)
1778
+ */
1779
+ insertList: (args: GoogleDocsInsertListArgs) => Promise<any>;
1780
+ /**
1781
+ * Insert a table into the document
1782
+ * @param args.documentId - ID of the document
1783
+ * @param args.data - 2D array of table data (rows x columns)
1784
+ * @param args.hasHeader - Whether the first row is a header (default: true) (optional)
1785
+ * @param args.position - Character position to insert at (optional)
1786
+ * @param args.insertAfterText - Insert after this text instead of at position (optional)
1787
+ */
1788
+ insertTable: (args: GoogleDocsInsertTableArgs) => Promise<any>;
1789
+ /**
1790
+ * Replace the entire content of a document
1791
+ * @param args.documentId - ID of the document
1792
+ * @param args.newContent - New content to replace existing content
1793
+ */
1794
+ updateDocumentContent: (args: GoogleDocsUpdateDocumentContentArgs) => Promise<any>;
1795
+ /**
1796
+ * Create a new section with a heading and content
1797
+ * @param args.documentId - ID of the document
1798
+ * @param args.heading - Section heading text
1799
+ * @param args.content - Section content text
1800
+ */
1801
+ createSection: (args: GoogleDocsCreateSectionArgs) => Promise<any>;
1802
+ /**
1803
+ * Find the character position for insertion based on position or search text
1804
+ * @param args.documentId - ID of the document
1805
+ * @param args.position - Position to find (1 for start, -1 for end)
1806
+ * @param args.searchText - Text to search for (returns position after this text) (optional)
1807
+ */
1808
+ findInsertionPoint: (args: GoogleDocsFindInsertionPointArgs) => Promise<any>;
1809
+ };
1810
+ /**
1811
+ * Jira Adapter
1812
+ * Category: project
1813
+ */
1814
+ declare function createJiraAdapter(sdk: MirraSDK): {
1815
+ /**
1816
+ * Create a new Jira issue
1817
+ * @param args.projectKey - Jira project key (e.g., "PROJ")
1818
+ * @param args.summary - Issue summary/title
1819
+ * @param args.description - Issue description (optional)
1820
+ * @param args.issueType - Issue type (Task, Bug, Story, etc.) (optional)
1821
+ */
1822
+ createIssue: (args: JiraCreateIssueArgs) => Promise<any>;
1823
+ /**
1824
+ * Search Jira issues using JQL
1825
+ * @param args.jql - JQL query string
1826
+ * @param args.maxResults - Maximum number of results (default: 50, max: 100) (optional)
1827
+ */
1828
+ searchIssues: (args: JiraSearchIssuesArgs) => Promise<any>;
1829
+ /**
1830
+ * Get a specific Jira issue by key or ID
1831
+ * @param args.issueKey - Issue key (e.g., "PROJ-123") or ID
1832
+ */
1833
+ getIssue: (args: JiraGetIssueArgs) => Promise<any>;
1834
+ /**
1835
+ * Update an existing Jira issue
1836
+ * @param args.issueKey - Issue key (e.g., "PROJ-123")
1837
+ * @param args.summary - New issue summary/title (optional)
1838
+ * @param args.description - New issue description (optional)
1839
+ */
1840
+ updateIssue: (args: JiraUpdateIssueArgs) => Promise<any>;
1841
+ /**
1842
+ * Delete a Jira issue
1843
+ * @param args.issueKey - Issue key (e.g., "PROJ-123")
1844
+ */
1845
+ deleteIssue: (args: JiraDeleteIssueArgs) => Promise<any>;
1846
+ /**
1847
+ * Add a comment to a Jira issue
1848
+ * @param args.issueKey - Issue key (e.g., "PROJ-123")
1849
+ * @param args.comment - Comment text
1850
+ */
1851
+ addComment: (args: JiraAddCommentArgs) => Promise<any>;
1852
+ /**
1853
+ * Transition a Jira issue to a different status
1854
+ * @param args.issueKey - Issue key (e.g., "PROJ-123")
1855
+ * @param args.transitionId - ID of the transition to perform
1856
+ */
1857
+ transitionIssue: (args: JiraTransitionIssueArgs) => Promise<any>;
1858
+ /**
1859
+ * Assign a Jira issue to a user
1860
+ * @param args.issueKey - Issue key (e.g., "PROJ-123")
1861
+ * @param args.accountId - Atlassian account ID of the assignee
1862
+ */
1863
+ assignIssue: (args: JiraAssignIssueArgs) => Promise<any>;
1864
+ /**
1865
+ * Get all accessible Jira projects
1866
+ */
1867
+ getProjects: (args?: {}) => Promise<any>;
1868
+ /**
1869
+ * List all accessible Jira projects (alias for getProjects)
1870
+ */
1871
+ listProjects: (args?: {}) => Promise<any>;
1872
+ /**
1873
+ * Get metadata for a specific Jira project
1874
+ * @param args.projectKey - Project key (e.g., "PROJ")
1875
+ */
1876
+ getProjectMetadata: (args: JiraGetProjectMetadataArgs) => Promise<any>;
1877
+ /**
1878
+ * Get available transitions for a Jira issue
1879
+ * @param args.issueKey - Issue key (e.g., "PROJ-123")
1880
+ */
1881
+ getTransitions: (args: JiraGetTransitionsArgs) => Promise<any>;
1882
+ /**
1883
+ * List users that can be assigned to issues in a project
1884
+ * @param args.projectKey - Project key (e.g., "PROJ")
1885
+ */
1886
+ listAssignableUsers: (args: JiraListAssignableUsersArgs) => Promise<any>;
1887
+ /**
1888
+ * Get available issue types for a project
1889
+ * @param args.projectKey - Project key (e.g., "PROJ")
1890
+ */
1891
+ getIssueTypes: (args: JiraGetIssueTypesArgs) => Promise<any>;
1892
+ /**
1893
+ * Search Jira API for available operations beyond core tools
1894
+ * @param args.query - Describe what you want to do (e.g., "add label to card")
1895
+ * @param args.limit - Max results to return (default 5) (optional)
1896
+ */
1897
+ discoverExtended: (args: JiraDiscoverExtendedArgs) => Promise<any>;
1898
+ /**
1899
+ * Execute a Jira API operation by operationId
1900
+ * @param args.operationId - The operationId from discoverExtended results
1901
+ * @param args.pathParams - Path parameters, e.g., { id: "abc123" } (optional)
1902
+ * @param args.queryParams - Query string parameters (optional)
1903
+ * @param args.body - Request body for POST/PUT/PATCH operations (optional)
1904
+ */
1905
+ executeExtended: (args: JiraExecuteExtendedArgs) => Promise<any>;
1906
+ };
1907
+ /**
1908
+ * Twitter Adapter
1909
+ * Category: social
1910
+ */
1911
+ declare function createTwitterAdapter(sdk: MirraSDK): {
1912
+ /**
1913
+ * Post a tweet
1914
+ * @param args.text - Tweet text (max 280 characters)
1915
+ */
1916
+ postTweet: (args: TwitterPostTweetArgs) => Promise<any>;
1917
+ /**
1918
+ * Retrieve tweets from a Twitter user. Must provide either userId OR userName.
1919
+ * @param args.userId - Twitter user ID (recommended for stability and speed) (optional)
1920
+ * @param args.userName - Twitter username/screen name (alternative to userId) (optional)
1921
+ * @param args.cursor - Pagination cursor for next page of results (optional)
1922
+ * @param args.includeReplies - Whether to include replies in results (default: false) (optional)
1923
+ */
1924
+ getUserTweets: (args: TwitterGetUserTweetsArgs) => Promise<any>;
1925
+ };
1926
+ /**
1927
+ * Trello Adapter
1928
+ * Category: productivity
1929
+ */
1930
+ declare function createTrelloAdapter(sdk: MirraSDK): {
1931
+ /**
1932
+ * Get all boards for the authenticated user
1933
+ */
1934
+ getBoards: (args?: {}) => Promise<any>;
1935
+ /**
1936
+ * Get a specific board by ID including its lists
1937
+ * @param args.boardId - The ID of the board to retrieve
1938
+ */
1939
+ getBoard: (args: TrelloGetBoardArgs) => Promise<any>;
1940
+ /**
1941
+ * Create a new card in a Trello list
1942
+ * @param args.name - Card name/title
1943
+ * @param args.idList - ID of the list to add the card to
1944
+ * @param args.desc - Card description (supports markdown) (optional)
1945
+ */
1946
+ createCard: (args: TrelloCreateCardArgs) => Promise<any>;
1947
+ /**
1948
+ * Get a specific card by ID
1949
+ * @param args.cardId - The ID of the card to retrieve
1950
+ */
1951
+ getCard: (args: TrelloGetCardArgs) => Promise<any>;
1952
+ /**
1953
+ * Update an existing card
1954
+ * @param args.cardId - The ID of the card to update
1955
+ * @param args.name - New card name (optional)
1956
+ * @param args.desc - New card description (optional)
1957
+ * @param args.idList - Move card to a different list (optional)
1958
+ * @param args.closed - Archive the card (optional)
1959
+ */
1960
+ updateCard: (args: TrelloUpdateCardArgs) => Promise<any>;
1961
+ /**
1962
+ * Delete a card permanently
1963
+ * @param args.cardId - The ID of the card to delete
1964
+ */
1965
+ deleteCard: (args: TrelloDeleteCardArgs) => Promise<any>;
1966
+ /**
1967
+ * Create a new checklist on a card
1968
+ * @param args.cardId - The ID of the card to add the checklist to
1969
+ * @param args.name - Checklist name
1970
+ */
1971
+ createChecklist: (args: TrelloCreateChecklistArgs) => Promise<any>;
1972
+ /**
1973
+ * Get a specific checklist by ID
1974
+ * @param args.checklistId - The ID of the checklist to retrieve
1975
+ */
1976
+ getChecklist: (args: TrelloGetChecklistArgs) => Promise<any>;
1977
+ /**
1978
+ * Update a checklist name
1979
+ * @param args.checklistId - The ID of the checklist to update
1980
+ * @param args.name - New checklist name
1981
+ */
1982
+ updateChecklist: (args: TrelloUpdateChecklistArgs) => Promise<any>;
1983
+ /**
1984
+ * Delete a checklist from a card
1985
+ * @param args.checklistId - The ID of the checklist to delete
1986
+ */
1987
+ deleteChecklist: (args: TrelloDeleteChecklistArgs) => Promise<any>;
1988
+ /**
1989
+ * Add a check item to a checklist
1990
+ * @param args.checklistId - The ID of the checklist to add the item to
1991
+ * @param args.name - Check item text
1992
+ */
1993
+ addCheckItem: (args: TrelloAddCheckItemArgs) => Promise<any>;
1994
+ /**
1995
+ * Update a check item (name or completion state)
1996
+ * @param args.cardId - The ID of the card containing the check item
1997
+ * @param args.checkItemId - The ID of the check item to update
1998
+ * @param args.name - New check item text (optional)
1999
+ * @param args.state - Check state: "complete" or "incomplete" (optional)
2000
+ */
2001
+ updateCheckItem: (args: TrelloUpdateCheckItemArgs) => Promise<any>;
2002
+ /**
2003
+ * Delete a check item from a checklist
2004
+ * @param args.checklistId - The ID of the checklist containing the item
2005
+ * @param args.checkItemId - The ID of the check item to delete
2006
+ */
2007
+ deleteCheckItem: (args: TrelloDeleteCheckItemArgs) => Promise<any>;
2008
+ /**
2009
+ * Search Trello API for available operations beyond core tools
2010
+ * @param args.query - Describe what you want to do (e.g., "add label to card")
2011
+ * @param args.limit - Max results to return (default 5) (optional)
2012
+ */
2013
+ discoverExtended: (args: TrelloDiscoverExtendedArgs) => Promise<any>;
2014
+ /**
2015
+ * Execute a Trello API operation by operationId
2016
+ * @param args.operationId - The operationId from discoverExtended results
2017
+ * @param args.pathParams - Path parameters, e.g., { id: "abc123" } (optional)
2018
+ * @param args.queryParams - Query string parameters (optional)
2019
+ * @param args.body - Request body for POST/PUT/PATCH operations (optional)
2020
+ */
2021
+ executeExtended: (args: TrelloExecuteExtendedArgs) => Promise<any>;
2022
+ };
2023
+ /**
2024
+ * Jupiter Adapter
2025
+ * Category: crypto
2026
+ */
2027
+ declare function createJupiterAdapter(sdk: MirraSDK): {
2028
+ /**
2029
+ * Execute a token swap on Jupiter DEX
2030
+ * @param args.inputMint - Input token mint address
2031
+ * @param args.outputMint - Output token mint address
2032
+ * @param args.amount - Amount to swap (in smallest unit)
2033
+ * @param args.inputDecimals - Number of decimals for input token
2034
+ * @param args.slippageBps - Slippage tolerance in basis points (default: 50) (optional)
2035
+ */
2036
+ swap: (args: JupiterSwapArgs) => Promise<any>;
2037
+ /**
2038
+ * Get token holdings for a wallet
2039
+ * @param args.walletAddress - Wallet address to check (uses actor wallet if not provided) (optional)
2040
+ */
2041
+ getHoldings: (args: JupiterGetHoldingsArgs) => Promise<any>;
2042
+ /**
2043
+ * Get token security information using Jupiter Shield
2044
+ * @param args.tokenMint - Token mint address to check security for
2045
+ */
2046
+ getTokenSecurity: (args: JupiterGetTokenSecurityArgs) => Promise<any>;
2047
+ /**
2048
+ * Search for tokens by symbol, name, or mint address
2049
+ * @param args.query - Search query (symbol, name, or mint address)
2050
+ */
2051
+ searchTokens: (args: JupiterSearchTokensArgs) => Promise<any>;
2052
+ /**
2053
+ * Refresh an expired swap with new quote and transaction
2054
+ * @param args.feedItemId - Feed item ID containing the swap to refresh
2055
+ * @param args.swapId - Original swap ID
2056
+ * @param args.inputMint - Input token mint address
2057
+ * @param args.outputMint - Output token mint address
2058
+ * @param args.amount - Amount to swap (in UI units)
2059
+ * @param args.inputDecimals - Input token decimals
2060
+ * @param args.slippageBps - Slippage tolerance in basis points (optional)
2061
+ */
2062
+ refreshSwap: (args: JupiterRefreshSwapArgs) => Promise<any>;
2063
+ };
2064
+ /**
2065
+ * Crypto Adapter
2066
+ * Category: crypto
2067
+ */
2068
+ declare function createCryptoAdapter(sdk: MirraSDK): {
2069
+ /**
2070
+ * Get the current price of a crypto asset
2071
+ * @param args.tokenAddress - Token contract address (EVM: 0x..., SVM: base58)
2072
+ * @param args.chainName - Specific chain name (auto-detected if not provided) (optional)
2073
+ */
2074
+ getPrice: (args: CryptoGetPriceArgs) => Promise<any>;
2075
+ /**
2076
+ * Send cryptocurrency or tokens (creates pending transaction for signing)
2077
+ * @param args.recipient - Contact username, user ID, or Solana wallet address
2078
+ * @param args.token - Token symbol (SOL, USDC), name, or mint address
2079
+ * @param args.amount - Amount to send (in UI units)
2080
+ */
2081
+ sendToken: (args: CryptoSendTokenArgs) => Promise<any>;
2082
+ /**
2083
+ * Set up automated price monitoring with progressive alerts
2084
+ * @param args.tokenAddress - Token contract address to monitor
2085
+ * @param args.direction - Alert direction: "above" or "below"
2086
+ * @param args.targetPrice - Target price in USD to trigger alert
2087
+ * @param args.scriptId - ID of the script to execute when price target is reached
2088
+ * @param args.chainName - Chain name (auto-detected if not provided) (optional)
2089
+ * @param args.percentStep - Progressive alert step percentage (default: 0.1 = 10%) (optional)
2090
+ */
2091
+ monitorPrice: (args: CryptoMonitorPriceArgs) => Promise<any>;
2092
+ /**
2093
+ * List all active crypto price monitoring assignments
2094
+ */
2095
+ listSubscriptions: (args?: {}) => Promise<any>;
2096
+ /**
2097
+ * Stop monitoring a crypto asset
2098
+ * @param args.tokenAddress - Token address to stop monitoring
2099
+ */
2100
+ unsubscribeAsset: (args: CryptoUnsubscribeAssetArgs) => Promise<any>;
2101
+ /**
2102
+ * Refresh an expired transaction with new blockhash and updated details
2103
+ * @param args.feedItemId - Feed item ID containing the transaction to refresh
2104
+ * @param args.transferId - Original transfer ID
2105
+ * @param args.recipient - Recipient address
2106
+ * @param args.token - Token symbol or mint address
2107
+ * @param args.amount - Amount to send
2108
+ * @param args.tokenMint - Token mint address (optional, will resolve if not provided) (optional)
2109
+ * @param args.tokenDecimals - Token decimals (optional) (optional)
2110
+ */
2111
+ refreshTransaction: (args: CryptoRefreshTransactionArgs) => Promise<any>;
2112
+ };
2113
+ /**
2114
+ * Scripts Adapter
2115
+ * Category: productivity
2116
+ */
2117
+ declare function createScriptsAdapter(sdk: MirraSDK): {
2118
+ /**
2119
+ * Create a new script with initial version and API key. IMPORTANT: The script ID for subsequent operations (deployScript, executeScript, etc.) is returned at data._id in the response.
2120
+ * @param args.name - Name of the script
2121
+ * @param args.description - Description of what the script does (optional)
2122
+ * @param args.runtime - Lambda runtime (default: nodejs18) (optional)
2123
+ * @param args.config - Script configuration (timeout, memory, maxCostPerExecution, etc.) (optional)
2124
+ * @param args.code - Initial JavaScript/TypeScript code for the script
2125
+ */
2126
+ createScript: (args: ScriptsCreateScriptArgs) => Promise<any>;
2127
+ /**
2128
+ * Delete a script and all its versions
2129
+ * @param args.scriptId - ID of the script to delete
2130
+ */
2131
+ deleteScript: (args: ScriptsDeleteScriptArgs) => Promise<any>;
2132
+ /**
2133
+ * Create a new version of an existing script.
2134
+ * @param args.scriptId - ID of the script
2135
+ * @param args.code - Updated code for the new version
2136
+ * @param args.commitMessage - Description of changes in this version (optional)
2137
+ */
2138
+ createVersion: (args: ScriptsCreateVersionArgs) => Promise<any>;
2139
+ /**
2140
+ * List all versions of a script
2141
+ * @param args.scriptId - ID of the script
2142
+ */
2143
+ listVersions: (args: ScriptsListVersionsArgs) => Promise<any>;
2144
+ /**
2145
+ * Deploy a script version to AWS Lambda. Must be called after createScript to make the script executable.
2146
+ * @param args.scriptId - ID of the script to deploy (from createScript response at data._id)
2147
+ * @param args.version - Version number to deploy (default: latest) (optional)
2148
+ */
2149
+ deployScript: (args: ScriptsDeployScriptArgs) => Promise<any>;
2150
+ /**
2151
+ * Execute a deployed script with custom data. Script must be deployed first via deployScript.
2152
+ * @param args.scriptId - ID of the script to execute (from createScript response at data._id)
2153
+ * @param args.data - Input data to pass to the script (optional)
2154
+ * @param args.trigger - Trigger information (type, source, event) (optional)
2155
+ */
2156
+ executeScript: (args: ScriptsExecuteScriptArgs) => Promise<any>;
2157
+ /**
2158
+ * Get details of a specific script
2159
+ * @param args.scriptId - ID of the script
2160
+ */
2161
+ getScript: (args: ScriptsGetScriptArgs) => Promise<any>;
2162
+ /**
2163
+ * List all scripts owned by the user
2164
+ */
2165
+ listScripts: (args?: {}) => Promise<any>;
2166
+ /**
2167
+ * Get execution history for a script
2168
+ * @param args.scriptId - ID of the script
2169
+ * @param args.status - Filter by status (completed, failed, running) (optional)
2170
+ * @param args.limit - Maximum number of executions to return (default: 100) (optional)
2171
+ */
2172
+ getExecutions: (args: ScriptsGetExecutionsArgs) => Promise<any>;
2173
+ /**
2174
+ * Get details of a specific execution
2175
+ * @param args.executionId - ID of the execution
2176
+ */
2177
+ getExecution: (args: ScriptsGetExecutionArgs) => Promise<any>;
2178
+ /**
2179
+ * Publish a script to the marketplace
2180
+ * @param args.scriptId - ID of the script to publish
2181
+ * @param args.pricing - Pricing configuration for the marketplace (optional)
2182
+ */
2183
+ publishScript: (args: ScriptsPublishScriptArgs) => Promise<any>;
2184
+ /**
2185
+ * Remove a script from the marketplace
2186
+ * @param args.scriptId - ID of the script to unpublish
2187
+ */
2188
+ unpublishScript: (args: ScriptsUnpublishScriptArgs) => Promise<any>;
2189
+ /**
2190
+ * List all published scripts in the marketplace
2191
+ */
2192
+ listMarketplaceScripts: (args?: {}) => Promise<any>;
2193
+ /**
2194
+ * Get execution metrics for a script
2195
+ * @param args.scriptId - ID of the script
2196
+ */
2197
+ getMetrics: (args: ScriptsGetMetricsArgs) => Promise<any>;
2198
+ /**
2199
+ * Create a webhook endpoint for the script
2200
+ * @param args.scriptId - ID of the script
2201
+ * @param args.name - Name of the webhook
2202
+ * @param args.enabled - Whether webhook is enabled (default: true) (optional)
2203
+ */
2204
+ createWebhook: (args: ScriptsCreateWebhookArgs) => Promise<any>;
2205
+ /**
2206
+ * Create a cron schedule for the script
2207
+ * @param args.scriptId - ID of the script
2208
+ * @param args.name - Name of the schedule
2209
+ * @param args.cronExpression - Cron expression (e.g., "0 9 * * *" for daily at 9am)
2210
+ * @param args.enabled - Whether schedule is enabled (default: true) (optional)
2211
+ * @param args.data - Data to pass to the script on scheduled execution (optional)
2212
+ */
2213
+ createSchedule: (args: ScriptsCreateScheduleArgs) => Promise<any>;
2214
+ /**
2215
+ * Get the script code for a specific flow
2216
+ * @param args.flowId - ID of the flow to get script code for
2217
+ */
2218
+ getFlowScript: (args: ScriptsGetFlowScriptArgs) => Promise<any>;
2219
+ /**
2220
+ * Modify the script code for a flow. Automatically creates a copy if user doesn't own the original, deploys to Lambda, and updates the flow.
2221
+ * @param args.flowId - ID of the flow to modify
2222
+ * @param args.newCode - New code to deploy
2223
+ * @param args.commitMessage - Description of changes (optional)
2224
+ */
2225
+ modifyFlowScript: (args: ScriptsModifyFlowScriptArgs) => Promise<any>;
2226
+ /**
2227
+ * Validate script code BEFORE creating or deploying. Checks for: 1) Missing async handler wrapper (top-level await errors), 2) Invalid adapter operations. Returns validation errors with suggestions for fixes. ALWAYS use this before createScript/modifyFlowScript.
2228
+ * @param args.code - The script code to validate
2229
+ */
2230
+ lintScript: (args: ScriptsLintScriptArgs) => Promise<any>;
2231
+ };
2232
+ /**
2233
+ * Feedback Adapter
2234
+ * Category: internal
2235
+ */
2236
+ declare function createFeedbackAdapter(sdk: MirraSDK): {
2237
+ /**
2238
+ * Report a bug with detailed context and reproduction steps
2239
+ * @param args.title - Brief bug description
2240
+ * @param args.description - Detailed description of the bug
2241
+ * @param args.severity - Bug severity: critical, high, medium, or low
2242
+ * @param args.stepsToReproduce - Steps to reproduce the bug (optional)
2243
+ * @param args.expectedBehavior - What should happen (optional)
2244
+ * @param args.actualBehavior - What actually happens (optional)
2245
+ * @param args.errorDetails - Error details: { message, stack, code } (optional)
2246
+ * @param args.context - Additional context: { conversationId, recentMessages, platform, appVersion } (optional)
2247
+ * @param args.llmAnalysis - LLM analysis of the issue (optional)
2248
+ */
2249
+ reportBug: (args: FeedbackReportBugArgs) => Promise<any>;
2250
+ /**
2251
+ * Auto-report tool or adapter failures for debugging
2252
+ * @param args.adapterType - Adapter type (e.g., jupiter, crypto)
2253
+ * @param args.operation - Operation that failed (e.g., swap, sendToken)
2254
+ * @param args.errorMessage - Error message from the failure
2255
+ * @param args.errorCode - Error code if available (optional)
2256
+ * @param args.errorStack - Error stack trace (optional)
2257
+ * @param args.args - Sanitized arguments that caused the failure (optional)
2258
+ * @param args.llmAnalysis - LLM analysis of why it failed (optional)
2259
+ * @param args.suggestedFix - LLM suggested fix (optional)
2260
+ * @param args.context - Additional context: { conversationId, userId, timestamp } (optional)
2261
+ */
2262
+ reportToolFailure: (args: FeedbackReportToolFailureArgs) => Promise<any>;
2263
+ /**
2264
+ * Report when LLM cannot fulfill a user request
2265
+ * @param args.userRequest - What the user asked for
2266
+ * @param args.reason - Why it could not be fulfilled
2267
+ * @param args.suggestedCapability - What capability would enable this (optional)
2268
+ * @param args.relatedAdapters - Adapters that might be relevant (optional)
2269
+ * @param args.context - Additional context: { conversationId } (optional)
2270
+ */
2271
+ reportMissingCapability: (args: FeedbackReportMissingCapabilityArgs) => Promise<any>;
2272
+ /**
2273
+ * Submit general user feedback
2274
+ * @param args.sentiment - Sentiment: positive, negative, or neutral
2275
+ * @param args.feedback - Feedback content
2276
+ * @param args.category - Category: ux, performance, feature, or general (optional)
2277
+ * @param args.context - Additional context: { feature, screen } (optional)
2278
+ */
2279
+ submitFeedback: (args: FeedbackSubmitFeedbackArgs) => Promise<any>;
2280
+ /**
2281
+ * Submit a feature request
2282
+ * @param args.title - Feature title
2283
+ * @param args.description - Feature description
2284
+ * @param args.useCase - Why the user needs this feature (optional)
2285
+ * @param args.priority - Priority: high, medium, or low (optional)
2286
+ */
2287
+ submitFeatureRequest: (args: FeedbackSubmitFeatureRequestArgs) => Promise<any>;
2288
+ };
2289
+ /**
2290
+ * Mirra Messaging Adapter
2291
+ * Category: communication
2292
+ */
2293
+ declare function createMirraMessagingAdapter(sdk: MirraSDK): {
2294
+ /**
2295
+ * Send a direct message to a contact. The message is sent as the authenticated user with optional automation metadata.
2296
+ * @param args.recipientId - User ID of the recipient (use findContact to look up by username)
2297
+ * @param args.content - Message text content
2298
+ * @param args.automation - Automation metadata: { source: "sdk" | "flow", flowId?: string, flowTitle?: string } (optional)
2299
+ */
2300
+ sendMessage: (args: MirraMessagingSendMessageArgs) => Promise<any>;
2301
+ /**
2302
+ * Send a message to a group chat. The message is sent as the authenticated user with optional automation metadata.
2303
+ * @param args.groupId - Group ID to send the message to
2304
+ * @param args.content - Message text content
2305
+ * @param args.automation - Automation metadata: { source: "sdk" | "flow", flowId?: string, flowTitle?: string } (optional)
2306
+ */
2307
+ sendGroupMessage: (args: MirraMessagingSendGroupMessageArgs) => Promise<any>;
2308
+ /**
2309
+ * Get list of accepted contacts for the user
2310
+ * @param args.limit - Maximum number of contacts to return (default 50) (optional)
2311
+ * @param args.offset - Offset for pagination (default 0) (optional)
2312
+ */
2313
+ getContacts: (args: MirraMessagingGetContactsArgs) => Promise<any>;
2314
+ /**
2315
+ * Find a contact by username or partial name match
2316
+ * @param args.query - Username or name to search for
2317
+ */
2318
+ findContact: (args: MirraMessagingFindContactArgs) => Promise<any>;
2319
+ /**
2320
+ * Get list of chat instances for the user
2321
+ * @param args.scope - Filter by scope: direct, user, group, or all (default all) (optional)
2322
+ * @param args.limit - Maximum number of chats to return (default 50) (optional)
2323
+ */
2324
+ getChats: (args: MirraMessagingGetChatsArgs) => Promise<any>;
2325
+ /**
2326
+ * Get list of groups the user is a member of
2327
+ * @param args.limit - Maximum number of groups to return (default 50) (optional)
2328
+ */
2329
+ getGroups: (args: MirraMessagingGetGroupsArgs) => Promise<any>;
2330
+ };
2331
+ export declare const generatedAdapters: {
2332
+ flows: typeof createFlowsAdapter;
2333
+ user: typeof createUserAdapter;
2334
+ contacts: typeof createContactsAdapter;
2335
+ memory: typeof createMemoryAdapter;
2336
+ ai: typeof createAiAdapter;
2337
+ document: typeof createDocumentAdapter;
2338
+ feedItems: typeof createFeedItemsAdapter;
2339
+ telegram: typeof createTelegramAdapter;
2340
+ googleGmail: typeof createGoogleGmailAdapter;
2341
+ googleCalendar: typeof createGoogleCalendarAdapter;
2342
+ googleDrive: typeof createGoogleDriveAdapter;
2343
+ googleSheets: typeof createGoogleSheetsAdapter;
2344
+ googleDocs: typeof createGoogleDocsAdapter;
2345
+ jira: typeof createJiraAdapter;
2346
+ twitter: typeof createTwitterAdapter;
2347
+ trello: typeof createTrelloAdapter;
2348
+ jupiter: typeof createJupiterAdapter;
2349
+ crypto: typeof createCryptoAdapter;
2350
+ scripts: typeof createScriptsAdapter;
2351
+ feedback: typeof createFeedbackAdapter;
2352
+ mirraMessaging: typeof createMirraMessagingAdapter;
2353
+ };
2354
+ export {};
2355
+ //# sourceMappingURL=adapters.d.ts.map