@12ui/design 0.2.7 → 0.2.8

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 (67) hide show
  1. package/README.md +7 -0
  2. package/dist/cli-corpus-command.d.ts.map +1 -1
  3. package/dist/cli-corpus-command.js +7 -0
  4. package/dist/cli-corpus-command.js.map +1 -1
  5. package/dist/cli-corpus-evidence.d.ts.map +1 -1
  6. package/dist/cli-corpus-evidence.js +20 -2
  7. package/dist/cli-corpus-evidence.js.map +1 -1
  8. package/dist/cli-corpus-reference-image.d.ts +13 -0
  9. package/dist/cli-corpus-reference-image.d.ts.map +1 -0
  10. package/dist/cli-corpus-reference-image.js +54 -0
  11. package/dist/cli-corpus-reference-image.js.map +1 -0
  12. package/dist/cli-corpus-run.d.ts +6 -0
  13. package/dist/cli-corpus-run.d.ts.map +1 -1
  14. package/dist/cli-corpus-run.js +15 -2
  15. package/dist/cli-corpus-run.js.map +1 -1
  16. package/dist/cli-corpus-types.d.ts +4 -0
  17. package/dist/cli-corpus-types.d.ts.map +1 -1
  18. package/dist/cli-corpus-types.js.map +1 -1
  19. package/dist/cli-image-batch-command.d.ts.map +1 -1
  20. package/dist/cli-image-batch-command.js +2 -1
  21. package/dist/cli-image-batch-command.js.map +1 -1
  22. package/dist/cli-image-command.d.ts.map +1 -1
  23. package/dist/cli-image-command.js +7 -1
  24. package/dist/cli-image-command.js.map +1 -1
  25. package/dist/cli-persistence.d.ts.map +1 -1
  26. package/dist/cli-persistence.js +8 -1
  27. package/dist/cli-persistence.js.map +1 -1
  28. package/dist/cli.js +2 -2
  29. package/dist/corpus-client.d.ts +15 -1
  30. package/dist/corpus-client.d.ts.map +1 -1
  31. package/dist/corpus-client.js +48 -2
  32. package/dist/corpus-client.js.map +1 -1
  33. package/dist/corpus-experiment.d.ts +170 -0
  34. package/dist/corpus-experiment.d.ts.map +1 -0
  35. package/dist/corpus-experiment.js +2 -0
  36. package/dist/corpus-experiment.js.map +1 -0
  37. package/dist/image-generation-batch-manifest.d.ts +2 -1
  38. package/dist/image-generation-batch-manifest.d.ts.map +1 -1
  39. package/dist/image-generation-batch-manifest.js +7 -1
  40. package/dist/image-generation-batch-manifest.js.map +1 -1
  41. package/dist/image-generation-error.d.ts +3 -0
  42. package/dist/image-generation-error.d.ts.map +1 -0
  43. package/dist/image-generation-error.js +30 -0
  44. package/dist/image-generation-error.js.map +1 -0
  45. package/dist/image-generation-evidence.d.ts +3 -1
  46. package/dist/image-generation-evidence.d.ts.map +1 -1
  47. package/dist/image-generation-evidence.js.map +1 -1
  48. package/dist/image-generation-request.d.ts +4 -0
  49. package/dist/image-generation-request.d.ts.map +1 -1
  50. package/dist/image-generation-request.js +3 -0
  51. package/dist/image-generation-request.js.map +1 -1
  52. package/dist/image-generation-run.d.ts.map +1 -1
  53. package/dist/image-generation-run.js +14 -4
  54. package/dist/image-generation-run.js.map +1 -1
  55. package/dist/image-generation-usage.d.ts +4 -0
  56. package/dist/image-generation-usage.d.ts.map +1 -1
  57. package/dist/image-generation-usage.js +37 -10
  58. package/dist/image-generation-usage.js.map +1 -1
  59. package/dist/index.d.ts +2 -1
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +1 -1
  62. package/dist/index.js.map +1 -1
  63. package/package.json +2 -2
  64. package/skills/design/SKILL.md +99 -14
  65. package/skills/design/references/continuation-contract.md +60 -0
  66. package/skills/design/references/selection-contract.md +34 -4
  67. package/skills/design-search/SKILL.md +21 -2
@@ -2,7 +2,10 @@ import type { ImageGenerationAttempt } from './image-generation-evidence.js';
2
2
  import type { ImageGenerationProvider } from './image-provider-preflight.js';
3
3
  export declare const IMAGE_GENERATION_ASPECTS: readonly ["landscape", "portrait", "square"];
4
4
  export type ImageGenerationAspect = (typeof IMAGE_GENERATION_ASPECTS)[number];
5
+ export declare const IMAGE_GENERATION_REFERENCE_MODES: readonly ["inspiration", "preserve-structure"];
6
+ export type ImageGenerationReferenceMode = (typeof IMAGE_GENERATION_REFERENCE_MODES)[number];
5
7
  export declare const isImageGenerationAspect: (value: unknown) => value is ImageGenerationAspect;
8
+ export declare const isImageGenerationReferenceMode: (value: unknown) => value is ImageGenerationReferenceMode;
6
9
  export declare const imageGenerationSha256: (value: Uint8Array | string) => string;
7
10
  export type ImageGenerationRequest = {
8
11
  candidateId?: string;
@@ -13,6 +16,7 @@ export type ImageGenerationRequest = {
13
16
  projectRoot: string;
14
17
  provider: ImageGenerationProvider;
15
18
  aspect: ImageGenerationAspect;
19
+ referenceMode: ImageGenerationReferenceMode;
16
20
  idempotencyKey: string;
17
21
  };
18
22
  export type PreparedImageGenerationRequest = ImageGenerationRequest & {
@@ -1 +1 @@
1
- {"version":3,"file":"image-generation-request.d.ts","sourceRoot":"","sources":["../src/image-generation-request.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAG7E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAE7E,eAAO,MAAM,wBAAwB,8CAA+C,CAAC;AACrF,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9E,eAAO,MAAM,uBAAuB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,qBAGjE,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,OAAO,UAAU,GAAG,MAAM,KAAG,MAElE,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,sBAAsB,CAAC,cAAc,CAAC,CAAC;IACrD,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,uBAAuB,CAAC;IAClC,MAAM,EAAE,qBAAqB,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG,sBAAsB,GAAG;IACpE,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAU,QAAQ,MAAM,KAAG,OAAO,CAAC,OAAO,CAQ/E,CAAC;AAEF,eAAO,MAAM,6BAA6B,GACxC,SAAS,sBAAsB,KAC9B,OAAO,CAAC,8BAA8B,CA0BxC,CAAC"}
1
+ {"version":3,"file":"image-generation-request.d.ts","sourceRoot":"","sources":["../src/image-generation-request.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAG7E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAE7E,eAAO,MAAM,wBAAwB,8CAA+C,CAAC;AACrF,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9E,eAAO,MAAM,gCAAgC,gDAAiD,CAAC;AAC/F,MAAM,MAAM,4BAA4B,GAAG,CAAC,OAAO,gCAAgC,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7F,eAAO,MAAM,uBAAuB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,qBAGjE,CAAC;AAEF,eAAO,MAAM,8BAA8B,GACzC,OAAO,OAAO,KACb,KAAK,IAAI,4BAGX,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,OAAO,UAAU,GAAG,MAAM,KAAG,MAElE,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,sBAAsB,CAAC,cAAc,CAAC,CAAC;IACrD,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,uBAAuB,CAAC;IAClC,MAAM,EAAE,qBAAqB,CAAC;IAC9B,aAAa,EAAE,4BAA4B,CAAC;IAC5C,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG,sBAAsB,GAAG;IACpE,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAU,QAAQ,MAAM,KAAG,OAAO,CAAC,OAAO,CAQ/E,CAAC;AAEF,eAAO,MAAM,6BAA6B,GACxC,SAAS,sBAAsB,KAC9B,OAAO,CAAC,8BAA8B,CA0BxC,CAAC"}
@@ -4,8 +4,11 @@ import path from 'node:path';
4
4
  import { imageAttemptPath } from './image-generation-evidence.js';
5
5
  import { referenceImageDataUrl } from './image-generation-output.js';
6
6
  export const IMAGE_GENERATION_ASPECTS = ['landscape', 'portrait', 'square'];
7
+ export const IMAGE_GENERATION_REFERENCE_MODES = ['inspiration', 'preserve-structure'];
7
8
  export const isImageGenerationAspect = (value) => (typeof value === 'string'
8
9
  && IMAGE_GENERATION_ASPECTS.includes(value));
10
+ export const isImageGenerationReferenceMode = (value) => (typeof value === 'string'
11
+ && IMAGE_GENERATION_REFERENCE_MODES.includes(value));
9
12
  export const imageGenerationSha256 = (value) => (createHash('sha256').update(value).digest('hex'));
10
13
  export const imageGenerationPathExists = async (target) => {
11
14
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"image-generation-request.js","sourceRoot":"","sources":["../src/image-generation-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAGrE,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAU,CAAC;AAGrF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAc,EAAkC,EAAE,CAAC,CACzF,OAAO,KAAK,KAAK,QAAQ;OACrB,wBAA8C,CAAC,QAAQ,CAAC,KAAK,CAAC,CACnE,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAA0B,EAAU,EAAE,CAAC,CAC3E,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACjD,CAAC;AAwBF,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,EAAE,MAAc,EAAoB,EAAE;IAClF,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACrE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,KAAK,EAChD,OAA+B,EACU,EAAE;IAC3C,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAC;IACpG,CAAC;IACD,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACzD,IAAI,MAAM,yBAAyB,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,yDAAyD,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACjG,CAAC;IACD,IAAI,MAAM,yBAAyB,CAAC,WAAW,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CACb,4CAA4C,WAAW,6BAA6B;cAClF,mFAAmF,CACtF,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,MAAM,cAAc,GAAG,IAAI,UAAU,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IAC7E,OAAO;QACL,GAAG,OAAO;QACV,WAAW;QACX,YAAY,EAAE,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC;QACnD,SAAS,EAAE;YACT,IAAI,EAAE,OAAO,CAAC,aAAa;YAC3B,MAAM,EAAE,qBAAqB,CAAC,cAAc,CAAC;YAC7C,OAAO,EAAE,MAAM,qBAAqB,CAAC,cAAc,EAAE,OAAO,CAAC,aAAa,CAAC;SAC5E;KACF,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"image-generation-request.js","sourceRoot":"","sources":["../src/image-generation-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAGrE,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAU,CAAC;AAErF,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,aAAa,EAAE,oBAAoB,CAAU,CAAC;AAG/F,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAc,EAAkC,EAAE,CAAC,CACzF,OAAO,KAAK,KAAK,QAAQ;OACrB,wBAA8C,CAAC,QAAQ,CAAC,KAAK,CAAC,CACnE,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC5C,KAAc,EACyB,EAAE,CAAC,CAC1C,OAAO,KAAK,KAAK,QAAQ;OACrB,gCAAsD,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC3E,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAA0B,EAAU,EAAE,CAAC,CAC3E,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACjD,CAAC;AAyBF,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,EAAE,MAAc,EAAoB,EAAE;IAClF,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACrE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,KAAK,EAChD,OAA+B,EACU,EAAE;IAC3C,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAC;IACpG,CAAC;IACD,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACzD,IAAI,MAAM,yBAAyB,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,yDAAyD,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACjG,CAAC;IACD,IAAI,MAAM,yBAAyB,CAAC,WAAW,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CACb,4CAA4C,WAAW,6BAA6B;cAClF,mFAAmF,CACtF,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,MAAM,cAAc,GAAG,IAAI,UAAU,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IAC7E,OAAO;QACL,GAAG,OAAO;QACV,WAAW;QACX,YAAY,EAAE,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC;QACnD,SAAS,EAAE;YACT,IAAI,EAAE,OAAO,CAAC,aAAa;YAC3B,MAAM,EAAE,qBAAqB,CAAC,cAAc,CAAC;YAC7C,OAAO,EAAE,MAAM,qBAAqB,CAAC,cAAc,EAAE,OAAO,CAAC,aAAa,CAAC;SAC5E;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"image-generation-run.d.ts","sourceRoot":"","sources":["../src/image-generation-run.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EAGd,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAEL,KAAK,8BAA8B,EACpC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAGL,KAAK,4BAA4B,EAClC,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAE5E,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,CAAC,EAAE,OAAO,aAAa,CAAC;IAChC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,8BAA8B,CAAC;IACxC,SAAS,EAAE,sBAAsB,CAAC;IAClC,OAAO,EAAE,sBAAsB,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC7C,KAAK,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,4BAA4B,CAAC;CACrC,CAAC;AAMF,eAAO,MAAM,sBAAsB,GAAU,MAAM;IACjD,OAAO,EAAE,8BAA8B,CAAC;IACxC,SAAS,EAAE,sBAAsB,CAAC;IAClC,KAAK,CAAC,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACxC,YAAY,CAAC,EAAE,2BAA2B,CAAC;CAC5C,KAAG,OAAO,CAAC,uBAAuB,CAkClC,CAAC;AAEF,eAAO,MAAM,6BAA6B,GACxC,UAAU,uBAAuB,EACjC,eAAc,2BAAgC,KAC7C,OAAO,CAAC,IAAI,CAId,CAAC;AAEF,eAAO,MAAM,iCAAiC,GAC5C,UAAU,uBAAuB,EACjC,OAAO,MAAM,EACb,eAAc,2BAAgC,KAC7C,OAAO,CAAC,IAAI,CAKd,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,UAAU,uBAAuB,EACjC,eAAc,2BAAgC,KAC7C,OAAO,CAAC,qBAAqB,CAsF/B,CAAC"}
1
+ {"version":3,"file":"image-generation-run.d.ts","sourceRoot":"","sources":["../src/image-generation-run.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EAGd,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,gCAAgC,CAAC;AAMxC,OAAO,EAEL,KAAK,8BAA8B,EACpC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAGL,KAAK,4BAA4B,EAClC,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAE5E,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,CAAC,EAAE,OAAO,aAAa,CAAC;IAChC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,8BAA8B,CAAC;IACxC,SAAS,EAAE,sBAAsB,CAAC;IAClC,OAAO,EAAE,sBAAsB,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC7C,KAAK,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,4BAA4B,CAAC;CACrC,CAAC;AAMF,eAAO,MAAM,sBAAsB,GAAU,MAAM;IACjD,OAAO,EAAE,8BAA8B,CAAC;IACxC,SAAS,EAAE,sBAAsB,CAAC;IAClC,KAAK,CAAC,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACxC,YAAY,CAAC,EAAE,2BAA2B,CAAC;CAC5C,KAAG,OAAO,CAAC,uBAAuB,CAmClC,CAAC;AAEF,eAAO,MAAM,6BAA6B,GACxC,UAAU,uBAAuB,EACjC,eAAc,2BAAgC,KAC7C,OAAO,CAAC,IAAI,CAId,CAAC;AAEF,eAAO,MAAM,iCAAiC,GAC5C,UAAU,uBAAuB,EACjC,OAAO,MAAM,EACb,eAAc,2BAAgC,KAC7C,OAAO,CAAC,IAAI,CAKd,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,UAAU,uBAAuB,EACjC,eAAc,2BAAgC,KAC7C,OAAO,CAAC,qBAAqB,CA6F/B,CAAC"}
@@ -2,6 +2,7 @@ import { writeFile } from 'node:fs/promises';
2
2
  import { ensembleImage, } from '@just-every/ensemble';
3
3
  import { OpenAIProvider } from '@just-every/ensemble/model_providers/openai';
4
4
  import { writeImageGenerationAttempt, } from './image-generation-evidence.js';
5
+ import { imageGenerationErrorMessage, imageGenerationProviderRequestId, } from './image-generation-error.js';
5
6
  import { generatedPngBytes } from './image-generation-output.js';
6
7
  import { imageGenerationSha256, } from './image-generation-request.js';
7
8
  import { captureImageGenerationUsage, imageGenerationUsageEvidence, } from './image-generation-usage.js';
@@ -9,7 +10,7 @@ const timestamp = (dependencies) => ((dependencies.now ?? (() => new Date()))().
9
10
  export const reserveImageGeneration = async (args) => {
10
11
  const dependencies = args.dependencies ?? {};
11
12
  const attempt = {
12
- schemaVersion: 3,
13
+ schemaVersion: 4,
13
14
  status: 'prepared',
14
15
  idempotencyKey: args.request.idempotencyKey,
15
16
  provider: args.preflight.provider,
@@ -25,6 +26,7 @@ export const reserveImageGeneration = async (args) => {
25
26
  path: args.request.reference.path,
26
27
  sha256: args.request.reference.sha256,
27
28
  },
29
+ referenceMode: args.request.referenceMode,
28
30
  outputPath: args.request.outputPath,
29
31
  preparedAt: timestamp(dependencies),
30
32
  ...(args.batch ? { batch: args.batch } : {}),
@@ -52,6 +54,7 @@ export const failImageGenerationBeforeDispatch = async (reserved, error, depende
52
54
  };
53
55
  export const dispatchImageGeneration = async (reserved, dependencies = {}) => {
54
56
  const { request, preflight, attempt } = reserved;
57
+ let providerRequestId;
55
58
  attempt.providerStartedAt = timestamp(dependencies);
56
59
  await writeImageGenerationAttempt(request.attemptFile, attempt);
57
60
  try {
@@ -61,13 +64,11 @@ export const dispatchImageGeneration = async (reserved, dependencies = {}) => {
61
64
  cwd: request.projectRoot,
62
65
  retryOptions: { maxRetries: 0 },
63
66
  };
64
- let providerRequestId;
65
67
  const options = {
66
68
  n: 1,
67
69
  size: request.aspect,
68
70
  quality: 'high',
69
71
  source_images: [request.reference.dataUrl],
70
- ...(preflight.provider === 'codex' ? { input_fidelity: 'high' } : {}),
71
72
  output_format: 'png',
72
73
  idempotency_key: request.idempotencyKey,
73
74
  request_id: request.idempotencyKey,
@@ -98,6 +99,8 @@ export const dispatchImageGeneration = async (reserved, dependencies = {}) => {
98
99
  providerCompleted: captured.outcome.status === 'fulfilled',
99
100
  ...(Array.isArray(generated) ? { generatedImageCount: generated.length } : {}),
100
101
  });
102
+ if (providerRequestId)
103
+ attempt.providerRequestId = providerRequestId;
101
104
  await writeImageGenerationAttempt(request.attemptFile, attempt);
102
105
  if (captured.outcome.status === 'rejected')
103
106
  throw captured.outcome.reason;
@@ -123,9 +126,16 @@ export const dispatchImageGeneration = async (reserved, dependencies = {}) => {
123
126
  };
124
127
  }
125
128
  catch (error) {
129
+ providerRequestId ??= imageGenerationProviderRequestId(error);
130
+ if (providerRequestId) {
131
+ attempt.providerRequestId = providerRequestId;
132
+ if (attempt.usage && !attempt.usage.providerRequestId) {
133
+ attempt.usage.providerRequestId = providerRequestId;
134
+ }
135
+ }
126
136
  attempt.status = 'failed';
127
137
  attempt.completedAt = timestamp(dependencies);
128
- attempt.error = error instanceof Error ? error.message : String(error);
138
+ attempt.error = imageGenerationErrorMessage(error);
129
139
  await writeImageGenerationAttempt(request.attemptFile, attempt);
130
140
  throw new Error(`Image generation failed after dispatch with ${attempt.provider}; no provider fallback`
131
141
  + ` was attempted. Evidence: ${request.attemptFile}. ${attempt.error}`, { cause: error });
@@ -1 +1 @@
1
- {"version":3,"file":"image-generation-run.js","sourceRoot":"","sources":["../src/image-generation-run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image-generation-run.js","sourceRoot":"","sources":["../src/image-generation-run.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,8 @@ export type ImageGenerationUsageEntry = {
9
9
  outputTokens?: number;
10
10
  totalTokens?: number;
11
11
  cachedTokens?: number;
12
+ cacheWriteTokens?: number;
13
+ cacheWrite1hTokens?: number;
12
14
  imageCount?: number;
13
15
  inputModality?: ModelUsage['input_modality'];
14
16
  outputModality?: ModelUsage['output_modality'];
@@ -31,6 +33,8 @@ export type ImageGenerationUsageEvidence = {
31
33
  outputTokens?: number;
32
34
  totalTokens?: number;
33
35
  cachedTokens?: number;
36
+ cacheWriteTokens?: number;
37
+ cacheWrite1hTokens?: number;
34
38
  imageCount?: number;
35
39
  entries: ImageGenerationUsageEntry[];
36
40
  };
@@ -1 +1 @@
1
- {"version":3,"file":"image-generation-usage.d.ts","sourceRoot":"","sources":["../src/image-generation-usage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image-generation-usage.d.ts","sourceRoot":"","sources":["../src/image-generation-usage.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import { costTracker } from '@just-every/ensemble';
2
2
  const finiteNonNegative = (value) => (typeof value === 'number' && Number.isFinite(value) && value >= 0);
3
+ const nonNegativeTokenCount = (value) => (typeof value === 'number' && Number.isSafeInteger(value) && value >= 0);
4
+ const optionalTokenCount = (value) => (value === undefined ? 0 : nonNegativeTokenCount(value) ? value : null);
3
5
  const sumUsd = (values) => (Math.round(values.reduce((sum, value) => sum + value, 0) * 1_000_000_000_000)
4
6
  / 1_000_000_000_000);
5
7
  const cloneUsage = (usage) => ({
@@ -40,19 +42,25 @@ const tokenDetails = (usage) => {
40
42
  return undefined;
41
43
  const text = details.text_tokens;
42
44
  const image = details.image_tokens;
43
- return finiteNonNegative(text) && finiteNonNegative(image) ? { text, image } : undefined;
45
+ return nonNegativeTokenCount(text) && nonNegativeTokenCount(image) ? { text, image } : undefined;
44
46
  };
45
47
  const normalizedEntry = (usage) => {
46
48
  const details = tokenDetails(usage);
47
49
  const estimated = usage.metadata?.estimated === true;
48
50
  return {
49
51
  ...(usage.model ? { model: usage.model } : {}),
50
- ...(finiteNonNegative(usage.input_tokens) ? { inputTokens: usage.input_tokens } : {}),
52
+ ...(nonNegativeTokenCount(usage.input_tokens) ? { inputTokens: usage.input_tokens } : {}),
51
53
  ...(details ? { inputTokensByModality: details } : {}),
52
- ...(finiteNonNegative(usage.output_tokens) ? { outputTokens: usage.output_tokens } : {}),
53
- ...(finiteNonNegative(usage.total_tokens) ? { totalTokens: usage.total_tokens } : {}),
54
- ...(finiteNonNegative(usage.cached_tokens) ? { cachedTokens: usage.cached_tokens } : {}),
55
- ...(finiteNonNegative(usage.image_count) ? { imageCount: usage.image_count } : {}),
54
+ ...(nonNegativeTokenCount(usage.output_tokens) ? { outputTokens: usage.output_tokens } : {}),
55
+ ...(nonNegativeTokenCount(usage.total_tokens) ? { totalTokens: usage.total_tokens } : {}),
56
+ ...(nonNegativeTokenCount(usage.cached_tokens) ? { cachedTokens: usage.cached_tokens } : {}),
57
+ ...(nonNegativeTokenCount(usage.cache_write_tokens)
58
+ ? { cacheWriteTokens: usage.cache_write_tokens }
59
+ : {}),
60
+ ...(nonNegativeTokenCount(usage.cache_write_1h_tokens)
61
+ ? { cacheWrite1hTokens: usage.cache_write_1h_tokens }
62
+ : {}),
63
+ ...(nonNegativeTokenCount(usage.image_count) ? { imageCount: usage.image_count } : {}),
56
64
  ...(usage.input_modality ? { inputModality: usage.input_modality } : {}),
57
65
  ...(usage.output_modality ? { outputModality: usage.output_modality } : {}),
58
66
  ...(finiteNonNegative(usage.cost)
@@ -78,6 +86,8 @@ const aggregateFields = (entries) => {
78
86
  ? inputTokens + outputTokens
79
87
  : undefined);
80
88
  const cachedTokens = sumDefined(entries, (entry) => entry.cachedTokens);
89
+ const cacheWriteTokens = sumDefined(entries, (entry) => entry.cacheWriteTokens);
90
+ const cacheWrite1hTokens = sumDefined(entries, (entry) => entry.cacheWrite1hTokens);
81
91
  const imageCount = sumDefined(entries, (entry) => entry.imageCount);
82
92
  return {
83
93
  ...(inputTokens !== undefined ? { inputTokens } : {}),
@@ -87,19 +97,32 @@ const aggregateFields = (entries) => {
87
97
  ...(outputTokens !== undefined ? { outputTokens } : {}),
88
98
  ...(totalTokens !== undefined ? { totalTokens } : {}),
89
99
  ...(cachedTokens !== undefined ? { cachedTokens } : {}),
100
+ ...(cacheWriteTokens !== undefined ? { cacheWriteTokens } : {}),
101
+ ...(cacheWrite1hTokens !== undefined ? { cacheWrite1hTokens } : {}),
90
102
  ...(imageCount !== undefined ? { imageCount } : {}),
91
103
  };
92
104
  };
93
- const isFullOpenAIEntry = (usage, model) => {
105
+ const isFullOpenAIEntry = (usage, model, requestId) => {
94
106
  const details = tokenDetails(usage);
107
+ const cachedTokens = optionalTokenCount(usage.cached_tokens);
108
+ const cacheWriteTokens = optionalTokenCount(usage.cache_write_tokens);
109
+ const cacheWrite1hTokens = optionalTokenCount(usage.cache_write_1h_tokens);
95
110
  return usage.model === model
111
+ && usage.request_id === requestId
96
112
  && usage.metadata?.token_priced === true
97
113
  && usage.metadata?.estimated !== true
98
114
  && finiteNonNegative(usage.cost)
99
115
  && usage.cost > 0
100
- && finiteNonNegative(usage.input_tokens)
101
- && finiteNonNegative(usage.output_tokens)
116
+ && nonNegativeTokenCount(usage.input_tokens)
117
+ && nonNegativeTokenCount(usage.output_tokens)
102
118
  && usage.output_tokens > 0
119
+ && nonNegativeTokenCount(usage.total_tokens)
120
+ && usage.total_tokens === usage.input_tokens + usage.output_tokens
121
+ && cachedTokens !== null
122
+ && cacheWriteTokens !== null
123
+ && cacheWrite1hTokens !== null
124
+ && cachedTokens + cacheWriteTokens + cacheWrite1hTokens <= usage.input_tokens
125
+ && nonNegativeTokenCount(usage.image_count)
103
126
  && details !== undefined
104
127
  && usage.input_tokens === details.text + details.image;
105
128
  };
@@ -128,7 +151,11 @@ export const imageGenerationUsageEvidence = (args) => {
128
151
  };
129
152
  }
130
153
  const aggregate = aggregateFields(normalized);
131
- if (args.entries.length > 0 && args.entries.every((entry) => isFullOpenAIEntry(entry, args.model))) {
154
+ const fullEntries = args.entries.length > 0
155
+ && args.entries.every((entry) => isFullOpenAIEntry(entry, args.model, args.requestId));
156
+ const imageCountMatchesRequest = aggregate.imageCount === 1
157
+ && (args.generatedImageCount === undefined || args.generatedImageCount === 1);
158
+ if (fullEntries && imageCountMatchesRequest) {
132
159
  return {
133
160
  requestId: args.requestId,
134
161
  ...providerRequestId,
@@ -1 +1 @@
1
- {"version":3,"file":"image-generation-usage.js","sourceRoot":"","sources":["../src/image-generation-usage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image-generation-usage.js","sourceRoot":"","sources":["../src/image-generation-usage.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -9,5 +9,6 @@ export { normalizeConversionOrigin, readConversionConfig, type ConversionConfig
9
9
  export { DEFAULT_TWELVE_UI_DEVICE_SCOPES, DEFAULT_TWELVE_UI_LOGIN_ORIGIN, TWELVE_UI_DEVICE_SCOPES, authenticateTwelveUiDevice, normalizeLoginOrigin, revokeTwelveUiCredential, verifyTwelveUiCredential, type TwelveUiDeviceCredential, type TwelveUiDeviceScope, type VerifiedTwelveUiCredential, } from './login-auth.js';
10
10
  export { CONVERSION_PACKAGE_MEDIA_TYPE, CONVERSION_PACKAGE_SITE_MEDIA_TYPE, TwelveUiConversionPackageClient, type ConversionPackageClientOptions, type ConversionPackageFile, type ConversionPackageLegacyManifest, type ConversionPackageManifest, type ConversionPackageOperation, type ConversionPackageSiteManifest, type CreateConversionPackageInput, } from './package-client.js';
11
11
  export { startMcpServer, type McpServerOptions } from './server.js';
12
- export { CORPUS_QUERY_IDEMPOTENCY_REVISION, TwelveUiCorpusClient, type CorpusAspect, type CorpusClientOptions, type CorpusFilters, type CorpusInspirationItem, type CorpusInspirationRequest, type CorpusInspirationResponse, type CorpusMatch, type CorpusPurpose, type CorpusQuality, type CorpusReference, type CorpusRetrievalCluster, type CorpusRetrievalRequest, type CorpusRetrievalResponse, type CorpusStatus, type CorpusTrack, } from './corpus-client.js';
12
+ export { CORPUS_QUERY_IDEMPOTENCY_REVISION, MAX_CORPUS_REFERENCE_IMAGE_BYTES, TwelveUiCorpusClient, type CorpusAspect, type CorpusClientOptions, type CorpusFilters, type CorpusInspirationItem, type CorpusInspirationRequest, type CorpusInspirationResponse, type CorpusMatch, type CorpusPurpose, type CorpusQuality, type CorpusReference, type CorpusReferenceImageInput, type CorpusReferenceImageMediaType, type CorpusRetrievalCluster, type CorpusRetrievalRequest, type CorpusRetrievalResponse, type CorpusStatus, type CorpusTrack, } from './corpus-client.js';
13
+ export type { CorpusExperimentArm, CorpusExperimentArmOwnership, CorpusExperimentCandidate, CorpusExperimentCluster, CorpusExperimentItem, CorpusExperimentNormalization, CorpusExperimentQualityMetric, CorpusExperimentReference, CorpusExperimentRequest, CorpusExperimentResponse, CorpusExperimentRun, CorpusExperimentRunInput, CorpusExperimentRunResult, CorpusExperimentScore, CorpusExperimentSource, CorpusExperimentSpace, CorpusExperimentSpaceKind, } from './corpus-experiment.js';
13
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -9,5 +9,5 @@ export { normalizeConversionOrigin, readConversionConfig } from './config.js';
9
9
  export { DEFAULT_TWELVE_UI_DEVICE_SCOPES, DEFAULT_TWELVE_UI_LOGIN_ORIGIN, TWELVE_UI_DEVICE_SCOPES, authenticateTwelveUiDevice, normalizeLoginOrigin, revokeTwelveUiCredential, verifyTwelveUiCredential, } from './login-auth.js';
10
10
  export { CONVERSION_PACKAGE_MEDIA_TYPE, CONVERSION_PACKAGE_SITE_MEDIA_TYPE, TwelveUiConversionPackageClient, } from './package-client.js';
11
11
  export { startMcpServer } from './server.js';
12
- export { CORPUS_QUERY_IDEMPOTENCY_REVISION, TwelveUiCorpusClient, } from './corpus-client.js';
12
+ export { CORPUS_QUERY_IDEMPOTENCY_REVISION, MAX_CORPUS_REFERENCE_IMAGE_BYTES, TwelveUiCorpusClient, } from './corpus-client.js';
13
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,iBAAiB,EACjB,iBAAiB,GAElB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,wBAAwB,GAmBzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,+BAA+B,EAC/B,4BAA4B,EAC5B,mCAAmC,EACnC,yBAAyB,EACzB,6BAA6B,EAC7B,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,GAItB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,0BAA0B,EAC1B,+BAA+B,EAC/B,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,oCAAoC,EACpC,yBAAyB,EACzB,4BAA4B,GAa7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,wBAAwB,GAEzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,+BAA+B,EAC/B,yCAAyC,EACzC,+BAA+B,EAC/B,6CAA6C,EAC7C,4CAA4C,EAC5C,0CAA0C,EAC1C,sCAAsC,EACtC,6BAA6B,EAC7B,sCAAsC,EACtC,6BAA6B,GAI9B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,8BAA8B,GAG/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAyB,MAAM,aAAa,CAAC;AACrG,OAAO,EACL,+BAA+B,EAC/B,8BAA8B,EAC9B,uBAAuB,EACvB,0BAA0B,EAC1B,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,GAIzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,6BAA6B,EAC7B,kCAAkC,EAClC,+BAA+B,GAQhC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAyB,MAAM,aAAa,CAAC;AACpE,OAAO,EACL,iCAAiC,EACjC,oBAAoB,GAgBrB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,GAElB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,wBAAwB,GAmBzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,+BAA+B,EAC/B,4BAA4B,EAC5B,mCAAmC,EACnC,yBAAyB,EACzB,6BAA6B,EAC7B,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,GAItB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,0BAA0B,EAC1B,+BAA+B,EAC/B,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,oCAAoC,EACpC,yBAAyB,EACzB,4BAA4B,GAa7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,wBAAwB,GAEzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,+BAA+B,EAC/B,yCAAyC,EACzC,+BAA+B,EAC/B,6CAA6C,EAC7C,4CAA4C,EAC5C,0CAA0C,EAC1C,sCAAsC,EACtC,6BAA6B,EAC7B,sCAAsC,EACtC,6BAA6B,GAI9B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,8BAA8B,GAG/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAyB,MAAM,aAAa,CAAC;AACrG,OAAO,EACL,+BAA+B,EAC/B,8BAA8B,EAC9B,uBAAuB,EACvB,0BAA0B,EAC1B,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,GAIzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,6BAA6B,EAC7B,kCAAkC,EAClC,+BAA+B,GAQhC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAyB,MAAM,aAAa,CAAC;AACpE,OAAO,EACL,iCAAiC,EACjC,gCAAgC,EAChC,oBAAoB,GAkBrB,MAAM,oBAAoB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@12ui/design",
3
- "version": "0.2.7",
3
+ "version": "0.2.8",
4
4
  "type": "module",
5
5
  "description": "The canonical 12UI CLI, SDK, MCP server, and visual interface design skills",
6
6
  "main": "dist/index.js",
@@ -24,7 +24,7 @@
24
24
  "prepublishOnly": "npm run build"
25
25
  },
26
26
  "dependencies": {
27
- "@just-every/ensemble": "0.2.272",
27
+ "@just-every/ensemble": "0.2.274",
28
28
  "@modelcontextprotocol/sdk": "^1.29.0",
29
29
  "sharp": "^0.34.5"
30
30
  },
@@ -13,7 +13,11 @@ than recreating it manually.
13
13
 
14
14
  ## Choose the route
15
15
 
16
- - Finished screenshot or mockup: use `design-convert` directly.
16
+ - Finished screenshot or mockup to reproduce faithfully: use `design-convert`
17
+ directly.
18
+ - Existing screenshot supplied as a redesign source: choose an exploratory
19
+ redesign or a structure-preserving reskin below. It is not a corpus
20
+ inspiration image.
17
21
  - Small visual edit: change the existing project code. Do not search, generate,
18
22
  or convert.
19
23
  - Rough brief, new interface, or major redesign: use the workflow below.
@@ -26,6 +30,19 @@ Inspect the project before designing: its instructions, framework, routes,
26
30
  components, assets, conventions, validation commands, and existing user
27
31
  changes. Create the run directory under the system temporary directory.
28
32
 
33
+ If there is a redesign source, state a short preserve/change contract before
34
+ searching. Choose one mode:
35
+
36
+ - `exploratory-redesign`: preserve only named product/UX constraints and allow
37
+ layout and visual language to change.
38
+ - `structure-preserving-reskin`: preserve the named information architecture,
39
+ content hierarchy, and interactions; change only the named visual qualities.
40
+
41
+ If the source is a long page or contains more than the target screen, crop the
42
+ relevant first viewport into the system temporary run directory before search
43
+ or generation. Keep and hash both the original and prepared crop; do not make
44
+ the image model solve a whole-page composition inside one viewport.
45
+
29
46
  Search with the CLI; do not make a separate brief file:
30
47
 
31
48
  ```bash
@@ -36,6 +53,20 @@ Search with the CLI; do not make a separate brief file:
36
53
  --out-dir <run-dir>/references
37
54
  ```
38
55
 
56
+ For either redesign mode, add the existing screenshot to retrieval:
57
+
58
+ ```bash
59
+ 12ui corpus inspire \
60
+ --query "<preserve/change contract and desired direction>" \
61
+ --reference-image <redesign-source.png> \
62
+ --count 4 \
63
+ --aspect <landscape|portrait|square> \
64
+ --out-dir <run-dir>/references
65
+ ```
66
+
67
+ This performs one image-and-text-conditioned search. The redesign source stays
68
+ distinct from the four returned corpus inspirations.
69
+
39
70
  Use the four real downloaded images in endpoint order. `manifest.json`
40
71
  contains their IDs, paths, hashes, roles, arms, cells, relevance, relevance
41
72
  percentiles, and quality percentiles. Preserve those values; do not rerank or
@@ -50,7 +81,8 @@ imagery where useful, strong hierarchy, breathing room, and sound UX. Make the
50
81
  result striking at first glance, but keep the prompt to a few sentences and
51
82
  let the image model choose layout, style, palette, typography, and detail.
52
83
 
53
- Use this shape as guidance, not a form to fill mechanically:
84
+ For new interfaces and exploratory redesigns, use this shape as guidance, not
85
+ a form to fill mechanically:
54
86
 
55
87
  ```text
56
88
  Create one distinctive [desktop/mobile] [interface] for [product and purpose].
@@ -61,14 +93,33 @@ the visual language yourself. Fill the canvas without a device or presentation
61
93
  frame.
62
94
  ```
63
95
 
64
- Map reference 1 to candidate A, 2 to B, 3 to C, and 4 to D. Each candidate gets
65
- exactly one reference. Never combine references in a single generation.
66
- Before writing the prompts, derive one short, visibly grounded direction from
67
- each paired reference—such as airy editorial, tactile retail, cinematic, or
96
+ For a structure-preserving reskin, be explicit about what is fixed but leave
97
+ visual choices open:
98
+
99
+ ```text
100
+ Reskin this [desktop/mobile] interface for [product and purpose]. Preserve the
101
+ attached source's information architecture, content hierarchy, primary actions,
102
+ and interactions. Change only [named visual qualities]. Show the first viewport
103
+ or primary screen and choose the palette, typography, spacing, and detail.
104
+ Fill the canvas without a device or presentation frame.
105
+ ```
106
+
107
+ Map corpus reference 1 to candidate A, 2 to B, 3 to C, and 4 to D. Before
108
+ writing the prompts, derive one short, visibly grounded direction from each
109
+ paired corpus reference—such as airy editorial, tactile retail, cinematic, or
68
110
  playful illustration. Use that as the candidate's one desired quality, and
69
111
  make the four directions meaningfully different. Do not describe the whole
70
112
  reference or prescribe its layout, palette, or techniques.
71
113
 
114
+ Use exactly one image reference per generation; never combine images:
115
+
116
+ - New interface or `exploratory-redesign`: each candidate uses its paired
117
+ corpus image. The redesign source conditions search but is not also attached
118
+ to generation.
119
+ - `structure-preserving-reskin`: every candidate uses the redesign source as
120
+ its sole image reference. Its paired corpus image contributes only the short
121
+ textual direction above; do not attach that corpus image to generation.
122
+
72
123
  Write one batch manifest in the run directory with four candidates:
73
124
 
74
125
  ```json
@@ -77,11 +128,12 @@ Write one batch manifest in the run directory with four candidates:
77
128
  "projectRoot": "<absolute-project-root>",
78
129
  "provider": "auto",
79
130
  "aspect": "landscape",
131
+ "referenceMode": "inspiration",
80
132
  "candidates": [
81
133
  {
82
134
  "id": "A",
83
135
  "prompt": "<short candidate prompt>",
84
- "reference": "<reference-1-path>",
136
+ "reference": "<single-generation-reference-path>",
85
137
  "out": "<run-dir>/candidates/A.png",
86
138
  "idempotencyKey": "<stable-A-key>"
87
139
  }
@@ -89,7 +141,11 @@ Write one batch manifest in the run directory with four candidates:
89
141
  }
90
142
  ```
91
143
 
92
- Include A-D, each with its mapped reference, unique PNG output, and stable key.
144
+ Include A-D, each with its one allowed image reference, unique PNG output, and
145
+ stable key. Set the top-level `referenceMode` to `inspiration` for new and
146
+ exploratory candidates, or `preserve-structure` when the redesign source is
147
+ the sole reference. This is persisted semantic evidence; GPT Image 2 already
148
+ processes image inputs at fixed high fidelity, so do not add `input_fidelity`.
93
149
  Then run one foreground command:
94
150
 
95
151
  ```bash
@@ -103,7 +159,7 @@ from one host task: that tool path may queue them serially. Never retry a failed
103
159
  or ambiguous candidate, switch providers after dispatch, use cached samples, or
104
160
  leave generation in detached background work.
105
161
 
106
- ### 3. Select and convert
162
+ ### 3. Select
107
163
 
108
164
  Inspect all candidates at original detail. Choose the best eligible direction
109
165
  for the brief, hierarchy, usability, personality, accessibility, feasibility,
@@ -117,18 +173,47 @@ provenance or a tie-breaker between visibly strong candidates.
117
173
 
118
174
  Write `<run-dir>/selection.json` using
119
175
  [the selection contract](references/selection-contract.md). Record exact
120
- prompts, references, candidate paths and hashes, winner, specific rejection
121
- reasons, and visible rationale. Convert only that winner with `design-convert`.
176
+ prompts, original/prepared redesign-source paths and hashes, preserve/change contract, design mode,
177
+ reference policy, corpus directions, candidate paths and hashes, winner,
178
+ specific rejection reasons, and visible rationale.
179
+
180
+ ### 4. Extend and convert
181
+
182
+ If the winner represents the complete simple surface, convert only that winner
183
+ with `design-convert` and continue to integration.
184
+
185
+ When the first image intentionally omitted later page viewports, routes, or app
186
+ states, freeze the winner as the sole visual reference for every continuation.
187
+ Plan 2-16 useful continuations. Prompt only the state, content, actions, and
188
+ route purpose that must change; do not redescribe palette, typography, layout,
189
+ style, or visual techniques. Set the continuation batch `referenceMode` to
190
+ `inspiration`: the winner supplies the visual system, not a first-viewport
191
+ composition to clone. Never attach a corpus image, composite, prior
192
+ continuation, or predecessor. If a particular app-state edit must preserve the
193
+ winner's exact structure, put only those edits in a separate
194
+ `preserve-structure` batch rather than changing the continuation default.
195
+
196
+ Submit the winner's base LayerDoc conversion in detached mode, then immediately
197
+ run one foreground `12ui image generate-batch` for all continuations so image
198
+ generation overlaps the base conversion. Inspect every result before accepting
199
+ it. Convert accepted continuation images concurrently with distinct stable
200
+ idempotency keys; never retry or replace an ambiguous generation.
201
+
202
+ For ordered viewports of one continuous page, use the conversion package API
203
+ to preserve page order. Integrate independent web routes, app states, or mobile
204
+ screens as separate surfaces. Record the run in `<run-dir>/continuations.json`
205
+ using [the continuation contract](references/continuation-contract.md).
206
+
122
207
  If conversion is interrupted, resume its ID or repeat the exact create request
123
208
  with the same idempotency key; do not convert another candidate as a shortcut.
124
209
 
125
- ### 4. Integrate and verify
210
+ ### 5. Integrate and verify
126
211
 
127
212
  Inspect generated files before merging the smallest coherent set into the
128
213
  project. Preserve routing, components, tokens, accessibility, dependencies,
129
214
  and unrelated changes. Add the exact copy, interactions, responsive behavior,
130
- later sections, and routes intentionally omitted from the image prompt while
131
- extending the winning visual system.
215
+ later sections, and routes intentionally omitted from the first-viewport prompt
216
+ while extending the visual system from the winner and accepted continuations.
132
217
 
133
218
  Run focused checks, launch the real interface, exercise interactions, and
134
219
  compare it with the winner at the source viewport plus representative narrower