zard-cli 1.0.0-beta.114 → 1.0.0-beta.116

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 (202) hide show
  1. package/commands/add/component-installer.js +3 -3
  2. package/commands/add/component-installer.js.map +1 -1
  3. package/commands/add/component-selector.d.ts +3 -3
  4. package/commands/add/component-selector.js +3 -3
  5. package/commands/add/dependency-resolver.js +10 -7
  6. package/commands/add/dependency-resolver.js.map +1 -1
  7. package/commands/add/index.d.ts.map +1 -1
  8. package/commands/add/index.js +12 -20
  9. package/commands/add/index.js.map +1 -1
  10. package/commands/add/wizard.d.ts +8 -7
  11. package/commands/add/wizard.d.ts.map +1 -1
  12. package/commands/add/wizard.js +2 -2
  13. package/commands/add/wizard.js.map +1 -1
  14. package/commands/init/config-prompter.d.ts +18 -13
  15. package/commands/init/config-prompter.d.ts.map +1 -1
  16. package/commands/init/config-prompter.js +25 -19
  17. package/commands/init/config-prompter.js.map +1 -1
  18. package/commands/init/dependencies.d.ts.map +1 -1
  19. package/commands/init/dependencies.js +21 -24
  20. package/commands/init/dependencies.js.map +1 -1
  21. package/commands/init/index.js +20 -20
  22. package/commands/init/index.js.map +1 -1
  23. package/commands/init/project-kind.d.ts +39 -39
  24. package/commands/init/project-kind.d.ts.map +1 -1
  25. package/commands/init/project-kind.js +44 -44
  26. package/commands/init/project-kind.js.map +1 -1
  27. package/commands/init/steps.d.ts +3 -4
  28. package/commands/init/steps.d.ts.map +1 -1
  29. package/commands/init/steps.js +25 -24
  30. package/commands/init/steps.js.map +1 -1
  31. package/commands/init/tailwind-setup.d.ts +5 -5
  32. package/commands/init/tailwind-setup.js +14 -14
  33. package/commands/init/tailwind-setup.js.map +1 -1
  34. package/commands/init/tsconfig-updater.d.ts +4 -4
  35. package/commands/init/tsconfig-updater.js +12 -12
  36. package/commands/init/tsconfig-updater.js.map +1 -1
  37. package/commands/init/update-angular-config.js +4 -4
  38. package/commands/init/vite-setup.d.ts +5 -4
  39. package/commands/init/vite-setup.d.ts.map +1 -1
  40. package/commands/init/vite-setup.js +11 -10
  41. package/commands/init/vite-setup.js.map +1 -1
  42. package/commands/init/wizard.d.ts +5 -5
  43. package/commands/init/wizard.d.ts.map +1 -1
  44. package/commands/init/wizard.js +29 -29
  45. package/commands/init/wizard.js.map +1 -1
  46. package/core/icons/families.d.ts +20 -20
  47. package/core/icons/families.d.ts.map +1 -1
  48. package/core/icons/families.js +11 -11
  49. package/core/icons/families.js.map +1 -1
  50. package/core/icons/icon-map.d.ts.map +1 -1
  51. package/core/icons/icon-map.js +9 -4
  52. package/core/icons/icon-map.js.map +1 -1
  53. package/core/icons/index.d.ts +50 -50
  54. package/core/icons/index.d.ts.map +1 -1
  55. package/core/icons/index.js +45 -45
  56. package/core/icons/index.js.map +1 -1
  57. package/core/registry/registry-data.d.ts.map +1 -1
  58. package/core/registry/registry-data.js +103 -14
  59. package/core/registry/registry-data.js.map +1 -1
  60. package/core/themes/theme-definitions.d.ts.map +1 -1
  61. package/core/themes/theme-definitions.js +10 -0
  62. package/core/themes/theme-definitions.js.map +1 -1
  63. package/index.js +3 -2
  64. package/index.js.map +1 -1
  65. package/package.json +6 -8
  66. package/ui/blocks.d.ts +29 -28
  67. package/ui/blocks.d.ts.map +1 -1
  68. package/ui/blocks.js +27 -27
  69. package/ui/blocks.js.map +1 -1
  70. package/ui/brand.d.ts +5 -5
  71. package/ui/brand.d.ts.map +1 -1
  72. package/ui/brand.js +6 -6
  73. package/ui/brand.js.map +1 -1
  74. package/ui/engine/animation/index.d.ts +2 -3
  75. package/ui/engine/animation/index.d.ts.map +1 -1
  76. package/ui/engine/animation/index.js +2 -3
  77. package/ui/engine/animation/index.js.map +1 -1
  78. package/ui/engine/ansi/index.d.ts +10 -11
  79. package/ui/engine/ansi/index.d.ts.map +1 -1
  80. package/ui/engine/ansi/index.js +6 -7
  81. package/ui/engine/ansi/index.js.map +1 -1
  82. package/ui/engine/components/index.d.ts +3 -3
  83. package/ui/engine/components/index.js +4 -4
  84. package/ui/engine/cursor/index.d.ts +3 -4
  85. package/ui/engine/cursor/index.d.ts.map +1 -1
  86. package/ui/engine/cursor/index.js +2 -3
  87. package/ui/engine/cursor/index.js.map +1 -1
  88. package/ui/engine/diff/index.d.ts +2 -3
  89. package/ui/engine/diff/index.d.ts.map +1 -1
  90. package/ui/engine/diff/index.js +5 -6
  91. package/ui/engine/diff/index.js.map +1 -1
  92. package/ui/engine/events/index.d.ts +2 -2
  93. package/ui/engine/events/index.js +3 -3
  94. package/ui/engine/events/index.js.map +1 -1
  95. package/ui/engine/focus/index.d.ts +2 -2
  96. package/ui/engine/focus/index.js +2 -2
  97. package/ui/engine/frame/index.d.ts +4 -4
  98. package/ui/engine/frame/index.js +0 -0
  99. package/ui/engine/index.d.ts +7 -7
  100. package/ui/engine/index.js +7 -7
  101. package/ui/engine/input/index.d.ts +2 -2
  102. package/ui/engine/input/index.js +11 -11
  103. package/ui/engine/input/index.js.map +1 -1
  104. package/ui/engine/layout/index.d.ts +3 -3
  105. package/ui/engine/layout/index.js +7 -7
  106. package/ui/engine/layout/index.js.map +1 -1
  107. package/ui/engine/renderer/index.d.ts +4 -4
  108. package/ui/engine/renderer/index.d.ts.map +1 -1
  109. package/ui/engine/renderer/index.js +3 -3
  110. package/ui/engine/scheduler/index.d.ts +3 -3
  111. package/ui/engine/scheduler/index.js +5 -5
  112. package/ui/engine/scheduler/index.js.map +1 -1
  113. package/ui/engine/screen/index.d.ts +5 -5
  114. package/ui/engine/screen/index.d.ts.map +1 -1
  115. package/ui/engine/screen/index.js +7 -7
  116. package/ui/engine/screen/index.js.map +1 -1
  117. package/ui/engine/terminal/index.d.ts +29 -29
  118. package/ui/engine/terminal/index.d.ts.map +1 -1
  119. package/ui/engine/terminal/index.js +47 -47
  120. package/ui/engine/terminal/index.js.map +1 -1
  121. package/ui/engine/testing/index.d.ts +4 -4
  122. package/ui/engine/testing/index.d.ts.map +1 -1
  123. package/ui/engine/testing/index.js +2 -2
  124. package/ui/engine/theme/index.d.ts +2 -3
  125. package/ui/engine/theme/index.d.ts.map +1 -1
  126. package/ui/engine/theme/index.js +3 -4
  127. package/ui/engine/theme/index.js.map +1 -1
  128. package/ui/engine/utils/index.d.ts +2 -2
  129. package/ui/engine/utils/index.js +4 -4
  130. package/ui/engine/utils/index.js.map +1 -1
  131. package/ui/gate.d.ts +7 -7
  132. package/ui/gate.d.ts.map +1 -1
  133. package/ui/gate.js +5 -5
  134. package/ui/index.d.ts +3 -3
  135. package/ui/index.js +3 -3
  136. package/ui/log-sink.d.ts +9 -9
  137. package/ui/log-sink.d.ts.map +1 -1
  138. package/ui/log-sink.js +9 -9
  139. package/ui/log-sink.js.map +1 -1
  140. package/ui/output.d.ts +6 -6
  141. package/ui/output.d.ts.map +1 -1
  142. package/ui/output.js +6 -6
  143. package/ui/output.js.map +1 -1
  144. package/ui/report.d.ts +8 -8
  145. package/ui/report.d.ts.map +1 -1
  146. package/ui/report.js +7 -7
  147. package/ui/report.js.map +1 -1
  148. package/ui/runner.d.ts +25 -25
  149. package/ui/runner.d.ts.map +1 -1
  150. package/ui/runner.js +27 -27
  151. package/ui/runner.js.map +1 -1
  152. package/ui/style.d.ts +7 -7
  153. package/ui/style.d.ts.map +1 -1
  154. package/ui/style.js +8 -8
  155. package/ui/style.js.map +1 -1
  156. package/ui/testing/fake-tty.d.ts +4 -4
  157. package/ui/testing/fake-tty.js +4 -4
  158. package/ui/text-input.d.ts +14 -13
  159. package/ui/text-input.d.ts.map +1 -1
  160. package/ui/text-input.js +15 -13
  161. package/ui/text-input.js.map +1 -1
  162. package/ui/theme.d.ts +4 -4
  163. package/ui/theme.js +4 -4
  164. package/utils/angular-compat.d.ts +21 -0
  165. package/utils/angular-compat.d.ts.map +1 -0
  166. package/utils/angular-compat.js +52 -0
  167. package/utils/angular-compat.js.map +1 -0
  168. package/utils/config.d.ts +6 -6
  169. package/utils/config.d.ts.map +1 -1
  170. package/utils/config.js +20 -20
  171. package/utils/config.js.map +1 -1
  172. package/utils/errors.d.ts +5 -5
  173. package/utils/errors.js +5 -5
  174. package/utils/get-project-info.d.ts +6 -6
  175. package/utils/get-project-info.d.ts.map +1 -1
  176. package/utils/get-project-info.js +35 -35
  177. package/utils/get-project-info.js.map +1 -1
  178. package/utils/http-client.d.ts.map +1 -1
  179. package/utils/http-client.js +18 -3
  180. package/utils/http-client.js.map +1 -1
  181. package/utils/icon-catalog.d.ts +16 -15
  182. package/utils/icon-catalog.d.ts.map +1 -1
  183. package/utils/icon-catalog.js +21 -20
  184. package/utils/icon-catalog.js.map +1 -1
  185. package/utils/logger.d.ts +3 -3
  186. package/utils/logger.js +9 -9
  187. package/utils/logger.js.map +1 -1
  188. package/utils/package-manager.d.ts +25 -25
  189. package/utils/package-manager.js +48 -48
  190. package/utils/package-manager.js.map +1 -1
  191. package/utils/registry.d.ts +14 -14
  192. package/utils/registry.d.ts.map +1 -1
  193. package/utils/registry.js +23 -19
  194. package/utils/registry.js.map +1 -1
  195. package/utils/schema-version.d.ts +11 -10
  196. package/utils/schema-version.d.ts.map +1 -1
  197. package/utils/schema-version.js +11 -10
  198. package/utils/schema-version.js.map +1 -1
  199. package/utils/source-file.d.ts +21 -21
  200. package/utils/source-file.d.ts.map +1 -1
  201. package/utils/source-file.js +24 -24
  202. package/utils/source-file.js.map +1 -1
@@ -1,7 +1,6 @@
1
1
  /**
2
- * theme — tokens semânticos de cor e resolução/downsampling para a
3
- * capacidade do terminal. Temas são imutáveis; `extend` cria derivados.
4
- * (Fatia vertical / PoC: implementação real.)
2
+ * theme — semantic colour tokens, resolved and downsampled to the terminal's
3
+ * capability. Themes are immutable; `extend` creates derived ones.
5
4
  */
6
5
  const DEFAULT_TOKENS = {
7
6
  primary: '#7c93ff',
@@ -48,7 +47,7 @@ function parseColor(c) {
48
47
  return [Number(m[1]), Number(m[2]), Number(m[3])];
49
48
  return null;
50
49
  }
51
- // RGB → índice do cubo 6x6x6 + rampa de cinza do ANSI-256.
50
+ // RGB → index in the 6x6x6 cube plus the ANSI-256 grayscale ramp.
52
51
  function toAnsi256(r, g, b) {
53
52
  if (r === g && g === b) {
54
53
  if (r < 8)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/engine/theme/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/engine/theme/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
- * utils — helpers puros de string/Unicode. Sem I/O, sem dependências.
3
- * (Fatia vertical / PoC: implementação real, suficiente para ASCII + wide + emoji.)
2
+ * utils — pure string/Unicode helpers. No I/O, no dependencies.
3
+ * Enough for ASCII, wide characters and emoji.
4
4
  */
5
5
  export declare function graphemes(text: string): string[];
6
6
  export declare function charWidth(grapheme: string): 0 | 1 | 2;
@@ -1,6 +1,6 @@
1
1
  /**
2
- * utils — helpers puros de string/Unicode. Sem I/O, sem dependências.
3
- * (Fatia vertical / PoC: implementação real, suficiente para ASCII + wide + emoji.)
2
+ * utils — pure string/Unicode helpers. No I/O, no dependencies.
3
+ * Enough for ASCII, wide characters and emoji.
4
4
  */
5
5
  const SEG = typeof Intl.Segmenter === 'function'
6
6
  ? new Intl.Segmenter('en', { granularity: 'grapheme' })
@@ -30,7 +30,7 @@ function isWide(cp) {
30
30
  (cp >= 0xfe30 && cp <= 0xfe6f) ||
31
31
  (cp >= 0xff00 && cp <= 0xff60) || // Fullwidth forms
32
32
  (cp >= 0xffe0 && cp <= 0xffe6) ||
33
- (cp >= 0x1f300 && cp <= 0x1faff) || // emoji & símbolos
33
+ (cp >= 0x1f300 && cp <= 0x1faff) || // emoji & symbols
34
34
  (cp >= 0x20000 && cp <= 0x3fffd) // CJK Ext B+
35
35
  );
36
36
  }
@@ -104,7 +104,7 @@ export function wrapText(text, width) {
104
104
  return out.length ? out : [''];
105
105
  }
106
106
  function splitWords(line) {
107
- // mantém os espaços agregados à palavra seguinte para preservar recuos simples
107
+ // keeps spaces attached to the following word so simple indents survive
108
108
  return line.length ? (line.match(/\s*\S+\s*|\s+/g) ?? [line]) : [''];
109
109
  }
110
110
  export function truncate(text, width, ellipsis = '…') {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/engine/utils/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/engine/utils/index.ts"],"names":[],"mappings":"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"}
package/ui/gate.d.ts CHANGED
@@ -1,18 +1,18 @@
1
1
  /**
2
- * Gate — deixa um fluxo async esperar por uma resposta do teclado.
2
+ * Gate — lets an async flow wait for an answer from the keyboard.
3
3
  *
4
- * Wizards lineares (escolher → resolver → confirmar → instalar) ficam muito
5
- * mais legíveis escritos como uma função async do que como uma máquina de
6
- * estados no `onKey`. O gate é a peça que falta: o fluxo aguarda `wait()`, o
7
- * handler de teclado chama `settle()` quando o usuário decide.
4
+ * Linear wizards (choose → resolve → confirm → install) read far better written
5
+ * as one async function than as a state machine inside `onKey`. The gate is the
6
+ * missing piece: the flow awaits `wait()`, and the key handler calls `settle()`
7
+ * when the user decides.
8
8
  */
9
9
  export interface Gate<T> {
10
10
  wait(): Promise<T>;
11
- /** Entrega a resposta. Chamadas seguintes são ignoradas. */
11
+ /** Delivers the answer. Later calls are ignored. */
12
12
  settle(value: T): void;
13
13
  /** Interrompe quem espera, propagando o erro. */
14
14
  fail(error: unknown): void;
15
- /** true enquanto alguém aguarda uma resposta. */
15
+ /** True while somebody is waiting for an answer. */
16
16
  readonly pending: boolean;
17
17
  }
18
18
  export declare function createGate<T>(): Gate<T>;
package/ui/gate.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../../src/ui/gate.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,IAAI,CAAC,CAAC;IACrB,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACnB,4DAA4D;IAC5D,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IACvB,iDAAiD;IACjD,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,iDAAiD;IACjD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,UAAU,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CA2BvC"}
1
+ {"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../../src/ui/gate.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,IAAI,CAAC,CAAC;IACrB,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACnB,oDAAoD;IACpD,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IACvB,iDAAiD;IACjD,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,oDAAoD;IACpD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,UAAU,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CA2BvC"}
package/ui/gate.js CHANGED
@@ -1,10 +1,10 @@
1
1
  /**
2
- * Gate — deixa um fluxo async esperar por uma resposta do teclado.
2
+ * Gate — lets an async flow wait for an answer from the keyboard.
3
3
  *
4
- * Wizards lineares (escolher → resolver → confirmar → instalar) ficam muito
5
- * mais legíveis escritos como uma função async do que como uma máquina de
6
- * estados no `onKey`. O gate é a peça que falta: o fluxo aguarda `wait()`, o
7
- * handler de teclado chama `settle()` quando o usuário decide.
4
+ * Linear wizards (choose → resolve → confirm → install) read far better written
5
+ * as one async function than as a state machine inside `onKey`. The gate is the
6
+ * missing piece: the flow awaits `wait()`, and the key handler calls `settle()`
7
+ * when the user decides.
8
8
  */
9
9
  export function createGate() {
10
10
  let resolveFn = null;
package/ui/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
- * Superfície pública da UI da CLI.
2
+ * The public surface of the CLI's UI.
3
3
  *
4
- * Os comandos importam daqui — nunca de `./engine` diretamente — para que a
5
- * troca ou atualização da engine fique contida nesta camada.
4
+ * Commands import from here — never from `./engine` directly — so that replacing
5
+ * or upgrading the engine stays contained in this layer.
6
6
  */
7
7
  export * from './engine/index.js';
8
8
  export * from './blocks.js';
package/ui/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
- * Superfície pública da UI da CLI.
2
+ * The public surface of the CLI's UI.
3
3
  *
4
- * Os comandos importam daqui — nunca de `./engine` diretamente — para que a
5
- * troca ou atualização da engine fique contida nesta camada.
4
+ * Commands import from here — never from `./engine` directly — so that replacing
5
+ * or upgrading the engine stays contained in this layer.
6
6
  */
7
7
  export * from './engine/index.js';
8
8
  export * from './blocks.js';
package/ui/log-sink.d.ts CHANGED
@@ -1,24 +1,24 @@
1
1
  /**
2
- * Sink de mensagens — desvia a saída do logger enquanto a tela interativa está
3
- * montada.
2
+ * Message sink — diverts the logger's output while the interactive screen is
3
+ * mounted.
4
4
  *
5
- * Em alt-screen, qualquer `console.log` disparado por um módulo interno
6
- * (tsconfig-updater, theme-loader, package manager…) rasgaria o frame que a
7
- * engine acabou de pintar. Durante a captura as mensagens ficam retidas aqui e
8
- * são reemitidas no histórico do terminal depois do unmount, junto do resumo.
5
+ * In the alt-screen, any `console.log` fired by an internal module
6
+ * (tsconfig-updater, theme-loader, package manager…) would tear the frame the
7
+ * engine just painted. While capturing, messages are held here and re-emitted
8
+ * into the terminal's history after unmount, alongside the summary.
9
9
  */
10
10
  export type LogLevel = 'info' | 'warn' | 'error' | 'success' | 'debug';
11
11
  export interface LogRecord {
12
12
  readonly level: LogLevel;
13
13
  readonly message: string;
14
14
  }
15
- /** Passa a reter as mensagens do logger em vez de escrevê-las no terminal. */
15
+ /** Starts holding the logger's messages instead of writing them to the terminal. */
16
16
  export declare function beginCapture(): void;
17
17
  /** Encerra a captura e devolve o que foi retido, na ordem em que chegou. */
18
18
  export declare function endCapture(): LogRecord[];
19
19
  export declare function isCapturing(): boolean;
20
- /** Retém uma mensagem. Devolve false quando não há captura ativa. */
20
+ /** Holds one message. Returns false when no capture is active. */
21
21
  export declare function capture(level: LogLevel, message: string): boolean;
22
- /** Mensagens retidas até agora, sem encerrar a captura (para exibir na UI). */
22
+ /** The messages held so far, without ending the capture (for display in the UI). */
23
23
  export declare function captured(): readonly LogRecord[];
24
24
  //# sourceMappingURL=log-sink.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"log-sink.d.ts","sourceRoot":"","sources":["../../src/ui/log-sink.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;AAEvE,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAID,8EAA8E;AAC9E,wBAAgB,YAAY,IAAI,IAAI,CAEnC;AAED,4EAA4E;AAC5E,wBAAgB,UAAU,IAAI,SAAS,EAAE,CAIxC;AAED,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAED,qEAAqE;AACrE,wBAAgB,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAIjE;AAED,+EAA+E;AAC/E,wBAAgB,QAAQ,IAAI,SAAS,SAAS,EAAE,CAE/C"}
1
+ {"version":3,"file":"log-sink.d.ts","sourceRoot":"","sources":["../../src/ui/log-sink.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;AAEvE,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAID,oFAAoF;AACpF,wBAAgB,YAAY,IAAI,IAAI,CAEnC;AAED,4EAA4E;AAC5E,wBAAgB,UAAU,IAAI,SAAS,EAAE,CAIxC;AAED,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAED,kEAAkE;AAClE,wBAAgB,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAIjE;AAED,oFAAoF;AACpF,wBAAgB,QAAQ,IAAI,SAAS,SAAS,EAAE,CAE/C"}
package/ui/log-sink.js CHANGED
@@ -1,14 +1,14 @@
1
1
  /**
2
- * Sink de mensagens — desvia a saída do logger enquanto a tela interativa está
3
- * montada.
2
+ * Message sink — diverts the logger's output while the interactive screen is
3
+ * mounted.
4
4
  *
5
- * Em alt-screen, qualquer `console.log` disparado por um módulo interno
6
- * (tsconfig-updater, theme-loader, package manager…) rasgaria o frame que a
7
- * engine acabou de pintar. Durante a captura as mensagens ficam retidas aqui e
8
- * são reemitidas no histórico do terminal depois do unmount, junto do resumo.
5
+ * In the alt-screen, any `console.log` fired by an internal module
6
+ * (tsconfig-updater, theme-loader, package manager…) would tear the frame the
7
+ * engine just painted. While capturing, messages are held here and re-emitted
8
+ * into the terminal's history after unmount, alongside the summary.
9
9
  */
10
10
  let buffer = null;
11
- /** Passa a reter as mensagens do logger em vez de escrevê-las no terminal. */
11
+ /** Starts holding the logger's messages instead of writing them to the terminal. */
12
12
  export function beginCapture() {
13
13
  buffer = [];
14
14
  }
@@ -21,14 +21,14 @@ export function endCapture() {
21
21
  export function isCapturing() {
22
22
  return buffer !== null;
23
23
  }
24
- /** Retém uma mensagem. Devolve false quando não há captura ativa. */
24
+ /** Holds one message. Returns false when no capture is active. */
25
25
  export function capture(level, message) {
26
26
  if (buffer === null)
27
27
  return false;
28
28
  buffer.push({ level, message });
29
29
  return true;
30
30
  }
31
- /** Mensagens retidas até agora, sem encerrar a captura (para exibir na UI). */
31
+ /** The messages held so far, without ending the capture (for display in the UI). */
32
32
  export function captured() {
33
33
  return buffer ?? [];
34
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"log-sink.js","sourceRoot":"","sources":["../../src/ui/log-sink.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH,IAAI,MAAM,GAAuB,IAAI,CAAC;AAEtC,8EAA8E;AAC9E,MAAM,UAAU,YAAY;IAC1B,MAAM,GAAG,EAAE,CAAC;AACd,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,UAAU;IACxB,MAAM,QAAQ,GAAG,MAAM,IAAI,EAAE,CAAC;IAC9B,MAAM,GAAG,IAAI,CAAC;IACd,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,MAAM,KAAK,IAAI,CAAC;AACzB,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,OAAO,CAAC,KAAe,EAAE,OAAe;IACtD,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAClC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IAChC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,QAAQ;IACtB,OAAO,MAAM,IAAI,EAAE,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"log-sink.js","sourceRoot":"","sources":["../../src/ui/log-sink.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH,IAAI,MAAM,GAAuB,IAAI,CAAC;AAEtC,oFAAoF;AACpF,MAAM,UAAU,YAAY;IAC1B,MAAM,GAAG,EAAE,CAAC;AACd,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,UAAU;IACxB,MAAM,QAAQ,GAAG,MAAM,IAAI,EAAE,CAAC;IAC9B,MAAM,GAAG,IAAI,CAAC;IACd,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,MAAM,KAAK,IAAI,CAAC;AACzB,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,OAAO,CAAC,KAAe,EAAE,OAAe;IACtD,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAClC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IAChC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,QAAQ;IACtB,OAAO,MAAM,IAAI,EAAE,CAAC;AACtB,CAAC"}
package/ui/output.d.ts CHANGED
@@ -1,14 +1,14 @@
1
1
  /**
2
- * Saída em linha — a única porta por onde a CLI escreve texto solto no
3
- * terminal, fora da tela interativa.
2
+ * Line output — the only door through which the CLI writes loose text to the
3
+ * terminal, outside the interactive screen.
4
4
  *
5
- * Concentrar a escrita aqui garante que o logger, o resumo final e as
6
- * mensagens reemitidas do sink usem exatamente a mesma marcação de nível e a
7
- * mesma paleta.
5
+ * Concentrating writes here guarantees the logger, the final summary and the
6
+ * messages re-emitted from the sink all use exactly the same level markers and
7
+ * the same palette.
8
8
  */
9
9
  import { type LogRecord } from './log-sink.js';
10
10
  export declare function writeLine(text?: string): void;
11
11
  export declare function formatRecord(record: LogRecord): string;
12
- /** Reemite no histórico do terminal as mensagens retidas durante a tela. */
12
+ /** Re-emits into the terminal's history the messages held while the screen was up. */
13
13
  export declare function flushRecords(records: readonly LogRecord[]): void;
14
14
  //# sourceMappingURL=output.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/ui/output.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,SAAS,EAAiB,MAAM,eAAe,CAAC;AAW9D,wBAAgB,SAAS,CAAC,IAAI,SAAK,GAAG,IAAI,CAEzC;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAEtD;AAED,4EAA4E;AAC5E,wBAAgB,YAAY,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,GAAG,IAAI,CAEhE"}
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/ui/output.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,SAAS,EAAiB,MAAM,eAAe,CAAC;AAW9D,wBAAgB,SAAS,CAAC,IAAI,SAAK,GAAG,IAAI,CAEzC;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAEtD;AAED,sFAAsF;AACtF,wBAAgB,YAAY,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,GAAG,IAAI,CAEhE"}
package/ui/output.js CHANGED
@@ -1,10 +1,10 @@
1
1
  /**
2
- * Saída em linha — a única porta por onde a CLI escreve texto solto no
3
- * terminal, fora da tela interativa.
2
+ * Line output — the only door through which the CLI writes loose text to the
3
+ * terminal, outside the interactive screen.
4
4
  *
5
- * Concentrar a escrita aqui garante que o logger, o resumo final e as
6
- * mensagens reemitidas do sink usem exatamente a mesma marcação de nível e a
7
- * mesma paleta.
5
+ * Concentrating writes here guarantees the logger, the final summary and the
6
+ * messages re-emitted from the sink all use exactly the same level markers and
7
+ * the same palette.
8
8
  */
9
9
  import { style } from './style.js';
10
10
  const MARKS = {
@@ -20,7 +20,7 @@ export function writeLine(text = '') {
20
20
  export function formatRecord(record) {
21
21
  return MARKS[record.level](record.message);
22
22
  }
23
- /** Reemite no histórico do terminal as mensagens retidas durante a tela. */
23
+ /** Re-emits into the terminal's history the messages held while the screen was up. */
24
24
  export function flushRecords(records) {
25
25
  for (const record of records)
26
26
  writeLine(formatRecord(record));
package/ui/output.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/ui/output.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,MAAM,KAAK,GAA+C;IACxD,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;IAC7C,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;IAChD,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;IAC7C,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;IAC7C,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;CAC5C,CAAC;AAEF,MAAM,UAAU,SAAS,CAAC,IAAI,GAAG,EAAE;IACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAiB;IAC5C,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,YAAY,CAAC,OAA6B;IACxD,KAAK,MAAM,MAAM,IAAI,OAAO;QAAE,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;AAChE,CAAC"}
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/ui/output.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,MAAM,KAAK,GAA+C;IACxD,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;IAC7C,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;IAChD,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;IAC7C,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;IAC7C,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;CAC5C,CAAC;AAEF,MAAM,UAAU,SAAS,CAAC,IAAI,GAAG,EAAE;IACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAiB;IAC5C,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,YAAY,CAAC,OAA6B;IACxD,KAAK,MAAM,MAAM,IAAI,OAAO;QAAE,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;AAChE,CAAC"}
package/ui/report.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  /**
2
- * Resumo pós-execução — o que permanece no histórico depois do alt-screen.
2
+ * The post-run summary — what stays in the history after the alt-screen.
3
3
  *
4
- * Ao sair da tela cheia, tudo que o wizard desenhou desaparece. O que o usuário
5
- * precisa reter (o que foi escrito, o que rodar em seguida, o que deu errado)
6
- * é reimpresso aqui, no fluxo normal do terminal, onde continua rolável e
7
- * copiável depois que o comando termina.
4
+ * On leaving the full screen, everything the wizard drew disappears. What the
5
+ * user needs to keep (what was written, what to run next, what went wrong) is
6
+ * reprinted here, in the terminal's normal flow, where it stays scrollable and
7
+ * copyable after the command ends.
8
8
  */
9
9
  import { type LogRecord } from './log-sink.js';
10
10
  export type ReportStatus = 'success' | 'cancelled' | 'error';
@@ -17,11 +17,11 @@ export interface Report {
17
17
  readonly status: ReportStatus;
18
18
  /** Uma frase: o desfecho do comando. */
19
19
  readonly headline: string;
20
- /** Itens do que foi efetivamente feito. */
20
+ /** What was actually done. */
21
21
  readonly items?: readonly string[];
22
- /** Texto de apoio, exibido em tom secundário. */
22
+ /** Supporting text, shown in a secondary tone. */
23
23
  readonly notes?: readonly string[];
24
- /** Próximos passos sugeridos. */
24
+ /** Suggested next steps. */
25
25
  readonly commands?: readonly ReportCommand[];
26
26
  /** Mensagens retidas enquanto a tela estava montada. */
27
27
  readonly logs?: readonly LogRecord[];
@@ -1 +1 @@
1
- {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/ui/report.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAI/C,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;AAE7D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,wCAAwC;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,2CAA2C;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,iDAAiD;IACjD,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,iCAAiC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC7C,wDAAwD;IACxD,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;CACtC;AAQD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CA+BhD"}
1
+ {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/ui/report.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAI/C,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;AAE7D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,wCAAwC;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,8BAA8B;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,kDAAkD;IAClD,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,4BAA4B;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC7C,wDAAwD;IACxD,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;CACtC;AAQD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CA+BhD"}
package/ui/report.js CHANGED
@@ -1,10 +1,10 @@
1
1
  /**
2
- * Resumo pós-execução — o que permanece no histórico depois do alt-screen.
2
+ * The post-run summary — what stays in the history after the alt-screen.
3
3
  *
4
- * Ao sair da tela cheia, tudo que o wizard desenhou desaparece. O que o usuário
5
- * precisa reter (o que foi escrito, o que rodar em seguida, o que deu errado)
6
- * é reimpresso aqui, no fluxo normal do terminal, onde continua rolável e
7
- * copiável depois que o comando termina.
4
+ * On leaving the full screen, everything the wizard drew disappears. What the
5
+ * user needs to keep (what was written, what to run next, what went wrong) is
6
+ * reprinted here, in the terminal's normal flow, where it stays scrollable and
7
+ * copyable after the command ends.
8
8
  */
9
9
  import { flushRecords, writeLine } from './output.js';
10
10
  import { style } from './style.js';
@@ -37,8 +37,8 @@ export function printReport(report) {
37
37
  writeLine(` ${style.foreground(command)}${suffix}`);
38
38
  }
39
39
  }
40
- // Duas linhas, não uma: o prompt do shell volta logo abaixo e, colado, o
41
- // último comando sugerido parece parte dele.
40
+ // Two lines, not one: the shell prompt comes back right below and, pressed up
41
+ // against it, the last suggested command looks like part of it.
42
42
  writeLine();
43
43
  writeLine();
44
44
  }
package/ui/report.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/ui/report.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAwBnC,MAAM,QAAQ,GAAmD;IAC/D,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;IAC5D,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;IAC9D,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;CAC1D,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,MAAc;IACxC,SAAS,EAAE,CAAC;IACZ,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEpD,IAAI,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QACxB,SAAS,EAAE,CAAC;QACZ,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QACzB,SAAS,EAAE,CAAC;QACZ,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK;YAAE,SAAS,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QACzB,SAAS,EAAE,CAAC;QACZ,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK;YAAE,SAAS,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QAC5B,SAAS,EAAE,CAAC;QACZ,KAAK,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,SAAS,CAAC,KAAK,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,6CAA6C;IAC7C,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/ui/report.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAwBnC,MAAM,QAAQ,GAAmD;IAC/D,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;IAC5D,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;IAC9D,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;CAC1D,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,MAAc;IACxC,SAAS,EAAE,CAAC;IACZ,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEpD,IAAI,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QACxB,SAAS,EAAE,CAAC;QACZ,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QACzB,SAAS,EAAE,CAAC;QACZ,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK;YAAE,SAAS,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QACzB,SAAS,EAAE,CAAC;QACZ,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK;YAAE,SAAS,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QAC5B,SAAS,EAAE,CAAC;QACZ,KAAK,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,SAAS,CAAC,KAAK,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,gEAAgE;IAChE,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,CAAC;AACd,CAAC"}
package/ui/runner.d.ts CHANGED
@@ -1,26 +1,26 @@
1
1
  /**
2
- * Runner — a ponte entre o loop de frames da engine e o fluxo async da CLI.
2
+ * Runner — the bridge between the engine's frame loop and the CLI's async flow.
3
3
  *
4
- * Os comandos são sequenciais (`const config = await promptForConfig(...)`),
5
- * enquanto a engine é um laço de render dirigido por eventos. O runner concilia
6
- * os dois: monta a tela, entrega o controle ao `onKey`/`run` e resolve uma
7
- * Promise quando o fluxo chama `done()`.
4
+ * Commands are sequential (`const config = await promptForConfig(...)`), while
5
+ * the engine is an event-driven render loop. The runner reconciles the two: it
6
+ * mounts the screen, hands control to `onKey`/`run`, and resolves a Promise when
7
+ * the flow calls `done()`.
8
8
  *
9
- * Três invariantes valem para qualquer wizard:
10
- * 1. o terminal é restaurado em todos os caminhos de saída — inclusive erro,
11
- * SIGINT e crash do processo;
12
- * 2. sem TTY a tela nunca é montada: quem chamou recebe NonInteractiveError e
13
- * segue pelo caminho headless;
14
- * 3. o que o logger escreveria durante a montagem fica retido no sink e é
15
- * reemitido depois, para não rasgar o frame.
9
+ * Three invariants hold for every wizard:
10
+ * 1. the terminal is restored on every exit path — errors, SIGINT and a
11
+ * process crash included;
12
+ * 2. with no TTY the screen is never mounted: the caller gets a
13
+ * NonInteractiveError and follows the headless path;
14
+ * 3. whatever the logger would write during the mount is held in the sink and
15
+ * re-emitted afterwards, so the frame is not torn.
16
16
  */
17
17
  import { type KeyEvent, type Node, type Screen, type TerminalStreams } from './engine/index.js';
18
18
  import { type LogRecord } from './log-sink.js';
19
- /** Sinaliza que o comando precisa seguir sem UI interativa (CI, pipe, --yes). */
19
+ /** Signals that the command has to carry on without an interactive UI (CI, pipe, --yes). */
20
20
  export declare class NonInteractiveError extends Error {
21
21
  constructor(message?: string);
22
22
  }
23
- /** O usuário abandonou o wizard (Ctrl+C ou um passo que cancela o fluxo). */
23
+ /** The user abandoned the wizard (Ctrl+C, or a step that cancels the flow). */
24
24
  export declare class WizardCancelledError extends Error {
25
25
  constructor(message?: string);
26
26
  }
@@ -31,21 +31,21 @@ export interface WizardContext<T> {
31
31
  cancel(message?: string): void;
32
32
  /** Agenda um novo frame depois de alterar o estado. */
33
33
  refresh(): void;
34
- /** Acesso à tela para casos que precisam do scheduler ou das capacidades. */
34
+ /** Access to the screen, for cases that need the scheduler or the capabilities. */
35
35
  readonly screen: Screen;
36
36
  }
37
37
  export interface WizardOptions<T> {
38
- /** View pura reconstruída a cada frame. */
38
+ /** Pure view, rebuilt every frame. */
39
39
  view: () => Node;
40
- /** Teclas que a view trata por conta própria. */
40
+ /** Keys the view handles on its own. */
41
41
  onKey?: (event: KeyEvent, ctx: WizardContext<T>) => void;
42
42
  /**
43
- * Trabalho assíncrono executado com a tela viva — instalar pacotes, escrever
44
- * arquivos. A UI continua animando enquanto a promise não resolve.
43
+ * Async work run with the screen alive — installing packages, writing files.
44
+ * The UI keeps animating until the promise resolves.
45
45
  */
46
46
  run?: (ctx: WizardContext<T>) => Promise<void> | void;
47
47
  fps?: number;
48
- /** Como achar o terminal. Injetável para teste; o padrão resolve sozinho. */
48
+ /** How to find the terminal. Injectable for tests; the default resolves it itself. */
49
49
  resolveStreams?: () => TerminalStreams | null;
50
50
  }
51
51
  export interface WizardResult<T> {
@@ -54,12 +54,12 @@ export interface WizardResult<T> {
54
54
  readonly logs: readonly LogRecord[];
55
55
  }
56
56
  /**
57
- * true quando existe um terminal onde montar a tela.
57
+ * True when there is a terminal to mount the screen on.
58
58
  *
59
- * Não basta olhar `process.stdout.isTTY && process.stdin.isTTY`: era isso que
60
- * fazia `npx zard-cli init` sair em modo texto no macOS e no Linux, onde o npm
61
- * executa o binário por um shell e entrega o stdin como pipe. O terminal de
62
- * controle continua alcançável, e é ele que decide.
59
+ * Looking at `process.stdout.isTTY && process.stdin.isTTY` is not enough: that
60
+ * is what made `npx zard-cli init` fall back to text mode on macOS and Linux,
61
+ * where npm runs the binary through a shell and hands over stdin as a pipe. The
62
+ * controlling terminal is still reachable, and it is what decides.
63
63
  */
64
64
  export declare function isInteractive(resolve?: () => TerminalStreams | null): boolean;
65
65
  export declare function runWizard<T>(options: WizardOptions<T>): Promise<WizardResult<T>>;
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/ui/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAIL,KAAK,QAAQ,EACb,KAAK,IAAI,EACT,KAAK,MAAM,EACX,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAA4B,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAIzE,iFAAiF;AACjF,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,SAAsC;CAI1D;AAED,6EAA6E;AAC7E,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,SAAyB;CAI7C;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,wDAAwD;IACxD,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IACrB,yDAAyD;IACzD,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,uDAAuD;IACvD,OAAO,IAAI,IAAI,CAAC;IAChB,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,2CAA2C;IAC3C,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,iDAAiD;IACjD,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACzD;;;OAGG;IACH,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACtD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,cAAc,CAAC,EAAE,MAAM,eAAe,GAAG,IAAI,CAAC;CAC/C;AAED,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,oEAAoE;IACpE,QAAQ,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,CAAC;CACrC;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,MAAM,eAAe,GAAG,IAA6B,GAAG,OAAO,CAMrG;AAED,wBAAsB,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAwFtF"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/ui/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAIL,KAAK,QAAQ,EACb,KAAK,IAAI,EACT,KAAK,MAAM,EACX,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAA4B,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAIzE,4FAA4F;AAC5F,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,SAAsC;CAI1D;AAED,+EAA+E;AAC/E,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,SAAyB;CAI7C;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,wDAAwD;IACxD,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IACrB,yDAAyD;IACzD,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,uDAAuD;IACvD,OAAO,IAAI,IAAI,CAAC;IAChB,mFAAmF;IACnF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,sCAAsC;IACtC,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,wCAAwC;IACxC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACzD;;;OAGG;IACH,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACtD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sFAAsF;IACtF,cAAc,CAAC,EAAE,MAAM,eAAe,GAAG,IAAI,CAAC;CAC/C;AAED,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,oEAAoE;IACpE,QAAQ,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,CAAC;CACrC;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,MAAM,eAAe,GAAG,IAA6B,GAAG,OAAO,CAMrG;AAED,wBAAsB,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAwFtF"}