@buzzie-ai/slack-claude 0.2.0 → 0.3.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.
package/README.md CHANGED
@@ -131,6 +131,8 @@ await bot.stop();
131
131
  - **Slack message size cap is 40 000 chars.** Very long Claude replies will be truncated by Slack; chunking isn't done yet.
132
132
  - **No streaming yet.** Replies post once Claude finishes the turn. (Open issue: stream-and-edit mode.)
133
133
  - **Logging.** Default level is `info`: incoming Slack messages, Claude tool calls, outbound posts, lifecycle events. Run with `--log-level debug` to also see filtered-out events, reaction state, and Bolt internals. `--log-level silent` for cron jobs.
134
+ - **Bot-to-bot conversations are allowed.** Other bots can @-mention us, DM us, or talk to us in threads, and we treat them like any other participant. The only filter is *self* — we never respond to our own posts (matched on both our `bot_id` and our `user_id`). Slack's `bot_message` subtype messages (legacy webhook bots) are also accepted.
135
+ - **Loop risk.** Two LLM-backed bots that both @-mention each other in their replies will keep pinging until something stops them. There's no built-in turn limit yet — if you point two slack-claude bots at each other, give Claude a system prompt that discourages outbound mentions, or kill one of the processes. A `--max-turns-per-thread` flag is on the roadmap.
134
136
  - **The `claude` CLI must already be logged in.** This bridge does not handle auth.
135
137
 
136
138
  ## License
package/dist/bot.d.ts CHANGED
@@ -33,7 +33,10 @@ export declare class SlackClaudeBot {
33
33
  private readonly opts;
34
34
  private readonly sessions;
35
35
  private readonly log;
36
+ /** Our bot's user account ID (e.g. U0B28GW…). `auth.test` -> `user_id`. */
36
37
  private botUserId;
38
+ /** Our bot integration's bot_id (e.g. B0123ABC…). `auth.test` -> `bot_id`. */
39
+ private ourBotId;
37
40
  private started;
38
41
  constructor(opts: SlackClaudeBotOptions);
39
42
  /** Connect to Slack and start receiving events. Resolves once the socket is up. */
@@ -41,9 +44,30 @@ export declare class SlackClaudeBot {
41
44
  /** Disconnect from Slack and close every Claude session. */
42
45
  stop(): Promise<void>;
43
46
  private registerHandlers;
47
+ /**
48
+ * True if the given message identifiers belong to *this* bot (so we should
49
+ * not respond to it). Other bots are explicitly NOT self — they're treated
50
+ * like any other participant.
51
+ */
52
+ private isSelf;
44
53
  private handleIncoming;
45
54
  private createSession;
46
55
  private threadKey;
56
+ /**
57
+ * Neutralize broadcast mentions in Claude's reply before posting.
58
+ *
59
+ * `<!channel>`, `<!here>`, `<!everyone>` are Slack's markup for the
60
+ * @channel/@here/@everyone broadcasts — they ping every member of the
61
+ * channel/workspace. Claude has no legitimate need to emit them, and an
62
+ * accidental hallucination would spam thousands of people. Replace with
63
+ * plain text so the user can still see what Claude tried to say.
64
+ *
65
+ * User-targeted `<@U12345>` mentions are left intact: Claude may have a
66
+ * legitimate reason to ping a specific person. The inbound `app_mention`
67
+ * filter and the `bot_id` check in the message handler stop bot-to-bot
68
+ * loops independently of this.
69
+ */
70
+ private sanitizeOutbound;
47
71
  /** Strip leading bot mention and trim. Slack delivers mentions as `<@U12345>`. */
48
72
  private cleanText;
49
73
  private swapReaction;
package/dist/bot.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACpF,OAAO,EAAU,KAAK,QAAQ,EAAwB,MAAM,UAAU,CAAC;AAIvE,MAAM,WAAW,qBAAqB;IACpC,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,iFAAiF;IACjF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAOD;;;;;GAKG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAM;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAwB;IAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoC;IAC7D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,OAAO,CAAS;gBAEZ,IAAI,EAAE,qBAAqB;IAkBvC,mFAAmF;IAC7E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAe5B,4DAA4D;IACtD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB3B,OAAO,CAAC,gBAAgB;YA8EV,cAAc;IAmG5B,OAAO,CAAC,aAAa;IA4BrB,OAAO,CAAC,SAAS;IAIjB,kFAAkF;IAClF,OAAO,CAAC,SAAS;YASH,YAAY;YAWZ,SAAS;CAexB"}
1
+ {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACpF,OAAO,EAAU,KAAK,QAAQ,EAAwB,MAAM,UAAU,CAAC;AAIvE,MAAM,WAAW,qBAAqB;IACpC,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,iFAAiF;IACjF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAOD;;;;;GAKG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAM;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAwB;IAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoC;IAC7D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,2EAA2E;IAC3E,OAAO,CAAC,SAAS,CAAuB;IACxC,8EAA8E;IAC9E,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,OAAO,CAAS;gBAEZ,IAAI,EAAE,qBAAqB;IAkBvC,mFAAmF;IAC7E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB5B,4DAA4D;IACtD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB3B,OAAO,CAAC,gBAAgB;IA4FxB;;;;OAIG;IACH,OAAO,CAAC,MAAM;YAMA,cAAc;IAuG5B,OAAO,CAAC,aAAa;IA4BrB,OAAO,CAAC,SAAS;IAIjB;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,gBAAgB;IAaxB,kFAAkF;IAClF,OAAO,CAAC,SAAS;YASH,YAAY;YAWZ,SAAS;CAexB"}
package/dist/bot.js CHANGED
@@ -18,7 +18,10 @@ class SlackClaudeBot {
18
18
  opts;
19
19
  sessions = new Map();
20
20
  log;
21
+ /** Our bot's user account ID (e.g. U0B28GW…). `auth.test` -> `user_id`. */
21
22
  botUserId = null;
23
+ /** Our bot integration's bot_id (e.g. B0123ABC…). `auth.test` -> `bot_id`. */
24
+ ourBotId = null;
22
25
  started = false;
23
26
  constructor(opts) {
24
27
  if (!opts.appToken)
@@ -43,11 +46,15 @@ class SlackClaudeBot {
43
46
  return;
44
47
  this.log.event('starting Bolt Socket Mode connection…');
45
48
  await this.app.start();
46
- // Resolve the bot's user ID so we can strip self-mentions and ignore our own posts.
49
+ // Resolve the bot's identifiers so we can strip self-mentions and ignore
50
+ // our own posts. We need both: the user_id is what shows up on regular
51
+ // messages we post, the bot_id is what shows up on `bot_message`-subtype
52
+ // posts and lets us match self even if Slack omits the user field.
47
53
  const auth = await this.app.client.auth.test({ token: this.opts.botToken });
48
54
  this.botUserId = auth.user_id ?? null;
55
+ this.ourBotId = auth.bot_id ?? null;
49
56
  this.started = true;
50
- this.log.info(`⚡️ slack-claude online as @${auth.user ?? 'unknown'} (${this.botUserId ?? '?'}) in workspace ${auth.team ?? '?'} — listening`);
57
+ this.log.info(`⚡️ slack-claude online as @${auth.user ?? 'unknown'} (user=${this.botUserId ?? '?'}, bot=${this.ourBotId ?? '?'}) in workspace ${auth.team ?? '?'} — listening`);
51
58
  }
52
59
  /** Disconnect from Slack and close every Claude session. */
53
60
  async stop() {
@@ -68,12 +75,19 @@ class SlackClaudeBot {
68
75
  // Direct @-mentions in channels the bot is invited to.
69
76
  this.app.event('app_mention', async ({ event, client }) => {
70
77
  try {
78
+ // Self-filter only: never respond to our own posts. Other bots are
79
+ // treated as first-class participants — they can mention us and we'll
80
+ // reply just like we would to a human.
81
+ if (this.isSelf(event.bot_id, event.user)) {
82
+ this.log.debug('skip app_mention from self');
83
+ return;
84
+ }
71
85
  await this.handleIncoming({
72
86
  channel: event.channel,
73
87
  ts: event.ts,
74
88
  threadTs: event.thread_ts,
75
89
  text: event.text ?? '',
76
- user: event.user,
90
+ user: event.user ?? event.bot_id,
77
91
  channelType: 'channel',
78
92
  source: 'mention',
79
93
  client,
@@ -87,23 +101,24 @@ class SlackClaudeBot {
87
101
  // We filter inside the handler to decide whether to actually respond.
88
102
  this.app.message(async ({ message, client }) => {
89
103
  try {
90
- // Skip non-user messages (edits, joins, our own bot posts, etc.).
91
- if (message.subtype !== undefined) {
104
+ // Allow regular user messages and `bot_message`-subtype posts (legacy
105
+ // webhook bots, app-installed integrations). Skip system events like
106
+ // channel_join, message_changed, file_share, etc.
107
+ if (message.subtype !== undefined && message.subtype !== 'bot_message') {
92
108
  this.log.debug(`skip message subtype=${message.subtype}`);
93
109
  return;
94
110
  }
111
+ // Both GenericMessageEvent and BotMessageEvent expose these fields.
95
112
  const m = message;
96
- if (m.bot_id) {
97
- this.log.debug(`skip message from bot bot_id=${m.bot_id}`);
98
- return;
99
- }
100
- if (this.botUserId && m.user === this.botUserId) {
113
+ // Self-filter: skip our own posts. Other bots fall through to the
114
+ // normal DM / thread / mention routing below.
115
+ if (this.isSelf(m.bot_id, m.user)) {
101
116
  this.log.debug('skip message from self');
102
117
  return;
103
118
  }
104
119
  const isDm = m.channel_type === 'im';
105
120
  const inExistingThread = m.thread_ts !== undefined && this.sessions.has(this.threadKey(m.channel, m.thread_ts, false));
106
- const mentionsBot = this.botUserId !== undefined && this.botUserId !== null && (m.text ?? '').includes(`<@${this.botUserId}>`);
121
+ const mentionsBot = this.botUserId !== null && (m.text ?? '').includes(`<@${this.botUserId}>`);
107
122
  // Skip messages that app_mention will already handle.
108
123
  if (mentionsBot) {
109
124
  this.log.debug('skip message — will be handled by app_mention');
@@ -119,7 +134,7 @@ class SlackClaudeBot {
119
134
  ts: m.ts,
120
135
  threadTs: m.thread_ts,
121
136
  text: m.text ?? '',
122
- user: m.user,
137
+ user: m.user ?? m.bot_id,
123
138
  channelType: isDm ? 'im' : 'channel',
124
139
  source: isDm ? 'dm' : 'thread',
125
140
  client,
@@ -133,6 +148,18 @@ class SlackClaudeBot {
133
148
  this.log.error('Bolt error', err);
134
149
  });
135
150
  }
151
+ /**
152
+ * True if the given message identifiers belong to *this* bot (so we should
153
+ * not respond to it). Other bots are explicitly NOT self — they're treated
154
+ * like any other participant.
155
+ */
156
+ isSelf(bot_id, user) {
157
+ if (this.ourBotId && bot_id === this.ourBotId)
158
+ return true;
159
+ if (this.botUserId && user === this.botUserId)
160
+ return true;
161
+ return false;
162
+ }
136
163
  async handleIncoming(args) {
137
164
  const { channel, ts, threadTs, text, user, channelType, source, client } = args;
138
165
  const isDm = channelType === 'im';
@@ -196,12 +223,16 @@ class SlackClaudeBot {
196
223
  return;
197
224
  }
198
225
  const elapsed = Date.now() - startedAt;
199
- const text_out = reply.trim() || '_(Claude returned an empty response.)_';
226
+ const text_out = this.sanitizeOutbound(reply.trim()) || '_(Claude returned an empty response.)_';
200
227
  try {
201
228
  await client.chat.postMessage({
202
229
  channel,
203
230
  thread_ts: replyThreadTs,
204
231
  text: text_out,
232
+ // `parse: 'none'` is the modern default but be explicit — never let Slack
233
+ // auto-link plain "@arvind" text in Claude's reply into a real mention.
234
+ parse: 'none',
235
+ link_names: false,
205
236
  });
206
237
  this.log.outbound(`posted to ${channel} (thread=${replyThreadTs ?? 'top-level'}) ${reply.length}ch in ${(0, logger_1.fmtDuration)(elapsed)}`);
207
238
  }
@@ -247,6 +278,32 @@ class SlackClaudeBot {
247
278
  threadKey(channel, anchor, isDmRoot) {
248
279
  return isDmRoot ? `dm:${channel}` : `${channel}:${anchor}`;
249
280
  }
281
+ /**
282
+ * Neutralize broadcast mentions in Claude's reply before posting.
283
+ *
284
+ * `<!channel>`, `<!here>`, `<!everyone>` are Slack's markup for the
285
+ * @channel/@here/@everyone broadcasts — they ping every member of the
286
+ * channel/workspace. Claude has no legitimate need to emit them, and an
287
+ * accidental hallucination would spam thousands of people. Replace with
288
+ * plain text so the user can still see what Claude tried to say.
289
+ *
290
+ * User-targeted `<@U12345>` mentions are left intact: Claude may have a
291
+ * legitimate reason to ping a specific person. The inbound `app_mention`
292
+ * filter and the `bot_id` check in the message handler stop bot-to-bot
293
+ * loops independently of this.
294
+ */
295
+ sanitizeOutbound(text) {
296
+ return text
297
+ .replace(/<!channel>/g, '@channel')
298
+ .replace(/<!here>/g, '@here')
299
+ .replace(/<!everyone>/g, '@everyone')
300
+ // `<!subteam^Sxxxx>` is the markup for @-mentioning a user group.
301
+ // Same logic — silence broadcasts.
302
+ .replace(/<!subteam\^[A-Z0-9]+(?:\|[^>]+)?>/g, (m) => {
303
+ const label = m.match(/\|([^>]+)>/)?.[1];
304
+ return label ? `@${label}` : '@usergroup';
305
+ });
306
+ }
250
307
  /** Strip leading bot mention and trim. Slack delivers mentions as `<@U12345>`. */
251
308
  cleanText(text) {
252
309
  let out = text;
package/dist/bot.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bot.js","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bot.js","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":";;;AAAA,sCAAiF;AAEjF,4DAAoF;AACpF,qCAAuE;AA2BvE,MAAM,qBAAqB,GACzB,kEAAkE;IAClE,oJAAoJ;IACpJ,oCAAoC,CAAC;AAEvC;;;;;GAKG;AACH,MAAa,cAAc;IACR,GAAG,CAAM;IACT,IAAI,CAAwB;IAC5B,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC5C,GAAG,CAAS;IAC7B,2EAA2E;IACnE,SAAS,GAAkB,IAAI,CAAC;IACxC,8EAA8E;IACtE,QAAQ,GAAkB,IAAI,CAAC;IAC/B,OAAO,GAAG,KAAK,CAAC;IAExB,YAAY,IAA2B;QACrC,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACvF,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACvF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC;QAE/C,IAAI,CAAC,GAAG,GAAG,IAAI,UAAG,CAAC;YACjB,KAAK,EAAE,IAAI,CAAC,QAAQ;YACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI;YAChB,yEAAyE;YACzE,mCAAmC;YACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,eAAY,CAAC,KAAK,CAAC,CAAC,CAAC,eAAY,CAAC,IAAI;SAC7E,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,mFAAmF;IACnF,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QACxD,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QAEvB,yEAAyE;QACzE,uEAAuE;QACvE,yEAAyE;QACzE,mEAAmE;QACnE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,OAA8B,IAAI,IAAI,CAAC;QAC9D,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,MAA6B,IAAI,IAAI,CAAC;QAE5D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,8BAA8B,IAAI,CAAC,IAAI,IAAI,SAAS,UAAU,IAAI,CAAC,SAAS,IAAI,GAAG,SAAS,IAAI,CAAC,QAAQ,IAAI,GAAG,kBAAkB,IAAI,CAAC,IAAI,IAAI,GAAG,cAAc,CACjK,CAAC;IACJ,CAAC;IAED,4DAA4D;IAC5D,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,2BAA2B,IAAI,CAAC,QAAQ,CAAC,IAAI,oBAAoB,CAAC,CAAC;QAClF,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3D,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC,CAC9E,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACtC,CAAC;IAED,4EAA4E;IAC5E,YAAY;IACZ,4EAA4E;IAEpE,gBAAgB;QACtB,uDAAuD;QACvD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;YACxD,IAAI,CAAC;gBACH,mEAAmE;gBACnE,sEAAsE;gBACtE,uCAAuC;gBACvC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;oBAC7C,OAAO;gBACT,CAAC;gBAED,MAAM,IAAI,CAAC,cAAc,CAAC;oBACxB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,EAAE,EAAE,KAAK,CAAC,EAAE;oBACZ,QAAQ,EAAE,KAAK,CAAC,SAAS;oBACzB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;oBACtB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM;oBAChC,WAAW,EAAE,SAAS;oBACtB,MAAM,EAAE,SAAS;oBACjB,MAAM;iBACP,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;YACrD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,+CAA+C;QAC/C,sEAAsE;QACtE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;YAC7C,IAAI,CAAC;gBACH,sEAAsE;gBACtE,qEAAqE;gBACrE,kDAAkD;gBAClD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;oBACvE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wBAAwB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC1D,OAAO;gBACT,CAAC;gBAED,oEAAoE;gBACpE,MAAM,CAAC,GAAG,OAIT,CAAC;gBAEF,kEAAkE;gBAClE,8CAA8C;gBAC9C,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBAClC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;oBACzC,OAAO;gBACT,CAAC;gBAED,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC;gBACrC,MAAM,gBAAgB,GACpB,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;gBAChG,MAAM,WAAW,GACf,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;gBAE7E,sDAAsD;gBACtD,IAAI,WAAW,EAAE,CAAC;oBAChB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;oBAChE,OAAO;gBACT,CAAC;gBACD,4CAA4C;gBAC5C,IAAI,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBAC/B,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,qDAAqD,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,SAAS,IAAI,QAAQ,EAAE,CAC5F,CAAC;oBACF,OAAO;gBACT,CAAC;gBAED,MAAM,IAAI,CAAC,cAAc,CAAC;oBACxB,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,QAAQ,EAAE,CAAC,CAAC,SAAS;oBACrB,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;oBAClB,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM;oBACxB,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;oBACpC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ;oBAC9B,MAAM;iBACP,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;YACjD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC3B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,MAAe,EAAE,IAAa;QAC3C,IAAI,IAAI,CAAC,QAAQ,IAAI,MAAM,KAAK,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3D,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,KAAK,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAC3D,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,IAS5B;QACC,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAEhF,MAAM,IAAI,GAAG,WAAW,KAAK,IAAI,CAAC;QAClC,MAAM,aAAa,GAAG,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE9E,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gDAAgD,UAAU,GAAG,CAAC,CAAC;YAC9E,OAAO;QACT,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,OAAO,CACd,GAAG,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,OAAO,KAAK,UAAU,MAAM,IAAA,gBAAO,EAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAChF,CAAC;QAEF,gDAAgD;QAChD,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YACrE,aAAa,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uCAAuC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACpG,CAAC;QAED,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YACzC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACvC,YAAY,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,oBAAoB,UAAU,cAAc,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;YAClF,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACxB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACjC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAmC,UAAU,GAAG,EAAE,GAAG,CAAC,CAAC;gBACtE,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;gBAC1D,IAAI,aAAa;oBAAE,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;gBAC7E,OAAO;YACT,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,oBAAoB,UAAU,GAAG,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,KAAa,CAAC;QAClB,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,iFAAiF;YACjF,wCAAwC;YACxC,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACjC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACtC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,UAAU,oCAAoC,CAAC,CAAC;YAC7E,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yBAAyB,UAAU,GAAG,EAAE,GAAG,CAAC,CAAC;YAC5D,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;YAC1D,IAAI,aAAa;gBAAE,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;YAC7E,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAEvC,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,wCAAwC,CAAC;QACjG,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;gBAC5B,OAAO;gBACP,SAAS,EAAE,aAAa;gBACxB,IAAI,EAAE,QAAQ;gBACd,0EAA0E;gBAC1E,wEAAwE;gBACxE,KAAK,EAAE,MAAM;gBACb,UAAU,EAAE,KAAK;aAClB,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,QAAQ,CACf,aAAa,OAAO,YAAY,aAAa,IAAI,WAAW,KAAK,KAAK,CAAC,MAAM,SAAS,IAAA,oBAAW,EAAC,OAAO,CAAC,EAAE,CAC7G,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4BAA4B,UAAU,GAAG,EAAE,GAAG,CAAC,CAAC;QACjE,CAAC;gBAAS,CAAC;YACT,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,MAAM,CAAC,SAAS;qBACnB,MAAM,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;qBAChD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0BAA0B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CACrF,CAAC;YACN,CAAC;QACH,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,UAAkB;QACtC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,6BAAa,CAAC;YAChC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;YAC7C,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,YAAY,IAAI,qBAAqB;YAChF,GAAG,EAAE;SACN,CAAC,CAAC;QAEH,6CAA6C;QAC7C,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;YACzC,MAAM,QAAQ,GAAG,IAAA,gBAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;YAC3D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,UAAU,KAAK,IAAI,IAAI,QAAQ,EAAE,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;YACxC,IAAI,OAAO;gBAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,UAAU,uBAAuB,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE;YAC9C,IAAI,OAAO;gBAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,UAAU,8CAA8C,SAAS,GAAG,CAAC,CAAC;;gBAChG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,UAAU,mCAAmC,SAAS,GAAG,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,UAAU,oBAAoB,EAAE,GAAG,CAAC,CAAC,CAAC;QACtF,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;YAC9B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,UAAU,oCAAoC,IAAI,GAAG,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,SAAS,CAAC,OAAe,EAAE,MAAc,EAAE,QAAiB;QAClE,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,MAAM,EAAE,CAAC;IAC7D,CAAC;IAED;;;;;;;;;;;;;OAaG;IACK,gBAAgB,CAAC,IAAY;QACnC,OAAO,IAAI;aACR,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC;aAClC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC;aAC5B,OAAO,CAAC,cAAc,EAAE,WAAW,CAAC;YACrC,kEAAkE;YAClE,mCAAmC;aAClC,OAAO,CAAC,oCAAoC,EAAE,CAAC,CAAC,EAAE,EAAE;YACnD,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACzC,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;QAC5C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,kFAAkF;IAC1E,SAAS,CAAC,IAAY;QAC5B,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,GAAG,EAAE,GAAG,CAAC,CAAC;YACxD,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,MAAiB,EACjB,OAAe,EACf,EAAU,EACV,IAAY,EACZ,EAAU;QAEV,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACtF,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACnF,CAAC;IAEO,KAAK,CAAC,SAAS,CACrB,MAAiB,EACjB,OAAe,EACf,SAA6B,EAC7B,GAAY;QAEZ,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,MAAM,CAAC,IAAI;aACd,WAAW,CAAC;YACX,OAAO;YACP,SAAS;YACT,IAAI,EAAE,yCAAyC,GAAG,IAAI;SACvD,CAAC;aACD,KAAK,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4CAA4C,EAAE,OAAO,CAAC,CAAC,CAAC;IACxG,CAAC;CACF;AAjXD,wCAiXC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@buzzie-ai/slack-claude",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Slack bot that bridges a Slack workspace to Claude Code via Socket Mode and @buzzie-ai/claude-inject. Receives Slack messages, forwards them to a persistent Claude Code session per thread, and posts replies back.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",