@12ui/design 0.2.10 → 0.2.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/README.md +20 -5
  2. package/dist/cli-arguments.d.ts.map +1 -1
  3. package/dist/cli-arguments.js +1 -0
  4. package/dist/cli-arguments.js.map +1 -1
  5. package/dist/cli-capabilities.d.ts +13 -0
  6. package/dist/cli-capabilities.d.ts.map +1 -1
  7. package/dist/cli-capabilities.js +16 -0
  8. package/dist/cli-capabilities.js.map +1 -1
  9. package/dist/cli-cli-command.d.ts +20 -0
  10. package/dist/cli-cli-command.d.ts.map +1 -0
  11. package/dist/cli-cli-command.js +51 -0
  12. package/dist/cli-cli-command.js.map +1 -0
  13. package/dist/cli-persistence-report.d.ts +10 -0
  14. package/dist/cli-persistence-report.d.ts.map +1 -0
  15. package/dist/cli-persistence-report.js +25 -0
  16. package/dist/cli-persistence-report.js.map +1 -0
  17. package/dist/cli-persistence.d.ts +15 -0
  18. package/dist/cli-persistence.d.ts.map +1 -1
  19. package/dist/cli-persistence.js +39 -0
  20. package/dist/cli-persistence.js.map +1 -1
  21. package/dist/cli-progress.d.ts +44 -0
  22. package/dist/cli-progress.d.ts.map +1 -0
  23. package/dist/cli-progress.js +83 -0
  24. package/dist/cli-progress.js.map +1 -0
  25. package/dist/cli-skill-command.d.ts.map +1 -1
  26. package/dist/cli-skill-command.js +3 -11
  27. package/dist/cli-skill-command.js.map +1 -1
  28. package/dist/cli.js +102 -9
  29. package/dist/cli.js.map +1 -1
  30. package/dist/conversion-client.d.ts +32 -12
  31. package/dist/conversion-client.d.ts.map +1 -1
  32. package/dist/conversion-client.js +14 -0
  33. package/dist/conversion-client.js.map +1 -1
  34. package/dist/legacy-skill-catalog.d.ts +3 -1
  35. package/dist/legacy-skill-catalog.d.ts.map +1 -1
  36. package/dist/legacy-skill-catalog.js +56 -8
  37. package/dist/legacy-skill-catalog.js.map +1 -1
  38. package/dist/skill-installer.d.ts +1 -1
  39. package/dist/skill-installer.d.ts.map +1 -1
  40. package/dist/skill-installer.js +7 -4
  41. package/dist/skill-installer.js.map +1 -1
  42. package/package.json +1 -1
  43. package/skills/design/SKILL.md +7 -1
  44. package/skills/design-convert/SKILL.md +38 -1
  45. package/skills/{design-create → design-draft}/SKILL.md +3 -3
  46. package/skills/design-draft/agents/openai.yaml +8 -0
  47. package/skills/design-create/agents/openai.yaml +0 -8
  48. /package/skills/{design-create → design-draft}/assets/large-logo.svg +0 -0
  49. /package/skills/{design-create → design-draft}/assets/small-400px.png +0 -0
package/README.md CHANGED
@@ -17,13 +17,28 @@ curl -fsSL https://12ui.com/install.sh | sh
17
17
  ```
18
18
 
19
19
  Both paths pin the exact CLI version, install `design`, `design-search`,
20
- `design-create`, `design-branch`, and `design-convert` into every detected
20
+ `design-draft`, `design-branch`, and `design-convert` into every detected
21
21
  Codex and Claude Code installation, and
22
22
  open the 12UI device-approval page. The resulting user-owned credential has
23
23
  `design.convert` and `design.corpus.retrieve`, is verified before use, and is
24
24
  stored mode-0600 at `$XDG_CONFIG_HOME/12ui/credentials.json` or
25
25
  `~/.config/12ui/credentials.json`.
26
26
 
27
+ CLI only, for a shell that does not want the skills:
28
+
29
+ ```bash
30
+ npx -y @12ui/design cli install
31
+ ```
32
+
33
+ ```bash
34
+ curl -fsSL https://12ui.com/install-cli.sh | sh
35
+ ```
36
+
37
+ Both pin just the `12ui` binary - no skills, no browser sign-in - into the same
38
+ managed launcher and versioned bundle, verified and installed the same way.
39
+ `12ui cli status` reports what is pinned, `12ui cli install` updates it, and
40
+ `12ui skill install` adds the skills later.
41
+
27
42
  Codex discovery includes every local `~/.codex*` profile directory, plus
28
43
  `CODEX_HOME` when it points outside that set. Pass
29
44
  `--client codex --home <path>` when an operation should target only one profile.
@@ -43,16 +58,16 @@ name) to install one skill instead of the complete bundle.
43
58
  real surface.
44
59
  - `design-search` returns a ranked, diverse set of real Design Corpus
45
60
  references while preserving endpoint order and metrics.
46
- - `design-create` claims one `/api/v1/create` run from a brief, dispatches each
47
- candidate slot once, and downloads the images without re-buying a settled
48
- slot.
61
+ - `design-draft` drafts candidates from a brief by claiming one
62
+ `/api/v1/create` run, dispatches each candidate slot once, and downloads the
63
+ images without re-buying a settled slot.
49
64
  - `design-branch` expands one approved design into the 2-8 screens the server
50
65
  plans, dispatching each screen only once its dependency and footer gates
51
66
  clear.
52
67
  - `design-convert` turns a finished PNG, JPEG, or WebP into LayerDoc and any
53
68
  supported responsive, fixed, project, or document export.
54
69
 
55
- `design-search`, `design-create`, and `design-branch` are pipeline stages the
70
+ `design-search`, `design-draft`, and `design-branch` are pipeline stages the
56
71
  `design` skill can also run end to end; install one when an agent only needs
57
72
  that stage.
58
73
 
@@ -1 +1 @@
1
- {"version":3,"file":"cli-arguments.d.ts","sourceRoot":"","sources":["../src/cli-arguments.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;AAWrD,eAAO,MAAM,iBAAiB,GAC5B,MAAM,MAAM,EAAE,KACb;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAA;CAqBtC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,OAAO,QAAQ,EAAE,MAAM,MAAM,KAAG,MAAM,GAAG,SAGnE,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,OAAO,QAAQ,EAAE,MAAM,MAAM,KAAG,OAA+B,CAAC"}
1
+ {"version":3,"file":"cli-arguments.d.ts","sourceRoot":"","sources":["../src/cli-arguments.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;AAYrD,eAAO,MAAM,iBAAiB,GAC5B,MAAM,MAAM,EAAE,KACb;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAA;CAqBtC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,OAAO,QAAQ,EAAE,MAAM,MAAM,KAAG,MAAM,GAAG,SAGnE,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,OAAO,QAAQ,EAAE,MAAM,MAAM,KAAG,OAA+B,CAAC"}
@@ -3,6 +3,7 @@ const booleanFlags = new Set([
3
3
  'force',
4
4
  'help',
5
5
  'json',
6
+ 'quiet',
6
7
  'skip-auth',
7
8
  'version',
8
9
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"cli-arguments.js","sourceRoot":"","sources":["../src/cli-arguments.ts"],"names":[],"mappings":"AAEA,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAC3B,QAAQ;IACR,OAAO;IACP,MAAM;IACN,MAAM;IACN,WAAW;IACX,SAAS;CACV,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,IAAc,EAC0B,EAAE;IAC1C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,IAAI,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACjD,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACnB,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,KAAK,IAAI,mBAAmB,CAAC,CAAC;QAClF,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QACnB,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC5B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAe,EAAE,IAAY,EAAsB,EAAE;IAC9E,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAe,EAAE,IAAY,EAAW,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC"}
1
+ {"version":3,"file":"cli-arguments.js","sourceRoot":"","sources":["../src/cli-arguments.ts"],"names":[],"mappings":"AAEA,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAC3B,QAAQ;IACR,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,WAAW;IACX,SAAS;CACV,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,IAAc,EAC0B,EAAE;IAC1C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,IAAI,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACjD,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACnB,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,KAAK,IAAI,mBAAmB,CAAC,CAAC;QAClF,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QACnB,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC5B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAe,EAAE,IAAY,EAAsB,EAAE;IAC9E,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAe,EAAE,IAAY,EAAW,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC"}
@@ -9,6 +9,19 @@ export declare const CLI_CAPABILITIES: {
9
9
  readonly description: "Set the native output canvas width by proportionally resizing image input up or down.";
10
10
  };
11
11
  readonly responsiveQualities: readonly ["standard", "pro"];
12
+ readonly fusedExport: {
13
+ readonly flag: "--export";
14
+ readonly values: readonly ["html"];
15
+ readonly qualityFlag: "--export-quality";
16
+ readonly outFlag: "--export-out";
17
+ readonly description: string;
18
+ readonly expectedSeconds: 300;
19
+ };
20
+ readonly expectedSeconds: {
21
+ readonly convert: 240;
22
+ readonly export: 240;
23
+ readonly convertWithExport: 300;
24
+ };
12
25
  readonly projectProfileSchema: {
13
26
  readonly required: readonly ["version", "framework", "styling", "language", "packaging"];
14
27
  readonly additionalProperties: false;
@@ -1 +1 @@
1
- {"version":3,"file":"cli-capabilities.d.ts","sourceRoot":"","sources":["../src/cli-capabilities.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqBnB,CAAC"}
1
+ {"version":3,"file":"cli-capabilities.d.ts","sourceRoot":"","sources":["../src/cli-capabilities.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCnB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { CONVERSION_DURATION_HINTS } from './cli-progress.js';
1
2
  import { CONVERSION_MODELS } from './conversion-models.js';
2
3
  import { CONVERSION_OUTPUT_MEDIA_TYPES, CONVERSION_OUTPUTS, } from './conversion-outputs.js';
3
4
  import { MAX_IMAGE_OUTPUT_WIDTH } from './image-output-width.js';
@@ -19,6 +20,21 @@ export const CLI_CAPABILITIES = {
19
20
  description: 'Set the native output canvas width by proportionally resizing image input up or down.',
20
21
  },
21
22
  responsiveQualities: RESPONSIVE_CONVERSION_QUALITIES,
23
+ fusedExport: {
24
+ flag: '--export',
25
+ values: ['html'],
26
+ qualityFlag: '--export-quality',
27
+ outFlag: '--export-out',
28
+ description: 'Convert to LayerDoc and export responsive HTML in one blocking command. The export runs'
29
+ + ' alongside the conversion instead of after it, so the pair costs about the conversion'
30
+ + ' alone rather than the sum. Requires --output layerdoc and image input.',
31
+ expectedSeconds: CONVERSION_DURATION_HINTS.fused,
32
+ },
33
+ expectedSeconds: {
34
+ convert: CONVERSION_DURATION_HINTS.convert,
35
+ export: CONVERSION_DURATION_HINTS.export,
36
+ convertWithExport: CONVERSION_DURATION_HINTS.fused,
37
+ },
22
38
  projectProfileSchema: PROJECT_PROFILE_SCHEMA,
23
39
  projectProfiles: {
24
40
  web_project: WEB_PROJECT_CAPABILITIES,
@@ -1 +1 @@
1
- {"version":3,"file":"cli-capabilities.js","sourceRoot":"","sources":["../src/cli-capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EACL,6BAA6B,EAC7B,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAE1E,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE;QACN,WAAW;QACX,YAAY;QACZ,YAAY;QACZ,6BAA6B,CAAC,QAAQ;KACvC;IACD,OAAO,EAAE,kBAAkB;IAC3B,WAAW,EAAE,iBAAiB;IAC9B,gBAAgB,EAAE;QAChB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,sBAAsB;QAC/B,WAAW,EAAE,uFAAuF;KACrG;IACD,mBAAmB,EAAE,+BAA+B;IACpD,oBAAoB,EAAE,sBAAsB;IAC5C,eAAe,EAAE;QACf,WAAW,EAAE,wBAAwB;QACrC,WAAW,EAAE,wBAAwB;KACtC;CACO,CAAC"}
1
+ {"version":3,"file":"cli-capabilities.js","sourceRoot":"","sources":["../src/cli-capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EACL,6BAA6B,EAC7B,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAE1E,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE;QACN,WAAW;QACX,YAAY;QACZ,YAAY;QACZ,6BAA6B,CAAC,QAAQ;KACvC;IACD,OAAO,EAAE,kBAAkB;IAC3B,WAAW,EAAE,iBAAiB;IAC9B,gBAAgB,EAAE;QAChB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,sBAAsB;QAC/B,WAAW,EAAE,uFAAuF;KACrG;IACD,mBAAmB,EAAE,+BAA+B;IACpD,WAAW,EAAE;QACX,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,CAAC,MAAM,CAAC;QAChB,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,cAAc;QACvB,WAAW,EACT,yFAAyF;cACvF,uFAAuF;cACvF,yEAAyE;QAC7E,eAAe,EAAE,yBAAyB,CAAC,KAAK;KACjD;IACD,eAAe,EAAE;QACf,OAAO,EAAE,yBAAyB,CAAC,OAAO;QAC1C,MAAM,EAAE,yBAAyB,CAAC,MAAM;QACxC,iBAAiB,EAAE,yBAAyB,CAAC,KAAK;KACnD;IACD,oBAAoB,EAAE,sBAAsB;IAC5C,eAAe,EAAE;QACf,WAAW,EAAE,wBAAwB;QACrC,WAAW,EAAE,wBAAwB;KACtC;CACO,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { type CliFlags } from './cli-arguments.js';
2
+ import { type CliPersistenceResult, type PinnedCliSnapshot } from './cli-persistence.js';
3
+ export type CliCommandDependencies = {
4
+ persistCli?: () => Promise<CliPersistenceResult>;
5
+ readPinned?: () => Promise<PinnedCliSnapshot>;
6
+ };
7
+ /**
8
+ * `12ui cli` installs and reports the pinned CLI binary and nothing else: no
9
+ * skills are written and no account is connected. It shares `persistCurrentCli`
10
+ * with `skill install`, so both routes produce byte-identical installations —
11
+ * the difference is only what else the surrounding command does.
12
+ *
13
+ * Under `npx -y @12ui/design cli install` the running code is the ephemeral npx
14
+ * copy. Pinning is still the right move: persistence installs the same released
15
+ * version from the registry into the managed directory and verifies the
16
+ * launcher reports it, so the `12ui` left on PATH is a durable install rather
17
+ * than a reference into a cache npm is free to evict.
18
+ */
19
+ export declare const runCliCommand: (action: string | undefined, flags: CliFlags, dependencies?: CliCommandDependencies) => Promise<void>;
20
+ //# sourceMappingURL=cli-cli-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-cli-command.d.ts","sourceRoot":"","sources":["../src/cli-cli-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;AAG9B,MAAM,MAAM,sBAAsB,GAAG;IACnC,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACjD,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC/C,CAAC;AAkBF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,GACxB,QAAQ,MAAM,GAAG,SAAS,EAC1B,OAAO,QAAQ,EACf,eAAc,sBAA2B,KACxC,OAAO,CAAC,IAAI,CAkBd,CAAC"}
@@ -0,0 +1,51 @@
1
+ import { booleanFlag } from './cli-arguments.js';
2
+ import { persistCurrentCli, readPinnedCli, } from './cli-persistence.js';
3
+ import { cliPersistenceLines } from './cli-persistence-report.js';
4
+ const printStatus = (snapshot, json) => {
5
+ if (json) {
6
+ console.log(JSON.stringify({
7
+ schemaVersion: 1,
8
+ version: snapshot.version,
9
+ launcher: snapshot.launcher,
10
+ dataRoot: snapshot.dataRoot,
11
+ }, null, 2));
12
+ return;
13
+ }
14
+ console.log(snapshot.version === null
15
+ ? `No managed 12ui CLI is pinned at ${snapshot.dataRoot}; run 12ui cli install.`
16
+ : `@12ui/design ${snapshot.version} is pinned at ${snapshot.dataRoot};`
17
+ + ` launcher ${snapshot.launcher}.`);
18
+ };
19
+ /**
20
+ * `12ui cli` installs and reports the pinned CLI binary and nothing else: no
21
+ * skills are written and no account is connected. It shares `persistCurrentCli`
22
+ * with `skill install`, so both routes produce byte-identical installations —
23
+ * the difference is only what else the surrounding command does.
24
+ *
25
+ * Under `npx -y @12ui/design cli install` the running code is the ephemeral npx
26
+ * copy. Pinning is still the right move: persistence installs the same released
27
+ * version from the registry into the managed directory and verifies the
28
+ * launcher reports it, so the `12ui` left on PATH is a durable install rather
29
+ * than a reference into a cache npm is free to evict.
30
+ */
31
+ export const runCliCommand = async (action, flags, dependencies = {}) => {
32
+ const readPinned = dependencies.readPinned ?? (() => readPinnedCli());
33
+ if (action === 'status') {
34
+ printStatus(await readPinned(), booleanFlag(flags, 'json'));
35
+ return;
36
+ }
37
+ if (action !== 'install') {
38
+ throw new Error('Usage: 12ui cli <install|status> [--json]');
39
+ }
40
+ const before = await readPinned();
41
+ const persistence = await (dependencies.persistCli ?? (() => persistCurrentCli()))();
42
+ const lines = cliPersistenceLines(persistence, {
43
+ alreadyCurrent: before.version === persistence.version,
44
+ });
45
+ for (const line of lines)
46
+ console.log(line);
47
+ console.log('No skills were installed and no account was connected.');
48
+ console.log('Next: 12ui auth login to connect an account, then 12ui skill install'
49
+ + ' for the agent skills.');
50
+ };
51
+ //# sourceMappingURL=cli-cli-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-cli-command.js","sourceRoot":"","sources":["../src/cli-cli-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAiB,MAAM,oBAAoB,CAAC;AAChE,OAAO,EACL,iBAAiB,EACjB,aAAa,GAGd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAOlE,MAAM,WAAW,GAAG,CAAC,QAA2B,EAAE,IAAa,EAAQ,EAAE;IACvE,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;YACzB,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;SAC5B,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACb,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,KAAK,IAAI;QACnC,CAAC,CAAC,oCAAoC,QAAQ,CAAC,QAAQ,yBAAyB;QAChF,CAAC,CAAC,gBAAgB,QAAQ,CAAC,OAAO,iBAAiB,QAAQ,CAAC,QAAQ,GAAG;cACnE,aAAa,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC;AAC3C,CAAC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAChC,MAA0B,EAC1B,KAAe,EACf,eAAuC,EAAE,EAC1B,EAAE;IACjB,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,IAAI,CAAC,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC;IACtE,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,WAAW,CAAC,MAAM,UAAU,EAAE,EAAE,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAClC,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,UAAU,IAAI,CAAC,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC;IACrF,MAAM,KAAK,GAAG,mBAAmB,CAAC,WAAW,EAAE;QAC7C,cAAc,EAAE,MAAM,CAAC,OAAO,KAAK,WAAW,CAAC,OAAO;KACvD,CAAC,CAAC;IACH,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,sEAAsE;UAC9E,wBAAwB,CAAC,CAAC;AAChC,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { CliPersistenceResult } from './cli-persistence.js';
2
+ /**
3
+ * The single owner of how a completed CLI pin is reported. Both `skill install`
4
+ * and `cli install` pin the same binary through `persistCurrentCli`, so they
5
+ * must describe the outcome — including every legacy retirement — identically.
6
+ */
7
+ export declare const cliPersistenceLines: (persistence: CliPersistenceResult, options?: {
8
+ alreadyCurrent?: boolean;
9
+ }) => string[];
10
+ //# sourceMappingURL=cli-persistence-report.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-persistence-report.d.ts","sourceRoot":"","sources":["../src/cli-persistence-report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjE;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,aAAa,oBAAoB,EACjC,UAAS;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAO,KACzC,MAAM,EAyBR,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * The single owner of how a completed CLI pin is reported. Both `skill install`
3
+ * and `cli install` pin the same binary through `persistCurrentCli`, so they
4
+ * must describe the outcome — including every legacy retirement — identically.
5
+ */
6
+ export const cliPersistenceLines = (persistence, options = {}) => {
7
+ const lines = [
8
+ options.alreadyCurrent
9
+ ? `@12ui/design ${persistence.version} is already pinned via ${persistence.source}`
10
+ + ` at ${persistence.dataRoot}; launcher ${persistence.launcher}.`
11
+ : `Pinned @12ui/design ${persistence.version} via ${persistence.source}`
12
+ + ` at ${persistence.dataRoot}; launcher ${persistence.launcher}.`,
13
+ ];
14
+ if (persistence.retiredLegacyCli) {
15
+ lines.push(`Removed recognized legacy 12ui CLI: ${persistence.retiredLegacyCli.removed}`, `Recoverable retired legacy 12ui CLI bytes: ${persistence.retiredLegacyCli.recovery}`);
16
+ }
17
+ if (persistence.retiredLegacyNpmGlobalCli) {
18
+ lines.push('Removed recognized npm-global legacy 12ui launcher:'
19
+ + ` ${persistence.retiredLegacyNpmGlobalCli.removed.launcher}`, 'Removed recognized npm-global legacy 12ui package:'
20
+ + ` ${persistence.retiredLegacyNpmGlobalCli.removed.packageRoot}`, 'Recoverable retired npm-global legacy 12ui bytes:'
21
+ + ` ${persistence.retiredLegacyNpmGlobalCli.recovery.root}`);
22
+ }
23
+ return lines;
24
+ };
25
+ //# sourceMappingURL=cli-persistence-report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-persistence-report.js","sourceRoot":"","sources":["../src/cli-persistence-report.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,WAAiC,EACjC,UAAwC,EAAE,EAChC,EAAE;IACZ,MAAM,KAAK,GAAG;QACZ,OAAO,CAAC,cAAc;YACpB,CAAC,CAAC,gBAAgB,WAAW,CAAC,OAAO,0BAA0B,WAAW,CAAC,MAAM,EAAE;kBAC/E,OAAO,WAAW,CAAC,QAAQ,cAAc,WAAW,CAAC,QAAQ,GAAG;YACpE,CAAC,CAAC,uBAAuB,WAAW,CAAC,OAAO,QAAQ,WAAW,CAAC,MAAM,EAAE;kBACpE,OAAO,WAAW,CAAC,QAAQ,cAAc,WAAW,CAAC,QAAQ,GAAG;KACvE,CAAC;IACF,IAAI,WAAW,CAAC,gBAAgB,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CACR,uCAAuC,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAC7E,8CAA8C,WAAW,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CACtF,CAAC;IACJ,CAAC;IACD,IAAI,WAAW,CAAC,yBAAyB,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CACR,qDAAqD;cACnD,IAAI,WAAW,CAAC,yBAAyB,CAAC,OAAO,CAAC,QAAQ,EAAE,EAC9D,oDAAoD;cAClD,IAAI,WAAW,CAAC,yBAAyB,CAAC,OAAO,CAAC,WAAW,EAAE,EACjE,mDAAmD;cACjD,IAAI,WAAW,CAAC,yBAAyB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAC5D,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
@@ -23,6 +23,21 @@ export declare const resolveCliInstallLayout: (environment?: NodeJS.ProcessEnv,
23
23
  dataRoot: string;
24
24
  launcher: string;
25
25
  };
26
+ export type PinnedCliSnapshot = {
27
+ dataRoot: string;
28
+ launcher: string;
29
+ version: string | null;
30
+ };
31
+ /**
32
+ * Reports the version the managed launcher resolves to today, without changing
33
+ * anything. `cli install` uses it to tell an install from an already-current
34
+ * re-run, and `cli status` reports it directly.
35
+ */
36
+ export declare const readPinnedCli: (args?: {
37
+ environment?: NodeJS.ProcessEnv;
38
+ homeDirectory?: string;
39
+ platform?: NodeJS.Platform;
40
+ }) => Promise<PinnedCliSnapshot>;
26
41
  export declare const persistCurrentCli: (args?: {
27
42
  environment?: NodeJS.ProcessEnv;
28
43
  homeDirectory?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"cli-persistence.d.ts","sourceRoot":"","sources":["../src/cli-persistence.ts"],"names":[],"mappings":"AAkBA,OAAO,EACL,yBAAyB,EAEzB,KAAK,gBAAgB,EACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,kCAAkC,EAElC,KAAK,yBAAyB,EAC/B,MAAM,oCAAoC,CAAC;AAI5C,KAAK,oBAAoB,GAAG;IAC1B,UAAU,EAAE,KAAK,GAAG,SAAS,CAAC;IAC9B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC;CAChC,CAAC;AAEF,KAAK,gBAAgB,GAAG,CAAC,UAAU,EAAE,oBAAoB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAC5E,KAAK,mBAAmB,GAAG,CAAC,IAAI,EAAE;IAChC,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAmCpB,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,QAAQ,GAAG,KAAK,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;CACvD,CAAC;AA+LF,eAAO,MAAM,uBAAuB,GAClC,cAAa,MAAM,CAAC,UAAwB,EAC5C,sBAA4B,EAC5B,WAAU,MAAM,CAAC,QAA2B,KAC3C;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAuBlB,CAAC;AA2DF,eAAO,MAAM,iBAAiB,GAAU,OAAM;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;IACvC,eAAe,CAAC,EAAE,OAAO,yBAAyB,CAAC;IACnD,wBAAwB,CAAC,EAAE,OAAO,kCAAkC,CAAC;CACjE,KAAG,OAAO,CAAC,oBAAoB,CAwMpC,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAO,MAErC,CAAC"}
1
+ {"version":3,"file":"cli-persistence.d.ts","sourceRoot":"","sources":["../src/cli-persistence.ts"],"names":[],"mappings":"AAkBA,OAAO,EACL,yBAAyB,EAEzB,KAAK,gBAAgB,EACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,kCAAkC,EAElC,KAAK,yBAAyB,EAC/B,MAAM,oCAAoC,CAAC;AAI5C,KAAK,oBAAoB,GAAG;IAC1B,UAAU,EAAE,KAAK,GAAG,SAAS,CAAC;IAC9B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC;CAChC,CAAC;AAEF,KAAK,gBAAgB,GAAG,CAAC,UAAU,EAAE,oBAAoB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAC5E,KAAK,mBAAmB,GAAG,CAAC,IAAI,EAAE;IAChC,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAmCpB,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,QAAQ,GAAG,KAAK,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;CACvD,CAAC;AA+LF,eAAO,MAAM,uBAAuB,GAClC,cAAa,MAAM,CAAC,UAAwB,EAC5C,sBAA4B,EAC5B,WAAU,MAAM,CAAC,QAA2B,KAC3C;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAuBlB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAAC;AAoBF;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAU,OAAM;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;CACvB,KAAG,OAAO,CAAC,iBAAiB,CAoBjC,CAAC;AA2DF,eAAO,MAAM,iBAAiB,GAAU,OAAM;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;IACvC,eAAe,CAAC,EAAE,OAAO,yBAAyB,CAAC;IACnD,wBAAwB,CAAC,EAAE,OAAO,kCAAkC,CAAC;CACjE,KAAG,OAAO,CAAC,oBAAoB,CAwMpC,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAO,MAErC,CAAC"}
@@ -185,6 +185,45 @@ export const resolveCliInstallLayout = (environment = process.env, homeDirectory
185
185
  launcher: path.join(homeDirectory, '.local', 'bin', '12ui'),
186
186
  };
187
187
  };
188
+ /**
189
+ * Resolves the package.json of whatever the managed launcher currently points
190
+ * at. Three launcher shapes are produced by this repo: the npm-pinned launcher
191
+ * (POSIX and Windows) executing `<version root>/node_modules/@12ui/design/dist/
192
+ * cli.js`, and the npm-free installer's launcher exec'ing `<release>/bin/12ui`.
193
+ */
194
+ const pinnedPackageManifestFor = (launcherSource) => {
195
+ const packageCli = launcherSource.match(/["']([^"']+[\\/]node_modules[\\/]@12ui[\\/]design)[\\/]dist[\\/]cli\.js["']/u);
196
+ if (packageCli?.[1])
197
+ return path.join(packageCli[1], 'package.json');
198
+ const bundleLauncher = launcherSource.match(/["']([^"']+)[\\/]bin[\\/]12ui["']/u);
199
+ if (bundleLauncher?.[1]) {
200
+ return path.join(bundleLauncher[1], 'node_modules', '@12ui', 'design', 'package.json');
201
+ }
202
+ return null;
203
+ };
204
+ /**
205
+ * Reports the version the managed launcher resolves to today, without changing
206
+ * anything. `cli install` uses it to tell an install from an already-current
207
+ * re-run, and `cli status` reports it directly.
208
+ */
209
+ export const readPinnedCli = async (args = {}) => {
210
+ const layout = resolveCliInstallLayout(args.environment ?? process.env, args.homeDirectory ?? os.homedir(), args.platform ?? process.platform);
211
+ const launcherSource = await readFile(layout.launcher, 'utf8').catch(() => null);
212
+ const manifestPath = launcherSource === null
213
+ ? null
214
+ : pinnedPackageManifestFor(launcherSource);
215
+ if (manifestPath === null)
216
+ return { ...layout, version: null };
217
+ const manifest = await readFile(manifestPath, 'utf8')
218
+ .then((source) => JSON.parse(source))
219
+ .catch(() => null);
220
+ return {
221
+ ...layout,
222
+ version: manifest?.name === '@12ui/design' && typeof manifest.version === 'string'
223
+ ? manifest.version
224
+ : null,
225
+ };
226
+ };
188
227
  const retireLegacyCliInstallations = async (args) => {
189
228
  const retirements = await Promise.allSettled([
190
229
  (args.retireLegacyCli ?? retireRecognizedLegacyCli)({
@@ -1 +1 @@
1
- {"version":3,"file":"cli-persistence.js","sourceRoot":"","sources":["../src/cli-persistence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-persistence.js","sourceRoot":"","sources":["../src/cli-persistence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import type { ConversionOperation } from './conversion-client.js';
2
+ /**
3
+ * Expected wall time, in seconds, for the long conversion operations.
4
+ *
5
+ * These are measured medians on 1440px-wide sources at `--model standard`, not
6
+ * guarantees. They exist because the alternative — a command that prints
7
+ * nothing for four minutes — reads as a hang, and an agent that believes a
8
+ * command hung retries it, which buys the work twice.
9
+ */
10
+ export declare const CONVERSION_DURATION_HINTS: {
11
+ /** image -> LayerDoc. Extraction plus materialization. */
12
+ readonly convert: 240;
13
+ /** A responsive HTML export run on its own, after the conversion finished. */
14
+ readonly export: 240;
15
+ /**
16
+ * Fused convert + export. The export's reference and anchor conversions run
17
+ * alongside the conversion, so the bundle costs about the slower half plus
18
+ * assembly rather than the sum of both.
19
+ */
20
+ readonly fused: 300;
21
+ };
22
+ export type ConversionDurationHintKind = keyof typeof CONVERSION_DURATION_HINTS;
23
+ export declare const formatDuration: (seconds: number) => string;
24
+ export declare const durationHint: (kind: ConversionDurationHintKind) => string;
25
+ export declare const stageLabel: (stage: string) => string;
26
+ export type ProgressReporter = {
27
+ onProgress: (operation: ConversionOperation) => void;
28
+ /** Final line for a finished operation. */
29
+ done: (operation: ConversionOperation) => void;
30
+ };
31
+ /**
32
+ * Streams stage progress to stderr, one line per distinct stage/percent.
33
+ *
34
+ * stderr, not stdout, so the command's machine-readable result stays a single
35
+ * clean JSON document that a caller can pipe. Deduplicated because the poll
36
+ * loop revalidates every couple of seconds and mostly sees no change.
37
+ */
38
+ export declare const createProgressReporter: (args: {
39
+ label: string;
40
+ quiet?: boolean;
41
+ write?: (line: string) => void;
42
+ now?: () => number;
43
+ }) => ProgressReporter;
44
+ //# sourceMappingURL=cli-progress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-progress.d.ts","sourceRoot":"","sources":["../src/cli-progress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB;IACpC,0DAA0D;;IAE1D,8EAA8E;;IAE9E;;;;OAIG;;CAEK,CAAC;AAEX,MAAM,MAAM,0BAA0B,GAAG,MAAM,OAAO,yBAAyB,CAAC;AAEhF,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,KAAG,MAMhD,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,MAAM,0BAA0B,KAAG,MAE/D,CAAC;AAsBF,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,KAAG,MAAsC,CAAC;AAElF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,CAAC,SAAS,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACrD,2CAA2C;IAC3C,IAAI,EAAE,CAAC,SAAS,EAAE,mBAAmB,KAAK,IAAI,CAAC;CAChD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,GAAI,MAAM;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB,KAAG,gBAsBH,CAAC"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Expected wall time, in seconds, for the long conversion operations.
3
+ *
4
+ * These are measured medians on 1440px-wide sources at `--model standard`, not
5
+ * guarantees. They exist because the alternative — a command that prints
6
+ * nothing for four minutes — reads as a hang, and an agent that believes a
7
+ * command hung retries it, which buys the work twice.
8
+ */
9
+ export const CONVERSION_DURATION_HINTS = {
10
+ /** image -> LayerDoc. Extraction plus materialization. */
11
+ convert: 240,
12
+ /** A responsive HTML export run on its own, after the conversion finished. */
13
+ export: 240,
14
+ /**
15
+ * Fused convert + export. The export's reference and anchor conversions run
16
+ * alongside the conversion, so the bundle costs about the slower half plus
17
+ * assembly rather than the sum of both.
18
+ */
19
+ fused: 300,
20
+ };
21
+ export const formatDuration = (seconds) => {
22
+ const whole = Math.max(0, Math.round(seconds));
23
+ if (whole < 90)
24
+ return `${whole}s`;
25
+ const minutes = Math.floor(whole / 60);
26
+ const rest = whole % 60;
27
+ return rest === 0 ? `${minutes}m` : `${minutes}m ${rest}s`;
28
+ };
29
+ export const durationHint = (kind) => (`expect about ${formatDuration(CONVERSION_DURATION_HINTS[kind])}`);
30
+ /** Human-readable name for a pipeline stage, for progress lines. */
31
+ const STAGE_LABELS = {
32
+ queued: 'queued',
33
+ prepare: 'preparing',
34
+ extract_merge_snap: 'extracting layers',
35
+ materialize: 'materializing assets',
36
+ // The operation projection substitutes these display stages for the raw
37
+ // pipeline stage while a conversion is extracting or materializing.
38
+ extracting_layers: 'extracting layers',
39
+ materializing_assets: 'materializing assets',
40
+ enhancing_2x: 'enhancing assets (2x)',
41
+ edit: 'applying edit',
42
+ responsive_reference: 'generating responsive references',
43
+ responsive_anchors: 'converting responsive anchors',
44
+ flow_emit_sanitize: 'emitting HTML',
45
+ static_export: 'rendering export',
46
+ project_export: 'building project',
47
+ publish: 'publishing',
48
+ };
49
+ export const stageLabel = (stage) => STAGE_LABELS[stage] ?? stage;
50
+ /**
51
+ * Streams stage progress to stderr, one line per distinct stage/percent.
52
+ *
53
+ * stderr, not stdout, so the command's machine-readable result stays a single
54
+ * clean JSON document that a caller can pipe. Deduplicated because the poll
55
+ * loop revalidates every couple of seconds and mostly sees no change.
56
+ */
57
+ export const createProgressReporter = (args) => {
58
+ const write = args.write ?? ((line) => { process.stderr.write(`${line}\n`); });
59
+ const startedAt = (args.now ?? Date.now)();
60
+ let last = '';
61
+ const elapsed = () => formatDuration(((args.now ?? Date.now)() - startedAt) / 1000);
62
+ return {
63
+ onProgress: (operation) => {
64
+ if (args.quiet)
65
+ return;
66
+ const stage = operation.progress?.stage ?? operation.status;
67
+ const percent = operation.progress?.percent;
68
+ const line = percent === undefined
69
+ ? `${args.label}: ${stageLabel(stage)}`
70
+ : `${args.label}: ${stageLabel(stage)} ${percent}%`;
71
+ if (line === last)
72
+ return;
73
+ last = line;
74
+ write(`[${elapsed()}] ${line}`);
75
+ },
76
+ done: (operation) => {
77
+ if (args.quiet)
78
+ return;
79
+ write(`[${elapsed()}] ${args.label}: ${operation.status}`);
80
+ },
81
+ };
82
+ };
83
+ //# sourceMappingURL=cli-progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-progress.js","sourceRoot":"","sources":["../src/cli-progress.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cli-skill-command.d.ts","sourceRoot":"","sources":["../src/cli-skill-command.ts"],"names":[],"mappings":"AAGA,OAAO,EAA2B,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAqB,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAMpF,OAAO,EACL,4BAA4B,EAG7B,MAAM,uBAAuB,CAAC;AA2G/B,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACjD,kBAAkB,CAAC,EAAE,OAAO,4BAA4B,CAAC;CAC1D,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,QAAQ,MAAM,GAAG,SAAS,EAC1B,OAAO,QAAQ,EACf,eAAc,wBAA6B,KAC1C,OAAO,CAAC,IAAI,CA2Kd,CAAC"}
1
+ {"version":3,"file":"cli-skill-command.d.ts","sourceRoot":"","sources":["../src/cli-skill-command.ts"],"names":[],"mappings":"AAGA,OAAO,EAA2B,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAqB,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAOpF,OAAO,EACL,4BAA4B,EAG7B,MAAM,uBAAuB,CAAC;AA2G/B,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACjD,kBAAkB,CAAC,EAAE,OAAO,4BAA4B,CAAC;CAC1D,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,QAAQ,MAAM,GAAG,SAAS,EAC1B,OAAO,QAAQ,EACf,eAAc,wBAA6B,KAC1C,OAAO,CAAC,IAAI,CAiJd,CAAC"}
@@ -2,6 +2,7 @@ import os from 'node:os';
2
2
  import path from 'node:path';
3
3
  import { booleanFlag, stringFlag } from './cli-arguments.js';
4
4
  import { persistCurrentCli } from './cli-persistence.js';
5
+ import { cliPersistenceLines } from './cli-persistence-report.js';
5
6
  import { enableCodexSkill, isCodexSkillEnabled } from './codex-skill-config.js';
6
7
  import { readStoredConversionCredentials, resolveCredentialFile, } from './credential-store.js';
7
8
  import { prepareConversionCredentials, } from './credential-setup.js';
@@ -187,17 +188,8 @@ export const runSkillCommand = async (action, flags, dependencies = {}) => {
187
188
  console.log(`${result.target.client}: ${result.target.skill} ${result.result.replace('_', ' ')}${enabled}`
188
189
  + ` at ${result.target.destination}.`);
189
190
  }
190
- console.log(`Pinned @12ui/design ${persistence.version} via ${persistence.source}`
191
- + ` at ${persistence.dataRoot}; launcher ${persistence.launcher}.`);
192
- if (persistence.retiredLegacyCli) {
193
- console.log(`Removed recognized legacy 12ui CLI: ${persistence.retiredLegacyCli.removed}`);
194
- console.log(`Recoverable retired legacy 12ui CLI bytes: ${persistence.retiredLegacyCli.recovery}`);
195
- }
196
- if (persistence.retiredLegacyNpmGlobalCli) {
197
- console.log(`Removed recognized npm-global legacy 12ui launcher: ${persistence.retiredLegacyNpmGlobalCli.removed.launcher}`);
198
- console.log(`Removed recognized npm-global legacy 12ui package: ${persistence.retiredLegacyNpmGlobalCli.removed.packageRoot}`);
199
- console.log(`Recoverable retired npm-global legacy 12ui bytes: ${persistence.retiredLegacyNpmGlobalCli.recovery.root}`);
200
- }
191
+ for (const line of cliPersistenceLines(persistence))
192
+ console.log(line);
201
193
  for (const removed of legacy.removed)
202
194
  console.log(`Removed recognized legacy skill: ${removed}`);
203
195
  for (const preserved of legacy.preserved) {