@elizaos/plugin-trajectory-logger 2.0.0-alpha.2 → 2.0.0-alpha.3
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-interceptor.d.ts","sourceRoot":"","sources":["../action-interceptor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,MAAM,EAIN,aAAa,EAEb,MAAM,EACN,QAAQ,EAGT,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,UAAU,iBAAiB;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,uBAAuB,CAAC;CACjC;AAID,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,aAAa,EACtB,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,uBAAuB,GACxC,IAAI,CAEN;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,aAAa,GAAG,iBAAiB,GAAG,IAAI,CAErF;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAEnE;AAID,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,uBAAuB,GACzC,MAAM,
|
|
1
|
+
{"version":3,"file":"action-interceptor.d.ts","sourceRoot":"","sources":["../action-interceptor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,MAAM,EAIN,aAAa,EAEb,MAAM,EACN,QAAQ,EAGT,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,UAAU,iBAAiB;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,uBAAuB,CAAC;CACjC;AAID,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,aAAa,EACtB,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,uBAAuB,GACxC,IAAI,CAEN;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,aAAa,GAAG,iBAAiB,GAAG,IAAI,CAErF;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAEnE;AAID,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,uBAAuB,GACzC,MAAM,CA6FR;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,uBAAuB,GACxC,MAAM,CASR;AAED,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC,EACpD,gBAAgB,EAAE,uBAAuB,EACzC,YAAY,EAAE,MAAM,GACnB,IAAI,CAuBN;AAED,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC,EACpD,gBAAgB,EAAE,uBAAuB,EACzC,YAAY,EAAE,MAAM,GACnB,IAAI,CAaN;AAED,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,QAAQ,EAClB,iBAAiB,EAAE,uBAAuB,GACzC,QAAQ,CA0CV;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,uBAAuB,GACxC,MAAM,CAWR"}
|
package/dist/node/index.node.js
CHANGED
|
@@ -17,15 +17,13 @@ function wrapActionWithLogging(action, _trajectoryLogger) {
|
|
|
17
17
|
handler: async (runtime, message, state, options, callback) => {
|
|
18
18
|
const context = getTrajectoryContext(runtime);
|
|
19
19
|
if (!context) {
|
|
20
|
-
|
|
21
|
-
return result ?? undefined;
|
|
20
|
+
return await originalHandler(runtime, message, state, options, callback);
|
|
22
21
|
}
|
|
23
22
|
const { trajectoryId, logger: loggerService } = context;
|
|
24
23
|
const stepId = loggerService.getCurrentStepId(trajectoryId);
|
|
25
24
|
if (!stepId) {
|
|
26
25
|
logger.warn({ action: action.name, trajectoryId }, "No active step for action execution");
|
|
27
|
-
|
|
28
|
-
return result ?? undefined;
|
|
26
|
+
return await originalHandler(runtime, message, state, options, callback);
|
|
29
27
|
}
|
|
30
28
|
const successHandler = () => {
|
|
31
29
|
const stateSnapshot = state ? JSON.parse(JSON.stringify(state)) : null;
|
|
@@ -61,7 +59,7 @@ function wrapActionWithLogging(action, _trajectoryLogger) {
|
|
|
61
59
|
try {
|
|
62
60
|
const result = await originalHandler(runtime, message, state, options, callback);
|
|
63
61
|
successHandler();
|
|
64
|
-
return result
|
|
62
|
+
return result;
|
|
65
63
|
} catch (err) {
|
|
66
64
|
if (err instanceof Error) {
|
|
67
65
|
return errorHandler(err);
|
|
@@ -838,4 +836,4 @@ export {
|
|
|
838
836
|
RewardService
|
|
839
837
|
};
|
|
840
838
|
|
|
841
|
-
//# debugId=
|
|
839
|
+
//# debugId=FD4F0CC606B13C7564756E2164756E21
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../action-interceptor.ts", "../../art-format.ts", "../../export.ts", "../../game-rewards.ts", "../../integration.ts", "../../reward-service.ts", "../../TrajectoryLoggerService.ts", "../../index.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"/**\n * Action-Level Instrumentation\n *\n * Wraps actions and providers with trajectory logging.\n */\n\nimport type {\n Action,\n ActionResult,\n HandlerCallback,\n HandlerOptions,\n IAgentRuntime,\n Memory,\n Plugin,\n Provider,\n ProviderResult,\n State,\n} from \"@elizaos/core\";\nimport { logger } from \"@elizaos/core\";\nimport type { TrajectoryLoggerService } from \"./TrajectoryLoggerService\";\nimport type { JsonValue } from \"./types\";\n\ninterface TrajectoryContext {\n trajectoryId: string;\n logger: TrajectoryLoggerService;\n}\n\nconst trajectoryContexts = new WeakMap<IAgentRuntime, TrajectoryContext>();\n\nexport function setTrajectoryContext(\n runtime: IAgentRuntime,\n trajectoryId: string,\n trajectoryLogger: TrajectoryLoggerService\n): void {\n trajectoryContexts.set(runtime, { trajectoryId, logger: trajectoryLogger });\n}\n\nexport function getTrajectoryContext(runtime: IAgentRuntime): TrajectoryContext | null {\n return trajectoryContexts.get(runtime) || null;\n}\n\nexport function clearTrajectoryContext(runtime: IAgentRuntime): void {\n trajectoryContexts.delete(runtime);\n}\n\ntype ErrorLike = { message?: string };\n\nexport function wrapActionWithLogging(\n action: Action,\n _trajectoryLogger: TrajectoryLoggerService\n): Action {\n const originalHandler = action.handler;\n\n return {\n ...action,\n handler: async (\n runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n options?: HandlerOptions,\n callback?: HandlerCallback\n ): Promise<ActionResult | undefined> => {\n const context = getTrajectoryContext(runtime);\n if (!context) {\n
|
|
5
|
+
"/**\n * Action-Level Instrumentation\n *\n * Wraps actions and providers with trajectory logging.\n */\n\nimport type {\n Action,\n ActionResult,\n HandlerCallback,\n HandlerOptions,\n IAgentRuntime,\n Memory,\n Plugin,\n Provider,\n ProviderResult,\n State,\n} from \"@elizaos/core\";\nimport { logger } from \"@elizaos/core\";\nimport type { TrajectoryLoggerService } from \"./TrajectoryLoggerService\";\nimport type { JsonValue } from \"./types\";\n\ninterface TrajectoryContext {\n trajectoryId: string;\n logger: TrajectoryLoggerService;\n}\n\nconst trajectoryContexts = new WeakMap<IAgentRuntime, TrajectoryContext>();\n\nexport function setTrajectoryContext(\n runtime: IAgentRuntime,\n trajectoryId: string,\n trajectoryLogger: TrajectoryLoggerService\n): void {\n trajectoryContexts.set(runtime, { trajectoryId, logger: trajectoryLogger });\n}\n\nexport function getTrajectoryContext(runtime: IAgentRuntime): TrajectoryContext | null {\n return trajectoryContexts.get(runtime) || null;\n}\n\nexport function clearTrajectoryContext(runtime: IAgentRuntime): void {\n trajectoryContexts.delete(runtime);\n}\n\ntype ErrorLike = { message?: string };\n\nexport function wrapActionWithLogging(\n action: Action,\n _trajectoryLogger: TrajectoryLoggerService\n): Action {\n const originalHandler = action.handler;\n\n return {\n ...action,\n handler: async (\n runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n options?: HandlerOptions,\n callback?: HandlerCallback\n ): Promise<ActionResult | undefined> => {\n const context = getTrajectoryContext(runtime);\n if (!context) {\n return await originalHandler(runtime, message, state, options, callback);\n }\n\n const { trajectoryId, logger: loggerService } = context;\n const stepId = loggerService.getCurrentStepId(trajectoryId);\n\n if (!stepId) {\n logger.warn({ action: action.name, trajectoryId }, \"No active step for action execution\");\n return await originalHandler(runtime, message, state, options, callback);\n }\n\n const successHandler = (): void => {\n const stateSnapshot = state ? (JSON.parse(JSON.stringify(state)) as JsonValue) : null;\n\n loggerService.completeStep(\n trajectoryId,\n stepId,\n {\n actionType: action.name,\n actionName: action.name,\n parameters: {\n message: message.content.text || \"\",\n state: stateSnapshot,\n },\n success: true,\n result: { executed: true },\n reasoning: `Action ${action.name} executed via ${action.description || \"handler\"}`,\n },\n { reward: 0.1 }\n );\n };\n\n const errorHandler = (err: Error | ErrorLike | string): never => {\n const error =\n err instanceof Error\n ? err.message\n : typeof err === \"string\"\n ? err\n : err.message || String(err);\n\n logger.error({ action: action.name, trajectoryId, error }, \"Action execution failed\");\n\n const stateSnapshot = state ? (JSON.parse(JSON.stringify(state)) as JsonValue) : null;\n\n loggerService.completeStep(\n trajectoryId,\n stepId,\n {\n actionType: action.name,\n actionName: action.name,\n parameters: {\n message: message.content.text || \"\",\n state: stateSnapshot,\n },\n success: false,\n result: { error },\n reasoning: `Action ${action.name} failed: ${error}`,\n },\n { reward: -0.1 }\n );\n\n throw err;\n };\n\n try {\n const result = await originalHandler(runtime, message, state, options, callback);\n successHandler();\n return result;\n } catch (err) {\n if (err instanceof Error) {\n return errorHandler(err);\n }\n if (typeof err === \"string\") {\n return errorHandler(err);\n }\n return errorHandler(err as ErrorLike);\n }\n },\n };\n}\n\nexport function wrapPluginActions(\n plugin: Plugin,\n trajectoryLogger: TrajectoryLoggerService\n): Plugin {\n if (!plugin.actions || plugin.actions.length === 0) {\n return plugin;\n }\n\n return {\n ...plugin,\n actions: plugin.actions.map((action) => wrapActionWithLogging(action, trajectoryLogger)),\n };\n}\n\nexport function logLLMCallFromAction(\n actionContext: Record<string, JsonValue | undefined>,\n trajectoryLogger: TrajectoryLoggerService,\n trajectoryId: string\n): void {\n const stepId = trajectoryLogger.getCurrentStepId(trajectoryId);\n if (!stepId) {\n logger.warn({ trajectoryId }, \"No active step for LLM call from action\");\n return;\n }\n\n trajectoryLogger.logLLMCall(stepId, {\n model: (actionContext.model as string) || \"unknown\",\n systemPrompt: (actionContext.systemPrompt as string) || \"\",\n userPrompt: (actionContext.userPrompt as string) || \"\",\n response: (actionContext.response as string) || \"\",\n reasoning: (actionContext.reasoning as string) || undefined,\n temperature: (actionContext.temperature as number) || 0.7,\n maxTokens: (actionContext.maxTokens as number) || 8192,\n purpose:\n (actionContext.purpose as \"action\" | \"reasoning\" | \"evaluation\" | \"response\" | \"other\") ||\n \"action\",\n actionType: (actionContext.actionType as string) || undefined,\n promptTokens: (actionContext.promptTokens as number) || undefined,\n completionTokens: (actionContext.completionTokens as number) || undefined,\n latencyMs: (actionContext.latencyMs as number) || undefined,\n });\n}\n\nexport function logProviderFromAction(\n actionContext: Record<string, JsonValue | undefined>,\n trajectoryLogger: TrajectoryLoggerService,\n trajectoryId: string\n): void {\n const stepId = trajectoryLogger.getCurrentStepId(trajectoryId);\n if (!stepId) {\n logger.warn({ trajectoryId }, \"No active step for provider access from action\");\n return;\n }\n\n trajectoryLogger.logProviderAccess(stepId, {\n providerName: (actionContext.providerName as string) || \"unknown\",\n data: (actionContext.data as Record<string, JsonValue>) || {},\n purpose: (actionContext.purpose as string) || \"action\",\n query: (actionContext.query as Record<string, JsonValue>) || undefined,\n });\n}\n\nexport function wrapProviderWithLogging(\n provider: Provider,\n _trajectoryLogger: TrajectoryLoggerService\n): Provider {\n const originalGet = provider.get;\n\n return {\n ...provider,\n get: async (runtime: IAgentRuntime, message: Memory, state: State): Promise<ProviderResult> => {\n const context = getTrajectoryContext(runtime);\n if (!context) {\n return originalGet?.(runtime, message, state) || { text: \"\" };\n }\n\n const { trajectoryId, logger: loggerService } = context;\n const stepId = loggerService.getCurrentStepId(trajectoryId);\n\n if (!stepId) {\n logger.warn(\n { provider: provider.name, trajectoryId },\n \"No active step for provider access\"\n );\n return originalGet?.(runtime, message, state) || { text: \"\" };\n }\n\n const result = (await originalGet?.(runtime, message, state)) || { text: \"\" };\n\n const stateSnapshot = state ? (JSON.parse(JSON.stringify(state)) as JsonValue) : null;\n\n loggerService.logProviderAccess(stepId, {\n providerName: provider.name,\n data: {\n text: result.text || \"\",\n success: true,\n },\n purpose: `Provider ${provider.name} accessed for context`,\n query: {\n message: message.content.text || \"\",\n state: stateSnapshot,\n },\n });\n\n return result;\n },\n };\n}\n\nexport function wrapPluginProviders(\n plugin: Plugin,\n trajectoryLogger: TrajectoryLoggerService\n): Plugin {\n if (!plugin.providers || plugin.providers.length === 0) {\n return plugin;\n }\n\n return {\n ...plugin,\n providers: plugin.providers.map((provider) =>\n wrapProviderWithLogging(provider, trajectoryLogger)\n ),\n };\n}\n",
|
|
6
6
|
"/**\n * ART Format Conversion\n *\n * Converts our rich trajectory format to ART-compatible format.\n *\n * Key insight from ART examples:\n * - Trajectories are MESSAGE ARRAYS (system/user/assistant)\n * - Metadata is separate (for judge context)\n * - Single reward per trajectory\n * - Grouping by scenario for GRPO\n */\n\nimport type {\n ARTTrajectory,\n ChatMessage,\n JsonValue,\n Trajectory,\n TrajectoryGroup,\n TrajectoryStep,\n} from \"./types\";\n\n/**\n * Convert rich trajectory to ART message format.\n */\nexport function toARTMessages(trajectory: Trajectory): ChatMessage[] {\n const messages: ChatMessage[] = [];\n\n const systemMessage = buildSystemMessage(trajectory);\n if (systemMessage) {\n messages.push(systemMessage);\n }\n\n for (const step of trajectory.steps) {\n const userContent = buildUserMessage(step);\n if (userContent) {\n messages.push({ role: \"user\", content: userContent });\n }\n\n const assistantContent = buildAssistantMessage(step);\n if (assistantContent) {\n messages.push({ role: \"assistant\", content: assistantContent });\n }\n }\n\n return messages;\n}\n\nfunction buildSystemMessage(trajectory: Trajectory): ChatMessage | null {\n const firstStep = trajectory.steps[0];\n const firstLLMCall = firstStep?.llmCalls?.[0];\n\n if (firstLLMCall?.systemPrompt) {\n return { role: \"system\", content: firstLLMCall.systemPrompt };\n }\n\n const agentName = trajectory.metadata.agentName || \"Agent\";\n const goal = trajectory.metadata.goalDescription || \"make good decisions\";\n\n return {\n role: \"system\",\n content: `You are ${agentName}, an autonomous agent. Your goal is to ${goal}.`,\n };\n}\n\nfunction buildUserMessage(step: TrajectoryStep): string | null {\n const llmCall = step.llmCalls.find((call) => call.purpose === \"action\");\n if (llmCall?.userPrompt) {\n return llmCall.userPrompt;\n }\n\n const parts: string[] = [];\n parts.push(\"Current state:\");\n parts.push(`- Balance: $${step.environmentState.agentBalance}`);\n parts.push(`- P&L: $${step.environmentState.agentPnL}`);\n parts.push(`- Open Positions: ${step.environmentState.openPositions}`);\n\n for (const provider of step.providerAccesses) {\n parts.push(`\\n${provider.providerName} data:`);\n parts.push(JSON.stringify(provider.data, null, 2));\n }\n\n parts.push(\"\\nWhat action should you take?\");\n return parts.join(\"\\n\");\n}\n\nfunction buildAssistantMessage(step: TrajectoryStep): string | null {\n const llmCall = step.llmCalls.find((call) => call.purpose === \"action\");\n if (llmCall?.response) {\n return llmCall.response;\n }\n\n const action = step.action;\n const parts: string[] = [];\n\n parts.push(`I will ${action.actionType}.`);\n if (action.reasoning) {\n parts.push(`Reasoning: ${action.reasoning}`);\n }\n parts.push(`Parameters: ${JSON.stringify(action.parameters)}`);\n\n return parts.join(\"\\n\");\n}\n\nexport function toARTTrajectory(trajectory: Trajectory): ARTTrajectory {\n return {\n messages: toARTMessages(trajectory),\n reward: trajectory.totalReward,\n metadata: {\n trajectoryId: trajectory.trajectoryId,\n agentId: trajectory.agentId,\n scenarioId: trajectory.scenarioId,\n groupIndex: trajectory.groupIndex,\n environmentContext: {\n initialBalance: trajectory.steps[0]?.environmentState.agentBalance || 0,\n finalBalance: trajectory.metrics.finalBalance || 0,\n initialPnL: trajectory.steps[0]?.environmentState.agentPnL || 0,\n finalPnL: trajectory.metrics.finalPnL || 0,\n actionsTaken: trajectory.steps.map((s) => s.action.actionType),\n errors: trajectory.steps\n .filter((s) => !s.action.success)\n .map((s) => s.action.error || \"Unknown error\"),\n },\n gameKnowledge: extractGameKnowledge(trajectory),\n metrics: JSON.parse(JSON.stringify(trajectory.metrics)) as Record<string, JsonValue>,\n },\n metrics: filterNumericMetrics(trajectory.metrics),\n };\n}\n\nfunction filterNumericMetrics(metrics: Trajectory[\"metrics\"]): Record<string, number> {\n const numericMetrics: Record<string, number> = {};\n\n for (const [key, value] of Object.entries(metrics)) {\n if (typeof value === \"number\" && !Number.isNaN(value)) {\n numericMetrics[key] = value;\n }\n }\n\n return numericMetrics;\n}\n\nfunction extractGameKnowledge(trajectory: Trajectory): {\n trueProbabilities?: Record<string, number>;\n actualOutcomes?: Record<string, JsonValue>;\n hiddenVariables?: Record<string, JsonValue>;\n gameEvents?: JsonValue[];\n} {\n const knowledge: {\n trueProbabilities?: Record<string, number>;\n actualOutcomes?: Record<string, JsonValue>;\n hiddenVariables?: Record<string, JsonValue>;\n gameEvents?: JsonValue[];\n } = {};\n\n if (trajectory.metadata.trueProbabilities) {\n knowledge.trueProbabilities = trajectory.metadata.trueProbabilities as Record<string, number>;\n }\n\n if (trajectory.metadata.futureOutcomes) {\n knowledge.actualOutcomes = trajectory.metadata.futureOutcomes as Record<string, JsonValue>;\n }\n\n if (trajectory.metadata.hiddenVariables) {\n knowledge.hiddenVariables = trajectory.metadata.hiddenVariables as Record<string, JsonValue>;\n }\n\n const gameEvents = trajectory.steps\n .map((s) => s.metadata?.gameEvent)\n .filter((e): e is JsonValue => !!e);\n\n if (gameEvents.length > 0) {\n knowledge.gameEvents = gameEvents;\n }\n\n return knowledge;\n}\n\nexport function groupTrajectories(trajectories: Trajectory[]): TrajectoryGroup[] {\n const groups = new Map<string, Trajectory[]>();\n\n for (const traj of trajectories) {\n const scenarioId = traj.scenarioId || \"default\";\n if (!groups.has(scenarioId)) {\n groups.set(scenarioId, []);\n }\n groups.get(scenarioId)?.push(traj);\n }\n\n return Array.from(groups.entries()).map(([scenarioId, trajs], idx) => ({\n groupId: `group-${idx}`,\n scenarioId,\n trajectories: trajs,\n sharedPrefix: extractSharedPrefix(trajs),\n createdAt: Date.now(),\n }));\n}\n\nexport function extractSharedPrefix(trajectories: Trajectory[]): ChatMessage[] {\n if (trajectories.length === 0) return [];\n\n const allMessages = trajectories.map((t) => toARTMessages(t));\n if (allMessages.length === 0) return [];\n\n const firstMessages = allMessages[0];\n if (!firstMessages) return [];\n const sharedPrefix: ChatMessage[] = [];\n\n for (let i = 0; i < firstMessages.length; i++) {\n const message = firstMessages[i];\n if (!message) break;\n const allMatch = allMessages.every(\n (msgs) => msgs[i] && msgs[i]?.role === message.role && msgs[i]?.content === message.content\n );\n\n if (allMatch) {\n sharedPrefix.push(message);\n } else {\n break;\n }\n }\n\n return sharedPrefix;\n}\n\nexport function removeSharedPrefix(\n messages: ChatMessage[],\n sharedPrefix: ChatMessage[]\n): ChatMessage[] {\n return messages.slice(sharedPrefix.length);\n}\n\nexport function prepareForRULER(group: TrajectoryGroup): {\n sharedPrefix: ChatMessage[];\n suffixes: ChatMessage[][];\n metadata: ARTTrajectory[\"metadata\"][];\n} {\n const artTrajs = group.trajectories.map((t) => toARTTrajectory(t));\n const sharedPrefix = group.sharedPrefix || extractSharedPrefix(group.trajectories);\n\n return {\n sharedPrefix,\n suffixes: artTrajs.map((art) => removeSharedPrefix(art.messages, sharedPrefix)),\n metadata: artTrajs.map((art) => art.metadata),\n };\n}\n\nexport function toARTJSONL(trajectory: Trajectory): string {\n return JSON.stringify(toARTTrajectory(trajectory));\n}\n\nexport function validateARTCompatibility(trajectory: Trajectory): {\n valid: boolean;\n errors: string[];\n warnings: string[];\n} {\n const errors: string[] = [];\n const warnings: string[] = [];\n\n if (trajectory.steps.length === 0) {\n errors.push(\"Trajectory has no steps\");\n }\n\n for (const [idx, step] of trajectory.steps.entries()) {\n if (step.llmCalls.length === 0) {\n errors.push(`Step ${idx} has no LLM calls - can't extract messages`);\n }\n\n for (const llmCall of step.llmCalls) {\n if (!llmCall.userPrompt || llmCall.userPrompt.length < 10) {\n warnings.push(`Step ${idx} has very short user prompt`);\n }\n if (!llmCall.response || llmCall.response.length < 5) {\n warnings.push(`Step ${idx} has very short response`);\n }\n }\n }\n\n if (trajectory.totalReward === undefined || Number.isNaN(trajectory.totalReward)) {\n errors.push(\"Trajectory has no valid reward\");\n }\n\n const artTraj = toARTTrajectory(trajectory);\n if (artTraj.messages.length < 2) {\n warnings.push(\"Trajectory converts to very few messages (< 2)\");\n }\n\n return {\n valid: errors.length === 0,\n errors,\n warnings,\n };\n}\n",
|
|
7
7
|
"/**\n * Trajectory Export Utilities\n *\n * The original implementation targeted a Babylon-specific database + HuggingFace upload pipeline.\n * In elizaOS core, this module is storage-agnostic and focuses on preparing files for downstream\n * training (JSONL / grouped JSON).\n */\n\nimport { mkdir, writeFile } from \"node:fs/promises\";\nimport { dirname, join } from \"node:path\";\nimport { groupTrajectories, toARTJSONL } from \"./art-format\";\nimport type { Trajectory, TrajectoryGroup } from \"./types\";\n\nexport interface ExportOptions {\n // Dataset configuration (kept for API compatibility)\n datasetName: string;\n huggingFaceToken?: string;\n\n // Data filtering\n startDate?: Date;\n endDate?: Date;\n agentIds?: string[];\n scenarioIds?: string[];\n minReward?: number;\n maxReward?: number;\n includeJudged?: boolean;\n\n // Limits\n maxTrajectories?: number;\n\n // Format (currently only jsonl is produced)\n format?: \"jsonl\" | \"parquet\" | \"arrow\";\n splitRatio?: { train: number; validation: number; test: number };\n\n // elizaOS: provide trajectories directly (no DB dependency)\n trajectories?: Trajectory[];\n\n // Output path controls\n outputPath?: string;\n outputDir?: string;\n}\n\nexport interface ExportResult {\n success: boolean;\n trajectoriesExported: number;\n datasetUrl?: string;\n error?: string;\n}\n\nexport async function exportToHuggingFace(options: ExportOptions): Promise<ExportResult> {\n // In this repo we don't couple to a DB or HuggingFace API.\n // We still keep the function name/signature so existing callers can migrate by\n // passing `trajectories` + `outputPath`.\n return exportForOpenPipeART(options);\n}\n\nexport async function exportGroupedByScenario(options: ExportOptions): Promise<ExportResult> {\n const trajectories = filterTrajectories(options.trajectories || [], options);\n const outPath = resolveOutputPath(options, \"grouped-by-scenario.json\");\n\n const grouped: Record<string, Trajectory[]> = {};\n for (const t of trajectories) {\n const scenarioId = t.scenarioId || \"default\";\n if (!grouped[scenarioId]) grouped[scenarioId] = [];\n grouped[scenarioId]?.push(t);\n }\n\n await writeJson(outPath, grouped);\n return { success: true, trajectoriesExported: trajectories.length, datasetUrl: outPath };\n}\n\nexport async function exportForOpenPipeART(options: ExportOptions): Promise<ExportResult> {\n const trajectories = filterTrajectories(options.trajectories || [], options);\n const outPath = resolveOutputPath(options, \"trajectories.art.jsonl\");\n\n const lines = `${trajectories.map((t) => toARTJSONL(t)).join(\"\\n\")}\\n`;\n await writeText(outPath, lines);\n\n return { success: true, trajectoriesExported: trajectories.length, datasetUrl: outPath };\n}\n\nexport async function exportGroupedForGRPO(options: ExportOptions): Promise<ExportResult> {\n const trajectories = filterTrajectories(options.trajectories || [], options);\n const outPath = resolveOutputPath(options, \"trajectories.grpo.groups.json\");\n\n const groups: TrajectoryGroup[] = groupTrajectories(trajectories);\n await writeJson(outPath, groups);\n\n return { success: true, trajectoriesExported: trajectories.length, datasetUrl: outPath };\n}\n\nfunction filterTrajectories(trajectories: Trajectory[], options: ExportOptions): Trajectory[] {\n let out = trajectories.slice();\n\n if (options.startDate) {\n const startMs = options.startDate.getTime();\n out = out.filter((t) => t.startTime >= startMs);\n }\n if (options.endDate) {\n const endMs = options.endDate.getTime();\n out = out.filter((t) => t.startTime <= endMs);\n }\n if (options.agentIds && options.agentIds.length > 0) {\n const set = new Set(options.agentIds);\n out = out.filter((t) => set.has(t.agentId));\n }\n if (options.scenarioIds && options.scenarioIds.length > 0) {\n const set = new Set(options.scenarioIds);\n out = out.filter((t) => t.scenarioId && set.has(t.scenarioId));\n }\n if (typeof options.minReward === \"number\") {\n const minReward = options.minReward;\n out = out.filter((t) => t.totalReward >= minReward);\n }\n if (typeof options.maxReward === \"number\") {\n const maxReward = options.maxReward;\n out = out.filter((t) => t.totalReward <= maxReward);\n }\n\n const limit = options.maxTrajectories || out.length;\n return out.slice(0, limit);\n}\n\nfunction resolveOutputPath(options: ExportOptions, fallbackFileName: string): string {\n if (options.outputPath) return options.outputPath;\n if (options.outputDir) return join(options.outputDir, fallbackFileName);\n\n const safeName = options.datasetName.replace(/[^a-zA-Z0-9._-]+/g, \"_\");\n return join(process.cwd(), `${safeName}.${fallbackFileName}`);\n}\n\nasync function writeText(path: string, content: string): Promise<void> {\n await mkdir(dirname(path), { recursive: true });\n await writeFile(path, content, \"utf8\");\n}\n\nasync function writeJson(path: string, data: object): Promise<void> {\n await writeText(path, `${JSON.stringify(data, null, 2)}\\n`);\n}\n",
|
|
8
8
|
"/**\n * Game-Knowledge Rewards\n *\n * Compute rewards using perfect game information for RL training.\n *\n * @remarks These helpers are intentionally lightweight; environments can provide richer\n * reward computation by writing into `trajectory.totalReward` and `step.reward`.\n */\n\nimport type { JsonValue, Trajectory, TrajectoryStep } from \"./types\";\n\nexport function computeTrajectoryReward(trajectory: Trajectory): number {\n return trajectory.totalReward;\n}\n\nexport function computeStepReward(step: TrajectoryStep): number {\n return step.reward || 0;\n}\n\nexport async function buildGameStateFromDB(\n _trajectoryId: string\n): Promise<Record<string, JsonValue>> {\n return {};\n}\n\nexport async function recomputeTrajectoryRewards(_trajectoryIds: string[]): Promise<void> {\n // Intentionally a no-op placeholder; reward recomputation is environment-specific.\n}\n",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"/**\n * Trajectory Logger Service\n *\n * In-memory collector for agent interaction trajectories.\n *\n * This implementation is intentionally storage-agnostic so it can be used in any elizaOS\n * environment (Node, Bun, tests). If you want persistence, export trajectories and store them\n * via your preferred database or file pipeline.\n */\n\nimport { asUUID, logger } from \"@elizaos/core\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport type {\n ActionAttempt,\n EnvironmentState,\n JsonValue,\n LLMCall,\n ProviderAccess,\n RewardComponents,\n Trajectory,\n TrajectoryStep,\n} from \"./types\";\n\nexport class TrajectoryLoggerService {\n private activeTrajectories: Map<string, Trajectory> = new Map();\n private activeStepIds: Map<string, string> = new Map();\n\n startTrajectory(\n agentId: string,\n options: {\n scenarioId?: string;\n episodeId?: string;\n batchId?: string;\n groupIndex?: number;\n metadata?: Record<string, JsonValue>;\n } = {}\n ): string {\n const trajectoryId = uuidv4();\n const now = Date.now();\n\n const trajectory: Trajectory = {\n trajectoryId: asUUID(trajectoryId),\n agentId: asUUID(agentId),\n startTime: now,\n endTime: now,\n durationMs: 0,\n episodeId: options.episodeId,\n scenarioId: options.scenarioId,\n batchId: options.batchId,\n groupIndex: options.groupIndex,\n steps: [],\n totalReward: 0,\n rewardComponents: {\n environmentReward: 0,\n },\n metrics: {\n episodeLength: 0,\n finalStatus: \"completed\",\n },\n metadata: (options.metadata || {}) as Record<string, JsonValue>,\n };\n\n this.activeTrajectories.set(trajectoryId, trajectory);\n return trajectoryId;\n }\n\n startStep(trajectoryId: string, envState: EnvironmentState): string {\n const stepId = uuidv4();\n const trajectory = this.activeTrajectories.get(trajectoryId);\n\n if (!trajectory) {\n throw new Error(`Trajectory ${trajectoryId} not found`);\n }\n\n const step: TrajectoryStep = {\n stepId: asUUID(stepId),\n stepNumber: trajectory.steps.length,\n timestamp: envState.timestamp || Date.now(),\n environmentState: envState,\n observation: {},\n llmCalls: [],\n providerAccesses: [],\n action: {\n attemptId: \"\",\n timestamp: 0,\n actionType: \"pending\",\n actionName: \"pending\",\n parameters: {},\n success: false,\n },\n reward: 0,\n done: false,\n };\n\n trajectory.steps.push(step);\n this.activeStepIds.set(trajectoryId, stepId);\n return stepId;\n }\n\n logLLMCall(stepId: string, llmCall: Omit<LLMCall, \"callId\" | \"timestamp\">): void {\n const trajectory = this.findTrajectoryByStepId(stepId);\n if (!trajectory) {\n logger.warn({ stepId }, \"Trajectory not found for LLM call\");\n return;\n }\n\n const step = trajectory.steps.find((s) => s.stepId === stepId);\n if (!step) {\n logger.warn({ stepId }, \"Step not found for LLM call\");\n return;\n }\n\n const fullLLMCall: LLMCall = {\n callId: uuidv4(),\n timestamp: Date.now(),\n ...llmCall,\n };\n\n step.llmCalls.push(fullLLMCall);\n }\n\n logProviderAccess(\n stepId: string,\n access: Omit<ProviderAccess, \"providerId\" | \"timestamp\">\n ): void {\n const trajectory = this.findTrajectoryByStepId(stepId);\n if (!trajectory) {\n logger.warn({ stepId }, \"Trajectory not found for provider access\");\n return;\n }\n\n const step = trajectory.steps.find((s) => s.stepId === stepId);\n if (!step) {\n logger.warn({ stepId }, \"Step not found for provider access\");\n return;\n }\n\n const fullAccess: ProviderAccess = {\n providerId: uuidv4(),\n timestamp: Date.now(),\n ...access,\n };\n\n step.providerAccesses.push(fullAccess);\n }\n\n logLLMCallByTrajectoryId(\n trajectoryId: string,\n llmCall: Omit<LLMCall, \"callId\" | \"timestamp\">\n ): void {\n const stepId = this.activeStepIds.get(trajectoryId);\n if (!stepId) {\n logger.warn({ trajectoryId }, \"No active step for trajectory\");\n return;\n }\n this.logLLMCall(stepId, llmCall);\n }\n\n logProviderAccessByTrajectoryId(\n trajectoryId: string,\n access: Omit<ProviderAccess, \"providerId\" | \"timestamp\">\n ): void {\n const stepId = this.activeStepIds.get(trajectoryId);\n if (!stepId) {\n logger.warn({ trajectoryId }, \"No active step for trajectory\");\n return;\n }\n this.logProviderAccess(stepId, access);\n }\n\n getCurrentStepId(trajectoryId: string): string | null {\n return this.activeStepIds.get(trajectoryId) || null;\n }\n\n completeStep(\n trajectoryId: string,\n stepId: string,\n action: Omit<ActionAttempt, \"attemptId\" | \"timestamp\">,\n rewardInfo?: { reward?: number; components?: Partial<RewardComponents> }\n ): void {\n const trajectory = this.activeTrajectories.get(trajectoryId);\n if (!trajectory) {\n logger.warn({ trajectoryId }, \"Trajectory not found for completeStep\");\n return;\n }\n\n const step = trajectory.steps.find((s) => s.stepId === stepId);\n if (!step) {\n logger.warn({ trajectoryId, stepId }, \"Step not found for completeStep\");\n return;\n }\n\n step.action = {\n attemptId: uuidv4(),\n timestamp: Date.now(),\n ...action,\n };\n\n if (rewardInfo?.reward !== undefined) {\n step.reward = rewardInfo.reward;\n trajectory.totalReward += rewardInfo.reward;\n }\n\n if (rewardInfo?.components) {\n trajectory.rewardComponents = {\n ...trajectory.rewardComponents,\n ...rewardInfo.components,\n };\n }\n\n this.activeStepIds.delete(trajectoryId);\n }\n\n completeCurrentStep(\n trajectoryId: string,\n action: Omit<ActionAttempt, \"attemptId\" | \"timestamp\">,\n rewardInfo?: { reward?: number; components?: Partial<RewardComponents> }\n ): void {\n const stepId = this.activeStepIds.get(trajectoryId);\n if (!stepId) {\n logger.warn({ trajectoryId }, \"No active step for trajectory\");\n return;\n }\n this.completeStep(trajectoryId, stepId, action, rewardInfo);\n }\n\n async endTrajectory(\n trajectoryId: string,\n status: \"completed\" | \"terminated\" | \"error\" | \"timeout\",\n finalMetrics?: Record<string, JsonValue>\n ): Promise<void> {\n const trajectory = this.activeTrajectories.get(trajectoryId);\n if (!trajectory) {\n logger.warn({ trajectoryId }, \"Trajectory not found for endTrajectory\");\n return;\n }\n\n trajectory.endTime = Date.now();\n trajectory.durationMs = trajectory.endTime - trajectory.startTime;\n trajectory.metrics.finalStatus = status;\n trajectory.metrics.episodeLength = trajectory.steps.length;\n\n if (finalMetrics) {\n trajectory.metrics = {\n ...trajectory.metrics,\n ...finalMetrics,\n };\n }\n\n this.activeStepIds.delete(trajectoryId);\n }\n\n getActiveTrajectory(trajectoryId: string): Trajectory | null {\n return this.activeTrajectories.get(trajectoryId) || null;\n }\n\n private findTrajectoryByStepId(stepId: string): Trajectory | null {\n for (const trajectory of this.activeTrajectories.values()) {\n if (trajectory.steps.some((s) => s.stepId === stepId)) {\n return trajectory;\n }\n }\n return null;\n }\n}\n",
|
|
12
12
|
"import type { Plugin } from \"@elizaos/core\";\n\n/**\n * Trajectory Logger Plugin\n *\n * Collects complete agent interaction trajectories for RL training.\n * Records LLM calls, provider access, actions, environment state, and computes rewards.\n *\n * @remarks TrajectoryLoggerService is exported but not registered as a service\n * since it doesn't implement the core Service interface. Use the exported helpers directly.\n */\nexport const trajectoryLoggerPlugin: Plugin = {\n name: \"@elizaos/plugin-trajectory-logger\",\n description:\n \"Collects complete agent interaction trajectory data for RL training. Records LLM calls, provider access, actions, environment state, and computes rewards.\",\n dependencies: [],\n services: [],\n};\n\nexport default trajectoryLoggerPlugin;\n\n// ==========================================\n// PRIMARY: Action-Level Instrumentation\n// Use these for most cases!\n// ==========================================\nexport * from \"./action-interceptor\";\n// ==========================================\n// TRAJECTORY FORMAT CONVERSION\n// ==========================================\nexport * from \"./art-format\";\n// ==========================================\n// DATA EXPORT\n// ==========================================\nexport * from \"./export\";\n\n// ==========================================\n// PRIMARY: Game-Knowledge Rewards\n// ==========================================\nexport * from \"./game-rewards\";\n// ==========================================\n// ADVANCED: Manual Instrumentation\n// ==========================================\nexport * from \"./integration\";\n// ==========================================\n// OPTIONAL: Heuristic Rewards\n// ==========================================\nexport * from \"./reward-service\";\nexport { TrajectoryLoggerService } from \"./TrajectoryLoggerService\";\n// ==========================================\n// CORE TYPES\n// ==========================================\nexport * from \"./types\";\n"
|
|
13
13
|
],
|
|
14
|
-
"mappings": "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",
|
|
15
|
-
"debugId": "
|
|
14
|
+
"mappings": "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",
|
|
15
|
+
"debugId": "FD4F0CC606B13C7564756E2164756E21",
|
|
16
16
|
"names": []
|
|
17
17
|
}
|