microsoft-graph-client 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/dist/api/base.d.ts +10 -0
  2. package/dist/api/base.d.ts.map +1 -0
  3. package/dist/api/base.js +11 -0
  4. package/dist/api/base.js.map +1 -0
  5. package/dist/api/calendar.d.ts +24 -0
  6. package/dist/api/calendar.d.ts.map +1 -0
  7. package/dist/api/calendar.js +117 -0
  8. package/dist/api/calendar.js.map +1 -0
  9. package/dist/api/chats.d.ts +20 -0
  10. package/dist/api/chats.d.ts.map +1 -0
  11. package/dist/api/chats.js +71 -0
  12. package/dist/api/chats.js.map +1 -0
  13. package/dist/api/files.d.ts +24 -0
  14. package/dist/api/files.d.ts.map +1 -0
  15. package/dist/api/files.js +77 -0
  16. package/dist/api/files.js.map +1 -0
  17. package/dist/api/index.d.ts +9 -0
  18. package/dist/api/index.d.ts.map +1 -0
  19. package/dist/api/index.js +9 -0
  20. package/dist/api/index.js.map +1 -0
  21. package/dist/api/mail.d.ts +16 -0
  22. package/dist/api/mail.d.ts.map +1 -0
  23. package/dist/api/mail.js +74 -0
  24. package/dist/api/mail.js.map +1 -0
  25. package/dist/api/messages.d.ts +36 -0
  26. package/dist/api/messages.d.ts.map +1 -0
  27. package/dist/api/messages.js +227 -0
  28. package/dist/api/messages.js.map +1 -0
  29. package/dist/api/transcripts.d.ts +20 -0
  30. package/dist/api/transcripts.d.ts.map +1 -0
  31. package/dist/api/transcripts.js +53 -0
  32. package/dist/api/transcripts.js.map +1 -0
  33. package/dist/api/users.d.ts +25 -0
  34. package/dist/api/users.d.ts.map +1 -0
  35. package/dist/api/users.js +39 -0
  36. package/dist/api/users.js.map +1 -0
  37. package/dist/auth/authenticator.d.ts +48 -0
  38. package/dist/auth/authenticator.d.ts.map +1 -0
  39. package/dist/auth/authenticator.js +159 -0
  40. package/dist/auth/authenticator.js.map +1 -0
  41. package/dist/auth/index.d.ts +2 -0
  42. package/dist/auth/index.d.ts.map +1 -0
  43. package/dist/auth/index.js +2 -0
  44. package/dist/auth/index.js.map +1 -0
  45. package/dist/client.d.ts +100 -0
  46. package/dist/client.d.ts.map +1 -0
  47. package/dist/client.js +161 -0
  48. package/dist/client.js.map +1 -0
  49. package/dist/index.d.ts +9 -0
  50. package/dist/index.d.ts.map +1 -0
  51. package/dist/index.js +10 -0
  52. package/dist/index.js.map +1 -0
  53. package/dist/types/calendar.d.ts +42 -0
  54. package/dist/types/calendar.d.ts.map +1 -0
  55. package/dist/types/calendar.js +2 -0
  56. package/dist/types/calendar.js.map +1 -0
  57. package/dist/types/chat.d.ts +21 -0
  58. package/dist/types/chat.d.ts.map +1 -0
  59. package/dist/types/chat.js +2 -0
  60. package/dist/types/chat.js.map +1 -0
  61. package/dist/types/common.d.ts +77 -0
  62. package/dist/types/common.d.ts.map +1 -0
  63. package/dist/types/common.js +19 -0
  64. package/dist/types/common.js.map +1 -0
  65. package/dist/types/file.d.ts +34 -0
  66. package/dist/types/file.d.ts.map +1 -0
  67. package/dist/types/file.js +5 -0
  68. package/dist/types/file.js.map +1 -0
  69. package/dist/types/index.d.ts +11 -0
  70. package/dist/types/index.d.ts.map +1 -0
  71. package/dist/types/index.js +2 -0
  72. package/dist/types/index.js.map +1 -0
  73. package/dist/types/mail.d.ts +25 -0
  74. package/dist/types/mail.d.ts.map +1 -0
  75. package/dist/types/mail.js +2 -0
  76. package/dist/types/mail.js.map +1 -0
  77. package/dist/types/message.d.ts +90 -0
  78. package/dist/types/message.d.ts.map +1 -0
  79. package/dist/types/message.js +2 -0
  80. package/dist/types/message.js.map +1 -0
  81. package/dist/types/presence.d.ts +15 -0
  82. package/dist/types/presence.d.ts.map +1 -0
  83. package/dist/types/presence.js +5 -0
  84. package/dist/types/presence.js.map +1 -0
  85. package/dist/types/transcript.d.ts +12 -0
  86. package/dist/types/transcript.d.ts.map +1 -0
  87. package/dist/types/transcript.js +2 -0
  88. package/dist/types/transcript.js.map +1 -0
  89. package/dist/types/user.d.ts +9 -0
  90. package/dist/types/user.d.ts.map +1 -0
  91. package/dist/types/user.js +2 -0
  92. package/dist/types/user.js.map +1 -0
  93. package/dist/utils/index.d.ts +7 -0
  94. package/dist/utils/index.d.ts.map +1 -0
  95. package/dist/utils/index.js +6 -0
  96. package/dist/utils/index.js.map +1 -0
  97. package/dist/utils/markdown.d.ts +13 -0
  98. package/dist/utils/markdown.d.ts.map +1 -0
  99. package/dist/utils/markdown.js +106 -0
  100. package/dist/utils/markdown.js.map +1 -0
  101. package/dist/utils/odata.d.ts +17 -0
  102. package/dist/utils/odata.d.ts.map +1 -0
  103. package/dist/utils/odata.js +19 -0
  104. package/dist/utils/odata.js.map +1 -0
  105. package/dist/utils/sharepoint.d.ts +11 -0
  106. package/dist/utils/sharepoint.d.ts.map +1 -0
  107. package/dist/utils/sharepoint.js +17 -0
  108. package/dist/utils/sharepoint.js.map +1 -0
  109. package/dist/utils/teams.d.ts +34 -0
  110. package/dist/utils/teams.d.ts.map +1 -0
  111. package/dist/utils/teams.js +67 -0
  112. package/dist/utils/teams.js.map +1 -0
  113. package/dist/utils/vtt.d.ts +7 -0
  114. package/dist/utils/vtt.d.ts.map +1 -0
  115. package/dist/utils/vtt.js +43 -0
  116. package/dist/utils/vtt.js.map +1 -0
  117. package/package.json +54 -0
@@ -0,0 +1,90 @@
1
+ export type { ChatMessage, ChatMessageAttachment, ChatMessageImportance, ChatMessageInfo, ChatMessageMention, ItemBody, } from '@microsoft/microsoft-graph-types';
2
+ export interface SearchRequest {
3
+ entityTypes: string[];
4
+ query: {
5
+ queryString: string;
6
+ };
7
+ from?: number;
8
+ size?: number;
9
+ enableTopResults?: boolean;
10
+ }
11
+ export interface SearchResponse {
12
+ value: SearchResult[];
13
+ }
14
+ export interface SearchResult {
15
+ searchTerms: string[];
16
+ hitsContainers: SearchHitsContainer[];
17
+ }
18
+ export interface SearchHitsContainer {
19
+ hits: SearchHit[];
20
+ total: number;
21
+ moreResultsAvailable: boolean;
22
+ }
23
+ export interface SearchHit {
24
+ hitId: string;
25
+ rank: number;
26
+ summary: string;
27
+ resource: {
28
+ '@odata.type': string;
29
+ id: string;
30
+ createdDateTime?: string;
31
+ lastModifiedDateTime?: string;
32
+ from?: {
33
+ emailAddress?: {
34
+ name?: string;
35
+ address?: string;
36
+ };
37
+ };
38
+ subject?: string;
39
+ chatId?: string;
40
+ channelIdentity?: {
41
+ teamId?: string;
42
+ channelId?: string;
43
+ };
44
+ };
45
+ }
46
+ export interface GetChatMessagesParams {
47
+ chatId: string;
48
+ limit?: number;
49
+ /** ISO datetime filter - messages after this time */
50
+ from?: string;
51
+ /** ISO datetime filter - messages before this time */
52
+ to?: string;
53
+ /** Filter by sender user ID */
54
+ fromUser?: string;
55
+ }
56
+ export interface SendChatMessageParams {
57
+ chatId: string;
58
+ message: string;
59
+ importance?: 'normal' | 'high' | 'urgent';
60
+ format?: 'text' | 'markdown';
61
+ replyToId?: string;
62
+ attachments?: string[];
63
+ }
64
+ export interface UpdateChatMessageParams {
65
+ chatId: string;
66
+ messageId: string;
67
+ message: string;
68
+ importance?: 'normal' | 'high' | 'urgent';
69
+ format?: 'text' | 'markdown';
70
+ }
71
+ export interface SearchMessagesParams {
72
+ query?: string;
73
+ scope?: 'all' | 'channels' | 'chats';
74
+ limit?: number;
75
+ enableTopResults?: boolean;
76
+ mentions?: string;
77
+ from?: string;
78
+ fromUser?: string;
79
+ }
80
+ export interface SetMessageReactionParams {
81
+ chatId: string;
82
+ messageId: string;
83
+ reactionType: string;
84
+ }
85
+ export interface UnsetMessageReactionParams {
86
+ chatId: string;
87
+ messageId: string;
88
+ reactionType: string;
89
+ }
90
+ //# sourceMappingURL=message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/types/message.ts"],"names":[],"mappings":"AACA,YAAY,EACV,WAAW,EACX,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,QAAQ,GACT,MAAM,kCAAkC,CAAC;AAM1C,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,cAAc,EAAE,mBAAmB,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE;QACR,aAAa,EAAE,MAAM,CAAC;QACtB,EAAE,EAAE,MAAM,CAAC;QACX,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,IAAI,CAAC,EAAE;YACL,YAAY,CAAC,EAAE;gBACb,IAAI,CAAC,EAAE,MAAM,CAAC;gBACd,OAAO,CAAC,EAAE,MAAM,CAAC;aAClB,CAAC;SACH,CAAC;QACF,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,eAAe,CAAC,EAAE;YAChB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,SAAS,CAAC,EAAE,MAAM,CAAC;SACpB,CAAC;KACH,CAAC;CACH;AAMD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC1C,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC1C,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,OAAO,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/types/message.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ export type PresenceAvailability = 'Available' | 'Away' | 'BeRightBack' | 'Busy' | 'DoNotDisturb' | 'InACall' | 'InAMeeting' | 'Offline' | 'PresenceUnknown' | 'Presenting';
2
+ export type PreferredPresenceAvailability = 'Available' | 'Away' | 'BeRightBack' | 'Busy' | 'DoNotDisturb' | 'Offline';
3
+ export interface SetPresenceParams {
4
+ availability: PresenceAvailability;
5
+ activity?: PresenceAvailability;
6
+ /** ISO 8601 duration (e.g., 'PT1H' for 1 hour) */
7
+ expirationDuration?: string;
8
+ }
9
+ export interface SetPreferredPresenceParams {
10
+ availability: PreferredPresenceAvailability;
11
+ activity?: PreferredPresenceAvailability;
12
+ /** ISO 8601 duration (e.g., 'PT8H' for 8 hours) */
13
+ expirationDuration?: string;
14
+ }
15
+ //# sourceMappingURL=presence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presence.d.ts","sourceRoot":"","sources":["../../src/types/presence.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,oBAAoB,GAC5B,WAAW,GACX,MAAM,GACN,aAAa,GACb,MAAM,GACN,cAAc,GACd,SAAS,GACT,YAAY,GACZ,SAAS,GACT,iBAAiB,GACjB,YAAY,CAAC;AAEjB,MAAM,MAAM,6BAA6B,GAAG,WAAW,GAAG,MAAM,GAAG,aAAa,GAAG,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;AAMvH,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,oBAAoB,CAAC;IACnC,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,kDAAkD;IAClD,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,0BAA0B;IACzC,YAAY,EAAE,6BAA6B,CAAC;IAC5C,QAAQ,CAAC,EAAE,6BAA6B,CAAC;IACzC,mDAAmD;IACnD,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B"}
@@ -0,0 +1,5 @@
1
+ // =============================================================================
2
+ // Presence Types
3
+ // =============================================================================
4
+ export {};
5
+ //# sourceMappingURL=presence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presence.js","sourceRoot":"","sources":["../../src/types/presence.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF"}
@@ -0,0 +1,12 @@
1
+ export type { CallTranscript, OnlineMeeting } from '@microsoft/microsoft-graph-types';
2
+ export interface GetMeetingByJoinUrlParams {
3
+ joinWebUrl: string;
4
+ }
5
+ export interface ListTranscriptsParams {
6
+ meetingId: string;
7
+ }
8
+ export interface GetTranscriptContentParams {
9
+ meetingId: string;
10
+ transcriptId: string;
11
+ }
12
+ //# sourceMappingURL=transcript.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transcript.d.ts","sourceRoot":"","sources":["../../src/types/transcript.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAMtF,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=transcript.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transcript.js","sourceRoot":"","sources":["../../src/types/transcript.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ export type { User } from '@microsoft/microsoft-graph-types';
2
+ export interface GetUserParams {
3
+ userId: string;
4
+ }
5
+ export interface SearchUsersParams {
6
+ query: string;
7
+ limit?: number;
8
+ }
9
+ //# sourceMappingURL=user.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../src/types/user.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AAM7D,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/types/user.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ export { markdownToHtml, sanitizeHtml } from './markdown.js';
2
+ export { escapeODataString } from './odata.js';
3
+ export { encodeSharePointUrl } from './sharepoint.js';
4
+ export { extractChatIdFromJoinUrl, extractMeetingInfoFromJoinUrl } from './teams.js';
5
+ export type { MeetingInfo } from './teams.js';
6
+ export { parseVttToText } from './vtt.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AACrF,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { markdownToHtml, sanitizeHtml } from './markdown.js';
2
+ export { escapeODataString } from './odata.js';
3
+ export { encodeSharePointUrl } from './sharepoint.js';
4
+ export { extractChatIdFromJoinUrl, extractMeetingInfoFromJoinUrl } from './teams.js';
5
+ export { parseVttToText } from './vtt.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAErF,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Converts Markdown text to sanitized HTML suitable for Microsoft Teams.
3
+ * @param markdown The markdown text to convert
4
+ * @returns Sanitized HTML string
5
+ */
6
+ export declare function markdownToHtml(markdown: string): Promise<string>;
7
+ /**
8
+ * Basic HTML sanitization for user-provided HTML content.
9
+ * @param html The HTML content to sanitize
10
+ * @returns Sanitized HTML string
11
+ */
12
+ export declare function sanitizeHtml(html: string): string;
13
+ //# sourceMappingURL=markdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/utils/markdown.ts"],"names":[],"mappings":"AAgBA;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA4CtE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAsCjD"}
@@ -0,0 +1,106 @@
1
+ import DOMPurify from 'dompurify';
2
+ import { JSDOM } from 'jsdom';
3
+ import { marked } from 'marked';
4
+ // Create a JSDOM window for DOMPurify in Node.js environment
5
+ const jsdomWindow = new JSDOM('').window;
6
+ // DOMPurify requires a Window-like object, JSDOM provides compatible interface
7
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-argument
8
+ const createDOMPurify = DOMPurify(jsdomWindow);
9
+ // Configure marked for Teams compatibility
10
+ marked.setOptions({
11
+ gfm: true, // GitHub Flavored Markdown
12
+ breaks: true, // Convert \n to <br>
13
+ });
14
+ /**
15
+ * Converts Markdown text to sanitized HTML suitable for Microsoft Teams.
16
+ * @param markdown The markdown text to convert
17
+ * @returns Sanitized HTML string
18
+ */
19
+ export async function markdownToHtml(markdown) {
20
+ // Convert Markdown to HTML
21
+ const rawHtml = await marked(markdown);
22
+ // Sanitize HTML for security - allow common formatting tags safe for Teams
23
+ const cleanHtml = createDOMPurify.sanitize(rawHtml, {
24
+ ALLOWED_TAGS: [
25
+ 'at', // Teams mentions
26
+ 'p',
27
+ 'br',
28
+ 'strong',
29
+ 'em',
30
+ 'b',
31
+ 'i',
32
+ 'u',
33
+ 's',
34
+ 'del',
35
+ 'a',
36
+ 'ul',
37
+ 'ol',
38
+ 'li',
39
+ 'h1',
40
+ 'h2',
41
+ 'h3',
42
+ 'h4',
43
+ 'h5',
44
+ 'h6',
45
+ 'blockquote',
46
+ 'code',
47
+ 'pre',
48
+ 'hr',
49
+ 'table',
50
+ 'thead',
51
+ 'tbody',
52
+ 'tr',
53
+ 'th',
54
+ 'td',
55
+ 'img',
56
+ 'span',
57
+ ],
58
+ ALLOWED_ATTR: ['href', 'target', 'src', 'alt', 'title', 'width', 'height', 'style', 'id'],
59
+ });
60
+ return cleanHtml;
61
+ }
62
+ /**
63
+ * Basic HTML sanitization for user-provided HTML content.
64
+ * @param html The HTML content to sanitize
65
+ * @returns Sanitized HTML string
66
+ */
67
+ export function sanitizeHtml(html) {
68
+ return createDOMPurify.sanitize(html, {
69
+ ALLOWED_TAGS: [
70
+ 'at', // Teams mentions
71
+ 'p',
72
+ 'br',
73
+ 'strong',
74
+ 'em',
75
+ 'b',
76
+ 'i',
77
+ 'u',
78
+ 's',
79
+ 'del',
80
+ 'a',
81
+ 'ul',
82
+ 'ol',
83
+ 'li',
84
+ 'h1',
85
+ 'h2',
86
+ 'h3',
87
+ 'h4',
88
+ 'h5',
89
+ 'h6',
90
+ 'blockquote',
91
+ 'code',
92
+ 'pre',
93
+ 'hr',
94
+ 'table',
95
+ 'thead',
96
+ 'tbody',
97
+ 'tr',
98
+ 'th',
99
+ 'td',
100
+ 'img',
101
+ 'span',
102
+ ],
103
+ ALLOWED_ATTR: ['href', 'target', 'src', 'alt', 'title', 'width', 'height', 'style', 'id'],
104
+ });
105
+ }
106
+ //# sourceMappingURL=markdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/utils/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,6DAA6D;AAC7D,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;AACzC,+EAA+E;AAC/E,qGAAqG;AACrG,MAAM,eAAe,GAAG,SAAS,CAAC,WAAkB,CAAC,CAAC;AAEtD,2CAA2C;AAC3C,MAAM,CAAC,UAAU,CAAC;IAChB,GAAG,EAAE,IAAI,EAAE,2BAA2B;IACtC,MAAM,EAAE,IAAI,EAAE,qBAAqB;CACpC,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAgB;IACnD,2BAA2B;IAC3B,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEvC,2EAA2E;IAC3E,MAAM,SAAS,GAAG,eAAe,CAAC,QAAQ,CAAC,OAAO,EAAE;QAClD,YAAY,EAAE;YACZ,IAAI,EAAE,iBAAiB;YACvB,GAAG;YACH,IAAI;YACJ,QAAQ;YACR,IAAI;YACJ,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,KAAK;YACL,GAAG;YACH,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,YAAY;YACZ,MAAM;YACN,KAAK;YACL,IAAI;YACJ,OAAO;YACP,OAAO;YACP,OAAO;YACP,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,KAAK;YACL,MAAM;SACP;QACD,YAAY,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC;KAC1F,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,eAAe,CAAC,QAAQ,CAAC,IAAI,EAAE;QACpC,YAAY,EAAE;YACZ,IAAI,EAAE,iBAAiB;YACvB,GAAG;YACH,IAAI;YACJ,QAAQ;YACR,IAAI;YACJ,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,KAAK;YACL,GAAG;YACH,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,YAAY;YACZ,MAAM;YACN,KAAK;YACL,IAAI;YACJ,OAAO;YACP,OAAO;YACP,OAAO;YACP,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,KAAK;YACL,MAAM;SACP;QACD,YAAY,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC;KAC1F,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Utilities for working with OData queries
3
+ */
4
+ /**
5
+ * Escapes a string for use in OData filter expressions.
6
+ * Single quotes are escaped by doubling them (' → '').
7
+ *
8
+ * @param value - The string to escape
9
+ * @returns The escaped string safe for OData filters
10
+ *
11
+ * @example
12
+ * // "Let's Talk" → "Let''s Talk"
13
+ * const escaped = escapeODataString("Let's Talk");
14
+ * const filter = `contains(topic, '${escaped}')`;
15
+ */
16
+ export declare function escapeODataString(value: string): string;
17
+ //# sourceMappingURL=odata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"odata.d.ts","sourceRoot":"","sources":["../../src/utils/odata.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvD"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Utilities for working with OData queries
3
+ */
4
+ /**
5
+ * Escapes a string for use in OData filter expressions.
6
+ * Single quotes are escaped by doubling them (' → '').
7
+ *
8
+ * @param value - The string to escape
9
+ * @returns The escaped string safe for OData filters
10
+ *
11
+ * @example
12
+ * // "Let's Talk" → "Let''s Talk"
13
+ * const escaped = escapeODataString("Let's Talk");
14
+ * const filter = `contains(topic, '${escaped}')`;
15
+ */
16
+ export function escapeODataString(value) {
17
+ return value.replace(/'/g, "''");
18
+ }
19
+ //# sourceMappingURL=odata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"odata.js","sourceRoot":"","sources":["../../src/utils/odata.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACnC,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * SharePoint URL utilities for Microsoft Graph API.
3
+ */
4
+ /**
5
+ * Encode a SharePoint URL for use with the /shares endpoint.
6
+ * Algorithm: "u!" + base64url(url)
7
+ *
8
+ * @see https://learn.microsoft.com/en-us/graph/api/shares-get
9
+ */
10
+ export declare function encodeSharePointUrl(sharepointUrl: string): string;
11
+ //# sourceMappingURL=sharepoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sharepoint.d.ts","sourceRoot":"","sources":["../../src/utils/sharepoint.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAMjE"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * SharePoint URL utilities for Microsoft Graph API.
3
+ */
4
+ /**
5
+ * Encode a SharePoint URL for use with the /shares endpoint.
6
+ * Algorithm: "u!" + base64url(url)
7
+ *
8
+ * @see https://learn.microsoft.com/en-us/graph/api/shares-get
9
+ */
10
+ export function encodeSharePointUrl(sharepointUrl) {
11
+ const base64Value = Buffer.from(sharepointUrl).toString('base64');
12
+ return `u!${base64Value
13
+ .replace(/=+$/, '') // Remove padding
14
+ .replace(/\//g, '_') // Replace / with _
15
+ .replace(/\+/g, '-')}`; // Replace + with -
16
+ }
17
+ //# sourceMappingURL=sharepoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sharepoint.js","sourceRoot":"","sources":["../../src/utils/sharepoint.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,aAAqB;IACvD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAClE,OAAO,KAAK,WAAW;SACpB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,iBAAiB;SACpC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,mBAAmB;SACvC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,mBAAmB;AAC/C,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Utilities for working with Microsoft Teams URLs and IDs
3
+ */
4
+ export interface MeetingInfo {
5
+ meetingId: string;
6
+ chatId: string;
7
+ }
8
+ /**
9
+ * Extracts meetingId and chatId from a Teams meeting join URL.
10
+ *
11
+ * The meetingId is constructed by base64-encoding: "1*{organizerId}*0**{threadId}"
12
+ * The chatId is the threadId extracted from the URL path.
13
+ *
14
+ * @param joinUrl - The Teams meeting join URL (from calendar event or chat)
15
+ * @returns Object containing meetingId and chatId
16
+ * @throws Error if URL cannot be parsed
17
+ *
18
+ * @example
19
+ * const url = "https://teams.microsoft.com/l/meetup-join/19%3ameeting_abc...%40thread.v2/0?context=...";
20
+ * const { meetingId, chatId } = extractMeetingInfoFromJoinUrl(url);
21
+ * // chatId = "19:meeting_abc...@thread.v2"
22
+ * // meetingId = "MSo1NmNh..." (base64 encoded)
23
+ */
24
+ export declare function extractMeetingInfoFromJoinUrl(joinUrl: string): MeetingInfo;
25
+ /**
26
+ * Extracts just the chatId (threadId) from a Teams meeting join URL.
27
+ * Use this when you only need the chatId and don't need to compute meetingId.
28
+ *
29
+ * @param joinUrl - The Teams meeting join URL
30
+ * @returns The chatId (e.g., "19:meeting_...@thread.v2")
31
+ * @throws Error if URL cannot be parsed
32
+ */
33
+ export declare function extractChatIdFromJoinUrl(joinUrl: string): string;
34
+ //# sourceMappingURL=teams.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teams.d.ts","sourceRoot":"","sources":["../../src/utils/teams.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAmC1E;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAOhE"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Utilities for working with Microsoft Teams URLs and IDs
3
+ */
4
+ /**
5
+ * Extracts meetingId and chatId from a Teams meeting join URL.
6
+ *
7
+ * The meetingId is constructed by base64-encoding: "1*{organizerId}*0**{threadId}"
8
+ * The chatId is the threadId extracted from the URL path.
9
+ *
10
+ * @param joinUrl - The Teams meeting join URL (from calendar event or chat)
11
+ * @returns Object containing meetingId and chatId
12
+ * @throws Error if URL cannot be parsed
13
+ *
14
+ * @example
15
+ * const url = "https://teams.microsoft.com/l/meetup-join/19%3ameeting_abc...%40thread.v2/0?context=...";
16
+ * const { meetingId, chatId } = extractMeetingInfoFromJoinUrl(url);
17
+ * // chatId = "19:meeting_abc...@thread.v2"
18
+ * // meetingId = "MSo1NmNh..." (base64 encoded)
19
+ */
20
+ export function extractMeetingInfoFromJoinUrl(joinUrl) {
21
+ // Decode the URL to handle %3a → : and %40 → @
22
+ const decodedUrl = decodeURIComponent(joinUrl);
23
+ // Extract threadId (chatId) from URL path
24
+ // Pattern: /meetup-join/19:meeting_...@thread.v2/
25
+ const threadIdMatch = /meetup-join\/(19:[^/]+)/.exec(decodedUrl);
26
+ if (!threadIdMatch) {
27
+ throw new Error(`Could not extract threadId from join URL: ${joinUrl.substring(0, 100)}...`);
28
+ }
29
+ const chatId = threadIdMatch[1];
30
+ // Extract Oid (organizer ID) from context JSON parameter
31
+ // Pattern: context={"Tid":"...","Oid":"..."}
32
+ const contextMatch = /context=(\{[^}]+\})/.exec(decodedUrl);
33
+ if (!contextMatch) {
34
+ throw new Error(`Could not extract context from join URL: ${joinUrl.substring(0, 100)}...`);
35
+ }
36
+ let context;
37
+ try {
38
+ context = JSON.parse(contextMatch[1]);
39
+ }
40
+ catch {
41
+ throw new Error(`Could not parse context JSON from join URL`);
42
+ }
43
+ if (!context.Oid) {
44
+ throw new Error(`Context missing Oid (organizer ID) in join URL`);
45
+ }
46
+ // Construct meetingId: base64("1*{Oid}*0**{threadId}")
47
+ const meetingIdRaw = `1*${context.Oid}*0**${chatId}`;
48
+ const meetingId = Buffer.from(meetingIdRaw).toString('base64');
49
+ return { meetingId, chatId };
50
+ }
51
+ /**
52
+ * Extracts just the chatId (threadId) from a Teams meeting join URL.
53
+ * Use this when you only need the chatId and don't need to compute meetingId.
54
+ *
55
+ * @param joinUrl - The Teams meeting join URL
56
+ * @returns The chatId (e.g., "19:meeting_...@thread.v2")
57
+ * @throws Error if URL cannot be parsed
58
+ */
59
+ export function extractChatIdFromJoinUrl(joinUrl) {
60
+ const decodedUrl = decodeURIComponent(joinUrl);
61
+ const threadIdMatch = /meetup-join\/(19:[^/]+)/.exec(decodedUrl);
62
+ if (!threadIdMatch) {
63
+ throw new Error(`Could not extract threadId from join URL: ${joinUrl.substring(0, 100)}...`);
64
+ }
65
+ return threadIdMatch[1];
66
+ }
67
+ //# sourceMappingURL=teams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teams.js","sourceRoot":"","sources":["../../src/utils/teams.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,6BAA6B,CAAC,OAAe;IAC3D,+CAA+C;IAC/C,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE/C,0CAA0C;IAC1C,kDAAkD;IAClD,MAAM,aAAa,GAAG,yBAAyB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjE,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,6CAA6C,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IAC/F,CAAC;IACD,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAEhC,yDAAyD;IACzD,6CAA6C;IAC7C,MAAM,YAAY,GAAG,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,4CAA4C,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9F,CAAC;IAED,IAAI,OAAuC,CAAC;IAC5C,IAAI,CAAC;QACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAmC,CAAC;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IAED,uDAAuD;IACvD,MAAM,YAAY,GAAG,KAAK,OAAO,CAAC,GAAG,OAAO,MAAM,EAAE,CAAC;IACrD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAE/D,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AAC/B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAe;IACtD,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,aAAa,GAAG,yBAAyB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjE,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,6CAA6C,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Parse WebVTT transcript to clean text format.
3
+ * Strips timestamps, WEBVTT header, and XML-like voice tags.
4
+ * Consolidates consecutive lines from the same speaker.
5
+ */
6
+ export declare function parseVttToText(vttContent: string): string;
7
+ //# sourceMappingURL=vtt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vtt.d.ts","sourceRoot":"","sources":["../../src/utils/vtt.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CA0CzD"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Parse WebVTT transcript to clean text format.
3
+ * Strips timestamps, WEBVTT header, and XML-like voice tags.
4
+ * Consolidates consecutive lines from the same speaker.
5
+ */
6
+ export function parseVttToText(vttContent) {
7
+ const lines = vttContent.split('\n');
8
+ const entries = [];
9
+ let currentSpeaker = '';
10
+ let currentText = '';
11
+ for (const line of lines) {
12
+ const trimmed = line.trim();
13
+ // Skip empty lines, WEBVTT header, and timestamp lines
14
+ if (!trimmed || trimmed === 'WEBVTT' || /^\d{2}:\d{2}/.test(trimmed)) {
15
+ continue;
16
+ }
17
+ // Parse voice tag: <v Speaker Name>Text</v>
18
+ const voiceMatch = /^<v ([^>]+)>(.+)<\/v>$/.exec(trimmed);
19
+ if (voiceMatch) {
20
+ const speaker = voiceMatch[1];
21
+ const text = voiceMatch[2];
22
+ // If same speaker, append to current text
23
+ if (speaker === currentSpeaker) {
24
+ currentText += ` ${text}`;
25
+ }
26
+ else {
27
+ // Save previous entry if exists
28
+ if (currentSpeaker && currentText) {
29
+ entries.push({ speaker: currentSpeaker, text: currentText.trim() });
30
+ }
31
+ currentSpeaker = speaker;
32
+ currentText = text;
33
+ }
34
+ }
35
+ }
36
+ // Don't forget the last entry
37
+ if (currentSpeaker && currentText) {
38
+ entries.push({ speaker: currentSpeaker, text: currentText.trim() });
39
+ }
40
+ // Format as "Speaker: Text" lines
41
+ return entries.map((e) => `${e.speaker}: ${e.text}`).join('\n\n');
42
+ }
43
+ //# sourceMappingURL=vtt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vtt.js","sourceRoot":"","sources":["../../src/utils/vtt.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,UAAkB;IAC/C,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,OAAO,GAAwC,EAAE,CAAC;IAExD,IAAI,cAAc,GAAG,EAAE,CAAC;IACxB,IAAI,WAAW,GAAG,EAAE,CAAC;IAErB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE5B,uDAAuD;QACvD,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,QAAQ,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACrE,SAAS;QACX,CAAC;QAED,4CAA4C;QAC5C,MAAM,UAAU,GAAG,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAE3B,0CAA0C;YAC1C,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;gBAC/B,WAAW,IAAI,IAAI,IAAI,EAAE,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,gCAAgC;gBAChC,IAAI,cAAc,IAAI,WAAW,EAAE,CAAC;oBAClC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACtE,CAAC;gBACD,cAAc,GAAG,OAAO,CAAC;gBACzB,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,IAAI,cAAc,IAAI,WAAW,EAAE,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,kCAAkC;IAClC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACpE,CAAC"}