@12ui/design 0.2.12 → 0.2.13
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.
- package/README.md +9 -0
- package/dist/cli-arguments.d.ts.map +1 -1
- package/dist/cli-arguments.js +1 -0
- package/dist/cli-arguments.js.map +1 -1
- package/dist/cli-image-batch-command.d.ts.map +1 -1
- package/dist/cli-image-batch-command.js +104 -53
- package/dist/cli-image-batch-command.js.map +1 -1
- package/dist/cli-image-batch-materialize.d.ts +27 -0
- package/dist/cli-image-batch-materialize.d.ts.map +1 -0
- package/dist/cli-image-batch-materialize.js +41 -0
- package/dist/cli-image-batch-materialize.js.map +1 -0
- package/dist/cli-image-batch-resume.d.ts +27 -0
- package/dist/cli-image-batch-resume.d.ts.map +1 -0
- package/dist/cli-image-batch-resume.js +158 -0
- package/dist/cli-image-batch-resume.js.map +1 -0
- package/dist/cli-image-command.d.ts.map +1 -1
- package/dist/cli-image-command.js +14 -2
- package/dist/cli-image-command.js.map +1 -1
- package/dist/cli.js +1 -1
- package/dist/image-generation-batch-attempt.d.ts +28 -0
- package/dist/image-generation-batch-attempt.d.ts.map +1 -0
- package/dist/image-generation-batch-attempt.js +48 -0
- package/dist/image-generation-batch-attempt.js.map +1 -0
- package/dist/image-generation-completion.d.ts +43 -0
- package/dist/image-generation-completion.d.ts.map +1 -0
- package/dist/image-generation-completion.js +54 -0
- package/dist/image-generation-completion.js.map +1 -0
- package/dist/image-generation-fs.d.ts +3 -0
- package/dist/image-generation-fs.d.ts.map +1 -0
- package/dist/image-generation-fs.js +23 -0
- package/dist/image-generation-fs.js.map +1 -0
- package/dist/image-generation-request.d.ts +13 -3
- package/dist/image-generation-request.d.ts.map +1 -1
- package/dist/image-generation-request.js +21 -19
- package/dist/image-generation-request.js.map +1 -1
- package/dist/image-generation-resume.d.ts +36 -0
- package/dist/image-generation-resume.d.ts.map +1 -0
- package/dist/image-generation-resume.js +83 -0
- package/dist/image-generation-resume.js.map +1 -0
- package/dist/image-generation-run.d.ts +11 -0
- package/dist/image-generation-run.d.ts.map +1 -1
- package/dist/image-generation-run.js +23 -9
- package/dist/image-generation-run.js.map +1 -1
- package/dist/image-generation-staging.d.ts +25 -0
- package/dist/image-generation-staging.d.ts.map +1 -0
- package/dist/image-generation-staging.js +80 -0
- package/dist/image-generation-staging.js.map +1 -0
- package/dist/legacy-skill-catalog.d.ts.map +1 -1
- package/dist/legacy-skill-catalog.js +18 -0
- package/dist/legacy-skill-catalog.js.map +1 -1
- package/package.json +1 -1
- package/skills/design/SKILL.md +49 -8
- package/skills/design/references/selection-contract.md +16 -0
- package/skills/design-convert/SKILL.md +17 -1
|
@@ -31,9 +31,9 @@ export const reserveImageGeneration = async (args) => {
|
|
|
31
31
|
preparedAt: timestamp(dependencies),
|
|
32
32
|
...(args.batch ? { batch: args.batch } : {}),
|
|
33
33
|
};
|
|
34
|
-
await writeImageGenerationAttempt(args.request.
|
|
34
|
+
await writeImageGenerationAttempt(args.request.stagedAttemptFile, attempt, true).catch((error) => {
|
|
35
35
|
if (error.code === 'EEXIST') {
|
|
36
|
-
throw new Error(`Image attempt evidence already exists at ${args.request.
|
|
36
|
+
throw new Error(`Image attempt evidence already exists at ${args.request.stagedAttemptFile}. Refusing to`
|
|
37
37
|
+ ' redispatch an ambiguous or completed request; inspect it and use a new output/'
|
|
38
38
|
+ 'idempotency key.');
|
|
39
39
|
}
|
|
@@ -41,22 +41,32 @@ export const reserveImageGeneration = async (args) => {
|
|
|
41
41
|
});
|
|
42
42
|
return { request: args.request, preflight: args.preflight, attempt };
|
|
43
43
|
};
|
|
44
|
+
/**
|
|
45
|
+
* Re-enter an existing candidate identity without minting a new ledger entry.
|
|
46
|
+
* The caller must already have proved, from that entry, that redispatching it
|
|
47
|
+
* cannot double-spend.
|
|
48
|
+
*/
|
|
49
|
+
export const resumeReservedImageGeneration = (args) => ({
|
|
50
|
+
request: args.request,
|
|
51
|
+
preflight: args.preflight,
|
|
52
|
+
attempt: { ...args.attempt, status: 'prepared', error: undefined },
|
|
53
|
+
});
|
|
44
54
|
export const markImageGenerationDispatched = async (reserved, dependencies = {}) => {
|
|
45
55
|
reserved.attempt.status = 'dispatched';
|
|
46
56
|
reserved.attempt.dispatchedAt = timestamp(dependencies);
|
|
47
|
-
await writeImageGenerationAttempt(reserved.request.
|
|
57
|
+
await writeImageGenerationAttempt(reserved.request.stagedAttemptFile, reserved.attempt);
|
|
48
58
|
};
|
|
49
59
|
export const failImageGenerationBeforeDispatch = async (reserved, error, dependencies = {}) => {
|
|
50
60
|
reserved.attempt.status = 'failed';
|
|
51
61
|
reserved.attempt.completedAt = timestamp(dependencies);
|
|
52
62
|
reserved.attempt.error = error;
|
|
53
|
-
await writeImageGenerationAttempt(reserved.request.
|
|
63
|
+
await writeImageGenerationAttempt(reserved.request.stagedAttemptFile, reserved.attempt);
|
|
54
64
|
};
|
|
55
65
|
export const dispatchImageGeneration = async (reserved, dependencies = {}) => {
|
|
56
66
|
const { request, preflight, attempt } = reserved;
|
|
57
67
|
let providerRequestId;
|
|
58
68
|
attempt.providerStartedAt = timestamp(dependencies);
|
|
59
|
-
await writeImageGenerationAttempt(request.
|
|
69
|
+
await writeImageGenerationAttempt(request.stagedAttemptFile, attempt);
|
|
60
70
|
try {
|
|
61
71
|
const agent = {
|
|
62
72
|
agent_id: `12ui-image-${imageGenerationSha256(request.idempotencyKey).slice(0, 16)}`,
|
|
@@ -101,24 +111,28 @@ export const dispatchImageGeneration = async (reserved, dependencies = {}) => {
|
|
|
101
111
|
});
|
|
102
112
|
if (providerRequestId)
|
|
103
113
|
attempt.providerRequestId = providerRequestId;
|
|
104
|
-
await writeImageGenerationAttempt(request.
|
|
114
|
+
await writeImageGenerationAttempt(request.stagedAttemptFile, attempt);
|
|
105
115
|
if (captured.outcome.status === 'rejected')
|
|
106
116
|
throw captured.outcome.reason;
|
|
107
117
|
if (!Array.isArray(generated) || generated.length !== 1 || typeof generated[0] !== 'string') {
|
|
108
118
|
throw new Error('Image provider did not return exactly one image');
|
|
109
119
|
}
|
|
110
120
|
const bytes = await generatedPngBytes(generated[0]);
|
|
111
|
-
|
|
121
|
+
// Staged, not delivered. The caller materializes every candidate together
|
|
122
|
+
// once the batch is terminal, so no directory listing can catch a
|
|
123
|
+
// half-written set of candidates.
|
|
124
|
+
await writeFile(request.stagedOutputPath, bytes, { flag: 'wx' });
|
|
112
125
|
attempt.status = 'succeeded';
|
|
113
126
|
attempt.completedAt = timestamp(dependencies);
|
|
114
127
|
attempt.outputSha256 = imageGenerationSha256(bytes);
|
|
115
|
-
await writeImageGenerationAttempt(request.
|
|
128
|
+
await writeImageGenerationAttempt(request.stagedAttemptFile, attempt);
|
|
116
129
|
return {
|
|
117
130
|
...(request.candidateId ? { candidateId: request.candidateId } : {}),
|
|
118
131
|
provider: attempt.provider,
|
|
119
132
|
model: attempt.model,
|
|
120
133
|
outputPath: request.outputPath,
|
|
121
134
|
outputSha256: attempt.outputSha256,
|
|
135
|
+
outputBytes: bytes.byteLength,
|
|
122
136
|
attemptFile: request.attemptFile,
|
|
123
137
|
providerStartedAt: attempt.providerStartedAt,
|
|
124
138
|
completedAt: attempt.completedAt,
|
|
@@ -136,7 +150,7 @@ export const dispatchImageGeneration = async (reserved, dependencies = {}) => {
|
|
|
136
150
|
attempt.status = 'failed';
|
|
137
151
|
attempt.completedAt = timestamp(dependencies);
|
|
138
152
|
attempt.error = imageGenerationErrorMessage(error);
|
|
139
|
-
await writeImageGenerationAttempt(request.
|
|
153
|
+
await writeImageGenerationAttempt(request.stagedAttemptFile, attempt);
|
|
140
154
|
throw new Error(`Image generation failed after dispatch with ${attempt.provider}; no provider fallback`
|
|
141
155
|
+ ` was attempted. Evidence: ${request.attemptFile}. ${attempt.error}`, { cause: error });
|
|
142
156
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-generation-run.js","sourceRoot":"","sources":["../src/image-generation-run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EACL,aAAa,GAGd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAE7E,OAAO,EACL,2BAA2B,GAE5B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,2BAA2B,EAC3B,gCAAgC,GACjC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EACL,qBAAqB,GAEtB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,GAE7B,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"image-generation-run.js","sourceRoot":"","sources":["../src/image-generation-run.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type ImageGenerationAttempt } from './image-generation-evidence.js';
|
|
2
|
+
export declare const IMAGE_STAGING_DIRECTORY_NAME = ".12ui-image-staging";
|
|
3
|
+
export type ImageGenerationStagedPaths = {
|
|
4
|
+
stagingDirectory: string;
|
|
5
|
+
stagedOutputPath: string;
|
|
6
|
+
stagedAttemptFile: string;
|
|
7
|
+
};
|
|
8
|
+
export declare const imageGenerationStagedPaths: (outputPath: string) => ImageGenerationStagedPaths;
|
|
9
|
+
export declare const ensureImageGenerationStaging: (outputPath: string) => Promise<void>;
|
|
10
|
+
export declare const readStagedImageGenerationAttempt: (outputPath: string) => Promise<ImageGenerationAttempt | undefined>;
|
|
11
|
+
export declare const readImageGenerationAttemptFile: (file: string) => Promise<ImageGenerationAttempt | undefined>;
|
|
12
|
+
export type ImageGenerationMaterialization = {
|
|
13
|
+
outputPath: string;
|
|
14
|
+
attemptFile: string;
|
|
15
|
+
movedOutput: boolean;
|
|
16
|
+
movedAttempt: boolean;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Move one candidate's staged artifacts into their destination. The PNG lands
|
|
20
|
+
* before its evidence so that a crash between the two renames leaves the
|
|
21
|
+
* staged ledger in place, which is what lets a later resume prove the work was
|
|
22
|
+
* already paid for instead of buying it again.
|
|
23
|
+
*/
|
|
24
|
+
export declare const materializeImageGeneration: (outputPath: string) => Promise<ImageGenerationMaterialization>;
|
|
25
|
+
//# sourceMappingURL=image-generation-staging.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-generation-staging.d.ts","sourceRoot":"","sources":["../src/image-generation-staging.ts"],"names":[],"mappings":"AAIA,OAAO,EAAoB,KAAK,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAW/F,eAAO,MAAM,4BAA4B,wBAAwB,CAAC;AAElE,MAAM,MAAM,0BAA0B,GAAG;IACvC,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,YAAY,MAAM,KAAG,0BAQ/D,CAAC;AAEF,eAAO,MAAM,4BAA4B,GAAU,YAAY,MAAM,KAAG,OAAO,CAAC,IAAI,CAEnF,CAAC;AAEF,eAAO,MAAM,gCAAgC,GAC3C,YAAY,MAAM,KACjB,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAE5C,CAAC;AAEF,eAAO,MAAM,8BAA8B,GACzC,MAAM,MAAM,KACX,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAkB5C,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,GACrC,YAAY,MAAM,KACjB,OAAO,CAAC,8BAA8B,CA0BxC,CAAC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { mkdir, readFile, rename, rmdir } from 'node:fs/promises';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { imageGenerationPathExists } from './image-generation-fs.js';
|
|
4
|
+
import { imageAttemptPath } from './image-generation-evidence.js';
|
|
5
|
+
// Every in-flight candidate — its PNG bytes and its attempt ledger — is written
|
|
6
|
+
// inside a hidden staging directory and moved into the destination directory
|
|
7
|
+
// only once the batch is terminal. A caller listing the candidates directory
|
|
8
|
+
// therefore never observes the half-written state that made eleven benchmark
|
|
9
|
+
// runs declare failure roughly thirty seconds before valid candidates landed.
|
|
10
|
+
//
|
|
11
|
+
// The staging directory is a child of the destination directory on purpose:
|
|
12
|
+
// same-directory renames are same-filesystem, so materialization is atomic and
|
|
13
|
+
// can never fail with EXDEV the way a system-temp staging path could.
|
|
14
|
+
export const IMAGE_STAGING_DIRECTORY_NAME = '.12ui-image-staging';
|
|
15
|
+
export const imageGenerationStagedPaths = (outputPath) => {
|
|
16
|
+
const stagingDirectory = path.join(path.dirname(outputPath), IMAGE_STAGING_DIRECTORY_NAME);
|
|
17
|
+
const base = path.basename(outputPath);
|
|
18
|
+
return {
|
|
19
|
+
stagingDirectory,
|
|
20
|
+
stagedOutputPath: path.join(stagingDirectory, `${base}.part`),
|
|
21
|
+
stagedAttemptFile: path.join(stagingDirectory, `${base}.attempt.json`),
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
export const ensureImageGenerationStaging = async (outputPath) => {
|
|
25
|
+
await mkdir(imageGenerationStagedPaths(outputPath).stagingDirectory, { recursive: true });
|
|
26
|
+
};
|
|
27
|
+
export const readStagedImageGenerationAttempt = async (outputPath) => (readImageGenerationAttemptFile(imageGenerationStagedPaths(outputPath).stagedAttemptFile));
|
|
28
|
+
export const readImageGenerationAttemptFile = async (file) => {
|
|
29
|
+
let source;
|
|
30
|
+
try {
|
|
31
|
+
source = await readFile(file, 'utf8');
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
if (error.code === 'ENOENT')
|
|
35
|
+
return undefined;
|
|
36
|
+
throw error;
|
|
37
|
+
}
|
|
38
|
+
try {
|
|
39
|
+
const value = JSON.parse(source);
|
|
40
|
+
if (typeof value !== 'object' || value === null)
|
|
41
|
+
return undefined;
|
|
42
|
+
return value;
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
// Unreadable evidence is still evidence that a request was reserved here.
|
|
46
|
+
// Callers must treat it as "something happened" rather than "nothing did",
|
|
47
|
+
// so surface a minimal record instead of pretending the file is absent.
|
|
48
|
+
return { status: 'dispatched' };
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Move one candidate's staged artifacts into their destination. The PNG lands
|
|
53
|
+
* before its evidence so that a crash between the two renames leaves the
|
|
54
|
+
* staged ledger in place, which is what lets a later resume prove the work was
|
|
55
|
+
* already paid for instead of buying it again.
|
|
56
|
+
*/
|
|
57
|
+
export const materializeImageGeneration = async (outputPath) => {
|
|
58
|
+
const attemptFile = imageAttemptPath(outputPath);
|
|
59
|
+
const { stagingDirectory, stagedOutputPath, stagedAttemptFile } = (imageGenerationStagedPaths(outputPath));
|
|
60
|
+
let movedOutput = false;
|
|
61
|
+
let movedAttempt = false;
|
|
62
|
+
if (await imageGenerationPathExists(stagedOutputPath)) {
|
|
63
|
+
if (await imageGenerationPathExists(outputPath)) {
|
|
64
|
+
throw new Error(`Refusing to overwrite an existing candidate at ${outputPath} with staged bytes from`
|
|
65
|
+
+ ` ${stagedOutputPath}; inspect both before continuing.`);
|
|
66
|
+
}
|
|
67
|
+
await rename(stagedOutputPath, outputPath);
|
|
68
|
+
movedOutput = true;
|
|
69
|
+
}
|
|
70
|
+
if (await imageGenerationPathExists(stagedAttemptFile)) {
|
|
71
|
+
await rename(stagedAttemptFile, attemptFile);
|
|
72
|
+
movedAttempt = true;
|
|
73
|
+
}
|
|
74
|
+
// Leave nothing behind once the last candidate in this directory is
|
|
75
|
+
// delivered. Anything still staged means work that is not delivered yet, and
|
|
76
|
+
// rmdir refuses a non-empty directory, so the check is the guarantee.
|
|
77
|
+
await rmdir(stagingDirectory).catch(() => undefined);
|
|
78
|
+
return { outputPath, attemptFile, movedOutput, movedAttempt };
|
|
79
|
+
};
|
|
80
|
+
//# sourceMappingURL=image-generation-staging.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-generation-staging.js","sourceRoot":"","sources":["../src/image-generation-staging.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legacy-skill-catalog.d.ts","sourceRoot":"","sources":["../src/legacy-skill-catalog.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,kBAAkB,gHAYrB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAChE,eAAO,MAAM,qBAAqB,yFAMxB,CAAC;AASX,eAAO,MAAM,mBAAmB,EAAE,SAAS,eAAe,EACuB,CAAC;
|
|
1
|
+
{"version":3,"file":"legacy-skill-catalog.d.ts","sourceRoot":"","sources":["../src/legacy-skill-catalog.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,kBAAkB,gHAYrB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAChE,eAAO,MAAM,qBAAqB,yFAMxB,CAAC;AASX,eAAO,MAAM,mBAAmB,EAAE,SAAS,eAAe,EACuB,CAAC;AAmSlF,eAAO,MAAM,wBAAwB,GACnC,WAAW,MAAM,KAChB,OAAO,CAAC,MAAM,EAAE,CAiBlB,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,WAAW,MAAM,KAChB,OAAO,CAAC,SAAS,GAAG,YAAY,GAAG,SAAS,CAW9C,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAC1C,WAAW,MAAM,KAChB,OAAO,CAAC,SAAS,GAAG,YAAY,GAAG,SAAS,CAoB9C,CAAC"}
|
|
@@ -131,6 +131,16 @@ const variants = {
|
|
|
131
131
|
'references/continuation-contract.md': '24ea3ab3906f04985572e5665206fef7a3390fa88d0480b8ecca271791ae6b5c',
|
|
132
132
|
'references/selection-contract.md': '6a2b0a24fcb03495240dd15b63394d7b6de9d9c52eb411cd3ff1b02f3ba22578',
|
|
133
133
|
},
|
|
134
|
+
// Batch completion sentinel and --resume, the recommended-candidate
|
|
135
|
+
// selection shape, and adopting the export as the deliverable page.
|
|
136
|
+
{
|
|
137
|
+
'SKILL.md': '5c3c51d9ce74408ccb0277e559ebadd8fd0d4b48f74272de864699ed68091dcb',
|
|
138
|
+
'agents/openai.yaml': '543726a0ac4b976c897c95ce18324ed7610ae2b5f9584cc8b7b2e3df5c16980c',
|
|
139
|
+
'assets/large-logo.svg': 'bf877913dc00515b7f714a48851f9fdc6d42c4ca5ad4a1c7bc36d926c23f9b6d',
|
|
140
|
+
'assets/small-400px.png': '2c045201a83e54afe733e199af02ab8fbcdb9f50e6b3e0281078fdffca9b3b03',
|
|
141
|
+
'references/continuation-contract.md': '24ea3ab3906f04985572e5665206fef7a3390fa88d0480b8ecca271791ae6b5c',
|
|
142
|
+
'references/selection-contract.md': '0d42af12cfe7f616a2eb036a4babfe28c4468843471a90c37ab970f48d8e11ed',
|
|
143
|
+
},
|
|
134
144
|
],
|
|
135
145
|
'design-search': [
|
|
136
146
|
{
|
|
@@ -202,6 +212,14 @@ const variants = {
|
|
|
202
212
|
'assets/large-logo.svg': 'ddf9f51a8c9163d64bc19126fedbfdae050f3a7bad7cdf314efacd10dd7ff447',
|
|
203
213
|
'assets/small-400px.png': '97817fa2d4e5f5ad1cac77bac925bafbdd04519621c5e45fd95c6a6ad5e846f7',
|
|
204
214
|
},
|
|
215
|
+
// The exported page is the deliverable, adapted and composed rather than
|
|
216
|
+
// mined for assets and re-authored.
|
|
217
|
+
{
|
|
218
|
+
'SKILL.md': 'a6ce44347192edb96862ec42f0a5f190ab6eef0dc76c1523606d6f163f8cb857',
|
|
219
|
+
'agents/openai.yaml': 'bbe5ed44c7f41920aaa92a86a06b18125f13b00ea67b100559358953986f9933',
|
|
220
|
+
'assets/large-logo.svg': 'ddf9f51a8c9163d64bc19126fedbfdae050f3a7bad7cdf314efacd10dd7ff447',
|
|
221
|
+
'assets/small-400px.png': '97817fa2d4e5f5ad1cac77bac925bafbdd04519621c5e45fd95c6a6ad5e846f7',
|
|
222
|
+
},
|
|
205
223
|
],
|
|
206
224
|
// The one shipped design-create bundle (0.2.10), retained so 0.2.11 retires an
|
|
207
225
|
// untouched installed copy when design-draft replaces it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legacy-skill-catalog.js","sourceRoot":"","sources":["../src/legacy-skill-catalog.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"legacy-skill-catalog.js","sourceRoot":"","sources":["../src/legacy-skill-catalog.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/skills/design/SKILL.md
CHANGED
|
@@ -177,11 +177,37 @@ from one host task: that tool path may queue them serially. Never retry a failed
|
|
|
177
177
|
or ambiguous candidate, switch providers after dispatch, use cached samples, or
|
|
178
178
|
leave generation in detached background work.
|
|
179
179
|
|
|
180
|
+
Expect about **90 seconds** of blocking for four candidates. The command has not
|
|
181
|
+
hung: never kill it, never background it, and never list the candidates
|
|
182
|
+
directory to decide whether it worked. Nothing lands there until the batch is
|
|
183
|
+
terminal, and then everything appears at once — the four PNGs, their attempt
|
|
184
|
+
evidence, and `<run-dir>/candidates/generation.complete.json`. Poll that
|
|
185
|
+
sentinel if you must poll anything. It is written only at a terminal state and
|
|
186
|
+
records each candidate's status, sha256, and byte count; its absence means
|
|
187
|
+
still running, never failed.
|
|
188
|
+
|
|
189
|
+
If the command was interrupted, re-run the identical command with `--resume`. A
|
|
190
|
+
resume delivers candidates that were already generated and re-requests only
|
|
191
|
+
those the provider provably never billed, so it can never buy a candidate
|
|
192
|
+
twice. It refuses a batch that already completed, and its refusal names the
|
|
193
|
+
candidates already on disk — read those rather than generating again.
|
|
194
|
+
|
|
180
195
|
### 3. Select
|
|
181
196
|
|
|
182
|
-
Inspect all candidates at original detail.
|
|
183
|
-
|
|
184
|
-
|
|
197
|
+
Inspect all candidates at original detail. Looking at them is not optional: your
|
|
198
|
+
judgment is the channel through which anything the run could not compute gets
|
|
199
|
+
into the decision.
|
|
200
|
+
|
|
201
|
+
If the run indicates a recommended candidate, prefer it. Overriding the
|
|
202
|
+
recommendation is legitimate and expected when the context warrants — an
|
|
203
|
+
explicit user preference, a brief or steering directive the recommendation could
|
|
204
|
+
not see, or a visible defect in the recommended image are all good reasons — and
|
|
205
|
+
an override must state its reason. If no recommendation is indicated, select on
|
|
206
|
+
the criteria below as usual.
|
|
207
|
+
|
|
208
|
+
Choose the best eligible direction for the brief, hierarchy, usability,
|
|
209
|
+
personality, accessibility, feasibility, and ability to extend into the rest of
|
|
210
|
+
the product.
|
|
185
211
|
|
|
186
212
|
Treat common model palettes as neutral, not evidence of quality. Neon lime on
|
|
187
213
|
dark and orange on light should win only when the brief or paired reference
|
|
@@ -193,7 +219,10 @@ Write `<run-dir>/selection.json` using
|
|
|
193
219
|
[the selection contract](references/selection-contract.md). Record exact
|
|
194
220
|
prompts, original/prepared redesign-source paths and hashes, preserve/change contract, design mode,
|
|
195
221
|
reference policy, corpus directions, candidate paths and hashes, winner,
|
|
196
|
-
specific rejection reasons, and visible rationale.
|
|
222
|
+
specific rejection reasons, and visible rationale. Record whether the
|
|
223
|
+
recommendation was followed or overridden, and for an override the reason. When
|
|
224
|
+
the flow also writes a `design-run.json`, record the same pair there, the reason
|
|
225
|
+
under `selection_override_reason`, alongside its existing selection fields.
|
|
197
226
|
|
|
198
227
|
### 4. Extend and convert
|
|
199
228
|
|
|
@@ -221,7 +250,17 @@ Budget about 4 minutes per conversion at `--model standard`. When a surface also
|
|
|
221
250
|
needs responsive HTML, ask for it in the same command with `--export html`
|
|
222
251
|
rather than exporting afterwards — the export then overlaps the conversion and
|
|
223
252
|
the pair costs about 5 minutes instead of about 8, at the same price. One
|
|
224
|
-
blocking command replaces the create-then-poll-then-export sequence.
|
|
253
|
+
blocking command replaces the create-then-poll-then-export sequence. Both
|
|
254
|
+
commands block for those durations and stream progress; neither has hung.
|
|
255
|
+
|
|
256
|
+
The exported HTML is the deliverable page. Adapt and compose it: keep its
|
|
257
|
+
document, structure, classes, and anchor bindings, and build the surface around
|
|
258
|
+
that document — routing, real copy, state, interactions, and the later sections
|
|
259
|
+
the first-viewport prompt deliberately omitted. Do not mine the export for its
|
|
260
|
+
images and re-author the markup: that discards the design you just chose and
|
|
261
|
+
paid to convert, and the page lands back on generic defaults. Fix defects in the
|
|
262
|
+
export's own markup. Rebuild from scratch only when the export cannot carry the
|
|
263
|
+
surface at all, and report it explicitly when you do.
|
|
225
264
|
|
|
226
265
|
For ordered viewports of one continuous page, use the conversion package API
|
|
227
266
|
to preserve page order. Integrate independent web routes, app states, or mobile
|
|
@@ -235,9 +274,11 @@ with the same idempotency key; do not convert another candidate as a shortcut.
|
|
|
235
274
|
|
|
236
275
|
Inspect generated files before merging the smallest coherent set into the
|
|
237
276
|
project. Preserve routing, components, tokens, accessibility, dependencies,
|
|
238
|
-
and unrelated changes.
|
|
239
|
-
|
|
240
|
-
|
|
277
|
+
and unrelated changes. The converted export goes in as the page; integration is
|
|
278
|
+
adapting it to the project, not replacing it. Add the exact copy, interactions,
|
|
279
|
+
responsive behavior, later sections, and routes intentionally omitted from the
|
|
280
|
+
first-viewport prompt while extending the visual system from the winner and
|
|
281
|
+
accepted continuations.
|
|
241
282
|
|
|
242
283
|
Run focused checks, launch the real interface, exercise interactions, and
|
|
243
284
|
compare it with the winner at the source viewport plus representative narrower
|
|
@@ -66,7 +66,13 @@ prompt text so a resumed run cannot silently select different evidence.
|
|
|
66
66
|
"rejectionReasons": []
|
|
67
67
|
}
|
|
68
68
|
],
|
|
69
|
+
"recommendation": {
|
|
70
|
+
"candidateId": "<recommended candidate id, or null when the run indicated none>",
|
|
71
|
+
"source": "<where the recommendation came from, or null>"
|
|
72
|
+
},
|
|
69
73
|
"winner": "A",
|
|
74
|
+
"selectionSource": "<recommended|override|no-recommendation>",
|
|
75
|
+
"selectionOverrideReason": "<why the recommendation was not followed, or null>",
|
|
70
76
|
"rationale": "<visible, brief-specific rationale>"
|
|
71
77
|
}
|
|
72
78
|
```
|
|
@@ -79,6 +85,16 @@ has no rejection reasons; every other candidate has at least one specific
|
|
|
79
85
|
visible reason. Set `providerIdempotencyEnforced` only to the recorded CLI
|
|
80
86
|
value.
|
|
81
87
|
|
|
88
|
+
Set `selectionSource` to `recommended` when the winner is the recommended
|
|
89
|
+
candidate, `override` when it is not, and `no-recommendation` when the run
|
|
90
|
+
indicated none. Use null `recommendation` fields in that last case. An
|
|
91
|
+
`override` requires a specific `selectionOverrideReason` — an explicit user
|
|
92
|
+
preference, a brief or steering directive the recommendation could not see, or a
|
|
93
|
+
named visible defect in the recommended candidate — and keeps
|
|
94
|
+
`selectionOverrideReason` null in every other case. A flow that also writes
|
|
95
|
+
`design-run.json` records the same pair there, the reason under
|
|
96
|
+
`selection_override_reason`.
|
|
97
|
+
|
|
82
98
|
Keep `corpus.fallback` null for the recommended Balanced result. If Direct or
|
|
83
99
|
Adventurer was used after a complete Balanced set failed the brief, replace it
|
|
84
100
|
with `{ "fromMode": "balanced", "reason": "<visible failure>",
|
|
@@ -66,6 +66,21 @@ retry only the export, with `12ui export <source-conversion-id> --output html`.
|
|
|
66
66
|
Use `--export html` whenever responsive HTML is wanted. Use the plain form when
|
|
67
67
|
it is not: the fused form buys a responsive export every time.
|
|
68
68
|
|
|
69
|
+
### The exported page is the deliverable
|
|
70
|
+
|
|
71
|
+
The responsive HTML is the page, not a bag of parts. Adopt it by default: keep
|
|
72
|
+
its document, structure, classes, and anchor bindings, and build the surface by
|
|
73
|
+
adapting and composing that document — wire routing, real copy, state, and
|
|
74
|
+
interactions into it, wrap it as a section when the target page is larger than
|
|
75
|
+
the converted screen, and extend its visual system into anything it does not
|
|
76
|
+
cover.
|
|
77
|
+
|
|
78
|
+
Do not mine it for assets and re-author the markup around them. That discards
|
|
79
|
+
the converted design and lands the page back on the generic defaults the
|
|
80
|
+
conversion was bought to avoid. When something in the export is wrong, fix it in
|
|
81
|
+
the export's own markup. Rebuild from scratch only when the export cannot carry
|
|
82
|
+
the surface at all, and say so explicitly in the report when you do.
|
|
83
|
+
|
|
69
84
|
Preserve the source conversion ID, LayerDoc, assets, manifest, and stdout. For
|
|
70
85
|
a detached create, capture its ID and resume that same operation:
|
|
71
86
|
|
|
@@ -124,7 +139,8 @@ deleting it to force another run.
|
|
|
124
139
|
Inspect generated files and dependencies before merging the smallest coherent
|
|
125
140
|
set into the target. Preserve project routing, tokens, components,
|
|
126
141
|
accessibility, dependency policy, and unrelated changes; remove duplicate
|
|
127
|
-
generated scaffolding.
|
|
142
|
+
generated scaffolding. The exported document goes in as the page; the
|
|
143
|
+
integration work is adapting it to the project, not replacing it.
|
|
128
144
|
|
|
129
145
|
Run focused checks in parallel when they do not contend for outputs. Launch
|
|
130
146
|
web/native examples, exercise interactions, and compare source and responsive
|