@chaaskit/server 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/admin.js +438 -0
- package/dist/api/admin.js.map +1 -0
- package/dist/api/agents.js +21 -0
- package/dist/api/agents.js.map +1 -0
- package/dist/api/api-keys.js +122 -0
- package/dist/api/api-keys.js.map +1 -0
- package/dist/api/auth.js +399 -0
- package/dist/api/auth.js.map +1 -0
- package/dist/api/chat.js +900 -0
- package/dist/api/chat.js.map +1 -0
- package/dist/api/config.js +91 -0
- package/dist/api/config.js.map +1 -0
- package/dist/api/documents.js +237 -0
- package/dist/api/documents.js.map +1 -0
- package/dist/api/export.js +107 -0
- package/dist/api/export.js.map +1 -0
- package/dist/api/health.js +25 -0
- package/dist/api/health.js.map +1 -0
- package/dist/api/mcp-server.js +84 -0
- package/dist/api/mcp-server.js.map +1 -0
- package/dist/api/mcp.js +400 -0
- package/dist/api/mcp.js.map +1 -0
- package/dist/api/mentions.js +94 -0
- package/dist/api/mentions.js.map +1 -0
- package/dist/api/oauth.js +366 -0
- package/dist/api/oauth.js.map +1 -0
- package/dist/api/payments.js +473 -0
- package/dist/api/payments.js.map +1 -0
- package/dist/api/projects.js +301 -0
- package/dist/api/projects.js.map +1 -0
- package/dist/api/scheduled-prompts.js +617 -0
- package/dist/api/scheduled-prompts.js.map +1 -0
- package/dist/api/search.js +85 -0
- package/dist/api/search.js.map +1 -0
- package/dist/api/share.js +188 -0
- package/dist/api/share.js.map +1 -0
- package/dist/api/slack.js +468 -0
- package/dist/api/slack.js.map +1 -0
- package/dist/api/teams.js +693 -0
- package/dist/api/teams.js.map +1 -0
- package/dist/api/templates.js +134 -0
- package/dist/api/templates.js.map +1 -0
- package/dist/api/threads.js +323 -0
- package/dist/api/threads.js.map +1 -0
- package/dist/api/upload.js +57 -0
- package/dist/api/upload.js.map +1 -0
- package/dist/api/user.js +111 -0
- package/dist/api/user.js.map +1 -0
- package/dist/api/v1/openai.js +245 -0
- package/dist/api/v1/openai.js.map +1 -0
- package/dist/app.js +168 -0
- package/dist/app.js.map +1 -0
- package/dist/bin/cli.js +57 -0
- package/dist/bin/cli.js.map +1 -0
- package/dist/commands/db-sync.js +108 -0
- package/dist/commands/db-sync.js.map +1 -0
- package/dist/config/loader.js +374 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/documents/extractors.js +136 -0
- package/dist/documents/extractors.js.map +1 -0
- package/dist/extensions/glob.js +53 -0
- package/dist/extensions/glob.js.map +1 -0
- package/dist/extensions/loader.js +72 -0
- package/dist/extensions/loader.js.map +1 -0
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -0
- package/dist/loaders/index.js +75 -0
- package/dist/loaders/index.js.map +1 -0
- package/dist/mcp/client.js +551 -0
- package/dist/mcp/client.js.map +1 -0
- package/dist/mcp/server.js +335 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/middleware/apiKeyAuth.js +136 -0
- package/dist/middleware/apiKeyAuth.js.map +1 -0
- package/dist/middleware/auth.js +192 -0
- package/dist/middleware/auth.js.map +1 -0
- package/dist/middleware/errorHandler.js +41 -0
- package/dist/middleware/errorHandler.js.map +1 -0
- package/dist/middleware/mcpServerAuth.js +164 -0
- package/dist/middleware/mcpServerAuth.js.map +1 -0
- package/dist/middleware/requestLogger.js +9 -0
- package/dist/middleware/requestLogger.js.map +1 -0
- package/dist/middleware/team.js +132 -0
- package/dist/middleware/team.js.map +1 -0
- package/dist/oauth/server.js +410 -0
- package/dist/oauth/server.js.map +1 -0
- package/dist/queue/cli.js +93 -0
- package/dist/queue/cli.js.map +1 -0
- package/dist/queue/handlers/index.js +91 -0
- package/dist/queue/handlers/index.js.map +1 -0
- package/dist/queue/handlers/scheduled-prompt.js +270 -0
- package/dist/queue/handlers/scheduled-prompt.js.map +1 -0
- package/dist/queue/index.js +91 -0
- package/dist/queue/index.js.map +1 -0
- package/dist/queue/providers/memory.js +296 -0
- package/dist/queue/providers/memory.js.map +1 -0
- package/dist/queue/providers/sqs.js +275 -0
- package/dist/queue/providers/sqs.js.map +1 -0
- package/dist/queue/scheduler.js +355 -0
- package/dist/queue/scheduler.js.map +1 -0
- package/dist/queue/types.js +5 -0
- package/dist/queue/types.js.map +1 -0
- package/dist/queue/worker.js +230 -0
- package/dist/queue/worker.js.map +1 -0
- package/dist/registry/index.js +40 -0
- package/dist/registry/index.js.map +1 -0
- package/dist/server.js +207 -0
- package/dist/server.js.map +1 -0
- package/dist/services/agent.js +530 -0
- package/dist/services/agent.js.map +1 -0
- package/dist/services/agents.js +194 -0
- package/dist/services/agents.js.map +1 -0
- package/dist/services/documents.js +507 -0
- package/dist/services/documents.js.map +1 -0
- package/dist/services/email/index.js +91 -0
- package/dist/services/email/index.js.map +1 -0
- package/dist/services/email/providers/ses.js +97 -0
- package/dist/services/email/providers/ses.js.map +1 -0
- package/dist/services/email/templates.js +194 -0
- package/dist/services/email/templates.js.map +1 -0
- package/dist/services/email/types.js +5 -0
- package/dist/services/email/types.js.map +1 -0
- package/dist/services/encryption.js +69 -0
- package/dist/services/encryption.js.map +1 -0
- package/dist/services/oauth-discovery.js +226 -0
- package/dist/services/oauth-discovery.js.map +1 -0
- package/dist/services/pendingConfirmation.js +105 -0
- package/dist/services/pendingConfirmation.js.map +1 -0
- package/dist/services/scheduledPrompts.js +70 -0
- package/dist/services/scheduledPrompts.js.map +1 -0
- package/dist/services/slack/client.js +174 -0
- package/dist/services/slack/client.js.map +1 -0
- package/dist/services/slack/events.js +189 -0
- package/dist/services/slack/events.js.map +1 -0
- package/dist/services/slack/index.js +6 -0
- package/dist/services/slack/index.js.map +1 -0
- package/dist/services/slack/notifications.js +124 -0
- package/dist/services/slack/notifications.js.map +1 -0
- package/dist/services/slack/signature.js +74 -0
- package/dist/services/slack/signature.js.map +1 -0
- package/dist/services/slack/thread-context.js +191 -0
- package/dist/services/slack/thread-context.js.map +1 -0
- package/dist/services/toolConfirmation.js +55 -0
- package/dist/services/toolConfirmation.js.map +1 -0
- package/dist/services/usage.js +241 -0
- package/dist/services/usage.js.map +1 -0
- package/dist/ssr/build.js +90 -0
- package/dist/ssr/build.js.map +1 -0
- package/dist/ssr/components/SSRMessageList.js +120 -0
- package/dist/ssr/components/SSRMessageList.js.map +1 -0
- package/dist/ssr/entry.client.js +8 -0
- package/dist/ssr/entry.client.js.map +1 -0
- package/dist/ssr/entry.server.js +71 -0
- package/dist/ssr/entry.server.js.map +1 -0
- package/dist/ssr/handler.js +51 -0
- package/dist/ssr/handler.js.map +1 -0
- package/dist/ssr/root.js +184 -0
- package/dist/ssr/root.js.map +1 -0
- package/dist/ssr/routes/login.js +140 -0
- package/dist/ssr/routes/login.js.map +1 -0
- package/dist/ssr/routes/pricing.js +195 -0
- package/dist/ssr/routes/pricing.js.map +1 -0
- package/dist/ssr/routes/privacy.js +39 -0
- package/dist/ssr/routes/privacy.js.map +1 -0
- package/dist/ssr/routes/register.js +148 -0
- package/dist/ssr/routes/register.js.map +1 -0
- package/dist/ssr/routes/shared.$shareId.js +153 -0
- package/dist/ssr/routes/shared.$shareId.js.map +1 -0
- package/dist/ssr/routes/terms.js +39 -0
- package/dist/ssr/routes/terms.js.map +1 -0
- package/dist/storage/index.js +43 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/providers/database.js +38 -0
- package/dist/storage/providers/database.js.map +1 -0
- package/dist/storage/providers/filesystem.js +51 -0
- package/dist/storage/providers/filesystem.js.map +1 -0
- package/dist/storage/types.js +2 -0
- package/dist/storage/types.js.map +1 -0
- package/dist/tools/documents.js +336 -0
- package/dist/tools/documents.js.map +1 -0
- package/dist/tools/get-plan-usage.js +82 -0
- package/dist/tools/get-plan-usage.js.map +1 -0
- package/dist/tools/index.js +106 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/types.js +2 -0
- package/dist/tools/types.js.map +1 -0
- package/dist/tools/web-scrape.js +145 -0
- package/dist/tools/web-scrape.js.map +1 -0
- package/package.json +93 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/queue/scheduler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/queue/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Queue Worker
|
|
3
|
+
*
|
|
4
|
+
* Processes jobs from the queue using registered handlers.
|
|
5
|
+
* Supports concurrent job processing with configurable concurrency.
|
|
6
|
+
*/
|
|
7
|
+
import { executeJob, hasJobHandler } from './handlers/index.js';
|
|
8
|
+
/**
|
|
9
|
+
* Worker that processes jobs from a queue.
|
|
10
|
+
*/
|
|
11
|
+
export class Worker {
|
|
12
|
+
provider;
|
|
13
|
+
concurrency;
|
|
14
|
+
shutdownTimeout;
|
|
15
|
+
running = false;
|
|
16
|
+
shuttingDown = false;
|
|
17
|
+
activeJobs = new Set();
|
|
18
|
+
stats = {
|
|
19
|
+
processed: 0,
|
|
20
|
+
succeeded: 0,
|
|
21
|
+
failed: 0,
|
|
22
|
+
};
|
|
23
|
+
abortController = null;
|
|
24
|
+
constructor(options) {
|
|
25
|
+
this.provider = options.provider;
|
|
26
|
+
this.concurrency = options.config.concurrency ?? 5;
|
|
27
|
+
this.shutdownTimeout = options.config.shutdownTimeout ?? 30000;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Start the worker.
|
|
31
|
+
* The worker will continuously poll for jobs and process them.
|
|
32
|
+
*/
|
|
33
|
+
async start() {
|
|
34
|
+
if (this.running) {
|
|
35
|
+
console.warn('[Worker] Already running');
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
this.running = true;
|
|
39
|
+
this.shuttingDown = false;
|
|
40
|
+
this.abortController = new AbortController();
|
|
41
|
+
console.log(`[Worker] Starting with concurrency ${this.concurrency}`);
|
|
42
|
+
// Start multiple concurrent worker loops
|
|
43
|
+
const workers = Array.from({ length: this.concurrency }, (_, i) => this.workerLoop(i));
|
|
44
|
+
// Wait for all worker loops to complete (they run until stop() is called)
|
|
45
|
+
await Promise.all(workers);
|
|
46
|
+
console.log('[Worker] Stopped');
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Stop the worker gracefully.
|
|
50
|
+
* Waits for active jobs to complete up to shutdownTimeout.
|
|
51
|
+
*/
|
|
52
|
+
async stop() {
|
|
53
|
+
if (!this.running) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
console.log('[Worker] Stopping...');
|
|
57
|
+
this.shuttingDown = true;
|
|
58
|
+
this.abortController?.abort();
|
|
59
|
+
// Wait for active jobs to complete
|
|
60
|
+
const deadline = Date.now() + this.shutdownTimeout;
|
|
61
|
+
while (this.activeJobs.size > 0 && Date.now() < deadline) {
|
|
62
|
+
console.log(`[Worker] Waiting for ${this.activeJobs.size} active job(s)...`);
|
|
63
|
+
await sleep(1000);
|
|
64
|
+
}
|
|
65
|
+
if (this.activeJobs.size > 0) {
|
|
66
|
+
console.warn(`[Worker] Forcing shutdown with ${this.activeJobs.size} active job(s)`);
|
|
67
|
+
}
|
|
68
|
+
this.running = false;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Get worker statistics.
|
|
72
|
+
*/
|
|
73
|
+
getStats() {
|
|
74
|
+
return {
|
|
75
|
+
...this.stats,
|
|
76
|
+
active: this.activeJobs.size,
|
|
77
|
+
running: this.running,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Check if the worker is running.
|
|
82
|
+
*/
|
|
83
|
+
isRunning() {
|
|
84
|
+
return this.running;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Individual worker loop that receives and processes jobs.
|
|
88
|
+
*/
|
|
89
|
+
async workerLoop(workerId) {
|
|
90
|
+
const prefix = `[Worker:${workerId}]`;
|
|
91
|
+
while (this.running && !this.shuttingDown) {
|
|
92
|
+
try {
|
|
93
|
+
// Wait for a job from the queue (long polling)
|
|
94
|
+
const jobs = await this.provider.receive(1, 20);
|
|
95
|
+
if (jobs.length === 0) {
|
|
96
|
+
// No jobs received, loop will continue and poll again
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
const job = jobs[0];
|
|
100
|
+
// Check if we have a handler for this job type
|
|
101
|
+
if (!hasJobHandler(job.type)) {
|
|
102
|
+
console.error(`${prefix} No handler for job type: ${job.type}, failing job`);
|
|
103
|
+
await this.provider.fail(job.receiptHandle, new Error(`No handler for job type: ${job.type}`));
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
// Process the job
|
|
107
|
+
await this.processJob(job, prefix);
|
|
108
|
+
}
|
|
109
|
+
catch (error) {
|
|
110
|
+
// Only log if not shutting down
|
|
111
|
+
if (!this.shuttingDown) {
|
|
112
|
+
console.error(`${prefix} Error in worker loop:`, error);
|
|
113
|
+
// Brief pause before retrying to avoid tight error loops
|
|
114
|
+
await sleep(1000);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Process a single job.
|
|
121
|
+
*/
|
|
122
|
+
async processJob(job, prefix) {
|
|
123
|
+
this.activeJobs.add(job.id);
|
|
124
|
+
const startTime = Date.now();
|
|
125
|
+
console.log(`${prefix} Processing job ${job.id} (type: ${job.type}, attempt: ${job.attempts})`);
|
|
126
|
+
// Create abort controller for job timeout
|
|
127
|
+
const jobAbortController = new AbortController();
|
|
128
|
+
const timeoutId = setTimeout(() => {
|
|
129
|
+
jobAbortController.abort();
|
|
130
|
+
}, job.options.timeout);
|
|
131
|
+
// Create job context
|
|
132
|
+
const ctx = {
|
|
133
|
+
jobId: job.id,
|
|
134
|
+
attempt: job.attempts,
|
|
135
|
+
log: (message, ...args) => {
|
|
136
|
+
console.log(`${prefix} [${job.id}] ${message}`, ...args);
|
|
137
|
+
},
|
|
138
|
+
progress: (percent) => {
|
|
139
|
+
// Progress reporting could be extended to update job metadata
|
|
140
|
+
console.log(`${prefix} [${job.id}] Progress: ${percent}%`);
|
|
141
|
+
},
|
|
142
|
+
signal: jobAbortController.signal,
|
|
143
|
+
};
|
|
144
|
+
try {
|
|
145
|
+
// Execute the job handler
|
|
146
|
+
await executeJob(job, ctx);
|
|
147
|
+
// Acknowledge successful completion
|
|
148
|
+
await this.provider.acknowledge(job.receiptHandle);
|
|
149
|
+
const duration = Date.now() - startTime;
|
|
150
|
+
console.log(`${prefix} Job ${job.id} completed in ${duration}ms`);
|
|
151
|
+
this.stats.processed++;
|
|
152
|
+
this.stats.succeeded++;
|
|
153
|
+
}
|
|
154
|
+
catch (error) {
|
|
155
|
+
const duration = Date.now() - startTime;
|
|
156
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
157
|
+
if (jobAbortController.signal.aborted) {
|
|
158
|
+
console.error(`${prefix} Job ${job.id} timed out after ${duration}ms`);
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
console.error(`${prefix} Job ${job.id} failed after ${duration}ms:`, errorMessage);
|
|
162
|
+
}
|
|
163
|
+
// Mark job as failed (will be retried if attempts remain)
|
|
164
|
+
try {
|
|
165
|
+
await this.provider.fail(job.receiptHandle, error instanceof Error ? error : new Error(errorMessage));
|
|
166
|
+
}
|
|
167
|
+
catch (failError) {
|
|
168
|
+
console.error(`${prefix} Error failing job ${job.id}:`, failError);
|
|
169
|
+
}
|
|
170
|
+
this.stats.processed++;
|
|
171
|
+
this.stats.failed++;
|
|
172
|
+
}
|
|
173
|
+
finally {
|
|
174
|
+
clearTimeout(timeoutId);
|
|
175
|
+
this.activeJobs.delete(job.id);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Helper to sleep for a given number of milliseconds.
|
|
181
|
+
*/
|
|
182
|
+
function sleep(ms) {
|
|
183
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
184
|
+
}
|
|
185
|
+
// Singleton worker instance
|
|
186
|
+
let workerInstance = null;
|
|
187
|
+
/**
|
|
188
|
+
* Get or create the worker singleton.
|
|
189
|
+
*/
|
|
190
|
+
export function getWorker(options) {
|
|
191
|
+
if (!workerInstance && options) {
|
|
192
|
+
workerInstance = new Worker(options);
|
|
193
|
+
}
|
|
194
|
+
return workerInstance;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Start the worker with the given options.
|
|
198
|
+
* Returns the worker instance.
|
|
199
|
+
*/
|
|
200
|
+
export async function startWorker(options) {
|
|
201
|
+
if (workerInstance) {
|
|
202
|
+
console.warn('[Worker] Worker already exists');
|
|
203
|
+
if (!workerInstance.isRunning()) {
|
|
204
|
+
await workerInstance.start();
|
|
205
|
+
}
|
|
206
|
+
return workerInstance;
|
|
207
|
+
}
|
|
208
|
+
workerInstance = new Worker(options);
|
|
209
|
+
// Start in background (don't await)
|
|
210
|
+
workerInstance.start().catch((error) => {
|
|
211
|
+
console.error('[Worker] Worker crashed:', error);
|
|
212
|
+
});
|
|
213
|
+
return workerInstance;
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Stop the worker.
|
|
217
|
+
*/
|
|
218
|
+
export async function stopWorker() {
|
|
219
|
+
if (workerInstance) {
|
|
220
|
+
await workerInstance.stop();
|
|
221
|
+
workerInstance = null;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Reset the worker singleton (for testing).
|
|
226
|
+
*/
|
|
227
|
+
export function resetWorker() {
|
|
228
|
+
workerInstance = null;
|
|
229
|
+
}
|
|
230
|
+
//# sourceMappingURL=worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/queue/worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
class Registry {
|
|
2
|
+
providers = new Map();
|
|
3
|
+
register(category, name, implementation) {
|
|
4
|
+
if (!this.providers.has(category)) {
|
|
5
|
+
this.providers.set(category, new Map());
|
|
6
|
+
}
|
|
7
|
+
this.providers.get(category).set(name, implementation);
|
|
8
|
+
console.log(`[Registry] Registered ${category}:${name}`);
|
|
9
|
+
}
|
|
10
|
+
get(category, name) {
|
|
11
|
+
return this.providers.get(category)?.get(name);
|
|
12
|
+
}
|
|
13
|
+
getAll(category) {
|
|
14
|
+
return this.providers.get(category) || new Map();
|
|
15
|
+
}
|
|
16
|
+
has(category, name) {
|
|
17
|
+
return this.providers.get(category)?.has(name) || false;
|
|
18
|
+
}
|
|
19
|
+
unregister(category, name) {
|
|
20
|
+
return this.providers.get(category)?.delete(name) || false;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
// Singleton instance
|
|
24
|
+
export const registry = new Registry();
|
|
25
|
+
// Base classes for extensions
|
|
26
|
+
export class BaseAgent {
|
|
27
|
+
}
|
|
28
|
+
export class BasePricingPlan {
|
|
29
|
+
}
|
|
30
|
+
export class BaseAuthProvider {
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Base class for MCP resources that can be exposed via the MCP server.
|
|
34
|
+
*
|
|
35
|
+
* Extensions can register custom resources by extending this class and
|
|
36
|
+
* registering with: registry.register('mcp-resource', 'resource-name', new MyResource())
|
|
37
|
+
*/
|
|
38
|
+
export class BaseMCPResource {
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":"AAOA,MAAM,QAAQ;IACJ,SAAS,GAAG,IAAI,GAAG,EAAgC,CAAC;IAE5D,QAAQ,CAAI,QAA0B,EAAE,IAAY,EAAE,cAAiB;QACrE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,yBAAyB,QAAQ,IAAI,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,GAAG,CAAI,QAA0B,EAAE,IAAY;QAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,IAAI,CAAkB,CAAC;IAClE,CAAC;IAED,MAAM,CAAI,QAA0B;QAClC,OAAQ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAoB,IAAI,IAAI,GAAG,EAAE,CAAC;IACvE,CAAC;IAED,GAAG,CAAC,QAA0B,EAAE,IAAY;QAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC;IAC1D,CAAC;IAED,UAAU,CAAC,QAA0B,EAAE,IAAY;QACjD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC;IAC7D,CAAC;CACF;AAED,qBAAqB;AACrB,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;AAEvC,8BAA8B;AAC9B,MAAM,OAAgB,SAAS;CAO9B;AAED,MAAM,OAAgB,eAAe;CAOpC;AAED,MAAM,OAAgB,gBAAgB;CAKrC;AAED;;;;;GAKG;AACH,MAAM,OAAgB,eAAe;CAmBpC"}
|
package/dist/server.js
ADDED
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { createApp } from './app.js';
|
|
2
|
+
import { getConfig } from './config/loader.js';
|
|
3
|
+
import { mcpManager } from './mcp/client.js';
|
|
4
|
+
import { initializeQueueProvider, closeQueueProvider, startWorker, stopWorker, getQueueProvider, startScheduler, stopScheduler, } from './queue/index.js';
|
|
5
|
+
import { initializeEmailProvider, closeEmailProvider, } from './services/email/index.js';
|
|
6
|
+
// Import scheduled prompt handlers to register them
|
|
7
|
+
import './queue/handlers/scheduled-prompt.js';
|
|
8
|
+
import { syncScheduledPromptsToRecurringJobs } from './services/scheduledPrompts.js';
|
|
9
|
+
/**
|
|
10
|
+
* Initialize the queue system based on configuration.
|
|
11
|
+
* Starts the worker and scheduler in in-process mode if configured.
|
|
12
|
+
*/
|
|
13
|
+
async function initializeQueue() {
|
|
14
|
+
const config = getConfig();
|
|
15
|
+
if (!config.queue?.enabled) {
|
|
16
|
+
console.log('[Queue] Queue system is disabled');
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
// Initialize the queue provider
|
|
20
|
+
await initializeQueueProvider(config.queue);
|
|
21
|
+
const provider = getQueueProvider();
|
|
22
|
+
// Start worker if in-process mode
|
|
23
|
+
const workerMode = config.queue.worker?.mode ?? 'in-process';
|
|
24
|
+
if (workerMode === 'in-process') {
|
|
25
|
+
const workerConfig = {
|
|
26
|
+
mode: workerMode,
|
|
27
|
+
concurrency: config.queue.worker?.concurrency ?? 5,
|
|
28
|
+
pollInterval: config.queue.worker?.pollInterval ?? 1000,
|
|
29
|
+
shutdownTimeout: config.queue.worker?.shutdownTimeout ?? 30000,
|
|
30
|
+
};
|
|
31
|
+
console.log('[Queue] Starting in-process worker...');
|
|
32
|
+
await startWorker({ provider, config: workerConfig });
|
|
33
|
+
console.log('[Queue] In-process worker started');
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
console.log('[Queue] Worker mode is standalone - not starting worker');
|
|
37
|
+
console.log('[Queue] Run `pnpm queue-worker` to start standalone workers');
|
|
38
|
+
}
|
|
39
|
+
// Start scheduler if enabled
|
|
40
|
+
if (config.queue.scheduler?.enabled) {
|
|
41
|
+
const schedulerConfig = {
|
|
42
|
+
enabled: true,
|
|
43
|
+
pollInterval: config.queue.scheduler.pollInterval ?? 60000,
|
|
44
|
+
};
|
|
45
|
+
console.log('[Queue] Starting scheduler...');
|
|
46
|
+
await startScheduler({ provider, config: schedulerConfig });
|
|
47
|
+
console.log('[Queue] Scheduler started');
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Initialize email provider based on configuration.
|
|
52
|
+
*/
|
|
53
|
+
async function initializeEmail() {
|
|
54
|
+
const config = getConfig();
|
|
55
|
+
if (!config.email?.enabled) {
|
|
56
|
+
console.log('[Email] Email system is disabled');
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
try {
|
|
60
|
+
await initializeEmailProvider(config.email);
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
console.error('[Email] Failed to initialize:', error instanceof Error ? error.message : error);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Initialize scheduled prompts by syncing to recurring jobs.
|
|
68
|
+
* Only runs if scheduler is enabled.
|
|
69
|
+
*/
|
|
70
|
+
async function initializeScheduledPrompts() {
|
|
71
|
+
const config = getConfig();
|
|
72
|
+
if (!config.scheduledPrompts?.enabled) {
|
|
73
|
+
console.log('[ScheduledPrompts] Feature is disabled');
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
if (!config.queue?.scheduler?.enabled) {
|
|
77
|
+
console.log('[ScheduledPrompts] Scheduler is disabled, skipping sync');
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
try {
|
|
81
|
+
const count = await syncScheduledPromptsToRecurringJobs();
|
|
82
|
+
console.log(`[ScheduledPrompts] Synced ${count} enabled prompts to recurring jobs`);
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
console.error('[ScheduledPrompts] Failed to sync:', error instanceof Error ? error.message : error);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Initialize MCP servers based on configuration.
|
|
90
|
+
* Only connects to servers that don't require user credentials at startup.
|
|
91
|
+
*/
|
|
92
|
+
async function initializeMCP() {
|
|
93
|
+
const config = getConfig();
|
|
94
|
+
if (!config.mcp?.servers || config.mcp.servers.length === 0) {
|
|
95
|
+
console.log('[MCP] No MCP servers configured');
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
// Filter to only servers that can connect without user credentials
|
|
99
|
+
const globalServers = config.mcp.servers.filter(server => {
|
|
100
|
+
const authMode = server.authMode || 'none';
|
|
101
|
+
return authMode === 'none' || authMode === 'admin';
|
|
102
|
+
});
|
|
103
|
+
const userServers = config.mcp.servers.filter(server => {
|
|
104
|
+
const authMode = server.authMode || 'none';
|
|
105
|
+
return authMode === 'user-apikey' || authMode === 'user-oauth';
|
|
106
|
+
});
|
|
107
|
+
if (globalServers.length === 0 && userServers.length === 0) {
|
|
108
|
+
console.log('[MCP] No MCP servers configured');
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
if (globalServers.length > 0) {
|
|
112
|
+
console.log(`[MCP] Initializing ${globalServers.length} global MCP server(s)...`);
|
|
113
|
+
}
|
|
114
|
+
if (userServers.length > 0) {
|
|
115
|
+
console.log(`[MCP] ${userServers.length} MCP server(s) require user credentials (will connect on-demand)`);
|
|
116
|
+
for (const server of userServers) {
|
|
117
|
+
if (server.enabled) {
|
|
118
|
+
console.log(`[MCP] - ${server.name} (${server.authMode})`);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
for (const server of globalServers) {
|
|
123
|
+
if (!server.enabled) {
|
|
124
|
+
console.log(`[MCP] Skipping disabled server: ${server.name}`);
|
|
125
|
+
continue;
|
|
126
|
+
}
|
|
127
|
+
try {
|
|
128
|
+
await mcpManager.connect(server);
|
|
129
|
+
console.log(`[MCP] Connected to ${server.name}`);
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
console.error(`[MCP] Failed to connect to ${server.name}:`, error instanceof Error ? error.message : error);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Creates and starts an HTTP server with the ChaasKit application.
|
|
138
|
+
*/
|
|
139
|
+
export async function createServer(options = {}) {
|
|
140
|
+
const app = await createApp(options);
|
|
141
|
+
const port = options.port || parseInt(process.env.PORT || '3000', 10);
|
|
142
|
+
return new Promise((resolve, reject) => {
|
|
143
|
+
const server = app.listen(port, async () => {
|
|
144
|
+
console.log(`Server running on port ${port}`);
|
|
145
|
+
// Initialize MCP servers
|
|
146
|
+
await initializeMCP();
|
|
147
|
+
// Initialize email system
|
|
148
|
+
await initializeEmail();
|
|
149
|
+
// Initialize queue system
|
|
150
|
+
await initializeQueue();
|
|
151
|
+
// Sync scheduled prompts to recurring jobs
|
|
152
|
+
await initializeScheduledPrompts();
|
|
153
|
+
// Setup graceful shutdown
|
|
154
|
+
let isShuttingDown = false;
|
|
155
|
+
const shutdown = async () => {
|
|
156
|
+
if (isShuttingDown) {
|
|
157
|
+
// Already shutting down, force exit on second signal
|
|
158
|
+
console.log('[Server] Forced shutdown');
|
|
159
|
+
process.exit(1);
|
|
160
|
+
}
|
|
161
|
+
isShuttingDown = true;
|
|
162
|
+
console.log('[Server] Shutting down...');
|
|
163
|
+
try {
|
|
164
|
+
// Stop queue system (worker and scheduler)
|
|
165
|
+
await stopScheduler();
|
|
166
|
+
await stopWorker();
|
|
167
|
+
await closeQueueProvider();
|
|
168
|
+
// Close email provider
|
|
169
|
+
await closeEmailProvider();
|
|
170
|
+
await mcpManager.disconnectAll();
|
|
171
|
+
server.close(() => {
|
|
172
|
+
console.log('[Server] Closed');
|
|
173
|
+
process.exit(0);
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
catch (error) {
|
|
177
|
+
console.error('[Server] Error during shutdown:', error);
|
|
178
|
+
process.exit(1);
|
|
179
|
+
}
|
|
180
|
+
};
|
|
181
|
+
process.on('SIGINT', shutdown);
|
|
182
|
+
process.on('SIGTERM', shutdown);
|
|
183
|
+
resolve({
|
|
184
|
+
app,
|
|
185
|
+
server,
|
|
186
|
+
port,
|
|
187
|
+
close: async () => {
|
|
188
|
+
await stopScheduler();
|
|
189
|
+
await stopWorker();
|
|
190
|
+
await closeQueueProvider();
|
|
191
|
+
await closeEmailProvider();
|
|
192
|
+
await mcpManager.disconnectAll();
|
|
193
|
+
return new Promise((res) => server.close(() => res()));
|
|
194
|
+
},
|
|
195
|
+
});
|
|
196
|
+
});
|
|
197
|
+
server.on('error', reject);
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Convenience function to start the server and log to console.
|
|
202
|
+
* For programmatic use, prefer createServer() which returns the server instance.
|
|
203
|
+
*/
|
|
204
|
+
export async function startServer(options = {}) {
|
|
205
|
+
await createServer(options);
|
|
206
|
+
}
|
|
207
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|