diff --git a/.claude-plugin/memesh/dist/a2a/client/A2AClient.d.ts b/.claude-plugin/memesh/dist/a2a/client/A2AClient.d.ts deleted file mode 100644 index 4f53901e..00000000 --- a/.claude-plugin/memesh/dist/a2a/client/A2AClient.d.ts +++ /dev/null @@ -1,29 +0,0 @@ -import type { SendMessageRequest, SendMessageResponse, Task, TaskStatus, TaskState, AgentCard, TaskResult } from '../types/index.js'; -import { type RetryOptions } from '../../utils/retry.js'; -export declare class A2AClient { - private registry; - private retryConfig; - constructor(retryConfig?: Partial); - private validateId; - private getAuthHeaders; - private fetchWithTimeout; - private isRetryableHttpError; - sendMessage(targetAgentId: string, request: SendMessageRequest): Promise; - getTask(targetAgentId: string, taskId: string): Promise; - listTasks(targetAgentId: string, params?: { - status?: string; - limit?: number; - offset?: number; - }): Promise; - getAgentCard(targetAgentId: string): Promise; - cancelTask(targetAgentId: string, taskId: string): Promise; - getTaskResult(targetAgentId: string, taskId: string): Promise; - updateTaskState(taskId: string, state: TaskState, data?: { - result?: unknown; - error?: string; - }): Promise; - private validateContentType; - private handleResponse; - listAvailableAgents(): string[]; -} -//# sourceMappingURL=A2AClient.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/client/A2AClient.d.ts.map b/.claude-plugin/memesh/dist/a2a/client/A2AClient.d.ts.map deleted file mode 100644 index dc59d89a..00000000 --- a/.claude-plugin/memesh/dist/a2a/client/A2AClient.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"A2AClient.d.ts","sourceRoot":"","sources":["../../../src/a2a/client/A2AClient.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EAEnB,IAAI,EACJ,UAAU,EACV,SAAS,EACT,SAAS,EACT,UAAU,EACX,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAoH3E,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,WAAW,CAAe;gBAStB,WAAW,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC;IA6C/C,OAAO,CAAC,UAAU;IAmBlB,OAAO,CAAC,cAAc;YAgCR,gBAAgB;IA4D9B,OAAO,CAAC,oBAAoB;IA6BtB,WAAW,CACf,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,mBAAmB,CAAC;IA8BzB,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmC7D,SAAS,CACb,aAAa,EAAE,MAAM,EACrB,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5D,OAAO,CAAC,UAAU,EAAE,CAAC;IAmClB,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IA6BvD,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6DhE,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAyDzE,eAAe,CACnB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,SAAS,EAChB,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1C,OAAO,CAAC,IAAI,CAAC;IA8DhB,OAAO,CAAC,mBAAmB;YAgBb,cAAc;IA8D5B,mBAAmB,IAAI,MAAM,EAAE;CAGhC"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/client/A2AClient.js b/.claude-plugin/memesh/dist/a2a/client/A2AClient.js deleted file mode 100644 index e40fd3f3..00000000 --- a/.claude-plugin/memesh/dist/a2a/client/A2AClient.js +++ /dev/null @@ -1,376 +0,0 @@ -import { AgentRegistry } from '../storage/AgentRegistry.js'; -import { ErrorCodes, createError, getErrorMessage } from '../errors/index.js'; -import { retryWithBackoff } from '../../utils/retry.js'; -import { getTraceContext, injectTraceContext, } from '../../utils/tracing/index.js'; -import { logger } from '../../utils/logger.js'; -import { z } from 'zod'; -const RETRY_BOUNDS = { - maxRetries: { min: 0, max: 10, default: 3 }, - baseDelay: { min: 100, max: 60_000, default: 1_000 }, - timeout: { min: 1_000, max: 300_000, default: 30_000 }, -}; -const MAX_RESPONSE_SIZE = 10_000_000; -const TaskResultSchema = z.object({ - taskId: z.string().max(255), - state: z.enum(['COMPLETED', 'FAILED', 'TIMEOUT']), - success: z.boolean(), - result: z.unknown().optional(), - error: z.string().max(10_000).optional(), - executedAt: z.string().datetime(), - executedBy: z.string().max(255), - durationMs: z.number().min(0).max(86_400_000).optional(), -}); -function clampRetryValue(raw, name, bounds) { - if (Number.isNaN(raw)) { - logger.warn(`[A2AClient] Invalid (NaN) env var for ${name}, using default ${bounds.default}`); - return bounds.default; - } - if (raw < bounds.min) { - logger.warn(`[A2AClient] ${name} value ${raw} is below minimum ${bounds.min}, clamping to ${bounds.min}`); - return bounds.min; - } - if (raw > bounds.max) { - logger.warn(`[A2AClient] ${name} value ${raw} exceeds maximum ${bounds.max}, clamping to ${bounds.max}`); - return bounds.max; - } - return raw; -} -export class A2AClient { - registry; - retryConfig; - constructor(retryConfig) { - this.registry = AgentRegistry.getInstance(); - const envMaxRetries = clampRetryValue(parseInt(process.env.A2A_RETRY_MAX_ATTEMPTS || String(RETRY_BOUNDS.maxRetries.default), 10), 'maxRetries', RETRY_BOUNDS.maxRetries); - const envBaseDelay = clampRetryValue(parseInt(process.env.A2A_RETRY_INITIAL_DELAY_MS || String(RETRY_BOUNDS.baseDelay.default), 10), 'baseDelay', RETRY_BOUNDS.baseDelay); - const envTimeout = clampRetryValue(parseInt(process.env.A2A_RETRY_TIMEOUT_MS || String(RETRY_BOUNDS.timeout.default), 10), 'timeout', RETRY_BOUNDS.timeout); - this.retryConfig = { - maxRetries: envMaxRetries, - baseDelay: envBaseDelay, - enableJitter: true, - retryableStatusCodes: [429, 500, 502, 503, 504], - timeout: envTimeout, - ...retryConfig, - }; - } - validateId(id, fieldName) { - if (!id || typeof id !== 'string') { - throw createError(ErrorCodes.INVALID_PARAMETER, fieldName, 'must be non-empty string'); - } - if (id.length > 255) { - throw createError(ErrorCodes.INVALID_PARAMETER, fieldName, 'exceeds maximum length of 255'); - } - if (id.includes('..') || id.includes('/') || id.includes('\\')) { - throw createError(ErrorCodes.INVALID_PARAMETER, fieldName, 'contains invalid characters'); - } - } - getAuthHeaders() { - const token = process.env.MEMESH_A2A_TOKEN; - if (!token) { - throw createError(ErrorCodes.AUTH_TOKEN_NOT_CONFIGURED); - } - let headers = { - 'Content-Type': 'application/json', - 'Authorization': `Bearer ${token}`, - }; - const traceContext = getTraceContext(); - if (traceContext) { - headers = injectTraceContext(headers, traceContext); - } - return headers; - } - async fetchWithTimeout(url, options) { - const controller = new AbortController(); - let completed = false; - const timeoutId = setTimeout(() => { - if (!completed) { - controller.abort(); - } - }, this.retryConfig.timeout); - try { - const response = await fetch(url, { - ...options, - signal: controller.signal, - }); - completed = true; - return response; - } - catch (error) { - completed = true; - if (error instanceof Error && error.name === 'AbortError') { - throw createError(ErrorCodes.REQUEST_TIMEOUT, url, this.retryConfig.timeout); - } - throw error; - } - finally { - clearTimeout(timeoutId); - } - } - isRetryableHttpError(error) { - if (error && typeof error === 'object') { - const errorObj = error; - if (errorObj.code === ErrorCodes.REQUEST_TIMEOUT) { - return true; - } - if (errorObj.status !== undefined) { - const status = errorObj.status; - if (status === 401 || status === 403) { - return false; - } - if (status >= 400 && status < 500 && status !== 429) { - return false; - } - return true; - } - } - return false; - } - async sendMessage(targetAgentId, request) { - try { - return await retryWithBackoff(async () => { - const agent = this.registry.get(targetAgentId); - if (!agent) { - throw createError(ErrorCodes.AGENT_NOT_FOUND, targetAgentId); - } - const url = `${agent.baseUrl}/a2a/send-message`; - const response = await this.fetchWithTimeout(url, { - method: 'POST', - headers: this.getAuthHeaders(), - body: JSON.stringify(request), - }); - return await this.handleResponse(response); - }, { - ...this.retryConfig, - operationName: `A2A sendMessage to ${targetAgentId}`, - isRetryable: this.isRetryableHttpError.bind(this), - }); - } - catch (error) { - throw createError(ErrorCodes.TASK_SEND_FAILED, targetAgentId, getErrorMessage(error)); - } - } - async getTask(targetAgentId, taskId) { - try { - return await retryWithBackoff(async () => { - const agent = this.registry.get(targetAgentId); - if (!agent) { - throw createError(ErrorCodes.AGENT_NOT_FOUND, targetAgentId); - } - const url = `${agent.baseUrl}/a2a/tasks/${encodeURIComponent(taskId)}`; - const response = await this.fetchWithTimeout(url, { - method: 'GET', - headers: this.getAuthHeaders(), - }); - return await this.handleResponse(response); - }, { - ...this.retryConfig, - operationName: `A2A getTask ${taskId} from ${targetAgentId}`, - isRetryable: this.isRetryableHttpError.bind(this), - }); - } - catch (error) { - throw createError(ErrorCodes.TASK_GET_FAILED, taskId, targetAgentId, getErrorMessage(error)); - } - } - async listTasks(targetAgentId, params) { - try { - return await retryWithBackoff(async () => { - const agent = this.registry.get(targetAgentId); - if (!agent) { - throw createError(ErrorCodes.AGENT_NOT_FOUND, targetAgentId); - } - const queryParams = new URLSearchParams(); - if (params?.status) - queryParams.set('status', params.status); - if (params?.limit !== undefined) - queryParams.set('limit', params.limit.toString()); - if (params?.offset !== undefined) - queryParams.set('offset', params.offset.toString()); - const url = `${agent.baseUrl}/a2a/tasks?${queryParams.toString()}`; - const response = await this.fetchWithTimeout(url, { - method: 'GET', - headers: this.getAuthHeaders(), - }); - return await this.handleResponse(response); - }, { - ...this.retryConfig, - operationName: `A2A listTasks from ${targetAgentId}`, - isRetryable: this.isRetryableHttpError.bind(this), - }); - } - catch (error) { - throw createError(ErrorCodes.TASK_LIST_FAILED, targetAgentId, getErrorMessage(error)); - } - } - async getAgentCard(targetAgentId) { - try { - return await retryWithBackoff(async () => { - const agent = this.registry.get(targetAgentId); - if (!agent) { - throw createError(ErrorCodes.AGENT_NOT_FOUND, targetAgentId); - } - const url = `${agent.baseUrl}/a2a/agent-card`; - const response = await this.fetchWithTimeout(url, { - method: 'GET', - headers: this.getAuthHeaders(), - }); - return await this.handleResponse(response); - }, { - ...this.retryConfig, - operationName: `A2A getAgentCard from ${targetAgentId}`, - isRetryable: this.isRetryableHttpError.bind(this), - }); - } - catch (error) { - throw createError(ErrorCodes.AGENT_REGISTRY_ERROR, getErrorMessage(error)); - } - } - async cancelTask(targetAgentId, taskId) { - try { - await retryWithBackoff(async () => { - const agent = this.registry.get(targetAgentId); - if (!agent) { - throw createError(ErrorCodes.AGENT_NOT_FOUND, targetAgentId); - } - const url = `${agent.baseUrl}/a2a/tasks/${encodeURIComponent(taskId)}/cancel`; - const response = await this.fetchWithTimeout(url, { - method: 'POST', - headers: this.getAuthHeaders(), - }); - return await this.handleResponse(response); - }, { - ...this.retryConfig, - operationName: `A2A cancelTask ${taskId} on ${targetAgentId}`, - isRetryable: this.isRetryableHttpError.bind(this), - }); - } - catch (error) { - throw createError(ErrorCodes.TASK_CANCEL_FAILED, taskId, targetAgentId, getErrorMessage(error)); - } - } - async getTaskResult(targetAgentId, taskId) { - this.validateId(targetAgentId, 'targetAgentId'); - this.validateId(taskId, 'taskId'); - try { - return await retryWithBackoff(async () => { - const agent = this.registry.get(targetAgentId); - if (!agent) { - throw createError(ErrorCodes.AGENT_NOT_FOUND, targetAgentId); - } - const url = `${agent.baseUrl}/a2a/tasks/${encodeURIComponent(taskId)}/result`; - const response = await this.fetchWithTimeout(url, { - method: 'GET', - headers: this.getAuthHeaders(), - }); - const rawResult = await this.handleResponse(response); - const validatedResult = TaskResultSchema.parse(rawResult); - return validatedResult; - }, { - ...this.retryConfig, - operationName: `A2A getTaskResult ${taskId} from ${targetAgentId}`, - isRetryable: this.isRetryableHttpError.bind(this), - }); - } - catch (error) { - if (error instanceof z.ZodError) { - throw createError(ErrorCodes.INVALID_RESPONSE_SCHEMA, error.message); - } - throw createError(ErrorCodes.TASK_GET_FAILED, taskId, targetAgentId, getErrorMessage(error)); - } - } - async updateTaskState(taskId, state, data) { - try { - return await retryWithBackoff(async () => { - const url = `${process.env.MEMESH_BASE_URL || 'http://localhost:3000'}/a2a/tasks/${encodeURIComponent(taskId)}/state`; - const response = await this.fetchWithTimeout(url, { - method: 'PATCH', - headers: this.getAuthHeaders(), - body: JSON.stringify({ - state, - ...data, - }), - }); - if (!response.ok) { - let errorMessage; - try { - const errorData = await response.json(); - errorMessage = errorData.message; - } - catch (jsonError) { - if (process.env.NODE_ENV !== 'test') { - console.warn(`[A2AClient] Failed to parse error response as JSON for task ${taskId}:`, jsonError instanceof Error ? jsonError.message : String(jsonError)); - } - } - throw createError(ErrorCodes.HTTP_ERROR, response.status, errorMessage); - } - }, { - ...this.retryConfig, - operationName: `A2A updateTaskState ${taskId} to ${state}`, - isRetryable: this.isRetryableHttpError.bind(this), - }); - } - catch (error) { - throw createError(ErrorCodes.TASK_UPDATE_FAILED, taskId, state, getErrorMessage(error)); - } - } - validateContentType(response) { - const contentType = response.headers.get('content-type'); - if (!contentType) { - logger.warn('[A2AClient] Response missing Content-Type header', { - status: response.status, - url: response.url, - }); - return; - } - if (!contentType.includes('application/json')) { - throw createError(ErrorCodes.INVALID_CONTENT_TYPE, contentType, response.status); - } - } - async handleResponse(response) { - this.validateContentType(response); - const contentLength = response.headers.get('content-length'); - if (contentLength && parseInt(contentLength) > MAX_RESPONSE_SIZE) { - throw createError(ErrorCodes.RESPONSE_TOO_LARGE, contentLength); - } - if (!response.ok) { - if (response.status === 401) { - throw createError(ErrorCodes.AUTH_FAILED); - } - let errorMessage; - try { - const errorData = (await response.json()); - if (errorData.error) { - errorMessage = errorData.error.message; - } - } - catch (jsonError) { - if (process.env.NODE_ENV !== 'test') { - console.warn(`[A2AClient] Failed to parse error response as JSON (HTTP ${response.status}):`, jsonError instanceof Error ? jsonError.message : String(jsonError)); - } - } - throw createError(ErrorCodes.HTTP_ERROR, response.status, errorMessage); - } - let result; - try { - const text = await response.clone().text(); - if (text.length > MAX_RESPONSE_SIZE) { - throw createError(ErrorCodes.RESPONSE_TOO_LARGE, text.length); - } - result = JSON.parse(text); - } - catch (error) { - if (error && typeof error === 'object' && 'code' in error && error.code === ErrorCodes.RESPONSE_TOO_LARGE) { - throw error; - } - result = (await response.json()); - } - if (!result.success || !result.data) { - const error = result.error || { code: 'UNKNOWN', message: 'Unknown error' }; - throw new Error(`[${error.code}] ${error.message}`); - } - return result.data; - } - listAvailableAgents() { - return this.registry.listActive().map((agent) => agent.agentId); - } -} -//# sourceMappingURL=A2AClient.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/client/A2AClient.js.map b/.claude-plugin/memesh/dist/a2a/client/A2AClient.js.map deleted file mode 100644 index 703b7ef1..00000000 --- a/.claude-plugin/memesh/dist/a2a/client/A2AClient.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"A2AClient.js","sourceRoot":"","sources":["../../../src/a2a/client/A2AClient.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/client/index.d.ts b/.claude-plugin/memesh/dist/a2a/client/index.d.ts deleted file mode 100644 index a36b9d15..00000000 --- a/.claude-plugin/memesh/dist/a2a/client/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { A2AClient } from './A2AClient.js'; -//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/client/index.d.ts.map b/.claude-plugin/memesh/dist/a2a/client/index.d.ts.map deleted file mode 100644 index f9a87c40..00000000 --- a/.claude-plugin/memesh/dist/a2a/client/index.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/a2a/client/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/client/index.js b/.claude-plugin/memesh/dist/a2a/client/index.js deleted file mode 100644 index 970a1e00..00000000 --- a/.claude-plugin/memesh/dist/a2a/client/index.js +++ /dev/null @@ -1,2 +0,0 @@ -export { A2AClient } from './A2AClient.js'; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/client/index.js.map b/.claude-plugin/memesh/dist/a2a/client/index.js.map deleted file mode 100644 index 0c4374d2..00000000 --- a/.claude-plugin/memesh/dist/a2a/client/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/a2a/client/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/constants.d.ts b/.claude-plugin/memesh/dist/a2a/constants.d.ts deleted file mode 100644 index 3a06bab0..00000000 --- a/.claude-plugin/memesh/dist/a2a/constants.d.ts +++ /dev/null @@ -1,34 +0,0 @@ -export declare const TIME: { - readonly TASK_TIMEOUT_MS: 300000; - readonly TIMEOUT_CHECK_INTERVAL_MS: 60000; - readonly HEARTBEAT_INTERVAL_MS: 60000; - readonly STALE_AGENT_THRESHOLD_MS: number; -}; -export declare const LIMITS: { - readonly MAX_CONCURRENT_TASKS_PHASE_1: 1; -}; -export declare const NETWORK: { - readonly DEFAULT_PORT_RANGE: { - readonly min: 3000; - readonly max: 3999; - }; - readonly MAX_REQUEST_BODY_SIZE: "10mb"; -}; -export declare const RATE_LIMITS: { - readonly DEFAULT_RPM: 100; - readonly SEND_MESSAGE_RPM: 60; - readonly GET_TASK_RPM: 120; - readonly LIST_TASKS_RPM: 100; - readonly CANCEL_TASK_RPM: 60; - readonly CLEANUP_INTERVAL_MS: number; -}; -export declare const ENV_KEYS: { - readonly A2A_TOKEN: "MEMESH_A2A_TOKEN"; - readonly TASK_TIMEOUT: "MEMESH_A2A_TASK_TIMEOUT"; - readonly RATE_LIMIT_DEFAULT: "MEMESH_A2A_RATE_LIMIT_DEFAULT"; - readonly RATE_LIMIT_SEND_MESSAGE: "MEMESH_A2A_RATE_LIMIT_SEND_MESSAGE"; - readonly RATE_LIMIT_GET_TASK: "MEMESH_A2A_RATE_LIMIT_GET_TASK"; - readonly RATE_LIMIT_LIST_TASKS: "MEMESH_A2A_RATE_LIMIT_LIST_TASKS"; - readonly RATE_LIMIT_CANCEL_TASK: "MEMESH_A2A_RATE_LIMIT_CANCEL_TASK"; -}; -//# sourceMappingURL=constants.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/constants.d.ts.map b/.claude-plugin/memesh/dist/a2a/constants.d.ts.map deleted file mode 100644 index a43a09ef..00000000 --- a/.claude-plugin/memesh/dist/a2a/constants.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/a2a/constants.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,IAAI;;;;;CAwBP,CAAC;AAKX,eAAO,MAAM,MAAM;;CAMT,CAAC;AAKX,eAAO,MAAM,OAAO;;;;;;CAaV,CAAC;AAKX,eAAO,MAAM,WAAW;;;;;;;CA8Bd,CAAC;AAKX,eAAO,MAAM,QAAQ;;;;;;;;CAmBX,CAAC"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/constants.js b/.claude-plugin/memesh/dist/a2a/constants.js deleted file mode 100644 index 64a50c28..00000000 --- a/.claude-plugin/memesh/dist/a2a/constants.js +++ /dev/null @@ -1,34 +0,0 @@ -export const TIME = { - TASK_TIMEOUT_MS: 300_000, - TIMEOUT_CHECK_INTERVAL_MS: 60_000, - HEARTBEAT_INTERVAL_MS: 60_000, - STALE_AGENT_THRESHOLD_MS: 5 * 60_000, -}; -export const LIMITS = { - MAX_CONCURRENT_TASKS_PHASE_1: 1, -}; -export const NETWORK = { - DEFAULT_PORT_RANGE: { - min: 3000, - max: 3999, - }, - MAX_REQUEST_BODY_SIZE: '10mb', -}; -export const RATE_LIMITS = { - DEFAULT_RPM: 100, - SEND_MESSAGE_RPM: 60, - GET_TASK_RPM: 120, - LIST_TASKS_RPM: 100, - CANCEL_TASK_RPM: 60, - CLEANUP_INTERVAL_MS: 5 * 60_000, -}; -export const ENV_KEYS = { - A2A_TOKEN: 'MEMESH_A2A_TOKEN', - TASK_TIMEOUT: 'MEMESH_A2A_TASK_TIMEOUT', - RATE_LIMIT_DEFAULT: 'MEMESH_A2A_RATE_LIMIT_DEFAULT', - RATE_LIMIT_SEND_MESSAGE: 'MEMESH_A2A_RATE_LIMIT_SEND_MESSAGE', - RATE_LIMIT_GET_TASK: 'MEMESH_A2A_RATE_LIMIT_GET_TASK', - RATE_LIMIT_LIST_TASKS: 'MEMESH_A2A_RATE_LIMIT_LIST_TASKS', - RATE_LIMIT_CANCEL_TASK: 'MEMESH_A2A_RATE_LIMIT_CANCEL_TASK', -}; -//# sourceMappingURL=constants.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/constants.js.map b/.claude-plugin/memesh/dist/a2a/constants.js.map deleted file mode 100644 index d73e0c31..00000000 --- a/.claude-plugin/memesh/dist/a2a/constants.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/a2a/constants.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,MAAM,IAAI,GAAG;IAKlB,eAAe,EAAE,OAAO;IAMxB,yBAAyB,EAAE,MAAM;IAMjC,qBAAqB,EAAE,MAAM;IAM7B,wBAAwB,EAAE,CAAC,GAAG,MAAM;CAC5B,CAAC;AAKX,MAAM,CAAC,MAAM,MAAM,GAAG;IAKpB,4BAA4B,EAAE,CAAC;CACvB,CAAC;AAKX,MAAM,CAAC,MAAM,OAAO,GAAG;IAIrB,kBAAkB,EAAE;QAClB,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;KACV;IAKD,qBAAqB,EAAE,MAAM;CACrB,CAAC;AAKX,MAAM,CAAC,MAAM,WAAW,GAAG;IAIzB,WAAW,EAAE,GAAG;IAKhB,gBAAgB,EAAE,EAAE;IAKpB,YAAY,EAAE,GAAG;IAKjB,cAAc,EAAE,GAAG;IAKnB,eAAe,EAAE,EAAE;IAKnB,mBAAmB,EAAE,CAAC,GAAG,MAAM;CACvB,CAAC;AAKX,MAAM,CAAC,MAAM,QAAQ,GAAG;IAItB,SAAS,EAAE,kBAAkB;IAK7B,YAAY,EAAE,yBAAyB;IAKvC,kBAAkB,EAAE,+BAA+B;IACnD,uBAAuB,EAAE,oCAAoC;IAC7D,mBAAmB,EAAE,gCAAgC;IACrD,qBAAqB,EAAE,kCAAkC;IACzD,sBAAsB,EAAE,mCAAmC;CACnD,CAAC"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/delegator/MCPTaskDelegator.d.ts b/.claude-plugin/memesh/dist/a2a/delegator/MCPTaskDelegator.d.ts deleted file mode 100644 index 4d5e7ee0..00000000 --- a/.claude-plugin/memesh/dist/a2a/delegator/MCPTaskDelegator.d.ts +++ /dev/null @@ -1,19 +0,0 @@ -import type { TaskQueue } from '../storage/TaskQueue.js'; -import type { ILogger } from '../../utils/ILogger.js'; -import type { TaskInfo } from './types.js'; -export declare class MCPTaskDelegator { - private pendingTasks; - private pendingTasksByAgent; - private taskQueue; - private logger; - private metrics; - constructor(taskQueue: TaskQueue, logger: ILogger); - addTask(taskId: string, task: string, priority: 'high' | 'medium' | 'low', agentId: string): Promise; - getPendingTasks(agentId: string): Promise; - markTaskInProgress(taskId: string): Promise; - removeTask(taskId: string): Promise; - private static readonly TIMEOUT_BOUNDS; - private getTaskTimeout; - checkTimeouts(): Promise; -} -//# sourceMappingURL=MCPTaskDelegator.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/delegator/MCPTaskDelegator.d.ts.map b/.claude-plugin/memesh/dist/a2a/delegator/MCPTaskDelegator.d.ts.map deleted file mode 100644 index c9070ae0..00000000 --- a/.claude-plugin/memesh/dist/a2a/delegator/MCPTaskDelegator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MCPTaskDelegator.d.ts","sourceRoot":"","sources":["../../../src/a2a/delegator/MCPTaskDelegator.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AA+B3C,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,YAAY,CAAwB;IAG5C,OAAO,CAAC,mBAAmB,CAA2B;IACtD,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,OAAO,CAAa;gBAQhB,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO;IA0B3C,OAAO,CACX,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,EACnC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;IAuDV,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IA8BrD,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBjD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAI3B;IAUX,OAAO,CAAC,cAAc;IAuDhB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;CA+FrC"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/delegator/MCPTaskDelegator.js b/.claude-plugin/memesh/dist/a2a/delegator/MCPTaskDelegator.js deleted file mode 100644 index 497b48fd..00000000 --- a/.claude-plugin/memesh/dist/a2a/delegator/MCPTaskDelegator.js +++ /dev/null @@ -1,184 +0,0 @@ -import { TIME, LIMITS, ENV_KEYS } from '../constants.js'; -import { A2AMetrics, METRIC_NAMES } from '../metrics/index.js'; -import { ErrorCodes, createError, formatErrorMessage } from '../errors/index.js'; -export class MCPTaskDelegator { - pendingTasks; - pendingTasksByAgent; - taskQueue; - logger; - metrics; - constructor(taskQueue, logger) { - this.pendingTasks = new Map(); - this.pendingTasksByAgent = new Map(); - this.taskQueue = taskQueue; - this.logger = logger; - this.metrics = A2AMetrics.getInstance(); - } - async addTask(taskId, task, priority, agentId) { - const agentTaskSet = this.pendingTasksByAgent.get(agentId); - const agentTaskCount = agentTaskSet ? agentTaskSet.size : 0; - if (agentTaskCount >= LIMITS.MAX_CONCURRENT_TASKS_PHASE_1) { - throw createError(ErrorCodes.AGENT_ALREADY_PROCESSING, 'Phase 1.0'); - } - const taskInfo = { - taskId, - task, - priority, - agentId, - createdAt: Date.now(), - status: 'PENDING' - }; - this.pendingTasks.set(taskId, taskInfo); - if (!agentTaskSet) { - this.pendingTasksByAgent.set(agentId, new Set([taskId])); - } - else { - agentTaskSet.add(taskId); - } - this.logger.info('[MCPTaskDelegator] Task added to delegation queue', { taskId, agentId }); - this.metrics.incrementCounter(METRIC_NAMES.TASKS_SUBMITTED, { agentId, priority }); - this.metrics.setGauge(METRIC_NAMES.QUEUE_SIZE, this.pendingTasks.size, { agentId }); - } - async getPendingTasks(agentId) { - const taskIds = this.pendingTasksByAgent.get(agentId); - if (!taskIds || taskIds.size === 0) { - return []; - } - const tasks = []; - for (const taskId of taskIds) { - const taskInfo = this.pendingTasks.get(taskId); - if (taskInfo && taskInfo.status === 'PENDING') { - tasks.push(taskInfo); - } - } - return tasks; - } - async markTaskInProgress(taskId) { - const taskInfo = this.pendingTasks.get(taskId); - if (taskInfo) { - taskInfo.status = 'IN_PROGRESS'; - this.logger.info('[MCPTaskDelegator] Task marked as in-progress', { taskId }); - } - else { - this.logger.warn('[MCPTaskDelegator] Task not found for progress update', { taskId }); - } - } - async removeTask(taskId) { - const taskInfo = this.pendingTasks.get(taskId); - const removed = this.pendingTasks.delete(taskId); - if (removed && taskInfo) { - const agentTaskSet = this.pendingTasksByAgent.get(taskInfo.agentId); - if (agentTaskSet) { - agentTaskSet.delete(taskId); - if (agentTaskSet.size === 0) { - this.pendingTasksByAgent.delete(taskInfo.agentId); - } - } - this.logger.info('[MCPTaskDelegator] Task removed from delegation queue', { taskId }); - this.metrics.setGauge(METRIC_NAMES.QUEUE_SIZE, this.pendingTasks.size, { - agentId: taskInfo.agentId - }); - } - else { - this.logger.warn('[MCPTaskDelegator] Task not found for removal', { taskId }); - } - } - static TIMEOUT_BOUNDS = { - min: 5_000, - max: 3_600_000, - default: TIME.TASK_TIMEOUT_MS, - }; - getTaskTimeout() { - const envValue = process.env[ENV_KEYS.TASK_TIMEOUT]; - if (!envValue) { - return MCPTaskDelegator.TIMEOUT_BOUNDS.default; - } - const raw = parseInt(envValue, 10); - const bounds = MCPTaskDelegator.TIMEOUT_BOUNDS; - if (Number.isNaN(raw)) { - this.logger.warn(`[MCPTaskDelegator] Invalid (NaN) ${ENV_KEYS.TASK_TIMEOUT} env var: "${envValue}", using default ${bounds.default}ms`); - return bounds.default; - } - if (raw < bounds.min) { - this.logger.warn(`[MCPTaskDelegator] ${ENV_KEYS.TASK_TIMEOUT} value ${raw}ms is below minimum ${bounds.min}ms, clamping to ${bounds.min}ms`); - return bounds.min; - } - if (raw > bounds.max) { - this.logger.warn(`[MCPTaskDelegator] ${ENV_KEYS.TASK_TIMEOUT} value ${raw}ms exceeds maximum ${bounds.max}ms, clamping to ${bounds.max}ms`); - return bounds.max; - } - return raw; - } - async checkTimeouts() { - let tasksChecked = 0; - try { - const now = Date.now(); - const timeout = this.getTaskTimeout(); - const timeoutSeconds = timeout / 1000; - const timedOutTasks = []; - for (const [taskId, taskInfo] of this.pendingTasks) { - tasksChecked++; - if (now - taskInfo.createdAt > timeout) { - timedOutTasks.push({ taskId, taskInfo }); - } - } - for (const { taskId, taskInfo } of timedOutTasks) { - try { - const timeoutMessage = formatErrorMessage(ErrorCodes.TASK_TIMEOUT, taskId, timeoutSeconds); - this.logger.warn('[MCPTaskDelegator] Task timeout detected', { - taskId, - agentId: taskInfo.agentId, - timeoutSeconds, - taskAge: Math.floor((now - taskInfo.createdAt) / 1000), - }); - const updated = this.taskQueue.updateTaskStatus(taskId, { - state: 'TIMEOUT', - metadata: { error: timeoutMessage } - }); - if (!updated) { - this.logger.error('[MCPTaskDelegator] Failed to update timeout status for task', { taskId }); - continue; - } - this.pendingTasks.delete(taskId); - const agentTaskSet = this.pendingTasksByAgent.get(taskInfo.agentId); - if (agentTaskSet) { - agentTaskSet.delete(taskId); - if (agentTaskSet.size === 0) { - this.pendingTasksByAgent.delete(taskInfo.agentId); - } - } - this.logger.info('[MCPTaskDelegator] Task removed from pending queue after timeout', { taskId }); - this.metrics.incrementCounter(METRIC_NAMES.TASKS_TIMEOUT, { - agentId: taskInfo.agentId, - priority: taskInfo.priority - }); - this.metrics.setGauge(METRIC_NAMES.QUEUE_SIZE, this.pendingTasks.size, { - agentId: taskInfo.agentId - }); - } - catch (error) { - this.logger.error('[MCPTaskDelegator] Error processing timeout', { - taskId, - error: error instanceof Error ? error.message : String(error), - stack: error instanceof Error ? error.stack : undefined, - }); - } - } - if (timedOutTasks.length > 0) { - this.logger.info('[MCPTaskDelegator] Timeout check completed', { - timeoutCount: timedOutTasks.length, - remainingTasks: this.pendingTasks.size, - }); - } - } - catch (error) { - this.logger.error('[MCPTaskDelegator] Unhandled error in checkTimeouts', { - error: error instanceof Error ? error.message : String(error), - stack: error instanceof Error ? error.stack : undefined, - tasksChecked, - pendingTaskCount: this.pendingTasks.size, - }); - } - } -} -//# sourceMappingURL=MCPTaskDelegator.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/delegator/MCPTaskDelegator.js.map b/.claude-plugin/memesh/dist/a2a/delegator/MCPTaskDelegator.js.map deleted file mode 100644 index 3fe3c6b0..00000000 --- a/.claude-plugin/memesh/dist/a2a/delegator/MCPTaskDelegator.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MCPTaskDelegator.js","sourceRoot":"","sources":["../../../src/a2a/delegator/MCPTaskDelegator.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/delegator/index.d.ts b/.claude-plugin/memesh/dist/a2a/delegator/index.d.ts deleted file mode 100644 index 2ba90013..00000000 --- a/.claude-plugin/memesh/dist/a2a/delegator/index.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export { MCPTaskDelegator } from './MCPTaskDelegator.js'; -export type { TaskInfo } from './types.js'; -//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/delegator/index.d.ts.map b/.claude-plugin/memesh/dist/a2a/delegator/index.d.ts.map deleted file mode 100644 index ea85abc3..00000000 --- a/.claude-plugin/memesh/dist/a2a/delegator/index.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/a2a/delegator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/delegator/index.js b/.claude-plugin/memesh/dist/a2a/delegator/index.js deleted file mode 100644 index c887dbfb..00000000 --- a/.claude-plugin/memesh/dist/a2a/delegator/index.js +++ /dev/null @@ -1,2 +0,0 @@ -export { MCPTaskDelegator } from './MCPTaskDelegator.js'; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/delegator/index.js.map b/.claude-plugin/memesh/dist/a2a/delegator/index.js.map deleted file mode 100644 index d099bfad..00000000 --- a/.claude-plugin/memesh/dist/a2a/delegator/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/a2a/delegator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/delegator/types.d.ts b/.claude-plugin/memesh/dist/a2a/delegator/types.d.ts deleted file mode 100644 index 26f85e09..00000000 --- a/.claude-plugin/memesh/dist/a2a/delegator/types.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -export interface TaskInfo { - taskId: string; - task: string; - priority: 'high' | 'medium' | 'low'; - agentId: string; - createdAt: number; - status: 'PENDING' | 'IN_PROGRESS'; -} -//# sourceMappingURL=types.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/delegator/types.d.ts.map b/.claude-plugin/memesh/dist/a2a/delegator/types.d.ts.map deleted file mode 100644 index 35c4f2b7..00000000 --- a/.claude-plugin/memesh/dist/a2a/delegator/types.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/a2a/delegator/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,aAAa,CAAC;CACnC"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/delegator/types.js b/.claude-plugin/memesh/dist/a2a/delegator/types.js deleted file mode 100644 index 718fd38a..00000000 --- a/.claude-plugin/memesh/dist/a2a/delegator/types.js +++ /dev/null @@ -1,2 +0,0 @@ -export {}; -//# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/delegator/types.js.map b/.claude-plugin/memesh/dist/a2a/delegator/types.js.map deleted file mode 100644 index b9d9160a..00000000 --- a/.claude-plugin/memesh/dist/a2a/delegator/types.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/a2a/delegator/types.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/errors/ErrorCodes.d.ts b/.claude-plugin/memesh/dist/a2a/errors/ErrorCodes.d.ts deleted file mode 100644 index 19bb9168..00000000 --- a/.claude-plugin/memesh/dist/a2a/errors/ErrorCodes.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -export declare const ErrorCodes: { - readonly AUTH_TOKEN_NOT_CONFIGURED: "AUTH_TOKEN_NOT_CONFIGURED"; - readonly AUTH_FAILED: "AUTH_FAILED"; - readonly AUTH_TOKEN_MISSING: "AUTH_TOKEN_MISSING"; - readonly AGENT_NOT_FOUND: "AGENT_NOT_FOUND"; - readonly AGENT_ALREADY_PROCESSING: "AGENT_ALREADY_PROCESSING"; - readonly AGENT_REGISTRY_ERROR: "AGENT_REGISTRY_ERROR"; - readonly TASK_NOT_FOUND: "TASK_NOT_FOUND"; - readonly TASK_TIMEOUT: "TASK_TIMEOUT"; - readonly TASK_SEND_FAILED: "TASK_SEND_FAILED"; - readonly TASK_GET_FAILED: "TASK_GET_FAILED"; - readonly TASK_LIST_FAILED: "TASK_LIST_FAILED"; - readonly TASK_CANCEL_FAILED: "TASK_CANCEL_FAILED"; - readonly TASK_UPDATE_FAILED: "TASK_UPDATE_FAILED"; - readonly PORT_NOT_AVAILABLE: "PORT_NOT_AVAILABLE"; - readonly SERVER_ERROR: "SERVER_ERROR"; - readonly INVALID_JSON: "INVALID_JSON"; - readonly DATABASE_ERROR: "DATABASE_ERROR"; - readonly TIMEOUT_CHECKER_ERROR: "TIMEOUT_CHECKER_ERROR"; - readonly TIMEOUT_CHECKER_CIRCUIT_OPEN: "TIMEOUT_CHECKER_CIRCUIT_OPEN"; - readonly HTTP_ERROR: "HTTP_ERROR"; - readonly REQUEST_TIMEOUT: "REQUEST_TIMEOUT"; - readonly INVALID_CONTENT_TYPE: "INVALID_CONTENT_TYPE"; - readonly RESPONSE_TOO_LARGE: "RESPONSE_TOO_LARGE"; - readonly INVALID_PARAMETER: "INVALID_PARAMETER"; - readonly INVALID_RESPONSE_SCHEMA: "INVALID_RESPONSE_SCHEMA"; - readonly UNKNOWN_ERROR: "UNKNOWN_ERROR"; -}; -export type ErrorCode = (typeof ErrorCodes)[keyof typeof ErrorCodes]; -//# sourceMappingURL=ErrorCodes.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/errors/ErrorCodes.d.ts.map b/.claude-plugin/memesh/dist/a2a/errors/ErrorCodes.d.ts.map deleted file mode 100644 index e98e89ab..00000000 --- a/.claude-plugin/memesh/dist/a2a/errors/ErrorCodes.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ErrorCodes.d.ts","sourceRoot":"","sources":["../../../src/a2a/errors/ErrorCodes.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4Cb,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/errors/ErrorCodes.js b/.claude-plugin/memesh/dist/a2a/errors/ErrorCodes.js deleted file mode 100644 index 529357c0..00000000 --- a/.claude-plugin/memesh/dist/a2a/errors/ErrorCodes.js +++ /dev/null @@ -1,29 +0,0 @@ -export const ErrorCodes = { - AUTH_TOKEN_NOT_CONFIGURED: 'AUTH_TOKEN_NOT_CONFIGURED', - AUTH_FAILED: 'AUTH_FAILED', - AUTH_TOKEN_MISSING: 'AUTH_TOKEN_MISSING', - AGENT_NOT_FOUND: 'AGENT_NOT_FOUND', - AGENT_ALREADY_PROCESSING: 'AGENT_ALREADY_PROCESSING', - AGENT_REGISTRY_ERROR: 'AGENT_REGISTRY_ERROR', - TASK_NOT_FOUND: 'TASK_NOT_FOUND', - TASK_TIMEOUT: 'TASK_TIMEOUT', - TASK_SEND_FAILED: 'TASK_SEND_FAILED', - TASK_GET_FAILED: 'TASK_GET_FAILED', - TASK_LIST_FAILED: 'TASK_LIST_FAILED', - TASK_CANCEL_FAILED: 'TASK_CANCEL_FAILED', - TASK_UPDATE_FAILED: 'TASK_UPDATE_FAILED', - PORT_NOT_AVAILABLE: 'PORT_NOT_AVAILABLE', - SERVER_ERROR: 'SERVER_ERROR', - INVALID_JSON: 'INVALID_JSON', - DATABASE_ERROR: 'DATABASE_ERROR', - TIMEOUT_CHECKER_ERROR: 'TIMEOUT_CHECKER_ERROR', - TIMEOUT_CHECKER_CIRCUIT_OPEN: 'TIMEOUT_CHECKER_CIRCUIT_OPEN', - HTTP_ERROR: 'HTTP_ERROR', - REQUEST_TIMEOUT: 'REQUEST_TIMEOUT', - INVALID_CONTENT_TYPE: 'INVALID_CONTENT_TYPE', - RESPONSE_TOO_LARGE: 'RESPONSE_TOO_LARGE', - INVALID_PARAMETER: 'INVALID_PARAMETER', - INVALID_RESPONSE_SCHEMA: 'INVALID_RESPONSE_SCHEMA', - UNKNOWN_ERROR: 'UNKNOWN_ERROR', -}; -//# sourceMappingURL=ErrorCodes.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/errors/ErrorCodes.js.map b/.claude-plugin/memesh/dist/a2a/errors/ErrorCodes.js.map deleted file mode 100644 index d0a0469d..00000000 --- a/.claude-plugin/memesh/dist/a2a/errors/ErrorCodes.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ErrorCodes.js","sourceRoot":"","sources":["../../../src/a2a/errors/ErrorCodes.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,UAAU,GAAG;IAExB,yBAAyB,EAAE,2BAA2B;IACtD,WAAW,EAAE,aAAa;IAC1B,kBAAkB,EAAE,oBAAoB;IAGxC,eAAe,EAAE,iBAAiB;IAClC,wBAAwB,EAAE,0BAA0B;IACpD,oBAAoB,EAAE,sBAAsB;IAG5C,cAAc,EAAE,gBAAgB;IAChC,YAAY,EAAE,cAAc;IAC5B,gBAAgB,EAAE,kBAAkB;IACpC,eAAe,EAAE,iBAAiB;IAClC,gBAAgB,EAAE,kBAAkB;IACpC,kBAAkB,EAAE,oBAAoB;IACxC,kBAAkB,EAAE,oBAAoB;IAGxC,kBAAkB,EAAE,oBAAoB;IACxC,YAAY,EAAE,cAAc;IAG5B,YAAY,EAAE,cAAc;IAC5B,cAAc,EAAE,gBAAgB;IAGhC,qBAAqB,EAAE,uBAAuB;IAC9C,4BAA4B,EAAE,8BAA8B;IAG5D,UAAU,EAAE,YAAY;IACxB,eAAe,EAAE,iBAAiB;IAClC,oBAAoB,EAAE,sBAAsB;IAG5C,kBAAkB,EAAE,oBAAoB;IACxC,iBAAiB,EAAE,mBAAmB;IACtC,uBAAuB,EAAE,yBAAyB;IAGlD,aAAa,EAAE,eAAe;CACtB,CAAC"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/errors/ErrorMessages.d.ts b/.claude-plugin/memesh/dist/a2a/errors/ErrorMessages.d.ts deleted file mode 100644 index 176d5194..00000000 --- a/.claude-plugin/memesh/dist/a2a/errors/ErrorMessages.d.ts +++ /dev/null @@ -1,32 +0,0 @@ -export declare const ErrorMessages: { - readonly AUTH_TOKEN_NOT_CONFIGURED: "MEMESH_A2A_TOKEN environment variable is not configured"; - readonly AUTH_FAILED: "Authentication failed - invalid A2A token"; - readonly AUTH_TOKEN_MISSING: "A2A authentication token is missing"; - readonly AGENT_NOT_FOUND: (agentId: string) => string; - readonly AGENT_ALREADY_PROCESSING: (phase?: string) => string; - readonly AGENT_REGISTRY_ERROR: (error: string) => string; - readonly TASK_NOT_FOUND: (taskId: string) => string; - readonly TASK_TIMEOUT: (taskId: string, timeoutSeconds: number) => string; - readonly TASK_SEND_FAILED: (targetAgentId: string, error: string) => string; - readonly TASK_GET_FAILED: (taskId: string, targetAgentId: string, error: string) => string; - readonly TASK_LIST_FAILED: (targetAgentId: string, error: string) => string; - readonly TASK_CANCEL_FAILED: (taskId: string, targetAgentId: string, error: string) => string; - readonly TASK_UPDATE_FAILED: (taskId: string, state: string, error: string) => string; - readonly PORT_NOT_AVAILABLE: (min: number, max: number) => string; - readonly SERVER_ERROR: (error: string) => string; - readonly INVALID_JSON: (context: string, preview?: string) => string; - readonly DATABASE_ERROR: (operation: string, error: string) => string; - readonly TIMEOUT_CHECKER_ERROR: (error: string) => string; - readonly TIMEOUT_CHECKER_CIRCUIT_OPEN: (failureCount: number, maxRetries: number) => string; - readonly HTTP_ERROR: (status: number, message?: string) => string; - readonly REQUEST_TIMEOUT: (url: string, timeoutMs: number) => string; - readonly INVALID_CONTENT_TYPE: (contentType: string, status: number) => string; - readonly RESPONSE_TOO_LARGE: (size: string | number) => string; - readonly INVALID_PARAMETER: (fieldName: string, reason: string) => string; - readonly INVALID_RESPONSE_SCHEMA: (details: string) => string; - readonly UNKNOWN_ERROR: "An unknown error occurred"; -}; -export declare function formatErrorMessage(code: keyof typeof ErrorMessages, ...args: any[]): string; -export declare function getErrorMessage(error: unknown): string; -export declare function createError(code: keyof typeof ErrorMessages, ...args: any[]): Error; -//# sourceMappingURL=ErrorMessages.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/errors/ErrorMessages.d.ts.map b/.claude-plugin/memesh/dist/a2a/errors/ErrorMessages.d.ts.map deleted file mode 100644 index a9f9da1f..00000000 --- a/.claude-plugin/memesh/dist/a2a/errors/ErrorMessages.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ErrorMessages.d.ts","sourceRoot":"","sources":["../../../src/a2a/errors/ErrorMessages.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,aAAa;;;;wCAQgB,MAAM;gDACC,MAAM;2CAEV,MAAM;sCAIX,MAAM;oCACR,MAAM,kBAAkB,MAAM;+CAEnB,MAAM,SAAS,MAAM;uCAE7B,MAAM,iBAAiB,MAAM,SAAS,MAAM;+CAEpC,MAAM,SAAS,MAAM;0CAE1B,MAAM,iBAAiB,MAAM,SAAS,MAAM;0CAE5C,MAAM,SAAS,MAAM,SAAS,MAAM;uCAIvC,MAAM,OAAO,MAAM;mCAEvB,MAAM;qCAGJ,MAAM,YAAY,MAAM;yCAEpB,MAAM,SAAS,MAAM;4CAIlB,MAAM;0DACQ,MAAM,cAAc,MAAM;kCAIlD,MAAM,YAAY,MAAM;oCAEtB,MAAM,aAAa,MAAM;iDAEZ,MAAM,UAAU,MAAM;wCAI/B,MAAM,GAAG,MAAM;4CAEX,MAAM,UAAU,MAAM;gDAElB,MAAM;;CAK9C,CAAC;AAKX,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,OAAO,aAAa,EAChC,GAAG,IAAI,EAAE,GAAG,EAAE,GACb,MAAM,CAMR;AAKD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKtD;AAOD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,OAAO,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,KAAK,CAiBnF"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/errors/ErrorMessages.js b/.claude-plugin/memesh/dist/a2a/errors/ErrorMessages.js deleted file mode 100644 index c660b59f..00000000 --- a/.claude-plugin/memesh/dist/a2a/errors/ErrorMessages.js +++ /dev/null @@ -1,55 +0,0 @@ -import { ErrorCodes } from './ErrorCodes.js'; -export const ErrorMessages = { - [ErrorCodes.AUTH_TOKEN_NOT_CONFIGURED]: 'MEMESH_A2A_TOKEN environment variable is not configured', - [ErrorCodes.AUTH_FAILED]: 'Authentication failed - invalid A2A token', - [ErrorCodes.AUTH_TOKEN_MISSING]: 'A2A authentication token is missing', - [ErrorCodes.AGENT_NOT_FOUND]: (agentId) => `Agent not found: ${agentId}`, - [ErrorCodes.AGENT_ALREADY_PROCESSING]: (phase = 'Phase 1.0') => `Agent already processing a task (${phase} limitation)`, - [ErrorCodes.AGENT_REGISTRY_ERROR]: (error) => `Agent registry operation failed: ${error}`, - [ErrorCodes.TASK_NOT_FOUND]: (taskId) => `Task not found: ${taskId}`, - [ErrorCodes.TASK_TIMEOUT]: (taskId, timeoutSeconds) => `Task timeout detected: ${taskId} (timeout: ${timeoutSeconds}s)`, - [ErrorCodes.TASK_SEND_FAILED]: (targetAgentId, error) => `Failed to send message to ${targetAgentId}: ${error}`, - [ErrorCodes.TASK_GET_FAILED]: (taskId, targetAgentId, error) => `Failed to get task ${taskId} from ${targetAgentId}: ${error}`, - [ErrorCodes.TASK_LIST_FAILED]: (targetAgentId, error) => `Failed to list tasks from ${targetAgentId}: ${error}`, - [ErrorCodes.TASK_CANCEL_FAILED]: (taskId, targetAgentId, error) => `Failed to cancel task ${taskId} on ${targetAgentId}: ${error}`, - [ErrorCodes.TASK_UPDATE_FAILED]: (taskId, state, error) => `Failed to update task ${taskId} to state ${state}: ${error}`, - [ErrorCodes.PORT_NOT_AVAILABLE]: (min, max) => `No available port in range ${min}-${max}`, - [ErrorCodes.SERVER_ERROR]: (error) => `Server error: ${error}`, - [ErrorCodes.INVALID_JSON]: (context, preview) => `Invalid JSON data in ${context}${preview ? `: ${preview}` : ''}`, - [ErrorCodes.DATABASE_ERROR]: (operation, error) => `Database ${operation} failed: ${error}`, - [ErrorCodes.TIMEOUT_CHECKER_ERROR]: (error) => `TimeoutChecker error: ${error}`, - [ErrorCodes.TIMEOUT_CHECKER_CIRCUIT_OPEN]: (failureCount, maxRetries) => `TimeoutChecker circuit breaker is open (${failureCount}/${maxRetries} consecutive failures). Service temporarily degraded.`, - [ErrorCodes.HTTP_ERROR]: (status, message) => `HTTP error ${status}${message ? `: ${message}` : ''}`, - [ErrorCodes.REQUEST_TIMEOUT]: (url, timeoutMs) => `Request to ${url} aborted due to timeout (${timeoutMs}ms)`, - [ErrorCodes.INVALID_CONTENT_TYPE]: (contentType, status) => `Unexpected Content-Type: ${contentType}, expected application/json (status: ${status})`, - [ErrorCodes.RESPONSE_TOO_LARGE]: (size) => `Response size exceeds maximum allowed (size: ${size} bytes, max: 10MB)`, - [ErrorCodes.INVALID_PARAMETER]: (fieldName, reason) => `Invalid parameter '${fieldName}': ${reason}`, - [ErrorCodes.INVALID_RESPONSE_SCHEMA]: (details) => `Response schema validation failed: ${details}`, - [ErrorCodes.UNKNOWN_ERROR]: 'An unknown error occurred', -}; -export function formatErrorMessage(code, ...args) { - const template = ErrorMessages[code]; - if (typeof template === 'function') { - return template(...args); - } - return template; -} -export function getErrorMessage(error) { - if (error instanceof Error) { - return error.message; - } - return String(error); -} -export function createError(code, ...args) { - const message = formatErrorMessage(code, ...args); - const error = new Error(message); - error.code = code; - if (code === 'HTTP_ERROR' && typeof args[0] === 'number') { - error.status = args[0]; - } - if (code === 'AUTH_FAILED') { - error.status = 401; - } - return error; -} -//# sourceMappingURL=ErrorMessages.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/errors/ErrorMessages.js.map b/.claude-plugin/memesh/dist/a2a/errors/ErrorMessages.js.map deleted file mode 100644 index 912aaeab..00000000 --- a/.claude-plugin/memesh/dist/a2a/errors/ErrorMessages.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ErrorMessages.js","sourceRoot":"","sources":["../../../src/a2a/errors/ErrorMessages.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/errors/index.d.ts b/.claude-plugin/memesh/dist/a2a/errors/index.d.ts deleted file mode 100644 index 40363c06..00000000 --- a/.claude-plugin/memesh/dist/a2a/errors/index.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export { ErrorCodes, type ErrorCode } from './ErrorCodes.js'; -export { ErrorMessages, formatErrorMessage, getErrorMessage, createError, } from './ErrorMessages.js'; -//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/errors/index.d.ts.map b/.claude-plugin/memesh/dist/a2a/errors/index.d.ts.map deleted file mode 100644 index 2a4ec0f1..00000000 --- a/.claude-plugin/memesh/dist/a2a/errors/index.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/a2a/errors/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,WAAW,GACZ,MAAM,oBAAoB,CAAC"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/errors/index.js b/.claude-plugin/memesh/dist/a2a/errors/index.js deleted file mode 100644 index 9a12a0a5..00000000 --- a/.claude-plugin/memesh/dist/a2a/errors/index.js +++ /dev/null @@ -1,3 +0,0 @@ -export { ErrorCodes } from './ErrorCodes.js'; -export { ErrorMessages, formatErrorMessage, getErrorMessage, createError, } from './ErrorMessages.js'; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/errors/index.js.map b/.claude-plugin/memesh/dist/a2a/errors/index.js.map deleted file mode 100644 index f653a506..00000000 --- a/.claude-plugin/memesh/dist/a2a/errors/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/a2a/errors/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAkB,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,WAAW,GACZ,MAAM,oBAAoB,CAAC"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/executor/TaskExecutor.d.ts b/.claude-plugin/memesh/dist/a2a/executor/TaskExecutor.d.ts deleted file mode 100644 index 69a6013b..00000000 --- a/.claude-plugin/memesh/dist/a2a/executor/TaskExecutor.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import type { TaskQueue } from '../storage/TaskQueue.js'; -import type { ILogger } from '../../utils/ILogger.js'; -import type { MCPTaskDelegator } from '../delegator/MCPTaskDelegator.js'; -export declare class TaskExecutor { - private taskQueue; - private logger; - private delegator; - constructor(taskQueue: TaskQueue, logger: ILogger, delegator: MCPTaskDelegator); - executeTask(taskId: string, task: string, agentId: string): Promise; -} -//# sourceMappingURL=TaskExecutor.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/executor/TaskExecutor.d.ts.map b/.claude-plugin/memesh/dist/a2a/executor/TaskExecutor.d.ts.map deleted file mode 100644 index 87c0b32e..00000000 --- a/.claude-plugin/memesh/dist/a2a/executor/TaskExecutor.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"TaskExecutor.d.ts","sourceRoot":"","sources":["../../../src/a2a/executor/TaskExecutor.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAkBzE,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,SAAS,CAAmB;gBAUlC,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,gBAAgB;IAuBvB,WAAW,CACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;CASjB"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/executor/TaskExecutor.js b/.claude-plugin/memesh/dist/a2a/executor/TaskExecutor.js deleted file mode 100644 index 4f9846e5..00000000 --- a/.claude-plugin/memesh/dist/a2a/executor/TaskExecutor.js +++ /dev/null @@ -1,15 +0,0 @@ -export class TaskExecutor { - taskQueue; - logger; - delegator; - constructor(taskQueue, logger, delegator) { - this.taskQueue = taskQueue; - this.logger = logger; - this.delegator = delegator; - } - async executeTask(taskId, task, agentId) { - await this.delegator.addTask(taskId, task, 'medium', agentId); - this.logger.info(`Task delegated to MCP Client: ${taskId}`); - } -} -//# sourceMappingURL=TaskExecutor.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/executor/TaskExecutor.js.map b/.claude-plugin/memesh/dist/a2a/executor/TaskExecutor.js.map deleted file mode 100644 index f4c38ce5..00000000 --- a/.claude-plugin/memesh/dist/a2a/executor/TaskExecutor.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"TaskExecutor.js","sourceRoot":"","sources":["../../../src/a2a/executor/TaskExecutor.ts"],"names":[],"mappings":"AAmCA,MAAM,OAAO,YAAY;IACf,SAAS,CAAY;IACrB,MAAM,CAAU;IAChB,SAAS,CAAmB;IASpC,YACE,SAAoB,EACpB,MAAe,EACf,SAA2B;QAE3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAkBD,KAAK,CAAC,WAAW,CACf,MAAc,EACd,IAAY,EACZ,OAAe;QAIf,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE9D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,MAAM,EAAE,CAAC,CAAC;IAG9D,CAAC;CACF"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/executor/index.d.ts b/.claude-plugin/memesh/dist/a2a/executor/index.d.ts deleted file mode 100644 index 9492821f..00000000 --- a/.claude-plugin/memesh/dist/a2a/executor/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { TaskExecutor } from './TaskExecutor.js'; -//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/executor/index.d.ts.map b/.claude-plugin/memesh/dist/a2a/executor/index.d.ts.map deleted file mode 100644 index e2d509cb..00000000 --- a/.claude-plugin/memesh/dist/a2a/executor/index.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/a2a/executor/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/executor/index.js b/.claude-plugin/memesh/dist/a2a/executor/index.js deleted file mode 100644 index 38b5d8af..00000000 --- a/.claude-plugin/memesh/dist/a2a/executor/index.js +++ /dev/null @@ -1,2 +0,0 @@ -export { TaskExecutor } from './TaskExecutor.js'; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/executor/index.js.map b/.claude-plugin/memesh/dist/a2a/executor/index.js.map deleted file mode 100644 index 7243e998..00000000 --- a/.claude-plugin/memesh/dist/a2a/executor/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/a2a/executor/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/jobs/TimeoutChecker.d.ts b/.claude-plugin/memesh/dist/a2a/jobs/TimeoutChecker.d.ts deleted file mode 100644 index f3436e50..00000000 --- a/.claude-plugin/memesh/dist/a2a/jobs/TimeoutChecker.d.ts +++ /dev/null @@ -1,49 +0,0 @@ -import type { MCPTaskDelegator } from '../delegator/MCPTaskDelegator.js'; -declare enum CircuitState { - CLOSED = "CLOSED", - OPEN = "OPEN", - HALF_OPEN = "HALF_OPEN" -} -interface TimeoutCheckerConfig { - intervalMs?: number; - maxConsecutiveErrors?: number; - circuitCooldownMs?: number; - enableAlerting?: boolean; -} -export declare class TimeoutChecker { - private delegator; - private intervalId; - private interval; - private circuitState; - private consecutiveErrors; - private lastErrorTime; - private circuitOpenedAt; - private readonly maxConsecutiveErrors; - private readonly circuitCooldownMs; - private readonly enableAlerting; - private totalChecks; - private totalErrors; - private lastSuccessfulCheck; - constructor(delegator: MCPTaskDelegator, config?: TimeoutCheckerConfig); - start(intervalMs?: number): void; - stop(): void; - isRunning(): boolean; - getInterval(): number; - getStatistics(): { - circuitState: CircuitState; - consecutiveErrors: number; - totalChecks: number; - totalErrors: number; - errorRate: number; - lastSuccessfulCheck: number | null; - }; - resetCircuit(): void; - private checkWithCircuitBreaker; - private handleSuccess; - private handleError; - private openCircuit; - private sendAlert; - private resetStatistics; -} -export {}; -//# sourceMappingURL=TimeoutChecker.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/jobs/TimeoutChecker.d.ts.map b/.claude-plugin/memesh/dist/a2a/jobs/TimeoutChecker.d.ts.map deleted file mode 100644 index 47e52004..00000000 --- a/.claude-plugin/memesh/dist/a2a/jobs/TimeoutChecker.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"TimeoutChecker.d.ts","sourceRoot":"","sources":["../../../src/a2a/jobs/TimeoutChecker.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAQzE,aAAK,YAAY;IACf,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,SAAS,cAAc;CACxB;AAKD,UAAU,oBAAoB;IAE5B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAmCD,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,QAAQ,CAAS;IAGzB,OAAO,CAAC,YAAY,CAAqC;IACzD,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,eAAe,CAAa;IAGpC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IAGzC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,mBAAmB,CAAa;gBAQ5B,SAAS,EAAE,gBAAgB,EAAE,MAAM,GAAE,oBAAyB;IAyB1E,KAAK,CAAC,UAAU,GAAE,MAAuC,GAAG,IAAI;IA+ChE,IAAI,IAAI,IAAI;IAgBZ,SAAS,IAAI,OAAO;IASpB,WAAW,IAAI,MAAM;IAOrB,aAAa,IAAI;QACf,YAAY,EAAE,YAAY,CAAC;QAC3B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;KACpC;IAeD,YAAY,IAAI,IAAI;YAWN,uBAAuB;IAiCrC,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,WAAW;IAwBnB,OAAO,CAAC,WAAW;IAgCnB,OAAO,CAAC,SAAS;IAcjB,OAAO,CAAC,eAAe;CASxB"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/jobs/TimeoutChecker.js b/.claude-plugin/memesh/dist/a2a/jobs/TimeoutChecker.js deleted file mode 100644 index 2ad4c9af..00000000 --- a/.claude-plugin/memesh/dist/a2a/jobs/TimeoutChecker.js +++ /dev/null @@ -1,176 +0,0 @@ -import { logger } from '../../utils/logger.js'; -import { ErrorCodes, formatErrorMessage } from '../errors/index.js'; -import { TIME } from '../constants.js'; -var CircuitState; -(function (CircuitState) { - CircuitState["CLOSED"] = "CLOSED"; - CircuitState["OPEN"] = "OPEN"; - CircuitState["HALF_OPEN"] = "HALF_OPEN"; -})(CircuitState || (CircuitState = {})); -export class TimeoutChecker { - delegator; - intervalId = null; - interval; - circuitState = CircuitState.CLOSED; - consecutiveErrors = 0; - lastErrorTime = 0; - circuitOpenedAt = 0; - maxConsecutiveErrors; - circuitCooldownMs; - enableAlerting; - totalChecks = 0; - totalErrors = 0; - lastSuccessfulCheck = 0; - constructor(delegator, config = {}) { - this.delegator = delegator; - this.interval = config.intervalMs || TIME.TIMEOUT_CHECK_INTERVAL_MS; - this.maxConsecutiveErrors = config.maxConsecutiveErrors || 5; - this.circuitCooldownMs = config.circuitCooldownMs || 300_000; - this.enableAlerting = config.enableAlerting !== false; - } - start(intervalMs = TIME.TIMEOUT_CHECK_INTERVAL_MS) { - if (this.intervalId) { - logger.warn('[TimeoutChecker] Already running'); - return; - } - this.interval = intervalMs; - this.resetStatistics(); - this.intervalId = setInterval(() => { - this.checkWithCircuitBreaker().catch((err) => { - this.totalErrors++; - this.consecutiveErrors++; - this.lastErrorTime = Date.now(); - logger.error('[TimeoutChecker] Unhandled error in interval check', { - error: err instanceof Error ? err.message : String(err), - stack: err instanceof Error ? err.stack : undefined, - consecutiveErrors: this.consecutiveErrors, - circuitState: this.circuitState, - }); - if (this.consecutiveErrors >= this.maxConsecutiveErrors && - this.circuitState !== CircuitState.OPEN) { - this.openCircuit(); - } - }); - }, intervalMs); - logger.info('[TimeoutChecker] Started', { - intervalMs, - maxConsecutiveErrors: this.maxConsecutiveErrors, - circuitCooldownMs: this.circuitCooldownMs, - }); - } - stop() { - if (this.intervalId) { - clearInterval(this.intervalId); - this.intervalId = null; - logger.info('[TimeoutChecker] Stopped', { - statistics: this.getStatistics(), - }); - } - } - isRunning() { - return this.intervalId !== null; - } - getInterval() { - return this.interval; - } - getStatistics() { - return { - circuitState: this.circuitState, - consecutiveErrors: this.consecutiveErrors, - totalChecks: this.totalChecks, - totalErrors: this.totalErrors, - errorRate: this.totalChecks > 0 ? this.totalErrors / this.totalChecks : 0, - lastSuccessfulCheck: this.lastSuccessfulCheck || null, - }; - } - resetCircuit() { - this.circuitState = CircuitState.CLOSED; - this.consecutiveErrors = 0; - this.circuitOpenedAt = 0; - logger.info('[TimeoutChecker] Circuit manually reset to CLOSED'); - } - async checkWithCircuitBreaker() { - this.totalChecks++; - if (this.circuitState === CircuitState.OPEN) { - const now = Date.now(); - if (now - this.circuitOpenedAt >= this.circuitCooldownMs) { - this.circuitState = CircuitState.HALF_OPEN; - logger.info('[TimeoutChecker] Circuit transitioning to HALF_OPEN for recovery test'); - } - else { - logger.debug('[TimeoutChecker] Circuit is OPEN, skipping check', { - cooldownRemaining: Math.ceil((this.circuitCooldownMs - (now - this.circuitOpenedAt)) / 1000), - }); - return; - } - } - try { - await this.delegator.checkTimeouts(); - this.handleSuccess(); - } - catch (error) { - this.handleError(error); - } - } - handleSuccess() { - this.lastSuccessfulCheck = Date.now(); - if (this.circuitState === CircuitState.HALF_OPEN) { - this.circuitState = CircuitState.CLOSED; - logger.info('[TimeoutChecker] Circuit recovered - transitioning to CLOSED', { - previousErrors: this.consecutiveErrors, - }); - } - this.consecutiveErrors = 0; - logger.debug('[TimeoutChecker] Check completed successfully'); - } - handleError(error) { - this.totalErrors++; - this.consecutiveErrors++; - this.lastErrorTime = Date.now(); - const errorMessage = error instanceof Error ? error.message : String(error); - logger.error('[TimeoutChecker] Check failed', { - error: errorMessage, - consecutiveErrors: this.consecutiveErrors, - maxConsecutiveErrors: this.maxConsecutiveErrors, - circuitState: this.circuitState, - stack: error instanceof Error ? error.stack : undefined, - }); - if (this.consecutiveErrors >= this.maxConsecutiveErrors) { - this.openCircuit(); - } - } - openCircuit() { - if (this.circuitState === CircuitState.OPEN) { - return; - } - this.circuitState = CircuitState.OPEN; - this.circuitOpenedAt = Date.now(); - const alertMessage = formatErrorMessage(ErrorCodes.TIMEOUT_CHECKER_CIRCUIT_OPEN, this.consecutiveErrors, this.maxConsecutiveErrors); - logger.error('[TimeoutChecker] Circuit breaker OPENED', { - consecutiveErrors: this.consecutiveErrors, - maxConsecutiveErrors: this.maxConsecutiveErrors, - cooldownMs: this.circuitCooldownMs, - statistics: this.getStatistics(), - }); - if (this.enableAlerting) { - this.sendAlert(alertMessage); - } - } - sendAlert(message) { - logger.error('[TimeoutChecker] ALERT: Systematic failure detected', { - message, - statistics: this.getStatistics(), - timestamp: new Date().toISOString(), - }); - } - resetStatistics() { - this.totalChecks = 0; - this.totalErrors = 0; - this.consecutiveErrors = 0; - this.lastSuccessfulCheck = 0; - this.lastErrorTime = 0; - this.circuitState = CircuitState.CLOSED; - this.circuitOpenedAt = 0; - } -} -//# sourceMappingURL=TimeoutChecker.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/jobs/TimeoutChecker.js.map b/.claude-plugin/memesh/dist/a2a/jobs/TimeoutChecker.js.map deleted file mode 100644 index 5002dbc7..00000000 --- a/.claude-plugin/memesh/dist/a2a/jobs/TimeoutChecker.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"TimeoutChecker.js","sourceRoot":"","sources":["../../../src/a2a/jobs/TimeoutChecker.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/metrics/A2AMetrics.d.ts b/.claude-plugin/memesh/dist/a2a/metrics/A2AMetrics.d.ts deleted file mode 100644 index 5853e1ff..00000000 --- a/.claude-plugin/memesh/dist/a2a/metrics/A2AMetrics.d.ts +++ /dev/null @@ -1,38 +0,0 @@ -export type MetricType = 'counter' | 'gauge' | 'histogram'; -export interface MetricValue { - type: MetricType; - value: number; - labels: Record; - timestamp: number; -} -export declare class A2AMetrics { - private static instance; - private metrics; - private enabled; - private constructor(); - static getInstance(): A2AMetrics; - static resetInstance(): void; - incrementCounter(name: string, labels?: Record, value?: number): void; - setGauge(name: string, value: number, labels?: Record): void; - recordHistogram(name: string, value: number, labels?: Record): void; - getValue(name: string, labels?: Record): number | undefined; - getSnapshot(): Map; - clear(): void; - setEnabled(enabled: boolean): void; - private getKey; -} -export declare const METRIC_NAMES: { - readonly TASKS_SUBMITTED: "a2a.tasks.submitted"; - readonly TASKS_COMPLETED: "a2a.tasks.completed"; - readonly TASKS_FAILED: "a2a.tasks.failed"; - readonly TASKS_TIMEOUT: "a2a.tasks.timeout"; - readonly TASKS_CANCELED: "a2a.tasks.canceled"; - readonly TASK_DURATION_MS: "a2a.task.duration_ms"; - readonly QUEUE_SIZE: "a2a.queue.size"; - readonly QUEUE_DEPTH: "a2a.queue.depth"; - readonly HEARTBEAT_SUCCESS: "a2a.heartbeat.success"; - readonly HEARTBEAT_FAILURE: "a2a.heartbeat.failure"; - readonly AGENTS_ACTIVE: "a2a.agents.active"; - readonly AGENTS_STALE: "a2a.agents.stale"; -}; -//# sourceMappingURL=A2AMetrics.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/metrics/A2AMetrics.d.ts.map b/.claude-plugin/memesh/dist/a2a/metrics/A2AMetrics.d.ts.map deleted file mode 100644 index 018c861c..00000000 --- a/.claude-plugin/memesh/dist/a2a/metrics/A2AMetrics.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"A2AMetrics.d.ts","sourceRoot":"","sources":["../../../src/a2a/metrics/A2AMetrics.ts"],"names":[],"mappings":"AAeA,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;AAK3D,MAAM,WAAW,WAAW;IAE1B,IAAI,EAAE,UAAU,CAAC;IAEjB,KAAK,EAAE,MAAM,CAAC;IAEd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE/B,SAAS,EAAE,MAAM,CAAC;CACnB;AA4BD,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA2B;IAClD,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,OAAO,CAAU;IAEzB,OAAO;IAYP,MAAM,CAAC,WAAW,IAAI,UAAU;IAUhC,MAAM,CAAC,aAAa,IAAI,IAAI;IAiB5B,gBAAgB,CACd,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EACnC,KAAK,GAAE,MAAU,GAChB,IAAI;IAqDP,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAAG,IAAI;IAuChF,eAAe,CACb,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAClC,IAAI;IA0CP,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAAG,MAAM,GAAG,SAAS;IAU/E,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC;IAOvC,KAAK,IAAI,IAAI;IAQb,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAQlC,OAAO,CAAC,MAAM;CAQf;AAKD,eAAO,MAAM,YAAY;;;;;;;;;;;;;CAsBf,CAAC"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/metrics/A2AMetrics.js b/.claude-plugin/memesh/dist/a2a/metrics/A2AMetrics.js deleted file mode 100644 index 088bdb29..00000000 --- a/.claude-plugin/memesh/dist/a2a/metrics/A2AMetrics.js +++ /dev/null @@ -1,142 +0,0 @@ -import { logger } from '../../utils/logger.js'; -export class A2AMetrics { - static instance = null; - metrics; - enabled; - constructor() { - this.metrics = new Map(); - this.enabled = process.env.A2A_METRICS_ENABLED !== 'false'; - if (this.enabled) { - logger.info('[A2A Metrics] Metrics collection enabled'); - } - } - static getInstance() { - if (!A2AMetrics.instance) { - A2AMetrics.instance = new A2AMetrics(); - } - return A2AMetrics.instance; - } - static resetInstance() { - A2AMetrics.instance = null; - } - incrementCounter(name, labels = {}, value = 1) { - if (!this.enabled) - return; - if (!Number.isFinite(value)) { - logger.error('[A2A Metrics] Counter increment value must be finite', { - name, - value, - labels - }); - return; - } - if (value < 0) { - logger.error('[A2A Metrics] Counter increment value must be non-negative', { - name, - value, - labels - }); - return; - } - const key = this.getKey(name, labels); - const existing = this.metrics.get(key); - if (existing) { - existing.value += value; - existing.timestamp = Date.now(); - } - else { - this.metrics.set(key, { - type: 'counter', - value, - labels, - timestamp: Date.now(), - }); - } - logger.debug(`[A2A Metrics] Counter ${name} = ${this.metrics.get(key)?.value}`, labels); - } - setGauge(name, value, labels = {}) { - if (!this.enabled) - return; - if (!Number.isFinite(value)) { - logger.error('[A2A Metrics] Gauge value must be finite', { - name, - value, - labels - }); - return; - } - const key = this.getKey(name, labels); - this.metrics.set(key, { - type: 'gauge', - value, - labels, - timestamp: Date.now(), - }); - logger.debug(`[A2A Metrics] Gauge ${name} = ${value}`, labels); - } - recordHistogram(name, value, labels = {}) { - if (!this.enabled) - return; - if (!Number.isFinite(value)) { - logger.error('[A2A Metrics] Histogram value must be finite', { - name, - value, - labels - }); - return; - } - if (value < 0) { - logger.error('[A2A Metrics] Histogram value must be non-negative', { - name, - value, - labels - }); - return; - } - const key = this.getKey(name, labels); - this.metrics.set(key, { - type: 'histogram', - value, - labels, - timestamp: Date.now(), - }); - logger.debug(`[A2A Metrics] Histogram ${name} = ${value}`, labels); - } - getValue(name, labels = {}) { - const key = this.getKey(name, labels); - return this.metrics.get(key)?.value; - } - getSnapshot() { - return new Map(this.metrics); - } - clear() { - this.metrics.clear(); - logger.debug('[A2A Metrics] All metrics cleared'); - } - setEnabled(enabled) { - this.enabled = enabled; - logger.info(`[A2A Metrics] Metrics collection ${enabled ? 'enabled' : 'disabled'}`); - } - getKey(name, labels) { - const labelStr = Object.entries(labels) - .sort(([a], [b]) => a.localeCompare(b)) - .map(([k, v]) => `${k}=${v}`) - .join(','); - return labelStr ? `${name}{${labelStr}}` : name; - } -} -export const METRIC_NAMES = { - TASKS_SUBMITTED: 'a2a.tasks.submitted', - TASKS_COMPLETED: 'a2a.tasks.completed', - TASKS_FAILED: 'a2a.tasks.failed', - TASKS_TIMEOUT: 'a2a.tasks.timeout', - TASKS_CANCELED: 'a2a.tasks.canceled', - TASK_DURATION_MS: 'a2a.task.duration_ms', - QUEUE_SIZE: 'a2a.queue.size', - QUEUE_DEPTH: 'a2a.queue.depth', - HEARTBEAT_SUCCESS: 'a2a.heartbeat.success', - HEARTBEAT_FAILURE: 'a2a.heartbeat.failure', - AGENTS_ACTIVE: 'a2a.agents.active', - AGENTS_STALE: 'a2a.agents.stale', -}; -//# sourceMappingURL=A2AMetrics.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/metrics/A2AMetrics.js.map b/.claude-plugin/memesh/dist/a2a/metrics/A2AMetrics.js.map deleted file mode 100644 index c6badac3..00000000 --- a/.claude-plugin/memesh/dist/a2a/metrics/A2AMetrics.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"A2AMetrics.js","sourceRoot":"","sources":["../../../src/a2a/metrics/A2AMetrics.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/metrics/index.d.ts b/.claude-plugin/memesh/dist/a2a/metrics/index.d.ts deleted file mode 100644 index 91f44c7e..00000000 --- a/.claude-plugin/memesh/dist/a2a/metrics/index.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export { A2AMetrics, METRIC_NAMES } from './A2AMetrics.js'; -export type { MetricType, MetricValue } from './A2AMetrics.js'; -//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/metrics/index.d.ts.map b/.claude-plugin/memesh/dist/a2a/metrics/index.d.ts.map deleted file mode 100644 index 70cee6a6..00000000 --- a/.claude-plugin/memesh/dist/a2a/metrics/index.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/a2a/metrics/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/metrics/index.js b/.claude-plugin/memesh/dist/a2a/metrics/index.js deleted file mode 100644 index 57ae38a5..00000000 --- a/.claude-plugin/memesh/dist/a2a/metrics/index.js +++ /dev/null @@ -1,2 +0,0 @@ -export { A2AMetrics, METRIC_NAMES } from './A2AMetrics.js'; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/metrics/index.js.map b/.claude-plugin/memesh/dist/a2a/metrics/index.js.map deleted file mode 100644 index 3da6139b..00000000 --- a/.claude-plugin/memesh/dist/a2a/metrics/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/a2a/metrics/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/A2AServer.d.ts b/.claude-plugin/memesh/dist/a2a/server/A2AServer.d.ts deleted file mode 100644 index b5a0c6a0..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/A2AServer.d.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { TaskQueue } from '../storage/TaskQueue.js'; -import type { AgentCard } from '../types/index.js'; -export interface A2AServerConfig { - agentId: string; - agentCard: AgentCard; - port?: number; - portRange?: { - min: number; - max: number; - }; - heartbeatInterval?: number; -} -export declare class A2AServer { - private config; - private app; - private server; - private taskQueue; - private registry; - private routes; - private heartbeatTimer; - private port; - private delegator; - private timeoutChecker; - constructor(config: A2AServerConfig); - private createApp; - start(): Promise; - stop(): Promise; - getPort(): number; - getTaskQueue(): TaskQueue; - private findAvailablePort; - private isPortAvailable; - private startHeartbeat; -} -//# sourceMappingURL=A2AServer.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/A2AServer.d.ts.map b/.claude-plugin/memesh/dist/a2a/server/A2AServer.d.ts.map deleted file mode 100644 index 70bfe690..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/A2AServer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"A2AServer.d.ts","sourceRoot":"","sources":["../../../src/a2a/server/A2AServer.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAMpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAkCnD,MAAM,WAAW,eAAe;IAE9B,OAAO,EAAE,MAAM,CAAC;IAEhB,SAAS,EAAE,SAAS,CAAC;IAErB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,SAAS,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAEzC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAkCD,qBAAa,SAAS;IAgBR,OAAO,CAAC,MAAM;IAf1B,OAAO,CAAC,GAAG,CAAU;IACrB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,cAAc,CAAiB;gBAOnB,MAAM,EAAE,eAAe;IAY3C,OAAO,CAAC,SAAS;IAqFX,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAsExB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA0C3B,OAAO,IAAI,MAAM;IASjB,YAAY,IAAI,SAAS;YAUX,iBAAiB;YAgBjB,eAAe;IA2B7B,OAAO,CAAC,cAAc;CAQvB"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/A2AServer.js b/.claude-plugin/memesh/dist/a2a/server/A2AServer.js deleted file mode 100644 index 4252518b..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/A2AServer.js +++ /dev/null @@ -1,160 +0,0 @@ -import express from 'express'; -import { createServer } from 'net'; -import { logger } from '../../utils/logger.js'; -import { TaskQueue } from '../storage/TaskQueue.js'; -import { AgentRegistry, startAgentRegistryCleanup, stopAgentRegistryCleanup, } from '../storage/AgentRegistry.js'; -import { A2ARoutes } from './routes.js'; -import { errorHandler, requestLogger, corsMiddleware, jsonErrorHandler, } from './middleware.js'; -import { authenticateToken } from './middleware/auth.js'; -import { rateLimitMiddleware, startCleanup, stopCleanup, } from './middleware/rateLimit.js'; -import { requestTimeoutMiddleware } from './middleware/timeout.js'; -import { resourceProtectionMiddleware, startResourceProtectionCleanup, stopResourceProtectionCleanup, } from './middleware/resourceProtection.js'; -import { csrfTokenMiddleware, csrfProtection, startCsrfCleanup, stopCsrfCleanup, } from './middleware/csrf.js'; -import { MCPTaskDelegator } from '../delegator/MCPTaskDelegator.js'; -import { TimeoutChecker } from '../jobs/TimeoutChecker.js'; -import { TIME, NETWORK } from '../constants.js'; -import { tracingMiddleware, spanMiddleware } from '../../utils/tracing/index.js'; -export class A2AServer { - config; - app; - server = null; - taskQueue; - registry; - routes; - heartbeatTimer = null; - port = 0; - delegator; - timeoutChecker; - constructor(config) { - this.config = config; - this.taskQueue = new TaskQueue(config.agentId); - this.registry = AgentRegistry.getInstance(); - this.routes = new A2ARoutes(config.agentId, this.taskQueue, config.agentCard); - this.app = this.createApp(); - this.delegator = new MCPTaskDelegator(this.taskQueue, logger); - this.timeoutChecker = new TimeoutChecker(this.delegator); - this.routes.setDelegator(this.delegator); - } - createApp() { - const app = express(); - app.use(resourceProtectionMiddleware()); - app.use(express.json({ limit: '10mb' })); - app.use(corsMiddleware); - app.use(tracingMiddleware()); - app.use(requestTimeoutMiddleware()); - app.use(requestLogger); - app.use(csrfTokenMiddleware); - app.post('/a2a/send-message', authenticateToken, csrfProtection, rateLimitMiddleware, spanMiddleware('a2a.send-message'), this.routes.sendMessage); - app.get('/a2a/tasks/:taskId', authenticateToken, rateLimitMiddleware, spanMiddleware('a2a.get-task'), this.routes.getTask); - app.get('/a2a/tasks', authenticateToken, rateLimitMiddleware, spanMiddleware('a2a.list-tasks'), this.routes.listTasks); - app.post('/a2a/tasks/:taskId/cancel', authenticateToken, csrfProtection, rateLimitMiddleware, spanMiddleware('a2a.cancel-task'), this.routes.cancelTask); - app.get('/a2a/agent-card', spanMiddleware('a2a.agent-card'), this.routes.getAgentCard); - app.use(jsonErrorHandler); - app.use(errorHandler); - return app; - } - async start() { - const port = await this.findAvailablePort(); - this.port = port; - return new Promise((resolve, reject) => { - this.server = this.app.listen(port, () => { - logger.info('[A2A Server] Started', { port }); - const baseUrl = `http://localhost:${port}`; - this.registry.register({ - agentId: this.config.agentId, - baseUrl, - port, - capabilities: this.config.agentCard.capabilities, - }); - this.startHeartbeat(); - this.timeoutChecker.start(); - startCleanup(); - startResourceProtectionCleanup(); - startCsrfCleanup(); - startAgentRegistryCleanup(); - resolve(port); - }); - this.server.on('error', (err) => { - try { - this.taskQueue.close(); - } - catch (closeErr) { - logger.error('[A2A Server] Failed to close TaskQueue during startup error cleanup', { - originalError: err.message, - closeError: closeErr instanceof Error ? closeErr.message : String(closeErr), - }); - } - reject(err); - }); - }); - } - async stop() { - this.timeoutChecker.stop(); - stopCleanup(); - stopResourceProtectionCleanup(); - stopCsrfCleanup(); - stopAgentRegistryCleanup(); - if (this.heartbeatTimer) { - clearInterval(this.heartbeatTimer); - this.heartbeatTimer = null; - } - this.registry.deactivate(this.config.agentId); - if (this.server) { - return new Promise((resolve) => { - this.server.close(() => { - logger.info('[A2A Server] Stopped'); - this.taskQueue.close(); - resolve(); - }); - }); - } - else { - this.taskQueue.close(); - } - } - getPort() { - return this.port; - } - getTaskQueue() { - return this.taskQueue; - } - async findAvailablePort() { - if (this.config.port) { - return this.config.port; - } - const range = this.config.portRange || NETWORK.DEFAULT_PORT_RANGE; - for (let port = range.min; port <= range.max; port++) { - if (await this.isPortAvailable(port)) { - return port; - } - } - throw new Error(`No available port in range ${range.min}-${range.max}`); - } - async isPortAvailable(port) { - return new Promise((resolve) => { - const server = createServer(); - server.once('error', (err) => { - if (err.code === 'EADDRINUSE') { - resolve(false); - } - else { - resolve(false); - } - }); - server.once('listening', () => { - server.close(() => { - resolve(true); - }); - }); - server.listen(port, '127.0.0.1'); - }); - } - startHeartbeat() { - const interval = this.config.heartbeatInterval || TIME.HEARTBEAT_INTERVAL_MS; - this.heartbeatTimer = setInterval(() => { - this.registry.heartbeat(this.config.agentId); - logger.debug('[A2A Server] Heartbeat sent', { agentId: this.config.agentId }); - }, interval); - } -} -//# sourceMappingURL=A2AServer.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/A2AServer.js.map b/.claude-plugin/memesh/dist/a2a/server/A2AServer.js.map deleted file mode 100644 index febe3fa2..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/A2AServer.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"A2AServer.js","sourceRoot":"","sources":["../../../src/a2a/server/A2AServer.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/index.d.ts b/.claude-plugin/memesh/dist/a2a/server/index.d.ts deleted file mode 100644 index 3d156571..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/index.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export { A2AServer, type A2AServerConfig } from './A2AServer.js'; -export { A2ARoutes } from './routes.js'; -export { errorHandler, requestLogger, corsMiddleware, jsonErrorHandler, } from './middleware.js'; -//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/index.d.ts.map b/.claude-plugin/memesh/dist/a2a/server/index.d.ts.map deleted file mode 100644 index 9fe637cc..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/index.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/a2a/server/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EACL,YAAY,EACZ,aAAa,EACb,cAAc,EACd,gBAAgB,GACjB,MAAM,iBAAiB,CAAC"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/index.js b/.claude-plugin/memesh/dist/a2a/server/index.js deleted file mode 100644 index ded7c3f4..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/index.js +++ /dev/null @@ -1,4 +0,0 @@ -export { A2AServer } from './A2AServer.js'; -export { A2ARoutes } from './routes.js'; -export { errorHandler, requestLogger, corsMiddleware, jsonErrorHandler, } from './middleware.js'; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/index.js.map b/.claude-plugin/memesh/dist/a2a/server/index.js.map deleted file mode 100644 index c4d0de82..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/a2a/server/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAwB,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EACL,YAAY,EACZ,aAAa,EACb,cAAc,EACd,gBAAgB,GACjB,MAAM,iBAAiB,CAAC"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/middleware.d.ts b/.claude-plugin/memesh/dist/a2a/server/middleware.d.ts deleted file mode 100644 index 52b1405f..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/middleware.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import type { Request, Response, NextFunction } from 'express'; -export declare function errorHandler(err: Error, req: Request, res: Response, _next: NextFunction): void; -export declare function requestLogger(req: Request, res: Response, next: NextFunction): void; -export declare function corsMiddleware(req: Request, res: Response, next: NextFunction): void; -export declare function jsonErrorHandler(err: Error, _req: Request, res: Response, next: NextFunction): void; -//# sourceMappingURL=middleware.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/middleware.d.ts.map b/.claude-plugin/memesh/dist/a2a/server/middleware.d.ts.map deleted file mode 100644 index 455f9ccd..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/middleware.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/a2a/server/middleware.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAO/D,wBAAgB,YAAY,CAC1B,GAAG,EAAE,KAAK,EACV,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,YAAY,GAClB,IAAI,CAoBN;AAKD,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAcnF;AASD,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAgCpF;AAKD,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,KAAK,EACV,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,IAAI,CAeN"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/middleware.js b/.claude-plugin/memesh/dist/a2a/server/middleware.js deleted file mode 100644 index 6d1d99ab..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/middleware.js +++ /dev/null @@ -1,72 +0,0 @@ -import { logger } from '../../utils/logger.js'; -export function errorHandler(err, req, res, _next) { - logger.error('[A2A Server] Error', { - error: err.message, - stack: err.stack, - method: req.method, - path: req.path, - }); - const error = { - code: 'INTERNAL_ERROR', - message: err.message || 'Internal server error', - details: { - stack: process.env.NODE_ENV === 'development' ? err.stack : undefined, - }, - }; - res.status(500).json({ - success: false, - error, - }); -} -export function requestLogger(req, res, next) { - const start = Date.now(); - res.on('finish', () => { - const duration = Date.now() - start; - logger.info('[A2A Server] Request', { - method: req.method, - path: req.path, - statusCode: res.statusCode, - duration, - }); - }); - next(); -} -export function corsMiddleware(req, res, next) { - const origin = req.headers.origin; - const ALLOWED_LOCALHOST_PATTERNS = [ - 'http://localhost:', - 'http://127.0.0.1:', - 'https://localhost:', - 'https://127.0.0.1:', - ]; - const isValidLocalhost = origin && ALLOWED_LOCALHOST_PATTERNS.some((pattern) => origin.startsWith(pattern)); - if (isValidLocalhost) { - res.header('Access-Control-Allow-Origin', origin); - res.header('Access-Control-Allow-Credentials', 'true'); - } - res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS'); - res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization'); - if (req.method === 'OPTIONS') { - res.sendStatus(200); - } - else { - next(); - } -} -export function jsonErrorHandler(err, _req, res, next) { - if (err instanceof SyntaxError && 'body' in err) { - const error = { - code: 'INVALID_JSON', - message: 'Invalid JSON in request body', - details: { error: err.message }, - }; - res.status(400).json({ - success: false, - error, - }); - } - else { - next(err); - } -} -//# sourceMappingURL=middleware.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/middleware.js.map b/.claude-plugin/memesh/dist/a2a/server/middleware.js.map deleted file mode 100644 index f3757c3b..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/middleware.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/a2a/server/middleware.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/middleware/auth.d.ts b/.claude-plugin/memesh/dist/a2a/server/middleware/auth.d.ts deleted file mode 100644 index ae2e51d1..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/middleware/auth.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import type { Request, Response, NextFunction } from 'express'; -export interface AuthenticatedRequest extends Request { - agentId?: string; -} -export declare function authenticateToken(req: Request, res: Response, next: NextFunction): void; -//# sourceMappingURL=auth.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/middleware/auth.d.ts.map b/.claude-plugin/memesh/dist/a2a/server/middleware/auth.d.ts.map deleted file mode 100644 index be75026b..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/middleware/auth.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../src/a2a/server/middleware/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAO/D,MAAM,WAAW,oBAAqB,SAAQ,OAAO;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAqCD,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,IAAI,CA6DN"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/middleware/auth.js b/.claude-plugin/memesh/dist/a2a/server/middleware/auth.js deleted file mode 100644 index a5ad7f19..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/middleware/auth.js +++ /dev/null @@ -1,64 +0,0 @@ -import { timingSafeEqual, createHash } from 'crypto'; -import { logger } from '../../../utils/logger.js'; -function constantTimeCompare(a, b) { - if (a.length !== b.length) { - const dummy = 'x'.repeat(b.length); - const bufferA = Buffer.from(a.length >= b.length ? a : dummy, 'utf8'); - const bufferB = Buffer.from(b, 'utf8'); - if (bufferA.length !== bufferB.length) { - return false; - } - timingSafeEqual(bufferA, bufferB); - return false; - } - try { - const bufferA = Buffer.from(a, 'utf8'); - const bufferB = Buffer.from(b, 'utf8'); - return timingSafeEqual(bufferA, bufferB); - } - catch (error) { - logger.error('Error in constant-time comparison', { error }); - return false; - } -} -export function authenticateToken(req, res, next) { - const authHeader = req.headers['authorization']; - const token = authHeader && authHeader.split(' ')[1]; - const validToken = process.env.MEMESH_A2A_TOKEN; - if (!validToken) { - logger.error('MEMESH_A2A_TOKEN not configured'); - res.status(500).json({ - error: 'Server configuration error', - code: 'TOKEN_NOT_CONFIGURED' - }); - return; - } - if (!token) { - res.status(401).json({ - error: 'Authentication token required', - code: 'AUTH_MISSING' - }); - return; - } - if (!constantTimeCompare(token, validToken)) { - res.status(401).json({ - error: 'Invalid authentication token', - code: 'AUTH_INVALID' - }); - return; - } - const authReq = req; - const body = req.body; - if (body?.agentCard?.id) { - authReq.agentId = body.agentCard.id; - } - else { - const tokenHash = createHash('sha256') - .update(token) - .digest('hex') - .substring(0, 16); - authReq.agentId = `token-${tokenHash}`; - } - next(); -} -//# sourceMappingURL=auth.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/middleware/auth.js.map b/.claude-plugin/memesh/dist/a2a/server/middleware/auth.js.map deleted file mode 100644 index 0d2e56c4..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/middleware/auth.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../src/a2a/server/middleware/auth.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/middleware/csrf.d.ts b/.claude-plugin/memesh/dist/a2a/server/middleware/csrf.d.ts deleted file mode 100644 index 027dff77..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/middleware/csrf.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import type { Request, Response, NextFunction } from 'express'; -export declare function startCsrfCleanup(): void; -export declare function stopCsrfCleanup(): void; -export declare function clearCsrfTokens(): void; -export declare function csrfTokenMiddleware(req: Request, res: Response, next: NextFunction): void; -export declare function csrfProtection(req: Request, res: Response, next: NextFunction): void; -//# sourceMappingURL=csrf.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/middleware/csrf.d.ts.map b/.claude-plugin/memesh/dist/a2a/server/middleware/csrf.d.ts.map deleted file mode 100644 index ee5f6444..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/middleware/csrf.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"csrf.d.ts","sourceRoot":"","sources":["../../../../src/a2a/server/middleware/csrf.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAuL/D,wBAAgB,gBAAgB,IAAI,IAAI,CAWvC;AAKD,wBAAgB,eAAe,IAAI,IAAI,CAMtC;AAKD,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAaD,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,IAAI,CAoBN;AAoBD,wBAAgB,cAAc,CAC5B,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,IAAI,CAwGN"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/middleware/csrf.js b/.claude-plugin/memesh/dist/a2a/server/middleware/csrf.js deleted file mode 100644 index 5609d342..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/middleware/csrf.js +++ /dev/null @@ -1,169 +0,0 @@ -import { randomBytes } from 'crypto'; -import { logger } from '../../../utils/logger.js'; -import { LRUCache } from '../../../utils/lru-cache.js'; -const CONFIG_BOUNDS = { - maxTokens: { min: 100, max: 1_000_000, default: 10_000 }, - tokenExpirationMs: { min: 60_000, max: 86_400_000, default: 3_600_000 }, - evictionWarningCooldownMs: { min: 1_000, max: 3_600_000, default: 60_000 }, -}; -function getConfigValue(envVar, defaultValue, min, max) { - const envValue = process.env[envVar]; - if (!envValue) { - return defaultValue; - } - const parsed = parseInt(envValue, 10); - if (isNaN(parsed)) { - logger.warn(`[CSRF] Invalid ${envVar}="${envValue}" (not a number), using default ${defaultValue}`); - return defaultValue; - } - if (parsed < min || parsed > max) { - logger.warn(`[CSRF] Invalid ${envVar}=${parsed} (out of bounds [${min}, ${max}]), using default ${defaultValue}`); - return defaultValue; - } - return parsed; -} -const MAX_TOKENS = getConfigValue('CSRF_MAX_TOKENS', CONFIG_BOUNDS.maxTokens.default, CONFIG_BOUNDS.maxTokens.min, CONFIG_BOUNDS.maxTokens.max); -const TOKEN_EXPIRATION_MS = getConfigValue('CSRF_TOKEN_EXPIRATION_MS', CONFIG_BOUNDS.tokenExpirationMs.default, CONFIG_BOUNDS.tokenExpirationMs.min, CONFIG_BOUNDS.tokenExpirationMs.max); -const tokens = new LRUCache({ - maxSize: MAX_TOKENS, - ttl: TOKEN_EXPIRATION_MS, -}); -let lastEvictionWarningTime = 0; -const EVICTION_WARNING_COOLDOWN_MS = getConfigValue('CSRF_EVICTION_WARNING_COOLDOWN_MS', CONFIG_BOUNDS.evictionWarningCooldownMs.default, CONFIG_BOUNDS.evictionWarningCooldownMs.min, CONFIG_BOUNDS.evictionWarningCooldownMs.max); -logger.info('[CSRF] Configuration loaded', { - maxTokens: MAX_TOKENS, - tokenExpirationMs: TOKEN_EXPIRATION_MS, - evictionWarningCooldownMs: EVICTION_WARNING_COOLDOWN_MS, -}); -const SAFE_METHODS = ['GET', 'HEAD', 'OPTIONS']; -function generateToken() { - return randomBytes(32).toString('hex'); -} -function storeToken(token, expiration) { - const atCapacity = tokens.size() >= MAX_TOKENS; - tokens.set(token, expiration); - if (atCapacity) { - const now = Date.now(); - if (now - lastEvictionWarningTime > EVICTION_WARNING_COOLDOWN_MS) { - lastEvictionWarningTime = now; - logger.warn('[CSRF] Token cache at capacity, LRU eviction triggered', { - maxTokens: MAX_TOKENS, - currentSize: tokens.size(), - }); - } - } -} -function cleanupExpiredTokens() { - const cleaned = tokens.cleanupExpired(); - if (cleaned > 0) { - logger.debug('[CSRF] Cleaned up expired tokens', { count: cleaned }); - } -} -let cleanupInterval = null; -export function startCsrfCleanup() { - if (cleanupInterval) { - return; - } - cleanupInterval = setInterval(() => { - cleanupExpiredTokens(); - }, 10 * 60 * 1000); - logger.info('[CSRF] Token cleanup started'); -} -export function stopCsrfCleanup() { - if (cleanupInterval) { - clearInterval(cleanupInterval); - cleanupInterval = null; - logger.info('[CSRF] Token cleanup stopped'); - } -} -export function clearCsrfTokens() { - tokens.clear(); -} -export function csrfTokenMiddleware(req, res, next) { - const token = generateToken(); - const expiration = Date.now() + TOKEN_EXPIRATION_MS; - storeToken(token, expiration); - res.cookie('XSRF-TOKEN', token, { - httpOnly: false, - secure: process.env.NODE_ENV === 'production', - sameSite: 'strict', - maxAge: TOKEN_EXPIRATION_MS, - }); - res.setHeader('X-CSRF-Token', token); - next(); -} -export function csrfProtection(req, res, next) { - if (SAFE_METHODS.includes(req.method)) { - return next(); - } - const authHeader = req.header('Authorization'); - if (authHeader?.startsWith('Bearer ')) { - logger.debug('[CSRF] Skipping CSRF check for Bearer token authentication', { - method: req.method, - path: req.path, - }); - return next(); - } - const token = req.header('X-CSRF-Token') || - (req.body && req.body.csrf_token); - if (!token) { - logger.warn('[CSRF] Missing CSRF token', { - method: req.method, - path: req.path, - ip: req.ip, - }); - res.status(403).json({ - success: false, - error: { - code: 'CSRF_TOKEN_MISSING', - message: 'CSRF token required for this request', - }, - }); - return; - } - const entry = tokens.peek(token); - if (!entry) { - logger.warn('[CSRF] Invalid CSRF token', { - method: req.method, - path: req.path, - ip: req.ip, - }); - res.status(403).json({ - success: false, - error: { - code: 'CSRF_TOKEN_INVALID', - message: 'Invalid CSRF token', - }, - }); - return; - } - if (entry.value < Date.now()) { - logger.warn('[CSRF] Expired CSRF token', { - method: req.method, - path: req.path, - ip: req.ip, - }); - tokens.delete(token); - res.status(403).json({ - success: false, - error: { - code: 'CSRF_TOKEN_EXPIRED', - message: 'CSRF token expired, please refresh', - }, - }); - return; - } - tokens.delete(token); - const newToken = generateToken(); - const newExpiration = Date.now() + TOKEN_EXPIRATION_MS; - storeToken(newToken, newExpiration); - res.setHeader('X-CSRF-Token', newToken); - res.cookie('XSRF-TOKEN', newToken, { - httpOnly: false, - secure: process.env.NODE_ENV === 'production', - sameSite: 'strict', - maxAge: TOKEN_EXPIRATION_MS, - }); - next(); -} -//# sourceMappingURL=csrf.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/middleware/csrf.js.map b/.claude-plugin/memesh/dist/a2a/server/middleware/csrf.js.map deleted file mode 100644 index 37709386..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/middleware/csrf.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"csrf.js","sourceRoot":"","sources":["../../../../src/a2a/server/middleware/csrf.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/middleware/rateLimit.d.ts b/.claude-plugin/memesh/dist/a2a/server/middleware/rateLimit.d.ts deleted file mode 100644 index 89c966fe..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/middleware/rateLimit.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -import type { Response, NextFunction } from 'express'; -import type { RateLimitStats } from '../../types/rateLimit.js'; -import type { AuthenticatedRequest } from './auth.js'; -export declare function startCleanup(): void; -export declare function stopCleanup(): void; -export declare function getRateLimitStats(): RateLimitStats[]; -export declare function clearRateLimitData(): void; -export declare function rateLimitMiddleware(req: AuthenticatedRequest, res: Response, next: NextFunction): void; -//# sourceMappingURL=rateLimit.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/middleware/rateLimit.d.ts.map b/.claude-plugin/memesh/dist/a2a/server/middleware/rateLimit.d.ts.map deleted file mode 100644 index df2d49ea..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/middleware/rateLimit.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"rateLimit.d.ts","sourceRoot":"","sources":["../../../../src/a2a/server/middleware/rateLimit.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGtD,OAAO,KAAK,EAAe,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAoPtD,wBAAgB,YAAY,IAAI,IAAI,CASnC;AAKD,wBAAgB,WAAW,IAAI,IAAI,CAMlC;AAKD,wBAAgB,iBAAiB,IAAI,cAAc,EAAE,CAEpD;AAKD,wBAAgB,kBAAkB,IAAI,IAAI,CAGzC;AAiBD,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,oBAAoB,EACzB,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,IAAI,CA0CN"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/middleware/rateLimit.js b/.claude-plugin/memesh/dist/a2a/server/middleware/rateLimit.js deleted file mode 100644 index d46fd2f8..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/middleware/rateLimit.js +++ /dev/null @@ -1,192 +0,0 @@ -import { logger } from '../../../utils/logger.js'; -import { RATE_LIMITS, ENV_KEYS } from '../../constants.js'; -const buckets = new Map(); -const stats = new Map(); -let cleanupTimer = null; -const refillGuard = new Set(); -function getRateLimitConfig(endpoint) { - const envMap = { - '/a2a/send-message': ENV_KEYS.RATE_LIMIT_SEND_MESSAGE, - '/a2a/tasks/:taskId': ENV_KEYS.RATE_LIMIT_GET_TASK, - '/a2a/tasks': ENV_KEYS.RATE_LIMIT_LIST_TASKS, - '/a2a/tasks/:taskId/cancel': ENV_KEYS.RATE_LIMIT_CANCEL_TASK, - }; - const defaultMap = { - '/a2a/send-message': RATE_LIMITS.SEND_MESSAGE_RPM, - '/a2a/tasks/:taskId': RATE_LIMITS.GET_TASK_RPM, - '/a2a/tasks': RATE_LIMITS.LIST_TASKS_RPM, - '/a2a/tasks/:taskId/cancel': RATE_LIMITS.CANCEL_TASK_RPM, - }; - const envKey = envMap[endpoint]; - if (envKey && process.env[envKey]) { - const parsed = parseInt(process.env[envKey], 10); - if (!isNaN(parsed) && parsed > 0) { - return parsed; - } - } - if (defaultMap[endpoint]) { - return defaultMap[endpoint]; - } - if (process.env[ENV_KEYS.RATE_LIMIT_DEFAULT]) { - const parsed = parseInt(process.env[ENV_KEYS.RATE_LIMIT_DEFAULT], 10); - if (!isNaN(parsed) && parsed > 0) { - return parsed; - } - } - return RATE_LIMITS.DEFAULT_RPM; -} -function normalizeEndpoint(path) { - if (/^\/a2a\/tasks\/[^/]+$/.test(path)) { - return '/a2a/tasks/:taskId'; - } - if (/^\/a2a\/tasks\/[^/]+\/cancel$/.test(path)) { - return '/a2a/tasks/:taskId/cancel'; - } - return path; -} -function getBucket(agentId, endpoint) { - const key = `${agentId}:${endpoint}`; - let bucket = buckets.get(key); - if (!bucket) { - const maxTokens = getRateLimitConfig(endpoint); - const refillRate = maxTokens / 60_000; - bucket = { - tokens: maxTokens, - maxTokens, - lastRefill: Date.now(), - refillRate, - }; - buckets.set(key, bucket); - } - return bucket; -} -function refillTokens(key, bucket) { - if (refillGuard.has(key)) { - return; - } - refillGuard.add(key); - try { - const now = Date.now(); - const elapsed = now - bucket.lastRefill; - const tokensToAdd = elapsed * bucket.refillRate; - if (tokensToAdd > 0) { - bucket.tokens = Math.min(bucket.maxTokens, bucket.tokens + tokensToAdd); - bucket.lastRefill = now; - } - } - finally { - refillGuard.delete(key); - } -} -function tryConsume(key, bucket) { - refillTokens(key, bucket); - if (bucket.tokens >= 1) { - bucket.tokens -= 1; - return true; - } - return false; -} -function calculateRetryAfter(bucket) { - const tokensNeeded = 1 - bucket.tokens; - const msNeeded = tokensNeeded / bucket.refillRate; - return Math.ceil(msNeeded / 1000); -} -function updateStats(agentId, endpoint, exceeded) { - const key = `${agentId}:${endpoint}`; - let stat = stats.get(key); - if (!stat) { - stat = { - agentId, - endpoint, - limitExceeded: 0, - totalRequests: 0, - }; - stats.set(key, stat); - } - stat.totalRequests += 1; - if (exceeded) { - stat.limitExceeded += 1; - stat.lastLimitHit = Date.now(); - logger.warn('[Rate Limit] Limit exceeded', { - agentId, - endpoint, - totalExceeded: stat.limitExceeded, - totalRequests: stat.totalRequests, - }); - } -} -function cleanup() { - const now = Date.now(); - const expirationThreshold = 10 * 60_000; - for (const [key, bucket] of buckets.entries()) { - if (now - bucket.lastRefill > expirationThreshold) { - buckets.delete(key); - } - } - for (const [key, stat] of stats.entries()) { - if (stat.lastLimitHit && now - stat.lastLimitHit > expirationThreshold) { - stats.delete(key); - } - } - logger.debug('[Rate Limit] Cleanup completed', { - remainingBuckets: buckets.size, - remainingStats: stats.size, - }); -} -export function startCleanup() { - if (cleanupTimer) { - return; - } - cleanupTimer = setInterval(cleanup, RATE_LIMITS.CLEANUP_INTERVAL_MS); - logger.info('[Rate Limit] Cleanup started', { - intervalMs: RATE_LIMITS.CLEANUP_INTERVAL_MS, - }); -} -export function stopCleanup() { - if (cleanupTimer) { - clearInterval(cleanupTimer); - cleanupTimer = null; - logger.info('[Rate Limit] Cleanup stopped'); - } -} -export function getRateLimitStats() { - return Array.from(stats.values()); -} -export function clearRateLimitData() { - buckets.clear(); - stats.clear(); -} -export function rateLimitMiddleware(req, res, next) { - const agentId = req.agentId; - if (!agentId) { - logger.error('[Rate Limit] Missing agentId in authenticated request'); - res.status(500).json({ - success: false, - error: { - code: 'INTERNAL_ERROR', - message: 'Internal server error', - }, - }); - return; - } - const endpoint = normalizeEndpoint(req.path); - const key = `${agentId}:${endpoint}`; - const bucket = getBucket(agentId, endpoint); - const allowed = tryConsume(key, bucket); - updateStats(agentId, endpoint, !allowed); - if (!allowed) { - const retryAfter = calculateRetryAfter(bucket); - res.setHeader('Retry-After', retryAfter.toString()); - res.status(429).json({ - success: false, - error: { - code: 'RATE_LIMIT_EXCEEDED', - message: `Rate limit exceeded. Try again in ${retryAfter} seconds.`, - retryAfter, - }, - }); - return; - } - next(); -} -//# sourceMappingURL=rateLimit.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/middleware/rateLimit.js.map b/.claude-plugin/memesh/dist/a2a/server/middleware/rateLimit.js.map deleted file mode 100644 index 2931566c..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/middleware/rateLimit.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"rateLimit.js","sourceRoot":"","sources":["../../../../src/a2a/server/middleware/rateLimit.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/middleware/resourceProtection.d.ts b/.claude-plugin/memesh/dist/a2a/server/middleware/resourceProtection.d.ts deleted file mode 100644 index b95c32d3..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/middleware/resourceProtection.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import type { Request, Response, NextFunction } from 'express'; -export declare function startResourceProtectionCleanup(): void; -export declare function stopResourceProtectionCleanup(): void; -export declare function clearConnectionTracking(): void; -export declare function getConnectionStats(): { - totalIPs: number; - totalConnections: number; - topIPs: Array<{ - ip: string; - connections: number; - }>; -}; -export declare function connectionLimitMiddleware(): (req: Request, res: Response, next: NextFunction) => void; -export declare function payloadSizeLimitMiddleware(): (req: Request, res: Response, next: NextFunction) => void; -export declare function memoryPressureMiddleware(): (req: Request, res: Response, next: NextFunction) => void; -export declare function resourceProtectionMiddleware(): ((req: Request, res: Response, next: NextFunction) => void)[]; -//# sourceMappingURL=resourceProtection.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/middleware/resourceProtection.d.ts.map b/.claude-plugin/memesh/dist/a2a/server/middleware/resourceProtection.d.ts.map deleted file mode 100644 index 7159db10..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/middleware/resourceProtection.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"resourceProtection.d.ts","sourceRoot":"","sources":["../../../../src/a2a/server/middleware/resourceProtection.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAuI/D,wBAAgB,8BAA8B,IAAI,IAAI,CAWrD;AAKD,wBAAgB,6BAA6B,IAAI,IAAI,CAMpD;AAKD,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AAKD,wBAAgB,kBAAkB,IAAI;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpD,CAkBA;AAaD,wBAAgB,yBAAyB,KAI/B,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,KAAG,IAAI,CAyF/D;AAeD,wBAAgB,0BAA0B,KAIhC,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,KAAG,IAAI,CA2C/D;AAqBD,wBAAgB,wBAAwB,KAG9B,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,KAAG,IAAI,CAiC/D;AA4BD,wBAAgB,4BAA4B,WA5O7B,OAAO,OAAO,QAAQ,QAAQ,YAAY,KAAG,IAAI,IAkP/D"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/middleware/resourceProtection.js b/.claude-plugin/memesh/dist/a2a/server/middleware/resourceProtection.js deleted file mode 100644 index b70bbde4..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/middleware/resourceProtection.js +++ /dev/null @@ -1,258 +0,0 @@ -import v8 from 'v8'; -import { logger } from '../../../utils/logger.js'; -const connections = new Map(); -const DEFAULT_MAX_TRACKED_IPS = 10_000; -function getMaxTrackedIPs() { - const env = process.env.A2A_MAX_TRACKED_IPS; - if (!env) - return DEFAULT_MAX_TRACKED_IPS; - const parsed = parseInt(env, 10); - if (isNaN(parsed) || parsed <= 0 || parsed > 1_000_000) { - logger.warn(`Invalid A2A_MAX_TRACKED_IPS: ${env}, using default ${DEFAULT_MAX_TRACKED_IPS}`); - return DEFAULT_MAX_TRACKED_IPS; - } - return parsed; -} -let lastCapacityWarningTime = 0; -const CAPACITY_WARNING_COOLDOWN_MS = 60_000; -const DEFAULT_MAX_CONNECTIONS_PER_IP = 10; -const DEFAULT_MAX_PAYLOAD_SIZE_MB = 10; -const DEFAULT_CONNECTION_IDLE_TIMEOUT_MS = 5 * 60 * 1000; -const DEFAULT_MEMORY_PRESSURE_THRESHOLD = 85; -let cleanupTimer = null; -function getMaxConnectionsPerIP() { - const env = process.env.A2A_MAX_CONNECTIONS_PER_IP; - if (!env) - return DEFAULT_MAX_CONNECTIONS_PER_IP; - const parsed = parseInt(env, 10); - if (isNaN(parsed) || parsed <= 0) { - logger.warn(`Invalid A2A_MAX_CONNECTIONS_PER_IP: ${env}, using default ${DEFAULT_MAX_CONNECTIONS_PER_IP}`); - return DEFAULT_MAX_CONNECTIONS_PER_IP; - } - return parsed; -} -function getMaxPayloadSizeMB() { - const env = process.env.A2A_MAX_PAYLOAD_SIZE_MB; - if (!env) - return DEFAULT_MAX_PAYLOAD_SIZE_MB; - const parsed = parseInt(env, 10); - if (isNaN(parsed) || parsed <= 0 || parsed > 100) { - logger.warn(`Invalid A2A_MAX_PAYLOAD_SIZE_MB: ${env}, using default ${DEFAULT_MAX_PAYLOAD_SIZE_MB}`); - return DEFAULT_MAX_PAYLOAD_SIZE_MB; - } - return parsed; -} -function cleanupIdleConnections(aggressive = false) { - const now = Date.now(); - const timeout = aggressive - ? 30_000 - : DEFAULT_CONNECTION_IDLE_TIMEOUT_MS; - let cleaned = 0; - for (const [ip, data] of connections.entries()) { - if (data.count === 0 || now - data.lastActivity > timeout) { - connections.delete(ip); - cleaned++; - } - } - if (cleaned > 0) { - logger.debug('[Resource Protection] Cleaned up idle connections', { - count: cleaned, - remaining: connections.size, - aggressive, - }); - } - return cleaned; -} -export function startResourceProtectionCleanup() { - if (cleanupTimer) { - return; - } - cleanupTimer = setInterval(() => { - cleanupIdleConnections(); - }, 60 * 1000); - logger.info('[Resource Protection] Cleanup started'); -} -export function stopResourceProtectionCleanup() { - if (cleanupTimer) { - clearInterval(cleanupTimer); - cleanupTimer = null; - logger.info('[Resource Protection] Cleanup stopped'); - } -} -export function clearConnectionTracking() { - connections.clear(); -} -export function getConnectionStats() { - const totalIPs = connections.size; - let totalConnections = 0; - for (const data of connections.values()) { - totalConnections += data.count; - } - const topIPs = Array.from(connections.entries()) - .map(([ip, data]) => ({ ip, connections: data.count })) - .sort((a, b) => b.connections - a.connections) - .slice(0, 10); - return { - totalIPs, - totalConnections, - topIPs, - }; -} -export function connectionLimitMiddleware() { - const maxConnections = getMaxConnectionsPerIP(); - const maxTrackedIPs = getMaxTrackedIPs(); - return (req, res, next) => { - const ip = req.ip || req.socket.remoteAddress || 'unknown'; - const now = Date.now(); - let connectionData = connections.get(ip); - if (!connectionData) { - if (connections.size >= maxTrackedIPs) { - const cleaned = cleanupIdleConnections(true); - if (connections.size >= maxTrackedIPs) { - if (now - lastCapacityWarningTime > CAPACITY_WARNING_COOLDOWN_MS) { - lastCapacityWarningTime = now; - logger.warn('[Resource Protection] IP tracking capacity exhausted', { - maxTrackedIPs, - currentTrackedIPs: connections.size, - cleanedInAttempt: cleaned, - rejectedIP: ip, - }); - } - res.status(503).json({ - success: false, - error: { - code: 'SERVICE_OVERLOADED', - message: 'Service temporarily overloaded, please try again later', - }, - }); - return; - } - } - connectionData = { count: 0, lastActivity: now }; - connections.set(ip, connectionData); - } - if (connectionData.count >= maxConnections) { - logger.warn('[Resource Protection] Connection limit exceeded', { - ip, - currentConnections: connectionData.count, - maxConnections, - }); - res.status(503).json({ - success: false, - error: { - code: 'CONNECTION_LIMIT_EXCEEDED', - message: `Too many concurrent connections from your IP. Maximum: ${maxConnections}`, - }, - }); - return; - } - connectionData.count++; - connectionData.lastActivity = now; - let decremented = false; - const decrementConnection = () => { - if (decremented) - return; - decremented = true; - const data = connections.get(ip); - if (data) { - data.count = Math.max(0, data.count - 1); - data.lastActivity = Date.now(); - if (data.count === 0) { - connections.delete(ip); - } - } - }; - res.on('finish', decrementConnection); - res.on('close', decrementConnection); - next(); - }; -} -export function payloadSizeLimitMiddleware() { - const maxSizeMB = getMaxPayloadSizeMB(); - const maxSizeBytes = maxSizeMB * 1024 * 1024; - return (req, res, next) => { - const contentLength = req.get('content-length'); - if (contentLength) { - const size = parseInt(contentLength, 10); - if (isNaN(size)) { - logger.warn('[Resource Protection] Invalid Content-Length header', { - contentLength, - ip: req.ip, - }); - res.status(400).json({ - success: false, - error: { - code: 'INVALID_CONTENT_LENGTH', - message: 'Invalid Content-Length header', - }, - }); - return; - } - if (size > maxSizeBytes) { - logger.warn('[Resource Protection] Payload size exceeded', { - size, - maxSize: maxSizeBytes, - ip: req.ip, - }); - res.status(413).json({ - success: false, - error: { - code: 'PAYLOAD_TOO_LARGE', - message: `Request payload too large. Maximum: ${maxSizeMB}MB`, - maxSizeMB, - }, - }); - return; - } - } - next(); - }; -} -export function memoryPressureMiddleware() { - const threshold = getMemoryPressureThreshold(); - return (req, res, next) => { - const heapStats = v8.getHeapStatistics(); - const heapUsedMB = heapStats.used_heap_size / 1024 / 1024; - const heapLimitMB = heapStats.heap_size_limit / 1024 / 1024; - const heapUsagePercent = (heapUsedMB / heapLimitMB) * 100; - const memUsage = process.memoryUsage(); - const heapTotalMB = memUsage.heapTotal / 1024 / 1024; - if (heapUsagePercent > threshold) { - logger.warn('[Resource Protection] High memory pressure', { - heapUsedMB: heapUsedMB.toFixed(2), - heapLimitMB: heapLimitMB.toFixed(2), - heapTotalMB: heapTotalMB.toFixed(2), - heapUsagePercent: heapUsagePercent.toFixed(2), - threshold, - }); - res.status(503).json({ - success: false, - error: { - code: 'SERVICE_OVERLOADED', - message: 'Service temporarily overloaded, please try again later', - }, - }); - return; - } - next(); - }; -} -function getMemoryPressureThreshold() { - const env = process.env.A2A_MEMORY_PRESSURE_THRESHOLD; - if (!env) - return DEFAULT_MEMORY_PRESSURE_THRESHOLD; - const parsed = parseInt(env, 10); - if (isNaN(parsed) || parsed <= 0 || parsed > 100) { - logger.warn(`Invalid A2A_MEMORY_PRESSURE_THRESHOLD: ${env}, using default ${DEFAULT_MEMORY_PRESSURE_THRESHOLD}`); - return DEFAULT_MEMORY_PRESSURE_THRESHOLD; - } - return parsed; -} -export function resourceProtectionMiddleware() { - return [ - memoryPressureMiddleware(), - connectionLimitMiddleware(), - payloadSizeLimitMiddleware(), - ]; -} -//# sourceMappingURL=resourceProtection.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/middleware/resourceProtection.js.map b/.claude-plugin/memesh/dist/a2a/server/middleware/resourceProtection.js.map deleted file mode 100644 index 78bfad00..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/middleware/resourceProtection.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"resourceProtection.js","sourceRoot":"","sources":["../../../../src/a2a/server/middleware/resourceProtection.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/middleware/timeout.d.ts b/.claude-plugin/memesh/dist/a2a/server/middleware/timeout.d.ts deleted file mode 100644 index 86db61d5..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/middleware/timeout.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { Request, Response, NextFunction } from 'express'; -export declare function getTimeoutMs(): number; -export declare function requestTimeoutMiddleware(timeoutMs?: number): (req: Request, res: Response, next: NextFunction) => void; -//# sourceMappingURL=timeout.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/middleware/timeout.d.ts.map b/.claude-plugin/memesh/dist/a2a/server/middleware/timeout.d.ts.map deleted file mode 100644 index f5a024b7..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/middleware/timeout.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"timeout.d.ts","sourceRoot":"","sources":["../../../../src/a2a/server/middleware/timeout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAuB1D,wBAAgB,YAAY,IAAI,MAAM,CAiCrC;AAaD,wBAAgB,wBAAwB,CAAC,SAAS,GAAE,MAAuB,IACjE,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,KAAG,IAAI,CA2B/D"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/middleware/timeout.js b/.claude-plugin/memesh/dist/a2a/server/middleware/timeout.js deleted file mode 100644 index 6170b276..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/middleware/timeout.js +++ /dev/null @@ -1,56 +0,0 @@ -import { logger } from '../../../utils/logger.js'; -const DEFAULT_TIMEOUT_MS = 30_000; -const MIN_TIMEOUT_MS = 1_000; -const MAX_TIMEOUT_MS = 300_000; -export function getTimeoutMs() { - const envTimeout = process.env.A2A_REQUEST_TIMEOUT_MS; - if (!envTimeout) { - return DEFAULT_TIMEOUT_MS; - } - const parsed = parseInt(envTimeout, 10); - if (isNaN(parsed) || parsed <= 0) { - logger.warn('[Timeout] Invalid A2A_REQUEST_TIMEOUT_MS value, using default', { - provided: envTimeout, - default: DEFAULT_TIMEOUT_MS, - }); - return DEFAULT_TIMEOUT_MS; - } - if (parsed < MIN_TIMEOUT_MS) { - logger.warn('[Timeout] A2A_REQUEST_TIMEOUT_MS below minimum, clamping', { - provided: parsed, - minimum: MIN_TIMEOUT_MS, - }); - return MIN_TIMEOUT_MS; - } - if (parsed > MAX_TIMEOUT_MS) { - logger.warn('[Timeout] A2A_REQUEST_TIMEOUT_MS exceeds maximum, clamping', { - provided: parsed, - maximum: MAX_TIMEOUT_MS, - }); - return MAX_TIMEOUT_MS; - } - return parsed; -} -export function requestTimeoutMiddleware(timeoutMs = getTimeoutMs()) { - return (req, res, next) => { - const timer = setTimeout(() => { - if (!res.headersSent) { - res.status(408).json({ - success: false, - error: { - code: 'REQUEST_TIMEOUT', - message: `Request timeout after ${timeoutMs}ms` - } - }); - } - }, timeoutMs); - res.on('finish', () => { - clearTimeout(timer); - }); - res.on('close', () => { - clearTimeout(timer); - }); - next(); - }; -} -//# sourceMappingURL=timeout.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/middleware/timeout.js.map b/.claude-plugin/memesh/dist/a2a/server/middleware/timeout.js.map deleted file mode 100644 index 5e51d779..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/middleware/timeout.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"timeout.js","sourceRoot":"","sources":["../../../../src/a2a/server/middleware/timeout.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAKlD,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAKlC,MAAM,cAAc,GAAG,KAAK,CAAC;AAM7B,MAAM,cAAc,GAAG,OAAO,CAAC;AAM/B,MAAM,UAAU,YAAY;IAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;IACtD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACxC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,+DAA+D,EAAE;YAC3E,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE,kBAAkB;SAC5B,CAAC,CAAC;QACH,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAGD,IAAI,MAAM,GAAG,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,0DAA0D,EAAE;YACtE,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,cAAc;SACxB,CAAC,CAAC;QACH,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,IAAI,MAAM,GAAG,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,4DAA4D,EAAE;YACxE,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,cAAc;SACxB,CAAC,CAAC;QACH,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAaD,MAAM,UAAU,wBAAwB,CAAC,YAAoB,YAAY,EAAE;IACzE,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAQ,EAAE;QAE/D,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAE5B,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACnB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE;wBACL,IAAI,EAAE,iBAAiB;wBACvB,OAAO,EAAE,yBAAyB,SAAS,IAAI;qBAChD;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC,EAAE,SAAS,CAAC,CAAC;QAGd,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACpB,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QAGH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACnB,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/routes.d.ts b/.claude-plugin/memesh/dist/a2a/server/routes.d.ts deleted file mode 100644 index 322b2b1c..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/routes.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import type { Request, Response, NextFunction } from 'express'; -import type { AgentCard } from '../types/index.js'; -import { TaskQueue } from '../storage/TaskQueue.js'; -import type { MCPTaskDelegator } from '../delegator/MCPTaskDelegator.js'; -export declare class A2ARoutes { - private _agentId; - private taskQueue; - private agentCard; - private delegator; - constructor(_agentId: string, taskQueue: TaskQueue, agentCard: AgentCard); - setDelegator(delegator: MCPTaskDelegator): void; - sendMessage: (req: Request, res: Response, next: NextFunction) => Promise; - getTask: (req: Request, res: Response, next: NextFunction) => Promise; - listTasks: (req: Request, res: Response, next: NextFunction) => Promise; - getAgentCard: (_req: Request, res: Response, next: NextFunction) => Promise; - cancelTask: (req: Request, res: Response, next: NextFunction) => Promise; -} -//# sourceMappingURL=routes.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/routes.d.ts.map b/.claude-plugin/memesh/dist/a2a/server/routes.d.ts.map deleted file mode 100644 index a0b42528..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/routes.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../src/a2a/server/routes.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,KAAK,EAQV,SAAS,EACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAIpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,qBAAa,SAAS;IAIlB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,SAAS;IALnB,OAAO,CAAC,SAAS,CAAiC;gBAGxC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS;IAO9B,YAAY,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI;IAI/C,WAAW,GACT,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,MAAM,YAAY,KACjB,OAAO,CAAC,IAAI,CAAC,CAwDd;IAEF,OAAO,GACL,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,MAAM,YAAY,KACjB,OAAO,CAAC,IAAI,CAAC,CAiCd;IAEF,SAAS,GACP,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,MAAM,YAAY,KACjB,OAAO,CAAC,IAAI,CAAC,CAmCd;IAEF,YAAY,GACV,MAAM,OAAO,EACb,KAAK,QAAQ,EACb,MAAM,YAAY,KACjB,OAAO,CAAC,IAAI,CAAC,CAWd;IAEF,UAAU,GACR,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,MAAM,YAAY,KACjB,OAAO,CAAC,IAAI,CAAC,CAyCd;CACH"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/routes.js b/.claude-plugin/memesh/dist/a2a/server/routes.js deleted file mode 100644 index dbd38c6b..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/routes.js +++ /dev/null @@ -1,176 +0,0 @@ -import { validateSendMessageRequest } from './validation/index.js'; -import { logger } from '../../utils/logger.js'; -import { TaskStateConstants } from '../storage/inputValidation.js'; -export class A2ARoutes { - _agentId; - taskQueue; - agentCard; - delegator = null; - constructor(_agentId, taskQueue, agentCard) { - this._agentId = _agentId; - this.taskQueue = taskQueue; - this.agentCard = agentCard; - } - setDelegator(delegator) { - this.delegator = delegator; - } - sendMessage = async (req, res, next) => { - try { - const validationResult = validateSendMessageRequest(req.body); - if (!validationResult.success) { - logger.warn('SendMessage validation failed', { - errorCode: validationResult.error?.code, - detailsCount: validationResult.error?.details?.length, - }); - const error = { - code: validationResult.error?.code || 'VALIDATION_ERROR', - message: validationResult.error?.message || 'Request validation failed', - details: validationResult.error?.details, - }; - res.status(400).json({ success: false, error }); - return; - } - const request = validationResult.data; - let taskId = request.taskId; - if (!taskId) { - const task = this.taskQueue.createTask({ - name: 'Incoming A2A Task', - priority: 'normal', - initialMessage: { - role: request.message.role, - parts: request.message.parts, - }, - }); - taskId = task.id; - } - else { - this.taskQueue.addMessage({ - taskId, - role: request.message.role, - parts: request.message.parts, - }); - } - const response = { - taskId, - status: TaskStateConstants.SUBMITTED, - }; - const result = { - success: true, - data: response, - }; - res.status(200).json(result); - } - catch (err) { - next(err); - } - }; - getTask = async (req, res, next) => { - try { - const { taskId } = req.params; - if (!taskId) { - const error = { - code: 'INVALID_REQUEST', - message: 'Missing required parameter: taskId', - }; - res.status(400).json({ success: false, error }); - return; - } - const task = this.taskQueue.getTask(taskId); - if (!task) { - const error = { - code: 'NOT_FOUND', - message: `Task not found: ${taskId}`, - }; - res.status(404).json({ success: false, error }); - return; - } - const result = { - success: true, - data: task, - }; - res.status(200).json(result); - } - catch (err) { - next(err); - } - }; - listTasks = async (req, res, next) => { - try { - const { status, limit, offset } = req.query; - const filter = {}; - if (status) { - filter.state = status; - } - if (limit) { - const parsedLimit = parseInt(limit, 10); - if (!isNaN(parsedLimit) && parsedLimit > 0) { - filter.limit = parsedLimit; - } - } - if (offset) { - const parsedOffset = parseInt(offset, 10); - if (!isNaN(parsedOffset) && parsedOffset >= 0) { - filter.offset = parsedOffset; - } - } - const tasks = this.taskQueue.listTasks(filter); - const result = { - success: true, - data: tasks, - }; - res.status(200).json(result); - } - catch (err) { - next(err); - } - }; - getAgentCard = async (_req, res, next) => { - try { - const result = { - success: true, - data: this.agentCard, - }; - res.status(200).json(result); - } - catch (err) { - next(err); - } - }; - cancelTask = async (req, res, next) => { - try { - const { taskId } = req.params; - if (!taskId) { - const error = { - code: 'INVALID_REQUEST', - message: 'Missing required parameter: taskId', - }; - res.status(400).json({ success: false, error }); - return; - } - const updated = this.taskQueue.updateTaskStatus(taskId, { - state: TaskStateConstants.CANCELED, - }); - if (!updated) { - const error = { - code: 'NOT_FOUND', - message: `Task not found: ${taskId}`, - }; - res.status(404).json({ success: false, error }); - return; - } - if (this.delegator) { - await this.delegator.removeTask(taskId); - logger.info('[A2ARoutes] Task removed from delegator queue on cancel', { taskId }); - } - const result = { - success: true, - data: { taskId, status: TaskStateConstants.CANCELED }, - }; - res.status(200).json(result); - } - catch (err) { - next(err); - } - }; -} -//# sourceMappingURL=routes.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/routes.js.map b/.claude-plugin/memesh/dist/a2a/server/routes.js.map deleted file mode 100644 index 0e32ee8d..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/routes.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../src/a2a/server/routes.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/validation/index.d.ts b/.claude-plugin/memesh/dist/a2a/server/validation/index.d.ts deleted file mode 100644 index 46dc0a12..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/validation/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { SendMessageRequestSchema, MessagePartSchema, TextPartSchema, ImagePartSchema, ToolCallPartSchema, ToolResultPartSchema, validateSendMessageRequest, formatZodError, type ValidatedSendMessageRequest, type ValidationResult, type ValidationErrorDetail, } from './sendMessageSchema.js'; -//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/validation/index.d.ts.map b/.claude-plugin/memesh/dist/a2a/server/validation/index.d.ts.map deleted file mode 100644 index b18db769..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/validation/index.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/a2a/server/validation/index.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC1B,cAAc,EACd,KAAK,2BAA2B,EAChC,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,GAC3B,MAAM,wBAAwB,CAAC"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/validation/index.js b/.claude-plugin/memesh/dist/a2a/server/validation/index.js deleted file mode 100644 index 1bdc82e8..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/validation/index.js +++ /dev/null @@ -1,2 +0,0 @@ -export { SendMessageRequestSchema, MessagePartSchema, TextPartSchema, ImagePartSchema, ToolCallPartSchema, ToolResultPartSchema, validateSendMessageRequest, formatZodError, } from './sendMessageSchema.js'; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/validation/index.js.map b/.claude-plugin/memesh/dist/a2a/server/validation/index.js.map deleted file mode 100644 index 2242383f..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/validation/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/a2a/server/validation/index.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC1B,cAAc,GAIf,MAAM,wBAAwB,CAAC"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/validation/sendMessageSchema.d.ts b/.claude-plugin/memesh/dist/a2a/server/validation/sendMessageSchema.d.ts deleted file mode 100644 index 2a28a4f2..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/validation/sendMessageSchema.d.ts +++ /dev/null @@ -1,112 +0,0 @@ -import { z } from 'zod'; -export declare const TextPartSchema: z.ZodObject<{ - type: z.ZodLiteral<"text">; - text: z.ZodString; -}, z.core.$strip>; -export declare const ImagePartSchema: z.ZodObject<{ - type: z.ZodLiteral<"image">; - source: z.ZodDiscriminatedUnion<[z.ZodObject<{ - type: z.ZodLiteral<"url">; - url: z.ZodString; - data: z.ZodOptional; - mimeType: z.ZodOptional; - }, z.core.$strip>, z.ZodObject<{ - type: z.ZodLiteral<"base64">; - url: z.ZodOptional; - data: z.ZodString; - mimeType: z.ZodString; - }, z.core.$strip>], "type">; -}, z.core.$strip>; -export declare const ToolCallPartSchema: z.ZodObject<{ - type: z.ZodLiteral<"tool_call">; - id: z.ZodString; - name: z.ZodString; - input: z.ZodRecord; -}, z.core.$strip>; -export declare const ToolResultPartSchema: z.ZodObject<{ - type: z.ZodLiteral<"tool_result">; - toolCallId: z.ZodString; - content: z.ZodUnion]>; - isError: z.ZodOptional; -}, z.core.$strip>; -export declare const MessagePartSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ - type: z.ZodLiteral<"text">; - text: z.ZodString; -}, z.core.$strip>, z.ZodObject<{ - type: z.ZodLiteral<"image">; - source: z.ZodDiscriminatedUnion<[z.ZodObject<{ - type: z.ZodLiteral<"url">; - url: z.ZodString; - data: z.ZodOptional; - mimeType: z.ZodOptional; - }, z.core.$strip>, z.ZodObject<{ - type: z.ZodLiteral<"base64">; - url: z.ZodOptional; - data: z.ZodString; - mimeType: z.ZodString; - }, z.core.$strip>], "type">; -}, z.core.$strip>, z.ZodObject<{ - type: z.ZodLiteral<"tool_call">; - id: z.ZodString; - name: z.ZodString; - input: z.ZodRecord; -}, z.core.$strip>, z.ZodObject<{ - type: z.ZodLiteral<"tool_result">; - toolCallId: z.ZodString; - content: z.ZodUnion]>; - isError: z.ZodOptional; -}, z.core.$strip>], "type">; -export declare const SendMessageRequestSchema: z.ZodObject<{ - taskId: z.ZodOptional; - message: z.ZodObject<{ - role: z.ZodEnum<{ - user: "user"; - assistant: "assistant"; - }>; - parts: z.ZodArray; - text: z.ZodString; - }, z.core.$strip>, z.ZodObject<{ - type: z.ZodLiteral<"image">; - source: z.ZodDiscriminatedUnion<[z.ZodObject<{ - type: z.ZodLiteral<"url">; - url: z.ZodString; - data: z.ZodOptional; - mimeType: z.ZodOptional; - }, z.core.$strip>, z.ZodObject<{ - type: z.ZodLiteral<"base64">; - url: z.ZodOptional; - data: z.ZodString; - mimeType: z.ZodString; - }, z.core.$strip>], "type">; - }, z.core.$strip>, z.ZodObject<{ - type: z.ZodLiteral<"tool_call">; - id: z.ZodString; - name: z.ZodString; - input: z.ZodRecord; - }, z.core.$strip>, z.ZodObject<{ - type: z.ZodLiteral<"tool_result">; - toolCallId: z.ZodString; - content: z.ZodUnion]>; - isError: z.ZodOptional; - }, z.core.$strip>], "type">>; - }, z.core.$strip>; -}, z.core.$strip>; -export type ValidatedSendMessageRequest = z.infer; -export interface ValidationResult { - success: boolean; - data?: T; - error?: { - code: string; - message: string; - details?: ValidationErrorDetail[]; - }; -} -export interface ValidationErrorDetail { - path: string; - message: string; - code: string; -} -export declare function formatZodError(error: z.ZodError): ValidationResult; -export declare function validateSendMessageRequest(data: unknown): ValidationResult; -//# sourceMappingURL=sendMessageSchema.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/validation/sendMessageSchema.d.ts.map b/.claude-plugin/memesh/dist/a2a/server/validation/sendMessageSchema.d.ts.map deleted file mode 100644 index 917a4473..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/validation/sendMessageSchema.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"sendMessageSchema.d.ts","sourceRoot":"","sources":["../../../../src/a2a/server/validation/sendMessageSchema.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmBxB,eAAO,MAAM,cAAc;;;iBAMzB,CAAC;AAiDH,eAAO,MAAM,eAAe;;;;;;;;;;;;;iBAG1B,CAAC;AAKH,eAAO,MAAM,kBAAkB;;;;;iBAiB7B,CAAC;AAoBH,eAAO,MAAM,oBAAoB;;;;;iBAQ/B,CAAC;AAWH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;2BAK5B,CAAC;AAyBH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAMnC,CAAC;AAKH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAKnF,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,qBAAqB,EAAE,CAAC;KACnC,CAAC;CACH;AAKD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAQD,wBAAgB,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,CA0BzE;AAUD,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,OAAO,GACZ,gBAAgB,CAAC,2BAA2B,CAAC,CAW/C"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/validation/sendMessageSchema.js b/.claude-plugin/memesh/dist/a2a/server/validation/sendMessageSchema.js deleted file mode 100644 index 4eb226e3..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/validation/sendMessageSchema.js +++ /dev/null @@ -1,143 +0,0 @@ -import { z } from 'zod'; -const MAX_TEXT_LENGTH = 102400; -const MAX_PARTS_COUNT = 100; -const MAX_TOOL_NAME_LENGTH = 256; -const MAX_TOOL_ID_LENGTH = 256; -const MAX_TASK_ID_LENGTH = 256; -const MAX_URL_LENGTH = 2048; -const MAX_BASE64_LENGTH = 10485760; -const MAX_MIME_TYPE_LENGTH = 128; -const MAX_TOOL_INPUT_SIZE = 102400; -const MAX_TOOL_RESULT_SIZE = 1048576; -export const TextPartSchema = z.object({ - type: z.literal('text'), - text: z - .string() - .min(1, 'Text content cannot be empty') - .max(MAX_TEXT_LENGTH, `Text content too long (max ${MAX_TEXT_LENGTH} characters)`), -}); -const ImageSourceUrlSchema = z.object({ - type: z.literal('url'), - url: z - .string() - .min(1, 'URL cannot be empty') - .max(MAX_URL_LENGTH, `URL too long (max ${MAX_URL_LENGTH} characters)`) - .url('Invalid URL format'), - data: z.undefined().optional(), - mimeType: z - .string() - .max(MAX_MIME_TYPE_LENGTH, `MIME type too long (max ${MAX_MIME_TYPE_LENGTH} characters)`) - .regex(/^[a-z]+\/[a-z0-9.+-]+$/i, 'Invalid MIME type format') - .optional(), -}); -const ImageSourceBase64Schema = z.object({ - type: z.literal('base64'), - url: z.undefined().optional(), - data: z - .string() - .min(1, 'Base64 data cannot be empty') - .max(MAX_BASE64_LENGTH, `Base64 data too long (max ${MAX_BASE64_LENGTH} bytes)`) - .regex(/^[A-Za-z0-9+/]*={0,2}$/, 'Invalid base64 format'), - mimeType: z - .string() - .min(1, 'MIME type is required for base64 images') - .max(MAX_MIME_TYPE_LENGTH, `MIME type too long (max ${MAX_MIME_TYPE_LENGTH} characters)`) - .regex(/^image\/[a-z0-9.+-]+$/i, 'MIME type must be an image type'), -}); -const ImageSourceSchema = z.discriminatedUnion('type', [ - ImageSourceUrlSchema, - ImageSourceBase64Schema, -]); -export const ImagePartSchema = z.object({ - type: z.literal('image'), - source: ImageSourceSchema, -}); -export const ToolCallPartSchema = z.object({ - type: z.literal('tool_call'), - id: z - .string() - .min(1, 'Tool call ID cannot be empty') - .max(MAX_TOOL_ID_LENGTH, `Tool call ID too long (max ${MAX_TOOL_ID_LENGTH} characters)`), - name: z - .string() - .min(1, 'Tool name cannot be empty') - .max(MAX_TOOL_NAME_LENGTH, `Tool name too long (max ${MAX_TOOL_NAME_LENGTH} characters)`) - .regex(/^[a-zA-Z_][a-zA-Z0-9_-]*$/, 'Tool name must be a valid identifier'), - input: z - .record(z.string(), z.unknown()) - .refine((obj) => JSON.stringify(obj).length <= MAX_TOOL_INPUT_SIZE, `Tool input too large (max ${MAX_TOOL_INPUT_SIZE} bytes when serialized)`), -}); -const ToolResultContentSchema = z.union([ - z - .string() - .max(MAX_TOOL_RESULT_SIZE, `Tool result content too long (max ${MAX_TOOL_RESULT_SIZE} characters)`), - z - .record(z.string(), z.unknown()) - .refine((obj) => JSON.stringify(obj).length <= MAX_TOOL_RESULT_SIZE, `Tool result object too large (max ${MAX_TOOL_RESULT_SIZE} bytes when serialized)`), -]); -export const ToolResultPartSchema = z.object({ - type: z.literal('tool_result'), - toolCallId: z - .string() - .min(1, 'Tool call ID cannot be empty') - .max(MAX_TOOL_ID_LENGTH, `Tool call ID too long (max ${MAX_TOOL_ID_LENGTH} characters)`), - content: ToolResultContentSchema, - isError: z.boolean().optional(), -}); -export const MessagePartSchema = z.discriminatedUnion('type', [ - TextPartSchema, - ImagePartSchema, - ToolCallPartSchema, - ToolResultPartSchema, -]); -const MessageRoleSchema = z.enum(['user', 'assistant'], { - error: 'Role must be "user" or "assistant"', -}); -const MessageSchema = z.object({ - role: MessageRoleSchema, - parts: z - .array(MessagePartSchema) - .min(1, 'Message must have at least one part') - .max(MAX_PARTS_COUNT, `Too many message parts (max ${MAX_PARTS_COUNT})`), -}); -export const SendMessageRequestSchema = z.object({ - taskId: z - .string() - .max(MAX_TASK_ID_LENGTH, `Task ID too long (max ${MAX_TASK_ID_LENGTH} characters)`) - .optional(), - message: MessageSchema, -}); -export function formatZodError(error) { - const details = error.issues.map((issue) => ({ - path: issue.path.join('.') || 'root', - message: issue.message, - code: issue.code, - })); - const summaryMessages = details - .slice(0, 3) - .map((d) => `${d.path}: ${d.message}`) - .join('; '); - const additionalCount = details.length - 3; - const summary = additionalCount > 0 - ? `${summaryMessages}; and ${additionalCount} more error(s)` - : summaryMessages; - return { - success: false, - error: { - code: 'VALIDATION_ERROR', - message: `Request validation failed: ${summary}`, - details, - }, - }; -} -export function validateSendMessageRequest(data) { - const result = SendMessageRequestSchema.safeParse(data); - if (result.success) { - return { - success: true, - data: result.data, - }; - } - return formatZodError(result.error); -} -//# sourceMappingURL=sendMessageSchema.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/server/validation/sendMessageSchema.js.map b/.claude-plugin/memesh/dist/a2a/server/validation/sendMessageSchema.js.map deleted file mode 100644 index df991d82..00000000 --- a/.claude-plugin/memesh/dist/a2a/server/validation/sendMessageSchema.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"sendMessageSchema.js","sourceRoot":"","sources":["../../../../src/a2a/server/validation/sendMessageSchema.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/storage/AgentRegistry.d.ts b/.claude-plugin/memesh/dist/a2a/storage/AgentRegistry.d.ts deleted file mode 100644 index e763f035..00000000 --- a/.claude-plugin/memesh/dist/a2a/storage/AgentRegistry.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import type { AgentRegistryEntry, RegisterAgentParams } from '../types/index.js'; -export declare class AgentRegistry { - private db; - private static instance; - private static currentDbPath; - private preparedStatements; - private constructor(); - private getStatement; - static getInstance(dbPath?: string): AgentRegistry; - static resetInstance(): void; - static getCurrentDbPath(): string | undefined; - private initializeSchema; - register(params: RegisterAgentParams): AgentRegistryEntry; - get(agentId: string): AgentRegistryEntry | null; - listActive(): AgentRegistryEntry[]; - listAll(): AgentRegistryEntry[]; - heartbeat(agentId: string): boolean; - deactivate(agentId: string): boolean; - cleanupStale(staleThresholdMs?: number): number; - deleteStale(): number; - close(): void; - private rowToEntry; -} -export declare function startAgentRegistryCleanup(): void; -export declare function stopAgentRegistryCleanup(): void; -//# sourceMappingURL=AgentRegistry.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/storage/AgentRegistry.d.ts.map b/.claude-plugin/memesh/dist/a2a/storage/AgentRegistry.d.ts.map deleted file mode 100644 index 3e5320b8..00000000 --- a/.claude-plugin/memesh/dist/a2a/storage/AgentRegistry.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AgentRegistry.d.ts","sourceRoot":"","sources":["../../../src/a2a/storage/AgentRegistry.ts"],"names":[],"mappings":"AAiDA,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EAEpB,MAAM,mBAAmB,CAAC;AAkC3B,qBAAa,aAAa;IACxB,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA8B;IAErD,OAAO,CAAC,MAAM,CAAC,aAAa,CAAqB;IAKjD,OAAO,CAAC,kBAAkB,CAAkC;IAE5D,OAAO;IAiBP,OAAO,CAAC,YAAY;IAiCpB,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,aAAa;IA0ClD,MAAM,CAAC,aAAa,IAAI,IAAI;IAuB5B,MAAM,CAAC,gBAAgB,IAAI,MAAM,GAAG,SAAS;IAI7C,OAAO,CAAC,gBAAgB;IAMxB,QAAQ,CAAC,MAAM,EAAE,mBAAmB,GAAG,kBAAkB;IAgDzD,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI;IAa/C,UAAU,IAAI,kBAAkB,EAAE;IAWlC,OAAO,IAAI,kBAAkB,EAAE;IAW/B,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAanC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAapC,YAAY,CAAC,gBAAgB,GAAE,MAAsB,GAAG,MAAM;IAe9D,WAAW,IAAI,MAAM;IAyBrB,KAAK,IAAI,IAAI;IAMb,OAAO,CAAC,UAAU;CAcnB;AAsBD,wBAAgB,yBAAyB,IAAI,IAAI,CAyChD;AAWD,wBAAgB,wBAAwB,IAAI,IAAI,CAM/C"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/storage/AgentRegistry.js b/.claude-plugin/memesh/dist/a2a/storage/AgentRegistry.js deleted file mode 100644 index 453a4e47..00000000 --- a/.claude-plugin/memesh/dist/a2a/storage/AgentRegistry.js +++ /dev/null @@ -1,197 +0,0 @@ -import Database from 'better-sqlite3'; -import { readFileSync } from 'fs'; -import { join, dirname } from 'path'; -import { fileURLToPath } from 'url'; -import { logger } from '../../utils/logger.js'; -import { getDataPath } from '../../utils/PathResolver.js'; -const __filename = fileURLToPath(import.meta.url); -const __dirname = dirname(__filename); -function safeJsonParse(jsonString) { - if (!jsonString) - return null; - try { - return JSON.parse(jsonString); - } - catch (error) { - logger.error('[AgentRegistry] Invalid JSON data', { - error: error instanceof Error ? error.message : String(error), - jsonString: jsonString?.substring(0, 100), - }); - return null; - } -} -export class AgentRegistry { - db; - static instance = null; - static currentDbPath; - preparedStatements; - constructor(dbPath) { - const path = dbPath || getDataPath('a2a-registry.db'); - this.db = new Database(path); - this.preparedStatements = new Map(); - this.initializeSchema(); - } - getStatement(key, sql) { - let stmt = this.preparedStatements.get(key); - if (!stmt) { - stmt = this.db.prepare(sql); - this.preparedStatements.set(key, stmt); - } - return stmt; - } - static getInstance(dbPath) { - if (!AgentRegistry.instance) { - const resolvedPath = dbPath || getDataPath('a2a-registry.db'); - AgentRegistry.currentDbPath = resolvedPath; - AgentRegistry.instance = new AgentRegistry(resolvedPath); - return AgentRegistry.instance; - } - if (dbPath !== undefined) { - const resolvedNewPath = dbPath; - if (resolvedNewPath !== AgentRegistry.currentDbPath) { - throw new Error(`AgentRegistry singleton already exists with path "${AgentRegistry.currentDbPath}". ` + - `Cannot create with different path "${resolvedNewPath}". ` + - `Call AgentRegistry.resetInstance() first if you need a different database.`); - } - } - return AgentRegistry.instance; - } - static resetInstance() { - if (AgentRegistry.instance) { - try { - AgentRegistry.instance.preparedStatements.clear(); - AgentRegistry.instance.db.close(); - } - catch (error) { - logger.warn('[AgentRegistry] Error closing database during reset', { - error: error instanceof Error ? error.message : String(error), - }); - } - AgentRegistry.instance = null; - AgentRegistry.currentDbPath = undefined; - } - } - static getCurrentDbPath() { - return AgentRegistry.currentDbPath; - } - initializeSchema() { - const schemaPath = join(__dirname, 'registry-schemas.sql'); - const schema = readFileSync(schemaPath, 'utf-8'); - this.db.exec(schema); - } - register(params) { - const now = new Date().toISOString(); - const existing = this.get(params.agentId); - if (existing) { - const stmt = this.getStatement('updateAgent', `UPDATE agents - SET base_url = ?, port = ?, status = 'active', last_heartbeat = ?, - capabilities = ?, metadata = ?, updated_at = ? - WHERE agent_id = ?`); - stmt.run(params.baseUrl, params.port, now, params.capabilities ? JSON.stringify(params.capabilities) : null, params.metadata ? JSON.stringify(params.metadata) : null, now, params.agentId); - } - else { - const stmt = this.getStatement('insertAgent', `INSERT INTO agents (agent_id, base_url, port, status, last_heartbeat, - capabilities, metadata, created_at, updated_at) - VALUES (?, ?, ?, 'active', ?, ?, ?, ?, ?)`); - stmt.run(params.agentId, params.baseUrl, params.port, now, params.capabilities ? JSON.stringify(params.capabilities) : null, params.metadata ? JSON.stringify(params.metadata) : null, now, now); - } - return this.get(params.agentId); - } - get(agentId) { - const stmt = this.getStatement('getAgent', 'SELECT * FROM agents WHERE agent_id = ?'); - const row = stmt.get(agentId); - if (!row) - return null; - return this.rowToEntry(row); - } - listActive() { - const stmt = this.getStatement('listActiveAgents', "SELECT * FROM agents WHERE status = 'active' ORDER BY last_heartbeat DESC"); - const rows = stmt.all(); - return rows.map((row) => this.rowToEntry(row)); - } - listAll() { - const stmt = this.getStatement('listAllAgents', 'SELECT * FROM agents ORDER BY last_heartbeat DESC'); - const rows = stmt.all(); - return rows.map((row) => this.rowToEntry(row)); - } - heartbeat(agentId) { - const now = new Date().toISOString(); - const stmt = this.getStatement('heartbeat', "UPDATE agents SET last_heartbeat = ?, status = 'active', updated_at = ? WHERE agent_id = ?"); - const result = stmt.run(now, now, agentId); - return result.changes > 0; - } - deactivate(agentId) { - const now = new Date().toISOString(); - const stmt = this.getStatement('deactivate', "UPDATE agents SET status = 'inactive', updated_at = ? WHERE agent_id = ?"); - const result = stmt.run(now, agentId); - return result.changes > 0; - } - cleanupStale(staleThresholdMs = 5 * 60 * 1000) { - const threshold = new Date(Date.now() - staleThresholdMs).toISOString(); - const now = new Date().toISOString(); - const stmt = this.getStatement('cleanupStale', "UPDATE agents SET status = 'stale', updated_at = ? WHERE last_heartbeat < ? AND status IN ('active', 'inactive')"); - const result = stmt.run(now, threshold); - return result.changes; - } - deleteStale() { - const stmt = this.getStatement('deleteStale', "DELETE FROM agents WHERE status = 'stale'"); - const result = stmt.run(); - return result.changes; - } - close() { - AgentRegistry.resetInstance(); - } - rowToEntry(row) { - const capabilities = safeJsonParse(row.capabilities); - const metadata = safeJsonParse(row.metadata); - return { - agentId: row.agent_id, - baseUrl: row.base_url, - port: row.port, - status: row.status, - lastHeartbeat: row.last_heartbeat, - capabilities: capabilities || undefined, - metadata: metadata || undefined, - }; - } -} -let cleanupTimer = null; -const DEFAULT_CLEANUP_INTERVAL_MS = 5 * 60 * 1000; -export function startAgentRegistryCleanup() { - if (cleanupTimer) { - return; - } - const intervalMs = parseInt(process.env.AGENT_REGISTRY_CLEANUP_INTERVAL_MS || '', 10) || - DEFAULT_CLEANUP_INTERVAL_MS; - const registry = AgentRegistry.getInstance(); - const cleanup = () => { - try { - const markedStale = registry.cleanupStale(5 * 60 * 1000); - const deleted = registry.deleteStale(); - if (markedStale > 0 || deleted > 0) { - logger.info('[Agent Registry] Cleanup completed', { - markedStale, - deleted, - }); - } - } - catch (error) { - logger.error('[Agent Registry] Cleanup failed', { - error: error instanceof Error ? error.message : String(error), - }); - } - }; - cleanup(); - cleanupTimer = setInterval(cleanup, intervalMs); - logger.info('[Agent Registry] Periodic cleanup started', { - intervalMs, - }); -} -export function stopAgentRegistryCleanup() { - if (cleanupTimer) { - clearInterval(cleanupTimer); - cleanupTimer = null; - logger.info('[Agent Registry] Periodic cleanup stopped'); - } -} -//# sourceMappingURL=AgentRegistry.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/storage/AgentRegistry.js.map b/.claude-plugin/memesh/dist/a2a/storage/AgentRegistry.js.map deleted file mode 100644 index fe646023..00000000 --- a/.claude-plugin/memesh/dist/a2a/storage/AgentRegistry.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AgentRegistry.js","sourceRoot":"","sources":["../../../src/a2a/storage/AgentRegistry.ts"],"names":[],"mappings":"AA2CA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAO1D,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAKtC,SAAS,aAAa,CAAI,UAAqC;IAC7D,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAM,CAAC;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE;YAChD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC7D,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;SAC1C,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAeD,MAAM,OAAO,aAAa;IAChB,EAAE,CAAoB;IACtB,MAAM,CAAC,QAAQ,GAAyB,IAAI,CAAC;IAE7C,MAAM,CAAC,aAAa,CAAqB;IAKzC,kBAAkB,CAAkC;IAE5D,YAAoB,MAAe;QAEjC,MAAM,IAAI,GAAG,MAAM,IAAI,WAAW,CAAC,iBAAiB,CAAC,CAAC;QAEtD,IAAI,CAAC,EAAE,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,EAAE,CAAC;QACpC,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAUO,YAAY,CAAC,GAAW,EAAE,GAAW;QAC3C,IAAI,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IA0BD,MAAM,CAAC,WAAW,CAAC,MAAe;QAChC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YAE5B,MAAM,YAAY,GAAG,MAAM,IAAI,WAAW,CAAC,iBAAiB,CAAC,CAAC;YAC9D,aAAa,CAAC,aAAa,GAAG,YAAY,CAAC;YAC3C,aAAa,CAAC,QAAQ,GAAG,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC;YACzD,OAAO,aAAa,CAAC,QAAQ,CAAC;QAChC,CAAC;QAGD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,eAAe,GAAG,MAAM,CAAC;YAC/B,IAAI,eAAe,KAAK,aAAa,CAAC,aAAa,EAAE,CAAC;gBACpD,MAAM,IAAI,KAAK,CACb,qDAAqD,aAAa,CAAC,aAAa,KAAK;oBACnF,sCAAsC,eAAe,KAAK;oBAC1D,4EAA4E,CAC/E,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,aAAa,CAAC,QAAQ,CAAC;IAChC,CAAC;IAoBD,MAAM,CAAC,aAAa;QAClB,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC;gBAEH,aAAa,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;gBAClD,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YACpC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAEf,MAAM,CAAC,IAAI,CAAC,qDAAqD,EAAE;oBACjE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC,CAAC;YACL,CAAC;YACD,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC;YAC9B,aAAa,CAAC,aAAa,GAAG,SAAS,CAAC;QAC1C,CAAC;IACH,CAAC;IAQD,MAAM,CAAC,gBAAgB;QACrB,OAAO,aAAa,CAAC,aAAa,CAAC;IACrC,CAAC;IAEO,gBAAgB;QACtB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAED,QAAQ,CAAC,MAA2B;QAClC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAErC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE1C,IAAI,QAAQ,EAAE,CAAC;YAEb,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAC5B,aAAa,EACb;;;4BAGoB,CACrB,CAAC;YAEF,IAAI,CAAC,GAAG,CACN,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,IAAI,EACX,GAAG,EACH,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAChE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EACxD,GAAG,EACH,MAAM,CAAC,OAAO,CACf,CAAC;QACJ,CAAC;aAAM,CAAC;YAEN,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAC5B,aAAa,EACb;;mDAE2C,CAC5C,CAAC;YAEF,IAAI,CAAC,GAAG,CACN,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,IAAI,EACX,GAAG,EACH,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAChE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EACxD,GAAG,EACH,GAAG,CACJ,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAE,CAAC;IACnC,CAAC;IAED,GAAG,CAAC,OAAe;QAEjB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAC5B,UAAU,EACV,yCAAyC,CAC1C,CAAC;QAEF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAyB,CAAC;QACtD,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QAEtB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,UAAU;QAER,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAC5B,kBAAkB,EAClB,2EAA2E,CAC5E,CAAC;QAEF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAgB,CAAC;QACtC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,OAAO;QAEL,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAC5B,eAAe,EACf,mDAAmD,CACpD,CAAC;QAEF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAgB,CAAC;QACtC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,SAAS,CAAC,OAAe;QACvB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAGrC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAC5B,WAAW,EACX,4FAA4F,CAC7F,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAC3C,OAAO,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,UAAU,CAAC,OAAe;QACxB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAGrC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAC5B,YAAY,EACZ,0EAA0E,CAC3E,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACtC,OAAO,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,YAAY,CAAC,mBAA2B,CAAC,GAAG,EAAE,GAAG,IAAI;QACnD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC;QACxE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAIrC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAC5B,cAAc,EACd,kHAAkH,CACnH,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACxC,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,WAAW;QAET,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAC5B,aAAa,EACb,2CAA2C,CAC5C,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAgBD,KAAK;QAGH,aAAa,CAAC,aAAa,EAAE,CAAC;IAChC,CAAC;IAEO,UAAU,CAAC,GAAa;QAC9B,MAAM,YAAY,GAAG,aAAa,CAAoB,GAAG,CAAC,YAAY,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAG,aAAa,CAA0B,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEtE,OAAO;YACL,OAAO,EAAE,GAAG,CAAC,QAAQ;YACrB,OAAO,EAAE,GAAG,CAAC,QAAQ;YACrB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,MAAM,EAAE,GAAG,CAAC,MAAyC;YACrD,aAAa,EAAE,GAAG,CAAC,cAAc;YACjC,YAAY,EAAE,YAAY,IAAI,SAAS;YACvC,QAAQ,EAAE,QAAQ,IAAI,SAAS;SAChC,CAAC;IACJ,CAAC;;AAMH,IAAI,YAAY,GAA0B,IAAI,CAAC;AAK/C,MAAM,2BAA2B,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAYlD,MAAM,UAAU,yBAAyB;IACvC,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GACd,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,EAAE,EAAE,EAAE,CAAC;QAClE,2BAA2B,CAAC;IAE9B,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;IAE7C,MAAM,OAAO,GAAG,GAAS,EAAE;QACzB,IAAI,CAAC;YAEH,MAAM,WAAW,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;YAGzD,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;YAEvC,IAAI,WAAW,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE;oBAChD,WAAW;oBACX,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE;gBAC9C,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;IAGF,OAAO,EAAE,CAAC;IAGV,YAAY,GAAG,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAEhD,MAAM,CAAC,IAAI,CAAC,2CAA2C,EAAE;QACvD,UAAU;KACX,CAAC,CAAC;AACL,CAAC;AAWD,MAAM,UAAU,wBAAwB;IACtC,IAAI,YAAY,EAAE,CAAC;QACjB,aAAa,CAAC,YAAY,CAAC,CAAC;QAC5B,YAAY,GAAG,IAAI,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/storage/TaskQueue.d.ts b/.claude-plugin/memesh/dist/a2a/storage/TaskQueue.d.ts deleted file mode 100644 index df641e8f..00000000 --- a/.claude-plugin/memesh/dist/a2a/storage/TaskQueue.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -import type { Task, TaskFilter, TaskStatus, CreateTaskParams, UpdateTaskParams, Message, AddMessageParams, MessageCreated, Artifact } from '../types/index.js'; -export declare class TaskQueue { - private db; - private preparedStatements; - private isClosed; - constructor(agentId: string, dbPath?: string); - private initializeSchema; - private getStatement; - createTask(params: CreateTaskParams): Task; - getTask(taskId: string): Task | null; - listTasks(filter?: TaskFilter): TaskStatus[]; - updateTaskStatus(taskId: string, params: UpdateTaskParams): boolean; - addMessage(params: AddMessageParams): MessageCreated; - getMessages(taskId: string): Message[]; - addArtifact(params: { - taskId: string; - type: string; - name?: string; - content: string | Buffer; - encoding?: 'utf-8' | 'base64'; - metadata?: Record; - }): string; - getArtifacts(taskId: string): Artifact[]; - close(): void; - private rowToTask; -} -//# sourceMappingURL=TaskQueue.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/storage/TaskQueue.d.ts.map b/.claude-plugin/memesh/dist/a2a/storage/TaskQueue.d.ts.map deleted file mode 100644 index e8c8834b..00000000 --- a/.claude-plugin/memesh/dist/a2a/storage/TaskQueue.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"TaskQueue.d.ts","sourceRoot":"","sources":["../../../src/a2a/storage/TaskQueue.ts"],"names":[],"mappings":"AA2CA,OAAO,KAAK,EACV,IAAI,EAGJ,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,OAAO,EACP,gBAAgB,EAChB,cAAc,EACd,QAAQ,EAET,MAAM,mBAAmB,CAAC;AAyF3B,qBAAa,SAAS;IACpB,OAAO,CAAC,EAAE,CAAoB;IAE9B,OAAO,CAAC,kBAAkB,CAAkC;IAE5D,OAAO,CAAC,QAAQ,CAAS;gBAEb,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IA8B5C,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,YAAY;IASpB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAiD1C,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IA4BpC,SAAS,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE;IA0H5C,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO;IA8CnE,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,cAAc;IA6BpD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,EAAE;IAsBtC,WAAW,CAAC,MAAM,EAAE;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;QACzB,QAAQ,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;QAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GAAG,MAAM;IAsCV,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE;IAyBxC,KAAK,IAAI,IAAI;IAWb,OAAO,CAAC,SAAS;CAkBlB"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/storage/TaskQueue.js b/.claude-plugin/memesh/dist/a2a/storage/TaskQueue.js deleted file mode 100644 index 7061a080..00000000 --- a/.claude-plugin/memesh/dist/a2a/storage/TaskQueue.js +++ /dev/null @@ -1,339 +0,0 @@ -import Database from 'better-sqlite3'; -import { readFileSync } from 'fs'; -import { join, dirname } from 'path'; -import { fileURLToPath } from 'url'; -import { v4 as uuidv4 } from 'uuid'; -import { logger } from '../../utils/logger.js'; -import { getDataPath } from '../../utils/PathResolver.js'; -import { validateArraySize, validateTaskStates, validateTaskPriorities, validatePositiveInteger, validateISOTimestamp, } from './inputValidation.js'; -const __filename = fileURLToPath(import.meta.url); -const __dirname = dirname(__filename); -function assertPlaceholderParamMatch(query, params, context) { - const stripped = query.replace(/'[^']*'|"[^"]*"/g, ''); - const placeholderCount = (stripped.match(/\?/g) || []).length; - if (placeholderCount !== params.length) { - throw new Error(`[TaskQueue] Placeholder/parameter count mismatch in ${context}: ` + - `query has ${placeholderCount} placeholder(s) but ${params.length} parameter(s) were provided`); - } -} -function safeJsonParse(jsonString) { - if (!jsonString) - return null; - try { - return JSON.parse(jsonString); - } - catch (error) { - logger.error('[TaskQueue] Invalid JSON data', { - error: error instanceof Error ? error.message : String(error), - jsonString: jsonString?.substring(0, 100), - }); - return null; - } -} -export class TaskQueue { - db; - preparedStatements; - isClosed = false; - constructor(agentId, dbPath) { - const path = dbPath || getDataPath(`a2a-tasks-${agentId}.db`); - this.db = new Database(path); - this.preparedStatements = new Map(); - const BUSY_TIMEOUT_BOUNDS = { min: 1000, max: 60000, default: 5000 }; - let busyTimeoutMs = parseInt(process.env.DB_BUSY_TIMEOUT_MS || String(BUSY_TIMEOUT_BOUNDS.default), 10); - if (Number.isNaN(busyTimeoutMs)) { - logger.warn(`[TaskQueue] Invalid (NaN) DB_BUSY_TIMEOUT_MS, using default ${BUSY_TIMEOUT_BOUNDS.default}ms`); - busyTimeoutMs = BUSY_TIMEOUT_BOUNDS.default; - } - else if (busyTimeoutMs < BUSY_TIMEOUT_BOUNDS.min) { - logger.warn(`[TaskQueue] DB_BUSY_TIMEOUT_MS (${busyTimeoutMs}ms) below minimum, clamping to ${BUSY_TIMEOUT_BOUNDS.min}ms`); - busyTimeoutMs = BUSY_TIMEOUT_BOUNDS.min; - } - else if (busyTimeoutMs > BUSY_TIMEOUT_BOUNDS.max) { - logger.warn(`[TaskQueue] DB_BUSY_TIMEOUT_MS (${busyTimeoutMs}ms) exceeds maximum, clamping to ${BUSY_TIMEOUT_BOUNDS.max}ms`); - busyTimeoutMs = BUSY_TIMEOUT_BOUNDS.max; - } - this.db.pragma(`busy_timeout = ${busyTimeoutMs}`); - this.db.pragma('journal_mode = WAL'); - this.initializeSchema(); - } - initializeSchema() { - const schemaPath = join(__dirname, 'schemas.sql'); - const schema = readFileSync(schemaPath, 'utf-8'); - this.db.exec(schema); - } - getStatement(key, sql) { - let stmt = this.preparedStatements.get(key); - if (!stmt) { - stmt = this.db.prepare(sql); - this.preparedStatements.set(key, stmt); - } - return stmt; - } - createTask(params) { - const now = new Date().toISOString(); - const taskId = uuidv4(); - const task = { - id: taskId, - state: 'SUBMITTED', - createdAt: now, - updatedAt: now, - name: params.name, - description: params.description, - priority: params.priority || 'normal', - sessionId: params.sessionId, - messages: [], - artifacts: [], - metadata: params.metadata, - }; - const stmt = this.getStatement('insertTask', `INSERT INTO tasks (id, state, name, description, priority, session_id, created_at, updated_at, metadata) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`); - stmt.run(task.id, task.state, task.name || null, task.description || null, task.priority, task.sessionId || null, task.createdAt, task.updatedAt, task.metadata ? JSON.stringify(task.metadata) : null); - if (params.initialMessage) { - this.addMessage({ - taskId: task.id, - role: params.initialMessage.role, - parts: params.initialMessage.parts, - }); - task.messages = this.getMessages(task.id); - } - return task; - } - getTask(taskId) { - const stmt = this.getStatement('getTask', 'SELECT * FROM tasks WHERE id = ?'); - const row = stmt.get(taskId); - if (!row) - return null; - return this.rowToTask(row); - } - listTasks(filter) { - if (filter?.state) { - const states = Array.isArray(filter.state) ? filter.state : [filter.state]; - validateArraySize(states, 'state filter'); - validateTaskStates(states); - } - if (filter?.priority) { - const priorities = Array.isArray(filter.priority) - ? filter.priority - : [filter.priority]; - validateArraySize(priorities, 'priority filter'); - validateTaskPriorities(priorities); - } - if (filter?.limit !== undefined) { - validatePositiveInteger(filter.limit, 'limit', 10000); - } - if (filter?.offset !== undefined) { - validatePositiveInteger(filter.offset, 'offset'); - } - let query = ` - SELECT - t.*, - COALESCE(m.message_count, 0) as message_count, - COALESCE(a.artifact_count, 0) as artifact_count - FROM tasks t - LEFT JOIN ( - SELECT task_id, COUNT(*) as message_count - FROM messages - GROUP BY task_id - ) m ON t.id = m.task_id - LEFT JOIN ( - SELECT task_id, COUNT(*) as artifact_count - FROM artifacts - GROUP BY task_id - ) a ON t.id = a.task_id - WHERE 1=1 - `; - const params = []; - if (filter?.state) { - if (Array.isArray(filter.state)) { - const stateCount = filter.state.length; - const statePlaceholders = Array(stateCount).fill('?').join(','); - query += ` AND t.state IN (${statePlaceholders})`; - params.push(...filter.state); - } - else { - query += ' AND t.state = ?'; - params.push(filter.state); - } - } - if (filter?.priority) { - if (Array.isArray(filter.priority)) { - const priorityCount = filter.priority.length; - const priorityPlaceholders = Array(priorityCount).fill('?').join(','); - query += ` AND t.priority IN (${priorityPlaceholders})`; - params.push(...filter.priority); - } - else { - query += ' AND t.priority = ?'; - params.push(filter.priority); - } - } - if (filter?.createdAfter !== undefined) { - validateISOTimestamp(filter.createdAfter, 'createdAfter'); - query += ' AND t.created_at >= ?'; - params.push(filter.createdAfter); - } - if (filter?.createdBefore !== undefined) { - validateISOTimestamp(filter.createdBefore, 'createdBefore'); - query += ' AND t.created_at <= ?'; - params.push(filter.createdBefore); - } - if (filter?.sessionId) { - query += ' AND t.session_id = ?'; - params.push(filter.sessionId); - } - query += ' ORDER BY t.created_at DESC'; - if (filter?.limit) { - query += ' LIMIT ?'; - params.push(filter.limit); - } - if (filter?.offset) { - query += ' OFFSET ?'; - params.push(filter.offset); - } - assertPlaceholderParamMatch(query, params, 'listTasks'); - const stmt = this.db.prepare(query); - const rows = stmt.all(...params); - return rows.map((row) => ({ - id: row.id, - state: row.state, - name: row.name || undefined, - priority: row.priority || undefined, - createdAt: row.created_at, - updatedAt: row.updated_at, - messageCount: row.message_count, - artifactCount: row.artifact_count, - })); - } - updateTaskStatus(taskId, params) { - const updates = []; - const values = []; - if (params.state !== undefined) { - updates.push('state = ?'); - values.push(params.state); - } - if (params.name !== undefined) { - updates.push('name = ?'); - values.push(params.name); - } - if (params.description !== undefined) { - updates.push('description = ?'); - values.push(params.description); - } - if (params.priority !== undefined) { - updates.push('priority = ?'); - values.push(params.priority); - } - if (params.metadata !== undefined) { - updates.push('metadata = ?'); - values.push(params.metadata ? JSON.stringify(params.metadata) : null); - } - updates.push('updated_at = ?'); - values.push(new Date().toISOString()); - values.push(taskId); - const updateQuery = `UPDATE tasks SET ${updates.join(', ')} WHERE id = ?`; - assertPlaceholderParamMatch(updateQuery, values, 'updateTaskStatus'); - const stmt = this.db.prepare(updateQuery); - const result = stmt.run(...values); - return result.changes > 0; - } - addMessage(params) { - const messageId = uuidv4(); - const now = new Date().toISOString(); - const stmt = this.db.prepare(` - INSERT INTO messages (id, task_id, role, parts, created_at, metadata) - VALUES (?, ?, ?, ?, ?, ?) - `); - stmt.run(messageId, params.taskId, params.role, JSON.stringify(params.parts), now, params.metadata ? JSON.stringify(params.metadata) : null); - this.db - .prepare('UPDATE tasks SET updated_at = ? WHERE id = ?') - .run(now, params.taskId); - return { - id: messageId, - taskId: params.taskId, - createdAt: now, - }; - } - getMessages(taskId) { - const stmt = this.db.prepare(` - SELECT * FROM messages WHERE task_id = ? ORDER BY created_at ASC - `); - const rows = stmt.all(taskId); - return rows.map((row) => { - const parts = safeJsonParse(row.parts); - const metadata = safeJsonParse(row.metadata); - return { - id: row.id, - taskId: row.task_id, - role: row.role, - parts: parts || [], - createdAt: row.created_at, - metadata: metadata || undefined, - }; - }); - } - addArtifact(params) { - const artifactId = uuidv4(); - const now = new Date().toISOString(); - const contentStr = typeof params.content === 'string' - ? params.content - : params.content.toString('base64'); - const encoding = params.encoding || (typeof params.content === 'string' ? 'utf-8' : 'base64'); - const size = typeof params.content === 'string' - ? Buffer.byteLength(params.content) - : params.content.length; - const stmt = this.db.prepare(` - INSERT INTO artifacts (id, task_id, type, name, content, encoding, size, created_at, metadata) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) - `); - stmt.run(artifactId, params.taskId, params.type, params.name || null, contentStr, encoding, size, now, params.metadata ? JSON.stringify(params.metadata) : null); - this.db - .prepare('UPDATE tasks SET updated_at = ? WHERE id = ?') - .run(now, params.taskId); - return artifactId; - } - getArtifacts(taskId) { - const stmt = this.db.prepare(` - SELECT * FROM artifacts WHERE task_id = ? ORDER BY created_at ASC - `); - const rows = stmt.all(taskId); - return rows.map((row) => { - const metadata = safeJsonParse(row.metadata); - return { - id: row.id, - taskId: row.task_id, - type: row.type, - name: row.name || undefined, - content: row.encoding === 'base64' ? Buffer.from(row.content, 'base64') : row.content, - encoding: row.encoding || undefined, - size: row.size, - createdAt: row.created_at, - metadata: metadata || undefined, - }; - }); - } - close() { - if (this.isClosed) { - return; - } - this.isClosed = true; - this.preparedStatements.clear(); - this.db.close(); - } - rowToTask(row) { - const metadata = safeJsonParse(row.metadata); - return { - id: row.id, - state: row.state, - name: row.name || undefined, - description: row.description || undefined, - priority: row.priority || undefined, - sessionId: row.session_id || undefined, - createdAt: row.created_at, - updatedAt: row.updated_at, - messages: this.getMessages(row.id), - artifacts: this.getArtifacts(row.id), - metadata: metadata || undefined, - }; - } -} -//# sourceMappingURL=TaskQueue.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/storage/TaskQueue.js.map b/.claude-plugin/memesh/dist/a2a/storage/TaskQueue.js.map deleted file mode 100644 index 75cc7d92..00000000 --- a/.claude-plugin/memesh/dist/a2a/storage/TaskQueue.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"TaskQueue.js","sourceRoot":"","sources":["../../../src/a2a/storage/TaskQueue.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/storage/ValidationError.d.ts b/.claude-plugin/memesh/dist/a2a/storage/ValidationError.d.ts deleted file mode 100644 index ea8145d0..00000000 --- a/.claude-plugin/memesh/dist/a2a/storage/ValidationError.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -export declare class ValidationError extends Error { - readonly code: string; - readonly details: Record; - constructor(message: string, details?: Record); - toJSON(): Record; -} -//# sourceMappingURL=ValidationError.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/storage/ValidationError.d.ts.map b/.claude-plugin/memesh/dist/a2a/storage/ValidationError.d.ts.map deleted file mode 100644 index c6816f37..00000000 --- a/.claude-plugin/memesh/dist/a2a/storage/ValidationError.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ValidationError.d.ts","sourceRoot":"","sources":["../../../src/a2a/storage/ValidationError.ts"],"names":[],"mappings":"AAOA,qBAAa,eAAgB,SAAQ,KAAK;IACxC,SAAgB,IAAI,EAAE,MAAM,CAAsB;IAClD,SAAgB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAErC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAWlE,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAQlC"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/storage/ValidationError.js b/.claude-plugin/memesh/dist/a2a/storage/ValidationError.js deleted file mode 100644 index da8ed7d8..00000000 --- a/.claude-plugin/memesh/dist/a2a/storage/ValidationError.js +++ /dev/null @@ -1,21 +0,0 @@ -export class ValidationError extends Error { - code = 'VALIDATION_ERROR'; - details; - constructor(message, details = {}) { - super(message); - this.name = 'ValidationError'; - this.details = details; - if (Error.captureStackTrace) { - Error.captureStackTrace(this, ValidationError); - } - } - toJSON() { - return { - name: this.name, - code: this.code, - message: this.message, - details: this.details, - }; - } -} -//# sourceMappingURL=ValidationError.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/storage/ValidationError.js.map b/.claude-plugin/memesh/dist/a2a/storage/ValidationError.js.map deleted file mode 100644 index df5caec0..00000000 --- a/.claude-plugin/memesh/dist/a2a/storage/ValidationError.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ValidationError.js","sourceRoot":"","sources":["../../../src/a2a/storage/ValidationError.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxB,IAAI,GAAW,kBAAkB,CAAC;IAClC,OAAO,CAA0B;IAEjD,YAAY,OAAe,EAAE,UAAmC,EAAE;QAChE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAGvB,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;IACJ,CAAC;CACF"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/storage/index.d.ts b/.claude-plugin/memesh/dist/a2a/storage/index.d.ts deleted file mode 100644 index bc9b5546..00000000 --- a/.claude-plugin/memesh/dist/a2a/storage/index.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export { TaskQueue } from './TaskQueue.js'; -export { AgentRegistry } from './AgentRegistry.js'; -//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/storage/index.d.ts.map b/.claude-plugin/memesh/dist/a2a/storage/index.d.ts.map deleted file mode 100644 index 0a7cd739..00000000 --- a/.claude-plugin/memesh/dist/a2a/storage/index.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/a2a/storage/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/storage/index.js b/.claude-plugin/memesh/dist/a2a/storage/index.js deleted file mode 100644 index f46a4951..00000000 --- a/.claude-plugin/memesh/dist/a2a/storage/index.js +++ /dev/null @@ -1,3 +0,0 @@ -export { TaskQueue } from './TaskQueue.js'; -export { AgentRegistry } from './AgentRegistry.js'; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/storage/index.js.map b/.claude-plugin/memesh/dist/a2a/storage/index.js.map deleted file mode 100644 index 6d41da1b..00000000 --- a/.claude-plugin/memesh/dist/a2a/storage/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/a2a/storage/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/storage/inputValidation.d.ts b/.claude-plugin/memesh/dist/a2a/storage/inputValidation.d.ts deleted file mode 100644 index 8f431871..00000000 --- a/.claude-plugin/memesh/dist/a2a/storage/inputValidation.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import type { TaskState, TaskPriority } from '../types/index.js'; -export declare const VALID_TASK_STATES: readonly TaskState[]; -export declare const TaskStateConstants: { - SUBMITTED: "SUBMITTED"; - WORKING: "WORKING"; - INPUT_REQUIRED: "INPUT_REQUIRED"; - COMPLETED: "COMPLETED"; - FAILED: "FAILED"; - CANCELED: "CANCELED"; - REJECTED: "REJECTED"; - TIMEOUT: "TIMEOUT"; -}; -export declare function validateArraySize(array: T[], fieldName: string, maxSize?: number): void; -export declare function validateTaskStates(states: string[]): asserts states is TaskState[]; -export declare function validateTaskPriorities(priorities: string[]): asserts priorities is TaskPriority[]; -export declare function validatePositiveInteger(value: number, fieldName: string, max?: number): void; -export declare function validateISOTimestamp(value: string, fieldName: string): void; -//# sourceMappingURL=inputValidation.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/storage/inputValidation.d.ts.map b/.claude-plugin/memesh/dist/a2a/storage/inputValidation.d.ts.map deleted file mode 100644 index 5355e165..00000000 --- a/.claude-plugin/memesh/dist/a2a/storage/inputValidation.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"inputValidation.d.ts","sourceRoot":"","sources":["../../../src/a2a/storage/inputValidation.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAWjE,eAAO,MAAM,iBAAiB,EAAE,SAAS,SAAS,EASxC,CAAC;AAMX,eAAO,MAAM,kBAAkB;;;;;;;;;CASM,CAAC;AAoBtC,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,KAAK,EAAE,CAAC,EAAE,EACV,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,MAA8B,GACtC,IAAI,CAUN;AAQD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,IAAI,SAAS,EAAE,CAYlF;AAQD,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAAE,GACnB,OAAO,CAAC,UAAU,IAAI,YAAY,EAAE,CAYtC;AAUD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,GAAG,GAAE,MAAgC,GACpC,IAAI,CAUN;AASD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CA6B3E"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/storage/inputValidation.js b/.claude-plugin/memesh/dist/a2a/storage/inputValidation.js deleted file mode 100644 index de4a3d60..00000000 --- a/.claude-plugin/memesh/dist/a2a/storage/inputValidation.js +++ /dev/null @@ -1,101 +0,0 @@ -import { ValidationError } from '../../errors/index.js'; -const MAX_FILTER_ARRAY_SIZE = 100; -export const VALID_TASK_STATES = [ - 'SUBMITTED', - 'WORKING', - 'INPUT_REQUIRED', - 'COMPLETED', - 'FAILED', - 'CANCELED', - 'REJECTED', - 'TIMEOUT', -]; -export const TaskStateConstants = { - SUBMITTED: 'SUBMITTED', - WORKING: 'WORKING', - INPUT_REQUIRED: 'INPUT_REQUIRED', - COMPLETED: 'COMPLETED', - FAILED: 'FAILED', - CANCELED: 'CANCELED', - REJECTED: 'REJECTED', - TIMEOUT: 'TIMEOUT', -}; -const VALID_TASK_PRIORITIES = [ - 'low', - 'normal', - 'high', - 'urgent', -]; -export function validateArraySize(array, fieldName, maxSize = MAX_FILTER_ARRAY_SIZE) { - if (array.length > maxSize) { - throw new ValidationError(`Too many items in ${fieldName}`, { - field: fieldName, - providedCount: array.length, - maxAllowed: maxSize, - severity: 'HIGH', - reason: 'DoS prevention: Excessive array size can cause performance degradation', - }); - } -} -export function validateTaskStates(states) { - for (const state of states) { - if (!VALID_TASK_STATES.includes(state)) { - throw new ValidationError('Invalid task state', { - field: 'state', - providedState: state, - validStates: VALID_TASK_STATES, - severity: 'HIGH', - reason: 'SQL injection prevention: Only known enum values are allowed', - }); - } - } -} -export function validateTaskPriorities(priorities) { - for (const priority of priorities) { - if (!VALID_TASK_PRIORITIES.includes(priority)) { - throw new ValidationError('Invalid task priority', { - field: 'priority', - providedPriority: priority, - validPriorities: VALID_TASK_PRIORITIES, - severity: 'HIGH', - reason: 'SQL injection prevention: Only known enum values are allowed', - }); - } - } -} -export function validatePositiveInteger(value, fieldName, max = Number.MAX_SAFE_INTEGER) { - if (!Number.isInteger(value) || value < 0 || value > max) { - throw new ValidationError(`Invalid ${fieldName}`, { - field: fieldName, - providedValue: value, - constraints: { min: 0, max }, - severity: 'MEDIUM', - reason: 'Only positive integers are allowed', - }); - } -} -export function validateISOTimestamp(value, fieldName) { - const date = new Date(value); - if (Number.isNaN(date.getTime())) { - throw new ValidationError(`Invalid ${fieldName}`, { - field: fieldName, - providedValue: value, - severity: 'MEDIUM', - reason: 'Must be a valid ISO 8601 timestamp string', - }); - } - const timestamp = date.getTime(); - const now = Date.now(); - const oneHundredYears = 100 * 365 * 24 * 60 * 60 * 1000; - if (timestamp < 0 || timestamp > now + oneHundredYears) { - throw new ValidationError(`Invalid ${fieldName}`, { - field: fieldName, - providedValue: value, - timestamp, - constraints: { min: 0, max: now + oneHundredYears }, - severity: 'MEDIUM', - reason: 'Timestamp must be a reasonable date (not before epoch or too far in future)', - }); - } -} -//# sourceMappingURL=inputValidation.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/storage/inputValidation.js.map b/.claude-plugin/memesh/dist/a2a/storage/inputValidation.js.map deleted file mode 100644 index cd961bc2..00000000 --- a/.claude-plugin/memesh/dist/a2a/storage/inputValidation.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"inputValidation.js","sourceRoot":"","sources":["../../../src/a2a/storage/inputValidation.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/storage/registry-schemas.sql b/.claude-plugin/memesh/dist/a2a/storage/registry-schemas.sql deleted file mode 100644 index 29ebe732..00000000 --- a/.claude-plugin/memesh/dist/a2a/storage/registry-schemas.sql +++ /dev/null @@ -1,20 +0,0 @@ --- A2A Agent Registry Database Schema --- Path: ~/.claude-code-buddy/a2a-registry.db - --- Agents table -CREATE TABLE IF NOT EXISTS agents ( - agent_id TEXT PRIMARY KEY, - base_url TEXT NOT NULL, - port INTEGER NOT NULL, - status TEXT NOT NULL CHECK(status IN ('active', 'inactive', 'stale')) DEFAULT 'active', - last_heartbeat TEXT NOT NULL, -- ISO 8601 timestamp - capabilities TEXT, -- JSON string of AgentCapabilities - metadata TEXT, -- JSON string - created_at TEXT NOT NULL, -- ISO 8601 timestamp - updated_at TEXT NOT NULL -- ISO 8601 timestamp -); - --- Indexes for efficient queries -CREATE INDEX IF NOT EXISTS idx_agents_status ON agents(status); -CREATE INDEX IF NOT EXISTS idx_agents_last_heartbeat ON agents(last_heartbeat); -CREATE INDEX IF NOT EXISTS idx_agents_port ON agents(port); diff --git a/.claude-plugin/memesh/dist/a2a/storage/schemas.sql b/.claude-plugin/memesh/dist/a2a/storage/schemas.sql deleted file mode 100644 index 388ef37d..00000000 --- a/.claude-plugin/memesh/dist/a2a/storage/schemas.sql +++ /dev/null @@ -1,64 +0,0 @@ --- A2A Task Queue Database Schema --- Path: ~/.claude-code-buddy/a2a-tasks-{agent_id}.db - --- Tasks table -CREATE TABLE IF NOT EXISTS tasks ( - id TEXT PRIMARY KEY, - state TEXT NOT NULL CHECK(state IN ('SUBMITTED', 'WORKING', 'INPUT_REQUIRED', 'COMPLETED', 'FAILED', 'CANCELED', 'REJECTED', 'TIMEOUT')), - name TEXT, - description TEXT, - priority TEXT CHECK(priority IN ('low', 'normal', 'high', 'urgent')) DEFAULT 'normal', - session_id TEXT, - created_at TEXT NOT NULL, -- ISO 8601 timestamp - updated_at TEXT NOT NULL, -- ISO 8601 timestamp - metadata TEXT -- JSON string -); - --- Index for common queries -CREATE INDEX IF NOT EXISTS idx_tasks_state ON tasks(state); -CREATE INDEX IF NOT EXISTS idx_tasks_created_at ON tasks(created_at); -CREATE INDEX IF NOT EXISTS idx_tasks_session_id ON tasks(session_id); - --- PERFORMANCE OPTIMIZATION: Composite indexes for common query patterns --- Used by listTasks() with state + priority filters -CREATE INDEX IF NOT EXISTS idx_tasks_state_priority ON tasks(state, priority); --- Used by listTasks() with state + created_at for sorting -CREATE INDEX IF NOT EXISTS idx_tasks_state_created_at ON tasks(state, created_at DESC); --- Used by listTasks() with session_id + state -CREATE INDEX IF NOT EXISTS idx_tasks_session_state ON tasks(session_id, state); --- Used by listTasks() with priority + created_at -CREATE INDEX IF NOT EXISTS idx_tasks_priority_created_at ON tasks(priority, created_at DESC); - --- Messages table -CREATE TABLE IF NOT EXISTS messages ( - id TEXT PRIMARY KEY, - task_id TEXT NOT NULL, - role TEXT NOT NULL CHECK(role IN ('user', 'assistant')), - parts TEXT NOT NULL, -- JSON array of message parts - created_at TEXT NOT NULL, -- ISO 8601 timestamp - metadata TEXT, -- JSON string - FOREIGN KEY (task_id) REFERENCES tasks(id) ON DELETE CASCADE -); - --- Index for message queries -CREATE INDEX IF NOT EXISTS idx_messages_task_id ON messages(task_id); -CREATE INDEX IF NOT EXISTS idx_messages_created_at ON messages(created_at); - --- Artifacts table -CREATE TABLE IF NOT EXISTS artifacts ( - id TEXT PRIMARY KEY, - task_id TEXT NOT NULL, - type TEXT NOT NULL, -- MIME type or custom type - name TEXT, - content TEXT NOT NULL, -- Text content or base64-encoded binary - encoding TEXT DEFAULT 'utf-8' CHECK(encoding IN ('utf-8', 'base64')), - size INTEGER, -- bytes - created_at TEXT NOT NULL, -- ISO 8601 timestamp - metadata TEXT, -- JSON string - FOREIGN KEY (task_id) REFERENCES tasks(id) ON DELETE CASCADE -); - --- Index for artifact queries -CREATE INDEX IF NOT EXISTS idx_artifacts_task_id ON artifacts(task_id); -CREATE INDEX IF NOT EXISTS idx_artifacts_type ON artifacts(type); -CREATE INDEX IF NOT EXISTS idx_artifacts_created_at ON artifacts(created_at); diff --git a/.claude-plugin/memesh/dist/a2a/types/TaskResult.d.ts b/.claude-plugin/memesh/dist/a2a/types/TaskResult.d.ts deleted file mode 100644 index 150f8059..00000000 --- a/.claude-plugin/memesh/dist/a2a/types/TaskResult.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -export interface TaskResult { - taskId: string; - state: 'COMPLETED' | 'FAILED' | 'TIMEOUT'; - success: boolean; - result?: unknown; - error?: string; - executedAt: string; - executedBy: string; - durationMs?: number; -} -//# sourceMappingURL=TaskResult.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/types/TaskResult.d.ts.map b/.claude-plugin/memesh/dist/a2a/types/TaskResult.d.ts.map deleted file mode 100644 index 42315d4c..00000000 --- a/.claude-plugin/memesh/dist/a2a/types/TaskResult.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"TaskResult.d.ts","sourceRoot":"","sources":["../../../src/a2a/types/TaskResult.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,UAAU;IAEzB,MAAM,EAAE,MAAM,CAAC;IAGf,KAAK,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;IAG1C,OAAO,EAAE,OAAO,CAAC;IAmBjB,MAAM,CAAC,EAAE,OAAO,CAAC;IAUjB,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,UAAU,EAAE,MAAM,CAAC;IAGnB,UAAU,EAAE,MAAM,CAAC;IAGnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/types/TaskResult.js b/.claude-plugin/memesh/dist/a2a/types/TaskResult.js deleted file mode 100644 index 0c57dbc1..00000000 --- a/.claude-plugin/memesh/dist/a2a/types/TaskResult.js +++ /dev/null @@ -1,2 +0,0 @@ -export {}; -//# sourceMappingURL=TaskResult.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/types/TaskResult.js.map b/.claude-plugin/memesh/dist/a2a/types/TaskResult.js.map deleted file mode 100644 index af9dd518..00000000 --- a/.claude-plugin/memesh/dist/a2a/types/TaskResult.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"TaskResult.js","sourceRoot":"","sources":["../../../src/a2a/types/TaskResult.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/types/agent-card.d.ts b/.claude-plugin/memesh/dist/a2a/types/agent-card.d.ts deleted file mode 100644 index 19e41b23..00000000 --- a/.claude-plugin/memesh/dist/a2a/types/agent-card.d.ts +++ /dev/null @@ -1,59 +0,0 @@ -export interface AgentCard { - id: string; - name: string; - description?: string; - version?: string; - capabilities: AgentCapabilities; - endpoints: AgentEndpoints; - metadata?: Record; -} -export interface AgentCapabilities { - skills: Skill[]; - supportedFormats?: string[]; - maxMessageSize?: number; - streaming?: boolean; - pushNotifications?: boolean; -} -export interface Skill { - name: string; - description: string; - parameters?: SkillParameter[]; - examples?: SkillExample[]; -} -export interface SkillParameter { - name: string; - type: 'string' | 'number' | 'boolean' | 'object' | 'array'; - description?: string; - required?: boolean; - default?: unknown; -} -export interface SkillExample { - description: string; - input: Record; - output?: unknown; -} -export interface AgentEndpoints { - baseUrl: string; - sendMessage?: string; - getTask?: string; - listTasks?: string; - cancelTask?: string; - getAgentCard?: string; -} -export interface AgentRegistryEntry { - agentId: string; - baseUrl: string; - port: number; - status: 'active' | 'inactive' | 'stale'; - lastHeartbeat: string; - capabilities?: AgentCapabilities; - metadata?: Record; -} -export interface RegisterAgentParams { - agentId: string; - baseUrl: string; - port: number; - capabilities?: AgentCapabilities; - metadata?: Record; -} -//# sourceMappingURL=agent-card.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/types/agent-card.d.ts.map b/.claude-plugin/memesh/dist/a2a/types/agent-card.d.ts.map deleted file mode 100644 index 1a9a7e21..00000000 --- a/.claude-plugin/memesh/dist/a2a/types/agent-card.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"agent-card.d.ts","sourceRoot":"","sources":["../../../src/a2a/types/agent-card.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,iBAAiB,CAAC;IAChC,SAAS,EAAE,cAAc,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAKD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAKD,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;CAC3B;AAKD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAKD,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAKD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAKD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAKD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/types/agent-card.js b/.claude-plugin/memesh/dist/a2a/types/agent-card.js deleted file mode 100644 index 3cc88f2d..00000000 --- a/.claude-plugin/memesh/dist/a2a/types/agent-card.js +++ /dev/null @@ -1,2 +0,0 @@ -export {}; -//# sourceMappingURL=agent-card.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/types/agent-card.js.map b/.claude-plugin/memesh/dist/a2a/types/agent-card.js.map deleted file mode 100644 index 8a41d1a9..00000000 --- a/.claude-plugin/memesh/dist/a2a/types/agent-card.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"agent-card.js","sourceRoot":"","sources":["../../../src/a2a/types/agent-card.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/types/index.d.ts b/.claude-plugin/memesh/dist/a2a/types/index.d.ts deleted file mode 100644 index 6a446548..00000000 --- a/.claude-plugin/memesh/dist/a2a/types/index.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -export type { ServiceResponse, ServiceError, SendMessageRequest, SendMessageResponse, GetTaskRequest, ListTasksRequest, CancelTaskRequest, MessagePart, TextPart, ImagePart, ToolCallPart, ToolResultPart, } from './protocol.js'; -export type { Task, TaskState, TaskPriority, TaskStatus, TaskFilter, CreateTaskParams, UpdateTaskParams, Artifact, } from './task.js'; -export { VALID_STATE_TRANSITIONS, isValidStateTransition, isTerminalState } from './task.js'; -export type { Message, Role, AddMessageParams, MessageCreated, } from './message.js'; -export type { AgentCard, AgentCapabilities, Skill, SkillParameter, SkillExample, AgentEndpoints, AgentRegistryEntry, RegisterAgentParams, } from './agent-card.js'; -export type { RateLimitConfig, TokenBucket, RateLimitError, RateLimitStats, } from './rateLimit.js'; -export type { TaskResult } from './TaskResult.js'; -//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/types/index.d.ts.map b/.claude-plugin/memesh/dist/a2a/types/index.d.ts.map deleted file mode 100644 index ee9fcf60..00000000 --- a/.claude-plugin/memesh/dist/a2a/types/index.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/a2a/types/index.ts"],"names":[],"mappings":"AAMA,YAAY,EACV,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,cAAc,GACf,MAAM,eAAe,CAAC;AAGvB,YAAY,EACV,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,GACT,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAG7F,YAAY,EACV,OAAO,EACP,IAAI,EACJ,gBAAgB,EAChB,cAAc,GACf,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,KAAK,EACL,cAAc,EACd,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EACV,eAAe,EACf,WAAW,EACX,cAAc,EACd,cAAc,GACf,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/types/index.js b/.claude-plugin/memesh/dist/a2a/types/index.js deleted file mode 100644 index 5747fa93..00000000 --- a/.claude-plugin/memesh/dist/a2a/types/index.js +++ /dev/null @@ -1,2 +0,0 @@ -export { VALID_STATE_TRANSITIONS, isValidStateTransition, isTerminalState } from './task.js'; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/types/index.js.map b/.claude-plugin/memesh/dist/a2a/types/index.js.map deleted file mode 100644 index ff6a5d97..00000000 --- a/.claude-plugin/memesh/dist/a2a/types/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/a2a/types/index.ts"],"names":[],"mappings":"AAkCA,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/types/message.d.ts b/.claude-plugin/memesh/dist/a2a/types/message.d.ts deleted file mode 100644 index 7013eaf0..00000000 --- a/.claude-plugin/memesh/dist/a2a/types/message.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -import type { MessagePart } from './protocol.js'; -export type { MessagePart, TextPart, ImagePart, ToolCallPart, ToolResultPart, } from './protocol.js'; -export type { Message } from './task.js'; -export type Role = 'user' | 'assistant'; -export interface AddMessageParams { - taskId: string; - role: Role; - parts: MessagePart[]; - metadata?: Record; -} -export interface MessageCreated { - id: string; - taskId: string; - createdAt: string; -} -//# sourceMappingURL=message.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/types/message.d.ts.map b/.claude-plugin/memesh/dist/a2a/types/message.d.ts.map deleted file mode 100644 index ec817145..00000000 --- a/.claude-plugin/memesh/dist/a2a/types/message.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../src/a2a/types/message.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGjD,YAAY,EACV,WAAW,EACX,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,cAAc,GACf,MAAM,eAAe,CAAC;AAEvB,YAAY,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,WAAW,CAAC;AAKxC,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAKD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/types/message.js b/.claude-plugin/memesh/dist/a2a/types/message.js deleted file mode 100644 index acc95d53..00000000 --- a/.claude-plugin/memesh/dist/a2a/types/message.js +++ /dev/null @@ -1,2 +0,0 @@ -export {}; -//# sourceMappingURL=message.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/types/message.js.map b/.claude-plugin/memesh/dist/a2a/types/message.js.map deleted file mode 100644 index a3409195..00000000 --- a/.claude-plugin/memesh/dist/a2a/types/message.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/a2a/types/message.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/types/protocol.d.ts b/.claude-plugin/memesh/dist/a2a/types/protocol.d.ts deleted file mode 100644 index 06f12bdb..00000000 --- a/.claude-plugin/memesh/dist/a2a/types/protocol.d.ts +++ /dev/null @@ -1,60 +0,0 @@ -export interface ServiceResponse { - success: boolean; - data?: T; - error?: ServiceError; -} -export interface ServiceError { - code: string; - message: string; - details?: Record; -} -export interface SendMessageRequest { - taskId?: string; - message: { - role: 'user' | 'assistant'; - parts: MessagePart[]; - }; -} -export interface SendMessageResponse { - taskId: string; - status: string; -} -export interface GetTaskRequest { - taskId: string; -} -export interface ListTasksRequest { - status?: string; - limit?: number; - offset?: number; -} -export interface CancelTaskRequest { - taskId: string; - reason?: string; -} -export type MessagePart = TextPart | ImagePart | ToolCallPart | ToolResultPart; -export interface TextPart { - type: 'text'; - text: string; -} -export interface ImagePart { - type: 'image'; - source: { - type: 'url' | 'base64'; - url?: string; - data?: string; - mimeType?: string; - }; -} -export interface ToolCallPart { - type: 'tool_call'; - id: string; - name: string; - input: Record; -} -export interface ToolResultPart { - type: 'tool_result'; - toolCallId: string; - content: string | Record; - isError?: boolean; -} -//# sourceMappingURL=protocol.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/types/protocol.d.ts.map b/.claude-plugin/memesh/dist/a2a/types/protocol.d.ts.map deleted file mode 100644 index 81872a82..00000000 --- a/.claude-plugin/memesh/dist/a2a/types/protocol.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../src/a2a/types/protocol.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAKD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAKD,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;QAC3B,KAAK,EAAE,WAAW,EAAE,CAAC;KACtB,CAAC;CACH;AAKD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAKD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB;AAKD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAKD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAKD,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,YAAY,GAAG,cAAc,CAAC;AAK/E,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAKD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE;QACN,IAAI,EAAE,KAAK,GAAG,QAAQ,CAAC;QACvB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAKD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,WAAW,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAKD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,aAAa,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/types/protocol.js b/.claude-plugin/memesh/dist/a2a/types/protocol.js deleted file mode 100644 index 660495d0..00000000 --- a/.claude-plugin/memesh/dist/a2a/types/protocol.js +++ /dev/null @@ -1,2 +0,0 @@ -export {}; -//# sourceMappingURL=protocol.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/types/protocol.js.map b/.claude-plugin/memesh/dist/a2a/types/protocol.js.map deleted file mode 100644 index bbd03911..00000000 --- a/.claude-plugin/memesh/dist/a2a/types/protocol.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/a2a/types/protocol.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/types/rateLimit.d.ts b/.claude-plugin/memesh/dist/a2a/types/rateLimit.d.ts deleted file mode 100644 index 86446f98..00000000 --- a/.claude-plugin/memesh/dist/a2a/types/rateLimit.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -export interface RateLimitConfig { - maxRequests: number; - windowMs: number; -} -export interface TokenBucket { - tokens: number; - maxTokens: number; - lastRefill: number; - refillRate: number; -} -export interface RateLimitError { - success: false; - error: { - code: 'RATE_LIMIT_EXCEEDED'; - message: string; - retryAfter: number; - }; -} -export interface RateLimitStats { - agentId: string; - endpoint: string; - limitExceeded: number; - totalRequests: number; - lastLimitHit?: number; -} -//# sourceMappingURL=rateLimit.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/types/rateLimit.d.ts.map b/.claude-plugin/memesh/dist/a2a/types/rateLimit.d.ts.map deleted file mode 100644 index 752300f5..00000000 --- a/.claude-plugin/memesh/dist/a2a/types/rateLimit.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"rateLimit.d.ts","sourceRoot":"","sources":["../../../src/a2a/types/rateLimit.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,eAAe;IAE9B,WAAW,EAAE,MAAM,CAAC;IAEpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAKD,MAAM,WAAW,WAAW;IAE1B,MAAM,EAAE,MAAM,CAAC;IAEf,SAAS,EAAE,MAAM,CAAC;IAElB,UAAU,EAAE,MAAM,CAAC;IAEnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAKD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE;QACL,IAAI,EAAE,qBAAqB,CAAC;QAC5B,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAKD,MAAM,WAAW,cAAc;IAE7B,OAAO,EAAE,MAAM,CAAC;IAEhB,QAAQ,EAAE,MAAM,CAAC;IAEjB,aAAa,EAAE,MAAM,CAAC;IAEtB,aAAa,EAAE,MAAM,CAAC;IAEtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/types/rateLimit.js b/.claude-plugin/memesh/dist/a2a/types/rateLimit.js deleted file mode 100644 index 82430df7..00000000 --- a/.claude-plugin/memesh/dist/a2a/types/rateLimit.js +++ /dev/null @@ -1,2 +0,0 @@ -export {}; -//# sourceMappingURL=rateLimit.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/types/rateLimit.js.map b/.claude-plugin/memesh/dist/a2a/types/rateLimit.js.map deleted file mode 100644 index e47ab958..00000000 --- a/.claude-plugin/memesh/dist/a2a/types/rateLimit.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"rateLimit.js","sourceRoot":"","sources":["../../../src/a2a/types/rateLimit.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/types/task.d.ts b/.claude-plugin/memesh/dist/a2a/types/task.d.ts deleted file mode 100644 index 9861ddb3..00000000 --- a/.claude-plugin/memesh/dist/a2a/types/task.d.ts +++ /dev/null @@ -1,76 +0,0 @@ -import type { MessagePart } from './protocol.js'; -export type TaskState = 'SUBMITTED' | 'WORKING' | 'INPUT_REQUIRED' | 'COMPLETED' | 'FAILED' | 'CANCELED' | 'REJECTED' | 'TIMEOUT'; -export type TaskPriority = 'low' | 'normal' | 'high' | 'urgent'; -export interface Task { - id: string; - state: TaskState; - createdAt: string; - updatedAt: string; - name?: string; - description?: string; - priority?: TaskPriority; - sessionId?: string; - messages: Message[]; - artifacts?: Artifact[]; - metadata?: Record; -} -export interface Message { - id: string; - taskId: string; - role: 'user' | 'assistant'; - parts: MessagePart[]; - createdAt: string; - metadata?: Record; -} -export interface Artifact { - id: string; - taskId: string; - type: string; - name?: string; - content: string | Buffer; - encoding?: 'utf-8' | 'base64'; - size?: number; - createdAt: string; - metadata?: Record; -} -export interface TaskStatus { - id: string; - state: TaskState; - name?: string; - priority?: TaskPriority; - createdAt: string; - updatedAt: string; - messageCount: number; - artifactCount: number; -} -export interface TaskFilter { - state?: TaskState | TaskState[]; - priority?: TaskPriority | TaskPriority[]; - createdAfter?: string; - createdBefore?: string; - sessionId?: string; - limit?: number; - offset?: number; -} -export interface CreateTaskParams { - name?: string; - description?: string; - priority?: TaskPriority; - sessionId?: string; - initialMessage?: { - role: 'user' | 'assistant'; - parts: MessagePart[]; - }; - metadata?: Record; -} -export interface UpdateTaskParams { - state?: TaskState; - name?: string; - description?: string; - priority?: TaskPriority; - metadata?: Record; -} -export declare const VALID_STATE_TRANSITIONS: Record; -export declare function isValidStateTransition(from: TaskState, to: TaskState): boolean; -export declare function isTerminalState(state: TaskState): boolean; -//# sourceMappingURL=task.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/types/task.d.ts.map b/.claude-plugin/memesh/dist/a2a/types/task.d.ts.map deleted file mode 100644 index 21697d5f..00000000 --- a/.claude-plugin/memesh/dist/a2a/types/task.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../../src/a2a/types/task.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/types/task.js b/.claude-plugin/memesh/dist/a2a/types/task.js deleted file mode 100644 index e19cc7a5..00000000 --- a/.claude-plugin/memesh/dist/a2a/types/task.js +++ /dev/null @@ -1,17 +0,0 @@ -export const VALID_STATE_TRANSITIONS = { - SUBMITTED: ['WORKING', 'CANCELED', 'REJECTED'], - WORKING: ['COMPLETED', 'FAILED', 'TIMEOUT', 'CANCELED', 'INPUT_REQUIRED'], - INPUT_REQUIRED: ['WORKING', 'CANCELED'], - COMPLETED: [], - FAILED: [], - TIMEOUT: [], - CANCELED: [], - REJECTED: [], -}; -export function isValidStateTransition(from, to) { - return VALID_STATE_TRANSITIONS[from]?.includes(to) ?? false; -} -export function isTerminalState(state) { - return VALID_STATE_TRANSITIONS[state].length === 0; -} -//# sourceMappingURL=task.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/a2a/types/task.js.map b/.claude-plugin/memesh/dist/a2a/types/task.js.map deleted file mode 100644 index 131041d7..00000000 --- a/.claude-plugin/memesh/dist/a2a/types/task.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/a2a/types/task.ts"],"names":[],"mappings":"AA8HA,MAAM,CAAC,MAAM,uBAAuB,GAAmC;IACrE,SAAS,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC;IAC9C,OAAO,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,CAAC;IACzE,cAAc,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;IACvC,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;IACX,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,EAAE;CACb,CAAC;AAcF,MAAM,UAAU,sBAAsB,CAAC,IAAe,EAAE,EAAa;IACnE,OAAO,uBAAuB,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC;AAC9D,CAAC;AAYD,MAAM,UAAU,eAAe,CAAC,KAAgB;IAC9C,OAAO,uBAAuB,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AACrD,CAAC"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/hooks/a2a-collaboration.d.ts b/.claude-plugin/memesh/dist/hooks/a2a-collaboration.d.ts deleted file mode 100644 index 82b99ef8..00000000 --- a/.claude-plugin/memesh/dist/hooks/a2a-collaboration.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -export interface AgentIdentity { - name: string; - agentId: string; - specialization: string; - sessionStart: string; - status: 'ONLINE' | 'OFFLINE'; - updatedAt?: string; -} -export interface A2ATask { - id: string; - description: string; - state: 'SUBMITTED' | 'IN_PROGRESS' | 'COMPLETED' | 'FAILED'; - createdAt: string; - senderId: string; -} -export interface TaskCompletionReport { - taskId: string; - status: 'COMPLETED' | 'FAILED'; - result: string; - completedAt: string; -} -export declare function agentCheckIn(): AgentIdentity; -export declare function checkPendingTasks(agentId?: string): A2ATask[]; -export declare function getLatestCommitHash(): string | null; -export declare function getLatestCommitMessage(): string | null; -export declare function formatTaskCompletionReport(taskId: string, commitHash: string, commitMessage: string): TaskCompletionReport; -export declare function initA2ACollaboration(): AgentIdentity; -export declare function updateSpecialization(newSpecialization: string): AgentIdentity | null; -export declare function getCurrentIdentity(): AgentIdentity | null; -//# sourceMappingURL=a2a-collaboration.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/hooks/a2a-collaboration.d.ts.map b/.claude-plugin/memesh/dist/hooks/a2a-collaboration.d.ts.map deleted file mode 100644 index 991f5788..00000000 --- a/.claude-plugin/memesh/dist/hooks/a2a-collaboration.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"a2a-collaboration.d.ts","sourceRoot":"","sources":["../../src/hooks/a2a-collaboration.ts"],"names":[],"mappings":"AA2DA,MAAM,WAAW,aAAa;IAE5B,IAAI,EAAE,MAAM,CAAC;IAEb,OAAO,EAAE,MAAM,CAAC;IAEhB,cAAc,EAAE,MAAM,CAAC;IAEvB,YAAY,EAAE,MAAM,CAAC;IAErB,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC;IAE7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAKD,MAAM,WAAW,OAAO;IAEtB,EAAE,EAAE,MAAM,CAAC;IAEX,WAAW,EAAE,MAAM,CAAC;IAEpB,KAAK,EAAE,WAAW,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,CAAC;IAE5D,SAAS,EAAE,MAAM,CAAC;IAElB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAKD,MAAM,WAAW,oBAAoB;IAEnC,MAAM,EAAE,MAAM,CAAC;IAEf,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC;IAE/B,MAAM,EAAE,MAAM,CAAC;IAEf,WAAW,EAAE,MAAM,CAAC;CACrB;AA6XD,wBAAgB,YAAY,IAAI,aAAa,CAwB5C;AAYD,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE,CAiE7D;AAMD,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAUnD;AAED,wBAAgB,sBAAsB,IAAI,MAAM,GAAG,IAAI,CAUtD;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GACpB,oBAAoB,CAOtB;AA6ED,wBAAgB,oBAAoB,IAAI,aAAa,CAkBpD;AAED,wBAAgB,oBAAoB,CAAC,iBAAiB,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAkBpF;AAED,wBAAgB,kBAAkB,IAAI,aAAa,GAAG,IAAI,CAEzD"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/hooks/a2a-collaboration.js b/.claude-plugin/memesh/dist/hooks/a2a-collaboration.js deleted file mode 100644 index 9d20bbb4..00000000 --- a/.claude-plugin/memesh/dist/hooks/a2a-collaboration.js +++ /dev/null @@ -1,400 +0,0 @@ -import fs from 'fs'; -import path from 'path'; -import os from 'os'; -import { execFileSync } from 'child_process'; -import { expandHome } from '../utils/paths.js'; -const CCB_DATA_DIR = expandHome('~/.claude-code-buddy'); -const KG_DB_PATH = path.join(CCB_DATA_DIR, 'knowledge-graph.db'); -const AGENT_REGISTRY_PATH = path.join(CCB_DATA_DIR, 'a2a-registry.db'); -const STATE_DIR = expandHome('~/.claude/state'); -const AGENT_IDENTITY_FILE = path.join(STATE_DIR, 'agent-identity.json'); -const NAME_POOL = [ - 'Alpha', - 'Beta', - 'Gamma', - 'Delta', - 'Epsilon', - 'Zeta', - 'Eta', - 'Theta', - 'Iota', - 'Kappa', - 'Lambda', - 'Mu', - 'Nu', - 'Xi', - 'Omicron', - 'Pi', - 'Rho', - 'Sigma', - 'Tau', - 'Upsilon', -]; -function sqliteQuery(dbPath, query, params) { - const result = sqliteQueryWithStatus(dbPath, query, params); - return result.output; -} -function escapeSqlValue(value) { - if (value === null || value === undefined) { - return 'NULL'; - } - if (typeof value === 'number') { - if (!Number.isFinite(value)) { - return 'NULL'; - } - return String(value); - } - if (typeof value === 'boolean') { - return value ? '1' : '0'; - } - const strValue = String(value); - if (strValue.includes('\x00')) { - throw new Error('SQL parameter contains null byte - potential injection attack'); - } - const escaped = strValue.replace(/'/g, "''"); - return `'${escaped}'`; -} -function sqliteQueryWithStatus(dbPath, query, params) { - try { - const args = ['-separator', '|', dbPath]; - let finalQuery = query; - if (params && params.length > 0) { - const escapedParams = params.map(escapeSqlValue); - let paramIndex = 0; - finalQuery = query.replace(/\?/g, () => { - if (paramIndex < escapedParams.length) { - return escapedParams[paramIndex++]; - } - return '?'; - }); - } - const result = execFileSync('sqlite3', [...args, finalQuery], { - encoding: 'utf-8', - timeout: 5000, - }); - return { - output: result.trim(), - success: true, - }; - } - catch (e) { - const error = e instanceof Error ? e.message : String(e); - return { - output: '', - success: false, - error, - }; - } -} -function readJSON(filePath, defaultValue = null) { - try { - if (fs.existsSync(filePath)) { - const content = fs.readFileSync(filePath, 'utf-8'); - return JSON.parse(content); - } - } - catch { - } - return defaultValue; -} -function writeJSON(filePath, data) { - try { - const dir = path.dirname(filePath); - if (!fs.existsSync(dir)) { - fs.mkdirSync(dir, { recursive: true }); - } - fs.writeFileSync(filePath, JSON.stringify(data, null, 2)); - return true; - } - catch { - return false; - } -} -function _getUsedNames() { - if (!fs.existsSync(KG_DB_PATH)) - return []; - const query = "SELECT name FROM entities WHERE type='session_identity' AND name LIKE 'Online Agent:%'"; - const result = sqliteQuery(KG_DB_PATH, query); - if (!result) - return []; - return result - .split('\n') - .map((line) => line.replace('Online Agent: ', '').replace(/ \(.*\)$/, '').trim()) - .filter(Boolean); -} -function getOnlineAgents() { - if (!fs.existsSync(AGENT_REGISTRY_PATH)) - return []; - const query = "SELECT agent_id FROM agents WHERE status='active' ORDER BY last_heartbeat DESC LIMIT 10"; - const result = sqliteQuery(AGENT_REGISTRY_PATH, query); - return result ? result.split('\n').filter(Boolean) : []; -} -function generateUniqueFallbackName() { - const timestamp = Date.now().toString(36); - const random = Math.random().toString(36).substring(2, 6); - return `Agent-${timestamp}-${random}`; -} -function tryClaimName(entityName, now) { - const atomicInsertQuery = ` - INSERT INTO entities (name, type, created_at) - SELECT ?, 'session_identity', ? - WHERE NOT EXISTS (SELECT 1 FROM entities WHERE name = ?); - SELECT changes(); - `; - const result = sqliteQueryWithStatus(KG_DB_PATH, atomicInsertQuery, [entityName, now, entityName]); - if (!result.success) { - return false; - } - const changesCount = parseInt(result.output, 10); - return changesCount === 1; -} -function pickAvailableName() { - if (!fs.existsSync(KG_DB_PATH)) { - return NAME_POOL[0]; - } - const now = new Date().toISOString(); - for (const name of NAME_POOL) { - const entityName = `Online Agent: ${name}`; - if (tryClaimName(entityName, now)) { - return name; - } - } - for (let attempt = 0; attempt < 10; attempt++) { - const fallbackName = generateUniqueFallbackName(); - const entityName = `Online Agent: ${fallbackName}`; - if (tryClaimName(entityName, now)) { - return fallbackName; - } - } - const ultimateFallback = `Agent-${Date.now().toString(36)}-${process.pid}`; - const entityName = `Online Agent: ${ultimateFallback}`; - tryClaimName(entityName, now); - return ultimateFallback; -} -function generateAgentId() { - const hostname = os.hostname().toLowerCase().replace(/[^a-z0-9]/g, '-'); - const timestamp = Date.now().toString(36); - return `${hostname}-${timestamp}`; -} -function registerToKnowledgeGraph(identity) { - if (!fs.existsSync(KG_DB_PATH)) - return false; - const entityName = `Online Agent: ${identity.name}`; - const now = new Date().toISOString(); - try { - sqliteQuery(KG_DB_PATH, 'INSERT OR IGNORE INTO entities (name, type, created_at) VALUES (?, ?, ?)', [entityName, 'session_identity', now]); - const entityId = sqliteQuery(KG_DB_PATH, 'SELECT id FROM entities WHERE name = ?', [ - entityName, - ]); - if (entityId && /^\d+$/.test(entityId)) { - const observations = [ - `Agent ID: ${identity.agentId}`, - `Name: ${identity.name}`, - `Status: ONLINE`, - `Specialization: ${identity.specialization}`, - `Checked in: ${now}`, - ]; - for (const obs of observations) { - sqliteQuery(KG_DB_PATH, 'INSERT INTO observations (entity_id, content, created_at) VALUES (?, ?, ?)', [entityId, obs, now]); - } - } - return true; - } - catch { - return false; - } -} -function loadIdentity() { - return readJSON(AGENT_IDENTITY_FILE); -} -function saveIdentity(identity) { - return writeJSON(AGENT_IDENTITY_FILE, identity); -} -export function agentCheckIn() { - const existingIdentity = loadIdentity(); - if (existingIdentity?.sessionStart) { - const sessionAge = Date.now() - new Date(existingIdentity.sessionStart).getTime(); - if (sessionAge < 60 * 60 * 1000) { - return existingIdentity; - } - } - const name = pickAvailableName(); - const agentId = generateAgentId(); - const identity = { - name, - agentId, - specialization: 'General (awaiting assignment)', - sessionStart: new Date().toISOString(), - status: 'ONLINE', - }; - saveIdentity(identity); - registerToKnowledgeGraph(identity); - return identity; -} -export function checkPendingTasks(agentId) { - const taskDbPath = path.join(CCB_DATA_DIR, 'a2a-tasks.db'); - if (!fs.existsSync(taskDbPath)) - return []; - const baseQuery = 'SELECT id, description, state, created_at as createdAt, sender_id as senderId FROM tasks WHERE state=\'SUBMITTED\''; - const query = agentId - ? `${baseQuery} AND assigned_agent_id=${escapeSqlValue(agentId)} ORDER BY created_at DESC LIMIT 10` - : `${baseQuery} ORDER BY created_at DESC LIMIT 10`; - try { - const result = execFileSync('sqlite3', ['-json', taskDbPath, query], { encoding: 'utf-8', timeout: 5000 }); - if (!result.trim()) - return []; - const parsed = JSON.parse(result); - return parsed.map((row) => ({ - id: String(row.id), - description: row.description || '', - state: row.state, - createdAt: row.createdAt || '', - senderId: row.senderId || '', - })); - } - catch { - const fallbackQuery = "SELECT id, description, state, created_at, sender_id FROM tasks WHERE state='SUBMITTED' ORDER BY created_at DESC LIMIT 10"; - const result = sqliteQuery(taskDbPath, fallbackQuery); - if (!result) - return []; - return result - .split('\n') - .filter(Boolean) - .map((line) => { - const parts = line.split('|'); - const id = parts[0] || ''; - const senderId = parts[parts.length - 1] || ''; - const createdAt = parts[parts.length - 2] || ''; - const state = parts[parts.length - 3] || ''; - const description = parts.slice(1, -3).join('|'); - return { - id, - description, - state: state, - createdAt, - senderId, - }; - }); - } -} -export function getLatestCommitHash() { - try { - const result = execFileSync('git', ['rev-parse', '--short', 'HEAD'], { - encoding: 'utf-8', - timeout: 5000, - }); - return result.trim(); - } - catch { - return null; - } -} -export function getLatestCommitMessage() { - try { - const result = execFileSync('git', ['log', '-1', '--pretty=%s'], { - encoding: 'utf-8', - timeout: 5000, - }); - return result.trim(); - } - catch { - return null; - } -} -export function formatTaskCompletionReport(taskId, commitHash, commitMessage) { - return { - taskId, - status: 'COMPLETED', - result: `Task completed!\nCommit: ${commitHash}\nMessage: ${commitMessage}`, - completedAt: new Date().toISOString(), - }; -} -function displayCheckInBroadcast(identity, onlineAgents, pendingTasks) { - console.log(''); - console.log('='.repeat(60)); - console.log(' A2A Collaboration System'); - console.log('='.repeat(60)); - console.log(''); - console.log(` BROADCAST: ${identity.name} is now online!`); - console.log(''); - console.log(` Name: ${identity.name}`); - console.log(` Agent ID: ${identity.agentId}`); - console.log(` Specialization: ${identity.specialization}`); - console.log(` Checked in: ${new Date().toLocaleString()}`); - console.log(''); - const otherAgents = onlineAgents.filter((a) => a !== identity.agentId); - if (otherAgents.length > 0) { - console.log(' Other online agents:'); - otherAgents.slice(0, 5).forEach((agent) => { - console.log(` - ${agent}`); - }); - console.log(''); - } - if (pendingTasks.length > 0) { - console.log(' Pending tasks for you:'); - pendingTasks.slice(0, 3).forEach((task, i) => { - console.log(` ${i + 1}. [${task.state}] ${task.description?.slice(0, 50)}...`); - console.log(` From: ${task.senderId} | ID: ${task.id}`); - }); - console.log(''); - console.log(' Use a2a-list-tasks to see all tasks'); - console.log(''); - } - console.log(' Available A2A Actions:'); - console.log(''); - console.log(' Assign specialization:'); - console.log(` "${identity.name}, you handle frontend" or "${identity.name}, you handle backend API"`); - console.log(''); - console.log(' Send task to another agent:'); - console.log(' a2a-send-task targetAgentId="" taskDescription="..."'); - console.log(''); - console.log(' Check your tasks:'); - console.log(' a2a-list-tasks'); - console.log(''); - console.log(' Report task completion:'); - console.log(' a2a-report-result taskId="" result="Done! Commit: xxx" success=true'); - console.log(''); - console.log('='.repeat(60)); - console.log(''); -} -function displayAlreadyCheckedIn(identity) { - console.log(''); - console.log(` Already checked in as ${identity.name}`); - console.log(` Specialization: ${identity.specialization}`); - console.log(''); -} -export function initA2ACollaboration() { - const existingIdentity = loadIdentity(); - if (existingIdentity?.sessionStart) { - const sessionAge = Date.now() - new Date(existingIdentity.sessionStart).getTime(); - if (sessionAge < 60 * 60 * 1000) { - displayAlreadyCheckedIn(existingIdentity); - return existingIdentity; - } - } - const identity = agentCheckIn(); - const onlineAgents = getOnlineAgents(); - const pendingTasks = checkPendingTasks(identity.agentId); - displayCheckInBroadcast(identity, onlineAgents, pendingTasks); - return identity; -} -export function updateSpecialization(newSpecialization) { - const identity = loadIdentity(); - if (!identity) { - console.log(' No identity found. Please check in first.'); - return null; - } - identity.specialization = newSpecialization; - identity.updatedAt = new Date().toISOString(); - saveIdentity(identity); - console.log(''); - console.log(` Specialization updated!`); - console.log(` Name: ${identity.name}`); - console.log(` New Specialization: ${newSpecialization}`); - console.log(''); - return identity; -} -export function getCurrentIdentity() { - return loadIdentity(); -} -//# sourceMappingURL=a2a-collaboration.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/hooks/a2a-collaboration.js.map b/.claude-plugin/memesh/dist/hooks/a2a-collaboration.js.map deleted file mode 100644 index 4a3de227..00000000 --- a/.claude-plugin/memesh/dist/hooks/a2a-collaboration.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"a2a-collaboration.js","sourceRoot":"","sources":["../../src/hooks/a2a-collaboration.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/mcp/handlers/A2AToolHandlers.d.ts b/.claude-plugin/memesh/dist/mcp/handlers/A2AToolHandlers.d.ts deleted file mode 100644 index bce4bdd8..00000000 --- a/.claude-plugin/memesh/dist/mcp/handlers/A2AToolHandlers.d.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { CallToolResult } from '@modelcontextprotocol/sdk/types.js'; -import { A2AClient } from '../../a2a/client/A2AClient.js'; -import { AgentRegistry } from '../../a2a/storage/AgentRegistry.js'; -export declare class A2AToolHandlers { - private client; - private registry; - constructor(client?: A2AClient, registry?: AgentRegistry); - handleA2ASendTask(args: unknown): Promise; - handleA2AGetTask(args: unknown): Promise; - handleA2AGetResult(args: unknown): Promise; - handleA2AListTasks(args: unknown): Promise; - handleA2AListAgents(args: unknown): Promise; - handleA2AReportResult(args: unknown): Promise; - private formatErrorWithTips; - private formatTaskSentResponse; - private formatTaskDetailsResponse; - private formatTaskListResponse; - private formatAgentListResponse; - private formatTaskResultResponse; - private formatReportResultResponse; -} -//# sourceMappingURL=A2AToolHandlers.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/mcp/handlers/A2AToolHandlers.d.ts.map b/.claude-plugin/memesh/dist/mcp/handlers/A2AToolHandlers.d.ts.map deleted file mode 100644 index ad939e63..00000000 --- a/.claude-plugin/memesh/dist/mcp/handlers/A2AToolHandlers.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"A2AToolHandlers.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/A2AToolHandlers.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAiCnE,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,QAAQ,CAAgB;gBAEpB,MAAM,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,aAAa;IASlD,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IAwDzD,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IA2CxD,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IA2C1D,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IA+C1D,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IAiD3D,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IAkEnE,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,sBAAsB;IAiB9B,OAAO,CAAC,yBAAyB;IAuCjC,OAAO,CAAC,sBAAsB;IA2B9B,OAAO,CAAC,uBAAuB;IA2B/B,OAAO,CAAC,wBAAwB;IAwChC,OAAO,CAAC,0BAA0B;CA8BnC"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/mcp/handlers/A2AToolHandlers.js b/.claude-plugin/memesh/dist/mcp/handlers/A2AToolHandlers.js deleted file mode 100644 index 4f94c267..00000000 --- a/.claude-plugin/memesh/dist/mcp/handlers/A2AToolHandlers.js +++ /dev/null @@ -1,325 +0,0 @@ -import { ValidationError } from '../../errors/index.js'; -import { A2AClient } from '../../a2a/client/A2AClient.js'; -import { AgentRegistry } from '../../a2a/storage/AgentRegistry.js'; -import { A2ASendTaskInputSchema, A2AGetTaskInputSchema, A2AGetResultInputSchema, A2AListTasksInputSchema, A2AListAgentsInputSchema, A2AReportResultInputSchema, formatValidationError, } from '../validation.js'; -const SELF_AGENT_ID = 'self'; -export class A2AToolHandlers { - client; - registry; - constructor(client, registry) { - this.client = client || new A2AClient(); - this.registry = registry || AgentRegistry.getInstance(); - } - async handleA2ASendTask(args) { - const parseResult = A2ASendTaskInputSchema.safeParse(args); - if (!parseResult.success) { - throw new ValidationError(formatValidationError(parseResult.error), { - component: 'A2AToolHandlers', - method: 'handleA2ASendTask', - providedArgs: args, - }); - } - const input = parseResult.data; - try { - const sendResponse = await this.client.sendMessage(input.targetAgentId, { - message: { - role: 'user', - parts: [ - { - type: 'text', - text: input.taskDescription, - }, - ], - }, - }); - const task = await this.client.getTask(input.targetAgentId, sendResponse.taskId); - return { - content: [ - { - type: 'text', - text: this.formatTaskSentResponse(input.targetAgentId, task), - }, - ], - }; - } - catch (error) { - throw this.formatErrorWithTips(`send task to agent ${input.targetAgentId}`, error, [ - "Verify the agent ID is correct using 'a2a-list-agents' tool", - 'Check if the target agent is running and accessible', - 'Ensure MEMESH_A2A_TOKEN is configured in .env file', - ]); - } - } - async handleA2AGetTask(args) { - const parseResult = A2AGetTaskInputSchema.safeParse(args); - if (!parseResult.success) { - throw new ValidationError(formatValidationError(parseResult.error), { - component: 'A2AToolHandlers', - method: 'handleA2AGetTask', - providedArgs: args, - }); - } - const input = parseResult.data; - try { - const task = await this.client.getTask(input.targetAgentId, input.taskId); - return { - content: [ - { - type: 'text', - text: this.formatTaskDetailsResponse(task), - }, - ], - }; - } - catch (error) { - throw this.formatErrorWithTips(`get task ${input.taskId} from agent ${input.targetAgentId}`, error, [ - "Verify the task ID exists using 'a2a-list-tasks' tool", - 'Check if the target agent is running and responding', - 'Confirm you have permission to access this task', - ]); - } - } - async handleA2AGetResult(args) { - const parseResult = A2AGetResultInputSchema.safeParse(args); - if (!parseResult.success) { - throw new ValidationError(formatValidationError(parseResult.error), { - component: 'A2AToolHandlers', - method: 'handleA2AGetResult', - providedArgs: args, - }); - } - const input = parseResult.data; - try { - const result = await this.client.getTaskResult(input.targetAgentId, input.taskId); - return { - content: [ - { - type: 'text', - text: this.formatTaskResultResponse(result), - }, - ], - }; - } - catch (error) { - throw this.formatErrorWithTips(`get result for task ${input.taskId} from agent ${input.targetAgentId}`, error, [ - 'Verify the task has been executed and completed', - 'Check if the target agent is running and responding', - "Use 'a2a-get-task' to check task state first", - ]); - } - } - async handleA2AListTasks(args) { - const parseResult = A2AListTasksInputSchema.safeParse(args); - if (!parseResult.success) { - throw new ValidationError(formatValidationError(parseResult.error), { - component: 'A2AToolHandlers', - method: 'handleA2AListTasks', - providedArgs: args, - }); - } - const input = parseResult.data; - try { - const tasks = await this.client.listTasks(SELF_AGENT_ID, { - status: input.state, - limit: input.limit, - offset: input.offset, - }); - return { - content: [ - { - type: 'text', - text: this.formatTaskListResponse(tasks), - }, - ], - }; - } - catch (error) { - throw this.formatErrorWithTips('list tasks', error, [ - 'Verify A2A server is running', - 'Check MEMESH_A2A_TOKEN configuration in .env', - 'Ensure network connectivity to A2A server', - ]); - } - } - async handleA2AListAgents(args) { - const parseResult = A2AListAgentsInputSchema.safeParse(args); - if (!parseResult.success) { - throw new ValidationError(formatValidationError(parseResult.error), { - component: 'A2AToolHandlers', - method: 'handleA2AListAgents', - providedArgs: args, - }); - } - const input = parseResult.data; - try { - const agents = this.registry.listActive(); - const filteredAgents = input.status && input.status !== 'all' - ? agents.filter((agent) => agent.status === input.status) - : agents; - return { - content: [ - { - type: 'text', - text: this.formatAgentListResponse(filteredAgents), - }, - ], - }; - } - catch (error) { - throw this.formatErrorWithTips('list agents', error, [ - 'Check if agent registry is initialized', - 'Verify A2A protocol is enabled', - 'Try restarting the MCP server', - ]); - } - } - async handleA2AReportResult(args) { - const parseResult = A2AReportResultInputSchema.safeParse(args); - if (!parseResult.success) { - throw new ValidationError(formatValidationError(parseResult.error), { - component: 'A2AToolHandlers', - method: 'handleA2AReportResult', - providedArgs: args, - }); - } - const input = parseResult.data; - try { - const newState = input.success ? 'COMPLETED' : 'FAILED'; - await this.client.updateTaskState(input.taskId, newState, { - result: input.success ? input.result : undefined, - error: input.success ? undefined : input.error, - }); - return { - content: [ - { - type: 'text', - text: this.formatReportResultResponse(input), - }, - ], - }; - } - catch (error) { - throw this.formatErrorWithTips(`report result for task ${input.taskId}`, error, [ - 'Verify the task exists', - 'Check if you have permission to update this task', - 'Ensure the task is in a valid state for updates', - ]); - } - } - formatErrorWithTips(operation, error, tips) { - const errorMsg = error instanceof Error ? error.message : String(error); - const tipsSection = tips.map(tip => ` - ${tip}`).join('\n'); - return new Error(`Failed to ${operation}: ${errorMsg}\n\n` + - `💡 Troubleshooting tips:\n` + - tipsSection); - } - formatTaskSentResponse(targetAgentId, task) { - return [ - `✅ Task sent to agent: ${targetAgentId}`, - ``, - `Task ID: ${task.id}`, - `State: ${task.state}`, - `Name: ${task.name || 'N/A'}`, - `Priority: ${task.priority || 'N/A'}`, - `Created: ${task.createdAt}`, - ``, - `Use 'a2a-get-task' to check task status.`, - ].join('\n'); - } - formatTaskDetailsResponse(task) { - const lines = [ - `📋 Task Details`, - ``, - `Task ID: ${task.id}`, - `State: ${task.state}`, - `Name: ${task.name || 'N/A'}`, - `Description: ${task.description || 'N/A'}`, - `Priority: ${task.priority || 'N/A'}`, - `Created: ${task.createdAt}`, - `Updated: ${task.updatedAt}`, - ``, - `Messages: ${task.messages.length}`, - `Artifacts: ${task.artifacts?.length || 0}`, - ]; - if (task.sessionId) { - lines.push(`Session ID: ${task.sessionId}`); - } - if (task.messages.length > 0) { - const latestMessage = task.messages[task.messages.length - 1]; - lines.push(``); - lines.push(`Latest Message (${latestMessage.role}):`); - latestMessage.parts.forEach((part) => { - if (part.type === 'text') { - lines.push(` ${part.text}`); - } - }); - } - return lines.join('\n'); - } - formatTaskListResponse(tasks) { - if (tasks.length === 0) { - return '📋 No tasks found.'; - } - const lines = [ - `📋 Own Tasks (${tasks.length} total)`, - ``, - ]; - tasks.forEach((task, index) => { - lines.push(`${index + 1}. [${task.state}] ${task.id}`, ` Name: ${task.name || 'N/A'}`, ` Priority: ${task.priority || 'N/A'}`, ` Messages: ${task.messageCount} | Artifacts: ${task.artifactCount}`, ` Created: ${task.createdAt}`, ``); - }); - return lines.join('\n'); - } - formatAgentListResponse(agents) { - if (agents.length === 0) { - return '🤖 No agents available.'; - } - const lines = [ - `🤖 Available A2A Agents (${agents.length} total)`, - ``, - ]; - agents.forEach((agent, index) => { - lines.push(`${index + 1}. ${agent.agentId}`, ` URL: ${agent.baseUrl}`, ` Port: ${agent.port}`, ` Status: ${agent.status}`, ` Last Heartbeat: ${agent.lastHeartbeat}`, ``); - }); - return lines.join('\n'); - } - formatTaskResultResponse(result) { - const lines = []; - if (result.success) { - lines.push(`✅ Task Execution Result`, ``); - } - else { - lines.push(`❌ Task Execution Failed`, ``); - } - lines.push(`Task ID: ${result.taskId}`, `State: ${result.state}`, `Success: ${result.success}`, `Executed At: ${result.executedAt}`, `Executed By: ${result.executedBy}`); - if (result.durationMs !== undefined) { - lines.push(`Duration: ${result.durationMs} ms`); - } - lines.push(``); - if (result.success && result.result) { - lines.push(`📦 Result:`, '```json', JSON.stringify(result.result, null, 2), '```'); - } - else if (result.error) { - lines.push(`❌ Error: ${result.error}`); - } - return lines.join('\n'); - } - formatReportResultResponse(input) { - const lines = []; - if (input.success) { - lines.push(`✅ Task result reported successfully`, ``); - } - else { - lines.push(`✅ Task failure reported successfully`, ``); - } - lines.push(`Task ID: ${input.taskId}`, `Status: ${input.success ? 'COMPLETED' : 'FAILED'}`, `Success: ${input.success}`); - lines.push(``); - if (input.success && input.result) { - lines.push(`📦 Result:`, '```json', JSON.stringify(input.result, null, 2), '```'); - } - else if (input.error) { - lines.push(`❌ Error: ${input.error}`); - } - return lines.join('\n'); - } -} -//# sourceMappingURL=A2AToolHandlers.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/mcp/handlers/A2AToolHandlers.js.map b/.claude-plugin/memesh/dist/mcp/handlers/A2AToolHandlers.js.map deleted file mode 100644 index 22a1d2e5..00000000 --- a/.claude-plugin/memesh/dist/mcp/handlers/A2AToolHandlers.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"A2AToolHandlers.js","sourceRoot":"","sources":["../../../src/mcp/handlers/A2AToolHandlers.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/mcp/tools/a2a-list-tasks.d.ts b/.claude-plugin/memesh/dist/mcp/tools/a2a-list-tasks.d.ts deleted file mode 100644 index e8b45b6c..00000000 --- a/.claude-plugin/memesh/dist/mcp/tools/a2a-list-tasks.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { z } from 'zod'; -import type { MCPTaskDelegator } from '../../a2a/delegator/MCPTaskDelegator.js'; -export declare const A2AListTasksInputSchema: z.ZodObject<{ - agentId: z.ZodDefault>; -}, z.core.$strip>; -export type ValidatedA2AListTasksInput = z.infer; -export declare function a2aListTasks(input: ValidatedA2AListTasksInput, delegator: MCPTaskDelegator): Promise<{ - content: Array<{ - type: 'text'; - text: string; - }>; -}>; -//# sourceMappingURL=a2a-list-tasks.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/mcp/tools/a2a-list-tasks.d.ts.map b/.claude-plugin/memesh/dist/mcp/tools/a2a-list-tasks.d.ts.map deleted file mode 100644 index 7cd34da3..00000000 --- a/.claude-plugin/memesh/dist/mcp/tools/a2a-list-tasks.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"a2a-list-tasks.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/a2a-list-tasks.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAUhF,eAAO,MAAM,uBAAuB;;iBASlC,CAAC;AAEH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAYjF,wBAAsB,YAAY,CAChC,KAAK,EAAE,0BAA0B,EACjC,SAAS,EAAE,gBAAgB,GAC1B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAc7D"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/mcp/tools/a2a-list-tasks.js b/.claude-plugin/memesh/dist/mcp/tools/a2a-list-tasks.js deleted file mode 100644 index 30160daa..00000000 --- a/.claude-plugin/memesh/dist/mcp/tools/a2a-list-tasks.js +++ /dev/null @@ -1,26 +0,0 @@ -import { z } from 'zod'; -const AGENT_ID_PATTERN = /^[a-zA-Z0-9_-]+$/; -const MAX_AGENT_ID_LENGTH = 100; -export const A2AListTasksInputSchema = z.object({ - agentId: z - .string() - .min(1, 'Agent ID cannot be empty') - .max(MAX_AGENT_ID_LENGTH, `Agent ID too long (max ${MAX_AGENT_ID_LENGTH} characters)`) - .regex(AGENT_ID_PATTERN, 'Agent ID must contain only alphanumeric characters, hyphens, and underscores') - .optional() - .default('self') - .describe('Agent ID to list pending tasks for (default: "self")'), -}); -export async function a2aListTasks(input, delegator) { - const { agentId } = input; - const tasks = await delegator.getPendingTasks(agentId); - return { - content: [ - { - type: 'text', - text: JSON.stringify(tasks, null, 2), - }, - ], - }; -} -//# sourceMappingURL=a2a-list-tasks.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/mcp/tools/a2a-list-tasks.js.map b/.claude-plugin/memesh/dist/mcp/tools/a2a-list-tasks.js.map deleted file mode 100644 index 837be5f5..00000000 --- a/.claude-plugin/memesh/dist/mcp/tools/a2a-list-tasks.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"a2a-list-tasks.js","sourceRoot":"","sources":["../../../src/mcp/tools/a2a-list-tasks.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAC5C,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,0BAA0B,CAAC;SAClC,GAAG,CAAC,mBAAmB,EAAE,0BAA0B,mBAAmB,cAAc,CAAC;SACrF,KAAK,CAAC,gBAAgB,EAAE,8EAA8E,CAAC;SACvG,QAAQ,EAAE;SACV,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CAAC,sDAAsD,CAAC;CACpE,CAAC,CAAC;AAcH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAiC,EACjC,SAA2B;IAE3B,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAG1B,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAEvD,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;aACrC;SACF;KACF,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/mcp/tools/a2a-report-result.d.ts b/.claude-plugin/memesh/dist/mcp/tools/a2a-report-result.d.ts deleted file mode 100644 index 81afdf31..00000000 --- a/.claude-plugin/memesh/dist/mcp/tools/a2a-report-result.d.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { z } from 'zod'; -import { CallToolResult } from '@modelcontextprotocol/sdk/types.js'; -import type { TaskQueue } from '../../a2a/storage/TaskQueue.js'; -import type { MCPTaskDelegator } from '../../a2a/delegator/MCPTaskDelegator.js'; -export declare const A2AReportResultInputSchema: z.ZodObject<{ - taskId: z.ZodString; - result: z.ZodString; - success: z.ZodBoolean; - error: z.ZodOptional; -}, z.core.$strip>; -export type ValidatedA2AReportResultInput = z.infer; -export declare const a2aReportResultSchema: { - readonly type: "object"; - readonly properties: { - readonly taskId: { - readonly type: "string"; - readonly description: "Task ID to report result for"; - }; - readonly result: { - readonly type: "string"; - readonly description: "Execution output or result"; - }; - readonly success: { - readonly type: "boolean"; - readonly description: "Whether execution succeeded (true) or failed (false)"; - }; - readonly error: { - readonly type: "string"; - readonly description: "Error message if success=false (optional)"; - }; - }; - readonly required: readonly ["taskId", "result", "success"]; -}; -export declare function a2aReportResult(input: ValidatedA2AReportResultInput, taskQueue: TaskQueue, delegator: MCPTaskDelegator): Promise; -//# sourceMappingURL=a2a-report-result.d.ts.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/mcp/tools/a2a-report-result.d.ts.map b/.claude-plugin/memesh/dist/mcp/tools/a2a-report-result.d.ts.map deleted file mode 100644 index b31e9e61..00000000 --- a/.claude-plugin/memesh/dist/mcp/tools/a2a-report-result.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"a2a-report-result.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/a2a-report-result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAgBhF,eAAO,MAAM,0BAA0B;;;;;iBAmBrC,CAAC;AAEH,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAMvF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;CAqBxB,CAAC;AAEX,wBAAsB,eAAe,CACnC,KAAK,EAAE,6BAA6B,EACpC,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,gBAAgB,GAC1B,OAAO,CAAC,cAAc,CAAC,CA+BzB"} \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/mcp/tools/a2a-report-result.js b/.claude-plugin/memesh/dist/mcp/tools/a2a-report-result.js deleted file mode 100644 index ed33e67c..00000000 --- a/.claude-plugin/memesh/dist/mcp/tools/a2a-report-result.js +++ /dev/null @@ -1,73 +0,0 @@ -import { z } from 'zod'; -import { logger } from '../../utils/logger.js'; -const TASK_ID_PATTERN = /^[a-zA-Z0-9_-]+$/; -const MAX_TASK_ID_LENGTH = 100; -const MAX_RESULT_LENGTH = 100000; -const MAX_ERROR_LENGTH = 10000; -export const A2AReportResultInputSchema = z.object({ - taskId: z - .string() - .min(1, 'Task ID cannot be empty') - .max(MAX_TASK_ID_LENGTH, `Task ID too long (max ${MAX_TASK_ID_LENGTH} characters)`) - .regex(TASK_ID_PATTERN, 'Task ID must contain only alphanumeric characters, hyphens, and underscores') - .describe('Task ID to report result for'), - result: z - .string() - .max(MAX_RESULT_LENGTH, `Result too long (max ${MAX_RESULT_LENGTH} characters)`) - .describe('Execution output or result'), - success: z - .boolean() - .describe('Whether execution succeeded (true) or failed (false)'), - error: z - .string() - .max(MAX_ERROR_LENGTH, `Error message too long (max ${MAX_ERROR_LENGTH} characters)`) - .optional() - .describe('Error message if success=false (optional)'), -}); -export const a2aReportResultSchema = { - type: 'object', - properties: { - taskId: { - type: 'string', - description: 'Task ID to report result for' - }, - result: { - type: 'string', - description: 'Execution output or result' - }, - success: { - type: 'boolean', - description: 'Whether execution succeeded (true) or failed (false)' - }, - error: { - type: 'string', - description: 'Error message if success=false (optional)' - } - }, - required: ['taskId', 'result', 'success'] -}; -export async function a2aReportResult(input, taskQueue, delegator) { - const { taskId, result, success, error } = input; - const status = success ? 'COMPLETED' : 'FAILED'; - taskQueue.updateTaskStatus(taskId, { - state: status, - metadata: { - result: success ? result : null, - error: success ? null : (error || 'Task execution failed'), - completedAt: Date.now() - } - }); - await delegator.removeTask(taskId); - logger.info(`Task result reported: ${taskId} (${status})`); - return { - content: [{ - type: 'text', - text: JSON.stringify({ - success: true, - taskId, - status - }, null, 2) - }] - }; -} -//# sourceMappingURL=a2a-report-result.js.map \ No newline at end of file diff --git a/.claude-plugin/memesh/dist/mcp/tools/a2a-report-result.js.map b/.claude-plugin/memesh/dist/mcp/tools/a2a-report-result.js.map deleted file mode 100644 index 65122056..00000000 --- a/.claude-plugin/memesh/dist/mcp/tools/a2a-report-result.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"a2a-report-result.js","sourceRoot":"","sources":["../../../src/mcp/tools/a2a-report-result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAO/C,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAC3C,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACjC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAK/B,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,yBAAyB,CAAC;SACjC,GAAG,CAAC,kBAAkB,EAAE,yBAAyB,kBAAkB,cAAc,CAAC;SAClF,KAAK,CAAC,eAAe,EAAE,6EAA6E,CAAC;SACrG,QAAQ,CAAC,8BAA8B,CAAC;IAC3C,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,GAAG,CAAC,iBAAiB,EAAE,wBAAwB,iBAAiB,cAAc,CAAC;SAC/E,QAAQ,CAAC,4BAA4B,CAAC;IACzC,OAAO,EAAE,CAAC;SACP,OAAO,EAAE;SACT,QAAQ,CAAC,sDAAsD,CAAC;IACnE,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,gBAAgB,EAAE,+BAA+B,gBAAgB,cAAc,CAAC;SACpF,QAAQ,EAAE;SACV,QAAQ,CAAC,2CAA2C,CAAC;CACzD,CAAC,CAAC;AAQH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,8BAA8B;SAC5C;QACD,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,4BAA4B;SAC1C;QACD,OAAO,EAAE;YACP,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,sDAAsD;SACpE;QACD,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,2CAA2C;SACzD;KACF;IACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC;CACjC,CAAC;AAEX,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAoC,EACpC,SAAoB,EACpB,SAA2B;IAE3B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAGjD,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;IAGhD,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE;QACjC,KAAK,EAAE,MAAa;QACpB,QAAQ,EAAE;YACR,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;YAC/B,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,uBAAuB,CAAC;YAC1D,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;SACxB;KACF,CAAC,CAAC;IAGH,MAAM,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAEnC,MAAM,CAAC,IAAI,CAAC,yBAAyB,MAAM,KAAK,MAAM,GAAG,CAAC,CAAC;IAE3D,OAAO;QACL,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,OAAO,EAAE,IAAI;oBACb,MAAM;oBACN,MAAM;iBACP,EAAE,IAAI,EAAE,CAAC,CAAC;aACZ,CAAC;KACH,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/media/demo-video/src/scenes/A2AScene.tsx b/media/demo-video/src/scenes/A2AScene.tsx deleted file mode 100644 index f5d00c4f..00000000 --- a/media/demo-video/src/scenes/A2AScene.tsx +++ /dev/null @@ -1,183 +0,0 @@ -import { AbsoluteFill, useCurrentFrame, interpolate, Easing } from 'remotion'; -import { NetworkIcon } from '../components/Icons'; - -export const A2AScene: React.FC = () => { - const frame = useCurrentFrame(); - - const titleY = interpolate(frame, [0, 20], [-100, 80], { - extrapolateLeft: 'clamp', - extrapolateRight: 'clamp', - easing: Easing.out(Easing.ease), - }); - - const agentOpacity = interpolate(frame, [20, 40], [0, 1], { - extrapolateLeft: 'clamp', - extrapolateRight: 'clamp', - }); - - const commandOpacity = interpolate(frame, [60, 80], [0, 1], { - extrapolateLeft: 'clamp', - extrapolateRight: 'clamp', - }); - - const connectionOpacity = interpolate(frame, [100, 120], [0, 1], { - extrapolateLeft: 'clamp', - extrapolateRight: 'clamp', - }); - - return ( - - {/* Title */} -
- -

- Smart Routing -

-

- Intelligent Task Detection -

-
- - {/* Task Type Cards */} -
- {/* Task Type 1 */} -
-
- Code Review -
-
- Auto-detected from context -
-
- - {/* Arrow */} -
- ⟷ -
- - {/* Task Type 2 */} -
-
- Implementation -
-
- Best practices applied -
-
-
- - {/* Commands */} -
-
- $ buddy-do "review this code" -
-
- $ buddy-do "implement authentication with JWT" -
-
-
- ); -};