repoburg 1.3.167 → 1.3.169
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/backend/dist/src/app.module.js +2 -0
- package/backend/dist/src/app.module.js.map +1 -1
- package/backend/dist/src/core-entities/mcp-config.entity.d.ts +9 -0
- package/backend/dist/src/core-entities/mcp-config.entity.js +71 -6
- package/backend/dist/src/core-entities/mcp-config.entity.js.map +1 -1
- package/backend/dist/src/events/websocket.events.d.ts +12 -0
- package/backend/dist/src/events/websocket.events.js +4 -0
- package/backend/dist/src/events/websocket.events.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/discard-messages.handler.js +19 -9
- package/backend/dist/src/llm-orchestration/action-handlers/discard-messages.handler.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/session-status.handler.js +4 -1
- package/backend/dist/src/llm-orchestration/action-handlers/session-status.handler.js.map +1 -1
- package/backend/dist/src/llm-orchestration/session-status.util.js +2 -0
- package/backend/dist/src/llm-orchestration/session-status.util.js.map +1 -1
- package/backend/dist/src/mcp/marketplace/dto/initiate-connect.dto.d.ts +3 -0
- package/backend/dist/src/mcp/marketplace/dto/initiate-connect.dto.js +27 -0
- package/backend/dist/src/mcp/marketplace/dto/initiate-connect.dto.js.map +1 -0
- package/backend/dist/src/mcp/marketplace/marketplace.controller.d.ts +20 -0
- package/backend/dist/src/mcp/marketplace/marketplace.controller.js +145 -0
- package/backend/dist/src/mcp/marketplace/marketplace.controller.js.map +1 -0
- package/backend/dist/src/mcp/marketplace/marketplace.module.d.ts +2 -0
- package/backend/dist/src/mcp/marketplace/marketplace.module.js +34 -0
- package/backend/dist/src/mcp/marketplace/marketplace.module.js.map +1 -0
- package/backend/dist/src/mcp/marketplace/marketplace.service.d.ts +35 -0
- package/backend/dist/src/mcp/marketplace/marketplace.service.js +275 -0
- package/backend/dist/src/mcp/marketplace/marketplace.service.js.map +1 -0
- package/backend/dist/src/mcp/marketplace/oauth-provider.d.ts +29 -0
- package/backend/dist/src/mcp/marketplace/oauth-provider.js +55 -0
- package/backend/dist/src/mcp/marketplace/oauth-provider.js.map +1 -0
- package/backend/dist/src/mcp/marketplace/remote-servers.catalog.d.ts +12 -0
- package/backend/dist/src/mcp/marketplace/remote-servers.catalog.js +2318 -0
- package/backend/dist/src/mcp/marketplace/remote-servers.catalog.js.map +1 -0
- package/backend/dist/src/mcp/mcp.service.d.ts +2 -0
- package/backend/dist/src/mcp/mcp.service.js +92 -4
- package/backend/dist/src/mcp/mcp.service.js.map +1 -1
- package/backend/dist/src/seeding/data/sub-agents/session-compressor.d.ts +7 -0
- package/backend/dist/src/seeding/data/sub-agents/session-compressor.js +11 -0
- package/backend/dist/src/seeding/data/sub-agents/session-compressor.js.map +1 -0
- package/backend/dist/src/seeding/data/system-prompts/control-repoburg-agent.js +2 -0
- package/backend/dist/src/seeding/data/system-prompts/control-repoburg-agent.js.map +1 -1
- package/backend/dist/src/seeding/data/system-prompts/default_native_tool_agent.js +2 -0
- package/backend/dist/src/seeding/data/system-prompts/default_native_tool_agent.js.map +1 -1
- package/backend/dist/src/seeding/data/system-prompts/explore-codebase-agent.js +2 -0
- package/backend/dist/src/seeding/data/system-prompts/explore-codebase-agent.js.map +1 -1
- package/backend/dist/src/seeding/data/system-prompts/session-compressor-agent.d.ts +4 -0
- package/backend/dist/src/seeding/data/system-prompts/session-compressor-agent.js +51 -0
- package/backend/dist/src/seeding/data/system-prompts/session-compressor-agent.js.map +1 -0
- package/backend/dist/src/seeding/data/tool-hooks/session-compression-hook.d.ts +2 -0
- package/backend/dist/src/seeding/data/tool-hooks/session-compression-hook.js +41 -0
- package/backend/dist/src/seeding/data/tool-hooks/session-compression-hook.js.map +1 -0
- package/backend/dist/src/seeding/seeding.module.js +3 -2
- package/backend/dist/src/seeding/seeding.module.js.map +1 -1
- package/backend/dist/src/seeding/seeding.service.d.ts +3 -1
- package/backend/dist/src/seeding/seeding.service.js +6 -2
- package/backend/dist/src/seeding/seeding.service.js.map +1 -1
- package/backend/dist/src/seeding/tool-hook-seeding.service.d.ts +8 -0
- package/backend/dist/src/seeding/tool-hook-seeding.service.js +55 -0
- package/backend/dist/src/seeding/tool-hook-seeding.service.js.map +1 -0
- package/backend/dist/src/tool-hooks/hook-context.interface.d.ts +1 -0
- package/backend/dist/src/tool-hooks/tool-hooks.service.js +7 -1
- package/backend/dist/src/tool-hooks/tool-hooks.service.js.map +1 -1
- package/backend/dist/tsconfig.build.tsbuildinfo +1 -1
- package/backend/package.json +1 -1
- package/package.json +1 -1
- package/backend/test-workspace-llm-turn-processor/.repoburg/hooks/context-size-hook.ts +0 -19
|
@@ -44,6 +44,7 @@ const llm_call_logs_module_1 = require("./llm-call-logs/llm-call-logs.module");
|
|
|
44
44
|
const global_config_module_1 = require("./global-config/global-config.module");
|
|
45
45
|
const agents_module_1 = require("./agents/agents.module");
|
|
46
46
|
const mcp_server_module_1 = require("./mcp-server/mcp-server.module");
|
|
47
|
+
const marketplace_module_1 = require("./mcp/marketplace/marketplace.module");
|
|
47
48
|
let dbPath = ':memory:';
|
|
48
49
|
if (process.env.NODE_ENV === 'production') {
|
|
49
50
|
const projectPath = process.env.REPOBURG_PROJECT_PATH || process.cwd();
|
|
@@ -113,6 +114,7 @@ exports.AppModule = AppModule = __decorate([
|
|
|
113
114
|
llm_call_logs_module_1.LlmCallLogsModule,
|
|
114
115
|
agents_module_1.AgentsModule,
|
|
115
116
|
mcp_server_module_1.McpServerModule,
|
|
117
|
+
marketplace_module_1.MarketplaceModule,
|
|
116
118
|
],
|
|
117
119
|
controllers: [app_controller_1.AppController],
|
|
118
120
|
providers: [app_service_1.AppService],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.module.js","sourceRoot":"","sources":["../../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,qDAAiD;AACjD,+CAA2C;AAC3C,6CAAgD;AAChD,mDAgByB;AACzB,oEAAyD;AACzD,mDAAwC;AACxC,gEAA4D;AAC5D,gEAA4D;AAC5D,kFAA6E;AAC7E,sEAAiE;AACjE,kFAA6E;AAC7E,2FAAsF;AACtF,8FAAyF;AACzF,kFAA6E;AAC7E,6DAAyD;AACzD,mEAA+D;AAC/D,qFAAgF;AAChF,6BAA6B;AAC7B,yBAAyB;AACzB,wFAAmF;AACnF,wFAAmF;AACnF,2FAAsF;AACtF,+EAA0E;AAC1E,0DAAsD;AACtD,wFAAmF;AACnF,gEAAuE;AACvE,iDAA6C;AAC7C,+EAA0E;AAC1E,wFAAmF;AACnF,sEAAiE;AACjE,yEAAoE;AACpE,wFAAmF;AACnF,+EAAyE;AACzE,+EAA0E;AAC1E,0DAAsD;AACtD,sEAAiE;
|
|
1
|
+
{"version":3,"file":"app.module.js","sourceRoot":"","sources":["../../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,qDAAiD;AACjD,+CAA2C;AAC3C,6CAAgD;AAChD,mDAgByB;AACzB,oEAAyD;AACzD,mDAAwC;AACxC,gEAA4D;AAC5D,gEAA4D;AAC5D,kFAA6E;AAC7E,sEAAiE;AACjE,kFAA6E;AAC7E,2FAAsF;AACtF,8FAAyF;AACzF,kFAA6E;AAC7E,6DAAyD;AACzD,mEAA+D;AAC/D,qFAAgF;AAChF,6BAA6B;AAC7B,yBAAyB;AACzB,wFAAmF;AACnF,wFAAmF;AACnF,2FAAsF;AACtF,+EAA0E;AAC1E,0DAAsD;AACtD,wFAAmF;AACnF,gEAAuE;AACvE,iDAA6C;AAC7C,+EAA0E;AAC1E,wFAAmF;AACnF,sEAAiE;AACjE,yEAAoE;AACpE,wFAAmF;AACnF,+EAAyE;AACzE,+EAA0E;AAC1E,0DAAsD;AACtD,sEAAiE;AACjE,6EAAyE;AAEzE,IAAI,MAAM,GAAG,UAAU,CAAC;AAExB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;IAC1C,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACvE,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAClD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,iCAAiC,MAAM,EAAE,CAAC,CAAC;AACzD,CAAC;AA+DM,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,8BAAS;oBAAT,SAAS;IA7DrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,uBAAa,CAAC,OAAO,CAAC;gBACpB,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,MAAM;gBAChB,QAAQ,EAAE;oBACR,uBAAO;oBACP,uBAAO;oBACP,+BAAe;oBACf,4BAAY;oBACZ,wBAAQ;oBACR,4BAAY;oBACZ,4BAAY;oBACZ,6BAAa;oBACb,gCAAgB;oBAChB,8BAAc;oBACd,yBAAS;oBACT,uBAAO;oBACP,8BAAc;oBACd,wBAAQ;oBACR,0BAAU;oBACV,2BAAQ;oBACR,qBAAK;iBACN;gBACD,WAAW,EAAE,CAAC,iDAAsB,CAAC;gBACrC,WAAW,EAAE,IAAI;gBACjB,gBAAgB,EAAE,IAAI;aACvB,CAAC;YACF,gCAAc;YACd,gCAAc;YACd,2CAAmB;YACnB,mCAAe;YACf,2CAAmB;YACnB,iDAAsB;YACtB,mDAAuB;YACvB,2CAAmB;YACnB,8BAAa;YACb,kCAAe;YACf,6CAAoB;YACpB,+CAAqB;YACrB,+CAAqB;YACrB,yCAAkB;YAClB,iDAAsB;YACtB,yCAAkB;YAClB,4BAAY;YACZ,+CAAqB;YACrB,mCAAqB;YACrB,sBAAS;YACT,yCAAkB;YAClB,+CAAqB;YACrB,mCAAe;YACf,qCAAgB;YAChB,wCAAiB;YACjB,4BAAY;YACZ,mCAAe;YACf,sCAAiB;SAClB;QACD,WAAW,EAAE,CAAC,8BAAa,CAAC;QAC5B,SAAS,EAAE,CAAC,wBAAU,CAAC;QACvB,OAAO,EAAE,CAAC,wBAAU,CAAC;KACtB,CAAC;GACW,SAAS,CAAG"}
|
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
import { BaseEntity } from './base.entity';
|
|
2
2
|
export declare class McpConfig extends BaseEntity {
|
|
3
3
|
server_name: string;
|
|
4
|
+
transport_type: 'stdio' | 'streamable_http';
|
|
4
5
|
command: string;
|
|
5
6
|
args: string[];
|
|
6
7
|
env: Record<string, string>;
|
|
8
|
+
server_url: string;
|
|
9
|
+
access_token: string;
|
|
10
|
+
refresh_token: string;
|
|
11
|
+
token_expires_at: Date;
|
|
12
|
+
client_information: Record<string, any>;
|
|
13
|
+
logo_url: string;
|
|
14
|
+
category: string;
|
|
15
|
+
marketplace_id: string;
|
|
7
16
|
is_active: boolean;
|
|
8
17
|
}
|
|
@@ -27,15 +27,23 @@ __decorate([
|
|
|
27
27
|
], McpConfig.prototype, "server_name", void 0);
|
|
28
28
|
__decorate([
|
|
29
29
|
(0, swagger_1.ApiProperty)({
|
|
30
|
-
description: '
|
|
30
|
+
description: 'Transport type: stdio (local process) or streamable_http (remote)',
|
|
31
|
+
example: 'stdio',
|
|
32
|
+
}),
|
|
33
|
+
(0, typeorm_1.Column)({ type: 'text', default: 'stdio' }),
|
|
34
|
+
__metadata("design:type", String)
|
|
35
|
+
], McpConfig.prototype, "transport_type", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
(0, swagger_1.ApiProperty)({
|
|
38
|
+
description: 'Command to launch the MCP server (stdio only)',
|
|
31
39
|
example: 'npx',
|
|
32
40
|
}),
|
|
33
|
-
(0, typeorm_1.Column)({ type: 'text' }),
|
|
41
|
+
(0, typeorm_1.Column)({ type: 'text', nullable: true }),
|
|
34
42
|
__metadata("design:type", String)
|
|
35
43
|
], McpConfig.prototype, "command", void 0);
|
|
36
44
|
__decorate([
|
|
37
|
-
(0, swagger_1.
|
|
38
|
-
description: 'Arguments for the command',
|
|
45
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
46
|
+
description: 'Arguments for the command (stdio only)',
|
|
39
47
|
example: [
|
|
40
48
|
'-y',
|
|
41
49
|
'@modelcontextprotocol/server-filesystem',
|
|
@@ -43,17 +51,74 @@ __decorate([
|
|
|
43
51
|
],
|
|
44
52
|
type: 'array',
|
|
45
53
|
}),
|
|
46
|
-
(0, typeorm_1.Column)({ type: 'json' }),
|
|
54
|
+
(0, typeorm_1.Column)({ type: 'json', nullable: true }),
|
|
47
55
|
__metadata("design:type", Array)
|
|
48
56
|
], McpConfig.prototype, "args", void 0);
|
|
49
57
|
__decorate([
|
|
50
58
|
(0, swagger_1.ApiPropertyOptional)({
|
|
51
|
-
description: 'Environment variables for the server process',
|
|
59
|
+
description: 'Environment variables for the server process (stdio only)',
|
|
52
60
|
example: { NODE_ENV: 'production' },
|
|
53
61
|
}),
|
|
54
62
|
(0, typeorm_1.Column)({ type: 'json', nullable: true }),
|
|
55
63
|
__metadata("design:type", Object)
|
|
56
64
|
], McpConfig.prototype, "env", void 0);
|
|
65
|
+
__decorate([
|
|
66
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
67
|
+
description: 'Remote server URL for streamable_http transport',
|
|
68
|
+
example: 'https://mcp.stripe.com',
|
|
69
|
+
}),
|
|
70
|
+
(0, typeorm_1.Column)({ type: 'text', nullable: true }),
|
|
71
|
+
__metadata("design:type", String)
|
|
72
|
+
], McpConfig.prototype, "server_url", void 0);
|
|
73
|
+
__decorate([
|
|
74
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
75
|
+
description: 'OAuth access token for remote servers',
|
|
76
|
+
}),
|
|
77
|
+
(0, typeorm_1.Column)({ type: 'text', nullable: true }),
|
|
78
|
+
__metadata("design:type", String)
|
|
79
|
+
], McpConfig.prototype, "access_token", void 0);
|
|
80
|
+
__decorate([
|
|
81
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
82
|
+
description: 'OAuth refresh token for remote servers',
|
|
83
|
+
}),
|
|
84
|
+
(0, typeorm_1.Column)({ type: 'text', nullable: true }),
|
|
85
|
+
__metadata("design:type", String)
|
|
86
|
+
], McpConfig.prototype, "refresh_token", void 0);
|
|
87
|
+
__decorate([
|
|
88
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
89
|
+
description: 'When the access token expires',
|
|
90
|
+
}),
|
|
91
|
+
(0, typeorm_1.Column)({ type: 'datetime', nullable: true }),
|
|
92
|
+
__metadata("design:type", Date)
|
|
93
|
+
], McpConfig.prototype, "token_expires_at", void 0);
|
|
94
|
+
__decorate([
|
|
95
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
96
|
+
description: 'OAuth client information from dynamic registration',
|
|
97
|
+
}),
|
|
98
|
+
(0, typeorm_1.Column)({ type: 'json', nullable: true }),
|
|
99
|
+
__metadata("design:type", Object)
|
|
100
|
+
], McpConfig.prototype, "client_information", void 0);
|
|
101
|
+
__decorate([
|
|
102
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
103
|
+
description: 'Logo URL for marketplace display',
|
|
104
|
+
}),
|
|
105
|
+
(0, typeorm_1.Column)({ type: 'text', nullable: true }),
|
|
106
|
+
__metadata("design:type", String)
|
|
107
|
+
], McpConfig.prototype, "logo_url", void 0);
|
|
108
|
+
__decorate([
|
|
109
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
110
|
+
description: 'Category label for marketplace grouping',
|
|
111
|
+
}),
|
|
112
|
+
(0, typeorm_1.Column)({ type: 'text', nullable: true }),
|
|
113
|
+
__metadata("design:type", String)
|
|
114
|
+
], McpConfig.prototype, "category", void 0);
|
|
115
|
+
__decorate([
|
|
116
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
117
|
+
description: 'Slug identifying which marketplace entry this was added from',
|
|
118
|
+
}),
|
|
119
|
+
(0, typeorm_1.Column)({ type: 'text', nullable: true }),
|
|
120
|
+
__metadata("design:type", String)
|
|
121
|
+
], McpConfig.prototype, "marketplace_id", void 0);
|
|
57
122
|
__decorate([
|
|
58
123
|
(0, swagger_1.ApiProperty)({
|
|
59
124
|
description: 'Whether this MCP server is active/enabled',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-config.entity.js","sourceRoot":"","sources":["../../../src/core-entities/mcp-config.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAgD;AAChD,6CAAmE;AACnE,+CAA2C;
|
|
1
|
+
{"version":3,"file":"mcp-config.entity.js","sourceRoot":"","sources":["../../../src/core-entities/mcp-config.entity.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,6 +60,18 @@ export type WebSocketEvent = {
|
|
|
60
60
|
attempt: number;
|
|
61
61
|
maxAttempts: number;
|
|
62
62
|
};
|
|
63
|
+
} | {
|
|
64
|
+
event: 'mcp-marketplace-connected';
|
|
65
|
+
data: {
|
|
66
|
+
marketplaceId: string;
|
|
67
|
+
serverName: string;
|
|
68
|
+
};
|
|
69
|
+
} | {
|
|
70
|
+
event: 'mcp-marketplace-error';
|
|
71
|
+
data: {
|
|
72
|
+
marketplaceId: string;
|
|
73
|
+
error: string;
|
|
74
|
+
};
|
|
63
75
|
};
|
|
64
76
|
export type WebSocketEventName = WebSocketEvent['event'];
|
|
65
77
|
export declare function isWebSocketEvent(obj: unknown): obj is WebSocketEvent;
|
|
@@ -43,6 +43,10 @@ function isWebSocketEvent(obj) {
|
|
|
43
43
|
'sessionId' in data &&
|
|
44
44
|
'attempt' in data &&
|
|
45
45
|
'maxAttempts' in data);
|
|
46
|
+
case 'mcp-marketplace-connected':
|
|
47
|
+
return data !== null && 'marketplaceId' in data && 'serverName' in data;
|
|
48
|
+
case 'mcp-marketplace-error':
|
|
49
|
+
return data !== null && 'marketplaceId' in data && 'error' in data;
|
|
46
50
|
default:
|
|
47
51
|
return false;
|
|
48
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.events.js","sourceRoot":"","sources":["../../../src/events/websocket.events.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"websocket.events.js","sourceRoot":"","sources":["../../../src/events/websocket.events.ts"],"names":[],"mappings":";;AAoDA,4CA0DC;AA1DD,SAAgB,gBAAgB,CAAC,GAAY;IAC3C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,GAAuC,CAAC;IAChE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,YAAY;YACf,OAAO,IAAI,CAAC;QACd,KAAK,YAAY;YACf,OAAO,IAAI,KAAK,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,gBAAgB,IAAI,IAAI,CAAC;QAC1E,KAAK,sBAAsB;YACzB,OAAO,IAAI,KAAK,IAAI,IAAI,cAAc,IAAI,IAAI,CAAC;QACjD,KAAK,iBAAiB;YACpB,OAAO,IAAI,KAAK,IAAI,IAAI,WAAW,IAAI,IAAI,CAAC;QAC9C,KAAK,kBAAkB;YACrB,OAAO,CACL,IAAI,KAAK,IAAI;gBACb,gBAAgB,IAAI,IAAI;gBACxB,OAAO,IAAI,IAAI;gBACf,SAAS,IAAI,IAAI,CAClB,CAAC;QACJ,KAAK,mBAAmB;YACtB,OAAO,CACL,IAAI,KAAK,IAAI;gBACb,gBAAgB,IAAI,IAAI;gBACxB,OAAO,IAAI,IAAI;gBACf,SAAS,IAAI,IAAI,CAClB,CAAC;QACJ,KAAK,wBAAwB;YAC3B,OAAO,CACL,IAAI,KAAK,IAAI;gBACb,gBAAgB,IAAI,IAAI;gBACxB,WAAW,IAAI,IAAI;gBACnB,aAAa,IAAI,IAAI,CACtB,CAAC;QACJ,KAAK,4BAA4B;YAC/B,OAAO,IAAI,KAAK,IAAI,IAAI,gBAAgB,IAAI,IAAI,CAAC;QACnD,KAAK,sBAAsB;YACzB,OAAO,IAAI,KAAK,IAAI,IAAI,gBAAgB,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,CAAC;QAC1E,KAAK,mBAAmB;YACtB,OAAO,CACL,IAAI,KAAK,IAAI;gBACb,gBAAgB,IAAI,IAAI;gBACxB,WAAW,IAAI,IAAI;gBACnB,SAAS,IAAI,IAAI;gBACjB,aAAa,IAAI,IAAI,CACtB,CAAC;QACJ,KAAK,2BAA2B;YAC9B,OAAO,IAAI,KAAK,IAAI,IAAI,eAAe,IAAI,IAAI,IAAI,YAAY,IAAI,IAAI,CAAC;QAC1E,KAAK,uBAAuB;YAC1B,OAAO,IAAI,KAAK,IAAI,IAAI,eAAe,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,CAAC;QACrE;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC"}
|
|
@@ -31,12 +31,12 @@ let DiscardMessagesHandler = class DiscardMessagesHandler {
|
|
|
31
31
|
getMetadata() {
|
|
32
32
|
return {
|
|
33
33
|
name: this.toolName,
|
|
34
|
-
description: 'Discard messages from the LLM context window to extend session life. Discarded messages are excluded from future LLM calls but preserved in history. After discarding, a follow-up turn starts automatically so you can continue working. Call get_messages first to identify short_ids, then call discard_messages with IDs to remove.',
|
|
34
|
+
description: 'Discard messages from the LLM context window to extend session life. Discarded messages are excluded from future LLM calls but preserved in history. After discarding, a follow-up turn starts automatically so you can continue working. Call get_messages or session_status first to identify short_ids, then call discard_messages with IDs to remove.',
|
|
35
35
|
arguments: [
|
|
36
36
|
{
|
|
37
37
|
name: 'input_ids',
|
|
38
38
|
type: 'string',
|
|
39
|
-
description: 'Comma-separated list of short_ids to discard (e.g., "a1b90,cd3ef"). Use get_messages to find short_ids.',
|
|
39
|
+
description: 'Comma-separated list of short_ids to discard (e.g., "a1b90,cd3ef"). Use get_messages or session_status to find short_ids.',
|
|
40
40
|
required: true,
|
|
41
41
|
},
|
|
42
42
|
{
|
|
@@ -45,19 +45,26 @@ let DiscardMessagesHandler = class DiscardMessagesHandler {
|
|
|
45
45
|
description: 'Brief explanation (2-3 sentences max) of what is being discarded, what is kept, and why.',
|
|
46
46
|
required: true,
|
|
47
47
|
},
|
|
48
|
+
{
|
|
49
|
+
name: 'sessionId',
|
|
50
|
+
type: 'string',
|
|
51
|
+
description: 'Optional session ID to discard messages from. If not provided, uses the current session. Use this when compressing a parent session from a sub-agent.',
|
|
52
|
+
required: false,
|
|
53
|
+
},
|
|
48
54
|
],
|
|
49
55
|
};
|
|
50
56
|
}
|
|
51
57
|
getDefinition() {
|
|
52
58
|
return `## discard_messages
|
|
53
59
|
|
|
54
|
-
Discard messages from the LLM context window to extend session life. Discarded messages are excluded from future LLM calls but preserved in history. After discarding, a follow-up turn starts automatically with reduced context so you can continue your task. Call \`get_messages\` first to identify short_ids, then call \`discard_messages\` with the IDs to remove.
|
|
60
|
+
Discard messages from the LLM context window to extend session life. Discarded messages are excluded from future LLM calls but preserved in history. After discarding, a follow-up turn starts automatically with reduced context so you can continue your task. Call \`get_messages\` or \`session_status\` first to identify short_ids, then call \`discard_messages\` with the IDs to remove.
|
|
55
61
|
|
|
56
|
-
**Important:** Check \`total_est_tokens\`, \`target_tokens\`, and \`floor_tokens\` from \`get_messages\` output. Cherry-pick individual messages until \`total_est_tokens\` is near \`target_tokens\`. **Never discard below \`floor_tokens\`.**
|
|
62
|
+
**Important:** Check \`total_est_tokens\`, \`target_tokens\`, and \`floor_tokens\` from \`get_messages\` or \`session_status\` output. Cherry-pick individual messages until \`total_est_tokens\` is near \`target_tokens\`. **Never discard below \`floor_tokens\`.**
|
|
57
63
|
|
|
58
64
|
### Parameters:
|
|
59
|
-
- \`input_ids\` (string, required): Comma-separated list of short_ids to discard (e.g., "a1b90,cd3ef,ghi45"). Use \`get_messages\` to find short_ids.
|
|
65
|
+
- \`input_ids\` (string, required): Comma-separated list of short_ids to discard (e.g., "a1b90,cd3ef,ghi45"). Use \`get_messages\` or \`session_status\` to find short_ids.
|
|
60
66
|
- \`reason\` (string, required): Brief explanation (2-3 sentences max) of what is being discarded, what is kept, and why.
|
|
67
|
+
- \`sessionId\` (string, optional): Session ID to discard messages from. If not provided, uses the current session. Use this when compressing a parent session from a sub-agent.
|
|
61
68
|
|
|
62
69
|
### Returns:
|
|
63
70
|
JSON object with:
|
|
@@ -119,6 +126,7 @@ args: {
|
|
|
119
126
|
async execute(args, context) {
|
|
120
127
|
try {
|
|
121
128
|
const { input_ids, reason } = args;
|
|
129
|
+
const targetSessionId = args.sessionId || context.session_id;
|
|
122
130
|
if (!input_ids ||
|
|
123
131
|
typeof input_ids !== 'string' ||
|
|
124
132
|
input_ids.trim() === '') {
|
|
@@ -158,7 +166,7 @@ args: {
|
|
|
158
166
|
},
|
|
159
167
|
};
|
|
160
168
|
}
|
|
161
|
-
const allInputs = await this.sessionInputsService.findAllBySessionId(
|
|
169
|
+
const allInputs = await this.sessionInputsService.findAllBySessionId(targetSessionId);
|
|
162
170
|
const shortToFull = new Map();
|
|
163
171
|
for (const inp of allInputs) {
|
|
164
172
|
shortToFull.set((0, utils_1.toShortId)(inp.id), inp.id);
|
|
@@ -198,7 +206,7 @@ args: {
|
|
|
198
206
|
const inputsBeingDiscarded = nonDiscardedInputs.filter((inp) => resolvedIdSet.has(inp.id) || autoDiscardIdSet.has(inp.id));
|
|
199
207
|
const inputsForEstimation = await this.sessionInputsRepository.find({
|
|
200
208
|
where: {
|
|
201
|
-
session: { id:
|
|
209
|
+
session: { id: targetSessionId },
|
|
202
210
|
is_discarded: false,
|
|
203
211
|
},
|
|
204
212
|
relations: ['aiActions', 'aiActions.executionLogs'],
|
|
@@ -217,14 +225,14 @@ args: {
|
|
|
217
225
|
}
|
|
218
226
|
}
|
|
219
227
|
const newTotalTokens = oldTotalTokens - discardedTokens;
|
|
220
|
-
const result = await this.sessionInputsService.toggleDiscardedBatch(
|
|
228
|
+
const result = await this.sessionInputsService.toggleDiscardedBatch(targetSessionId, {
|
|
221
229
|
input_ids: resolvedIds,
|
|
222
230
|
is_discarded: true,
|
|
223
231
|
});
|
|
224
232
|
let autoDiscardedCount = 0;
|
|
225
233
|
const _autoDiscardedTokens = 0;
|
|
226
234
|
if (getMessagesInputIds.length > 0) {
|
|
227
|
-
const autoResult = await this.sessionInputsService.toggleDiscardedBatch(
|
|
235
|
+
const autoResult = await this.sessionInputsService.toggleDiscardedBatch(targetSessionId, {
|
|
228
236
|
input_ids: getMessagesInputIds,
|
|
229
237
|
is_discarded: true,
|
|
230
238
|
});
|
|
@@ -243,6 +251,7 @@ args: {
|
|
|
243
251
|
affected: result.affected,
|
|
244
252
|
short_ids: shortIds,
|
|
245
253
|
reason: reason.trim(),
|
|
254
|
+
session_id: targetSessionId,
|
|
246
255
|
discarded_tokens: totalDiscardedTokens,
|
|
247
256
|
new_total_tokens: finalNewTotal,
|
|
248
257
|
target_tokens: get_messages_handler_1.CONTEXT_TARGET_TOKENS,
|
|
@@ -254,6 +263,7 @@ args: {
|
|
|
254
263
|
arguments: JSON.stringify({
|
|
255
264
|
input_ids: shortIds,
|
|
256
265
|
reason: reason.trim(),
|
|
266
|
+
...(args.sessionId ? { sessionId: args.sessionId } : {}),
|
|
257
267
|
}),
|
|
258
268
|
},
|
|
259
269
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discard-messages.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/discard-messages.handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAAmD;AACnD,qCAAqC;AAMrC,wFAAmF;AACnF,uDAAmD;AACnD,gFAA2E;AAC3E,iEAMgC;AAChC,uCAAwC;AAGjC,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAGjC,YACmB,oBAA0C,EAE3D,uBAAkE,EACjD,yBAAoD;QAHpD,yBAAoB,GAApB,oBAAoB,CAAsB;QAE1C,4BAAuB,GAAvB,uBAAuB,CAA0B;QACjD,8BAAyB,GAAzB,yBAAyB,CAA2B;QAN9D,aAAQ,GAAG,kBAAkB,CAAC;IAOpC,CAAC;IAEJ,WAAW;QACT,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"discard-messages.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/discard-messages.handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -57,6 +57,7 @@ JSON object with:
|
|
|
57
57
|
- \`message_count\`: Number of messages in this group
|
|
58
58
|
- \`est_tokens\`: Estimated tokens for this group
|
|
59
59
|
- \`messages\`: Array of message summaries, each with:
|
|
60
|
+
- \`short_id\`: Compact ID (first 3 + last 2 chars of UUID) — use this with \`discard_messages\`
|
|
60
61
|
- \`role\`: "user" or "model"
|
|
61
62
|
- \`preview\`: brief description (user prompt text or tool name + args)
|
|
62
63
|
- \`thoughts\`: full reasoning/thinking content from the model (present only when available)
|
|
@@ -89,7 +90,9 @@ args: { sessionId: "abc-123-def" }
|
|
|
89
90
|
execution_log: {
|
|
90
91
|
output: JSON.stringify(status, null, 2),
|
|
91
92
|
},
|
|
92
|
-
persisted_args: {
|
|
93
|
+
persisted_args: {
|
|
94
|
+
arguments: JSON.stringify({ sessionId }),
|
|
95
|
+
},
|
|
93
96
|
};
|
|
94
97
|
}
|
|
95
98
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-status.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/session-status.handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAAmD;AACnD,qCAAqC;AAMrC,uDAAmD;AACnD,gFAA2E;AAC3E,gEAA8D;AAGvD,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAG/B,YAEE,uBAAkE,EACjD,yBAAoD;QADpD,4BAAuB,GAAvB,uBAAuB,CAA0B;QACjD,8BAAyB,GAAzB,yBAAyB,CAA2B;QAL9D,aAAQ,GAAG,gBAAgB,CAAC;IAMlC,CAAC;IAEJ,WAAW;QACT,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,WAAW,EACT,4LAA4L;YAC9L,SAAS,EAAE;gBACT;oBACE,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,QAAiB;oBACvB,WAAW,EAAE,sCAAsC;oBACnD,QAAQ,EAAE,IAAI;iBACf;aACF;SACF,CAAC;IACJ,CAAC;IAED,aAAa;QACX,OAAO
|
|
1
|
+
{"version":3,"file":"session-status.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/session-status.handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAAmD;AACnD,qCAAqC;AAMrC,uDAAmD;AACnD,gFAA2E;AAC3E,gEAA8D;AAGvD,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAG/B,YAEE,uBAAkE,EACjD,yBAAoD;QADpD,4BAAuB,GAAvB,uBAAuB,CAA0B;QACjD,8BAAyB,GAAzB,yBAAyB,CAA2B;QAL9D,aAAQ,GAAG,gBAAgB,CAAC;IAMlC,CAAC;IAEJ,WAAW;QACT,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,WAAW,EACT,4LAA4L;YAC9L,SAAS,EAAE;gBACT;oBACE,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,QAAiB;oBACvB,WAAW,EAAE,sCAAsC;oBACnD,QAAQ,EAAE,IAAI;iBACf;aACF;SACF,CAAC;IACJ,CAAC;IAED,aAAa;QACX,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BJ,CAAC;IACN,CAAC;IAED,KAAK,CAAC,OAAO,CACX,IAAyB,EACzB,QAA8B;QAE9B,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACjC,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAChD,OAAO;oBACL,MAAM,EAAE,SAAS;oBACjB,OAAO,EAAE,uCAAuC;oBAChD,aAAa,EACX,sFAAsF;oBACxF,aAAa,EAAE;wBACb,MAAM,EAAE,EAAE;wBACV,aAAa,EACX,sFAAsF;qBACzF;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAA,0CAAoB,EACvC,SAAS,EACT,IAAI,CAAC,uBAAuB,EAC5B,IAAI,CAAC,yBAAyB,CAC/B,CAAC;YAEF,OAAO;gBACL,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,GAAG,MAAM,CAAC,aAAa,gBAAgB,MAAM,CAAC,MAAM,CAAC,MAAM,aAAa,MAAM,CAAC,gBAAgB,aAAa;gBACrH,aAAa,EAAE;oBACb,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;iBACxC;gBACD,cAAc,EAAE;oBACd,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;iBACzC;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,8BAA8B;gBACvC,aAAa,EAAE,KAAK,CAAC,OAAO;gBAC5B,aAAa,EAAE;oBACb,MAAM,EAAE,EAAE;oBACV,aAAa,EAAE,KAAK,CAAC,OAAO;iBAC7B;aACF,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAA;AAxGY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,mBAAU,GAAE;IAKR,WAAA,IAAA,0BAAgB,EAAC,4BAAY,CAAC,CAAA;qCACW,oBAAU;QACR,uDAAyB;GAN5D,oBAAoB,CAwGhC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.computeSessionStatus = computeSessionStatus;
|
|
4
4
|
const get_messages_handler_1 = require("./action-handlers/get-messages.handler");
|
|
5
|
+
const utils_1 = require("../utils");
|
|
5
6
|
async function computeSessionStatus(sessionId, sessionInputsRepository, historyCompressionService) {
|
|
6
7
|
const inputs = await sessionInputsRepository.find({
|
|
7
8
|
where: { session: { id: sessionId }, is_discarded: false },
|
|
@@ -64,6 +65,7 @@ async function computeSessionStatus(sessionId, sessionInputsRepository, historyC
|
|
|
64
65
|
? Math.round(compressedCharSizes[index] / ratio)
|
|
65
66
|
: 0;
|
|
66
67
|
return {
|
|
68
|
+
short_id: (0, utils_1.toShortId)(input.id),
|
|
67
69
|
role: input.role || 'user',
|
|
68
70
|
preview,
|
|
69
71
|
thoughts: input.thoughts || undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-status.util.js","sourceRoot":"","sources":["../../../src/llm-orchestration/session-status.util.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"session-status.util.js","sourceRoot":"","sources":["../../../src/llm-orchestration/session-status.util.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.InitiateConnectDto = void 0;
|
|
13
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
class InitiateConnectDto {
|
|
16
|
+
}
|
|
17
|
+
exports.InitiateConnectDto = InitiateConnectDto;
|
|
18
|
+
__decorate([
|
|
19
|
+
(0, swagger_1.ApiProperty)({
|
|
20
|
+
description: 'The marketplace server slug to connect to (e.g. "github")',
|
|
21
|
+
example: 'github',
|
|
22
|
+
}),
|
|
23
|
+
(0, class_validator_1.IsString)(),
|
|
24
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
25
|
+
__metadata("design:type", String)
|
|
26
|
+
], InitiateConnectDto.prototype, "marketplaceId", void 0);
|
|
27
|
+
//# sourceMappingURL=initiate-connect.dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initiate-connect.dto.js","sourceRoot":"","sources":["../../../../../src/mcp/marketplace/dto/initiate-connect.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,qDAAuD;AAEvD,MAAa,kBAAkB;CAQ9B;AARD,gDAQC;AADC;IANC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,2DAA2D;QACxE,OAAO,EAAE,QAAQ;KAClB,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;yDACS"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Response } from 'express';
|
|
2
|
+
import { MarketplaceService } from './marketplace.service';
|
|
3
|
+
import { InitiateConnectDto } from './dto/initiate-connect.dto';
|
|
4
|
+
export declare class MarketplaceController {
|
|
5
|
+
private readonly marketplaceService;
|
|
6
|
+
private readonly logger;
|
|
7
|
+
constructor(marketplaceService: MarketplaceService);
|
|
8
|
+
getMarketplaceServers(): import("./remote-servers.catalog").RemoteServerCatalogEntry[];
|
|
9
|
+
getMarketplaceServer(id: string): import("./remote-servers.catalog").RemoteServerCatalogEntry;
|
|
10
|
+
initiateConnect(dto: InitiateConnectDto): Promise<{
|
|
11
|
+
authUrl: string;
|
|
12
|
+
state: string;
|
|
13
|
+
}>;
|
|
14
|
+
getConnectStatus(marketplaceId: string): Promise<{
|
|
15
|
+
status: "pending" | "connected" | "error";
|
|
16
|
+
error?: string;
|
|
17
|
+
}>;
|
|
18
|
+
handleOAuthCallback(code: string, state: string, error: string, res: Response): Promise<void>;
|
|
19
|
+
private sendCallbackHtml;
|
|
20
|
+
}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var MarketplaceController_1;
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.MarketplaceController = void 0;
|
|
17
|
+
const common_1 = require("@nestjs/common");
|
|
18
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
19
|
+
const marketplace_service_1 = require("./marketplace.service");
|
|
20
|
+
const initiate_connect_dto_1 = require("./dto/initiate-connect.dto");
|
|
21
|
+
let MarketplaceController = MarketplaceController_1 = class MarketplaceController {
|
|
22
|
+
constructor(marketplaceService) {
|
|
23
|
+
this.marketplaceService = marketplaceService;
|
|
24
|
+
this.logger = new common_1.Logger(MarketplaceController_1.name);
|
|
25
|
+
}
|
|
26
|
+
getMarketplaceServers() {
|
|
27
|
+
return this.marketplaceService.getMarketplaceServers();
|
|
28
|
+
}
|
|
29
|
+
getMarketplaceServer(id) {
|
|
30
|
+
return this.marketplaceService.getMarketplaceServer(id);
|
|
31
|
+
}
|
|
32
|
+
async initiateConnect(dto) {
|
|
33
|
+
this.logger.log(`POST /mcp/marketplace/connect for ${dto.marketplaceId}`);
|
|
34
|
+
return this.marketplaceService.initiateConnect(dto.marketplaceId);
|
|
35
|
+
}
|
|
36
|
+
async getConnectStatus(marketplaceId) {
|
|
37
|
+
return this.marketplaceService.getConnectStatus(marketplaceId);
|
|
38
|
+
}
|
|
39
|
+
async handleOAuthCallback(code, state, error, res) {
|
|
40
|
+
this.logger.log(`GET /mcp/oauth/callback (state: ${state?.substring(0, 8)}...)`);
|
|
41
|
+
if (error) {
|
|
42
|
+
return this.sendCallbackHtml(res, false, `Authorization failed: ${error}`);
|
|
43
|
+
}
|
|
44
|
+
if (!code || !state) {
|
|
45
|
+
return this.sendCallbackHtml(res, false, 'Missing authorization code or state parameter.');
|
|
46
|
+
}
|
|
47
|
+
const result = await this.marketplaceService.handleOAuthCallback(code, state);
|
|
48
|
+
return this.sendCallbackHtml(res, result.success, result.error);
|
|
49
|
+
}
|
|
50
|
+
sendCallbackHtml(res, success, error) {
|
|
51
|
+
const html = success
|
|
52
|
+
? `<!DOCTYPE html>
|
|
53
|
+
<html>
|
|
54
|
+
<head><title>Authorization Successful</title></head>
|
|
55
|
+
<body style="font-family: -apple-system, sans-serif; text-align: center; padding: 3rem;">
|
|
56
|
+
<h1 style="color: #16a34a;">✅ Authorization Successful</h1>
|
|
57
|
+
<p style="color: #666;">You can close this tab and return to Repoburg.</p>
|
|
58
|
+
<script>setTimeout(() => window.close(), 2000);</script>
|
|
59
|
+
</body>
|
|
60
|
+
</html>`
|
|
61
|
+
: `<!DOCTYPE html>
|
|
62
|
+
<html>
|
|
63
|
+
<head><title>Authorization Failed</title></head>
|
|
64
|
+
<body style="font-family: -apple-system, sans-serif; text-align: center; padding: 3rem;">
|
|
65
|
+
<h1 style="color: #dc2626;">❌ Authorization Failed</h1>
|
|
66
|
+
<p style="color: #666;">${error || 'An unknown error occurred.'}</p>
|
|
67
|
+
<p style="color: #999; font-size: 0.85rem;">You can close this tab and try again in Repoburg.</p>
|
|
68
|
+
</body>
|
|
69
|
+
</html>`;
|
|
70
|
+
res.type('html').send(html);
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
exports.MarketplaceController = MarketplaceController;
|
|
74
|
+
__decorate([
|
|
75
|
+
(0, common_1.Get)('marketplace/servers'),
|
|
76
|
+
(0, swagger_1.ApiOperation)({
|
|
77
|
+
summary: 'List all remote MCP servers in the marketplace catalog',
|
|
78
|
+
}),
|
|
79
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'List of remote MCP servers' }),
|
|
80
|
+
__metadata("design:type", Function),
|
|
81
|
+
__metadata("design:paramtypes", []),
|
|
82
|
+
__metadata("design:returntype", void 0)
|
|
83
|
+
], MarketplaceController.prototype, "getMarketplaceServers", null);
|
|
84
|
+
__decorate([
|
|
85
|
+
(0, common_1.Get)('marketplace/servers/:id'),
|
|
86
|
+
(0, swagger_1.ApiOperation)({ summary: 'Get details for a single marketplace server' }),
|
|
87
|
+
(0, swagger_1.ApiParam)({
|
|
88
|
+
name: 'id',
|
|
89
|
+
description: 'Marketplace server slug (e.g. "github")',
|
|
90
|
+
}),
|
|
91
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'Marketplace server details' }),
|
|
92
|
+
(0, swagger_1.ApiResponse)({ status: 404, description: 'Server not found' }),
|
|
93
|
+
__param(0, (0, common_1.Param)('id')),
|
|
94
|
+
__metadata("design:type", Function),
|
|
95
|
+
__metadata("design:paramtypes", [String]),
|
|
96
|
+
__metadata("design:returntype", void 0)
|
|
97
|
+
], MarketplaceController.prototype, "getMarketplaceServer", null);
|
|
98
|
+
__decorate([
|
|
99
|
+
(0, common_1.Post)('marketplace/connect'),
|
|
100
|
+
(0, common_1.HttpCode)(200),
|
|
101
|
+
(0, swagger_1.ApiOperation)({ summary: 'Initiate OAuth flow for a remote MCP server' }),
|
|
102
|
+
(0, swagger_1.ApiResponse)({
|
|
103
|
+
status: 200,
|
|
104
|
+
description: 'Returns the authorization URL and state',
|
|
105
|
+
}),
|
|
106
|
+
__param(0, (0, common_1.Body)()),
|
|
107
|
+
__metadata("design:type", Function),
|
|
108
|
+
__metadata("design:paramtypes", [initiate_connect_dto_1.InitiateConnectDto]),
|
|
109
|
+
__metadata("design:returntype", Promise)
|
|
110
|
+
], MarketplaceController.prototype, "initiateConnect", null);
|
|
111
|
+
__decorate([
|
|
112
|
+
(0, common_1.Get)('marketplace/connect/status/:marketplaceId'),
|
|
113
|
+
(0, swagger_1.ApiOperation)({
|
|
114
|
+
summary: 'Check the OAuth connection status for a marketplace server',
|
|
115
|
+
}),
|
|
116
|
+
(0, swagger_1.ApiParam)({
|
|
117
|
+
name: 'marketplaceId',
|
|
118
|
+
description: 'Marketplace server slug',
|
|
119
|
+
}),
|
|
120
|
+
(0, swagger_1.ApiResponse)({
|
|
121
|
+
status: 200,
|
|
122
|
+
description: 'Connection status: pending, connected, or error',
|
|
123
|
+
}),
|
|
124
|
+
__param(0, (0, common_1.Param)('marketplaceId')),
|
|
125
|
+
__metadata("design:type", Function),
|
|
126
|
+
__metadata("design:paramtypes", [String]),
|
|
127
|
+
__metadata("design:returntype", Promise)
|
|
128
|
+
], MarketplaceController.prototype, "getConnectStatus", null);
|
|
129
|
+
__decorate([
|
|
130
|
+
(0, common_1.Get)('oauth/callback'),
|
|
131
|
+
(0, swagger_1.ApiOperation)({ summary: 'OAuth callback handler' }),
|
|
132
|
+
__param(0, (0, common_1.Query)('code')),
|
|
133
|
+
__param(1, (0, common_1.Query)('state')),
|
|
134
|
+
__param(2, (0, common_1.Query)('error')),
|
|
135
|
+
__param(3, (0, common_1.Res)()),
|
|
136
|
+
__metadata("design:type", Function),
|
|
137
|
+
__metadata("design:paramtypes", [String, String, String, Object]),
|
|
138
|
+
__metadata("design:returntype", Promise)
|
|
139
|
+
], MarketplaceController.prototype, "handleOAuthCallback", null);
|
|
140
|
+
exports.MarketplaceController = MarketplaceController = MarketplaceController_1 = __decorate([
|
|
141
|
+
(0, swagger_1.ApiTags)('mcp-marketplace'),
|
|
142
|
+
(0, common_1.Controller)('mcp'),
|
|
143
|
+
__metadata("design:paramtypes", [marketplace_service_1.MarketplaceService])
|
|
144
|
+
], MarketplaceController);
|
|
145
|
+
//# sourceMappingURL=marketplace.controller.js.map
|