@elizaos/plugin-auto-trader 2.0.0-alpha.1

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.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../plugin-trajectory-logger/typescript/dist/node/index.node.js"],"sourcesContent":["// action-interceptor.ts\nimport { logger } from \"@elizaos/core\";\nvar trajectoryContexts = new WeakMap;\nfunction setTrajectoryContext(runtime, trajectoryId, trajectoryLogger) {\n trajectoryContexts.set(runtime, { trajectoryId, logger: trajectoryLogger });\n}\nfunction getTrajectoryContext(runtime) {\n return trajectoryContexts.get(runtime) || null;\n}\nfunction clearTrajectoryContext(runtime) {\n trajectoryContexts.delete(runtime);\n}\nfunction wrapActionWithLogging(action, _trajectoryLogger) {\n const originalHandler = action.handler;\n return {\n ...action,\n handler: async (runtime, message, state, options, callback) => {\n const context = getTrajectoryContext(runtime);\n if (!context) {\n const result = await originalHandler(runtime, message, state, options, callback);\n return result ?? undefined;\n }\n const { trajectoryId, logger: loggerService } = context;\n const stepId = loggerService.getCurrentStepId(trajectoryId);\n if (!stepId) {\n logger.warn({ action: action.name, trajectoryId }, \"No active step for action execution\");\n const result = await originalHandler(runtime, message, state, options, callback);\n return result ?? undefined;\n }\n const successHandler = () => {\n const stateSnapshot = state ? JSON.parse(JSON.stringify(state)) : null;\n loggerService.completeStep(trajectoryId, stepId, {\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 }, { reward: 0.1 });\n };\n const errorHandler = (err) => {\n const error = err instanceof Error ? err.message : typeof err === \"string\" ? err : err.message || String(err);\n logger.error({ action: action.name, trajectoryId, error }, \"Action execution failed\");\n const stateSnapshot = state ? JSON.parse(JSON.stringify(state)) : null;\n loggerService.completeStep(trajectoryId, stepId, {\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 }, { reward: -0.1 });\n throw err;\n };\n try {\n const result = await originalHandler(runtime, message, state, options, callback);\n successHandler();\n return result ?? undefined;\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);\n }\n }\n };\n}\nfunction wrapPluginActions(plugin, trajectoryLogger) {\n if (!plugin.actions || plugin.actions.length === 0) {\n return plugin;\n }\n return {\n ...plugin,\n actions: plugin.actions.map((action) => wrapActionWithLogging(action, trajectoryLogger))\n };\n}\nfunction logLLMCallFromAction(actionContext, trajectoryLogger, trajectoryId) {\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 trajectoryLogger.logLLMCall(stepId, {\n model: actionContext.model || \"unknown\",\n systemPrompt: actionContext.systemPrompt || \"\",\n userPrompt: actionContext.userPrompt || \"\",\n response: actionContext.response || \"\",\n reasoning: actionContext.reasoning || undefined,\n temperature: actionContext.temperature || 0.7,\n maxTokens: actionContext.maxTokens || 8192,\n purpose: actionContext.purpose || \"action\",\n actionType: actionContext.actionType || undefined,\n promptTokens: actionContext.promptTokens || undefined,\n completionTokens: actionContext.completionTokens || undefined,\n latencyMs: actionContext.latencyMs || undefined\n });\n}\nfunction logProviderFromAction(actionContext, trajectoryLogger, trajectoryId) {\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 trajectoryLogger.logProviderAccess(stepId, {\n providerName: actionContext.providerName || \"unknown\",\n data: actionContext.data || {},\n purpose: actionContext.purpose || \"action\",\n query: actionContext.query || undefined\n });\n}\nfunction wrapProviderWithLogging(provider, _trajectoryLogger) {\n const originalGet = provider.get;\n return {\n ...provider,\n get: async (runtime, message, state) => {\n const context = getTrajectoryContext(runtime);\n if (!context) {\n return originalGet?.(runtime, message, state) || { text: \"\" };\n }\n const { trajectoryId, logger: loggerService } = context;\n const stepId = loggerService.getCurrentStepId(trajectoryId);\n if (!stepId) {\n logger.warn({ provider: provider.name, trajectoryId }, \"No active step for provider access\");\n return originalGet?.(runtime, message, state) || { text: \"\" };\n }\n const result = await originalGet?.(runtime, message, state) || { text: \"\" };\n const stateSnapshot = state ? JSON.parse(JSON.stringify(state)) : null;\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 return result;\n }\n };\n}\nfunction wrapPluginProviders(plugin, trajectoryLogger) {\n if (!plugin.providers || plugin.providers.length === 0) {\n return plugin;\n }\n return {\n ...plugin,\n providers: plugin.providers.map((provider) => wrapProviderWithLogging(provider, trajectoryLogger))\n };\n}\n// art-format.ts\nfunction toARTMessages(trajectory) {\n const messages = [];\n const systemMessage = buildSystemMessage(trajectory);\n if (systemMessage) {\n messages.push(systemMessage);\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 const assistantContent = buildAssistantMessage(step);\n if (assistantContent) {\n messages.push({ role: \"assistant\", content: assistantContent });\n }\n }\n return messages;\n}\nfunction buildSystemMessage(trajectory) {\n const firstStep = trajectory.steps[0];\n const firstLLMCall = firstStep?.llmCalls?.[0];\n if (firstLLMCall?.systemPrompt) {\n return { role: \"system\", content: firstLLMCall.systemPrompt };\n }\n const agentName = trajectory.metadata.agentName || \"Agent\";\n const goal = trajectory.metadata.goalDescription || \"make good decisions\";\n return {\n role: \"system\",\n content: `You are ${agentName}, an autonomous agent. Your goal is to ${goal}.`\n };\n}\nfunction buildUserMessage(step) {\n const llmCall = step.llmCalls.find((call) => call.purpose === \"action\");\n if (llmCall?.userPrompt) {\n return llmCall.userPrompt;\n }\n const parts = [];\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 for (const provider of step.providerAccesses) {\n parts.push(`\n${provider.providerName} data:`);\n parts.push(JSON.stringify(provider.data, null, 2));\n }\n parts.push(`\nWhat action should you take?`);\n return parts.join(`\n`);\n}\nfunction buildAssistantMessage(step) {\n const llmCall = step.llmCalls.find((call) => call.purpose === \"action\");\n if (llmCall?.response) {\n return llmCall.response;\n }\n const action = step.action;\n const parts = [];\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 return parts.join(`\n`);\n}\nfunction toARTTrajectory(trajectory) {\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.filter((s) => !s.action.success).map((s) => s.action.error || \"Unknown error\")\n },\n gameKnowledge: extractGameKnowledge(trajectory),\n metrics: JSON.parse(JSON.stringify(trajectory.metrics))\n },\n metrics: filterNumericMetrics(trajectory.metrics)\n };\n}\nfunction filterNumericMetrics(metrics) {\n const numericMetrics = {};\n for (const [key, value] of Object.entries(metrics)) {\n if (typeof value === \"number\" && !Number.isNaN(value)) {\n numericMetrics[key] = value;\n }\n }\n return numericMetrics;\n}\nfunction extractGameKnowledge(trajectory) {\n const knowledge = {};\n if (trajectory.metadata.trueProbabilities) {\n knowledge.trueProbabilities = trajectory.metadata.trueProbabilities;\n }\n if (trajectory.metadata.futureOutcomes) {\n knowledge.actualOutcomes = trajectory.metadata.futureOutcomes;\n }\n if (trajectory.metadata.hiddenVariables) {\n knowledge.hiddenVariables = trajectory.metadata.hiddenVariables;\n }\n const gameEvents = trajectory.steps.map((s) => s.metadata?.gameEvent).filter((e) => !!e);\n if (gameEvents.length > 0) {\n knowledge.gameEvents = gameEvents;\n }\n return knowledge;\n}\nfunction groupTrajectories(trajectories) {\n const groups = new Map;\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 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}\nfunction extractSharedPrefix(trajectories) {\n if (trajectories.length === 0)\n return [];\n const allMessages = trajectories.map((t) => toARTMessages(t));\n if (allMessages.length === 0)\n return [];\n const firstMessages = allMessages[0];\n if (!firstMessages)\n return [];\n const sharedPrefix = [];\n for (let i = 0;i < firstMessages.length; i++) {\n const message = firstMessages[i];\n if (!message)\n break;\n const allMatch = allMessages.every((msgs) => msgs[i] && msgs[i]?.role === message.role && msgs[i]?.content === message.content);\n if (allMatch) {\n sharedPrefix.push(message);\n } else {\n break;\n }\n }\n return sharedPrefix;\n}\nfunction removeSharedPrefix(messages, sharedPrefix) {\n return messages.slice(sharedPrefix.length);\n}\nfunction prepareForRULER(group) {\n const artTrajs = group.trajectories.map((t) => toARTTrajectory(t));\n const sharedPrefix = group.sharedPrefix || extractSharedPrefix(group.trajectories);\n return {\n sharedPrefix,\n suffixes: artTrajs.map((art) => removeSharedPrefix(art.messages, sharedPrefix)),\n metadata: artTrajs.map((art) => art.metadata)\n };\n}\nfunction toARTJSONL(trajectory) {\n return JSON.stringify(toARTTrajectory(trajectory));\n}\nfunction validateARTCompatibility(trajectory) {\n const errors = [];\n const warnings = [];\n if (trajectory.steps.length === 0) {\n errors.push(\"Trajectory has no steps\");\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 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 if (trajectory.totalReward === undefined || Number.isNaN(trajectory.totalReward)) {\n errors.push(\"Trajectory has no valid reward\");\n }\n const artTraj = toARTTrajectory(trajectory);\n if (artTraj.messages.length < 2) {\n warnings.push(\"Trajectory converts to very few messages (< 2)\");\n }\n return {\n valid: errors.length === 0,\n errors,\n warnings\n };\n}\n// export.ts\nimport { mkdir, writeFile } from \"node:fs/promises\";\nimport { dirname, join } from \"node:path\";\nasync function exportToHuggingFace(options) {\n return exportForOpenPipeART(options);\n}\nasync function exportGroupedByScenario(options) {\n const trajectories = filterTrajectories(options.trajectories || [], options);\n const outPath = resolveOutputPath(options, \"grouped-by-scenario.json\");\n const grouped = {};\n for (const t of trajectories) {\n const scenarioId = t.scenarioId || \"default\";\n if (!grouped[scenarioId])\n grouped[scenarioId] = [];\n grouped[scenarioId]?.push(t);\n }\n await writeJson(outPath, grouped);\n return { success: true, trajectoriesExported: trajectories.length, datasetUrl: outPath };\n}\nasync function exportForOpenPipeART(options) {\n const trajectories = filterTrajectories(options.trajectories || [], options);\n const outPath = resolveOutputPath(options, \"trajectories.art.jsonl\");\n const lines = `${trajectories.map((t) => toARTJSONL(t)).join(`\n`)}\n`;\n await writeText(outPath, lines);\n return { success: true, trajectoriesExported: trajectories.length, datasetUrl: outPath };\n}\nasync function exportGroupedForGRPO(options) {\n const trajectories = filterTrajectories(options.trajectories || [], options);\n const outPath = resolveOutputPath(options, \"trajectories.grpo.groups.json\");\n const groups = groupTrajectories(trajectories);\n await writeJson(outPath, groups);\n return { success: true, trajectoriesExported: trajectories.length, datasetUrl: outPath };\n}\nfunction filterTrajectories(trajectories, options) {\n let out = trajectories.slice();\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 const limit = options.maxTrajectories || out.length;\n return out.slice(0, limit);\n}\nfunction resolveOutputPath(options, fallbackFileName) {\n if (options.outputPath)\n return options.outputPath;\n if (options.outputDir)\n return join(options.outputDir, fallbackFileName);\n const safeName = options.datasetName.replace(/[^a-zA-Z0-9._-]+/g, \"_\");\n return join(process.cwd(), `${safeName}.${fallbackFileName}`);\n}\nasync function writeText(path, content) {\n await mkdir(dirname(path), { recursive: true });\n await writeFile(path, content, \"utf8\");\n}\nasync function writeJson(path, data) {\n await writeText(path, `${JSON.stringify(data, null, 2)}\n`);\n}\n// game-rewards.ts\nfunction computeTrajectoryReward(trajectory) {\n return trajectory.totalReward;\n}\nfunction computeStepReward(step) {\n return step.reward || 0;\n}\nasync function buildGameStateFromDB(_trajectoryId) {\n return {};\n}\nasync function recomputeTrajectoryRewards(_trajectoryIds) {}\n// integration.ts\nimport { logger as logger2 } from \"@elizaos/core\";\nfunction startAutonomousTick(trajectoryLogger, context) {\n const trajectoryId = trajectoryLogger.startTrajectory(context.agentId, {\n scenarioId: context.scenarioId,\n episodeId: context.episodeId,\n batchId: context.batchId,\n metadata: context.metadata\n });\n const envState = {\n timestamp: Date.now(),\n agentBalance: 0,\n agentPoints: 0,\n agentPnL: 0,\n openPositions: 0\n };\n trajectoryLogger.startStep(trajectoryId, envState);\n logger2.info({ trajectoryId, agentId: context.agentId }, \"Started autonomous tick trajectory\");\n return trajectoryId;\n}\nasync function endAutonomousTick(trajectoryLogger, trajectoryId, status = \"completed\", finalMetrics) {\n await trajectoryLogger.endTrajectory(trajectoryId, status, finalMetrics);\n logger2.info({ trajectoryId, status }, \"Ended autonomous tick trajectory\");\n}\nasync function loggedLLMCall(trajectoryLogger, trajectoryId, options, llmCallFn) {\n const stepId = trajectoryLogger.getCurrentStepId(trajectoryId);\n if (!stepId) {\n logger2.warn({ trajectoryId }, \"No active step for LLM call\");\n const result2 = await llmCallFn();\n return result2.text;\n }\n const startTime = Date.now();\n const result = await llmCallFn();\n const latencyMs = Date.now() - startTime;\n trajectoryLogger.logLLMCall(stepId, {\n model: options.model,\n modelVersion: options.modelVersion,\n systemPrompt: options.systemPrompt,\n userPrompt: options.userPrompt,\n response: result.text,\n reasoning: result.reasoning,\n temperature: options.temperature || 0.7,\n maxTokens: options.maxTokens || 8192,\n purpose: options.purpose || \"action\",\n actionType: options.actionType,\n promptTokens: result.tokens?.prompt,\n completionTokens: result.tokens?.completion,\n latencyMs: result.latencyMs || latencyMs\n });\n return result.text;\n}\nfunction logProviderAccess(trajectoryLogger, trajectoryId, access) {\n trajectoryLogger.logProviderAccessByTrajectoryId(trajectoryId, access);\n}\nfunction withTrajectoryLogging(fn, trajectoryLogger, trajectoryId, context = {}) {\n return async (...args) => {\n const stepId = trajectoryLogger.getCurrentStepId(trajectoryId);\n if (!stepId) {\n return fn(...args);\n }\n const result = await fn(...args);\n trajectoryLogger.completeStep(trajectoryId, stepId, {\n actionType: context.actionType || \"function_call\",\n actionName: fn.name || \"anonymous\",\n parameters: { args },\n success: true,\n result: result !== undefined ? { result } : { result: null }\n }, { reward: 0.05 });\n return result;\n };\n}\n// reward-service.ts\nclass RewardService {\n options;\n constructor(options = {}) {\n this.options = options;\n }\n async scoreTrajectory(trajectory) {\n if (this.options.useHeuristics !== false) {\n return this.computeHeuristicReward(trajectory);\n }\n return this.computeHeuristicReward(trajectory);\n }\n async scoreTrajectoryGroup(trajectories) {\n if (trajectories.length === 0) {\n return [];\n }\n if (trajectories.length === 1) {\n const first = trajectories[0];\n if (!first)\n return [];\n const score = await this.scoreTrajectory(first);\n return [this.normalizeScore(score)];\n }\n const rawScores = await Promise.all(trajectories.map((t) => this.scoreTrajectory(t)));\n return this.normalizeScoresForGroup(rawScores);\n }\n computeHeuristicReward(trajectory) {\n const components = trajectory.rewardComponents;\n const metrics = trajectory.metrics;\n let reward = 0;\n let weightSum = 0;\n if (metrics.finalPnL !== undefined) {\n const pnlScore = this.normalizePnL(metrics.finalPnL);\n reward += pnlScore * 0.4;\n weightSum += 0.4;\n }\n if (metrics.successRate !== undefined) {\n const successScore = metrics.successRate * 2 - 1;\n reward += successScore * 0.3;\n weightSum += 0.3;\n }\n const completionScore = metrics.finalStatus === \"completed\" ? 1 : -0.5;\n reward += completionScore * 0.2;\n weightSum += 0.2;\n if (components.environmentReward !== undefined) {\n const envScore = Math.max(-1, Math.min(1, components.environmentReward));\n reward += envScore * 0.1;\n weightSum += 0.1;\n }\n if (weightSum > 0) {\n reward = reward / weightSum;\n }\n return Math.max(-1, Math.min(1, reward));\n }\n normalizePnL(pnl) {\n return Math.tanh(pnl / 500);\n }\n normalizeScore(score) {\n return (score + 1) / 2;\n }\n normalizeScoresForGroup(scores) {\n const min = Math.min(...scores);\n const max = Math.max(...scores);\n const range = max - min;\n if (range === 0) {\n return scores.map(() => 0.5);\n }\n return scores.map((s) => (s - min) / range);\n }\n}\nfunction createRewardService(options = {}) {\n return new RewardService(options);\n}\nasync function scoreTrajectory(trajectory) {\n const service = new RewardService;\n return service.scoreTrajectory(trajectory);\n}\nasync function scoreTrajectoryGroup(trajectories) {\n const service = new RewardService;\n return service.scoreTrajectoryGroup(trajectories);\n}\n// TrajectoryLoggerService.ts\nimport { asUUID, logger as logger3 } from \"@elizaos/core\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nclass TrajectoryLoggerService {\n activeTrajectories = new Map;\n activeStepIds = new Map;\n startTrajectory(agentId, options = {}) {\n const trajectoryId = uuidv4();\n const now = Date.now();\n const 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 || {}\n };\n this.activeTrajectories.set(trajectoryId, trajectory);\n return trajectoryId;\n }\n startStep(trajectoryId, envState) {\n const stepId = uuidv4();\n const trajectory = this.activeTrajectories.get(trajectoryId);\n if (!trajectory) {\n throw new Error(`Trajectory ${trajectoryId} not found`);\n }\n const step = {\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 trajectory.steps.push(step);\n this.activeStepIds.set(trajectoryId, stepId);\n return stepId;\n }\n logLLMCall(stepId, llmCall) {\n const trajectory = this.findTrajectoryByStepId(stepId);\n if (!trajectory) {\n logger3.warn({ stepId }, \"Trajectory not found for LLM call\");\n return;\n }\n const step = trajectory.steps.find((s) => s.stepId === stepId);\n if (!step) {\n logger3.warn({ stepId }, \"Step not found for LLM call\");\n return;\n }\n const fullLLMCall = {\n callId: uuidv4(),\n timestamp: Date.now(),\n ...llmCall\n };\n step.llmCalls.push(fullLLMCall);\n }\n logProviderAccess(stepId, access) {\n const trajectory = this.findTrajectoryByStepId(stepId);\n if (!trajectory) {\n logger3.warn({ stepId }, \"Trajectory not found for provider access\");\n return;\n }\n const step = trajectory.steps.find((s) => s.stepId === stepId);\n if (!step) {\n logger3.warn({ stepId }, \"Step not found for provider access\");\n return;\n }\n const fullAccess = {\n providerId: uuidv4(),\n timestamp: Date.now(),\n ...access\n };\n step.providerAccesses.push(fullAccess);\n }\n logLLMCallByTrajectoryId(trajectoryId, llmCall) {\n const stepId = this.activeStepIds.get(trajectoryId);\n if (!stepId) {\n logger3.warn({ trajectoryId }, \"No active step for trajectory\");\n return;\n }\n this.logLLMCall(stepId, llmCall);\n }\n logProviderAccessByTrajectoryId(trajectoryId, access) {\n const stepId = this.activeStepIds.get(trajectoryId);\n if (!stepId) {\n logger3.warn({ trajectoryId }, \"No active step for trajectory\");\n return;\n }\n this.logProviderAccess(stepId, access);\n }\n getCurrentStepId(trajectoryId) {\n return this.activeStepIds.get(trajectoryId) || null;\n }\n completeStep(trajectoryId, stepId, action, rewardInfo) {\n const trajectory = this.activeTrajectories.get(trajectoryId);\n if (!trajectory) {\n logger3.warn({ trajectoryId }, \"Trajectory not found for completeStep\");\n return;\n }\n const step = trajectory.steps.find((s) => s.stepId === stepId);\n if (!step) {\n logger3.warn({ trajectoryId, stepId }, \"Step not found for completeStep\");\n return;\n }\n step.action = {\n attemptId: uuidv4(),\n timestamp: Date.now(),\n ...action\n };\n if (rewardInfo?.reward !== undefined) {\n step.reward = rewardInfo.reward;\n trajectory.totalReward += rewardInfo.reward;\n }\n if (rewardInfo?.components) {\n trajectory.rewardComponents = {\n ...trajectory.rewardComponents,\n ...rewardInfo.components\n };\n }\n this.activeStepIds.delete(trajectoryId);\n }\n completeCurrentStep(trajectoryId, action, rewardInfo) {\n const stepId = this.activeStepIds.get(trajectoryId);\n if (!stepId) {\n logger3.warn({ trajectoryId }, \"No active step for trajectory\");\n return;\n }\n this.completeStep(trajectoryId, stepId, action, rewardInfo);\n }\n async endTrajectory(trajectoryId, status, finalMetrics) {\n const trajectory = this.activeTrajectories.get(trajectoryId);\n if (!trajectory) {\n logger3.warn({ trajectoryId }, \"Trajectory not found for endTrajectory\");\n return;\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 if (finalMetrics) {\n trajectory.metrics = {\n ...trajectory.metrics,\n ...finalMetrics\n };\n }\n this.activeStepIds.delete(trajectoryId);\n }\n getActiveTrajectory(trajectoryId) {\n return this.activeTrajectories.get(trajectoryId) || null;\n }\n findTrajectoryByStepId(stepId) {\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\n// index.ts\nvar trajectoryLoggerPlugin = {\n name: \"@elizaos/plugin-trajectory-logger\",\n description: \"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};\nvar typescript_default = trajectoryLoggerPlugin;\nexport {\n wrapProviderWithLogging,\n wrapPluginProviders,\n wrapPluginActions,\n wrapActionWithLogging,\n withTrajectoryLogging,\n validateARTCompatibility,\n trajectoryLoggerPlugin,\n toARTTrajectory,\n toARTMessages,\n toARTJSONL,\n startAutonomousTick,\n setTrajectoryContext,\n scoreTrajectoryGroup,\n scoreTrajectory,\n removeSharedPrefix,\n recomputeTrajectoryRewards,\n prepareForRULER,\n loggedLLMCall,\n logProviderFromAction,\n logProviderAccess,\n logLLMCallFromAction,\n groupTrajectories,\n getTrajectoryContext,\n extractSharedPrefix,\n exportToHuggingFace,\n exportGroupedForGRPO,\n exportGroupedByScenario,\n exportForOpenPipeART,\n endAutonomousTick,\n typescript_default as default,\n createRewardService,\n computeTrajectoryReward,\n computeStepReward,\n clearTrajectoryContext,\n buildGameStateFromDB,\n TrajectoryLoggerService,\n RewardService\n};\n\n//# debugId=8E8ACF830258000B64756E2164756E21\n"],"mappings":"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","names":[]}
package/package.json ADDED
@@ -0,0 +1,65 @@
1
+ {
2
+ "name": "@elizaos/plugin-auto-trader",
3
+ "description": "Autonomous trading plugin with LLM-powered strategies for Solana",
4
+ "version": "2.0.0-alpha.1",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "module": "dist/index.js",
8
+ "types": "dist/index.d.ts",
9
+ "keywords": [
10
+ "plugin",
11
+ "elizaos",
12
+ "trading",
13
+ "solana",
14
+ "jupiter",
15
+ "defi"
16
+ ],
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "https://github.com/elizaos/eliza"
20
+ },
21
+ "exports": {
22
+ "./package.json": "./package.json",
23
+ ".": {
24
+ "import": {
25
+ "types": "./dist/index.d.ts",
26
+ "default": "./dist/index.js"
27
+ }
28
+ }
29
+ },
30
+ "files": [
31
+ "dist"
32
+ ],
33
+ "dependencies": {
34
+ "@elizaos/core": "workspace:*",
35
+ "@elizaos/plugin-solana": "workspace:*",
36
+ "@solana/web3.js": "^1.95.0",
37
+ "@solana/spl-token": "^0.4.0",
38
+ "bignumber.js": "^9.1.0",
39
+ "bs58": "^6.0.0",
40
+ "technicalindicators": "^3.1.0",
41
+ "zod": "^3.23.0"
42
+ },
43
+ "optionalDependencies": {
44
+ "@elizaos/plugin-trajectory-logger": "workspace:*"
45
+ },
46
+ "devDependencies": {
47
+ "@biomejs/biome": "^2.3.11",
48
+ "@types/node": "^22.0.0",
49
+ "tsup": "^8.5.0",
50
+ "typescript": "^5.8.3",
51
+ "vitest": "^3.2.3"
52
+ },
53
+ "scripts": {
54
+ "dev": "tsup --watch",
55
+ "build": "tsup",
56
+ "lint": "bunx @biomejs/biome check --write --unsafe ./src",
57
+ "test": "vitest run",
58
+ "format": "bunx @biomejs/biome format --write ./src",
59
+ "format:check": "bunx @biomejs/biome format ./src",
60
+ "clean": "rm -rf dist .turbo node_modules tsconfig.tsbuildinfo"
61
+ },
62
+ "publishConfig": {
63
+ "access": "public"
64
+ }
65
+ }