@hailer/mcp 0.1.17 → 0.2.1

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 (200) hide show
  1. package/dist/app.js +24 -20
  2. package/dist/core.d.ts +33 -9
  3. package/dist/core.js +279 -147
  4. package/dist/mcp/UserContextCache.js +18 -0
  5. package/dist/mcp/hailer-clients.d.ts +9 -1
  6. package/dist/mcp/hailer-clients.js +13 -3
  7. package/dist/mcp/signal-handler.js +1 -1
  8. package/dist/mcp/tool-registry.d.ts +3 -1
  9. package/dist/mcp/tool-registry.js +4 -1
  10. package/dist/mcp/tools/activity.js +43 -34
  11. package/dist/mcp/tools/bot-config/constants.d.ts +23 -0
  12. package/dist/mcp/tools/bot-config/constants.js +94 -0
  13. package/dist/mcp/tools/{bot-config.d.ts → bot-config/core.d.ts} +6 -6
  14. package/dist/mcp/tools/{bot-config.js → bot-config/core.js} +15 -15
  15. package/dist/mcp/tools/bot-config/index.d.ts +10 -0
  16. package/dist/mcp/tools/bot-config/index.js +59 -0
  17. package/dist/mcp/tools/bot-config/tools.d.ts +7 -0
  18. package/dist/mcp/tools/bot-config/tools.js +15 -0
  19. package/dist/mcp/tools/bot-config/types.d.ts +50 -0
  20. package/dist/mcp/tools/bot-config/types.js +6 -0
  21. package/dist/mcp/tools/bug-fixer-tools.d.ts +21 -0
  22. package/dist/mcp/tools/{giuseppe-tools.js → bug-fixer-tools.js} +61 -61
  23. package/dist/mcp/tools/user.js +10 -29
  24. package/dist/mcp/tools/workflow.js +36 -2
  25. package/dist/mcp/utils/data-transformers.d.ts +0 -8
  26. package/dist/mcp/utils/data-transformers.js +0 -28
  27. package/dist/mcp/utils/index.d.ts +4 -1
  28. package/dist/mcp/utils/index.js +17 -3
  29. package/dist/mcp/utils/pagination.d.ts +40 -0
  30. package/dist/mcp/utils/pagination.js +55 -0
  31. package/dist/mcp/utils/response-builder.d.ts +53 -0
  32. package/dist/mcp/utils/response-builder.js +110 -0
  33. package/dist/mcp/utils/tool-helpers.d.ts +0 -8
  34. package/dist/mcp/utils/tool-helpers.js +0 -24
  35. package/dist/mcp/utils/types.d.ts +1 -33
  36. package/dist/mcp-server.d.ts +2 -2
  37. package/dist/mcp-server.js +161 -139
  38. package/package.json +1 -1
  39. package/REFACTOR_STATUS.md +0 -127
  40. package/dist/agents/bot-manager.d.ts +0 -48
  41. package/dist/agents/bot-manager.js +0 -254
  42. package/dist/agents/factory.d.ts +0 -150
  43. package/dist/agents/factory.js +0 -650
  44. package/dist/agents/giuseppe/ai.d.ts +0 -83
  45. package/dist/agents/giuseppe/ai.js +0 -466
  46. package/dist/agents/giuseppe/bot.d.ts +0 -110
  47. package/dist/agents/giuseppe/bot.js +0 -780
  48. package/dist/agents/giuseppe/config.d.ts +0 -25
  49. package/dist/agents/giuseppe/config.js +0 -227
  50. package/dist/agents/giuseppe/files.d.ts +0 -52
  51. package/dist/agents/giuseppe/files.js +0 -338
  52. package/dist/agents/giuseppe/git.d.ts +0 -48
  53. package/dist/agents/giuseppe/git.js +0 -298
  54. package/dist/agents/giuseppe/index.d.ts +0 -97
  55. package/dist/agents/giuseppe/index.js +0 -258
  56. package/dist/agents/giuseppe/lsp.d.ts +0 -113
  57. package/dist/agents/giuseppe/lsp.js +0 -485
  58. package/dist/agents/giuseppe/monitor.d.ts +0 -118
  59. package/dist/agents/giuseppe/monitor.js +0 -621
  60. package/dist/agents/giuseppe/prompt.d.ts +0 -5
  61. package/dist/agents/giuseppe/prompt.js +0 -94
  62. package/dist/agents/giuseppe/registries/pending-classification.d.ts +0 -28
  63. package/dist/agents/giuseppe/registries/pending-classification.js +0 -50
  64. package/dist/agents/giuseppe/registries/pending-fix.d.ts +0 -30
  65. package/dist/agents/giuseppe/registries/pending-fix.js +0 -42
  66. package/dist/agents/giuseppe/registries/pending.d.ts +0 -27
  67. package/dist/agents/giuseppe/registries/pending.js +0 -49
  68. package/dist/agents/giuseppe/specialist.d.ts +0 -47
  69. package/dist/agents/giuseppe/specialist.js +0 -237
  70. package/dist/agents/giuseppe/types.d.ts +0 -123
  71. package/dist/agents/giuseppe/types.js +0 -9
  72. package/dist/agents/hailer-expert/index.d.ts +0 -8
  73. package/dist/agents/hailer-expert/index.js +0 -14
  74. package/dist/agents/hal/daemon.d.ts +0 -142
  75. package/dist/agents/hal/daemon.js +0 -1103
  76. package/dist/agents/hal/definitions.d.ts +0 -55
  77. package/dist/agents/hal/definitions.js +0 -263
  78. package/dist/agents/hal/index.d.ts +0 -3
  79. package/dist/agents/hal/index.js +0 -8
  80. package/dist/agents/index.d.ts +0 -18
  81. package/dist/agents/index.js +0 -48
  82. package/dist/agents/shared/base.d.ts +0 -216
  83. package/dist/agents/shared/base.js +0 -846
  84. package/dist/agents/shared/services/agent-registry.d.ts +0 -107
  85. package/dist/agents/shared/services/agent-registry.js +0 -629
  86. package/dist/agents/shared/services/conversation-manager.d.ts +0 -50
  87. package/dist/agents/shared/services/conversation-manager.js +0 -136
  88. package/dist/agents/shared/services/mcp-client.d.ts +0 -56
  89. package/dist/agents/shared/services/mcp-client.js +0 -124
  90. package/dist/agents/shared/services/message-classifier.d.ts +0 -37
  91. package/dist/agents/shared/services/message-classifier.js +0 -187
  92. package/dist/agents/shared/services/message-formatter.d.ts +0 -89
  93. package/dist/agents/shared/services/message-formatter.js +0 -371
  94. package/dist/agents/shared/services/session-logger.d.ts +0 -106
  95. package/dist/agents/shared/services/session-logger.js +0 -446
  96. package/dist/agents/shared/services/tool-executor.d.ts +0 -41
  97. package/dist/agents/shared/services/tool-executor.js +0 -169
  98. package/dist/agents/shared/services/workspace-schema-cache.d.ts +0 -125
  99. package/dist/agents/shared/services/workspace-schema-cache.js +0 -578
  100. package/dist/agents/shared/specialist.d.ts +0 -91
  101. package/dist/agents/shared/specialist.js +0 -399
  102. package/dist/agents/shared/tool-schema-loader.d.ts +0 -62
  103. package/dist/agents/shared/tool-schema-loader.js +0 -232
  104. package/dist/agents/shared/types.d.ts +0 -327
  105. package/dist/agents/shared/types.js +0 -121
  106. package/dist/client/agents/base.d.ts +0 -207
  107. package/dist/client/agents/base.js +0 -744
  108. package/dist/client/agents/definitions.d.ts +0 -53
  109. package/dist/client/agents/definitions.js +0 -263
  110. package/dist/client/agents/orchestrator.d.ts +0 -141
  111. package/dist/client/agents/orchestrator.js +0 -1062
  112. package/dist/client/agents/specialist.d.ts +0 -86
  113. package/dist/client/agents/specialist.js +0 -340
  114. package/dist/client/bot-entrypoint.d.ts +0 -7
  115. package/dist/client/bot-entrypoint.js +0 -103
  116. package/dist/client/bot-manager.d.ts +0 -44
  117. package/dist/client/bot-manager.js +0 -173
  118. package/dist/client/bot-runner.d.ts +0 -35
  119. package/dist/client/bot-runner.js +0 -188
  120. package/dist/client/chat-agent-daemon.d.ts +0 -464
  121. package/dist/client/chat-agent-daemon.js +0 -1774
  122. package/dist/client/daemon-factory.d.ts +0 -106
  123. package/dist/client/daemon-factory.js +0 -301
  124. package/dist/client/factory.d.ts +0 -111
  125. package/dist/client/factory.js +0 -314
  126. package/dist/client/index.d.ts +0 -17
  127. package/dist/client/index.js +0 -38
  128. package/dist/client/multi-bot-manager.d.ts +0 -42
  129. package/dist/client/multi-bot-manager.js +0 -161
  130. package/dist/client/orchestrator-daemon.d.ts +0 -87
  131. package/dist/client/orchestrator-daemon.js +0 -444
  132. package/dist/client/server.d.ts +0 -8
  133. package/dist/client/server.js +0 -251
  134. package/dist/client/services/agent-registry.d.ts +0 -108
  135. package/dist/client/services/agent-registry.js +0 -630
  136. package/dist/client/services/conversation-manager.d.ts +0 -50
  137. package/dist/client/services/conversation-manager.js +0 -136
  138. package/dist/client/services/mcp-client.d.ts +0 -48
  139. package/dist/client/services/mcp-client.js +0 -105
  140. package/dist/client/services/message-classifier.d.ts +0 -37
  141. package/dist/client/services/message-classifier.js +0 -187
  142. package/dist/client/services/message-formatter.d.ts +0 -84
  143. package/dist/client/services/message-formatter.js +0 -353
  144. package/dist/client/services/session-logger.d.ts +0 -106
  145. package/dist/client/services/session-logger.js +0 -446
  146. package/dist/client/services/tool-executor.d.ts +0 -41
  147. package/dist/client/services/tool-executor.js +0 -169
  148. package/dist/client/services/workspace-schema-cache.d.ts +0 -149
  149. package/dist/client/services/workspace-schema-cache.js +0 -732
  150. package/dist/client/specialist-daemon.d.ts +0 -77
  151. package/dist/client/specialist-daemon.js +0 -197
  152. package/dist/client/specialists.d.ts +0 -53
  153. package/dist/client/specialists.js +0 -178
  154. package/dist/client/tool-schema-loader.d.ts +0 -62
  155. package/dist/client/tool-schema-loader.js +0 -232
  156. package/dist/client/types.d.ts +0 -327
  157. package/dist/client/types.js +0 -121
  158. package/dist/commands/seed-config.d.ts +0 -9
  159. package/dist/commands/seed-config.js +0 -372
  160. package/dist/lib/context-manager.d.ts +0 -111
  161. package/dist/lib/context-manager.js +0 -431
  162. package/dist/lib/prompt-length-manager.d.ts +0 -81
  163. package/dist/lib/prompt-length-manager.js +0 -457
  164. package/dist/mcp/tools/giuseppe-tools.d.ts +0 -21
  165. package/dist/modules/bug-reports/bug-config.d.ts +0 -25
  166. package/dist/modules/bug-reports/bug-config.js +0 -187
  167. package/dist/modules/bug-reports/bug-monitor.d.ts +0 -108
  168. package/dist/modules/bug-reports/bug-monitor.js +0 -510
  169. package/dist/modules/bug-reports/giuseppe-agent.d.ts +0 -58
  170. package/dist/modules/bug-reports/giuseppe-agent.js +0 -467
  171. package/dist/modules/bug-reports/giuseppe-ai.d.ts +0 -83
  172. package/dist/modules/bug-reports/giuseppe-ai.js +0 -466
  173. package/dist/modules/bug-reports/giuseppe-bot.d.ts +0 -110
  174. package/dist/modules/bug-reports/giuseppe-bot.js +0 -804
  175. package/dist/modules/bug-reports/giuseppe-daemon.d.ts +0 -80
  176. package/dist/modules/bug-reports/giuseppe-daemon.js +0 -617
  177. package/dist/modules/bug-reports/giuseppe-files.d.ts +0 -64
  178. package/dist/modules/bug-reports/giuseppe-files.js +0 -375
  179. package/dist/modules/bug-reports/giuseppe-git.d.ts +0 -48
  180. package/dist/modules/bug-reports/giuseppe-git.js +0 -298
  181. package/dist/modules/bug-reports/giuseppe-lsp.d.ts +0 -113
  182. package/dist/modules/bug-reports/giuseppe-lsp.js +0 -485
  183. package/dist/modules/bug-reports/giuseppe-prompt.d.ts +0 -5
  184. package/dist/modules/bug-reports/giuseppe-prompt.js +0 -94
  185. package/dist/modules/bug-reports/index.d.ts +0 -77
  186. package/dist/modules/bug-reports/index.js +0 -215
  187. package/dist/modules/bug-reports/pending-classification-registry.d.ts +0 -28
  188. package/dist/modules/bug-reports/pending-classification-registry.js +0 -50
  189. package/dist/modules/bug-reports/pending-fix-registry.d.ts +0 -30
  190. package/dist/modules/bug-reports/pending-fix-registry.js +0 -42
  191. package/dist/modules/bug-reports/pending-registry.d.ts +0 -27
  192. package/dist/modules/bug-reports/pending-registry.js +0 -49
  193. package/dist/modules/bug-reports/types.d.ts +0 -123
  194. package/dist/modules/bug-reports/types.js +0 -9
  195. package/dist/routes/agents.d.ts +0 -44
  196. package/dist/routes/agents.js +0 -311
  197. package/dist/services/agent-credential-store.d.ts +0 -73
  198. package/dist/services/agent-credential-store.js +0 -212
  199. package/dist/services/bug-monitor.d.ts +0 -23
  200. package/dist/services/bug-monitor.js +0 -275
@@ -1,123 +0,0 @@
1
- /**
2
- * Bug Reports Module - Type Definitions
3
- *
4
- * Shared types for the bug monitoring and auto-fix system.
5
- * No hardcoded IDs - everything discovered by name patterns.
6
- */
7
- export interface BugReportsConfig {
8
- /** Enable/disable the bug monitor */
9
- enabled: boolean;
10
- /** Workflow name pattern to find Bug Reports workflow */
11
- workflowNamePattern: string;
12
- /** Phase names for bug lifecycle */
13
- phaseNames: {
14
- new: string;
15
- inProgress: string;
16
- fixed: string;
17
- closed: string;
18
- declined: string;
19
- };
20
- /** Polling interval in milliseconds */
21
- intervalMs: number;
22
- /** Enable auto-fix via Giuseppe bot */
23
- autoFix: boolean;
24
- /** Post notifications to bug discussions */
25
- notifyOnNew: boolean;
26
- /** Anthropic API key for Giuseppe bot (if autoFix enabled) */
27
- anthropicApiKey?: string;
28
- /** Apps registry - maps appId to project paths */
29
- appsRegistry?: Record<string, AppRegistryEntry>;
30
- }
31
- export interface AppRegistryEntry {
32
- /** Local path to app project */
33
- projectPath: string;
34
- /** App name for reference */
35
- name: string;
36
- /** Git remote URL (optional) */
37
- gitRemote?: string;
38
- }
39
- export interface BugReport {
40
- /** Activity ID */
41
- id: string;
42
- /** Bug title/name */
43
- name: string;
44
- /** App ID this bug relates to */
45
- appId?: string;
46
- /** App name */
47
- appName?: string;
48
- /** Who reported the bug */
49
- reportedBy?: string;
50
- /** Bug description */
51
- description: string;
52
- /** Steps to reproduce */
53
- stepsToReproduce?: string;
54
- /** Expected behavior */
55
- expectedBehavior?: string;
56
- /** Actual behavior */
57
- actualBehavior?: string;
58
- /** Priority level */
59
- priority?: 'low' | 'medium' | 'high' | 'critical';
60
- /** Discussion ID for posting updates */
61
- discussionId?: string;
62
- /** Workflow ID */
63
- workflowId: string;
64
- /** Current phase ID */
65
- phaseId: string;
66
- /** Creation timestamp */
67
- createdAt: string;
68
- /** Who created the bug activity (user ID) */
69
- createdBy?: string;
70
- /** Raw field values for custom parsing */
71
- rawFields?: Record<string, any>;
72
- }
73
- export interface WorkflowDiscoveryResult {
74
- /** Found workflow ID */
75
- workflowId: string;
76
- /** Workflow name */
77
- workflowName: string;
78
- /** Phase ID mappings */
79
- phases: {
80
- new?: string;
81
- inProgress?: string;
82
- fixed?: string;
83
- closed?: string;
84
- declined?: string;
85
- };
86
- /** Field ID mappings (discovered by label) */
87
- fields: {
88
- appId?: string;
89
- appName?: string;
90
- description?: string;
91
- stepsToReproduce?: string;
92
- expectedBehavior?: string;
93
- actualBehavior?: string;
94
- reportedBy?: string;
95
- priority?: string;
96
- };
97
- }
98
- export interface FixResult {
99
- success: boolean;
100
- /** What was done */
101
- summary: string;
102
- /** Files modified */
103
- filesModified?: string[];
104
- /** Commit hash if committed */
105
- commitHash?: string;
106
- /** New version if published */
107
- publishedVersion?: string;
108
- /** Error message if failed */
109
- error?: string;
110
- /** Detailed log of actions */
111
- log?: string[];
112
- }
113
- export interface GiuseppeTaskInput {
114
- /** The bug to fix */
115
- bug: BugReport;
116
- /** App project info */
117
- app: AppRegistryEntry;
118
- /** Whether to auto-publish after fix */
119
- autoPublish: boolean;
120
- /** Hailer app ID for publishing */
121
- hailerAppId?: string;
122
- }
123
- //# sourceMappingURL=types.d.ts.map
@@ -1,9 +0,0 @@
1
- "use strict";
2
- /**
3
- * Bug Reports Module - Type Definitions
4
- *
5
- * Shared types for the bug monitoring and auto-fix system.
6
- * No hardcoded IDs - everything discovered by name patterns.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- //# sourceMappingURL=types.js.map
@@ -1,8 +0,0 @@
1
- /**
2
- * HailerExpert Agent
3
- *
4
- * Uses the shared SpecialistDaemon with config from hal/definitions.ts
5
- * No custom daemon class needed - all config is in SPECIALISTS.hailerExpert
6
- */
7
- export { SPECIALISTS } from '../hal/definitions';
8
- //# sourceMappingURL=index.d.ts.map
@@ -1,14 +0,0 @@
1
- "use strict";
2
- /**
3
- * HailerExpert Agent
4
- *
5
- * Uses the shared SpecialistDaemon with config from hal/definitions.ts
6
- * No custom daemon class needed - all config is in SPECIALISTS.hailerExpert
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.SPECIALISTS = void 0;
10
- // Re-export from definitions for convenience
11
- var definitions_1 = require("../hal/definitions");
12
- Object.defineProperty(exports, "SPECIALISTS", { enumerable: true, get: function () { return definitions_1.SPECIALISTS; } });
13
- // HailerExpert uses SpecialistDaemon directly - no custom class
14
- //# sourceMappingURL=index.js.map
@@ -1,142 +0,0 @@
1
- /**
2
- * Orchestrator Daemon (HAL)
3
- *
4
- * The main conversational bot that handles general chat and coordinates
5
- * with specialist bots when tasks are too complex.
6
- *
7
- * HAL can:
8
- * - Handle general conversation and simple queries
9
- * - Detect when a task needs specialist help
10
- * - Invite specialist bots to the discussion
11
- * - Hand off context to specialists
12
- * - Summarize specialist responses for users
13
- */
14
- import { ChatAgentDaemon, ChatAgentDaemonConfig, IncomingMessage } from "../shared/base";
15
- import { HailerSignal } from "../../mcp/signal-handler";
16
- import { ToolInput } from "../shared/types";
17
- import Anthropic from "@anthropic-ai/sdk";
18
- export interface OrchestratorDaemonConfig extends ChatAgentDaemonConfig {
19
- /** Map of specialist key to their Hailer user ID */
20
- specialistUserIds?: Map<string, string>;
21
- }
22
- export declare class OrchestratorDaemon extends ChatAgentDaemon {
23
- private orchestratorLogger;
24
- private specialists;
25
- private activeSpecialistsInDiscussion;
26
- private specialistUserIds;
27
- private toolsUsedInCurrentMessage;
28
- private lastToolsUsed;
29
- private lastToolsFailed;
30
- private static SILENT_SUCCESS_TOOLS;
31
- private lastKnownActivityId;
32
- private lastKnownActivityName;
33
- private lastKnownActivityTime;
34
- private static CONTEXT_MEMORY_TIMEOUT;
35
- constructor(config: OrchestratorDaemonConfig);
36
- /**
37
- * Trigger HAL to respond in a discussion with specific context
38
- * Used when bug monitor needs HAL to naturally inform users about Giuseppe being disabled
39
- */
40
- respondWithContext(discussionId: string, activityId: string, contextMessage: string): Promise<void>;
41
- /**
42
- * Override agent name for Agent Directory
43
- * Uses the actual Hailer user name from BotClient (set in workspace)
44
- */
45
- protected getAgentName(): {
46
- firstName: string;
47
- lastName: string;
48
- };
49
- /**
50
- * Override agent description for Agent Directory
51
- */
52
- protected getAgentDescription(): string;
53
- /**
54
- * Override Position details for Orchestrator
55
- */
56
- protected getPositionDetails(): {
57
- name: string;
58
- purpose: string;
59
- personaTone: string;
60
- coreCapabilities: string;
61
- boundaries: string;
62
- };
63
- /**
64
- * Orchestrator only needs basic tools - complex ops go to specialists
65
- */
66
- protected getToolWhitelist(): string[];
67
- /**
68
- * Preprocess tool input - inject context for certain tools
69
- * Uses cross-discussion memory to maintain context awareness
70
- */
71
- protected preprocessToolInput(toolName: string, input: ToolInput): ToolInput;
72
- /**
73
- * Override to detect tool failures for silent success feature
74
- */
75
- protected executeToolsAndContinue(toolUseBlocks: Anthropic.ToolUseBlock[], originalMessage: IncomingMessage): Promise<void>;
76
- /**
77
- * Update cross-discussion memory when processing messages
78
- * Call this when entering an activity discussion to remember context
79
- */
80
- private updateContextMemory;
81
- /**
82
- * Override to update cross-discussion memory when entering activity discussions
83
- */
84
- protected extractIncomingMessage(signal: HailerSignal): Promise<IncomingMessage | null>;
85
- /**
86
- * Register a specialist's Hailer user ID
87
- * Called during initialization when we know the specialist bot's user ID
88
- */
89
- registerSpecialistUserId(specialistKey: string, userId: string, displayName?: string): void;
90
- /**
91
- * Unregister a specialist (called when specialist is disabled/stopped)
92
- * This prevents HAL from trying to invite a disabled specialist
93
- */
94
- unregisterSpecialist(specialistKey: string): void;
95
- /**
96
- * Mark a specialist as active in a discussion
97
- */
98
- private markSpecialistActive;
99
- /**
100
- * Invite a specialist to a discussion
101
- * Always invites first (tool handles membership check), then tags
102
- */
103
- private inviteSpecialist;
104
- /**
105
- * Override getTools to include Giuseppe retry tool when there's a pending fix
106
- */
107
- protected getTools(): Anthropic.Tool[];
108
- /**
109
- * Get tools list with Giuseppe retry tool added
110
- */
111
- private getToolsWithGiuseppeRetry;
112
- /**
113
- * Get pending fix context for a discussion (if any)
114
- */
115
- private getPendingFixContext;
116
- /**
117
- * Get pending classification context for a discussion (if any)
118
- */
119
- private getPendingClassificationContext;
120
- /**
121
- * Override system prompt to include orchestrator capabilities
122
- */
123
- protected getSystemPrompt(): string;
124
- /**
125
- * Override response handling to detect specialist invitations
126
- */
127
- protected handleLlmResponse(response: Anthropic.Message, originalMessage: IncomingMessage): Promise<void>;
128
- /**
129
- * Get orchestrator status including specialist info
130
- */
131
- getOrchestratorStatus(): {
132
- conversationState: ReturnType<ChatAgentDaemon["getConversationState"]>;
133
- specialists: Array<{
134
- key: string;
135
- name: string;
136
- available: boolean;
137
- userId?: string;
138
- }>;
139
- activeInDiscussions: Record<string, string[]>;
140
- };
141
- }
142
- //# sourceMappingURL=daemon.d.ts.map