@oktis-works/cms 0.2.0 → 0.3.0

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 (85) hide show
  1. package/dist/assets.d.ts +23 -6
  2. package/dist/assets.d.ts.map +1 -1
  3. package/dist/assets.js +262 -87
  4. package/dist/assets.js.map +1 -1
  5. package/dist/bluegreen.d.ts.map +1 -1
  6. package/dist/bluegreen.js +75 -52
  7. package/dist/bluegreen.js.map +1 -1
  8. package/dist/commands.d.ts.map +1 -1
  9. package/dist/commands.js +269 -131
  10. package/dist/commands.js.map +1 -1
  11. package/dist/config-wizard.js +34 -36
  12. package/dist/config-wizard.js.map +1 -1
  13. package/dist/deploy-target.d.ts +20 -0
  14. package/dist/deploy-target.d.ts.map +1 -0
  15. package/dist/deploy-target.js +90 -0
  16. package/dist/deploy-target.js.map +1 -0
  17. package/dist/deploy.d.ts +20 -0
  18. package/dist/deploy.d.ts.map +1 -0
  19. package/dist/deploy.js +154 -0
  20. package/dist/deploy.js.map +1 -0
  21. package/dist/docker.d.ts +16 -0
  22. package/dist/docker.d.ts.map +1 -1
  23. package/dist/docker.js +25 -0
  24. package/dist/docker.js.map +1 -1
  25. package/dist/docs-updater.d.ts +10 -0
  26. package/dist/docs-updater.d.ts.map +1 -0
  27. package/dist/docs-updater.js +45 -0
  28. package/dist/docs-updater.js.map +1 -0
  29. package/dist/doctor.js +12 -12
  30. package/dist/doctor.js.map +1 -1
  31. package/dist/env-file.js +1 -1
  32. package/dist/env-file.js.map +1 -1
  33. package/dist/env-schema.d.ts.map +1 -1
  34. package/dist/env-schema.js +64 -64
  35. package/dist/env-schema.js.map +1 -1
  36. package/dist/extension-scaffold.js +5 -5
  37. package/dist/extension-scaffold.js.map +1 -1
  38. package/dist/guards.js +8 -8
  39. package/dist/guards.js.map +1 -1
  40. package/dist/history.d.ts +48 -0
  41. package/dist/history.d.ts.map +1 -0
  42. package/dist/history.js +104 -0
  43. package/dist/history.js.map +1 -0
  44. package/dist/installer.js +9 -9
  45. package/dist/installer.js.map +1 -1
  46. package/dist/npm-registry.js +1 -1
  47. package/dist/npm-registry.js.map +1 -1
  48. package/dist/pm2.d.ts +18 -0
  49. package/dist/pm2.d.ts.map +1 -0
  50. package/dist/pm2.js +179 -0
  51. package/dist/pm2.js.map +1 -0
  52. package/dist/project-config.js +1 -1
  53. package/dist/project-config.js.map +1 -1
  54. package/dist/prompt.d.ts +27 -4
  55. package/dist/prompt.d.ts.map +1 -1
  56. package/dist/prompt.js +254 -29
  57. package/dist/prompt.js.map +1 -1
  58. package/dist/redeploy.d.ts +6 -1
  59. package/dist/redeploy.d.ts.map +1 -1
  60. package/dist/redeploy.js +137 -74
  61. package/dist/redeploy.js.map +1 -1
  62. package/dist/rollback.d.ts +15 -0
  63. package/dist/rollback.d.ts.map +1 -0
  64. package/dist/rollback.js +170 -0
  65. package/dist/rollback.js.map +1 -0
  66. package/dist/scaffold-docs.d.ts +5 -0
  67. package/dist/scaffold-docs.d.ts.map +1 -1
  68. package/dist/scaffold-docs.js +61 -19
  69. package/dist/scaffold-docs.js.map +1 -1
  70. package/dist/scaffold.d.ts +3 -1
  71. package/dist/scaffold.d.ts.map +1 -1
  72. package/dist/scaffold.js +25 -16
  73. package/dist/scaffold.js.map +1 -1
  74. package/dist/simple.d.ts +31 -0
  75. package/dist/simple.d.ts.map +1 -0
  76. package/dist/simple.js +200 -0
  77. package/dist/simple.js.map +1 -0
  78. package/dist/start.js +1 -1
  79. package/dist/theme-build.js +3 -3
  80. package/dist/theme-build.js.map +1 -1
  81. package/dist/update.d.ts +23 -15
  82. package/dist/update.d.ts.map +1 -1
  83. package/dist/update.js +211 -66
  84. package/dist/update.js.map +1 -1
  85. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"guards.js","sourceRoot":"","sources":["../src/guards.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guards.js","sourceRoot":"","sources":["../src/guards.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ export type HistoryMode = 'download' | 'deploy' | 'pm2';
2
+ export interface HistoryEntry {
3
+ id: number;
4
+ /** Modo da operação. */
5
+ mode: HistoryMode;
6
+ /** Timestamp ISO da operação. */
7
+ at: string;
8
+ /** Versão da CLI que executou. */
9
+ cliVersion: string;
10
+ /** Pacotes atualizados (apenas modo download/deploy). */
11
+ packages?: Array<{
12
+ name: string;
13
+ from: string;
14
+ to: string;
15
+ }>;
16
+ /** Lane ativa após deploy (apenas modo deploy). */
17
+ lane?: 'blue' | 'green';
18
+ /** Lane anterior (para rollback de lane). */
19
+ previousLane?: 'blue' | 'green' | null;
20
+ /** Mensagem descritiva. */
21
+ message: string;
22
+ /** Snapshot do package.json (apenas modo download). */
23
+ packageJsonSnapshot?: string;
24
+ }
25
+ export interface HistoryState {
26
+ entries: HistoryEntry[];
27
+ /** Próximo ID incremental. */
28
+ nextId: number;
29
+ }
30
+ /** Caminho absoluto do arquivo de histórico. */
31
+ export declare function historyPath(cwd: string): string;
32
+ /** Lê o estado do histórico. */
33
+ export declare function readHistory(cwd: string): HistoryState;
34
+ /** Grava o estado do histórico (atômico via writeFileSync). */
35
+ export declare function writeHistory(cwd: string, state: HistoryState): void;
36
+ /** Adiciona uma entrada ao histórico e retorna a entrada criada. */
37
+ export declare function addHistoryEntry(cwd: string, entry: Omit<HistoryEntry, 'id'>, cliVersion: string): HistoryEntry;
38
+ /** Lista entradas (mais recentes primeiro). */
39
+ export declare function listHistory(cwd: string): HistoryEntry[];
40
+ /** Busca entrada por ID. */
41
+ export declare function getHistoryEntry(cwd: string, id: number): HistoryEntry | null;
42
+ /** Remove entrada por ID (útil para limpar). */
43
+ export declare function removeHistoryEntry(cwd: string, id: number): boolean;
44
+ /** Limpa todo o histórico. */
45
+ export declare function clearHistory(cwd: string): void;
46
+ /** Formata uma entrada para exibição no terminal. */
47
+ export declare function formatHistoryEntry(entry: HistoryEntry): string;
48
+ //# sourceMappingURL=history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"AAeA,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,CAAC;AAExD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,wBAAwB;IACxB,IAAI,EAAE,WAAW,CAAC;IAClB,iCAAiC;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,kCAAkC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7D,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IACvC,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;CAChB;AAKD,gDAAgD;AAChD,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,gCAAgC;AAChC,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAYrD;AAED,+DAA+D;AAC/D,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CAInE;AAED,oEAAoE;AACpE,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,EAC/B,UAAU,EAAE,MAAM,GACjB,YAAY,CAYd;AAED,+CAA+C;AAC/C,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,EAAE,CAGvD;AAED,4BAA4B;AAC5B,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAG5E;AAED,gDAAgD;AAChD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAOnE;AAED,8BAA8B;AAC9B,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAE9C;AAED,qDAAqD;AACrD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAuB9D"}
@@ -0,0 +1,104 @@
1
+ // @oktis-works/cms - Sistema de histórico e rollback unificado
2
+ //
3
+ // O estado persiste em `.deploy/update-history.json` (para updates de pacotes)
4
+ // e em `.deploy/state.json` (para deploys blue/green).
5
+ // Ambos expõem a mesma API: lista, detalhe, rollback para índice.
6
+ //
7
+ // Entradas de histórico cobrem:
8
+ // - update:download (pacotes @oktis-works/*)
9
+ // - update:deploy (blue/green + pacotes)
10
+ // - deploy:pm2 (ecosystem pm2)
11
+ // - deploy:docker (alias para update:deploy)
12
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
13
+ import { join, dirname } from 'node:path';
14
+ const HISTORY_DIR = '.deploy';
15
+ const HISTORY_FILE = 'update-history.json';
16
+ /** Caminho absoluto do arquivo de histórico. */
17
+ export function historyPath(cwd) {
18
+ return join(cwd, HISTORY_DIR, HISTORY_FILE);
19
+ }
20
+ /** Lê o estado do histórico. */
21
+ export function readHistory(cwd) {
22
+ const path = historyPath(cwd);
23
+ if (!existsSync(path))
24
+ return { entries: [], nextId: 1 };
25
+ try {
26
+ const raw = readFileSync(path, 'utf-8');
27
+ const parsed = JSON.parse(raw);
28
+ if (!Array.isArray(parsed.entries))
29
+ return { entries: [], nextId: 1 };
30
+ if (typeof parsed.nextId !== 'number')
31
+ parsed.nextId = parsed.entries.length + 1;
32
+ return parsed;
33
+ }
34
+ catch {
35
+ return { entries: [], nextId: 1 };
36
+ }
37
+ }
38
+ /** Grava o estado do histórico (atômico via writeFileSync). */
39
+ export function writeHistory(cwd, state) {
40
+ const path = historyPath(cwd);
41
+ mkdirSync(dirname(path), { recursive: true });
42
+ writeFileSync(path, `${JSON.stringify(state, null, 2)}\n`, 'utf-8');
43
+ }
44
+ /** Adiciona uma entrada ao histórico e retorna a entrada criada. */
45
+ export function addHistoryEntry(cwd, entry, cliVersion) {
46
+ const state = readHistory(cwd);
47
+ const newEntry = {
48
+ ...entry,
49
+ id: state.nextId++,
50
+ cliVersion,
51
+ };
52
+ state.entries.push(newEntry);
53
+ // Mantém apenas os últimos 50 (diagnóstico, não log infinito)
54
+ if (state.entries.length > 50)
55
+ state.entries = state.entries.slice(-50);
56
+ writeHistory(cwd, state);
57
+ return newEntry;
58
+ }
59
+ /** Lista entradas (mais recentes primeiro). */
60
+ export function listHistory(cwd) {
61
+ const state = readHistory(cwd);
62
+ return [...state.entries].reverse();
63
+ }
64
+ /** Busca entrada por ID. */
65
+ export function getHistoryEntry(cwd, id) {
66
+ const state = readHistory(cwd);
67
+ return state.entries.find((e) => e.id === id) ?? null;
68
+ }
69
+ /** Remove entrada por ID (útil para limpar). */
70
+ export function removeHistoryEntry(cwd, id) {
71
+ const state = readHistory(cwd);
72
+ const idx = state.entries.findIndex((e) => e.id === id);
73
+ if (idx === -1)
74
+ return false;
75
+ state.entries.splice(idx, 1);
76
+ writeHistory(cwd, state);
77
+ return true;
78
+ }
79
+ /** Limpa todo o histórico. */
80
+ export function clearHistory(cwd) {
81
+ writeHistory(cwd, { entries: [], nextId: 1 });
82
+ }
83
+ /** Formata uma entrada para exibição no terminal. */
84
+ export function formatHistoryEntry(entry) {
85
+ const modeLabel = {
86
+ download: 'download',
87
+ deploy: 'deploy (blue/green)',
88
+ pm2: 'deploy (pm2)',
89
+ }[entry.mode];
90
+ const lines = [
91
+ ` ${entry.id}. [${modeLabel}] ${entry.at}`,
92
+ ` CLI: ${entry.cliVersion} · ${entry.message}`,
93
+ ];
94
+ if (entry.packages && entry.packages.length > 0) {
95
+ for (const p of entry.packages) {
96
+ lines.push(` @oktis-works/${p.name}: ${p.from} → ${p.to}`);
97
+ }
98
+ }
99
+ if (entry.lane) {
100
+ lines.push(` lane: ${entry.lane}${entry.previousLane ? ` (was ${entry.previousLane})` : ''}`);
101
+ }
102
+ return lines.join('\n');
103
+ }
104
+ //# sourceMappingURL=history.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"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"}
package/dist/installer.js CHANGED
@@ -22,7 +22,7 @@ export async function installExtension(kind, sourcePath, options = {}) {
22
22
  const sourceManifest = join(source, manifestFile);
23
23
  const manifest = readManifest(sourceManifest);
24
24
  if (!manifest) {
25
- throw new Error(`Manifesto não encontrado ou inválido: ${sourceManifest} (esperado ${manifestFile})`);
25
+ throw new Error(`Manifest not found or invalid: ${sourceManifest} (expected ${manifestFile})`);
26
26
  }
27
27
  let name = basename(source);
28
28
  if (typeof manifest['name'] === 'string' && manifest['name'].length > 0) {
@@ -32,21 +32,21 @@ export async function installExtension(kind, sourcePath, options = {}) {
32
32
  name.startsWith('/') ||
33
33
  name.includes('\\') ||
34
34
  /[\0\r\n]/.test(name)) {
35
- throw new Error(`Nome de extensão inválido: "${name}"`);
35
+ throw new Error(`Invalid extension name: "${name}"`);
36
36
  }
37
37
  // BUSI-022 / RULE-semver-compatibility: manifest completo e compatível é pré-requisito
38
38
  assertCompatible(kind, { ...manifest, name, type: kind }, options.cmsVersion ?? CMS_VERSION);
39
39
  const baseDir = resolve(cwd, kind === 'plugin' ? config.pluginsDir : config.themesDir);
40
40
  const targetDir = resolve(baseDir, name);
41
41
  if (!targetDir.startsWith(baseDir + '/') || targetDir === baseDir) {
42
- throw new Error(`Caminho de instalação escapa do diretório de ${kind}s: ${name}`);
42
+ throw new Error(`Install path escapes the ${kind}s directory: ${name}`);
43
43
  }
44
44
  if (existsSync(targetDir)) {
45
- throw new Error(`${kind === 'plugin' ? 'Plugin' : 'Theme'} "${name}" já existe em ${targetDir}`);
45
+ throw new Error(`${kind === 'plugin' ? 'Plugin' : 'Theme'} "${name}" already exists at ${targetDir}`);
46
46
  }
47
47
  cpSync(source, targetDir, { recursive: true });
48
48
  markInstalled(kind, name, cwd);
49
- console.log(`${kind === 'plugin' ? 'Plugin' : 'Theme'} "${name}" instalado em ${targetDir}`);
49
+ console.log(`${kind === 'plugin' ? 'Plugin' : 'Theme'} "${name}" installed at ${targetDir}`);
50
50
  return { name, targetDir };
51
51
  }
52
52
  export function listExtensions(kind, options = {}) {
@@ -54,21 +54,21 @@ export function listExtensions(kind, options = {}) {
54
54
  const config = loadProjectConfig(cwd);
55
55
  const dir = join(cwd, kind === 'plugin' ? config.pluginsDir : config.themesDir);
56
56
  if (!existsSync(dir)) {
57
- console.log(`Nenhum diretório de ${kind}s: ${dir}`);
57
+ console.log(`No ${kind}s directory: ${dir}`);
58
58
  return;
59
59
  }
60
60
  const entries = readdirSync(dir, { withFileTypes: true }).filter((entry) => entry.isDirectory());
61
61
  if (entries.length === 0) {
62
- console.log(`Nenhum ${kind} instalado.`);
62
+ console.log(`No ${kind} installed.`);
63
63
  return;
64
64
  }
65
65
  const state = loadExtensionsState(cwd);
66
66
  const bucket = kind === 'plugin' ? state.plugins : state.themes;
67
- console.log(`${kind === 'plugin' ? 'Plugins' : 'Themes'} instalados:`);
67
+ console.log(`${kind === 'plugin' ? 'Installed plugins' : 'Installed themes'}:`);
68
68
  for (const entry of entries) {
69
69
  const stateEntry = bucket[entry.name];
70
70
  const enabled = stateEntry?.enabled ?? true;
71
- console.log(` - ${entry.name} [${enabled ? 'habilitado' : 'desabilitado'}]`);
71
+ console.log(` - ${entry.name} [${enabled ? 'enabled' : 'disabled'}]`);
72
72
  }
73
73
  }
74
74
  //# sourceMappingURL=installer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"installer.js","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"installer.js","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ async function fetchJson(url, timeoutMs = 10_000) {
6
6
  signal: AbortSignal.timeout(timeoutMs),
7
7
  });
8
8
  if (!response.ok) {
9
- throw new Error(`npm registry respondeu ${response.status} para ${url}`);
9
+ throw new Error(`npm registry responded with ${response.status} for ${url}`);
10
10
  }
11
11
  return (await response.json());
12
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"npm-registry.js","sourceRoot":"","sources":["../src/npm-registry.ts"],"names":[],"mappings":"AAAA,mEAAmE;AAEnE,MAAM,QAAQ,GAAG,4BAA4B,CAAC;AAS9C,KAAK,UAAU,SAAS,CAAI,GAAW,EAAE,SAAS,GAAG,MAAM;IACzD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;QACvC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;KACvC,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,CAAC,MAAM,SAAS,GAAG,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAM,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAwB,EACxB,KAAK,GAAG,EAAE;IAEV,MAAM,OAAO,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC;IACnE,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,aAAa,OAAO,EAAE,CAAC,CAAC,CAAC,YAAY,OAAO,EAAE,CAAC;IAC5E,MAAM,GAAG,GAAG,GAAG,QAAQ,qBAAqB,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;IAE/E,MAAM,OAAO,GAAG,MAAM,SAAS,CAE5B,GAAG,CAAC,CAAC;IAER,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;QAChD,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE;QAClC,KAAK,EAAE,GAAG,CAAC,KAAK;KACjB,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,WAAmB;IACxD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,SAAS,CAC7B,GAAG,QAAQ,IAAI,kBAAkB,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CACrE,CAAC;QACF,OAAO,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,IAAI,IAAI,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"npm-registry.js","sourceRoot":"","sources":["../src/npm-registry.ts"],"names":[],"mappings":"AAAA,mEAAmE;AAEnE,MAAM,QAAQ,GAAG,4BAA4B,CAAC;AAS9C,KAAK,UAAU,SAAS,CAAI,GAAW,EAAE,SAAS,GAAG,MAAM;IACzD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;QACvC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;KACvC,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,+BAA+B,QAAQ,CAAC,MAAM,QAAQ,GAAG,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAM,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAwB,EACxB,KAAK,GAAG,EAAE;IAEV,MAAM,OAAO,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC;IACnE,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,aAAa,OAAO,EAAE,CAAC,CAAC,CAAC,YAAY,OAAO,EAAE,CAAC;IAC5E,MAAM,GAAG,GAAG,GAAG,QAAQ,qBAAqB,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;IAE/E,MAAM,OAAO,GAAG,MAAM,SAAS,CAE5B,GAAG,CAAC,CAAC;IAER,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;QAChD,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE;QAClC,KAAK,EAAE,GAAG,CAAC,KAAK;KACjB,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,WAAmB;IACxD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,SAAS,CAC7B,GAAG,QAAQ,IAAI,kBAAkB,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CACrE,CAAC;QACF,OAAO,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,IAAI,IAAI,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
package/dist/pm2.d.ts ADDED
@@ -0,0 +1,18 @@
1
+ import { type Runner } from './docker.js';
2
+ import type { Prompt } from './prompt.js';
3
+ import type { OutdatedEntry } from './update.js';
4
+ export interface Pm2DeployOptions {
5
+ cwd?: string;
6
+ prompt: Prompt;
7
+ runner?: Runner;
8
+ /** Packages reported as outdated by the caller (drives install + history). */
9
+ outdated?: OutdatedEntry[];
10
+ /** Update packages on the host as part of this deploy (`--install`). */
11
+ install?: boolean;
12
+ /** Run `db:migrate` before starting (default: true). */
13
+ migrate?: boolean;
14
+ /** `--yes`: no prompts at all. */
15
+ yes?: boolean;
16
+ }
17
+ export declare function deployPm2(opts: Pm2DeployOptions): Promise<number>;
18
+ //# sourceMappingURL=pm2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pm2.d.ts","sourceRoot":"","sources":["../src/pm2.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAmDjD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,wEAAwE;IACxE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kCAAkC;IAClC,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AA2BD,wBAAsB,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAiGvE"}
package/dist/pm2.js ADDED
@@ -0,0 +1,179 @@
1
+ // @oktis-works/cms - PM2 deploy target (shared by deploy / update / redeploy)
2
+ //
3
+ // PM2 runs the four apps as host processes — no Docker image, no lanes. The
4
+ // order is the same contract as every other target:
5
+ //
6
+ // 1. pm2 binary present (installs it on demand)
7
+ // 2. ecosystem.config.js exists (generated once, never overwritten)
8
+ // 3. packages updated on the host when asked (`--install`)
9
+ // 4. db:migrate on the host — before anything is (re)started
10
+ // 5. `pm2 startOrReload` — starts a first deploy and reloads the rest
11
+ // 6. history entry + project docs refresh
12
+ //
13
+ // `startOrReload` instead of `reload all`: `reload` fails when the processes
14
+ // are not registered yet, which is exactly the first-deploy case.
15
+ import { existsSync, readFileSync, writeFileSync } from 'node:fs';
16
+ import { join } from 'node:path';
17
+ import { migrateInvocation } from './bluegreen.js';
18
+ import { defaultRunner } from './docker.js';
19
+ const PM2_ECOSYSTEM_TEMPLATE = `// ecosystem.config.js — generated by okcms deploy (PM2)
20
+ // Edit as needed and run: pm2 reload all
21
+
22
+ module.exports = {
23
+ apps: [
24
+ {
25
+ name: 'okcms-api',
26
+ script: 'bunx',
27
+ args: '@oktis-works/api',
28
+ env: { NODE_ENV: 'production', PORT: 3000 },
29
+ instances: 1,
30
+ autorestart: true,
31
+ watch: false,
32
+ max_memory_restart: '500M',
33
+ },
34
+ {
35
+ name: 'okcms-admin',
36
+ script: 'bunx',
37
+ args: '@oktis-works/admin',
38
+ env: { NODE_ENV: 'production', PORT: 3011 },
39
+ instances: 1,
40
+ autorestart: true,
41
+ watch: false,
42
+ max_memory_restart: '500M',
43
+ },
44
+ {
45
+ name: 'okcms-web',
46
+ script: 'bunx',
47
+ args: '@oktis-works/web',
48
+ env: { NODE_ENV: 'production', WEB_PORT: 3001 },
49
+ instances: 1,
50
+ autorestart: true,
51
+ watch: false,
52
+ max_memory_restart: '500M',
53
+ },
54
+ {
55
+ name: 'okcms-worker',
56
+ script: 'bunx',
57
+ args: '@oktis-works/worker',
58
+ env: { NODE_ENV: 'production', WORKER_MODE: 'pm2' },
59
+ instances: 1,
60
+ autorestart: true,
61
+ watch: false,
62
+ max_memory_restart: '500M',
63
+ },
64
+ ],
65
+ };
66
+ `;
67
+ /** Is PM2 installed globally? */
68
+ async function checkPm2Installed(runner) {
69
+ return runner('pm2', ['--version'], { timeoutMs: 10_000 }).ok;
70
+ }
71
+ /** Install PM2 globally via bun, falling back to npm. */
72
+ async function installPm2(runner) {
73
+ if (runner('bun', ['add', '-g', 'pm2'], { inherit: true, timeoutMs: 120_000 }).ok)
74
+ return true;
75
+ return runner('npm', ['install', '-g', 'pm2'], { inherit: true, timeoutMs: 120_000 }).ok;
76
+ }
77
+ /** Writes ecosystem.config.js when missing (never overwrites an edited file). */
78
+ function ensureEcosystemConfig(cwd) {
79
+ const path = join(cwd, 'ecosystem.config.js');
80
+ if (existsSync(path))
81
+ return false;
82
+ writeFileSync(path, PM2_ECOSYSTEM_TEMPLATE, 'utf-8');
83
+ return true;
84
+ }
85
+ /** Snapshot of package.json so a rollback can restore previous versions. */
86
+ function snapshotPackageJson(cwd) {
87
+ const path = join(cwd, 'package.json');
88
+ return existsSync(path) ? readFileSync(path, 'utf-8') : undefined;
89
+ }
90
+ export async function deployPm2(opts) {
91
+ const cwd = opts.cwd ?? process.cwd();
92
+ const prompt = opts.prompt;
93
+ const runner = opts.runner ?? defaultRunner;
94
+ const outdated = opts.outdated ?? [];
95
+ // ---- 1. pm2 binary ------------------------------------------------------
96
+ if (!(await checkPm2Installed(runner))) {
97
+ prompt.warn('PM2 not found.');
98
+ if (opts.yes !== true) {
99
+ const installIt = await prompt.confirm('Install PM2 globally now? (bun add -g pm2)', {
100
+ defaultValue: true,
101
+ });
102
+ if (!installIt) {
103
+ prompt.error('PM2 is required for this target. Install it manually: bun add -g pm2');
104
+ return 1;
105
+ }
106
+ }
107
+ if (!(await installPm2(runner))) {
108
+ prompt.error('Failed to install PM2.');
109
+ return 1;
110
+ }
111
+ prompt.success('PM2 installed globally.');
112
+ }
113
+ // ---- 2. ecosystem.config.js --------------------------------------------
114
+ if (ensureEcosystemConfig(cwd))
115
+ prompt.info('ecosystem.config.js created (defaults).');
116
+ const snapshot = snapshotPackageJson(cwd);
117
+ // ---- 3. packages --------------------------------------------------------
118
+ if (opts.install) {
119
+ if (outdated.length === 0) {
120
+ prompt.success('Packages are up to date.');
121
+ }
122
+ else {
123
+ prompt.write('\nUpdating packages...\n');
124
+ const specs = outdated.map((entry) => `${entry.pkg}@latest`);
125
+ let ok = runner('bun', ['add', ...specs], { cwd, inherit: true, timeoutMs: 600_000 }).ok;
126
+ if (!ok) {
127
+ ok = runner('npm', ['install', ...specs], { cwd, inherit: true, timeoutMs: 600_000 }).ok;
128
+ }
129
+ if (!ok) {
130
+ prompt.error('Failed to update packages.');
131
+ return 1;
132
+ }
133
+ prompt.success(`${outdated.length} package(s) updated.`);
134
+ }
135
+ }
136
+ else if (outdated.length > 0) {
137
+ prompt.info(`Run with --install to update ${outdated.length} package(s) first.`);
138
+ }
139
+ // ---- 4. migrations ------------------------------------------------------
140
+ if (opts.migrate !== false) {
141
+ const { command, args } = migrateInvocation();
142
+ prompt.write('\nRunning migrations on the host...\n');
143
+ const result = runner(command, args, { cwd, inherit: true, timeoutMs: 600_000 });
144
+ if (!result.ok) {
145
+ prompt.error('Migrations failed — deploy aborted.');
146
+ return 1;
147
+ }
148
+ prompt.success('Migrations applied.');
149
+ }
150
+ // ---- 5. start or reload -------------------------------------------------
151
+ prompt.write('\nStarting PM2 processes...\n');
152
+ const reload = runner('pm2', ['startOrReload', 'ecosystem.config.js', '--update-env'], {
153
+ cwd,
154
+ inherit: true,
155
+ timeoutMs: 60_000,
156
+ });
157
+ if (!reload.ok) {
158
+ prompt.error('pm2 startOrReload failed.');
159
+ return 1;
160
+ }
161
+ prompt.success('PM2 deploy done. Processes: okcms-api, okcms-admin, okcms-web, okcms-worker.');
162
+ // ---- 6. history + docs --------------------------------------------------
163
+ const pkg = await import('../package.json', { with: { type: 'json' } });
164
+ const { addHistoryEntry } = await import('./history.js');
165
+ addHistoryEntry(cwd, {
166
+ mode: 'pm2',
167
+ at: new Date().toISOString(),
168
+ cliVersion: pkg.default.version,
169
+ packages: outdated.map((entry) => ({ name: entry.name, from: entry.current, to: entry.latest })),
170
+ message: `PM2 deploy — ${outdated.length} package(s) updated`,
171
+ packageJsonSnapshot: snapshot,
172
+ }, pkg.default.version);
173
+ const { updateProjectDocs } = await import('./docs-updater.js');
174
+ const updated = updateProjectDocs(cwd);
175
+ if (updated.length > 0)
176
+ prompt.success(`Docs updated: ${updated.join(', ')}`);
177
+ return 0;
178
+ }
179
+ //# sourceMappingURL=pm2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pm2.js","sourceRoot":"","sources":["../src/pm2.ts"],"names":[],"mappings":"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"}
@@ -35,7 +35,7 @@ export function loadProjectConfig(cwd = process.cwd()) {
35
35
  };
36
36
  }
37
37
  catch (error) {
38
- throw new Error(`Config inválida em ${configPath}: ${error instanceof Error ? error.message : error}`);
38
+ throw new Error(`Invalid config at ${configPath}: ${error instanceof Error ? error.message : error}`);
39
39
  }
40
40
  }
41
41
  //# sourceMappingURL=project-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-config.js","sourceRoot":"","sources":["../src/project-config.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAElD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAoBjC,MAAM,CAAC,MAAM,uBAAuB,GAAG,mBAAmB,CAAC;AAE3D,MAAM,UAAU,oBAAoB,CAAC,IAAI,GAAG,eAAe;IACzD,OAAO;QACL,IAAI;QACJ,OAAO,EAAE;YACP,MAAM,EAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAwC,IAAI,OAAO;YACxF,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,eAAe;SAChE;QACD,SAAS,EAAE,QAAQ;QACnB,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE;QAC9C,KAAK,EAAE;YACL,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;YACxC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;YAChD,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;SAC7C;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IACnD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;IAEtD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,oBAAoB,EAAE,CAAC;IAChC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAA2B,CAAC;QACpF,MAAM,IAAI,GAAG,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE5C,OAAO;YACL,GAAG,IAAI;YACP,GAAG,GAAG;YACN,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE;YACpD,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE;SAC/C,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,UAAU,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACzG,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"project-config.js","sourceRoot":"","sources":["../src/project-config.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAElD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAoBjC,MAAM,CAAC,MAAM,uBAAuB,GAAG,mBAAmB,CAAC;AAE3D,MAAM,UAAU,oBAAoB,CAAC,IAAI,GAAG,eAAe;IACzD,OAAO;QACL,IAAI;QACJ,OAAO,EAAE;YACP,MAAM,EAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAwC,IAAI,OAAO;YACxF,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,eAAe;SAChE;QACD,SAAS,EAAE,QAAQ;QACnB,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE;QAC9C,KAAK,EAAE;YACL,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;YACxC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;YAChD,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;SAC7C;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IACnD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;IAEtD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,oBAAoB,EAAE,CAAC;IAChC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAA2B,CAAC;QACpF,MAAM,IAAI,GAAG,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE5C,OAAO;YACL,GAAG,IAAI;YACP,GAAG,GAAG;YACN,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE;YACpD,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE;SAC/C,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,qBAAqB,UAAU,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACxG,CAAC;AACH,CAAC"}
package/dist/prompt.d.ts CHANGED
@@ -16,7 +16,7 @@ export declare const style: {
16
16
  cyan: (text: string) => string;
17
17
  gray: (text: string) => string;
18
18
  };
19
- /** Símbolos canônicos — mesmos glifos já usados pelos comandos da CLI. */
19
+ /** Canonical glyphs — the same ones every command prints. */
20
20
  export declare const symbol: {
21
21
  readonly ask: "?";
22
22
  readonly ok: "✓";
@@ -24,7 +24,18 @@ export declare const symbol: {
24
24
  readonly arrow: "→";
25
25
  readonly bullet: "•";
26
26
  readonly warn: "⚠";
27
+ readonly cursor: "❯";
27
28
  };
29
+ /** Named keys the menus understand. Printable characters are their own token. */
30
+ export type KeyToken = string;
31
+ /**
32
+ * Turns one terminal chunk into key tokens.
33
+ *
34
+ * Arrow keys arrive as a single chunk (`ESC [ A`), so the CSI introducer is
35
+ * matched first and the rest of the sequence swallowed; a lone ESC becomes
36
+ * `escape`. Everything else is the character itself.
37
+ */
38
+ export declare function decodeKeys(chunk: string): KeyToken[];
28
39
  export interface SelectChoice<T> {
29
40
  value: T;
30
41
  label: string;
@@ -58,14 +69,26 @@ export declare class Prompt {
58
69
  warn(text: string): void;
59
70
  error(text: string): void;
60
71
  /**
61
- * Menu numerado. Em modo não-interativo devolve `defaultValue`; sem default
62
- * lança erro — assim um CI nunca aciona um deploy por acidente.
72
+ * Arrow-key menu (↑/↓ + Enter). Falls back to a numbered menu when the
73
+ * terminal cannot do raw mode, and to `defaultValue` when there is no TTY at
74
+ * all — so a CI never triggers a deploy by accident.
63
75
  */
64
76
  select<T>(title: string, choices: Array<SelectChoice<T>>, opts?: SelectOptions<T>): Promise<T>;
65
- /** Confirmação Y/n. Não-interativo → `defaultValue`. */
77
+ /**
78
+ * Yes/No confirmation. Arrow keys + Enter on a TTY, `y`/`n` shortcuts too;
79
+ * without a TTY it returns `defaultValue`.
80
+ */
66
81
  confirm(title: string, opts?: {
67
82
  defaultValue?: boolean;
68
83
  }): Promise<boolean>;
84
+ /**
85
+ * Shared raw-mode navigator behind `select` and `confirm`.
86
+ *
87
+ * Every repaint clears the previous block (`ESC[<n>A` + `ESC[0J`), so the
88
+ * menu never leaves scrollback debris. `inline` lays the options on one line
89
+ * (confirm), `aliases` maps single keys straight to an option.
90
+ */
91
+ private navigate;
69
92
  /** Texto livre com validação, repetindo até aceitar. */
70
93
  ask(title: string, opts?: InputOptions): Promise<string>;
71
94
  /** Segredo: sem eco no TTY (mostra `*`), default via Enter. */
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAWtD,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,QAAQ,CAAC;IAChB,MAAM,EAAE,QAAQ,CAAC;IACjB,uEAAuE;IACvE,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,SAAS,IAAI,QAAQ,CAIpC;AAcD,eAAO,MAAM,KAAK;iBALiC,MAAM,KAAK,MAAM;gBAAjB,MAAM,KAAK,MAAM;gBAAjB,MAAM,KAAK,MAAM;kBAAjB,MAAM,KAAK,MAAM;mBAAjB,MAAM,KAAK,MAAM;iBAAjB,MAAM,KAAK,MAAM;iBAAjB,MAAM,KAAK,MAAM;iBAAjB,MAAM,KAAK,MAAM;CAcnE,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,MAAM;;;;;;;CAOT,CAAC;AAmKX,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,iEAAiE;IACjE,YAAY,CAAC,EAAE,CAAC,CAAC;IACjB,8CAA8C;IAC9C,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACxD,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAW;IAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,MAAM,CAAS;gBAEX,EAAE,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;IAOlC,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIzB,iCAAiC;IACjC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIxB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIxB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIzB;;;OAGG;IACG,MAAM,CAAC,CAAC,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAC/B,IAAI,GAAE,aAAa,CAAC,CAAC,CAAM,GAC1B,OAAO,CAAC,CAAC,CAAC;IAoDb,wDAAwD;IAClD,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAsBrF,wDAAwD;IAClD,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IA2BlE,+DAA+D;IACzD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IA+BrE,sDAAsD;IAChD,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAMvD,KAAK,IAAI,IAAI;CAUd;AAMD,wBAAsB,MAAM,CAAC,CAAC,EAC5B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAC/B,IAAI,GAAE,aAAa,CAAC,CAAC,CAAM,EAC3B,EAAE,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GACrB,OAAO,CAAC,CAAC,CAAC,CAOZ;AAED,wBAAsB,OAAO,CAC3B,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAO,EACrC,EAAE,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GACrB,OAAO,CAAC,OAAO,CAAC,CAOlB"}
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"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"}