@contractspec/integration.providers-impls 1.57.0 → 1.58.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 (256) hide show
  1. package/dist/analytics.d.ts +1 -8
  2. package/dist/analytics.d.ts.map +1 -1
  3. package/dist/analytics.js +3 -3
  4. package/dist/calendar.d.ts +1 -8
  5. package/dist/calendar.d.ts.map +1 -1
  6. package/dist/calendar.js +3 -3
  7. package/dist/database.d.ts +1 -8
  8. package/dist/database.d.ts.map +1 -1
  9. package/dist/database.js +3 -3
  10. package/dist/email.d.ts +1 -8
  11. package/dist/email.d.ts.map +1 -1
  12. package/dist/email.js +3 -3
  13. package/dist/embedding.d.ts +1 -8
  14. package/dist/embedding.d.ts.map +1 -1
  15. package/dist/embedding.js +3 -3
  16. package/dist/impls/elevenlabs-voice.d.ts +14 -18
  17. package/dist/impls/elevenlabs-voice.d.ts.map +1 -1
  18. package/dist/impls/elevenlabs-voice.js +98 -88
  19. package/dist/impls/fal-voice.d.ts +22 -26
  20. package/dist/impls/fal-voice.d.ts.map +1 -1
  21. package/dist/impls/fal-voice.js +103 -78
  22. package/dist/impls/fathom-meeting-recorder.d.ts +35 -39
  23. package/dist/impls/fathom-meeting-recorder.d.ts.map +1 -1
  24. package/dist/impls/fathom-meeting-recorder.js +285 -142
  25. package/dist/impls/fathom-meeting-recorder.mapper.d.ts +4 -8
  26. package/dist/impls/fathom-meeting-recorder.mapper.d.ts.map +1 -1
  27. package/dist/impls/fathom-meeting-recorder.mapper.js +102 -38
  28. package/dist/impls/fathom-meeting-recorder.types.d.ts +16 -20
  29. package/dist/impls/fathom-meeting-recorder.types.d.ts.map +1 -1
  30. package/dist/impls/fathom-meeting-recorder.types.js +1 -0
  31. package/dist/impls/fathom-meeting-recorder.utils.d.ts +10 -14
  32. package/dist/impls/fathom-meeting-recorder.utils.d.ts.map +1 -1
  33. package/dist/impls/fathom-meeting-recorder.utils.js +58 -41
  34. package/dist/impls/fathom-meeting-recorder.webhooks.d.ts +3 -7
  35. package/dist/impls/fathom-meeting-recorder.webhooks.d.ts.map +1 -1
  36. package/dist/impls/fathom-meeting-recorder.webhooks.js +25 -20
  37. package/dist/impls/fireflies-meeting-recorder.d.ts +21 -25
  38. package/dist/impls/fireflies-meeting-recorder.d.ts.map +1 -1
  39. package/dist/impls/fireflies-meeting-recorder.js +272 -149
  40. package/dist/impls/fireflies-meeting-recorder.queries.d.ts +3 -6
  41. package/dist/impls/fireflies-meeting-recorder.queries.d.ts.map +1 -1
  42. package/dist/impls/fireflies-meeting-recorder.queries.js +10 -8
  43. package/dist/impls/fireflies-meeting-recorder.types.d.ts +26 -29
  44. package/dist/impls/fireflies-meeting-recorder.types.d.ts.map +1 -1
  45. package/dist/impls/fireflies-meeting-recorder.types.js +1 -0
  46. package/dist/impls/fireflies-meeting-recorder.utils.d.ts +4 -7
  47. package/dist/impls/fireflies-meeting-recorder.utils.d.ts.map +1 -1
  48. package/dist/impls/fireflies-meeting-recorder.utils.js +34 -27
  49. package/dist/impls/gcs-storage.d.ts +18 -22
  50. package/dist/impls/gcs-storage.d.ts.map +1 -1
  51. package/dist/impls/gcs-storage.js +92 -84
  52. package/dist/impls/gmail-inbound.d.ts +20 -24
  53. package/dist/impls/gmail-inbound.d.ts.map +1 -1
  54. package/dist/impls/gmail-inbound.js +212 -185
  55. package/dist/impls/gmail-outbound.d.ts +12 -16
  56. package/dist/impls/gmail-outbound.d.ts.map +1 -1
  57. package/dist/impls/gmail-outbound.js +126 -92
  58. package/dist/impls/google-calendar.d.ts +17 -21
  59. package/dist/impls/google-calendar.d.ts.map +1 -1
  60. package/dist/impls/google-calendar.js +182 -145
  61. package/dist/impls/gradium-voice.d.ts +20 -22
  62. package/dist/impls/gradium-voice.d.ts.map +1 -1
  63. package/dist/impls/gradium-voice.js +85 -74
  64. package/dist/impls/granola-meeting-recorder.d.ts +31 -24
  65. package/dist/impls/granola-meeting-recorder.d.ts.map +1 -1
  66. package/dist/impls/granola-meeting-recorder.js +511 -143
  67. package/dist/impls/granola-meeting-recorder.mcp.d.ts +25 -0
  68. package/dist/impls/granola-meeting-recorder.mcp.d.ts.map +1 -0
  69. package/dist/impls/granola-meeting-recorder.mcp.js +279 -0
  70. package/dist/impls/granola-meeting-recorder.types.d.ts +60 -49
  71. package/dist/impls/granola-meeting-recorder.types.d.ts.map +1 -1
  72. package/dist/impls/granola-meeting-recorder.types.js +1 -0
  73. package/dist/impls/index.d.ts +28 -28
  74. package/dist/impls/index.d.ts.map +1 -0
  75. package/dist/impls/index.js +4659 -29
  76. package/dist/impls/jira.d.ts +18 -22
  77. package/dist/impls/jira.d.ts.map +1 -1
  78. package/dist/impls/jira.js +112 -101
  79. package/dist/impls/linear.d.ts +17 -21
  80. package/dist/impls/linear.d.ts.map +1 -1
  81. package/dist/impls/linear.js +78 -69
  82. package/dist/impls/mistral-embedding.d.ts +17 -21
  83. package/dist/impls/mistral-embedding.d.ts.map +1 -1
  84. package/dist/impls/mistral-embedding.js +41 -39
  85. package/dist/impls/mistral-llm.d.ts +25 -29
  86. package/dist/impls/mistral-llm.d.ts.map +1 -1
  87. package/dist/impls/mistral-llm.js +266 -244
  88. package/dist/impls/notion.d.ts +20 -24
  89. package/dist/impls/notion.d.ts.map +1 -1
  90. package/dist/impls/notion.js +145 -110
  91. package/dist/impls/posthog-reader.d.ts +18 -22
  92. package/dist/impls/posthog-reader.d.ts.map +1 -1
  93. package/dist/impls/posthog-reader.js +148 -129
  94. package/dist/impls/posthog-utils.d.ts +4 -7
  95. package/dist/impls/posthog-utils.d.ts.map +1 -1
  96. package/dist/impls/posthog-utils.js +31 -22
  97. package/dist/impls/posthog.d.ts +33 -37
  98. package/dist/impls/posthog.d.ts.map +1 -1
  99. package/dist/impls/posthog.js +320 -119
  100. package/dist/impls/postmark-email.d.ts +13 -17
  101. package/dist/impls/postmark-email.d.ts.map +1 -1
  102. package/dist/impls/postmark-email.js +55 -50
  103. package/dist/impls/powens-client.d.ts +111 -114
  104. package/dist/impls/powens-client.d.ts.map +1 -1
  105. package/dist/impls/powens-client.js +194 -170
  106. package/dist/impls/powens-openbanking.d.ts +22 -26
  107. package/dist/impls/powens-openbanking.d.ts.map +1 -1
  108. package/dist/impls/powens-openbanking.js +425 -217
  109. package/dist/impls/provider-factory.d.ts +29 -33
  110. package/dist/impls/provider-factory.d.ts.map +1 -1
  111. package/dist/impls/provider-factory.js +4072 -275
  112. package/dist/impls/qdrant-vector.d.ts +18 -22
  113. package/dist/impls/qdrant-vector.d.ts.map +1 -1
  114. package/dist/impls/qdrant-vector.js +76 -69
  115. package/dist/impls/stripe-payments.d.ts +22 -26
  116. package/dist/impls/stripe-payments.d.ts.map +1 -1
  117. package/dist/impls/stripe-payments.js +219 -193
  118. package/dist/impls/supabase-psql.d.ts +21 -25
  119. package/dist/impls/supabase-psql.d.ts.map +1 -1
  120. package/dist/impls/supabase-psql.js +138 -98
  121. package/dist/impls/supabase-vector.d.ts +29 -33
  122. package/dist/impls/supabase-vector.d.ts.map +1 -1
  123. package/dist/impls/supabase-vector.js +278 -103
  124. package/dist/impls/tldv-meeting-recorder.d.ts +18 -22
  125. package/dist/impls/tldv-meeting-recorder.d.ts.map +1 -1
  126. package/dist/impls/tldv-meeting-recorder.js +142 -127
  127. package/dist/impls/twilio-sms.d.ts +14 -17
  128. package/dist/impls/twilio-sms.d.ts.map +1 -1
  129. package/dist/impls/twilio-sms.js +62 -55
  130. package/dist/index.d.ts +15 -64
  131. package/dist/index.d.ts.map +1 -1
  132. package/dist/index.js +4700 -107
  133. package/dist/llm.d.ts +1 -8
  134. package/dist/llm.d.ts.map +1 -1
  135. package/dist/llm.js +3 -3
  136. package/dist/meeting-recorder.d.ts +1 -8
  137. package/dist/meeting-recorder.d.ts.map +1 -1
  138. package/dist/meeting-recorder.js +3 -3
  139. package/dist/node/analytics.js +2 -0
  140. package/dist/node/calendar.js +2 -0
  141. package/dist/node/database.js +2 -0
  142. package/dist/node/email.js +2 -0
  143. package/dist/node/embedding.js +2 -0
  144. package/dist/node/impls/elevenlabs-voice.js +102 -0
  145. package/dist/node/impls/fal-voice.js +112 -0
  146. package/dist/node/impls/fathom-meeting-recorder.js +287 -0
  147. package/dist/node/impls/fathom-meeting-recorder.mapper.js +105 -0
  148. package/dist/node/impls/fathom-meeting-recorder.types.js +0 -0
  149. package/dist/node/impls/fathom-meeting-recorder.utils.js +72 -0
  150. package/dist/node/impls/fathom-meeting-recorder.webhooks.js +29 -0
  151. package/dist/node/impls/fireflies-meeting-recorder.js +274 -0
  152. package/dist/node/impls/fireflies-meeting-recorder.queries.js +85 -0
  153. package/dist/node/impls/fireflies-meeting-recorder.types.js +0 -0
  154. package/dist/node/impls/fireflies-meeting-recorder.utils.js +42 -0
  155. package/dist/node/impls/gcs-storage.js +97 -0
  156. package/dist/node/impls/gmail-inbound.js +227 -0
  157. package/dist/node/impls/gmail-outbound.js +139 -0
  158. package/dist/node/impls/google-calendar.js +191 -0
  159. package/dist/node/impls/gradium-voice.js +90 -0
  160. package/dist/node/impls/granola-meeting-recorder.js +512 -0
  161. package/dist/node/impls/granola-meeting-recorder.mcp.js +278 -0
  162. package/dist/node/impls/granola-meeting-recorder.types.js +0 -0
  163. package/dist/node/impls/index.js +4658 -0
  164. package/dist/node/impls/jira.js +124 -0
  165. package/dist/node/impls/linear.js +83 -0
  166. package/dist/node/impls/mistral-embedding.js +43 -0
  167. package/dist/node/impls/mistral-llm.js +269 -0
  168. package/dist/node/impls/notion.js +160 -0
  169. package/dist/node/impls/posthog-reader.js +159 -0
  170. package/dist/node/impls/posthog-utils.js +38 -0
  171. package/dist/node/impls/posthog.js +322 -0
  172. package/dist/node/impls/postmark-email.js +60 -0
  173. package/dist/node/impls/powens-client.js +195 -0
  174. package/dist/node/impls/powens-openbanking.js +426 -0
  175. package/dist/node/impls/provider-factory.js +4080 -0
  176. package/dist/node/impls/qdrant-vector.js +78 -0
  177. package/dist/node/impls/stripe-payments.js +228 -0
  178. package/dist/node/impls/supabase-psql.js +150 -0
  179. package/dist/node/impls/supabase-vector.js +323 -0
  180. package/dist/node/impls/tldv-meeting-recorder.js +145 -0
  181. package/dist/node/impls/twilio-sms.js +65 -0
  182. package/dist/node/index.js +4699 -0
  183. package/dist/node/llm.js +2 -0
  184. package/dist/node/meeting-recorder.js +2 -0
  185. package/dist/node/openbanking.js +2 -0
  186. package/dist/node/payments.js +2 -0
  187. package/dist/node/project-management.js +2 -0
  188. package/dist/node/runtime.js +0 -0
  189. package/dist/node/secrets/provider.js +11 -0
  190. package/dist/node/sms.js +2 -0
  191. package/dist/node/storage.js +2 -0
  192. package/dist/node/vector-store.js +2 -0
  193. package/dist/node/voice.js +2 -0
  194. package/dist/openbanking.d.ts +1 -8
  195. package/dist/openbanking.d.ts.map +1 -1
  196. package/dist/openbanking.js +3 -3
  197. package/dist/payments.d.ts +1 -8
  198. package/dist/payments.d.ts.map +1 -1
  199. package/dist/payments.js +3 -3
  200. package/dist/project-management.d.ts +1 -8
  201. package/dist/project-management.d.ts.map +1 -1
  202. package/dist/project-management.js +3 -3
  203. package/dist/runtime.d.ts +2 -2
  204. package/dist/runtime.d.ts.map +1 -0
  205. package/dist/runtime.js +1 -0
  206. package/dist/secrets/provider.d.ts +3 -2
  207. package/dist/secrets/provider.d.ts.map +1 -0
  208. package/dist/secrets/provider.js +12 -3
  209. package/dist/sms.d.ts +1 -8
  210. package/dist/sms.d.ts.map +1 -1
  211. package/dist/sms.js +3 -3
  212. package/dist/storage.d.ts +1 -8
  213. package/dist/storage.d.ts.map +1 -1
  214. package/dist/storage.js +3 -3
  215. package/dist/vector-store.d.ts +1 -8
  216. package/dist/vector-store.d.ts.map +1 -1
  217. package/dist/vector-store.js +3 -3
  218. package/dist/voice.d.ts +1 -8
  219. package/dist/voice.d.ts.map +1 -1
  220. package/dist/voice.js +3 -3
  221. package/package.json +405 -114
  222. package/dist/_virtual/_rolldown/runtime.js +0 -36
  223. package/dist/impls/elevenlabs-voice.js.map +0 -1
  224. package/dist/impls/fal-voice.js.map +0 -1
  225. package/dist/impls/fathom-meeting-recorder.js.map +0 -1
  226. package/dist/impls/fathom-meeting-recorder.mapper.js.map +0 -1
  227. package/dist/impls/fathom-meeting-recorder.utils.js.map +0 -1
  228. package/dist/impls/fathom-meeting-recorder.webhooks.js.map +0 -1
  229. package/dist/impls/fireflies-meeting-recorder.js.map +0 -1
  230. package/dist/impls/fireflies-meeting-recorder.queries.js.map +0 -1
  231. package/dist/impls/fireflies-meeting-recorder.utils.js.map +0 -1
  232. package/dist/impls/gcs-storage.js.map +0 -1
  233. package/dist/impls/gmail-inbound.js.map +0 -1
  234. package/dist/impls/gmail-outbound.js.map +0 -1
  235. package/dist/impls/google-calendar.js.map +0 -1
  236. package/dist/impls/gradium-voice.js.map +0 -1
  237. package/dist/impls/granola-meeting-recorder.js.map +0 -1
  238. package/dist/impls/jira.js.map +0 -1
  239. package/dist/impls/linear.js.map +0 -1
  240. package/dist/impls/mistral-embedding.js.map +0 -1
  241. package/dist/impls/mistral-llm.js.map +0 -1
  242. package/dist/impls/notion.js.map +0 -1
  243. package/dist/impls/posthog-reader.js.map +0 -1
  244. package/dist/impls/posthog-utils.js.map +0 -1
  245. package/dist/impls/posthog.js.map +0 -1
  246. package/dist/impls/postmark-email.js.map +0 -1
  247. package/dist/impls/powens-client.js.map +0 -1
  248. package/dist/impls/powens-openbanking.js.map +0 -1
  249. package/dist/impls/provider-factory.js.map +0 -1
  250. package/dist/impls/qdrant-vector.js.map +0 -1
  251. package/dist/impls/stripe-payments.js.map +0 -1
  252. package/dist/impls/supabase-psql.js.map +0 -1
  253. package/dist/impls/supabase-vector.js.map +0 -1
  254. package/dist/impls/tldv-meeting-recorder.js.map +0 -1
  255. package/dist/impls/twilio-sms.js.map +0 -1
  256. package/dist/index.js.map +0 -1
@@ -1,126 +1,161 @@
1
+ // @bun
2
+ // src/impls/notion.ts
1
3
  import { Client } from "@notionhq/client";
2
4
 
3
- //#region src/impls/notion.ts
4
- var NotionProjectManagementProvider = class {
5
- client;
6
- defaults;
7
- constructor(options) {
8
- this.client = options.client ?? new Client({ auth: options.apiKey });
9
- this.defaults = {
10
- databaseId: options.databaseId,
11
- summaryParentPageId: options.summaryParentPageId,
12
- titleProperty: options.titleProperty,
13
- statusProperty: options.statusProperty,
14
- priorityProperty: options.priorityProperty,
15
- tagsProperty: options.tagsProperty,
16
- dueDateProperty: options.dueDateProperty,
17
- descriptionProperty: options.descriptionProperty
18
- };
19
- }
20
- async createWorkItem(input) {
21
- if (input.type === "summary" && this.defaults.summaryParentPageId) return this.createSummaryPage(input);
22
- const databaseId = this.defaults.databaseId;
23
- if (!databaseId) throw new Error("Notion databaseId is required to create work items.");
24
- const properties = { [this.defaults.titleProperty ?? "Name"]: buildTitleProperty(input.title) };
25
- applySelect(properties, this.defaults.statusProperty, input.status);
26
- applySelect(properties, this.defaults.priorityProperty, input.priority);
27
- applyMultiSelect(properties, this.defaults.tagsProperty, input.tags);
28
- applyDate(properties, this.defaults.dueDateProperty, input.dueDate);
29
- applyRichText(properties, this.defaults.descriptionProperty, input.description);
30
- const page = await this.client.pages.create({
31
- parent: {
32
- type: "database_id",
33
- database_id: databaseId
34
- },
35
- properties
36
- });
37
- return {
38
- id: page.id,
39
- title: input.title,
40
- url: "url" in page ? page.url : void 0,
41
- status: input.status,
42
- priority: input.priority,
43
- tags: input.tags,
44
- projectId: databaseId,
45
- externalId: input.externalId,
46
- metadata: input.metadata
47
- };
48
- }
49
- async createWorkItems(items) {
50
- const created = [];
51
- for (const item of items) created.push(await this.createWorkItem(item));
52
- return created;
53
- }
54
- async createSummaryPage(input) {
55
- const parentId = this.defaults.summaryParentPageId;
56
- if (!parentId) throw new Error("Notion summaryParentPageId is required for summaries.");
57
- const summaryProperties = { title: buildTitleProperty(input.title) };
58
- const page = await this.client.pages.create({
59
- parent: {
60
- type: "page_id",
61
- page_id: parentId
62
- },
63
- properties: summaryProperties
64
- });
65
- if (input.description) {
66
- const children = buildParagraphBlocks(input.description);
67
- if (children.length > 0) await this.client.blocks.children.append({
68
- block_id: page.id,
69
- children
70
- });
71
- }
72
- return {
73
- id: page.id,
74
- title: input.title,
75
- url: "url" in page ? page.url : void 0,
76
- status: input.status,
77
- priority: input.priority,
78
- tags: input.tags,
79
- projectId: parentId,
80
- externalId: input.externalId,
81
- metadata: input.metadata
82
- };
83
- }
84
- };
5
+ class NotionProjectManagementProvider {
6
+ client;
7
+ defaults;
8
+ constructor(options) {
9
+ this.client = options.client ?? new Client({ auth: options.apiKey });
10
+ this.defaults = {
11
+ databaseId: options.databaseId,
12
+ summaryParentPageId: options.summaryParentPageId,
13
+ titleProperty: options.titleProperty,
14
+ statusProperty: options.statusProperty,
15
+ priorityProperty: options.priorityProperty,
16
+ tagsProperty: options.tagsProperty,
17
+ dueDateProperty: options.dueDateProperty,
18
+ descriptionProperty: options.descriptionProperty
19
+ };
20
+ }
21
+ async createWorkItem(input) {
22
+ if (input.type === "summary" && this.defaults.summaryParentPageId) {
23
+ return this.createSummaryPage(input);
24
+ }
25
+ const databaseId = this.defaults.databaseId;
26
+ if (!databaseId) {
27
+ throw new Error("Notion databaseId is required to create work items.");
28
+ }
29
+ const titleProperty = this.defaults.titleProperty ?? "Name";
30
+ const properties = {
31
+ [titleProperty]: buildTitleProperty(input.title)
32
+ };
33
+ applySelect(properties, this.defaults.statusProperty, input.status);
34
+ applySelect(properties, this.defaults.priorityProperty, input.priority);
35
+ applyMultiSelect(properties, this.defaults.tagsProperty, input.tags);
36
+ applyDate(properties, this.defaults.dueDateProperty, input.dueDate);
37
+ applyRichText(properties, this.defaults.descriptionProperty, input.description);
38
+ const page = await this.client.pages.create({
39
+ parent: { type: "database_id", database_id: databaseId },
40
+ properties
41
+ });
42
+ return {
43
+ id: page.id,
44
+ title: input.title,
45
+ url: "url" in page ? page.url : undefined,
46
+ status: input.status,
47
+ priority: input.priority,
48
+ tags: input.tags,
49
+ projectId: databaseId,
50
+ externalId: input.externalId,
51
+ metadata: input.metadata
52
+ };
53
+ }
54
+ async createWorkItems(items) {
55
+ const created = [];
56
+ for (const item of items) {
57
+ created.push(await this.createWorkItem(item));
58
+ }
59
+ return created;
60
+ }
61
+ async createSummaryPage(input) {
62
+ const parentId = this.defaults.summaryParentPageId;
63
+ if (!parentId) {
64
+ throw new Error("Notion summaryParentPageId is required for summaries.");
65
+ }
66
+ const summaryProperties = {
67
+ title: buildTitleProperty(input.title)
68
+ };
69
+ const page = await this.client.pages.create({
70
+ parent: { type: "page_id", page_id: parentId },
71
+ properties: summaryProperties
72
+ });
73
+ if (input.description) {
74
+ const children = buildParagraphBlocks(input.description);
75
+ if (children.length > 0) {
76
+ await this.client.blocks.children.append({
77
+ block_id: page.id,
78
+ children
79
+ });
80
+ }
81
+ }
82
+ return {
83
+ id: page.id,
84
+ title: input.title,
85
+ url: "url" in page ? page.url : undefined,
86
+ status: input.status,
87
+ priority: input.priority,
88
+ tags: input.tags,
89
+ projectId: parentId,
90
+ externalId: input.externalId,
91
+ metadata: input.metadata
92
+ };
93
+ }
94
+ }
85
95
  function buildTitleProperty(title) {
86
- return { title: [{
87
- type: "text",
88
- text: { content: title }
89
- }] };
96
+ return {
97
+ title: [
98
+ {
99
+ type: "text",
100
+ text: { content: title }
101
+ }
102
+ ]
103
+ };
90
104
  }
91
105
  function buildRichText(text) {
92
- return { rich_text: [{
93
- type: "text",
94
- text: { content: text }
95
- }] };
106
+ return {
107
+ rich_text: [
108
+ {
109
+ type: "text",
110
+ text: { content: text }
111
+ }
112
+ ]
113
+ };
96
114
  }
97
115
  function applySelect(properties, property, value) {
98
- if (!property || !value) return;
99
- properties[property] = { select: { name: value } };
116
+ if (!property || !value)
117
+ return;
118
+ const next = {
119
+ select: { name: value }
120
+ };
121
+ properties[property] = next;
100
122
  }
101
123
  function applyMultiSelect(properties, property, values) {
102
- if (!property || !values || values.length === 0) return;
103
- properties[property] = { multi_select: values.map((value) => ({ name: value })) };
124
+ if (!property || !values || values.length === 0)
125
+ return;
126
+ const next = {
127
+ multi_select: values.map((value) => ({ name: value }))
128
+ };
129
+ properties[property] = next;
104
130
  }
105
131
  function applyDate(properties, property, value) {
106
- if (!property || !value) return;
107
- properties[property] = { date: { start: value.toISOString() } };
132
+ if (!property || !value)
133
+ return;
134
+ const next = {
135
+ date: { start: value.toISOString() }
136
+ };
137
+ properties[property] = next;
108
138
  }
109
139
  function applyRichText(properties, property, value) {
110
- if (!property || !value) return;
111
- properties[property] = buildRichText(value);
140
+ if (!property || !value)
141
+ return;
142
+ properties[property] = buildRichText(value);
112
143
  }
113
144
  function buildParagraphBlocks(text) {
114
- return text.split(/\r?\n/).filter((line) => line.trim()).map((line) => ({
115
- object: "block",
116
- type: "paragraph",
117
- paragraph: { rich_text: [{
118
- type: "text",
119
- text: { content: line }
120
- }] }
121
- }));
145
+ const lines = text.split(/\r?\n/).filter((line) => line.trim());
146
+ return lines.map((line) => ({
147
+ object: "block",
148
+ type: "paragraph",
149
+ paragraph: {
150
+ rich_text: [
151
+ {
152
+ type: "text",
153
+ text: { content: line }
154
+ }
155
+ ]
156
+ }
157
+ }));
122
158
  }
123
-
124
- //#endregion
125
- export { NotionProjectManagementProvider };
126
- //# sourceMappingURL=notion.js.map
159
+ export {
160
+ NotionProjectManagementProvider
161
+ };
@@ -1,26 +1,22 @@
1
- import { analytics_d_exports } from "../analytics.js";
2
-
3
- //#region src/impls/posthog-reader.d.ts
4
- interface PosthogReaderClient {
5
- request<T = unknown>(request: analytics_d_exports.AnalyticsRequest): Promise<analytics_d_exports.AnalyticsResponse<T>>;
1
+ import type { AnalyticsReader, AnalyticsQueryInput, AnalyticsQueryResult, AnalyticsRequest, AnalyticsResponse, AnalyticsEvent, AnalyticsPerson, AnalyticsInsight, AnalyticsCohort, AnalyticsFeatureFlag, AnalyticsAnnotation, GetEventsInput, GetPersonsInput, GetInsightsInput, GetInsightResultInput, GetCohortsInput, GetFeatureFlagsInput, GetAnnotationsInput, PaginatedResponse } from '../analytics';
2
+ export interface PosthogReaderClient {
3
+ request<T = unknown>(request: AnalyticsRequest): Promise<AnalyticsResponse<T>>;
6
4
  }
7
- interface PosthogAnalyticsReaderOptions {
8
- projectId?: string | number;
9
- client: PosthogReaderClient;
5
+ export interface PosthogAnalyticsReaderOptions {
6
+ projectId?: string | number;
7
+ client: PosthogReaderClient;
10
8
  }
11
- declare class PosthogAnalyticsReader implements analytics_d_exports.AnalyticsReader {
12
- private readonly projectId?;
13
- private readonly client;
14
- constructor(options: PosthogAnalyticsReaderOptions);
15
- queryHogQL(input: analytics_d_exports.AnalyticsQueryInput): Promise<analytics_d_exports.AnalyticsQueryResult>;
16
- getEvents(input: analytics_d_exports.GetEventsInput): Promise<analytics_d_exports.PaginatedResponse<analytics_d_exports.AnalyticsEvent>>;
17
- getPersons(input: analytics_d_exports.GetPersonsInput): Promise<analytics_d_exports.PaginatedResponse<analytics_d_exports.AnalyticsPerson>>;
18
- getInsights(input: analytics_d_exports.GetInsightsInput): Promise<analytics_d_exports.PaginatedResponse<analytics_d_exports.AnalyticsInsight>>;
19
- getInsightResult(input: analytics_d_exports.GetInsightResultInput): Promise<analytics_d_exports.AnalyticsInsight>;
20
- getCohorts(input: analytics_d_exports.GetCohortsInput): Promise<analytics_d_exports.PaginatedResponse<analytics_d_exports.AnalyticsCohort>>;
21
- getFeatureFlags(input: analytics_d_exports.GetFeatureFlagsInput): Promise<analytics_d_exports.PaginatedResponse<analytics_d_exports.AnalyticsFeatureFlag>>;
22
- getAnnotations(input: analytics_d_exports.GetAnnotationsInput): Promise<analytics_d_exports.PaginatedResponse<analytics_d_exports.AnalyticsAnnotation>>;
9
+ export declare class PosthogAnalyticsReader implements AnalyticsReader {
10
+ private readonly projectId?;
11
+ private readonly client;
12
+ constructor(options: PosthogAnalyticsReaderOptions);
13
+ queryHogQL(input: AnalyticsQueryInput): Promise<AnalyticsQueryResult>;
14
+ getEvents(input: GetEventsInput): Promise<PaginatedResponse<AnalyticsEvent>>;
15
+ getPersons(input: GetPersonsInput): Promise<PaginatedResponse<AnalyticsPerson>>;
16
+ getInsights(input: GetInsightsInput): Promise<PaginatedResponse<AnalyticsInsight>>;
17
+ getInsightResult(input: GetInsightResultInput): Promise<AnalyticsInsight>;
18
+ getCohorts(input: GetCohortsInput): Promise<PaginatedResponse<AnalyticsCohort>>;
19
+ getFeatureFlags(input: GetFeatureFlagsInput): Promise<PaginatedResponse<AnalyticsFeatureFlag>>;
20
+ getAnnotations(input: GetAnnotationsInput): Promise<PaginatedResponse<AnalyticsAnnotation>>;
23
21
  }
24
- //#endregion
25
- export { PosthogAnalyticsReader, PosthogAnalyticsReaderOptions, PosthogReaderClient };
26
22
  //# sourceMappingURL=posthog-reader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"posthog-reader.d.ts","names":[],"sources":["../../src/impls/posthog-reader.ts"],"mappings":";;;UAuBiB,mBAAA;EACf,OAAA,cACE,OAAA,EAAS,mBAAA,CAAA,gBAAA,GACR,OAAA,CAAQ,mBAAA,CAAA,iBAAA,CAAkB,CAAA;AAAA;AAAA,UAGd,6BAAA;EACf,SAAA;EACA,MAAA,EAAQ,mBAAA;AAAA;AAAA,cAGG,sBAAA,YAAkC,mBAAA,CAAA,eAAA;EAAA,iBAC5B,SAAA;EAAA,iBACA,MAAA;cAEL,OAAA,EAAS,6BAAA;EAKf,UAAA,CAAW,KAAA,EAAO,mBAAA,CAAA,mBAAA,GAAsB,OAAA,CAAQ,mBAAA,CAAA,oBAAA;EAgBhD,SAAA,CACJ,KAAA,EAAO,mBAAA,CAAA,cAAA,GACN,OAAA,CAAQ,mBAAA,CAAA,iBAAA,CAAkB,mBAAA,CAAA,cAAA;EAuBvB,UAAA,CACJ,KAAA,EAAO,mBAAA,CAAA,eAAA,GACN,OAAA,CAAQ,mBAAA,CAAA,iBAAA,CAAkB,mBAAA,CAAA,eAAA;EAoBvB,WAAA,CACJ,KAAA,EAAO,mBAAA,CAAA,gBAAA,GACN,OAAA,CAAQ,mBAAA,CAAA,iBAAA,CAAkB,mBAAA,CAAA,gBAAA;EAgBvB,gBAAA,CACJ,KAAA,EAAO,mBAAA,CAAA,qBAAA,GACN,OAAA,CAAQ,mBAAA,CAAA,gBAAA;EASL,UAAA,CACJ,KAAA,EAAO,mBAAA,CAAA,eAAA,GACN,OAAA,CAAQ,mBAAA,CAAA,iBAAA,CAAkB,mBAAA,CAAA,eAAA;EAevB,eAAA,CACJ,KAAA,EAAO,mBAAA,CAAA,oBAAA,GACN,OAAA,CAAQ,mBAAA,CAAA,iBAAA,CAAkB,mBAAA,CAAA,oBAAA;EAgBvB,cAAA,CACJ,KAAA,EAAO,mBAAA,CAAA,mBAAA,GACN,OAAA,CAAQ,mBAAA,CAAA,iBAAA,CAAkB,mBAAA,CAAA,mBAAA;AAAA"}
1
+ {"version":3,"file":"posthog-reader.d.ts","sourceRoot":"","sources":["../../src/impls/posthog-reader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EAEnB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,CAAC,GAAG,OAAO,EACjB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,6BAA6B;IAC5C,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,MAAM,EAAE,mBAAmB,CAAC;CAC7B;AAED,qBAAa,sBAAuB,YAAW,eAAe;IAC5D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;gBAEjC,OAAO,EAAE,6BAA6B;IAK5C,UAAU,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAgBrE,SAAS,CACb,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAuBvC,UAAU,CACd,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;IAoBxC,WAAW,CACf,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IAgBzC,gBAAgB,CACpB,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,gBAAgB,CAAC;IAStB,UAAU,CACd,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;IAexC,eAAe,CACnB,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;IAgB7C,cAAc,CAClB,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;CAenD"}
@@ -1,141 +1,160 @@
1
- //#region src/impls/posthog-reader.ts
2
- var PosthogAnalyticsReader = class {
3
- projectId;
4
- client;
5
- constructor(options) {
6
- this.projectId = options.projectId;
7
- this.client = options.client;
8
- }
9
- async queryHogQL(input) {
10
- const projectId = resolveProjectId(void 0, this.projectId);
11
- return (await this.client.request({
12
- method: "POST",
13
- path: `/api/projects/${projectId}/query`,
14
- body: { query: {
15
- kind: "HogQLQuery",
16
- query: input.query,
17
- values: input.values
18
- } }
19
- })).data;
20
- }
21
- async getEvents(input) {
22
- const projectId = resolveProjectId(input.projectId, this.projectId);
23
- return (await this.client.request({
24
- method: "GET",
25
- path: `/api/projects/${projectId}/events/`,
26
- query: {
27
- event: input.event ?? resolveSingleEvent(input.events),
28
- events: resolveEventList(input.events),
29
- distinct_id: input.distinctId,
30
- order_by: input.orderBy,
31
- limit: input.limit,
32
- offset: input.offset,
33
- properties: input.properties ? JSON.stringify(input.properties) : void 0,
34
- ...buildEventDateQuery(input.dateRange)
35
- }
36
- })).data;
37
- }
38
- async getPersons(input) {
39
- const projectId = resolveProjectId(input.projectId, this.projectId);
40
- return (await this.client.request({
41
- method: "GET",
42
- path: `/api/projects/${projectId}/persons/`,
43
- query: {
44
- cohort_id: input.cohortId,
45
- search: input.search,
46
- limit: input.limit,
47
- offset: input.offset,
48
- properties: input.properties ? JSON.stringify(input.properties) : void 0
49
- }
50
- })).data;
51
- }
52
- async getInsights(input) {
53
- const projectId = resolveProjectId(input.projectId, this.projectId);
54
- return (await this.client.request({
55
- method: "GET",
56
- path: `/api/projects/${projectId}/insights/`,
57
- query: {
58
- insight: input.insightType,
59
- limit: input.limit,
60
- offset: input.offset
61
- }
62
- })).data;
63
- }
64
- async getInsightResult(input) {
65
- const projectId = resolveProjectId(input.projectId, this.projectId);
66
- return (await this.client.request({
67
- method: "GET",
68
- path: `/api/projects/${projectId}/insights/${input.insightId}/`
69
- })).data;
70
- }
71
- async getCohorts(input) {
72
- const projectId = resolveProjectId(input.projectId, this.projectId);
73
- return (await this.client.request({
74
- method: "GET",
75
- path: `/api/projects/${projectId}/cohorts/`,
76
- query: {
77
- limit: input.limit,
78
- offset: input.offset
79
- }
80
- })).data;
81
- }
82
- async getFeatureFlags(input) {
83
- const projectId = resolveProjectId(input.projectId, this.projectId);
84
- return (await this.client.request({
85
- method: "GET",
86
- path: `/api/projects/${projectId}/feature_flags/`,
87
- query: {
88
- active: input.active,
89
- limit: input.limit,
90
- offset: input.offset
91
- }
92
- })).data;
93
- }
94
- async getAnnotations(input) {
95
- const projectId = resolveProjectId(input.projectId, this.projectId);
96
- return (await this.client.request({
97
- method: "GET",
98
- path: `/api/projects/${projectId}/annotations/`,
99
- query: {
100
- limit: input.limit,
101
- offset: input.offset,
102
- ...buildAnnotationDateQuery(input.dateRange)
103
- }
104
- })).data;
105
- }
106
- };
1
+ // @bun
2
+ // src/impls/posthog-reader.ts
3
+ class PosthogAnalyticsReader {
4
+ projectId;
5
+ client;
6
+ constructor(options) {
7
+ this.projectId = options.projectId;
8
+ this.client = options.client;
9
+ }
10
+ async queryHogQL(input) {
11
+ const projectId = resolveProjectId(undefined, this.projectId);
12
+ const response = await this.client.request({
13
+ method: "POST",
14
+ path: `/api/projects/${projectId}/query`,
15
+ body: {
16
+ query: {
17
+ kind: "HogQLQuery",
18
+ query: input.query,
19
+ values: input.values
20
+ }
21
+ }
22
+ });
23
+ return response.data;
24
+ }
25
+ async getEvents(input) {
26
+ const projectId = resolveProjectId(input.projectId, this.projectId);
27
+ const response = await this.client.request({
28
+ method: "GET",
29
+ path: `/api/projects/${projectId}/events/`,
30
+ query: {
31
+ event: input.event ?? resolveSingleEvent(input.events),
32
+ events: resolveEventList(input.events),
33
+ distinct_id: input.distinctId,
34
+ order_by: input.orderBy,
35
+ limit: input.limit,
36
+ offset: input.offset,
37
+ properties: input.properties ? JSON.stringify(input.properties) : undefined,
38
+ ...buildEventDateQuery(input.dateRange)
39
+ }
40
+ });
41
+ return response.data;
42
+ }
43
+ async getPersons(input) {
44
+ const projectId = resolveProjectId(input.projectId, this.projectId);
45
+ const response = await this.client.request({
46
+ method: "GET",
47
+ path: `/api/projects/${projectId}/persons/`,
48
+ query: {
49
+ cohort_id: input.cohortId,
50
+ search: input.search,
51
+ limit: input.limit,
52
+ offset: input.offset,
53
+ properties: input.properties ? JSON.stringify(input.properties) : undefined
54
+ }
55
+ });
56
+ return response.data;
57
+ }
58
+ async getInsights(input) {
59
+ const projectId = resolveProjectId(input.projectId, this.projectId);
60
+ const response = await this.client.request({
61
+ method: "GET",
62
+ path: `/api/projects/${projectId}/insights/`,
63
+ query: {
64
+ insight: input.insightType,
65
+ limit: input.limit,
66
+ offset: input.offset
67
+ }
68
+ });
69
+ return response.data;
70
+ }
71
+ async getInsightResult(input) {
72
+ const projectId = resolveProjectId(input.projectId, this.projectId);
73
+ const response = await this.client.request({
74
+ method: "GET",
75
+ path: `/api/projects/${projectId}/insights/${input.insightId}/`
76
+ });
77
+ return response.data;
78
+ }
79
+ async getCohorts(input) {
80
+ const projectId = resolveProjectId(input.projectId, this.projectId);
81
+ const response = await this.client.request({
82
+ method: "GET",
83
+ path: `/api/projects/${projectId}/cohorts/`,
84
+ query: {
85
+ limit: input.limit,
86
+ offset: input.offset
87
+ }
88
+ });
89
+ return response.data;
90
+ }
91
+ async getFeatureFlags(input) {
92
+ const projectId = resolveProjectId(input.projectId, this.projectId);
93
+ const response = await this.client.request({
94
+ method: "GET",
95
+ path: `/api/projects/${projectId}/feature_flags/`,
96
+ query: {
97
+ active: input.active,
98
+ limit: input.limit,
99
+ offset: input.offset
100
+ }
101
+ });
102
+ return response.data;
103
+ }
104
+ async getAnnotations(input) {
105
+ const projectId = resolveProjectId(input.projectId, this.projectId);
106
+ const response = await this.client.request({
107
+ method: "GET",
108
+ path: `/api/projects/${projectId}/annotations/`,
109
+ query: {
110
+ limit: input.limit,
111
+ offset: input.offset,
112
+ ...buildAnnotationDateQuery(input.dateRange)
113
+ }
114
+ });
115
+ return response.data;
116
+ }
117
+ }
107
118
  function resolveProjectId(inputProjectId, defaultProjectId) {
108
- const projectId = inputProjectId ?? defaultProjectId;
109
- if (!projectId) throw new Error("PostHog projectId is required for API reads.");
110
- return projectId;
119
+ const projectId = inputProjectId ?? defaultProjectId;
120
+ if (!projectId) {
121
+ throw new Error("PostHog projectId is required for API reads.");
122
+ }
123
+ return projectId;
111
124
  }
112
125
  function resolveSingleEvent(events) {
113
- if (!events || events.length !== 1) return void 0;
114
- return events[0];
126
+ if (!events || events.length !== 1)
127
+ return;
128
+ return events[0];
115
129
  }
116
130
  function resolveEventList(events) {
117
- if (!events || events.length <= 1) return void 0;
118
- return events.join(",");
131
+ if (!events || events.length <= 1)
132
+ return;
133
+ return events.join(",");
119
134
  }
120
135
  function buildEventDateQuery(range) {
121
- return {
122
- after: formatDate(range?.from),
123
- before: formatDate(range?.to),
124
- timezone: range?.timezone
125
- };
136
+ const after = formatDate(range?.from);
137
+ const before = formatDate(range?.to);
138
+ return {
139
+ after,
140
+ before,
141
+ timezone: range?.timezone
142
+ };
126
143
  }
127
144
  function buildAnnotationDateQuery(range) {
128
- return {
129
- date_from: formatDate(range?.from),
130
- date_to: formatDate(range?.to),
131
- timezone: range?.timezone
132
- };
145
+ const dateFrom = formatDate(range?.from);
146
+ const dateTo = formatDate(range?.to);
147
+ return {
148
+ date_from: dateFrom,
149
+ date_to: dateTo,
150
+ timezone: range?.timezone
151
+ };
133
152
  }
134
153
  function formatDate(value) {
135
- if (!value) return void 0;
136
- return typeof value === "string" ? value : value.toISOString();
154
+ if (!value)
155
+ return;
156
+ return typeof value === "string" ? value : value.toISOString();
137
157
  }
138
-
139
- //#endregion
140
- export { PosthogAnalyticsReader };
141
- //# sourceMappingURL=posthog-reader.js.map
158
+ export {
159
+ PosthogAnalyticsReader
160
+ };
@@ -1,8 +1,5 @@
1
- //#region src/impls/posthog-utils.d.ts
2
- declare function normalizeHost(host: string): string;
3
- declare function buildUrl(host: string, path: string, query?: Record<string, string | number | boolean | undefined>): string;
4
- declare function appendQuery(url: string, query?: Record<string, string | number | boolean | undefined>): string;
5
- declare function parseJson<T>(value: string): T;
6
- //#endregion
7
- export { appendQuery, buildUrl, normalizeHost, parseJson };
1
+ export declare function normalizeHost(host: string): string;
2
+ export declare function buildUrl(host: string, path: string, query?: Record<string, string | number | boolean | undefined>): string;
3
+ export declare function appendQuery(url: string, query?: Record<string, string | number | boolean | undefined>): string;
4
+ export declare function parseJson<T>(value: string): T;
8
5
  //# sourceMappingURL=posthog-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"posthog-utils.d.ts","names":[],"sources":["../../src/impls/posthog-utils.ts"],"mappings":";iBAAgB,aAAA,CAAc,IAAA;AAAA,iBAId,QAAA,CACd,IAAA,UACA,IAAA,UACA,KAAA,GAAQ,MAAA;AAAA,iBASM,WAAA,CACd,GAAA,UACA,KAAA,GAAQ,MAAA;AAAA,iBAYM,SAAA,GAAA,CAAa,KAAA,WAAgB,CAAA"}
1
+ {"version":3,"file":"posthog-utils.d.ts","sourceRoot":"","sources":["../../src/impls/posthog-utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,GAC5D,MAAM,CAMR;AAED,wBAAgB,WAAW,CACzB,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,GAC5D,MAAM,CASR;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,CAO7C"}