@hailer/mcp 1.1.17-beta.2 → 1.2.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.
Files changed (83) hide show
  1. package/.claude/CLAUDE.md +94 -135
  2. package/.claude/skills/create-and-publish-app/SKILL.md +127 -0
  3. package/.claude/skills/hailer-app-builder/SKILL.md +47 -0
  4. package/.claude/skills/publish-hailer-app/SKILL.md +63 -4
  5. package/.claude/skills/sdk-function-fields/SKILL.md +431 -287
  6. package/dist/bot/bot-manager.d.ts.map +1 -1
  7. package/dist/bot/bot-manager.js +2 -0
  8. package/dist/bot/bot-manager.js.map +1 -1
  9. package/dist/bot/bot.d.ts +2 -1
  10. package/dist/bot/bot.d.ts.map +1 -1
  11. package/dist/bot/bot.js +109 -41
  12. package/dist/bot/bot.js.map +1 -1
  13. package/dist/bot/services/message-classifier.d.ts.map +1 -1
  14. package/dist/bot/services/message-classifier.js +6 -0
  15. package/dist/bot/services/message-classifier.js.map +1 -1
  16. package/dist/bot/services/signal-router.d.ts.map +1 -1
  17. package/dist/bot/services/signal-router.js +1 -0
  18. package/dist/bot/services/signal-router.js.map +1 -1
  19. package/dist/bot/services/system-prompt.d.ts +4 -0
  20. package/dist/bot/services/system-prompt.d.ts.map +1 -1
  21. package/dist/bot/services/system-prompt.js +41 -12
  22. package/dist/bot/services/system-prompt.js.map +1 -1
  23. package/dist/bot/services/types.d.ts +7 -31
  24. package/dist/bot/services/types.d.ts.map +1 -1
  25. package/dist/bot/services/workspace-refresh.js.map +1 -1
  26. package/dist/bot/workspace-overview.d.ts.map +1 -1
  27. package/dist/bot/workspace-overview.js +4 -1
  28. package/dist/bot/workspace-overview.js.map +1 -1
  29. package/dist/bot-config/context.js.map +1 -1
  30. package/dist/bot-config/loader.d.ts.map +1 -1
  31. package/dist/bot-config/loader.js +1 -0
  32. package/dist/bot-config/loader.js.map +1 -1
  33. package/dist/bot-config/types.d.ts +2 -0
  34. package/dist/bot-config/types.d.ts.map +1 -1
  35. package/dist/mcp/UserContextCache.d.ts.map +1 -1
  36. package/dist/mcp/UserContextCache.js +8 -16
  37. package/dist/mcp/UserContextCache.js.map +1 -1
  38. package/dist/mcp/tool-registry.d.ts +3 -2
  39. package/dist/mcp/tool-registry.d.ts.map +1 -1
  40. package/dist/mcp/tool-registry.js +14 -9
  41. package/dist/mcp/tool-registry.js.map +1 -1
  42. package/dist/mcp/tools/activity.d.ts.map +1 -1
  43. package/dist/mcp/tools/activity.js +39 -94
  44. package/dist/mcp/tools/activity.js.map +1 -1
  45. package/dist/mcp/tools/app-scaffold.d.ts.map +1 -1
  46. package/dist/mcp/tools/app-scaffold.js +300 -575
  47. package/dist/mcp/tools/app-scaffold.js.map +1 -1
  48. package/dist/mcp/tools/date.d.ts +5 -0
  49. package/dist/mcp/tools/date.d.ts.map +1 -0
  50. package/dist/mcp/tools/date.js +23 -0
  51. package/dist/mcp/tools/date.js.map +1 -0
  52. package/dist/mcp/tools/discussion.d.ts.map +1 -1
  53. package/dist/mcp/tools/discussion.js +17 -9
  54. package/dist/mcp/tools/discussion.js.map +1 -1
  55. package/dist/mcp/tools/index.d.ts.map +1 -1
  56. package/dist/mcp/tools/index.js +2 -0
  57. package/dist/mcp/tools/index.js.map +1 -1
  58. package/dist/mcp/tools/insight.d.ts.map +1 -1
  59. package/dist/mcp/tools/insight.js +13 -19
  60. package/dist/mcp/tools/insight.js.map +1 -1
  61. package/dist/mcp/tools/workflow.d.ts +1 -0
  62. package/dist/mcp/tools/workflow.d.ts.map +1 -1
  63. package/dist/mcp/tools/workflow.js +293 -46
  64. package/dist/mcp/tools/workflow.js.map +1 -1
  65. package/dist/mcp/utils/data-transformers.d.ts +47 -10
  66. package/dist/mcp/utils/data-transformers.d.ts.map +1 -1
  67. package/dist/mcp/utils/data-transformers.js +12 -9
  68. package/dist/mcp/utils/data-transformers.js.map +1 -1
  69. package/dist/mcp/utils/types.d.ts +2 -0
  70. package/dist/mcp/utils/types.d.ts.map +1 -1
  71. package/dist/mcp/utils/types.js.map +1 -1
  72. package/dist/mcp/webhook-handler.d.ts.map +1 -1
  73. package/dist/mcp/webhook-handler.js +4 -1
  74. package/dist/mcp/webhook-handler.js.map +1 -1
  75. package/dist/mcp/workspace-cache.d.ts +8 -2
  76. package/dist/mcp/workspace-cache.d.ts.map +1 -1
  77. package/dist/mcp/workspace-cache.js +12 -8
  78. package/dist/mcp/workspace-cache.js.map +1 -1
  79. package/dist/plugins/vipunen/tools.d.ts +1 -0
  80. package/dist/plugins/vipunen/tools.d.ts.map +1 -1
  81. package/dist/plugins/vipunen/tools.js.map +1 -1
  82. package/package.json +1 -1
  83. package/scripts/postinstall.cjs +0 -9
@@ -1 +1 @@
1
- {"version":3,"file":"bot-manager.d.ts","sourceRoot":"","sources":["../../src/bot/bot-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAsB,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAMpD,qBAAa,UAAU;IAQnB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,eAAe;IARzB,qCAAqC;IACrC,OAAO,CAAC,IAAI,CAA0B;IACtC,sEAAsE;IACtE,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,OAAO,CAAS;gBAGd,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,MAAM;IAKjC,kEAAkE;IAClE,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAYrD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBzB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IA8C1C,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB5D,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAc9B,SAAS,IAAI,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IASxG,WAAW,IAAI,MAAM;IAIrB;;;;OAIG;IACG,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAClC,OAAO,CAAC,IAAI,CAAC;CAuEjB"}
1
+ {"version":3,"file":"bot-manager.d.ts","sourceRoot":"","sources":["../../src/bot/bot-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAsB,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAMpD,qBAAa,UAAU;IAQnB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,eAAe;IARzB,qCAAqC;IACrC,OAAO,CAAC,IAAI,CAA0B;IACtC,sEAAsE;IACtE,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,OAAO,CAAS;gBAGd,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,MAAM;IAKjC,kEAAkE;IAClE,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAYrD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBzB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IA+C1C,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB5D,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAc9B,SAAS,IAAI,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IASxG,WAAW,IAAI,MAAM;IAIrB;;;;OAIG;IACG,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAClC,OAAO,CAAC,IAAI,CAAC;CAwEjB"}
@@ -76,6 +76,7 @@ class BotManager {
76
76
  botManager: this,
77
77
  accessLevel: config.accessLevel,
78
78
  allowedWorkflows: config.allowedWorkflows,
79
+ allowBotMessages: config.allowBotMessages,
79
80
  });
80
81
  // Reserve the slot before async start to prevent duplicate starts from concurrent webhooks
81
82
  this.bots.set(botKey, bot);
@@ -182,6 +183,7 @@ class BotManager {
182
183
  apiHost: this.apiHost,
183
184
  accessLevel: bot.accessLevel,
184
185
  allowedWorkflows: bot.allowedWorkflows,
186
+ allowBotMessages: bot.allowBotMessages,
185
187
  responseMode: bot.responseMode,
186
188
  };
187
189
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"bot-manager.js","sourceRoot":"","sources":["../../src/bot/bot-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bot-manager.js","sourceRoot":"","sources":["../../src/bot/bot-manager.ts"],"names":[],"mappings":"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"}
package/dist/bot/bot.d.ts CHANGED
@@ -60,6 +60,7 @@ export declare class Bot {
60
60
  botManager?: BotManagerRef;
61
61
  accessLevel?: BotAccessLevel;
62
62
  allowedWorkflows?: string[];
63
+ allowBotMessages?: boolean;
63
64
  });
64
65
  get email(): string;
65
66
  get password(): string;
@@ -79,7 +80,7 @@ export declare class Bot {
79
80
  private runLlmLoop;
80
81
  private executeTools;
81
82
  private formatIncomingMessage;
82
- private resolveImageAttachments;
83
+ private resolveFileAttachments;
83
84
  private formatOutgoingMessage;
84
85
  private resolveBareIds;
85
86
  private injectPendingContext;
@@ -1 +1 @@
1
- {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../../src/bot/bot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../../src/bot/bot.ts"],"names":[],"mappings":"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"}
package/dist/bot/bot.js CHANGED
@@ -44,12 +44,14 @@ const BOT_TOOLS = new Set([
44
44
  'list_insights', 'get_insight_data', 'preview_insight', 'create_insight', 'update_insight',
45
45
  'list_workflow_permissions', 'check_user_permissions',
46
46
  'grant_workflow_permission', 'revoke_workflow_permission',
47
+ 'resolve_date',
47
48
  ]);
48
49
  const MODEL_HAIKU = 'claude-haiku-4-5-20251001';
49
50
  const MODEL_SONNET = 'claude-sonnet-4-5-20250929';
50
51
  const IMAGE_MIME_TYPES = new Set(['image/jpeg', 'image/png', 'image/gif', 'image/webp']);
51
- const MAX_IMAGE_SIZE = 5 * 1024 * 1024;
52
- const MAX_TOOL_ITERATIONS = 10;
52
+ const DOCUMENT_MIME_TYPES = new Set(['application/pdf']);
53
+ const TEXT_MIME_TYPES = new Set(['text/plain', 'text/csv', 'text/html', 'text/markdown', 'application/json', 'application/xml']);
54
+ const MAX_FILE_SIZE = 5 * 1024 * 1024;
53
55
  const TOOL_STATUS_LABELS = {
54
56
  list_activities: 'Searching activities', count_activities: 'Counting activities',
55
57
  show_activity_by_id: 'Reading activity', create_activity: 'Creating activity',
@@ -107,6 +109,7 @@ class Bot {
107
109
  workspaceId: config.workspaceId, systemPrompt: config.systemPrompt,
108
110
  accessLevel: config.accessLevel || 'all',
109
111
  allowedWorkflows: config.allowedWorkflows || [],
112
+ allowBotMessages: config.allowBotMessages || false,
110
113
  };
111
114
  this.botManager = config.botManager || null;
112
115
  this._systemPrompt = config.systemPrompt;
@@ -145,7 +148,7 @@ class Bot {
145
148
  this.init = await this.client.socket.request('v2.core.init', [
146
149
  ['user', 'processes', 'users', 'network', 'networks', 'teams', 'groups'],
147
150
  ]);
148
- this.userId = this.init.user?._id;
151
+ this.userId = this.init.user?._id || '';
149
152
  if (!this.userId)
150
153
  throw new Error('Could not determine bot user ID');
151
154
  (0, types_1.normalizeInitProcesses)(this.init);
@@ -158,16 +161,22 @@ class Bot {
158
161
  (0, services_1.backfillWorkspaceCacheMembers)(this.workspaceCache, this.init, this.logger);
159
162
  this.permissions.build(this.init, this._workspaceId);
160
163
  this.workspaceOverview = (0, workspace_overview_1.generateWorkspaceOverview)(this.init);
164
+ this.logger.info('Core init loaded', {
165
+ userId: this.userId,
166
+ workspaceId: this._workspaceId,
167
+ workspaceName: this.init.network?.name,
168
+ users: Object.keys(this.init.users).length,
169
+ workflows: this.init.processes.length,
170
+ teams: Object.keys(this.init.teams || {}).length,
171
+ groups: Object.keys(this.init.groups || {}).length,
172
+ workflowNames: this.init.processes.map(p => p.name),
173
+ });
161
174
  // 4. Anthropic client
162
175
  this.anthropic = new sdk_1.default({ apiKey: this.config.anthropicApiKey });
163
176
  // 5. Services
164
177
  const botConnection = {
165
178
  client: this.client,
166
- workspaceCache: this.workspaceCache ? {
167
- usersById: this.workspaceCache.usersById,
168
- users: this.workspaceCache.users,
169
- rawInit: this.workspaceCache.rawInit,
170
- } : undefined,
179
+ workspaceCache: this.workspaceCache ?? undefined,
171
180
  };
172
181
  this.conversationManager = new services_1.ConversationManager(100, 50, this.logger);
173
182
  this.messageClassifier = new services_1.MessageClassifier(this.userId, botConnection, this.logger);
@@ -184,7 +193,7 @@ class Bot {
184
193
  workspaceCache: this.workspaceCache, apiKey: '', createdAt: Date.now(),
185
194
  email: this.config.email, password: '', // Intentionally empty — cleared after connect
186
195
  workspaceRoles: { [currentWorkspaceId]: 'admin' },
187
- currentWorkspaceId, allowedGroups: ['read', 'write', 'bot_internal'],
196
+ currentWorkspaceId, allowedGroups: [tool_registry_1.ToolGroup.READ, tool_registry_1.ToolGroup.WRITE, tool_registry_1.ToolGroup.BOT_INTERNAL],
188
197
  };
189
198
  // 7. Wire workspace refresh
190
199
  this.workspaceRefresh.setHandler(async (scopes) => {
@@ -256,12 +265,43 @@ class Bot {
256
265
  this.signalRouter.removeDedupKey(rawMsgId);
257
266
  return;
258
267
  }
259
- // Self-message guard
268
+ // Self-message guard — always skip own messages
260
269
  if (message.senderId === this.userId)
261
270
  return;
271
+ // Bot-to-bot guard
262
272
  if (this.botManager && this._workspaceId) {
263
- if (this.botManager.getBotUserIdsForWorkspace(this._workspaceId).has(message.senderId))
264
- return;
273
+ const botUserIds = this.botManager.getBotUserIdsForWorkspace(this._workspaceId);
274
+ if (botUserIds.has(message.senderId)) {
275
+ if (!this.config.allowBotMessages)
276
+ return; // Hard block if not opted in
277
+ // Only respond to bot messages if explicitly mentioned or replied to
278
+ if (!message.isMention && !message.isReplyToBot) {
279
+ this.logger.debug('Ignoring bot message - no mention or reply', {
280
+ discussionId: message.discussionId,
281
+ senderId: message.senderId,
282
+ });
283
+ return;
284
+ }
285
+ // Tag message as from-bot for downstream handling
286
+ message.isFromBot = true;
287
+ message.senderBotName = message.senderName;
288
+ // Track consecutive bot exchanges
289
+ const state = this.signalRouter.getOrCreateState(message.discussionId);
290
+ state.consecutiveBotExchanges++;
291
+ // Hard ceiling: stop after 20 consecutive bot exchanges
292
+ if (state.consecutiveBotExchanges > 20) {
293
+ this.logger.warn('Bot-to-bot hard ceiling reached', {
294
+ discussionId: message.discussionId,
295
+ exchanges: state.consecutiveBotExchanges,
296
+ });
297
+ return;
298
+ }
299
+ }
300
+ else {
301
+ // Human message — reset the counter
302
+ const state = this.signalRouter.getOrCreateState(message.discussionId);
303
+ state.consecutiveBotExchanges = 0;
304
+ }
265
305
  }
266
306
  // Rate limiting
267
307
  if (this.signalRouter.isRateLimited(message.discussionId))
@@ -330,9 +370,9 @@ class Bot {
330
370
  if (messages.length > 1) {
331
371
  merged = `<context type="coalesced" count="${messages.length}">These ${messages.length} messages arrived while you were processing. Respond to the most recent/relevant.</context>\n\n${merged}`;
332
372
  }
333
- const imageBlocks = await this.resolveImageAttachments(messages);
334
- if (imageBlocks.length > 0) {
335
- conversation.push({ role: 'user', content: [{ type: 'text', text: merged }, ...imageBlocks] });
373
+ const fileBlocks = await this.resolveFileAttachments(messages);
374
+ if (fileBlocks.length > 0) {
375
+ conversation.push({ role: 'user', content: [{ type: 'text', text: merged }, ...fileBlocks] });
336
376
  }
337
377
  else {
338
378
  conversation.push({ role: 'user', content: merged });
@@ -420,7 +460,7 @@ class Bot {
420
460
  const contextBlock = recentContext ? `\nRecent context:\n${recentContext}\n` : '';
421
461
  const response = await this.anthropic.messages.create({
422
462
  model: MODEL_HAIKU, max_tokens: 10, temperature: 0,
423
- messages: [{ role: 'user', content: `Classify this chat message as SIMPLE or COMPLEX.\n\nSIMPLE = can be answered in 1-2 tool calls with straightforward logic.\nCOMPLEX = needs 3+ tool calls, reasoning across multiple data sources, fixing/creating structured data, or investigation.\n\nWhen in doubt, classify as COMPLEX.\n\nWorkspace: ${wsName}\n${contextBlock}Current message: ${message.content}\n\nReply with exactly one word: SIMPLE or COMPLEX` }],
463
+ messages: [{ role: 'user', content: `Classify this chat message as SIMPLE or COMPLEX.\n\nSIMPLE = casual chat, quick lookups, listing data, straightforward questions.\nCOMPLEX = creating/updating records, date calculations, relative dates (next Friday, tomorrow, last week), multi-step tasks, reasoning across data, fixing data, investigation, analysis, bulk operations.\n\nAnything involving dates, scheduling, or time is ALWAYS COMPLEX — date math requires careful reasoning.\nWhen in doubt, classify as COMPLEX.\n\nWorkspace: ${wsName}\n${contextBlock}Current message: ${message.content}\n\nReply with exactly one word: SIMPLE or COMPLEX` }],
424
464
  }, { signal });
425
465
  this.trackTokenUsage(response, message, MODEL_HAIKU);
426
466
  const text = response.content.filter((b) => b.type === 'text').map(b => b.text).join('').trim().toUpperCase();
@@ -458,13 +498,17 @@ class Bot {
458
498
  // ===== LLM LOOP =====
459
499
  async runLlmLoop(message, route, signal) {
460
500
  const conversation = this.conversationManager.getConversation(message.discussionId);
501
+ const state = this.signalRouter.getOrCreateState(message.discussionId);
502
+ const botExchangeContext = message.isFromBot && message.senderBotName
503
+ ? { senderBotName: message.senderBotName, consecutiveExchanges: state.consecutiveBotExchanges }
504
+ : undefined;
461
505
  const systemPrompt = (0, services_1.buildSystemPrompt)({
462
506
  init: this.init, userId: this.userId,
463
507
  workspaceOverview: this.workspaceOverview, customPrompt: this._systemPrompt,
508
+ botExchangeContext,
464
509
  });
465
510
  const tools = this.cachedTools || this.getAnthropicTools();
466
- const processingStartTime = Date.now();
467
- for (let i = 0; i < MAX_TOOL_ITERATIONS; i++) {
511
+ for (let i = 0;; i++) {
468
512
  const cachedConversation = this.conversationManager.prepareForCaching(conversation);
469
513
  this.typingIndicator?.updateStatus(message.discussionId, i === 0 ? 'Thinking' : 'Processing');
470
514
  let response;
@@ -525,15 +569,9 @@ class Bot {
525
569
  await this.sendMessage(message.discussionId, 'Switching to a more capable model to handle this.');
526
570
  }
527
571
  }
528
- // Progress feedback
529
- const state = this.signalRouter.getState(message.discussionId);
530
- const now = Date.now();
531
- if (state && (now - processingStartTime) > 8000 && (now - (state.lastProgressTime || processingStartTime)) >= 20000) {
532
- state.lastProgressTime = now;
533
- const toolSummary = toolUseBlocks.map(b => b.name.replace(/_/g, ' ')).join(', ');
534
- await this.sendMessage(message.discussionId, `Still working (step ${i + 1}) — ${toolSummary}`);
535
- this.opLogger.progress(message.discussionId);
536
- }
572
+ // Progress feedback (typing indicator only — no chat messages)
573
+ this.typingIndicator?.updateStatus(message.discussionId, `Working (step ${i + 1})`);
574
+ this.opLogger.progress(message.discussionId);
537
575
  continue;
538
576
  }
539
577
  // Text response
@@ -667,26 +705,39 @@ class Bot {
667
705
  const typeAttr = isDm ? ' type="dm"' : (message.linkedActivityId ? ' type="activity"' : ' type="group"');
668
706
  let fileInfo = '';
669
707
  if (message.fileAttachments?.length) {
670
- const imageFiles = message.fileAttachments.filter(f => f.mime && IMAGE_MIME_TYPES.has(f.mime) && (!f.size || f.size <= MAX_IMAGE_SIZE));
671
- const nonImageFiles = message.fileAttachments.filter(f => !f.mime || !IMAGE_MIME_TYPES.has(f.mime) || (f.size && f.size > MAX_IMAGE_SIZE));
672
708
  const parts = [];
673
- for (const img of imageFiles)
674
- parts.push(`[Image attached: ${img.filename} — included below for vision]`);
675
- if (nonImageFiles.length)
676
- parts.push(`[File attached: ${nonImageFiles.length} file(s) - IDs: ${nonImageFiles.map(f => f.fileId).join(', ')}]\nUse download_file tool with fileId to read file contents.`);
709
+ const unsupported = [];
710
+ for (const f of message.fileAttachments) {
711
+ if (!f.mime || (f.size && f.size > MAX_FILE_SIZE)) {
712
+ unsupported.push(f.fileId);
713
+ }
714
+ else if (IMAGE_MIME_TYPES.has(f.mime)) {
715
+ parts.push(`[Image attached: ${f.filename} — included below for vision]`);
716
+ }
717
+ else if (DOCUMENT_MIME_TYPES.has(f.mime) || TEXT_MIME_TYPES.has(f.mime)) {
718
+ parts.push(`[Document attached: ${f.filename} — included below]`);
719
+ }
720
+ else {
721
+ unsupported.push(f.fileId);
722
+ }
723
+ }
724
+ if (unsupported.length)
725
+ parts.push(`[File attached: ${unsupported.length} file(s) - IDs: ${unsupported.join(', ')}]\nUse download_file tool with fileId to read file contents.`);
677
726
  if (parts.length)
678
727
  fileInfo = '\n' + parts.join('\n');
679
728
  }
680
729
  const dmNote = isDm ? '\n[This is a private DM conversation, not an activity discussion.]' : '';
681
730
  return `<incoming discussion="${message.discussionId}"${typeAttr}${nameAttr}${activityAttr} from="${message.senderName}" user_id="${message.senderId}" timestamp="${new Date(message.timestamp).toISOString()}">\n${message.content}${fileInfo}${dmNote}\n</incoming>`;
682
731
  }
683
- async resolveImageAttachments(messages) {
732
+ async resolveFileAttachments(messages) {
684
733
  if (!this.hailerApi)
685
734
  return [];
686
735
  const eligible = [];
687
736
  for (const msg of messages) {
688
737
  for (const f of msg.fileAttachments || []) {
689
- if (f.mime && IMAGE_MIME_TYPES.has(f.mime) && (!f.size || f.size <= MAX_IMAGE_SIZE)) {
738
+ if (!f.mime || (f.size && f.size > MAX_FILE_SIZE))
739
+ continue;
740
+ if (IMAGE_MIME_TYPES.has(f.mime) || DOCUMENT_MIME_TYPES.has(f.mime) || TEXT_MIME_TYPES.has(f.mime)) {
690
741
  eligible.push({ fileId: f.fileId, mime: f.mime });
691
742
  }
692
743
  }
@@ -696,12 +747,28 @@ class Bot {
696
747
  const results = await Promise.all(eligible.map(async (f) => {
697
748
  try {
698
749
  const result = await this.hailerApi.downloadFile(f.fileId);
699
- if (result.encoding === 'base64') {
700
- return { type: 'image', source: { type: 'base64', media_type: f.mime, data: result.content } };
750
+ if (IMAGE_MIME_TYPES.has(f.mime) && result.encoding === 'base64') {
751
+ return {
752
+ type: 'image',
753
+ source: { type: 'base64', media_type: f.mime, data: result.content },
754
+ };
755
+ }
756
+ if (DOCUMENT_MIME_TYPES.has(f.mime) && result.encoding === 'base64') {
757
+ return {
758
+ type: 'document',
759
+ source: { type: 'base64', media_type: 'application/pdf', data: result.content },
760
+ };
761
+ }
762
+ if (TEXT_MIME_TYPES.has(f.mime)) {
763
+ const text = result.encoding === 'base64' ? Buffer.from(result.content, 'base64').toString('utf-8') : result.content;
764
+ return {
765
+ type: 'document',
766
+ source: { type: 'text', media_type: 'text/plain', data: text },
767
+ };
701
768
  }
702
769
  }
703
770
  catch (err) {
704
- this.logger.warn('Failed to download image', { fileId: f.fileId });
771
+ this.logger.warn('Failed to download file', { fileId: f.fileId, mime: f.mime });
705
772
  }
706
773
  return null;
707
774
  }));
@@ -770,9 +837,10 @@ class Bot {
770
837
  const pending = state.contextBuffer.splice(0);
771
838
  const lastMsg = conversation[conversation.length - 1];
772
839
  if (lastMsg?.role === 'user' && Array.isArray(lastMsg.content)) {
773
- lastMsg.content.push({ type: 'text', text: `<context type="messages-during-processing">\n${pending.map(m => this.formatIncomingMessage(m)).join('\n\n')}\n</context>` });
774
- for (const block of await this.resolveImageAttachments(pending))
775
- lastMsg.content.push(block);
840
+ const content = lastMsg.content;
841
+ content.push({ type: 'text', text: `<context type="messages-during-processing">\n${pending.map(m => this.formatIncomingMessage(m)).join('\n\n')}\n</context>` });
842
+ for (const block of await this.resolveFileAttachments(pending))
843
+ content.push(block);
776
844
  this.opLogger.contextInject(discussionId, pending.length);
777
845
  }
778
846
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bot.js","sourceRoot":"","sources":["../../src/bot/bot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bot.js","sourceRoot":"","sources":["../../src/bot/bot.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"message-classifier.d.ts","sourceRoot":"","sources":["../../../src/bot/services/message-classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EACL,aAAa,EACb,eAAe,EAEf,aAAa,EAGd,MAAM,SAAS,CAAC;AAEjB,qBAAa,iBAAiB;IAK1B,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,MAAM;IALhB,OAAO,CAAC,cAAc,CAAS;gBAGrB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM;IASxB;;OAEG;IACU,sBAAsB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IA+L1F;;;OAGG;IACI,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAI7C;;;OAGG;IACI,oBAAoB,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IASlF;;;OAGG;IACI,0BAA0B,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAQ3E;;OAEG;IACU,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAsB1F"}
1
+ {"version":3,"file":"message-classifier.d.ts","sourceRoot":"","sources":["../../../src/bot/services/message-classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EACL,aAAa,EACb,eAAe,EAEf,aAAa,EAGd,MAAM,SAAS,CAAC;AAEjB,qBAAa,iBAAiB;IAK1B,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,MAAM;IALhB,OAAO,CAAC,cAAc,CAAS;gBAGrB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM;IASxB;;OAEG;IACU,sBAAsB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IA+L1F;;;OAGG;IACI,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAI7C;;;OAGG;IACI,oBAAoB,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IASlF;;;OAGG;IACI,0BAA0B,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAU3E;;OAEG;IACU,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAwB1F"}
@@ -213,6 +213,9 @@ class MessageClassifier {
213
213
  * Avoids a redundant API call by reusing discussion data already fetched in extractIncomingMessage.
214
214
  */
215
215
  checkDirectMessageFromData(discData, senderId) {
216
+ // Activity discussions are never DMs, even with only 2 participants
217
+ if (discData.linked_activity)
218
+ return false;
216
219
  const participants = discData.participants || [];
217
220
  if (participants.length === 2) {
218
221
  return participants.includes(this.botUserId) && participants.includes(senderId);
@@ -227,6 +230,9 @@ class MessageClassifier {
227
230
  const response = await this.botConnection.client.socket.request("messenger.load_discussions", [[discussionId]]);
228
231
  if (response && response[discussionId]) {
229
232
  const discussion = response[discussionId];
233
+ // Activity discussions are never DMs
234
+ if (discussion.linked_activity)
235
+ return false;
230
236
  const participants = discussion.participants || [];
231
237
  // 1:1 = exactly 2 participants: sender and bot
232
238
  if (participants.length === 2) {