@12ui/design 0.2.22 → 0.2.24
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 +28 -7
- package/SKILL.md +48 -0
- package/dist/artifact-materializer.d.ts +1 -1
- package/dist/artifact-materializer.d.ts.map +1 -1
- package/dist/artifact-materializer.js.map +1 -1
- package/dist/branch-client.d.ts.map +1 -1
- package/dist/branch-client.js +2 -1
- package/dist/branch-client.js.map +1 -1
- package/dist/cli-auth-command.d.ts.map +1 -1
- package/dist/cli-auth-command.js +3 -2
- package/dist/cli-auth-command.js.map +1 -1
- package/dist/cli-convert-command.d.ts +27 -0
- package/dist/cli-convert-command.d.ts.map +1 -1
- package/dist/cli-convert-command.js +59 -0
- package/dist/cli-convert-command.js.map +1 -1
- package/dist/cli-export-command.d.ts.map +1 -1
- package/dist/cli-export-command.js +4 -1
- package/dist/cli-export-command.js.map +1 -1
- package/dist/cli-next-command.d.ts +11 -0
- package/dist/cli-next-command.d.ts.map +1 -1
- package/dist/cli-next-command.js +142 -12
- package/dist/cli-next-command.js.map +1 -1
- package/dist/cli-output-paths.d.ts +1 -0
- package/dist/cli-output-paths.d.ts.map +1 -1
- package/dist/cli-output-paths.js +6 -2
- package/dist/cli-output-paths.js.map +1 -1
- package/dist/cli-persistence.d.ts.map +1 -1
- package/dist/cli-persistence.js +2 -8
- package/dist/cli-persistence.js.map +1 -1
- package/dist/cli-progress.d.ts +15 -0
- package/dist/cli-progress.d.ts.map +1 -1
- package/dist/cli-progress.js +7 -1
- package/dist/cli-progress.js.map +1 -1
- package/dist/cli-version.d.ts.map +1 -1
- package/dist/cli-version.js +2 -5
- package/dist/cli-version.js.map +1 -1
- package/dist/client-version.d.ts +43 -0
- package/dist/client-version.d.ts.map +1 -0
- package/dist/client-version.js +60 -0
- package/dist/client-version.js.map +1 -0
- package/dist/conversion-client.d.ts.map +1 -1
- package/dist/conversion-client.js +2 -1
- package/dist/conversion-client.js.map +1 -1
- package/dist/corpus-client.d.ts.map +1 -1
- package/dist/corpus-client.js +2 -0
- package/dist/corpus-client.js.map +1 -1
- package/dist/legacy-skill-catalog.d.ts.map +1 -1
- package/dist/legacy-skill-catalog.js +35 -0
- package/dist/legacy-skill-catalog.js.map +1 -1
- package/dist/mcp-convert.d.ts +4 -1
- package/dist/mcp-convert.d.ts.map +1 -1
- package/dist/mcp-convert.js.map +1 -1
- package/dist/mcp-tool-definitions.d.ts +3 -0
- package/dist/mcp-tool-definitions.d.ts.map +1 -0
- package/dist/mcp-tool-definitions.js +127 -0
- package/dist/mcp-tool-definitions.js.map +1 -0
- package/dist/mcp-tool-handler.d.ts +24 -0
- package/dist/mcp-tool-handler.d.ts.map +1 -0
- package/dist/mcp-tool-handler.js +118 -0
- package/dist/mcp-tool-handler.js.map +1 -0
- package/dist/next-target.d.ts +10 -0
- package/dist/next-target.d.ts.map +1 -1
- package/dist/next-target.js +27 -4
- package/dist/next-target.js.map +1 -1
- package/dist/package-client.d.ts.map +1 -1
- package/dist/package-client.js +2 -1
- package/dist/package-client.js.map +1 -1
- package/dist/run-journal-commands.d.ts.map +1 -1
- package/dist/run-journal-commands.js +13 -4
- package/dist/run-journal-commands.js.map +1 -1
- package/dist/run-journal-in-flight.d.ts +74 -0
- package/dist/run-journal-in-flight.d.ts.map +1 -0
- package/dist/run-journal-in-flight.js +0 -0
- package/dist/run-journal-in-flight.js.map +1 -0
- package/dist/run-journal.d.ts +67 -4
- package/dist/run-journal.d.ts.map +1 -1
- package/dist/run-journal.js +104 -27
- package/dist/run-journal.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +7 -95
- package/dist/server.js.map +1 -1
- package/open-design.json +198 -0
- package/package.json +3 -1
- package/skills/design/SKILL.md +1 -1
- package/skills/design-branch/SKILL.md +1 -1
- package/skills/design-convert/SKILL.md +1 -1
- package/skills/design-draft/SKILL.md +1 -1
- package/skills/design-search/SKILL.md +1 -1
package/dist/run-journal.d.ts
CHANGED
|
@@ -44,6 +44,11 @@
|
|
|
44
44
|
* is. Read order from the file, never from `ts`.
|
|
45
45
|
* cmd canonical command name: `branch execute`, `convert`,
|
|
46
46
|
* `convert package`, `draft status`. Never raw argv.
|
|
47
|
+
* source_sha256 content identity of the input this command is working on,
|
|
48
|
+
* where it has one — the sha256 of the bytes actually sent.
|
|
49
|
+
* An identity, never a path: it is what lets a second shell
|
|
50
|
+
* tell "the same image is already converting here" from "a
|
|
51
|
+
* different image is converting here".
|
|
47
52
|
* args_digest sha256 of the normalized argv (positional order kept,
|
|
48
53
|
* flags sorted, values of sensitive flags replaced before
|
|
49
54
|
* hashing so the digest is stable across key rotation).
|
|
@@ -53,13 +58,23 @@
|
|
|
53
58
|
* idempotency_key the key that makes the paid call replayable.
|
|
54
59
|
* paid whether this command CAN spend money. A property of the
|
|
55
60
|
* command, not of the outcome.
|
|
56
|
-
* event "start" at command begin, "
|
|
61
|
+
* event "start" at command begin, "progress" while it works,
|
|
62
|
+
* "end" at exit.
|
|
57
63
|
* outcome end lines only: "ok" | "refused" | "error". A refusal is
|
|
58
64
|
* the CLI declining with nothing started (see
|
|
59
65
|
* `cli-refusal.ts`); an error is a failure.
|
|
60
66
|
* error_class end lines only, and only when not "ok". A closed
|
|
61
67
|
* vocabulary slug — never message text, never a path or an
|
|
62
68
|
* id. See {@link classifyRunJournalError}.
|
|
69
|
+
* stage progress lines only: the pipeline stage last observed.
|
|
70
|
+
* elapsed_seconds progress lines only: how long this command has been going.
|
|
71
|
+
* typical_seconds progress lines only: the quote this operation opened with,
|
|
72
|
+
* so a reader RE-QUOTES the number the command itself used
|
|
73
|
+
* rather than inventing one of its own.
|
|
74
|
+
* writes paths this command INTENDS to write, named before the work
|
|
75
|
+
* starts. Distinct from `artifacts`, which stays what was
|
|
76
|
+
* actually produced: a plan that failed must not read as a
|
|
77
|
+
* file that exists.
|
|
63
78
|
* artifacts paths this command produced. The AUTHORITATIVE records
|
|
64
79
|
* (a completion sentinel, a manifest, the written output),
|
|
65
80
|
* not every file: the records name the rest, and the line
|
|
@@ -78,11 +93,27 @@
|
|
|
78
93
|
* covers the `--wait` the dispatcher appended.
|
|
79
94
|
* pid the appending process.
|
|
80
95
|
*
|
|
96
|
+
* WHY THERE IS A "progress" EVENT AT ALL. A blocking command's stderr does
|
|
97
|
+
* reach its consumer as it is written — that was measured, against the shipped
|
|
98
|
+
* binary through a piped `bash -lc`, and the first line lands inside half a
|
|
99
|
+
* second. What the stream cannot do is answer a DIFFERENT shell. A start line
|
|
100
|
+
* alone says a command began and nothing more, so a second shell could not tell
|
|
101
|
+
* a conversion still working from one whose process died an hour ago, and could
|
|
102
|
+
* not say what stage it had reached or how long it had been going. Measured
|
|
103
|
+
* 2026-08-14: eight runs dispatched a second convert of the same image a median
|
|
104
|
+
* of 30 s after the first, seven of them while that first record was still open
|
|
105
|
+
* right here. A heartbeat costs one small append every
|
|
106
|
+
* {@link RUN_JOURNAL_HEARTBEAT_MS} and makes the record self-dating: it is what
|
|
107
|
+
* separates "still working" from "abandoned" without asking the service.
|
|
108
|
+
*
|
|
81
109
|
* FORWARD COMPATIBILITY. Fields are added, never repurposed or removed, and a
|
|
82
110
|
* new field is always optional. Readers ignore fields they do not know, skip
|
|
83
111
|
* lines whose `v` they do not know, and tolerate a torn final line. Anything
|
|
84
112
|
* that changes the meaning of an existing field takes `v: 2`, and this header
|
|
85
|
-
* is where that is written down.
|
|
113
|
+
* is where that is written down. An event verb a reader does not model is the
|
|
114
|
+
* one widening `v: 1` allows: `progress` was added after `start`/`end`, and a
|
|
115
|
+
* reader that does not know it counts the line and leaves it out rather than
|
|
116
|
+
* scoring it — which is what the harness reader already did.
|
|
86
117
|
*/
|
|
87
118
|
export declare const RUN_JOURNAL_VERSION = 1;
|
|
88
119
|
export declare const RUN_JOURNAL_FILENAME = "journal.jsonl";
|
|
@@ -92,8 +123,16 @@ export declare const RUN_JOURNAL_FILENAME = "journal.jsonl";
|
|
|
92
123
|
* budget and is far more than a line of identities needs.
|
|
93
124
|
*/
|
|
94
125
|
export declare const RUN_JOURNAL_MAX_LINE_BYTES = 4096;
|
|
95
|
-
/** How many entries `artifacts` and `purchased` carry before
|
|
126
|
+
/** How many entries `artifacts`, `writes` and `purchased` carry before trimming. */
|
|
96
127
|
export declare const RUN_JOURNAL_MAX_LIST_ENTRIES = 16;
|
|
128
|
+
/**
|
|
129
|
+
* The floor between heartbeats. Slow enough that a five-minute conversion adds
|
|
130
|
+
* twenty small lines rather than a hundred, fast enough that a second shell
|
|
131
|
+
* reading the journal is never more than this far behind the truth. A stage
|
|
132
|
+
* change writes immediately regardless: the stage is the fact worth having
|
|
133
|
+
* early, and it changes a handful of times per run.
|
|
134
|
+
*/
|
|
135
|
+
export declare const RUN_JOURNAL_HEARTBEAT_MS = 15000;
|
|
97
136
|
/**
|
|
98
137
|
* The last element of a list that did not fit. Trimming is visible rather than
|
|
99
138
|
* silent: a journal that names fewer paths is recoverable, a journal that
|
|
@@ -102,7 +141,7 @@ export declare const RUN_JOURNAL_MAX_LIST_ENTRIES = 16;
|
|
|
102
141
|
export declare const RUN_JOURNAL_TRUNCATION_MARKER = "<truncated>";
|
|
103
142
|
/** Written in place of a sensitive flag's value before the digest is taken. */
|
|
104
143
|
export declare const RUN_JOURNAL_REDACTED = "<redacted>";
|
|
105
|
-
export type RunJournalEventKind = 'start' | 'end';
|
|
144
|
+
export type RunJournalEventKind = 'start' | 'progress' | 'end';
|
|
106
145
|
export type RunJournalOutcome = 'ok' | 'refused' | 'error';
|
|
107
146
|
export type RunJournalEntry = {
|
|
108
147
|
v: typeof RUN_JOURNAL_VERSION;
|
|
@@ -111,10 +150,15 @@ export type RunJournalEntry = {
|
|
|
111
150
|
args_digest: string;
|
|
112
151
|
run_id?: string;
|
|
113
152
|
idempotency_key?: string;
|
|
153
|
+
source_sha256?: string;
|
|
114
154
|
paid: boolean;
|
|
115
155
|
event: RunJournalEventKind;
|
|
116
156
|
outcome?: RunJournalOutcome;
|
|
117
157
|
error_class?: string;
|
|
158
|
+
stage?: string;
|
|
159
|
+
elapsed_seconds?: number;
|
|
160
|
+
typical_seconds?: number;
|
|
161
|
+
writes?: string[];
|
|
118
162
|
artifacts?: string[];
|
|
119
163
|
purchased?: string[];
|
|
120
164
|
terminal: boolean;
|
|
@@ -191,13 +235,30 @@ export type RunJournalFacts = {
|
|
|
191
235
|
workspace?: string;
|
|
192
236
|
runId?: string;
|
|
193
237
|
idempotencyKey?: string;
|
|
238
|
+
/** Content identity of the input, so a second shell can recognize it. */
|
|
239
|
+
sourceSha256?: string;
|
|
240
|
+
/** Where this command is about to write, named before the work starts. */
|
|
241
|
+
writes?: readonly string[];
|
|
194
242
|
artifacts?: readonly string[];
|
|
195
243
|
purchased?: readonly string[];
|
|
196
244
|
/** The run's state as this command observed it. */
|
|
197
245
|
terminal?: boolean;
|
|
198
246
|
};
|
|
247
|
+
/** What a working command reports about where it has got to. */
|
|
248
|
+
export type RunJournalProgress = {
|
|
249
|
+
stage: string;
|
|
250
|
+
elapsedSeconds: number;
|
|
251
|
+
/** The quote this operation opened with, for a reader that must re-quote it. */
|
|
252
|
+
typicalSeconds?: number;
|
|
253
|
+
};
|
|
199
254
|
export type RunJournalNotes = {
|
|
200
255
|
note: (facts: RunJournalFacts) => void;
|
|
256
|
+
/**
|
|
257
|
+
* A heartbeat. Rate-limited to {@link RUN_JOURNAL_HEARTBEAT_MS}, except that
|
|
258
|
+
* a new stage always lands at once. Callers pass every progress event they
|
|
259
|
+
* see and let this decide what is worth a line.
|
|
260
|
+
*/
|
|
261
|
+
heartbeat: (progress: RunJournalProgress) => void;
|
|
201
262
|
};
|
|
202
263
|
export type RunJournalPlan = {
|
|
203
264
|
cmd: string;
|
|
@@ -210,6 +271,8 @@ export type RunJournalPlan = {
|
|
|
210
271
|
idempotencyKey?: string;
|
|
211
272
|
/** Whether a successful run of this command leaves the run terminal. */
|
|
212
273
|
terminalOnSuccess: boolean;
|
|
274
|
+
/** Injectable only so the heartbeat's cadence is testable. */
|
|
275
|
+
now?: () => number;
|
|
213
276
|
};
|
|
214
277
|
export type RunJournalSession = RunJournalNotes & {
|
|
215
278
|
end: (result: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-journal.d.ts","sourceRoot":"","sources":["../src/run-journal.ts"],"names":[],"mappings":"AAQA
|
|
1
|
+
{"version":3,"file":"run-journal.d.ts","sourceRoot":"","sources":["../src/run-journal.ts"],"names":[],"mappings":"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"}
|
package/dist/run-journal.js
CHANGED
|
@@ -50,6 +50,11 @@ import { isCliRefusal } from './cli-refusal.js';
|
|
|
50
50
|
* is. Read order from the file, never from `ts`.
|
|
51
51
|
* cmd canonical command name: `branch execute`, `convert`,
|
|
52
52
|
* `convert package`, `draft status`. Never raw argv.
|
|
53
|
+
* source_sha256 content identity of the input this command is working on,
|
|
54
|
+
* where it has one — the sha256 of the bytes actually sent.
|
|
55
|
+
* An identity, never a path: it is what lets a second shell
|
|
56
|
+
* tell "the same image is already converting here" from "a
|
|
57
|
+
* different image is converting here".
|
|
53
58
|
* args_digest sha256 of the normalized argv (positional order kept,
|
|
54
59
|
* flags sorted, values of sensitive flags replaced before
|
|
55
60
|
* hashing so the digest is stable across key rotation).
|
|
@@ -59,13 +64,23 @@ import { isCliRefusal } from './cli-refusal.js';
|
|
|
59
64
|
* idempotency_key the key that makes the paid call replayable.
|
|
60
65
|
* paid whether this command CAN spend money. A property of the
|
|
61
66
|
* command, not of the outcome.
|
|
62
|
-
* event "start" at command begin, "
|
|
67
|
+
* event "start" at command begin, "progress" while it works,
|
|
68
|
+
* "end" at exit.
|
|
63
69
|
* outcome end lines only: "ok" | "refused" | "error". A refusal is
|
|
64
70
|
* the CLI declining with nothing started (see
|
|
65
71
|
* `cli-refusal.ts`); an error is a failure.
|
|
66
72
|
* error_class end lines only, and only when not "ok". A closed
|
|
67
73
|
* vocabulary slug — never message text, never a path or an
|
|
68
74
|
* id. See {@link classifyRunJournalError}.
|
|
75
|
+
* stage progress lines only: the pipeline stage last observed.
|
|
76
|
+
* elapsed_seconds progress lines only: how long this command has been going.
|
|
77
|
+
* typical_seconds progress lines only: the quote this operation opened with,
|
|
78
|
+
* so a reader RE-QUOTES the number the command itself used
|
|
79
|
+
* rather than inventing one of its own.
|
|
80
|
+
* writes paths this command INTENDS to write, named before the work
|
|
81
|
+
* starts. Distinct from `artifacts`, which stays what was
|
|
82
|
+
* actually produced: a plan that failed must not read as a
|
|
83
|
+
* file that exists.
|
|
69
84
|
* artifacts paths this command produced. The AUTHORITATIVE records
|
|
70
85
|
* (a completion sentinel, a manifest, the written output),
|
|
71
86
|
* not every file: the records name the rest, and the line
|
|
@@ -84,11 +99,27 @@ import { isCliRefusal } from './cli-refusal.js';
|
|
|
84
99
|
* covers the `--wait` the dispatcher appended.
|
|
85
100
|
* pid the appending process.
|
|
86
101
|
*
|
|
102
|
+
* WHY THERE IS A "progress" EVENT AT ALL. A blocking command's stderr does
|
|
103
|
+
* reach its consumer as it is written — that was measured, against the shipped
|
|
104
|
+
* binary through a piped `bash -lc`, and the first line lands inside half a
|
|
105
|
+
* second. What the stream cannot do is answer a DIFFERENT shell. A start line
|
|
106
|
+
* alone says a command began and nothing more, so a second shell could not tell
|
|
107
|
+
* a conversion still working from one whose process died an hour ago, and could
|
|
108
|
+
* not say what stage it had reached or how long it had been going. Measured
|
|
109
|
+
* 2026-08-14: eight runs dispatched a second convert of the same image a median
|
|
110
|
+
* of 30 s after the first, seven of them while that first record was still open
|
|
111
|
+
* right here. A heartbeat costs one small append every
|
|
112
|
+
* {@link RUN_JOURNAL_HEARTBEAT_MS} and makes the record self-dating: it is what
|
|
113
|
+
* separates "still working" from "abandoned" without asking the service.
|
|
114
|
+
*
|
|
87
115
|
* FORWARD COMPATIBILITY. Fields are added, never repurposed or removed, and a
|
|
88
116
|
* new field is always optional. Readers ignore fields they do not know, skip
|
|
89
117
|
* lines whose `v` they do not know, and tolerate a torn final line. Anything
|
|
90
118
|
* that changes the meaning of an existing field takes `v: 2`, and this header
|
|
91
|
-
* is where that is written down.
|
|
119
|
+
* is where that is written down. An event verb a reader does not model is the
|
|
120
|
+
* one widening `v: 1` allows: `progress` was added after `start`/`end`, and a
|
|
121
|
+
* reader that does not know it counts the line and leaves it out rather than
|
|
122
|
+
* scoring it — which is what the harness reader already did.
|
|
92
123
|
*/
|
|
93
124
|
export const RUN_JOURNAL_VERSION = 1;
|
|
94
125
|
export const RUN_JOURNAL_FILENAME = 'journal.jsonl';
|
|
@@ -98,8 +129,16 @@ export const RUN_JOURNAL_FILENAME = 'journal.jsonl';
|
|
|
98
129
|
* budget and is far more than a line of identities needs.
|
|
99
130
|
*/
|
|
100
131
|
export const RUN_JOURNAL_MAX_LINE_BYTES = 4096;
|
|
101
|
-
/** How many entries `artifacts` and `purchased` carry before
|
|
132
|
+
/** How many entries `artifacts`, `writes` and `purchased` carry before trimming. */
|
|
102
133
|
export const RUN_JOURNAL_MAX_LIST_ENTRIES = 16;
|
|
134
|
+
/**
|
|
135
|
+
* The floor between heartbeats. Slow enough that a five-minute conversion adds
|
|
136
|
+
* twenty small lines rather than a hundred, fast enough that a second shell
|
|
137
|
+
* reading the journal is never more than this far behind the truth. A stage
|
|
138
|
+
* change writes immediately regardless: the stage is the fact worth having
|
|
139
|
+
* early, and it changes a handful of times per run.
|
|
140
|
+
*/
|
|
141
|
+
export const RUN_JOURNAL_HEARTBEAT_MS = 15_000;
|
|
103
142
|
/**
|
|
104
143
|
* The last element of a list that did not fit. Trimming is visible rather than
|
|
105
144
|
* silent: a journal that names fewer paths is recoverable, a journal that
|
|
@@ -169,47 +208,49 @@ const serialize = (entry) => `${JSON.stringify({
|
|
|
169
208
|
args_digest: entry.args_digest,
|
|
170
209
|
...(entry.run_id === undefined ? {} : { run_id: entry.run_id }),
|
|
171
210
|
...(entry.idempotency_key === undefined ? {} : { idempotency_key: entry.idempotency_key }),
|
|
211
|
+
...(entry.source_sha256 === undefined ? {} : { source_sha256: entry.source_sha256 }),
|
|
172
212
|
paid: entry.paid,
|
|
173
213
|
event: entry.event,
|
|
174
214
|
...(entry.outcome === undefined ? {} : { outcome: entry.outcome }),
|
|
175
215
|
...(entry.error_class === undefined ? {} : { error_class: entry.error_class }),
|
|
216
|
+
...(entry.stage === undefined ? {} : { stage: entry.stage }),
|
|
217
|
+
...(entry.elapsed_seconds === undefined ? {} : { elapsed_seconds: entry.elapsed_seconds }),
|
|
218
|
+
...(entry.typical_seconds === undefined ? {} : { typical_seconds: entry.typical_seconds }),
|
|
219
|
+
...(entry.writes === undefined ? {} : { writes: entry.writes }),
|
|
176
220
|
...(entry.artifacts === undefined ? {} : { artifacts: entry.artifacts }),
|
|
177
221
|
...(entry.purchased === undefined ? {} : { purchased: entry.purchased }),
|
|
178
222
|
terminal: entry.terminal,
|
|
179
223
|
detached: entry.detached,
|
|
180
224
|
pid: entry.pid,
|
|
181
225
|
})}\n`;
|
|
226
|
+
/** The list-valued fields, in the order they give bytes back. */
|
|
227
|
+
const LIST_FIELDS = ['artifacts', 'writes', 'purchased'];
|
|
182
228
|
/**
|
|
183
229
|
* The line as it goes to disk: lists trimmed to the entry cap, then trimmed
|
|
184
230
|
* again — visibly — until the whole line fits the single-write budget.
|
|
185
231
|
*/
|
|
186
232
|
export const buildRunJournalLine = (entry) => {
|
|
187
|
-
|
|
188
|
-
|
|
233
|
+
const lists = {
|
|
234
|
+
artifacts: entry.artifacts ? trimList(entry.artifacts) : undefined,
|
|
235
|
+
writes: entry.writes ? trimList(entry.writes) : undefined,
|
|
236
|
+
purchased: entry.purchased ? trimList(entry.purchased) : undefined,
|
|
237
|
+
};
|
|
189
238
|
for (;;) {
|
|
190
|
-
const line = serialize({
|
|
191
|
-
...entry,
|
|
192
|
-
...(artifacts ? { artifacts } : {}),
|
|
193
|
-
...(purchased ? { purchased } : {}),
|
|
194
|
-
});
|
|
239
|
+
const line = serialize({ ...entry, ...lists });
|
|
195
240
|
if (Buffer.byteLength(line, 'utf8') <= RUN_JOURNAL_MAX_LINE_BYTES)
|
|
196
241
|
return line;
|
|
197
|
-
const longest = (
|
|
198
|
-
const list = longest
|
|
242
|
+
const longest = LIST_FIELDS.reduce((best, field) => ((lists[field]?.length ?? 0) > (lists[best]?.length ?? 0) ? field : best), LIST_FIELDS[0]);
|
|
243
|
+
const list = lists[longest];
|
|
199
244
|
if (!list || list.length === 0) {
|
|
200
|
-
// Nothing left to give back: drop
|
|
201
|
-
if (
|
|
245
|
+
// Nothing left to give back: drop every list rather than lose the line.
|
|
246
|
+
if (LIST_FIELDS.every((field) => lists[field] === undefined)) {
|
|
202
247
|
throw new Error('Run journal entry exceeds the single-write budget with no list to trim');
|
|
203
248
|
}
|
|
204
|
-
|
|
205
|
-
|
|
249
|
+
for (const field of LIST_FIELDS)
|
|
250
|
+
lists[field] = undefined;
|
|
206
251
|
continue;
|
|
207
252
|
}
|
|
208
|
-
|
|
209
|
-
if (longest === 'artifacts')
|
|
210
|
-
artifacts = trimmed;
|
|
211
|
-
else
|
|
212
|
-
purchased = trimmed;
|
|
253
|
+
lists[longest] = [...list.slice(0, Math.max(0, list.length - 2)), RUN_JOURNAL_TRUNCATION_MARKER];
|
|
213
254
|
}
|
|
214
255
|
};
|
|
215
256
|
/**
|
|
@@ -236,7 +277,7 @@ const isEntry = (value) => {
|
|
|
236
277
|
&& typeof record.cmd === 'string'
|
|
237
278
|
&& typeof record.args_digest === 'string'
|
|
238
279
|
&& typeof record.paid === 'boolean'
|
|
239
|
-
&& (record.event === 'start' || record.event === 'end')
|
|
280
|
+
&& (record.event === 'start' || record.event === 'progress' || record.event === 'end')
|
|
240
281
|
&& typeof record.terminal === 'boolean'
|
|
241
282
|
&& typeof record.detached === 'boolean'
|
|
242
283
|
&& typeof record.pid === 'number';
|
|
@@ -321,6 +362,7 @@ export const classifyRunJournalError = (error) => {
|
|
|
321
362
|
};
|
|
322
363
|
const NO_OP_SESSION = {
|
|
323
364
|
note: () => undefined,
|
|
365
|
+
heartbeat: () => undefined,
|
|
324
366
|
end: () => undefined,
|
|
325
367
|
};
|
|
326
368
|
/**
|
|
@@ -330,10 +372,13 @@ const NO_OP_SESSION = {
|
|
|
330
372
|
*/
|
|
331
373
|
export const openRunJournal = (plan) => {
|
|
332
374
|
const digest = argsDigest(plan.argv);
|
|
375
|
+
const now = plan.now ?? Date.now;
|
|
333
376
|
const state = {
|
|
334
377
|
workspace: plan.workspace ? path.resolve(plan.workspace) : undefined,
|
|
335
378
|
runId: plan.runId,
|
|
336
379
|
idempotencyKey: plan.idempotencyKey,
|
|
380
|
+
sourceSha256: undefined,
|
|
381
|
+
writes: [],
|
|
337
382
|
artifacts: [],
|
|
338
383
|
purchased: [],
|
|
339
384
|
terminal: undefined,
|
|
@@ -341,6 +386,8 @@ export const openRunJournal = (plan) => {
|
|
|
341
386
|
let pending = [];
|
|
342
387
|
let ended = false;
|
|
343
388
|
let unwritable = false;
|
|
389
|
+
let lastHeartbeatAt;
|
|
390
|
+
let lastStage;
|
|
344
391
|
/**
|
|
345
392
|
* The instrument never becomes the failure. A journal that cannot be written
|
|
346
393
|
* costs a reader its record; a journal that threw would cost the caller the
|
|
@@ -371,21 +418,30 @@ export const openRunJournal = (plan) => {
|
|
|
371
418
|
pending.push(entry);
|
|
372
419
|
flush();
|
|
373
420
|
};
|
|
374
|
-
const entryFor = (event,
|
|
421
|
+
const entryFor = (event, detail = {}) => ({
|
|
375
422
|
v: RUN_JOURNAL_VERSION,
|
|
376
423
|
ts: new Date().toISOString(),
|
|
377
424
|
cmd: plan.cmd,
|
|
378
425
|
args_digest: digest,
|
|
379
426
|
...(state.runId === undefined ? {} : { run_id: state.runId }),
|
|
380
427
|
...(state.idempotencyKey === undefined ? {} : { idempotency_key: state.idempotencyKey }),
|
|
428
|
+
...(state.sourceSha256 === undefined ? {} : { source_sha256: state.sourceSha256 }),
|
|
381
429
|
paid: plan.paid,
|
|
382
430
|
event,
|
|
383
|
-
...(outcome === undefined ? {} : { outcome }),
|
|
384
|
-
...(errorClass === undefined ? {} : { error_class: errorClass }),
|
|
431
|
+
...(detail.outcome === undefined ? {} : { outcome: detail.outcome }),
|
|
432
|
+
...(detail.errorClass === undefined ? {} : { error_class: detail.errorClass }),
|
|
433
|
+
...(detail.progress === undefined ? {} : {
|
|
434
|
+
stage: detail.progress.stage,
|
|
435
|
+
elapsed_seconds: Math.max(0, Math.round(detail.progress.elapsedSeconds)),
|
|
436
|
+
...(detail.progress.typicalSeconds === undefined
|
|
437
|
+
? {}
|
|
438
|
+
: { typical_seconds: detail.progress.typicalSeconds }),
|
|
439
|
+
}),
|
|
440
|
+
...(state.writes.length > 0 ? { writes: state.writes } : {}),
|
|
385
441
|
...(event === 'end' && state.artifacts.length > 0 ? { artifacts: state.artifacts } : {}),
|
|
386
442
|
...(event === 'end' && state.purchased.length > 0 ? { purchased: state.purchased } : {}),
|
|
387
443
|
terminal: event === 'end'
|
|
388
|
-
&& (state.terminal ?? (outcome === 'ok' && !plan.detached && plan.terminalOnSuccess)),
|
|
444
|
+
&& (state.terminal ?? (detail.outcome === 'ok' && !plan.detached && plan.terminalOnSuccess)),
|
|
389
445
|
detached: plan.detached,
|
|
390
446
|
pid: process.pid,
|
|
391
447
|
});
|
|
@@ -394,7 +450,7 @@ export const openRunJournal = (plan) => {
|
|
|
394
450
|
return;
|
|
395
451
|
ended = true;
|
|
396
452
|
process.off('exit', onExit);
|
|
397
|
-
record(entryFor('end', outcome, errorClass));
|
|
453
|
+
record(entryFor('end', { outcome, ...(errorClass === undefined ? {} : { errorClass }) }));
|
|
398
454
|
};
|
|
399
455
|
/**
|
|
400
456
|
* A command that leaves through `process.exit`, or a process that ends
|
|
@@ -414,6 +470,10 @@ export const openRunJournal = (plan) => {
|
|
|
414
470
|
state.runId = facts.runId;
|
|
415
471
|
if (facts.idempotencyKey !== undefined)
|
|
416
472
|
state.idempotencyKey = facts.idempotencyKey;
|
|
473
|
+
if (facts.sourceSha256 !== undefined)
|
|
474
|
+
state.sourceSha256 = facts.sourceSha256;
|
|
475
|
+
if (facts.writes)
|
|
476
|
+
state.writes.push(...facts.writes);
|
|
417
477
|
if (facts.artifacts)
|
|
418
478
|
state.artifacts.push(...facts.artifacts);
|
|
419
479
|
if (facts.purchased)
|
|
@@ -422,6 +482,23 @@ export const openRunJournal = (plan) => {
|
|
|
422
482
|
state.terminal = facts.terminal;
|
|
423
483
|
flush();
|
|
424
484
|
},
|
|
485
|
+
/**
|
|
486
|
+
* A heartbeat is a claim about a command that is still running, so it is
|
|
487
|
+
* never written after the end line: an entry that reopened after settling
|
|
488
|
+
* would read to any pairing reader as work still in flight.
|
|
489
|
+
*/
|
|
490
|
+
heartbeat: (progress) => {
|
|
491
|
+
if (ended)
|
|
492
|
+
return;
|
|
493
|
+
const at = now();
|
|
494
|
+
const stageChanged = progress.stage !== lastStage;
|
|
495
|
+
if (!stageChanged && lastHeartbeatAt !== undefined
|
|
496
|
+
&& at - lastHeartbeatAt < RUN_JOURNAL_HEARTBEAT_MS)
|
|
497
|
+
return;
|
|
498
|
+
lastHeartbeatAt = at;
|
|
499
|
+
lastStage = progress.stage;
|
|
500
|
+
record(entryFor('progress', { progress }));
|
|
501
|
+
},
|
|
425
502
|
end: ({ outcome, error }) => {
|
|
426
503
|
if (outcome === 'ok') {
|
|
427
504
|
finish('ok');
|
package/dist/run-journal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-journal.js","sourceRoot":"","sources":["../src/run-journal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run-journal.js","sourceRoot":"","sources":["../src/run-journal.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAIpD,MAAM,MAAM,gBAAgB,GAAG;IAAE,MAAM,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAE5D,wBAAsB,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAe7E"}
|
package/dist/server.js
CHANGED
|
@@ -1,104 +1,16 @@
|
|
|
1
1
|
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
2
2
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
3
3
|
import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { CONVERSION_OUTPUTS, LAYERDOC_INPUT_OUTPUTS, } from './conversion-outputs.js';
|
|
8
|
-
import { runMcpConvert } from './mcp-convert.js';
|
|
9
|
-
import { APP_PROJECT_FRAMEWORKS, APP_PROJECT_LANGUAGES, APP_PROJECT_PACKAGINGS, APP_PROJECT_STYLINGS, WEB_PROJECT_FRAMEWORKS, WEB_PROJECT_LANGUAGES, WEB_PROJECT_PACKAGINGS, WEB_PROJECT_STYLINGS, } from './project-profiles.js';
|
|
4
|
+
import { PACKAGE_NAME, packageIdentity } from './client-version.js';
|
|
5
|
+
import { MCP_TOOL_DEFINITIONS } from './mcp-tool-definitions.js';
|
|
6
|
+
import { callMcpTool, createMcpToolDependencies } from './mcp-tool-handler.js';
|
|
10
7
|
export async function startMcpServer(options) {
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
apiKey: options.config.apiKey,
|
|
14
|
-
});
|
|
15
|
-
const server = new Server({ name: '@12ui/design', version: await resolvePackageVersion() }, { capabilities: { tools: {} } });
|
|
8
|
+
const dependencies = createMcpToolDependencies(options.config);
|
|
9
|
+
const server = new Server({ name: PACKAGE_NAME, version: packageIdentity().version }, { capabilities: { tools: {} } });
|
|
16
10
|
server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
17
|
-
tools:
|
|
18
|
-
name: 'design.convert',
|
|
19
|
-
description: 'Convert one local image into LayerDoc, responsive HTML, fixed design files, or a versioned web/native source-project bundle; LayerDoc v2 JSON is accepted for every output, including canonical republishing.',
|
|
20
|
-
inputSchema: {
|
|
21
|
-
type: 'object',
|
|
22
|
-
additionalProperties: false,
|
|
23
|
-
required: ['output'],
|
|
24
|
-
properties: {
|
|
25
|
-
imagePath: { type: 'string', description: 'Absolute or working-directory-relative PNG, JPEG, or WebP path.' },
|
|
26
|
-
layerdocPath: { type: 'string', description: 'Absolute or working-directory-relative public LayerDoc v2 JSON path. Supports every output.' },
|
|
27
|
-
output: { type: 'string', enum: [...CONVERSION_OUTPUTS] },
|
|
28
|
-
model: {
|
|
29
|
-
type: 'string',
|
|
30
|
-
enum: [...CONVERSION_MODELS],
|
|
31
|
-
default: 'standard',
|
|
32
|
-
description: 'Image conversion model policy. Omit for standard; not accepted with layerdocPath.',
|
|
33
|
-
},
|
|
34
|
-
profile: {
|
|
35
|
-
type: 'object',
|
|
36
|
-
additionalProperties: false,
|
|
37
|
-
required: ['version', 'framework', 'styling', 'language', 'packaging'],
|
|
38
|
-
properties: {
|
|
39
|
-
version: { const: 1 },
|
|
40
|
-
framework: { enum: [...WEB_PROJECT_FRAMEWORKS, ...APP_PROJECT_FRAMEWORKS] },
|
|
41
|
-
styling: { enum: [...WEB_PROJECT_STYLINGS, ...APP_PROJECT_STYLINGS] },
|
|
42
|
-
language: { enum: [...WEB_PROJECT_LANGUAGES, ...APP_PROJECT_LANGUAGES] },
|
|
43
|
-
packaging: { enum: [...WEB_PROJECT_PACKAGINGS, ...APP_PROJECT_PACKAGINGS] },
|
|
44
|
-
},
|
|
45
|
-
description: 'Required for web_project and app_project; forbidden for every other output.',
|
|
46
|
-
},
|
|
47
|
-
outFile: { type: 'string', description: 'Optional output path. Defaults beside the input file.' },
|
|
48
|
-
timeoutMs: { type: 'number', minimum: 1000 },
|
|
49
|
-
idempotencyKey: {
|
|
50
|
-
type: 'string',
|
|
51
|
-
minLength: 1,
|
|
52
|
-
maxLength: 128,
|
|
53
|
-
description: 'Optional stable key to reuse when safely retrying an ambiguous create request.',
|
|
54
|
-
},
|
|
55
|
-
},
|
|
56
|
-
oneOf: [
|
|
57
|
-
{ required: ['imagePath'], not: { required: ['layerdocPath'] } },
|
|
58
|
-
{
|
|
59
|
-
required: ['layerdocPath'],
|
|
60
|
-
not: {
|
|
61
|
-
anyOf: [
|
|
62
|
-
{ required: ['imagePath'] },
|
|
63
|
-
{ required: ['model'] },
|
|
64
|
-
],
|
|
65
|
-
},
|
|
66
|
-
properties: { output: { enum: [...LAYERDOC_INPUT_OUTPUTS] } },
|
|
67
|
-
},
|
|
68
|
-
],
|
|
69
|
-
allOf: [{
|
|
70
|
-
if: {
|
|
71
|
-
required: ['output'],
|
|
72
|
-
properties: { output: { enum: ['web_project', 'app_project'] } },
|
|
73
|
-
},
|
|
74
|
-
then: { required: ['profile'] },
|
|
75
|
-
else: { not: { required: ['profile'] } },
|
|
76
|
-
}],
|
|
77
|
-
},
|
|
78
|
-
}],
|
|
11
|
+
tools: MCP_TOOL_DEFINITIONS,
|
|
79
12
|
}));
|
|
80
|
-
server.setRequestHandler(CallToolRequestSchema, async (request) =>
|
|
81
|
-
try {
|
|
82
|
-
if (request.params.name !== 'design.convert')
|
|
83
|
-
throw new Error(`Unknown tool: ${request.params.name}`);
|
|
84
|
-
const result = await runMcpConvert(client, (request.params.arguments ?? {}));
|
|
85
|
-
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
86
|
-
}
|
|
87
|
-
catch (error) {
|
|
88
|
-
return {
|
|
89
|
-
content: [{ type: 'text', text: error instanceof Error ? error.message : String(error) }],
|
|
90
|
-
isError: true,
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
});
|
|
13
|
+
server.setRequestHandler(CallToolRequestSchema, async (request) => (await callMcpTool(request.params.name, request.params.arguments, dependencies)));
|
|
94
14
|
await server.connect(new StdioServerTransport());
|
|
95
15
|
}
|
|
96
|
-
const resolvePackageVersion = async () => {
|
|
97
|
-
const raw = await readFile(new URL('../package.json', import.meta.url), 'utf8');
|
|
98
|
-
const parsed = JSON.parse(raw);
|
|
99
|
-
if (typeof parsed.version !== 'string' || !parsed.version.trim()) {
|
|
100
|
-
throw new Error('12ui package.json is missing a version');
|
|
101
|
-
}
|
|
102
|
-
return parsed.version.trim();
|
|
103
|
-
};
|
|
104
16
|
//# sourceMappingURL=server.js.map
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAEnG,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAI/E,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAyB;IAC5D,MAAM,YAAY,GAAG,yBAAyB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,OAAO,EAAE,EAC1D,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAChC,CAAC;IAEF,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC5D,KAAK,EAAE,oBAAoB;KAC5B,CAAC,CAAC,CAAC;IACJ,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CACjE,MAAM,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAC/E,CAAC,CAAC;IAEH,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,oBAAoB,EAAE,CAAC,CAAC;AACnD,CAAC"}
|