@bubblelab/bubble-core 0.1.170 → 0.1.172

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 (87) hide show
  1. package/dist/bubble-bundle.d.ts +157 -112
  2. package/dist/bubble-factory.d.ts.map +1 -1
  3. package/dist/bubble-factory.js +4 -0
  4. package/dist/bubble-factory.js.map +1 -1
  5. package/dist/bubbles/service-bubble/ai-agent.d.ts +84 -84
  6. package/dist/bubbles/service-bubble/airtable.d.ts +100 -100
  7. package/dist/bubbles/service-bubble/apify/actors/instagram-hashtag-scraper.d.ts +2 -2
  8. package/dist/bubbles/service-bubble/apify/actors/instagram-scraper.d.ts +8 -8
  9. package/dist/bubbles/service-bubble/apify/actors/linkedin-jobs-scraper.d.ts +2 -2
  10. package/dist/bubbles/service-bubble/apify/actors/linkedin-posts-search.d.ts +22 -22
  11. package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-detail.d.ts +38 -38
  12. package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-posts.d.ts +52 -52
  13. package/dist/bubbles/service-bubble/apify/actors/tiktok-scraper.d.ts +6 -6
  14. package/dist/bubbles/service-bubble/apify/actors/twitter-scraper.d.ts +12 -12
  15. package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.d.ts +12 -12
  16. package/dist/bubbles/service-bubble/apify/apify-scraper.schema.d.ts +126 -126
  17. package/dist/bubbles/service-bubble/apify/apify.d.ts +14 -14
  18. package/dist/bubbles/service-bubble/ashby/ashby.d.ts +74 -74
  19. package/dist/bubbles/service-bubble/ashby/ashby.schema.d.ts +102 -102
  20. package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts +3 -3
  21. package/dist/bubbles/service-bubble/browserbase/browserbase.schema.d.ts +3 -3
  22. package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts +4 -4
  23. package/dist/bubbles/service-bubble/crustdata/crustdata.schema.d.ts +8 -8
  24. package/dist/bubbles/service-bubble/firecrawl.d.ts +202 -202
  25. package/dist/bubbles/service-bubble/followupboss.d.ts +4 -4
  26. package/dist/bubbles/service-bubble/github.d.ts +12 -12
  27. package/dist/bubbles/service-bubble/gmail.d.ts +16 -16
  28. package/dist/bubbles/service-bubble/google-calendar.d.ts +80 -80
  29. package/dist/bubbles/service-bubble/google-drive.d.ts +40 -40
  30. package/dist/bubbles/service-bubble/http.d.ts +6 -6
  31. package/dist/bubbles/service-bubble/insforge-db.d.ts +6 -6
  32. package/dist/bubbles/service-bubble/jira/jira.d.ts +16 -16
  33. package/dist/bubbles/service-bubble/jira/jira.schema.d.ts +18 -18
  34. package/dist/bubbles/service-bubble/linear/index.d.ts +5 -0
  35. package/dist/bubbles/service-bubble/linear/index.d.ts.map +1 -0
  36. package/dist/bubbles/service-bubble/linear/index.js +5 -0
  37. package/dist/bubbles/service-bubble/linear/index.js.map +1 -0
  38. package/dist/bubbles/service-bubble/linear/linear.d.ts +1695 -0
  39. package/dist/bubbles/service-bubble/linear/linear.d.ts.map +1 -0
  40. package/dist/bubbles/service-bubble/linear/linear.integration.flow.d.ts +33 -0
  41. package/dist/bubbles/service-bubble/linear/linear.integration.flow.d.ts.map +1 -0
  42. package/dist/bubbles/service-bubble/linear/linear.integration.flow.js +432 -0
  43. package/dist/bubbles/service-bubble/linear/linear.integration.flow.js.map +1 -0
  44. package/dist/bubbles/service-bubble/linear/linear.js +463 -0
  45. package/dist/bubbles/service-bubble/linear/linear.js.map +1 -0
  46. package/dist/bubbles/service-bubble/linear/linear.schema.d.ts +2059 -0
  47. package/dist/bubbles/service-bubble/linear/linear.schema.d.ts.map +1 -0
  48. package/dist/bubbles/service-bubble/linear/linear.schema.js +444 -0
  49. package/dist/bubbles/service-bubble/linear/linear.schema.js.map +1 -0
  50. package/dist/bubbles/service-bubble/linear/linear.utils.d.ts +24 -0
  51. package/dist/bubbles/service-bubble/linear/linear.utils.d.ts.map +1 -0
  52. package/dist/bubbles/service-bubble/linear/linear.utils.js +288 -0
  53. package/dist/bubbles/service-bubble/linear/linear.utils.js.map +1 -0
  54. package/dist/bubbles/service-bubble/notion/notion.d.ts +272 -272
  55. package/dist/bubbles/service-bubble/notion/property-schemas.d.ts +8 -8
  56. package/dist/bubbles/service-bubble/postgresql.d.ts +6 -6
  57. package/dist/bubbles/service-bubble/posthog/posthog.d.ts +8 -8
  58. package/dist/bubbles/service-bubble/posthog/posthog.schema.d.ts +12 -12
  59. package/dist/bubbles/service-bubble/resend.d.ts +4 -4
  60. package/dist/bubbles/service-bubble/slack/slack.d.ts +160 -160
  61. package/dist/bubbles/service-bubble/stripe/stripe.d.ts +24 -24
  62. package/dist/bubbles/service-bubble/stripe/stripe.schema.d.ts +28 -28
  63. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.d.ts +6 -6
  64. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.d.ts +8 -8
  65. package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts +10 -10
  66. package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +106 -106
  67. package/dist/bubbles/tool-bubble/list-capabilities-tool.d.ts +8 -8
  68. package/dist/bubbles/tool-bubble/people-search-tool.d.ts +10 -10
  69. package/dist/bubbles/tool-bubble/research-agent-tool.d.ts +4 -4
  70. package/dist/bubbles/tool-bubble/sql-query-tool.d.ts +4 -4
  71. package/dist/bubbles/tool-bubble/tiktok-tool.d.ts +8 -8
  72. package/dist/bubbles/tool-bubble/twitter-tool.d.ts +54 -54
  73. package/dist/bubbles/tool-bubble/web-crawl-tool.d.ts +4 -4
  74. package/dist/bubbles/tool-bubble/web-extract-tool.d.ts +4 -4
  75. package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts +8 -8
  76. package/dist/bubbles/tool-bubble/yc-scraper-tool.d.ts +8 -8
  77. package/dist/bubbles/tool-bubble/youtube-tool.d.ts +20 -20
  78. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +44 -44
  79. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts +16 -16
  80. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts +2 -2
  81. package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +34 -34
  82. package/dist/bubbles.json +1357 -2
  83. package/dist/index.d.ts +2 -0
  84. package/dist/index.d.ts.map +1 -1
  85. package/dist/index.js +1 -0
  86. package/dist/index.js.map +1 -1
  87. package/package.json +2 -2
@@ -0,0 +1,288 @@
1
+ /**
2
+ * Linear GraphQL API utilities
3
+ */
4
+ const LINEAR_API_URL = 'https://api.linear.app/graphql';
5
+ /**
6
+ * Execute a GraphQL query against the Linear API
7
+ */
8
+ export async function makeGraphQLRequest(accessToken, query, variables) {
9
+ const controller = new AbortController();
10
+ const timeout = setTimeout(() => controller.abort(), 30_000);
11
+ let response;
12
+ try {
13
+ response = await fetch(LINEAR_API_URL, {
14
+ method: 'POST',
15
+ headers: {
16
+ 'Content-Type': 'application/json',
17
+ Authorization: accessToken,
18
+ },
19
+ body: JSON.stringify({ query, variables }),
20
+ signal: controller.signal,
21
+ });
22
+ }
23
+ catch (err) {
24
+ clearTimeout(timeout);
25
+ if (err instanceof Error && err.name === 'AbortError') {
26
+ throw new Error('Linear API request timed out after 30 seconds');
27
+ }
28
+ throw err;
29
+ }
30
+ clearTimeout(timeout);
31
+ if (!response.ok) {
32
+ const errorText = await response.text();
33
+ const enhancedError = enhanceErrorMessage(errorText, response.status, response.statusText);
34
+ throw new Error(enhancedError);
35
+ }
36
+ const result = (await response.json());
37
+ if (result.errors && result.errors.length > 0) {
38
+ const errorMessages = result.errors.map((e) => e.message).join('; ');
39
+ throw new Error(`Linear GraphQL error: ${errorMessages}`);
40
+ }
41
+ return result.data || {};
42
+ }
43
+ /**
44
+ * Enhance error messages with helpful hints
45
+ */
46
+ export function enhanceErrorMessage(errorText, statusCode, statusText) {
47
+ let enhanced = `Linear API error (${statusCode} ${statusText}): ${errorText}`;
48
+ switch (statusCode) {
49
+ case 400:
50
+ enhanced +=
51
+ '\n\nHint: Check your query parameters. The request was malformed.';
52
+ break;
53
+ case 401:
54
+ enhanced +=
55
+ '\n\nHint: Your Linear credentials may be expired or invalid. Try reconnecting your Linear account.';
56
+ break;
57
+ case 403:
58
+ enhanced +=
59
+ '\n\nHint: You may not have permission to perform this action. Check your Linear workspace permissions.';
60
+ break;
61
+ case 404:
62
+ enhanced +=
63
+ '\n\nHint: The requested resource was not found. Verify the issue ID/identifier exists.';
64
+ break;
65
+ case 429:
66
+ enhanced +=
67
+ '\n\nHint: Rate limited by Linear API. Wait a moment before retrying.';
68
+ break;
69
+ }
70
+ return enhanced;
71
+ }
72
+ // ============================================================================
73
+ // GRAPHQL QUERIES
74
+ // ============================================================================
75
+ const ISSUE_FIELDS = `
76
+ id
77
+ identifier
78
+ title
79
+ description
80
+ priority
81
+ priorityLabel
82
+ url
83
+ createdAt
84
+ updatedAt
85
+ dueDate
86
+ estimate
87
+ state {
88
+ id
89
+ name
90
+ type
91
+ color
92
+ }
93
+ assignee {
94
+ id
95
+ name
96
+ email
97
+ }
98
+ team {
99
+ id
100
+ name
101
+ key
102
+ }
103
+ project {
104
+ id
105
+ name
106
+ state
107
+ }
108
+ labels {
109
+ nodes {
110
+ id
111
+ name
112
+ color
113
+ }
114
+ }
115
+ `;
116
+ export function buildSearchQuery() {
117
+ return `
118
+ query SearchIssues($filter: IssueFilter, $first: Int, $includeArchived: Boolean) {
119
+ issues(filter: $filter, first: $first, includeArchived: $includeArchived) {
120
+ nodes {
121
+ ${ISSUE_FIELDS}
122
+ }
123
+ pageInfo {
124
+ hasNextPage
125
+ endCursor
126
+ }
127
+ }
128
+ }
129
+ `;
130
+ }
131
+ export function buildSearchByTextQuery() {
132
+ return `
133
+ query SearchIssuesByText($term: String!, $first: Int) {
134
+ searchIssues(term: $term, first: $first) {
135
+ nodes {
136
+ ${ISSUE_FIELDS}
137
+ }
138
+ totalCount
139
+ }
140
+ }
141
+ `;
142
+ }
143
+ export function buildGetIssueQuery() {
144
+ return `
145
+ query GetIssue($id: String!) {
146
+ issue(id: $id) {
147
+ ${ISSUE_FIELDS}
148
+ }
149
+ }
150
+ `;
151
+ }
152
+ export function buildCreateIssueMutation() {
153
+ return `
154
+ mutation CreateIssue($input: IssueCreateInput!) {
155
+ issueCreate(input: $input) {
156
+ success
157
+ issue {
158
+ id
159
+ identifier
160
+ url
161
+ }
162
+ }
163
+ }
164
+ `;
165
+ }
166
+ export function buildUpdateIssueMutation() {
167
+ return `
168
+ mutation UpdateIssue($id: String!, $input: IssueUpdateInput!) {
169
+ issueUpdate(id: $id, input: $input) {
170
+ success
171
+ issue {
172
+ id
173
+ identifier
174
+ }
175
+ }
176
+ }
177
+ `;
178
+ }
179
+ export function buildListTeamsQuery() {
180
+ return `
181
+ query ListTeams {
182
+ teams {
183
+ nodes {
184
+ id
185
+ name
186
+ key
187
+ }
188
+ }
189
+ }
190
+ `;
191
+ }
192
+ export function buildListProjectsQuery() {
193
+ return `
194
+ query ListProjects($filter: ProjectFilter, $first: Int, $includeArchived: Boolean) {
195
+ projects(filter: $filter, first: $first, includeArchived: $includeArchived) {
196
+ nodes {
197
+ id
198
+ name
199
+ state
200
+ }
201
+ }
202
+ }
203
+ `;
204
+ }
205
+ export function buildListWorkflowStatesQuery() {
206
+ return `
207
+ query ListWorkflowStates($filter: WorkflowStateFilter) {
208
+ workflowStates(filter: $filter) {
209
+ nodes {
210
+ id
211
+ name
212
+ type
213
+ color
214
+ }
215
+ }
216
+ }
217
+ `;
218
+ }
219
+ export function buildAddCommentMutation() {
220
+ return `
221
+ mutation AddComment($input: CommentCreateInput!) {
222
+ commentCreate(input: $input) {
223
+ success
224
+ comment {
225
+ id
226
+ body
227
+ createdAt
228
+ updatedAt
229
+ user {
230
+ id
231
+ name
232
+ email
233
+ }
234
+ }
235
+ }
236
+ }
237
+ `;
238
+ }
239
+ export function buildGetCommentsQuery() {
240
+ return `
241
+ query GetComments($issueId: String!, $first: Int) {
242
+ issue(id: $issueId) {
243
+ comments(first: $first) {
244
+ nodes {
245
+ id
246
+ body
247
+ createdAt
248
+ updatedAt
249
+ user {
250
+ id
251
+ name
252
+ email
253
+ }
254
+ }
255
+ }
256
+ }
257
+ }
258
+ `;
259
+ }
260
+ export function buildListLabelsQuery() {
261
+ return `
262
+ query ListLabels($filter: IssueLabelFilter) {
263
+ issueLabels(filter: $filter) {
264
+ nodes {
265
+ id
266
+ name
267
+ color
268
+ }
269
+ }
270
+ }
271
+ `;
272
+ }
273
+ export function buildGetViewerQuery() {
274
+ return `
275
+ query Viewer {
276
+ viewer {
277
+ id
278
+ name
279
+ email
280
+ organization {
281
+ id
282
+ name
283
+ }
284
+ }
285
+ }
286
+ `;
287
+ }
288
+ //# sourceMappingURL=linear.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linear.utils.js","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/linear/linear.utils.ts"],"names":[],"mappings":"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"}