@neonwatty/limner 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/README.md +53 -39
  2. package/dist/cli.js +3 -3
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/compare-image-reference.d.ts +3 -0
  5. package/dist/commands/compare-image-reference.js +26 -3
  6. package/dist/commands/compare-image-reference.js.map +1 -1
  7. package/dist/commands/compare.d.ts +4 -1
  8. package/dist/commands/compare.js +72 -45
  9. package/dist/commands/compare.js.map +1 -1
  10. package/dist/core/agent-comparison-fingerprint.d.ts +12 -0
  11. package/dist/core/agent-comparison-fingerprint.js +27 -0
  12. package/dist/core/agent-comparison-fingerprint.js.map +1 -0
  13. package/dist/core/agent-comparison-pack.d.ts +30 -0
  14. package/dist/core/agent-comparison-pack.js +148 -0
  15. package/dist/core/agent-comparison-pack.js.map +1 -0
  16. package/dist/core/agent-comparison-profiles.d.ts +9 -0
  17. package/dist/core/agent-comparison-profiles.js +19 -0
  18. package/dist/core/agent-comparison-profiles.js.map +1 -0
  19. package/dist/core/agent-comparison-prompts.d.ts +22 -0
  20. package/dist/core/agent-comparison-prompts.js +84 -0
  21. package/dist/core/agent-comparison-prompts.js.map +1 -0
  22. package/dist/core/agent-comparison-report.d.ts +3 -0
  23. package/dist/core/agent-comparison-report.js +56 -0
  24. package/dist/core/agent-comparison-report.js.map +1 -0
  25. package/dist/core/agent-comparison-validation.d.ts +2 -0
  26. package/dist/core/agent-comparison-validation.js +8 -0
  27. package/dist/core/agent-comparison-validation.js.map +1 -0
  28. package/dist/core/playwright-capture.js +1 -1
  29. package/dist/core/playwright-capture.js.map +1 -1
  30. package/dist/core/report-writer.d.ts +7 -11
  31. package/dist/core/report-writer.js +21 -43
  32. package/dist/core/report-writer.js.map +1 -1
  33. package/dist/core/visual-spec-prompts.js +2 -2
  34. package/dist/core/visual-spec-prompts.js.map +1 -1
  35. package/dist/core/workspace.d.ts +1 -0
  36. package/dist/core/workspace.js +13 -2
  37. package/dist/core/workspace.js.map +1 -1
  38. package/dist/index.d.ts +4 -2
  39. package/dist/index.js +3 -2
  40. package/dist/index.js.map +1 -1
  41. package/dist/schemas/comparison.d.ts +349 -0
  42. package/dist/schemas/comparison.js +211 -0
  43. package/dist/schemas/comparison.js.map +1 -0
  44. package/dist/schemas/visual-spec.d.ts +8 -8
  45. package/dist/schemas/visual-spec.js +2 -2
  46. package/dist/schemas/visual-spec.js.map +1 -1
  47. package/docs/agent-workflow.md +20 -33
  48. package/docs/superpowers/plans/2026-06-12-agent-comparison-scores.md +209 -0
  49. package/package.json +2 -2
  50. package/skills/limner/SKILL.md +18 -21
  51. package/templates/target/AGENT_GUIDE.md +13 -9
  52. package/dist/commands/compare-image-app.d.ts +0 -12
  53. package/dist/commands/compare-image-app.js +0 -45
  54. package/dist/commands/compare-image-app.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"report-writer.js","sourceRoot":"","sources":["../../src/core/report-writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"report-writer.js","sourceRoot":"","sources":["../../src/core/report-writer.ts"],"names":[],"mappings":"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"}
@@ -79,7 +79,7 @@ Use Codex when you want the agent to read local files and write the response dir
79
79
  3. Write that JSON to:
80
80
  - \`${rel(input.responsePath)}\`
81
81
  4. Rerun:
82
- - \`limn compare image-reference --target ${input.target.name} --spec\`
82
+ - \`limner compare image-reference --target ${input.target.name} --spec\`
83
83
 
84
84
  ## Notes
85
85
 
@@ -112,7 +112,7 @@ Use Claude when you want a multimodal agent to compare the ideal image and the r
112
112
  4. Save Claude's JSON response to:
113
113
  - \`${rel(input.responsePath)}\`
114
114
  5. Rerun:
115
- - \`limn compare image-reference --target ${input.target.name} --spec\`
115
+ - \`limner compare image-reference --target ${input.target.name} --spec\`
116
116
 
117
117
  ## Notes
118
118
 
@@ -1 +1 @@
1
- {"version":3,"file":"visual-spec-prompts.js","sourceRoot":"","sources":["../../src/core/visual-spec-prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"visual-spec-prompts.js","sourceRoot":"","sources":["../../src/core/visual-spec-prompts.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ export type TargetPaths = {
24
24
  export declare function resolveWorkspace(root?: string): WorkspacePaths;
25
25
  export declare function validateTargetName(target: string): string;
26
26
  export declare function resolveTarget(workspaceRoot: string, target: string, sourceFileName?: string): TargetPaths;
27
+ export declare function resolveTargetWithSource(workspaceRoot: string, target: string): Promise<TargetPaths>;
27
28
  export declare function ensureWorkspace(workspace: WorkspacePaths): Promise<void>;
28
29
  export declare function ensureTargetDirs(target: TargetPaths): Promise<void>;
29
30
  export declare function writeIfMissing(filePath: string, contents: string, force?: boolean): Promise<'written' | 'skipped'>;
@@ -1,4 +1,4 @@
1
- import { copyFile, mkdir, readFile, writeFile } from 'node:fs/promises';
1
+ import { copyFile, mkdir, readdir, readFile, writeFile } from 'node:fs/promises';
2
2
  import path from 'node:path';
3
3
  export function resolveWorkspace(root = process.cwd()) {
4
4
  const resolvedRoot = path.resolve(root);
@@ -42,6 +42,17 @@ export function resolveTarget(workspaceRoot, target, sourceFileName = 'ideal.png
42
42
  referenceCssPath: path.join(referenceDir, 'styles.css'),
43
43
  };
44
44
  }
45
+ export async function resolveTargetWithSource(workspaceRoot, target) {
46
+ const resolved = resolveTarget(workspaceRoot, target);
47
+ try {
48
+ const entries = await readdir(resolved.sourceDir);
49
+ const sourceFile = entries.find((entry) => /\.(avif|gif|jpe?g|png|svg|webp)$/i.test(entry));
50
+ return sourceFile ? resolveTarget(workspaceRoot, target, sourceFile) : resolved;
51
+ }
52
+ catch {
53
+ return resolved;
54
+ }
55
+ }
45
56
  export async function ensureWorkspace(workspace) {
46
57
  await mkdir(workspace.targetsDir, { recursive: true });
47
58
  await mkdir(workspace.runsDir, { recursive: true });
@@ -57,7 +68,7 @@ export async function ensureTargetDirs(target) {
57
68
  mkdir(target.contractDir, { recursive: true }),
58
69
  mkdir(path.join(target.referenceDir, 'assets'), { recursive: true }),
59
70
  mkdir(path.join(target.capturesDir, 'image-reference'), { recursive: true }),
60
- mkdir(path.join(target.capturesDir, 'reference-app'), { recursive: true }),
71
+ mkdir(path.join(target.capturesDir, 'reference-implementation'), { recursive: true }),
61
72
  mkdir(path.join(target.capturesDir, 'reference'), { recursive: true }),
62
73
  mkdir(target.reportsDir, { recursive: true }),
63
74
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/core/workspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/core/workspace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,IAAI,MAAM,WAAW,CAAC;AA2B7B,MAAM,UAAU,gBAAgB,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE;IACnD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,kBAAkB,CAAC;QACvD,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC;QAC9C,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,mDAAmD,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,aAAqB,EAAE,MAAc,EAAE,cAAc,GAAG,WAAW;IAC/F,MAAM,SAAS,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAE9C,OAAO;QACL,SAAS;QACT,IAAI;QACJ,IAAI;QACJ,SAAS;QACT,WAAW;QACX,YAAY;QACZ,WAAW;QACX,UAAU;QACV,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC;QACjD,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC;QACrD,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC;QACnD,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC;QACjD,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC;QACvD,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC;QACxD,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC;KACxD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,aAAqB,EAAE,MAAc;IACjF,MAAM,QAAQ,GAAG,aAAa,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACtD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,mCAAmC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5F,OAAO,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAClF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,SAAyB;IAC7D,MAAM,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,MAAM,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,cAAc,CAClB,SAAS,CAAC,UAAU,EACpB;;;;CAIH,CACE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAmB;IACxD,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC5C,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,iBAAiB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC5E,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,0BAA0B,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QACrF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QACtE,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;KAC9C,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAgB,EAAE,QAAgB,EAAE,KAAK,GAAG,KAAK;IACpF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACzB,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,2CAA2C;QAC7C,CAAC;IACH,CAAC;IACD,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACpC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,UAAkB,EAAE,eAAuB,EAAE,KAAK,GAAG,KAAK;IAC5F,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,eAAe,CAAC,CAAC;YAChC,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,0CAA0C;QAC5C,CAAC;IACH,CAAC;IACD,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,MAAM,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAC5C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAI,QAAgB;IACpD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAM,CAAC;AAC9B,CAAC"}
package/dist/index.d.ts CHANGED
@@ -4,11 +4,13 @@ export { limnerRunEventSchema, runManifestSchema } from './schemas/events.js';
4
4
  export type { LimnerRunEvent, RunManifest } from './schemas/events.js';
5
5
  export { visualSpecBundleSchema, visualSpecDiffSchema, visualSpecSchema, createVisualSpecBundleExample, createVisualSpecJsonSchema } from './schemas/visual-spec.js';
6
6
  export type { VisualSpec, VisualSpecBundle, VisualSpecDiff } from './schemas/visual-spec.js';
7
+ export { agentComparisonBundleSchema, imageComparisonSchema, structureComparisonSchema, createAgentComparisonBundleExample, createAgentComparisonJsonSchema, } from './schemas/comparison.js';
8
+ export type { AgentComparisonBundle, ImageComparison, StructureComparison } from './schemas/comparison.js';
7
9
  export { initTarget } from './commands/init.js';
8
10
  export { captureReference } from './commands/capture.js';
9
- export { compareImageReference, compareReferenceApp } from './commands/compare.js';
10
- export { compareImageApp } from './commands/compare-image-app.js';
11
+ export { compareImageReference, compareReferenceImplementation } from './commands/compare.js';
11
12
  export { createRunId, createRunLogger } from './core/run-logger.js';
12
13
  export { resolveWorkspace, validateTargetName } from './core/workspace.js';
13
14
  export { collectReferenceDomFacts } from './core/reference-dom-facts.js';
14
15
  export { writeImageReferenceSpecPack } from './core/visual-spec-agent-pack.js';
16
+ export { writeAgentComparisonPack } from './core/agent-comparison-pack.js';
package/dist/index.js CHANGED
@@ -1,12 +1,13 @@
1
1
  export { limnerRegionCheckSchema, limnerRegionContractSchema, limnerRegionSchema, limnerTokensSchema, } from './schemas/contract.js';
2
2
  export { limnerRunEventSchema, runManifestSchema } from './schemas/events.js';
3
3
  export { visualSpecBundleSchema, visualSpecDiffSchema, visualSpecSchema, createVisualSpecBundleExample, createVisualSpecJsonSchema } from './schemas/visual-spec.js';
4
+ export { agentComparisonBundleSchema, imageComparisonSchema, structureComparisonSchema, createAgentComparisonBundleExample, createAgentComparisonJsonSchema, } from './schemas/comparison.js';
4
5
  export { initTarget } from './commands/init.js';
5
6
  export { captureReference } from './commands/capture.js';
6
- export { compareImageReference, compareReferenceApp } from './commands/compare.js';
7
- export { compareImageApp } from './commands/compare-image-app.js';
7
+ export { compareImageReference, compareReferenceImplementation } from './commands/compare.js';
8
8
  export { createRunId, createRunLogger } from './core/run-logger.js';
9
9
  export { resolveWorkspace, validateTargetName } from './core/workspace.js';
10
10
  export { collectReferenceDomFacts } from './core/reference-dom-facts.js';
11
11
  export { writeImageReferenceSpecPack } from './core/visual-spec-agent-pack.js';
12
+ export { writeAgentComparisonPack } from './core/agent-comparison-pack.js';
12
13
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE9E,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAErK,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE9E,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAErK,OAAO,EACL,2BAA2B,EAC3B,qBAAqB,EACrB,yBAAyB,EACzB,kCAAkC,EAClC,+BAA+B,GAChC,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AAC9F,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC"}
@@ -0,0 +1,349 @@
1
+ import { z } from 'zod';
2
+ declare const inputFingerprintSchema: z.ZodObject<{
3
+ expectedImageSha256: z.ZodString;
4
+ actualImageSha256: z.ZodString;
5
+ expectedStructureSha256: z.ZodOptional<z.ZodString>;
6
+ actualStructureSha256: z.ZodOptional<z.ZodString>;
7
+ }, z.core.$strip>;
8
+ export declare const imageComparisonSchema: z.ZodObject<{
9
+ summary: z.ZodString;
10
+ score: z.ZodObject<{
11
+ overall: z.ZodNumber;
12
+ layout: z.ZodOptional<z.ZodNumber>;
13
+ hierarchy: z.ZodOptional<z.ZodNumber>;
14
+ typography: z.ZodOptional<z.ZodNumber>;
15
+ color: z.ZodOptional<z.ZodNumber>;
16
+ spacing: z.ZodOptional<z.ZodNumber>;
17
+ structure: z.ZodOptional<z.ZodNumber>;
18
+ semantics: z.ZodOptional<z.ZodNumber>;
19
+ }, z.core.$strip>;
20
+ confidence: z.ZodNumber;
21
+ majorDiffAreas: z.ZodArray<z.ZodObject<{
22
+ id: z.ZodString;
23
+ title: z.ZodString;
24
+ category: z.ZodEnum<{
25
+ typography: "typography";
26
+ spacing: "spacing";
27
+ color: "color";
28
+ layout: "layout";
29
+ hierarchy: "hierarchy";
30
+ "component-anatomy": "component-anatomy";
31
+ "copy-state": "copy-state";
32
+ "attention-flow": "attention-flow";
33
+ other: "other";
34
+ }>;
35
+ severity: z.ZodEnum<{
36
+ high: "high";
37
+ medium: "medium";
38
+ low: "low";
39
+ }>;
40
+ priority: z.ZodNumber;
41
+ expected: z.ZodString;
42
+ actual: z.ZodString;
43
+ impact: z.ZodString;
44
+ evidence: z.ZodArray<z.ZodObject<{
45
+ source: z.ZodString;
46
+ observation: z.ZodString;
47
+ }, z.core.$strip>>;
48
+ fixTarget: z.ZodOptional<z.ZodObject<{
49
+ surface: z.ZodEnum<{
50
+ unknown: "unknown";
51
+ mockup: "mockup";
52
+ implementation: "implementation";
53
+ }>;
54
+ region: z.ZodOptional<z.ZodString>;
55
+ likelyFiles: z.ZodDefault<z.ZodArray<z.ZodString>>;
56
+ selectors: z.ZodDefault<z.ZodArray<z.ZodString>>;
57
+ }, z.core.$strip>>;
58
+ recommendedChange: z.ZodString;
59
+ }, z.core.$strip>>;
60
+ matches: z.ZodArray<z.ZodString>;
61
+ remarks: z.ZodObject<{
62
+ matches: z.ZodArray<z.ZodString>;
63
+ uncertainties: z.ZodDefault<z.ZodArray<z.ZodString>>;
64
+ possibleIntentionalDeviations: z.ZodDefault<z.ZodArray<z.ZodString>>;
65
+ }, z.core.$strip>;
66
+ systemFeedback: z.ZodObject<{
67
+ inputQuality: z.ZodArray<z.ZodString>;
68
+ missingContext: z.ZodDefault<z.ZodArray<z.ZodString>>;
69
+ suggestedLimnerImprovements: z.ZodDefault<z.ZodArray<z.ZodString>>;
70
+ }, z.core.$strip>;
71
+ nextIteration: z.ZodObject<{
72
+ focus: z.ZodString;
73
+ steps: z.ZodArray<z.ZodString>;
74
+ avoidForNow: z.ZodDefault<z.ZodArray<z.ZodString>>;
75
+ expectedImprovement: z.ZodOptional<z.ZodString>;
76
+ }, z.core.$strip>;
77
+ rationale: z.ZodString;
78
+ kind: z.ZodLiteral<"image-vs-image">;
79
+ inputs: z.ZodObject<{
80
+ expectedImagePath: z.ZodString;
81
+ actualImagePath: z.ZodString;
82
+ }, z.core.$strip>;
83
+ }, z.core.$strip>;
84
+ export declare const structureComparisonSchema: z.ZodObject<{
85
+ summary: z.ZodString;
86
+ score: z.ZodObject<{
87
+ overall: z.ZodNumber;
88
+ layout: z.ZodOptional<z.ZodNumber>;
89
+ hierarchy: z.ZodOptional<z.ZodNumber>;
90
+ typography: z.ZodOptional<z.ZodNumber>;
91
+ color: z.ZodOptional<z.ZodNumber>;
92
+ spacing: z.ZodOptional<z.ZodNumber>;
93
+ structure: z.ZodOptional<z.ZodNumber>;
94
+ semantics: z.ZodOptional<z.ZodNumber>;
95
+ }, z.core.$strip>;
96
+ confidence: z.ZodNumber;
97
+ majorDiffAreas: z.ZodArray<z.ZodObject<{
98
+ id: z.ZodString;
99
+ title: z.ZodString;
100
+ category: z.ZodEnum<{
101
+ typography: "typography";
102
+ spacing: "spacing";
103
+ color: "color";
104
+ layout: "layout";
105
+ hierarchy: "hierarchy";
106
+ "component-anatomy": "component-anatomy";
107
+ "copy-state": "copy-state";
108
+ "attention-flow": "attention-flow";
109
+ other: "other";
110
+ }>;
111
+ severity: z.ZodEnum<{
112
+ high: "high";
113
+ medium: "medium";
114
+ low: "low";
115
+ }>;
116
+ priority: z.ZodNumber;
117
+ expected: z.ZodString;
118
+ actual: z.ZodString;
119
+ impact: z.ZodString;
120
+ evidence: z.ZodArray<z.ZodObject<{
121
+ source: z.ZodString;
122
+ observation: z.ZodString;
123
+ }, z.core.$strip>>;
124
+ fixTarget: z.ZodOptional<z.ZodObject<{
125
+ surface: z.ZodEnum<{
126
+ unknown: "unknown";
127
+ mockup: "mockup";
128
+ implementation: "implementation";
129
+ }>;
130
+ region: z.ZodOptional<z.ZodString>;
131
+ likelyFiles: z.ZodDefault<z.ZodArray<z.ZodString>>;
132
+ selectors: z.ZodDefault<z.ZodArray<z.ZodString>>;
133
+ }, z.core.$strip>>;
134
+ recommendedChange: z.ZodString;
135
+ }, z.core.$strip>>;
136
+ matches: z.ZodArray<z.ZodString>;
137
+ remarks: z.ZodObject<{
138
+ matches: z.ZodArray<z.ZodString>;
139
+ uncertainties: z.ZodDefault<z.ZodArray<z.ZodString>>;
140
+ possibleIntentionalDeviations: z.ZodDefault<z.ZodArray<z.ZodString>>;
141
+ }, z.core.$strip>;
142
+ systemFeedback: z.ZodObject<{
143
+ inputQuality: z.ZodArray<z.ZodString>;
144
+ missingContext: z.ZodDefault<z.ZodArray<z.ZodString>>;
145
+ suggestedLimnerImprovements: z.ZodDefault<z.ZodArray<z.ZodString>>;
146
+ }, z.core.$strip>;
147
+ nextIteration: z.ZodObject<{
148
+ focus: z.ZodString;
149
+ steps: z.ZodArray<z.ZodString>;
150
+ avoidForNow: z.ZodDefault<z.ZodArray<z.ZodString>>;
151
+ expectedImprovement: z.ZodOptional<z.ZodString>;
152
+ }, z.core.$strip>;
153
+ rationale: z.ZodString;
154
+ kind: z.ZodLiteral<"structure-vs-structure">;
155
+ inputs: z.ZodObject<{
156
+ expectedStructurePath: z.ZodString;
157
+ actualStructurePath: z.ZodString;
158
+ structureKind: z.ZodEnum<{
159
+ "dom-metrics": "dom-metrics";
160
+ "visual-spec": "visual-spec";
161
+ html: "html";
162
+ "json-description": "json-description";
163
+ }>;
164
+ }, z.core.$strip>;
165
+ }, z.core.$strip>;
166
+ export declare const agentComparisonBundleSchema: z.ZodObject<{
167
+ version: z.ZodLiteral<1>;
168
+ generatedBy: z.ZodLiteral<"agent">;
169
+ profile: z.ZodEnum<{
170
+ "ideal-to-mockup": "ideal-to-mockup";
171
+ "mockup-to-implementation": "mockup-to-implementation";
172
+ }>;
173
+ inputFingerprint: z.ZodObject<{
174
+ expectedImageSha256: z.ZodString;
175
+ actualImageSha256: z.ZodString;
176
+ expectedStructureSha256: z.ZodOptional<z.ZodString>;
177
+ actualStructureSha256: z.ZodOptional<z.ZodString>;
178
+ }, z.core.$strip>;
179
+ imageComparison: z.ZodObject<{
180
+ summary: z.ZodString;
181
+ score: z.ZodObject<{
182
+ overall: z.ZodNumber;
183
+ layout: z.ZodOptional<z.ZodNumber>;
184
+ hierarchy: z.ZodOptional<z.ZodNumber>;
185
+ typography: z.ZodOptional<z.ZodNumber>;
186
+ color: z.ZodOptional<z.ZodNumber>;
187
+ spacing: z.ZodOptional<z.ZodNumber>;
188
+ structure: z.ZodOptional<z.ZodNumber>;
189
+ semantics: z.ZodOptional<z.ZodNumber>;
190
+ }, z.core.$strip>;
191
+ confidence: z.ZodNumber;
192
+ majorDiffAreas: z.ZodArray<z.ZodObject<{
193
+ id: z.ZodString;
194
+ title: z.ZodString;
195
+ category: z.ZodEnum<{
196
+ typography: "typography";
197
+ spacing: "spacing";
198
+ color: "color";
199
+ layout: "layout";
200
+ hierarchy: "hierarchy";
201
+ "component-anatomy": "component-anatomy";
202
+ "copy-state": "copy-state";
203
+ "attention-flow": "attention-flow";
204
+ other: "other";
205
+ }>;
206
+ severity: z.ZodEnum<{
207
+ high: "high";
208
+ medium: "medium";
209
+ low: "low";
210
+ }>;
211
+ priority: z.ZodNumber;
212
+ expected: z.ZodString;
213
+ actual: z.ZodString;
214
+ impact: z.ZodString;
215
+ evidence: z.ZodArray<z.ZodObject<{
216
+ source: z.ZodString;
217
+ observation: z.ZodString;
218
+ }, z.core.$strip>>;
219
+ fixTarget: z.ZodOptional<z.ZodObject<{
220
+ surface: z.ZodEnum<{
221
+ unknown: "unknown";
222
+ mockup: "mockup";
223
+ implementation: "implementation";
224
+ }>;
225
+ region: z.ZodOptional<z.ZodString>;
226
+ likelyFiles: z.ZodDefault<z.ZodArray<z.ZodString>>;
227
+ selectors: z.ZodDefault<z.ZodArray<z.ZodString>>;
228
+ }, z.core.$strip>>;
229
+ recommendedChange: z.ZodString;
230
+ }, z.core.$strip>>;
231
+ matches: z.ZodArray<z.ZodString>;
232
+ remarks: z.ZodObject<{
233
+ matches: z.ZodArray<z.ZodString>;
234
+ uncertainties: z.ZodDefault<z.ZodArray<z.ZodString>>;
235
+ possibleIntentionalDeviations: z.ZodDefault<z.ZodArray<z.ZodString>>;
236
+ }, z.core.$strip>;
237
+ systemFeedback: z.ZodObject<{
238
+ inputQuality: z.ZodArray<z.ZodString>;
239
+ missingContext: z.ZodDefault<z.ZodArray<z.ZodString>>;
240
+ suggestedLimnerImprovements: z.ZodDefault<z.ZodArray<z.ZodString>>;
241
+ }, z.core.$strip>;
242
+ nextIteration: z.ZodObject<{
243
+ focus: z.ZodString;
244
+ steps: z.ZodArray<z.ZodString>;
245
+ avoidForNow: z.ZodDefault<z.ZodArray<z.ZodString>>;
246
+ expectedImprovement: z.ZodOptional<z.ZodString>;
247
+ }, z.core.$strip>;
248
+ rationale: z.ZodString;
249
+ kind: z.ZodLiteral<"image-vs-image">;
250
+ inputs: z.ZodObject<{
251
+ expectedImagePath: z.ZodString;
252
+ actualImagePath: z.ZodString;
253
+ }, z.core.$strip>;
254
+ }, z.core.$strip>;
255
+ structureComparison: z.ZodOptional<z.ZodObject<{
256
+ summary: z.ZodString;
257
+ score: z.ZodObject<{
258
+ overall: z.ZodNumber;
259
+ layout: z.ZodOptional<z.ZodNumber>;
260
+ hierarchy: z.ZodOptional<z.ZodNumber>;
261
+ typography: z.ZodOptional<z.ZodNumber>;
262
+ color: z.ZodOptional<z.ZodNumber>;
263
+ spacing: z.ZodOptional<z.ZodNumber>;
264
+ structure: z.ZodOptional<z.ZodNumber>;
265
+ semantics: z.ZodOptional<z.ZodNumber>;
266
+ }, z.core.$strip>;
267
+ confidence: z.ZodNumber;
268
+ majorDiffAreas: z.ZodArray<z.ZodObject<{
269
+ id: z.ZodString;
270
+ title: z.ZodString;
271
+ category: z.ZodEnum<{
272
+ typography: "typography";
273
+ spacing: "spacing";
274
+ color: "color";
275
+ layout: "layout";
276
+ hierarchy: "hierarchy";
277
+ "component-anatomy": "component-anatomy";
278
+ "copy-state": "copy-state";
279
+ "attention-flow": "attention-flow";
280
+ other: "other";
281
+ }>;
282
+ severity: z.ZodEnum<{
283
+ high: "high";
284
+ medium: "medium";
285
+ low: "low";
286
+ }>;
287
+ priority: z.ZodNumber;
288
+ expected: z.ZodString;
289
+ actual: z.ZodString;
290
+ impact: z.ZodString;
291
+ evidence: z.ZodArray<z.ZodObject<{
292
+ source: z.ZodString;
293
+ observation: z.ZodString;
294
+ }, z.core.$strip>>;
295
+ fixTarget: z.ZodOptional<z.ZodObject<{
296
+ surface: z.ZodEnum<{
297
+ unknown: "unknown";
298
+ mockup: "mockup";
299
+ implementation: "implementation";
300
+ }>;
301
+ region: z.ZodOptional<z.ZodString>;
302
+ likelyFiles: z.ZodDefault<z.ZodArray<z.ZodString>>;
303
+ selectors: z.ZodDefault<z.ZodArray<z.ZodString>>;
304
+ }, z.core.$strip>>;
305
+ recommendedChange: z.ZodString;
306
+ }, z.core.$strip>>;
307
+ matches: z.ZodArray<z.ZodString>;
308
+ remarks: z.ZodObject<{
309
+ matches: z.ZodArray<z.ZodString>;
310
+ uncertainties: z.ZodDefault<z.ZodArray<z.ZodString>>;
311
+ possibleIntentionalDeviations: z.ZodDefault<z.ZodArray<z.ZodString>>;
312
+ }, z.core.$strip>;
313
+ systemFeedback: z.ZodObject<{
314
+ inputQuality: z.ZodArray<z.ZodString>;
315
+ missingContext: z.ZodDefault<z.ZodArray<z.ZodString>>;
316
+ suggestedLimnerImprovements: z.ZodDefault<z.ZodArray<z.ZodString>>;
317
+ }, z.core.$strip>;
318
+ nextIteration: z.ZodObject<{
319
+ focus: z.ZodString;
320
+ steps: z.ZodArray<z.ZodString>;
321
+ avoidForNow: z.ZodDefault<z.ZodArray<z.ZodString>>;
322
+ expectedImprovement: z.ZodOptional<z.ZodString>;
323
+ }, z.core.$strip>;
324
+ rationale: z.ZodString;
325
+ kind: z.ZodLiteral<"structure-vs-structure">;
326
+ inputs: z.ZodObject<{
327
+ expectedStructurePath: z.ZodString;
328
+ actualStructurePath: z.ZodString;
329
+ structureKind: z.ZodEnum<{
330
+ "dom-metrics": "dom-metrics";
331
+ "visual-spec": "visual-spec";
332
+ html: "html";
333
+ "json-description": "json-description";
334
+ }>;
335
+ }, z.core.$strip>;
336
+ }, z.core.$strip>>;
337
+ recommendation: z.ZodDefault<z.ZodObject<{
338
+ topFix: z.ZodOptional<z.ZodString>;
339
+ why: z.ZodOptional<z.ZodString>;
340
+ expectedScoreLift: z.ZodOptional<z.ZodNumber>;
341
+ }, z.core.$strip>>;
342
+ }, z.core.$strip>;
343
+ export type ImageComparison = z.infer<typeof imageComparisonSchema>;
344
+ export type StructureComparison = z.infer<typeof structureComparisonSchema>;
345
+ export type AgentComparisonBundle = z.infer<typeof agentComparisonBundleSchema>;
346
+ export type AgentComparisonInputFingerprint = z.infer<typeof inputFingerprintSchema>;
347
+ export declare function createAgentComparisonBundleExample(mode: 'image-only' | 'image-and-structure', inputFingerprint?: AgentComparisonInputFingerprint): AgentComparisonBundle;
348
+ export declare function createAgentComparisonJsonSchema(mode?: 'any' | 'image-only' | 'image-and-structure'): unknown;
349
+ export {};