Skip to content

Commit b7cd18b

Browse files
zhubzyclaude
andcommitted
feat: add execution source field + improve Slack is_member docs
- Add source and originExecutionId to bubbleFlowExecutionSchema for tracking which surface triggered an execution (mcp, web-pearl, etc.) - Improve Slack list_channels/get_conversation_history descriptions to guide agents on is_member filtering and join requirements Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent ee7065d commit b7cd18b

5 files changed

Lines changed: 16 additions & 6 deletions

File tree

packages/bubble-core/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@bubblelab/bubble-core",
3-
"version": "0.1.291",
3+
"version": "0.1.292",
44
"type": "module",
55
"license": "Apache-2.0",
66
"main": "./dist/index.js",

packages/bubble-core/src/bubbles/service-bubble/slack/slack.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ const SlackParamsSchema = z.discriminatedUnion('operation', [
176176
operation: z
177177
.literal('list_channels')
178178
.describe(
179-
'List all channels in the Slack workspace. Required scopes: channels:read (public), groups:read (private), im:read (DMs), mpim:read (group DMs)'
179+
'List all channels in the Slack workspace. Each channel includes `is_member` — filter to true for channels the bot can read without joining. Required scopes: channels:read (public), groups:read (private), im:read (DMs), mpim:read (group DMs)'
180180
),
181181
types: z
182182
.array(ChannelTypes)
@@ -293,7 +293,7 @@ const SlackParamsSchema = z.discriminatedUnion('operation', [
293293
operation: z
294294
.literal('get_conversation_history')
295295
.describe(
296-
'Retrieve message history from a channel or direct message. Required scopes: channels:history (public), groups:history (private), im:history (DMs), mpim:history (group DMs)'
296+
'Retrieve message history from a channel or direct message. Bot must be a member (use list_channels with `is_member` filter, or join_channel first). Required scopes: channels:history (public), groups:history (private), im:history (DMs), mpim:history (group DMs)'
297297
),
298298
channel: z
299299
.string()
@@ -725,7 +725,9 @@ const SlackChannelSchema = z
725725
is_member: z
726726
.boolean()
727727
.optional()
728-
.describe('True if the bot is a member of this channel'),
728+
.describe(
729+
'True if the bot is a member of this channel. Filter on this before calling get_conversation_history.'
730+
),
729731
is_open: z.boolean().optional().describe('True if the channel is open'),
730732
topic: z
731733
.object({

packages/bubble-runtime/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@bubblelab/bubble-runtime",
3-
"version": "0.1.291",
3+
"version": "0.1.292",
44
"type": "module",
55
"license": "Apache-2.0",
66
"main": "./dist/index.js",

packages/bubble-shared-schemas/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@bubblelab/shared-schemas",
3-
"version": "0.1.291",
3+
"version": "0.1.292",
44
"type": "module",
55
"license": "Apache-2.0",
66
"main": "./dist/index.js",

packages/bubble-shared-schemas/src/bubbleflow-execution-schema.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,14 @@ export const bubbleFlowExecutionSchema = z.object({
194194
.string()
195195
.optional()
196196
.openapi({ description: 'Error message if failed' }),
197+
source: z.string().optional().openapi({
198+
description:
199+
'Which surface triggered this execution (mcp, manual, web-pearl, slack-pearl, cron, resume, webhook).',
200+
}),
201+
originExecutionId: z.number().optional().openapi({
202+
description:
203+
'For resumes: the ID of the execution that originally requested the approval.',
204+
}),
197205
startedAt: z.string().openapi({ description: 'Execution start timestamp' }),
198206
webhook_url: z.string().openapi({ description: 'Webhook URL' }),
199207
completedAt: z

0 commit comments

Comments
 (0)