@elizaos/plugin-action-bench 1.4.2 → 1.4.4
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.
- package/README.md +164 -4
- package/dist/index.cjs +798 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.js +798 -3
- package/dist/index.js.map +1 -1
- package/package.json +5 -2
package/dist/index.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../src/actions/typewriter.ts","../src/actions/multiverseMath.ts","../src/index.ts"],"names":[],"mappings":"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","file":"index.cjs","sourcesContent":["import type {\n Action,\n ActionExample,\n ActionResult,\n HandlerCallback,\n IAgentRuntime,\n Memory,\n State,\n} from \"@elizaos/core\";\n\ntype TypewriterLetter =\n | \"a\" | \"b\" | \"c\" | \"d\" | \"e\" | \"f\" | \"g\" | \"h\" | \"i\" | \"j\" | \"k\" | \"l\" | \"m\"\n | \"n\" | \"o\" | \"p\" | \"q\" | \"r\" | \"s\" | \"t\" | \"u\" | \"v\" | \"w\" | \"x\" | \"y\" | \"z\";\n\nfunction createLetterAction(letter: TypewriterLetter): Action {\n const upper = letter.toUpperCase();\n\n return {\n name: `TYPE_${upper}`,\n similes: [`TYPE_${upper}`, `TYPE_${letter}`],\n description: `Type the letter '${letter}' and append it to the accumulating typed text for benchmarking action chaining.`,\n validate: async (_runtime: IAgentRuntime, _message: Memory, _state?: State) => {\n return true;\n },\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const current = state?.values?.typedText ?? \"\";\n const next = `${current}${letter}`;\n\n // Optional immediate feedback for visibility during bench runs\n if (callback) {\n await callback({\n text: next,\n source: message.content.source,\n });\n }\n\n return {\n success: true,\n text: next,\n values: {\n typedText: next,\n },\n data: {\n letter,\n length: next.length,\n },\n } satisfies ActionResult;\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: `type '${letter}'` },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: letter,\n actions: [`TYPE_${upper}`],\n },\n },\n ],\n ] as ActionExample[][],\n } as Action;\n}\n\nexport const typewriterActions: Action[] = (\n \"abcdefghijklmnopqrstuvwxyz\".split(\"\") as TypewriterLetter[]\n).map(createLetterAction);\n\n\n","import type {\n Action,\n ActionExample,\n ActionResult,\n HandlerCallback,\n IAgentRuntime,\n Memory,\n State,\n} from \"@elizaos/core\";\n\n// Helper function to generate a pseudo-random multiverse seed\nfunction generateMultiverseSeed(a: number, b: number): number {\n const seed = ((a * 73) + (b * 37)) % 1000;\n return Math.abs(seed);\n}\n\n// Helper function to check if a number is prime\nfunction isPrime(n: number): boolean {\n if (n <= 1) return false;\n if (n <= 3) return true;\n if (n % 2 === 0 || n % 3 === 0) return false;\n for (let i = 5; i * i <= n; i += 6) {\n if (n % i === 0 || n % (i + 2) === 0) return false;\n }\n return true;\n}\n\n// Helper function to find the next prime number\nfunction findNextPrime(n: number): number {\n if (n < 2) return 2;\n let candidate = Math.ceil(n);\n while (!isPrime(candidate)) {\n candidate++;\n }\n return candidate;\n}\n\n// Helper function to find nearest Fibonacci number\nfunction findNearestFibonacci(n: number): number {\n const fibSeq = [0, 1];\n while (fibSeq[fibSeq.length - 1] < Math.abs(n)) {\n fibSeq.push(fibSeq[fibSeq.length - 1] + fibSeq[fibSeq.length - 2]);\n }\n \n const lastFib = fibSeq[fibSeq.length - 1];\n const prevFib = fibSeq[fibSeq.length - 2];\n \n return Math.abs(n - lastFib) < Math.abs(n - prevFib) ? lastFib : prevFib;\n}\n\n// Helper to safely parse numbers from state\nfunction getStateValue(state: State | undefined, key: string, defaultValue: number = 0): number {\n const value = state?.values?.[key];\n if (typeof value === \"number\") return value;\n if (typeof value === \"string\") {\n const parsed = parseFloat(value);\n return isNaN(parsed) ? defaultValue : parsed;\n }\n return defaultValue;\n}\n\n// Number input actions (0-9)\nfunction createNumberAction(digit: number): Action {\n return {\n name: `INPUT_${digit}`,\n similes: [`INPUT_${digit}`, `TYPE_${digit}`, `ENTER_${digit}`],\n description: `Input the number ${digit} into the current calculation buffer.`,\n validate: async () => true,\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const currentBuffer = getStateValue(state, \"inputBuffer\", 0);\n const newBuffer = currentBuffer * 10 + digit;\n \n if (callback) {\n await callback({\n text: `Input: ${newBuffer}`,\n source: message.content.source,\n });\n }\n\n return {\n success: true,\n text: `Input: ${newBuffer}`,\n values: {\n inputBuffer: newBuffer,\n lastInput: digit,\n },\n data: {\n digit,\n buffer: newBuffer,\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: `input ${digit}` },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: `Input: ${digit}`,\n actions: [`INPUT_${digit}`],\n },\n },\n ],\n ] as ActionExample[][],\n };\n}\n\n// Dimension selector action\nconst selectDimensionAction: Action = {\n name: \"SELECT_DIMENSION\",\n similes: [\"DIMENSION\", \"SET_DIMENSION\", \"CHOOSE_DIMENSION\"],\n description: \"Select the dimensional constant that affects how mathematical operations behave in the multiverse.\",\n validate: async () => true,\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n // Parse dimension from message content\n const content = message.content.text?.toLowerCase() || \"\";\n let dimension = \"standard\";\n \n if (content.includes(\"quantum\")) dimension = \"quantum\";\n else if (content.includes(\"chaos\")) dimension = \"chaos\";\n else if (content.includes(\"prime\")) dimension = \"prime\";\n else if (content.includes(\"mirror\")) dimension = \"mirror\";\n else if (content.includes(\"void\")) dimension = \"void\";\n else if (content.includes(\"absolute\")) dimension = \"absolute\";\n else if (content.includes(\"fibonacci\")) dimension = \"fibonacci\";\n else if (content.includes(\"exponential\")) dimension = \"exponential\";\n else if (content.includes(\"harmonic\")) dimension = \"harmonic\";\n else if (content.includes(\"infinite\")) dimension = \"infinite\";\n else if (content.includes(\"golden\")) dimension = \"golden\";\n else if (content.includes(\"spiral\")) dimension = \"spiral\";\n else if (content.includes(\"fractal\")) dimension = \"fractal\";\n else if (content.includes(\"cyclical\")) dimension = \"cyclical\";\n \n const text = `Dimension set to: ${dimension}`;\n \n if (callback) {\n await callback({ text, source: message.content.source });\n }\n\n return {\n success: true,\n text,\n values: {\n ...state?.values,\n dimension,\n },\n data: {\n dimension,\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: \"set dimension to quantum\" },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: \"Dimension set to: quantum\",\n actions: [\"SELECT_DIMENSION\"],\n },\n },\n ],\n ] as ActionExample[][],\n};\n\n// Multiverse Add Action\nconst multiverseAddAction: Action = {\n name: \"MULTIVERSE_ADD\",\n similes: [\"M_ADD\", \"MULTI_ADD\", \"DIMENSIONAL_ADD\"],\n description: \"Performs addition in the multiverse where numbers behave differently based on dimensional constants (prime, quantum, or chaos).\",\n validate: async () => true,\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const a = getStateValue(state, \"accumulator\", 0);\n const b = getStateValue(state, \"inputBuffer\", 0);\n const dimension = state?.values?.dimension || \"prime\";\n \n let result: number;\n let explanation: string;\n \n switch (dimension) {\n case \"quantum\":\n // In quantum dimension, addition creates superposition\n result = a + b + Math.sqrt(Math.abs(a * b));\n explanation = `In quantum dimension: ${a} + ${b} = ${result} (includes quantum entanglement factor √(${a}×${b}))`;\n break;\n case \"chaos\":\n // In chaos dimension, results are unpredictable but deterministic\n const seed = generateMultiverseSeed(a, b);\n result = a + b + (seed % 10);\n explanation = `In chaos dimension: ${a} + ${b} = ${result} (chaos factor: ${seed % 10})`;\n break;\n case \"prime\":\n default:\n // In prime dimension, only prime numbers truly exist\n const standardResult = a + b;\n const nextPrime = findNextPrime(Math.abs(standardResult));\n result = standardResult < 0 ? -nextPrime : nextPrime;\n explanation = `In prime dimension: ${a} + ${b} = ${result} (elevated to nearest prime from ${standardResult})`;\n break;\n }\n \n result = Math.round(result * 1000) / 1000; // Round to 3 decimal places\n \n if (callback) {\n await callback({ text: explanation, source: message.content.source });\n }\n\n return {\n success: true,\n text: explanation,\n values: {\n accumulator: result,\n inputBuffer: 0,\n lastOperation: \"multiverse_add\",\n dimension,\n history: [...(state?.values?.history || []), explanation],\n },\n data: {\n operation: \"multiverse_add\",\n inputs: { a, b, dimension },\n result,\n explanation,\n timestamp: new Date().toISOString(),\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: \"add in quantum dimension\" },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: \"In quantum dimension: 0 + 0 = 0 (includes quantum entanglement factor √(0×0))\",\n actions: [\"MULTIVERSE_ADD\"],\n },\n },\n ],\n ] as ActionExample[][],\n};\n\n// Multiverse Subtract Action\nconst multiverseSubtractAction: Action = {\n name: \"MULTIVERSE_SUBTRACT\",\n similes: [\"M_SUBTRACT\", \"MULTI_SUB\", \"DIMENSIONAL_SUBTRACT\"],\n description: \"Performs subtraction in the multiverse where negative numbers might not exist in some dimensions (absolute, mirror, or void).\",\n validate: async () => true,\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const a = getStateValue(state, \"accumulator\", 0);\n const b = getStateValue(state, \"inputBuffer\", 0);\n const dimension = state?.values?.dimension || \"absolute\";\n \n let result: number;\n let explanation: string;\n \n switch (dimension) {\n case \"mirror\":\n // In mirror dimension, subtraction reflects across zero\n result = Math.abs(a - b) * (a > b ? 1 : -1) * 2;\n explanation = `In mirror dimension: ${a} - ${b} = ${result} (reflected subtraction)`;\n break;\n case \"void\":\n // In void dimension, subtraction creates voids (always positive)\n result = Math.abs(a - b) + Math.min(a, b);\n explanation = `In void dimension: ${a} - ${b} = ${result} (void compensation: +${Math.min(a, b)})`;\n break;\n case \"absolute\":\n default:\n // In absolute dimension, negative numbers don't exist\n result = Math.abs(a - b);\n explanation = `In absolute dimension: ${a} - ${b} = ${result} (absolute value universe)`;\n break;\n }\n \n result = Math.round(result * 1000) / 1000;\n \n if (callback) {\n await callback({ text: explanation, source: message.content.source });\n }\n\n return {\n success: true,\n text: explanation,\n values: {\n accumulator: result,\n inputBuffer: 0,\n lastOperation: \"multiverse_subtract\",\n dimension,\n history: [...(state?.values?.history || []), explanation],\n },\n data: {\n operation: \"multiverse_subtract\",\n inputs: { a, b, dimension },\n result,\n explanation,\n timestamp: new Date().toISOString(),\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: \"subtract in mirror dimension\" },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: \"In mirror dimension: 0 - 0 = 0 (reflected subtraction)\",\n actions: [\"MULTIVERSE_SUBTRACT\"],\n },\n },\n ],\n ] as ActionExample[][],\n};\n\n// Multiverse Multiply Action\nconst multiverseMultiplyAction: Action = {\n name: \"MULTIVERSE_MULTIPLY\",\n similes: [\"M_MULTIPLY\", \"MULTI_MUL\", \"DIMENSIONAL_MULTIPLY\"],\n description: \"Performs multiplication across dimensional boundaries with exotic number behaviors (fibonacci, exponential, or harmonic).\",\n validate: async () => true,\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const a = getStateValue(state, \"accumulator\", 1);\n const b = getStateValue(state, \"inputBuffer\", 1);\n const dimension = state?.values?.dimension || \"fibonacci\";\n \n let result: number;\n let explanation: string;\n \n switch (dimension) {\n case \"exponential\":\n // In exponential dimension, multiplication compounds\n result = Math.pow(Math.abs(a), Math.abs(b)) * (a < 0 || b < 0 ? -1 : 1);\n explanation = `In exponential dimension: ${a} × ${b} = ${result} (actually ${a}^${b})`;\n break;\n case \"harmonic\":\n // In harmonic dimension, multiplication creates harmonics\n const harmonic = (a * b) + ((a + b) / 2);\n result = harmonic;\n explanation = `In harmonic dimension: ${a} × ${b} = ${result} (includes harmonic mean)`;\n break;\n case \"fibonacci\":\n default:\n // In fibonacci dimension, results snap to fibonacci numbers\n const standard = a * b;\n result = findNearestFibonacci(standard) * (standard < 0 ? -1 : 1);\n explanation = `In fibonacci dimension: ${a} × ${b} = ${result} (nearest Fibonacci to ${standard})`;\n break;\n }\n \n result = Math.round(result * 1000) / 1000;\n \n if (callback) {\n await callback({ text: explanation, source: message.content.source });\n }\n\n return {\n success: true,\n text: explanation,\n values: {\n accumulator: result,\n inputBuffer: 0,\n lastOperation: \"multiverse_multiply\",\n dimension,\n history: [...(state?.values?.history || []), explanation],\n },\n data: {\n operation: \"multiverse_multiply\",\n inputs: { a, b, dimension },\n result,\n explanation,\n timestamp: new Date().toISOString(),\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: \"multiply in exponential dimension\" },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: \"In exponential dimension: 1 × 1 = 1 (actually 1^1)\",\n actions: [\"MULTIVERSE_MULTIPLY\"],\n },\n },\n ],\n ] as ActionExample[][],\n};\n\n// Multiverse Divide Action\nconst multiverseDivideAction: Action = {\n name: \"MULTIVERSE_DIVIDE\",\n similes: [\"M_DIVIDE\", \"MULTI_DIV\", \"DIMENSIONAL_DIVIDE\"],\n description: \"Performs division in the multiverse where infinity and zero have special meanings (safe, infinite, or golden).\",\n validate: async () => true,\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const a = getStateValue(state, \"accumulator\", 0);\n const b = getStateValue(state, \"inputBuffer\", 1);\n const dimension = state?.values?.dimension || \"safe\";\n \n let result: number;\n let explanation: string;\n \n switch (dimension) {\n case \"infinite\":\n // In infinite dimension, division by zero opens portals\n if (b === 0) {\n result = a * 999; // Portal multiplier\n explanation = `In infinite dimension: ${a} ÷ 0 = ${result} (portal opened!)`;\n } else {\n result = (a / b) * Math.PI;\n explanation = `In infinite dimension: ${a} ÷ ${b} = ${result} (π-scaled)`;\n }\n break;\n case \"golden\":\n // In golden dimension, all division tends toward golden ratio\n const goldenRatio = 1.618033988749895;\n const standard = b === 0 ? 0 : a / b;\n result = (standard + goldenRatio) / 2;\n explanation = `In golden dimension: ${a} ÷ ${b} = ${result} (converging to φ)`;\n break;\n case \"safe\":\n default:\n // In safe dimension, division by zero returns the dividend\n result = b === 0 ? a : a / b;\n explanation = b === 0 \n ? `In safe dimension: ${a} ÷ 0 = ${a} (safe division, returns dividend)`\n : `In safe dimension: ${a} ÷ ${b} = ${result} (standard division)`;\n break;\n }\n \n result = Math.round(result * 1000) / 1000;\n \n if (callback) {\n await callback({ text: explanation, source: message.content.source });\n }\n\n return {\n success: true,\n text: explanation,\n values: {\n accumulator: result,\n inputBuffer: 0,\n lastOperation: \"multiverse_divide\",\n dimension,\n history: [...(state?.values?.history || []), explanation],\n },\n data: {\n operation: \"multiverse_divide\",\n inputs: { a, b, dimension },\n result,\n explanation,\n timestamp: new Date().toISOString(),\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: \"divide in golden dimension\" },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: \"In golden dimension: 0 ÷ 1 = 0.809 (converging to φ)\",\n actions: [\"MULTIVERSE_DIVIDE\"],\n },\n },\n ],\n ] as ActionExample[][],\n};\n\n// Multiverse Modulo Action\nconst multiverseModuloAction: Action = {\n name: \"MULTIVERSE_MODULO\",\n similes: [\"M_MODULO\", \"MULTI_MOD\", \"DIMENSIONAL_MODULO\"],\n description: \"Performs modulo operation in the multiverse with cyclical dimensional properties (cyclical, spiral, or fractal).\",\n validate: async (_runtime: IAgentRuntime, _message: Memory, state?: State) => {\n const b = getStateValue(state, \"inputBuffer\", 1);\n return b !== 0;\n },\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const a = getStateValue(state, \"accumulator\", 0);\n const b = getStateValue(state, \"inputBuffer\", 1);\n const dimension = state?.values?.dimension || \"cyclical\";\n \n let result: number;\n let explanation: string;\n \n if (b === 0) {\n return {\n success: false,\n text: \"Error: Cannot modulo by zero\",\n values: state?.values || {},\n };\n }\n \n switch (dimension) {\n case \"spiral\":\n // In spiral dimension, modulo creates spiraling patterns\n const spiralFactor = Math.sin(a) * Math.cos(b);\n result = Math.abs((a % b) + spiralFactor * 10);\n explanation = `In spiral dimension: ${a} % ${b} = ${result} (spiral factor: ${spiralFactor.toFixed(2)})`;\n break;\n case \"fractal\":\n // In fractal dimension, modulo is self-similar at all scales\n const iterations = 3;\n result = a % b;\n for (let i = 0; i < iterations; i++) {\n result = (result * 2) % (b + i);\n }\n explanation = `In fractal dimension: ${a} % ${b} = ${result} (after ${iterations} fractal iterations)`;\n break;\n case \"cyclical\":\n default:\n // In cyclical dimension, modulo creates perfect cycles\n result = a % b;\n if (result < 0) result += b; // Always positive in cyclical dimension\n explanation = `In cyclical dimension: ${a} % ${b} = ${result} (perfect cycle)`;\n break;\n }\n \n result = Math.round(result * 100) / 100;\n \n if (callback) {\n await callback({ text: explanation, source: message.content.source });\n }\n\n return {\n success: true,\n text: explanation,\n values: {\n accumulator: result,\n inputBuffer: 0,\n lastOperation: \"multiverse_modulo\",\n dimension,\n history: [...(state?.values?.history || []), explanation],\n },\n data: {\n operation: \"multiverse_modulo\",\n inputs: { a, b, dimension },\n result,\n explanation,\n timestamp: new Date().toISOString(),\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: \"modulo in fractal dimension\" },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: \"In fractal dimension: 0 % 1 = 0 (after 3 fractal iterations)\",\n actions: [\"MULTIVERSE_MODULO\"],\n },\n },\n ],\n ] as ActionExample[][],\n};\n\n// Multiverse Power Action\nconst multiversePowerAction: Action = {\n name: \"MULTIVERSE_POWER\",\n similes: [\"M_POWER\", \"MULTI_POW\", \"DIMENSIONAL_POWER\"],\n description: \"Raises numbers to powers in the multiverse with dimensional effects (standard, imaginary, or recursive).\",\n validate: async () => true,\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const a = getStateValue(state, \"accumulator\", 0);\n const b = getStateValue(state, \"inputBuffer\", 2);\n const dimension = state?.values?.dimension || \"standard\";\n \n let result: number;\n let explanation: string;\n \n switch (dimension) {\n case \"imaginary\":\n // In imaginary dimension, powers oscillate\n const oscillation = Math.cos(b * Math.PI / 2);\n result = Math.pow(Math.abs(a), b) * oscillation;\n explanation = `In imaginary dimension: ${a}^${b} = ${result} (oscillation factor: ${oscillation.toFixed(2)})`;\n break;\n case \"recursive\":\n // In recursive dimension, power is applied iteratively\n result = a;\n for (let i = 0; i < Math.min(Math.abs(b), 5); i++) {\n result = Math.pow(result, 1.5);\n }\n explanation = `In recursive dimension: ${a}^${b} = ${result} (${Math.min(Math.abs(b), 5)} recursive applications)`;\n break;\n case \"standard\":\n default:\n result = Math.pow(a, b);\n explanation = `In standard dimension: ${a}^${b} = ${result}`;\n break;\n }\n \n result = Math.round(result * 1000) / 1000;\n \n if (callback) {\n await callback({ text: explanation, source: message.content.source });\n }\n\n return {\n success: true,\n text: explanation,\n values: {\n accumulator: result,\n inputBuffer: 0,\n lastOperation: \"multiverse_power\",\n dimension,\n history: [...(state?.values?.history || []), explanation],\n },\n data: {\n operation: \"multiverse_power\",\n inputs: { a, b, dimension },\n result,\n explanation,\n timestamp: new Date().toISOString(),\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: \"power in imaginary dimension\" },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: \"In imaginary dimension: 0^2 = 0 (oscillation factor: -1.00)\",\n actions: [\"MULTIVERSE_POWER\"],\n },\n },\n ],\n ] as ActionExample[][],\n};\n\n// Multiverse Square Root Action\nconst multiverseSqrtAction: Action = {\n name: \"MULTIVERSE_SQRT\",\n similes: [\"M_SQRT\", \"MULTI_ROOT\", \"DIMENSIONAL_SQRT\"],\n description: \"Takes square root in the multiverse with dimensional variations (positive, complex, or quantum).\",\n validate: async () => true,\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const a = getStateValue(state, \"accumulator\", 0);\n const dimension = state?.values?.dimension || \"positive\";\n \n let result: number;\n let explanation: string;\n \n switch (dimension) {\n case \"complex\":\n // In complex dimension, negative numbers have positive roots\n result = Math.sqrt(Math.abs(a));\n if (a < 0) {\n explanation = `In complex dimension: √${a} = ${result}i (imaginary component)`;\n } else {\n explanation = `In complex dimension: √${a} = ${result} (real component)`;\n }\n break;\n case \"quantum\":\n // In quantum dimension, square root creates superposition\n const superposition = Math.sqrt(Math.abs(a)) + (Math.random() - 0.5) * 0.1;\n result = Math.abs(superposition);\n explanation = `In quantum dimension: √${a} = ${result} (quantum fluctuation)`;\n break;\n case \"positive\":\n default:\n // In positive dimension, always returns positive\n result = Math.sqrt(Math.abs(a));\n explanation = `In positive dimension: √${a} = ${result} (absolute square root)`;\n break;\n }\n \n result = Math.round(result * 1000) / 1000;\n \n if (callback) {\n await callback({ text: explanation, source: message.content.source });\n }\n\n return {\n success: true,\n text: explanation,\n values: {\n accumulator: result,\n lastOperation: \"multiverse_sqrt\",\n dimension,\n history: [...(state?.values?.history || []), explanation],\n },\n data: {\n operation: \"multiverse_sqrt\",\n inputs: { a, dimension },\n result,\n explanation,\n timestamp: new Date().toISOString(),\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: \"square root in complex dimension\" },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: \"In complex dimension: √0 = 0 (real component)\",\n actions: [\"MULTIVERSE_SQRT\"],\n },\n },\n ],\n ] as ActionExample[][],\n};\n\n// Utility actions\nconst clearAction: Action = {\n name: \"MATH_CLEAR\",\n similes: [\"CLEAR\", \"RESET\", \"CLEAR_ALL\"],\n description: \"Clear all calculation buffers and reset to zero.\",\n validate: async () => true,\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n _state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const text = \"Cleared all buffers\";\n \n if (callback) {\n await callback({ text, source: message.content.source });\n }\n\n return {\n success: true,\n text,\n values: {\n accumulator: 0,\n inputBuffer: 0,\n lastOperation: \"clear\",\n dimension: \"standard\",\n history: [],\n },\n data: {\n operation: \"clear\",\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: \"clear\" },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: \"Cleared all buffers\",\n actions: [\"MATH_CLEAR\"],\n },\n },\n ],\n ] as ActionExample[][],\n};\n\nconst storeAction: Action = {\n name: \"MATH_STORE\",\n similes: [\"STORE\", \"SAVE\", \"MEMORY_STORE\"],\n description: \"Store current accumulator value to memory.\",\n validate: async () => true,\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const accumulator = getStateValue(state, \"accumulator\", 0);\n const text = `Stored ${accumulator} to memory`;\n \n if (callback) {\n await callback({ text, source: message.content.source });\n }\n\n return {\n success: true,\n text,\n values: {\n ...state?.values,\n memory: accumulator,\n lastOperation: \"store\",\n },\n data: {\n operation: \"store\",\n value: accumulator,\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: \"store to memory\" },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: \"Stored 0 to memory\",\n actions: [\"MATH_STORE\"],\n },\n },\n ],\n ] as ActionExample[][],\n};\n\nconst recallAction: Action = {\n name: \"MATH_RECALL\",\n similes: [\"RECALL\", \"LOAD\", \"MEMORY_RECALL\"],\n description: \"Recall value from memory to input buffer.\",\n validate: async () => true,\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const memory = getStateValue(state, \"memory\", 0);\n const text = `Recalled ${memory} from memory`;\n \n if (callback) {\n await callback({ text, source: message.content.source });\n }\n\n return {\n success: true,\n text,\n values: {\n ...state?.values,\n inputBuffer: memory,\n lastOperation: \"recall\",\n },\n data: {\n operation: \"recall\",\n value: memory,\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: \"recall from memory\" },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: \"Recalled 0 from memory\",\n actions: [\"MATH_RECALL\"],\n },\n },\n ],\n ] as ActionExample[][],\n};\n\n// Transfer accumulator to input buffer\nconst transferAction: Action = {\n name: \"TRANSFER_TO_INPUT\",\n similes: [\"TRANSFER\", \"MOVE_TO_INPUT\", \"ACCUMULATOR_TO_INPUT\"],\n description: \"Transfer accumulator value to input buffer for next operation.\",\n validate: async () => true,\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const accumulator = getStateValue(state, \"accumulator\", 0);\n const text = `Transferred ${accumulator} from accumulator to input buffer`;\n \n if (callback) {\n await callback({ text, source: message.content.source });\n }\n\n return {\n success: true,\n text,\n values: {\n ...state?.values,\n inputBuffer: accumulator,\n accumulator: 0,\n lastOperation: \"transfer\",\n },\n data: {\n operation: \"transfer\",\n value: accumulator,\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: \"transfer to input\" },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: \"Transferred 0 from accumulator to input buffer\",\n actions: [\"TRANSFER_TO_INPUT\"],\n },\n },\n ],\n ] as ActionExample[][],\n};\n\n// Export all multiverse math actions\nexport const multiverseMathActions: Action[] = [\n // Number inputs\n ...Array.from({ length: 10 }, (_, i) => createNumberAction(i)),\n // Dimension selector\n selectDimensionAction,\n // Multiverse operations\n multiverseAddAction,\n multiverseSubtractAction,\n multiverseMultiplyAction,\n multiverseDivideAction,\n multiverseModuloAction,\n multiversePowerAction,\n multiverseSqrtAction,\n // Utility operations\n clearAction,\n storeAction,\n recallAction,\n transferAction,\n];","import type { Plugin } from \"@elizaos/core\";\nimport { typewriterActions } from \"./actions/typewriter\";\nimport { multiverseMathActions } from \"./actions/multiverseMath\";\n\n// Export with the expected naming convention\nexport const actionBenchPlugin: Plugin = {\n name: \"plugin-action-bench\",\n description:\n \"Action benchmark plugin providing typewriter (A–Z) and multiverse math operations where mathematical behavior changes based on dimensional constants, testing AI agents' ability to handle context-dependent operations and unknown mathematical scenarios.\",\n actions: [...typewriterActions, ...multiverseMathActions],\n};\n// Default export\nexport default actionBenchPlugin;\n"]}
|
1
|
+
{"version":3,"sources":["../src/actions/typewriter.ts","../src/actions/multiverseMath.ts","../src/actions/relationalData.ts","../src/index.ts"],"names":[],"mappings":"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","file":"index.cjs","sourcesContent":["import type {\n Action,\n ActionExample,\n ActionResult,\n HandlerCallback,\n IAgentRuntime,\n Memory,\n State,\n} from \"@elizaos/core\";\n\ntype TypewriterLetter =\n | \"a\" | \"b\" | \"c\" | \"d\" | \"e\" | \"f\" | \"g\" | \"h\" | \"i\" | \"j\" | \"k\" | \"l\" | \"m\"\n | \"n\" | \"o\" | \"p\" | \"q\" | \"r\" | \"s\" | \"t\" | \"u\" | \"v\" | \"w\" | \"x\" | \"y\" | \"z\";\n\nfunction createLetterAction(letter: TypewriterLetter): Action {\n const upper = letter.toUpperCase();\n\n return {\n name: `TYPE_${upper}`,\n similes: [`TYPE_${upper}`, `TYPE_${letter}`],\n description: `Type the letter '${letter}' and append it to the accumulating typed text for benchmarking action chaining.`,\n validate: async (_runtime: IAgentRuntime, _message: Memory, _state?: State) => {\n return true;\n },\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const current = state?.values?.typedText ?? \"\";\n const next = `${current}${letter}`;\n\n // Optional immediate feedback for visibility during bench runs\n if (callback) {\n await callback({\n text: next,\n source: message.content.source,\n });\n }\n\n return {\n success: true,\n text: next,\n values: {\n typedText: next,\n },\n data: {\n letter,\n length: next.length,\n },\n } satisfies ActionResult;\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: `type '${letter}'` },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: letter,\n actions: [`TYPE_${upper}`],\n },\n },\n ],\n ] as ActionExample[][],\n } as Action;\n}\n\nexport const typewriterActions: Action[] = (\n \"abcdefghijklmnopqrstuvwxyz\".split(\"\") as TypewriterLetter[]\n).map(createLetterAction);\n\n\n","import type {\n Action,\n ActionExample,\n ActionResult,\n HandlerCallback,\n IAgentRuntime,\n Memory,\n State,\n} from \"@elizaos/core\";\n\n// Helper function to generate a pseudo-random multiverse seed\nfunction generateMultiverseSeed(a: number, b: number): number {\n const seed = ((a * 73) + (b * 37)) % 1000;\n return Math.abs(seed);\n}\n\n// Helper function to check if a number is prime\nfunction isPrime(n: number): boolean {\n if (n <= 1) return false;\n if (n <= 3) return true;\n if (n % 2 === 0 || n % 3 === 0) return false;\n for (let i = 5; i * i <= n; i += 6) {\n if (n % i === 0 || n % (i + 2) === 0) return false;\n }\n return true;\n}\n\n// Helper function to find the next prime number\nfunction findNextPrime(n: number): number {\n if (n < 2) return 2;\n let candidate = Math.ceil(n);\n while (!isPrime(candidate)) {\n candidate++;\n }\n return candidate;\n}\n\n// Helper function to find nearest Fibonacci number\nfunction findNearestFibonacci(n: number): number {\n const fibSeq = [0, 1];\n while (fibSeq[fibSeq.length - 1] < Math.abs(n)) {\n fibSeq.push(fibSeq[fibSeq.length - 1] + fibSeq[fibSeq.length - 2]);\n }\n \n const lastFib = fibSeq[fibSeq.length - 1];\n const prevFib = fibSeq[fibSeq.length - 2];\n \n return Math.abs(n - lastFib) < Math.abs(n - prevFib) ? lastFib : prevFib;\n}\n\n// Helper to safely parse numbers from state\nfunction getStateValue(state: State | undefined, key: string, defaultValue: number = 0): number {\n const value = state?.values?.[key];\n if (typeof value === \"number\") return value;\n if (typeof value === \"string\") {\n const parsed = parseFloat(value);\n return isNaN(parsed) ? defaultValue : parsed;\n }\n return defaultValue;\n}\n\n// Number input actions (0-9)\nfunction createNumberAction(digit: number): Action {\n return {\n name: `INPUT_${digit}`,\n similes: [`INPUT_${digit}`, `TYPE_${digit}`, `ENTER_${digit}`],\n description: `Input the number ${digit} into the current calculation buffer.`,\n validate: async () => true,\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const currentBuffer = getStateValue(state, \"inputBuffer\", 0);\n const newBuffer = currentBuffer * 10 + digit;\n \n if (callback) {\n await callback({\n text: `Input: ${newBuffer}`,\n source: message.content.source,\n });\n }\n\n return {\n success: true,\n text: `Input: ${newBuffer}`,\n values: {\n inputBuffer: newBuffer,\n lastInput: digit,\n },\n data: {\n digit,\n buffer: newBuffer,\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: `input ${digit}` },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: `Input: ${digit}`,\n actions: [`INPUT_${digit}`],\n },\n },\n ],\n ] as ActionExample[][],\n };\n}\n\n// Dimension selector action\nconst selectDimensionAction: Action = {\n name: \"SELECT_DIMENSION\",\n similes: [\"DIMENSION\", \"SET_DIMENSION\", \"CHOOSE_DIMENSION\"],\n description: \"Select the dimensional constant that affects how mathematical operations behave in the multiverse.\",\n validate: async () => true,\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n // Parse dimension from message content\n const content = message.content.text?.toLowerCase() || \"\";\n let dimension = \"standard\";\n \n if (content.includes(\"quantum\")) dimension = \"quantum\";\n else if (content.includes(\"chaos\")) dimension = \"chaos\";\n else if (content.includes(\"prime\")) dimension = \"prime\";\n else if (content.includes(\"mirror\")) dimension = \"mirror\";\n else if (content.includes(\"void\")) dimension = \"void\";\n else if (content.includes(\"absolute\")) dimension = \"absolute\";\n else if (content.includes(\"fibonacci\")) dimension = \"fibonacci\";\n else if (content.includes(\"exponential\")) dimension = \"exponential\";\n else if (content.includes(\"harmonic\")) dimension = \"harmonic\";\n else if (content.includes(\"infinite\")) dimension = \"infinite\";\n else if (content.includes(\"golden\")) dimension = \"golden\";\n else if (content.includes(\"spiral\")) dimension = \"spiral\";\n else if (content.includes(\"fractal\")) dimension = \"fractal\";\n else if (content.includes(\"cyclical\")) dimension = \"cyclical\";\n \n const text = `Dimension set to: ${dimension}`;\n \n if (callback) {\n await callback({ text, source: message.content.source });\n }\n\n return {\n success: true,\n text,\n values: {\n ...state?.values,\n dimension,\n },\n data: {\n dimension,\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: \"set dimension to quantum\" },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: \"Dimension set to: quantum\",\n actions: [\"SELECT_DIMENSION\"],\n },\n },\n ],\n ] as ActionExample[][],\n};\n\n// Multiverse Add Action\nconst multiverseAddAction: Action = {\n name: \"MULTIVERSE_ADD\",\n similes: [\"M_ADD\", \"MULTI_ADD\", \"DIMENSIONAL_ADD\"],\n description: \"Performs addition in the multiverse where numbers behave differently based on dimensional constants (prime, quantum, or chaos).\",\n validate: async () => true,\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const a = getStateValue(state, \"accumulator\", 0);\n const b = getStateValue(state, \"inputBuffer\", 0);\n const dimension = state?.values?.dimension || \"prime\";\n \n let result: number;\n let explanation: string;\n \n switch (dimension) {\n case \"quantum\":\n // In quantum dimension, addition creates superposition\n result = a + b + Math.sqrt(Math.abs(a * b));\n explanation = `In quantum dimension: ${a} + ${b} = ${result} (includes quantum entanglement factor √(${a}×${b}))`;\n break;\n case \"chaos\":\n // In chaos dimension, results are unpredictable but deterministic\n const seed = generateMultiverseSeed(a, b);\n result = a + b + (seed % 10);\n explanation = `In chaos dimension: ${a} + ${b} = ${result} (chaos factor: ${seed % 10})`;\n break;\n case \"prime\":\n default:\n // In prime dimension, only prime numbers truly exist\n const standardResult = a + b;\n const nextPrime = findNextPrime(Math.abs(standardResult));\n result = standardResult < 0 ? -nextPrime : nextPrime;\n explanation = `In prime dimension: ${a} + ${b} = ${result} (elevated to nearest prime from ${standardResult})`;\n break;\n }\n \n result = Math.round(result * 1000) / 1000; // Round to 3 decimal places\n \n if (callback) {\n await callback({ text: explanation, source: message.content.source });\n }\n\n return {\n success: true,\n text: explanation,\n values: {\n accumulator: result,\n inputBuffer: 0,\n lastOperation: \"multiverse_add\",\n dimension,\n history: [...(state?.values?.history || []), explanation],\n },\n data: {\n operation: \"multiverse_add\",\n inputs: { a, b, dimension },\n result,\n explanation,\n timestamp: new Date().toISOString(),\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: \"add in quantum dimension\" },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: \"In quantum dimension: 0 + 0 = 0 (includes quantum entanglement factor √(0×0))\",\n actions: [\"MULTIVERSE_ADD\"],\n },\n },\n ],\n ] as ActionExample[][],\n};\n\n// Multiverse Subtract Action\nconst multiverseSubtractAction: Action = {\n name: \"MULTIVERSE_SUBTRACT\",\n similes: [\"M_SUBTRACT\", \"MULTI_SUB\", \"DIMENSIONAL_SUBTRACT\"],\n description: \"Performs subtraction in the multiverse where negative numbers might not exist in some dimensions (absolute, mirror, or void).\",\n validate: async () => true,\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const a = getStateValue(state, \"accumulator\", 0);\n const b = getStateValue(state, \"inputBuffer\", 0);\n const dimension = state?.values?.dimension || \"absolute\";\n \n let result: number;\n let explanation: string;\n \n switch (dimension) {\n case \"mirror\":\n // In mirror dimension, subtraction reflects across zero\n result = Math.abs(a - b) * (a > b ? 1 : -1) * 2;\n explanation = `In mirror dimension: ${a} - ${b} = ${result} (reflected subtraction)`;\n break;\n case \"void\":\n // In void dimension, subtraction creates voids (always positive)\n result = Math.abs(a - b) + Math.min(a, b);\n explanation = `In void dimension: ${a} - ${b} = ${result} (void compensation: +${Math.min(a, b)})`;\n break;\n case \"absolute\":\n default:\n // In absolute dimension, negative numbers don't exist\n result = Math.abs(a - b);\n explanation = `In absolute dimension: ${a} - ${b} = ${result} (absolute value universe)`;\n break;\n }\n \n result = Math.round(result * 1000) / 1000;\n \n if (callback) {\n await callback({ text: explanation, source: message.content.source });\n }\n\n return {\n success: true,\n text: explanation,\n values: {\n accumulator: result,\n inputBuffer: 0,\n lastOperation: \"multiverse_subtract\",\n dimension,\n history: [...(state?.values?.history || []), explanation],\n },\n data: {\n operation: \"multiverse_subtract\",\n inputs: { a, b, dimension },\n result,\n explanation,\n timestamp: new Date().toISOString(),\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: \"subtract in mirror dimension\" },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: \"In mirror dimension: 0 - 0 = 0 (reflected subtraction)\",\n actions: [\"MULTIVERSE_SUBTRACT\"],\n },\n },\n ],\n ] as ActionExample[][],\n};\n\n// Multiverse Multiply Action\nconst multiverseMultiplyAction: Action = {\n name: \"MULTIVERSE_MULTIPLY\",\n similes: [\"M_MULTIPLY\", \"MULTI_MUL\", \"DIMENSIONAL_MULTIPLY\"],\n description: \"Performs multiplication across dimensional boundaries with exotic number behaviors (fibonacci, exponential, or harmonic).\",\n validate: async () => true,\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const a = getStateValue(state, \"accumulator\", 1);\n const b = getStateValue(state, \"inputBuffer\", 1);\n const dimension = state?.values?.dimension || \"fibonacci\";\n \n let result: number;\n let explanation: string;\n \n switch (dimension) {\n case \"exponential\":\n // In exponential dimension, multiplication compounds\n result = Math.pow(Math.abs(a), Math.abs(b)) * (a < 0 || b < 0 ? -1 : 1);\n explanation = `In exponential dimension: ${a} × ${b} = ${result} (actually ${a}^${b})`;\n break;\n case \"harmonic\":\n // In harmonic dimension, multiplication creates harmonics\n const harmonic = (a * b) + ((a + b) / 2);\n result = harmonic;\n explanation = `In harmonic dimension: ${a} × ${b} = ${result} (includes harmonic mean)`;\n break;\n case \"fibonacci\":\n default:\n // In fibonacci dimension, results snap to fibonacci numbers\n const standard = a * b;\n result = findNearestFibonacci(standard) * (standard < 0 ? -1 : 1);\n explanation = `In fibonacci dimension: ${a} × ${b} = ${result} (nearest Fibonacci to ${standard})`;\n break;\n }\n \n result = Math.round(result * 1000) / 1000;\n \n if (callback) {\n await callback({ text: explanation, source: message.content.source });\n }\n\n return {\n success: true,\n text: explanation,\n values: {\n accumulator: result,\n inputBuffer: 0,\n lastOperation: \"multiverse_multiply\",\n dimension,\n history: [...(state?.values?.history || []), explanation],\n },\n data: {\n operation: \"multiverse_multiply\",\n inputs: { a, b, dimension },\n result,\n explanation,\n timestamp: new Date().toISOString(),\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: \"multiply in exponential dimension\" },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: \"In exponential dimension: 1 × 1 = 1 (actually 1^1)\",\n actions: [\"MULTIVERSE_MULTIPLY\"],\n },\n },\n ],\n ] as ActionExample[][],\n};\n\n// Multiverse Divide Action\nconst multiverseDivideAction: Action = {\n name: \"MULTIVERSE_DIVIDE\",\n similes: [\"M_DIVIDE\", \"MULTI_DIV\", \"DIMENSIONAL_DIVIDE\"],\n description: \"Performs division in the multiverse where infinity and zero have special meanings (safe, infinite, or golden).\",\n validate: async () => true,\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const a = getStateValue(state, \"accumulator\", 0);\n const b = getStateValue(state, \"inputBuffer\", 1);\n const dimension = state?.values?.dimension || \"safe\";\n \n let result: number;\n let explanation: string;\n \n switch (dimension) {\n case \"infinite\":\n // In infinite dimension, division by zero opens portals\n if (b === 0) {\n result = a * 999; // Portal multiplier\n explanation = `In infinite dimension: ${a} ÷ 0 = ${result} (portal opened!)`;\n } else {\n result = (a / b) * Math.PI;\n explanation = `In infinite dimension: ${a} ÷ ${b} = ${result} (π-scaled)`;\n }\n break;\n case \"golden\":\n // In golden dimension, all division tends toward golden ratio\n const goldenRatio = 1.618033988749895;\n const standard = b === 0 ? 0 : a / b;\n result = (standard + goldenRatio) / 2;\n explanation = `In golden dimension: ${a} ÷ ${b} = ${result} (converging to φ)`;\n break;\n case \"safe\":\n default:\n // In safe dimension, division by zero returns the dividend\n result = b === 0 ? a : a / b;\n explanation = b === 0 \n ? `In safe dimension: ${a} ÷ 0 = ${a} (safe division, returns dividend)`\n : `In safe dimension: ${a} ÷ ${b} = ${result} (standard division)`;\n break;\n }\n \n result = Math.round(result * 1000) / 1000;\n \n if (callback) {\n await callback({ text: explanation, source: message.content.source });\n }\n\n return {\n success: true,\n text: explanation,\n values: {\n accumulator: result,\n inputBuffer: 0,\n lastOperation: \"multiverse_divide\",\n dimension,\n history: [...(state?.values?.history || []), explanation],\n },\n data: {\n operation: \"multiverse_divide\",\n inputs: { a, b, dimension },\n result,\n explanation,\n timestamp: new Date().toISOString(),\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: \"divide in golden dimension\" },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: \"In golden dimension: 0 ÷ 1 = 0.809 (converging to φ)\",\n actions: [\"MULTIVERSE_DIVIDE\"],\n },\n },\n ],\n ] as ActionExample[][],\n};\n\n// Multiverse Modulo Action\nconst multiverseModuloAction: Action = {\n name: \"MULTIVERSE_MODULO\",\n similes: [\"M_MODULO\", \"MULTI_MOD\", \"DIMENSIONAL_MODULO\"],\n description: \"Performs modulo operation in the multiverse with cyclical dimensional properties (cyclical, spiral, or fractal).\",\n validate: async (_runtime: IAgentRuntime, _message: Memory, state?: State) => {\n const b = getStateValue(state, \"inputBuffer\", 1);\n return b !== 0;\n },\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const a = getStateValue(state, \"accumulator\", 0);\n const b = getStateValue(state, \"inputBuffer\", 1);\n const dimension = state?.values?.dimension || \"cyclical\";\n \n let result: number;\n let explanation: string;\n \n if (b === 0) {\n return {\n success: false,\n text: \"Error: Cannot modulo by zero\",\n values: state?.values || {},\n };\n }\n \n switch (dimension) {\n case \"spiral\":\n // In spiral dimension, modulo creates spiraling patterns\n const spiralFactor = Math.sin(a) * Math.cos(b);\n result = Math.abs((a % b) + spiralFactor * 10);\n explanation = `In spiral dimension: ${a} % ${b} = ${result} (spiral factor: ${spiralFactor.toFixed(2)})`;\n break;\n case \"fractal\":\n // In fractal dimension, modulo is self-similar at all scales\n const iterations = 3;\n result = a % b;\n for (let i = 0; i < iterations; i++) {\n result = (result * 2) % (b + i);\n }\n explanation = `In fractal dimension: ${a} % ${b} = ${result} (after ${iterations} fractal iterations)`;\n break;\n case \"cyclical\":\n default:\n // In cyclical dimension, modulo creates perfect cycles\n result = a % b;\n if (result < 0) result += b; // Always positive in cyclical dimension\n explanation = `In cyclical dimension: ${a} % ${b} = ${result} (perfect cycle)`;\n break;\n }\n \n result = Math.round(result * 100) / 100;\n \n if (callback) {\n await callback({ text: explanation, source: message.content.source });\n }\n\n return {\n success: true,\n text: explanation,\n values: {\n accumulator: result,\n inputBuffer: 0,\n lastOperation: \"multiverse_modulo\",\n dimension,\n history: [...(state?.values?.history || []), explanation],\n },\n data: {\n operation: \"multiverse_modulo\",\n inputs: { a, b, dimension },\n result,\n explanation,\n timestamp: new Date().toISOString(),\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: \"modulo in fractal dimension\" },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: \"In fractal dimension: 0 % 1 = 0 (after 3 fractal iterations)\",\n actions: [\"MULTIVERSE_MODULO\"],\n },\n },\n ],\n ] as ActionExample[][],\n};\n\n// Multiverse Power Action\nconst multiversePowerAction: Action = {\n name: \"MULTIVERSE_POWER\",\n similes: [\"M_POWER\", \"MULTI_POW\", \"DIMENSIONAL_POWER\"],\n description: \"Raises numbers to powers in the multiverse with dimensional effects (standard, imaginary, or recursive).\",\n validate: async () => true,\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const a = getStateValue(state, \"accumulator\", 0);\n const b = getStateValue(state, \"inputBuffer\", 2);\n const dimension = state?.values?.dimension || \"standard\";\n \n let result: number;\n let explanation: string;\n \n switch (dimension) {\n case \"imaginary\":\n // In imaginary dimension, powers oscillate\n const oscillation = Math.cos(b * Math.PI / 2);\n result = Math.pow(Math.abs(a), b) * oscillation;\n explanation = `In imaginary dimension: ${a}^${b} = ${result} (oscillation factor: ${oscillation.toFixed(2)})`;\n break;\n case \"recursive\":\n // In recursive dimension, power is applied iteratively\n result = a;\n for (let i = 0; i < Math.min(Math.abs(b), 5); i++) {\n result = Math.pow(result, 1.5);\n }\n explanation = `In recursive dimension: ${a}^${b} = ${result} (${Math.min(Math.abs(b), 5)} recursive applications)`;\n break;\n case \"standard\":\n default:\n result = Math.pow(a, b);\n explanation = `In standard dimension: ${a}^${b} = ${result}`;\n break;\n }\n \n result = Math.round(result * 1000) / 1000;\n \n if (callback) {\n await callback({ text: explanation, source: message.content.source });\n }\n\n return {\n success: true,\n text: explanation,\n values: {\n accumulator: result,\n inputBuffer: 0,\n lastOperation: \"multiverse_power\",\n dimension,\n history: [...(state?.values?.history || []), explanation],\n },\n data: {\n operation: \"multiverse_power\",\n inputs: { a, b, dimension },\n result,\n explanation,\n timestamp: new Date().toISOString(),\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: \"power in imaginary dimension\" },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: \"In imaginary dimension: 0^2 = 0 (oscillation factor: -1.00)\",\n actions: [\"MULTIVERSE_POWER\"],\n },\n },\n ],\n ] as ActionExample[][],\n};\n\n// Multiverse Square Root Action\nconst multiverseSqrtAction: Action = {\n name: \"MULTIVERSE_SQRT\",\n similes: [\"M_SQRT\", \"MULTI_ROOT\", \"DIMENSIONAL_SQRT\"],\n description: \"Takes square root in the multiverse with dimensional variations (positive, complex, or quantum).\",\n validate: async () => true,\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const a = getStateValue(state, \"accumulator\", 0);\n const dimension = state?.values?.dimension || \"positive\";\n \n let result: number;\n let explanation: string;\n \n switch (dimension) {\n case \"complex\":\n // In complex dimension, negative numbers have positive roots\n result = Math.sqrt(Math.abs(a));\n if (a < 0) {\n explanation = `In complex dimension: √${a} = ${result}i (imaginary component)`;\n } else {\n explanation = `In complex dimension: √${a} = ${result} (real component)`;\n }\n break;\n case \"quantum\":\n // In quantum dimension, square root creates superposition\n const superposition = Math.sqrt(Math.abs(a)) + (Math.random() - 0.5) * 0.1;\n result = Math.abs(superposition);\n explanation = `In quantum dimension: √${a} = ${result} (quantum fluctuation)`;\n break;\n case \"positive\":\n default:\n // In positive dimension, always returns positive\n result = Math.sqrt(Math.abs(a));\n explanation = `In positive dimension: √${a} = ${result} (absolute square root)`;\n break;\n }\n \n result = Math.round(result * 1000) / 1000;\n \n if (callback) {\n await callback({ text: explanation, source: message.content.source });\n }\n\n return {\n success: true,\n text: explanation,\n values: {\n accumulator: result,\n lastOperation: \"multiverse_sqrt\",\n dimension,\n history: [...(state?.values?.history || []), explanation],\n },\n data: {\n operation: \"multiverse_sqrt\",\n inputs: { a, dimension },\n result,\n explanation,\n timestamp: new Date().toISOString(),\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: \"square root in complex dimension\" },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: \"In complex dimension: √0 = 0 (real component)\",\n actions: [\"MULTIVERSE_SQRT\"],\n },\n },\n ],\n ] as ActionExample[][],\n};\n\n// Utility actions\nconst clearAction: Action = {\n name: \"MATH_CLEAR\",\n similes: [\"CLEAR\", \"RESET\", \"CLEAR_ALL\"],\n description: \"Clear all calculation buffers and reset to zero.\",\n validate: async () => true,\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n _state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const text = \"Cleared all buffers\";\n \n if (callback) {\n await callback({ text, source: message.content.source });\n }\n\n return {\n success: true,\n text,\n values: {\n accumulator: 0,\n inputBuffer: 0,\n lastOperation: \"clear\",\n dimension: \"standard\",\n history: [],\n },\n data: {\n operation: \"clear\",\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: \"clear\" },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: \"Cleared all buffers\",\n actions: [\"MATH_CLEAR\"],\n },\n },\n ],\n ] as ActionExample[][],\n};\n\nconst storeAction: Action = {\n name: \"MATH_STORE\",\n similes: [\"STORE\", \"SAVE\", \"MEMORY_STORE\"],\n description: \"Store current accumulator value to memory.\",\n validate: async () => true,\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const accumulator = getStateValue(state, \"accumulator\", 0);\n const text = `Stored ${accumulator} to memory`;\n \n if (callback) {\n await callback({ text, source: message.content.source });\n }\n\n return {\n success: true,\n text,\n values: {\n ...state?.values,\n memory: accumulator,\n lastOperation: \"store\",\n },\n data: {\n operation: \"store\",\n value: accumulator,\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: \"store to memory\" },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: \"Stored 0 to memory\",\n actions: [\"MATH_STORE\"],\n },\n },\n ],\n ] as ActionExample[][],\n};\n\nconst recallAction: Action = {\n name: \"MATH_RECALL\",\n similes: [\"RECALL\", \"LOAD\", \"MEMORY_RECALL\"],\n description: \"Recall value from memory to input buffer.\",\n validate: async () => true,\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const memory = getStateValue(state, \"memory\", 0);\n const text = `Recalled ${memory} from memory`;\n \n if (callback) {\n await callback({ text, source: message.content.source });\n }\n\n return {\n success: true,\n text,\n values: {\n ...state?.values,\n inputBuffer: memory,\n lastOperation: \"recall\",\n },\n data: {\n operation: \"recall\",\n value: memory,\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: \"recall from memory\" },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: \"Recalled 0 from memory\",\n actions: [\"MATH_RECALL\"],\n },\n },\n ],\n ] as ActionExample[][],\n};\n\n// Transfer accumulator to input buffer\nconst transferAction: Action = {\n name: \"TRANSFER_TO_INPUT\",\n similes: [\"TRANSFER\", \"MOVE_TO_INPUT\", \"ACCUMULATOR_TO_INPUT\"],\n description: \"Transfer accumulator value to input buffer for next operation.\",\n validate: async () => true,\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const accumulator = getStateValue(state, \"accumulator\", 0);\n const text = `Transferred ${accumulator} from accumulator to input buffer`;\n \n if (callback) {\n await callback({ text, source: message.content.source });\n }\n\n return {\n success: true,\n text,\n values: {\n ...state?.values,\n inputBuffer: accumulator,\n accumulator: 0,\n lastOperation: \"transfer\",\n },\n data: {\n operation: \"transfer\",\n value: accumulator,\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: \"transfer to input\" },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: \"Transferred 0 from accumulator to input buffer\",\n actions: [\"TRANSFER_TO_INPUT\"],\n },\n },\n ],\n ] as ActionExample[][],\n};\n\n// Export all multiverse math actions\nexport const multiverseMathActions: Action[] = [\n // Number inputs\n ...Array.from({ length: 10 }, (_, i) => createNumberAction(i)),\n // Dimension selector\n selectDimensionAction,\n // Multiverse operations\n multiverseAddAction,\n multiverseSubtractAction,\n multiverseMultiplyAction,\n multiverseDivideAction,\n multiverseModuloAction,\n multiversePowerAction,\n multiverseSqrtAction,\n // Utility operations\n clearAction,\n storeAction,\n recallAction,\n transferAction,\n];","import type {\n Action,\n ActionExample,\n ActionResult,\n HandlerCallback,\n IAgentRuntime,\n Memory,\n State,\n} from \"@elizaos/core\";\n\n// Entity structure for relational data\ninterface Entity {\n id: string;\n type: string;\n name: string;\n attributes: Record<string, any>;\n created: string;\n}\n\n// Relationship structure\ninterface Relationship {\n id: string;\n type: string;\n fromEntity: string;\n toEntity: string;\n properties: Record<string, any>;\n created: string;\n}\n\n// Helper to get or initialize relational data state\nfunction getRelationalState(state: State | undefined): {\n entities: Record<string, Entity>;\n relationships: Record<string, Relationship>;\n currentEntity: string | null;\n queryResults: any[];\n} {\n return {\n entities: state?.values?.entities || {},\n relationships: state?.values?.relationships || {},\n currentEntity: state?.values?.currentEntity || null,\n queryResults: state?.values?.queryResults || [],\n };\n}\n\n// Helper to generate unique IDs\nfunction generateId(prefix: string): string {\n const timestamp = Date.now();\n const random = Math.floor(Math.random() * 1000);\n return `${prefix}_${timestamp}_${random}`;\n}\n\n// Create Entity Action\nconst createEntityAction: Action = {\n name: \"CREATE_ENTITY\",\n similes: [\"NEW_ENTITY\", \"ADD_ENTITY\", \"MAKE_ENTITY\"],\n description: \"Create a new entity with a type and name. Entities are the nodes in our relational graph.\",\n validate: async () => true,\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const relState = getRelationalState(state);\n const content = message.content.text?.toLowerCase() || \"\";\n \n // Parse entity type and name from message\n let entityType = \"generic\";\n let entityName = \"unnamed\";\n \n // Common entity types\n if (content.includes(\"person\")) entityType = \"person\";\n else if (content.includes(\"company\")) entityType = \"company\";\n else if (content.includes(\"product\")) entityType = \"product\";\n else if (content.includes(\"location\")) entityType = \"location\";\n else if (content.includes(\"project\")) entityType = \"project\";\n else if (content.includes(\"department\")) entityType = \"department\";\n else if (content.includes(\"task\")) entityType = \"task\";\n else if (content.includes(\"document\")) entityType = \"document\";\n \n // Extract name (simple pattern matching)\n const nameMatch = content.match(/named?\\s+[\"']?([^\"']+)[\"']?/i) ||\n content.match(/called\\s+[\"']?([^\"']+)[\"']?/i) ||\n content.match(/:\\s*[\"']?([^\"']+)[\"']?/i);\n if (nameMatch) {\n entityName = nameMatch[1].trim();\n }\n \n const entityId = generateId(\"entity\");\n const entity: Entity = {\n id: entityId,\n type: entityType,\n name: entityName,\n attributes: {},\n created: new Date().toISOString(),\n };\n \n relState.entities[entityId] = entity;\n relState.currentEntity = entityId;\n \n const text = `Created entity: ${entityName} (${entityType}) with ID: ${entityId}`;\n \n if (callback) {\n await callback({ text, source: message.content.source });\n }\n\n return {\n success: true,\n text,\n values: {\n ...state?.values,\n entities: relState.entities,\n currentEntity: entityId,\n lastOperation: \"create_entity\",\n },\n data: {\n operation: \"create_entity\",\n entity,\n totalEntities: Object.keys(relState.entities).length,\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: \"create person entity named John\" },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: \"Created entity: John (person) with ID: entity_...\",\n actions: [\"CREATE_ENTITY\"],\n },\n },\n ],\n ] as ActionExample[][],\n};\n\n// Create Relationship Action\nconst createRelationshipAction: Action = {\n name: \"CREATE_RELATIONSHIP\",\n similes: [\"LINK\", \"CONNECT\", \"RELATE\"],\n description: \"Create a relationship between two entities. Relationships are the edges in our relational graph.\",\n validate: async (_runtime: IAgentRuntime, _message: Memory, state?: State) => {\n const relState = getRelationalState(state);\n return Object.keys(relState.entities).length >= 2;\n },\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const relState = getRelationalState(state);\n const entities = Object.values(relState.entities);\n \n if (entities.length < 2) {\n return {\n success: false,\n text: \"Error: Need at least 2 entities to create a relationship\",\n values: state?.values || {},\n };\n }\n \n const content = message.content.text?.toLowerCase() || \"\";\n \n // Parse relationship type\n let relationType = \"related_to\";\n if (content.includes(\"parent\") || content.includes(\"child\")) relationType = \"parent_child\";\n else if (content.includes(\"sibling\")) relationType = \"sibling\";\n else if (content.includes(\"friend\")) relationType = \"friend\";\n else if (content.includes(\"employee\") || content.includes(\"works\")) relationType = \"employment\";\n else if (content.includes(\"owns\") || content.includes(\"owner\")) relationType = \"ownership\";\n else if (content.includes(\"manages\") || content.includes(\"reports\")) relationType = \"management\";\n else if (content.includes(\"partner\")) relationType = \"partnership\";\n else if (content.includes(\"member\")) relationType = \"membership\";\n else if (content.includes(\"located\")) relationType = \"location\";\n else if (content.includes(\"assigned\")) relationType = \"assignment\";\n \n // Use the most recent two entities or current + previous\n let fromEntity: Entity;\n let toEntity: Entity;\n \n if (relState.currentEntity && relState.entities[relState.currentEntity]) {\n fromEntity = relState.entities[relState.currentEntity];\n // Find the most recent entity that isn't the current one\n toEntity = entities.filter(e => e.id !== relState.currentEntity)[entities.length - 2] || entities[0];\n } else {\n // Use the two most recent entities\n fromEntity = entities[entities.length - 1];\n toEntity = entities[entities.length - 2];\n }\n \n const relationshipId = generateId(\"rel\");\n const relationship: Relationship = {\n id: relationshipId,\n type: relationType,\n fromEntity: fromEntity.id,\n toEntity: toEntity.id,\n properties: {},\n created: new Date().toISOString(),\n };\n \n relState.relationships[relationshipId] = relationship;\n \n const text = `Created ${relationType} relationship: ${fromEntity.name} → ${toEntity.name}`;\n \n if (callback) {\n await callback({ text, source: message.content.source });\n }\n\n return {\n success: true,\n text,\n values: {\n ...state?.values,\n relationships: relState.relationships,\n lastOperation: \"create_relationship\",\n },\n data: {\n operation: \"create_relationship\",\n relationship,\n fromEntity: fromEntity.name,\n toEntity: toEntity.name,\n totalRelationships: Object.keys(relState.relationships).length,\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: \"create parent relationship\" },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: \"Created parent_child relationship: Entity1 → Entity2\",\n actions: [\"CREATE_RELATIONSHIP\"],\n },\n },\n ],\n ] as ActionExample[][],\n};\n\n// Set Attribute Action\nconst setAttributeAction: Action = {\n name: \"SET_ATTRIBUTE\",\n similes: [\"ADD_ATTRIBUTE\", \"SET_PROPERTY\", \"UPDATE_ATTRIBUTE\"],\n description: \"Set an attribute on the current entity. Attributes store additional data on entities.\",\n validate: async (_runtime: IAgentRuntime, _message: Memory, state?: State) => {\n const relState = getRelationalState(state);\n return relState.currentEntity !== null && relState.entities[relState.currentEntity] !== undefined;\n },\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const relState = getRelationalState(state);\n \n if (!relState.currentEntity || !relState.entities[relState.currentEntity]) {\n return {\n success: false,\n text: \"Error: No current entity selected\",\n values: state?.values || {},\n };\n }\n \n const entity = relState.entities[relState.currentEntity];\n const content = message.content.text || \"\";\n \n // Parse attribute key and value\n let key = \"property\";\n let value: any = \"value\";\n \n // Common attributes\n const ageMatch = content.match(/age[:\\s]+(\\d+)/i);\n const emailMatch = content.match(/email[:\\s]+([^\\s]+)/i);\n const phoneMatch = content.match(/phone[:\\s]+([^\\s]+)/i);\n const statusMatch = content.match(/status[:\\s]+([^\\s]+)/i);\n const roleMatch = content.match(/role[:\\s]+([^\\s]+)/i);\n const departmentMatch = content.match(/department[:\\s]+([^\\s]+)/i);\n const salaryMatch = content.match(/salary[:\\s]+(\\d+)/i);\n const locationMatch = content.match(/location[:\\s]+([^\\s]+)/i);\n \n if (ageMatch) {\n key = \"age\";\n value = parseInt(ageMatch[1]);\n } else if (emailMatch) {\n key = \"email\";\n value = emailMatch[1];\n } else if (phoneMatch) {\n key = \"phone\";\n value = phoneMatch[1];\n } else if (statusMatch) {\n key = \"status\";\n value = statusMatch[1];\n } else if (roleMatch) {\n key = \"role\";\n value = roleMatch[1];\n } else if (departmentMatch) {\n key = \"department\";\n value = departmentMatch[1];\n } else if (salaryMatch) {\n key = \"salary\";\n value = parseInt(salaryMatch[1]);\n } else if (locationMatch) {\n key = \"location\";\n value = locationMatch[1];\n } else {\n // Generic pattern: key:value or key=value\n const genericMatch = content.match(/(\\w+)[:\\s=]+([^\\s]+)/i);\n if (genericMatch) {\n key = genericMatch[1];\n value = genericMatch[2];\n // Try to parse as number if possible\n const numValue = parseFloat(value);\n if (!isNaN(numValue)) value = numValue;\n }\n }\n \n entity.attributes[key] = value;\n \n const text = `Set attribute on ${entity.name}: ${key} = ${value}`;\n \n if (callback) {\n await callback({ text, source: message.content.source });\n }\n\n return {\n success: true,\n text,\n values: {\n ...state?.values,\n entities: relState.entities,\n lastOperation: \"set_attribute\",\n },\n data: {\n operation: \"set_attribute\",\n entityId: entity.id,\n entityName: entity.name,\n attribute: { key, value },\n totalAttributes: Object.keys(entity.attributes).length,\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: \"set age 25\" },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: \"Set attribute on Entity: age = 25\",\n actions: [\"SET_ATTRIBUTE\"],\n },\n },\n ],\n ] as ActionExample[][],\n};\n\n// Query Relationships Action\nconst queryRelationshipsAction: Action = {\n name: \"QUERY_RELATIONSHIPS\",\n similes: [\"FIND_RELATIONSHIPS\", \"GET_CONNECTIONS\", \"SHOW_LINKS\"],\n description: \"Query relationships of a specific type or for a specific entity.\",\n validate: async () => true,\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const relState = getRelationalState(state);\n const content = message.content.text?.toLowerCase() || \"\";\n \n let results: any[] = [];\n let queryDescription = \"\";\n \n // Query by relationship type\n if (content.includes(\"parent\")) {\n results = Object.values(relState.relationships)\n .filter(r => r.type === \"parent_child\")\n .map(r => ({\n type: r.type,\n from: relState.entities[r.fromEntity]?.name || r.fromEntity,\n to: relState.entities[r.toEntity]?.name || r.toEntity,\n }));\n queryDescription = \"parent-child relationships\";\n } else if (content.includes(\"sibling\")) {\n results = Object.values(relState.relationships)\n .filter(r => r.type === \"sibling\")\n .map(r => ({\n type: r.type,\n from: relState.entities[r.fromEntity]?.name || r.fromEntity,\n to: relState.entities[r.toEntity]?.name || r.toEntity,\n }));\n queryDescription = \"sibling relationships\";\n } else if (content.includes(\"all\")) {\n results = Object.values(relState.relationships)\n .map(r => ({\n type: r.type,\n from: relState.entities[r.fromEntity]?.name || r.fromEntity,\n to: relState.entities[r.toEntity]?.name || r.toEntity,\n }));\n queryDescription = \"all relationships\";\n } else if (relState.currentEntity) {\n // Query relationships for current entity\n results = Object.values(relState.relationships)\n .filter(r => r.fromEntity === relState.currentEntity || r.toEntity === relState.currentEntity)\n .map(r => ({\n type: r.type,\n from: relState.entities[r.fromEntity]?.name || r.fromEntity,\n to: relState.entities[r.toEntity]?.name || r.toEntity,\n direction: r.fromEntity === relState.currentEntity ? \"outgoing\" : \"incoming\",\n }));\n queryDescription = `relationships for ${relState.entities[relState.currentEntity]?.name}`;\n }\n \n const text = `Found ${results.length} ${queryDescription}`;\n \n if (callback) {\n await callback({ text, source: message.content.source });\n }\n\n return {\n success: true,\n text,\n values: {\n ...state?.values,\n queryResults: results,\n lastOperation: \"query_relationships\",\n },\n data: {\n operation: \"query_relationships\",\n query: queryDescription,\n results,\n count: results.length,\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: \"query parent relationships\" },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: \"Found 0 parent-child relationships\",\n actions: [\"QUERY_RELATIONSHIPS\"],\n },\n },\n ],\n ] as ActionExample[][],\n};\n\n// Query Entities Action\nconst queryEntitiesAction: Action = {\n name: \"QUERY_ENTITIES\",\n similes: [\"FIND_ENTITIES\", \"SEARCH_ENTITIES\", \"LIST_ENTITIES\"],\n description: \"Query entities by type or attribute values.\",\n validate: async () => true,\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const relState = getRelationalState(state);\n const content = message.content.text?.toLowerCase() || \"\";\n \n let results: Entity[] = [];\n let queryDescription = \"\";\n \n // Query by entity type\n if (content.includes(\"person\")) {\n results = Object.values(relState.entities).filter(e => e.type === \"person\");\n queryDescription = \"person entities\";\n } else if (content.includes(\"company\")) {\n results = Object.values(relState.entities).filter(e => e.type === \"company\");\n queryDescription = \"company entities\";\n } else if (content.includes(\"product\")) {\n results = Object.values(relState.entities).filter(e => e.type === \"product\");\n queryDescription = \"product entities\";\n } else if (content.includes(\"all\")) {\n results = Object.values(relState.entities);\n queryDescription = \"all entities\";\n } else {\n // Query by attribute\n const ageMatch = content.match(/age\\s*[><=]+\\s*(\\d+)/);\n if (ageMatch) {\n const age = parseInt(ageMatch[1]);\n results = Object.values(relState.entities).filter(e => {\n const entityAge = e.attributes.age;\n if (typeof entityAge !== \"number\") return false;\n if (content.includes(\">\")) return entityAge > age;\n if (content.includes(\"<\")) return entityAge < age;\n return entityAge === age;\n });\n queryDescription = `entities with age ${ageMatch[0]}`;\n } else {\n // Default to all entities\n results = Object.values(relState.entities);\n queryDescription = \"all entities\";\n }\n }\n \n const resultSummary = results.map(e => ({\n id: e.id,\n name: e.name,\n type: e.type,\n attributes: e.attributes,\n }));\n \n const text = `Found ${results.length} ${queryDescription}`;\n \n if (callback) {\n await callback({ text, source: message.content.source });\n }\n\n return {\n success: true,\n text,\n values: {\n ...state?.values,\n queryResults: resultSummary,\n lastOperation: \"query_entities\",\n },\n data: {\n operation: \"query_entities\",\n query: queryDescription,\n results: resultSummary,\n count: results.length,\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: \"query person entities\" },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: \"Found 0 person entities\",\n actions: [\"QUERY_ENTITIES\"],\n },\n },\n ],\n ] as ActionExample[][],\n};\n\n// Select Entity Action\nconst selectEntityAction: Action = {\n name: \"SELECT_ENTITY\",\n similes: [\"CHOOSE_ENTITY\", \"FOCUS_ENTITY\", \"SET_CURRENT_ENTITY\"],\n description: \"Select an entity as the current entity for operations.\",\n validate: async (_runtime: IAgentRuntime, _message: Memory, state?: State) => {\n const relState = getRelationalState(state);\n return Object.keys(relState.entities).length > 0;\n },\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const relState = getRelationalState(state);\n const content = message.content.text || \"\";\n \n if (Object.keys(relState.entities).length === 0) {\n return {\n success: false,\n text: \"Error: No entities exist to select\",\n values: state?.values || {},\n };\n }\n \n // Try to find entity by name\n let selectedEntity: Entity | undefined;\n \n for (const entity of Object.values(relState.entities)) {\n if (content.toLowerCase().includes(entity.name.toLowerCase())) {\n selectedEntity = entity;\n break;\n }\n }\n \n // If no match by name, select the most recent entity\n if (!selectedEntity) {\n const entities = Object.values(relState.entities);\n selectedEntity = entities[entities.length - 1];\n }\n \n relState.currentEntity = selectedEntity.id;\n \n const text = `Selected entity: ${selectedEntity.name} (${selectedEntity.type})`;\n \n if (callback) {\n await callback({ text, source: message.content.source });\n }\n\n return {\n success: true,\n text,\n values: {\n ...state?.values,\n currentEntity: selectedEntity.id,\n lastOperation: \"select_entity\",\n },\n data: {\n operation: \"select_entity\",\n entity: selectedEntity,\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: \"select entity John\" },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: \"Selected entity: John (person)\",\n actions: [\"SELECT_ENTITY\"],\n },\n },\n ],\n ] as ActionExample[][],\n};\n\n// Delete Entity Action\nconst deleteEntityAction: Action = {\n name: \"DELETE_ENTITY\",\n similes: [\"REMOVE_ENTITY\", \"DESTROY_ENTITY\"],\n description: \"Delete the current entity and all its relationships.\",\n validate: async (_runtime: IAgentRuntime, _message: Memory, state?: State) => {\n const relState = getRelationalState(state);\n return relState.currentEntity !== null && relState.entities[relState.currentEntity] !== undefined;\n },\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const relState = getRelationalState(state);\n \n if (!relState.currentEntity || !relState.entities[relState.currentEntity]) {\n return {\n success: false,\n text: \"Error: No current entity selected\",\n values: state?.values || {},\n };\n }\n \n const entity = relState.entities[relState.currentEntity];\n const entityName = entity.name;\n \n // Delete the entity\n delete relState.entities[relState.currentEntity];\n \n // Delete all relationships involving this entity\n const relationshipsToDelete: string[] = [];\n for (const [relId, rel] of Object.entries(relState.relationships)) {\n if (rel.fromEntity === relState.currentEntity || rel.toEntity === relState.currentEntity) {\n relationshipsToDelete.push(relId);\n }\n }\n \n for (const relId of relationshipsToDelete) {\n delete relState.relationships[relId];\n }\n \n relState.currentEntity = null;\n \n const text = `Deleted entity: ${entityName} and ${relationshipsToDelete.length} relationships`;\n \n if (callback) {\n await callback({ text, source: message.content.source });\n }\n\n return {\n success: true,\n text,\n values: {\n ...state?.values,\n entities: relState.entities,\n relationships: relState.relationships,\n currentEntity: null,\n lastOperation: \"delete_entity\",\n },\n data: {\n operation: \"delete_entity\",\n deletedEntity: entityName,\n deletedRelationships: relationshipsToDelete.length,\n remainingEntities: Object.keys(relState.entities).length,\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: \"delete current entity\" },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: \"Deleted entity: EntityName and 0 relationships\",\n actions: [\"DELETE_ENTITY\"],\n },\n },\n ],\n ] as ActionExample[][],\n};\n\n// Count Statistics Action\nconst countStatisticsAction: Action = {\n name: \"COUNT_STATISTICS\",\n similes: [\"STATS\", \"STATISTICS\", \"COUNT\"],\n description: \"Get statistics about the current relational data graph.\",\n validate: async () => true,\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const relState = getRelationalState(state);\n \n // Calculate statistics\n const totalEntities = Object.keys(relState.entities).length;\n const totalRelationships = Object.keys(relState.relationships).length;\n \n // Count entities by type\n const entityTypes: Record<string, number> = {};\n for (const entity of Object.values(relState.entities)) {\n entityTypes[entity.type] = (entityTypes[entity.type] || 0) + 1;\n }\n \n // Count relationships by type\n const relationshipTypes: Record<string, number> = {};\n for (const rel of Object.values(relState.relationships)) {\n relationshipTypes[rel.type] = (relationshipTypes[rel.type] || 0) + 1;\n }\n \n // Count total attributes\n let totalAttributes = 0;\n for (const entity of Object.values(relState.entities)) {\n totalAttributes += Object.keys(entity.attributes).length;\n }\n \n const stats = {\n totalEntities,\n totalRelationships,\n totalAttributes,\n entityTypes,\n relationshipTypes,\n currentEntity: relState.currentEntity ? relState.entities[relState.currentEntity]?.name : \"none\",\n };\n \n const text = `Graph statistics: ${totalEntities} entities, ${totalRelationships} relationships, ${totalAttributes} attributes`;\n \n if (callback) {\n await callback({ text, source: message.content.source });\n }\n\n return {\n success: true,\n text,\n values: {\n ...state?.values,\n queryResults: [stats],\n lastOperation: \"count_statistics\",\n },\n data: {\n operation: \"count_statistics\",\n statistics: stats,\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: \"show statistics\" },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: \"Graph statistics: 0 entities, 0 relationships, 0 attributes\",\n actions: [\"COUNT_STATISTICS\"],\n },\n },\n ],\n ] as ActionExample[][],\n};\n\n// Clear Graph Action\nconst clearGraphAction: Action = {\n name: \"CLEAR_GRAPH\",\n similes: [\"RESET_GRAPH\", \"CLEAR_ALL\", \"DELETE_ALL\"],\n description: \"Clear all entities and relationships from the graph.\",\n validate: async () => true,\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n _state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const text = \"Cleared all entities and relationships\";\n \n if (callback) {\n await callback({ text, source: message.content.source });\n }\n\n return {\n success: true,\n text,\n values: {\n entities: {},\n relationships: {},\n currentEntity: null,\n queryResults: [],\n lastOperation: \"clear_graph\",\n },\n data: {\n operation: \"clear_graph\",\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: \"clear graph\" },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: \"Cleared all entities and relationships\",\n actions: [\"CLEAR_GRAPH\"],\n },\n },\n ],\n ] as ActionExample[][],\n};\n\n// Find Path Action - finds shortest path between two entities\nconst findPathAction: Action = {\n name: \"FIND_PATH\",\n similes: [\"PATH\", \"ROUTE\", \"CONNECTION_PATH\"],\n description: \"Find the shortest path between two entities in the relationship graph.\",\n validate: async (_runtime: IAgentRuntime, _message: Memory, state?: State) => {\n const relState = getRelationalState(state);\n return Object.keys(relState.entities).length >= 2;\n },\n handler: async (\n _runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const relState = getRelationalState(state);\n \n if (Object.keys(relState.entities).length < 2) {\n return {\n success: false,\n text: \"Error: Need at least 2 entities to find a path\",\n values: state?.values || {},\n };\n }\n \n // Simple BFS path finding\n const entities = Object.values(relState.entities);\n const start = entities[0];\n const end = entities[entities.length - 1];\n \n // Build adjacency list\n const adjacency: Record<string, Set<string>> = {};\n for (const entity of entities) {\n adjacency[entity.id] = new Set();\n }\n \n for (const rel of Object.values(relState.relationships)) {\n adjacency[rel.fromEntity]?.add(rel.toEntity);\n adjacency[rel.toEntity]?.add(rel.fromEntity); // Treat as undirected for path finding\n }\n \n // BFS to find shortest path\n const queue: Array<{ node: string; path: string[] }> = [{ node: start.id, path: [start.id] }];\n const visited = new Set<string>();\n let foundPath: string[] = [];\n \n while (queue.length > 0) {\n const current = queue.shift()!;\n \n if (current.node === end.id) {\n foundPath = current.path;\n break;\n }\n \n if (visited.has(current.node)) continue;\n visited.add(current.node);\n \n for (const neighbor of adjacency[current.node] || []) {\n if (!visited.has(neighbor)) {\n queue.push({\n node: neighbor,\n path: [...current.path, neighbor],\n });\n }\n }\n }\n \n const pathNames = foundPath.map(id => relState.entities[id]?.name || id);\n const text = foundPath.length > 0\n ? `Found path: ${pathNames.join(\" → \")}`\n : `No path found between ${start.name} and ${end.name}`;\n \n if (callback) {\n await callback({ text, source: message.content.source });\n }\n\n return {\n success: true,\n text,\n values: {\n ...state?.values,\n queryResults: [{ path: pathNames, length: foundPath.length }],\n lastOperation: \"find_path\",\n },\n data: {\n operation: \"find_path\",\n from: start.name,\n to: end.name,\n path: pathNames,\n pathLength: foundPath.length,\n },\n };\n },\n examples: [\n [\n {\n name: \"{{user}}\",\n content: { text: \"find path between entities\" },\n },\n {\n name: \"{{agent}}\",\n content: {\n text: \"Found path: Entity1 → Entity2\",\n actions: [\"FIND_PATH\"],\n },\n },\n ],\n ] as ActionExample[][],\n};\n\n// Export all relational data actions\nexport const relationalDataActions: Action[] = [\n createEntityAction,\n createRelationshipAction,\n setAttributeAction,\n queryRelationshipsAction,\n queryEntitiesAction,\n selectEntityAction,\n deleteEntityAction,\n countStatisticsAction,\n clearGraphAction,\n findPathAction,\n];\n","import type { Plugin, Action } from \"@elizaos/core\";\nimport { typewriterActions } from \"./actions/typewriter\";\nimport { multiverseMathActions } from \"./actions/multiverseMath\";\nimport { relationalDataActions } from \"./actions/relationalData\";\n\n// Environment variable configuration\n// By default, all are enabled unless explicitly set to \"false\"\nconst TYPEWRITER_ENABLED = process.env.TYPEWRITER_ENABLED?.toLowerCase() !== \"false\";\nconst MULTIVERSE_MATH_ENABLED = process.env.MULTIVERSE_MATH_ENABLED?.toLowerCase() !== \"false\";\nconst RELATIONAL_DATA_ENABLED = process.env.RELATIONAL_DATA_ENABLED?.toLowerCase() !== \"false\";\n\n// Conditionally build actions array based on environment variables\nfunction buildActions(): Action[] {\n const actions: Action[] = [];\n \n if (TYPEWRITER_ENABLED) {\n console.log(\"[plugin-action-bench] Typewriter actions enabled\");\n actions.push(...typewriterActions);\n } else {\n console.log(\"[plugin-action-bench] Typewriter actions disabled via TYPEWRITER_ENABLED=false\");\n }\n \n if (MULTIVERSE_MATH_ENABLED) {\n console.log(\"[plugin-action-bench] Multiverse math actions enabled\");\n actions.push(...multiverseMathActions);\n } else {\n console.log(\"[plugin-action-bench] Multiverse math actions disabled via MULTIVERSE_MATH_ENABLED=false\");\n }\n \n if (RELATIONAL_DATA_ENABLED) {\n console.log(\"[plugin-action-bench] Relational data actions enabled\");\n actions.push(...relationalDataActions);\n } else {\n console.log(\"[plugin-action-bench] Relational data actions disabled via RELATIONAL_DATA_ENABLED=false\");\n }\n \n // Warn if no actions are enabled\n if (actions.length === 0) {\n console.warn(\"[plugin-action-bench] WARNING: No benchmark actions are enabled. Set TYPEWRITER_ENABLED=true, MULTIVERSE_MATH_ENABLED=true, or RELATIONAL_DATA_ENABLED=true to enable benchmarks.\");\n }\n \n console.log(`[plugin-action-bench] Total actions loaded: ${actions.length}`);\n return actions;\n}\n\n// Export with the expected naming convention\nexport const actionBenchPlugin: Plugin = {\n name: \"plugin-action-bench\",\n description:\n \"Action benchmark plugin providing typewriter (A–Z), multiverse math operations with dimensional constants, and relational data management, testing AI agents' ability to handle action chaining, context-dependent operations, and complex data relationships.\",\n actions: buildActions(),\n};\n\n// Export configuration for debugging/visibility\nexport const benchmarkConfig = {\n typewriterEnabled: TYPEWRITER_ENABLED,\n multiverseMathEnabled: MULTIVERSE_MATH_ENABLED,\n relationalDataEnabled: RELATIONAL_DATA_ENABLED,\n totalActionsLoaded: actionBenchPlugin.actions?.length ?? 0,\n};\n\n// Default export\nexport default actionBenchPlugin;\n"]}
|
package/dist/index.d.cts
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
import { Plugin } from '@elizaos/core';
|
2
2
|
|
3
3
|
declare const actionBenchPlugin: Plugin;
|
4
|
+
declare const benchmarkConfig: {
|
5
|
+
typewriterEnabled: boolean;
|
6
|
+
multiverseMathEnabled: boolean;
|
7
|
+
relationalDataEnabled: boolean;
|
8
|
+
totalActionsLoaded: number;
|
9
|
+
};
|
4
10
|
|
5
|
-
export { actionBenchPlugin, actionBenchPlugin as default };
|
11
|
+
export { actionBenchPlugin, benchmarkConfig, actionBenchPlugin as default };
|
package/dist/index.d.ts
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
import { Plugin } from '@elizaos/core';
|
2
2
|
|
3
3
|
declare const actionBenchPlugin: Plugin;
|
4
|
+
declare const benchmarkConfig: {
|
5
|
+
typewriterEnabled: boolean;
|
6
|
+
multiverseMathEnabled: boolean;
|
7
|
+
relationalDataEnabled: boolean;
|
8
|
+
totalActionsLoaded: number;
|
9
|
+
};
|
4
10
|
|
5
|
-
export { actionBenchPlugin, actionBenchPlugin as default };
|
11
|
+
export { actionBenchPlugin, benchmarkConfig, actionBenchPlugin as default };
|