Initial meta MCP server scaffold

This commit is contained in:
root
2026-03-12 09:39:39 +00:00
commit b11edee7c4
8 changed files with 1715 additions and 0 deletions

41
src/storage.ts Normal file
View File

@@ -0,0 +1,41 @@
import { randomUUID } from 'crypto';
import type { MetaRequest, MetaResponse } from './types.js';
export type Job = {
id: string;
request: MetaRequest;
createdAt: number;
updatedAt: number;
response: MetaResponse;
};
const jobs = new Map<string, Job>();
export function createJob(request: MetaRequest): Job {
const id = randomUUID();
const now = Date.now();
const response: MetaResponse = {
status: 'queued',
message: 'Request received. Preparing build pipeline.',
jobId: id,
};
const job: Job = { id, request, createdAt: now, updatedAt: now, response };
jobs.set(id, job);
return job;
}
export function updateJob(id: string, patch: Partial<MetaResponse>): Job | null {
const job = jobs.get(id);
if (!job) return null;
job.updatedAt = Date.now();
job.response = { ...job.response, ...patch };
return job;
}
export function getJob(id: string): Job | null {
return jobs.get(id) ?? null;
}
export function listJobs(): Job[] {
return [...jobs.values()].sort((a, b) => b.createdAt - a.createdAt);
}