@bubblelab/bubble-core 0.1.221 → 0.1.223
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.
- package/dist/bubble-bundle.d.ts +211 -172
- package/dist/bubble-factory.d.ts.map +1 -1
- package/dist/bubble-factory.js +3 -0
- package/dist/bubble-factory.js.map +1 -1
- package/dist/bubbles/service-bubble/agi-inc.d.ts +20 -20
- package/dist/bubbles/service-bubble/ai-agent.d.ts +84 -84
- package/dist/bubbles/service-bubble/airtable.d.ts +104 -104
- package/dist/bubbles/service-bubble/apify/actors/instagram-hashtag-scraper.d.ts +2 -2
- package/dist/bubbles/service-bubble/apify/actors/instagram-scraper.d.ts +8 -8
- package/dist/bubbles/service-bubble/apify/actors/linkedin-jobs-scraper.d.ts +2 -2
- package/dist/bubbles/service-bubble/apify/actors/linkedin-posts-search.d.ts +22 -22
- package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-detail.d.ts +38 -38
- package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-posts.d.ts +52 -52
- package/dist/bubbles/service-bubble/apify/actors/tiktok-scraper.d.ts +6 -6
- package/dist/bubbles/service-bubble/apify/actors/twitter-scraper.d.ts +12 -12
- package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.d.ts +12 -12
- package/dist/bubbles/service-bubble/apify/apify-scraper.schema.d.ts +126 -126
- package/dist/bubbles/service-bubble/apify/apify.d.ts +22 -22
- package/dist/bubbles/service-bubble/ashby/ashby.d.ts +140 -140
- package/dist/bubbles/service-bubble/ashby/ashby.schema.d.ts +194 -194
- package/dist/bubbles/service-bubble/assembled/assembled.d.ts +16 -16
- package/dist/bubbles/service-bubble/assembled/assembled.schema.d.ts +6 -6
- package/dist/bubbles/service-bubble/attio/attio.d.ts +6 -6
- package/dist/bubbles/service-bubble/attio/attio.schema.d.ts +6 -6
- package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts +7 -7
- package/dist/bubbles/service-bubble/browserbase/browserbase.schema.d.ts +9 -9
- package/dist/bubbles/service-bubble/confluence/confluence.d.ts +6 -6
- package/dist/bubbles/service-bubble/confluence/confluence.schema.d.ts +6 -6
- package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts +130 -130
- package/dist/bubbles/service-bubble/crustdata/crustdata.schema.d.ts +162 -162
- package/dist/bubbles/service-bubble/eleven-labs.d.ts +8 -8
- package/dist/bubbles/service-bubble/firecrawl.d.ts +910 -910
- package/dist/bubbles/service-bubble/followupboss.d.ts +8 -8
- package/dist/bubbles/service-bubble/fullenrich/fullenrich.d.ts +44 -44
- package/dist/bubbles/service-bubble/fullenrich/fullenrich.schema.d.ts +84 -84
- package/dist/bubbles/service-bubble/github.d.ts +210 -210
- package/dist/bubbles/service-bubble/gmail.d.ts +188 -188
- package/dist/bubbles/service-bubble/google-calendar.d.ts +90 -90
- package/dist/bubbles/service-bubble/google-drive.d.ts +44 -44
- package/dist/bubbles/service-bubble/google-sheets/google-sheets.d.ts +10 -10
- package/dist/bubbles/service-bubble/google-sheets/google-sheets.schema.d.ts +10 -10
- package/dist/bubbles/service-bubble/http.d.ts +14 -14
- package/dist/bubbles/service-bubble/hubspot/hubspot.d.ts +27 -27
- package/dist/bubbles/service-bubble/hubspot/hubspot.schema.d.ts +27 -27
- package/dist/bubbles/service-bubble/insforge-db.d.ts +12 -12
- package/dist/bubbles/service-bubble/jira/jira.d.ts +18 -18
- package/dist/bubbles/service-bubble/jira/jira.schema.d.ts +20 -20
- package/dist/bubbles/service-bubble/linear/linear.d.ts +2 -2
- package/dist/bubbles/service-bubble/linear/linear.schema.d.ts +2 -2
- package/dist/bubbles/service-bubble/notion/notion.d.ts +694 -694
- package/dist/bubbles/service-bubble/notion/property-schemas.d.ts +8 -8
- package/dist/bubbles/service-bubble/postgresql.d.ts +14 -14
- package/dist/bubbles/service-bubble/posthog/posthog.d.ts +20 -20
- package/dist/bubbles/service-bubble/posthog/posthog.schema.d.ts +30 -30
- package/dist/bubbles/service-bubble/resend.d.ts +8 -8
- package/dist/bubbles/service-bubble/sendsafely/sendsafely.d.ts +4 -4
- package/dist/bubbles/service-bubble/sendsafely/sendsafely.schema.d.ts +6 -6
- package/dist/bubbles/service-bubble/slab/index.d.ts +3 -0
- package/dist/bubbles/service-bubble/slab/index.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/slab/index.js +3 -0
- package/dist/bubbles/service-bubble/slab/index.js.map +1 -0
- package/dist/bubbles/service-bubble/slab/slab.d.ts +617 -0
- package/dist/bubbles/service-bubble/slab/slab.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/slab/slab.js +379 -0
- package/dist/bubbles/service-bubble/slab/slab.js.map +1 -0
- package/dist/bubbles/service-bubble/slab/slab.schema.d.ts +703 -0
- package/dist/bubbles/service-bubble/slab/slab.schema.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/slab/slab.schema.js +226 -0
- package/dist/bubbles/service-bubble/slab/slab.schema.js.map +1 -0
- package/dist/bubbles/service-bubble/slack/slack.d.ts +568 -568
- package/dist/bubbles/service-bubble/stripe/stripe.d.ts +112 -112
- package/dist/bubbles/service-bubble/stripe/stripe.schema.d.ts +134 -134
- package/dist/bubbles/service-bubble/telegram.d.ts +1486 -1486
- package/dist/bubbles/service-bubble/xero/xero.d.ts +14 -14
- package/dist/bubbles/service-bubble/xero/xero.schema.d.ts +14 -14
- package/dist/bubbles/service-bubble/zendesk/zendesk.d.ts +114 -114
- package/dist/bubbles/service-bubble/zendesk/zendesk.schema.d.ts +114 -114
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.d.ts +9 -9
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.d.ts +11 -11
- package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts +12 -12
- package/dist/bubbles/tool-bubble/chart-js-tool.d.ts +14 -14
- package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts +60 -60
- package/dist/bubbles/tool-bubble/google-maps-tool.d.ts +8 -8
- package/dist/bubbles/tool-bubble/instagram-tool.d.ts +10 -10
- package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +573 -573
- package/dist/bubbles/tool-bubble/list-capabilities-tool.d.ts +8 -8
- package/dist/bubbles/tool-bubble/people-search-tool.d.ts +54 -54
- package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts +20 -20
- package/dist/bubbles/tool-bubble/research-agent-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/sql-query-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/tiktok-tool.d.ts +72 -72
- package/dist/bubbles/tool-bubble/twitter-tool.d.ts +184 -184
- package/dist/bubbles/tool-bubble/web-crawl-tool.d.ts +18 -18
- package/dist/bubbles/tool-bubble/web-extract-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts +8 -8
- package/dist/bubbles/tool-bubble/web-search-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/yc-scraper-tool.d.ts +8 -8
- package/dist/bubbles/tool-bubble/youtube-tool.d.ts +34 -34
- package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts +32 -32
- package/dist/bubbles/workflow-bubble/parse-document.workflow.d.ts +4 -4
- package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +100 -100
- package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts +24 -24
- package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts +22 -22
- package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +62 -62
- package/dist/bubbles.json +697 -2
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,379 @@
|
|
|
1
|
+
import { CredentialType } from '@bubblelab/shared-schemas';
|
|
2
|
+
import { ServiceBubble } from '../../../types/service-bubble-class.js';
|
|
3
|
+
import { SlabParamsSchema, SlabResultSchema, } from './slab.schema.js';
|
|
4
|
+
// Slab GraphQL API endpoint
|
|
5
|
+
const SLAB_API_URL = 'https://api.slab.com/v1/graphql';
|
|
6
|
+
/**
|
|
7
|
+
* SlabBubble - Integration with Slab knowledge management platform
|
|
8
|
+
*
|
|
9
|
+
* Provides operations for interacting with Slab:
|
|
10
|
+
* - Search posts across the workspace
|
|
11
|
+
* - Get specific post details
|
|
12
|
+
* - List all organization posts
|
|
13
|
+
* - Get posts within a topic
|
|
14
|
+
* - List all topics
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* // Search for posts
|
|
19
|
+
* const result = await new SlabBubble({
|
|
20
|
+
* operation: 'search_posts',
|
|
21
|
+
* query: 'onboarding guide',
|
|
22
|
+
* first: 10,
|
|
23
|
+
* }).action();
|
|
24
|
+
*
|
|
25
|
+
* // Get a specific post
|
|
26
|
+
* const post = await new SlabBubble({
|
|
27
|
+
* operation: 'get_post',
|
|
28
|
+
* post_id: 'abc123',
|
|
29
|
+
* }).action();
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export class SlabBubble extends ServiceBubble {
|
|
33
|
+
// REQUIRED: Static metadata for BubbleFactory
|
|
34
|
+
static service = 'slab';
|
|
35
|
+
static authType = 'basic';
|
|
36
|
+
static bubbleName = 'slab';
|
|
37
|
+
static type = 'service';
|
|
38
|
+
static schema = SlabParamsSchema;
|
|
39
|
+
static resultSchema = SlabResultSchema;
|
|
40
|
+
static shortDescription = 'Slab knowledge management for searching and managing posts';
|
|
41
|
+
static longDescription = `
|
|
42
|
+
Slab is a knowledge management platform for modern teams.
|
|
43
|
+
This bubble provides operations for:
|
|
44
|
+
- Searching posts across the workspace
|
|
45
|
+
- Retrieving specific post details and content
|
|
46
|
+
- Listing all organization posts
|
|
47
|
+
- Getting posts within specific topics
|
|
48
|
+
- Listing all topics in the organization
|
|
49
|
+
|
|
50
|
+
Authentication:
|
|
51
|
+
- Uses API token (available on Business/Enterprise plans)
|
|
52
|
+
- Token is passed via Authorization header
|
|
53
|
+
|
|
54
|
+
Use Cases:
|
|
55
|
+
- Search internal knowledge base from automated workflows
|
|
56
|
+
- Sync documentation with external systems
|
|
57
|
+
- Build AI assistants that leverage internal knowledge
|
|
58
|
+
- Automate content updates across the organization
|
|
59
|
+
`;
|
|
60
|
+
static alias = 'slab-kb';
|
|
61
|
+
constructor(params = {
|
|
62
|
+
operation: 'search_posts',
|
|
63
|
+
query: '',
|
|
64
|
+
}, context) {
|
|
65
|
+
super(params, context);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Choose the appropriate credential for Slab API
|
|
69
|
+
*/
|
|
70
|
+
chooseCredential() {
|
|
71
|
+
const params = this.params;
|
|
72
|
+
const credentials = params.credentials;
|
|
73
|
+
if (!credentials || typeof credentials !== 'object') {
|
|
74
|
+
return undefined;
|
|
75
|
+
}
|
|
76
|
+
return credentials[CredentialType.SLAB_CRED];
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Test if the credential is valid by making a simple API call
|
|
80
|
+
*/
|
|
81
|
+
async testCredential() {
|
|
82
|
+
const apiToken = this.chooseCredential();
|
|
83
|
+
if (!apiToken) {
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
// Use a simple query to validate the token
|
|
87
|
+
const result = await this.makeSlabRequest(`
|
|
88
|
+
query {
|
|
89
|
+
organization {
|
|
90
|
+
name
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
`);
|
|
94
|
+
if (result.errors) {
|
|
95
|
+
throw new Error('Slab API token validation failed');
|
|
96
|
+
}
|
|
97
|
+
return true;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Perform the Slab operation
|
|
101
|
+
*/
|
|
102
|
+
async performAction(context) {
|
|
103
|
+
void context;
|
|
104
|
+
const params = this.params;
|
|
105
|
+
const { operation } = params;
|
|
106
|
+
try {
|
|
107
|
+
switch (operation) {
|
|
108
|
+
case 'search_posts':
|
|
109
|
+
return (await this.searchPosts(params));
|
|
110
|
+
case 'get_post':
|
|
111
|
+
return (await this.getPost(params));
|
|
112
|
+
case 'list_posts':
|
|
113
|
+
return (await this.listPosts(params));
|
|
114
|
+
case 'get_topic_posts':
|
|
115
|
+
return (await this.getTopicPosts(params));
|
|
116
|
+
case 'list_topics':
|
|
117
|
+
return (await this.listTopics(params));
|
|
118
|
+
default:
|
|
119
|
+
throw new Error(`Unknown operation: ${operation}`);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
catch (error) {
|
|
123
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
|
|
124
|
+
return {
|
|
125
|
+
operation,
|
|
126
|
+
success: false,
|
|
127
|
+
error: errorMessage,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Make an authenticated GraphQL request to Slab
|
|
133
|
+
*/
|
|
134
|
+
async makeSlabRequest(query, variables) {
|
|
135
|
+
const apiToken = this.chooseCredential();
|
|
136
|
+
if (!apiToken) {
|
|
137
|
+
throw new Error('Slab API token is required');
|
|
138
|
+
}
|
|
139
|
+
const response = await fetch(SLAB_API_URL, {
|
|
140
|
+
method: 'POST',
|
|
141
|
+
headers: {
|
|
142
|
+
Authorization: `${apiToken}`,
|
|
143
|
+
'Content-Type': 'application/json',
|
|
144
|
+
},
|
|
145
|
+
body: JSON.stringify({ query, variables }),
|
|
146
|
+
});
|
|
147
|
+
if (!response.ok) {
|
|
148
|
+
const text = await response.text();
|
|
149
|
+
throw new Error(`Slab API error (HTTP ${response.status}): ${text}`);
|
|
150
|
+
}
|
|
151
|
+
const data = (await response.json());
|
|
152
|
+
if (data.errors) {
|
|
153
|
+
const errors = data.errors;
|
|
154
|
+
const errorMsg = errors
|
|
155
|
+
.map((e) => e.message || 'Unknown error')
|
|
156
|
+
.join('; ');
|
|
157
|
+
throw new Error(`Slab GraphQL error: ${errorMsg}`);
|
|
158
|
+
}
|
|
159
|
+
return data;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Search posts by query
|
|
163
|
+
*/
|
|
164
|
+
async searchPosts(params) {
|
|
165
|
+
const response = await this.makeSlabRequest(`
|
|
166
|
+
query SearchPosts($query: String!, $first: Int, $after: String) {
|
|
167
|
+
search(query: $query, first: $first, after: $after) {
|
|
168
|
+
pageInfo {
|
|
169
|
+
hasNextPage
|
|
170
|
+
endCursor
|
|
171
|
+
}
|
|
172
|
+
edges {
|
|
173
|
+
cursor
|
|
174
|
+
node {
|
|
175
|
+
... on PostSearchResult {
|
|
176
|
+
title
|
|
177
|
+
content
|
|
178
|
+
highlight
|
|
179
|
+
post {
|
|
180
|
+
id
|
|
181
|
+
title
|
|
182
|
+
insertedAt
|
|
183
|
+
publishedAt
|
|
184
|
+
owner {
|
|
185
|
+
id
|
|
186
|
+
name
|
|
187
|
+
}
|
|
188
|
+
topics {
|
|
189
|
+
id
|
|
190
|
+
name
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
`, {
|
|
199
|
+
query: params.query,
|
|
200
|
+
first: params.first,
|
|
201
|
+
after: params.after,
|
|
202
|
+
});
|
|
203
|
+
const searchData = response.data?.search;
|
|
204
|
+
const edges = searchData?.edges || [];
|
|
205
|
+
const pageInfo = searchData?.pageInfo;
|
|
206
|
+
const posts = edges
|
|
207
|
+
.map((edge) => {
|
|
208
|
+
const node = edge.node;
|
|
209
|
+
if (!node || !node.post)
|
|
210
|
+
return null;
|
|
211
|
+
const post = node.post;
|
|
212
|
+
return {
|
|
213
|
+
id: post.id,
|
|
214
|
+
title: node.title || post.title,
|
|
215
|
+
highlight: node.highlight,
|
|
216
|
+
content: node.content,
|
|
217
|
+
insertedAt: post.insertedAt,
|
|
218
|
+
publishedAt: post.publishedAt,
|
|
219
|
+
owner: post.owner,
|
|
220
|
+
topics: post.topics,
|
|
221
|
+
};
|
|
222
|
+
})
|
|
223
|
+
.filter((p) => p !== null);
|
|
224
|
+
return {
|
|
225
|
+
operation: 'search_posts',
|
|
226
|
+
success: true,
|
|
227
|
+
posts,
|
|
228
|
+
has_more: pageInfo?.hasNextPage || false,
|
|
229
|
+
end_cursor: pageInfo?.endCursor,
|
|
230
|
+
error: '',
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Get a specific post by ID
|
|
235
|
+
*/
|
|
236
|
+
async getPost(params) {
|
|
237
|
+
const response = await this.makeSlabRequest(`
|
|
238
|
+
query GetPost($id: ID!) {
|
|
239
|
+
post(id: $id) {
|
|
240
|
+
id
|
|
241
|
+
title
|
|
242
|
+
content
|
|
243
|
+
insertedAt
|
|
244
|
+
publishedAt
|
|
245
|
+
updatedAt
|
|
246
|
+
archivedAt
|
|
247
|
+
version
|
|
248
|
+
owner {
|
|
249
|
+
id
|
|
250
|
+
name
|
|
251
|
+
}
|
|
252
|
+
topics {
|
|
253
|
+
id
|
|
254
|
+
name
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
`, { id: params.post_id });
|
|
259
|
+
const post = response.data?.post;
|
|
260
|
+
return {
|
|
261
|
+
operation: 'get_post',
|
|
262
|
+
success: true,
|
|
263
|
+
post: post
|
|
264
|
+
? {
|
|
265
|
+
id: post.id,
|
|
266
|
+
title: post.title,
|
|
267
|
+
content: post.content,
|
|
268
|
+
insertedAt: post.insertedAt,
|
|
269
|
+
publishedAt: post.publishedAt,
|
|
270
|
+
updatedAt: post.updatedAt,
|
|
271
|
+
archivedAt: post.archivedAt,
|
|
272
|
+
version: post.version,
|
|
273
|
+
owner: post.owner,
|
|
274
|
+
topics: post.topics,
|
|
275
|
+
}
|
|
276
|
+
: undefined,
|
|
277
|
+
error: '',
|
|
278
|
+
};
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* List all organization posts
|
|
282
|
+
*/
|
|
283
|
+
async listPosts(params) {
|
|
284
|
+
void params;
|
|
285
|
+
// organization.posts returns SlimPost type (limited fields)
|
|
286
|
+
const response = await this.makeSlabRequest(`
|
|
287
|
+
query {
|
|
288
|
+
organization {
|
|
289
|
+
posts {
|
|
290
|
+
id
|
|
291
|
+
title
|
|
292
|
+
publishedAt
|
|
293
|
+
archivedAt
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
`);
|
|
298
|
+
const org = response.data?.organization;
|
|
299
|
+
const posts = org?.posts || [];
|
|
300
|
+
return {
|
|
301
|
+
operation: 'list_posts',
|
|
302
|
+
success: true,
|
|
303
|
+
posts: posts.map((p) => ({
|
|
304
|
+
id: p.id,
|
|
305
|
+
title: p.title,
|
|
306
|
+
publishedAt: p.publishedAt,
|
|
307
|
+
archivedAt: p.archivedAt,
|
|
308
|
+
})),
|
|
309
|
+
error: '',
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Get posts within a specific topic
|
|
314
|
+
*/
|
|
315
|
+
async getTopicPosts(params) {
|
|
316
|
+
const response = await this.makeSlabRequest(`
|
|
317
|
+
query GetTopicPosts($id: ID!) {
|
|
318
|
+
topic(id: $id) {
|
|
319
|
+
posts {
|
|
320
|
+
id
|
|
321
|
+
title
|
|
322
|
+
content
|
|
323
|
+
insertedAt
|
|
324
|
+
publishedAt
|
|
325
|
+
updatedAt
|
|
326
|
+
owner {
|
|
327
|
+
id
|
|
328
|
+
name
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
`, { id: params.topic_id });
|
|
334
|
+
const topic = response.data?.topic;
|
|
335
|
+
const posts = topic?.posts || [];
|
|
336
|
+
return {
|
|
337
|
+
operation: 'get_topic_posts',
|
|
338
|
+
success: true,
|
|
339
|
+
posts: posts.map((p) => ({
|
|
340
|
+
id: p.id,
|
|
341
|
+
title: p.title,
|
|
342
|
+
content: p.content,
|
|
343
|
+
insertedAt: p.insertedAt,
|
|
344
|
+
publishedAt: p.publishedAt,
|
|
345
|
+
updatedAt: p.updatedAt,
|
|
346
|
+
owner: p.owner,
|
|
347
|
+
})),
|
|
348
|
+
error: '',
|
|
349
|
+
};
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* List all topics in the organization
|
|
353
|
+
*/
|
|
354
|
+
async listTopics(params) {
|
|
355
|
+
void params;
|
|
356
|
+
const response = await this.makeSlabRequest(`
|
|
357
|
+
query {
|
|
358
|
+
organization {
|
|
359
|
+
topics {
|
|
360
|
+
id
|
|
361
|
+
name
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
`);
|
|
366
|
+
const org = response.data?.organization;
|
|
367
|
+
const topics = org?.topics || [];
|
|
368
|
+
return {
|
|
369
|
+
operation: 'list_topics',
|
|
370
|
+
success: true,
|
|
371
|
+
topics: topics.map((t) => ({
|
|
372
|
+
id: t.id,
|
|
373
|
+
name: t.name,
|
|
374
|
+
})),
|
|
375
|
+
error: '',
|
|
376
|
+
};
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
//# sourceMappingURL=slab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slab.js","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/slab/slab.ts"],"names":[],"mappings":"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"}
|