@nac3/forge-cli 0.2.0-alpha.2 → 0.2.0-alpha.21

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 (150) hide show
  1. package/dist/bin/yf.d.ts.map +1 -1
  2. package/dist/bin/yf.js +25 -0
  3. package/dist/bin/yf.js.map +1 -1
  4. package/dist/chat/claude.d.ts +22 -15
  5. package/dist/chat/claude.d.ts.map +1 -1
  6. package/dist/chat/claude.js +75 -22
  7. package/dist/chat/claude.js.map +1 -1
  8. package/dist/chat/panel.d.ts.map +1 -1
  9. package/dist/chat/panel.js +102 -3
  10. package/dist/chat/panel.js.map +1 -1
  11. package/dist/chat/server.js +498 -32
  12. package/dist/chat/server.js.map +1 -1
  13. package/dist/chat/tools/audit_consumers.d.ts +66 -0
  14. package/dist/chat/tools/audit_consumers.d.ts.map +1 -0
  15. package/dist/chat/tools/audit_consumers.js +231 -0
  16. package/dist/chat/tools/audit_consumers.js.map +1 -0
  17. package/dist/chat/tools/git.js +4 -4
  18. package/dist/chat/tools/github.js +3 -3
  19. package/dist/chat/tools/lifecycle.js +3 -3
  20. package/dist/chat/tools/manual.js +1 -1
  21. package/dist/chat/tools/reader.js +8 -8
  22. package/dist/chat/tools/workflow.d.ts +45 -0
  23. package/dist/chat/tools/workflow.d.ts.map +1 -0
  24. package/dist/chat/tools/workflow.js +404 -0
  25. package/dist/chat/tools/workflow.js.map +1 -0
  26. package/dist/chat/tools.d.ts.map +1 -1
  27. package/dist/chat/tools.js +23 -4
  28. package/dist/chat/tools.js.map +1 -1
  29. package/dist/commands/approve.d.ts +32 -0
  30. package/dist/commands/approve.d.ts.map +1 -0
  31. package/dist/commands/approve.js +198 -0
  32. package/dist/commands/approve.js.map +1 -0
  33. package/dist/commands/block.d.ts +28 -0
  34. package/dist/commands/block.d.ts.map +1 -0
  35. package/dist/commands/block.js +189 -0
  36. package/dist/commands/block.js.map +1 -0
  37. package/dist/commands/bootstrap.d.ts +35 -0
  38. package/dist/commands/bootstrap.d.ts.map +1 -0
  39. package/dist/commands/bootstrap.js +205 -0
  40. package/dist/commands/bootstrap.js.map +1 -0
  41. package/dist/commands/chat.d.ts +3 -0
  42. package/dist/commands/chat.d.ts.map +1 -1
  43. package/dist/commands/chat.js +46 -1
  44. package/dist/commands/chat.js.map +1 -1
  45. package/dist/commands/clarify.d.ts +30 -0
  46. package/dist/commands/clarify.d.ts.map +1 -0
  47. package/dist/commands/clarify.js +671 -0
  48. package/dist/commands/clarify.js.map +1 -0
  49. package/dist/commands/discover.d.ts +30 -0
  50. package/dist/commands/discover.d.ts.map +1 -0
  51. package/dist/commands/discover.js +178 -0
  52. package/dist/commands/discover.js.map +1 -0
  53. package/dist/commands/doctor.js +94 -42
  54. package/dist/commands/doctor.js.map +1 -1
  55. package/dist/commands/keys_setup.d.ts +53 -0
  56. package/dist/commands/keys_setup.d.ts.map +1 -0
  57. package/dist/commands/keys_setup.js +487 -0
  58. package/dist/commands/keys_setup.js.map +1 -0
  59. package/dist/commands/legacy-audit.d.ts +34 -0
  60. package/dist/commands/legacy-audit.d.ts.map +1 -0
  61. package/dist/commands/legacy-audit.js +270 -0
  62. package/dist/commands/legacy-audit.js.map +1 -0
  63. package/dist/commands/license.d.ts.map +1 -1
  64. package/dist/commands/license.js +41 -0
  65. package/dist/commands/license.js.map +1 -1
  66. package/dist/commands/operate.d.ts +22 -0
  67. package/dist/commands/operate.d.ts.map +1 -0
  68. package/dist/commands/operate.js +483 -0
  69. package/dist/commands/operate.js.map +1 -0
  70. package/dist/commands/spec.d.ts +38 -0
  71. package/dist/commands/spec.d.ts.map +1 -0
  72. package/dist/commands/spec.js +256 -0
  73. package/dist/commands/spec.js.map +1 -0
  74. package/dist/commands/triage.d.ts +34 -0
  75. package/dist/commands/triage.d.ts.map +1 -0
  76. package/dist/commands/triage.js +228 -0
  77. package/dist/commands/triage.js.map +1 -0
  78. package/dist/commands/vault-inventory.d.ts +30 -0
  79. package/dist/commands/vault-inventory.d.ts.map +1 -0
  80. package/dist/commands/vault-inventory.js +214 -0
  81. package/dist/commands/vault-inventory.js.map +1 -0
  82. package/dist/commands/vault.d.ts.map +1 -1
  83. package/dist/commands/vault.js +5 -0
  84. package/dist/commands/vault.js.map +1 -1
  85. package/dist/commands/voice.js +1 -1
  86. package/dist/commands/voice.js.map +1 -1
  87. package/dist/commands/workflow-coverage.d.ts +30 -0
  88. package/dist/commands/workflow-coverage.d.ts.map +1 -0
  89. package/dist/commands/workflow-coverage.js +138 -0
  90. package/dist/commands/workflow-coverage.js.map +1 -0
  91. package/dist/core/keys_envelope.d.ts +13 -0
  92. package/dist/core/keys_envelope.d.ts.map +1 -1
  93. package/dist/core/keys_envelope.js.map +1 -1
  94. package/dist/deploy/adapter.d.ts +93 -0
  95. package/dist/deploy/adapter.d.ts.map +1 -0
  96. package/dist/deploy/adapter.js +42 -0
  97. package/dist/deploy/adapter.js.map +1 -0
  98. package/dist/deploy/aws_adapter.d.ts +28 -0
  99. package/dist/deploy/aws_adapter.d.ts.map +1 -0
  100. package/dist/deploy/aws_adapter.js +65 -0
  101. package/dist/deploy/aws_adapter.js.map +1 -0
  102. package/dist/deploy/cloudflare.d.ts +24 -0
  103. package/dist/deploy/cloudflare.d.ts.map +1 -0
  104. package/dist/deploy/cloudflare.js +169 -0
  105. package/dist/deploy/cloudflare.js.map +1 -0
  106. package/dist/license/hito4_client.d.ts +17 -1
  107. package/dist/license/hito4_client.d.ts.map +1 -1
  108. package/dist/license/hito4_client.js +71 -10
  109. package/dist/license/hito4_client.js.map +1 -1
  110. package/dist/license/index.d.ts.map +1 -1
  111. package/dist/license/index.js +7 -0
  112. package/dist/license/index.js.map +1 -1
  113. package/dist/license/sync.d.ts +54 -0
  114. package/dist/license/sync.d.ts.map +1 -0
  115. package/dist/license/sync.js +131 -0
  116. package/dist/license/sync.js.map +1 -0
  117. package/dist/telemetry/usage.d.ts +67 -0
  118. package/dist/telemetry/usage.d.ts.map +1 -0
  119. package/dist/telemetry/usage.js +208 -0
  120. package/dist/telemetry/usage.js.map +1 -0
  121. package/dist/version.d.ts +1 -1
  122. package/dist/version.d.ts.map +1 -1
  123. package/dist/version.js +1 -1
  124. package/dist/version.js.map +1 -1
  125. package/dist/voice/intents.d.ts +1 -1
  126. package/dist/voice/intents.js +0 -0
  127. package/dist/voice/providers/google.d.ts.map +1 -1
  128. package/dist/voice/providers/google.js +157 -27
  129. package/dist/voice/providers/google.js.map +1 -1
  130. package/dist/voice/router.d.ts +10 -0
  131. package/dist/voice/router.d.ts.map +1 -1
  132. package/dist/voice/router.js +39 -20
  133. package/dist/voice/router.js.map +1 -1
  134. package/dist/voice/types.d.ts +5 -2
  135. package/dist/voice/types.d.ts.map +1 -1
  136. package/dist/voice/types.js.map +1 -1
  137. package/dist/workflow/state.d.ts +190 -0
  138. package/dist/workflow/state.d.ts.map +1 -0
  139. package/dist/workflow/state.js +119 -0
  140. package/dist/workflow/state.js.map +1 -0
  141. package/package.json +13 -15
  142. package/templates/nextjs-app/README.md +48 -0
  143. package/templates/nextjs-app/next.config.js +8 -0
  144. package/templates/nextjs-app/package.json +33 -0
  145. package/templates/nextjs-app/src/app/globals.css +43 -0
  146. package/templates/nextjs-app/src/app/layout.tsx +29 -0
  147. package/templates/nextjs-app/src/app/page.tsx +63 -0
  148. package/templates/nextjs-app/src/nac/manifest.ts +36 -0
  149. package/templates/nextjs-app/tsconfig.json +21 -0
  150. package/templates/nextjs-app/yujin.forge.json +11 -0
@@ -0,0 +1,270 @@
1
+ /**
2
+ * `yf legacy audit` -- Phase I step 3.5 of PRODUCT_WORKFLOW.md.
3
+ *
4
+ * Pure inspection of an existing project. Detects framework +
5
+ * version + dependencies + tests + NAC-3 readiness, and writes
6
+ * a workflow.legacy_audit summary to yujin.forge.json so the
7
+ * subsequent clarification rounds + architecture doc have data
8
+ * to ground on.
9
+ *
10
+ * Never mutates. Safe to run on production projects. Output is
11
+ * a JSON report (write-only to yujin.forge.json) + a human
12
+ * summary in the terminal.
13
+ *
14
+ * Heuristics:
15
+ * - framework = React / Angular / Vue / Svelte / Vanilla
16
+ * based on dependencies in package.json
17
+ * - framework_version = the exact installed version (we read
18
+ * dependencies[<framework-pkg>], stripping caret/tilde)
19
+ * - nac3_readiness = % of "decoratable" elements that already
20
+ * have a data-nac-id (computed by greppng src/ for JSX
21
+ * interactive elements + counting matches)
22
+ * - tech_debt_signals = framework < N versions behind latest,
23
+ * known-deprecated deps, missing test directory, package-lock
24
+ * out of sync with package.json
25
+ *
26
+ * ASCII-only.
27
+ */
28
+ import path from 'node:path';
29
+ import { promises as fs } from 'node:fs';
30
+ import { c, header } from '../ui/colors.js';
31
+ import { readWorkflow, patchWorkflowGroup, } from '../workflow/state.js';
32
+ const FRAMEWORK_DETECTORS = [
33
+ { pkg: 'react', name: 'React' },
34
+ { pkg: '@angular/core', name: 'Angular' },
35
+ { pkg: 'vue', name: 'Vue' },
36
+ { pkg: 'svelte', name: 'Svelte' },
37
+ { pkg: 'solid-js', name: 'SolidJS' },
38
+ { pkg: 'preact', name: 'Preact' },
39
+ ];
40
+ const DEPRECATED_PACKAGES = [
41
+ 'request',
42
+ 'gulp',
43
+ 'bower',
44
+ 'phantomjs',
45
+ 'node-sass',
46
+ 'tslint',
47
+ 'create-react-app',
48
+ 'jquery',
49
+ 'underscore',
50
+ ];
51
+ function stripVersionRange(v) {
52
+ return v.replace(/^[\^~>=<]+/, '').trim();
53
+ }
54
+ async function readPackageJson(projectRoot) {
55
+ try {
56
+ const raw = await fs.readFile(path.join(projectRoot, 'package.json'), 'utf-8');
57
+ return JSON.parse(raw);
58
+ }
59
+ catch {
60
+ return null;
61
+ }
62
+ }
63
+ async function countFiles(root, rel, predicate, skip) {
64
+ let count = 0;
65
+ let entries;
66
+ try {
67
+ entries = await fs.readdir(root, { withFileTypes: true });
68
+ }
69
+ catch {
70
+ return 0;
71
+ }
72
+ for (const e of entries) {
73
+ if (skip.has(e.name))
74
+ continue;
75
+ if (e.isDirectory()) {
76
+ count += await countFiles(path.join(root, e.name), rel ? `${rel}/${e.name}` : e.name, predicate, skip);
77
+ }
78
+ else if (e.isFile() && predicate(e.name)) {
79
+ count++;
80
+ }
81
+ }
82
+ return count;
83
+ }
84
+ async function scanForNacIds(root, skip) {
85
+ let count = 0;
86
+ let entries;
87
+ try {
88
+ entries = await fs.readdir(root, { withFileTypes: true });
89
+ }
90
+ catch {
91
+ return 0;
92
+ }
93
+ for (const e of entries) {
94
+ if (skip.has(e.name))
95
+ continue;
96
+ const p = path.join(root, e.name);
97
+ if (e.isDirectory()) {
98
+ count += await scanForNacIds(p, skip);
99
+ }
100
+ else if (e.isFile() && /\.(tsx?|jsx?|html)$/.test(e.name)) {
101
+ try {
102
+ const text = await fs.readFile(p, 'utf-8');
103
+ const m = text.match(/data-nac-id/g);
104
+ if (m)
105
+ count += m.length;
106
+ }
107
+ catch { /* skip */ }
108
+ }
109
+ }
110
+ return count;
111
+ }
112
+ async function scanForInteractiveElements(root, skip) {
113
+ let count = 0;
114
+ let entries;
115
+ try {
116
+ entries = await fs.readdir(root, { withFileTypes: true });
117
+ }
118
+ catch {
119
+ return 0;
120
+ }
121
+ for (const e of entries) {
122
+ if (skip.has(e.name))
123
+ continue;
124
+ const p = path.join(root, e.name);
125
+ if (e.isDirectory()) {
126
+ count += await scanForInteractiveElements(p, skip);
127
+ }
128
+ else if (e.isFile() && /\.(tsx?|jsx?|html)$/.test(e.name)) {
129
+ try {
130
+ const text = await fs.readFile(p, 'utf-8');
131
+ /* Rough count of clickable / form-input elements that
132
+ * would benefit from NAC-3 marking. */
133
+ const buttons = (text.match(/<button\b/g) || []).length;
134
+ const inputs = (text.match(/<input\b/g) || []).length;
135
+ const forms = (text.match(/<form\b/g) || []).length;
136
+ const links = (text.match(/<a\s+[^>]*href=/g) || []).length;
137
+ const selects = (text.match(/<select\b/g) || []).length;
138
+ const textareas = (text.match(/<textarea\b/g) || []).length;
139
+ count += buttons + inputs + forms + links + selects + textareas;
140
+ }
141
+ catch { /* skip */ }
142
+ }
143
+ }
144
+ return count;
145
+ }
146
+ export async function runLegacyAudit(opts) {
147
+ header('Yujin Forge -- legacy audit');
148
+ console.log('');
149
+ const projectRoot = opts.cwd ? path.resolve(opts.cwd) : process.cwd();
150
+ const wf = await readWorkflow(projectRoot);
151
+ if (!wf.intent) {
152
+ console.log(c.warn('No hay intent registrado. Sugerido correr `yf discover` primero,'));
153
+ console.log(c.warn('pero `yf legacy audit` corre solo igual.'));
154
+ console.log('');
155
+ }
156
+ else if (wf.intent.operation === 'new') {
157
+ console.log(c.warn('Intent registrado como "new" (proyecto desde cero). El legacy audit'));
158
+ console.log(c.warn('no aplica. Si tu proyecto YA tiene codigo, corre `yf discover --yes`'));
159
+ console.log(c.warn('y elige "modify" o "migrate".'));
160
+ return;
161
+ }
162
+ const skip = new Set(['node_modules', '.git', 'dist', 'build', '.next',
163
+ '.expo', '.wrangler', 'coverage', '.cache']);
164
+ console.log(c.dim('Escaneando ' + projectRoot + ' ...'));
165
+ console.log('');
166
+ const pkg = await readPackageJson(projectRoot);
167
+ let framework = 'unknown';
168
+ let frameworkVersion = 'unknown';
169
+ if (pkg) {
170
+ const deps = { ...(pkg.dependencies ?? {}), ...(pkg.devDependencies ?? {}) };
171
+ for (const det of FRAMEWORK_DETECTORS) {
172
+ const dep = deps[det.pkg];
173
+ if (dep) {
174
+ framework = det.name;
175
+ frameworkVersion = stripVersionRange(dep);
176
+ break;
177
+ }
178
+ }
179
+ }
180
+ const totalFiles = await countFiles(projectRoot, '', () => true, skip);
181
+ const tsxFiles = await countFiles(projectRoot, '', (n) => /\.tsx$/.test(n), skip);
182
+ const jsxFiles = await countFiles(projectRoot, '', (n) => /\.jsx$/.test(n), skip);
183
+ const testFiles = await countFiles(projectRoot, '', (n) => /\.(test|spec)\.[tj]sx?$/.test(n), skip);
184
+ const nacIds = await scanForNacIds(projectRoot, skip);
185
+ const interactives = await scanForInteractiveElements(projectRoot, skip);
186
+ /* NAC-3 readiness = % of interactive elements with a data-nac-id.
187
+ * Ceiling at 100%. If no interactive elements, treat as 100%
188
+ * (nothing to mark). */
189
+ const readiness = interactives === 0 ? 100
190
+ : Math.min(100, Math.round((nacIds / interactives) * 100));
191
+ /* Tech debt signals. */
192
+ const signals = [];
193
+ if (framework === 'React' && /^16\.|^15\./.test(frameworkVersion)) {
194
+ signals.push('React major version >= 2 behind (current is 18+)');
195
+ }
196
+ if (framework === 'Angular' && parseInt((frameworkVersion.split('.')[0] ?? '0') || '0', 10) < 15) {
197
+ signals.push('Angular major version >= 3 behind');
198
+ }
199
+ if (testFiles === 0)
200
+ signals.push('no test files found');
201
+ if (pkg && !pkg.dependencies)
202
+ signals.push('no production dependencies declared');
203
+ const deprecated = [];
204
+ if (pkg) {
205
+ const allDeps = { ...(pkg.dependencies ?? {}), ...(pkg.devDependencies ?? {}) };
206
+ for (const dep of DEPRECATED_PACKAGES) {
207
+ if (allDeps[dep])
208
+ deprecated.push(dep);
209
+ }
210
+ }
211
+ if (deprecated.length > 0) {
212
+ signals.push('deprecated packages present: ' + deprecated.join(', '));
213
+ }
214
+ const audit = {
215
+ ran_at: new Date().toISOString(),
216
+ framework,
217
+ framework_version: frameworkVersion,
218
+ total_files: totalFiles,
219
+ tsx_files: tsxFiles + jsxFiles,
220
+ has_tests: testFiles > 0,
221
+ nac3_readiness: readiness,
222
+ tech_debt_signals: signals,
223
+ deprecated_deps: deprecated,
224
+ };
225
+ await patchWorkflowGroup(projectRoot, 'legacy_audit', audit);
226
+ console.log(c.success('Audit completado:'));
227
+ console.log(c.dim(' Framework: ') + c.brand(framework + ' ' + frameworkVersion));
228
+ console.log(c.dim(' Files total: ') + c.brand(String(totalFiles)));
229
+ console.log(c.dim(' TSX/JSX files: ') + c.brand(String(tsxFiles + jsxFiles)));
230
+ console.log(c.dim(' Test files: ') + c.brand(String(testFiles)));
231
+ console.log(c.dim(' Interactivos: ') + c.brand(String(interactives)));
232
+ console.log(c.dim(' Con NAC-3 id: ') + c.brand(String(nacIds)));
233
+ console.log(c.dim(' Readiness: ') + c.brand(readiness + '%'));
234
+ if (signals.length > 0) {
235
+ console.log('');
236
+ console.log(c.warn('Senales de deuda tecnica:'));
237
+ for (const s of signals)
238
+ console.log(' - ' + s);
239
+ }
240
+ console.log('');
241
+ /* Suggest next step based on readiness + tier. */
242
+ if (readiness < 30) {
243
+ console.log(c.dim('Siguiente paso: ') + c.code('yf clarify functional'));
244
+ console.log(c.dim(' Bajo readiness -- mejor relevamos requisitos completos antes de migrar.'));
245
+ }
246
+ else if (readiness > 80) {
247
+ console.log(c.dim('Siguiente paso: ') + c.code('yf migrate ' + projectRoot + ' --audit'));
248
+ console.log(c.dim(' Alto readiness -- el migrate audit puede arrancar directo.'));
249
+ }
250
+ else {
251
+ console.log(c.dim('Siguiente paso: ') + c.code('yf clarify functional'));
252
+ }
253
+ }
254
+ export function registerLegacyAuditCommand(program) {
255
+ const legacy = program.command('legacy')
256
+ .description('Phase I step 3.5 helpers (audit existing projects).');
257
+ legacy.command('audit')
258
+ .description('Scan the existing project for framework + deps + tests + NAC-3 readiness.')
259
+ .option('--cwd <path>', 'project root (default: current directory)')
260
+ .action(async (opts) => {
261
+ try {
262
+ await runLegacyAudit(opts);
263
+ }
264
+ catch (err) {
265
+ console.error(c.error(err instanceof Error ? err.message : String(err)));
266
+ process.exitCode = 1;
267
+ }
268
+ });
269
+ }
270
+ //# sourceMappingURL=legacy-audit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy-audit.js","sourceRoot":"","sources":["../../src/commands/legacy-audit.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"license.d.ts","sourceRoot":"","sources":["../../src/commands/license.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAazC,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+J7D"}
1
+ {"version":3,"file":"license.d.ts","sourceRoot":"","sources":["../../src/commands/license.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAczC,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqM7D"}
@@ -1,6 +1,7 @@
1
1
  import { c, header } from '../ui/colors.js';
2
2
  import { loadLicense, isPaidSeat, isTrialActive } from '../license/index.js';
3
3
  import { activate, revoke, InvalidLicenseKeyError } from '../license/activate.js';
4
+ import { syncLicense } from '../license/sync.js';
4
5
  import { readLicense as readPolarLicense, writeLicense as writePolarLicense, buildCheckoutUrl as buildPolarCheckoutUrl, describeLicense as describePolarLicense, isActive as isPolarActive, } from '../core/polar.js';
5
6
  export function registerLicenseCommand(program) {
6
7
  const cmd = program
@@ -160,6 +161,46 @@ export function registerLicenseCommand(program) {
160
161
  console.log(' Open this URL to start a fresh subscription:');
161
162
  console.log(' ' + c.code(url));
162
163
  });
164
+ cmd
165
+ .command('sync')
166
+ .description('Pull the canonical license row from the Yujin Forge server (Hito 4) and refresh the local cache.')
167
+ .option('--verbose', 'print HTTP URLs + state transitions (no secrets)')
168
+ .option('--json', 'emit JSON SyncReport instead of human-readable output')
169
+ .action(async (opts) => {
170
+ const report = await syncLicense({ verbose: !!opts.verbose });
171
+ if (opts.json) {
172
+ process.stdout.write(JSON.stringify(report, null, 2) + '\n');
173
+ process.exitCode = report.ok ? 0 : 1;
174
+ return;
175
+ }
176
+ header('Yujin Forge -- license sync');
177
+ console.log('');
178
+ if (opts.verbose && report.log) {
179
+ for (const line of report.log)
180
+ console.log(c.dim(' ' + line));
181
+ console.log('');
182
+ }
183
+ if (!report.ok) {
184
+ console.log(c.error('Sync failed: ') + report.error);
185
+ if (report.http_status)
186
+ console.log(c.dim(' HTTP status: ' + report.http_status));
187
+ if (report.local_plan_before)
188
+ console.log(c.dim(' Local plan stays at: ' + report.local_plan_before));
189
+ process.exitCode = 1;
190
+ return;
191
+ }
192
+ console.log(c.success('Sync OK.'));
193
+ console.log(' Server plan: ' + report.server_plan);
194
+ console.log(' Local plan before: ' + report.local_plan_before);
195
+ console.log(' Local plan after: ' + report.local_plan_after);
196
+ if (report.last_validated_at) {
197
+ console.log(' Validated at: ' + c.dim(report.last_validated_at));
198
+ }
199
+ if (report.local_plan_before !== report.local_plan_after) {
200
+ console.log('');
201
+ console.log(c.info('Plan transitioned. Run `yf license status` to see the full state.'));
202
+ }
203
+ });
163
204
  }
164
205
  function colorStatus(s) {
165
206
  if (s === 'paid')
@@ -1 +1 @@
1
- {"version":3,"file":"license.js","sourceRoot":"","sources":["../../src/commands/license.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EACL,WAAW,IAAI,gBAAgB,EAC/B,YAAY,IAAI,iBAAiB,EACjC,gBAAgB,IAAI,qBAAqB,EACzC,eAAe,IAAI,oBAAoB,EACvC,QAAQ,IAAI,aAAa,GAE1B,MAAM,kBAAkB,CAAC;AAO1B,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,MAAM,GAAG,GAAG,OAAO;SAChB,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,qDAAqD,CAAC,CAAC;IAEtE,GAAG;SACA,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,kEAAkE,CAAC;SAC/E,MAAM,CAAC,QAAQ,EAAE,4CAA4C,CAAC;SAC9D,MAAM,CAAC,KAAK,EAAE,IAAoB,EAAE,EAAE;QACrC,MAAM,GAAG,GAAG,MAAM,WAAW,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,MAAM,gBAAgB,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YAC/E,OAAO;QACT,CAAC;QACD,MAAM,CAAC,+BAA+B,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC;QAC3F,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,IAAQ,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC/E,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACnF,CAAC;aAAM,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,IAAM,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC/E,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,8BAA8B,CAAC,CAAC;QACzF,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,sEAAsE,CAAC;SACnF,MAAM,CAAC,iBAAiB,EAAE,2CAA2C,CAAC;SACtE,MAAM,CAAC,wBAAwB,EAAE,qDAAqD,CAAC;SACvF,MAAM,CAAC,KAAK,EAAE,IAA8C,EAAE,EAAE;QAC/D,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACpC,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;YACf,oDAAoD;YACpD,MAAM,GAAG,GAAG,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACnD,MAAM,CAAC,sCAAsC,CAAC,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;YAC/E,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,0CAA0C,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAC7F,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC,CAAC;YAClF,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC,CAAC;YACtF,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,CAAC,kCAAkC,CAAC,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;YACrF,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAChF,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;YACtE,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC,CAAC;YAC3E,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAC,CAAC;QAC/F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,sBAAsB,EAAE,CAAC;gBAC1C,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC3E,CAAC;YACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,wDAAwD,CAAC;SACrE,MAAM,CAAC,KAAK,EAAE,KAAqB,EAAE,EAAE;QACtC,MAAM,OAAO,GAAG,MAAM,MAAM,EAAE,CAAC;QAC/B,MAAM,CAAC,gCAAgC,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC,CAAC;QAC9E,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC,CAAC;QACnE,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,iFAAiF,CAAC;SAC9F,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,KAAK,GAAG,MAAM,gBAAgB,EAAE,CAAC;QACvC,MAAM,CAAC,oCAAoC,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAC9F,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC,CAAC;YAC3E,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QACD;qDAC6C;QAC7C,MAAM,IAAI,GAAsB;YAC9B,GAAG,KAAK;YACR,IAAI,EAAE,WAAW;YACjB,UAAU,EAAE,KAAK,CAAC,IAAI,KAAK,OAAO;gBAChC,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC;gBAC5D,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC;SAC/B,CAAC;QACF,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC,CAAC;IACtH,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,2EAA2E,CAAC;SACxF,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,KAAK,GAAG,MAAM,gBAAgB,EAAE,CAAC;QACvC,MAAM,CAAC,4BAA4B,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,mBAAmB,GAAG,KAAK,CAAC,IAAI,GAAG,6CAA6C,CAAC,CAAC,CAAC;YACrG,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,+BAA+B,CAAC,CAAC;YAC1F,CAAC;YACD,OAAO;QACT,CAAC;QACD,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,WAAW,EAAE,CAAC;YAChB;8CACkC;YAClC,MAAM,IAAI,GAAsB,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAC3D,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,yDAAyD,CAAC,CAAC,CAAC;YAClF,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QACD;2DACmD;QACnD,MAAM,GAAG,GAAG,qBAAqB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,WAAW,CAAC,CAAS;IAC5B,IAAI,CAAC,KAAK,MAAM;QAAS,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,CAAC,KAAK,OAAO;QAAQ,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK,SAAS;QAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,cAAc,CAAC,CAAS;IAC/B,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,eAAe,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,aAAa;QAAE,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACxG,IAAI,CAAC,KAAK,OAAO;QAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK,WAAW;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"license.js","sourceRoot":"","sources":["../../src/commands/license.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * `yf operate <verb>` -- Phase VI + cross-cutting of
3
+ * PRODUCT_WORKFLOW.md.
4
+ *
5
+ * Verbs (all thin shells -- they persist state + emit
6
+ * scaffolding markers; deeper implementations land in follow-up
7
+ * commits):
8
+ *
9
+ * yf operate deploy-guided step 16 -- guided deploy + smoke
10
+ * yf operate manual-generate step 17 -- generate per-locale manual
11
+ * yf operate metrics step 17 -- observability dashboards setup
12
+ * yf operate iterate <type> step 18 -- classify + route a new requirement
13
+ * yf operate costs cross-cutting 8.2
14
+ * yf operate handoff cross-cutting 8.5
15
+ * yf operate backup-setup cross-cutting 8.6
16
+ * yf operate restore-drill cross-cutting 8.6
17
+ *
18
+ * ASCII-only.
19
+ */
20
+ import type { Command } from 'commander';
21
+ export declare function registerOperateCommand(program: Command): void;
22
+ //# sourceMappingURL=operate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operate.d.ts","sourceRoot":"","sources":["../../src/commands/operate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6ZzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuE7D"}