tawa 0.10.10 → 0.10.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/commands/changelog.d.ts +53 -0
  2. package/dist/commands/changelog.d.ts.map +1 -0
  3. package/dist/commands/changelog.js +447 -0
  4. package/dist/commands/changelog.js.map +1 -0
  5. package/dist/commands/deploy.d.ts.map +1 -1
  6. package/dist/commands/deploy.js +3 -3
  7. package/dist/commands/deploy.js.map +1 -1
  8. package/dist/commands/login.js +25 -2
  9. package/dist/commands/login.js.map +1 -1
  10. package/dist/commands/preflight.d.ts.map +1 -1
  11. package/dist/commands/preflight.js +2 -1
  12. package/dist/commands/preflight.js.map +1 -1
  13. package/dist/index.js +37 -0
  14. package/dist/index.js.map +1 -1
  15. package/dist/lib/api.d.ts +9 -0
  16. package/dist/lib/api.d.ts.map +1 -1
  17. package/dist/lib/api.js +28 -0
  18. package/dist/lib/api.js.map +1 -1
  19. package/dist/lib/builder.d.ts +10 -0
  20. package/dist/lib/builder.d.ts.map +1 -1
  21. package/dist/lib/builder.js +95 -0
  22. package/dist/lib/builder.js.map +1 -1
  23. package/dist/lib/render.d.ts +18 -0
  24. package/dist/lib/render.d.ts.map +1 -0
  25. package/dist/lib/render.js +164 -0
  26. package/dist/lib/render.js.map +1 -0
  27. package/dist/lib/validators/convention-validator.d.ts +10 -0
  28. package/dist/lib/validators/convention-validator.d.ts.map +1 -0
  29. package/dist/lib/validators/convention-validator.js +244 -0
  30. package/dist/lib/validators/convention-validator.js.map +1 -0
  31. package/dist/lib/validators/index.d.ts +1 -0
  32. package/dist/lib/validators/index.d.ts.map +1 -1
  33. package/dist/lib/validators/index.js +1 -0
  34. package/dist/lib/validators/index.js.map +1 -1
  35. package/dist/lib/watch.d.ts +1 -5
  36. package/dist/lib/watch.d.ts.map +1 -1
  37. package/dist/lib/watch.js +97 -49
  38. package/dist/lib/watch.js.map +1 -1
  39. package/package.json +6 -2
@@ -0,0 +1,53 @@
1
+ interface ChangelogOptions {
2
+ sdk?: string;
3
+ type?: 'sdk' | 'catalog' | 'platform';
4
+ version?: string;
5
+ }
6
+ interface ChangelogListOptions {
7
+ sdk?: string;
8
+ type?: 'sdk' | 'catalog' | 'platform';
9
+ json?: boolean;
10
+ }
11
+ interface ChangelogSkipOptions {
12
+ reason: string;
13
+ }
14
+ interface ChangelogEntry {
15
+ id: string;
16
+ type: 'sdk' | 'catalog' | 'platform';
17
+ sdk?: string;
18
+ sdkVersion?: string;
19
+ catalogVersion?: string;
20
+ released: string;
21
+ summary: string;
22
+ breakingChanges?: unknown[];
23
+ deprecations?: unknown[];
24
+ migration?: {
25
+ from: string;
26
+ guide: string;
27
+ };
28
+ notes?: string;
29
+ }
30
+ /**
31
+ * tawa changelog
32
+ * tawa changelog --sdk @insureco/relay
33
+ * tawa changelog --type catalog --version 0.6.0
34
+ */
35
+ export declare function changelogCommand(options: ChangelogOptions): Promise<void>;
36
+ /**
37
+ * tawa changelog publish ./path/to/entry.yaml
38
+ */
39
+ export declare function changelogPublishCommand(filePath: string): Promise<void>;
40
+ /**
41
+ * tawa changelog skip --reason "text"
42
+ */
43
+ export declare function changelogSkipCommand(options: ChangelogSkipOptions): Promise<void>;
44
+ /**
45
+ * tawa changelog list
46
+ */
47
+ export declare function changelogListCommand(options: ChangelogListOptions): Promise<void>;
48
+ /**
49
+ * Helper to stringify a parsed changelog entry back to YAML for display/save.
50
+ */
51
+ export declare function entryToYaml(entry: ChangelogEntry): string;
52
+ export {};
53
+ //# sourceMappingURL=changelog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changelog.d.ts","sourceRoot":"","sources":["../../src/commands/changelog.ts"],"names":[],"mappings":"AAiBA,UAAU,gBAAgB;IACxB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,UAAU,CAAA;IACrC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,UAAU,oBAAoB;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,UAAU,CAAA;IACrC,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAED,UAAU,oBAAoB;IAC5B,MAAM,EAAE,MAAM,CAAA;CACf;AAQD,UAAU,cAAc;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,UAAU,CAAA;IACpC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,eAAe,CAAC,EAAE,OAAO,EAAE,CAAA;IAC3B,YAAY,CAAC,EAAE,OAAO,EAAE,CAAA;IACxB,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAgXD;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/E;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B7E;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBvF;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuEvF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAEzD"}
@@ -0,0 +1,447 @@
1
+ import { readFile, writeFile } from 'node:fs/promises';
2
+ import { join, resolve } from 'node:path';
3
+ import { execFile, spawn } from 'node:child_process';
4
+ import { promisify } from 'node:util';
5
+ import { createInterface } from 'node:readline';
6
+ import { parse as parseYaml, stringify as stringifyYaml } from 'yaml';
7
+ import chalk from 'chalk';
8
+ import { loadLinkedService, loadAuth } from '../lib/config.js';
9
+ import { KokoClient } from '../lib/api.js';
10
+ import { BuilderClient } from '../lib/builder.js';
11
+ import { ClaudeClient } from '../lib/ai/client.js';
12
+ import { log, spinner } from '../lib/output.js';
13
+ const execFileAsync = promisify(execFile);
14
+ // ── Helpers ───────────────────────────────────────────────────────────────────
15
+ function formatDate(d = new Date()) {
16
+ return d.toISOString().split('T')[0];
17
+ }
18
+ async function readPackageJson(cwd) {
19
+ try {
20
+ const content = await readFile(join(cwd, 'package.json'), 'utf-8');
21
+ return JSON.parse(content);
22
+ }
23
+ catch {
24
+ return null;
25
+ }
26
+ }
27
+ async function runGit(args, cwd) {
28
+ try {
29
+ const { stdout } = await execFileAsync('git', args, { cwd, timeout: 30_000 });
30
+ return stdout.trim();
31
+ }
32
+ catch (err) {
33
+ const error = err;
34
+ if (error.stderr?.includes('unknown revision')) {
35
+ return '';
36
+ }
37
+ throw err;
38
+ }
39
+ }
40
+ async function getPreviousVersion(serviceId) {
41
+ if (!serviceId)
42
+ return null;
43
+ try {
44
+ const koko = await KokoClient.create();
45
+ const result = await koko.getServiceManifests(serviceId, { limit: 1 });
46
+ if (!result.success || !result.data || result.data.length === 0)
47
+ return null;
48
+ const manifest = result.data[0];
49
+ return manifest.deployedAt ? manifest.deployedAt.split('T')[0] : null;
50
+ }
51
+ catch {
52
+ return null;
53
+ }
54
+ }
55
+ async function getGitCommits(prevRef, cwd) {
56
+ if (!prevRef) {
57
+ return await runGit(['log', '--oneline', '-20'], cwd);
58
+ }
59
+ return await runGit(['log', `${prevRef}..HEAD`, '--oneline'], cwd);
60
+ }
61
+ async function getGitDiff(prevRef, cwd) {
62
+ if (!prevRef) {
63
+ return await runGit(['diff', 'HEAD~10..HEAD', '--', 'src/'], cwd);
64
+ }
65
+ const diff = await runGit(['diff', `${prevRef}..HEAD`, '--', 'src/'], cwd);
66
+ // Truncate to ~12KB to keep Claude's context reasonable
67
+ if (diff.length > 12_000) {
68
+ return diff.slice(0, 12_000) + '\n\n... [diff truncated for brevity] ...';
69
+ }
70
+ return diff;
71
+ }
72
+ function buildChangelogPrompt(commits, diff, sdkName, sdkVersion) {
73
+ const sdkContext = sdkName ? `SDK: ${sdkName}${sdkVersion ? ` v${sdkVersion}` : ''}` : '';
74
+ const today = formatDate();
75
+ return `You are a platform changelog author for the Tawa insurance platform.
76
+ Generate a YAML changelog entry based on the git history and diff provided below.
77
+
78
+ ${sdkContext ? `Context: ${sdkContext}\n` : ''}
79
+ The changelog YAML must conform to this schema:
80
+
81
+ id: {type}-{slug}-{version} # e.g. sdk-relay-0-5-0 or catalog-0-6-0
82
+ type: sdk | catalog | platform
83
+ sdk: "@insureco/{name}" # only if type == sdk
84
+ sdk_version: "x.y.z" # only if type == sdk
85
+ catalog_version: "x.y.z" # only if type == catalog
86
+ released: "${today}"
87
+ summary: "One-line description shown in gate output"
88
+
89
+ breaking_changes:
90
+ - id: unique-kebab-case-id
91
+ description: Human-readable explanation
92
+ gate: block | error | warn # block=stop deploy, error=surface prominently, warn=log only
93
+ detection:
94
+ pattern: 'ripgrep-compatible regex'
95
+ files: ["**/*.ts", "**/*.js"]
96
+ exclude: ["**/*.test.ts"] # optional
97
+ message: |
98
+ Multi-line message shown to developer on violation
99
+ migration_guide: "URL or inline instructions"
100
+
101
+ deprecations:
102
+ - id: unique-kebab-case-id
103
+ description: Human-readable explanation
104
+ gate: warn # deprecations are always warn
105
+ detection:
106
+ pattern: 'ripgrep-compatible regex'
107
+ files: ["**/*.ts"]
108
+ message: |
109
+ Multi-line message shown to developer
110
+ migration_guide: "URL or inline instructions"
111
+ eol: "YYYY-MM-DD" # when this becomes a breaking change
112
+
113
+ migration:
114
+ from: "x.y.x"
115
+ guide: "https://tawa.insureco.io/docs/..."
116
+
117
+ notes: |
118
+ Optional additional context
119
+
120
+ Rules:
121
+ - Only include breaking_changes and deprecations that are relevant to consuming services
122
+ - Use ripgrep-compatible regex patterns that will match real violations in TypeScript/JavaScript code
123
+ - Make patterns specific enough to avoid false positives (but not so specific they miss real issues)
124
+ - Gate levels: block = security/critical API removal, error = significant breaking change, warn = deprecation/style
125
+ - If no breaking changes or deprecations are detected from the diff, still create a valid entry with just summary and notes
126
+ - Output ONLY valid YAML — no markdown code fences, no preamble text
127
+
128
+ --- GIT LOG ---
129
+ ${commits || '(no commits found)'}
130
+
131
+ --- GIT DIFF (src/) ---
132
+ ${diff || '(no diff found)'}
133
+ `;
134
+ }
135
+ function promptUser(question) {
136
+ const rl = createInterface({ input: process.stdin, output: process.stdout });
137
+ return new Promise((resolve) => {
138
+ rl.question(question, (answer) => {
139
+ rl.close();
140
+ resolve(answer.trim());
141
+ });
142
+ });
143
+ }
144
+ async function openInEditor(content) {
145
+ const editor = process.env.EDITOR || process.env.VISUAL || 'vim';
146
+ const tmpFile = join('/tmp', `tawa-changelog-${Date.now()}.yaml`);
147
+ await writeFile(tmpFile, content, 'utf-8');
148
+ try {
149
+ await new Promise((resolve, reject) => {
150
+ const child = spawn(editor, [tmpFile], { stdio: 'inherit' });
151
+ child.on('close', (code) => {
152
+ if (code === 0)
153
+ resolve();
154
+ else
155
+ reject(new Error(`Editor exited with code ${code}`));
156
+ });
157
+ child.on('error', reject);
158
+ });
159
+ return await readFile(tmpFile, 'utf-8');
160
+ }
161
+ catch {
162
+ log.warning('Editor exited with error — using original content');
163
+ return content;
164
+ }
165
+ }
166
+ async function validateEntryYaml(yamlContent) {
167
+ try {
168
+ const entry = parseYaml(yamlContent);
169
+ if (!entry?.id || !entry?.type || !entry?.released || !entry?.summary) {
170
+ return null;
171
+ }
172
+ return entry;
173
+ }
174
+ catch {
175
+ return null;
176
+ }
177
+ }
178
+ // ── Core interactive generate flow ────────────────────────────────────────────
179
+ async function runGenerateFlow(options) {
180
+ const cwd = process.cwd();
181
+ const pkg = await readPackageJson(cwd);
182
+ if (!pkg) {
183
+ log.error('No package.json found — run from your service root');
184
+ process.exit(1);
185
+ }
186
+ // Resolve SDK target
187
+ let sdkName = options.sdk;
188
+ let sdkVersion = options.version;
189
+ if (!sdkName && options.type !== 'catalog' && options.type !== 'platform') {
190
+ // Auto-detect: look for @insureco/* packages
191
+ const allDeps = { ...(pkg.dependencies ?? {}), ...(pkg.devDependencies ?? {}) };
192
+ const insurecoSdks = Object.keys(allDeps).filter((k) => k.startsWith('@insureco/'));
193
+ if (insurecoSdks.length === 1) {
194
+ sdkName = insurecoSdks[0];
195
+ sdkVersion = allDeps[sdkName].replace(/^[\^~>=<v]+/, '').split('-')[0];
196
+ }
197
+ else if (insurecoSdks.length > 1) {
198
+ log.info('Multiple @insureco/* SDKs detected:');
199
+ insurecoSdks.forEach((s, i) => log.dim(` [${i + 1}] ${s} ${allDeps[s]}`));
200
+ const choice = await promptUser('Which SDK? (number or name, Enter to skip): ');
201
+ if (choice) {
202
+ const idx = parseInt(choice, 10);
203
+ if (!isNaN(idx) && idx >= 1 && idx <= insurecoSdks.length) {
204
+ sdkName = insurecoSdks[idx - 1];
205
+ sdkVersion = allDeps[sdkName].replace(/^[\^~>=<v]+/, '').split('-')[0];
206
+ }
207
+ else if (choice.startsWith('@')) {
208
+ sdkName = choice;
209
+ sdkVersion = allDeps[sdkName]?.replace(/^[\^~>=<v]+/, '').split('-')[0];
210
+ }
211
+ }
212
+ }
213
+ }
214
+ // Get previous version from Koko manifests for diff range
215
+ const linkedService = await loadLinkedService(cwd);
216
+ const prevVersionRef = await getPreviousVersion(linkedService?.serviceId);
217
+ const sp = spinner('Collecting git history');
218
+ const [commits, diff] = await Promise.all([
219
+ getGitCommits(prevVersionRef ?? '', cwd),
220
+ getGitDiff(prevVersionRef ?? '', cwd),
221
+ ]);
222
+ sp.stop(true);
223
+ if (!commits && !diff) {
224
+ log.warning('No git history or diff found — generating entry from context only');
225
+ }
226
+ // Call Claude API
227
+ const aiSp = spinner('Generating changelog draft with Claude');
228
+ let draftYaml;
229
+ try {
230
+ const ai = await ClaudeClient.create();
231
+ const prompt = buildChangelogPrompt(commits, diff, sdkName, sdkVersion);
232
+ draftYaml = await ai.sendSimpleMessage('You are a changelog author. Output only valid YAML conforming to the provided schema.', prompt);
233
+ // Strip markdown code fences if Claude wrapped in them
234
+ draftYaml = draftYaml.replace(/^```ya?ml\n?/i, '').replace(/\n?```$/, '').trim();
235
+ }
236
+ catch (err) {
237
+ aiSp.stop(false);
238
+ log.error(`AI generation failed: ${err instanceof Error ? err.message : String(err)}`);
239
+ log.dim(' Set ANTHROPIC_API_KEY or run "tawa settings --anthropic-key <key>"');
240
+ process.exit(1);
241
+ }
242
+ aiSp.stop(true);
243
+ // Print the draft
244
+ console.log();
245
+ console.log(chalk.bold('Generated changelog entry:'));
246
+ console.log(chalk.dim('─'.repeat(60)));
247
+ console.log(draftYaml);
248
+ console.log(chalk.dim('─'.repeat(60)));
249
+ console.log();
250
+ // Interactive prompt
251
+ await handleInteractivePrompt(draftYaml);
252
+ }
253
+ async function handleInteractivePrompt(draftYaml) {
254
+ let currentYaml = draftYaml;
255
+ // eslint-disable-next-line no-constant-condition
256
+ while (true) {
257
+ const answer = await promptUser(chalk.cyan('Publish? ') +
258
+ chalk.dim('[y=publish / e=edit / s=save file / q=quit]: '));
259
+ switch (answer.toLowerCase()) {
260
+ case 'y':
261
+ case 'yes': {
262
+ await publishEntryFromYaml(currentYaml);
263
+ return;
264
+ }
265
+ case 'e':
266
+ case 'edit': {
267
+ currentYaml = await openInEditor(currentYaml);
268
+ console.log();
269
+ console.log(chalk.bold('Updated entry:'));
270
+ console.log(chalk.dim('─'.repeat(60)));
271
+ console.log(currentYaml);
272
+ console.log(chalk.dim('─'.repeat(60)));
273
+ console.log();
274
+ break;
275
+ }
276
+ case 's':
277
+ case 'save': {
278
+ const filename = `changelog-${formatDate()}.yaml`;
279
+ await writeFile(filename, currentYaml, 'utf-8');
280
+ log.success(`Saved to ${filename}`);
281
+ log.dim(` Publish later with: tawa changelog publish ./${filename}`);
282
+ return;
283
+ }
284
+ case 'q':
285
+ case 'quit':
286
+ case '': {
287
+ log.dim('Cancelled — entry not published');
288
+ return;
289
+ }
290
+ default: {
291
+ log.warning('Invalid input — use y, e, s, or q');
292
+ }
293
+ }
294
+ }
295
+ }
296
+ async function publishEntryFromYaml(yamlContent) {
297
+ const entry = await validateEntryYaml(yamlContent);
298
+ if (!entry) {
299
+ log.error('Invalid YAML — missing required fields (id, type, released, summary)');
300
+ process.exit(1);
301
+ }
302
+ const auth = await loadAuth();
303
+ const publishedBy = auth?.user?.email ?? 'cli';
304
+ const sp = spinner(`Publishing changelog entry "${entry.id}"`);
305
+ try {
306
+ const builder = await BuilderClient.create();
307
+ const result = await builder.publishChangelog(entry, publishedBy);
308
+ if (!result.success) {
309
+ sp.stop(false);
310
+ log.error(`Failed to publish: ${result.error?.message ?? 'Unknown error'}`);
311
+ process.exit(1);
312
+ }
313
+ sp.stop(true);
314
+ log.success(`Published: ${entry.id}`);
315
+ log.dim(` Type: ${entry.type}`);
316
+ if (entry.sdk)
317
+ log.dim(` SDK: ${entry.sdk} v${entry.sdkVersion}`);
318
+ if (entry.catalogVersion)
319
+ log.dim(` Catalog: v${entry.catalogVersion}`);
320
+ log.dim(' Gate rules are now active — CLI and builder will enforce them on next preflight/deploy');
321
+ }
322
+ catch (err) {
323
+ sp.stop(false);
324
+ log.error(`Publish failed: ${err instanceof Error ? err.message : String(err)}`);
325
+ process.exit(1);
326
+ }
327
+ }
328
+ // ── Subcommand handlers ───────────────────────────────────────────────────────
329
+ /**
330
+ * tawa changelog
331
+ * tawa changelog --sdk @insureco/relay
332
+ * tawa changelog --type catalog --version 0.6.0
333
+ */
334
+ export async function changelogCommand(options) {
335
+ await runGenerateFlow(options);
336
+ }
337
+ /**
338
+ * tawa changelog publish ./path/to/entry.yaml
339
+ */
340
+ export async function changelogPublishCommand(filePath) {
341
+ const absPath = resolve(process.cwd(), filePath);
342
+ let content;
343
+ try {
344
+ content = await readFile(absPath, 'utf-8');
345
+ }
346
+ catch {
347
+ log.error(`File not found: ${absPath}`);
348
+ process.exit(1);
349
+ }
350
+ const entry = await validateEntryYaml(content);
351
+ if (!entry) {
352
+ log.error('Invalid YAML — missing required fields: id, type, released, summary');
353
+ process.exit(1);
354
+ }
355
+ console.log();
356
+ console.log(chalk.bold(`Publishing: ${entry.id}`));
357
+ console.log(chalk.dim(` Type: ${entry.type} Released: ${entry.released}`));
358
+ console.log(chalk.dim(` ${entry.summary}`));
359
+ console.log();
360
+ const confirm = await promptUser(chalk.cyan('Publish this entry? [y/N]: '));
361
+ if (confirm.toLowerCase() !== 'y' && confirm.toLowerCase() !== 'yes') {
362
+ log.dim('Cancelled');
363
+ return;
364
+ }
365
+ await publishEntryFromYaml(content);
366
+ }
367
+ /**
368
+ * tawa changelog skip --reason "text"
369
+ */
370
+ export async function changelogSkipCommand(options) {
371
+ const reason = options.reason?.trim();
372
+ if (!reason) {
373
+ log.error('--reason is required');
374
+ process.exit(1);
375
+ }
376
+ const auth = await loadAuth();
377
+ const who = auth?.user?.email ?? 'unknown';
378
+ const timestamp = new Date().toISOString();
379
+ log.dim(`Changelog skip recorded:`);
380
+ log.dim(` Reason: ${reason}`);
381
+ log.dim(` By: ${who}`);
382
+ log.dim(` At: ${timestamp}`);
383
+ log.dim('');
384
+ log.dim(' Tip: if this was a real change, run "tawa changelog" to generate an entry.');
385
+ }
386
+ /**
387
+ * tawa changelog list
388
+ */
389
+ export async function changelogListCommand(options) {
390
+ const sp = spinner('Fetching changelogs');
391
+ try {
392
+ const koko = await KokoClient.create();
393
+ const result = await koko.getChangelogs({
394
+ type: options.type,
395
+ sdk: options.sdk,
396
+ });
397
+ sp.stop(true);
398
+ if (!result.success || !result.data) {
399
+ log.error(`Failed to list changelogs: ${result.error?.message ?? 'Unknown error'}`);
400
+ process.exit(1);
401
+ }
402
+ const entries = result.data;
403
+ if (entries.length === 0) {
404
+ log.warning('No changelog entries found');
405
+ return;
406
+ }
407
+ if (options.json) {
408
+ console.log(JSON.stringify(entries, null, 2));
409
+ return;
410
+ }
411
+ console.log();
412
+ console.log(chalk.bold(`Platform Changelogs (${entries.length})`));
413
+ console.log();
414
+ for (const entry of entries) {
415
+ const typeLabel = entry.type === 'sdk' && entry.sdk
416
+ ? `${entry.sdk} v${entry.sdkVersion}`
417
+ : entry.type === 'catalog'
418
+ ? `catalog v${entry.catalogVersion}`
419
+ : entry.type;
420
+ const bcCount = Array.isArray(entry.breakingChanges) ? entry.breakingChanges.length : 0;
421
+ const depCount = Array.isArray(entry.deprecations) ? entry.deprecations.length : 0;
422
+ const badges = [];
423
+ if (bcCount > 0)
424
+ badges.push(chalk.red(`${bcCount} breaking`));
425
+ if (depCount > 0)
426
+ badges.push(chalk.yellow(`${depCount} deprecation${depCount > 1 ? 's' : ''}`));
427
+ console.log(` ${chalk.bold(entry.id.padEnd(36))} ${chalk.dim(entry.released)}`);
428
+ console.log(` ${chalk.dim(typeLabel)} — ${entry.summary}`);
429
+ if (badges.length > 0) {
430
+ console.log(` ${badges.join(' ')}`);
431
+ }
432
+ console.log();
433
+ }
434
+ }
435
+ catch (err) {
436
+ sp.stop(false);
437
+ log.error(`Failed to fetch changelogs: ${err instanceof Error ? err.message : String(err)}`);
438
+ process.exit(1);
439
+ }
440
+ }
441
+ /**
442
+ * Helper to stringify a parsed changelog entry back to YAML for display/save.
443
+ */
444
+ export function entryToYaml(entry) {
445
+ return stringifyYaml(entry, { lineWidth: 100 });
446
+ }
447
+ //# sourceMappingURL=changelog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changelog.js","sourceRoot":"","sources":["../../src/commands/changelog.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAIjE,UAAU,aAAa;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,GAAG,CAAC,EAAE,WAAW,CAAA;IACjB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAyMzE;AAGD,wBAAsB,iBAAiB,CAAC,OAAO,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsCpG"}
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAIjE,UAAU,aAAa;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,GAAG,CAAC,EAAE,WAAW,CAAA;IACjB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAwMzE;AAGD,wBAAsB,iBAAiB,CAAC,OAAO,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsCpG"}
@@ -7,6 +7,7 @@ import { loadLinkedService, saveLinkedService, loadAuth } from '../lib/config.js
7
7
  import { BuilderClient } from '../lib/builder.js';
8
8
  import { log, spinner, formatTable } from '../lib/output.js';
9
9
  import { watchBuild, WatchError, checkHttpsReadiness, postDeployCheck } from '../lib/watch.js';
10
+ import { renderDeployBanner } from '../lib/render.js';
10
11
  import { runQuietPreflight } from './preflight.js';
11
12
  const execAsync = promisify(exec);
12
13
  export async function deployCommand(options) {
@@ -145,9 +146,8 @@ export async function deployCommand(options) {
145
146
  log.success(`Build triggered: ${buildId.substring(0, 8)}`);
146
147
  log.dim(` ${message}`);
147
148
  if (options.watch) {
148
- log.info('');
149
- log.info('Watching build progress...');
150
- log.dim('Press Ctrl+C to stop watching');
149
+ renderDeployBanner(serviceName, environment, branch, buildId);
150
+ log.dim(' Press Ctrl+C to stop watching');
151
151
  log.info('');
152
152
  await watchBuild(builder, buildId, { label: 'Build' });
153
153
  // Check pod health after deploy completes
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { createServer } from 'node:http';
2
2
  import { createInterface } from 'node:readline';
3
3
  import { URL } from 'node:url';
4
- import { exec } from 'node:child_process';
4
+ import { exec, execSync } from 'node:child_process';
5
5
  import { loadConfig, saveAuth, loadAuth, clearAuth, loadCredentials, saveCredentials, clearCredentials } from '../lib/config.js';
6
6
  import { log, spinner } from '../lib/output.js';
7
7
  import { ForgejoClient, FORGEJO_URL } from '../lib/forgejo.js';
@@ -519,6 +519,22 @@ async function exchangeBioToken(kokoUrl, kokoToken) {
519
519
  log.dim(' Bio-id: token exchange skipped (Bio-id may be unavailable)');
520
520
  }
521
521
  }
522
+ /**
523
+ * Store a Forgejo PAT in the system git credential helper so that
524
+ * `git pull/push` over HTTPS works without manual token entry.
525
+ */
526
+ function storeGitCredential(username, token) {
527
+ try {
528
+ const input = `protocol=https\nhost=git.insureco.io\nusername=${username}\npassword=${token}\n`;
529
+ // Reject any stale credentials first, then approve the new ones
530
+ execSync('git credential reject', { input: `protocol=https\nhost=git.insureco.io\n`, encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] });
531
+ execSync('git credential approve', { input, encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] });
532
+ return true;
533
+ }
534
+ catch {
535
+ return false;
536
+ }
537
+ }
522
538
  async function provisionGitAccount(email, name) {
523
539
  try {
524
540
  const builder = await BuilderClient.create();
@@ -533,7 +549,14 @@ async function provisionGitAccount(email, name) {
533
549
  }
534
550
  if (token) {
535
551
  ForgejoClient.saveCredentials(FORGEJO_URL, token, 'pat', undefined, undefined, username);
536
- log.dim(` Git credentials saved for ${username}`);
552
+ // Also store in the system git credential helper for git CLI usage
553
+ const stored = storeGitCredential(username, token);
554
+ if (stored) {
555
+ log.dim(` Git credentials saved for ${username} (CLI + git)`);
556
+ }
557
+ else {
558
+ log.dim(` Git credentials saved for ${username} (CLI only — run "git credential approve" manually)`);
559
+ }
537
560
  }
538
561
  else {
539
562
  log.dim(' Git token not available (you can run "tawa git login" later)');