@elizaos/plugin-action-bench 1.4.1 → 1.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/actions/typewriter.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;;;ACtEjB,IAAM,iBAAA,GAA4B;AAAA,EACvC,IAAA,EAAM,yBAAA;AAAA,EACN,WAAA,EACE,kHAAA;AAAA,EACF,OAAA,EAAS,CAAC,GAAG,iBAAiB;AAChC;AAEA,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 { Plugin } from \"@elizaos/core\";\nimport { typewriterActions } from \"./actions/typewriter\";\n\n// Export with the expected naming convention\nexport const actionBenchPlugin: Plugin = {\n name: \"action-bench-typewriter\",\n description:\n \"Typewriter benchmark plugin providing 26 single-letter actions (A–Z) to test action selection and chaining.\",\n actions: [...typewriterActions],\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;;;AC5+BO,IAAM,iBAAA,GAA4B;AAAA,EACvC,IAAA,EAAM,qBAAA;AAAA,EACN,WAAA,EACE,kQAAA;AAAA,EACF,OAAA,EAAS,CAAC,GAAG,iBAAA,EAAmB,GAAG,qBAAqB;AAC1D;AAEA,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 } 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"]}