@bubblelab/bubble-core 0.1.288 → 0.1.291

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 (104) hide show
  1. package/dist/bubble-bundle.d.ts +180 -160
  2. package/dist/bubble-factory.d.ts.map +1 -1
  3. package/dist/bubble-factory.js +3 -0
  4. package/dist/bubble-factory.js.map +1 -1
  5. package/dist/bubbles/service-bubble/agi-inc.d.ts +20 -20
  6. package/dist/bubbles/service-bubble/ai-agent.d.ts +74 -74
  7. package/dist/bubbles/service-bubble/ai-agent.d.ts.map +1 -1
  8. package/dist/bubbles/service-bubble/ai-agent.js +5 -0
  9. package/dist/bubbles/service-bubble/ai-agent.js.map +1 -1
  10. package/dist/bubbles/service-bubble/airtable.d.ts +76 -76
  11. package/dist/bubbles/service-bubble/apify/actors/app-rankings-scraper.d.ts +6 -6
  12. package/dist/bubbles/service-bubble/apify/actors/instagram-hashtag-scraper.d.ts +2 -2
  13. package/dist/bubbles/service-bubble/apify/actors/instagram-scraper.d.ts +8 -8
  14. package/dist/bubbles/service-bubble/apify/actors/linkedin-jobs-scraper.d.ts +2 -2
  15. package/dist/bubbles/service-bubble/apify/actors/linkedin-posts-search.d.ts +22 -22
  16. package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-detail.d.ts +38 -38
  17. package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-posts.d.ts +52 -52
  18. package/dist/bubbles/service-bubble/apify/actors/tiktok-scraper.d.ts +6 -6
  19. package/dist/bubbles/service-bubble/apify/actors/twitter-scraper.d.ts +12 -12
  20. package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.d.ts +12 -12
  21. package/dist/bubbles/service-bubble/apify/apify-scraper.schema.d.ts +132 -132
  22. package/dist/bubbles/service-bubble/apify/apify.d.ts +18 -18
  23. package/dist/bubbles/service-bubble/asana/asana.d.ts +1 -1
  24. package/dist/bubbles/service-bubble/asana/asana.schema.d.ts +1 -1
  25. package/dist/bubbles/service-bubble/ashby/ashby.d.ts +24 -24
  26. package/dist/bubbles/service-bubble/ashby/ashby.schema.d.ts +32 -32
  27. package/dist/bubbles/service-bubble/assembled/assembled.d.ts +6 -6
  28. package/dist/bubbles/service-bubble/assembled/assembled.schema.d.ts +6 -6
  29. package/dist/bubbles/service-bubble/attio/attio.d.ts +6 -6
  30. package/dist/bubbles/service-bubble/attio/attio.schema.d.ts +6 -6
  31. package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts +1 -1
  32. package/dist/bubbles/service-bubble/browserbase/browserbase.schema.d.ts +1 -1
  33. package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts +4 -4
  34. package/dist/bubbles/service-bubble/crustdata/crustdata.schema.d.ts +8 -8
  35. package/dist/bubbles/service-bubble/discord/discord.d.ts +12 -12
  36. package/dist/bubbles/service-bubble/discord/discord.schema.d.ts +12 -12
  37. package/dist/bubbles/service-bubble/firecrawl.d.ts +330 -330
  38. package/dist/bubbles/service-bubble/followupboss.d.ts +4 -4
  39. package/dist/bubbles/service-bubble/github.d.ts +60 -60
  40. package/dist/bubbles/service-bubble/gmail.d.ts +164 -164
  41. package/dist/bubbles/service-bubble/google-calendar.d.ts +6 -6
  42. package/dist/bubbles/service-bubble/google-drive.d.ts +4 -4
  43. package/dist/bubbles/service-bubble/granola/granola.d.ts +446 -0
  44. package/dist/bubbles/service-bubble/granola/granola.d.ts.map +1 -0
  45. package/dist/bubbles/service-bubble/granola/granola.js +187 -0
  46. package/dist/bubbles/service-bubble/granola/granola.js.map +1 -0
  47. package/dist/bubbles/service-bubble/granola/granola.schema.d.ts +766 -0
  48. package/dist/bubbles/service-bubble/granola/granola.schema.d.ts.map +1 -0
  49. package/dist/bubbles/service-bubble/granola/granola.schema.js +196 -0
  50. package/dist/bubbles/service-bubble/granola/granola.schema.js.map +1 -0
  51. package/dist/bubbles/service-bubble/granola/index.d.ts +3 -0
  52. package/dist/bubbles/service-bubble/granola/index.d.ts.map +1 -0
  53. package/dist/bubbles/service-bubble/granola/index.js +3 -0
  54. package/dist/bubbles/service-bubble/granola/index.js.map +1 -0
  55. package/dist/bubbles/service-bubble/http.d.ts +6 -6
  56. package/dist/bubbles/service-bubble/hubspot/hubspot.d.ts +2 -2
  57. package/dist/bubbles/service-bubble/hubspot/hubspot.schema.d.ts +2 -2
  58. package/dist/bubbles/service-bubble/insforge-db.d.ts +8 -8
  59. package/dist/bubbles/service-bubble/jira/jira.d.ts +30 -30
  60. package/dist/bubbles/service-bubble/jira/jira.schema.d.ts +36 -36
  61. package/dist/bubbles/service-bubble/metabase/metabase.d.ts +2 -2
  62. package/dist/bubbles/service-bubble/metabase/metabase.schema.d.ts +2 -2
  63. package/dist/bubbles/service-bubble/notion/notion.d.ts +168 -168
  64. package/dist/bubbles/service-bubble/notion/property-schemas.d.ts +16 -16
  65. package/dist/bubbles/service-bubble/postgresql.d.ts +8 -8
  66. package/dist/bubbles/service-bubble/posthog/posthog.d.ts +10 -10
  67. package/dist/bubbles/service-bubble/posthog/posthog.schema.d.ts +14 -14
  68. package/dist/bubbles/service-bubble/resend.d.ts +12 -12
  69. package/dist/bubbles/service-bubble/slack/slack.d.ts +388 -388
  70. package/dist/bubbles/service-bubble/snowflake/snowflake.d.ts +4 -4
  71. package/dist/bubbles/service-bubble/snowflake/snowflake.schema.d.ts +4 -4
  72. package/dist/bubbles/service-bubble/sortly/sortly.d.ts +36 -36
  73. package/dist/bubbles/service-bubble/sortly/sortly.schema.d.ts +40 -40
  74. package/dist/bubbles/service-bubble/stripe/stripe.d.ts +24 -24
  75. package/dist/bubbles/service-bubble/stripe/stripe.schema.d.ts +28 -28
  76. package/dist/bubbles/service-bubble/xero/xero.d.ts +2 -2
  77. package/dist/bubbles/service-bubble/xero/xero.schema.d.ts +2 -2
  78. package/dist/bubbles/service-bubble/zendesk/zendesk.d.ts +20 -20
  79. package/dist/bubbles/service-bubble/zendesk/zendesk.schema.d.ts +20 -20
  80. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.d.ts +6 -6
  81. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.d.ts +8 -8
  82. package/dist/bubbles/tool-bubble/app-rankings-tool.d.ts +8 -8
  83. package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts +4 -4
  84. package/dist/bubbles/tool-bubble/chart-js-tool.d.ts +4 -4
  85. package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts +20 -20
  86. package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +384 -384
  87. package/dist/bubbles/tool-bubble/people-search-tool.d.ts +44 -44
  88. package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts +10 -10
  89. package/dist/bubbles/tool-bubble/research-agent-tool.d.ts +4 -4
  90. package/dist/bubbles/tool-bubble/sql-query-tool.d.ts +4 -4
  91. package/dist/bubbles/tool-bubble/tiktok-tool.d.ts +60 -60
  92. package/dist/bubbles/tool-bubble/twitter-tool.d.ts +134 -134
  93. package/dist/bubbles/tool-bubble/yc-scraper-tool.d.ts +8 -8
  94. package/dist/bubbles/tool-bubble/youtube-tool.d.ts +20 -20
  95. package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts +12 -12
  96. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +8 -8
  97. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts +2 -2
  98. package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +34 -34
  99. package/dist/bubbles.json +458 -2
  100. package/dist/index.d.ts +1 -0
  101. package/dist/index.d.ts.map +1 -1
  102. package/dist/index.js +1 -0
  103. package/dist/index.js.map +1 -1
  104. package/package.json +2 -2
@@ -123,12 +123,12 @@ declare const GoogleCalendarParamsSchema: z.ZodDiscriminatedUnion<"operation", [
123
123
  dateTime?: string | undefined;
124
124
  };
125
125
  operation: "create_event";
126
- calendar_id: string;
127
126
  end: {
128
127
  date?: string | undefined;
129
128
  timeZone?: string | undefined;
130
129
  dateTime?: string | undefined;
131
130
  };
131
+ calendar_id: string;
132
132
  conference: boolean;
133
133
  description?: string | undefined;
134
134
  credentials?: Partial<Record<CredentialType, string>> | undefined;
@@ -155,13 +155,13 @@ declare const GoogleCalendarParamsSchema: z.ZodDiscriminatedUnion<"operation", [
155
155
  description?: string | undefined;
156
156
  credentials?: Partial<Record<CredentialType, string>> | undefined;
157
157
  location?: string | undefined;
158
- calendar_id?: string | undefined;
159
158
  attendees?: {
160
159
  email: string;
161
160
  optional?: boolean | undefined;
162
161
  displayName?: string | undefined;
163
162
  responseStatus?: "needsAction" | "declined" | "tentative" | "accepted" | undefined;
164
163
  }[] | undefined;
164
+ calendar_id?: string | undefined;
165
165
  conference?: boolean | undefined;
166
166
  }>, z.ZodObject<{
167
167
  operation: z.ZodLiteral<"update_event">;
@@ -249,7 +249,6 @@ declare const GoogleCalendarParamsSchema: z.ZodDiscriminatedUnion<"operation", [
249
249
  dateTime?: string | undefined;
250
250
  } | undefined;
251
251
  location?: string | undefined;
252
- calendar_id?: string | undefined;
253
252
  end?: {
254
253
  date?: string | undefined;
255
254
  timeZone?: string | undefined;
@@ -261,6 +260,7 @@ declare const GoogleCalendarParamsSchema: z.ZodDiscriminatedUnion<"operation", [
261
260
  displayName?: string | undefined;
262
261
  responseStatus?: "needsAction" | "declined" | "tentative" | "accepted" | undefined;
263
262
  }[] | undefined;
263
+ calendar_id?: string | undefined;
264
264
  }>, z.ZodObject<{
265
265
  operation: z.ZodLiteral<"delete_event">;
266
266
  calendar_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
@@ -2206,12 +2206,12 @@ export declare class GoogleCalendarBubble<T extends GoogleCalendarParams = Googl
2206
2206
  dateTime?: string | undefined;
2207
2207
  };
2208
2208
  operation: "create_event";
2209
- calendar_id: string;
2210
2209
  end: {
2211
2210
  date?: string | undefined;
2212
2211
  timeZone?: string | undefined;
2213
2212
  dateTime?: string | undefined;
2214
2213
  };
2214
+ calendar_id: string;
2215
2215
  conference: boolean;
2216
2216
  description?: string | undefined;
2217
2217
  credentials?: Partial<Record<CredentialType, string>> | undefined;
@@ -2238,13 +2238,13 @@ export declare class GoogleCalendarBubble<T extends GoogleCalendarParams = Googl
2238
2238
  description?: string | undefined;
2239
2239
  credentials?: Partial<Record<CredentialType, string>> | undefined;
2240
2240
  location?: string | undefined;
2241
- calendar_id?: string | undefined;
2242
2241
  attendees?: {
2243
2242
  email: string;
2244
2243
  optional?: boolean | undefined;
2245
2244
  displayName?: string | undefined;
2246
2245
  responseStatus?: "needsAction" | "declined" | "tentative" | "accepted" | undefined;
2247
2246
  }[] | undefined;
2247
+ calendar_id?: string | undefined;
2248
2248
  conference?: boolean | undefined;
2249
2249
  }>, z.ZodObject<{
2250
2250
  operation: z.ZodLiteral<"update_event">;
@@ -2332,7 +2332,6 @@ export declare class GoogleCalendarBubble<T extends GoogleCalendarParams = Googl
2332
2332
  dateTime?: string | undefined;
2333
2333
  } | undefined;
2334
2334
  location?: string | undefined;
2335
- calendar_id?: string | undefined;
2336
2335
  end?: {
2337
2336
  date?: string | undefined;
2338
2337
  timeZone?: string | undefined;
@@ -2344,6 +2343,7 @@ export declare class GoogleCalendarBubble<T extends GoogleCalendarParams = Googl
2344
2343
  displayName?: string | undefined;
2345
2344
  responseStatus?: "needsAction" | "declined" | "tentative" | "accepted" | undefined;
2346
2345
  }[] | undefined;
2346
+ calendar_id?: string | undefined;
2347
2347
  }>, z.ZodObject<{
2348
2348
  operation: z.ZodLiteral<"delete_event">;
2349
2349
  calendar_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
@@ -15,15 +15,15 @@ declare const GoogleDriveParamsSchema: z.ZodDiscriminatedUnion<"operation", [z.Z
15
15
  content: string;
16
16
  operation: "upload_file";
17
17
  convert_to_google_docs: boolean;
18
- mimeType?: string | undefined;
19
18
  credentials?: Partial<Record<CredentialType, string>> | undefined;
19
+ mimeType?: string | undefined;
20
20
  parent_folder_id?: string | undefined;
21
21
  }, {
22
22
  name: string;
23
23
  content: string;
24
24
  operation: "upload_file";
25
- mimeType?: string | undefined;
26
25
  credentials?: Partial<Record<CredentialType, string>> | undefined;
26
+ mimeType?: string | undefined;
27
27
  parent_folder_id?: string | undefined;
28
28
  convert_to_google_docs?: boolean | undefined;
29
29
  }>, z.ZodObject<{
@@ -932,15 +932,15 @@ export declare class GoogleDriveBubble<T extends GoogleDriveParams = GoogleDrive
932
932
  content: string;
933
933
  operation: "upload_file";
934
934
  convert_to_google_docs: boolean;
935
- mimeType?: string | undefined;
936
935
  credentials?: Partial<Record<CredentialType, string>> | undefined;
936
+ mimeType?: string | undefined;
937
937
  parent_folder_id?: string | undefined;
938
938
  }, {
939
939
  name: string;
940
940
  content: string;
941
941
  operation: "upload_file";
942
- mimeType?: string | undefined;
943
942
  credentials?: Partial<Record<CredentialType, string>> | undefined;
943
+ mimeType?: string | undefined;
944
944
  parent_folder_id?: string | undefined;
945
945
  convert_to_google_docs?: boolean | undefined;
946
946
  }>, z.ZodObject<{
@@ -0,0 +1,446 @@
1
+ import { CredentialType } from '@bubblelab/shared-schemas';
2
+ import { ServiceBubble } from '../../../types/service-bubble-class.js';
3
+ import type { BubbleContext } from '../../../types/bubble.js';
4
+ import { type GranolaParamsInput, type GranolaResult } from './granola.schema.js';
5
+ /**
6
+ * GranolaBubble - Integration with Granola meeting notes API
7
+ *
8
+ * Provides read-only operations for accessing Granola meeting notes:
9
+ * - List notes with pagination and date filtering
10
+ * - Get note details with optional transcript
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * // List recent notes
15
+ * const result = await new GranolaBubble({
16
+ * operation: 'list_notes',
17
+ * page_size: 10,
18
+ * }).action();
19
+ *
20
+ * // Get a specific note with transcript
21
+ * const note = await new GranolaBubble({
22
+ * operation: 'get_note',
23
+ * note_id: 'not_1d3tmYTlCICgjy',
24
+ * include_transcript: true,
25
+ * }).action();
26
+ * ```
27
+ */
28
+ export declare class GranolaBubble<T extends GranolaParamsInput = GranolaParamsInput> extends ServiceBubble<T, Extract<GranolaResult, {
29
+ operation: T['operation'];
30
+ }>> {
31
+ static readonly service = "granola";
32
+ static readonly authType: "apikey";
33
+ static readonly bubbleName: "granola";
34
+ static readonly type: "service";
35
+ static readonly schema: import("zod").ZodDiscriminatedUnion<"operation", [import("zod").ZodObject<{
36
+ operation: import("zod").ZodEffects<import("zod").ZodLiteral<"list_notes">, "list_notes", "list_notes">;
37
+ created_before: import("zod").ZodOptional<import("zod").ZodString>;
38
+ created_after: import("zod").ZodOptional<import("zod").ZodString>;
39
+ updated_after: import("zod").ZodOptional<import("zod").ZodString>;
40
+ cursor: import("zod").ZodOptional<import("zod").ZodString>;
41
+ page_size: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
42
+ credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
43
+ }, "strip", import("zod").ZodTypeAny, {
44
+ operation: "list_notes";
45
+ page_size: number;
46
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
47
+ cursor?: string | undefined;
48
+ created_before?: string | undefined;
49
+ created_after?: string | undefined;
50
+ updated_after?: string | undefined;
51
+ }, {
52
+ operation: "list_notes";
53
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
54
+ cursor?: string | undefined;
55
+ page_size?: number | undefined;
56
+ created_before?: string | undefined;
57
+ created_after?: string | undefined;
58
+ updated_after?: string | undefined;
59
+ }>, import("zod").ZodObject<{
60
+ operation: import("zod").ZodEffects<import("zod").ZodLiteral<"get_note">, "get_note", "get_note">;
61
+ note_id: import("zod").ZodString;
62
+ include_transcript: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
63
+ credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
64
+ }, "strip", import("zod").ZodTypeAny, {
65
+ operation: "get_note";
66
+ note_id: string;
67
+ include_transcript: boolean;
68
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
69
+ }, {
70
+ operation: "get_note";
71
+ note_id: string;
72
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
73
+ include_transcript?: boolean | undefined;
74
+ }>]>;
75
+ static readonly resultSchema: import("zod").ZodDiscriminatedUnion<"operation", [import("zod").ZodObject<{
76
+ operation: import("zod").ZodLiteral<"list_notes">;
77
+ success: import("zod").ZodBoolean;
78
+ notes: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
79
+ id: import("zod").ZodString;
80
+ object: import("zod").ZodLiteral<"note">;
81
+ title: import("zod").ZodNullable<import("zod").ZodString>;
82
+ owner: import("zod").ZodObject<{
83
+ name: import("zod").ZodNullable<import("zod").ZodString>;
84
+ email: import("zod").ZodString;
85
+ }, "strip", import("zod").ZodTypeAny, {
86
+ name: string | null;
87
+ email: string;
88
+ }, {
89
+ name: string | null;
90
+ email: string;
91
+ }>;
92
+ created_at: import("zod").ZodString;
93
+ updated_at: import("zod").ZodString;
94
+ }, "strip", import("zod").ZodTypeAny, {
95
+ object: "note";
96
+ title: string | null;
97
+ id: string;
98
+ created_at: string;
99
+ owner: {
100
+ name: string | null;
101
+ email: string;
102
+ };
103
+ updated_at: string;
104
+ }, {
105
+ object: "note";
106
+ title: string | null;
107
+ id: string;
108
+ created_at: string;
109
+ owner: {
110
+ name: string | null;
111
+ email: string;
112
+ };
113
+ updated_at: string;
114
+ }>, "many">>;
115
+ hasMore: import("zod").ZodOptional<import("zod").ZodBoolean>;
116
+ cursor: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
117
+ error: import("zod").ZodString;
118
+ }, "strip", import("zod").ZodTypeAny, {
119
+ error: string;
120
+ success: boolean;
121
+ operation: "list_notes";
122
+ cursor?: string | null | undefined;
123
+ notes?: {
124
+ object: "note";
125
+ title: string | null;
126
+ id: string;
127
+ created_at: string;
128
+ owner: {
129
+ name: string | null;
130
+ email: string;
131
+ };
132
+ updated_at: string;
133
+ }[] | undefined;
134
+ hasMore?: boolean | undefined;
135
+ }, {
136
+ error: string;
137
+ success: boolean;
138
+ operation: "list_notes";
139
+ cursor?: string | null | undefined;
140
+ notes?: {
141
+ object: "note";
142
+ title: string | null;
143
+ id: string;
144
+ created_at: string;
145
+ owner: {
146
+ name: string | null;
147
+ email: string;
148
+ };
149
+ updated_at: string;
150
+ }[] | undefined;
151
+ hasMore?: boolean | undefined;
152
+ }>, import("zod").ZodObject<{
153
+ operation: import("zod").ZodLiteral<"get_note">;
154
+ success: import("zod").ZodBoolean;
155
+ note: import("zod").ZodOptional<import("zod").ZodObject<{
156
+ id: import("zod").ZodString;
157
+ object: import("zod").ZodLiteral<"note">;
158
+ title: import("zod").ZodNullable<import("zod").ZodString>;
159
+ owner: import("zod").ZodObject<{
160
+ name: import("zod").ZodNullable<import("zod").ZodString>;
161
+ email: import("zod").ZodString;
162
+ }, "strip", import("zod").ZodTypeAny, {
163
+ name: string | null;
164
+ email: string;
165
+ }, {
166
+ name: string | null;
167
+ email: string;
168
+ }>;
169
+ created_at: import("zod").ZodString;
170
+ updated_at: import("zod").ZodString;
171
+ } & {
172
+ calendar_event: import("zod").ZodNullable<import("zod").ZodObject<{
173
+ event_title: import("zod").ZodNullable<import("zod").ZodString>;
174
+ invitees: import("zod").ZodArray<import("zod").ZodObject<{
175
+ email: import("zod").ZodString;
176
+ }, "strip", import("zod").ZodTypeAny, {
177
+ email: string;
178
+ }, {
179
+ email: string;
180
+ }>, "many">;
181
+ organiser: import("zod").ZodNullable<import("zod").ZodString>;
182
+ calendar_event_id: import("zod").ZodNullable<import("zod").ZodString>;
183
+ scheduled_start_time: import("zod").ZodNullable<import("zod").ZodString>;
184
+ scheduled_end_time: import("zod").ZodNullable<import("zod").ZodString>;
185
+ }, "strip", import("zod").ZodTypeAny, {
186
+ event_title: string | null;
187
+ invitees: {
188
+ email: string;
189
+ }[];
190
+ organiser: string | null;
191
+ calendar_event_id: string | null;
192
+ scheduled_start_time: string | null;
193
+ scheduled_end_time: string | null;
194
+ }, {
195
+ event_title: string | null;
196
+ invitees: {
197
+ email: string;
198
+ }[];
199
+ organiser: string | null;
200
+ calendar_event_id: string | null;
201
+ scheduled_start_time: string | null;
202
+ scheduled_end_time: string | null;
203
+ }>>;
204
+ attendees: import("zod").ZodArray<import("zod").ZodObject<{
205
+ name: import("zod").ZodNullable<import("zod").ZodString>;
206
+ email: import("zod").ZodString;
207
+ }, "strip", import("zod").ZodTypeAny, {
208
+ name: string | null;
209
+ email: string;
210
+ }, {
211
+ name: string | null;
212
+ email: string;
213
+ }>, "many">;
214
+ folder_membership: import("zod").ZodArray<import("zod").ZodObject<{
215
+ id: import("zod").ZodString;
216
+ object: import("zod").ZodLiteral<"folder">;
217
+ name: import("zod").ZodString;
218
+ }, "strip", import("zod").ZodTypeAny, {
219
+ object: "folder";
220
+ name: string;
221
+ id: string;
222
+ }, {
223
+ object: "folder";
224
+ name: string;
225
+ id: string;
226
+ }>, "many">;
227
+ summary_text: import("zod").ZodString;
228
+ summary_markdown: import("zod").ZodNullable<import("zod").ZodString>;
229
+ transcript: import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodObject<{
230
+ speaker: import("zod").ZodObject<{
231
+ source: import("zod").ZodEnum<["microphone", "speaker"]>;
232
+ diarization_label: import("zod").ZodOptional<import("zod").ZodString>;
233
+ }, "strip", import("zod").ZodTypeAny, {
234
+ source: "microphone" | "speaker";
235
+ diarization_label?: string | undefined;
236
+ }, {
237
+ source: "microphone" | "speaker";
238
+ diarization_label?: string | undefined;
239
+ }>;
240
+ text: import("zod").ZodString;
241
+ start_time: import("zod").ZodString;
242
+ end_time: import("zod").ZodString;
243
+ }, "strip", import("zod").ZodTypeAny, {
244
+ text: string;
245
+ speaker: {
246
+ source: "microphone" | "speaker";
247
+ diarization_label?: string | undefined;
248
+ };
249
+ start_time: string;
250
+ end_time: string;
251
+ }, {
252
+ text: string;
253
+ speaker: {
254
+ source: "microphone" | "speaker";
255
+ diarization_label?: string | undefined;
256
+ };
257
+ start_time: string;
258
+ end_time: string;
259
+ }>, "many">>;
260
+ }, "strip", import("zod").ZodTypeAny, {
261
+ object: "note";
262
+ title: string | null;
263
+ id: string;
264
+ created_at: string;
265
+ owner: {
266
+ name: string | null;
267
+ email: string;
268
+ };
269
+ attendees: {
270
+ name: string | null;
271
+ email: string;
272
+ }[];
273
+ updated_at: string;
274
+ calendar_event: {
275
+ event_title: string | null;
276
+ invitees: {
277
+ email: string;
278
+ }[];
279
+ organiser: string | null;
280
+ calendar_event_id: string | null;
281
+ scheduled_start_time: string | null;
282
+ scheduled_end_time: string | null;
283
+ } | null;
284
+ folder_membership: {
285
+ object: "folder";
286
+ name: string;
287
+ id: string;
288
+ }[];
289
+ summary_text: string;
290
+ summary_markdown: string | null;
291
+ transcript: {
292
+ text: string;
293
+ speaker: {
294
+ source: "microphone" | "speaker";
295
+ diarization_label?: string | undefined;
296
+ };
297
+ start_time: string;
298
+ end_time: string;
299
+ }[] | null;
300
+ }, {
301
+ object: "note";
302
+ title: string | null;
303
+ id: string;
304
+ created_at: string;
305
+ owner: {
306
+ name: string | null;
307
+ email: string;
308
+ };
309
+ attendees: {
310
+ name: string | null;
311
+ email: string;
312
+ }[];
313
+ updated_at: string;
314
+ calendar_event: {
315
+ event_title: string | null;
316
+ invitees: {
317
+ email: string;
318
+ }[];
319
+ organiser: string | null;
320
+ calendar_event_id: string | null;
321
+ scheduled_start_time: string | null;
322
+ scheduled_end_time: string | null;
323
+ } | null;
324
+ folder_membership: {
325
+ object: "folder";
326
+ name: string;
327
+ id: string;
328
+ }[];
329
+ summary_text: string;
330
+ summary_markdown: string | null;
331
+ transcript: {
332
+ text: string;
333
+ speaker: {
334
+ source: "microphone" | "speaker";
335
+ diarization_label?: string | undefined;
336
+ };
337
+ start_time: string;
338
+ end_time: string;
339
+ }[] | null;
340
+ }>>;
341
+ error: import("zod").ZodString;
342
+ }, "strip", import("zod").ZodTypeAny, {
343
+ error: string;
344
+ success: boolean;
345
+ operation: "get_note";
346
+ note?: {
347
+ object: "note";
348
+ title: string | null;
349
+ id: string;
350
+ created_at: string;
351
+ owner: {
352
+ name: string | null;
353
+ email: string;
354
+ };
355
+ attendees: {
356
+ name: string | null;
357
+ email: string;
358
+ }[];
359
+ updated_at: string;
360
+ calendar_event: {
361
+ event_title: string | null;
362
+ invitees: {
363
+ email: string;
364
+ }[];
365
+ organiser: string | null;
366
+ calendar_event_id: string | null;
367
+ scheduled_start_time: string | null;
368
+ scheduled_end_time: string | null;
369
+ } | null;
370
+ folder_membership: {
371
+ object: "folder";
372
+ name: string;
373
+ id: string;
374
+ }[];
375
+ summary_text: string;
376
+ summary_markdown: string | null;
377
+ transcript: {
378
+ text: string;
379
+ speaker: {
380
+ source: "microphone" | "speaker";
381
+ diarization_label?: string | undefined;
382
+ };
383
+ start_time: string;
384
+ end_time: string;
385
+ }[] | null;
386
+ } | undefined;
387
+ }, {
388
+ error: string;
389
+ success: boolean;
390
+ operation: "get_note";
391
+ note?: {
392
+ object: "note";
393
+ title: string | null;
394
+ id: string;
395
+ created_at: string;
396
+ owner: {
397
+ name: string | null;
398
+ email: string;
399
+ };
400
+ attendees: {
401
+ name: string | null;
402
+ email: string;
403
+ }[];
404
+ updated_at: string;
405
+ calendar_event: {
406
+ event_title: string | null;
407
+ invitees: {
408
+ email: string;
409
+ }[];
410
+ organiser: string | null;
411
+ calendar_event_id: string | null;
412
+ scheduled_start_time: string | null;
413
+ scheduled_end_time: string | null;
414
+ } | null;
415
+ folder_membership: {
416
+ object: "folder";
417
+ name: string;
418
+ id: string;
419
+ }[];
420
+ summary_text: string;
421
+ summary_markdown: string | null;
422
+ transcript: {
423
+ text: string;
424
+ speaker: {
425
+ source: "microphone" | "speaker";
426
+ diarization_label?: string | undefined;
427
+ };
428
+ start_time: string;
429
+ end_time: string;
430
+ }[] | null;
431
+ } | undefined;
432
+ }>]>;
433
+ static readonly shortDescription = "Granola meeting notes and transcription integration";
434
+ static readonly longDescription = "\n Granola is an AI meeting notes tool that captures and summarizes meetings.\n This bubble provides read-only access to:\n - List meeting notes with filtering by creation/update dates\n - Paginate through notes using cursor-based pagination\n - Get full note details including summaries, attendees, and calendar events\n - Optionally retrieve meeting transcripts\n\n Authentication:\n - Uses Bearer token (API key) from Granola Settings > API\n - Requires Business or Enterprise plan for personal keys\n - Enterprise keys access all Team space notes\n\n Rate Limits:\n - 25 request burst capacity\n - 5 requests/second sustained rate\n ";
435
+ static readonly alias = "granola-notes";
436
+ constructor(params?: T, context?: BubbleContext);
437
+ protected chooseCredential(): string | undefined;
438
+ testCredential(): Promise<boolean>;
439
+ protected performAction(context?: BubbleContext): Promise<Extract<GranolaResult, {
440
+ operation: T['operation'];
441
+ }>>;
442
+ private listNotes;
443
+ private getNote;
444
+ private makeGranolaRequest;
445
+ }
446
+ //# sourceMappingURL=granola.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"granola.d.ts","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/granola/granola.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAIL,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAGnB,MAAM,qBAAqB,CAAC;AAI7B;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,aAAa,CACxB,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,CACjD,SAAQ,aAAa,CACrB,CAAC,EACD,OAAO,CAAC,aAAa,EAAE;IAAE,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAA;CAAE,CAAC,CACtD;IACC,MAAM,CAAC,QAAQ,CAAC,OAAO,aAAa;IACpC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;IAC7C,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAG,SAAS,CAAU;IAChD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,SAAS,CAAU;IAC1C,MAAM,CAAC,QAAQ,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAuB;IAC7C,MAAM,CAAC,QAAQ,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAuB;IACnD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,yDACwB;IACxD,MAAM,CAAC,QAAQ,CAAC,eAAe,2qBAgB7B;IACF,MAAM,CAAC,QAAQ,CAAC,KAAK,mBAAmB;gBAGtC,MAAM,GAAE,CAGF,EACN,OAAO,CAAC,EAAE,aAAa;IAKzB,SAAS,CAAC,gBAAgB,IAAI,MAAM,GAAG,SAAS;IAS1C,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;cAqBxB,aAAa,CAC3B,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE;QAAE,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAA;KAAE,CAAC,CAAC;YAsCnD,SAAS;YA0CT,OAAO;YAoCP,kBAAkB;CAcjC"}