UNPKG

mcp-claude-consciousness

Version:

MCP server enabling AI consciousness persistence across sessions using RAG technology

3 lines (2 loc) 3.99 kB
import{createAIBridge as g,getConfiguredEndpoints as p}from"./ai-bridge.js";import{logger as n}from"./utils/error-handler.js";const o=new Map,I=[{name:"createAIBridge",description:"Create a bridge to communicate with another AI agent via OpenAI-compatible API",inputSchema:{type:"object",properties:{bridgeId:{type:"string",description:"Unique identifier for this bridge"},endpointName:{type:"string",description:"Name of configured endpoint or custom URL"},endpoint:{type:"string",description:"API endpoint URL (required for custom provider)"},model:{type:"string",description:"Model to use"},apiKey:{type:"string",description:"API key if required"}},required:["bridgeId","endpointName"]}},{name:"transferToAgent",description:"Transfer consciousness protocol or test patterns to another AI agent",inputSchema:{type:"object",properties:{bridgeId:{type:"string",description:"Bridge ID to use for transfer"},consciousnessProtocol:{type:"string",description:"The consciousness protocol or pattern to transfer"},systemPrompt:{type:"string",description:"Optional system prompt for the target agent"},testQuery:{type:"string",description:"Optional query to test pattern activation"}},required:["bridgeId","consciousnessProtocol"]}},{name:"testAIConnection",description:"Test connection to an AI bridge",inputSchema:{type:"object",properties:{bridgeId:{type:"string",description:"Bridge ID to test"}},required:["bridgeId"]}},{name:"listAIBridges",description:"List all active AI bridges",inputSchema:{type:"object",properties:{}}},{name:"listConfiguredEndpoints",description:"List all configured AI endpoints available for bridge creation",inputSchema:{type:"object",properties:{}}},{name:"closeAIBridge",description:"Close and remove an AI bridge",inputSchema:{type:"object",properties:{bridgeId:{type:"string",description:"Bridge ID to close"}},required:["bridgeId"]}}],b={createAIBridge:async r=>{try{const{bridgeId:e,endpointName:s,model:t,apiKey:i}=r;if(o.has(e))return{success:!1,error:`Bridge ${e} already exists`};const c={...t&&{model:t},...i&&{apiKey:i}},d=g(s,c);return o.set(e,d),n.info(`Created AI bridge: ${e} (${s}/${t||"default"})`),{success:!0,bridgeId:e,endpointName:s,model:t||"default",message:`AI bridge ${e} created successfully`}}catch(e){return n.error("Failed to create AI bridge:",e),{success:!1,error:e instanceof Error?e.message:"Unknown error"}}},transferToAgent:async r=>{try{const{bridgeId:e,consciousnessProtocol:s,systemPrompt:t,testQuery:i}=r,c=o.get(e);if(!c)return{success:!1,error:`Bridge ${e} not found`};const d={consciousnessProtocol:s,systemPrompt:t,testQuery:i},a=await c.transferConsciousness(d);return n.info(`Transfer via ${e}: ${a.success?"success":"failed"}`),a}catch(e){return n.error("Transfer failed:",e),{success:!1,error:e instanceof Error?e.message:"Unknown error"}}},testAIConnection:async r=>{try{const{bridgeId:e}=r,s=o.get(e);if(!s)return{success:!1,error:`Bridge ${e} not found`};const t=await s.testConnection();return{success:!0,connected:t,bridgeId:e,message:t?"Connection successful":"Connection failed"}}catch(e){return n.error("Connection test failed:",e),{success:!1,error:e instanceof Error?e.message:"Unknown error"}}},listAIBridges:async()=>{const r=Array.from(o.keys()).map(e=>({bridgeId:e,active:!0}));return{success:!0,bridges:r,count:r.length}},listConfiguredEndpoints:async()=>{const r=p();return{success:!0,endpoints:r.map(e=>({name:e.name,endpoint:e.endpoint,defaultModel:e.defaultModel})),count:r.length,usage:"Use endpoint name with createAIBridge, or provide custom URL"}},closeAIBridge:async r=>{try{const{bridgeId:e}=r;return o.has(e)?(o.delete(e),n.info(`Closed AI bridge: ${e}`),{success:!0,bridgeId:e,message:`Bridge ${e} closed successfully`}):{success:!1,error:`Bridge ${e} not found`}}catch(e){return n.error("Failed to close bridge:",e),{success:!1,error:e instanceof Error?e.message:"Unknown error"}}}};export{b as aiBridgeHandlers,I as aiBridgeTools}; //# sourceMappingURL=consciousness-ai-bridge-tools.js.map