@metamask/client-mcp-core 0.1.0
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/CHANGELOG.md +17 -0
- package/LICENSE +6 -0
- package/LICENSE.APACHE2 +201 -0
- package/LICENSE.MIT +21 -0
- package/README.md +1459 -0
- package/dist/capabilities/context.cjs +34 -0
- package/dist/capabilities/context.cjs.map +1 -0
- package/dist/capabilities/context.d.cts +101 -0
- package/dist/capabilities/context.d.cts.map +1 -0
- package/dist/capabilities/context.d.mts +101 -0
- package/dist/capabilities/context.d.mts.map +1 -0
- package/dist/capabilities/context.mjs +29 -0
- package/dist/capabilities/context.mjs.map +1 -0
- package/dist/capabilities/index.cjs +18 -0
- package/dist/capabilities/index.cjs.map +1 -0
- package/dist/capabilities/index.d.cts +3 -0
- package/dist/capabilities/index.d.cts.map +1 -0
- package/dist/capabilities/index.d.mts +3 -0
- package/dist/capabilities/index.d.mts.map +1 -0
- package/dist/capabilities/index.mjs +2 -0
- package/dist/capabilities/index.mjs.map +1 -0
- package/dist/capabilities/types.cjs +3 -0
- package/dist/capabilities/types.cjs.map +1 -0
- package/dist/capabilities/types.d.cts +152 -0
- package/dist/capabilities/types.d.cts.map +1 -0
- package/dist/capabilities/types.d.mts +152 -0
- package/dist/capabilities/types.d.mts.map +1 -0
- package/dist/capabilities/types.mjs +2 -0
- package/dist/capabilities/types.mjs.map +1 -0
- package/dist/index.cjs +59 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +33 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +33 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +43 -0
- package/dist/index.mjs.map +1 -0
- package/dist/launcher/console-error-buffer.cjs +72 -0
- package/dist/launcher/console-error-buffer.cjs.map +1 -0
- package/dist/launcher/console-error-buffer.d.cts +43 -0
- package/dist/launcher/console-error-buffer.d.cts.map +1 -0
- package/dist/launcher/console-error-buffer.d.mts +43 -0
- package/dist/launcher/console-error-buffer.d.mts.map +1 -0
- package/dist/launcher/console-error-buffer.mjs +68 -0
- package/dist/launcher/console-error-buffer.mjs.map +1 -0
- package/dist/launcher/extension-id-resolver.cjs +177 -0
- package/dist/launcher/extension-id-resolver.cjs.map +1 -0
- package/dist/launcher/extension-id-resolver.d.cts +32 -0
- package/dist/launcher/extension-id-resolver.d.cts.map +1 -0
- package/dist/launcher/extension-id-resolver.d.mts +32 -0
- package/dist/launcher/extension-id-resolver.d.mts.map +1 -0
- package/dist/launcher/extension-id-resolver.mjs +173 -0
- package/dist/launcher/extension-id-resolver.mjs.map +1 -0
- package/dist/launcher/extension-readiness.cjs +50 -0
- package/dist/launcher/extension-readiness.cjs.map +1 -0
- package/dist/launcher/extension-readiness.d.cts +37 -0
- package/dist/launcher/extension-readiness.d.cts.map +1 -0
- package/dist/launcher/extension-readiness.d.mts +37 -0
- package/dist/launcher/extension-readiness.d.mts.map +1 -0
- package/dist/launcher/extension-readiness.mjs +43 -0
- package/dist/launcher/extension-readiness.mjs.map +1 -0
- package/dist/launcher/index.cjs +21 -0
- package/dist/launcher/index.cjs.map +1 -0
- package/dist/launcher/index.d.cts +5 -0
- package/dist/launcher/index.d.cts.map +1 -0
- package/dist/launcher/index.d.mts +5 -0
- package/dist/launcher/index.d.mts.map +1 -0
- package/dist/launcher/index.mjs +5 -0
- package/dist/launcher/index.mjs.map +1 -0
- package/dist/launcher/retry.cjs +35 -0
- package/dist/launcher/retry.cjs.map +1 -0
- package/dist/launcher/retry.d.cts +20 -0
- package/dist/launcher/retry.d.cts.map +1 -0
- package/dist/launcher/retry.d.mts +20 -0
- package/dist/launcher/retry.d.mts.map +1 -0
- package/dist/launcher/retry.mjs +31 -0
- package/dist/launcher/retry.mjs.map +1 -0
- package/dist/mcp-server/constants.cjs +22 -0
- package/dist/mcp-server/constants.cjs.map +1 -0
- package/dist/mcp-server/constants.d.cts +13 -0
- package/dist/mcp-server/constants.d.cts.map +1 -0
- package/dist/mcp-server/constants.d.mts +13 -0
- package/dist/mcp-server/constants.d.mts.map +1 -0
- package/dist/mcp-server/constants.mjs +19 -0
- package/dist/mcp-server/constants.mjs.map +1 -0
- package/dist/mcp-server/discovery.cjs +299 -0
- package/dist/mcp-server/discovery.cjs.map +1 -0
- package/dist/mcp-server/discovery.d.cts +56 -0
- package/dist/mcp-server/discovery.d.cts.map +1 -0
- package/dist/mcp-server/discovery.d.mts +56 -0
- package/dist/mcp-server/discovery.d.mts.map +1 -0
- package/dist/mcp-server/discovery.mjs +292 -0
- package/dist/mcp-server/discovery.mjs.map +1 -0
- package/dist/mcp-server/knowledge-store.cjs +1196 -0
- package/dist/mcp-server/knowledge-store.cjs.map +1 -0
- package/dist/mcp-server/knowledge-store.d.cts +249 -0
- package/dist/mcp-server/knowledge-store.d.cts.map +1 -0
- package/dist/mcp-server/knowledge-store.d.mts +249 -0
- package/dist/mcp-server/knowledge-store.d.mts.map +1 -0
- package/dist/mcp-server/knowledge-store.mjs +1154 -0
- package/dist/mcp-server/knowledge-store.mjs.map +1 -0
- package/dist/mcp-server/schemas.cjs +433 -0
- package/dist/mcp-server/schemas.cjs.map +1 -0
- package/dist/mcp-server/schemas.d.cts +557 -0
- package/dist/mcp-server/schemas.d.cts.map +1 -0
- package/dist/mcp-server/schemas.d.mts +557 -0
- package/dist/mcp-server/schemas.d.mts.map +1 -0
- package/dist/mcp-server/schemas.mjs +430 -0
- package/dist/mcp-server/schemas.mjs.map +1 -0
- package/dist/mcp-server/server.cjs +161 -0
- package/dist/mcp-server/server.cjs.map +1 -0
- package/dist/mcp-server/server.d.cts +24 -0
- package/dist/mcp-server/server.d.cts.map +1 -0
- package/dist/mcp-server/server.d.mts +24 -0
- package/dist/mcp-server/server.d.mts.map +1 -0
- package/dist/mcp-server/server.mjs +158 -0
- package/dist/mcp-server/server.mjs.map +1 -0
- package/dist/mcp-server/session-manager.cjs +53 -0
- package/dist/mcp-server/session-manager.cjs.map +1 -0
- package/dist/mcp-server/session-manager.d.cts +240 -0
- package/dist/mcp-server/session-manager.d.cts.map +1 -0
- package/dist/mcp-server/session-manager.d.mts +240 -0
- package/dist/mcp-server/session-manager.d.mts.map +1 -0
- package/dist/mcp-server/session-manager.mjs +48 -0
- package/dist/mcp-server/session-manager.mjs.map +1 -0
- package/dist/mcp-server/test-utils/flush-promises.cjs +10 -0
- package/dist/mcp-server/test-utils/flush-promises.cjs.map +1 -0
- package/dist/mcp-server/test-utils/flush-promises.d.cts +2 -0
- package/dist/mcp-server/test-utils/flush-promises.d.cts.map +1 -0
- package/dist/mcp-server/test-utils/flush-promises.d.mts +2 -0
- package/dist/mcp-server/test-utils/flush-promises.d.mts.map +1 -0
- package/dist/mcp-server/test-utils/flush-promises.mjs +7 -0
- package/dist/mcp-server/test-utils/flush-promises.mjs.map +1 -0
- package/dist/mcp-server/test-utils/index.cjs +13 -0
- package/dist/mcp-server/test-utils/index.cjs.map +1 -0
- package/dist/mcp-server/test-utils/index.d.cts +4 -0
- package/dist/mcp-server/test-utils/index.d.cts.map +1 -0
- package/dist/mcp-server/test-utils/index.d.mts +4 -0
- package/dist/mcp-server/test-utils/index.d.mts.map +1 -0
- package/dist/mcp-server/test-utils/index.mjs +4 -0
- package/dist/mcp-server/test-utils/index.mjs.map +1 -0
- package/dist/mcp-server/test-utils/mock-factories.cjs +129 -0
- package/dist/mcp-server/test-utils/mock-factories.cjs.map +1 -0
- package/dist/mcp-server/test-utils/mock-factories.d.cts +89 -0
- package/dist/mcp-server/test-utils/mock-factories.d.cts.map +1 -0
- package/dist/mcp-server/test-utils/mock-factories.d.mts +89 -0
- package/dist/mcp-server/test-utils/mock-factories.d.mts.map +1 -0
- package/dist/mcp-server/test-utils/mock-factories.mjs +125 -0
- package/dist/mcp-server/test-utils/mock-factories.mjs.map +1 -0
- package/dist/mcp-server/test-utils/mock-playwright.cjs +205 -0
- package/dist/mcp-server/test-utils/mock-playwright.cjs.map +1 -0
- package/dist/mcp-server/test-utils/mock-playwright.d.cts +69 -0
- package/dist/mcp-server/test-utils/mock-playwright.d.cts.map +1 -0
- package/dist/mcp-server/test-utils/mock-playwright.d.mts +69 -0
- package/dist/mcp-server/test-utils/mock-playwright.d.mts.map +1 -0
- package/dist/mcp-server/test-utils/mock-playwright.mjs +200 -0
- package/dist/mcp-server/test-utils/mock-playwright.mjs.map +1 -0
- package/dist/mcp-server/tokenization.cjs +117 -0
- package/dist/mcp-server/tokenization.cjs.map +1 -0
- package/dist/mcp-server/tokenization.d.cts +22 -0
- package/dist/mcp-server/tokenization.d.cts.map +1 -0
- package/dist/mcp-server/tokenization.d.mts +22 -0
- package/dist/mcp-server/tokenization.d.mts.map +1 -0
- package/dist/mcp-server/tokenization.mjs +112 -0
- package/dist/mcp-server/tokenization.mjs.map +1 -0
- package/dist/mcp-server/tools/batch.cjs +199 -0
- package/dist/mcp-server/tools/batch.cjs.map +1 -0
- package/dist/mcp-server/tools/batch.d.cts +81 -0
- package/dist/mcp-server/tools/batch.d.cts.map +1 -0
- package/dist/mcp-server/tools/batch.d.mts +81 -0
- package/dist/mcp-server/tools/batch.d.mts.map +1 -0
- package/dist/mcp-server/tools/batch.mjs +191 -0
- package/dist/mcp-server/tools/batch.mjs.map +1 -0
- package/dist/mcp-server/tools/build.cjs +47 -0
- package/dist/mcp-server/tools/build.cjs.map +1 -0
- package/dist/mcp-server/tools/build.d.cts +22 -0
- package/dist/mcp-server/tools/build.d.cts.map +1 -0
- package/dist/mcp-server/tools/build.d.mts +22 -0
- package/dist/mcp-server/tools/build.d.mts.map +1 -0
- package/dist/mcp-server/tools/build.mjs +44 -0
- package/dist/mcp-server/tools/build.mjs.map +1 -0
- package/dist/mcp-server/tools/cleanup.cjs +20 -0
- package/dist/mcp-server/tools/cleanup.cjs.map +1 -0
- package/dist/mcp-server/tools/cleanup.d.cts +10 -0
- package/dist/mcp-server/tools/cleanup.d.cts.map +1 -0
- package/dist/mcp-server/tools/cleanup.d.mts +10 -0
- package/dist/mcp-server/tools/cleanup.d.mts.map +1 -0
- package/dist/mcp-server/tools/cleanup.mjs +17 -0
- package/dist/mcp-server/tools/cleanup.mjs.map +1 -0
- package/dist/mcp-server/tools/clipboard.cjs +100 -0
- package/dist/mcp-server/tools/clipboard.cjs.map +1 -0
- package/dist/mcp-server/tools/clipboard.d.cts +16 -0
- package/dist/mcp-server/tools/clipboard.d.cts.map +1 -0
- package/dist/mcp-server/tools/clipboard.d.mts +16 -0
- package/dist/mcp-server/tools/clipboard.d.mts.map +1 -0
- package/dist/mcp-server/tools/clipboard.mjs +97 -0
- package/dist/mcp-server/tools/clipboard.mjs.map +1 -0
- package/dist/mcp-server/tools/context.cjs +66 -0
- package/dist/mcp-server/tools/context.cjs.map +1 -0
- package/dist/mcp-server/tools/context.d.cts +35 -0
- package/dist/mcp-server/tools/context.d.cts.map +1 -0
- package/dist/mcp-server/tools/context.d.mts +35 -0
- package/dist/mcp-server/tools/context.d.mts.map +1 -0
- package/dist/mcp-server/tools/context.mjs +62 -0
- package/dist/mcp-server/tools/context.mjs.map +1 -0
- package/dist/mcp-server/tools/definitions.cjs +463 -0
- package/dist/mcp-server/tools/definitions.cjs.map +1 -0
- package/dist/mcp-server/tools/definitions.d.cts +97 -0
- package/dist/mcp-server/tools/definitions.d.cts.map +1 -0
- package/dist/mcp-server/tools/definitions.d.mts +97 -0
- package/dist/mcp-server/tools/definitions.d.mts.map +1 -0
- package/dist/mcp-server/tools/definitions.mjs +451 -0
- package/dist/mcp-server/tools/definitions.mjs.map +1 -0
- package/dist/mcp-server/tools/discovery-tools.cjs +162 -0
- package/dist/mcp-server/tools/discovery-tools.cjs.map +1 -0
- package/dist/mcp-server/tools/discovery-tools.d.cts +26 -0
- package/dist/mcp-server/tools/discovery-tools.d.cts.map +1 -0
- package/dist/mcp-server/tools/discovery-tools.d.mts +26 -0
- package/dist/mcp-server/tools/discovery-tools.d.mts.map +1 -0
- package/dist/mcp-server/tools/discovery-tools.mjs +157 -0
- package/dist/mcp-server/tools/discovery-tools.mjs.map +1 -0
- package/dist/mcp-server/tools/error-classification.cjs +296 -0
- package/dist/mcp-server/tools/error-classification.cjs.map +1 -0
- package/dist/mcp-server/tools/error-classification.d.cts +135 -0
- package/dist/mcp-server/tools/error-classification.d.cts.map +1 -0
- package/dist/mcp-server/tools/error-classification.d.mts +135 -0
- package/dist/mcp-server/tools/error-classification.d.mts.map +1 -0
- package/dist/mcp-server/tools/error-classification.mjs +281 -0
- package/dist/mcp-server/tools/error-classification.mjs.map +1 -0
- package/dist/mcp-server/tools/helpers.cjs +149 -0
- package/dist/mcp-server/tools/helpers.cjs.map +1 -0
- package/dist/mcp-server/tools/helpers.d.cts +149 -0
- package/dist/mcp-server/tools/helpers.d.cts.map +1 -0
- package/dist/mcp-server/tools/helpers.d.mts +149 -0
- package/dist/mcp-server/tools/helpers.d.mts.map +1 -0
- package/dist/mcp-server/tools/helpers.mjs +141 -0
- package/dist/mcp-server/tools/helpers.mjs.map +1 -0
- package/dist/mcp-server/tools/index.cjs +27 -0
- package/dist/mcp-server/tools/index.cjs.map +1 -0
- package/dist/mcp-server/tools/index.d.cts +11 -0
- package/dist/mcp-server/tools/index.d.cts.map +1 -0
- package/dist/mcp-server/tools/index.d.mts +11 -0
- package/dist/mcp-server/tools/index.d.mts.map +1 -0
- package/dist/mcp-server/tools/index.mjs +11 -0
- package/dist/mcp-server/tools/index.mjs.map +1 -0
- package/dist/mcp-server/tools/interaction.cjs +190 -0
- package/dist/mcp-server/tools/interaction.cjs.map +1 -0
- package/dist/mcp-server/tools/interaction.d.cts +26 -0
- package/dist/mcp-server/tools/interaction.d.cts.map +1 -0
- package/dist/mcp-server/tools/interaction.d.mts +26 -0
- package/dist/mcp-server/tools/interaction.d.mts.map +1 -0
- package/dist/mcp-server/tools/interaction.mjs +185 -0
- package/dist/mcp-server/tools/interaction.mjs.map +1 -0
- package/dist/mcp-server/tools/knowledge.cjs +120 -0
- package/dist/mcp-server/tools/knowledge.cjs.map +1 -0
- package/dist/mcp-server/tools/knowledge.d.cts +34 -0
- package/dist/mcp-server/tools/knowledge.d.cts.map +1 -0
- package/dist/mcp-server/tools/knowledge.d.mts +34 -0
- package/dist/mcp-server/tools/knowledge.d.mts.map +1 -0
- package/dist/mcp-server/tools/knowledge.mjs +114 -0
- package/dist/mcp-server/tools/knowledge.mjs.map +1 -0
- package/dist/mcp-server/tools/launch.cjs +51 -0
- package/dist/mcp-server/tools/launch.cjs.map +1 -0
- package/dist/mcp-server/tools/launch.d.cts +10 -0
- package/dist/mcp-server/tools/launch.d.cts.map +1 -0
- package/dist/mcp-server/tools/launch.d.mts +10 -0
- package/dist/mcp-server/tools/launch.d.mts.map +1 -0
- package/dist/mcp-server/tools/launch.mjs +48 -0
- package/dist/mcp-server/tools/launch.mjs.map +1 -0
- package/dist/mcp-server/tools/navigation.cjs +242 -0
- package/dist/mcp-server/tools/navigation.cjs.map +1 -0
- package/dist/mcp-server/tools/navigation.d.cts +34 -0
- package/dist/mcp-server/tools/navigation.d.cts.map +1 -0
- package/dist/mcp-server/tools/navigation.d.mts +34 -0
- package/dist/mcp-server/tools/navigation.d.mts.map +1 -0
- package/dist/mcp-server/tools/navigation.mjs +236 -0
- package/dist/mcp-server/tools/navigation.mjs.map +1 -0
- package/dist/mcp-server/tools/registry.cjs +10 -0
- package/dist/mcp-server/tools/registry.cjs.map +1 -0
- package/dist/mcp-server/tools/registry.d.cts +4 -0
- package/dist/mcp-server/tools/registry.d.cts.map +1 -0
- package/dist/mcp-server/tools/registry.d.mts +4 -0
- package/dist/mcp-server/tools/registry.d.mts.map +1 -0
- package/dist/mcp-server/tools/registry.mjs +4 -0
- package/dist/mcp-server/tools/registry.mjs.map +1 -0
- package/dist/mcp-server/tools/run-tool.cjs +140 -0
- package/dist/mcp-server/tools/run-tool.cjs.map +1 -0
- package/dist/mcp-server/tools/run-tool.d.cts +39 -0
- package/dist/mcp-server/tools/run-tool.d.cts.map +1 -0
- package/dist/mcp-server/tools/run-tool.d.mts +39 -0
- package/dist/mcp-server/tools/run-tool.d.mts.map +1 -0
- package/dist/mcp-server/tools/run-tool.mjs +137 -0
- package/dist/mcp-server/tools/run-tool.mjs.map +1 -0
- package/dist/mcp-server/tools/screenshot.cjs +55 -0
- package/dist/mcp-server/tools/screenshot.cjs.map +1 -0
- package/dist/mcp-server/tools/screenshot.d.cts +10 -0
- package/dist/mcp-server/tools/screenshot.d.cts.map +1 -0
- package/dist/mcp-server/tools/screenshot.d.mts +10 -0
- package/dist/mcp-server/tools/screenshot.d.mts.map +1 -0
- package/dist/mcp-server/tools/screenshot.mjs +52 -0
- package/dist/mcp-server/tools/screenshot.mjs.map +1 -0
- package/dist/mcp-server/tools/seeding.cjs +214 -0
- package/dist/mcp-server/tools/seeding.cjs.map +1 -0
- package/dist/mcp-server/tools/seeding.d.cts +38 -0
- package/dist/mcp-server/tools/seeding.d.cts.map +1 -0
- package/dist/mcp-server/tools/seeding.d.mts +38 -0
- package/dist/mcp-server/tools/seeding.d.mts.map +1 -0
- package/dist/mcp-server/tools/seeding.mjs +208 -0
- package/dist/mcp-server/tools/seeding.mjs.map +1 -0
- package/dist/mcp-server/tools/state.cjs +69 -0
- package/dist/mcp-server/tools/state.cjs.map +1 -0
- package/dist/mcp-server/tools/state.d.cts +19 -0
- package/dist/mcp-server/tools/state.d.cts.map +1 -0
- package/dist/mcp-server/tools/state.d.mts +19 -0
- package/dist/mcp-server/tools/state.d.mts.map +1 -0
- package/dist/mcp-server/tools/state.mjs +66 -0
- package/dist/mcp-server/tools/state.mjs.map +1 -0
- package/dist/mcp-server/types/discovery.cjs +24 -0
- package/dist/mcp-server/types/discovery.cjs.map +1 -0
- package/dist/mcp-server/types/discovery.d.cts +30 -0
- package/dist/mcp-server/types/discovery.d.cts.map +1 -0
- package/dist/mcp-server/types/discovery.d.mts +30 -0
- package/dist/mcp-server/types/discovery.d.mts.map +1 -0
- package/dist/mcp-server/types/discovery.mjs +21 -0
- package/dist/mcp-server/types/discovery.mjs.map +1 -0
- package/dist/mcp-server/types/errors.cjs +33 -0
- package/dist/mcp-server/types/errors.cjs.map +1 -0
- package/dist/mcp-server/types/errors.d.cts +31 -0
- package/dist/mcp-server/types/errors.d.cts.map +1 -0
- package/dist/mcp-server/types/errors.d.mts +31 -0
- package/dist/mcp-server/types/errors.d.mts.map +1 -0
- package/dist/mcp-server/types/errors.mjs +30 -0
- package/dist/mcp-server/types/errors.mjs.map +1 -0
- package/dist/mcp-server/types/index.cjs +21 -0
- package/dist/mcp-server/types/index.cjs.map +1 -0
- package/dist/mcp-server/types/index.d.cts +10 -0
- package/dist/mcp-server/types/index.d.cts.map +1 -0
- package/dist/mcp-server/types/index.d.mts +10 -0
- package/dist/mcp-server/types/index.d.mts.map +1 -0
- package/dist/mcp-server/types/index.mjs +5 -0
- package/dist/mcp-server/types/index.mjs.map +1 -0
- package/dist/mcp-server/types/knowledge.cjs +3 -0
- package/dist/mcp-server/types/knowledge.cjs.map +1 -0
- package/dist/mcp-server/types/knowledge.d.cts +116 -0
- package/dist/mcp-server/types/knowledge.d.cts.map +1 -0
- package/dist/mcp-server/types/knowledge.d.mts +116 -0
- package/dist/mcp-server/types/knowledge.d.mts.map +1 -0
- package/dist/mcp-server/types/knowledge.mjs +2 -0
- package/dist/mcp-server/types/knowledge.mjs.map +1 -0
- package/dist/mcp-server/types/responses.cjs +3 -0
- package/dist/mcp-server/types/responses.cjs.map +1 -0
- package/dist/mcp-server/types/responses.d.cts +22 -0
- package/dist/mcp-server/types/responses.d.cts.map +1 -0
- package/dist/mcp-server/types/responses.d.mts +22 -0
- package/dist/mcp-server/types/responses.d.mts.map +1 -0
- package/dist/mcp-server/types/responses.mjs +2 -0
- package/dist/mcp-server/types/responses.mjs.map +1 -0
- package/dist/mcp-server/types/seeding.cjs +34 -0
- package/dist/mcp-server/types/seeding.cjs.map +1 -0
- package/dist/mcp-server/types/seeding.d.cts +40 -0
- package/dist/mcp-server/types/seeding.d.cts.map +1 -0
- package/dist/mcp-server/types/seeding.d.mts +40 -0
- package/dist/mcp-server/types/seeding.d.mts.map +1 -0
- package/dist/mcp-server/types/seeding.mjs +31 -0
- package/dist/mcp-server/types/seeding.mjs.map +1 -0
- package/dist/mcp-server/types/session.cjs +3 -0
- package/dist/mcp-server/types/session.cjs.map +1 -0
- package/dist/mcp-server/types/session.d.cts +11 -0
- package/dist/mcp-server/types/session.d.cts.map +1 -0
- package/dist/mcp-server/types/session.d.mts +11 -0
- package/dist/mcp-server/types/session.d.mts.map +1 -0
- package/dist/mcp-server/types/session.mjs +2 -0
- package/dist/mcp-server/types/session.mjs.map +1 -0
- package/dist/mcp-server/types/step-record.cjs +20 -0
- package/dist/mcp-server/types/step-record.cjs.map +1 -0
- package/dist/mcp-server/types/step-record.d.cts +86 -0
- package/dist/mcp-server/types/step-record.d.cts.map +1 -0
- package/dist/mcp-server/types/step-record.d.mts +86 -0
- package/dist/mcp-server/types/step-record.d.mts.map +1 -0
- package/dist/mcp-server/types/step-record.mjs +17 -0
- package/dist/mcp-server/types/step-record.mjs.map +1 -0
- package/dist/mcp-server/types/tool-inputs.cjs +3 -0
- package/dist/mcp-server/types/tool-inputs.cjs.map +1 -0
- package/dist/mcp-server/types/tool-inputs.d.cts +118 -0
- package/dist/mcp-server/types/tool-inputs.d.cts.map +1 -0
- package/dist/mcp-server/types/tool-inputs.d.mts +118 -0
- package/dist/mcp-server/types/tool-inputs.d.mts.map +1 -0
- package/dist/mcp-server/types/tool-inputs.mjs +2 -0
- package/dist/mcp-server/types/tool-inputs.mjs.map +1 -0
- package/dist/mcp-server/types/tool-outputs.cjs +3 -0
- package/dist/mcp-server/types/tool-outputs.cjs.map +1 -0
- package/dist/mcp-server/types/tool-outputs.d.cts +121 -0
- package/dist/mcp-server/types/tool-outputs.d.cts.map +1 -0
- package/dist/mcp-server/types/tool-outputs.d.mts +121 -0
- package/dist/mcp-server/types/tool-outputs.d.mts.map +1 -0
- package/dist/mcp-server/types/tool-outputs.mjs +2 -0
- package/dist/mcp-server/types/tool-outputs.mjs.map +1 -0
- package/dist/mcp-server/utils/errors.cjs +14 -0
- package/dist/mcp-server/utils/errors.cjs.map +1 -0
- package/dist/mcp-server/utils/errors.d.cts +9 -0
- package/dist/mcp-server/utils/errors.d.cts.map +1 -0
- package/dist/mcp-server/utils/errors.d.mts +9 -0
- package/dist/mcp-server/utils/errors.d.mts.map +1 -0
- package/dist/mcp-server/utils/errors.mjs +11 -0
- package/dist/mcp-server/utils/errors.mjs.map +1 -0
- package/dist/mcp-server/utils/index.cjs +22 -0
- package/dist/mcp-server/utils/index.cjs.map +1 -0
- package/dist/mcp-server/utils/index.d.cts +8 -0
- package/dist/mcp-server/utils/index.d.cts.map +1 -0
- package/dist/mcp-server/utils/index.d.mts +8 -0
- package/dist/mcp-server/utils/index.d.mts.map +1 -0
- package/dist/mcp-server/utils/index.mjs +8 -0
- package/dist/mcp-server/utils/index.mjs.map +1 -0
- package/dist/mcp-server/utils/logger.cjs +25 -0
- package/dist/mcp-server/utils/logger.cjs.map +1 -0
- package/dist/mcp-server/utils/logger.d.cts +9 -0
- package/dist/mcp-server/utils/logger.d.cts.map +1 -0
- package/dist/mcp-server/utils/logger.d.mts +9 -0
- package/dist/mcp-server/utils/logger.d.mts.map +1 -0
- package/dist/mcp-server/utils/logger.mjs +22 -0
- package/dist/mcp-server/utils/logger.mjs.map +1 -0
- package/dist/mcp-server/utils/redaction.cjs +24 -0
- package/dist/mcp-server/utils/redaction.cjs.map +1 -0
- package/dist/mcp-server/utils/redaction.d.cts +9 -0
- package/dist/mcp-server/utils/redaction.d.cts.map +1 -0
- package/dist/mcp-server/utils/redaction.d.mts +9 -0
- package/dist/mcp-server/utils/redaction.d.mts.map +1 -0
- package/dist/mcp-server/utils/redaction.mjs +20 -0
- package/dist/mcp-server/utils/redaction.mjs.map +1 -0
- package/dist/mcp-server/utils/response.cjs +49 -0
- package/dist/mcp-server/utils/response.cjs.map +1 -0
- package/dist/mcp-server/utils/response.d.cts +22 -0
- package/dist/mcp-server/utils/response.d.cts.map +1 -0
- package/dist/mcp-server/utils/response.d.mts +22 -0
- package/dist/mcp-server/utils/response.d.mts.map +1 -0
- package/dist/mcp-server/utils/response.mjs +45 -0
- package/dist/mcp-server/utils/response.mjs.map +1 -0
- package/dist/mcp-server/utils/targets.cjs +32 -0
- package/dist/mcp-server/utils/targets.cjs.map +1 -0
- package/dist/mcp-server/utils/targets.d.cts +25 -0
- package/dist/mcp-server/utils/targets.d.cts.map +1 -0
- package/dist/mcp-server/utils/targets.d.mts +25 -0
- package/dist/mcp-server/utils/targets.d.mts.map +1 -0
- package/dist/mcp-server/utils/targets.mjs +29 -0
- package/dist/mcp-server/utils/targets.mjs.map +1 -0
- package/dist/mcp-server/utils/time.cjs +39 -0
- package/dist/mcp-server/utils/time.cjs.map +1 -0
- package/dist/mcp-server/utils/time.d.cts +15 -0
- package/dist/mcp-server/utils/time.d.cts.map +1 -0
- package/dist/mcp-server/utils/time.d.mts +15 -0
- package/dist/mcp-server/utils/time.d.mts.map +1 -0
- package/dist/mcp-server/utils/time.mjs +35 -0
- package/dist/mcp-server/utils/time.mjs.map +1 -0
- package/dist/mcp-server/utils/type-guards.cjs +42 -0
- package/dist/mcp-server/utils/type-guards.cjs.map +1 -0
- package/dist/mcp-server/utils/type-guards.d.cts +30 -0
- package/dist/mcp-server/utils/type-guards.d.cts.map +1 -0
- package/dist/mcp-server/utils/type-guards.d.mts +30 -0
- package/dist/mcp-server/utils/type-guards.d.mts.map +1 -0
- package/dist/mcp-server/utils/type-guards.mjs +38 -0
- package/dist/mcp-server/utils/type-guards.mjs.map +1 -0
- package/dist/utils/fetch.cjs +36 -0
- package/dist/utils/fetch.cjs.map +1 -0
- package/dist/utils/fetch.d.cts +20 -0
- package/dist/utils/fetch.d.cts.map +1 -0
- package/dist/utils/fetch.d.mts +20 -0
- package/dist/utils/fetch.d.mts.map +1 -0
- package/dist/utils/fetch.mjs +33 -0
- package/dist/utils/fetch.mjs.map +1 -0
- package/dist/utils/index.cjs +11 -0
- package/dist/utils/index.cjs.map +1 -0
- package/dist/utils/index.d.cts +6 -0
- package/dist/utils/index.d.cts.map +1 -0
- package/dist/utils/index.d.mts +6 -0
- package/dist/utils/index.d.mts.map +1 -0
- package/dist/utils/index.mjs +6 -0
- package/dist/utils/index.mjs.map +1 -0
- package/dist/utils/service-readiness.cjs +75 -0
- package/dist/utils/service-readiness.cjs.map +1 -0
- package/dist/utils/service-readiness.d.cts +61 -0
- package/dist/utils/service-readiness.d.cts.map +1 -0
- package/dist/utils/service-readiness.d.mts +61 -0
- package/dist/utils/service-readiness.d.mts.map +1 -0
- package/dist/utils/service-readiness.mjs +72 -0
- package/dist/utils/service-readiness.mjs.map +1 -0
- package/package.json +119 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isE2EConfig = isE2EConfig;
|
|
4
|
+
exports.isProdConfig = isProdConfig;
|
|
5
|
+
exports.hasCapability = hasCapability;
|
|
6
|
+
/**
|
|
7
|
+
* Type guard to check if config is for E2E environment.
|
|
8
|
+
*
|
|
9
|
+
* @param config - The environment configuration to check
|
|
10
|
+
* @returns True if the config is for E2E environment, false otherwise
|
|
11
|
+
*/
|
|
12
|
+
function isE2EConfig(config) {
|
|
13
|
+
return config.environment === 'e2e';
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Type guard to check if config is for production environment.
|
|
17
|
+
*
|
|
18
|
+
* @param config - The environment configuration to check
|
|
19
|
+
* @returns True if the config is for production environment, false otherwise
|
|
20
|
+
*/
|
|
21
|
+
function isProdConfig(config) {
|
|
22
|
+
return config.environment === 'prod';
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Type guard to check if a capability is available in the workflow context.
|
|
26
|
+
*
|
|
27
|
+
* @param context - The workflow context to check
|
|
28
|
+
* @param key - The capability key to verify
|
|
29
|
+
* @returns True if the capability is defined, narrowing the type accordingly
|
|
30
|
+
*/
|
|
31
|
+
function hasCapability(context, key) {
|
|
32
|
+
return context[key] !== undefined;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=context.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.cjs","sourceRoot":"","sources":["../../src/capabilities/context.ts"],"names":[],"mappings":";;AAwFA,kCAIC;AAQD,oCAIC;AAmBD,sCAKC;AA9CD;;;;;GAKG;AACH,SAAgB,WAAW,CACzB,MAAyB;IAEzB,OAAO,MAAM,CAAC,WAAW,KAAK,KAAK,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAC1B,MAAyB;IAEzB,OAAO,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC;AACvC,CAAC;AAYD;;;;;;GAMG;AACH,SAAgB,aAAa,CAC3B,OAAwB,EACxB,GAAQ;IAER,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;AACpC,CAAC","sourcesContent":["import type {\n BuildCapability,\n FixtureCapability,\n ChainCapability,\n ContractSeedingCapability,\n StateSnapshotCapability,\n MockServerCapability,\n} from './types.js';\n\n/**\n * Environment mode discriminator.\n * - 'e2e': End-to-end testing environment with local chain, fixtures, and contract seeding\n * - 'prod': Production-like environment without test infrastructure\n */\nexport type EnvironmentMode = 'e2e' | 'prod';\n\n/**\n * Base configuration fields shared across all environment modes.\n */\nexport type BaseEnvironmentConfig = {\n /** Human-readable name of the extension (e.g., \"MetaMask\") */\n extensionName: string;\n /** Default password for wallet unlock operations */\n defaultPassword?: string;\n /** Prefix for MCP tool names (e.g., \"mm\" -> \"mm_build\", \"mm_launch\") */\n toolPrefix?: string;\n /** Directory for storing screenshots and other artifacts */\n artifactsDir?: string;\n};\n\n/**\n * Configuration specific to E2E testing environment.\n * Includes local chain settings and test infrastructure options.\n */\nexport type E2EEnvironmentConfig = BaseEnvironmentConfig & {\n /** Discriminator for E2E environment */\n environment: 'e2e';\n /** Chain ID for local Anvil node (default: 1337) */\n defaultChainId?: number;\n /** Port configuration for test infrastructure */\n ports?: {\n /** Anvil local chain port (default: 8545) */\n anvil?: number;\n /** Fixture server port (default: 12345) */\n fixtureServer?: number;\n };\n /** Fork configuration for mainnet forking */\n fork?: {\n /** RPC URL to fork from */\n url?: string;\n /** Block number to fork at */\n blockNumber?: number;\n };\n};\n\n/**\n * Configuration specific to production-like environment.\n * Minimal configuration without test infrastructure.\n */\nexport type ProdEnvironmentConfig = BaseEnvironmentConfig & {\n /** Discriminator for production environment */\n environment: 'prod';\n /** Optional chain ID for network detection (no local chain) */\n defaultChainId?: number;\n};\n\n/**\n * Union type for environment-specific configuration.\n * Use discriminated union pattern with `environment` field.\n *\n * @example\n * ```typescript\n * function processConfig(config: EnvironmentConfig) {\n * if (config.environment === 'e2e') {\n * // TypeScript knows config has E2E-specific fields\n * console.log(config.ports?.anvil);\n * }\n * }\n * ```\n */\nexport type EnvironmentConfig = E2EEnvironmentConfig | ProdEnvironmentConfig;\n\n/**\n * Type guard to check if config is for E2E environment.\n *\n * @param config - The environment configuration to check\n * @returns True if the config is for E2E environment, false otherwise\n */\nexport function isE2EConfig(\n config: EnvironmentConfig,\n): config is E2EEnvironmentConfig {\n return config.environment === 'e2e';\n}\n\n/**\n * Type guard to check if config is for production environment.\n *\n * @param config - The environment configuration to check\n * @returns True if the config is for production environment, false otherwise\n */\nexport function isProdConfig(\n config: EnvironmentConfig,\n): config is ProdEnvironmentConfig {\n return config.environment === 'prod';\n}\n\nexport type WorkflowContext = {\n build?: BuildCapability;\n fixture?: FixtureCapability;\n chain?: ChainCapability;\n contractSeeding?: ContractSeedingCapability;\n stateSnapshot?: StateSnapshotCapability;\n mockServer?: MockServerCapability;\n config: EnvironmentConfig;\n};\n\n/**\n * Type guard to check if a capability is available in the workflow context.\n *\n * @param context - The workflow context to check\n * @param key - The capability key to verify\n * @returns True if the capability is defined, narrowing the type accordingly\n */\nexport function hasCapability<Key extends keyof WorkflowContext>(\n context: WorkflowContext,\n key: Key,\n): context is WorkflowContext & Required<Pick<WorkflowContext, Key>> {\n return context[key] !== undefined;\n}\n"]}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import type { BuildCapability, FixtureCapability, ChainCapability, ContractSeedingCapability, StateSnapshotCapability, MockServerCapability } from "./types.cjs";
|
|
2
|
+
/**
|
|
3
|
+
* Environment mode discriminator.
|
|
4
|
+
* - 'e2e': End-to-end testing environment with local chain, fixtures, and contract seeding
|
|
5
|
+
* - 'prod': Production-like environment without test infrastructure
|
|
6
|
+
*/
|
|
7
|
+
export type EnvironmentMode = 'e2e' | 'prod';
|
|
8
|
+
/**
|
|
9
|
+
* Base configuration fields shared across all environment modes.
|
|
10
|
+
*/
|
|
11
|
+
export type BaseEnvironmentConfig = {
|
|
12
|
+
/** Human-readable name of the extension (e.g., "MetaMask") */
|
|
13
|
+
extensionName: string;
|
|
14
|
+
/** Default password for wallet unlock operations */
|
|
15
|
+
defaultPassword?: string;
|
|
16
|
+
/** Prefix for MCP tool names (e.g., "mm" -> "mm_build", "mm_launch") */
|
|
17
|
+
toolPrefix?: string;
|
|
18
|
+
/** Directory for storing screenshots and other artifacts */
|
|
19
|
+
artifactsDir?: string;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Configuration specific to E2E testing environment.
|
|
23
|
+
* Includes local chain settings and test infrastructure options.
|
|
24
|
+
*/
|
|
25
|
+
export type E2EEnvironmentConfig = BaseEnvironmentConfig & {
|
|
26
|
+
/** Discriminator for E2E environment */
|
|
27
|
+
environment: 'e2e';
|
|
28
|
+
/** Chain ID for local Anvil node (default: 1337) */
|
|
29
|
+
defaultChainId?: number;
|
|
30
|
+
/** Port configuration for test infrastructure */
|
|
31
|
+
ports?: {
|
|
32
|
+
/** Anvil local chain port (default: 8545) */
|
|
33
|
+
anvil?: number;
|
|
34
|
+
/** Fixture server port (default: 12345) */
|
|
35
|
+
fixtureServer?: number;
|
|
36
|
+
};
|
|
37
|
+
/** Fork configuration for mainnet forking */
|
|
38
|
+
fork?: {
|
|
39
|
+
/** RPC URL to fork from */
|
|
40
|
+
url?: string;
|
|
41
|
+
/** Block number to fork at */
|
|
42
|
+
blockNumber?: number;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Configuration specific to production-like environment.
|
|
47
|
+
* Minimal configuration without test infrastructure.
|
|
48
|
+
*/
|
|
49
|
+
export type ProdEnvironmentConfig = BaseEnvironmentConfig & {
|
|
50
|
+
/** Discriminator for production environment */
|
|
51
|
+
environment: 'prod';
|
|
52
|
+
/** Optional chain ID for network detection (no local chain) */
|
|
53
|
+
defaultChainId?: number;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Union type for environment-specific configuration.
|
|
57
|
+
* Use discriminated union pattern with `environment` field.
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```typescript
|
|
61
|
+
* function processConfig(config: EnvironmentConfig) {
|
|
62
|
+
* if (config.environment === 'e2e') {
|
|
63
|
+
* // TypeScript knows config has E2E-specific fields
|
|
64
|
+
* console.log(config.ports?.anvil);
|
|
65
|
+
* }
|
|
66
|
+
* }
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
export type EnvironmentConfig = E2EEnvironmentConfig | ProdEnvironmentConfig;
|
|
70
|
+
/**
|
|
71
|
+
* Type guard to check if config is for E2E environment.
|
|
72
|
+
*
|
|
73
|
+
* @param config - The environment configuration to check
|
|
74
|
+
* @returns True if the config is for E2E environment, false otherwise
|
|
75
|
+
*/
|
|
76
|
+
export declare function isE2EConfig(config: EnvironmentConfig): config is E2EEnvironmentConfig;
|
|
77
|
+
/**
|
|
78
|
+
* Type guard to check if config is for production environment.
|
|
79
|
+
*
|
|
80
|
+
* @param config - The environment configuration to check
|
|
81
|
+
* @returns True if the config is for production environment, false otherwise
|
|
82
|
+
*/
|
|
83
|
+
export declare function isProdConfig(config: EnvironmentConfig): config is ProdEnvironmentConfig;
|
|
84
|
+
export type WorkflowContext = {
|
|
85
|
+
build?: BuildCapability;
|
|
86
|
+
fixture?: FixtureCapability;
|
|
87
|
+
chain?: ChainCapability;
|
|
88
|
+
contractSeeding?: ContractSeedingCapability;
|
|
89
|
+
stateSnapshot?: StateSnapshotCapability;
|
|
90
|
+
mockServer?: MockServerCapability;
|
|
91
|
+
config: EnvironmentConfig;
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* Type guard to check if a capability is available in the workflow context.
|
|
95
|
+
*
|
|
96
|
+
* @param context - The workflow context to check
|
|
97
|
+
* @param key - The capability key to verify
|
|
98
|
+
* @returns True if the capability is defined, narrowing the type accordingly
|
|
99
|
+
*/
|
|
100
|
+
export declare function hasCapability<Key extends keyof WorkflowContext>(context: WorkflowContext, key: Key): context is WorkflowContext & Required<Pick<WorkflowContext, Key>>;
|
|
101
|
+
//# sourceMappingURL=context.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.cts","sourceRoot":"","sources":["../../src/capabilities/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACrB,oBAAmB;AAEpB;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,MAAM,CAAC;AAE7C;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,8DAA8D;IAC9D,aAAa,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,qBAAqB,GAAG;IACzD,wCAAwC;IACxC,WAAW,EAAE,KAAK,CAAC;IACnB,oDAAoD;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iDAAiD;IACjD,KAAK,CAAC,EAAE;QACN,6CAA6C;QAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,2CAA2C;QAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,6CAA6C;IAC7C,IAAI,CAAC,EAAE;QACL,2BAA2B;QAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,8BAA8B;QAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,qBAAqB,GAAG;IAC1D,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,iBAAiB,GAAG,oBAAoB,GAAG,qBAAqB,CAAC;AAE7E;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,iBAAiB,GACxB,MAAM,IAAI,oBAAoB,CAEhC;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,iBAAiB,GACxB,MAAM,IAAI,qBAAqB,CAEjC;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,eAAe,CAAC,EAAE,yBAAyB,CAAC;IAC5C,aAAa,CAAC,EAAE,uBAAuB,CAAC;IACxC,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,MAAM,EAAE,iBAAiB,CAAC;CAC3B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,SAAS,MAAM,eAAe,EAC7D,OAAO,EAAE,eAAe,EACxB,GAAG,EAAE,GAAG,GACP,OAAO,IAAI,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAEnE"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import type { BuildCapability, FixtureCapability, ChainCapability, ContractSeedingCapability, StateSnapshotCapability, MockServerCapability } from "./types.mjs";
|
|
2
|
+
/**
|
|
3
|
+
* Environment mode discriminator.
|
|
4
|
+
* - 'e2e': End-to-end testing environment with local chain, fixtures, and contract seeding
|
|
5
|
+
* - 'prod': Production-like environment without test infrastructure
|
|
6
|
+
*/
|
|
7
|
+
export type EnvironmentMode = 'e2e' | 'prod';
|
|
8
|
+
/**
|
|
9
|
+
* Base configuration fields shared across all environment modes.
|
|
10
|
+
*/
|
|
11
|
+
export type BaseEnvironmentConfig = {
|
|
12
|
+
/** Human-readable name of the extension (e.g., "MetaMask") */
|
|
13
|
+
extensionName: string;
|
|
14
|
+
/** Default password for wallet unlock operations */
|
|
15
|
+
defaultPassword?: string;
|
|
16
|
+
/** Prefix for MCP tool names (e.g., "mm" -> "mm_build", "mm_launch") */
|
|
17
|
+
toolPrefix?: string;
|
|
18
|
+
/** Directory for storing screenshots and other artifacts */
|
|
19
|
+
artifactsDir?: string;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Configuration specific to E2E testing environment.
|
|
23
|
+
* Includes local chain settings and test infrastructure options.
|
|
24
|
+
*/
|
|
25
|
+
export type E2EEnvironmentConfig = BaseEnvironmentConfig & {
|
|
26
|
+
/** Discriminator for E2E environment */
|
|
27
|
+
environment: 'e2e';
|
|
28
|
+
/** Chain ID for local Anvil node (default: 1337) */
|
|
29
|
+
defaultChainId?: number;
|
|
30
|
+
/** Port configuration for test infrastructure */
|
|
31
|
+
ports?: {
|
|
32
|
+
/** Anvil local chain port (default: 8545) */
|
|
33
|
+
anvil?: number;
|
|
34
|
+
/** Fixture server port (default: 12345) */
|
|
35
|
+
fixtureServer?: number;
|
|
36
|
+
};
|
|
37
|
+
/** Fork configuration for mainnet forking */
|
|
38
|
+
fork?: {
|
|
39
|
+
/** RPC URL to fork from */
|
|
40
|
+
url?: string;
|
|
41
|
+
/** Block number to fork at */
|
|
42
|
+
blockNumber?: number;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Configuration specific to production-like environment.
|
|
47
|
+
* Minimal configuration without test infrastructure.
|
|
48
|
+
*/
|
|
49
|
+
export type ProdEnvironmentConfig = BaseEnvironmentConfig & {
|
|
50
|
+
/** Discriminator for production environment */
|
|
51
|
+
environment: 'prod';
|
|
52
|
+
/** Optional chain ID for network detection (no local chain) */
|
|
53
|
+
defaultChainId?: number;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Union type for environment-specific configuration.
|
|
57
|
+
* Use discriminated union pattern with `environment` field.
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```typescript
|
|
61
|
+
* function processConfig(config: EnvironmentConfig) {
|
|
62
|
+
* if (config.environment === 'e2e') {
|
|
63
|
+
* // TypeScript knows config has E2E-specific fields
|
|
64
|
+
* console.log(config.ports?.anvil);
|
|
65
|
+
* }
|
|
66
|
+
* }
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
export type EnvironmentConfig = E2EEnvironmentConfig | ProdEnvironmentConfig;
|
|
70
|
+
/**
|
|
71
|
+
* Type guard to check if config is for E2E environment.
|
|
72
|
+
*
|
|
73
|
+
* @param config - The environment configuration to check
|
|
74
|
+
* @returns True if the config is for E2E environment, false otherwise
|
|
75
|
+
*/
|
|
76
|
+
export declare function isE2EConfig(config: EnvironmentConfig): config is E2EEnvironmentConfig;
|
|
77
|
+
/**
|
|
78
|
+
* Type guard to check if config is for production environment.
|
|
79
|
+
*
|
|
80
|
+
* @param config - The environment configuration to check
|
|
81
|
+
* @returns True if the config is for production environment, false otherwise
|
|
82
|
+
*/
|
|
83
|
+
export declare function isProdConfig(config: EnvironmentConfig): config is ProdEnvironmentConfig;
|
|
84
|
+
export type WorkflowContext = {
|
|
85
|
+
build?: BuildCapability;
|
|
86
|
+
fixture?: FixtureCapability;
|
|
87
|
+
chain?: ChainCapability;
|
|
88
|
+
contractSeeding?: ContractSeedingCapability;
|
|
89
|
+
stateSnapshot?: StateSnapshotCapability;
|
|
90
|
+
mockServer?: MockServerCapability;
|
|
91
|
+
config: EnvironmentConfig;
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* Type guard to check if a capability is available in the workflow context.
|
|
95
|
+
*
|
|
96
|
+
* @param context - The workflow context to check
|
|
97
|
+
* @param key - The capability key to verify
|
|
98
|
+
* @returns True if the capability is defined, narrowing the type accordingly
|
|
99
|
+
*/
|
|
100
|
+
export declare function hasCapability<Key extends keyof WorkflowContext>(context: WorkflowContext, key: Key): context is WorkflowContext & Required<Pick<WorkflowContext, Key>>;
|
|
101
|
+
//# sourceMappingURL=context.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.mts","sourceRoot":"","sources":["../../src/capabilities/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACrB,oBAAmB;AAEpB;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,MAAM,CAAC;AAE7C;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,8DAA8D;IAC9D,aAAa,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,qBAAqB,GAAG;IACzD,wCAAwC;IACxC,WAAW,EAAE,KAAK,CAAC;IACnB,oDAAoD;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iDAAiD;IACjD,KAAK,CAAC,EAAE;QACN,6CAA6C;QAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,2CAA2C;QAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,6CAA6C;IAC7C,IAAI,CAAC,EAAE;QACL,2BAA2B;QAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,8BAA8B;QAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,qBAAqB,GAAG;IAC1D,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,iBAAiB,GAAG,oBAAoB,GAAG,qBAAqB,CAAC;AAE7E;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,iBAAiB,GACxB,MAAM,IAAI,oBAAoB,CAEhC;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,iBAAiB,GACxB,MAAM,IAAI,qBAAqB,CAEjC;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,eAAe,CAAC,EAAE,yBAAyB,CAAC;IAC5C,aAAa,CAAC,EAAE,uBAAuB,CAAC;IACxC,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,MAAM,EAAE,iBAAiB,CAAC;CAC3B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,SAAS,MAAM,eAAe,EAC7D,OAAO,EAAE,eAAe,EACxB,GAAG,EAAE,GAAG,GACP,OAAO,IAAI,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAEnE"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type guard to check if config is for E2E environment.
|
|
3
|
+
*
|
|
4
|
+
* @param config - The environment configuration to check
|
|
5
|
+
* @returns True if the config is for E2E environment, false otherwise
|
|
6
|
+
*/
|
|
7
|
+
export function isE2EConfig(config) {
|
|
8
|
+
return config.environment === 'e2e';
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Type guard to check if config is for production environment.
|
|
12
|
+
*
|
|
13
|
+
* @param config - The environment configuration to check
|
|
14
|
+
* @returns True if the config is for production environment, false otherwise
|
|
15
|
+
*/
|
|
16
|
+
export function isProdConfig(config) {
|
|
17
|
+
return config.environment === 'prod';
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Type guard to check if a capability is available in the workflow context.
|
|
21
|
+
*
|
|
22
|
+
* @param context - The workflow context to check
|
|
23
|
+
* @param key - The capability key to verify
|
|
24
|
+
* @returns True if the capability is defined, narrowing the type accordingly
|
|
25
|
+
*/
|
|
26
|
+
export function hasCapability(context, key) {
|
|
27
|
+
return context[key] !== undefined;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=context.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.mjs","sourceRoot":"","sources":["../../src/capabilities/context.ts"],"names":[],"mappings":"AAkFA;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CACzB,MAAyB;IAEzB,OAAO,MAAM,CAAC,WAAW,KAAK,KAAK,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAyB;IAEzB,OAAO,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC;AACvC,CAAC;AAYD;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAC3B,OAAwB,EACxB,GAAQ;IAER,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;AACpC,CAAC","sourcesContent":["import type {\n BuildCapability,\n FixtureCapability,\n ChainCapability,\n ContractSeedingCapability,\n StateSnapshotCapability,\n MockServerCapability,\n} from './types.js';\n\n/**\n * Environment mode discriminator.\n * - 'e2e': End-to-end testing environment with local chain, fixtures, and contract seeding\n * - 'prod': Production-like environment without test infrastructure\n */\nexport type EnvironmentMode = 'e2e' | 'prod';\n\n/**\n * Base configuration fields shared across all environment modes.\n */\nexport type BaseEnvironmentConfig = {\n /** Human-readable name of the extension (e.g., \"MetaMask\") */\n extensionName: string;\n /** Default password for wallet unlock operations */\n defaultPassword?: string;\n /** Prefix for MCP tool names (e.g., \"mm\" -> \"mm_build\", \"mm_launch\") */\n toolPrefix?: string;\n /** Directory for storing screenshots and other artifacts */\n artifactsDir?: string;\n};\n\n/**\n * Configuration specific to E2E testing environment.\n * Includes local chain settings and test infrastructure options.\n */\nexport type E2EEnvironmentConfig = BaseEnvironmentConfig & {\n /** Discriminator for E2E environment */\n environment: 'e2e';\n /** Chain ID for local Anvil node (default: 1337) */\n defaultChainId?: number;\n /** Port configuration for test infrastructure */\n ports?: {\n /** Anvil local chain port (default: 8545) */\n anvil?: number;\n /** Fixture server port (default: 12345) */\n fixtureServer?: number;\n };\n /** Fork configuration for mainnet forking */\n fork?: {\n /** RPC URL to fork from */\n url?: string;\n /** Block number to fork at */\n blockNumber?: number;\n };\n};\n\n/**\n * Configuration specific to production-like environment.\n * Minimal configuration without test infrastructure.\n */\nexport type ProdEnvironmentConfig = BaseEnvironmentConfig & {\n /** Discriminator for production environment */\n environment: 'prod';\n /** Optional chain ID for network detection (no local chain) */\n defaultChainId?: number;\n};\n\n/**\n * Union type for environment-specific configuration.\n * Use discriminated union pattern with `environment` field.\n *\n * @example\n * ```typescript\n * function processConfig(config: EnvironmentConfig) {\n * if (config.environment === 'e2e') {\n * // TypeScript knows config has E2E-specific fields\n * console.log(config.ports?.anvil);\n * }\n * }\n * ```\n */\nexport type EnvironmentConfig = E2EEnvironmentConfig | ProdEnvironmentConfig;\n\n/**\n * Type guard to check if config is for E2E environment.\n *\n * @param config - The environment configuration to check\n * @returns True if the config is for E2E environment, false otherwise\n */\nexport function isE2EConfig(\n config: EnvironmentConfig,\n): config is E2EEnvironmentConfig {\n return config.environment === 'e2e';\n}\n\n/**\n * Type guard to check if config is for production environment.\n *\n * @param config - The environment configuration to check\n * @returns True if the config is for production environment, false otherwise\n */\nexport function isProdConfig(\n config: EnvironmentConfig,\n): config is ProdEnvironmentConfig {\n return config.environment === 'prod';\n}\n\nexport type WorkflowContext = {\n build?: BuildCapability;\n fixture?: FixtureCapability;\n chain?: ChainCapability;\n contractSeeding?: ContractSeedingCapability;\n stateSnapshot?: StateSnapshotCapability;\n mockServer?: MockServerCapability;\n config: EnvironmentConfig;\n};\n\n/**\n * Type guard to check if a capability is available in the workflow context.\n *\n * @param context - The workflow context to check\n * @param key - The capability key to verify\n * @returns True if the capability is defined, narrowing the type accordingly\n */\nexport function hasCapability<Key extends keyof WorkflowContext>(\n context: WorkflowContext,\n key: Key,\n): context is WorkflowContext & Required<Pick<WorkflowContext, Key>> {\n return context[key] !== undefined;\n}\n"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./context.cjs"), exports);
|
|
18
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,gDAA6B","sourcesContent":["export type * from './types.js';\nexport * from './context.js';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AAAA,iCAAgC;AAChC,8BAA6B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AAAA,iCAAgC;AAChC,8BAA6B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AACA,8BAA6B","sourcesContent":["export type * from './types.js';\nexport * from './context.js';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.cjs","sourceRoot":"","sources":["../../src/capabilities/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Page, BrowserContext } from '@playwright/test';\n\nexport type StateMode = 'default' | 'onboarding' | 'custom';\n\nexport type NetworkMode = 'localhost' | 'fork' | 'custom';\n\nexport type NetworkConfig = {\n mode?: NetworkMode;\n chainId?: number;\n rpcUrl?: string;\n forkBlockNumber?: number;\n chainName?: string;\n nativeCurrency?: {\n symbol: string;\n decimals: number;\n };\n};\n\nexport type FixtureData = {\n data: Record<string, unknown>;\n meta?: {\n version: number;\n };\n};\n\nexport type PortsConfig = {\n anvil?: number;\n fixtureServer?: number;\n};\n\nexport type ScreenshotOptions = {\n name: string;\n fullPage?: boolean;\n selector?: string;\n timestamp?: boolean;\n page?: Page;\n};\n\nexport type ScreenshotResult = {\n path: string;\n base64: string;\n width: number;\n height: number;\n};\n\nexport type ScreenName =\n | 'unlock'\n | 'home'\n | 'onboarding-welcome'\n | 'onboarding-import'\n | 'onboarding-create'\n | 'onboarding-srp'\n | 'onboarding-password'\n | 'onboarding-complete'\n | 'onboarding-metametrics'\n | 'settings'\n | 'send'\n | 'swap'\n | 'bridge'\n | 'confirm-transaction'\n | 'confirm-signature'\n | 'notification'\n | 'unknown';\n\nexport type ExtensionState = {\n isLoaded: boolean;\n currentUrl: string;\n extensionId: string;\n isUnlocked: boolean;\n currentScreen: ScreenName;\n accountAddress: string | null;\n networkName: string | null;\n chainId: number | null;\n balance: string | null;\n};\n\nexport type LaunchOptions = {\n extensionPath?: string;\n viewportWidth?: number;\n viewportHeight?: number;\n slowMo?: number;\n autoBuild?: boolean;\n stateMode?: StateMode;\n fixture?: FixtureData;\n ports?: PortsConfig;\n seedContracts?: string[];\n};\n\nexport type BrowserSession = {\n context: BrowserContext;\n extensionPage: Page;\n extensionId: string;\n};\n\nexport type BuildOptions = {\n buildType?: string;\n force?: boolean;\n};\n\nexport type BuildResult = {\n success: boolean;\n extensionPath: string;\n durationMs: number;\n error?: string;\n};\n\nexport type WalletState = FixtureData;\n\nexport type DeployOptions = {\n hardfork?: string;\n deployerOptions?: {\n fromAddress?: string;\n fromPrivateKey?: string;\n };\n};\n\nexport type ContractDeployment = {\n name: string;\n address: string;\n deployedAt: string;\n};\n\nexport type ContractInfo = {\n name: string;\n address: string;\n deployedAt: string;\n};\n\nexport type StateSnapshot = ExtensionState;\n\nexport type StateOptions = {\n extensionId?: string;\n chainId?: number;\n};\n\nexport type OnboardOptions = {\n seedPhrase?: string;\n password?: string;\n};\n\nexport type Observation = {\n state: ExtensionState;\n testIds: string[];\n a11yNodes: unknown[];\n};\n\nexport type BuildCapability = {\n build(options?: BuildOptions): Promise<BuildResult>;\n getExtensionPath(): string;\n isBuilt(): Promise<boolean>;\n};\n\nexport type FixtureCapability = {\n start(state: WalletState): Promise<void>;\n stop(): Promise<void>;\n getDefaultState(): WalletState;\n getOnboardingState(): WalletState;\n resolvePreset(presetName: string): WalletState;\n};\n\nexport type ChainCapability = {\n start(): Promise<void>;\n stop(): Promise<void>;\n isRunning(): boolean;\n setPort(port: number): void;\n};\n\nexport type ContractSeedingCapability = {\n deployContract(\n name: string,\n options?: DeployOptions,\n ): Promise<ContractDeployment>;\n deployContracts(\n names: string[],\n options?: DeployOptions,\n ): Promise<{\n deployed: ContractDeployment[];\n failed: {\n name: string;\n error: string;\n }[];\n }>;\n getContractAddress(name: string): string | null;\n listDeployedContracts(): ContractInfo[];\n getAvailableContracts(): string[];\n clearRegistry(): void;\n initialize(): void;\n};\n\nexport type StateSnapshotCapability = {\n getState(page: Page, options: StateOptions): Promise<StateSnapshot>;\n detectCurrentScreen(page: Page): Promise<string>;\n};\n\nexport type MockServerCapability = {\n start(): Promise<void>;\n stop(): Promise<void>;\n isRunning(): boolean;\n getServer(): unknown;\n getPort(): number;\n};\n"]}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import type { Page, BrowserContext } from "@playwright/test";
|
|
2
|
+
export type StateMode = 'default' | 'onboarding' | 'custom';
|
|
3
|
+
export type NetworkMode = 'localhost' | 'fork' | 'custom';
|
|
4
|
+
export type NetworkConfig = {
|
|
5
|
+
mode?: NetworkMode;
|
|
6
|
+
chainId?: number;
|
|
7
|
+
rpcUrl?: string;
|
|
8
|
+
forkBlockNumber?: number;
|
|
9
|
+
chainName?: string;
|
|
10
|
+
nativeCurrency?: {
|
|
11
|
+
symbol: string;
|
|
12
|
+
decimals: number;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
export type FixtureData = {
|
|
16
|
+
data: Record<string, unknown>;
|
|
17
|
+
meta?: {
|
|
18
|
+
version: number;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
export type PortsConfig = {
|
|
22
|
+
anvil?: number;
|
|
23
|
+
fixtureServer?: number;
|
|
24
|
+
};
|
|
25
|
+
export type ScreenshotOptions = {
|
|
26
|
+
name: string;
|
|
27
|
+
fullPage?: boolean;
|
|
28
|
+
selector?: string;
|
|
29
|
+
timestamp?: boolean;
|
|
30
|
+
page?: Page;
|
|
31
|
+
};
|
|
32
|
+
export type ScreenshotResult = {
|
|
33
|
+
path: string;
|
|
34
|
+
base64: string;
|
|
35
|
+
width: number;
|
|
36
|
+
height: number;
|
|
37
|
+
};
|
|
38
|
+
export type ScreenName = 'unlock' | 'home' | 'onboarding-welcome' | 'onboarding-import' | 'onboarding-create' | 'onboarding-srp' | 'onboarding-password' | 'onboarding-complete' | 'onboarding-metametrics' | 'settings' | 'send' | 'swap' | 'bridge' | 'confirm-transaction' | 'confirm-signature' | 'notification' | 'unknown';
|
|
39
|
+
export type ExtensionState = {
|
|
40
|
+
isLoaded: boolean;
|
|
41
|
+
currentUrl: string;
|
|
42
|
+
extensionId: string;
|
|
43
|
+
isUnlocked: boolean;
|
|
44
|
+
currentScreen: ScreenName;
|
|
45
|
+
accountAddress: string | null;
|
|
46
|
+
networkName: string | null;
|
|
47
|
+
chainId: number | null;
|
|
48
|
+
balance: string | null;
|
|
49
|
+
};
|
|
50
|
+
export type LaunchOptions = {
|
|
51
|
+
extensionPath?: string;
|
|
52
|
+
viewportWidth?: number;
|
|
53
|
+
viewportHeight?: number;
|
|
54
|
+
slowMo?: number;
|
|
55
|
+
autoBuild?: boolean;
|
|
56
|
+
stateMode?: StateMode;
|
|
57
|
+
fixture?: FixtureData;
|
|
58
|
+
ports?: PortsConfig;
|
|
59
|
+
seedContracts?: string[];
|
|
60
|
+
};
|
|
61
|
+
export type BrowserSession = {
|
|
62
|
+
context: BrowserContext;
|
|
63
|
+
extensionPage: Page;
|
|
64
|
+
extensionId: string;
|
|
65
|
+
};
|
|
66
|
+
export type BuildOptions = {
|
|
67
|
+
buildType?: string;
|
|
68
|
+
force?: boolean;
|
|
69
|
+
};
|
|
70
|
+
export type BuildResult = {
|
|
71
|
+
success: boolean;
|
|
72
|
+
extensionPath: string;
|
|
73
|
+
durationMs: number;
|
|
74
|
+
error?: string;
|
|
75
|
+
};
|
|
76
|
+
export type WalletState = FixtureData;
|
|
77
|
+
export type DeployOptions = {
|
|
78
|
+
hardfork?: string;
|
|
79
|
+
deployerOptions?: {
|
|
80
|
+
fromAddress?: string;
|
|
81
|
+
fromPrivateKey?: string;
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
export type ContractDeployment = {
|
|
85
|
+
name: string;
|
|
86
|
+
address: string;
|
|
87
|
+
deployedAt: string;
|
|
88
|
+
};
|
|
89
|
+
export type ContractInfo = {
|
|
90
|
+
name: string;
|
|
91
|
+
address: string;
|
|
92
|
+
deployedAt: string;
|
|
93
|
+
};
|
|
94
|
+
export type StateSnapshot = ExtensionState;
|
|
95
|
+
export type StateOptions = {
|
|
96
|
+
extensionId?: string;
|
|
97
|
+
chainId?: number;
|
|
98
|
+
};
|
|
99
|
+
export type OnboardOptions = {
|
|
100
|
+
seedPhrase?: string;
|
|
101
|
+
password?: string;
|
|
102
|
+
};
|
|
103
|
+
export type Observation = {
|
|
104
|
+
state: ExtensionState;
|
|
105
|
+
testIds: string[];
|
|
106
|
+
a11yNodes: unknown[];
|
|
107
|
+
};
|
|
108
|
+
export type BuildCapability = {
|
|
109
|
+
build(options?: BuildOptions): Promise<BuildResult>;
|
|
110
|
+
getExtensionPath(): string;
|
|
111
|
+
isBuilt(): Promise<boolean>;
|
|
112
|
+
};
|
|
113
|
+
export type FixtureCapability = {
|
|
114
|
+
start(state: WalletState): Promise<void>;
|
|
115
|
+
stop(): Promise<void>;
|
|
116
|
+
getDefaultState(): WalletState;
|
|
117
|
+
getOnboardingState(): WalletState;
|
|
118
|
+
resolvePreset(presetName: string): WalletState;
|
|
119
|
+
};
|
|
120
|
+
export type ChainCapability = {
|
|
121
|
+
start(): Promise<void>;
|
|
122
|
+
stop(): Promise<void>;
|
|
123
|
+
isRunning(): boolean;
|
|
124
|
+
setPort(port: number): void;
|
|
125
|
+
};
|
|
126
|
+
export type ContractSeedingCapability = {
|
|
127
|
+
deployContract(name: string, options?: DeployOptions): Promise<ContractDeployment>;
|
|
128
|
+
deployContracts(names: string[], options?: DeployOptions): Promise<{
|
|
129
|
+
deployed: ContractDeployment[];
|
|
130
|
+
failed: {
|
|
131
|
+
name: string;
|
|
132
|
+
error: string;
|
|
133
|
+
}[];
|
|
134
|
+
}>;
|
|
135
|
+
getContractAddress(name: string): string | null;
|
|
136
|
+
listDeployedContracts(): ContractInfo[];
|
|
137
|
+
getAvailableContracts(): string[];
|
|
138
|
+
clearRegistry(): void;
|
|
139
|
+
initialize(): void;
|
|
140
|
+
};
|
|
141
|
+
export type StateSnapshotCapability = {
|
|
142
|
+
getState(page: Page, options: StateOptions): Promise<StateSnapshot>;
|
|
143
|
+
detectCurrentScreen(page: Page): Promise<string>;
|
|
144
|
+
};
|
|
145
|
+
export type MockServerCapability = {
|
|
146
|
+
start(): Promise<void>;
|
|
147
|
+
stop(): Promise<void>;
|
|
148
|
+
isRunning(): boolean;
|
|
149
|
+
getServer(): unknown;
|
|
150
|
+
getPort(): number;
|
|
151
|
+
};
|
|
152
|
+
//# sourceMappingURL=types.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.cts","sourceRoot":"","sources":["../../src/capabilities/types.ts"],"names":[],"mappings":"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"}
|