@fairfox/polly 0.88.1 → 0.89.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.
Files changed (102) hide show
  1. package/dist/cli/polly.js +4 -4
  2. package/dist/cli/polly.js.map +2 -2
  3. package/dist/gallery/gallery.css +51 -59
  4. package/dist/gallery/gallery.js +1155 -1047
  5. package/dist/src/actions/index.js +5 -78
  6. package/dist/src/actions/index.js.map +2 -2
  7. package/dist/src/background/index.js +126 -152
  8. package/dist/src/background/index.js.map +4 -4
  9. package/dist/src/background/message-router.js +126 -152
  10. package/dist/src/background/message-router.js.map +4 -4
  11. package/dist/src/client/index.js +186 -259
  12. package/dist/src/client/index.js.map +5 -5
  13. package/dist/src/elysia/index.js +21 -35
  14. package/dist/src/elysia/index.js.map +2 -2
  15. package/dist/src/index.js +218 -246
  16. package/dist/src/index.js.map +10 -10
  17. package/dist/src/mesh.js +49 -61
  18. package/dist/src/mesh.js.map +4 -4
  19. package/dist/src/peer.js +23 -52
  20. package/dist/src/peer.js.map +2 -2
  21. package/dist/src/polly-ui/Button.d.ts +7 -0
  22. package/dist/src/polly-ui/Collapsible.d.ts +3 -1
  23. package/dist/src/polly-ui/Layout.d.ts +16 -1
  24. package/dist/src/polly-ui/index.css +47 -59
  25. package/dist/src/polly-ui/index.js +112 -124
  26. package/dist/src/polly-ui/index.js.map +13 -13
  27. package/dist/src/polly-ui/markdown.js +72 -145
  28. package/dist/src/polly-ui/markdown.js.map +2 -2
  29. package/dist/src/polly-ui/styles.css +47 -59
  30. package/dist/src/polly-ui/theme.css +10 -0
  31. package/dist/src/shared/adapters/index.js +31 -44
  32. package/dist/src/shared/adapters/index.js.map +2 -2
  33. package/dist/src/shared/lib/context-helpers.js +126 -152
  34. package/dist/src/shared/lib/context-helpers.js.map +4 -4
  35. package/dist/src/shared/lib/errors.js +1 -74
  36. package/dist/src/shared/lib/errors.js.map +2 -2
  37. package/dist/src/shared/lib/guards.js +1 -74
  38. package/dist/src/shared/lib/guards.js.map +2 -2
  39. package/dist/src/shared/lib/message-bus.js +126 -152
  40. package/dist/src/shared/lib/message-bus.js.map +4 -4
  41. package/dist/src/shared/lib/resource.js +16 -27
  42. package/dist/src/shared/lib/resource.js.map +5 -5
  43. package/dist/src/shared/lib/state.js +13 -26
  44. package/dist/src/shared/lib/state.js.map +2 -2
  45. package/dist/src/shared/lib/test-helpers.js +1 -74
  46. package/dist/src/shared/lib/test-helpers.js.map +2 -2
  47. package/dist/src/shared/state/app-state.js +35 -46
  48. package/dist/src/shared/state/app-state.js.map +5 -5
  49. package/dist/src/shared/types/messages.js +1 -74
  50. package/dist/src/shared/types/messages.js.map +2 -2
  51. package/dist/tools/bdd/src/cli.js +11 -15
  52. package/dist/tools/bdd/src/cli.js.map +2 -2
  53. package/dist/tools/bdd/src/index.js +11 -19
  54. package/dist/tools/bdd/src/index.js.map +2 -2
  55. package/dist/tools/gallery/src/cli.js +1 -18
  56. package/dist/tools/gallery/src/cli.js.map +2 -2
  57. package/dist/tools/init/src/cli.js +1 -18
  58. package/dist/tools/init/src/cli.js.map +2 -2
  59. package/dist/tools/mutate/src/cli.js +8 -25
  60. package/dist/tools/mutate/src/cli.js.map +2 -2
  61. package/dist/tools/mutate/src/index.js +8 -26
  62. package/dist/tools/mutate/src/index.js.map +2 -2
  63. package/dist/tools/quality/src/cli.js +39 -46
  64. package/dist/tools/quality/src/cli.js.map +3 -3
  65. package/dist/tools/quality/src/css/check-layout.d.ts +5 -3
  66. package/dist/tools/quality/src/index.js +39 -47
  67. package/dist/tools/quality/src/index.js.map +3 -3
  68. package/dist/tools/test/src/adapters/index.js +4 -77
  69. package/dist/tools/test/src/adapters/index.js.map +2 -2
  70. package/dist/tools/test/src/browser/index.js +1 -74
  71. package/dist/tools/test/src/browser/index.js.map +2 -2
  72. package/dist/tools/test/src/browser/run.js +5 -22
  73. package/dist/tools/test/src/browser/run.js.map +2 -2
  74. package/dist/tools/test/src/contrast/index.js +1 -74
  75. package/dist/tools/test/src/contrast/index.js.map +2 -2
  76. package/dist/tools/test/src/coverage-policy/cli.js +13 -25
  77. package/dist/tools/test/src/coverage-policy/cli.js.map +2 -2
  78. package/dist/tools/test/src/coverage-policy/index.js +11 -23
  79. package/dist/tools/test/src/coverage-policy/index.js.map +2 -2
  80. package/dist/tools/test/src/e2e-mesh/index.js +18 -43
  81. package/dist/tools/test/src/e2e-mesh/index.js.map +2 -2
  82. package/dist/tools/test/src/e2e-relay/index.js +615 -623
  83. package/dist/tools/test/src/e2e-relay/index.js.map +2 -2
  84. package/dist/tools/test/src/index.js +30 -103
  85. package/dist/tools/test/src/index.js.map +5 -5
  86. package/dist/tools/test/src/test-utils.js +1 -74
  87. package/dist/tools/test/src/test-utils.js.map +2 -2
  88. package/dist/tools/test/src/tiers/cli.js +1 -18
  89. package/dist/tools/test/src/tiers/cli.js.map +2 -2
  90. package/dist/tools/test/src/tiers/worker.js +11 -15
  91. package/dist/tools/test/src/tiers/worker.js.map +2 -2
  92. package/dist/tools/test/src/visual/index.js +1112 -1134
  93. package/dist/tools/test/src/visual/index.js.map +3 -3
  94. package/dist/tools/verify/src/cli.js +103 -169
  95. package/dist/tools/verify/src/cli.js.map +2 -2
  96. package/dist/tools/verify/src/config.js +1 -74
  97. package/dist/tools/verify/src/config.js.map +2 -2
  98. package/dist/tools/verify/src/stryker/index.js +1 -19
  99. package/dist/tools/verify/src/stryker/index.js.map +2 -2
  100. package/dist/tools/visualize/src/cli.js +69 -85
  101. package/dist/tools/visualize/src/cli.js.map +2 -2
  102. package/package.json +1 -1
package/dist/cli/polly.js CHANGED
@@ -233,11 +233,11 @@ async function coverage() {
233
233
  if (!isMonorepo && await Bun.file(bundledCli).exists()) {
234
234
  cliPath = bundledCli;
235
235
  }
236
- const args2 = [...commandArgs];
236
+ const args = [...commandArgs];
237
237
  if (isMonorepo) {
238
- args2.unshift("--config", "scripts/coverage.config.ts", "--no-mutate");
238
+ args.unshift("--config", "scripts/coverage.config.ts", "--no-mutate");
239
239
  }
240
- const proc = Bun.spawn(["bun", cliPath, ...args2], {
240
+ const proc = Bun.spawn(["bun", cliPath, ...args], {
241
241
  cwd,
242
242
  stdout: "inherit",
243
243
  stderr: "inherit",
@@ -427,4 +427,4 @@ async function main() {
427
427
  }
428
428
  main();
429
429
 
430
- //# debugId=1DBAAD2088CE3FEC64756E2164756E21
430
+ //# debugId=74B478139EB9CA7164756E2164756E21
@@ -4,7 +4,7 @@
4
4
  "sourcesContent": [
5
5
  "#!/usr/bin/env bun\n/**\n * Polly CLI\n *\n * Command-line tool for building multi-execution-context applications\n * with reactive state and cross-context messaging.\n *\n * Supports: Chrome extensions, PWAs, Node/Bun/Deno apps with workers\n *\n * Usage:\n * polly init [name] [--type=TYPE] Create a new project\n * polly check Run all checks (typecheck, lint, test, build)\n * polly build [options] Build the project\n * polly dev Build with watch mode\n * polly typecheck Type check your code\n * polly lint [--fix] Lint your code\n * polly format Format your code\n * polly test [args] Run tests (requires bun test)\n * polly test:browser [dir] Run *.browser.{ts,tsx} in Puppeteer\n * polly coverage [flags] Coverage policy + orphan + Stryker checks\n * polly mutate [args] Mutation testing + useless-test detection\n * polly verify [args] Run formal verification\n * polly visualize [args] Generate architecture diagrams\n * polly quality [args] Run quality conformance checks\n * polly help Show help\n *\n * Project Types (init --type):\n * extension Chrome/Firefox extension (default)\n * pwa Progressive Web App with workers\n * websocket WebSocket server application\n * generic Generic TypeScript project\n *\n * Options:\n * --prod Build for production (minified)\n * --config <path> Path to config file (default: polly.config.ts)\n * --fix Auto-fix lint/format issues\n * --type=TYPE Project type for init command\n */\n\n// Use Bun built-ins instead of Node.js APIs\nconst __dirname = import.meta.dir;\n\nconst command = process.argv[2];\nconst commandArgs = process.argv.slice(3);\nconst cwd = process.cwd();\n\n// Parse arguments\nconst args = {\n prod: process.argv.includes(\"--prod\"),\n config: process.argv.includes(\"--config\")\n ? process.argv[process.argv.indexOf(\"--config\") + 1]\n : undefined,\n};\n\n/**\n * Load user's configuration\n */\nasync function loadConfig() {\n const configPaths = [\n args.config,\n `${cwd}/polly.config.ts`,\n `${cwd}/polly.config.js`,\n `${cwd}/polly.config.mjs`,\n ].filter(Boolean) as unknown as string[];\n\n for (const configPath of configPaths) {\n // Use Bun.file().exists() instead of existsSync\n if (await Bun.file(configPath).exists()) {\n try {\n const config = await import(configPath);\n return config.default || config;\n } catch (error) {\n console.log(`❌ Failed to load config: ${configPath}`);\n throw error;\n }\n }\n }\n return {\n srcDir: \"src\",\n distDir: \"dist\",\n manifest: \"manifest.json\",\n };\n}\n\n/**\n * Build command - build the extension\n */\nasync function build() {\n const config = await loadConfig();\n\n // Check if bundled (published) or in monorepo\n const bundledScript = `${__dirname}/../scripts/build-extension.js`;\n const monorepoScript = `${__dirname}/../scripts/build-extension.ts`;\n const buildScriptPath = (await Bun.file(bundledScript).exists()) ? bundledScript : monorepoScript;\n\n // Pass config via environment\n process.env[\"WEB_EXT_SRC\"] = `${cwd}/${config.srcDir || \"src\"}`;\n process.env[\"WEB_EXT_DIST\"] = `${cwd}/${config.distDir || \"dist\"}`;\n process.env[\"WEB_EXT_MANIFEST\"] = `${cwd}/${config.manifest || \"manifest.json\"}`;\n process.env[\"WEB_EXT_CWD\"] = cwd;\n process.env[\"WEB_EXT_PROD\"] = args.prod ? \"true\" : \"false\";\n\n // Run build\n const proc = Bun.spawn([\"bun\", buildScriptPath], {\n cwd,\n stdout: \"inherit\",\n stderr: \"inherit\",\n });\n\n const exitCode = await proc.exited;\n if (exitCode !== 0) {\n process.exit(exitCode);\n }\n}\n\n/**\n * Dev command - build with watch mode\n */\nasync function dev() {\n await build();\n}\n\n/**\n * Verify command - delegate to @fairfox/web-ext-verify\n */\nasync function verify() {\n // Check if bundled (published) or in monorepo\n const bundledCli = `${__dirname}/../tools/verify/src/cli.js`;\n const monorepoCli = `${__dirname}/../tools/verify/src/cli.ts`;\n const verifyCli = (await Bun.file(bundledCli).exists()) ? bundledCli : monorepoCli;\n\n const proc = Bun.spawn([\"bun\", verifyCli, ...commandArgs], {\n cwd,\n stdout: \"inherit\",\n stderr: \"inherit\",\n stdin: \"inherit\",\n env: process.env,\n });\n\n const exitCode = await proc.exited;\n if (exitCode !== 0) {\n throw new Error(`Verification failed with exit code ${exitCode}`);\n }\n}\n\n/**\n * Mutate command - delegate to tools/mutate (Stryker + useless-test detection)\n */\nasync function mutate() {\n // Check if bundled (published) or in monorepo\n const bundledCli = `${__dirname}/../tools/mutate/src/cli.js`;\n const monorepoCli = `${__dirname}/../tools/mutate/src/cli.ts`;\n const mutateCli = (await Bun.file(bundledCli).exists()) ? bundledCli : monorepoCli;\n\n // Pass the full commandArgs through — the tool's own cli reads the subcommand\n // (run/report/decisions/verify) as its first positional.\n const proc = Bun.spawn([\"bun\", mutateCli, ...commandArgs], {\n cwd,\n stdout: \"inherit\",\n stderr: \"inherit\",\n stdin: \"inherit\",\n env: process.env,\n });\n\n const exitCode = await proc.exited;\n if (exitCode !== 0) {\n throw new Error(`Mutation testing failed with exit code ${exitCode}`);\n }\n}\n\n/**\n * BDD command - delegate to tools/bdd (executable Gherkin against the model)\n */\nasync function bdd() {\n // Check if bundled (published) or in monorepo\n const bundledCli = `${__dirname}/../tools/bdd/src/cli.js`;\n const monorepoCli = `${__dirname}/../tools/bdd/src/cli.ts`;\n const bddCli = (await Bun.file(bundledCli).exists()) ? bundledCli : monorepoCli;\n\n // Pass the full commandArgs through — the tool's own cli reads the subcommand\n // (run/check/new) as its first positional.\n const proc = Bun.spawn([\"bun\", bddCli, ...commandArgs], {\n cwd,\n stdout: \"inherit\",\n stderr: \"inherit\",\n stdin: \"inherit\",\n env: process.env,\n });\n\n const exitCode = await proc.exited;\n if (exitCode !== 0) {\n throw new Error(`BDD run failed with exit code ${exitCode}`);\n }\n}\n\n/**\n * Visualize command - delegate to @fairfox/polly-visualize\n */\nasync function visualize() {\n // Check if bundled (published) or in monorepo\n const bundledCli = `${__dirname}/../tools/visualize/src/cli.js`;\n const monorepoCli = `${__dirname}/../tools/visualize/src/cli.ts`;\n const visualizeCli = (await Bun.file(bundledCli).exists()) ? bundledCli : monorepoCli;\n\n const proc = Bun.spawn([\"bun\", visualizeCli, ...commandArgs], {\n cwd,\n stdout: \"inherit\",\n stderr: \"inherit\",\n stdin: \"inherit\",\n env: process.env,\n });\n\n const exitCode = await proc.exited;\n if (exitCode !== 0) {\n throw new Error(`Visualization failed with exit code ${exitCode}`);\n }\n}\n\n/**\n * Gallery command - delegate to tools/gallery (serve/export the polly-ui gallery)\n */\nasync function gallery() {\n const bundledCli = `${__dirname}/../tools/gallery/src/cli.js`;\n const monorepoCli = `${__dirname}/../tools/gallery/src/cli.ts`;\n const galleryCli = (await Bun.file(bundledCli).exists()) ? bundledCli : monorepoCli;\n\n const proc = Bun.spawn([\"bun\", galleryCli, ...commandArgs], {\n cwd,\n stdout: \"inherit\",\n stderr: \"inherit\",\n stdin: \"inherit\",\n env: process.env,\n });\n\n const exitCode = await proc.exited;\n if (exitCode !== 0) {\n throw new Error(`Gallery failed with exit code ${exitCode}`);\n }\n}\n\n/**\n * Quality command - delegate to @fairfox/polly-quality\n */\nasync function quality() {\n const bundledCli = `${__dirname}/../tools/quality/src/cli.js`;\n const monorepoCli = `${__dirname}/../tools/quality/src/cli.ts`;\n const qualityCli = (await Bun.file(bundledCli).exists()) ? bundledCli : monorepoCli;\n\n const proc = Bun.spawn([\"bun\", qualityCli, ...commandArgs], {\n cwd,\n stdout: \"inherit\",\n stderr: \"inherit\",\n stdin: \"inherit\",\n env: process.env,\n });\n\n const exitCode = await proc.exited;\n if (exitCode !== 0) {\n throw new Error(`Quality checks failed with exit code ${exitCode}`);\n }\n}\n\n/**\n * Typecheck command - run TypeScript type checking\n */\nasync function typecheck() {\n const proc = Bun.spawn([\"bunx\", \"tsc\", \"--noEmit\"], {\n cwd,\n stdout: \"inherit\",\n stderr: \"inherit\",\n });\n\n const exitCode = await proc.exited;\n if (exitCode !== 0) {\n throw new Error(`Type checking failed with exit code ${exitCode}`);\n }\n}\n\n/**\n * Lint command - run Biome linter\n */\nasync function lint() {\n const fix = commandArgs.includes(\"--fix\");\n const lintArgs = fix ? [\"check\", \"--write\", \".\"] : [\"check\", \".\"];\n\n const proc = Bun.spawn([\"bunx\", \"@biomejs/biome\", ...lintArgs], {\n cwd,\n stdout: \"inherit\",\n stderr: \"inherit\",\n });\n\n const exitCode = await proc.exited;\n if (exitCode !== 0) {\n throw new Error(`Linting failed with exit code ${exitCode}`);\n }\n}\n\n/**\n * Format command - run Biome formatter\n */\nasync function format() {\n const proc = Bun.spawn([\"bunx\", \"@biomejs/biome\", \"format\", \"--write\", \".\"], {\n cwd,\n stdout: \"inherit\",\n stderr: \"inherit\",\n });\n\n const exitCode = await proc.exited;\n if (exitCode !== 0) {\n throw new Error(`Formatting failed with exit code ${exitCode}`);\n }\n}\n\n/** Flags that switch `polly test` into the tiered runner. */\nconst TIER_MODE_FLAGS = [\n \"--tier\",\n \"--all\",\n \"--full\",\n \"--list\",\n \"--only\",\n \"--bail\",\n \"--strict-needs\",\n];\n\n/** True when `polly test` should run the multi-tier orchestrator. */\nfunction isTierMode(rawArgs: string[]): boolean {\n return rawArgs.some(\n (a) => TIER_MODE_FLAGS.includes(a) || a.startsWith(\"--tier\") || a.startsWith(\"--only\")\n );\n}\n\n/**\n * Tiered test command — `polly test --tier=… / --all / --full / --list`.\n * Drives the multi-tier engine with structured, timed reporting.\n *\n * Dispatch is by binary location, not cwd: inside the Polly repo (source\n * binary) it runs Polly's OWN suite via scripts/test/cli.ts; for an installed\n * package (scripts/ isn't shipped) it runs consumer auto-discovery, which\n * builds a plan from the consumer's own tests (tools/test/src/tiers/cli).\n */\nasync function testTiers() {\n const monorepoCli = `${__dirname}/../scripts/test/cli.ts`;\n const bundledConsumer = `${__dirname}/../tools/test/src/tiers/cli.js`;\n const sourceConsumer = `${__dirname}/../tools/test/src/tiers/cli.ts`;\n\n let runnerCli: string;\n if (await Bun.file(monorepoCli).exists()) {\n runnerCli = monorepoCli; // in the Polly repo: Polly's own tiered suite\n } else if (await Bun.file(bundledConsumer).exists()) {\n runnerCli = bundledConsumer; // installed package: discover the consumer's tiers\n } else {\n runnerCli = sourceConsumer;\n }\n\n const proc = Bun.spawn([\"bun\", runnerCli, ...commandArgs], {\n cwd,\n stdout: \"inherit\",\n stderr: \"inherit\",\n stdin: \"inherit\",\n env: process.env,\n });\n\n const exitCode = await proc.exited;\n if (exitCode !== 0) {\n throw new Error(`Tiered tests failed with exit code ${exitCode}`);\n }\n}\n\n/**\n * Coverage command — per-file coverage policy, orphan detection, and Stryker\n * mutate-target validation. Zero-config in a consumer project; inside the\n * Polly repo it runs against Polly's own coverage.config.ts.\n */\nasync function coverage() {\n const monorepoMarker = `${__dirname}/../scripts/coverage.config.ts`;\n const sourceCli = `${__dirname}/../tools/test/src/coverage-policy/cli.ts`;\n const bundledCli = `${__dirname}/../tools/test/src/coverage-policy/cli.js`;\n\n const isMonorepo = await Bun.file(monorepoMarker).exists();\n let cliPath = sourceCli;\n if (!isMonorepo && (await Bun.file(bundledCli).exists())) {\n cliPath = bundledCli;\n }\n\n const args = [...commandArgs];\n if (isMonorepo) {\n // Polly's config lives under scripts/, and its Stryker config sits at the\n // monorepo root (checked separately by `polly check`).\n args.unshift(\"--config\", \"scripts/coverage.config.ts\", \"--no-mutate\");\n }\n\n const proc = Bun.spawn([\"bun\", cliPath, ...args], {\n cwd,\n stdout: \"inherit\",\n stderr: \"inherit\",\n stdin: \"inherit\",\n env: process.env,\n });\n const exitCode = await proc.exited;\n if (exitCode !== 0) {\n throw new Error(`Coverage check failed with exit code ${exitCode}`);\n }\n}\n\n/**\n * Test command - delegate to @fairfox/polly-test\n */\nasync function test() {\n // Check if bundled (published) or in monorepo\n const bundledCli = `${__dirname}/../tools/test/src/cli.js`;\n const monorepoCli = `${__dirname}/../tools/test/src/cli.ts`;\n const testCli = (await Bun.file(bundledCli).exists()) ? bundledCli : monorepoCli;\n\n const proc = Bun.spawn([\"bun\", testCli, ...commandArgs], {\n cwd,\n stdout: \"inherit\",\n stderr: \"inherit\",\n stdin: \"inherit\",\n });\n\n const exitCode = await proc.exited;\n if (exitCode !== 0) {\n throw new Error(`Tests failed with exit code ${exitCode}`);\n }\n}\n\n/**\n * Browser test command — bundles *.browser.{ts,tsx} files, serves them,\n * opens a Puppeteer page, and collects results. Consumers use this to\n * run tests written with @fairfox/polly/test/browser in a real browser.\n */\nasync function testBrowser() {\n const bundledCli = `${__dirname}/../tools/test/src/browser/run.js`;\n const monorepoCli = `${__dirname}/../tools/test/src/browser/run.ts`;\n const browserCli = (await Bun.file(bundledCli).exists()) ? bundledCli : monorepoCli;\n\n const proc = Bun.spawn([\"bun\", browserCli, ...commandArgs], {\n cwd,\n stdout: \"inherit\",\n stderr: \"inherit\",\n stdin: \"inherit\",\n env: process.env,\n });\n\n const exitCode = await proc.exited;\n if (exitCode !== 0) {\n throw new Error(`Browser tests failed with exit code ${exitCode}`);\n }\n}\n\n/**\n * Check command - run all quality checks in sequence\n */\nasync function check() {\n const checks = [\n { name: \"Type checking\", fn: typecheck },\n { name: \"Linting\", fn: lint },\n { name: \"Testing\", fn: test },\n { name: \"Building\", fn: build },\n { name: \"Verification\", fn: verify, optional: true },\n { name: \"Visualization\", fn: visualize, optional: true },\n ];\n\n for (const { name, fn, optional } of checks) {\n try {\n await fn();\n } catch (_error) {\n if (optional) {\n continue;\n }\n console.log(`\\n\\x1b[31m✗ ${name} failed\\x1b[0m\\n`);\n process.exit(1);\n }\n }\n}\n\n/**\n * Init command - delegate to @fairfox/polly-init\n */\nasync function init() {\n // Check if bundled (published) or in monorepo\n const bundledCli = `${__dirname}/../tools/init/src/cli.js`;\n const monorepoCli = `${__dirname}/../tools/init/src/cli.ts`;\n const initCli = (await Bun.file(bundledCli).exists()) ? bundledCli : monorepoCli;\n\n const proc = Bun.spawn([\"bun\", initCli, ...commandArgs], {\n cwd,\n stdout: \"inherit\",\n stderr: \"inherit\",\n stdin: \"inherit\",\n });\n\n const exitCode = await proc.exited;\n if (exitCode !== 0) {\n throw new Error(`Initialization failed with exit code ${exitCode}`);\n }\n}\n\n/**\n * Help command — prints usage from the docstring at the top of this file\n */\nfunction help() {\n console.log(`Polly CLI — multi-execution-context framework\n\nUsage:\n polly init [name] [--type=TYPE] Create a new project\n polly check Run all checks (typecheck, lint, test, build)\n polly build [options] Build the project\n polly dev Build with watch mode\n polly typecheck Type check your code\n polly lint [--fix] Lint your code\n polly format Format your code\n polly test [args] Run tests (bun test)\n polly test --tier=T | --all | --full | --list\n Run the multi-tier suite (unit → integration\n → browser → e2e → verify) with timed reports\n polly test:browser [dir] Run *.browser.{ts,tsx} in Puppeteer\n polly coverage [flags] Per-file coverage policy, orphan detection,\n and Stryker target validation (zero-config)\n polly mutate [init|run|report|verify] Mutation testing + useless/redundant-test detection\n polly mutate decisions [decide] Review/record verdicts on subsumed tests\n polly verify [args] Run formal verification\n polly bdd [run|check|new] Executable Gherkin across the real boundary,\n cross-checked against the verification config\n polly visualize [args] Generate architecture diagrams\n polly gallery [--port|--build|--open] Serve/export the polly-ui component gallery\n polly quality [args] Run quality conformance checks\n polly help Show this help\n\nOptions:\n --prod Build for production (minified)\n --config <path> Path to config file (default: polly.config.ts)\n --fix Auto-fix lint/format issues\n --type=TYPE Project type for init command (pwa, extension, websocket, generic)`);\n}\n\n/**\n * Main entry point\n */\nasync function main() {\n try {\n switch (command) {\n case \"init\":\n await init();\n break;\n case \"check\":\n await check();\n break;\n case \"build\":\n await build();\n break;\n case \"dev\":\n await dev();\n break;\n case \"typecheck\":\n await typecheck();\n break;\n case \"lint\":\n await lint();\n break;\n case \"format\":\n await format();\n break;\n case \"test\":\n if (isTierMode(commandArgs)) {\n await testTiers();\n } else {\n await test();\n }\n break;\n case \"test:browser\":\n await testBrowser();\n break;\n case \"coverage\":\n await coverage();\n break;\n case \"mutate\":\n await mutate();\n break;\n case \"verify\":\n await verify();\n break;\n case \"bdd\":\n await bdd();\n break;\n case \"visualize\":\n await visualize();\n break;\n case \"gallery\":\n await gallery();\n break;\n case \"quality\":\n await quality();\n break;\n case \"help\":\n case \"--help\":\n case \"-h\":\n case undefined:\n help();\n break;\n default:\n console.log(`❌ Unknown command: ${command}\\n`);\n help();\n process.exit(1);\n }\n } catch (error) {\n console.log(\"\\n❌ Command failed:\", error);\n process.exit(1);\n }\n}\n\nmain();\n"
6
6
  ],
7
- "mappings": "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",
8
- "debugId": "1DBAAD2088CE3FEC64756E2164756E21",
7
+ "mappings": "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",
8
+ "debugId": "74B478139EB9CA7164756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -28,13 +28,12 @@
28
28
  }
29
29
 
30
30
  .view_-n6UrQ {
31
- display: flex;
32
31
  cursor: text;
33
32
  white-space: pre-wrap;
34
33
  word-break: break-word;
35
34
  transition: background var(--polly-motion-fast) ease, border-color var(--polly-motion-fast) ease;
36
35
  background: none;
37
- align-items: center;
36
+ align-content: center;
38
37
  }
39
38
 
40
39
  .view_-n6UrQ:hover {
@@ -54,6 +53,7 @@
54
53
 
55
54
  .root_-n6UrQ[data-variant="multi"] {
56
55
  display: block;
56
+ line-height: var(--polly-line-height-base);
57
57
  field-sizing: content;
58
58
  padding-block: calc((var(--polly-control-height-md) - 1.5em - 2 * var(--polly-border-width-default)) / 2);
59
59
  resize: vertical;
@@ -69,8 +69,7 @@
69
69
  }
70
70
 
71
71
  .trigger_HX48zA {
72
- display: inline-flex;
73
- align-items: center;
72
+ align-content: center;
74
73
  }
75
74
 
76
75
  .menu_HX48zA {
@@ -164,9 +163,6 @@
164
163
  }
165
164
 
166
165
  .trigger_daofbw {
167
- display: inline-flex;
168
- align-items: center;
169
- gap: var(--polly-space-sm);
170
166
  min-block-size: var(--polly-control-height-md);
171
167
  max-width: min(100%, var(--polly-control-max-width));
172
168
  padding-block-start: 0;
@@ -180,6 +176,7 @@
180
176
  color: var(--polly-text);
181
177
  text-align: start;
182
178
  cursor: pointer;
179
+ align-content: center;
183
180
  }
184
181
 
185
182
  .trigger_daofbw:disabled, .trigger_daofbw[aria-disabled="true"] {
@@ -195,15 +192,13 @@
195
192
  white-space: nowrap;
196
193
  overflow: hidden;
197
194
  text-overflow: ellipsis;
198
- flex: auto;
199
- min-width: 0;
195
+ min-inline-size: 0;
200
196
  }
201
197
 
202
198
  .caret_daofbw {
203
199
  color: var(--polly-caret-color);
204
200
  pointer-events: none;
205
201
  transition: transform var(--polly-motion-fast) ease;
206
- flex: none;
207
202
  }
208
203
 
209
204
  .caret_daofbw:before {
@@ -317,10 +312,6 @@
317
312
  /* src/polly-ui/Button.module.css */
318
313
  @layer polly-components {
319
314
  .btn_c4HKfA {
320
- display: inline-flex;
321
- justify-content: center;
322
- align-items: center;
323
- gap: var(--polly-space-sm);
324
315
  min-block-size: var(--polly-control-height-md);
325
316
  padding-block-start: 0;
326
317
  padding-block-end: 0;
@@ -337,6 +328,7 @@
337
328
  user-select: none;
338
329
  box-sizing: border-box;
339
330
  transition: background-color var(--polly-motion-fast), border-color var(--polly-motion-fast), color var(--polly-motion-fast);
331
+ align-content: center;
340
332
  }
341
333
 
342
334
  .btn_c4HKfA:disabled, .btn_c4HKfA[aria-disabled="true"] {
@@ -442,6 +434,23 @@
442
434
  width: 100%;
443
435
  }
444
436
 
437
+ .btnFlush_c4HKfA {
438
+ margin-inline: calc(-1 * (var(--polly-control-padding-md) + var(--polly-border-width-default)));
439
+ }
440
+
441
+ .btnSmall_c4HKfA.btnFlush_c4HKfA {
442
+ margin-inline: calc(-1 * (var(--polly-control-padding-sm) + var(--polly-border-width-default)));
443
+ }
444
+
445
+ .btnLarge_c4HKfA.btnFlush_c4HKfA {
446
+ margin-inline: calc(-1 * (var(--polly-control-padding-lg) + var(--polly-border-width-default)));
447
+ }
448
+
449
+ .btnCircle_c4HKfA.btnFlush_c4HKfA {
450
+ margin-inline-start: 0;
451
+ margin-inline-end: 0;
452
+ }
453
+
445
454
  .btnBounded_c4HKfA {
446
455
  max-width: var(--polly-control-max-width);
447
456
  overflow: hidden;
@@ -450,9 +459,7 @@
450
459
  }
451
460
 
452
461
  .icon_c4HKfA {
453
- display: inline-flex;
454
- flex: none;
455
- align-items: center;
462
+ vertical-align: middle;
456
463
  }
457
464
 
458
465
  .label_c4HKfA {
@@ -464,6 +471,10 @@
464
471
  text-overflow: ellipsis;
465
472
  white-space: nowrap;
466
473
  }
474
+
475
+ .btnBounded_c4HKfA {
476
+ text-overflow: ellipsis;
477
+ }
467
478
  }
468
479
 
469
480
  /* src/polly-ui/Surface.module.css */
@@ -547,9 +558,6 @@
547
558
  /* src/polly-ui/Checkbox.module.css */
548
559
  @layer polly-components {
549
560
  .checkbox_EKE5sg {
550
- display: inline-flex;
551
- align-items: center;
552
- gap: var(--polly-space-sm);
553
561
  box-sizing: border-box;
554
562
  min-block-size: var(--polly-control-height-md);
555
563
  cursor: pointer;
@@ -637,6 +645,8 @@
637
645
 
638
646
  .summary_sEhnPw {
639
647
  padding: var(--polly-space-sm) var(--polly-space-md);
648
+ min-block-size: var(--polly-control-height-md);
649
+ box-sizing: border-box;
640
650
  cursor: pointer;
641
651
  font-family: inherit;
642
652
  font-size: var(--polly-text-md);
@@ -651,23 +661,26 @@
651
661
  display: none;
652
662
  }
653
663
 
654
- .summary_sEhnPw:before {
664
+ .marker_sEhnPw:before {
655
665
  content: "▶";
656
- display: inline-block;
666
+ display: block;
657
667
  font-size: var(--polly-text-xs);
658
668
  transition: transform var(--polly-motion-fast);
659
- margin-inline-end: var(--polly-space-sm);
660
669
  }
661
670
 
662
- [dir="rtl"] .summary_sEhnPw:before {
671
+ .summaryContent_sEhnPw {
672
+ min-inline-size: 0;
673
+ }
674
+
675
+ [dir="rtl"] .marker_sEhnPw:before {
663
676
  transform: scaleX(-1);
664
677
  }
665
678
 
666
- .collapsible_sEhnPw[open] > .summary_sEhnPw:before {
679
+ .collapsible_sEhnPw[open] .marker_sEhnPw:before {
667
680
  transform: rotate(90deg);
668
681
  }
669
682
 
670
- [dir="rtl"] .collapsible_sEhnPw[open] > .summary_sEhnPw:before {
683
+ [dir="rtl"] .collapsible_sEhnPw[open] .marker_sEhnPw:before {
671
684
  transform: rotate(-90deg);
672
685
  }
673
686
 
@@ -684,15 +697,11 @@
684
697
  /* src/polly-ui/ConfirmDialog.module.css */
685
698
  @layer polly-components {
686
699
  .actions_ZfTX4A {
687
- display: grid;
688
- grid-auto-flow: column;
689
- gap: var(--polly-space-sm);
690
- justify-content: end;
700
+ inline-size: 100%;
691
701
  }
692
702
 
693
703
  .cancel_ZfTX4A, .confirm_ZfTX4A, .confirmDanger_ZfTX4A {
694
704
  appearance: none;
695
- display: inline-flex;
696
705
  min-block-size: var(--polly-control-height-md);
697
706
  padding-block-start: 0;
698
707
  padding-block-end: 0;
@@ -703,8 +712,7 @@
703
712
  border-radius: var(--polly-control-radius);
704
713
  cursor: pointer;
705
714
  transition: background var(--polly-motion-fast) ease;
706
- justify-content: center;
707
- align-items: center;
715
+ align-content: center;
708
716
  }
709
717
 
710
718
  .cancel_ZfTX4A {
@@ -741,9 +749,7 @@
741
749
  @layer polly-components {
742
750
  .container_fLMrWA {
743
751
  position: fixed;
744
- display: grid;
745
752
  pointer-events: none;
746
- place-items: center;
747
753
  inset: 0;
748
754
  }
749
755
 
@@ -785,7 +791,6 @@
785
791
 
786
792
  .close_fLMrWA {
787
793
  appearance: none;
788
- display: inline-flex;
789
794
  min-block-size: var(--polly-control-height-md);
790
795
  color: var(--polly-text);
791
796
  border: var(--polly-border-width-default) solid transparent;
@@ -797,8 +802,7 @@
797
802
  cursor: pointer;
798
803
  transition: background var(--polly-motion-fast) ease, border-color var(--polly-motion-fast) ease;
799
804
  background: none;
800
- justify-content: center;
801
- align-items: center;
805
+ align-content: center;
802
806
  }
803
807
 
804
808
  .close_fLMrWA:hover {
@@ -819,9 +823,6 @@
819
823
  /* src/polly-ui/FileInput.module.css */
820
824
  @layer polly-components {
821
825
  .fileInput_esO1fA {
822
- display: inline-flex;
823
- align-items: center;
824
- gap: var(--polly-space-sm);
825
826
  box-sizing: border-box;
826
827
  min-block-size: var(--polly-control-height-md);
827
828
  padding-block-start: 0;
@@ -834,6 +835,7 @@
834
835
  font-size: var(--polly-text-md);
835
836
  color: var(--polly-text);
836
837
  cursor: pointer;
838
+ align-content: center;
837
839
  }
838
840
 
839
841
  .fileInput_esO1fA:hover {
@@ -959,7 +961,6 @@
959
961
  }
960
962
 
961
963
  .tab_xKO6GA {
962
- display: inline-flex;
963
964
  min-block-size: var(--polly-control-height-md);
964
965
  padding-block-start: 0;
965
966
  padding-block-end: 0;
@@ -974,8 +975,7 @@
974
975
  white-space: nowrap;
975
976
  transition: color var(--polly-motion-fast), border-color var(--polly-motion-fast);
976
977
  background: none;
977
- justify-content: center;
978
- align-items: center;
978
+ align-content: center;
979
979
  }
980
980
 
981
981
  .tab_xKO6GA:hover:not(:disabled) {
@@ -1109,8 +1109,7 @@
1109
1109
  }
1110
1110
 
1111
1111
  .field_ez4_Vg {
1112
- display: grid;
1113
- gap: var(--polly-space-xs);
1112
+ inline-size: 100%;
1114
1113
  }
1115
1114
 
1116
1115
  .error_ez4_Vg {
@@ -1122,16 +1121,11 @@
1122
1121
  /* src/polly-ui/Toast.module.css */
1123
1122
  @layer polly-components {
1124
1123
  .viewport_xVzRuA {
1125
- display: grid;
1126
- gap: var(--polly-space-sm);
1124
+ inline-size: max-content;
1127
1125
  }
1128
1126
 
1129
1127
  .item_xVzRuA {
1130
- display: grid;
1131
- grid-template-columns: 1fr auto;
1132
- gap: var(--polly-space-md);
1133
1128
  color: var(--polly-text);
1134
- align-items: center;
1135
1129
  min-inline-size: 16em;
1136
1130
  max-inline-size: 28em;
1137
1131
  }
@@ -1151,7 +1145,6 @@
1151
1145
 
1152
1146
  .close_xVzRuA {
1153
1147
  appearance: none;
1154
- display: inline-flex;
1155
1148
  min-block-size: var(--polly-control-height-sm);
1156
1149
  color: inherit;
1157
1150
  border: var(--polly-border-width-default) solid transparent;
@@ -1162,8 +1155,7 @@
1162
1155
  font: inherit;
1163
1156
  cursor: pointer;
1164
1157
  background: none;
1165
- justify-content: center;
1166
- align-items: center;
1158
+ align-content: center;
1167
1159
  }
1168
1160
 
1169
1161
  .close_xVzRuA:hover {
@@ -1174,9 +1166,6 @@
1174
1166
  /* src/polly-ui/Toggle.module.css */
1175
1167
  @layer polly-components {
1176
1168
  .toggle_rnf-SQ {
1177
- display: inline-flex;
1178
- align-items: center;
1179
- gap: var(--polly-space-sm);
1180
1169
  box-sizing: border-box;
1181
1170
  min-block-size: var(--polly-control-height-md);
1182
1171
  cursor: pointer;
@@ -1209,7 +1198,6 @@
1209
1198
  border-radius: var(--polly-radius-full);
1210
1199
  background-color: var(--polly-border);
1211
1200
  transition: background-color var(--polly-motion-fast);
1212
- flex: none;
1213
1201
  width: 36px;
1214
1202
  height: 20px;
1215
1203
  }
@@ -1257,6 +1245,7 @@
1257
1245
  --polly-surface: #fff;
1258
1246
  --polly-surface-raised: #fff;
1259
1247
  --polly-surface-sunken: #f4f5f7;
1248
+ --polly-surface-bubble: color-mix(in srgb, var(--polly-accent) 10%, var(--polly-surface));
1260
1249
  --polly-border: #d9dbe0;
1261
1250
  --polly-border-strong: #9fa3ab;
1262
1251
  --polly-text: #111418;
@@ -1347,6 +1336,7 @@
1347
1336
  --polly-surface: #14171c;
1348
1337
  --polly-surface-raised: #1c2027;
1349
1338
  --polly-surface-sunken: #0f1216;
1339
+ --polly-surface-bubble: color-mix(in srgb, var(--polly-accent) 10%, var(--polly-surface));
1350
1340
  --polly-border: #30353d;
1351
1341
  --polly-border-strong: #5a6069;
1352
1342
  --polly-text: #eef0f3;
@@ -1383,6 +1373,7 @@
1383
1373
  --polly-surface-raised: #fff;
1384
1374
  --polly-surface-sunken: #f4f5f7;
1385
1375
  --polly-border: #d9dbe0;
1376
+ --polly-surface-bubble: color-mix(in srgb, var(--polly-accent) 10%, var(--polly-surface));
1386
1377
  --polly-border-strong: #9fa3ab;
1387
1378
  --polly-text: #111418;
1388
1379
  --polly-text-muted: #5a5f67;
@@ -1417,6 +1408,7 @@
1417
1408
  --polly-surface-raised: #1c2027;
1418
1409
  --polly-surface-sunken: #0f1216;
1419
1410
  --polly-border: #30353d;
1411
+ --polly-surface-bubble: color-mix(in srgb, var(--polly-accent) 10%, var(--polly-surface));
1420
1412
  --polly-border-strong: #5a6069;
1421
1413
  --polly-text: #eef0f3;
1422
1414
  --polly-text-muted: #a7adb5;