@fairfox/polly 0.5.2 → 0.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,8 @@
1
1
  import type { Settings } from "../types/messages";
2
2
  export { defaultSettings } from "../types/messages";
3
- export declare const settings: import("@preact/signals").Signal<Settings>;
4
- export declare const currentTab: import("@preact/signals").Signal<number | null>;
5
- export declare const uiState: import("@preact/signals").Signal<{
3
+ export declare const settings: import("@preact/signals-core").Signal<Settings>;
4
+ export declare const currentTab: import("@preact/signals-core").Signal<number | null>;
5
+ export declare const uiState: import("@preact/signals-core").Signal<{
6
6
  sidebarOpen: boolean;
7
7
  selectedPanel: "main" | "settings" | "debug";
8
8
  }>;
@@ -2374,7 +2374,7 @@ function validateConfig(configPath) {
2374
2374
  }
2375
2375
 
2376
2376
  // vendor/verify/src/cli.ts
2377
- var __dirname = "/Users/AJT/projects/polly/packages/polly/vendor/verify/src";
2377
+ var __dirname = "/Users/AJT/projects/polly/vendor/verify/src";
2378
2378
  var COLORS = {
2379
2379
  reset: "\x1B[0m",
2380
2380
  red: "\x1B[31m",
@@ -2743,4 +2743,4 @@ Stack trace:`, COLORS.gray));
2743
2743
  process.exit(1);
2744
2744
  });
2745
2745
 
2746
- //# debugId=C40ED4F55177D0FC64756E2164756E21
2746
+ //# debugId=1F63934BFA65A24864756E2164756E21
@@ -12,6 +12,6 @@
12
12
  "// Configuration validator - detects incomplete configuration\n\nimport type { ValidationResult, ConfigIssue, VerificationConfig } from \"../types\";\nimport * as fs from \"node:fs\";\nimport * as path from \"node:path\";\n\nexport class ConfigValidator {\n private issues: ConfigIssue[] = [];\n\n validate(configPath: string): ValidationResult {\n this.issues = [];\n\n if (!fs.existsSync(configPath)) {\n this.issues.push({\n type: \"incomplete\",\n severity: \"error\",\n message: \"Configuration file does not exist\",\n suggestion: \"Run 'bun verify --setup' to generate configuration\",\n });\n\n return {\n valid: false,\n issues: this.issues,\n };\n }\n\n // Read the source file\n const configSource = fs.readFileSync(configPath, \"utf-8\");\n\n // Check for CONFIGURE markers\n this.checkConfigureMarkers(configSource);\n\n // Check for REVIEW markers (warnings only)\n this.checkReviewMarkers(configSource);\n\n // Load and validate the actual config\n try {\n const config = this.loadConfig(configPath);\n this.validateConfig(config);\n } catch (error) {\n this.issues.push({\n type: \"invalid_value\",\n severity: \"error\",\n message: `Failed to load configuration: ${error instanceof Error ? error.message : String(error)}`,\n suggestion: \"Check for syntax errors in the configuration file\",\n });\n }\n\n const hasErrors = this.issues.some((i) => i.severity === \"error\");\n\n return {\n valid: !hasErrors,\n issues: this.issues,\n };\n }\n\n private checkConfigureMarkers(source: string): void {\n const configureRegex = /\\/\\*\\s*CONFIGURE\\s*\\*\\//g;\n const matches = [...source.matchAll(configureRegex)];\n\n if (matches.length > 0) {\n // Find line numbers for each match\n const lines = source.split(\"\\n\");\n const locations: Array<{ line: number; column: number; context: string }> = [];\n\n for (const match of matches) {\n const position = match.index!;\n const lineNumber = source.substring(0, position).split(\"\\n\").length;\n const line = lines[lineNumber - 1];\n\n // Extract field name from context\n const fieldMatch = line.match(/\"([^\"]+)\":\\s*{/);\n const fieldName = fieldMatch ? fieldMatch[1] : \"unknown\";\n\n locations.push({\n line: lineNumber,\n column: match.index! - source.lastIndexOf(\"\\n\", position),\n context: fieldName,\n });\n }\n\n this.issues.push({\n type: \"incomplete\",\n severity: \"error\",\n message: `Found ${matches.length} incomplete configuration marker(s)`,\n suggestion: \"Replace all /* CONFIGURE */ markers with actual values\",\n });\n\n // Add individual issues for each marker\n for (const loc of locations) {\n this.issues.push({\n type: \"incomplete\",\n severity: \"error\",\n field: loc.context,\n location: { line: loc.line, column: loc.column },\n message: `Incomplete configuration at line ${loc.line}`,\n suggestion: `Fill in value for \"${loc.context}\"`,\n });\n }\n }\n }\n\n private checkReviewMarkers(source: string): void {\n const reviewRegex = /\\/\\*\\s*REVIEW\\s*\\*\\//g;\n const matches = [...source.matchAll(reviewRegex)];\n\n if (matches.length > 0) {\n this.issues.push({\n type: \"incomplete\",\n severity: \"warning\",\n message: `Found ${matches.length} value(s) that should be reviewed`,\n suggestion: \"Review auto-generated values marked with /* REVIEW */\",\n });\n }\n }\n\n private loadConfig(configPath: string): VerificationConfig {\n // Dynamic import of the config file\n // Note: In production, this would use proper module loading\n delete require.cache[require.resolve(path.resolve(configPath))];\n const module = require(path.resolve(configPath));\n return module.default || module;\n }\n\n private validateConfig(config: VerificationConfig): void {\n // Check for null values\n this.findNullPlaceholders(config.state, \"state\");\n this.findNullPlaceholders(config.messages, \"messages\");\n\n // Validate bounds\n this.validateBounds(config);\n }\n\n private findNullPlaceholders(obj: any, path: string): void {\n if (obj === null || obj === undefined) {\n this.issues.push({\n type: \"null_placeholder\",\n severity: \"error\",\n field: path,\n message: `Configuration incomplete: ${path}`,\n suggestion: \"Replace null with a concrete value\",\n });\n return;\n }\n\n if (typeof obj !== \"object\") {\n return;\n }\n\n for (const [key, value] of Object.entries(obj)) {\n const fullPath = `${path}.${key}`;\n\n if (value === null) {\n this.issues.push({\n type: \"null_placeholder\",\n severity: \"error\",\n field: fullPath,\n message: `Configuration incomplete: ${fullPath}`,\n suggestion: \"Replace null with a concrete value\",\n });\n } else if (typeof value === \"object\" && value !== null && !Array.isArray(value)) {\n this.findNullPlaceholders(value, fullPath);\n }\n }\n }\n\n private validateBounds(config: VerificationConfig): void {\n // Check messages config\n if (config.messages.maxInFlight !== null) {\n if (config.messages.maxInFlight < 1) {\n this.issues.push({\n type: \"invalid_value\",\n severity: \"error\",\n field: \"messages.maxInFlight\",\n message: \"maxInFlight must be at least 1\",\n suggestion: \"Use a value between 4-10 for most cases\",\n });\n }\n\n if (config.messages.maxInFlight > 20) {\n this.issues.push({\n type: \"unrealistic_bound\",\n severity: \"warning\",\n field: \"messages.maxInFlight\",\n message: \"Very high maxInFlight (>20) will slow verification significantly\",\n suggestion: \"Use 4-10 for development, up to 20 for thorough verification\",\n });\n }\n }\n\n if (config.messages.maxTabs !== null) {\n if (config.messages.maxTabs < 1) {\n this.issues.push({\n type: \"invalid_value\",\n severity: \"error\",\n field: \"messages.maxTabs\",\n message: \"maxTabs must be at least 1\",\n suggestion: \"Use 2-3 for most cases\",\n });\n }\n\n if (config.messages.maxTabs > 10) {\n this.issues.push({\n type: \"unrealistic_bound\",\n severity: \"warning\",\n field: \"messages.maxTabs\",\n message: \"Very high maxTabs (>10) will slow verification significantly\",\n suggestion: \"Use 2-3 for most cases\",\n });\n }\n }\n\n // Check state field bounds\n for (const [fieldName, fieldConfig] of Object.entries(config.state)) {\n if (typeof fieldConfig !== \"object\" || fieldConfig === null) {\n continue;\n }\n\n // Array bounds\n if (\"maxLength\" in fieldConfig) {\n const maxLength = (fieldConfig as any).maxLength;\n if (maxLength !== null) {\n if (maxLength < 0) {\n this.issues.push({\n type: \"invalid_value\",\n severity: \"error\",\n field: `state.${fieldName}.maxLength`,\n message: \"maxLength cannot be negative\",\n suggestion: \"Use a positive number\",\n });\n }\n\n if (maxLength > 50) {\n this.issues.push({\n type: \"unrealistic_bound\",\n severity: \"warning\",\n field: `state.${fieldName}.maxLength`,\n message: `Very large maxLength (${maxLength}) will slow verification`,\n suggestion: \"Use 10-20 for most cases\",\n });\n }\n }\n }\n\n // Number bounds\n if (\"min\" in fieldConfig && \"max\" in fieldConfig) {\n const min = (fieldConfig as any).min;\n const max = (fieldConfig as any).max;\n\n if (min !== null && max !== null && min > max) {\n this.issues.push({\n type: \"invalid_value\",\n severity: \"error\",\n field: `state.${fieldName}`,\n message: `Invalid range: min (${min}) > max (${max})`,\n suggestion: \"Ensure min is less than or equal to max\",\n });\n }\n\n if (min !== null && max !== null && max - min > 1000) {\n this.issues.push({\n type: \"unrealistic_bound\",\n severity: \"warning\",\n field: `state.${fieldName}`,\n message: `Very large number range (${max - min}) will slow verification`,\n suggestion: \"Use smaller ranges when possible\",\n });\n }\n }\n\n // Map/Set bounds\n if (\"maxSize\" in fieldConfig) {\n const maxSize = (fieldConfig as any).maxSize;\n if (maxSize !== null) {\n if (maxSize < 0) {\n this.issues.push({\n type: \"invalid_value\",\n severity: \"error\",\n field: `state.${fieldName}.maxSize`,\n message: \"maxSize cannot be negative\",\n suggestion: \"Use a positive number\",\n });\n }\n\n if (maxSize > 20) {\n this.issues.push({\n type: \"unrealistic_bound\",\n severity: \"warning\",\n field: `state.${fieldName}.maxSize`,\n message: `Very large maxSize (${maxSize}) will slow verification`,\n suggestion: \"Use 3-5 for most cases\",\n });\n }\n }\n }\n }\n }\n}\n\nexport function validateConfig(configPath: string): ValidationResult {\n const validator = new ConfigValidator();\n return validator.validate(configPath);\n}\n"
13
13
  ],
14
14
  "mappings": "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",
15
- "debugId": "C40ED4F55177D0FC64756E2164756E21",
15
+ "debugId": "1F63934BFA65A24864756E2164756E21",
16
16
  "names": []
17
17
  }
package/package.json CHANGED
@@ -1,9 +1,12 @@
1
1
  {
2
2
  "name": "@fairfox/polly",
3
- "version": "0.5.2",
3
+ "version": "0.5.3",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "Multi-execution-context framework with reactive state and cross-context messaging for Chrome extensions, PWAs, and worker-based applications",
7
+ "workspaces": [
8
+ "tests"
9
+ ],
7
10
  "main": "dist/index.js",
8
11
  "module": "dist/index.js",
9
12
  "types": "dist/index.d.ts",
@@ -52,10 +55,18 @@
52
55
  "build:lib": "bun run build-lib.ts",
53
56
  "build:full-featured": "bun run scripts/build-user-extension.ts examples/full-featured",
54
57
  "build:full-featured:prod": "bun run scripts/build-user-extension.ts examples/full-featured --prod",
55
- "typecheck": "bunx tsc --noEmit",
58
+ "typecheck": "bunx tsc --noEmit && bun run --cwd tests typecheck",
59
+ "typecheck:tests": "bun run --cwd tests typecheck",
56
60
  "lint": "biome check .",
57
61
  "lint:fix": "biome check --write .",
58
62
  "format": "biome format --write .",
63
+ "test": "bun run --cwd tests test",
64
+ "test:watch": "bun run --cwd tests test:watch",
65
+ "test:framework": "bun run --cwd tests test:framework",
66
+ "test:framework:ui": "bun run --cwd tests test:framework:ui",
67
+ "test:framework:debug": "bun run --cwd tests test:framework:debug",
68
+ "test:framework:headed": "bun run --cwd tests test:framework:headed",
69
+ "test:all": "bun run --cwd tests test:all",
59
70
  "prepublishOnly": "bun run typecheck && bun run lint && bun run build:lib",
60
71
  "publish:public": "npm publish --access public"
61
72
  },