msteams 0.1.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,640 @@
1
+ //#region src/auth/TokenManager.d.ts
2
+ interface ScopeTokenProvider {
3
+ getTokenFromScope(scope: string): Promise<string>;
4
+ }
5
+ declare class TokenManager implements ScopeTokenProvider {
6
+ #private;
7
+ constructor(refreshToken: string);
8
+ getToken(scope: string): Promise<string>;
9
+ getRefreshToken(): string;
10
+ getTokenFromScope(scope: string): Promise<string>;
11
+ }
12
+ //#endregion
13
+ //#region src/rest/RestClient.d.ts
14
+ type QueryPrimitive = string | number | boolean;
15
+ type QueryParams = Record<string, QueryPrimitive | undefined>;
16
+ type RestRequestOptions = {
17
+ scope: string;
18
+ method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
19
+ query?: URLSearchParams | QueryParams;
20
+ headers?: Record<string, string>;
21
+ body?: string | URLSearchParams;
22
+ referrer?: string;
23
+ };
24
+ declare class RestClient {
25
+ #private;
26
+ constructor(tokenProvider: ScopeTokenProvider, referrer?: string);
27
+ request<T>(url: string, options: RestRequestOptions): Promise<T>;
28
+ }
29
+ //#endregion
30
+ //#region src/types/teams.d.ts
31
+ type TeamsExport = {
32
+ conversationFolders: ConversationFoldersRoot;
33
+ teams: Team[];
34
+ chats: ChatThread[];
35
+ engageCommunities: unknown[];
36
+ users: unknown[];
37
+ privateFeeds: PrivateFeed[];
38
+ metadata: SyncMetadata;
39
+ };
40
+ type ConversationFoldersRoot = {
41
+ folderHierarchyVersion: number;
42
+ conversationFolders: ConversationFolder[];
43
+ conversationFolderOrder: string[];
44
+ migratedPinnedToFavorites: boolean;
45
+ isPartialResponse: boolean;
46
+ supportedSlicesMetadata: SupportedSlicesMetadata;
47
+ };
48
+ type ConversationFolder = {
49
+ id: string;
50
+ sortType: string;
51
+ name: string;
52
+ folderType: string;
53
+ conversationFolderItems: ConversationFolderItem[];
54
+ version: number;
55
+ createdTime: number;
56
+ isExpanded: boolean;
57
+ isDeleted: boolean;
58
+ isHierarchicalViewEnabled?: boolean;
59
+ };
60
+ type ConversationFolderItem = {
61
+ conversationId: string;
62
+ createdTime: number;
63
+ lastUpdatedTime: number;
64
+ threadType: 'streamofnotes' | 'topic' | string;
65
+ itemType?: never;
66
+ } | {
67
+ conversationId: string;
68
+ createdTime: number;
69
+ lastUpdatedTime: number;
70
+ itemType: 'Slice' | string;
71
+ threadType?: never;
72
+ };
73
+ type SupportedSlicesMetadata = {
74
+ commonSliceHierarchyVersion: number;
75
+ isEnabled: boolean;
76
+ slicesMetadata: Record<string, SliceMetadata>;
77
+ };
78
+ type SliceMetadata = {
79
+ id: string;
80
+ defaultGesture: string;
81
+ supportedGestures: string[];
82
+ currentReleaseVersion: number;
83
+ isEnabled: boolean;
84
+ };
85
+ type Team = {
86
+ displayName: string;
87
+ id: string;
88
+ channels: Channel[];
89
+ joiningenabled: string;
90
+ pictureETag: string;
91
+ description: string;
92
+ isFavorite: boolean;
93
+ isCollapsed: boolean;
94
+ isDeleted: boolean;
95
+ isTenantWide: boolean;
96
+ isEmptyConversation: boolean;
97
+ smtpAddress: string;
98
+ threadVersion: string;
99
+ threadSchemaVersion: string;
100
+ conversationVersion: string | null;
101
+ classification: string | null;
102
+ accessType: number;
103
+ guestUsersCategory: unknown | null;
104
+ dynamicMembership: boolean;
105
+ maximumMemberLimitExceeded: boolean;
106
+ teamSettings: TeamSettings;
107
+ teamGuestSettings: TeamSettings;
108
+ teamStatus: TeamStatus;
109
+ teamSiteInformation: TeamSiteInformation;
110
+ isGeneralChannelFavorite: boolean;
111
+ isCreator: boolean;
112
+ creator: string;
113
+ membershipVersion: number | string;
114
+ membershipSummary: MembershipSummary;
115
+ isUserMuted: boolean;
116
+ lastJoinAt: string;
117
+ membershipExpiry: number;
118
+ memberRole: number;
119
+ memberRoleString: string;
120
+ isFollowed: boolean;
121
+ tenantId: string;
122
+ teamType: number;
123
+ extensionDefinition?: ExtensionDefinition;
124
+ isArchived: boolean;
125
+ classSettings?: ClassSettings;
126
+ isTeamLocked: boolean;
127
+ isUnlockMembershipSyncRequired: boolean;
128
+ channelOnlyMember: boolean;
129
+ rosterVersion: number;
130
+ };
131
+ type Channel = {
132
+ id: string;
133
+ displayName: string;
134
+ description?: string;
135
+ consumptionHorizon: ConsumptionHorizon;
136
+ lastL2MessageIdNFS: number;
137
+ version: number;
138
+ threadVersion: number | string;
139
+ threadSchemaVersion: string;
140
+ parentTeamId: string;
141
+ isGeneral: boolean;
142
+ isFavorite: boolean;
143
+ isFollowed: boolean;
144
+ isMember: boolean;
145
+ creator?: string;
146
+ isMessageRead: boolean;
147
+ isImportantMessageRead: boolean;
148
+ isGapDetectionEnabled: boolean;
149
+ defaultFileSettings?: DefaultFileSettings;
150
+ lastMessage: Message;
151
+ lastImportantMessageTime?: string;
152
+ isDeleted: boolean;
153
+ isPinned: boolean;
154
+ lastJoinAt: string;
155
+ threadType: string;
156
+ isEmptyConversation: boolean;
157
+ threadSubType: string;
158
+ lastLeaveAt?: string;
159
+ lastTimeFavorited?: string;
160
+ memberRole: number;
161
+ memberRoleString: string;
162
+ isMuted: boolean;
163
+ membershipExpiry: number;
164
+ isFavoriteByDefault: boolean;
165
+ creationTime: string;
166
+ isArchived: boolean;
167
+ channelType: number;
168
+ membershipVersion: number;
169
+ isModerator: boolean;
170
+ groupId: string;
171
+ channelOnlyMember: boolean;
172
+ explicitlyAdded: boolean;
173
+ isShared: boolean;
174
+ csaV1: boolean;
175
+ lastRcMetadataVersion: number;
176
+ channelSettings?: ChannelSettings;
177
+ tabs?: Tab[];
178
+ connectorProfiles?: ConnectorProfile[];
179
+ sharepointSiteUrl?: string;
180
+ substrateGroupId?: string;
181
+ tenantId?: string;
182
+ memberSettings?: MemberSettings;
183
+ guestSettings?: MemberSettings;
184
+ shareWithParentSpaces?: ShareWithParentSpaces;
185
+ extensionDefinition?: ExtensionDefinition;
186
+ };
187
+ type ConsumptionHorizon = {
188
+ originalArrivalTime: number;
189
+ timeStamp: number;
190
+ clientMessageId: string;
191
+ };
192
+ type DefaultFileSettings = {
193
+ filesRelativePath: string | null;
194
+ documentLibraryId?: string;
195
+ sharepointRootLibrary?: string;
196
+ };
197
+ type TeamSettings = {
198
+ createTopic: boolean;
199
+ updateTopic: boolean;
200
+ deleteTopic: boolean;
201
+ editChannelTopic: boolean;
202
+ createTab: boolean;
203
+ deleteTab: boolean;
204
+ createIntegration: boolean;
205
+ updateIntegration: boolean;
206
+ deleteIntegration: boolean;
207
+ teamMention: boolean;
208
+ channelMention: boolean;
209
+ giphyEnabled: boolean;
210
+ stickersEnabled: boolean;
211
+ giphyRating: number;
212
+ customMemesEnabled: boolean;
213
+ teamMemesEnabled: boolean;
214
+ addDisplayContent: boolean;
215
+ removeDisplayContent: boolean;
216
+ allowChOwnToAddB2BCollabMemToOAC: boolean | null;
217
+ allowChOwnToAddExtMemToPAC: boolean | null;
218
+ allowChOwnToSharePACWithTeams: boolean | null;
219
+ allowChOwnToAddB2BCollabMemToPAC: boolean | null;
220
+ adminDeleteEnabled: boolean;
221
+ deleteEnabled: boolean;
222
+ editEnabled: boolean;
223
+ messageThreadingEnabled: boolean;
224
+ generalChannelPosting: number;
225
+ installApp: boolean;
226
+ uninstallApp: boolean;
227
+ isPrivateChannelCreationEnabled: boolean;
228
+ isSharedChannelCreationEnabled: boolean;
229
+ uploadCustomApp: boolean;
230
+ enableAndDisableApps?: boolean;
231
+ };
232
+ type TeamStatus = {
233
+ exchangeTeamCreationStatus: number;
234
+ sharePointSiteCreationStatus: number;
235
+ teamNotebookCreationStatus?: number;
236
+ };
237
+ type TeamSiteInformation = {
238
+ groupId: string;
239
+ sharepointSiteUrl: string;
240
+ notebookId?: string;
241
+ isOneNoteProvisioned?: boolean;
242
+ };
243
+ type MembershipSummary = {
244
+ botCount: number;
245
+ mutedMembersCount: number;
246
+ totalMemberCount: number;
247
+ adminRoleCount?: number;
248
+ userRoleCount?: number;
249
+ };
250
+ type ExtensionDefinition = {
251
+ updatedTime: string;
252
+ tabsEtag: unknown | null;
253
+ };
254
+ type ClassSettings = {
255
+ guardianAssignmentEmail: boolean;
256
+ };
257
+ type ChannelSettings = {
258
+ channelPostPermissions: number;
259
+ channelReplyPermissions: number;
260
+ channelPinPostPermissions: number;
261
+ channelBotsPostPermissions: number;
262
+ channelConnectorsPostPermissions: number;
263
+ memberSettings?: MemberSettings;
264
+ guestSettings?: MemberSettings;
265
+ };
266
+ type MemberSettings = {
267
+ createTab: boolean;
268
+ deleteTab: boolean;
269
+ createIntegration: boolean;
270
+ updateIntegration: boolean;
271
+ deleteIntegration: boolean;
272
+ giphyEnabled: boolean;
273
+ stickersEnabled: boolean;
274
+ giphyRating: number;
275
+ customMemesEnabled: boolean;
276
+ teamMemesEnabled: boolean;
277
+ editChannelTopic: boolean;
278
+ teamMention: boolean;
279
+ channelMention: boolean;
280
+ adminDeleteEnabled: boolean;
281
+ deleteEnabled: boolean;
282
+ editEnabled: boolean;
283
+ installApp: boolean;
284
+ uninstallApp: boolean;
285
+ enableAndDisableApps: boolean;
286
+ };
287
+ type ShareWithParentSpaces = {
288
+ linkedSpaceInfoItems: LinkedSpaceInfoItem[];
289
+ };
290
+ type LinkedSpaceInfoItem = {
291
+ spaceThreadId: string;
292
+ role: number;
293
+ linkState: number;
294
+ };
295
+ type Tab = {
296
+ id: string;
297
+ name: string;
298
+ definitionId: string;
299
+ directive: string;
300
+ tabType: string;
301
+ order: number;
302
+ replyChainId: number;
303
+ settings: TabSettings;
304
+ };
305
+ type TabSettings = {
306
+ subtype: string;
307
+ url: string;
308
+ websiteUrl: string;
309
+ entityId: string;
310
+ dateAdded: string;
311
+ removeUrl?: string | null;
312
+ };
313
+ type ConnectorProfile = {
314
+ avatarUrl: string;
315
+ displayName: string;
316
+ incomingUrl: string | null;
317
+ connectorType: string;
318
+ id: string;
319
+ };
320
+ type Message = {
321
+ messageType: string | null;
322
+ content: string | null;
323
+ clientMessageId: string | null;
324
+ fromFamilyNameInToken: string | null;
325
+ fromGivenNameInToken: string | null;
326
+ fromDisplayNameInToken: string | null;
327
+ imDisplayName: string | null;
328
+ id: string | null;
329
+ type: string | null;
330
+ composeTime: string | null;
331
+ originalArrivalTime: string | null;
332
+ containerId: string | null;
333
+ parentMessageId: string | null;
334
+ from: string | null;
335
+ sequenceId: number;
336
+ version: number;
337
+ threadType: string | null;
338
+ isEscalationToNewPerson: boolean;
339
+ };
340
+ type ChatThread = {
341
+ id: string;
342
+ consumptionHorizon: ConsumptionHorizon;
343
+ lastRcMetadataVersion: number;
344
+ lastL2MessageIdNFS: number;
345
+ retentionHorizon: unknown | null;
346
+ retentionHorizonV2: unknown | null;
347
+ members: ChatMember[];
348
+ title: string | null;
349
+ version: number;
350
+ threadVersion: number | string;
351
+ threadType: string;
352
+ isEmptyConversation: boolean;
353
+ isRead: boolean;
354
+ isHighImportance: boolean;
355
+ isOneOnOne: boolean;
356
+ lastMessage: Message;
357
+ isLastMessageFromMe: boolean;
358
+ chatSubType: number;
359
+ lastJoinAt: string;
360
+ createdAt: string;
361
+ creator: string;
362
+ tenantId: string;
363
+ hidden: boolean;
364
+ isGapDetectionEnabled: boolean;
365
+ interopType: number;
366
+ isConversationDeleted: boolean;
367
+ isExternal: boolean;
368
+ addedBy: string;
369
+ addedByTenantId: string;
370
+ isMessagingDisabled: boolean;
371
+ isDisabled: boolean;
372
+ importState: string;
373
+ chatType: string;
374
+ interopConversationStatus: string;
375
+ conversationBlockedAt: number;
376
+ hasTranscript: boolean;
377
+ templateType: string;
378
+ isMigrated: boolean;
379
+ isSticky: boolean;
380
+ isSmsThread: boolean;
381
+ meetingPolicy: string;
382
+ rosterVersion: number;
383
+ identityMaskEnabled: boolean;
384
+ isLiveChatEnabled: boolean;
385
+ fileReferences: Record<string, unknown>;
386
+ productContext?: string;
387
+ lastImportantMessageTime?: string;
388
+ relationshipState?: {
389
+ inQuarantine: boolean;
390
+ };
391
+ quickReplyAugmentation?: QuickReplyAugmentation;
392
+ };
393
+ type ChatMember = {
394
+ isMuted: boolean;
395
+ mri: string;
396
+ objectId: string;
397
+ role: string;
398
+ isIdentityMasked: boolean;
399
+ };
400
+ type QuickReplyAugmentation = {
401
+ suggestedActivities: SuggestedActivity[];
402
+ };
403
+ type SuggestedActivity = {
404
+ type: string;
405
+ suggestedActions: {
406
+ actions: SuggestedAction[];
407
+ };
408
+ id: string;
409
+ timestamp: string;
410
+ from: {
411
+ id: string;
412
+ name: string;
413
+ };
414
+ conversation: {
415
+ isGroup: boolean;
416
+ id: string;
417
+ };
418
+ replyToId: string;
419
+ };
420
+ type SuggestedAction = {
421
+ type: string;
422
+ title: string;
423
+ value: string;
424
+ channelData: {
425
+ type: string;
426
+ device: string;
427
+ id: string;
428
+ utcTime: string;
429
+ targetMessageId: string;
430
+ };
431
+ };
432
+ type PrivateFeed = {
433
+ id: string;
434
+ type: string;
435
+ version: number;
436
+ properties: Record<string, string>;
437
+ lastMessage: Message;
438
+ messages: string;
439
+ threadType: string;
440
+ isEmptyConversation: boolean;
441
+ targetLink: string;
442
+ streamType: string;
443
+ };
444
+ type SyncMetadata = {
445
+ syncToken: string;
446
+ forwardSyncToken: string | null;
447
+ isPartialData: boolean;
448
+ hasMoreChats: boolean;
449
+ coldBootTime: number;
450
+ };
451
+ type PinnedChannelsResponse = {
452
+ orderVersion: 1746834948329;
453
+ pinChannelOrder: string[];
454
+ };
455
+ type ConversationMessagesOptions = {
456
+ view?: string;
457
+ pageSize?: number;
458
+ startTime?: number;
459
+ syncState?: string;
460
+ endTime?: number;
461
+ draftVersion?: string;
462
+ };
463
+ type ConversationMessagesResponse = {
464
+ messages: ConversationMessage[];
465
+ tenantId?: string;
466
+ _metadata?: ConversationMessagesMetadata;
467
+ [key: string]: unknown;
468
+ };
469
+ type ConversationMessagesMetadata = {
470
+ lastCompleteSegmentStartTime?: number;
471
+ lastCompleteSegmentEndTime?: number;
472
+ syncState?: string;
473
+ [key: string]: unknown;
474
+ };
475
+ type ConversationMessage = {
476
+ sequenceId?: number;
477
+ conversationid?: string;
478
+ conversationLink?: string;
479
+ contenttype?: string;
480
+ type?: string;
481
+ s2spartnername?: string;
482
+ clumpId?: string;
483
+ secondaryReferenceId?: string;
484
+ id?: string;
485
+ clientmessageid?: string;
486
+ version?: string;
487
+ messagetype?: string;
488
+ content?: string;
489
+ from?: string;
490
+ imdisplayname?: string;
491
+ prioritizeImDisplayName?: boolean;
492
+ composetime?: string;
493
+ originalarrivaltime?: string;
494
+ properties?: ConversationMessageProperties;
495
+ [key: string]: unknown;
496
+ };
497
+ type ConversationMessageProperties = {
498
+ activity?: ConversationActivity;
499
+ messageUpdatePolicyValue?: number;
500
+ isread?: boolean | string;
501
+ s2spartnername?: string;
502
+ mentions?: string;
503
+ languageStamp?: string;
504
+ edittime?: number;
505
+ [key: string]: unknown;
506
+ };
507
+ type ConversationActivity = {
508
+ activityType?: string;
509
+ activitySubtype?: string;
510
+ activityTimestamp?: string;
511
+ activityId?: number;
512
+ sourceThreadId?: string;
513
+ sourceMessageId?: number;
514
+ sourceMessageVersion?: number;
515
+ sourceReplyChainId?: number;
516
+ sourceUserId?: string;
517
+ sourceUserImDisplayName?: string;
518
+ targetUserId?: string;
519
+ targetThreadId?: string;
520
+ messagePreview?: string;
521
+ messagePreviewTemplateOption?: string;
522
+ activityContext?: Record<string, unknown>;
523
+ sourceThreadTopic?: string;
524
+ sourceThreadRosterNonBotMemberCount?: number;
525
+ sourceThreadIsPrivateChannel?: boolean | string;
526
+ [key: string]: unknown;
527
+ };
528
+ type ChannelPostsResponse = {
529
+ replyChains: ChannelReplyChain[];
530
+ hasMore: boolean;
531
+ lastModifiedTimeOfLastReturnedReplyChain: string | null;
532
+ channelTenantId: string;
533
+ };
534
+ type ChannelReplyChain = {
535
+ containerId: string;
536
+ id: string;
537
+ latestDeliveryTime: string;
538
+ messages?: ChannelPostMessage[];
539
+ replies?: ChannelPostMessage[];
540
+ message?: ChannelPostMessage;
541
+ };
542
+ type ChannelPostMessage = Message & {
543
+ properties?: ChannelPostMessageProperties;
544
+ annotationsHint?: {
545
+ annotationsHintType?: string;
546
+ annotationsHint?: string;
547
+ hashfunctionId?: string;
548
+ numberOfHashfunction?: number;
549
+ };
550
+ annotationsSummary?: Record<string, unknown>;
551
+ };
552
+ type ChannelPostMessageProperties = {
553
+ mentions?: unknown[] | string;
554
+ cards?: string;
555
+ importance?: string;
556
+ subject?: string;
557
+ title?: string;
558
+ links?: string;
559
+ files?: string;
560
+ formatVariant?: string;
561
+ languageStamp?: string;
562
+ emotions?: unknown[];
563
+ ams_references?: unknown[];
564
+ [key: string]: unknown;
565
+ };
566
+ type FetchShortProfileResponse = {
567
+ type: 'Microsoft.SkypeSpaces.MiddleTier.Models.IUserIdentity';
568
+ value: ShortProfileUser[];
569
+ };
570
+ type ShortProfileUser = {
571
+ userPrincipalName?: string;
572
+ givenName?: string;
573
+ surname?: string;
574
+ jobTitle?: string;
575
+ department?: string;
576
+ email?: string;
577
+ userType?: string;
578
+ isShortProfile?: boolean;
579
+ tenantName?: string;
580
+ companyName?: string;
581
+ displayName?: string;
582
+ type?: string;
583
+ mri: string;
584
+ objectId?: string;
585
+ };
586
+ //#endregion
587
+ //#region src/rest/routes/channels.d.ts
588
+ type ChannelQueryOptions = {
589
+ pageSize?: number;
590
+ };
591
+ //#endregion
592
+ //#region src/rest/routes/users.d.ts
593
+ type FetchShortProfileOptions = {
594
+ isMailAddress?: boolean;
595
+ skypeTeamsInfo?: boolean;
596
+ canBeSmtpAddress?: boolean;
597
+ includeIBBarredUsers?: boolean;
598
+ includeDisabledAccounts?: boolean;
599
+ };
600
+ //#endregion
601
+ //#region src/client/TeamsClient.d.ts
602
+ interface TeamsConversationsAPI {
603
+ fetchMessages(conversationId: string, options?: ConversationMessagesOptions): Promise<ConversationMessagesResponse>;
604
+ }
605
+ interface TeamsNotificationsAPI {
606
+ fetchMessages(options?: ConversationMessagesOptions): Promise<ConversationMessagesResponse>;
607
+ fetchMentions(options?: ConversationMessagesOptions): Promise<ConversationMessagesResponse>;
608
+ fetchAnnotations(options?: ConversationMessagesOptions): Promise<ConversationMessagesResponse>;
609
+ }
610
+ interface TeamsChannelsAPI {
611
+ fetch(teamId: string, channelId: string, options?: ChannelQueryOptions): Promise<ChannelPostsResponse>;
612
+ fetchMessages(teamId: string, channelId: string, options?: ChannelQueryOptions): Promise<ChannelPostMessage[]>;
613
+ }
614
+ interface TeamsUsersMeAPI {
615
+ fetch(): Promise<TeamsExport>;
616
+ fetchPinnedChannels(): Promise<PinnedChannelsResponse>;
617
+ }
618
+ interface TeamsUsersAPI {
619
+ fetchShortProfile(mriOrEmailArray: string[], options?: FetchShortProfileOptions): Promise<ShortProfileUser[]>;
620
+ me: TeamsUsersMeAPI;
621
+ }
622
+ interface TeamsClientTeamsAPI {
623
+ conversations: TeamsConversationsAPI;
624
+ notifications: TeamsNotificationsAPI;
625
+ channels: TeamsChannelsAPI;
626
+ users: TeamsUsersAPI;
627
+ }
628
+ declare class TeamsClient {
629
+ readonly rest: RestClient;
630
+ readonly teams: TeamsClientTeamsAPI;
631
+ constructor(tokenProvider: ScopeTokenProvider);
632
+ private fetchConversationMessages;
633
+ private fetchChannel;
634
+ private fetchChannelMessages;
635
+ private fetchShortProfile;
636
+ private fetchCurrentUser;
637
+ private fetchPinnedChannels;
638
+ }
639
+ //#endregion
640
+ export { Channel, ChannelPostMessage, ChannelPostMessageProperties, ChannelPostsResponse, type ChannelQueryOptions, ChannelReplyChain, ChannelSettings, ChatMember, ChatThread, ClassSettings, ConnectorProfile, ConsumptionHorizon, ConversationActivity, ConversationFolder, ConversationFolderItem, ConversationFoldersRoot, ConversationMessage, ConversationMessageProperties, ConversationMessagesMetadata, ConversationMessagesOptions, ConversationMessagesResponse, DefaultFileSettings, ExtensionDefinition, type FetchShortProfileOptions, FetchShortProfileResponse, LinkedSpaceInfoItem, MemberSettings, MembershipSummary, Message, PinnedChannelsResponse, PrivateFeed, QuickReplyAugmentation, type ScopeTokenProvider, ShareWithParentSpaces, ShortProfileUser, SliceMetadata, SuggestedAction, SuggestedActivity, SupportedSlicesMetadata, SyncMetadata, Tab, TabSettings, Team, TeamSettings, TeamSiteInformation, TeamStatus, type TeamsChannelsAPI, TeamsClient, type TeamsClientTeamsAPI, type TeamsConversationsAPI, TeamsExport, type TeamsNotificationsAPI, type TeamsUsersAPI, type TeamsUsersMeAPI, TokenManager };
package/dist/index.mjs ADDED
@@ -0,0 +1,3 @@
1
+ import { n as TokenManager, t as TeamsClient } from "./TeamsClient-D4-exLIC.mjs";
2
+
3
+ export { TeamsClient, TokenManager };
package/package.json ADDED
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "msteams",
3
+ "private": false,
4
+ "version": "0.1.0",
5
+ "files": [
6
+ "dist"
7
+ ],
8
+ "license": "MIT",
9
+ "bin": {
10
+ "teams": "dist/cli/index.mjs"
11
+ },
12
+ "exports": {
13
+ ".": {
14
+ "import": "./dist/index.mjs",
15
+ "types": "./dist/index.d.mts"
16
+ }
17
+ },
18
+ "type": "module",
19
+ "scripts": {
20
+ "cli": "bun run src/cli/index.ts",
21
+ "teams": "bun run src/cli/index.ts",
22
+ "build": "vp pack",
23
+ "fmt": "vp fmt"
24
+ },
25
+ "devDependencies": {
26
+ "@types/bun": "latest",
27
+ "vite-plus": "^0.0.0-g52709db6.20260226-1136"
28
+ },
29
+ "peerDependencies": {
30
+ "typescript": "^5"
31
+ }
32
+ }