@jbctechsolutions/mcp-outlook-mac 1.0.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.
Files changed (235) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +358 -0
  3. package/dist/applescript/account-repository.d.ts +29 -0
  4. package/dist/applescript/account-repository.d.ts.map +1 -0
  5. package/dist/applescript/account-repository.js +34 -0
  6. package/dist/applescript/account-repository.js.map +1 -0
  7. package/dist/applescript/account-scripts.d.ts +22 -0
  8. package/dist/applescript/account-scripts.d.ts.map +1 -0
  9. package/dist/applescript/account-scripts.js +176 -0
  10. package/dist/applescript/account-scripts.js.map +1 -0
  11. package/dist/applescript/calendar-manager.d.ts +45 -0
  12. package/dist/applescript/calendar-manager.d.ts.map +1 -0
  13. package/dist/applescript/calendar-manager.js +88 -0
  14. package/dist/applescript/calendar-manager.js.map +1 -0
  15. package/dist/applescript/calendar-writer.d.ts +38 -0
  16. package/dist/applescript/calendar-writer.d.ts.map +1 -0
  17. package/dist/applescript/calendar-writer.js +90 -0
  18. package/dist/applescript/calendar-writer.js.map +1 -0
  19. package/dist/applescript/content-readers.d.ts +93 -0
  20. package/dist/applescript/content-readers.d.ts.map +1 -0
  21. package/dist/applescript/content-readers.js +299 -0
  22. package/dist/applescript/content-readers.js.map +1 -0
  23. package/dist/applescript/executor.d.ts +62 -0
  24. package/dist/applescript/executor.d.ts.map +1 -0
  25. package/dist/applescript/executor.js +164 -0
  26. package/dist/applescript/executor.js.map +1 -0
  27. package/dist/applescript/index.d.ts +16 -0
  28. package/dist/applescript/index.d.ts.map +1 -0
  29. package/dist/applescript/index.js +25 -0
  30. package/dist/applescript/index.js.map +1 -0
  31. package/dist/applescript/mail-sender.d.ts +30 -0
  32. package/dist/applescript/mail-sender.d.ts.map +1 -0
  33. package/dist/applescript/mail-sender.js +53 -0
  34. package/dist/applescript/mail-sender.js.map +1 -0
  35. package/dist/applescript/parser.d.ts +215 -0
  36. package/dist/applescript/parser.d.ts.map +1 -0
  37. package/dist/applescript/parser.js +431 -0
  38. package/dist/applescript/parser.js.map +1 -0
  39. package/dist/applescript/repository.d.ts +58 -0
  40. package/dist/applescript/repository.d.ts.map +1 -0
  41. package/dist/applescript/repository.js +417 -0
  42. package/dist/applescript/repository.js.map +1 -0
  43. package/dist/applescript/scripts.d.ts +242 -0
  44. package/dist/applescript/scripts.d.ts.map +1 -0
  45. package/dist/applescript/scripts.js +1300 -0
  46. package/dist/applescript/scripts.js.map +1 -0
  47. package/dist/approval/hash.d.ts +26 -0
  48. package/dist/approval/hash.d.ts.map +1 -0
  49. package/dist/approval/hash.js +28 -0
  50. package/dist/approval/hash.js.map +1 -0
  51. package/dist/approval/index.d.ts +9 -0
  52. package/dist/approval/index.d.ts.map +1 -0
  53. package/dist/approval/index.js +8 -0
  54. package/dist/approval/index.js.map +1 -0
  55. package/dist/approval/token-manager.d.ts +48 -0
  56. package/dist/approval/token-manager.d.ts.map +1 -0
  57. package/dist/approval/token-manager.js +100 -0
  58. package/dist/approval/token-manager.js.map +1 -0
  59. package/dist/approval/types.d.ts +40 -0
  60. package/dist/approval/types.d.ts.map +1 -0
  61. package/dist/approval/types.js +8 -0
  62. package/dist/approval/types.js.map +1 -0
  63. package/dist/config.d.ts +23 -0
  64. package/dist/config.d.ts.map +1 -0
  65. package/dist/config.js +38 -0
  66. package/dist/config.js.map +1 -0
  67. package/dist/database/connection.d.ts +73 -0
  68. package/dist/database/connection.d.ts.map +1 -0
  69. package/dist/database/connection.js +126 -0
  70. package/dist/database/connection.js.map +1 -0
  71. package/dist/database/index.d.ts +7 -0
  72. package/dist/database/index.d.ts.map +1 -0
  73. package/dist/database/index.js +7 -0
  74. package/dist/database/index.js.map +1 -0
  75. package/dist/database/queries.d.ts +89 -0
  76. package/dist/database/queries.d.ts.map +1 -0
  77. package/dist/database/queries.js +422 -0
  78. package/dist/database/queries.js.map +1 -0
  79. package/dist/database/repository.d.ts +188 -0
  80. package/dist/database/repository.d.ts.map +1 -0
  81. package/dist/database/repository.js +187 -0
  82. package/dist/database/repository.js.map +1 -0
  83. package/dist/graph/auth/config.d.ts +33 -0
  84. package/dist/graph/auth/config.d.ts.map +1 -0
  85. package/dist/graph/auth/config.js +53 -0
  86. package/dist/graph/auth/config.js.map +1 -0
  87. package/dist/graph/auth/device-code-flow.d.ts +51 -0
  88. package/dist/graph/auth/device-code-flow.d.ts.map +1 -0
  89. package/dist/graph/auth/device-code-flow.js +176 -0
  90. package/dist/graph/auth/device-code-flow.js.map +1 -0
  91. package/dist/graph/auth/index.d.ts +9 -0
  92. package/dist/graph/auth/index.d.ts.map +1 -0
  93. package/dist/graph/auth/index.js +9 -0
  94. package/dist/graph/auth/index.js.map +1 -0
  95. package/dist/graph/auth/token-cache.d.ts +43 -0
  96. package/dist/graph/auth/token-cache.d.ts.map +1 -0
  97. package/dist/graph/auth/token-cache.js +99 -0
  98. package/dist/graph/auth/token-cache.js.map +1 -0
  99. package/dist/graph/client/cache.d.ts +65 -0
  100. package/dist/graph/client/cache.d.ts.map +1 -0
  101. package/dist/graph/client/cache.js +109 -0
  102. package/dist/graph/client/cache.js.map +1 -0
  103. package/dist/graph/client/graph-client.d.ts +150 -0
  104. package/dist/graph/client/graph-client.d.ts.map +1 -0
  105. package/dist/graph/client/graph-client.js +538 -0
  106. package/dist/graph/client/graph-client.js.map +1 -0
  107. package/dist/graph/client/index.d.ts +8 -0
  108. package/dist/graph/client/index.d.ts.map +1 -0
  109. package/dist/graph/client/index.js +8 -0
  110. package/dist/graph/client/index.js.map +1 -0
  111. package/dist/graph/content-readers.d.ts +102 -0
  112. package/dist/graph/content-readers.d.ts.map +1 -0
  113. package/dist/graph/content-readers.js +327 -0
  114. package/dist/graph/content-readers.js.map +1 -0
  115. package/dist/graph/index.d.ts +14 -0
  116. package/dist/graph/index.d.ts.map +1 -0
  117. package/dist/graph/index.js +19 -0
  118. package/dist/graph/index.js.map +1 -0
  119. package/dist/graph/mailbox-adapter.d.ts +25 -0
  120. package/dist/graph/mailbox-adapter.d.ts.map +1 -0
  121. package/dist/graph/mailbox-adapter.js +56 -0
  122. package/dist/graph/mailbox-adapter.js.map +1 -0
  123. package/dist/graph/mappers/contact-mapper.d.ts +10 -0
  124. package/dist/graph/mappers/contact-mapper.d.ts.map +1 -0
  125. package/dist/graph/mappers/contact-mapper.js +19 -0
  126. package/dist/graph/mappers/contact-mapper.js.map +1 -0
  127. package/dist/graph/mappers/email-mapper.d.ts +10 -0
  128. package/dist/graph/mappers/email-mapper.d.ts.map +1 -0
  129. package/dist/graph/mappers/email-mapper.js +43 -0
  130. package/dist/graph/mappers/email-mapper.js.map +1 -0
  131. package/dist/graph/mappers/event-mapper.d.ts +10 -0
  132. package/dist/graph/mappers/event-mapper.d.ts.map +1 -0
  133. package/dist/graph/mappers/event-mapper.js +28 -0
  134. package/dist/graph/mappers/event-mapper.js.map +1 -0
  135. package/dist/graph/mappers/folder-mapper.d.ts +18 -0
  136. package/dist/graph/mappers/folder-mapper.d.ts.map +1 -0
  137. package/dist/graph/mappers/folder-mapper.js +50 -0
  138. package/dist/graph/mappers/folder-mapper.js.map +1 -0
  139. package/dist/graph/mappers/index.d.ts +12 -0
  140. package/dist/graph/mappers/index.d.ts.map +1 -0
  141. package/dist/graph/mappers/index.js +12 -0
  142. package/dist/graph/mappers/index.js.map +1 -0
  143. package/dist/graph/mappers/task-mapper.d.ts +16 -0
  144. package/dist/graph/mappers/task-mapper.d.ts.map +1 -0
  145. package/dist/graph/mappers/task-mapper.js +26 -0
  146. package/dist/graph/mappers/task-mapper.js.map +1 -0
  147. package/dist/graph/mappers/utils.d.ts +75 -0
  148. package/dist/graph/mappers/utils.d.ts.map +1 -0
  149. package/dist/graph/mappers/utils.js +130 -0
  150. package/dist/graph/mappers/utils.js.map +1 -0
  151. package/dist/graph/repository.d.ts +112 -0
  152. package/dist/graph/repository.d.ts.map +1 -0
  153. package/dist/graph/repository.js +549 -0
  154. package/dist/graph/repository.js.map +1 -0
  155. package/dist/index.d.ts +17 -0
  156. package/dist/index.d.ts.map +1 -0
  157. package/dist/index.js +1821 -0
  158. package/dist/index.js.map +1 -0
  159. package/dist/parsers/html-stripper.d.ts +43 -0
  160. package/dist/parsers/html-stripper.d.ts.map +1 -0
  161. package/dist/parsers/html-stripper.js +175 -0
  162. package/dist/parsers/html-stripper.js.map +1 -0
  163. package/dist/parsers/index.d.ts +8 -0
  164. package/dist/parsers/index.d.ts.map +1 -0
  165. package/dist/parsers/index.js +8 -0
  166. package/dist/parsers/index.js.map +1 -0
  167. package/dist/parsers/olk15.d.ts +99 -0
  168. package/dist/parsers/olk15.d.ts.map +1 -0
  169. package/dist/parsers/olk15.js +364 -0
  170. package/dist/parsers/olk15.js.map +1 -0
  171. package/dist/tools/calendar.d.ts +203 -0
  172. package/dist/tools/calendar.d.ts.map +1 -0
  173. package/dist/tools/calendar.js +251 -0
  174. package/dist/tools/calendar.js.map +1 -0
  175. package/dist/tools/contacts.d.ts +89 -0
  176. package/dist/tools/contacts.d.ts.map +1 -0
  177. package/dist/tools/contacts.js +129 -0
  178. package/dist/tools/contacts.js.map +1 -0
  179. package/dist/tools/index.d.ts +12 -0
  180. package/dist/tools/index.d.ts.map +1 -0
  181. package/dist/tools/index.js +18 -0
  182. package/dist/tools/index.js.map +1 -0
  183. package/dist/tools/mail.d.ts +83 -0
  184. package/dist/tools/mail.d.ts.map +1 -0
  185. package/dist/tools/mail.js +217 -0
  186. package/dist/tools/mail.js.map +1 -0
  187. package/dist/tools/mailbox-organization.d.ts +337 -0
  188. package/dist/tools/mailbox-organization.d.ts.map +1 -0
  189. package/dist/tools/mailbox-organization.js +525 -0
  190. package/dist/tools/mailbox-organization.js.map +1 -0
  191. package/dist/tools/notes.d.ts +70 -0
  192. package/dist/tools/notes.d.ts.map +1 -0
  193. package/dist/tools/notes.js +132 -0
  194. package/dist/tools/notes.js.map +1 -0
  195. package/dist/tools/tasks.d.ts +70 -0
  196. package/dist/tools/tasks.d.ts.map +1 -0
  197. package/dist/tools/tasks.js +122 -0
  198. package/dist/tools/tasks.js.map +1 -0
  199. package/dist/types/calendar.d.ts +56 -0
  200. package/dist/types/calendar.d.ts.map +1 -0
  201. package/dist/types/calendar.js +14 -0
  202. package/dist/types/calendar.js.map +1 -0
  203. package/dist/types/contacts.d.ts +92 -0
  204. package/dist/types/contacts.d.ts.map +1 -0
  205. package/dist/types/contacts.js +37 -0
  206. package/dist/types/contacts.js.map +1 -0
  207. package/dist/types/index.d.ts +11 -0
  208. package/dist/types/index.d.ts.map +1 -0
  209. package/dist/types/index.js +12 -0
  210. package/dist/types/index.js.map +1 -0
  211. package/dist/types/mail.d.ts +87 -0
  212. package/dist/types/mail.d.ts.map +1 -0
  213. package/dist/types/mail.js +32 -0
  214. package/dist/types/mail.js.map +1 -0
  215. package/dist/types/notes.d.ts +22 -0
  216. package/dist/types/notes.d.ts.map +1 -0
  217. package/dist/types/notes.js +5 -0
  218. package/dist/types/notes.js.map +1 -0
  219. package/dist/types/tasks.d.ts +27 -0
  220. package/dist/types/tasks.d.ts.map +1 -0
  221. package/dist/types/tasks.js +5 -0
  222. package/dist/types/tasks.js.map +1 -0
  223. package/dist/utils/dates.d.ts +62 -0
  224. package/dist/utils/dates.d.ts.map +1 -0
  225. package/dist/utils/dates.js +90 -0
  226. package/dist/utils/dates.js.map +1 -0
  227. package/dist/utils/errors.d.ts +198 -0
  228. package/dist/utils/errors.d.ts.map +1 -0
  229. package/dist/utils/errors.js +281 -0
  230. package/dist/utils/errors.js.map +1 -0
  231. package/dist/utils/index.d.ts +6 -0
  232. package/dist/utils/index.d.ts.map +1 -0
  233. package/dist/utils/index.js +6 -0
  234. package/dist/utils/index.js.map +1 -0
  235. package/package.json +75 -0
@@ -0,0 +1,89 @@
1
+ /**
2
+ * SQL query definitions for Outlook database.
3
+ *
4
+ * All queries are read-only SELECT statements.
5
+ */
6
+ /**
7
+ * Lists all mail folders with message and unread counts.
8
+ */
9
+ export declare const LIST_FOLDERS = "\nSELECT\n f.Record_RecordID as id,\n f.Folder_Name as name,\n f.Folder_ParentID as parentId,\n f.Folder_SpecialFolderType as specialType,\n f.Folder_FolderType as folderType,\n f.Record_AccountUID as accountId,\n (SELECT COUNT(*) FROM Mail m WHERE m.Record_FolderID = f.Record_RecordID) as messageCount,\n (SELECT COUNT(*) FROM Mail m WHERE m.Record_FolderID = f.Record_RecordID AND m.Message_ReadFlag = 0) as unreadCount\nFROM Folders f\nWHERE f.Folder_FolderClass = 0\nORDER BY f.Folder_FolderOrder, f.Folder_Name\n";
10
+ /**
11
+ * Gets a single folder by ID.
12
+ */
13
+ export declare const GET_FOLDER = "\nSELECT\n f.Record_RecordID as id,\n f.Folder_Name as name,\n f.Folder_ParentID as parentId,\n f.Folder_SpecialFolderType as specialType,\n f.Folder_FolderType as folderType,\n f.Record_AccountUID as accountId,\n (SELECT COUNT(*) FROM Mail m WHERE m.Record_FolderID = f.Record_RecordID) as messageCount,\n (SELECT COUNT(*) FROM Mail m WHERE m.Record_FolderID = f.Record_RecordID AND m.Message_ReadFlag = 0) as unreadCount\nFROM Folders f\nWHERE f.Record_RecordID = ?\n";
14
+ /**
15
+ * Lists emails in a folder with pagination.
16
+ */
17
+ export declare const LIST_EMAILS = "\nSELECT\n Record_RecordID as id,\n Record_FolderID as folderId,\n Message_NormalizedSubject as subject,\n Message_SenderList as sender,\n Message_SenderAddressList as senderAddress,\n Message_RecipientList as recipients,\n Message_DisplayTo as displayTo,\n Message_ToRecipientAddressList as toAddresses,\n Message_CCRecipientAddressList as ccAddresses,\n Message_Preview as preview,\n Message_ReadFlag as isRead,\n Message_TimeReceived as timeReceived,\n Message_TimeSent as timeSent,\n Message_HasAttachment as hasAttachment,\n Message_Size as size,\n Record_Priority as priority,\n Record_FlagStatus as flagStatus,\n PathToDataFile as dataFilePath\nFROM Mail\nWHERE Record_FolderID = ?\nORDER BY Message_TimeReceived DESC\nLIMIT ? OFFSET ?\n";
18
+ /**
19
+ * Lists unread emails in a folder with pagination.
20
+ */
21
+ export declare const LIST_UNREAD_EMAILS = "\nSELECT\n Record_RecordID as id,\n Record_FolderID as folderId,\n Message_NormalizedSubject as subject,\n Message_SenderList as sender,\n Message_SenderAddressList as senderAddress,\n Message_RecipientList as recipients,\n Message_DisplayTo as displayTo,\n Message_Preview as preview,\n Message_ReadFlag as isRead,\n Message_TimeReceived as timeReceived,\n Message_TimeSent as timeSent,\n Message_HasAttachment as hasAttachment,\n Message_Size as size,\n Record_Priority as priority,\n Record_FlagStatus as flagStatus,\n PathToDataFile as dataFilePath\nFROM Mail\nWHERE Record_FolderID = ? AND Message_ReadFlag = 0\nORDER BY Message_TimeReceived DESC\nLIMIT ? OFFSET ?\n";
22
+ /**
23
+ * Searches emails by subject, sender, or preview.
24
+ */
25
+ export declare const SEARCH_EMAILS = "\nSELECT\n Record_RecordID as id,\n Record_FolderID as folderId,\n Message_NormalizedSubject as subject,\n Message_SenderList as sender,\n Message_SenderAddressList as senderAddress,\n Message_RecipientList as recipients,\n Message_Preview as preview,\n Message_ReadFlag as isRead,\n Message_TimeReceived as timeReceived,\n Message_HasAttachment as hasAttachment,\n PathToDataFile as dataFilePath\nFROM Mail\nWHERE (\n Message_NormalizedSubject LIKE ?\n OR Message_SenderList LIKE ?\n OR Message_Preview LIKE ?\n)\nORDER BY Message_TimeReceived DESC\nLIMIT ?\n";
26
+ /**
27
+ * Searches emails within a specific folder.
28
+ */
29
+ export declare const SEARCH_EMAILS_IN_FOLDER = "\nSELECT\n Record_RecordID as id,\n Record_FolderID as folderId,\n Message_NormalizedSubject as subject,\n Message_SenderList as sender,\n Message_SenderAddressList as senderAddress,\n Message_RecipientList as recipients,\n Message_Preview as preview,\n Message_ReadFlag as isRead,\n Message_TimeReceived as timeReceived,\n Message_HasAttachment as hasAttachment,\n PathToDataFile as dataFilePath\nFROM Mail\nWHERE Record_FolderID = ? AND (\n Message_NormalizedSubject LIKE ?\n OR Message_SenderList LIKE ?\n OR Message_Preview LIKE ?\n)\nORDER BY Message_TimeReceived DESC\nLIMIT ?\n";
30
+ /**
31
+ * Gets a single email by ID.
32
+ */
33
+ export declare const GET_EMAIL = "\nSELECT\n Record_RecordID as id,\n Record_FolderID as folderId,\n Message_NormalizedSubject as subject,\n Message_SenderList as sender,\n Message_SenderAddressList as senderAddress,\n Message_RecipientList as recipients,\n Message_DisplayTo as displayTo,\n Message_ToRecipientAddressList as toAddresses,\n Message_CCRecipientAddressList as ccAddresses,\n Message_Preview as preview,\n Message_ReadFlag as isRead,\n Message_TimeReceived as timeReceived,\n Message_TimeSent as timeSent,\n Message_HasAttachment as hasAttachment,\n Message_Size as size,\n Record_Priority as priority,\n Record_FlagStatus as flagStatus,\n Record_Categories as categories,\n Message_MessageID as messageId,\n Conversation_ConversationID as conversationId,\n PathToDataFile as dataFilePath\nFROM Mail\nWHERE Record_RecordID = ?\n";
34
+ /**
35
+ * Gets unread count for all folders or a specific folder.
36
+ */
37
+ export declare const GET_UNREAD_COUNT = "\nSELECT COUNT(*) as count\nFROM Mail\nWHERE Message_ReadFlag = 0\n";
38
+ export declare const GET_UNREAD_COUNT_BY_FOLDER = "\nSELECT COUNT(*) as count\nFROM Mail\nWHERE Message_ReadFlag = 0 AND Record_FolderID = ?\n";
39
+ /**
40
+ * Lists calendar folders.
41
+ */
42
+ export declare const LIST_CALENDARS = "\nSELECT\n f.Record_RecordID as id,\n f.Folder_Name as name,\n f.Record_AccountUID as accountId\nFROM Folders f\nWHERE f.Folder_SpecialFolderType = 4\nORDER BY f.Folder_Name\n";
43
+ /**
44
+ * Lists events with optional date range and folder filter.
45
+ */
46
+ export declare const LIST_EVENTS = "\nSELECT\n Record_RecordID as id,\n Record_FolderID as folderId,\n Calendar_StartDateUTC as startDate,\n Calendar_EndDateUTC as endDate,\n Calendar_IsRecurring as isRecurring,\n Calendar_HasReminder as hasReminder,\n Calendar_AttendeeCount as attendeeCount,\n Calendar_UID as uid,\n PathToDataFile as dataFilePath\nFROM CalendarEvents\nORDER BY Calendar_StartDateUTC\nLIMIT ?\n";
47
+ export declare const LIST_EVENTS_BY_FOLDER = "\nSELECT\n Record_RecordID as id,\n Record_FolderID as folderId,\n Calendar_StartDateUTC as startDate,\n Calendar_EndDateUTC as endDate,\n Calendar_IsRecurring as isRecurring,\n Calendar_HasReminder as hasReminder,\n Calendar_AttendeeCount as attendeeCount,\n Calendar_UID as uid,\n PathToDataFile as dataFilePath\nFROM CalendarEvents\nWHERE Record_FolderID = ?\nORDER BY Calendar_StartDateUTC\nLIMIT ?\n";
48
+ export declare const LIST_EVENTS_BY_DATE_RANGE = "\nSELECT\n Record_RecordID as id,\n Record_FolderID as folderId,\n Calendar_StartDateUTC as startDate,\n Calendar_EndDateUTC as endDate,\n Calendar_IsRecurring as isRecurring,\n Calendar_HasReminder as hasReminder,\n Calendar_AttendeeCount as attendeeCount,\n Calendar_UID as uid,\n PathToDataFile as dataFilePath\nFROM CalendarEvents\nWHERE Calendar_StartDateUTC >= ? AND Calendar_EndDateUTC <= ?\nORDER BY Calendar_StartDateUTC\nLIMIT ?\n";
49
+ /**
50
+ * Gets a single event by ID.
51
+ */
52
+ export declare const GET_EVENT = "\nSELECT\n Record_RecordID as id,\n Record_FolderID as folderId,\n Calendar_StartDateUTC as startDate,\n Calendar_EndDateUTC as endDate,\n Calendar_IsRecurring as isRecurring,\n Calendar_HasReminder as hasReminder,\n Calendar_AttendeeCount as attendeeCount,\n Calendar_UID as uid,\n Calendar_MasterRecordID as masterRecordId,\n Calendar_RecurrenceID as recurrenceId,\n PathToDataFile as dataFilePath\nFROM CalendarEvents\nWHERE Record_RecordID = ?\n";
53
+ /**
54
+ * Lists contacts with pagination.
55
+ */
56
+ export declare const LIST_CONTACTS = "\nSELECT\n Record_RecordID as id,\n Record_FolderID as folderId,\n Contact_DisplayName as displayName,\n Contact_DisplayNameSort as sortName,\n Contact_ContactRecType as contactType,\n PathToDataFile as dataFilePath\nFROM Contacts\nORDER BY Contact_DisplayNameSort\nLIMIT ? OFFSET ?\n";
57
+ /**
58
+ * Searches contacts by name.
59
+ */
60
+ export declare const SEARCH_CONTACTS = "\nSELECT\n Record_RecordID as id,\n Record_FolderID as folderId,\n Contact_DisplayName as displayName,\n Contact_DisplayNameSort as sortName,\n PathToDataFile as dataFilePath\nFROM Contacts\nWHERE Contact_DisplayName LIKE ? OR Contact_DisplayNameSort LIKE ?\nORDER BY Contact_DisplayNameSort\nLIMIT ?\n";
61
+ /**
62
+ * Gets a single contact by ID.
63
+ */
64
+ export declare const GET_CONTACT = "\nSELECT\n Record_RecordID as id,\n Record_FolderID as folderId,\n Contact_DisplayName as displayName,\n Contact_DisplayNameSort as sortName,\n Contact_ContactRecType as contactType,\n PathToDataFile as dataFilePath\nFROM Contacts\nWHERE Record_RecordID = ?\n";
65
+ /**
66
+ * Lists tasks with pagination.
67
+ */
68
+ export declare const LIST_TASKS = "\nSELECT\n Record_RecordID as id,\n Record_FolderID as folderId,\n Task_Name as name,\n Task_Completed as isCompleted,\n Record_DueDate as dueDate,\n Record_StartDate as startDate,\n Record_Priority as priority,\n PathToDataFile as dataFilePath\nFROM Tasks\nORDER BY Record_DueDate, Task_Name\nLIMIT ? OFFSET ?\n";
69
+ /**
70
+ * Lists incomplete tasks only.
71
+ */
72
+ export declare const LIST_INCOMPLETE_TASKS = "\nSELECT\n Record_RecordID as id,\n Record_FolderID as folderId,\n Task_Name as name,\n Task_Completed as isCompleted,\n Record_DueDate as dueDate,\n Record_StartDate as startDate,\n Record_Priority as priority,\n PathToDataFile as dataFilePath\nFROM Tasks\nWHERE Task_Completed = 0\nORDER BY Record_DueDate, Task_Name\nLIMIT ? OFFSET ?\n";
73
+ /**
74
+ * Searches tasks by name.
75
+ */
76
+ export declare const SEARCH_TASKS = "\nSELECT\n Record_RecordID as id,\n Record_FolderID as folderId,\n Task_Name as name,\n Task_Completed as isCompleted,\n Record_DueDate as dueDate,\n Record_Priority as priority,\n PathToDataFile as dataFilePath\nFROM Tasks\nWHERE Task_Name LIKE ?\nORDER BY Record_DueDate, Task_Name\nLIMIT ?\n";
77
+ /**
78
+ * Gets a single task by ID.
79
+ */
80
+ export declare const GET_TASK = "\nSELECT\n Record_RecordID as id,\n Record_FolderID as folderId,\n Task_Name as name,\n Task_Completed as isCompleted,\n Record_DueDate as dueDate,\n Record_StartDate as startDate,\n Record_Priority as priority,\n Record_HasReminder as hasReminder,\n PathToDataFile as dataFilePath\nFROM Tasks\nWHERE Record_RecordID = ?\n";
81
+ /**
82
+ * Lists notes with pagination.
83
+ */
84
+ export declare const LIST_NOTES = "\nSELECT\n Record_RecordID as id,\n Record_FolderID as folderId,\n Record_ModDate as modifiedDate,\n PathToDataFile as dataFilePath\nFROM Notes\nORDER BY Record_ModDate DESC\nLIMIT ? OFFSET ?\n";
85
+ /**
86
+ * Gets a single note by ID.
87
+ */
88
+ export declare const GET_NOTE = "\nSELECT\n Record_RecordID as id,\n Record_FolderID as folderId,\n Record_ModDate as modifiedDate,\n PathToDataFile as dataFilePath\nFROM Notes\nWHERE Record_RecordID = ?\n";
89
+ //# sourceMappingURL=queries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/database/queries.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH;;GAEG;AACH,eAAO,MAAM,YAAY,mhBAaxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,keAYtB,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,WAAW,+vBAwBvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,orBAsB9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,mkBAqBzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,2lBAqBnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,k0BAyBrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,wEAI5B,CAAC;AAEF,eAAO,MAAM,0BAA0B,gGAItC,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,cAAc,uLAQ1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,uYAcvB,CAAC;AAEF,eAAO,MAAM,qBAAqB,kaAejC,CAAC;AAEF,eAAO,MAAM,yBAAyB,scAerC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,idAerB,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,aAAa,uSAWzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,wTAW3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,8QAUvB,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,UAAU,qUAatB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,+VAcjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,kTAaxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,gVAapB,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,UAAU,0MAStB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,qLAQpB,CAAC"}
@@ -0,0 +1,422 @@
1
+ /**
2
+ * SQL query definitions for Outlook database.
3
+ *
4
+ * All queries are read-only SELECT statements.
5
+ */
6
+ // =============================================================================
7
+ // Folder Queries
8
+ // =============================================================================
9
+ /**
10
+ * Lists all mail folders with message and unread counts.
11
+ */
12
+ export const LIST_FOLDERS = `
13
+ SELECT
14
+ f.Record_RecordID as id,
15
+ f.Folder_Name as name,
16
+ f.Folder_ParentID as parentId,
17
+ f.Folder_SpecialFolderType as specialType,
18
+ f.Folder_FolderType as folderType,
19
+ f.Record_AccountUID as accountId,
20
+ (SELECT COUNT(*) FROM Mail m WHERE m.Record_FolderID = f.Record_RecordID) as messageCount,
21
+ (SELECT COUNT(*) FROM Mail m WHERE m.Record_FolderID = f.Record_RecordID AND m.Message_ReadFlag = 0) as unreadCount
22
+ FROM Folders f
23
+ WHERE f.Folder_FolderClass = 0
24
+ ORDER BY f.Folder_FolderOrder, f.Folder_Name
25
+ `;
26
+ /**
27
+ * Gets a single folder by ID.
28
+ */
29
+ export const GET_FOLDER = `
30
+ SELECT
31
+ f.Record_RecordID as id,
32
+ f.Folder_Name as name,
33
+ f.Folder_ParentID as parentId,
34
+ f.Folder_SpecialFolderType as specialType,
35
+ f.Folder_FolderType as folderType,
36
+ f.Record_AccountUID as accountId,
37
+ (SELECT COUNT(*) FROM Mail m WHERE m.Record_FolderID = f.Record_RecordID) as messageCount,
38
+ (SELECT COUNT(*) FROM Mail m WHERE m.Record_FolderID = f.Record_RecordID AND m.Message_ReadFlag = 0) as unreadCount
39
+ FROM Folders f
40
+ WHERE f.Record_RecordID = ?
41
+ `;
42
+ // =============================================================================
43
+ // Mail Queries
44
+ // =============================================================================
45
+ /**
46
+ * Lists emails in a folder with pagination.
47
+ */
48
+ export const LIST_EMAILS = `
49
+ SELECT
50
+ Record_RecordID as id,
51
+ Record_FolderID as folderId,
52
+ Message_NormalizedSubject as subject,
53
+ Message_SenderList as sender,
54
+ Message_SenderAddressList as senderAddress,
55
+ Message_RecipientList as recipients,
56
+ Message_DisplayTo as displayTo,
57
+ Message_ToRecipientAddressList as toAddresses,
58
+ Message_CCRecipientAddressList as ccAddresses,
59
+ Message_Preview as preview,
60
+ Message_ReadFlag as isRead,
61
+ Message_TimeReceived as timeReceived,
62
+ Message_TimeSent as timeSent,
63
+ Message_HasAttachment as hasAttachment,
64
+ Message_Size as size,
65
+ Record_Priority as priority,
66
+ Record_FlagStatus as flagStatus,
67
+ PathToDataFile as dataFilePath
68
+ FROM Mail
69
+ WHERE Record_FolderID = ?
70
+ ORDER BY Message_TimeReceived DESC
71
+ LIMIT ? OFFSET ?
72
+ `;
73
+ /**
74
+ * Lists unread emails in a folder with pagination.
75
+ */
76
+ export const LIST_UNREAD_EMAILS = `
77
+ SELECT
78
+ Record_RecordID as id,
79
+ Record_FolderID as folderId,
80
+ Message_NormalizedSubject as subject,
81
+ Message_SenderList as sender,
82
+ Message_SenderAddressList as senderAddress,
83
+ Message_RecipientList as recipients,
84
+ Message_DisplayTo as displayTo,
85
+ Message_Preview as preview,
86
+ Message_ReadFlag as isRead,
87
+ Message_TimeReceived as timeReceived,
88
+ Message_TimeSent as timeSent,
89
+ Message_HasAttachment as hasAttachment,
90
+ Message_Size as size,
91
+ Record_Priority as priority,
92
+ Record_FlagStatus as flagStatus,
93
+ PathToDataFile as dataFilePath
94
+ FROM Mail
95
+ WHERE Record_FolderID = ? AND Message_ReadFlag = 0
96
+ ORDER BY Message_TimeReceived DESC
97
+ LIMIT ? OFFSET ?
98
+ `;
99
+ /**
100
+ * Searches emails by subject, sender, or preview.
101
+ */
102
+ export const SEARCH_EMAILS = `
103
+ SELECT
104
+ Record_RecordID as id,
105
+ Record_FolderID as folderId,
106
+ Message_NormalizedSubject as subject,
107
+ Message_SenderList as sender,
108
+ Message_SenderAddressList as senderAddress,
109
+ Message_RecipientList as recipients,
110
+ Message_Preview as preview,
111
+ Message_ReadFlag as isRead,
112
+ Message_TimeReceived as timeReceived,
113
+ Message_HasAttachment as hasAttachment,
114
+ PathToDataFile as dataFilePath
115
+ FROM Mail
116
+ WHERE (
117
+ Message_NormalizedSubject LIKE ?
118
+ OR Message_SenderList LIKE ?
119
+ OR Message_Preview LIKE ?
120
+ )
121
+ ORDER BY Message_TimeReceived DESC
122
+ LIMIT ?
123
+ `;
124
+ /**
125
+ * Searches emails within a specific folder.
126
+ */
127
+ export const SEARCH_EMAILS_IN_FOLDER = `
128
+ SELECT
129
+ Record_RecordID as id,
130
+ Record_FolderID as folderId,
131
+ Message_NormalizedSubject as subject,
132
+ Message_SenderList as sender,
133
+ Message_SenderAddressList as senderAddress,
134
+ Message_RecipientList as recipients,
135
+ Message_Preview as preview,
136
+ Message_ReadFlag as isRead,
137
+ Message_TimeReceived as timeReceived,
138
+ Message_HasAttachment as hasAttachment,
139
+ PathToDataFile as dataFilePath
140
+ FROM Mail
141
+ WHERE Record_FolderID = ? AND (
142
+ Message_NormalizedSubject LIKE ?
143
+ OR Message_SenderList LIKE ?
144
+ OR Message_Preview LIKE ?
145
+ )
146
+ ORDER BY Message_TimeReceived DESC
147
+ LIMIT ?
148
+ `;
149
+ /**
150
+ * Gets a single email by ID.
151
+ */
152
+ export const GET_EMAIL = `
153
+ SELECT
154
+ Record_RecordID as id,
155
+ Record_FolderID as folderId,
156
+ Message_NormalizedSubject as subject,
157
+ Message_SenderList as sender,
158
+ Message_SenderAddressList as senderAddress,
159
+ Message_RecipientList as recipients,
160
+ Message_DisplayTo as displayTo,
161
+ Message_ToRecipientAddressList as toAddresses,
162
+ Message_CCRecipientAddressList as ccAddresses,
163
+ Message_Preview as preview,
164
+ Message_ReadFlag as isRead,
165
+ Message_TimeReceived as timeReceived,
166
+ Message_TimeSent as timeSent,
167
+ Message_HasAttachment as hasAttachment,
168
+ Message_Size as size,
169
+ Record_Priority as priority,
170
+ Record_FlagStatus as flagStatus,
171
+ Record_Categories as categories,
172
+ Message_MessageID as messageId,
173
+ Conversation_ConversationID as conversationId,
174
+ PathToDataFile as dataFilePath
175
+ FROM Mail
176
+ WHERE Record_RecordID = ?
177
+ `;
178
+ /**
179
+ * Gets unread count for all folders or a specific folder.
180
+ */
181
+ export const GET_UNREAD_COUNT = `
182
+ SELECT COUNT(*) as count
183
+ FROM Mail
184
+ WHERE Message_ReadFlag = 0
185
+ `;
186
+ export const GET_UNREAD_COUNT_BY_FOLDER = `
187
+ SELECT COUNT(*) as count
188
+ FROM Mail
189
+ WHERE Message_ReadFlag = 0 AND Record_FolderID = ?
190
+ `;
191
+ // =============================================================================
192
+ // Calendar Queries
193
+ // =============================================================================
194
+ /**
195
+ * Lists calendar folders.
196
+ */
197
+ export const LIST_CALENDARS = `
198
+ SELECT
199
+ f.Record_RecordID as id,
200
+ f.Folder_Name as name,
201
+ f.Record_AccountUID as accountId
202
+ FROM Folders f
203
+ WHERE f.Folder_SpecialFolderType = 4
204
+ ORDER BY f.Folder_Name
205
+ `;
206
+ /**
207
+ * Lists events with optional date range and folder filter.
208
+ */
209
+ export const LIST_EVENTS = `
210
+ SELECT
211
+ Record_RecordID as id,
212
+ Record_FolderID as folderId,
213
+ Calendar_StartDateUTC as startDate,
214
+ Calendar_EndDateUTC as endDate,
215
+ Calendar_IsRecurring as isRecurring,
216
+ Calendar_HasReminder as hasReminder,
217
+ Calendar_AttendeeCount as attendeeCount,
218
+ Calendar_UID as uid,
219
+ PathToDataFile as dataFilePath
220
+ FROM CalendarEvents
221
+ ORDER BY Calendar_StartDateUTC
222
+ LIMIT ?
223
+ `;
224
+ export const LIST_EVENTS_BY_FOLDER = `
225
+ SELECT
226
+ Record_RecordID as id,
227
+ Record_FolderID as folderId,
228
+ Calendar_StartDateUTC as startDate,
229
+ Calendar_EndDateUTC as endDate,
230
+ Calendar_IsRecurring as isRecurring,
231
+ Calendar_HasReminder as hasReminder,
232
+ Calendar_AttendeeCount as attendeeCount,
233
+ Calendar_UID as uid,
234
+ PathToDataFile as dataFilePath
235
+ FROM CalendarEvents
236
+ WHERE Record_FolderID = ?
237
+ ORDER BY Calendar_StartDateUTC
238
+ LIMIT ?
239
+ `;
240
+ export const LIST_EVENTS_BY_DATE_RANGE = `
241
+ SELECT
242
+ Record_RecordID as id,
243
+ Record_FolderID as folderId,
244
+ Calendar_StartDateUTC as startDate,
245
+ Calendar_EndDateUTC as endDate,
246
+ Calendar_IsRecurring as isRecurring,
247
+ Calendar_HasReminder as hasReminder,
248
+ Calendar_AttendeeCount as attendeeCount,
249
+ Calendar_UID as uid,
250
+ PathToDataFile as dataFilePath
251
+ FROM CalendarEvents
252
+ WHERE Calendar_StartDateUTC >= ? AND Calendar_EndDateUTC <= ?
253
+ ORDER BY Calendar_StartDateUTC
254
+ LIMIT ?
255
+ `;
256
+ /**
257
+ * Gets a single event by ID.
258
+ */
259
+ export const GET_EVENT = `
260
+ SELECT
261
+ Record_RecordID as id,
262
+ Record_FolderID as folderId,
263
+ Calendar_StartDateUTC as startDate,
264
+ Calendar_EndDateUTC as endDate,
265
+ Calendar_IsRecurring as isRecurring,
266
+ Calendar_HasReminder as hasReminder,
267
+ Calendar_AttendeeCount as attendeeCount,
268
+ Calendar_UID as uid,
269
+ Calendar_MasterRecordID as masterRecordId,
270
+ Calendar_RecurrenceID as recurrenceId,
271
+ PathToDataFile as dataFilePath
272
+ FROM CalendarEvents
273
+ WHERE Record_RecordID = ?
274
+ `;
275
+ // =============================================================================
276
+ // Contact Queries
277
+ // =============================================================================
278
+ /**
279
+ * Lists contacts with pagination.
280
+ */
281
+ export const LIST_CONTACTS = `
282
+ SELECT
283
+ Record_RecordID as id,
284
+ Record_FolderID as folderId,
285
+ Contact_DisplayName as displayName,
286
+ Contact_DisplayNameSort as sortName,
287
+ Contact_ContactRecType as contactType,
288
+ PathToDataFile as dataFilePath
289
+ FROM Contacts
290
+ ORDER BY Contact_DisplayNameSort
291
+ LIMIT ? OFFSET ?
292
+ `;
293
+ /**
294
+ * Searches contacts by name.
295
+ */
296
+ export const SEARCH_CONTACTS = `
297
+ SELECT
298
+ Record_RecordID as id,
299
+ Record_FolderID as folderId,
300
+ Contact_DisplayName as displayName,
301
+ Contact_DisplayNameSort as sortName,
302
+ PathToDataFile as dataFilePath
303
+ FROM Contacts
304
+ WHERE Contact_DisplayName LIKE ? OR Contact_DisplayNameSort LIKE ?
305
+ ORDER BY Contact_DisplayNameSort
306
+ LIMIT ?
307
+ `;
308
+ /**
309
+ * Gets a single contact by ID.
310
+ */
311
+ export const GET_CONTACT = `
312
+ SELECT
313
+ Record_RecordID as id,
314
+ Record_FolderID as folderId,
315
+ Contact_DisplayName as displayName,
316
+ Contact_DisplayNameSort as sortName,
317
+ Contact_ContactRecType as contactType,
318
+ PathToDataFile as dataFilePath
319
+ FROM Contacts
320
+ WHERE Record_RecordID = ?
321
+ `;
322
+ // =============================================================================
323
+ // Task Queries
324
+ // =============================================================================
325
+ /**
326
+ * Lists tasks with pagination.
327
+ */
328
+ export const LIST_TASKS = `
329
+ SELECT
330
+ Record_RecordID as id,
331
+ Record_FolderID as folderId,
332
+ Task_Name as name,
333
+ Task_Completed as isCompleted,
334
+ Record_DueDate as dueDate,
335
+ Record_StartDate as startDate,
336
+ Record_Priority as priority,
337
+ PathToDataFile as dataFilePath
338
+ FROM Tasks
339
+ ORDER BY Record_DueDate, Task_Name
340
+ LIMIT ? OFFSET ?
341
+ `;
342
+ /**
343
+ * Lists incomplete tasks only.
344
+ */
345
+ export const LIST_INCOMPLETE_TASKS = `
346
+ SELECT
347
+ Record_RecordID as id,
348
+ Record_FolderID as folderId,
349
+ Task_Name as name,
350
+ Task_Completed as isCompleted,
351
+ Record_DueDate as dueDate,
352
+ Record_StartDate as startDate,
353
+ Record_Priority as priority,
354
+ PathToDataFile as dataFilePath
355
+ FROM Tasks
356
+ WHERE Task_Completed = 0
357
+ ORDER BY Record_DueDate, Task_Name
358
+ LIMIT ? OFFSET ?
359
+ `;
360
+ /**
361
+ * Searches tasks by name.
362
+ */
363
+ export const SEARCH_TASKS = `
364
+ SELECT
365
+ Record_RecordID as id,
366
+ Record_FolderID as folderId,
367
+ Task_Name as name,
368
+ Task_Completed as isCompleted,
369
+ Record_DueDate as dueDate,
370
+ Record_Priority as priority,
371
+ PathToDataFile as dataFilePath
372
+ FROM Tasks
373
+ WHERE Task_Name LIKE ?
374
+ ORDER BY Record_DueDate, Task_Name
375
+ LIMIT ?
376
+ `;
377
+ /**
378
+ * Gets a single task by ID.
379
+ */
380
+ export const GET_TASK = `
381
+ SELECT
382
+ Record_RecordID as id,
383
+ Record_FolderID as folderId,
384
+ Task_Name as name,
385
+ Task_Completed as isCompleted,
386
+ Record_DueDate as dueDate,
387
+ Record_StartDate as startDate,
388
+ Record_Priority as priority,
389
+ Record_HasReminder as hasReminder,
390
+ PathToDataFile as dataFilePath
391
+ FROM Tasks
392
+ WHERE Record_RecordID = ?
393
+ `;
394
+ // =============================================================================
395
+ // Note Queries
396
+ // =============================================================================
397
+ /**
398
+ * Lists notes with pagination.
399
+ */
400
+ export const LIST_NOTES = `
401
+ SELECT
402
+ Record_RecordID as id,
403
+ Record_FolderID as folderId,
404
+ Record_ModDate as modifiedDate,
405
+ PathToDataFile as dataFilePath
406
+ FROM Notes
407
+ ORDER BY Record_ModDate DESC
408
+ LIMIT ? OFFSET ?
409
+ `;
410
+ /**
411
+ * Gets a single note by ID.
412
+ */
413
+ export const GET_NOTE = `
414
+ SELECT
415
+ Record_RecordID as id,
416
+ Record_FolderID as folderId,
417
+ Record_ModDate as modifiedDate,
418
+ PathToDataFile as dataFilePath
419
+ FROM Notes
420
+ WHERE Record_RecordID = ?
421
+ `;
422
+ //# sourceMappingURL=queries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/database/queries.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;CAa3B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;;;;;;;;;;;;CAYzB,CAAC;AAEF,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwB1B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;CAsBjC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;CAqB5B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;CAqBtC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;CAyBxB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;CAI/B,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;CAIzC,CAAC;AAEF,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;CAQ7B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;CAc1B,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;CAepC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;;;;;;;;;;;;CAexC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;CAexB,CAAC;AAEF,gFAAgF;AAChF,kBAAkB;AAClB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;CAW5B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;;CAW9B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;CAU1B,CAAC;AAEF,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;;;;;;;;;;;;;CAazB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;CAcpC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;CAa3B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;CAavB,CAAC;AAEF,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;;;;;;;;;CASzB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;CAQvB,CAAC"}