@fairfox/polly 0.88.1 → 0.89.1

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 (104) 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 +53 -59
  4. package/dist/gallery/gallery.js +1240 -1073
  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/ActionSelect.d.ts +4 -0
  22. package/dist/src/polly-ui/Button.d.ts +7 -0
  23. package/dist/src/polly-ui/Collapsible.d.ts +3 -1
  24. package/dist/src/polly-ui/Layout.d.ts +16 -1
  25. package/dist/src/polly-ui/index.css +49 -59
  26. package/dist/src/polly-ui/index.js +227 -237
  27. package/dist/src/polly-ui/index.js.map +16 -15
  28. package/dist/src/polly-ui/internal/select-trigger.d.ts +33 -0
  29. package/dist/src/polly-ui/markdown.js +72 -145
  30. package/dist/src/polly-ui/markdown.js.map +2 -2
  31. package/dist/src/polly-ui/styles.css +49 -59
  32. package/dist/src/polly-ui/theme.css +10 -0
  33. package/dist/src/shared/adapters/index.js +31 -44
  34. package/dist/src/shared/adapters/index.js.map +2 -2
  35. package/dist/src/shared/lib/context-helpers.js +126 -152
  36. package/dist/src/shared/lib/context-helpers.js.map +4 -4
  37. package/dist/src/shared/lib/errors.js +1 -74
  38. package/dist/src/shared/lib/errors.js.map +2 -2
  39. package/dist/src/shared/lib/guards.js +1 -74
  40. package/dist/src/shared/lib/guards.js.map +2 -2
  41. package/dist/src/shared/lib/message-bus.js +126 -152
  42. package/dist/src/shared/lib/message-bus.js.map +4 -4
  43. package/dist/src/shared/lib/resource.js +16 -27
  44. package/dist/src/shared/lib/resource.js.map +5 -5
  45. package/dist/src/shared/lib/state.js +13 -26
  46. package/dist/src/shared/lib/state.js.map +2 -2
  47. package/dist/src/shared/lib/test-helpers.js +1 -74
  48. package/dist/src/shared/lib/test-helpers.js.map +2 -2
  49. package/dist/src/shared/state/app-state.js +35 -46
  50. package/dist/src/shared/state/app-state.js.map +5 -5
  51. package/dist/src/shared/types/messages.js +1 -74
  52. package/dist/src/shared/types/messages.js.map +2 -2
  53. package/dist/tools/bdd/src/cli.js +11 -15
  54. package/dist/tools/bdd/src/cli.js.map +2 -2
  55. package/dist/tools/bdd/src/index.js +11 -19
  56. package/dist/tools/bdd/src/index.js.map +2 -2
  57. package/dist/tools/gallery/src/cli.js +1 -18
  58. package/dist/tools/gallery/src/cli.js.map +2 -2
  59. package/dist/tools/init/src/cli.js +1 -18
  60. package/dist/tools/init/src/cli.js.map +2 -2
  61. package/dist/tools/mutate/src/cli.js +8 -25
  62. package/dist/tools/mutate/src/cli.js.map +2 -2
  63. package/dist/tools/mutate/src/index.js +8 -26
  64. package/dist/tools/mutate/src/index.js.map +2 -2
  65. package/dist/tools/quality/src/cli.js +39 -46
  66. package/dist/tools/quality/src/cli.js.map +3 -3
  67. package/dist/tools/quality/src/css/check-layout.d.ts +5 -3
  68. package/dist/tools/quality/src/index.js +39 -47
  69. package/dist/tools/quality/src/index.js.map +3 -3
  70. package/dist/tools/test/src/adapters/index.js +4 -77
  71. package/dist/tools/test/src/adapters/index.js.map +2 -2
  72. package/dist/tools/test/src/browser/index.js +1 -74
  73. package/dist/tools/test/src/browser/index.js.map +2 -2
  74. package/dist/tools/test/src/browser/run.js +5 -22
  75. package/dist/tools/test/src/browser/run.js.map +2 -2
  76. package/dist/tools/test/src/contrast/index.js +1 -74
  77. package/dist/tools/test/src/contrast/index.js.map +2 -2
  78. package/dist/tools/test/src/coverage-policy/cli.js +13 -25
  79. package/dist/tools/test/src/coverage-policy/cli.js.map +2 -2
  80. package/dist/tools/test/src/coverage-policy/index.js +11 -23
  81. package/dist/tools/test/src/coverage-policy/index.js.map +2 -2
  82. package/dist/tools/test/src/e2e-mesh/index.js +18 -43
  83. package/dist/tools/test/src/e2e-mesh/index.js.map +2 -2
  84. package/dist/tools/test/src/e2e-relay/index.js +615 -623
  85. package/dist/tools/test/src/e2e-relay/index.js.map +2 -2
  86. package/dist/tools/test/src/index.js +30 -103
  87. package/dist/tools/test/src/index.js.map +5 -5
  88. package/dist/tools/test/src/test-utils.js +1 -74
  89. package/dist/tools/test/src/test-utils.js.map +2 -2
  90. package/dist/tools/test/src/tiers/cli.js +1 -18
  91. package/dist/tools/test/src/tiers/cli.js.map +2 -2
  92. package/dist/tools/test/src/tiers/worker.js +11 -15
  93. package/dist/tools/test/src/tiers/worker.js.map +2 -2
  94. package/dist/tools/test/src/visual/index.js +1112 -1134
  95. package/dist/tools/test/src/visual/index.js.map +3 -3
  96. package/dist/tools/verify/src/cli.js +103 -169
  97. package/dist/tools/verify/src/cli.js.map +2 -2
  98. package/dist/tools/verify/src/config.js +1 -74
  99. package/dist/tools/verify/src/config.js.map +2 -2
  100. package/dist/tools/verify/src/stryker/index.js +1 -19
  101. package/dist/tools/verify/src/stryker/index.js.map +2 -2
  102. package/dist/tools/visualize/src/cli.js +69 -85
  103. package/dist/tools/visualize/src/cli.js.map +2 -2
  104. 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,8 @@
164
163
  }
165
164
 
166
165
  .trigger_daofbw {
167
- display: inline-flex;
168
- align-items: center;
169
- gap: var(--polly-space-sm);
166
+ display: inline-block;
167
+ box-sizing: border-box;
170
168
  min-block-size: var(--polly-control-height-md);
171
169
  max-width: min(100%, var(--polly-control-max-width));
172
170
  padding-block-start: 0;
@@ -180,6 +178,7 @@
180
178
  color: var(--polly-text);
181
179
  text-align: start;
182
180
  cursor: pointer;
181
+ align-content: center;
183
182
  }
184
183
 
185
184
  .trigger_daofbw:disabled, .trigger_daofbw[aria-disabled="true"] {
@@ -195,15 +194,13 @@
195
194
  white-space: nowrap;
196
195
  overflow: hidden;
197
196
  text-overflow: ellipsis;
198
- flex: auto;
199
- min-width: 0;
197
+ min-inline-size: 0;
200
198
  }
201
199
 
202
200
  .caret_daofbw {
203
201
  color: var(--polly-caret-color);
204
202
  pointer-events: none;
205
203
  transition: transform var(--polly-motion-fast) ease;
206
- flex: none;
207
204
  }
208
205
 
209
206
  .caret_daofbw:before {
@@ -317,10 +314,6 @@
317
314
  /* src/polly-ui/Button.module.css */
318
315
  @layer polly-components {
319
316
  .btn_c4HKfA {
320
- display: inline-flex;
321
- justify-content: center;
322
- align-items: center;
323
- gap: var(--polly-space-sm);
324
317
  min-block-size: var(--polly-control-height-md);
325
318
  padding-block-start: 0;
326
319
  padding-block-end: 0;
@@ -337,6 +330,7 @@
337
330
  user-select: none;
338
331
  box-sizing: border-box;
339
332
  transition: background-color var(--polly-motion-fast), border-color var(--polly-motion-fast), color var(--polly-motion-fast);
333
+ align-content: center;
340
334
  }
341
335
 
342
336
  .btn_c4HKfA:disabled, .btn_c4HKfA[aria-disabled="true"] {
@@ -442,6 +436,23 @@
442
436
  width: 100%;
443
437
  }
444
438
 
439
+ .btnFlush_c4HKfA {
440
+ margin-inline: calc(-1 * (var(--polly-control-padding-md) + var(--polly-border-width-default)));
441
+ }
442
+
443
+ .btnSmall_c4HKfA.btnFlush_c4HKfA {
444
+ margin-inline: calc(-1 * (var(--polly-control-padding-sm) + var(--polly-border-width-default)));
445
+ }
446
+
447
+ .btnLarge_c4HKfA.btnFlush_c4HKfA {
448
+ margin-inline: calc(-1 * (var(--polly-control-padding-lg) + var(--polly-border-width-default)));
449
+ }
450
+
451
+ .btnCircle_c4HKfA.btnFlush_c4HKfA {
452
+ margin-inline-start: 0;
453
+ margin-inline-end: 0;
454
+ }
455
+
445
456
  .btnBounded_c4HKfA {
446
457
  max-width: var(--polly-control-max-width);
447
458
  overflow: hidden;
@@ -450,9 +461,7 @@
450
461
  }
451
462
 
452
463
  .icon_c4HKfA {
453
- display: inline-flex;
454
- flex: none;
455
- align-items: center;
464
+ vertical-align: middle;
456
465
  }
457
466
 
458
467
  .label_c4HKfA {
@@ -464,6 +473,10 @@
464
473
  text-overflow: ellipsis;
465
474
  white-space: nowrap;
466
475
  }
476
+
477
+ .btnBounded_c4HKfA {
478
+ text-overflow: ellipsis;
479
+ }
467
480
  }
468
481
 
469
482
  /* src/polly-ui/Surface.module.css */
@@ -547,9 +560,6 @@
547
560
  /* src/polly-ui/Checkbox.module.css */
548
561
  @layer polly-components {
549
562
  .checkbox_EKE5sg {
550
- display: inline-flex;
551
- align-items: center;
552
- gap: var(--polly-space-sm);
553
563
  box-sizing: border-box;
554
564
  min-block-size: var(--polly-control-height-md);
555
565
  cursor: pointer;
@@ -637,6 +647,8 @@
637
647
 
638
648
  .summary_sEhnPw {
639
649
  padding: var(--polly-space-sm) var(--polly-space-md);
650
+ min-block-size: var(--polly-control-height-md);
651
+ box-sizing: border-box;
640
652
  cursor: pointer;
641
653
  font-family: inherit;
642
654
  font-size: var(--polly-text-md);
@@ -651,23 +663,26 @@
651
663
  display: none;
652
664
  }
653
665
 
654
- .summary_sEhnPw:before {
666
+ .marker_sEhnPw:before {
655
667
  content: "▶";
656
- display: inline-block;
668
+ display: block;
657
669
  font-size: var(--polly-text-xs);
658
670
  transition: transform var(--polly-motion-fast);
659
- margin-inline-end: var(--polly-space-sm);
660
671
  }
661
672
 
662
- [dir="rtl"] .summary_sEhnPw:before {
673
+ .summaryContent_sEhnPw {
674
+ min-inline-size: 0;
675
+ }
676
+
677
+ [dir="rtl"] .marker_sEhnPw:before {
663
678
  transform: scaleX(-1);
664
679
  }
665
680
 
666
- .collapsible_sEhnPw[open] > .summary_sEhnPw:before {
681
+ .collapsible_sEhnPw[open] .marker_sEhnPw:before {
667
682
  transform: rotate(90deg);
668
683
  }
669
684
 
670
- [dir="rtl"] .collapsible_sEhnPw[open] > .summary_sEhnPw:before {
685
+ [dir="rtl"] .collapsible_sEhnPw[open] .marker_sEhnPw:before {
671
686
  transform: rotate(-90deg);
672
687
  }
673
688
 
@@ -684,15 +699,11 @@
684
699
  /* src/polly-ui/ConfirmDialog.module.css */
685
700
  @layer polly-components {
686
701
  .actions_ZfTX4A {
687
- display: grid;
688
- grid-auto-flow: column;
689
- gap: var(--polly-space-sm);
690
- justify-content: end;
702
+ inline-size: 100%;
691
703
  }
692
704
 
693
705
  .cancel_ZfTX4A, .confirm_ZfTX4A, .confirmDanger_ZfTX4A {
694
706
  appearance: none;
695
- display: inline-flex;
696
707
  min-block-size: var(--polly-control-height-md);
697
708
  padding-block-start: 0;
698
709
  padding-block-end: 0;
@@ -703,8 +714,7 @@
703
714
  border-radius: var(--polly-control-radius);
704
715
  cursor: pointer;
705
716
  transition: background var(--polly-motion-fast) ease;
706
- justify-content: center;
707
- align-items: center;
717
+ align-content: center;
708
718
  }
709
719
 
710
720
  .cancel_ZfTX4A {
@@ -741,9 +751,7 @@
741
751
  @layer polly-components {
742
752
  .container_fLMrWA {
743
753
  position: fixed;
744
- display: grid;
745
754
  pointer-events: none;
746
- place-items: center;
747
755
  inset: 0;
748
756
  }
749
757
 
@@ -785,7 +793,6 @@
785
793
 
786
794
  .close_fLMrWA {
787
795
  appearance: none;
788
- display: inline-flex;
789
796
  min-block-size: var(--polly-control-height-md);
790
797
  color: var(--polly-text);
791
798
  border: var(--polly-border-width-default) solid transparent;
@@ -797,8 +804,7 @@
797
804
  cursor: pointer;
798
805
  transition: background var(--polly-motion-fast) ease, border-color var(--polly-motion-fast) ease;
799
806
  background: none;
800
- justify-content: center;
801
- align-items: center;
807
+ align-content: center;
802
808
  }
803
809
 
804
810
  .close_fLMrWA:hover {
@@ -819,9 +825,6 @@
819
825
  /* src/polly-ui/FileInput.module.css */
820
826
  @layer polly-components {
821
827
  .fileInput_esO1fA {
822
- display: inline-flex;
823
- align-items: center;
824
- gap: var(--polly-space-sm);
825
828
  box-sizing: border-box;
826
829
  min-block-size: var(--polly-control-height-md);
827
830
  padding-block-start: 0;
@@ -834,6 +837,7 @@
834
837
  font-size: var(--polly-text-md);
835
838
  color: var(--polly-text);
836
839
  cursor: pointer;
840
+ align-content: center;
837
841
  }
838
842
 
839
843
  .fileInput_esO1fA:hover {
@@ -959,7 +963,6 @@
959
963
  }
960
964
 
961
965
  .tab_xKO6GA {
962
- display: inline-flex;
963
966
  min-block-size: var(--polly-control-height-md);
964
967
  padding-block-start: 0;
965
968
  padding-block-end: 0;
@@ -974,8 +977,7 @@
974
977
  white-space: nowrap;
975
978
  transition: color var(--polly-motion-fast), border-color var(--polly-motion-fast);
976
979
  background: none;
977
- justify-content: center;
978
- align-items: center;
980
+ align-content: center;
979
981
  }
980
982
 
981
983
  .tab_xKO6GA:hover:not(:disabled) {
@@ -1109,8 +1111,7 @@
1109
1111
  }
1110
1112
 
1111
1113
  .field_ez4_Vg {
1112
- display: grid;
1113
- gap: var(--polly-space-xs);
1114
+ inline-size: 100%;
1114
1115
  }
1115
1116
 
1116
1117
  .error_ez4_Vg {
@@ -1122,16 +1123,11 @@
1122
1123
  /* src/polly-ui/Toast.module.css */
1123
1124
  @layer polly-components {
1124
1125
  .viewport_xVzRuA {
1125
- display: grid;
1126
- gap: var(--polly-space-sm);
1126
+ inline-size: max-content;
1127
1127
  }
1128
1128
 
1129
1129
  .item_xVzRuA {
1130
- display: grid;
1131
- grid-template-columns: 1fr auto;
1132
- gap: var(--polly-space-md);
1133
1130
  color: var(--polly-text);
1134
- align-items: center;
1135
1131
  min-inline-size: 16em;
1136
1132
  max-inline-size: 28em;
1137
1133
  }
@@ -1151,7 +1147,6 @@
1151
1147
 
1152
1148
  .close_xVzRuA {
1153
1149
  appearance: none;
1154
- display: inline-flex;
1155
1150
  min-block-size: var(--polly-control-height-sm);
1156
1151
  color: inherit;
1157
1152
  border: var(--polly-border-width-default) solid transparent;
@@ -1162,8 +1157,7 @@
1162
1157
  font: inherit;
1163
1158
  cursor: pointer;
1164
1159
  background: none;
1165
- justify-content: center;
1166
- align-items: center;
1160
+ align-content: center;
1167
1161
  }
1168
1162
 
1169
1163
  .close_xVzRuA:hover {
@@ -1174,9 +1168,6 @@
1174
1168
  /* src/polly-ui/Toggle.module.css */
1175
1169
  @layer polly-components {
1176
1170
  .toggle_rnf-SQ {
1177
- display: inline-flex;
1178
- align-items: center;
1179
- gap: var(--polly-space-sm);
1180
1171
  box-sizing: border-box;
1181
1172
  min-block-size: var(--polly-control-height-md);
1182
1173
  cursor: pointer;
@@ -1209,7 +1200,6 @@
1209
1200
  border-radius: var(--polly-radius-full);
1210
1201
  background-color: var(--polly-border);
1211
1202
  transition: background-color var(--polly-motion-fast);
1212
- flex: none;
1213
1203
  width: 36px;
1214
1204
  height: 20px;
1215
1205
  }
@@ -1257,6 +1247,7 @@
1257
1247
  --polly-surface: #fff;
1258
1248
  --polly-surface-raised: #fff;
1259
1249
  --polly-surface-sunken: #f4f5f7;
1250
+ --polly-surface-bubble: color-mix(in srgb, var(--polly-accent) 10%, var(--polly-surface));
1260
1251
  --polly-border: #d9dbe0;
1261
1252
  --polly-border-strong: #9fa3ab;
1262
1253
  --polly-text: #111418;
@@ -1347,6 +1338,7 @@
1347
1338
  --polly-surface: #14171c;
1348
1339
  --polly-surface-raised: #1c2027;
1349
1340
  --polly-surface-sunken: #0f1216;
1341
+ --polly-surface-bubble: color-mix(in srgb, var(--polly-accent) 10%, var(--polly-surface));
1350
1342
  --polly-border: #30353d;
1351
1343
  --polly-border-strong: #5a6069;
1352
1344
  --polly-text: #eef0f3;
@@ -1383,6 +1375,7 @@
1383
1375
  --polly-surface-raised: #fff;
1384
1376
  --polly-surface-sunken: #f4f5f7;
1385
1377
  --polly-border: #d9dbe0;
1378
+ --polly-surface-bubble: color-mix(in srgb, var(--polly-accent) 10%, var(--polly-surface));
1386
1379
  --polly-border-strong: #9fa3ab;
1387
1380
  --polly-text: #111418;
1388
1381
  --polly-text-muted: #5a5f67;
@@ -1417,6 +1410,7 @@
1417
1410
  --polly-surface-raised: #1c2027;
1418
1411
  --polly-surface-sunken: #0f1216;
1419
1412
  --polly-border: #30353d;
1413
+ --polly-surface-bubble: color-mix(in srgb, var(--polly-accent) 10%, var(--polly-surface));
1420
1414
  --polly-border-strong: #5a6069;
1421
1415
  --polly-text: #eef0f3;
1422
1416
  --polly-text-muted: #a7adb5;