@elizaos/plugin-action-bench 1.4.2 → 1.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  Action calling benchmark plugins for ElizaOS v2, featuring multiverse mathematics where operations behave differently based on dimensional constants. Designed to test AI agents' ability to handle context-dependent mathematics, unknown operational behaviors, and complex state management across dimensional boundaries.
4
4
 
5
+ > **🎛️ Environment Control**: Use `TYPEWRITER_ENABLED=false` or `MULTIVERSE_MATH_ENABLED=false` to selectively disable benchmark sets. See [Environment Variable Configuration](#environment-variable-configuration) for details.
6
+
5
7
  ## Features
6
8
 
7
9
  ### 🔤 Typewriter Actions (A–Z)
@@ -94,6 +96,97 @@ const agent = createAgent({
94
96
  });
95
97
  ```
96
98
 
99
+ ### Checking Configuration
100
+
101
+ You can verify which benchmarks are loaded programmatically:
102
+
103
+ ```typescript
104
+ import { benchmarkConfig } from "@elizaos/plugin-action-bench";
105
+
106
+ console.log("Benchmark configuration:", benchmarkConfig);
107
+ // Output:
108
+ // {
109
+ // typewriterEnabled: true,
110
+ // multiverseMathEnabled: true,
111
+ // totalActionsLoaded: 48
112
+ // }
113
+ ```
114
+
115
+ ## Environment Variable Configuration
116
+
117
+ The plugin supports granular control over which benchmark actions are loaded through environment variables. This is useful for testing specific features or reducing the action space when not benchmarking.
118
+
119
+ ### Available Environment Variables
120
+
121
+ | Variable | Default | Description |
122
+ |----------|---------|-------------|
123
+ | `TYPEWRITER_ENABLED` | `true` | Controls loading of typewriter actions (A-Z) |
124
+ | `MULTIVERSE_MATH_ENABLED` | `true` | Controls loading of multiverse math operations |
125
+
126
+ ### Examples
127
+
128
+ ```bash
129
+ # Load all benchmarks (default)
130
+ npm start
131
+
132
+ # Only load typewriter actions
133
+ MULTIVERSE_MATH_ENABLED=false npm start
134
+
135
+ # Only load multiverse math actions
136
+ TYPEWRITER_ENABLED=false npm start
137
+
138
+ # Disable all benchmarks (useful for production)
139
+ TYPEWRITER_ENABLED=false MULTIVERSE_MATH_ENABLED=false npm start
140
+ ```
141
+
142
+ ### .env File Configuration
143
+
144
+ You can also configure these in your `.env` file:
145
+
146
+ ```env
147
+ # Enable/disable specific benchmarks
148
+ TYPEWRITER_ENABLED=true
149
+ MULTIVERSE_MATH_ENABLED=true
150
+
151
+ # Example: Only enable typewriter for focused testing
152
+ # TYPEWRITER_ENABLED=true
153
+ # MULTIVERSE_MATH_ENABLED=false
154
+ ```
155
+
156
+ ### Runtime Feedback
157
+
158
+ The plugin provides console output to confirm which benchmarks are loaded:
159
+
160
+ ```
161
+ [plugin-action-bench] Typewriter actions enabled
162
+ [plugin-action-bench] Multiverse math actions enabled
163
+ [plugin-action-bench] Total actions loaded: 48
164
+ ```
165
+
166
+ Or when disabled:
167
+
168
+ ```
169
+ [plugin-action-bench] Typewriter actions disabled via TYPEWRITER_ENABLED=false
170
+ [plugin-action-bench] Multiverse math actions enabled
171
+ [plugin-action-bench] Total actions loaded: 22
172
+ ```
173
+
174
+ ### Why Use Environment Variables?
175
+
176
+ The environment variable system provides several benefits:
177
+
178
+ 1. **Reduce Action Space**: In production, disable benchmarks to reduce the number of actions the AI needs to consider
179
+ 2. **Focused Testing**: Enable only specific benchmarks when testing particular capabilities
180
+ 3. **Performance**: Fewer loaded actions means faster action selection and reduced memory usage
181
+ 4. **Debugging**: Isolate specific action sets to debug issues
182
+ 5. **A/B Testing**: Compare agent performance with different action sets enabled
183
+
184
+ Example scenarios:
185
+ - **Development**: Enable all benchmarks to test full capabilities
186
+ - **Production**: Disable all benchmarks to focus on real actions
187
+ - **Typewriter Testing**: Enable only typewriter to test rapid action chaining
188
+ - **Math Testing**: Enable only multiverse math to test context-dependent operations
189
+
97
190
  ## Benchmarking Examples
98
191
 
99
192
  ### Typewriter Test
package/dist/index.cjs CHANGED
@@ -867,14 +867,42 @@ var multiverseMathActions = [
867
867
  ];
868
868
 
869
869
  // src/index.ts
870
+ var TYPEWRITER_ENABLED = process.env.TYPEWRITER_ENABLED?.toLowerCase() !== "false";
871
+ var MULTIVERSE_MATH_ENABLED = process.env.MULTIVERSE_MATH_ENABLED?.toLowerCase() !== "false";
872
+ function buildActions() {
873
+ const actions = [];
874
+ if (TYPEWRITER_ENABLED) {
875
+ console.log("[plugin-action-bench] Typewriter actions enabled");
876
+ actions.push(...typewriterActions);
877
+ } else {
878
+ console.log("[plugin-action-bench] Typewriter actions disabled via TYPEWRITER_ENABLED=false");
879
+ }
880
+ if (MULTIVERSE_MATH_ENABLED) {
881
+ console.log("[plugin-action-bench] Multiverse math actions enabled");
882
+ actions.push(...multiverseMathActions);
883
+ } else {
884
+ console.log("[plugin-action-bench] Multiverse math actions disabled via MULTIVERSE_MATH_ENABLED=false");
885
+ }
886
+ if (actions.length === 0) {
887
+ console.warn("[plugin-action-bench] WARNING: No benchmark actions are enabled. Set TYPEWRITER_ENABLED=true or MULTIVERSE_MATH_ENABLED=true to enable benchmarks.");
888
+ }
889
+ console.log(`[plugin-action-bench] Total actions loaded: ${actions.length}`);
890
+ return actions;
891
+ }
870
892
  var actionBenchPlugin = {
871
893
  name: "plugin-action-bench",
872
894
  description: "Action benchmark plugin providing typewriter (A\u2013Z) 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.",
873
- actions: [...typewriterActions, ...multiverseMathActions]
895
+ actions: buildActions()
896
+ };
897
+ var benchmarkConfig = {
898
+ typewriterEnabled: TYPEWRITER_ENABLED,
899
+ multiverseMathEnabled: MULTIVERSE_MATH_ENABLED,
900
+ totalActionsLoaded: actionBenchPlugin.actions?.length ?? 0
874
901
  };
875
902
  var index_default = actionBenchPlugin;
876
903
 
877
904
  exports.actionBenchPlugin = actionBenchPlugin;
905
+ exports.benchmarkConfig = benchmarkConfig;
878
906
  exports.default = index_default;
879
907
  //# sourceMappingURL=index.cjs.map
880
908
  //# sourceMappingURL=index.cjs.map
@@ -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/index.ts"],"names":[],"mappings":";;;;;AAcA,SAAS,mBAAmB,MAAA,EAAkC;AAC5D,EAAA,MAAM,KAAA,GAAQ,OAAO,WAAA,EAAY;AAEjC,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,QAAQ,KAAK,CAAA,CAAA;AAAA,IACnB,SAAS,CAAC,CAAA,KAAA,EAAQ,KAAK,CAAA,CAAA,EAAI,CAAA,KAAA,EAAQ,MAAM,CAAA,CAAE,CAAA;AAAA,IAC3C,WAAA,EAAa,oBAAoB,MAAM,CAAA,gFAAA,CAAA;AAAA,IACvC,QAAA,EAAU,OAAO,QAAA,EAAyB,QAAA,EAAkB,MAAA,KAAmB;AAC7E,MAAA,OAAO,IAAA;AAAA,IACT,CAAA;AAAA,IACA,SAAS,OACP,QAAA,EACA,OAAA,EACA,KAAA,EACA,UACA,QAAA,KAC0B;AAC1B,MAAA,MAAM,OAAA,GAAU,KAAA,EAAO,MAAA,EAAQ,SAAA,IAAa,EAAA;AAC5C,MAAA,MAAM,IAAA,GAAO,CAAA,EAAG,OAAO,CAAA,EAAG,MAAM,CAAA,CAAA;AAGhC,MAAA,IAAI,QAAA,EAAU;AACZ,QAAA,MAAM,QAAA,CAAS;AAAA,UACb,IAAA,EAAM,IAAA;AAAA,UACN,MAAA,EAAQ,QAAQ,OAAA,CAAQ;AAAA,SACzB,CAAA;AAAA,MACH;AAEA,MAAA,OAAO;AAAA,QACL,OAAA,EAAS,IAAA;AAAA,QACT,IAAA,EAAM,IAAA;AAAA,QACN,MAAA,EAAQ;AAAA,UACN,SAAA,EAAW;AAAA,SACb;AAAA,QACA,IAAA,EAAM;AAAA,UACJ,MAAA;AAAA,UACA,QAAQ,IAAA,CAAK;AAAA;AACf,OACF;AAAA,IACF,CAAA;AAAA,IACA,QAAA,EAAU;AAAA,MACR;AAAA,QACE;AAAA,UACE,IAAA,EAAM,UAAA;AAAA,UACN,OAAA,EAAS,EAAE,IAAA,EAAM,CAAA,MAAA,EAAS,MAAM,CAAA,CAAA,CAAA;AAAI,SACtC;AAAA,QACA;AAAA,UACE,IAAA,EAAM,WAAA;AAAA,UACN,OAAA,EAAS;AAAA,YACP,IAAA,EAAM,MAAA;AAAA,YACN,OAAA,EAAS,CAAC,CAAA,KAAA,EAAQ,KAAK,CAAA,CAAE;AAAA;AAC3B;AACF;AACF;AACF,GACF;AACF;AAEO,IAAM,oBACX,4BAAA,CAA6B,KAAA,CAAM,EAAE,CAAA,CACrC,IAAI,kBAAkB,CAAA;;;AC/DxB,SAAS,sBAAA,CAAuB,GAAW,CAAA,EAAmB;AAC5D,EAAA,MAAM,IAAA,GAAA,CAAS,CAAA,GAAI,EAAA,GAAO,CAAA,GAAI,EAAA,IAAO,GAAA;AACrC,EAAA,OAAO,IAAA,CAAK,IAAI,IAAI,CAAA;AACtB;AAGA,SAAS,QAAQ,CAAA,EAAoB;AACnC,EAAA,IAAI,CAAA,IAAK,GAAG,OAAO,KAAA;AACnB,EAAA,IAAI,CAAA,IAAK,GAAG,OAAO,IAAA;AACnB,EAAA,IAAI,IAAI,CAAA,KAAM,CAAA,IAAK,CAAA,GAAI,CAAA,KAAM,GAAG,OAAO,KAAA;AACvC,EAAA,KAAA,IAAS,IAAI,CAAA,EAAG,CAAA,GAAI,CAAA,IAAK,CAAA,EAAG,KAAK,CAAA,EAAG;AAClC,IAAA,IAAI,IAAI,CAAA,KAAM,CAAA,IAAK,KAAK,CAAA,GAAI,CAAA,CAAA,KAAO,GAAG,OAAO,KAAA;AAAA,EAC/C;AACA,EAAA,OAAO,IAAA;AACT;AAGA,SAAS,cAAc,CAAA,EAAmB;AACxC,EAAA,IAAI,CAAA,GAAI,GAAG,OAAO,CAAA;AAClB,EAAA,IAAI,SAAA,GAAY,IAAA,CAAK,IAAA,CAAK,CAAC,CAAA;AAC3B,EAAA,OAAO,CAAC,OAAA,CAAQ,SAAS,CAAA,EAAG;AAC1B,IAAA,SAAA,EAAA;AAAA,EACF;AACA,EAAA,OAAO,SAAA;AACT;AAGA,SAAS,qBAAqB,CAAA,EAAmB;AAC/C,EAAA,MAAM,MAAA,GAAS,CAAC,CAAA,EAAG,CAAC,CAAA;AACpB,EAAA,OAAO,MAAA,CAAO,OAAO,MAAA,GAAS,CAAC,IAAI,IAAA,CAAK,GAAA,CAAI,CAAC,CAAA,EAAG;AAC9C,IAAA,MAAA,CAAO,IAAA,CAAK,MAAA,CAAO,MAAA,CAAO,MAAA,GAAS,CAAC,IAAI,MAAA,CAAO,MAAA,CAAO,MAAA,GAAS,CAAC,CAAC,CAAA;AAAA,EACnE;AAEA,EAAA,MAAM,OAAA,GAAU,MAAA,CAAO,MAAA,CAAO,MAAA,GAAS,CAAC,CAAA;AACxC,EAAA,MAAM,OAAA,GAAU,MAAA,CAAO,MAAA,CAAO,MAAA,GAAS,CAAC,CAAA;AAExC,EAAA,OAAO,IAAA,CAAK,GAAA,CAAI,CAAA,GAAI,OAAO,CAAA,GAAI,KAAK,GAAA,CAAI,CAAA,GAAI,OAAO,CAAA,GAAI,OAAA,GAAU,OAAA;AACnE;AAGA,SAAS,aAAA,CAAc,KAAA,EAA0B,GAAA,EAAa,YAAA,GAAuB,CAAA,EAAW;AAC9F,EAAA,MAAM,KAAA,GAAQ,KAAA,EAAO,MAAA,GAAS,GAAG,CAAA;AACjC,EAAA,IAAI,OAAO,KAAA,KAAU,QAAA,EAAU,OAAO,KAAA;AACtC,EAAA,IAAI,OAAO,UAAU,QAAA,EAAU;AAC7B,IAAA,MAAM,MAAA,GAAS,WAAW,KAAK,CAAA;AAC/B,IAAA,OAAO,KAAA,CAAM,MAAM,CAAA,GAAI,YAAA,GAAe,MAAA;AAAA,EACxC;AACA,EAAA,OAAO,YAAA;AACT;AAGA,SAAS,mBAAmB,KAAA,EAAuB;AACjD,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,SAAS,KAAK,CAAA,CAAA;AAAA,IACpB,OAAA,EAAS,CAAC,CAAA,MAAA,EAAS,KAAK,CAAA,CAAA,EAAI,QAAQ,KAAK,CAAA,CAAA,EAAI,CAAA,MAAA,EAAS,KAAK,CAAA,CAAE,CAAA;AAAA,IAC7D,WAAA,EAAa,oBAAoB,KAAK,CAAA,qCAAA,CAAA;AAAA,IACtC,UAAU,YAAY,IAAA;AAAA,IACtB,SAAS,OACP,QAAA,EACA,OAAA,EACA,KAAA,EACA,UACA,QAAA,KAC0B;AAC1B,MAAA,MAAM,aAAA,GAAgB,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,CAAC,CAAA;AAC3D,MAAA,MAAM,SAAA,GAAY,gBAAgB,EAAA,GAAK,KAAA;AAEvC,MAAA,IAAI,QAAA,EAAU;AACZ,QAAA,MAAM,QAAA,CAAS;AAAA,UACb,IAAA,EAAM,UAAU,SAAS,CAAA,CAAA;AAAA,UACzB,MAAA,EAAQ,QAAQ,OAAA,CAAQ;AAAA,SACzB,CAAA;AAAA,MACH;AAEA,MAAA,OAAO;AAAA,QACL,OAAA,EAAS,IAAA;AAAA,QACT,IAAA,EAAM,UAAU,SAAS,CAAA,CAAA;AAAA,QACzB,MAAA,EAAQ;AAAA,UACN,WAAA,EAAa,SAAA;AAAA,UACb,SAAA,EAAW;AAAA,SACb;AAAA,QACA,IAAA,EAAM;AAAA,UACJ,KAAA;AAAA,UACA,MAAA,EAAQ;AAAA;AACV,OACF;AAAA,IACF,CAAA;AAAA,IACA,QAAA,EAAU;AAAA,MACR;AAAA,QACE;AAAA,UACE,IAAA,EAAM,UAAA;AAAA,UACN,OAAA,EAAS,EAAE,IAAA,EAAM,CAAA,MAAA,EAAS,KAAK,CAAA,CAAA;AAAG,SACpC;AAAA,QACA;AAAA,UACE,IAAA,EAAM,WAAA;AAAA,UACN,OAAA,EAAS;AAAA,YACP,IAAA,EAAM,UAAU,KAAK,CAAA,CAAA;AAAA,YACrB,OAAA,EAAS,CAAC,CAAA,MAAA,EAAS,KAAK,CAAA,CAAE;AAAA;AAC5B;AACF;AACF;AACF,GACF;AACF;AAGA,IAAM,qBAAA,GAAgC;AAAA,EACpC,IAAA,EAAM,kBAAA;AAAA,EACN,OAAA,EAAS,CAAC,WAAA,EAAa,eAAA,EAAiB,kBAAkB,CAAA;AAAA,EAC1D,WAAA,EAAa,oGAAA;AAAA,EACb,UAAU,YAAY,IAAA;AAAA,EACtB,SAAS,OACP,QAAA,EACA,OAAA,EACA,KAAA,EACA,UACA,QAAA,KAC0B;AAE1B,IAAA,MAAM,OAAA,GAAU,OAAA,CAAQ,OAAA,CAAQ,IAAA,EAAM,aAAY,IAAK,EAAA;AACvD,IAAA,IAAI,SAAA,GAAY,UAAA;AAEhB,IAAA,IAAI,OAAA,CAAQ,QAAA,CAAS,SAAS,CAAA,EAAG,SAAA,GAAY,SAAA;AAAA,SAAA,IACpC,OAAA,CAAQ,QAAA,CAAS,OAAO,CAAA,EAAG,SAAA,GAAY,OAAA;AAAA,SAAA,IACvC,OAAA,CAAQ,QAAA,CAAS,OAAO,CAAA,EAAG,SAAA,GAAY,OAAA;AAAA,SAAA,IACvC,OAAA,CAAQ,QAAA,CAAS,QAAQ,CAAA,EAAG,SAAA,GAAY,QAAA;AAAA,SAAA,IACxC,OAAA,CAAQ,QAAA,CAAS,MAAM,CAAA,EAAG,SAAA,GAAY,MAAA;AAAA,SAAA,IACtC,OAAA,CAAQ,QAAA,CAAS,UAAU,CAAA,EAAG,SAAA,GAAY,UAAA;AAAA,SAAA,IAC1C,OAAA,CAAQ,QAAA,CAAS,WAAW,CAAA,EAAG,SAAA,GAAY,WAAA;AAAA,SAAA,IAC3C,OAAA,CAAQ,QAAA,CAAS,aAAa,CAAA,EAAG,SAAA,GAAY,aAAA;AAAA,SAAA,IAC7C,OAAA,CAAQ,QAAA,CAAS,UAAU,CAAA,EAAG,SAAA,GAAY,UAAA;AAAA,SAAA,IAC1C,OAAA,CAAQ,QAAA,CAAS,UAAU,CAAA,EAAG,SAAA,GAAY,UAAA;AAAA,SAAA,IAC1C,OAAA,CAAQ,QAAA,CAAS,QAAQ,CAAA,EAAG,SAAA,GAAY,QAAA;AAAA,SAAA,IACxC,OAAA,CAAQ,QAAA,CAAS,QAAQ,CAAA,EAAG,SAAA,GAAY,QAAA;AAAA,SAAA,IACxC,OAAA,CAAQ,QAAA,CAAS,SAAS,CAAA,EAAG,SAAA,GAAY,SAAA;AAAA,SAAA,IACzC,OAAA,CAAQ,QAAA,CAAS,UAAU,CAAA,EAAG,SAAA,GAAY,UAAA;AAEnD,IAAA,MAAM,IAAA,GAAO,qBAAqB,SAAS,CAAA,CAAA;AAE3C,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,MAAM,SAAS,EAAE,IAAA,EAAM,QAAQ,OAAA,CAAQ,OAAA,CAAQ,QAAQ,CAAA;AAAA,IACzD;AAEA,IAAA,OAAO;AAAA,MACL,OAAA,EAAS,IAAA;AAAA,MACT,IAAA;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,GAAG,KAAA,EAAO,MAAA;AAAA,QACV;AAAA,OACF;AAAA,MACA,IAAA,EAAM;AAAA,QACJ;AAAA;AACF,KACF;AAAA,EACF,CAAA;AAAA,EACA,QAAA,EAAU;AAAA,IACR;AAAA,MACE;AAAA,QACE,IAAA,EAAM,UAAA;AAAA,QACN,OAAA,EAAS,EAAE,IAAA,EAAM,0BAAA;AAA2B,OAC9C;AAAA,MACA;AAAA,QACE,IAAA,EAAM,WAAA;AAAA,QACN,OAAA,EAAS;AAAA,UACP,IAAA,EAAM,2BAAA;AAAA,UACN,OAAA,EAAS,CAAC,kBAAkB;AAAA;AAC9B;AACF;AACF;AAEJ,CAAA;AAGA,IAAM,mBAAA,GAA8B;AAAA,EAClC,IAAA,EAAM,gBAAA;AAAA,EACN,OAAA,EAAS,CAAC,OAAA,EAAS,WAAA,EAAa,iBAAiB,CAAA;AAAA,EACjD,WAAA,EAAa,iIAAA;AAAA,EACb,UAAU,YAAY,IAAA;AAAA,EACtB,SAAS,OACP,QAAA,EACA,OAAA,EACA,KAAA,EACA,UACA,QAAA,KAC0B;AAC1B,IAAA,MAAM,CAAA,GAAI,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,CAAC,CAAA;AAC/C,IAAA,MAAM,CAAA,GAAI,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,CAAC,CAAA;AAC/C,IAAA,MAAM,SAAA,GAAY,KAAA,EAAO,MAAA,EAAQ,SAAA,IAAa,OAAA;AAE9C,IAAA,IAAI,MAAA;AACJ,IAAA,IAAI,WAAA;AAEJ,IAAA,QAAQ,SAAA;AAAW,MACjB,KAAK,SAAA;AAEH,QAAA,MAAA,GAAS,CAAA,GAAI,IAAI,IAAA,CAAK,IAAA,CAAK,KAAK,GAAA,CAAI,CAAA,GAAI,CAAC,CAAC,CAAA;AAC1C,QAAA,WAAA,GAAc,CAAA,sBAAA,EAAyB,CAAC,CAAA,GAAA,EAAM,CAAC,MAAM,MAAM,CAAA,8CAAA,EAA4C,CAAC,CAAA,IAAA,EAAI,CAAC,CAAA,EAAA,CAAA;AAC7G,QAAA;AAAA,MACF,KAAK,OAAA;AAEH,QAAA,MAAM,IAAA,GAAO,sBAAA,CAAuB,CAAA,EAAG,CAAC,CAAA;AACxC,QAAA,MAAA,GAAS,CAAA,GAAI,IAAK,IAAA,GAAO,EAAA;AACzB,QAAA,WAAA,GAAc,CAAA,oBAAA,EAAuB,CAAC,CAAA,GAAA,EAAM,CAAC,MAAM,MAAM,CAAA,gBAAA,EAAmB,OAAO,EAAE,CAAA,CAAA,CAAA;AACrF,QAAA;AAAA,MACF,KAAK,OAAA;AAAA,MACL;AAEE,QAAA,MAAM,iBAAiB,CAAA,GAAI,CAAA;AAC3B,QAAA,MAAM,SAAA,GAAY,aAAA,CAAc,IAAA,CAAK,GAAA,CAAI,cAAc,CAAC,CAAA;AACxD,QAAA,MAAA,GAAS,cAAA,GAAiB,CAAA,GAAI,CAAC,SAAA,GAAY,SAAA;AAC3C,QAAA,WAAA,GAAc,uBAAuB,CAAC,CAAA,GAAA,EAAM,CAAC,CAAA,GAAA,EAAM,MAAM,oCAAoC,cAAc,CAAA,CAAA,CAAA;AAC3G,QAAA;AAAA;AAGJ,IAAA,MAAA,GAAS,IAAA,CAAK,KAAA,CAAM,MAAA,GAAS,GAAI,CAAA,GAAI,GAAA;AAErC,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,MAAM,QAAA,CAAS,EAAE,IAAA,EAAM,WAAA,EAAa,QAAQ,OAAA,CAAQ,OAAA,CAAQ,QAAQ,CAAA;AAAA,IACtE;AAEA,IAAA,OAAO;AAAA,MACL,OAAA,EAAS,IAAA;AAAA,MACT,IAAA,EAAM,WAAA;AAAA,MACN,MAAA,EAAQ;AAAA,QACN,WAAA,EAAa,MAAA;AAAA,QACb,WAAA,EAAa,CAAA;AAAA,QACb,aAAA,EAAe,gBAAA;AAAA,QACf,SAAA;AAAA,QACA,OAAA,EAAS,CAAC,GAAI,KAAA,EAAO,QAAQ,OAAA,IAAW,IAAK,WAAW;AAAA,OAC1D;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,SAAA,EAAW,gBAAA;AAAA,QACX,MAAA,EAAQ,EAAE,CAAA,EAAG,CAAA,EAAG,SAAA,EAAU;AAAA,QAC1B,MAAA;AAAA,QACA,WAAA;AAAA,QACA,SAAA,EAAA,iBAAW,IAAI,IAAA,EAAK,EAAE,WAAA;AAAY;AACpC,KACF;AAAA,EACF,CAAA;AAAA,EACA,QAAA,EAAU;AAAA,IACR;AAAA,MACE;AAAA,QACE,IAAA,EAAM,UAAA;AAAA,QACN,OAAA,EAAS,EAAE,IAAA,EAAM,0BAAA;AAA2B,OAC9C;AAAA,MACA;AAAA,QACE,IAAA,EAAM,WAAA;AAAA,QACN,OAAA,EAAS;AAAA,UACP,IAAA,EAAM,uFAAA;AAAA,UACN,OAAA,EAAS,CAAC,gBAAgB;AAAA;AAC5B;AACF;AACF;AAEJ,CAAA;AAGA,IAAM,wBAAA,GAAmC;AAAA,EACvC,IAAA,EAAM,qBAAA;AAAA,EACN,OAAA,EAAS,CAAC,YAAA,EAAc,WAAA,EAAa,sBAAsB,CAAA;AAAA,EAC3D,WAAA,EAAa,+HAAA;AAAA,EACb,UAAU,YAAY,IAAA;AAAA,EACtB,SAAS,OACP,QAAA,EACA,OAAA,EACA,KAAA,EACA,UACA,QAAA,KAC0B;AAC1B,IAAA,MAAM,CAAA,GAAI,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,CAAC,CAAA;AAC/C,IAAA,MAAM,CAAA,GAAI,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,CAAC,CAAA;AAC/C,IAAA,MAAM,SAAA,GAAY,KAAA,EAAO,MAAA,EAAQ,SAAA,IAAa,UAAA;AAE9C,IAAA,IAAI,MAAA;AACJ,IAAA,IAAI,WAAA;AAEJ,IAAA,QAAQ,SAAA;AAAW,MACjB,KAAK,QAAA;AAEH,QAAA,MAAA,GAAS,IAAA,CAAK,IAAI,CAAA,GAAI,CAAC,KAAK,CAAA,GAAI,CAAA,GAAI,IAAI,EAAA,CAAA,GAAM,CAAA;AAC9C,QAAA,WAAA,GAAc,CAAA,qBAAA,EAAwB,CAAC,CAAA,GAAA,EAAM,CAAC,MAAM,MAAM,CAAA,wBAAA,CAAA;AAC1D,QAAA;AAAA,MACF,KAAK,MAAA;AAEH,QAAA,MAAA,GAAS,IAAA,CAAK,IAAI,CAAA,GAAI,CAAC,IAAI,IAAA,CAAK,GAAA,CAAI,GAAG,CAAC,CAAA;AACxC,QAAA,WAAA,GAAc,CAAA,mBAAA,EAAsB,CAAC,CAAA,GAAA,EAAM,CAAC,CAAA,GAAA,EAAM,MAAM,CAAA,sBAAA,EAAyB,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,CAAC,CAAC,CAAA,CAAA,CAAA;AAC/F,QAAA;AAAA,MACF,KAAK,UAAA;AAAA,MACL;AAEE,QAAA,MAAA,GAAS,IAAA,CAAK,GAAA,CAAI,CAAA,GAAI,CAAC,CAAA;AACvB,QAAA,WAAA,GAAc,CAAA,uBAAA,EAA0B,CAAC,CAAA,GAAA,EAAM,CAAC,MAAM,MAAM,CAAA,0BAAA,CAAA;AAC5D,QAAA;AAAA;AAGJ,IAAA,MAAA,GAAS,IAAA,CAAK,KAAA,CAAM,MAAA,GAAS,GAAI,CAAA,GAAI,GAAA;AAErC,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,MAAM,QAAA,CAAS,EAAE,IAAA,EAAM,WAAA,EAAa,QAAQ,OAAA,CAAQ,OAAA,CAAQ,QAAQ,CAAA;AAAA,IACtE;AAEA,IAAA,OAAO;AAAA,MACL,OAAA,EAAS,IAAA;AAAA,MACT,IAAA,EAAM,WAAA;AAAA,MACN,MAAA,EAAQ;AAAA,QACN,WAAA,EAAa,MAAA;AAAA,QACb,WAAA,EAAa,CAAA;AAAA,QACb,aAAA,EAAe,qBAAA;AAAA,QACf,SAAA;AAAA,QACA,OAAA,EAAS,CAAC,GAAI,KAAA,EAAO,QAAQ,OAAA,IAAW,IAAK,WAAW;AAAA,OAC1D;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,SAAA,EAAW,qBAAA;AAAA,QACX,MAAA,EAAQ,EAAE,CAAA,EAAG,CAAA,EAAG,SAAA,EAAU;AAAA,QAC1B,MAAA;AAAA,QACA,WAAA;AAAA,QACA,SAAA,EAAA,iBAAW,IAAI,IAAA,EAAK,EAAE,WAAA;AAAY;AACpC,KACF;AAAA,EACF,CAAA;AAAA,EACA,QAAA,EAAU;AAAA,IACR;AAAA,MACE;AAAA,QACE,IAAA,EAAM,UAAA;AAAA,QACN,OAAA,EAAS,EAAE,IAAA,EAAM,8BAAA;AAA+B,OAClD;AAAA,MACA;AAAA,QACE,IAAA,EAAM,WAAA;AAAA,QACN,OAAA,EAAS;AAAA,UACP,IAAA,EAAM,wDAAA;AAAA,UACN,OAAA,EAAS,CAAC,qBAAqB;AAAA;AACjC;AACF;AACF;AAEJ,CAAA;AAGA,IAAM,wBAAA,GAAmC;AAAA,EACvC,IAAA,EAAM,qBAAA;AAAA,EACN,OAAA,EAAS,CAAC,YAAA,EAAc,WAAA,EAAa,sBAAsB,CAAA;AAAA,EAC3D,WAAA,EAAa,2HAAA;AAAA,EACb,UAAU,YAAY,IAAA;AAAA,EACtB,SAAS,OACP,QAAA,EACA,OAAA,EACA,KAAA,EACA,UACA,QAAA,KAC0B;AAC1B,IAAA,MAAM,CAAA,GAAI,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,CAAC,CAAA;AAC/C,IAAA,MAAM,CAAA,GAAI,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,CAAC,CAAA;AAC/C,IAAA,MAAM,SAAA,GAAY,KAAA,EAAO,MAAA,EAAQ,SAAA,IAAa,WAAA;AAE9C,IAAA,IAAI,MAAA;AACJ,IAAA,IAAI,WAAA;AAEJ,IAAA,QAAQ,SAAA;AAAW,MACjB,KAAK,aAAA;AAEH,QAAA,MAAA,GAAS,IAAA,CAAK,GAAA,CAAI,IAAA,CAAK,GAAA,CAAI,CAAC,CAAA,EAAG,IAAA,CAAK,GAAA,CAAI,CAAC,CAAC,CAAA,IAAK,CAAA,GAAI,CAAA,IAAK,CAAA,GAAI,IAAI,EAAA,GAAK,CAAA,CAAA;AACrE,QAAA,WAAA,GAAc,CAAA,0BAAA,EAA6B,CAAC,CAAA,MAAA,EAAM,CAAC,MAAM,MAAM,CAAA,WAAA,EAAc,CAAC,CAAA,CAAA,EAAI,CAAC,CAAA,CAAA,CAAA;AACnF,QAAA;AAAA,MACF,KAAK,UAAA;AAEH,QAAA,MAAM,QAAA,GAAY,CAAA,GAAI,CAAA,GAAA,CAAO,CAAA,GAAI,CAAA,IAAK,CAAA;AACtC,QAAA,MAAA,GAAS,QAAA;AACT,QAAA,WAAA,GAAc,CAAA,uBAAA,EAA0B,CAAC,CAAA,MAAA,EAAM,CAAC,MAAM,MAAM,CAAA,yBAAA,CAAA;AAC5D,QAAA;AAAA,MACF,KAAK,WAAA;AAAA,MACL;AAEE,QAAA,MAAM,WAAW,CAAA,GAAI,CAAA;AACrB,QAAA,MAAA,GAAS,oBAAA,CAAqB,QAAQ,CAAA,IAAK,QAAA,GAAW,IAAI,EAAA,GAAK,CAAA,CAAA;AAC/D,QAAA,WAAA,GAAc,2BAA2B,CAAC,CAAA,MAAA,EAAM,CAAC,CAAA,GAAA,EAAM,MAAM,0BAA0B,QAAQ,CAAA,CAAA,CAAA;AAC/F,QAAA;AAAA;AAGJ,IAAA,MAAA,GAAS,IAAA,CAAK,KAAA,CAAM,MAAA,GAAS,GAAI,CAAA,GAAI,GAAA;AAErC,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,MAAM,QAAA,CAAS,EAAE,IAAA,EAAM,WAAA,EAAa,QAAQ,OAAA,CAAQ,OAAA,CAAQ,QAAQ,CAAA;AAAA,IACtE;AAEA,IAAA,OAAO;AAAA,MACL,OAAA,EAAS,IAAA;AAAA,MACT,IAAA,EAAM,WAAA;AAAA,MACN,MAAA,EAAQ;AAAA,QACN,WAAA,EAAa,MAAA;AAAA,QACb,WAAA,EAAa,CAAA;AAAA,QACb,aAAA,EAAe,qBAAA;AAAA,QACf,SAAA;AAAA,QACA,OAAA,EAAS,CAAC,GAAI,KAAA,EAAO,QAAQ,OAAA,IAAW,IAAK,WAAW;AAAA,OAC1D;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,SAAA,EAAW,qBAAA;AAAA,QACX,MAAA,EAAQ,EAAE,CAAA,EAAG,CAAA,EAAG,SAAA,EAAU;AAAA,QAC1B,MAAA;AAAA,QACA,WAAA;AAAA,QACA,SAAA,EAAA,iBAAW,IAAI,IAAA,EAAK,EAAE,WAAA;AAAY;AACpC,KACF;AAAA,EACF,CAAA;AAAA,EACA,QAAA,EAAU;AAAA,IACR;AAAA,MACE;AAAA,QACE,IAAA,EAAM,UAAA;AAAA,QACN,OAAA,EAAS,EAAE,IAAA,EAAM,mCAAA;AAAoC,OACvD;AAAA,MACA;AAAA,QACE,IAAA,EAAM,WAAA;AAAA,QACN,OAAA,EAAS;AAAA,UACP,IAAA,EAAM,uDAAA;AAAA,UACN,OAAA,EAAS,CAAC,qBAAqB;AAAA;AACjC;AACF;AACF;AAEJ,CAAA;AAGA,IAAM,sBAAA,GAAiC;AAAA,EACrC,IAAA,EAAM,mBAAA;AAAA,EACN,OAAA,EAAS,CAAC,UAAA,EAAY,WAAA,EAAa,oBAAoB,CAAA;AAAA,EACvD,WAAA,EAAa,gHAAA;AAAA,EACb,UAAU,YAAY,IAAA;AAAA,EACtB,SAAS,OACP,QAAA,EACA,OAAA,EACA,KAAA,EACA,UACA,QAAA,KAC0B;AAC1B,IAAA,MAAM,CAAA,GAAI,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,CAAC,CAAA;AAC/C,IAAA,MAAM,CAAA,GAAI,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,CAAC,CAAA;AAC/C,IAAA,MAAM,SAAA,GAAY,KAAA,EAAO,MAAA,EAAQ,SAAA,IAAa,MAAA;AAE9C,IAAA,IAAI,MAAA;AACJ,IAAA,IAAI,WAAA;AAEJ,IAAA,QAAQ,SAAA;AAAW,MACjB,KAAK,UAAA;AAEH,QAAA,IAAI,MAAM,CAAA,EAAG;AACX,UAAA,MAAA,GAAS,CAAA,GAAI,GAAA;AACb,UAAA,WAAA,GAAc,CAAA,uBAAA,EAA0B,CAAC,CAAA,UAAA,EAAU,MAAM,CAAA,iBAAA,CAAA;AAAA,QAC3D,CAAA,MAAO;AACL,UAAA,MAAA,GAAU,CAAA,GAAI,IAAK,IAAA,CAAK,EAAA;AACxB,UAAA,WAAA,GAAc,CAAA,uBAAA,EAA0B,CAAC,CAAA,MAAA,EAAM,CAAC,MAAM,MAAM,CAAA,gBAAA,CAAA;AAAA,QAC9D;AACA,QAAA;AAAA,MACF,KAAK,QAAA;AAEH,QAAA,MAAM,WAAA,GAAc,iBAAA;AACpB,QAAA,MAAM,QAAA,GAAW,CAAA,KAAM,CAAA,GAAI,CAAA,GAAI,CAAA,GAAI,CAAA;AACnC,QAAA,MAAA,GAAA,CAAU,WAAW,WAAA,IAAe,CAAA;AACpC,QAAA,WAAA,GAAc,CAAA,qBAAA,EAAwB,CAAC,CAAA,MAAA,EAAM,CAAC,MAAM,MAAM,CAAA,uBAAA,CAAA;AAC1D,QAAA;AAAA,MACF,KAAK,MAAA;AAAA,MACL;AAEE,QAAA,MAAA,GAAS,CAAA,KAAM,CAAA,GAAI,CAAA,GAAI,CAAA,GAAI,CAAA;AAC3B,QAAA,WAAA,GAAc,CAAA,KAAM,CAAA,GAChB,CAAA,mBAAA,EAAsB,CAAC,CAAA,UAAA,EAAU,CAAC,CAAA,kCAAA,CAAA,GAClC,CAAA,mBAAA,EAAsB,CAAC,CAAA,MAAA,EAAM,CAAC,CAAA,GAAA,EAAM,MAAM,CAAA,oBAAA,CAAA;AAC9C,QAAA;AAAA;AAGJ,IAAA,MAAA,GAAS,IAAA,CAAK,KAAA,CAAM,MAAA,GAAS,GAAI,CAAA,GAAI,GAAA;AAErC,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,MAAM,QAAA,CAAS,EAAE,IAAA,EAAM,WAAA,EAAa,QAAQ,OAAA,CAAQ,OAAA,CAAQ,QAAQ,CAAA;AAAA,IACtE;AAEA,IAAA,OAAO;AAAA,MACL,OAAA,EAAS,IAAA;AAAA,MACT,IAAA,EAAM,WAAA;AAAA,MACN,MAAA,EAAQ;AAAA,QACN,WAAA,EAAa,MAAA;AAAA,QACb,WAAA,EAAa,CAAA;AAAA,QACb,aAAA,EAAe,mBAAA;AAAA,QACf,SAAA;AAAA,QACA,OAAA,EAAS,CAAC,GAAI,KAAA,EAAO,QAAQ,OAAA,IAAW,IAAK,WAAW;AAAA,OAC1D;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,SAAA,EAAW,mBAAA;AAAA,QACX,MAAA,EAAQ,EAAE,CAAA,EAAG,CAAA,EAAG,SAAA,EAAU;AAAA,QAC1B,MAAA;AAAA,QACA,WAAA;AAAA,QACA,SAAA,EAAA,iBAAW,IAAI,IAAA,EAAK,EAAE,WAAA;AAAY;AACpC,KACF;AAAA,EACF,CAAA;AAAA,EACA,QAAA,EAAU;AAAA,IACR;AAAA,MACE;AAAA,QACE,IAAA,EAAM,UAAA;AAAA,QACN,OAAA,EAAS,EAAE,IAAA,EAAM,4BAAA;AAA6B,OAChD;AAAA,MACA;AAAA,QACE,IAAA,EAAM,WAAA;AAAA,QACN,OAAA,EAAS;AAAA,UACP,IAAA,EAAM,8DAAA;AAAA,UACN,OAAA,EAAS,CAAC,mBAAmB;AAAA;AAC/B;AACF;AACF;AAEJ,CAAA;AAGA,IAAM,sBAAA,GAAiC;AAAA,EACrC,IAAA,EAAM,mBAAA;AAAA,EACN,OAAA,EAAS,CAAC,UAAA,EAAY,WAAA,EAAa,oBAAoB,CAAA;AAAA,EACvD,WAAA,EAAa,kHAAA;AAAA,EACb,QAAA,EAAU,OAAO,QAAA,EAAyB,QAAA,EAAkB,KAAA,KAAkB;AAC5E,IAAA,MAAM,CAAA,GAAI,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,CAAC,CAAA;AAC/C,IAAA,OAAO,CAAA,KAAM,CAAA;AAAA,EACf,CAAA;AAAA,EACA,SAAS,OACP,QAAA,EACA,OAAA,EACA,KAAA,EACA,UACA,QAAA,KAC0B;AAC1B,IAAA,MAAM,CAAA,GAAI,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,CAAC,CAAA;AAC/C,IAAA,MAAM,CAAA,GAAI,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,CAAC,CAAA;AAC/C,IAAA,MAAM,SAAA,GAAY,KAAA,EAAO,MAAA,EAAQ,SAAA,IAAa,UAAA;AAE9C,IAAA,IAAI,MAAA;AACJ,IAAA,IAAI,WAAA;AAEJ,IAAA,IAAI,MAAM,CAAA,EAAG;AACX,MAAA,OAAO;AAAA,QACL,OAAA,EAAS,KAAA;AAAA,QACT,IAAA,EAAM,8BAAA;AAAA,QACN,MAAA,EAAQ,KAAA,EAAO,MAAA,IAAU;AAAC,OAC5B;AAAA,IACF;AAEA,IAAA,QAAQ,SAAA;AAAW,MACjB,KAAK,QAAA;AAEH,QAAA,MAAM,eAAe,IAAA,CAAK,GAAA,CAAI,CAAC,CAAA,GAAI,IAAA,CAAK,IAAI,CAAC,CAAA;AAC7C,QAAA,MAAA,GAAS,IAAA,CAAK,GAAA,CAAK,CAAA,GAAI,CAAA,GAAK,eAAe,EAAE,CAAA;AAC7C,QAAA,WAAA,GAAc,CAAA,qBAAA,EAAwB,CAAC,CAAA,GAAA,EAAM,CAAC,CAAA,GAAA,EAAM,MAAM,CAAA,iBAAA,EAAoB,YAAA,CAAa,OAAA,CAAQ,CAAC,CAAC,CAAA,CAAA,CAAA;AACrG,QAAA;AAAA,MACF,KAAK,SAAA;AAEH,QAAA,MAAM,UAAA,GAAa,CAAA;AACnB,QAAA,MAAA,GAAS,CAAA,GAAI,CAAA;AACb,QAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,UAAA,EAAY,CAAA,EAAA,EAAK;AACnC,UAAA,MAAA,GAAU,MAAA,GAAS,KAAM,CAAA,GAAI,CAAA,CAAA;AAAA,QAC/B;AACA,QAAA,WAAA,GAAc,yBAAyB,CAAC,CAAA,GAAA,EAAM,CAAC,CAAA,GAAA,EAAM,MAAM,WAAW,UAAU,CAAA,oBAAA,CAAA;AAChF,QAAA;AAAA,MACF,KAAK,UAAA;AAAA,MACL;AAEE,QAAA,MAAA,GAAS,CAAA,GAAI,CAAA;AACb,QAAA,IAAI,MAAA,GAAS,GAAG,MAAA,IAAU,CAAA;AAC1B,QAAA,WAAA,GAAc,CAAA,uBAAA,EAA0B,CAAC,CAAA,GAAA,EAAM,CAAC,MAAM,MAAM,CAAA,gBAAA,CAAA;AAC5D,QAAA;AAAA;AAGJ,IAAA,MAAA,GAAS,IAAA,CAAK,KAAA,CAAM,MAAA,GAAS,GAAG,CAAA,GAAI,GAAA;AAEpC,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,MAAM,QAAA,CAAS,EAAE,IAAA,EAAM,WAAA,EAAa,QAAQ,OAAA,CAAQ,OAAA,CAAQ,QAAQ,CAAA;AAAA,IACtE;AAEA,IAAA,OAAO;AAAA,MACL,OAAA,EAAS,IAAA;AAAA,MACT,IAAA,EAAM,WAAA;AAAA,MACN,MAAA,EAAQ;AAAA,QACN,WAAA,EAAa,MAAA;AAAA,QACb,WAAA,EAAa,CAAA;AAAA,QACb,aAAA,EAAe,mBAAA;AAAA,QACf,SAAA;AAAA,QACA,OAAA,EAAS,CAAC,GAAI,KAAA,EAAO,QAAQ,OAAA,IAAW,IAAK,WAAW;AAAA,OAC1D;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,SAAA,EAAW,mBAAA;AAAA,QACX,MAAA,EAAQ,EAAE,CAAA,EAAG,CAAA,EAAG,SAAA,EAAU;AAAA,QAC1B,MAAA;AAAA,QACA,WAAA;AAAA,QACA,SAAA,EAAA,iBAAW,IAAI,IAAA,EAAK,EAAE,WAAA;AAAY;AACpC,KACF;AAAA,EACF,CAAA;AAAA,EACA,QAAA,EAAU;AAAA,IACR;AAAA,MACE;AAAA,QACE,IAAA,EAAM,UAAA;AAAA,QACN,OAAA,EAAS,EAAE,IAAA,EAAM,6BAAA;AAA8B,OACjD;AAAA,MACA;AAAA,QACE,IAAA,EAAM,WAAA;AAAA,QACN,OAAA,EAAS;AAAA,UACP,IAAA,EAAM,8DAAA;AAAA,UACN,OAAA,EAAS,CAAC,mBAAmB;AAAA;AAC/B;AACF;AACF;AAEJ,CAAA;AAGA,IAAM,qBAAA,GAAgC;AAAA,EACpC,IAAA,EAAM,kBAAA;AAAA,EACN,OAAA,EAAS,CAAC,SAAA,EAAW,WAAA,EAAa,mBAAmB,CAAA;AAAA,EACrD,WAAA,EAAa,0GAAA;AAAA,EACb,UAAU,YAAY,IAAA;AAAA,EACtB,SAAS,OACP,QAAA,EACA,OAAA,EACA,KAAA,EACA,UACA,QAAA,KAC0B;AAC1B,IAAA,MAAM,CAAA,GAAI,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,CAAC,CAAA;AAC/C,IAAA,MAAM,CAAA,GAAI,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,CAAC,CAAA;AAC/C,IAAA,MAAM,SAAA,GAAY,KAAA,EAAO,MAAA,EAAQ,SAAA,IAAa,UAAA;AAE9C,IAAA,IAAI,MAAA;AACJ,IAAA,IAAI,WAAA;AAEJ,IAAA,QAAQ,SAAA;AAAW,MACjB,KAAK,WAAA;AAEH,QAAA,MAAM,cAAc,IAAA,CAAK,GAAA,CAAI,CAAA,GAAI,IAAA,CAAK,KAAK,CAAC,CAAA;AAC5C,QAAA,MAAA,GAAS,KAAK,GAAA,CAAI,IAAA,CAAK,IAAI,CAAC,CAAA,EAAG,CAAC,CAAA,GAAI,WAAA;AACpC,QAAA,WAAA,GAAc,CAAA,wBAAA,EAA2B,CAAC,CAAA,CAAA,EAAI,CAAC,CAAA,GAAA,EAAM,MAAM,CAAA,sBAAA,EAAyB,WAAA,CAAY,OAAA,CAAQ,CAAC,CAAC,CAAA,CAAA,CAAA;AAC1G,QAAA;AAAA,MACF,KAAK,WAAA;AAEH,QAAA,MAAA,GAAS,CAAA;AACT,QAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,IAAA,CAAK,GAAA,CAAI,IAAA,CAAK,GAAA,CAAI,CAAC,CAAA,EAAG,CAAC,CAAA,EAAG,CAAA,EAAA,EAAK;AACjD,UAAA,MAAA,GAAS,IAAA,CAAK,GAAA,CAAI,MAAA,EAAQ,GAAG,CAAA;AAAA,QAC/B;AACA,QAAA,WAAA,GAAc,CAAA,wBAAA,EAA2B,CAAC,CAAA,CAAA,EAAI,CAAC,MAAM,MAAM,CAAA,EAAA,EAAK,IAAA,CAAK,GAAA,CAAI,IAAA,CAAK,GAAA,CAAI,CAAC,CAAA,EAAG,CAAC,CAAC,CAAA,wBAAA,CAAA;AACxF,QAAA;AAAA,MACF,KAAK,UAAA;AAAA,MACL;AACE,QAAA,MAAA,GAAS,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,CAAC,CAAA;AACtB,QAAA,WAAA,GAAc,CAAA,uBAAA,EAA0B,CAAC,CAAA,CAAA,EAAI,CAAC,MAAM,MAAM,CAAA,CAAA;AAC1D,QAAA;AAAA;AAGJ,IAAA,MAAA,GAAS,IAAA,CAAK,KAAA,CAAM,MAAA,GAAS,GAAI,CAAA,GAAI,GAAA;AAErC,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,MAAM,QAAA,CAAS,EAAE,IAAA,EAAM,WAAA,EAAa,QAAQ,OAAA,CAAQ,OAAA,CAAQ,QAAQ,CAAA;AAAA,IACtE;AAEA,IAAA,OAAO;AAAA,MACL,OAAA,EAAS,IAAA;AAAA,MACT,IAAA,EAAM,WAAA;AAAA,MACN,MAAA,EAAQ;AAAA,QACN,WAAA,EAAa,MAAA;AAAA,QACb,WAAA,EAAa,CAAA;AAAA,QACb,aAAA,EAAe,kBAAA;AAAA,QACf,SAAA;AAAA,QACA,OAAA,EAAS,CAAC,GAAI,KAAA,EAAO,QAAQ,OAAA,IAAW,IAAK,WAAW;AAAA,OAC1D;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,SAAA,EAAW,kBAAA;AAAA,QACX,MAAA,EAAQ,EAAE,CAAA,EAAG,CAAA,EAAG,SAAA,EAAU;AAAA,QAC1B,MAAA;AAAA,QACA,WAAA;AAAA,QACA,SAAA,EAAA,iBAAW,IAAI,IAAA,EAAK,EAAE,WAAA;AAAY;AACpC,KACF;AAAA,EACF,CAAA;AAAA,EACA,QAAA,EAAU;AAAA,IACR;AAAA,MACE;AAAA,QACE,IAAA,EAAM,UAAA;AAAA,QACN,OAAA,EAAS,EAAE,IAAA,EAAM,8BAAA;AAA+B,OAClD;AAAA,MACA;AAAA,QACE,IAAA,EAAM,WAAA;AAAA,QACN,OAAA,EAAS;AAAA,UACP,IAAA,EAAM,6DAAA;AAAA,UACN,OAAA,EAAS,CAAC,kBAAkB;AAAA;AAC9B;AACF;AACF;AAEJ,CAAA;AAGA,IAAM,oBAAA,GAA+B;AAAA,EACnC,IAAA,EAAM,iBAAA;AAAA,EACN,OAAA,EAAS,CAAC,QAAA,EAAU,YAAA,EAAc,kBAAkB,CAAA;AAAA,EACpD,WAAA,EAAa,kGAAA;AAAA,EACb,UAAU,YAAY,IAAA;AAAA,EACtB,SAAS,OACP,QAAA,EACA,OAAA,EACA,KAAA,EACA,UACA,QAAA,KAC0B;AAC1B,IAAA,MAAM,CAAA,GAAI,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,CAAC,CAAA;AAC/C,IAAA,MAAM,SAAA,GAAY,KAAA,EAAO,MAAA,EAAQ,SAAA,IAAa,UAAA;AAE9C,IAAA,IAAI,MAAA;AACJ,IAAA,IAAI,WAAA;AAEJ,IAAA,QAAQ,SAAA;AAAW,MACjB,KAAK,SAAA;AAEH,QAAA,MAAA,GAAS,IAAA,CAAK,IAAA,CAAK,IAAA,CAAK,GAAA,CAAI,CAAC,CAAC,CAAA;AAC9B,QAAA,IAAI,IAAI,CAAA,EAAG;AACT,UAAA,WAAA,GAAc,CAAA,4BAAA,EAA0B,CAAC,CAAA,GAAA,EAAM,MAAM,CAAA,uBAAA,CAAA;AAAA,QACvD,CAAA,MAAO;AACL,UAAA,WAAA,GAAc,CAAA,4BAAA,EAA0B,CAAC,CAAA,GAAA,EAAM,MAAM,CAAA,iBAAA,CAAA;AAAA,QACvD;AACA,QAAA;AAAA,MACF,KAAK,SAAA;AAEH,QAAA,MAAM,aAAA,GAAgB,IAAA,CAAK,IAAA,CAAK,IAAA,CAAK,GAAA,CAAI,CAAC,CAAC,CAAA,GAAA,CAAK,IAAA,CAAK,MAAA,EAAO,GAAI,GAAA,IAAO,GAAA;AACvE,QAAA,MAAA,GAAS,IAAA,CAAK,IAAI,aAAa,CAAA;AAC/B,QAAA,WAAA,GAAc,CAAA,4BAAA,EAA0B,CAAC,CAAA,GAAA,EAAM,MAAM,CAAA,sBAAA,CAAA;AACrD,QAAA;AAAA,MACF,KAAK,UAAA;AAAA,MACL;AAEE,QAAA,MAAA,GAAS,IAAA,CAAK,IAAA,CAAK,IAAA,CAAK,GAAA,CAAI,CAAC,CAAC,CAAA;AAC9B,QAAA,WAAA,GAAc,CAAA,6BAAA,EAA2B,CAAC,CAAA,GAAA,EAAM,MAAM,CAAA,uBAAA,CAAA;AACtD,QAAA;AAAA;AAGJ,IAAA,MAAA,GAAS,IAAA,CAAK,KAAA,CAAM,MAAA,GAAS,GAAI,CAAA,GAAI,GAAA;AAErC,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,MAAM,QAAA,CAAS,EAAE,IAAA,EAAM,WAAA,EAAa,QAAQ,OAAA,CAAQ,OAAA,CAAQ,QAAQ,CAAA;AAAA,IACtE;AAEA,IAAA,OAAO;AAAA,MACL,OAAA,EAAS,IAAA;AAAA,MACT,IAAA,EAAM,WAAA;AAAA,MACN,MAAA,EAAQ;AAAA,QACN,WAAA,EAAa,MAAA;AAAA,QACb,aAAA,EAAe,iBAAA;AAAA,QACf,SAAA;AAAA,QACA,OAAA,EAAS,CAAC,GAAI,KAAA,EAAO,QAAQ,OAAA,IAAW,IAAK,WAAW;AAAA,OAC1D;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,SAAA,EAAW,iBAAA;AAAA,QACX,MAAA,EAAQ,EAAE,CAAA,EAAG,SAAA,EAAU;AAAA,QACvB,MAAA;AAAA,QACA,WAAA;AAAA,QACA,SAAA,EAAA,iBAAW,IAAI,IAAA,EAAK,EAAE,WAAA;AAAY;AACpC,KACF;AAAA,EACF,CAAA;AAAA,EACA,QAAA,EAAU;AAAA,IACR;AAAA,MACE;AAAA,QACE,IAAA,EAAM,UAAA;AAAA,QACN,OAAA,EAAS,EAAE,IAAA,EAAM,kCAAA;AAAmC,OACtD;AAAA,MACA;AAAA,QACE,IAAA,EAAM,WAAA;AAAA,QACN,OAAA,EAAS;AAAA,UACP,IAAA,EAAM,oDAAA;AAAA,UACN,OAAA,EAAS,CAAC,iBAAiB;AAAA;AAC7B;AACF;AACF;AAEJ,CAAA;AAGA,IAAM,WAAA,GAAsB;AAAA,EAC1B,IAAA,EAAM,YAAA;AAAA,EACN,OAAA,EAAS,CAAC,OAAA,EAAS,OAAA,EAAS,WAAW,CAAA;AAAA,EACvC,WAAA,EAAa,kDAAA;AAAA,EACb,UAAU,YAAY,IAAA;AAAA,EACtB,SAAS,OACP,QAAA,EACA,OAAA,EACA,MAAA,EACA,UACA,QAAA,KAC0B;AAC1B,IAAA,MAAM,IAAA,GAAO,qBAAA;AAEb,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,MAAM,SAAS,EAAE,IAAA,EAAM,QAAQ,OAAA,CAAQ,OAAA,CAAQ,QAAQ,CAAA;AAAA,IACzD;AAEA,IAAA,OAAO;AAAA,MACL,OAAA,EAAS,IAAA;AAAA,MACT,IAAA;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,WAAA,EAAa,CAAA;AAAA,QACb,WAAA,EAAa,CAAA;AAAA,QACb,aAAA,EAAe,OAAA;AAAA,QACf,SAAA,EAAW,UAAA;AAAA,QACX,SAAS;AAAC,OACZ;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,SAAA,EAAW;AAAA;AACb,KACF;AAAA,EACF,CAAA;AAAA,EACA,QAAA,EAAU;AAAA,IACR;AAAA,MACE;AAAA,QACE,IAAA,EAAM,UAAA;AAAA,QACN,OAAA,EAAS,EAAE,IAAA,EAAM,OAAA;AAAQ,OAC3B;AAAA,MACA;AAAA,QACE,IAAA,EAAM,WAAA;AAAA,QACN,OAAA,EAAS;AAAA,UACP,IAAA,EAAM,qBAAA;AAAA,UACN,OAAA,EAAS,CAAC,YAAY;AAAA;AACxB;AACF;AACF;AAEJ,CAAA;AAEA,IAAM,WAAA,GAAsB;AAAA,EAC1B,IAAA,EAAM,YAAA;AAAA,EACN,OAAA,EAAS,CAAC,OAAA,EAAS,MAAA,EAAQ,cAAc,CAAA;AAAA,EACzC,WAAA,EAAa,4CAAA;AAAA,EACb,UAAU,YAAY,IAAA;AAAA,EACtB,SAAS,OACP,QAAA,EACA,OAAA,EACA,KAAA,EACA,UACA,QAAA,KAC0B;AAC1B,IAAA,MAAM,WAAA,GAAc,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,CAAC,CAAA;AACzD,IAAA,MAAM,IAAA,GAAO,UAAU,WAAW,CAAA,UAAA,CAAA;AAElC,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,MAAM,SAAS,EAAE,IAAA,EAAM,QAAQ,OAAA,CAAQ,OAAA,CAAQ,QAAQ,CAAA;AAAA,IACzD;AAEA,IAAA,OAAO;AAAA,MACL,OAAA,EAAS,IAAA;AAAA,MACT,IAAA;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,GAAG,KAAA,EAAO,MAAA;AAAA,QACV,MAAA,EAAQ,WAAA;AAAA,QACR,aAAA,EAAe;AAAA,OACjB;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,SAAA,EAAW,OAAA;AAAA,QACX,KAAA,EAAO;AAAA;AACT,KACF;AAAA,EACF,CAAA;AAAA,EACA,QAAA,EAAU;AAAA,IACR;AAAA,MACE;AAAA,QACE,IAAA,EAAM,UAAA;AAAA,QACN,OAAA,EAAS,EAAE,IAAA,EAAM,iBAAA;AAAkB,OACrC;AAAA,MACA;AAAA,QACE,IAAA,EAAM,WAAA;AAAA,QACN,OAAA,EAAS;AAAA,UACP,IAAA,EAAM,oBAAA;AAAA,UACN,OAAA,EAAS,CAAC,YAAY;AAAA;AACxB;AACF;AACF;AAEJ,CAAA;AAEA,IAAM,YAAA,GAAuB;AAAA,EAC3B,IAAA,EAAM,aAAA;AAAA,EACN,OAAA,EAAS,CAAC,QAAA,EAAU,MAAA,EAAQ,eAAe,CAAA;AAAA,EAC3C,WAAA,EAAa,2CAAA;AAAA,EACb,UAAU,YAAY,IAAA;AAAA,EACtB,SAAS,OACP,QAAA,EACA,OAAA,EACA,KAAA,EACA,UACA,QAAA,KAC0B;AAC1B,IAAA,MAAM,MAAA,GAAS,aAAA,CAAc,KAAA,EAAO,QAAA,EAAU,CAAC,CAAA;AAC/C,IAAA,MAAM,IAAA,GAAO,YAAY,MAAM,CAAA,YAAA,CAAA;AAE/B,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,MAAM,SAAS,EAAE,IAAA,EAAM,QAAQ,OAAA,CAAQ,OAAA,CAAQ,QAAQ,CAAA;AAAA,IACzD;AAEA,IAAA,OAAO;AAAA,MACL,OAAA,EAAS,IAAA;AAAA,MACT,IAAA;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,GAAG,KAAA,EAAO,MAAA;AAAA,QACV,WAAA,EAAa,MAAA;AAAA,QACb,aAAA,EAAe;AAAA,OACjB;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,SAAA,EAAW,QAAA;AAAA,QACX,KAAA,EAAO;AAAA;AACT,KACF;AAAA,EACF,CAAA;AAAA,EACA,QAAA,EAAU;AAAA,IACR;AAAA,MACE;AAAA,QACE,IAAA,EAAM,UAAA;AAAA,QACN,OAAA,EAAS,EAAE,IAAA,EAAM,oBAAA;AAAqB,OACxC;AAAA,MACA;AAAA,QACE,IAAA,EAAM,WAAA;AAAA,QACN,OAAA,EAAS;AAAA,UACP,IAAA,EAAM,wBAAA;AAAA,UACN,OAAA,EAAS,CAAC,aAAa;AAAA;AACzB;AACF;AACF;AAEJ,CAAA;AAGA,IAAM,cAAA,GAAyB;AAAA,EAC7B,IAAA,EAAM,mBAAA;AAAA,EACN,OAAA,EAAS,CAAC,UAAA,EAAY,eAAA,EAAiB,sBAAsB,CAAA;AAAA,EAC7D,WAAA,EAAa,gEAAA;AAAA,EACb,UAAU,YAAY,IAAA;AAAA,EACtB,SAAS,OACP,QAAA,EACA,OAAA,EACA,KAAA,EACA,UACA,QAAA,KAC0B;AAC1B,IAAA,MAAM,WAAA,GAAc,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,CAAC,CAAA;AACzD,IAAA,MAAM,IAAA,GAAO,eAAe,WAAW,CAAA,iCAAA,CAAA;AAEvC,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,MAAM,SAAS,EAAE,IAAA,EAAM,QAAQ,OAAA,CAAQ,OAAA,CAAQ,QAAQ,CAAA;AAAA,IACzD;AAEA,IAAA,OAAO;AAAA,MACL,OAAA,EAAS,IAAA;AAAA,MACT,IAAA;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,GAAG,KAAA,EAAO,MAAA;AAAA,QACV,WAAA,EAAa,WAAA;AAAA,QACb,WAAA,EAAa,CAAA;AAAA,QACb,aAAA,EAAe;AAAA,OACjB;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,SAAA,EAAW,UAAA;AAAA,QACX,KAAA,EAAO;AAAA;AACT,KACF;AAAA,EACF,CAAA;AAAA,EACA,QAAA,EAAU;AAAA,IACR;AAAA,MACE;AAAA,QACE,IAAA,EAAM,UAAA;AAAA,QACN,OAAA,EAAS,EAAE,IAAA,EAAM,mBAAA;AAAoB,OACvC;AAAA,MACA;AAAA,QACE,IAAA,EAAM,WAAA;AAAA,QACN,OAAA,EAAS;AAAA,UACP,IAAA,EAAM,gDAAA;AAAA,UACN,OAAA,EAAS,CAAC,mBAAmB;AAAA;AAC/B;AACF;AACF;AAEJ,CAAA;AAGO,IAAM,qBAAA,GAAkC;AAAA;AAAA,EAE7C,GAAG,KAAA,CAAM,IAAA,CAAK,EAAE,MAAA,EAAQ,EAAA,EAAG,EAAG,CAAC,CAAA,EAAG,CAAA,KAAM,kBAAA,CAAmB,CAAC,CAAC,CAAA;AAAA;AAAA,EAE7D,qBAAA;AAAA;AAAA,EAEA,mBAAA;AAAA,EACA,wBAAA;AAAA,EACA,wBAAA;AAAA,EACA,sBAAA;AAAA,EACA,sBAAA;AAAA,EACA,qBAAA;AAAA,EACA,oBAAA;AAAA;AAAA,EAEA,WAAA;AAAA,EACA,WAAA;AAAA,EACA,YAAA;AAAA,EACA;AACF,CAAA;;;AC3+BA,IAAM,kBAAA,GAAqB,OAAA,CAAQ,GAAA,CAAI,kBAAA,EAAoB,aAAY,KAAM,OAAA;AAC7E,IAAM,uBAAA,GAA0B,OAAA,CAAQ,GAAA,CAAI,uBAAA,EAAyB,aAAY,KAAM,OAAA;AAGvF,SAAS,YAAA,GAAyB;AAChC,EAAA,MAAM,UAAoB,EAAC;AAE3B,EAAA,IAAI,kBAAA,EAAoB;AACtB,IAAA,OAAA,CAAQ,IAAI,kDAAkD,CAAA;AAC9D,IAAA,OAAA,CAAQ,IAAA,CAAK,GAAG,iBAAiB,CAAA;AAAA,EACnC,CAAA,MAAO;AACL,IAAA,OAAA,CAAQ,IAAI,gFAAgF,CAAA;AAAA,EAC9F;AAEA,EAAA,IAAI,uBAAA,EAAyB;AAC3B,IAAA,OAAA,CAAQ,IAAI,uDAAuD,CAAA;AACnE,IAAA,OAAA,CAAQ,IAAA,CAAK,GAAG,qBAAqB,CAAA;AAAA,EACvC,CAAA,MAAO;AACL,IAAA,OAAA,CAAQ,IAAI,0FAA0F,CAAA;AAAA,EACxG;AAGA,EAAA,IAAI,OAAA,CAAQ,WAAW,CAAA,EAAG;AACxB,IAAA,OAAA,CAAQ,KAAK,oJAAoJ,CAAA;AAAA,EACnK;AAEA,EAAA,OAAA,CAAQ,GAAA,CAAI,CAAA,4CAAA,EAA+C,OAAA,CAAQ,MAAM,CAAA,CAAE,CAAA;AAC3E,EAAA,OAAO,OAAA;AACT;AAGO,IAAM,iBAAA,GAA4B;AAAA,EACvC,IAAA,EAAM,qBAAA;AAAA,EACN,WAAA,EACE,kQAAA;AAAA,EACF,SAAS,YAAA;AACX;AAGO,IAAM,eAAA,GAAkB;AAAA,EAC7B,iBAAA,EAAmB,kBAAA;AAAA,EACnB,qBAAA,EAAuB,uBAAA;AAAA,EACvB,kBAAA,EAAoB,iBAAA,CAAkB,OAAA,EAAS,MAAA,IAAU;AAC3D;AAGA,IAAO,aAAA,GAAQ","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, Action } from \"@elizaos/core\";\nimport { typewriterActions } from \"./actions/typewriter\";\nimport { multiverseMathActions } from \"./actions/multiverseMath\";\n\n// Environment variable configuration\n// By default, both 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\";\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 // 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 or MULTIVERSE_MATH_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) 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: buildActions(),\n};\n\n// Export configuration for debugging/visibility\nexport const benchmarkConfig = {\n typewriterEnabled: TYPEWRITER_ENABLED,\n multiverseMathEnabled: MULTIVERSE_MATH_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,10 @@
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
+ totalActionsLoaded: number;
8
+ };
4
9
 
5
- export { actionBenchPlugin, actionBenchPlugin as default };
10
+ export { actionBenchPlugin, benchmarkConfig, actionBenchPlugin as default };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,10 @@
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
+ totalActionsLoaded: number;
8
+ };
4
9
 
5
- export { actionBenchPlugin, actionBenchPlugin as default };
10
+ export { actionBenchPlugin, benchmarkConfig, actionBenchPlugin as default };
package/dist/index.js CHANGED
@@ -863,13 +863,40 @@ var multiverseMathActions = [
863
863
  ];
864
864
 
865
865
  // src/index.ts
866
+ var TYPEWRITER_ENABLED = process.env.TYPEWRITER_ENABLED?.toLowerCase() !== "false";
867
+ var MULTIVERSE_MATH_ENABLED = process.env.MULTIVERSE_MATH_ENABLED?.toLowerCase() !== "false";
868
+ function buildActions() {
869
+ const actions = [];
870
+ if (TYPEWRITER_ENABLED) {
871
+ console.log("[plugin-action-bench] Typewriter actions enabled");
872
+ actions.push(...typewriterActions);
873
+ } else {
874
+ console.log("[plugin-action-bench] Typewriter actions disabled via TYPEWRITER_ENABLED=false");
875
+ }
876
+ if (MULTIVERSE_MATH_ENABLED) {
877
+ console.log("[plugin-action-bench] Multiverse math actions enabled");
878
+ actions.push(...multiverseMathActions);
879
+ } else {
880
+ console.log("[plugin-action-bench] Multiverse math actions disabled via MULTIVERSE_MATH_ENABLED=false");
881
+ }
882
+ if (actions.length === 0) {
883
+ console.warn("[plugin-action-bench] WARNING: No benchmark actions are enabled. Set TYPEWRITER_ENABLED=true or MULTIVERSE_MATH_ENABLED=true to enable benchmarks.");
884
+ }
885
+ console.log(`[plugin-action-bench] Total actions loaded: ${actions.length}`);
886
+ return actions;
887
+ }
866
888
  var actionBenchPlugin = {
867
889
  name: "plugin-action-bench",
868
890
  description: "Action benchmark plugin providing typewriter (A\u2013Z) 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.",
869
- actions: [...typewriterActions, ...multiverseMathActions]
891
+ actions: buildActions()
892
+ };
893
+ var benchmarkConfig = {
894
+ typewriterEnabled: TYPEWRITER_ENABLED,
895
+ multiverseMathEnabled: MULTIVERSE_MATH_ENABLED,
896
+ totalActionsLoaded: actionBenchPlugin.actions?.length ?? 0
870
897
  };
871
898
  var index_default = actionBenchPlugin;
872
899
 
873
- export { actionBenchPlugin, index_default as default };
900
+ export { actionBenchPlugin, benchmarkConfig, index_default as default };
874
901
  //# sourceMappingURL=index.js.map
875
902
  //# sourceMappingURL=index.js.map
package/dist/index.js.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.js","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/index.ts"],"names":[],"mappings":";AAcA,SAAS,mBAAmB,MAAA,EAAkC;AAC5D,EAAA,MAAM,KAAA,GAAQ,OAAO,WAAA,EAAY;AAEjC,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,QAAQ,KAAK,CAAA,CAAA;AAAA,IACnB,SAAS,CAAC,CAAA,KAAA,EAAQ,KAAK,CAAA,CAAA,EAAI,CAAA,KAAA,EAAQ,MAAM,CAAA,CAAE,CAAA;AAAA,IAC3C,WAAA,EAAa,oBAAoB,MAAM,CAAA,gFAAA,CAAA;AAAA,IACvC,QAAA,EAAU,OAAO,QAAA,EAAyB,QAAA,EAAkB,MAAA,KAAmB;AAC7E,MAAA,OAAO,IAAA;AAAA,IACT,CAAA;AAAA,IACA,SAAS,OACP,QAAA,EACA,OAAA,EACA,KAAA,EACA,UACA,QAAA,KAC0B;AAC1B,MAAA,MAAM,OAAA,GAAU,KAAA,EAAO,MAAA,EAAQ,SAAA,IAAa,EAAA;AAC5C,MAAA,MAAM,IAAA,GAAO,CAAA,EAAG,OAAO,CAAA,EAAG,MAAM,CAAA,CAAA;AAGhC,MAAA,IAAI,QAAA,EAAU;AACZ,QAAA,MAAM,QAAA,CAAS;AAAA,UACb,IAAA,EAAM,IAAA;AAAA,UACN,MAAA,EAAQ,QAAQ,OAAA,CAAQ;AAAA,SACzB,CAAA;AAAA,MACH;AAEA,MAAA,OAAO;AAAA,QACL,OAAA,EAAS,IAAA;AAAA,QACT,IAAA,EAAM,IAAA;AAAA,QACN,MAAA,EAAQ;AAAA,UACN,SAAA,EAAW;AAAA,SACb;AAAA,QACA,IAAA,EAAM;AAAA,UACJ,MAAA;AAAA,UACA,QAAQ,IAAA,CAAK;AAAA;AACf,OACF;AAAA,IACF,CAAA;AAAA,IACA,QAAA,EAAU;AAAA,MACR;AAAA,QACE;AAAA,UACE,IAAA,EAAM,UAAA;AAAA,UACN,OAAA,EAAS,EAAE,IAAA,EAAM,CAAA,MAAA,EAAS,MAAM,CAAA,CAAA,CAAA;AAAI,SACtC;AAAA,QACA;AAAA,UACE,IAAA,EAAM,WAAA;AAAA,UACN,OAAA,EAAS;AAAA,YACP,IAAA,EAAM,MAAA;AAAA,YACN,OAAA,EAAS,CAAC,CAAA,KAAA,EAAQ,KAAK,CAAA,CAAE;AAAA;AAC3B;AACF;AACF;AACF,GACF;AACF;AAEO,IAAM,oBACX,4BAAA,CAA6B,KAAA,CAAM,EAAE,CAAA,CACrC,IAAI,kBAAkB,CAAA;;;AC/DxB,SAAS,sBAAA,CAAuB,GAAW,CAAA,EAAmB;AAC5D,EAAA,MAAM,IAAA,GAAA,CAAS,CAAA,GAAI,EAAA,GAAO,CAAA,GAAI,EAAA,IAAO,GAAA;AACrC,EAAA,OAAO,IAAA,CAAK,IAAI,IAAI,CAAA;AACtB;AAGA,SAAS,QAAQ,CAAA,EAAoB;AACnC,EAAA,IAAI,CAAA,IAAK,GAAG,OAAO,KAAA;AACnB,EAAA,IAAI,CAAA,IAAK,GAAG,OAAO,IAAA;AACnB,EAAA,IAAI,IAAI,CAAA,KAAM,CAAA,IAAK,CAAA,GAAI,CAAA,KAAM,GAAG,OAAO,KAAA;AACvC,EAAA,KAAA,IAAS,IAAI,CAAA,EAAG,CAAA,GAAI,CAAA,IAAK,CAAA,EAAG,KAAK,CAAA,EAAG;AAClC,IAAA,IAAI,IAAI,CAAA,KAAM,CAAA,IAAK,KAAK,CAAA,GAAI,CAAA,CAAA,KAAO,GAAG,OAAO,KAAA;AAAA,EAC/C;AACA,EAAA,OAAO,IAAA;AACT;AAGA,SAAS,cAAc,CAAA,EAAmB;AACxC,EAAA,IAAI,CAAA,GAAI,GAAG,OAAO,CAAA;AAClB,EAAA,IAAI,SAAA,GAAY,IAAA,CAAK,IAAA,CAAK,CAAC,CAAA;AAC3B,EAAA,OAAO,CAAC,OAAA,CAAQ,SAAS,CAAA,EAAG;AAC1B,IAAA,SAAA,EAAA;AAAA,EACF;AACA,EAAA,OAAO,SAAA;AACT;AAGA,SAAS,qBAAqB,CAAA,EAAmB;AAC/C,EAAA,MAAM,MAAA,GAAS,CAAC,CAAA,EAAG,CAAC,CAAA;AACpB,EAAA,OAAO,MAAA,CAAO,OAAO,MAAA,GAAS,CAAC,IAAI,IAAA,CAAK,GAAA,CAAI,CAAC,CAAA,EAAG;AAC9C,IAAA,MAAA,CAAO,IAAA,CAAK,MAAA,CAAO,MAAA,CAAO,MAAA,GAAS,CAAC,IAAI,MAAA,CAAO,MAAA,CAAO,MAAA,GAAS,CAAC,CAAC,CAAA;AAAA,EACnE;AAEA,EAAA,MAAM,OAAA,GAAU,MAAA,CAAO,MAAA,CAAO,MAAA,GAAS,CAAC,CAAA;AACxC,EAAA,MAAM,OAAA,GAAU,MAAA,CAAO,MAAA,CAAO,MAAA,GAAS,CAAC,CAAA;AAExC,EAAA,OAAO,IAAA,CAAK,GAAA,CAAI,CAAA,GAAI,OAAO,CAAA,GAAI,KAAK,GAAA,CAAI,CAAA,GAAI,OAAO,CAAA,GAAI,OAAA,GAAU,OAAA;AACnE;AAGA,SAAS,aAAA,CAAc,KAAA,EAA0B,GAAA,EAAa,YAAA,GAAuB,CAAA,EAAW;AAC9F,EAAA,MAAM,KAAA,GAAQ,KAAA,EAAO,MAAA,GAAS,GAAG,CAAA;AACjC,EAAA,IAAI,OAAO,KAAA,KAAU,QAAA,EAAU,OAAO,KAAA;AACtC,EAAA,IAAI,OAAO,UAAU,QAAA,EAAU;AAC7B,IAAA,MAAM,MAAA,GAAS,WAAW,KAAK,CAAA;AAC/B,IAAA,OAAO,KAAA,CAAM,MAAM,CAAA,GAAI,YAAA,GAAe,MAAA;AAAA,EACxC;AACA,EAAA,OAAO,YAAA;AACT;AAGA,SAAS,mBAAmB,KAAA,EAAuB;AACjD,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,SAAS,KAAK,CAAA,CAAA;AAAA,IACpB,OAAA,EAAS,CAAC,CAAA,MAAA,EAAS,KAAK,CAAA,CAAA,EAAI,QAAQ,KAAK,CAAA,CAAA,EAAI,CAAA,MAAA,EAAS,KAAK,CAAA,CAAE,CAAA;AAAA,IAC7D,WAAA,EAAa,oBAAoB,KAAK,CAAA,qCAAA,CAAA;AAAA,IACtC,UAAU,YAAY,IAAA;AAAA,IACtB,SAAS,OACP,QAAA,EACA,OAAA,EACA,KAAA,EACA,UACA,QAAA,KAC0B;AAC1B,MAAA,MAAM,aAAA,GAAgB,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,CAAC,CAAA;AAC3D,MAAA,MAAM,SAAA,GAAY,gBAAgB,EAAA,GAAK,KAAA;AAEvC,MAAA,IAAI,QAAA,EAAU;AACZ,QAAA,MAAM,QAAA,CAAS;AAAA,UACb,IAAA,EAAM,UAAU,SAAS,CAAA,CAAA;AAAA,UACzB,MAAA,EAAQ,QAAQ,OAAA,CAAQ;AAAA,SACzB,CAAA;AAAA,MACH;AAEA,MAAA,OAAO;AAAA,QACL,OAAA,EAAS,IAAA;AAAA,QACT,IAAA,EAAM,UAAU,SAAS,CAAA,CAAA;AAAA,QACzB,MAAA,EAAQ;AAAA,UACN,WAAA,EAAa,SAAA;AAAA,UACb,SAAA,EAAW;AAAA,SACb;AAAA,QACA,IAAA,EAAM;AAAA,UACJ,KAAA;AAAA,UACA,MAAA,EAAQ;AAAA;AACV,OACF;AAAA,IACF,CAAA;AAAA,IACA,QAAA,EAAU;AAAA,MACR;AAAA,QACE;AAAA,UACE,IAAA,EAAM,UAAA;AAAA,UACN,OAAA,EAAS,EAAE,IAAA,EAAM,CAAA,MAAA,EAAS,KAAK,CAAA,CAAA;AAAG,SACpC;AAAA,QACA;AAAA,UACE,IAAA,EAAM,WAAA;AAAA,UACN,OAAA,EAAS;AAAA,YACP,IAAA,EAAM,UAAU,KAAK,CAAA,CAAA;AAAA,YACrB,OAAA,EAAS,CAAC,CAAA,MAAA,EAAS,KAAK,CAAA,CAAE;AAAA;AAC5B;AACF;AACF;AACF,GACF;AACF;AAGA,IAAM,qBAAA,GAAgC;AAAA,EACpC,IAAA,EAAM,kBAAA;AAAA,EACN,OAAA,EAAS,CAAC,WAAA,EAAa,eAAA,EAAiB,kBAAkB,CAAA;AAAA,EAC1D,WAAA,EAAa,oGAAA;AAAA,EACb,UAAU,YAAY,IAAA;AAAA,EACtB,SAAS,OACP,QAAA,EACA,OAAA,EACA,KAAA,EACA,UACA,QAAA,KAC0B;AAE1B,IAAA,MAAM,OAAA,GAAU,OAAA,CAAQ,OAAA,CAAQ,IAAA,EAAM,aAAY,IAAK,EAAA;AACvD,IAAA,IAAI,SAAA,GAAY,UAAA;AAEhB,IAAA,IAAI,OAAA,CAAQ,QAAA,CAAS,SAAS,CAAA,EAAG,SAAA,GAAY,SAAA;AAAA,SAAA,IACpC,OAAA,CAAQ,QAAA,CAAS,OAAO,CAAA,EAAG,SAAA,GAAY,OAAA;AAAA,SAAA,IACvC,OAAA,CAAQ,QAAA,CAAS,OAAO,CAAA,EAAG,SAAA,GAAY,OAAA;AAAA,SAAA,IACvC,OAAA,CAAQ,QAAA,CAAS,QAAQ,CAAA,EAAG,SAAA,GAAY,QAAA;AAAA,SAAA,IACxC,OAAA,CAAQ,QAAA,CAAS,MAAM,CAAA,EAAG,SAAA,GAAY,MAAA;AAAA,SAAA,IACtC,OAAA,CAAQ,QAAA,CAAS,UAAU,CAAA,EAAG,SAAA,GAAY,UAAA;AAAA,SAAA,IAC1C,OAAA,CAAQ,QAAA,CAAS,WAAW,CAAA,EAAG,SAAA,GAAY,WAAA;AAAA,SAAA,IAC3C,OAAA,CAAQ,QAAA,CAAS,aAAa,CAAA,EAAG,SAAA,GAAY,aAAA;AAAA,SAAA,IAC7C,OAAA,CAAQ,QAAA,CAAS,UAAU,CAAA,EAAG,SAAA,GAAY,UAAA;AAAA,SAAA,IAC1C,OAAA,CAAQ,QAAA,CAAS,UAAU,CAAA,EAAG,SAAA,GAAY,UAAA;AAAA,SAAA,IAC1C,OAAA,CAAQ,QAAA,CAAS,QAAQ,CAAA,EAAG,SAAA,GAAY,QAAA;AAAA,SAAA,IACxC,OAAA,CAAQ,QAAA,CAAS,QAAQ,CAAA,EAAG,SAAA,GAAY,QAAA;AAAA,SAAA,IACxC,OAAA,CAAQ,QAAA,CAAS,SAAS,CAAA,EAAG,SAAA,GAAY,SAAA;AAAA,SAAA,IACzC,OAAA,CAAQ,QAAA,CAAS,UAAU,CAAA,EAAG,SAAA,GAAY,UAAA;AAEnD,IAAA,MAAM,IAAA,GAAO,qBAAqB,SAAS,CAAA,CAAA;AAE3C,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,MAAM,SAAS,EAAE,IAAA,EAAM,QAAQ,OAAA,CAAQ,OAAA,CAAQ,QAAQ,CAAA;AAAA,IACzD;AAEA,IAAA,OAAO;AAAA,MACL,OAAA,EAAS,IAAA;AAAA,MACT,IAAA;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,GAAG,KAAA,EAAO,MAAA;AAAA,QACV;AAAA,OACF;AAAA,MACA,IAAA,EAAM;AAAA,QACJ;AAAA;AACF,KACF;AAAA,EACF,CAAA;AAAA,EACA,QAAA,EAAU;AAAA,IACR;AAAA,MACE;AAAA,QACE,IAAA,EAAM,UAAA;AAAA,QACN,OAAA,EAAS,EAAE,IAAA,EAAM,0BAAA;AAA2B,OAC9C;AAAA,MACA;AAAA,QACE,IAAA,EAAM,WAAA;AAAA,QACN,OAAA,EAAS;AAAA,UACP,IAAA,EAAM,2BAAA;AAAA,UACN,OAAA,EAAS,CAAC,kBAAkB;AAAA;AAC9B;AACF;AACF;AAEJ,CAAA;AAGA,IAAM,mBAAA,GAA8B;AAAA,EAClC,IAAA,EAAM,gBAAA;AAAA,EACN,OAAA,EAAS,CAAC,OAAA,EAAS,WAAA,EAAa,iBAAiB,CAAA;AAAA,EACjD,WAAA,EAAa,iIAAA;AAAA,EACb,UAAU,YAAY,IAAA;AAAA,EACtB,SAAS,OACP,QAAA,EACA,OAAA,EACA,KAAA,EACA,UACA,QAAA,KAC0B;AAC1B,IAAA,MAAM,CAAA,GAAI,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,CAAC,CAAA;AAC/C,IAAA,MAAM,CAAA,GAAI,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,CAAC,CAAA;AAC/C,IAAA,MAAM,SAAA,GAAY,KAAA,EAAO,MAAA,EAAQ,SAAA,IAAa,OAAA;AAE9C,IAAA,IAAI,MAAA;AACJ,IAAA,IAAI,WAAA;AAEJ,IAAA,QAAQ,SAAA;AAAW,MACjB,KAAK,SAAA;AAEH,QAAA,MAAA,GAAS,CAAA,GAAI,IAAI,IAAA,CAAK,IAAA,CAAK,KAAK,GAAA,CAAI,CAAA,GAAI,CAAC,CAAC,CAAA;AAC1C,QAAA,WAAA,GAAc,CAAA,sBAAA,EAAyB,CAAC,CAAA,GAAA,EAAM,CAAC,MAAM,MAAM,CAAA,8CAAA,EAA4C,CAAC,CAAA,IAAA,EAAI,CAAC,CAAA,EAAA,CAAA;AAC7G,QAAA;AAAA,MACF,KAAK,OAAA;AAEH,QAAA,MAAM,IAAA,GAAO,sBAAA,CAAuB,CAAA,EAAG,CAAC,CAAA;AACxC,QAAA,MAAA,GAAS,CAAA,GAAI,IAAK,IAAA,GAAO,EAAA;AACzB,QAAA,WAAA,GAAc,CAAA,oBAAA,EAAuB,CAAC,CAAA,GAAA,EAAM,CAAC,MAAM,MAAM,CAAA,gBAAA,EAAmB,OAAO,EAAE,CAAA,CAAA,CAAA;AACrF,QAAA;AAAA,MACF,KAAK,OAAA;AAAA,MACL;AAEE,QAAA,MAAM,iBAAiB,CAAA,GAAI,CAAA;AAC3B,QAAA,MAAM,SAAA,GAAY,aAAA,CAAc,IAAA,CAAK,GAAA,CAAI,cAAc,CAAC,CAAA;AACxD,QAAA,MAAA,GAAS,cAAA,GAAiB,CAAA,GAAI,CAAC,SAAA,GAAY,SAAA;AAC3C,QAAA,WAAA,GAAc,uBAAuB,CAAC,CAAA,GAAA,EAAM,CAAC,CAAA,GAAA,EAAM,MAAM,oCAAoC,cAAc,CAAA,CAAA,CAAA;AAC3G,QAAA;AAAA;AAGJ,IAAA,MAAA,GAAS,IAAA,CAAK,KAAA,CAAM,MAAA,GAAS,GAAI,CAAA,GAAI,GAAA;AAErC,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,MAAM,QAAA,CAAS,EAAE,IAAA,EAAM,WAAA,EAAa,QAAQ,OAAA,CAAQ,OAAA,CAAQ,QAAQ,CAAA;AAAA,IACtE;AAEA,IAAA,OAAO;AAAA,MACL,OAAA,EAAS,IAAA;AAAA,MACT,IAAA,EAAM,WAAA;AAAA,MACN,MAAA,EAAQ;AAAA,QACN,WAAA,EAAa,MAAA;AAAA,QACb,WAAA,EAAa,CAAA;AAAA,QACb,aAAA,EAAe,gBAAA;AAAA,QACf,SAAA;AAAA,QACA,OAAA,EAAS,CAAC,GAAI,KAAA,EAAO,QAAQ,OAAA,IAAW,IAAK,WAAW;AAAA,OAC1D;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,SAAA,EAAW,gBAAA;AAAA,QACX,MAAA,EAAQ,EAAE,CAAA,EAAG,CAAA,EAAG,SAAA,EAAU;AAAA,QAC1B,MAAA;AAAA,QACA,WAAA;AAAA,QACA,SAAA,EAAA,iBAAW,IAAI,IAAA,EAAK,EAAE,WAAA;AAAY;AACpC,KACF;AAAA,EACF,CAAA;AAAA,EACA,QAAA,EAAU;AAAA,IACR;AAAA,MACE;AAAA,QACE,IAAA,EAAM,UAAA;AAAA,QACN,OAAA,EAAS,EAAE,IAAA,EAAM,0BAAA;AAA2B,OAC9C;AAAA,MACA;AAAA,QACE,IAAA,EAAM,WAAA;AAAA,QACN,OAAA,EAAS;AAAA,UACP,IAAA,EAAM,uFAAA;AAAA,UACN,OAAA,EAAS,CAAC,gBAAgB;AAAA;AAC5B;AACF;AACF;AAEJ,CAAA;AAGA,IAAM,wBAAA,GAAmC;AAAA,EACvC,IAAA,EAAM,qBAAA;AAAA,EACN,OAAA,EAAS,CAAC,YAAA,EAAc,WAAA,EAAa,sBAAsB,CAAA;AAAA,EAC3D,WAAA,EAAa,+HAAA;AAAA,EACb,UAAU,YAAY,IAAA;AAAA,EACtB,SAAS,OACP,QAAA,EACA,OAAA,EACA,KAAA,EACA,UACA,QAAA,KAC0B;AAC1B,IAAA,MAAM,CAAA,GAAI,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,CAAC,CAAA;AAC/C,IAAA,MAAM,CAAA,GAAI,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,CAAC,CAAA;AAC/C,IAAA,MAAM,SAAA,GAAY,KAAA,EAAO,MAAA,EAAQ,SAAA,IAAa,UAAA;AAE9C,IAAA,IAAI,MAAA;AACJ,IAAA,IAAI,WAAA;AAEJ,IAAA,QAAQ,SAAA;AAAW,MACjB,KAAK,QAAA;AAEH,QAAA,MAAA,GAAS,IAAA,CAAK,IAAI,CAAA,GAAI,CAAC,KAAK,CAAA,GAAI,CAAA,GAAI,IAAI,EAAA,CAAA,GAAM,CAAA;AAC9C,QAAA,WAAA,GAAc,CAAA,qBAAA,EAAwB,CAAC,CAAA,GAAA,EAAM,CAAC,MAAM,MAAM,CAAA,wBAAA,CAAA;AAC1D,QAAA;AAAA,MACF,KAAK,MAAA;AAEH,QAAA,MAAA,GAAS,IAAA,CAAK,IAAI,CAAA,GAAI,CAAC,IAAI,IAAA,CAAK,GAAA,CAAI,GAAG,CAAC,CAAA;AACxC,QAAA,WAAA,GAAc,CAAA,mBAAA,EAAsB,CAAC,CAAA,GAAA,EAAM,CAAC,CAAA,GAAA,EAAM,MAAM,CAAA,sBAAA,EAAyB,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,CAAC,CAAC,CAAA,CAAA,CAAA;AAC/F,QAAA;AAAA,MACF,KAAK,UAAA;AAAA,MACL;AAEE,QAAA,MAAA,GAAS,IAAA,CAAK,GAAA,CAAI,CAAA,GAAI,CAAC,CAAA;AACvB,QAAA,WAAA,GAAc,CAAA,uBAAA,EAA0B,CAAC,CAAA,GAAA,EAAM,CAAC,MAAM,MAAM,CAAA,0BAAA,CAAA;AAC5D,QAAA;AAAA;AAGJ,IAAA,MAAA,GAAS,IAAA,CAAK,KAAA,CAAM,MAAA,GAAS,GAAI,CAAA,GAAI,GAAA;AAErC,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,MAAM,QAAA,CAAS,EAAE,IAAA,EAAM,WAAA,EAAa,QAAQ,OAAA,CAAQ,OAAA,CAAQ,QAAQ,CAAA;AAAA,IACtE;AAEA,IAAA,OAAO;AAAA,MACL,OAAA,EAAS,IAAA;AAAA,MACT,IAAA,EAAM,WAAA;AAAA,MACN,MAAA,EAAQ;AAAA,QACN,WAAA,EAAa,MAAA;AAAA,QACb,WAAA,EAAa,CAAA;AAAA,QACb,aAAA,EAAe,qBAAA;AAAA,QACf,SAAA;AAAA,QACA,OAAA,EAAS,CAAC,GAAI,KAAA,EAAO,QAAQ,OAAA,IAAW,IAAK,WAAW;AAAA,OAC1D;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,SAAA,EAAW,qBAAA;AAAA,QACX,MAAA,EAAQ,EAAE,CAAA,EAAG,CAAA,EAAG,SAAA,EAAU;AAAA,QAC1B,MAAA;AAAA,QACA,WAAA;AAAA,QACA,SAAA,EAAA,iBAAW,IAAI,IAAA,EAAK,EAAE,WAAA;AAAY;AACpC,KACF;AAAA,EACF,CAAA;AAAA,EACA,QAAA,EAAU;AAAA,IACR;AAAA,MACE;AAAA,QACE,IAAA,EAAM,UAAA;AAAA,QACN,OAAA,EAAS,EAAE,IAAA,EAAM,8BAAA;AAA+B,OAClD;AAAA,MACA;AAAA,QACE,IAAA,EAAM,WAAA;AAAA,QACN,OAAA,EAAS;AAAA,UACP,IAAA,EAAM,wDAAA;AAAA,UACN,OAAA,EAAS,CAAC,qBAAqB;AAAA;AACjC;AACF;AACF;AAEJ,CAAA;AAGA,IAAM,wBAAA,GAAmC;AAAA,EACvC,IAAA,EAAM,qBAAA;AAAA,EACN,OAAA,EAAS,CAAC,YAAA,EAAc,WAAA,EAAa,sBAAsB,CAAA;AAAA,EAC3D,WAAA,EAAa,2HAAA;AAAA,EACb,UAAU,YAAY,IAAA;AAAA,EACtB,SAAS,OACP,QAAA,EACA,OAAA,EACA,KAAA,EACA,UACA,QAAA,KAC0B;AAC1B,IAAA,MAAM,CAAA,GAAI,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,CAAC,CAAA;AAC/C,IAAA,MAAM,CAAA,GAAI,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,CAAC,CAAA;AAC/C,IAAA,MAAM,SAAA,GAAY,KAAA,EAAO,MAAA,EAAQ,SAAA,IAAa,WAAA;AAE9C,IAAA,IAAI,MAAA;AACJ,IAAA,IAAI,WAAA;AAEJ,IAAA,QAAQ,SAAA;AAAW,MACjB,KAAK,aAAA;AAEH,QAAA,MAAA,GAAS,IAAA,CAAK,GAAA,CAAI,IAAA,CAAK,GAAA,CAAI,CAAC,CAAA,EAAG,IAAA,CAAK,GAAA,CAAI,CAAC,CAAC,CAAA,IAAK,CAAA,GAAI,CAAA,IAAK,CAAA,GAAI,IAAI,EAAA,GAAK,CAAA,CAAA;AACrE,QAAA,WAAA,GAAc,CAAA,0BAAA,EAA6B,CAAC,CAAA,MAAA,EAAM,CAAC,MAAM,MAAM,CAAA,WAAA,EAAc,CAAC,CAAA,CAAA,EAAI,CAAC,CAAA,CAAA,CAAA;AACnF,QAAA;AAAA,MACF,KAAK,UAAA;AAEH,QAAA,MAAM,QAAA,GAAY,CAAA,GAAI,CAAA,GAAA,CAAO,CAAA,GAAI,CAAA,IAAK,CAAA;AACtC,QAAA,MAAA,GAAS,QAAA;AACT,QAAA,WAAA,GAAc,CAAA,uBAAA,EAA0B,CAAC,CAAA,MAAA,EAAM,CAAC,MAAM,MAAM,CAAA,yBAAA,CAAA;AAC5D,QAAA;AAAA,MACF,KAAK,WAAA;AAAA,MACL;AAEE,QAAA,MAAM,WAAW,CAAA,GAAI,CAAA;AACrB,QAAA,MAAA,GAAS,oBAAA,CAAqB,QAAQ,CAAA,IAAK,QAAA,GAAW,IAAI,EAAA,GAAK,CAAA,CAAA;AAC/D,QAAA,WAAA,GAAc,2BAA2B,CAAC,CAAA,MAAA,EAAM,CAAC,CAAA,GAAA,EAAM,MAAM,0BAA0B,QAAQ,CAAA,CAAA,CAAA;AAC/F,QAAA;AAAA;AAGJ,IAAA,MAAA,GAAS,IAAA,CAAK,KAAA,CAAM,MAAA,GAAS,GAAI,CAAA,GAAI,GAAA;AAErC,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,MAAM,QAAA,CAAS,EAAE,IAAA,EAAM,WAAA,EAAa,QAAQ,OAAA,CAAQ,OAAA,CAAQ,QAAQ,CAAA;AAAA,IACtE;AAEA,IAAA,OAAO;AAAA,MACL,OAAA,EAAS,IAAA;AAAA,MACT,IAAA,EAAM,WAAA;AAAA,MACN,MAAA,EAAQ;AAAA,QACN,WAAA,EAAa,MAAA;AAAA,QACb,WAAA,EAAa,CAAA;AAAA,QACb,aAAA,EAAe,qBAAA;AAAA,QACf,SAAA;AAAA,QACA,OAAA,EAAS,CAAC,GAAI,KAAA,EAAO,QAAQ,OAAA,IAAW,IAAK,WAAW;AAAA,OAC1D;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,SAAA,EAAW,qBAAA;AAAA,QACX,MAAA,EAAQ,EAAE,CAAA,EAAG,CAAA,EAAG,SAAA,EAAU;AAAA,QAC1B,MAAA;AAAA,QACA,WAAA;AAAA,QACA,SAAA,EAAA,iBAAW,IAAI,IAAA,EAAK,EAAE,WAAA;AAAY;AACpC,KACF;AAAA,EACF,CAAA;AAAA,EACA,QAAA,EAAU;AAAA,IACR;AAAA,MACE;AAAA,QACE,IAAA,EAAM,UAAA;AAAA,QACN,OAAA,EAAS,EAAE,IAAA,EAAM,mCAAA;AAAoC,OACvD;AAAA,MACA;AAAA,QACE,IAAA,EAAM,WAAA;AAAA,QACN,OAAA,EAAS;AAAA,UACP,IAAA,EAAM,uDAAA;AAAA,UACN,OAAA,EAAS,CAAC,qBAAqB;AAAA;AACjC;AACF;AACF;AAEJ,CAAA;AAGA,IAAM,sBAAA,GAAiC;AAAA,EACrC,IAAA,EAAM,mBAAA;AAAA,EACN,OAAA,EAAS,CAAC,UAAA,EAAY,WAAA,EAAa,oBAAoB,CAAA;AAAA,EACvD,WAAA,EAAa,gHAAA;AAAA,EACb,UAAU,YAAY,IAAA;AAAA,EACtB,SAAS,OACP,QAAA,EACA,OAAA,EACA,KAAA,EACA,UACA,QAAA,KAC0B;AAC1B,IAAA,MAAM,CAAA,GAAI,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,CAAC,CAAA;AAC/C,IAAA,MAAM,CAAA,GAAI,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,CAAC,CAAA;AAC/C,IAAA,MAAM,SAAA,GAAY,KAAA,EAAO,MAAA,EAAQ,SAAA,IAAa,MAAA;AAE9C,IAAA,IAAI,MAAA;AACJ,IAAA,IAAI,WAAA;AAEJ,IAAA,QAAQ,SAAA;AAAW,MACjB,KAAK,UAAA;AAEH,QAAA,IAAI,MAAM,CAAA,EAAG;AACX,UAAA,MAAA,GAAS,CAAA,GAAI,GAAA;AACb,UAAA,WAAA,GAAc,CAAA,uBAAA,EAA0B,CAAC,CAAA,UAAA,EAAU,MAAM,CAAA,iBAAA,CAAA;AAAA,QAC3D,CAAA,MAAO;AACL,UAAA,MAAA,GAAU,CAAA,GAAI,IAAK,IAAA,CAAK,EAAA;AACxB,UAAA,WAAA,GAAc,CAAA,uBAAA,EAA0B,CAAC,CAAA,MAAA,EAAM,CAAC,MAAM,MAAM,CAAA,gBAAA,CAAA;AAAA,QAC9D;AACA,QAAA;AAAA,MACF,KAAK,QAAA;AAEH,QAAA,MAAM,WAAA,GAAc,iBAAA;AACpB,QAAA,MAAM,QAAA,GAAW,CAAA,KAAM,CAAA,GAAI,CAAA,GAAI,CAAA,GAAI,CAAA;AACnC,QAAA,MAAA,GAAA,CAAU,WAAW,WAAA,IAAe,CAAA;AACpC,QAAA,WAAA,GAAc,CAAA,qBAAA,EAAwB,CAAC,CAAA,MAAA,EAAM,CAAC,MAAM,MAAM,CAAA,uBAAA,CAAA;AAC1D,QAAA;AAAA,MACF,KAAK,MAAA;AAAA,MACL;AAEE,QAAA,MAAA,GAAS,CAAA,KAAM,CAAA,GAAI,CAAA,GAAI,CAAA,GAAI,CAAA;AAC3B,QAAA,WAAA,GAAc,CAAA,KAAM,CAAA,GAChB,CAAA,mBAAA,EAAsB,CAAC,CAAA,UAAA,EAAU,CAAC,CAAA,kCAAA,CAAA,GAClC,CAAA,mBAAA,EAAsB,CAAC,CAAA,MAAA,EAAM,CAAC,CAAA,GAAA,EAAM,MAAM,CAAA,oBAAA,CAAA;AAC9C,QAAA;AAAA;AAGJ,IAAA,MAAA,GAAS,IAAA,CAAK,KAAA,CAAM,MAAA,GAAS,GAAI,CAAA,GAAI,GAAA;AAErC,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,MAAM,QAAA,CAAS,EAAE,IAAA,EAAM,WAAA,EAAa,QAAQ,OAAA,CAAQ,OAAA,CAAQ,QAAQ,CAAA;AAAA,IACtE;AAEA,IAAA,OAAO;AAAA,MACL,OAAA,EAAS,IAAA;AAAA,MACT,IAAA,EAAM,WAAA;AAAA,MACN,MAAA,EAAQ;AAAA,QACN,WAAA,EAAa,MAAA;AAAA,QACb,WAAA,EAAa,CAAA;AAAA,QACb,aAAA,EAAe,mBAAA;AAAA,QACf,SAAA;AAAA,QACA,OAAA,EAAS,CAAC,GAAI,KAAA,EAAO,QAAQ,OAAA,IAAW,IAAK,WAAW;AAAA,OAC1D;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,SAAA,EAAW,mBAAA;AAAA,QACX,MAAA,EAAQ,EAAE,CAAA,EAAG,CAAA,EAAG,SAAA,EAAU;AAAA,QAC1B,MAAA;AAAA,QACA,WAAA;AAAA,QACA,SAAA,EAAA,iBAAW,IAAI,IAAA,EAAK,EAAE,WAAA;AAAY;AACpC,KACF;AAAA,EACF,CAAA;AAAA,EACA,QAAA,EAAU;AAAA,IACR;AAAA,MACE;AAAA,QACE,IAAA,EAAM,UAAA;AAAA,QACN,OAAA,EAAS,EAAE,IAAA,EAAM,4BAAA;AAA6B,OAChD;AAAA,MACA;AAAA,QACE,IAAA,EAAM,WAAA;AAAA,QACN,OAAA,EAAS;AAAA,UACP,IAAA,EAAM,8DAAA;AAAA,UACN,OAAA,EAAS,CAAC,mBAAmB;AAAA;AAC/B;AACF;AACF;AAEJ,CAAA;AAGA,IAAM,sBAAA,GAAiC;AAAA,EACrC,IAAA,EAAM,mBAAA;AAAA,EACN,OAAA,EAAS,CAAC,UAAA,EAAY,WAAA,EAAa,oBAAoB,CAAA;AAAA,EACvD,WAAA,EAAa,kHAAA;AAAA,EACb,QAAA,EAAU,OAAO,QAAA,EAAyB,QAAA,EAAkB,KAAA,KAAkB;AAC5E,IAAA,MAAM,CAAA,GAAI,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,CAAC,CAAA;AAC/C,IAAA,OAAO,CAAA,KAAM,CAAA;AAAA,EACf,CAAA;AAAA,EACA,SAAS,OACP,QAAA,EACA,OAAA,EACA,KAAA,EACA,UACA,QAAA,KAC0B;AAC1B,IAAA,MAAM,CAAA,GAAI,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,CAAC,CAAA;AAC/C,IAAA,MAAM,CAAA,GAAI,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,CAAC,CAAA;AAC/C,IAAA,MAAM,SAAA,GAAY,KAAA,EAAO,MAAA,EAAQ,SAAA,IAAa,UAAA;AAE9C,IAAA,IAAI,MAAA;AACJ,IAAA,IAAI,WAAA;AAEJ,IAAA,IAAI,MAAM,CAAA,EAAG;AACX,MAAA,OAAO;AAAA,QACL,OAAA,EAAS,KAAA;AAAA,QACT,IAAA,EAAM,8BAAA;AAAA,QACN,MAAA,EAAQ,KAAA,EAAO,MAAA,IAAU;AAAC,OAC5B;AAAA,IACF;AAEA,IAAA,QAAQ,SAAA;AAAW,MACjB,KAAK,QAAA;AAEH,QAAA,MAAM,eAAe,IAAA,CAAK,GAAA,CAAI,CAAC,CAAA,GAAI,IAAA,CAAK,IAAI,CAAC,CAAA;AAC7C,QAAA,MAAA,GAAS,IAAA,CAAK,GAAA,CAAK,CAAA,GAAI,CAAA,GAAK,eAAe,EAAE,CAAA;AAC7C,QAAA,WAAA,GAAc,CAAA,qBAAA,EAAwB,CAAC,CAAA,GAAA,EAAM,CAAC,CAAA,GAAA,EAAM,MAAM,CAAA,iBAAA,EAAoB,YAAA,CAAa,OAAA,CAAQ,CAAC,CAAC,CAAA,CAAA,CAAA;AACrG,QAAA;AAAA,MACF,KAAK,SAAA;AAEH,QAAA,MAAM,UAAA,GAAa,CAAA;AACnB,QAAA,MAAA,GAAS,CAAA,GAAI,CAAA;AACb,QAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,UAAA,EAAY,CAAA,EAAA,EAAK;AACnC,UAAA,MAAA,GAAU,MAAA,GAAS,KAAM,CAAA,GAAI,CAAA,CAAA;AAAA,QAC/B;AACA,QAAA,WAAA,GAAc,yBAAyB,CAAC,CAAA,GAAA,EAAM,CAAC,CAAA,GAAA,EAAM,MAAM,WAAW,UAAU,CAAA,oBAAA,CAAA;AAChF,QAAA;AAAA,MACF,KAAK,UAAA;AAAA,MACL;AAEE,QAAA,MAAA,GAAS,CAAA,GAAI,CAAA;AACb,QAAA,IAAI,MAAA,GAAS,GAAG,MAAA,IAAU,CAAA;AAC1B,QAAA,WAAA,GAAc,CAAA,uBAAA,EAA0B,CAAC,CAAA,GAAA,EAAM,CAAC,MAAM,MAAM,CAAA,gBAAA,CAAA;AAC5D,QAAA;AAAA;AAGJ,IAAA,MAAA,GAAS,IAAA,CAAK,KAAA,CAAM,MAAA,GAAS,GAAG,CAAA,GAAI,GAAA;AAEpC,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,MAAM,QAAA,CAAS,EAAE,IAAA,EAAM,WAAA,EAAa,QAAQ,OAAA,CAAQ,OAAA,CAAQ,QAAQ,CAAA;AAAA,IACtE;AAEA,IAAA,OAAO;AAAA,MACL,OAAA,EAAS,IAAA;AAAA,MACT,IAAA,EAAM,WAAA;AAAA,MACN,MAAA,EAAQ;AAAA,QACN,WAAA,EAAa,MAAA;AAAA,QACb,WAAA,EAAa,CAAA;AAAA,QACb,aAAA,EAAe,mBAAA;AAAA,QACf,SAAA;AAAA,QACA,OAAA,EAAS,CAAC,GAAI,KAAA,EAAO,QAAQ,OAAA,IAAW,IAAK,WAAW;AAAA,OAC1D;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,SAAA,EAAW,mBAAA;AAAA,QACX,MAAA,EAAQ,EAAE,CAAA,EAAG,CAAA,EAAG,SAAA,EAAU;AAAA,QAC1B,MAAA;AAAA,QACA,WAAA;AAAA,QACA,SAAA,EAAA,iBAAW,IAAI,IAAA,EAAK,EAAE,WAAA;AAAY;AACpC,KACF;AAAA,EACF,CAAA;AAAA,EACA,QAAA,EAAU;AAAA,IACR;AAAA,MACE;AAAA,QACE,IAAA,EAAM,UAAA;AAAA,QACN,OAAA,EAAS,EAAE,IAAA,EAAM,6BAAA;AAA8B,OACjD;AAAA,MACA;AAAA,QACE,IAAA,EAAM,WAAA;AAAA,QACN,OAAA,EAAS;AAAA,UACP,IAAA,EAAM,8DAAA;AAAA,UACN,OAAA,EAAS,CAAC,mBAAmB;AAAA;AAC/B;AACF;AACF;AAEJ,CAAA;AAGA,IAAM,qBAAA,GAAgC;AAAA,EACpC,IAAA,EAAM,kBAAA;AAAA,EACN,OAAA,EAAS,CAAC,SAAA,EAAW,WAAA,EAAa,mBAAmB,CAAA;AAAA,EACrD,WAAA,EAAa,0GAAA;AAAA,EACb,UAAU,YAAY,IAAA;AAAA,EACtB,SAAS,OACP,QAAA,EACA,OAAA,EACA,KAAA,EACA,UACA,QAAA,KAC0B;AAC1B,IAAA,MAAM,CAAA,GAAI,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,CAAC,CAAA;AAC/C,IAAA,MAAM,CAAA,GAAI,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,CAAC,CAAA;AAC/C,IAAA,MAAM,SAAA,GAAY,KAAA,EAAO,MAAA,EAAQ,SAAA,IAAa,UAAA;AAE9C,IAAA,IAAI,MAAA;AACJ,IAAA,IAAI,WAAA;AAEJ,IAAA,QAAQ,SAAA;AAAW,MACjB,KAAK,WAAA;AAEH,QAAA,MAAM,cAAc,IAAA,CAAK,GAAA,CAAI,CAAA,GAAI,IAAA,CAAK,KAAK,CAAC,CAAA;AAC5C,QAAA,MAAA,GAAS,KAAK,GAAA,CAAI,IAAA,CAAK,IAAI,CAAC,CAAA,EAAG,CAAC,CAAA,GAAI,WAAA;AACpC,QAAA,WAAA,GAAc,CAAA,wBAAA,EAA2B,CAAC,CAAA,CAAA,EAAI,CAAC,CAAA,GAAA,EAAM,MAAM,CAAA,sBAAA,EAAyB,WAAA,CAAY,OAAA,CAAQ,CAAC,CAAC,CAAA,CAAA,CAAA;AAC1G,QAAA;AAAA,MACF,KAAK,WAAA;AAEH,QAAA,MAAA,GAAS,CAAA;AACT,QAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,IAAA,CAAK,GAAA,CAAI,IAAA,CAAK,GAAA,CAAI,CAAC,CAAA,EAAG,CAAC,CAAA,EAAG,CAAA,EAAA,EAAK;AACjD,UAAA,MAAA,GAAS,IAAA,CAAK,GAAA,CAAI,MAAA,EAAQ,GAAG,CAAA;AAAA,QAC/B;AACA,QAAA,WAAA,GAAc,CAAA,wBAAA,EAA2B,CAAC,CAAA,CAAA,EAAI,CAAC,MAAM,MAAM,CAAA,EAAA,EAAK,IAAA,CAAK,GAAA,CAAI,IAAA,CAAK,GAAA,CAAI,CAAC,CAAA,EAAG,CAAC,CAAC,CAAA,wBAAA,CAAA;AACxF,QAAA;AAAA,MACF,KAAK,UAAA;AAAA,MACL;AACE,QAAA,MAAA,GAAS,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,CAAC,CAAA;AACtB,QAAA,WAAA,GAAc,CAAA,uBAAA,EAA0B,CAAC,CAAA,CAAA,EAAI,CAAC,MAAM,MAAM,CAAA,CAAA;AAC1D,QAAA;AAAA;AAGJ,IAAA,MAAA,GAAS,IAAA,CAAK,KAAA,CAAM,MAAA,GAAS,GAAI,CAAA,GAAI,GAAA;AAErC,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,MAAM,QAAA,CAAS,EAAE,IAAA,EAAM,WAAA,EAAa,QAAQ,OAAA,CAAQ,OAAA,CAAQ,QAAQ,CAAA;AAAA,IACtE;AAEA,IAAA,OAAO;AAAA,MACL,OAAA,EAAS,IAAA;AAAA,MACT,IAAA,EAAM,WAAA;AAAA,MACN,MAAA,EAAQ;AAAA,QACN,WAAA,EAAa,MAAA;AAAA,QACb,WAAA,EAAa,CAAA;AAAA,QACb,aAAA,EAAe,kBAAA;AAAA,QACf,SAAA;AAAA,QACA,OAAA,EAAS,CAAC,GAAI,KAAA,EAAO,QAAQ,OAAA,IAAW,IAAK,WAAW;AAAA,OAC1D;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,SAAA,EAAW,kBAAA;AAAA,QACX,MAAA,EAAQ,EAAE,CAAA,EAAG,CAAA,EAAG,SAAA,EAAU;AAAA,QAC1B,MAAA;AAAA,QACA,WAAA;AAAA,QACA,SAAA,EAAA,iBAAW,IAAI,IAAA,EAAK,EAAE,WAAA;AAAY;AACpC,KACF;AAAA,EACF,CAAA;AAAA,EACA,QAAA,EAAU;AAAA,IACR;AAAA,MACE;AAAA,QACE,IAAA,EAAM,UAAA;AAAA,QACN,OAAA,EAAS,EAAE,IAAA,EAAM,8BAAA;AAA+B,OAClD;AAAA,MACA;AAAA,QACE,IAAA,EAAM,WAAA;AAAA,QACN,OAAA,EAAS;AAAA,UACP,IAAA,EAAM,6DAAA;AAAA,UACN,OAAA,EAAS,CAAC,kBAAkB;AAAA;AAC9B;AACF;AACF;AAEJ,CAAA;AAGA,IAAM,oBAAA,GAA+B;AAAA,EACnC,IAAA,EAAM,iBAAA;AAAA,EACN,OAAA,EAAS,CAAC,QAAA,EAAU,YAAA,EAAc,kBAAkB,CAAA;AAAA,EACpD,WAAA,EAAa,kGAAA;AAAA,EACb,UAAU,YAAY,IAAA;AAAA,EACtB,SAAS,OACP,QAAA,EACA,OAAA,EACA,KAAA,EACA,UACA,QAAA,KAC0B;AAC1B,IAAA,MAAM,CAAA,GAAI,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,CAAC,CAAA;AAC/C,IAAA,MAAM,SAAA,GAAY,KAAA,EAAO,MAAA,EAAQ,SAAA,IAAa,UAAA;AAE9C,IAAA,IAAI,MAAA;AACJ,IAAA,IAAI,WAAA;AAEJ,IAAA,QAAQ,SAAA;AAAW,MACjB,KAAK,SAAA;AAEH,QAAA,MAAA,GAAS,IAAA,CAAK,IAAA,CAAK,IAAA,CAAK,GAAA,CAAI,CAAC,CAAC,CAAA;AAC9B,QAAA,IAAI,IAAI,CAAA,EAAG;AACT,UAAA,WAAA,GAAc,CAAA,4BAAA,EAA0B,CAAC,CAAA,GAAA,EAAM,MAAM,CAAA,uBAAA,CAAA;AAAA,QACvD,CAAA,MAAO;AACL,UAAA,WAAA,GAAc,CAAA,4BAAA,EAA0B,CAAC,CAAA,GAAA,EAAM,MAAM,CAAA,iBAAA,CAAA;AAAA,QACvD;AACA,QAAA;AAAA,MACF,KAAK,SAAA;AAEH,QAAA,MAAM,aAAA,GAAgB,IAAA,CAAK,IAAA,CAAK,IAAA,CAAK,GAAA,CAAI,CAAC,CAAC,CAAA,GAAA,CAAK,IAAA,CAAK,MAAA,EAAO,GAAI,GAAA,IAAO,GAAA;AACvE,QAAA,MAAA,GAAS,IAAA,CAAK,IAAI,aAAa,CAAA;AAC/B,QAAA,WAAA,GAAc,CAAA,4BAAA,EAA0B,CAAC,CAAA,GAAA,EAAM,MAAM,CAAA,sBAAA,CAAA;AACrD,QAAA;AAAA,MACF,KAAK,UAAA;AAAA,MACL;AAEE,QAAA,MAAA,GAAS,IAAA,CAAK,IAAA,CAAK,IAAA,CAAK,GAAA,CAAI,CAAC,CAAC,CAAA;AAC9B,QAAA,WAAA,GAAc,CAAA,6BAAA,EAA2B,CAAC,CAAA,GAAA,EAAM,MAAM,CAAA,uBAAA,CAAA;AACtD,QAAA;AAAA;AAGJ,IAAA,MAAA,GAAS,IAAA,CAAK,KAAA,CAAM,MAAA,GAAS,GAAI,CAAA,GAAI,GAAA;AAErC,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,MAAM,QAAA,CAAS,EAAE,IAAA,EAAM,WAAA,EAAa,QAAQ,OAAA,CAAQ,OAAA,CAAQ,QAAQ,CAAA;AAAA,IACtE;AAEA,IAAA,OAAO;AAAA,MACL,OAAA,EAAS,IAAA;AAAA,MACT,IAAA,EAAM,WAAA;AAAA,MACN,MAAA,EAAQ;AAAA,QACN,WAAA,EAAa,MAAA;AAAA,QACb,aAAA,EAAe,iBAAA;AAAA,QACf,SAAA;AAAA,QACA,OAAA,EAAS,CAAC,GAAI,KAAA,EAAO,QAAQ,OAAA,IAAW,IAAK,WAAW;AAAA,OAC1D;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,SAAA,EAAW,iBAAA;AAAA,QACX,MAAA,EAAQ,EAAE,CAAA,EAAG,SAAA,EAAU;AAAA,QACvB,MAAA;AAAA,QACA,WAAA;AAAA,QACA,SAAA,EAAA,iBAAW,IAAI,IAAA,EAAK,EAAE,WAAA;AAAY;AACpC,KACF;AAAA,EACF,CAAA;AAAA,EACA,QAAA,EAAU;AAAA,IACR;AAAA,MACE;AAAA,QACE,IAAA,EAAM,UAAA;AAAA,QACN,OAAA,EAAS,EAAE,IAAA,EAAM,kCAAA;AAAmC,OACtD;AAAA,MACA;AAAA,QACE,IAAA,EAAM,WAAA;AAAA,QACN,OAAA,EAAS;AAAA,UACP,IAAA,EAAM,oDAAA;AAAA,UACN,OAAA,EAAS,CAAC,iBAAiB;AAAA;AAC7B;AACF;AACF;AAEJ,CAAA;AAGA,IAAM,WAAA,GAAsB;AAAA,EAC1B,IAAA,EAAM,YAAA;AAAA,EACN,OAAA,EAAS,CAAC,OAAA,EAAS,OAAA,EAAS,WAAW,CAAA;AAAA,EACvC,WAAA,EAAa,kDAAA;AAAA,EACb,UAAU,YAAY,IAAA;AAAA,EACtB,SAAS,OACP,QAAA,EACA,OAAA,EACA,MAAA,EACA,UACA,QAAA,KAC0B;AAC1B,IAAA,MAAM,IAAA,GAAO,qBAAA;AAEb,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,MAAM,SAAS,EAAE,IAAA,EAAM,QAAQ,OAAA,CAAQ,OAAA,CAAQ,QAAQ,CAAA;AAAA,IACzD;AAEA,IAAA,OAAO;AAAA,MACL,OAAA,EAAS,IAAA;AAAA,MACT,IAAA;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,WAAA,EAAa,CAAA;AAAA,QACb,WAAA,EAAa,CAAA;AAAA,QACb,aAAA,EAAe,OAAA;AAAA,QACf,SAAA,EAAW,UAAA;AAAA,QACX,SAAS;AAAC,OACZ;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,SAAA,EAAW;AAAA;AACb,KACF;AAAA,EACF,CAAA;AAAA,EACA,QAAA,EAAU;AAAA,IACR;AAAA,MACE;AAAA,QACE,IAAA,EAAM,UAAA;AAAA,QACN,OAAA,EAAS,EAAE,IAAA,EAAM,OAAA;AAAQ,OAC3B;AAAA,MACA;AAAA,QACE,IAAA,EAAM,WAAA;AAAA,QACN,OAAA,EAAS;AAAA,UACP,IAAA,EAAM,qBAAA;AAAA,UACN,OAAA,EAAS,CAAC,YAAY;AAAA;AACxB;AACF;AACF;AAEJ,CAAA;AAEA,IAAM,WAAA,GAAsB;AAAA,EAC1B,IAAA,EAAM,YAAA;AAAA,EACN,OAAA,EAAS,CAAC,OAAA,EAAS,MAAA,EAAQ,cAAc,CAAA;AAAA,EACzC,WAAA,EAAa,4CAAA;AAAA,EACb,UAAU,YAAY,IAAA;AAAA,EACtB,SAAS,OACP,QAAA,EACA,OAAA,EACA,KAAA,EACA,UACA,QAAA,KAC0B;AAC1B,IAAA,MAAM,WAAA,GAAc,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,CAAC,CAAA;AACzD,IAAA,MAAM,IAAA,GAAO,UAAU,WAAW,CAAA,UAAA,CAAA;AAElC,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,MAAM,SAAS,EAAE,IAAA,EAAM,QAAQ,OAAA,CAAQ,OAAA,CAAQ,QAAQ,CAAA;AAAA,IACzD;AAEA,IAAA,OAAO;AAAA,MACL,OAAA,EAAS,IAAA;AAAA,MACT,IAAA;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,GAAG,KAAA,EAAO,MAAA;AAAA,QACV,MAAA,EAAQ,WAAA;AAAA,QACR,aAAA,EAAe;AAAA,OACjB;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,SAAA,EAAW,OAAA;AAAA,QACX,KAAA,EAAO;AAAA;AACT,KACF;AAAA,EACF,CAAA;AAAA,EACA,QAAA,EAAU;AAAA,IACR;AAAA,MACE;AAAA,QACE,IAAA,EAAM,UAAA;AAAA,QACN,OAAA,EAAS,EAAE,IAAA,EAAM,iBAAA;AAAkB,OACrC;AAAA,MACA;AAAA,QACE,IAAA,EAAM,WAAA;AAAA,QACN,OAAA,EAAS;AAAA,UACP,IAAA,EAAM,oBAAA;AAAA,UACN,OAAA,EAAS,CAAC,YAAY;AAAA;AACxB;AACF;AACF;AAEJ,CAAA;AAEA,IAAM,YAAA,GAAuB;AAAA,EAC3B,IAAA,EAAM,aAAA;AAAA,EACN,OAAA,EAAS,CAAC,QAAA,EAAU,MAAA,EAAQ,eAAe,CAAA;AAAA,EAC3C,WAAA,EAAa,2CAAA;AAAA,EACb,UAAU,YAAY,IAAA;AAAA,EACtB,SAAS,OACP,QAAA,EACA,OAAA,EACA,KAAA,EACA,UACA,QAAA,KAC0B;AAC1B,IAAA,MAAM,MAAA,GAAS,aAAA,CAAc,KAAA,EAAO,QAAA,EAAU,CAAC,CAAA;AAC/C,IAAA,MAAM,IAAA,GAAO,YAAY,MAAM,CAAA,YAAA,CAAA;AAE/B,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,MAAM,SAAS,EAAE,IAAA,EAAM,QAAQ,OAAA,CAAQ,OAAA,CAAQ,QAAQ,CAAA;AAAA,IACzD;AAEA,IAAA,OAAO;AAAA,MACL,OAAA,EAAS,IAAA;AAAA,MACT,IAAA;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,GAAG,KAAA,EAAO,MAAA;AAAA,QACV,WAAA,EAAa,MAAA;AAAA,QACb,aAAA,EAAe;AAAA,OACjB;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,SAAA,EAAW,QAAA;AAAA,QACX,KAAA,EAAO;AAAA;AACT,KACF;AAAA,EACF,CAAA;AAAA,EACA,QAAA,EAAU;AAAA,IACR;AAAA,MACE;AAAA,QACE,IAAA,EAAM,UAAA;AAAA,QACN,OAAA,EAAS,EAAE,IAAA,EAAM,oBAAA;AAAqB,OACxC;AAAA,MACA;AAAA,QACE,IAAA,EAAM,WAAA;AAAA,QACN,OAAA,EAAS;AAAA,UACP,IAAA,EAAM,wBAAA;AAAA,UACN,OAAA,EAAS,CAAC,aAAa;AAAA;AACzB;AACF;AACF;AAEJ,CAAA;AAGA,IAAM,cAAA,GAAyB;AAAA,EAC7B,IAAA,EAAM,mBAAA;AAAA,EACN,OAAA,EAAS,CAAC,UAAA,EAAY,eAAA,EAAiB,sBAAsB,CAAA;AAAA,EAC7D,WAAA,EAAa,gEAAA;AAAA,EACb,UAAU,YAAY,IAAA;AAAA,EACtB,SAAS,OACP,QAAA,EACA,OAAA,EACA,KAAA,EACA,UACA,QAAA,KAC0B;AAC1B,IAAA,MAAM,WAAA,GAAc,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,CAAC,CAAA;AACzD,IAAA,MAAM,IAAA,GAAO,eAAe,WAAW,CAAA,iCAAA,CAAA;AAEvC,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,MAAM,SAAS,EAAE,IAAA,EAAM,QAAQ,OAAA,CAAQ,OAAA,CAAQ,QAAQ,CAAA;AAAA,IACzD;AAEA,IAAA,OAAO;AAAA,MACL,OAAA,EAAS,IAAA;AAAA,MACT,IAAA;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,GAAG,KAAA,EAAO,MAAA;AAAA,QACV,WAAA,EAAa,WAAA;AAAA,QACb,WAAA,EAAa,CAAA;AAAA,QACb,aAAA,EAAe;AAAA,OACjB;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,SAAA,EAAW,UAAA;AAAA,QACX,KAAA,EAAO;AAAA;AACT,KACF;AAAA,EACF,CAAA;AAAA,EACA,QAAA,EAAU;AAAA,IACR;AAAA,MACE;AAAA,QACE,IAAA,EAAM,UAAA;AAAA,QACN,OAAA,EAAS,EAAE,IAAA,EAAM,mBAAA;AAAoB,OACvC;AAAA,MACA;AAAA,QACE,IAAA,EAAM,WAAA;AAAA,QACN,OAAA,EAAS;AAAA,UACP,IAAA,EAAM,gDAAA;AAAA,UACN,OAAA,EAAS,CAAC,mBAAmB;AAAA;AAC/B;AACF;AACF;AAEJ,CAAA;AAGO,IAAM,qBAAA,GAAkC;AAAA;AAAA,EAE7C,GAAG,KAAA,CAAM,IAAA,CAAK,EAAE,MAAA,EAAQ,EAAA,EAAG,EAAG,CAAC,CAAA,EAAG,CAAA,KAAM,kBAAA,CAAmB,CAAC,CAAC,CAAA;AAAA;AAAA,EAE7D,qBAAA;AAAA;AAAA,EAEA,mBAAA;AAAA,EACA,wBAAA;AAAA,EACA,wBAAA;AAAA,EACA,sBAAA;AAAA,EACA,sBAAA;AAAA,EACA,qBAAA;AAAA,EACA,oBAAA;AAAA;AAAA,EAEA,WAAA;AAAA,EACA,WAAA;AAAA,EACA,YAAA;AAAA,EACA;AACF,CAAA;;;AC3+BA,IAAM,kBAAA,GAAqB,OAAA,CAAQ,GAAA,CAAI,kBAAA,EAAoB,aAAY,KAAM,OAAA;AAC7E,IAAM,uBAAA,GAA0B,OAAA,CAAQ,GAAA,CAAI,uBAAA,EAAyB,aAAY,KAAM,OAAA;AAGvF,SAAS,YAAA,GAAyB;AAChC,EAAA,MAAM,UAAoB,EAAC;AAE3B,EAAA,IAAI,kBAAA,EAAoB;AACtB,IAAA,OAAA,CAAQ,IAAI,kDAAkD,CAAA;AAC9D,IAAA,OAAA,CAAQ,IAAA,CAAK,GAAG,iBAAiB,CAAA;AAAA,EACnC,CAAA,MAAO;AACL,IAAA,OAAA,CAAQ,IAAI,gFAAgF,CAAA;AAAA,EAC9F;AAEA,EAAA,IAAI,uBAAA,EAAyB;AAC3B,IAAA,OAAA,CAAQ,IAAI,uDAAuD,CAAA;AACnE,IAAA,OAAA,CAAQ,IAAA,CAAK,GAAG,qBAAqB,CAAA;AAAA,EACvC,CAAA,MAAO;AACL,IAAA,OAAA,CAAQ,IAAI,0FAA0F,CAAA;AAAA,EACxG;AAGA,EAAA,IAAI,OAAA,CAAQ,WAAW,CAAA,EAAG;AACxB,IAAA,OAAA,CAAQ,KAAK,oJAAoJ,CAAA;AAAA,EACnK;AAEA,EAAA,OAAA,CAAQ,GAAA,CAAI,CAAA,4CAAA,EAA+C,OAAA,CAAQ,MAAM,CAAA,CAAE,CAAA;AAC3E,EAAA,OAAO,OAAA;AACT;AAGO,IAAM,iBAAA,GAA4B;AAAA,EACvC,IAAA,EAAM,qBAAA;AAAA,EACN,WAAA,EACE,kQAAA;AAAA,EACF,SAAS,YAAA;AACX;AAGO,IAAM,eAAA,GAAkB;AAAA,EAC7B,iBAAA,EAAmB,kBAAA;AAAA,EACnB,qBAAA,EAAuB,uBAAA;AAAA,EACvB,kBAAA,EAAoB,iBAAA,CAAkB,OAAA,EAAS,MAAA,IAAU;AAC3D;AAGA,IAAO,aAAA,GAAQ","file":"index.js","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, Action } from \"@elizaos/core\";\nimport { typewriterActions } from \"./actions/typewriter\";\nimport { multiverseMathActions } from \"./actions/multiverseMath\";\n\n// Environment variable configuration\n// By default, both 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\";\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 // 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 or MULTIVERSE_MATH_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) 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: buildActions(),\n};\n\n// Export configuration for debugging/visibility\nexport const benchmarkConfig = {\n typewriterEnabled: TYPEWRITER_ENABLED,\n multiverseMathEnabled: MULTIVERSE_MATH_ENABLED,\n totalActionsLoaded: actionBenchPlugin.actions?.length ?? 0,\n};\n\n// Default export\nexport default actionBenchPlugin;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elizaos/plugin-action-bench",
3
- "version": "1.4.2",
3
+ "version": "1.4.3",
4
4
  "description": "Action calling benchmark plugins for ElizaOS with multiverse math (dimensional context-dependent operations)",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",