@hailer/mcp 0.1.14 → 0.1.16
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/.claude/agents/agent-giuseppe-app-builder.md +7 -6
- package/.claude/agents/agent-lars-code-inspector.md +26 -14
- package/dist/agents/bot-manager.d.ts +48 -0
- package/dist/agents/bot-manager.js +254 -0
- package/dist/agents/factory.d.ts +150 -0
- package/dist/agents/factory.js +650 -0
- package/dist/agents/giuseppe/ai.d.ts +83 -0
- package/dist/agents/giuseppe/ai.js +466 -0
- package/dist/agents/giuseppe/bot.d.ts +110 -0
- package/dist/agents/giuseppe/bot.js +780 -0
- package/dist/agents/giuseppe/config.d.ts +25 -0
- package/dist/agents/giuseppe/config.js +227 -0
- package/dist/agents/giuseppe/files.d.ts +52 -0
- package/dist/agents/giuseppe/files.js +338 -0
- package/dist/agents/giuseppe/git.d.ts +48 -0
- package/dist/agents/giuseppe/git.js +298 -0
- package/dist/agents/giuseppe/index.d.ts +97 -0
- package/dist/agents/giuseppe/index.js +258 -0
- package/dist/agents/giuseppe/lsp.d.ts +113 -0
- package/dist/agents/giuseppe/lsp.js +485 -0
- package/dist/agents/giuseppe/monitor.d.ts +118 -0
- package/dist/agents/giuseppe/monitor.js +621 -0
- package/dist/agents/giuseppe/prompt.d.ts +5 -0
- package/dist/agents/giuseppe/prompt.js +94 -0
- package/dist/agents/giuseppe/registries/pending-classification.d.ts +28 -0
- package/dist/agents/giuseppe/registries/pending-classification.js +50 -0
- package/dist/agents/giuseppe/registries/pending-fix.d.ts +30 -0
- package/dist/agents/giuseppe/registries/pending-fix.js +42 -0
- package/dist/agents/giuseppe/registries/pending.d.ts +27 -0
- package/dist/agents/giuseppe/registries/pending.js +49 -0
- package/dist/agents/giuseppe/specialist.d.ts +47 -0
- package/dist/agents/giuseppe/specialist.js +237 -0
- package/dist/agents/giuseppe/types.d.ts +123 -0
- package/dist/agents/giuseppe/types.js +9 -0
- package/dist/agents/hailer-expert/index.d.ts +8 -0
- package/dist/agents/hailer-expert/index.js +14 -0
- package/dist/agents/hal/daemon.d.ts +142 -0
- package/dist/agents/hal/daemon.js +1103 -0
- package/dist/agents/hal/definitions.d.ts +55 -0
- package/dist/agents/hal/definitions.js +263 -0
- package/dist/agents/hal/index.d.ts +3 -0
- package/dist/agents/hal/index.js +8 -0
- package/dist/agents/index.d.ts +18 -0
- package/dist/agents/index.js +48 -0
- package/dist/agents/shared/base.d.ts +216 -0
- package/dist/agents/shared/base.js +846 -0
- package/dist/agents/shared/services/agent-registry.d.ts +107 -0
- package/dist/agents/shared/services/agent-registry.js +629 -0
- package/dist/agents/shared/services/conversation-manager.d.ts +50 -0
- package/dist/agents/shared/services/conversation-manager.js +136 -0
- package/dist/agents/shared/services/mcp-client.d.ts +56 -0
- package/dist/agents/shared/services/mcp-client.js +124 -0
- package/dist/agents/shared/services/message-classifier.d.ts +37 -0
- package/dist/agents/shared/services/message-classifier.js +187 -0
- package/dist/agents/shared/services/message-formatter.d.ts +89 -0
- package/dist/agents/shared/services/message-formatter.js +371 -0
- package/dist/agents/shared/services/session-logger.d.ts +106 -0
- package/dist/agents/shared/services/session-logger.js +446 -0
- package/dist/agents/shared/services/tool-executor.d.ts +41 -0
- package/dist/agents/shared/services/tool-executor.js +169 -0
- package/dist/agents/shared/services/workspace-schema-cache.d.ts +125 -0
- package/dist/agents/shared/services/workspace-schema-cache.js +578 -0
- package/dist/agents/shared/specialist.d.ts +91 -0
- package/dist/agents/shared/specialist.js +399 -0
- package/dist/agents/shared/tool-schema-loader.d.ts +62 -0
- package/dist/agents/shared/tool-schema-loader.js +232 -0
- package/dist/agents/shared/types.d.ts +327 -0
- package/dist/agents/shared/types.js +121 -0
- package/dist/app.js +21 -4
- package/dist/cli.js +0 -0
- package/dist/client/agents/orchestrator.d.ts +1 -0
- package/dist/client/agents/orchestrator.js +12 -1
- package/dist/commands/seed-config.d.ts +9 -0
- package/dist/commands/seed-config.js +372 -0
- package/dist/config.d.ts +10 -0
- package/dist/config.js +61 -1
- package/dist/core.d.ts +8 -0
- package/dist/core.js +137 -6
- package/dist/lib/discussion-lock.d.ts +42 -0
- package/dist/lib/discussion-lock.js +110 -0
- package/dist/mcp/UserContextCache.js +2 -2
- package/dist/mcp/hailer-clients.d.ts +15 -0
- package/dist/mcp/hailer-clients.js +100 -6
- package/dist/mcp/signal-handler.d.ts +16 -5
- package/dist/mcp/signal-handler.js +173 -122
- package/dist/mcp/tools/activity.js +9 -1
- package/dist/mcp/tools/bot-config.d.ts +184 -9
- package/dist/mcp/tools/bot-config.js +2177 -163
- package/dist/mcp/tools/giuseppe-tools.d.ts +21 -0
- package/dist/mcp/tools/giuseppe-tools.js +525 -0
- package/dist/mcp/utils/hailer-api-client.d.ts +42 -1
- package/dist/mcp/utils/hailer-api-client.js +128 -2
- package/dist/mcp/webhook-handler.d.ts +87 -0
- package/dist/mcp/webhook-handler.js +343 -0
- package/dist/mcp/workspace-cache.d.ts +5 -0
- package/dist/mcp/workspace-cache.js +11 -0
- package/dist/mcp-server.js +55 -5
- package/dist/modules/bug-reports/giuseppe-agent.d.ts +58 -0
- package/dist/modules/bug-reports/giuseppe-agent.js +467 -0
- package/dist/modules/bug-reports/giuseppe-ai.d.ts +25 -1
- package/dist/modules/bug-reports/giuseppe-ai.js +133 -2
- package/dist/modules/bug-reports/giuseppe-bot.d.ts +3 -2
- package/dist/modules/bug-reports/giuseppe-bot.js +75 -36
- package/dist/modules/bug-reports/giuseppe-daemon.d.ts +80 -0
- package/dist/modules/bug-reports/giuseppe-daemon.js +617 -0
- package/dist/modules/bug-reports/giuseppe-files.d.ts +12 -0
- package/dist/modules/bug-reports/giuseppe-files.js +37 -0
- package/dist/modules/bug-reports/giuseppe-lsp.d.ts +113 -0
- package/dist/modules/bug-reports/giuseppe-lsp.js +485 -0
- package/dist/modules/bug-reports/index.d.ts +1 -0
- package/dist/modules/bug-reports/index.js +31 -29
- package/package.json +5 -4
|
@@ -17,11 +17,12 @@
|
|
|
17
17
|
* 3. Default values
|
|
18
18
|
*/
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.GIUSEPPE_SYSTEM_PROMPT = exports.GiuseppeFiles = exports.GiuseppeGit = exports.GiuseppeAI = exports.pendingClassificationRegistry = exports.pendingFixRegistry = exports.PendingRegistry = exports.getDefaultConfig = exports.discoverWorkflow = exports.loadConfig = exports.GiuseppeBot = exports.BugMonitor = exports.BugReportsModule = void 0;
|
|
20
|
+
exports.GIUSEPPE_SYSTEM_PROMPT = exports.GiuseppeFiles = exports.GiuseppeGit = exports.GiuseppeAI = exports.pendingClassificationRegistry = exports.pendingFixRegistry = exports.PendingRegistry = exports.getDefaultConfig = exports.discoverWorkflow = exports.loadConfig = exports.GiuseppeBot = exports.GiuseppeAgent = exports.BugMonitor = exports.BugReportsModule = void 0;
|
|
21
21
|
const logger_1 = require("../../lib/logger");
|
|
22
22
|
const bug_monitor_1 = require("./bug-monitor");
|
|
23
|
-
const
|
|
23
|
+
const giuseppe_agent_1 = require("./giuseppe-agent");
|
|
24
24
|
const bug_config_1 = require("./bug-config");
|
|
25
|
+
const discussion_lock_1 = require("../../lib/discussion-lock");
|
|
25
26
|
const logger = (0, logger_1.createLogger)({ component: 'bug-reports-module' });
|
|
26
27
|
class BugReportsModule {
|
|
27
28
|
userContext;
|
|
@@ -94,37 +95,31 @@ class BugReportsModule {
|
|
|
94
95
|
}
|
|
95
96
|
this._pendingGiuseppeDisabledHandlers = undefined;
|
|
96
97
|
}
|
|
97
|
-
// Create Giuseppe
|
|
98
|
+
// Create Giuseppe agent if auto-fix is enabled
|
|
98
99
|
if (this.config.autoFix) {
|
|
99
100
|
if (!this.config.anthropicApiKey && !process.env.ANTHROPIC_API_KEY) {
|
|
100
101
|
logger.warn('Auto-fix enabled but no ANTHROPIC_API_KEY - Giuseppe disabled');
|
|
101
102
|
}
|
|
102
103
|
else {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
this.giuseppe.initializeClassificationCallbacks();
|
|
107
|
-
// Register Giuseppe as bug handler
|
|
104
|
+
// Create the conversational Giuseppe agent
|
|
105
|
+
this.giuseppe = new giuseppe_agent_1.GiuseppeAgent(this.userContext, this.monitor, process.env.DEV_APPS_PATH || process.cwd(), this.config.anthropicApiKey);
|
|
106
|
+
// Register Giuseppe as bug handler - starts the conversation
|
|
108
107
|
this.monitor.onNewBug(async (bug) => {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
});
|
|
115
|
-
});
|
|
116
|
-
// Register Giuseppe as message handler (for approval messages)
|
|
117
|
-
this.monitor.onMessage(async (discussionId, message, senderId) => {
|
|
118
|
-
const result = await this.giuseppe.handleDiscussionMessage(discussionId, message, senderId);
|
|
119
|
-
if (result.approved) {
|
|
120
|
-
logger.info('Fix approved', {
|
|
121
|
-
discussionId,
|
|
122
|
-
published: result.published,
|
|
123
|
-
error: result.error
|
|
124
|
-
});
|
|
108
|
+
// Lock discussion to prevent HAL from responding
|
|
109
|
+
if (bug.discussionId) {
|
|
110
|
+
(0, discussion_lock_1.acquireDiscussionLock)(bug.discussionId, 'giuseppe', 30 * 60 * 1000);
|
|
111
|
+
// IMPORTANT: Tell monitor to watch this discussion for messages
|
|
112
|
+
this.monitor.watchDiscussion(bug.discussionId);
|
|
125
113
|
}
|
|
114
|
+
await this.giuseppe.handleNewBug(bug);
|
|
115
|
+
logger.info('Giuseppe started conversation', { bugId: bug.id });
|
|
116
|
+
});
|
|
117
|
+
// Register Giuseppe as message handler - continues the conversation
|
|
118
|
+
this.monitor.onMessage(async (discussionId, message, senderName) => {
|
|
119
|
+
logger.info('Routing message to Giuseppe', { discussionId, senderName, preview: message.substring(0, 50) });
|
|
120
|
+
await this.giuseppe.handleMessage(discussionId, message, senderName);
|
|
126
121
|
});
|
|
127
|
-
logger.info('Giuseppe
|
|
122
|
+
logger.info('Giuseppe Agent enabled - full conversational mode');
|
|
128
123
|
}
|
|
129
124
|
}
|
|
130
125
|
// Start monitoring
|
|
@@ -169,10 +164,15 @@ class BugReportsModule {
|
|
|
169
164
|
if (!this.giuseppe) {
|
|
170
165
|
return {
|
|
171
166
|
success: false,
|
|
172
|
-
summary: 'Giuseppe
|
|
167
|
+
summary: 'Giuseppe Agent not initialized (autoFix disabled or no API key)'
|
|
173
168
|
};
|
|
174
169
|
}
|
|
175
|
-
|
|
170
|
+
// Start the conversational fix
|
|
171
|
+
await this.giuseppe.handleNewBug(bug);
|
|
172
|
+
return {
|
|
173
|
+
success: true,
|
|
174
|
+
summary: 'Giuseppe started fixing the bug conversationally'
|
|
175
|
+
};
|
|
176
176
|
}
|
|
177
177
|
/**
|
|
178
178
|
* Register a custom bug handler
|
|
@@ -189,8 +189,10 @@ class BugReportsModule {
|
|
|
189
189
|
exports.BugReportsModule = BugReportsModule;
|
|
190
190
|
var bug_monitor_2 = require("./bug-monitor");
|
|
191
191
|
Object.defineProperty(exports, "BugMonitor", { enumerable: true, get: function () { return bug_monitor_2.BugMonitor; } });
|
|
192
|
-
var
|
|
193
|
-
Object.defineProperty(exports, "
|
|
192
|
+
var giuseppe_agent_2 = require("./giuseppe-agent");
|
|
193
|
+
Object.defineProperty(exports, "GiuseppeAgent", { enumerable: true, get: function () { return giuseppe_agent_2.GiuseppeAgent; } });
|
|
194
|
+
var giuseppe_bot_1 = require("./giuseppe-bot"); // Legacy, for backwards compatibility
|
|
195
|
+
Object.defineProperty(exports, "GiuseppeBot", { enumerable: true, get: function () { return giuseppe_bot_1.GiuseppeBot; } });
|
|
194
196
|
var bug_config_2 = require("./bug-config");
|
|
195
197
|
Object.defineProperty(exports, "loadConfig", { enumerable: true, get: function () { return bug_config_2.loadConfig; } });
|
|
196
198
|
Object.defineProperty(exports, "discoverWorkflow", { enumerable: true, get: function () { return bug_config_2.discoverWorkflow; } });
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hailer/mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.16",
|
|
4
4
|
"config": {
|
|
5
5
|
"docker": {
|
|
6
6
|
"registry": "registry.gitlab.com/hailer-repos/hailer-mcp"
|
|
@@ -24,7 +24,8 @@
|
|
|
24
24
|
"server:prod": "node dist/client/server.js",
|
|
25
25
|
"release:patch": "npm version patch -m 'chore: release v%s' && git push && git push --tags && npm run build && npm publish --access public",
|
|
26
26
|
"release:minor": "npm version minor -m 'chore: release v%s' && git push && git push --tags && npm run build && npm publish --access public",
|
|
27
|
-
"release:major": "npm version major -m 'chore: release v%s' && git push && git push --tags && npm run build && npm publish --access public"
|
|
27
|
+
"release:major": "npm version major -m 'chore: release v%s' && git push && git push --tags && npm run build && npm publish --access public",
|
|
28
|
+
"seed-config": "tsx src/commands/seed-config.ts"
|
|
28
29
|
},
|
|
29
30
|
"dependencies": {
|
|
30
31
|
"@anthropic-ai/sdk": "^0.54.0",
|
|
@@ -42,6 +43,7 @@
|
|
|
42
43
|
"form-data": "^4.0.4",
|
|
43
44
|
"openai": "^5.5.1",
|
|
44
45
|
"sharp": "^0.34.5",
|
|
46
|
+
"typescript-language-server": "^5.1.3",
|
|
45
47
|
"zod": "^3.24.1"
|
|
46
48
|
},
|
|
47
49
|
"devDependencies": {
|
|
@@ -54,8 +56,7 @@
|
|
|
54
56
|
"eslint": "^9.29.0",
|
|
55
57
|
"globals": "^16.2.0",
|
|
56
58
|
"tsx": "^4.19.2",
|
|
57
|
-
"typescript": "^5"
|
|
58
|
-
"typescript-language-server": "^5.1.3"
|
|
59
|
+
"typescript": "^5"
|
|
59
60
|
},
|
|
60
61
|
"bin": {
|
|
61
62
|
"hailer-mcp": "dist/cli.js"
|