@12ui/design 0.2.16 → 0.2.18
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 +22 -0
- package/dist/branch-client.d.ts +6 -1
- package/dist/branch-client.d.ts.map +1 -1
- package/dist/branch-client.js +6 -1
- package/dist/branch-client.js.map +1 -1
- package/dist/branch-status.d.ts.map +1 -1
- package/dist/branch-status.js +3 -2
- package/dist/branch-status.js.map +1 -1
- package/dist/branch-winner.d.ts +31 -0
- package/dist/branch-winner.d.ts.map +1 -0
- package/dist/branch-winner.js +121 -0
- package/dist/branch-winner.js.map +1 -0
- package/dist/cli-arguments.d.ts +1 -0
- package/dist/cli-arguments.d.ts.map +1 -1
- package/dist/cli-arguments.js +4 -3
- package/dist/cli-arguments.js.map +1 -1
- package/dist/cli-branch-command.d.ts +3 -0
- package/dist/cli-branch-command.d.ts.map +1 -1
- package/dist/cli-branch-command.js +66 -98
- package/dist/cli-branch-command.js.map +1 -1
- package/dist/cli-capabilities.d.ts +18 -0
- package/dist/cli-capabilities.d.ts.map +1 -1
- package/dist/cli-capabilities.js +23 -0
- package/dist/cli-capabilities.js.map +1 -1
- package/dist/cli-convert-command.d.ts +10 -0
- package/dist/cli-convert-command.d.ts.map +1 -0
- package/dist/cli-convert-command.js +307 -0
- package/dist/cli-convert-command.js.map +1 -0
- package/dist/cli-corpus-command.d.ts +6 -1
- package/dist/cli-corpus-command.d.ts.map +1 -1
- package/dist/cli-corpus-command.js +17 -21
- package/dist/cli-corpus-command.js.map +1 -1
- package/dist/cli-create-command.d.ts +5 -1
- package/dist/cli-create-command.d.ts.map +1 -1
- package/dist/cli-create-command.js +28 -12
- package/dist/cli-create-command.js.map +1 -1
- package/dist/cli-detach.d.ts.map +1 -1
- package/dist/cli-detach.js +10 -2
- package/dist/cli-detach.js.map +1 -1
- package/dist/cli-draft-command.d.ts +7 -0
- package/dist/cli-draft-command.d.ts.map +1 -1
- package/dist/cli-draft-command.js +6 -4
- package/dist/cli-draft-command.js.map +1 -1
- package/dist/cli-export-command.d.ts +24 -1
- package/dist/cli-export-command.d.ts.map +1 -1
- package/dist/cli-export-command.js +6 -3
- package/dist/cli-export-command.js.map +1 -1
- package/dist/cli-image-batch-command.d.ts +8 -2
- package/dist/cli-image-batch-command.d.ts.map +1 -1
- package/dist/cli-image-batch-command.js +15 -11
- package/dist/cli-image-batch-command.js.map +1 -1
- package/dist/cli-image-batch-resume.d.ts +3 -1
- package/dist/cli-image-batch-resume.d.ts.map +1 -1
- package/dist/cli-image-batch-resume.js +1 -0
- package/dist/cli-image-batch-resume.js.map +1 -1
- package/dist/cli-image-command.d.ts +3 -1
- package/dist/cli-image-command.d.ts.map +1 -1
- package/dist/cli-image-command.js +4 -2
- package/dist/cli-image-command.js.map +1 -1
- package/dist/cli-package-command.d.ts.map +1 -1
- package/dist/cli-package-command.js +4 -3
- package/dist/cli-package-command.js.map +1 -1
- package/dist/cli-refusal.d.ts +20 -0
- package/dist/cli-refusal.d.ts.map +1 -0
- package/dist/cli-refusal.js +29 -0
- package/dist/cli-refusal.js.map +1 -0
- package/dist/cli-run.d.ts +4 -0
- package/dist/cli-run.d.ts.map +1 -0
- package/dist/cli-run.js +215 -0
- package/dist/cli-run.js.map +1 -0
- package/dist/cli-select-command.d.ts +6 -1
- package/dist/cli-select-command.d.ts.map +1 -1
- package/dist/cli-select-command.js +9 -7
- package/dist/cli-select-command.js.map +1 -1
- package/dist/cli-usage.d.ts +17 -0
- package/dist/cli-usage.d.ts.map +1 -0
- package/dist/cli-usage.js +69 -0
- package/dist/cli-usage.js.map +1 -0
- package/dist/cli-version.d.ts +2 -0
- package/dist/cli-version.d.ts.map +1 -0
- package/dist/cli-version.js +8 -0
- package/dist/cli-version.js.map +1 -0
- package/dist/cli.js +9 -491
- package/dist/cli.js.map +1 -1
- package/dist/concept-input.d.ts +34 -0
- package/dist/concept-input.d.ts.map +1 -0
- package/dist/concept-input.js +41 -0
- package/dist/concept-input.js.map +1 -0
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/package-client.d.ts +36 -0
- package/dist/package-client.d.ts.map +1 -1
- package/dist/package-client.js +89 -1
- package/dist/package-client.js.map +1 -1
- package/dist/run-journal-commands.d.ts +54 -0
- package/dist/run-journal-commands.d.ts.map +1 -0
- package/dist/run-journal-commands.js +258 -0
- package/dist/run-journal-commands.js.map +1 -0
- package/dist/run-journal.d.ts +231 -0
- package/dist/run-journal.d.ts.map +1 -0
- package/dist/run-journal.js +453 -0
- package/dist/run-journal.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-package-command.d.ts","sourceRoot":"","sources":["../src/cli-package-command.ts"],"names":[],"mappings":"AAGA,OAAO,EAA2B,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"cli-package-command.d.ts","sourceRoot":"","sources":["../src/cli-package-command.ts"],"names":[],"mappings":"AAGA,OAAO,EAA2B,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAInD,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AAMtE,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAC;AAOjC;;;;;GAKG;AAEH,eAAO,MAAM,aAAa,QAEmC,CAAC;AAE9D,+EAA+E;AAC/E,eAAO,MAAM,wBAAwB,MAAM,CAAC;AA2B5C;;;;;;;;;GASG;AACH,eAAO,MAAM,yBAAyB,GAAI,OAAO,QAAQ,KAAG,OAK3D,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,OAAO,QAAQ,EACf,eAAc;IACZ,UAAU,CAAC,EAAE,OAAO,oBAAoB,CAAC;IACzC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,KAAK,+BAA+B,CAAC;IACpG,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;CAClB,KACL,OAAO,CAAC,uBAAuB,CAuFjC,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { stat } from 'node:fs/promises';
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import { booleanFlag, stringFlag } from './cli-arguments.js';
|
|
4
|
+
import { CliRefusal } from './cli-refusal.js';
|
|
4
5
|
import { readConversionConfig } from './config.js';
|
|
5
6
|
import { conversionPackageKey } from './branch-identity.js';
|
|
6
7
|
import { recordPackageConversionReceipts } from './conversion-receipt.js';
|
|
@@ -40,9 +41,9 @@ const refuseExistingResult = async (outDir) => {
|
|
|
40
41
|
return;
|
|
41
42
|
throw error;
|
|
42
43
|
}
|
|
43
|
-
throw new
|
|
44
|
+
throw new CliRefusal(`A package result already exists at ${existing}. It names the package id and every page's`
|
|
44
45
|
+ ' conversion id — read it back rather than submitting the same pages again, or choose a'
|
|
45
|
-
+ ' new --out-dir if you genuinely want another package.');
|
|
46
|
+
+ ' new --out-dir if you genuinely want another package.', 'package_result_exists');
|
|
46
47
|
};
|
|
47
48
|
/**
|
|
48
49
|
* `12ui convert package --template` prints the starting manifest and returns
|
|
@@ -65,7 +66,7 @@ export const runPackageCommand = async (flags, dependencies = {}) => {
|
|
|
65
66
|
const manifestFlag = stringFlag(flags, 'manifest')?.trim();
|
|
66
67
|
const outDirFlag = stringFlag(flags, 'out-dir')?.trim();
|
|
67
68
|
if (!manifestFlag || !outDirFlag)
|
|
68
|
-
throw new
|
|
69
|
+
throw new CliRefusal(PACKAGE_USAGE, 'package_usage');
|
|
69
70
|
const manifestPath = path.resolve(manifestFlag);
|
|
70
71
|
const outDir = path.resolve(outDirFlag);
|
|
71
72
|
const quiet = booleanFlag(flags, 'quiet');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-package-command.js","sourceRoot":"","sources":["../src/cli-package-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,UAAU,EAAiB,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EACL,+BAA+B,EAC/B,6BAA6B,GAC9B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,GAEzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,6BAA6B,EAC7B,cAAc,EACd,cAAc,GACf,MAAM,mBAAmB,CAAC;AAE3B;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,uDAAuD;MAChF,yFAAyF;MACzF,yDAAyD,CAAC;AAE9D,+EAA+E;AAC/E,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAE5C,MAAM,cAAc,GAAG,CAAC,KAAc,EAAsB,EAAE;IAC5D,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,KAAK,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,KAAK,EAAE,MAAc,EAAiB,EAAE;IACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IAC5D,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO;QAC/D,MAAM,KAAK,CAAC;IACd,CAAC;IACD,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"cli-package-command.js","sourceRoot":"","sources":["../src/cli-package-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A refusal is the CLI declining to do the work, with nothing started and
|
|
3
|
+
* nothing bought.
|
|
4
|
+
*
|
|
5
|
+
* It is a different fact from a failure, and the run journal has to be able to
|
|
6
|
+
* tell them apart without reading message text: "the agent was refused and had
|
|
7
|
+
* to fix its inputs" and "work started and broke" call for different fixes, and
|
|
8
|
+
* conflating them is how a tool defect gets filed as model variance.
|
|
9
|
+
*
|
|
10
|
+
* The code is the normalized, stable half — a closed-vocabulary slug that goes
|
|
11
|
+
* into the journal's `error_class`. The message stays the caller-facing prose
|
|
12
|
+
* it already was; nothing about the text changes by throwing this instead of an
|
|
13
|
+
* `Error`.
|
|
14
|
+
*/
|
|
15
|
+
export declare class CliRefusal extends Error {
|
|
16
|
+
readonly code: string;
|
|
17
|
+
constructor(message: string, code: string, options?: ErrorOptions);
|
|
18
|
+
}
|
|
19
|
+
export declare const isCliRefusal: (error: unknown) => error is CliRefusal;
|
|
20
|
+
//# sourceMappingURL=cli-refusal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-refusal.d.ts","sourceRoot":"","sources":["../src/cli-refusal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,qBAAa,UAAW,SAAQ,KAAK;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAQlE;AAED,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,UAEtD,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A refusal is the CLI declining to do the work, with nothing started and
|
|
3
|
+
* nothing bought.
|
|
4
|
+
*
|
|
5
|
+
* It is a different fact from a failure, and the run journal has to be able to
|
|
6
|
+
* tell them apart without reading message text: "the agent was refused and had
|
|
7
|
+
* to fix its inputs" and "work started and broke" call for different fixes, and
|
|
8
|
+
* conflating them is how a tool defect gets filed as model variance.
|
|
9
|
+
*
|
|
10
|
+
* The code is the normalized, stable half — a closed-vocabulary slug that goes
|
|
11
|
+
* into the journal's `error_class`. The message stays the caller-facing prose
|
|
12
|
+
* it already was; nothing about the text changes by throwing this instead of an
|
|
13
|
+
* `Error`.
|
|
14
|
+
*/
|
|
15
|
+
/** Journal `error_class` slugs are lowercase, underscored, and short. */
|
|
16
|
+
const REFUSAL_CODE = /^[a-z][a-z0-9_]{0,63}$/u;
|
|
17
|
+
export class CliRefusal extends Error {
|
|
18
|
+
code;
|
|
19
|
+
constructor(message, code, options) {
|
|
20
|
+
super(message, options);
|
|
21
|
+
this.name = 'CliRefusal';
|
|
22
|
+
if (!REFUSAL_CODE.test(code)) {
|
|
23
|
+
throw new TypeError(`Invalid refusal code: ${code}`);
|
|
24
|
+
}
|
|
25
|
+
this.code = code;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export const isCliRefusal = (error) => (error instanceof CliRefusal);
|
|
29
|
+
//# sourceMappingURL=cli-refusal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-refusal.js","sourceRoot":"","sources":["../src/cli-refusal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,yEAAyE;AACzE,MAAM,YAAY,GAAG,yBAAyB,CAAC;AAE/C,MAAM,OAAO,UAAW,SAAQ,KAAK;IAC1B,IAAI,CAAS;IAEtB,YAAY,OAAe,EAAE,IAAY,EAAE,OAAsB;QAC/D,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,SAAS,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAc,EAAuB,EAAE,CAAC,CACnE,KAAK,YAAY,UAAU,CAC5B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-run.d.ts","sourceRoot":"","sources":["../src/cli-run.ts"],"names":[],"mappings":"AAgNA,eAAO,MAAM,MAAM,GACjB,MAAM,MAAM,EAAE,EACd,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,KAC3B,OAAO,CAAC,IAAI,CAkBd,CAAC"}
|
package/dist/cli-run.js
ADDED
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import { booleanFlag, parseCliArguments, stringFlag } from './cli-arguments.js';
|
|
3
|
+
import { runAuthCommand } from './cli-auth-command.js';
|
|
4
|
+
import { resolveBranchDirectory, runBranchCommand } from './cli-branch-command.js';
|
|
5
|
+
import { CLI_CAPABILITIES } from './cli-capabilities.js';
|
|
6
|
+
import { runCliCommand } from './cli-cli-command.js';
|
|
7
|
+
import { runConversionCommand } from './cli-convert-command.js';
|
|
8
|
+
import { runCorpusCommand } from './cli-corpus-command.js';
|
|
9
|
+
import { runCreateCommand } from './cli-create-command.js';
|
|
10
|
+
import { detachBranchRun, detachImageBatch } from './cli-detach.js';
|
|
11
|
+
import { runDraftCommand, runDraftStatusCommand } from './cli-draft-command.js';
|
|
12
|
+
import { runExportCommand } from './cli-export-command.js';
|
|
13
|
+
import { runImageBatchCommand, runImageBatchStatusCommand, } from './cli-image-batch-command.js';
|
|
14
|
+
import { runImageCommand } from './cli-image-command.js';
|
|
15
|
+
import { runPackageCommand, runPackageTemplateCommand } from './cli-package-command.js';
|
|
16
|
+
import { OPERATION_DURATION_HINTS } from './cli-progress.js';
|
|
17
|
+
import { runSelectCommand } from './cli-select-command.js';
|
|
18
|
+
import { runSkillCommand } from './cli-skill-command.js';
|
|
19
|
+
import { printUsage } from './cli-usage.js';
|
|
20
|
+
import { readConversionConfig } from './config.js';
|
|
21
|
+
import { planRunJournal } from './run-journal-commands.js';
|
|
22
|
+
import { withRunJournal } from './run-journal.js';
|
|
23
|
+
import { startMcpServer } from './server.js';
|
|
24
|
+
import { printVersion } from './cli-version.js';
|
|
25
|
+
/**
|
|
26
|
+
* The CLI dispatcher, separated from the executable entry point so the whole
|
|
27
|
+
* command surface can be driven in a test without spawning a process.
|
|
28
|
+
*
|
|
29
|
+
* Every dispatch runs inside its run journal: `withRunJournal` opens the record
|
|
30
|
+
* before the command begins and closes it on the way out, including on a
|
|
31
|
+
* refusal or a failure. Commands that own no workspace get a no-op session, so
|
|
32
|
+
* nothing here branches on whether a command journals — `run-journal-commands.ts`
|
|
33
|
+
* holds that decision, once.
|
|
34
|
+
*/
|
|
35
|
+
/**
|
|
36
|
+
* Long dispatches detach by default. `--wait` keeps the work in this shell for
|
|
37
|
+
* a human at a terminal; `--dry-run` never starts anything to detach from.
|
|
38
|
+
*/
|
|
39
|
+
const detaches = (flags) => (!booleanFlag(flags, 'wait') && !booleanFlag(flags, 'dry-run'));
|
|
40
|
+
const printCapabilities = () => {
|
|
41
|
+
console.log(JSON.stringify(CLI_CAPABILITIES, null, 2));
|
|
42
|
+
};
|
|
43
|
+
const dispatch = async (args) => {
|
|
44
|
+
const { command, flags, journal } = args;
|
|
45
|
+
if (command[0] === 'skill') {
|
|
46
|
+
await runSkillCommand(command[1], flags);
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
if (command[0] === 'auth') {
|
|
50
|
+
await runAuthCommand(command[1], flags);
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
if (command[0] === 'cli') {
|
|
54
|
+
await runCliCommand(command[1], flags);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
if (command[0] === 'corpus') {
|
|
58
|
+
const result = await runCorpusCommand(command[1], flags);
|
|
59
|
+
journal.note({ artifacts: [result.manifest], purchased: [result.setId] });
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
if (command[0] === 'image') {
|
|
63
|
+
if (command[1] === 'generate-batch') {
|
|
64
|
+
if (detaches(flags)) {
|
|
65
|
+
const manifest = stringFlag(flags, 'manifest')?.trim();
|
|
66
|
+
if (!manifest)
|
|
67
|
+
throw new Error('--manifest is required');
|
|
68
|
+
const detached = await detachImageBatch({
|
|
69
|
+
cliPath: args.cliPath,
|
|
70
|
+
argv: args.argv,
|
|
71
|
+
manifestPath: path.resolve(manifest),
|
|
72
|
+
typicalSeconds: OPERATION_DURATION_HINTS.imageBatch,
|
|
73
|
+
});
|
|
74
|
+
journal.note({ artifacts: [detached.logFile] });
|
|
75
|
+
console.log(JSON.stringify(detached, null, 2));
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
const batch = await runImageBatchCommand(flags);
|
|
79
|
+
journal.note({ artifacts: [batch.completionPath] });
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
if (command[1] === 'batch-status') {
|
|
83
|
+
const report = await runImageBatchStatusCommand(flags);
|
|
84
|
+
journal.note({ terminal: report.complete });
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
const generated = await runImageCommand(command[1], flags);
|
|
88
|
+
journal.note({ artifacts: [generated.outputPath] });
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
if (command[0] === 'draft') {
|
|
92
|
+
if (command[1] === 'status') {
|
|
93
|
+
const report = await runDraftStatusCommand(command[2], flags);
|
|
94
|
+
journal.note({ terminal: report.complete });
|
|
95
|
+
console.log(JSON.stringify(report, null, 2));
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
const prepared = await runDraftCommand(flags, {
|
|
99
|
+
onRunDirectory: (runDir) => { journal.note({ workspace: runDir }); },
|
|
100
|
+
generate: async ({ manifestPath, detach }) => {
|
|
101
|
+
if (!detach)
|
|
102
|
+
return runImageBatchCommand({ ...flags, manifest: manifestPath });
|
|
103
|
+
return console.log(JSON.stringify(await detachImageBatch({
|
|
104
|
+
cliPath: args.cliPath,
|
|
105
|
+
argv: ['image', 'generate-batch', '--manifest', manifestPath],
|
|
106
|
+
manifestPath,
|
|
107
|
+
typicalSeconds: OPERATION_DURATION_HINTS.imageBatch,
|
|
108
|
+
}), null, 2));
|
|
109
|
+
},
|
|
110
|
+
});
|
|
111
|
+
journal.note({ artifacts: [prepared.manifestPath] });
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
if (command[0] === 'select') {
|
|
115
|
+
const selected = await runSelectCommand(command[1], flags);
|
|
116
|
+
journal.note({ artifacts: [selected.selection] });
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
if (command[0] === 'branch') {
|
|
120
|
+
// `branch execute <run-dir>` — the directory `12ui draft` printed.
|
|
121
|
+
const runDirArgument = command[2]?.trim();
|
|
122
|
+
if ((command[1] === 'execute' || command[1] === 'resume') && detaches(flags)) {
|
|
123
|
+
const resolved = await resolveBranchDirectory({
|
|
124
|
+
...(stringFlag(flags, 'out-dir')?.trim()
|
|
125
|
+
? { outDirFlag: stringFlag(flags, 'out-dir').trim() }
|
|
126
|
+
: {}),
|
|
127
|
+
...(runDirArgument ? { runDirArgument } : {}),
|
|
128
|
+
});
|
|
129
|
+
const detached = await detachBranchRun({
|
|
130
|
+
cliPath: args.cliPath,
|
|
131
|
+
argv: args.argv,
|
|
132
|
+
outDir: resolved.branchDir,
|
|
133
|
+
typicalSeconds: stringFlag(flags, 'scope') === 'site'
|
|
134
|
+
? OPERATION_DURATION_HINTS.branchSite
|
|
135
|
+
: OPERATION_DURATION_HINTS.branchPage,
|
|
136
|
+
});
|
|
137
|
+
journal.note({
|
|
138
|
+
workspace: resolved.branchDir,
|
|
139
|
+
artifacts: [detached.logFile],
|
|
140
|
+
...(detached.runId ? { runId: detached.runId } : {}),
|
|
141
|
+
});
|
|
142
|
+
console.log(JSON.stringify(detached, null, 2));
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
await runBranchCommand(command[1], flags, {
|
|
146
|
+
journal,
|
|
147
|
+
...(runDirArgument ? { runDirArgument } : {}),
|
|
148
|
+
});
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
if (command[0] === 'export') {
|
|
152
|
+
const exported = await runExportCommand(command[1], flags);
|
|
153
|
+
journal.note({
|
|
154
|
+
artifacts: [exported.manifestPath, ...exported.results.map((result) => result.outFile)],
|
|
155
|
+
purchased: exported.results.map((result) => result.conversionId),
|
|
156
|
+
});
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
if (command[0] === 'capabilities') {
|
|
160
|
+
printCapabilities();
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
// The hosted candidate API as commands: claim, dispatch, status, download.
|
|
164
|
+
if (command[0] === 'create') {
|
|
165
|
+
const created = await runCreateCommand(command, flags);
|
|
166
|
+
if (created.artifacts)
|
|
167
|
+
journal.note({ artifacts: created.artifacts });
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
// Ordered viewports of one page are ONE package conversion, not N converts.
|
|
171
|
+
if (command[0] === 'convert' && command[1] === 'package') {
|
|
172
|
+
if (runPackageTemplateCommand(flags))
|
|
173
|
+
return;
|
|
174
|
+
const submitted = await runPackageCommand(flags);
|
|
175
|
+
journal.note({
|
|
176
|
+
runId: submitted.packageId,
|
|
177
|
+
...(submitted.resultPath ? { artifacts: [submitted.resultPath] } : {}),
|
|
178
|
+
purchased: [
|
|
179
|
+
submitted.packageId,
|
|
180
|
+
...submitted.pages.flatMap((page) => (page.conversionId ? [page.conversionId] : [])),
|
|
181
|
+
],
|
|
182
|
+
});
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
if (command[0] === 'mcp') {
|
|
186
|
+
await startMcpServer({
|
|
187
|
+
config: readConversionConfig({
|
|
188
|
+
origin: stringFlag(flags, 'origin'),
|
|
189
|
+
apiKey: stringFlag(flags, 'api-key'),
|
|
190
|
+
}),
|
|
191
|
+
});
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
await runConversionCommand(command, flags, journal);
|
|
195
|
+
};
|
|
196
|
+
export const runCli = async (argv, options) => {
|
|
197
|
+
const { command, flags } = parseCliArguments(argv);
|
|
198
|
+
if (booleanFlag(flags, 'help')) {
|
|
199
|
+
printUsage();
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
if (booleanFlag(flags, 'version') || command[0] === 'version') {
|
|
203
|
+
await printVersion();
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
const plan = await planRunJournal({ command, flags, argv });
|
|
207
|
+
await withRunJournal(plan, (journal) => dispatch({
|
|
208
|
+
command,
|
|
209
|
+
flags,
|
|
210
|
+
argv,
|
|
211
|
+
cliPath: options.cliPath,
|
|
212
|
+
journal,
|
|
213
|
+
}));
|
|
214
|
+
};
|
|
215
|
+
//# sourceMappingURL=cli-run.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-run.js","sourceRoot":"","sources":["../src/cli-run.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,5 +8,10 @@ import { type CliFlags } from './cli-arguments.js';
|
|
|
8
8
|
* hand.
|
|
9
9
|
*/
|
|
10
10
|
export declare const SELECT_USAGE: string;
|
|
11
|
-
export
|
|
11
|
+
export type SelectCommandResult = {
|
|
12
|
+
runDir: string;
|
|
13
|
+
selection: string;
|
|
14
|
+
winner: string;
|
|
15
|
+
};
|
|
16
|
+
export declare const runSelectCommand: (runDirArgument: string | undefined, flags: CliFlags) => Promise<SelectCommandResult>;
|
|
12
17
|
//# sourceMappingURL=cli-select-command.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-select-command.d.ts","sourceRoot":"","sources":["../src/cli-select-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"cli-select-command.d.ts","sourceRoot":"","sources":["../src/cli-select-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAS/D;;;;;;;GAOG;AAEH,eAAO,MAAM,YAAY,QAC4D,CAAC;AAWtF,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,gBAAgB,MAAM,GAAG,SAAS,EAClC,OAAO,QAAQ,KACd,OAAO,CAAC,mBAAmB,CAiD7B,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { stringFlag } from './cli-arguments.js';
|
|
2
|
+
import { CliRefusal } from './cli-refusal.js';
|
|
2
3
|
import { draftPaths, readDraftRecord } from './draft-workspace.js';
|
|
3
4
|
import { buildSelectionRecord, readSelectionRecord, writeSelectionRecord, } from './selection-record.js';
|
|
4
5
|
/**
|
|
@@ -18,26 +19,26 @@ const parseRejections = (flags) => {
|
|
|
18
19
|
return {};
|
|
19
20
|
const separator = raw.indexOf('=');
|
|
20
21
|
if (separator <= 0)
|
|
21
|
-
throw new
|
|
22
|
+
throw new CliRefusal('--reject must be <candidate-id>=<reason>', 'select_reject_malformed');
|
|
22
23
|
return { [raw.slice(0, separator).trim()]: [raw.slice(separator + 1).trim()] };
|
|
23
24
|
};
|
|
24
25
|
export const runSelectCommand = async (runDirArgument, flags) => {
|
|
25
26
|
if (!runDirArgument)
|
|
26
|
-
throw new
|
|
27
|
+
throw new CliRefusal(SELECT_USAGE, 'select_usage');
|
|
27
28
|
const winner = stringFlag(flags, 'winner')?.trim();
|
|
28
29
|
const reason = stringFlag(flags, 'reason')?.trim();
|
|
29
30
|
if (!winner || !reason)
|
|
30
|
-
throw new
|
|
31
|
+
throw new CliRefusal(SELECT_USAGE, 'select_usage');
|
|
31
32
|
const paths = draftPaths(runDirArgument);
|
|
32
33
|
const draft = await readDraftRecord(paths.draftRecord);
|
|
33
34
|
if (!draft) {
|
|
34
|
-
throw new
|
|
35
|
-
+ ' Start one with `12ui draft --query "<product, audience, surface, goal, personality>"`.');
|
|
35
|
+
throw new CliRefusal(`No draft run in ${paths.runDir} — there is nothing to select from, and nothing has failed.`
|
|
36
|
+
+ ' Start one with `12ui draft --query "<product, audience, surface, goal, personality>"`.', 'select_no_draft');
|
|
36
37
|
}
|
|
37
38
|
const existing = await readSelectionRecord(paths.selection);
|
|
38
39
|
if (existing) {
|
|
39
|
-
throw new
|
|
40
|
-
+ ' rather than choosing again, or start a new draft to explore other directions.');
|
|
40
|
+
throw new CliRefusal(`A selection already exists at ${paths.selection}: candidate ${existing.winner}. Read it`
|
|
41
|
+
+ ' rather than choosing again, or start a new draft to explore other directions.', 'select_already_recorded');
|
|
41
42
|
}
|
|
42
43
|
const recommended = stringFlag(flags, 'recommended')?.trim();
|
|
43
44
|
const record = await buildSelectionRecord({
|
|
@@ -62,5 +63,6 @@ export const runSelectCommand = async (runDirArgument, flags) => {
|
|
|
62
63
|
+ ` \`12ui branch execute ${paths.runDir} --concept "<what the rest must cover>"`
|
|
63
64
|
+ ' --scope page|site --convert html`.',
|
|
64
65
|
}, null, 2));
|
|
66
|
+
return { runDir: paths.runDir, selection: paths.selection, winner: record.winner };
|
|
65
67
|
};
|
|
66
68
|
//# sourceMappingURL=cli-select-command.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-select-command.js","sourceRoot":"","sources":["../src/cli-select-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAiB,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B;;;;;;;GAOG;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,4DAA4D;MACpF,iFAAiF,CAAC;AAEtF,6DAA6D;AAC7D,MAAM,eAAe,GAAG,CAAC,KAAe,EAA4B,EAAE;IACpE,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACxC,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,SAAS,IAAI,CAAC;QAAE,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"cli-select-command.js","sourceRoot":"","sources":["../src/cli-select-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The command surface as the CLI states it.
|
|
3
|
+
*
|
|
4
|
+
* It is a constant rather than a function body so the run journal's coverage
|
|
5
|
+
* test can read it: every command line here must have an entry in
|
|
6
|
+
* `run-journal-commands.ts`, which is what stops a new command from shipping
|
|
7
|
+
* without a record of what it did.
|
|
8
|
+
*/
|
|
9
|
+
export declare const CLI_USAGE: string;
|
|
10
|
+
export declare const printUsage: () => void;
|
|
11
|
+
/**
|
|
12
|
+
* An unusable invocation is a refusal, not a crash, and it leaves through the
|
|
13
|
+
* same path as every other refusal so the journal records it as one. It used to
|
|
14
|
+
* call `process.exit` here, which skipped the record entirely.
|
|
15
|
+
*/
|
|
16
|
+
export declare const usage: () => never;
|
|
17
|
+
//# sourceMappingURL=cli-usage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-usage.d.ts","sourceRoot":"","sources":["../src/cli-usage.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,QA8CiD,CAAC;AAExE,eAAO,MAAM,UAAU,QAAO,IAE7B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,KAAK,QAAO,KAExB,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { CliRefusal } from './cli-refusal.js';
|
|
2
|
+
import { CONVERSION_OUTPUTS } from './conversion-outputs.js';
|
|
3
|
+
/**
|
|
4
|
+
* The command surface as the CLI states it.
|
|
5
|
+
*
|
|
6
|
+
* It is a constant rather than a function body so the run journal's coverage
|
|
7
|
+
* test can read it: every command line here must have an entry in
|
|
8
|
+
* `run-journal-commands.ts`, which is what stops a new command from shipping
|
|
9
|
+
* without a record of what it did.
|
|
10
|
+
*/
|
|
11
|
+
export const CLI_USAGE = `Usage:
|
|
12
|
+
12ui auth login [--api-key <personal-key>] [--login-origin <url>] [--key-name <name>]
|
|
13
|
+
12ui auth status [--login-origin <url>] [--json]
|
|
14
|
+
12ui auth logout [--login-origin <url>]
|
|
15
|
+
12ui cli install
|
|
16
|
+
12ui cli status [--json]
|
|
17
|
+
12ui skill install [--skill design|design-search|design-draft|design-branch|design-convert] [--client codex|claude-code|grok|cursor|antigravity|copilot] [--home <client-home>] [--api-key <key>] [--login-origin <url>] [--key-name <name>] [--force] [--skip-auth]
|
|
18
|
+
12ui skill status [--skill design|design-search|design-draft|design-branch|design-convert] [--client codex|claude-code|grok|cursor|antigravity|copilot] [--home <client-home>] [--json]
|
|
19
|
+
12ui skill print --skill design|design-search|design-draft|design-branch|design-convert
|
|
20
|
+
12ui skill remove [--skill design|design-search|design-draft|design-branch|design-convert] [--client codex|claude-code|grok|cursor|antigravity|copilot] [--home <client-home>]
|
|
21
|
+
12ui corpus inspire --query <text>|--query-file <file> --out-dir <directory> [--mode direct|balanced|adventurer] [--count <1-48>] [--reference-image <png|jpeg|webp>] [--idempotency-key <key>] [--origin <url>] [--api-key <key>]
|
|
22
|
+
12ui corpus resume --out-dir <directory> [--origin <url>] [--api-key <key>]
|
|
23
|
+
12ui image generate --prompt <text>|--prompt-file <file> --reference <file> --out <file.png> [--aspect landscape|portrait|square] [--reference-mode inspiration|preserve-structure] [--provider auto|codex|openai] --project-root <directory> --idempotency-key <key>
|
|
24
|
+
12ui draft --query <text> [--redesign-source <png>] [--mode exploratory|reskin] [--aspect landscape|portrait|square] [--provider auto|codex|openai] [--project-root <directory>] [--wait] [--quiet] [--origin <url>] [--api-key <key>]
|
|
25
|
+
12ui draft status <run-dir> [--json]
|
|
26
|
+
12ui select <run-dir> --winner <id> --reason <text> [--recommended <id>] [--recommendation-source <text>] [--reject <id>=<reason>]
|
|
27
|
+
12ui create claim --concept <text>|--concept-file <file> --candidates <json>|@<file> [--aspect landscape|portrait|square] [--mode inspiration|preserve-structure] [--reference-image <png|jpeg|webp>] [--idempotency-key <key>] [--origin <url>] [--api-key <key>]
|
|
28
|
+
12ui create dispatch <run-id> [--slot <a,b,...>] [--quiet] [--origin <url>] [--api-key <key>]
|
|
29
|
+
12ui create status <run-id> [--json] [--origin <url>] [--api-key <key>]
|
|
30
|
+
12ui create download <run-id> --out-dir <directory> [--slot <a,b,...>] [--origin <url>] [--api-key <key>]
|
|
31
|
+
12ui image generate-batch --manifest <batch.json> [--resume] [--wait] [--quiet]
|
|
32
|
+
12ui image batch-status --manifest <batch.json> [--json]
|
|
33
|
+
12ui branch execute <run-dir> --concept <text>|--concept-file <file> --scope page|site [--convert html] [--convert-model fast|standard|pro] [--convert-quality standard|pro] [--winner-image <file>|--winner-run <crt-id> --winner-slot <slot>] [--source-conversion-id <id>] [--max-screens <n>] [--page-concurrency <n>] [--idempotency-key <key>] [--out-dir <directory>] [--resume] [--dry-run] [--wait] [--quiet] [--origin <url>] [--api-key <key>]
|
|
34
|
+
12ui branch resume <run-dir> [--quiet] [--origin <url>] [--api-key <key>]
|
|
35
|
+
12ui branch status <run-dir> [--json] [--origin <url>] [--api-key <key>]
|
|
36
|
+
12ui capabilities [--json]
|
|
37
|
+
12ui convert <image.png|jpg|webp|layerdoc.json> --output ${CONVERSION_OUTPUTS.join('|')} [--model fast|standard|pro] [--width <px>] [--export html] [--export-quality standard|pro] [--export-out <file>] [--responsive-quality standard|pro] [--profile <json|file>] [--out <file>] [--detach] [--quiet] [--timeout-ms <ms>] [--idempotency-key <key>] [--origin <url>] [--api-key <key>]
|
|
38
|
+
12ui convert package --manifest <package.json> --out-dir <directory> [--idempotency-key <key>] [--timeout-ms <ms>] [--wait] [--quiet] [--origin <url>] [--api-key <key>]
|
|
39
|
+
12ui convert package --template
|
|
40
|
+
12ui export <source-conversion-id> --output <comma-separated-formats> --out-dir <directory> [--idempotency-key <key>] [--responsive-quality standard|pro] [--web-profile <json|file>] [--app-profile <json|file>] [--timeout-ms <ms>] [--origin <url>] [--api-key <key>]
|
|
41
|
+
12ui resume <conversion-id> --output ${CONVERSION_OUTPUTS.join('|')} --out <file> [--timeout-ms <ms>] [--origin <url>] [--api-key <key>]
|
|
42
|
+
12ui mcp [--origin <url>] [--api-key <key>]
|
|
43
|
+
12ui --version
|
|
44
|
+
|
|
45
|
+
--export html converts and exports responsive HTML in ONE blocking command; the
|
|
46
|
+
export runs alongside the conversion, so the pair finishes in about the time of
|
|
47
|
+
the conversion alone (~5m) instead of ~8m. Progress goes to stderr; --quiet
|
|
48
|
+
silences it.
|
|
49
|
+
|
|
50
|
+
\`branch execute\`, \`branch resume\` and \`image generate-batch\` START the work and
|
|
51
|
+
return: the run continues in its own process group and survives the shell that
|
|
52
|
+
launched it. Follow it with \`12ui branch status --out-dir <dir>\` or
|
|
53
|
+
\`12ui image batch-status --manifest <file>\`; both always report what is moving
|
|
54
|
+
and what to do next. Add --wait to block in this shell instead. Never list an
|
|
55
|
+
output directory to decide whether work is still running.
|
|
56
|
+
|
|
57
|
+
Omit --client to discover and target every supported CLI installation.`;
|
|
58
|
+
export const printUsage = () => {
|
|
59
|
+
console.error(CLI_USAGE);
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* An unusable invocation is a refusal, not a crash, and it leaves through the
|
|
63
|
+
* same path as every other refusal so the journal records it as one. It used to
|
|
64
|
+
* call `process.exit` here, which skipped the record entirely.
|
|
65
|
+
*/
|
|
66
|
+
export const usage = () => {
|
|
67
|
+
throw new CliRefusal(CLI_USAGE, 'cli_usage');
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=cli-usage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-usage.js","sourceRoot":"","sources":["../src/cli-usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;6DA0BoC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC;;;;yCAIhD,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;uEAgBE,CAAC;AAExE,MAAM,CAAC,MAAM,UAAU,GAAG,GAAS,EAAE;IACnC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAC3B,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,GAAU,EAAE;IAC/B,MAAM,IAAI,UAAU,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AAC/C,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-version.d.ts","sourceRoot":"","sources":["../src/cli-version.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,QAAa,OAAO,CAAC,IAAI,CAMjD,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { readFile } from 'node:fs/promises';
|
|
2
|
+
export const printVersion = async () => {
|
|
3
|
+
const packageJson = JSON.parse(await readFile(new URL('../package.json', import.meta.url), 'utf8'));
|
|
4
|
+
if (typeof packageJson.version !== 'string')
|
|
5
|
+
throw new Error('Invalid package version');
|
|
6
|
+
console.log(packageJson.version);
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=cli-version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-version.js","sourceRoot":"","sources":["../src/cli-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,IAAmB,EAAE;IACpD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,MAAM,QAAQ,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAC3C,CAAC;IAC3B,IAAI,OAAO,WAAW,CAAC,OAAO,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACxF,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC,CAAC"}
|