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.
- package/dist/commands/changelog.d.ts +53 -0
- package/dist/commands/changelog.d.ts.map +1 -0
- package/dist/commands/changelog.js +447 -0
- package/dist/commands/changelog.js.map +1 -0
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +3 -3
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/login.js +25 -2
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/preflight.d.ts.map +1 -1
- package/dist/commands/preflight.js +2 -1
- package/dist/commands/preflight.js.map +1 -1
- package/dist/index.js +37 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/api.d.ts +9 -0
- package/dist/lib/api.d.ts.map +1 -1
- package/dist/lib/api.js +28 -0
- package/dist/lib/api.js.map +1 -1
- package/dist/lib/builder.d.ts +10 -0
- package/dist/lib/builder.d.ts.map +1 -1
- package/dist/lib/builder.js +95 -0
- package/dist/lib/builder.js.map +1 -1
- package/dist/lib/render.d.ts +18 -0
- package/dist/lib/render.d.ts.map +1 -0
- package/dist/lib/render.js +164 -0
- package/dist/lib/render.js.map +1 -0
- package/dist/lib/validators/convention-validator.d.ts +10 -0
- package/dist/lib/validators/convention-validator.d.ts.map +1 -0
- package/dist/lib/validators/convention-validator.js +244 -0
- package/dist/lib/validators/convention-validator.js.map +1 -0
- package/dist/lib/validators/index.d.ts +1 -0
- package/dist/lib/validators/index.d.ts.map +1 -1
- package/dist/lib/validators/index.js +1 -0
- package/dist/lib/validators/index.js.map +1 -1
- package/dist/lib/watch.d.ts +1 -5
- package/dist/lib/watch.d.ts.map +1 -1
- package/dist/lib/watch.js +97 -49
- package/dist/lib/watch.js.map +1 -1
- 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":"
|
|
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"}
|
package/dist/commands/deploy.js
CHANGED
|
@@ -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
|
-
|
|
149
|
-
log.
|
|
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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"}
|
package/dist/commands/login.js
CHANGED
|
@@ -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
|
-
|
|
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)');
|