@elizaos/core 2.0.0-alpha.134 → 2.0.0-alpha.135

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4381,7 +4381,7 @@ ${X.promptText}`:X.promptText;return await $.useModel(k$.TEXT_LARGE,{prompt:S})}
4381
4381
  ${j}`}}if(P)await P(H);return{success:!0,text:H.text}}catch(O){J$.error({error:O},"Error in SEARCH_KNOWLEDGE action");let W={text:`I encountered an error while searching the knowledge base: ${O instanceof Error?O.message:String(O)}`};if(P)await P(W);return{success:!1,error:O instanceof Error?O.message:String(O)}}}},sm$=[qd6,Kd6];w8();R8();r6();var em$={name:"AVAILABLE_DOCUMENTS",description:"List of documents available in the knowledge base. Shows which documents the agent can reference and retrieve information from.",dynamic:!0,get:async($,q,K)=>{try{let Y=$.getService("knowledge");if(!Y)return J$.warn("Knowledge service not available for documents provider"),{data:{documents:[]},values:{documentsCount:0,documents:"",availableDocuments:""},text:""};let O=(await Y.getMemories({tableName:"documents",roomId:$.agentId,count:100})).filter((J)=>J.metadata?.type===D1.DOCUMENT);if(!O||O.length===0)return{data:{documents:[]},values:{documentsCount:0,documents:"",availableDocuments:""},text:""};let W=O.map((J,z)=>{let H=J.metadata,j=H?.filename||H?.title||`Document ${z+1}`,Z=H?.fileExt||H?.fileType||"",X=H?.source||"upload",f=H?.fileSize,A=[j];if(Z)A.push(Z);if(f){let v=Math.round(f/1024);if(v>1024)A.push(`${Math.round(v/1024)}MB`);else A.push(`${v}KB`)}if(X&&X!=="upload")A.push(`from ${X}`);return A.join(" - ")}).join(`
4382
4382
  `),_=U8("# Available Documents",`${O.length} document(s) in knowledge base:
4383
4383
  ${W}`);return{data:{documents:O.map((J)=>({id:J.id,filename:J.metadata?.filename||J.metadata?.title,fileType:J.metadata?.fileType||J.metadata?.fileExt,source:J.metadata?.source})),count:O.length},values:{documentsCount:O.length,documents:W,availableDocuments:_},text:_}}catch(Y){return J$.error("Error in documents provider:",Y instanceof Error?Y.message:String(Y)),{data:{documents:[],error:Y instanceof Error?Y.message:String(Y)},values:{documentsCount:0,documents:"",availableDocuments:""},text:""}}}};r6();var $n$={name:"KNOWLEDGE",description:"Knowledge from the knowledge base that the agent knows, retrieved whenever the agent needs to answer a question about their expertise.",dynamic:!0,get:async($,q)=>{let K=$.getService("knowledge"),Y=await K?.getKnowledge(q);if(!Y||Y.length===0)return{text:"",values:{knowledge:"",knowledgeUsed:!1},data:{knowledge:"",ragMetadata:null,knowledgeUsed:!1}};let P=Y.slice(0,5),O=U8("# Knowledge",P.map((z)=>`- ${z.content.text}`).join(`
4384
- `)),_=14000;if(O.length>_)O=O.slice(0,_);let J={retrievedFragments:Y.map((z)=>{let H=z.metadata;return{fragmentId:z.id,documentTitle:H?.filename||H?.title||"",similarityScore:z.similarity,contentPreview:`${(z.content?.text||"").substring(0,100)}...`}}),queryText:q.content?.text||"",totalFragments:Y.length,retrievalTimestamp:Date.now()};return K.setPendingRAGMetadata(J),setTimeout(async()=>{await K.enrichRecentMemoriesWithPendingRAG()},2000),{data:{knowledge:O,ragMetadata:J,knowledgeUsed:!0},values:{knowledge:O,knowledgeUsed:!0},text:O,ragMetadata:J,knowledgeUsed:!0}}};function rI($={}){let{enableActions:q=!0,enableProviders:K=!0}=$;return{name:"knowledge",description:"Native Retrieval Augmented Generation capabilities, including knowledge ingestion and retrieval.",services:[O9],providers:K?[$n$,em$]:[],actions:q?sm$:[]}}var D6$=rI(),Yd6=rI({enableActions:!1,enableProviders:!0}),Pd6=rI({enableActions:!0,enableProviders:!0});WK();YK();w8();z_();Z3();var{AsyncLocalStorage:sd6}=(()=>({}));var ln$=new sd6;jj$({run($,q){return ln$.run($,q)},active(){return ln$.getStore()}});function t1($){if(typeof $==="number"&&Number.isFinite($))return $;if(typeof $==="string"){let q=Number($);return Number.isFinite(q)?q:null}return null}function J4($){if(typeof $==="string")return $;if(typeof $==="number"||typeof $==="boolean")return String($);if($ instanceof Date)return $.toISOString();return null}function ed6($){if($ instanceof Date)return $.toISOString();let q=J4($);if(!q)return new Date(0).toISOString();let K=new Date(q);if(Number.isNaN(K.getTime()))return new Date(0).toISOString();return K.toISOString()}function a6($,...q){for(let K of q)if(Object.hasOwn($,K))return $[K];return}function g6($){if($===null||$===void 0)return"NULL";if(typeof $==="number")return String($);if(typeof $==="boolean")return $?"TRUE":"FALSE";if(typeof $==="object")return`'${JSON.stringify($).replace(/'/g,"''")}'`;return`'${String($).replace(/'/g,"''")}'`}class k5 extends H1{static serviceType="trajectories";get serviceType(){return k5.serviceType}capabilityDescription="Captures and persists LLM calls, provider accesses, and full trajectories for debugging, analysis, and RL training";static resolveFromRuntime($){let q=$.getService(k5.serviceType);if(q&&typeof q.startTrajectory==="function")return q;let K=typeof $.getServicesByType==="function"?$.getServicesByType(k5.serviceType):[];for(let Y of K)if(typeof Y.startTrajectory==="function")return Y;return null}static async waitForService($,q=1e4){let K=Date.now()+q;while(Date.now()<K){let Y=k5.resolveFromRuntime($);if(Y)return Y;await new Promise((P)=>setTimeout(P,50))}return null}enabled=!0;initialized=!1;activeStepIds=new Map;stepToTrajectory=new Map;writeQueues=new Map;exposeBoundMethods(){let $=this;$.startTrajectory=this.startTrajectory.bind(this),$.endTrajectory=this.endTrajectory.bind(this),$.startStep=this.startStep.bind(this),$.getCurrentStepId=this.getCurrentStepId.bind(this),$.completeStep=this.completeStep.bind(this),$.logLLMCall=this.logLLMCall.bind(this),$.logProviderAccess=this.logProviderAccess.bind(this),$.logProviderAccessByTrajectoryId=this.logProviderAccessByTrajectoryId.bind(this),$.isEnabled=this.isEnabled.bind(this),$.listTrajectories=this.listTrajectories.bind(this),$.getTrajectoryDetail=this.getTrajectoryDetail.bind(this),$.flushWriteQueue=this.flushWriteQueue.bind(this)}static async start($){let q=new k5($);return await q.initialize(),q}async stop(){this.enabled=!1}setEnabled($){this.enabled=$}isEnabled(){return this.enabled}async getSqlHelper(){return(await Promise.resolve().then(() => (in$(),Qn$))).sql}async executeRawSql($){let q=this.runtime;if(!q?.adapter)throw Error("Database adapter not available");let K=await this.getSqlHelper(),Y=q.adapter.db,P=K.raw($),O=await Y.execute(P),W=Array.isArray(O.rows)?O.rows:[],_=O.fields&&Array.isArray(O.fields)?O.fields.map((J)=>J.name):W.length>0?Object.keys(W[0]):[];return{rows:W,columns:_}}async initialize(){if(this.initialized)return;if(this.exposeBoundMethods(),!this.runtime?.adapter){J$.warn("[trajectory-logger] No runtime adapter available, skipping initialization");return}await this.ensureTablesExist(),this.initialized=!0,J$.info("[trajectories] Trajectories service initialized")}async getTableColumnNames($){let q=new Set;try{let Y=await this.executeRawSql(`
4384
+ `)),_=14000;if(O.length>_)O=O.slice(0,_);let J={retrievedFragments:Y.map((z)=>{let H=z.metadata;return{fragmentId:z.id,documentTitle:H?.filename||H?.title||"",similarityScore:z.similarity,contentPreview:`${(z.content?.text||"").substring(0,100)}...`}}),queryText:q.content?.text||"",totalFragments:Y.length,retrievalTimestamp:Date.now()};return K.setPendingRAGMetadata(J),setTimeout(async()=>{await K.enrichRecentMemoriesWithPendingRAG()},2000),{data:{knowledge:O,ragMetadata:J,knowledgeUsed:!0},values:{knowledge:O,knowledgeUsed:!0},text:O,ragMetadata:J,knowledgeUsed:!0}}};function rI($={}){let{enableActions:q=!0,enableProviders:K=!0}=$;return{name:"knowledge",description:"Native Retrieval Augmented Generation capabilities, including knowledge ingestion and retrieval.",services:[O9],providers:K?[$n$,em$]:[],actions:q?sm$:[]}}var D6$=rI(),Yd6=rI({enableActions:!1,enableProviders:!0}),Pd6=rI({enableActions:!0,enableProviders:!0});WK();YK();w8();z_();Z3();var{AsyncLocalStorage:sd6}=(()=>({}));var ln$=new sd6;jj$({run($,q){return ln$.run($,q)},active(){return ln$.getStore()}});function t1($){if(typeof $==="number"&&Number.isFinite($))return $;if(typeof $==="string"){let q=Number($);return Number.isFinite(q)?q:null}return null}function J4($){if(typeof $==="string")return $;if(typeof $==="number"||typeof $==="boolean")return String($);if($ instanceof Date)return $.toISOString();return null}function ed6($){if($ instanceof Date)return $.toISOString();let q=J4($);if(!q)return new Date(0).toISOString();let K=new Date(q);if(Number.isNaN(K.getTime()))return new Date(0).toISOString();return K.toISOString()}function a6($,...q){for(let K of q)if(Object.hasOwn($,K))return $[K];return}function g6($){if($===null||$===void 0)return"NULL";if(typeof $==="number")return String($);if(typeof $==="boolean")return $?"TRUE":"FALSE";if(typeof $==="object")return`'${JSON.stringify($).replace(/'/g,"''")}'`;return`'${String($).replace(/'/g,"''")}'`}class k5 extends H1{static serviceType="trajectories";get serviceType(){return k5.serviceType}capabilityDescription="Captures and persists LLM calls, provider accesses, and full trajectories for debugging, analysis, and RL training";static resolveFromRuntime($){let q=$.getService(k5.serviceType);if(q&&typeof q.startTrajectory==="function")return q;let K=typeof $.getServicesByType==="function"?$.getServicesByType(k5.serviceType):[];for(let Y of K)if(typeof Y.startTrajectory==="function")return Y;return null}static async waitForService($,q=1e4){let K=Date.now()+q;while(Date.now()<K){let Y=k5.resolveFromRuntime($);if(Y)return Y;await new Promise((P)=>setTimeout(P,50))}return null}enabled=!0;initialized=!1;activeStepIds=new Map;stepToTrajectory=new Map;writeQueues=new Map;exposeBoundMethods(){let $=this;$.startTrajectory=this.startTrajectory.bind(this),$.endTrajectory=this.endTrajectory.bind(this),$.startStep=this.startStep.bind(this),$.getCurrentStepId=this.getCurrentStepId.bind(this),$.completeStep=this.completeStep.bind(this),$.logLLMCall=this.logLLMCall.bind(this),$.logProviderAccess=this.logProviderAccess.bind(this),$.logProviderAccessByTrajectoryId=this.logProviderAccessByTrajectoryId.bind(this),$.isEnabled=this.isEnabled.bind(this),$.listTrajectories=this.listTrajectories.bind(this),$.getTrajectoryDetail=this.getTrajectoryDetail.bind(this),$.flushWriteQueue=this.flushWriteQueue.bind(this)}static async start($){let q=new k5($);return await q.initialize(),q}async stop(){this.enabled=!1,await Promise.allSettled(this.writeQueues.values())}setEnabled($){this.enabled=$}isEnabled(){return this.enabled}async getSqlHelper(){return(await Promise.resolve().then(() => (in$(),Qn$))).sql}async executeRawSql($){let q=this.runtime;if(!q?.adapter)throw Error("Database adapter not available");let K=await this.getSqlHelper(),Y=q.adapter.db,P=K.raw($),O=await Y.execute(P),W=Array.isArray(O.rows)?O.rows:[],_=O.fields&&Array.isArray(O.fields)?O.fields.map((J)=>J.name):W.length>0?Object.keys(W[0]):[];return{rows:W,columns:_}}async initialize(){if(this.initialized)return;if(this.exposeBoundMethods(),!this.runtime?.adapter){J$.warn("[trajectory-logger] No runtime adapter available, skipping initialization");return}await this.ensureTablesExist(),this.initialized=!0,J$.info("[trajectories] Trajectories service initialized")}async getTableColumnNames($){let q=new Set;try{let Y=await this.executeRawSql(`
4385
4385
  SELECT column_name
4386
4386
  FROM information_schema.columns
4387
4387
  WHERE table_name = ${g6($)}
@@ -4436,7 +4436,7 @@ ${W}`);return{data:{documents:O.map((J)=>({id:J.id,filename:J.metadata?.filename
4436
4436
  created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
4437
4437
  updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP
4438
4438
  )
4439
- `),await this.executeRawSql("CREATE INDEX IF NOT EXISTS idx_trajectory_step_index_trajectory_id ON trajectory_step_index(trajectory_id)"),await this.executeRawSql("CREATE INDEX IF NOT EXISTS idx_trajectory_step_index_is_active ON trajectory_step_index(is_active)")}normalizePurpose($){switch($){case"action":case"reasoning":case"evaluation":case"response":case"other":return $;default:return"other"}}defaultEnvironmentState($=Date.now()){return{timestamp:$,agentBalance:0,agentPoints:0,agentPnL:0,openPositions:0}}createPendingAction($){return{attemptId:"",timestamp:$,actionType:"pending",actionName:"pending",parameters:{},success:!1}}createStep($,q,K){let Y=K.timestamp||Date.now();return{stepId:$,stepNumber:q,timestamp:Y,environmentState:K,observation:{},llmCalls:[],providerAccesses:[],action:this.createPendingAction(Y),reward:0,done:!1}}computeTotals($){let q=0,K=0,Y=0,P=0;for(let O of $){let W=Array.isArray(O.llmCalls)?O.llmCalls:[],_=Array.isArray(O.providerAccesses)?O.providerAccesses:[];q+=W.length,K+=_.length;for(let J of W)Y+=J.promptTokens??0,P+=J.completionTokens??0}return{stepCount:$.length,llmCallCount:q,providerAccessCount:K,totalPromptTokens:Y,totalCompletionTokens:P}}async flushWriteQueue($){let q=this.writeQueues.get($);if(q)await q.catch((K)=>{throw J$.error({err:K,trajectoryId:$},"[trajectory-logger] flushWriteQueue: pending trajectory write failed"),K})}async withTrajectoryWriteLock($,q){let Y=(this.writeQueues.get($)??Promise.resolve()).catch(()=>{}).then(q);this.writeQueues.set($,Y);try{await Y}finally{if(this.writeQueues.get($)===Y)this.writeQueues.delete($)}}async getTrajectoryById($){let q=await this.executeRawSql(`SELECT * FROM trajectories WHERE id = ${g6($)} LIMIT 1`);if(q.rows.length===0)return null;return this.rowToTrajectory(q.rows[0])}async getStepIndex($){let K=(await this.executeRawSql(`SELECT trajectory_id, step_number, is_active FROM trajectory_step_index WHERE step_id = ${g6($)} LIMIT 1`)).rows[0];if(!K)return null;let Y=J4(a6(K,"trajectory_id"));if(!Y)return null;let P=t1(a6(K,"step_number"))??0,O=J4(a6(K,"is_active")),W=O==="true"||O==="t"||a6(K,"is_active")===!0;return{trajectoryId:Y,stepNumber:P,isActive:W}}async setStepIndex($,q,K,Y){await this.executeRawSql(`
4439
+ `),await this.executeRawSql("CREATE INDEX IF NOT EXISTS idx_trajectory_step_index_trajectory_id ON trajectory_step_index(trajectory_id)"),await this.executeRawSql("CREATE INDEX IF NOT EXISTS idx_trajectory_step_index_is_active ON trajectory_step_index(is_active)")}normalizePurpose($){switch($){case"action":case"reasoning":case"evaluation":case"response":case"other":return $;default:return"other"}}defaultEnvironmentState($=Date.now()){return{timestamp:$,agentBalance:0,agentPoints:0,agentPnL:0,openPositions:0}}createPendingAction($){return{attemptId:"",timestamp:$,actionType:"pending",actionName:"pending",parameters:{},success:!1}}createStep($,q,K){let Y=K.timestamp||Date.now();return{stepId:$,stepNumber:q,timestamp:Y,environmentState:K,observation:{},llmCalls:[],providerAccesses:[],action:this.createPendingAction(Y),reward:0,done:!1}}computeTotals($){let q=0,K=0,Y=0,P=0;for(let O of $){let W=Array.isArray(O.llmCalls)?O.llmCalls:[],_=Array.isArray(O.providerAccesses)?O.providerAccesses:[];q+=W.length,K+=_.length;for(let J of W)Y+=J.promptTokens??0,P+=J.completionTokens??0}return{stepCount:$.length,llmCallCount:q,providerAccessCount:K,totalPromptTokens:Y,totalCompletionTokens:P}}async flushWriteQueue($){let q=this.writeQueues.get($);if(q)await q.catch((K)=>{throw J$.error({err:K,trajectoryId:$},"[trajectory-logger] flushWriteQueue: pending trajectory write failed"),K})}async withTrajectoryWriteLock($,q){let Y=(this.writeQueues.get($)??Promise.resolve()).catch(()=>{}).then(q);this.writeQueues.set($,Y);try{await Y}finally{if(this.writeQueues.get($)===Y)this.writeQueues.delete($)}}reportDetachedWriteFailure($,q,K){J$.error({err:K,...q},$)}async getTrajectoryById($){let q=await this.executeRawSql(`SELECT * FROM trajectories WHERE id = ${g6($)} LIMIT 1`);if(q.rows.length===0)return null;return this.rowToTrajectory(q.rows[0])}async getStepIndex($){let K=(await this.executeRawSql(`SELECT trajectory_id, step_number, is_active FROM trajectory_step_index WHERE step_id = ${g6($)} LIMIT 1`)).rows[0];if(!K)return null;let Y=J4(a6(K,"trajectory_id"));if(!Y)return null;let P=t1(a6(K,"step_number"))??0,O=J4(a6(K,"is_active")),W=O==="true"||O==="t"||a6(K,"is_active")===!0;return{trajectoryId:Y,stepNumber:P,isActive:W}}async setStepIndex($,q,K,Y){await this.executeRawSql(`
4440
4440
  INSERT INTO trajectory_step_index (
4441
4441
  step_id, trajectory_id, step_number, is_active, updated_at
4442
4442
  ) VALUES (
@@ -4493,7 +4493,7 @@ ${W}`);return{data:{documents:O.map((J)=>({id:J.id,filename:J.metadata?.filename
4493
4493
  metadata = ${g6(q.metadata)},
4494
4494
  updated_at = ${g6(_)}
4495
4495
  WHERE id = ${g6($)}
4496
- `).catch((z)=>{throw J$.warn({err:z,trajectoryId:$},`[trajectory-logger] Failed to persist trajectory update after compatibility fallback: ${J instanceof Error?J.message:String(J)}`),z})}}async ensureStepExists($,q){let K=$.steps.find((O)=>O.stepId===q);if(K){if(!Array.isArray(K.llmCalls))K.llmCalls=[];if(!Array.isArray(K.providerAccesses))K.providerAccesses=[];return K}let P=(await this.getStepIndex(q))?.stepNumber??$.steps.length;return K=this.createStep(q,P,this.defaultEnvironmentState()),$.steps.push(K),$.steps.sort((O,W)=>O.stepNumber-W.stepNumber),K}logLlmCall($){if(!this.enabled)return;let q=this.stepToTrajectory.get($.stepId);if(!q){(async()=>{let K=await this.resolveTrajectoryId($.stepId);if(!K)return;await this._persistLlmCall(K,$)})().catch((K)=>{throw J$.error({err:K,stepId:$.stepId},"[trajectory-logger] Failed to persist LLM call (async step resolution)"),K});return}this._persistLlmCall(q,$).catch((K)=>{throw J$.error({err:K,stepId:$.stepId},"[trajectory-logger] Failed to persist LLM call"),K})}async _persistLlmCall($,q){await this.withTrajectoryWriteLock($,async()=>{let K=await this.getTrajectoryById($);if(!K)return;let Y=await this.ensureStepExists(K,q.stepId),P={callId:I6(),timestamp:Date.now(),model:q.model,modelVersion:q.modelVersion,systemPrompt:q.systemPrompt,userPrompt:q.userPrompt,response:q.response,reasoning:q.reasoning,temperature:q.temperature,maxTokens:q.maxTokens,purpose:this.normalizePurpose(q.purpose),actionType:q.actionType,promptTokens:q.promptTokens,completionTokens:q.completionTokens,latencyMs:q.latencyMs};Y.llmCalls.push(P);let O=this.computeTotals(K.steps),W=new Date().toISOString();await this.executeRawSql(`
4496
+ `).catch((z)=>{throw J$.warn({err:z,trajectoryId:$},`[trajectory-logger] Failed to persist trajectory update after compatibility fallback: ${J instanceof Error?J.message:String(J)}`),z})}}async ensureStepExists($,q){let K=$.steps.find((O)=>O.stepId===q);if(K){if(!Array.isArray(K.llmCalls))K.llmCalls=[];if(!Array.isArray(K.providerAccesses))K.providerAccesses=[];return K}let P=(await this.getStepIndex(q))?.stepNumber??$.steps.length;return K=this.createStep(q,P,this.defaultEnvironmentState()),$.steps.push(K),$.steps.sort((O,W)=>O.stepNumber-W.stepNumber),K}logLlmCall($){if(!this.enabled)return;let q=this.stepToTrajectory.get($.stepId);if(!q){(async()=>{let K=await this.resolveTrajectoryId($.stepId);if(!K)return;await this._persistLlmCall(K,$)})().catch((K)=>{this.reportDetachedWriteFailure("[trajectory-logger] Failed to persist LLM call (async step resolution)",{stepId:$.stepId},K)});return}this._persistLlmCall(q,$).catch((K)=>{this.reportDetachedWriteFailure("[trajectory-logger] Failed to persist LLM call",{stepId:$.stepId},K)})}async _persistLlmCall($,q){await this.withTrajectoryWriteLock($,async()=>{let K=await this.getTrajectoryById($);if(!K)return;let Y=await this.ensureStepExists(K,q.stepId),P={callId:I6(),timestamp:Date.now(),model:q.model,modelVersion:q.modelVersion,systemPrompt:q.systemPrompt,userPrompt:q.userPrompt,response:q.response,reasoning:q.reasoning,temperature:q.temperature,maxTokens:q.maxTokens,purpose:this.normalizePurpose(q.purpose),actionType:q.actionType,promptTokens:q.promptTokens,completionTokens:q.completionTokens,latencyMs:q.latencyMs};Y.llmCalls.push(P);let O=this.computeTotals(K.steps),W=new Date().toISOString();await this.executeRawSql(`
4497
4497
  UPDATE trajectories SET
4498
4498
  steps_json = ${g6(K.steps)},
4499
4499
  step_count = ${O.stepCount},
@@ -4513,7 +4513,7 @@ ${W}`);return{data:{documents:O.map((J)=>({id:J.id,filename:J.metadata?.filename
4513
4513
  total_completion_tokens = ${_.totalCompletionTokens},
4514
4514
  updated_at = ${g6(J)}
4515
4515
  WHERE id = ${g6(Y)}
4516
- `)})})().catch((Y)=>{throw J$.error({err:Y,stepId:K.stepId},"[trajectory-logger] Failed to persist provider access"),Y})}logProviderAccessByTrajectoryId($,q){let K=this.getCurrentStepId($);if(!K){J$.debug({trajectoryId:$},"[trajectory-logger] No active step for provider access by trajectory");return}this.logProviderAccess(K,q)}async startTrajectory($,q={}){if(!this.enabled)return I6();let K=typeof q.agentId==="string"&&q.agentId.length>0?$:null,Y=(typeof q.agentId==="string"&&q.agentId.length>0?q.agentId:$)??$,P=I6(),O=Date.now(),W=new Date(O).toISOString(),_={...q.metadata??{}};if(q.roomId)_.roomId=q.roomId;if(q.entityId)_.entityId=q.entityId;let J={trajectoryId:P,agentId:Y,startTime:O,endTime:O,durationMs:0,scenarioId:q.scenarioId,episodeId:q.episodeId,batchId:q.batchId,groupIndex:q.groupIndex,steps:[],totalReward:0,rewardComponents:{environmentReward:0},metrics:{episodeLength:0,finalStatus:"completed"},metadata:{source:q.source??"chat",..._}},z=!1;try{await this.executeRawSql(`
4516
+ `)})})().catch((Y)=>{this.reportDetachedWriteFailure("[trajectory-logger] Failed to persist provider access",{stepId:K.stepId},Y)})}logProviderAccessByTrajectoryId($,q){let K=this.getCurrentStepId($);if(!K){J$.debug({trajectoryId:$},"[trajectory-logger] No active step for provider access by trajectory");return}this.logProviderAccess(K,q)}async startTrajectory($,q={}){if(!this.enabled)return I6();let K=typeof q.agentId==="string"&&q.agentId.length>0?$:null,Y=(typeof q.agentId==="string"&&q.agentId.length>0?q.agentId:$)??$,P=I6(),O=Date.now(),W=new Date(O).toISOString(),_={...q.metadata??{}};if(q.roomId)_.roomId=q.roomId;if(q.entityId)_.entityId=q.entityId;let J={trajectoryId:P,agentId:Y,startTime:O,endTime:O,durationMs:0,scenarioId:q.scenarioId,episodeId:q.episodeId,batchId:q.batchId,groupIndex:q.groupIndex,steps:[],totalReward:0,rewardComponents:{environmentReward:0},metrics:{episodeLength:0,finalStatus:"completed"},metadata:{source:q.source??"chat",..._}},z=!1;try{await this.executeRawSql(`
4517
4517
  INSERT INTO trajectories (
4518
4518
  id, agent_id, source, status, start_time, scenario_id, episode_id,
4519
4519
  batch_id, group_index, metadata_json, steps_json, reward_components_json, metrics_json,
@@ -4549,7 +4549,7 @@ ${W}`);return{data:{documents:O.map((J)=>({id:J.id,filename:J.metadata?.filename
4549
4549
  ${g6(W)},
4550
4550
  ${g6(W)}
4551
4551
  )
4552
- `),z=!0}catch(j){J$.warn({err:j,trajectoryId:P},"[trajectory-logger] Failed to persist trajectory start")}}if(z&&K){this.stepToTrajectory.set(K,P);try{await this.setStepIndex(K,P,-1,!1)}catch(H){J$.warn({err:H,trajectoryId:P,stepId:K},"[trajectory-logger] Failed to persist step index for trajectory start")}}return P}startStep($,q){if(!this.enabled)return I6();let K=I6();return this.activeStepIds.set($,K),this.stepToTrajectory.set(K,$),this.withTrajectoryWriteLock($,async()=>{let Y=await this.getTrajectoryById($);if(!Y){J$.warn({trajectoryId:$},"[trajectory-logger] Trajectory not found for startStep");return}let P=this.createStep(K,Y.steps.length,q);Y.steps.push(P),await this.markAllStepsInactive($),await this.setStepIndex(K,$,P.stepNumber,!0),await this.persistTrajectory($,Y,"active")}).catch((Y)=>{throw J$.error({err:Y,trajectoryId:$,stepId:K},"[trajectory-logger] Failed to persist startStep"),Y}),K}completeStep($,q,K,Y){if(!this.enabled)return;let P=typeof q==="string"?q:null,O=typeof q==="string"?K:q,W=typeof q==="string"?Y:K;if(!O)return;this.withTrajectoryWriteLock($,async()=>{let _=await this.getTrajectoryById($);if(!_)return;let J=P??this.activeStepIds.get($)??await this.getCurrentStepIdFromDb($);if(!J)return;let z=await this.ensureStepExists(_,J);if(z.action={attemptId:I6(),timestamp:Date.now(),...O},z.done=!0,W?.reward!==void 0)z.reward=W.reward,_.totalReward+=W.reward;if(W?.components)_.rewardComponents={..._.rewardComponents,...W.components};await this.setStepIndex(J,$,z.stepNumber,!1),this.activeStepIds.delete($);let H=this.computeTotals(_.steps),j=new Date().toISOString();await this.executeRawSql(`
4552
+ `),z=!0}catch(j){J$.warn({err:j,trajectoryId:P},"[trajectory-logger] Failed to persist trajectory start")}}if(z&&K){this.stepToTrajectory.set(K,P);try{await this.setStepIndex(K,P,-1,!1)}catch(H){J$.warn({err:H,trajectoryId:P,stepId:K},"[trajectory-logger] Failed to persist step index for trajectory start")}}return P}startStep($,q){if(!this.enabled)return I6();let K=I6();return this.activeStepIds.set($,K),this.stepToTrajectory.set(K,$),this.withTrajectoryWriteLock($,async()=>{let Y=await this.getTrajectoryById($);if(!Y){J$.warn({trajectoryId:$},"[trajectory-logger] Trajectory not found for startStep");return}let P=this.createStep(K,Y.steps.length,q);Y.steps.push(P),await this.markAllStepsInactive($),await this.setStepIndex(K,$,P.stepNumber,!0),await this.persistTrajectory($,Y,"active")}).catch((Y)=>{this.reportDetachedWriteFailure("[trajectory-logger] Failed to persist startStep",{trajectoryId:$,stepId:K},Y)}),K}completeStep($,q,K,Y){if(!this.enabled)return;let P=typeof q==="string"?q:null,O=typeof q==="string"?K:q,W=typeof q==="string"?Y:K;if(!O)return;this.withTrajectoryWriteLock($,async()=>{let _=await this.getTrajectoryById($);if(!_)return;let J=P??this.activeStepIds.get($)??await this.getCurrentStepIdFromDb($);if(!J)return;let z=await this.ensureStepExists(_,J);if(z.action={attemptId:I6(),timestamp:Date.now(),...O},z.done=!0,W?.reward!==void 0)z.reward=W.reward,_.totalReward+=W.reward;if(W?.components)_.rewardComponents={..._.rewardComponents,...W.components};await this.setStepIndex(J,$,z.stepNumber,!1),this.activeStepIds.delete($);let H=this.computeTotals(_.steps),j=new Date().toISOString();await this.executeRawSql(`
4553
4553
  UPDATE trajectories SET
4554
4554
  steps_json = ${g6(_.steps)},
4555
4555
  step_count = ${H.stepCount},
@@ -4561,7 +4561,7 @@ ${W}`);return{data:{documents:O.map((J)=>({id:J.id,filename:J.metadata?.filename
4561
4561
  reward_components_json = ${g6(_.rewardComponents)},
4562
4562
  updated_at = ${g6(j)}
4563
4563
  WHERE id = ${g6($)}
4564
- `)}).catch((_)=>{throw J$.error({err:_,trajectoryId:$},"[trajectory-logger] Failed to complete step"),_})}async endTrajectory($,q="completed",K){if(!this.enabled)return;let Y=await this.resolveTrajectoryId($);if(!Y){J$.debug({stepIdOrTrajectoryId:$},"[trajectory-logger] No trajectory to end");return}await this.withTrajectoryWriteLock(Y,async()=>{let P=await this.getTrajectoryById(Y);if(!P){J$.debug({trajectoryId:Y},"[trajectory-logger] Trajectory not found while ending");return}let O=Date.now();if(P.endTime=O,P.durationMs=O-P.startTime,P.metrics={...P.metrics,finalStatus:q,episodeLength:P.steps.length},K)Object.assign(P.metrics,K);await this.markAllStepsInactive(Y),this.activeStepIds.delete(Y),await this.persistTrajectory(Y,P,q)});for(let[P,O]of this.stepToTrajectory.entries())if(O===Y)this.stepToTrajectory.delete(P)}async listTrajectories($={}){if(!this.runtime?.adapter)return{trajectories:[],total:0,offset:0,limit:50};let K=Math.max(0,$.offset??0),Y=Math.min(500,Math.max(1,$.limit??50)),P=[];if($.status)P.push(`status = ${g6($.status)}`);if($.source)P.push(`source = ${g6($.source)}`);if($.scenarioId)P.push(`scenario_id = ${g6($.scenarioId)}`);if($.batchId)P.push(`batch_id = ${g6($.batchId)}`);if($.isTrainingData!==void 0)P.push(`is_training_data = ${$.isTrainingData}`);if($.startDate)P.push(`created_at >= ${g6($.startDate)}::timestamptz`);if($.endDate)P.push(`created_at <= ${g6($.endDate)}::timestamptz`);if($.search){let H=$.search.replace(/'/g,"''").replace(/%/g,"\\%");P.push(`(
4564
+ `)}).catch((_)=>{this.reportDetachedWriteFailure("[trajectory-logger] Failed to complete step",{trajectoryId:$},_)})}async endTrajectory($,q="completed",K){if(!this.enabled)return;let Y=await this.resolveTrajectoryId($);if(!Y){J$.debug({stepIdOrTrajectoryId:$},"[trajectory-logger] No trajectory to end");return}await this.withTrajectoryWriteLock(Y,async()=>{let P=await this.getTrajectoryById(Y);if(!P){J$.debug({trajectoryId:Y},"[trajectory-logger] Trajectory not found while ending");return}let O=Date.now();if(P.endTime=O,P.durationMs=O-P.startTime,P.metrics={...P.metrics,finalStatus:q,episodeLength:P.steps.length},K)Object.assign(P.metrics,K);await this.markAllStepsInactive(Y),this.activeStepIds.delete(Y),await this.persistTrajectory(Y,P,q)});for(let[P,O]of this.stepToTrajectory.entries())if(O===Y)this.stepToTrajectory.delete(P)}async listTrajectories($={}){if(!this.runtime?.adapter)return{trajectories:[],total:0,offset:0,limit:50};let K=Math.max(0,$.offset??0),Y=Math.min(500,Math.max(1,$.limit??50)),P=[];if($.status)P.push(`status = ${g6($.status)}`);if($.source)P.push(`source = ${g6($.source)}`);if($.scenarioId)P.push(`scenario_id = ${g6($.scenarioId)}`);if($.batchId)P.push(`batch_id = ${g6($.batchId)}`);if($.isTrainingData!==void 0)P.push(`is_training_data = ${$.isTrainingData}`);if($.startDate)P.push(`created_at >= ${g6($.startDate)}::timestamptz`);if($.endDate)P.push(`created_at <= ${g6($.endDate)}::timestamptz`);if($.search){let H=$.search.replace(/'/g,"''").replace(/%/g,"\\%");P.push(`(
4565
4565
  id ILIKE '%${H}%' OR
4566
4566
  agent_id ILIKE '%${H}%' OR
4567
4567
  source ILIKE '%${H}%' OR
@@ -4683,5 +4683,5 @@ Please complete: ${$8.missingFields.concat($8.invalidFields,$8.incompleteFields)
4683
4683
  END
4684
4684
  `}}};var gF$={name:"central_messages",schema:"",columns:{id:{name:"id",type:"text",primaryKey:!0,notNull:!0},channel_id:{name:"channel_id",type:"text",notNull:!0},author_id:{name:"author_id",type:"text",notNull:!0},content:{name:"content",type:"text",notNull:!0},raw_message:{name:"raw_message",type:"jsonb"},in_reply_to_root_message_id:{name:"in_reply_to_root_message_id",type:"text"},source_type:{name:"source_type",type:"text"},source_id:{name:"source_id",type:"text"},metadata:{name:"metadata",type:"jsonb"},created_at:{name:"created_at",type:"timestamp",notNull:!0,default:"now()"},updated_at:{name:"updated_at",type:"timestamp",notNull:!0,default:"now()"}},indexes:{idx_messages_channel_created:{name:"idx_messages_channel_created",columns:[{expression:"channel_id",isExpression:!1},{expression:"created_at",isExpression:!1}],isUnique:!1},idx_messages_author:{name:"idx_messages_author",columns:[{expression:"author_id",isExpression:!1}],isUnique:!1}},foreignKeys:{fk_message_channel:{name:"fk_message_channel",tableFrom:"central_messages",tableTo:"channels",columnsFrom:["channel_id"],columnsTo:["id"],onDelete:"cascade",schemaTo:""},fk_message_reply:{name:"fk_message_reply",tableFrom:"central_messages",tableTo:"central_messages",columnsFrom:["in_reply_to_root_message_id"],columnsTo:["id"],onDelete:"set null",schemaTo:""}},compositePrimaryKeys:{},uniqueConstraints:{},checkConstraints:{}};var yF$={name:"message_servers",schema:"",columns:{id:{name:"id",type:"uuid",primaryKey:!0,notNull:!0},name:{name:"name",type:"text",notNull:!0},source_type:{name:"source_type",type:"text",notNull:!0},source_id:{name:"source_id",type:"text"},metadata:{name:"metadata",type:"jsonb"},created_at:{name:"created_at",type:"timestamp",notNull:!0,default:"now()"},updated_at:{name:"updated_at",type:"timestamp",notNull:!0,default:"now()"}},indexes:{idx_ms_source:{name:"idx_ms_source",columns:[{expression:"source_type",isExpression:!1},{expression:"source_id",isExpression:!1}],isUnique:!1}},foreignKeys:{},compositePrimaryKeys:{},uniqueConstraints:{},checkConstraints:{}};var cF$={name:"message_server_agents",schema:"",columns:{message_server_id:{name:"message_server_id",type:"uuid",notNull:!0},agent_id:{name:"agent_id",type:"uuid",notNull:!0}},indexes:{idx_msa_agent:{name:"idx_msa_agent",columns:[{expression:"agent_id",isExpression:!1}],isUnique:!1}},foreignKeys:{fk_message_server_agent_server:{name:"fk_message_server_agent_server",tableFrom:"message_server_agents",tableTo:"message_servers",columnsFrom:["message_server_id"],columnsTo:["id"],onDelete:"cascade",schemaTo:""},fk_message_server_agent_agent:{name:"fk_message_server_agent_agent",tableFrom:"message_server_agents",tableTo:"agents",columnsFrom:["agent_id"],columnsTo:["id"],onDelete:"cascade",schemaTo:""}},compositePrimaryKeys:{message_server_agents_pk:{name:"message_server_agents_pk",columns:["message_server_id","agent_id"]}},uniqueConstraints:{},checkConstraints:{}};var uF$={name:"pairing_allowlist",schema:"",columns:{id:{name:"id",type:"uuid",primaryKey:!0,notNull:!0,default:"defaultRandom()"},channel:{name:"channel",type:"text",notNull:!0},sender_id:{name:"sender_id",type:"text",notNull:!0},created_at:{name:"created_at",type:"timestamp",notNull:!0,default:"now()"},metadata:{name:"metadata",type:"jsonb",default:"{}"},agent_id:{name:"agent_id",type:"uuid",notNull:!0}},indexes:{pairing_allowlist_channel_agent_idx:{name:"pairing_allowlist_channel_agent_idx",columns:[{expression:"channel",isExpression:!1},{expression:"agent_id",isExpression:!1}],isUnique:!1},pairing_allowlist_sender_channel_agent_idx:{name:"pairing_allowlist_sender_channel_agent_idx",columns:[{expression:"sender_id",isExpression:!1},{expression:"channel",isExpression:!1},{expression:"agent_id",isExpression:!1}],isUnique:!0}},foreignKeys:{fk_pairing_allowlist_agent:{name:"fk_pairing_allowlist_agent",tableFrom:"pairing_allowlist",tableTo:"agents",columnsFrom:["agent_id"],columnsTo:["id"],onDelete:"cascade",schemaTo:""}},compositePrimaryKeys:{},uniqueConstraints:{},checkConstraints:{}};var pF$={name:"pairing_requests",schema:"",columns:{id:{name:"id",type:"uuid",primaryKey:!0,notNull:!0,default:"defaultRandom()"},channel:{name:"channel",type:"text",notNull:!0},sender_id:{name:"sender_id",type:"text",notNull:!0},code:{name:"code",type:"text",notNull:!0},created_at:{name:"created_at",type:"timestamp",notNull:!0,default:"now()"},last_seen_at:{name:"last_seen_at",type:"timestamp",notNull:!0,default:"now()"},metadata:{name:"metadata",type:"jsonb",default:"{}"},agent_id:{name:"agent_id",type:"uuid",notNull:!0}},indexes:{pairing_requests_channel_agent_idx:{name:"pairing_requests_channel_agent_idx",columns:[{expression:"channel",isExpression:!1},{expression:"agent_id",isExpression:!1}],isUnique:!1},pairing_requests_code_channel_agent_idx:{name:"pairing_requests_code_channel_agent_idx",columns:[{expression:"code",isExpression:!1},{expression:"channel",isExpression:!1},{expression:"agent_id",isExpression:!1}],isUnique:!0},pairing_requests_sender_channel_agent_idx:{name:"pairing_requests_sender_channel_agent_idx",columns:[{expression:"sender_id",isExpression:!1},{expression:"channel",isExpression:!1},{expression:"agent_id",isExpression:!1}],isUnique:!0}},foreignKeys:{fk_pairing_request_agent:{name:"fk_pairing_request_agent",tableFrom:"pairing_requests",tableTo:"agents",columnsFrom:["agent_id"],columnsTo:["id"],onDelete:"cascade",schemaTo:""}},compositePrimaryKeys:{},uniqueConstraints:{},checkConstraints:{}};var UF$={name:"participants",schema:"",columns:{id:{name:"id",type:"uuid",primaryKey:!0,notNull:!0,default:"gen_random_uuid()"},created_at:{name:"created_at",type:"timestamp",notNull:!0,default:"now()"},entity_id:{name:"entity_id",type:"uuid"},room_id:{name:"room_id",type:"uuid"},agent_id:{name:"agent_id",type:"uuid"},room_state:{name:"room_state",type:"text"}},indexes:{idx_participants_user:{name:"idx_participants_user",columns:[{expression:"entity_id",isExpression:!1}],isUnique:!1},idx_participants_room:{name:"idx_participants_room",columns:[{expression:"room_id",isExpression:!1}],isUnique:!1},idx_participants_entity_room:{name:"idx_participants_entity_room",columns:[{expression:"entity_id",isExpression:!1},{expression:"room_id",isExpression:!1}],isUnique:!0},idx_participants_agent:{name:"idx_participants_agent",columns:[{expression:"agent_id",isExpression:!1}],isUnique:!1}},foreignKeys:{fk_room:{name:"fk_room",tableFrom:"participants",tableTo:"rooms",columnsFrom:["room_id"],columnsTo:["id"],onDelete:"cascade",schemaTo:""},fk_user:{name:"fk_user",tableFrom:"participants",tableTo:"entities",columnsFrom:["entity_id"],columnsTo:["id"],onDelete:"cascade",schemaTo:""}},compositePrimaryKeys:{},uniqueConstraints:{},checkConstraints:{}};var BF$={name:"relationships",schema:"",columns:{id:{name:"id",type:"uuid",primaryKey:!0,notNull:!0,default:"gen_random_uuid()"},created_at:{name:"created_at",type:"timestamp",notNull:!0,default:"now()"},source_entity_id:{name:"source_entity_id",type:"uuid",notNull:!0},target_entity_id:{name:"target_entity_id",type:"uuid",notNull:!0},agent_id:{name:"agent_id",type:"uuid",notNull:!0},tags:{name:"tags",type:"text[]"},metadata:{name:"metadata",type:"jsonb"}},indexes:{idx_relationships_users:{name:"idx_relationships_users",columns:[{expression:"source_entity_id",isExpression:!1},{expression:"target_entity_id",isExpression:!1}],isUnique:!1},idx_relationships_target:{name:"idx_relationships_target",columns:[{expression:"target_entity_id",isExpression:!1}],isUnique:!1}},foreignKeys:{fk_user_a:{name:"fk_user_a",tableFrom:"relationships",tableTo:"entities",columnsFrom:["source_entity_id"],columnsTo:["id"],onDelete:"cascade",schemaTo:""},fk_user_b:{name:"fk_user_b",tableFrom:"relationships",tableTo:"entities",columnsFrom:["target_entity_id"],columnsTo:["id"],onDelete:"cascade",schemaTo:""},fk_relationship_agent:{name:"fk_relationship_agent",tableFrom:"relationships",tableTo:"agents",columnsFrom:["agent_id"],columnsTo:["id"],onDelete:"cascade",schemaTo:""}},compositePrimaryKeys:{},uniqueConstraints:{unique_relationship:{name:"unique_relationship",columns:["source_entity_id","target_entity_id","agent_id"]}},checkConstraints:{}};var dF$={name:"rooms",schema:"",columns:{id:{name:"id",type:"uuid",primaryKey:!0,notNull:!0,default:"gen_random_uuid()"},agent_id:{name:"agent_id",type:"uuid"},source:{name:"source",type:"text",notNull:!0},type:{name:"type",type:"text",notNull:!0},message_server_id:{name:"message_server_id",type:"uuid"},world_id:{name:"world_id",type:"uuid"},name:{name:"name",type:"text"},metadata:{name:"metadata",type:"jsonb"},channel_id:{name:"channel_id",type:"text"},created_at:{name:"created_at",type:"timestamp",notNull:!0,default:"now()"}},indexes:{idx_rooms_agent:{name:"idx_rooms_agent",columns:[{expression:"agent_id",isExpression:!1}],isUnique:!1},idx_rooms_world:{name:"idx_rooms_world",columns:[{expression:"world_id",isExpression:!1}],isUnique:!1}},foreignKeys:{fk_room_agent:{name:"fk_room_agent",tableFrom:"rooms",tableTo:"agents",columnsFrom:["agent_id"],columnsTo:["id"],onDelete:"cascade",schemaTo:""}},compositePrimaryKeys:{},uniqueConstraints:{},checkConstraints:{}};var mF$={name:"servers",schema:"",columns:{id:{name:"id",type:"uuid",primaryKey:!0,notNull:!0},created_at:{name:"created_at",type:"timestamp",notNull:!0,default:"now()"},updated_at:{name:"updated_at",type:"timestamp",notNull:!0,default:"now()"}},indexes:{},foreignKeys:{},compositePrimaryKeys:{},uniqueConstraints:{},checkConstraints:{}};var nF$={name:"tasks",schema:"",columns:{id:{name:"id",type:"uuid",primaryKey:!0,notNull:!0,default:"defaultRandom()"},name:{name:"name",type:"text",notNull:!0},description:{name:"description",type:"text"},room_id:{name:"room_id",type:"uuid"},world_id:{name:"world_id",type:"uuid"},entity_id:{name:"entity_id",type:"uuid"},agent_id:{name:"agent_id",type:"uuid",notNull:!0},tags:{name:"tags",type:"text[]",default:"[]"},metadata:{name:"metadata",type:"jsonb",default:"{}"},created_at:{name:"created_at",type:"timestamp",default:"now()"},updated_at:{name:"updated_at",type:"timestamp",default:"now()"}},indexes:{idx_tasks_agent:{name:"idx_tasks_agent",columns:[{expression:"agent_id",isExpression:!1}],isUnique:!1},idx_tasks_agent_name:{name:"idx_tasks_agent_name",columns:[{expression:"agent_id",isExpression:!1},{expression:"name",isExpression:!1}],isUnique:!1}},foreignKeys:{fk_task_agent:{name:"fk_task_agent",tableFrom:"tasks",tableTo:"agents",columnsFrom:["agent_id"],columnsTo:["id"],onDelete:"cascade",schemaTo:""}},compositePrimaryKeys:{},uniqueConstraints:{},checkConstraints:{}};var FF$={name:"worlds",schema:"",columns:{id:{name:"id",type:"uuid",primaryKey:!0,notNull:!0,default:"gen_random_uuid()"},agent_id:{name:"agent_id",type:"uuid",notNull:!0},name:{name:"name",type:"text",notNull:!0},metadata:{name:"metadata",type:"jsonb"},message_server_id:{name:"message_server_id",type:"uuid"},created_at:{name:"created_at",type:"timestamp",notNull:!0,default:"now()"}},indexes:{idx_worlds_agent:{name:"idx_worlds_agent",columns:[{expression:"agent_id",isExpression:!1}],isUnique:!1}},foreignKeys:{fk_world_agent:{name:"fk_world_agent",tableFrom:"worlds",tableTo:"agents",columnsFrom:["agent_id"],columnsTo:["id"],onDelete:"cascade",schemaTo:""}},compositePrimaryKeys:{},uniqueConstraints:{},checkConstraints:{}};function jn6($,q){return{agent:$(EF$,q),cache:$(SF$,q),channel:$(CF$,q),channelParticipant:$(RF$,q),component:$(hF$,q),embedding:$(IF$,q),entity:$(LF$,q),log:$(xF$,q),memory:$(bF$,q),message:$(gF$,q),messageServer:$(yF$,q),messageServerAgent:$(cF$,q),pairingAllowlist:$(uF$,q),pairingRequest:$(pF$,q),participant:$(UF$,q),relationship:$(BF$,q),room:$(dF$,q),server:$(mF$,q),task:$(nF$,q),world:$(FF$,q)}}R8();class QF${serviceType;startFn;stopFn;description;constructor($){this.serviceType=$,this.description=""}withDescription($){return this.description=$,this}withStart($){return this.startFn=$,this}withStop($){return this.stopFn=$,this}build(){let $=this.serviceType,q=this.description,K=this.startFn,Y=this.stopFn,P=class extends H1{capabilityDescription=q;async stop(){if(Y)await Y()}};return Object.defineProperty(P,"serviceType",{value:$,writable:!1,enumerable:!0,configurable:!1}),Object.defineProperty(P,"start",{value:async(W)=>{if(!K)throw Error(`Start function not defined for service ${$}`);return K(W)},writable:!1,enumerable:!0,configurable:!1}),P}}function Zn6($){return new QF$($)}function Bd8($){return Zn6($.serviceType).withDescription($.description).withStart($.start).withStop($.stop||(()=>Promise.resolve())).build()}z_();R8();r6();_z();var Qd8=!0,id8=!1,ld8={check:async()=>({status:"not-applicable",environment:"browser"}),isHealthy:()=>!0};export{OK6 as validateUuid,PW8 as validateCharacterConfig,Vf as validateCharacter,Wj$ as validateActionParams,Cj$ as uuidSchema,PZ8 as updateWorldSettings,W_8 as updateSettingsTemplate,P_8 as updateRoleTemplate,K_8 as updateEntityTemplate,rj$ as updateContactTemplate,JO as unsaltWorldSettings,m_6 as unsaltSettingValue,Pm as truncateToCompleteSentence,ZK8 as trimTokens,LH$ as toJson,UZ$ as toHex,oj$ as thinkTemplate,Af as summarizationEvaluator,SO6 as styleSchema,p38 as stripPluginOnlyAllowlist,Z8 as stringToUuid,eM as splitChunks,C38 as snakeToCamel,DF as slice,lj$ as shouldUnmuteRoomTemplate,ij$ as shouldUnfollowRoomTemplate,tW8 as shouldRespondWithContextTemplate,An as shouldRespondTemplate,Qj$ as shouldMuteRoomTemplate,Fj$ as shouldFollowRoomTemplate,RO6 as settingsSchema,sH as setTrajectoryPurpose,jj$ as setTrajectoryContextManager,dU8 as setStreamingContextManager,jQ6 as setEnv,uP8 as setEntityRole,xP8 as setConnectorAdminWhitelist,Mj$ as sessionSummaries,ld8 as serverHealth,hO6 as secretsSchema,nj$ as searchContactsTemplate,mj$ as scheduleFollowUpTemplate,oF as saltWorldSettings,d_6 as saltSettingValue,XK8 as safeReplacer,gN as runWithTrajectoryContext,HL as runWithStreamingContext,RN as resolveWorldForMessage,g38 as resolveToolProfilePolicy,tH$ as resolveEntityRole,yP8 as resolveCanonicalOwnerIdForMessage,tm as resolveCanonicalOwnerId,dj$ as replyTemplate,IQ6 as removeLogListener,Bj$ as removeContactTemplate,dW8 as reflectionTemplate,Uj$ as reflectionEvaluatorTemplate,uQ6 as recentLogs,aW6 as randomBytes,bH$ as proto,wK8 as prewarmUuidCache,pj$ as postCreationTemplate,fn as postActionDecisionTemplate,B6 as parseKeyValueXml,pH as parseJSONObjectFromText,YW8 as parseCharacter,G9 as parseBooleanFromText,sO8 as parseAndValidateCharacter,xN as parseActionParams,uj$ as optionExtractionTemplate,kN as normalizeToolName,cH$ as normalizeToolList,gP6 as normalizeRole,jK8 as normalizeJsonString,Hn as normalizeCharacterInput,cj$ as multiStepSummaryTemplate,yj$ as multiStepDecisionTemplate,YZ8 as migrateEncryptedStringValue,uN as messageHandlerTemplate,Rj$ as messageExampleSchema,NO6 as messageExampleGroupSchema,xW8 as messageClassifierTemplate,U38 as mergeToolPolicies,pU8 as mergeHybridResults,OW8 as mergeCharacterDefaults,Dj$ as memoryAccessLogs,AO6 as mediaSchema,MN as matchEntityToConnectorAdminWhitelist,SK8 as mapLegacyEvents,XK6 as mapLegacyEvent,vf as longTermMemoryProvider,vj$ as longTermMemories,ff as longTermExtractionEvaluator,J$ as logger,bQ6 as logResponse,xQ6 as logPrompt,yQ6 as logChatOut,gQ6 as logChatIn,fQ6 as loadEnvFile,MO6 as knowledgeItemSchema,VO6 as knowledgeDirectorySchema,eO8 as isValidCharacter,B38 as isToolAllowedByPolicy,bK8 as isStreamableModelType,UK8 as isStepCompleted,h8$ as isSimpleReplyResponse,id8 as isNode,fW8 as isMessageMetadata,TW8 as isFragmentMetadata,VW8 as isFragmentMemory,wW8 as isDocumentMetadata,vW8 as isDocumentMemory,AW8 as isDescriptionMetadata,GW8 as isCustomMetadata,iW6 as isBuffer,Qd8 as isBrowser,WZ8 as initializeOnboarding,wQ6 as initBrowserEnvironment,gj$ as imageGenerationTemplate,Tn as imageDescriptionTemplate,aM as hasFirstSentence,ZQ6 as hasEnv,hP6 as hasConfiguredCanonicalOwner,OZ8 as getWorldSettings,QH$ as getUserServerRole,h38 as getTypedService,aP8 as getTrajectoryContextManager,X3 as getTrajectoryContext,mU8 as getStreamingContextManager,V8$ as getStreamingContext,p_$ as getStepIndex,cK as getSalt,pK8 as getPreviousStep,FK8 as getPairingIdLabel,$x as getNumberEnv,uK8 as getNextStep,u_$ as getModelFallbackChain,DW8 as getMemoryText,tM as getLocalServerUrl,rH$ as getLiveEntityMetadataFromMessage,kP as getEnvironment,h7 as getEnv,SN as getEntityRole,rH as getEntityDetails,TK8 as getContentTypeFromMimeType,oH$ as getConnectorAdminWhitelist,em as getConfiguredOwnerEntityIds,XQ6 as getBooleanEnv,vF as fromString,xH$ as fromJson,GF as fromHex,oW6 as fromBytes,h_$ as formatTimestamp,Km as formatPosts,Ym as formatMessages,dH$ as formatEntities,Pj$ as formatActions,oP6 as formatActionParameters,Yj$ as formatActionNames,jf as findWorldsForOwner,VQ$ as findEnvFile,sP as findEntityByName,gm6 as extractStandaloneActionParams,cH as extractFirstSentence,lm as expandToolGroups,u38 as expandPolicyWithPluginGroups,yH$ as expandPluginGroups,rW6 as equals,_Z8 as encryptedCharacter,lF as encryptStringValue,n_6 as encryptObjectValues,cQ6 as elizaLogger,x1$ as detectEnvironment,Bd8 as defineService,JZ8 as decryptedCharacter,nf as decryptStringValue,nf as decryptSecret,F_6 as decryptObjectValues,LQ6 as customLevels,TQ6 as currentRuntime,Yq as createUniqueUuid,U_6 as createSettingFromConfig,I38 as createServiceError,Zn6 as createService,XW8 as createMessageMemory,Pw as createLogger,KW8 as createCharacter,fO6 as createAdvancedMemoryPlugin,Gf as contextSummaryProvider,vO6 as contentSchema,VF as concat,h8 as composePromptFromState,LK as composePrompt,FP8 as composeActionExamples,QP8 as composeActionCallExamples,y38 as collectExplicitAllowlist,KZ8 as clearSaltCache,RW8 as chooseOptionTemplate,cP8 as checkSenderRole,bP8 as checkSenderPrivateAccess,IO6 as characterSchema,gP8 as canModifyRole,BK8 as calculateProgress,tW6 as byteLength,c38 as buildPluginToolGroups,cU8 as buildFtsQuery,WW8 as buildCharacterPlugins,jn6 as buildBaseTables,nN as bufferToString,J_8 as booleanFooter,uU8 as bm25RankToScore,bj$ as autonomyTaskFirstTemplate,xj$ as autonomyTaskContinueTemplate,Lj$ as autonomyContinuousFirstTemplate,Ij$ as autonomyContinuousContinueTemplate,N1 as asUUID,lW6 as alloc,hQ6 as addLogListener,U8 as addHeader,hj$ as addContactTemplate,SQ6 as __loggerTestHooks,vK8 as VECTOR_DIMS,__8 as UPDATE_SETTINGS_TEMPLATE,O_8 as UPDATE_ROLE_TEMPLATE,Y_8 as UPDATE_ENTITY_TEMPLATE,q_8 as UPDATE_CONTACT_TEMPLATE,k5 as TrajectoriesService,A8$ as Tokenizer,m38 as TRIGGER_SCHEMA_VERSION,fP6 as TOOL_PROFILES,wP6 as TOOL_NAME_ALIASES,TP6 as TOOL_GROUPS,$_8 as THINK_TEMPLATE,bK as ServiceType,QF$ as ServiceBuilder,H1 as Service,zn6 as Semaphore,wK6 as SOCKET_MESSAGE_TYPE,eW8 as SHOULD_UNMUTE_ROOM_TEMPLATE,sW8 as SHOULD_UNFOLLOW_ROOM_TEMPLATE,aW8 as SHOULD_RESPOND_WITH_CONTEXT_TEMPLATE,rW8 as SHOULD_RESPOND_TEMPLATE,oW8 as SHOULD_MUTE_ROOM_TEMPLATE,lW8 as SHOULD_FOLLOW_ROOM_TEMPLATE,iW8 as SEARCH_CONTACTS_TEMPLATE,QW8 as SCHEDULE_FOLLOW_UP_TEMPLATE,DK8 as Role,NN as ROLE_RANK,Rm6 as RESERVED_XML_KEYS,FW8 as REPLY_TEMPLATE,nW8 as REMOVE_CONTACT_TEMPLATE,mW8 as REFLECTION_TEMPLATE,BW8 as REFLECTION_EVALUATOR_TEMPLATE,jK6 as PlatformPrefix,UW8 as POST_CREATION_TEMPLATE,pW8 as POST_ACTION_DECISION_TEMPLATE,AK6 as PAIRING_ID_LABELS,nK8 as PAIRING_CODE_ALPHABET,I4 as OnboardingStep,uW8 as OPTION_EXTRACTION_TEMPLATE,sT as ONBOARDING_STEP_ORDER,yK8 as ONBOARDING_STEP_LABELS,cK8 as ONBOARDING_STEP_DESCRIPTIONS,k$ as ModelType,D1 as MemoryType,qj as MemoryService,cW8 as MULTI_STEP_SUMMARY_TEMPLATE,yW8 as MULTI_STEP_DECISION_TEMPLATE,xK8 as MODEL_SETTINGS,hK8 as MESSAGE_STREAM_EVENT,gW8 as MESSAGE_HANDLER_TEMPLATE,bW8 as MESSAGE_CLASSIFIER_TEMPLATE,JK8 as MAX_EMBEDDING_TOKENS,zK8 as MAX_EMBEDDING_CHARS,Tf as LongTermMemoryCategory,LK8 as LLMMode,ZK6 as LEGACY_EVENT_MAP,wn as InMemoryDatabaseAdapter,HP6 as IWebSearchService,PP6 as IWalletService,_P6 as IVideoService,WP6 as ITranscriptionService,YP6 as ITokenDataService,XP6 as IPostService,zP6 as IPdfService,ZP6 as IMessagingService,LW8 as IMAGE_GENERATION_TEMPLATE,IW8 as IMAGE_DESCRIPTION_TEMPLATE,OP6 as ILpService,jP6 as IEmailService,JP6 as IBrowserService,rT as EventType,g1$ as Environment,x8$ as DefaultMessageService,jn as DatabaseAdapter,_m as DEFAULT_UUID,mK8 as DEFAULT_PAIRING_CONFIG,HK8 as DEFAULT_MAX_PROMPT_TOKENS,M_$ as DEFAULT_MAX_EMBEDDING_TOKENS,KK6 as DEFAULT_MAX_EMBEDDING_CHARS,_K8 as DEFAULT_MAX_CONVERSATION_TOKENS,EK8 as DEFAULT_HOOK_PRIORITY,m4 as ContentType,_8 as ChannelType,hW8 as CHOOSE_OPTION_TEMPLATE,H2 as BufferUtils,GK6 as BatcherDisposedError,z_8 as BOOLEAN_FOOTER,G8$ as BM25,HK6 as AgentStatus,i2 as AgentRuntime,CW8 as AUTONOMY_TASK_FIRST_TEMPLATE,SW8 as AUTONOMY_TASK_CONTINUE_TEMPLATE,EW8 as AUTONOMY_CONTINUOUS_FIRST_TEMPLATE,NW8 as AUTONOMY_CONTINUOUS_CONTINUE_TEMPLATE,MW8 as ADD_CONTACT_TEMPLATE};
4685
4685
 
4686
- //# debugId=B21019305BE20BFB64756E2164756E21
4686
+ //# debugId=B480EC27EADD8A9A64756E2164756E21
4687
4687
  //# sourceMappingURL=index.browser.js.map