@kb-labs/release-manager-cli 0.5.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.
- package/README.md +211 -0
- package/dist/cli/commands/changelog.d.ts +17 -0
- package/dist/cli/commands/changelog.js +156 -0
- package/dist/cli/commands/changelog.js.map +1 -0
- package/dist/cli/commands/plan.d.ts +12 -0
- package/dist/cli/commands/plan.js +117 -0
- package/dist/cli/commands/plan.js.map +1 -0
- package/dist/cli/commands/publish.d.ts +15 -0
- package/dist/cli/commands/publish.js +486 -0
- package/dist/cli/commands/publish.js.map +1 -0
- package/dist/cli/commands/report.d.ts +9 -0
- package/dist/cli/commands/report.js +77 -0
- package/dist/cli/commands/report.js.map +1 -0
- package/dist/cli/commands/rollback.d.ts +9 -0
- package/dist/cli/commands/rollback.js +42 -0
- package/dist/cli/commands/rollback.js.map +1 -0
- package/dist/cli/commands/run.d.ts +16 -0
- package/dist/cli/commands/run.js +539 -0
- package/dist/cli/commands/run.js.map +1 -0
- package/dist/cli/commands/verify.d.ts +14 -0
- package/dist/cli/commands/verify.js +106 -0
- package/dist/cli/commands/verify.js.map +1 -0
- package/dist/contracts/release.schema.d.ts +503 -0
- package/dist/contracts/release.schema.js +45 -0
- package/dist/contracts/release.schema.js.map +1 -0
- package/dist/index.d.ts +76 -0
- package/dist/index.js +689 -0
- package/dist/index.js.map +1 -0
- package/dist/manifest.d.ts +292 -0
- package/dist/manifest.js +604 -0
- package/dist/manifest.js.map +1 -0
- package/dist/rest/handlers/build-handler.d.ts +20 -0
- package/dist/rest/handlers/build-handler.js +68 -0
- package/dist/rest/handlers/build-handler.js.map +1 -0
- package/dist/rest/handlers/changelog-generate-handler.d.ts +20 -0
- package/dist/rest/handlers/changelog-generate-handler.js +169 -0
- package/dist/rest/handlers/changelog-generate-handler.js.map +1 -0
- package/dist/rest/handlers/changelog-handler.d.ts +16 -0
- package/dist/rest/handlers/changelog-handler.js +50 -0
- package/dist/rest/handlers/changelog-handler.js.map +1 -0
- package/dist/rest/handlers/changelog-save-handler.d.ts +13 -0
- package/dist/rest/handlers/changelog-save-handler.js +42 -0
- package/dist/rest/handlers/changelog-save-handler.js.map +1 -0
- package/dist/rest/handlers/checklist-handler.d.ts +39 -0
- package/dist/rest/handlers/checklist-handler.js +155 -0
- package/dist/rest/handlers/checklist-handler.js.map +1 -0
- package/dist/rest/handlers/generate-handler.d.ts +35 -0
- package/dist/rest/handlers/generate-handler.js +206 -0
- package/dist/rest/handlers/generate-handler.js.map +1 -0
- package/dist/rest/handlers/get-checks-handler.d.ts +15 -0
- package/dist/rest/handlers/get-checks-handler.js +22 -0
- package/dist/rest/handlers/get-checks-handler.js.map +1 -0
- package/dist/rest/handlers/git-timeline-handler.d.ts +26 -0
- package/dist/rest/handlers/git-timeline-handler.js +209 -0
- package/dist/rest/handlers/git-timeline-handler.js.map +1 -0
- package/dist/rest/handlers/history-changelog-handler.d.ts +14 -0
- package/dist/rest/handlers/history-changelog-handler.js +34 -0
- package/dist/rest/handlers/history-changelog-handler.js.map +1 -0
- package/dist/rest/handlers/history-handler.d.ts +20 -0
- package/dist/rest/handlers/history-handler.js +75 -0
- package/dist/rest/handlers/history-handler.js.map +1 -0
- package/dist/rest/handlers/history-plan-handler.d.ts +30 -0
- package/dist/rest/handlers/history-plan-handler.js +34 -0
- package/dist/rest/handlers/history-plan-handler.js.map +1 -0
- package/dist/rest/handlers/history-report-handler.d.ts +64 -0
- package/dist/rest/handlers/history-report-handler.js +34 -0
- package/dist/rest/handlers/history-report-handler.js.map +1 -0
- package/dist/rest/handlers/plan-handler.d.ts +29 -0
- package/dist/rest/handlers/plan-handler.js +75 -0
- package/dist/rest/handlers/plan-handler.js.map +1 -0
- package/dist/rest/handlers/preview-handler.d.ts +26 -0
- package/dist/rest/handlers/preview-handler.js +127 -0
- package/dist/rest/handlers/preview-handler.js.map +1 -0
- package/dist/rest/handlers/report-handler.d.ts +65 -0
- package/dist/rest/handlers/report-handler.js +48 -0
- package/dist/rest/handlers/report-handler.js.map +1 -0
- package/dist/rest/handlers/reset-handler.d.ts +12 -0
- package/dist/rest/handlers/reset-handler.js +38 -0
- package/dist/rest/handlers/reset-handler.js.map +1 -0
- package/dist/rest/handlers/run-checks-handler.d.ts +20 -0
- package/dist/rest/handlers/run-checks-handler.js +58 -0
- package/dist/rest/handlers/run-checks-handler.js.map +1 -0
- package/dist/rest/handlers/run-handler.d.ts +68 -0
- package/dist/rest/handlers/run-handler.js +274 -0
- package/dist/rest/handlers/run-handler.js.map +1 -0
- package/dist/rest/handlers/scopes-handler.d.ts +20 -0
- package/dist/rest/handlers/scopes-handler.js +63 -0
- package/dist/rest/handlers/scopes-handler.js.map +1 -0
- package/dist/rest/handlers/status-handler.d.ts +24 -0
- package/dist/rest/handlers/status-handler.js +120 -0
- package/dist/rest/handlers/status-handler.js.map +1 -0
- package/dist/setup/handler.d.ts +19 -0
- package/dist/setup/handler.js +103 -0
- package/dist/setup/handler.js.map +1 -0
- package/dist/widgets/220.js +446 -0
- package/dist/widgets/220.js.map +1 -0
- package/dist/widgets/331.js +2 -0
- package/dist/widgets/331.js.map +1 -0
- package/dist/widgets/403.js +2 -0
- package/dist/widgets/403.js.map +1 -0
- package/dist/widgets/406.js +35 -0
- package/dist/widgets/406.js.map +1 -0
- package/dist/widgets/455.js +2 -0
- package/dist/widgets/455.js.map +1 -0
- package/dist/widgets/482.js +2 -0
- package/dist/widgets/482.js.map +1 -0
- package/dist/widgets/485.js +2 -0
- package/dist/widgets/485.js.map +1 -0
- package/dist/widgets/527.js +2 -0
- package/dist/widgets/527.js.map +1 -0
- package/dist/widgets/628.js +2 -0
- package/dist/widgets/628.js.map +1 -0
- package/dist/widgets/694.js +2 -0
- package/dist/widgets/694.js.map +1 -0
- package/dist/widgets/712.js +2 -0
- package/dist/widgets/712.js.map +1 -0
- package/dist/widgets/866.js +2 -0
- package/dist/widgets/866.js.map +1 -0
- package/dist/widgets/915.js +39 -0
- package/dist/widgets/915.js.map +1 -0
- package/dist/widgets/957.js +10 -0
- package/dist/widgets/957.js.map +1 -0
- package/dist/widgets/983.js +2 -0
- package/dist/widgets/983.js.map +1 -0
- package/dist/widgets/@mf-types.d.ts +3 -0
- package/dist/widgets/@mf-types.zip +0 -0
- package/dist/widgets/__federation_expose_ReleasePage.js +2 -0
- package/dist/widgets/__federation_expose_ReleasePage.js.map +1 -0
- package/dist/widgets/mf-manifest.json +260 -0
- package/dist/widgets/mf-stats.json +302 -0
- package/dist/widgets/remoteEntry.js +7 -0
- package/dist/widgets/remoteEntry.js.map +1 -0
- package/package.json +81 -0
package/dist/manifest.js
ADDED
|
@@ -0,0 +1,604 @@
|
|
|
1
|
+
import { combinePermissions, gitWorkflowPreset, kbPlatformPreset, npmPublishPreset, ciEnvironmentPreset, defineCommandFlags } from '@kb-labs/sdk';
|
|
2
|
+
import { RELEASE_CACHE_PREFIX, RELEASE_ROUTES, RELEASE_BASE_PATH } from '@kb-labs/release-manager-contracts';
|
|
3
|
+
|
|
4
|
+
// src/manifest.ts
|
|
5
|
+
var pluginPermissions = combinePermissions().with(gitWorkflowPreset).with(kbPlatformPreset).with(npmPublishPreset).with(ciEnvironmentPreset).withEnv(["KB_RELEASE_*", "NODE_ENV"]).withFs({
|
|
6
|
+
mode: "readWrite",
|
|
7
|
+
allow: [
|
|
8
|
+
".kb/release/**",
|
|
9
|
+
"package.json",
|
|
10
|
+
"**/package.json",
|
|
11
|
+
"pnpm-workspace.yaml",
|
|
12
|
+
"**/*.yml",
|
|
13
|
+
"**/*.yaml",
|
|
14
|
+
"CHANGELOG.md",
|
|
15
|
+
"**/CHANGELOG.md"
|
|
16
|
+
]
|
|
17
|
+
// Note: deny patterns (*.key, *.secret, node_modules) are enforced by platform
|
|
18
|
+
}).withShell({
|
|
19
|
+
allow: ["git", "npm"]
|
|
20
|
+
// git: timeline/tagging/commits, npm: publish packages
|
|
21
|
+
}).withPlatform({
|
|
22
|
+
cache: [RELEASE_CACHE_PREFIX],
|
|
23
|
+
// Cache namespace prefix for plan/changelog caching
|
|
24
|
+
llm: true,
|
|
25
|
+
// LLM for changelog generation
|
|
26
|
+
analytics: true
|
|
27
|
+
// Track release events
|
|
28
|
+
}).withQuotas({
|
|
29
|
+
timeoutMs: 6e5,
|
|
30
|
+
// 10 min for complex releases
|
|
31
|
+
memoryMb: 2048,
|
|
32
|
+
cpuMs: 3e5
|
|
33
|
+
// 5 min CPU time
|
|
34
|
+
}).build();
|
|
35
|
+
var manifest = {
|
|
36
|
+
schema: "kb.plugin/3",
|
|
37
|
+
id: "@kb-labs/release",
|
|
38
|
+
version: "0.1.0",
|
|
39
|
+
display: {
|
|
40
|
+
name: "Release Manager",
|
|
41
|
+
description: "Plan, execute, and audit releases across your workspace.",
|
|
42
|
+
tags: ["release", "publish", "versioning"]
|
|
43
|
+
},
|
|
44
|
+
// Platform requirements
|
|
45
|
+
platform: {
|
|
46
|
+
requires: ["storage", "cache"],
|
|
47
|
+
// cache required for plan/changelog caching
|
|
48
|
+
optional: ["llm", "analytics", "logger"]
|
|
49
|
+
},
|
|
50
|
+
// Setup handler - V3 pattern
|
|
51
|
+
setup: {
|
|
52
|
+
handler: "./setup/handler.js#default",
|
|
53
|
+
handlerPath: "./setup/handler.js",
|
|
54
|
+
describe: "Prepare the .kb/release workspace (plans, reports, backups)."
|
|
55
|
+
},
|
|
56
|
+
// CLI commands - V3 format
|
|
57
|
+
cli: {
|
|
58
|
+
commands: [
|
|
59
|
+
// release:plan - Analyze changes and prepare release plan
|
|
60
|
+
{
|
|
61
|
+
id: "release:plan",
|
|
62
|
+
group: "release",
|
|
63
|
+
describe: "Analyze changes and prepare release plan",
|
|
64
|
+
longDescription: "Detect modified packages and compute version bumps based on changes",
|
|
65
|
+
handler: "./cli/commands/plan.js#default",
|
|
66
|
+
handlerPath: "./cli/commands/plan.js",
|
|
67
|
+
flags: defineCommandFlags({
|
|
68
|
+
scope: { type: "string", description: "Package scope (glob pattern)" },
|
|
69
|
+
bump: {
|
|
70
|
+
type: "string",
|
|
71
|
+
choices: ["patch", "minor", "major", "auto"],
|
|
72
|
+
default: "auto",
|
|
73
|
+
description: "Version bump strategy"
|
|
74
|
+
},
|
|
75
|
+
json: { type: "boolean", description: "Print plan as JSON" }
|
|
76
|
+
}),
|
|
77
|
+
examples: [
|
|
78
|
+
"kb release plan",
|
|
79
|
+
"kb release plan --scope packages/*",
|
|
80
|
+
"kb release plan --bump minor",
|
|
81
|
+
"kb release plan --json"
|
|
82
|
+
]
|
|
83
|
+
},
|
|
84
|
+
// release:run - Execute release process
|
|
85
|
+
{
|
|
86
|
+
id: "release:run",
|
|
87
|
+
group: "release",
|
|
88
|
+
describe: "Execute release process (plan, check, publish)",
|
|
89
|
+
longDescription: "Run full release: plan versions, run checks, publish packages",
|
|
90
|
+
handler: "./cli/commands/run.js#default",
|
|
91
|
+
handlerPath: "./cli/commands/run.js",
|
|
92
|
+
flags: defineCommandFlags({
|
|
93
|
+
scope: { type: "string", description: "Package scope (glob pattern)" },
|
|
94
|
+
strict: { type: "boolean", description: "Fail on any check failure" },
|
|
95
|
+
"dry-run": { type: "boolean", description: "Simulate release without publishing" },
|
|
96
|
+
"skip-checks": { type: "boolean", description: "Skip pre-release checks" },
|
|
97
|
+
json: { type: "boolean", description: "Print result as JSON" }
|
|
98
|
+
}),
|
|
99
|
+
examples: [
|
|
100
|
+
"kb release run",
|
|
101
|
+
"kb release run --dry-run",
|
|
102
|
+
"kb release run --strict --json",
|
|
103
|
+
"kb release run --scope packages/core"
|
|
104
|
+
]
|
|
105
|
+
},
|
|
106
|
+
// release:publish - Publish packages to npm
|
|
107
|
+
{
|
|
108
|
+
id: "release:publish",
|
|
109
|
+
group: "release",
|
|
110
|
+
describe: "Publish packages to npm registry with interactive OTP",
|
|
111
|
+
longDescription: "Smart npm publish with interactive 2FA support and better UX",
|
|
112
|
+
handler: "./cli/commands/publish.js#default",
|
|
113
|
+
handlerPath: "./cli/commands/publish.js",
|
|
114
|
+
flags: defineCommandFlags({
|
|
115
|
+
scope: { type: "string", description: "Package scope (glob pattern)" },
|
|
116
|
+
otp: { type: "string", description: "One-time password (optional, will prompt if needed)" },
|
|
117
|
+
"dry-run": { type: "boolean", description: "Simulate publish without actually publishing" },
|
|
118
|
+
tag: { type: "string", description: "NPM dist-tag (default: latest)" },
|
|
119
|
+
access: {
|
|
120
|
+
type: "string",
|
|
121
|
+
choices: ["public", "restricted"],
|
|
122
|
+
description: "Package access level"
|
|
123
|
+
},
|
|
124
|
+
token: { type: "string", description: "NPM auth token (overrides NPM_TOKEN env)" },
|
|
125
|
+
json: { type: "boolean", description: "Output in JSON format" }
|
|
126
|
+
}),
|
|
127
|
+
examples: [
|
|
128
|
+
"kb release publish",
|
|
129
|
+
"kb release publish --scope @kb-labs/core",
|
|
130
|
+
"kb release publish --otp 123456",
|
|
131
|
+
"kb release publish --dry-run",
|
|
132
|
+
"kb release publish --tag next --access public"
|
|
133
|
+
]
|
|
134
|
+
},
|
|
135
|
+
// release:rollback - Rollback last release
|
|
136
|
+
{
|
|
137
|
+
id: "release:rollback",
|
|
138
|
+
group: "release",
|
|
139
|
+
describe: "Rollback last release",
|
|
140
|
+
longDescription: "Restore workspace state from backup snapshot",
|
|
141
|
+
handler: "./cli/commands/rollback.js#default",
|
|
142
|
+
handlerPath: "./cli/commands/rollback.js",
|
|
143
|
+
flags: defineCommandFlags({
|
|
144
|
+
json: { type: "boolean", description: "Output in JSON format" }
|
|
145
|
+
}),
|
|
146
|
+
examples: ["kb release rollback", "kb release rollback --json"]
|
|
147
|
+
},
|
|
148
|
+
// release:report - Show last release report
|
|
149
|
+
{
|
|
150
|
+
id: "release:report",
|
|
151
|
+
group: "release",
|
|
152
|
+
describe: "Show last release report",
|
|
153
|
+
longDescription: "Display the most recent release execution report",
|
|
154
|
+
handler: "./cli/commands/report.js#default",
|
|
155
|
+
handlerPath: "./cli/commands/report.js",
|
|
156
|
+
flags: defineCommandFlags({
|
|
157
|
+
json: { type: "boolean", description: "Output in JSON format" }
|
|
158
|
+
}),
|
|
159
|
+
examples: ["kb release report", "kb release report --json"]
|
|
160
|
+
},
|
|
161
|
+
// release:changelog - Generate changelog
|
|
162
|
+
{
|
|
163
|
+
id: "release:changelog",
|
|
164
|
+
group: "release",
|
|
165
|
+
describe: "Generate changelog from conventional commits",
|
|
166
|
+
longDescription: "Parse git history and generate changelog with conventional commits support",
|
|
167
|
+
handler: "./cli/commands/changelog.js#default",
|
|
168
|
+
handlerPath: "./cli/commands/changelog.js",
|
|
169
|
+
flags: defineCommandFlags({
|
|
170
|
+
scope: { type: "string", description: "Filter to specific package" },
|
|
171
|
+
from: { type: "string", description: "Start commit/tag" },
|
|
172
|
+
to: { type: "string", description: "End commit/tag (default: HEAD)" },
|
|
173
|
+
"since-tag": { type: "string", description: "Shorthand for --from <tag>" },
|
|
174
|
+
format: {
|
|
175
|
+
type: "string",
|
|
176
|
+
choices: ["json", "md", "both"],
|
|
177
|
+
default: "both",
|
|
178
|
+
description: "Output format"
|
|
179
|
+
},
|
|
180
|
+
level: {
|
|
181
|
+
type: "string",
|
|
182
|
+
choices: ["compact", "standard", "detailed"],
|
|
183
|
+
default: "standard",
|
|
184
|
+
description: "Detail level"
|
|
185
|
+
},
|
|
186
|
+
template: {
|
|
187
|
+
type: "string",
|
|
188
|
+
description: "Template name (builtin: corporate, corporate-ai, technical, compact) or custom path"
|
|
189
|
+
},
|
|
190
|
+
"breaking-only": { type: "boolean", description: "Show only breaking changes" },
|
|
191
|
+
include: { type: "string", description: "Comma-separated types to include" },
|
|
192
|
+
exclude: { type: "string", description: "Types to exclude" },
|
|
193
|
+
"workspace-only": { type: "boolean", description: "Only workspace changelog" },
|
|
194
|
+
"per-package": { type: "boolean", description: "Only per-package changelogs" },
|
|
195
|
+
force: { type: "boolean", description: "Skip audit gate" },
|
|
196
|
+
"allow-major": { type: "boolean", description: "Allow major bumps for experimental packages" },
|
|
197
|
+
preid: { type: "string", description: "Pre-release identifier (rc, beta, alpha)" }
|
|
198
|
+
}),
|
|
199
|
+
examples: [
|
|
200
|
+
"kb release changelog",
|
|
201
|
+
"kb release changelog --from v1.0.0",
|
|
202
|
+
"kb release changelog --format md --level detailed",
|
|
203
|
+
"kb release changelog --template corporate-ai",
|
|
204
|
+
"kb release changelog --template ./my-template.ts",
|
|
205
|
+
"kb release changelog --breaking-only"
|
|
206
|
+
]
|
|
207
|
+
},
|
|
208
|
+
// release:verify - Validate release readiness
|
|
209
|
+
{
|
|
210
|
+
id: "release:verify",
|
|
211
|
+
group: "release",
|
|
212
|
+
describe: "Validate release readiness",
|
|
213
|
+
longDescription: "Validate release readiness via flag gates (packages, breaking changes, commit types)",
|
|
214
|
+
handler: "./cli/commands/verify.js#default",
|
|
215
|
+
handlerPath: "./cli/commands/verify.js",
|
|
216
|
+
flags: defineCommandFlags({
|
|
217
|
+
"fail-if-empty": { type: "boolean", description: "Fail if no version bumps needed" },
|
|
218
|
+
"fail-on-breaking": { type: "boolean", description: "Fail if breaking changes detected" },
|
|
219
|
+
"allow-types": {
|
|
220
|
+
type: "string",
|
|
221
|
+
description: "Comma-separated types required (e.g., feat,fix)"
|
|
222
|
+
},
|
|
223
|
+
json: { type: "boolean", description: "Output in JSON format" }
|
|
224
|
+
}),
|
|
225
|
+
examples: [
|
|
226
|
+
"kb release verify",
|
|
227
|
+
"kb release verify --fail-if-empty",
|
|
228
|
+
"kb release verify --allow-types feat,fix"
|
|
229
|
+
]
|
|
230
|
+
}
|
|
231
|
+
]
|
|
232
|
+
},
|
|
233
|
+
// REST API routes - V3 format (scope-based architecture)
|
|
234
|
+
rest: {
|
|
235
|
+
basePath: RELEASE_BASE_PATH,
|
|
236
|
+
routes: [
|
|
237
|
+
// GET /scopes - List available release scopes
|
|
238
|
+
{
|
|
239
|
+
method: "GET",
|
|
240
|
+
path: RELEASE_ROUTES.SCOPES,
|
|
241
|
+
handler: "./rest/handlers/scopes-handler.js#default",
|
|
242
|
+
handlerPath: "./rest/handlers/scopes-handler.js",
|
|
243
|
+
output: {
|
|
244
|
+
zod: "@kb-labs/release-manager-contracts#ScopesResponseSchema"
|
|
245
|
+
}
|
|
246
|
+
},
|
|
247
|
+
// GET /status - Get release status for a scope
|
|
248
|
+
{
|
|
249
|
+
method: "GET",
|
|
250
|
+
path: RELEASE_ROUTES.STATUS,
|
|
251
|
+
handler: "./rest/handlers/status-handler.js#default",
|
|
252
|
+
handlerPath: "./rest/handlers/status-handler.js",
|
|
253
|
+
output: {
|
|
254
|
+
zod: "@kb-labs/release-manager-contracts#StatusResponseSchema"
|
|
255
|
+
}
|
|
256
|
+
},
|
|
257
|
+
// GET /plan - Get current release plan for a scope
|
|
258
|
+
{
|
|
259
|
+
method: "GET",
|
|
260
|
+
path: RELEASE_ROUTES.PLAN,
|
|
261
|
+
handler: "./rest/handlers/plan-handler.js#default",
|
|
262
|
+
handlerPath: "./rest/handlers/plan-handler.js",
|
|
263
|
+
input: {
|
|
264
|
+
zod: "@kb-labs/release-manager-contracts#PlanInputSchema"
|
|
265
|
+
},
|
|
266
|
+
output: {
|
|
267
|
+
zod: "@kb-labs/release-manager-contracts#PlanResponseSchema"
|
|
268
|
+
}
|
|
269
|
+
},
|
|
270
|
+
// POST /generate - Generate release plan (LLM)
|
|
271
|
+
{
|
|
272
|
+
method: "POST",
|
|
273
|
+
path: RELEASE_ROUTES.GENERATE,
|
|
274
|
+
handler: "./rest/handlers/generate-handler.js#default",
|
|
275
|
+
handlerPath: "./rest/handlers/generate-handler.js",
|
|
276
|
+
input: {
|
|
277
|
+
zod: "@kb-labs/release-manager-contracts#GeneratePlanRequestSchema"
|
|
278
|
+
},
|
|
279
|
+
output: {
|
|
280
|
+
zod: "@kb-labs/release-manager-contracts#GeneratePlanResponseSchema"
|
|
281
|
+
},
|
|
282
|
+
timeoutMs: 12e4
|
|
283
|
+
// 2 minutes for LLM analysis
|
|
284
|
+
},
|
|
285
|
+
// DELETE /plan - Reset release plan
|
|
286
|
+
{
|
|
287
|
+
method: "DELETE",
|
|
288
|
+
path: RELEASE_ROUTES.RESET,
|
|
289
|
+
handler: "./rest/handlers/reset-handler.js#default",
|
|
290
|
+
handlerPath: "./rest/handlers/reset-handler.js",
|
|
291
|
+
input: {
|
|
292
|
+
zod: "@kb-labs/release-manager-contracts#ResetPlanRequestSchema"
|
|
293
|
+
},
|
|
294
|
+
output: {
|
|
295
|
+
zod: "@kb-labs/release-manager-contracts#ResetPlanResponseSchema"
|
|
296
|
+
}
|
|
297
|
+
},
|
|
298
|
+
// GET /changelog - Get changelog for a scope
|
|
299
|
+
{
|
|
300
|
+
method: "GET",
|
|
301
|
+
path: RELEASE_ROUTES.CHANGELOG,
|
|
302
|
+
handler: "./rest/handlers/changelog-handler.js#default",
|
|
303
|
+
handlerPath: "./rest/handlers/changelog-handler.js",
|
|
304
|
+
input: {
|
|
305
|
+
zod: "@kb-labs/release-manager-contracts#ChangelogInputSchema"
|
|
306
|
+
},
|
|
307
|
+
output: {
|
|
308
|
+
zod: "@kb-labs/release-manager-contracts#ChangelogResponseSchema"
|
|
309
|
+
}
|
|
310
|
+
},
|
|
311
|
+
// POST /changelog/generate - Generate changelog (LLM)
|
|
312
|
+
{
|
|
313
|
+
method: "POST",
|
|
314
|
+
path: RELEASE_ROUTES.CHANGELOG_GENERATE,
|
|
315
|
+
handler: "./rest/handlers/changelog-generate-handler.js#default",
|
|
316
|
+
handlerPath: "./rest/handlers/changelog-generate-handler.js",
|
|
317
|
+
input: {
|
|
318
|
+
zod: "@kb-labs/release-manager-contracts#GenerateChangelogRequestSchema"
|
|
319
|
+
},
|
|
320
|
+
output: {
|
|
321
|
+
zod: "@kb-labs/release-manager-contracts#GenerateChangelogResponseSchema"
|
|
322
|
+
},
|
|
323
|
+
timeoutMs: 12e4
|
|
324
|
+
// 2 minutes for LLM generation
|
|
325
|
+
},
|
|
326
|
+
// POST /changelog/save - Save edited changelog
|
|
327
|
+
{
|
|
328
|
+
method: "POST",
|
|
329
|
+
path: RELEASE_ROUTES.CHANGELOG_SAVE,
|
|
330
|
+
handler: "./rest/handlers/changelog-save-handler.js#default",
|
|
331
|
+
handlerPath: "./rest/handlers/changelog-save-handler.js",
|
|
332
|
+
input: {
|
|
333
|
+
zod: "@kb-labs/release-manager-contracts#SaveChangelogRequestSchema"
|
|
334
|
+
},
|
|
335
|
+
output: {
|
|
336
|
+
zod: "@kb-labs/release-manager-contracts#SaveChangelogResponseSchema"
|
|
337
|
+
}
|
|
338
|
+
},
|
|
339
|
+
// POST /run - Execute release process
|
|
340
|
+
{
|
|
341
|
+
method: "POST",
|
|
342
|
+
path: RELEASE_ROUTES.RUN,
|
|
343
|
+
handler: "./rest/handlers/run-handler.js#default",
|
|
344
|
+
handlerPath: "./rest/handlers/run-handler.js",
|
|
345
|
+
input: {
|
|
346
|
+
zod: "@kb-labs/release-manager-contracts#RunReleaseRequestSchema"
|
|
347
|
+
},
|
|
348
|
+
output: {
|
|
349
|
+
zod: "@kb-labs/release-manager-contracts#RunReleaseResponseSchema"
|
|
350
|
+
},
|
|
351
|
+
timeoutMs: 3e5
|
|
352
|
+
// 5 minutes for release execution
|
|
353
|
+
},
|
|
354
|
+
// GET /report - Get latest release report
|
|
355
|
+
{
|
|
356
|
+
method: "GET",
|
|
357
|
+
path: RELEASE_ROUTES.REPORT,
|
|
358
|
+
handler: "./rest/handlers/report-handler.js#default",
|
|
359
|
+
handlerPath: "./rest/handlers/report-handler.js",
|
|
360
|
+
output: {
|
|
361
|
+
zod: "@kb-labs/release-manager-contracts#ReportResponseSchema"
|
|
362
|
+
}
|
|
363
|
+
},
|
|
364
|
+
// GET /history - Get release history
|
|
365
|
+
{
|
|
366
|
+
method: "GET",
|
|
367
|
+
path: RELEASE_ROUTES.HISTORY,
|
|
368
|
+
handler: "./rest/handlers/history-handler.js#default",
|
|
369
|
+
handlerPath: "./rest/handlers/history-handler.js",
|
|
370
|
+
output: {
|
|
371
|
+
zod: "@kb-labs/release-manager-contracts#HistoryResponseSchema"
|
|
372
|
+
}
|
|
373
|
+
},
|
|
374
|
+
// GET /history/:id/report - Get historical release report
|
|
375
|
+
{
|
|
376
|
+
method: "GET",
|
|
377
|
+
path: RELEASE_ROUTES.HISTORY_REPORT,
|
|
378
|
+
handler: "./rest/handlers/history-report-handler.js#default",
|
|
379
|
+
handlerPath: "./rest/handlers/history-report-handler.js",
|
|
380
|
+
output: {
|
|
381
|
+
zod: "@kb-labs/release-manager-contracts#HistoryReportResponseSchema"
|
|
382
|
+
}
|
|
383
|
+
},
|
|
384
|
+
// GET /history/:id/plan - Get historical release plan
|
|
385
|
+
{
|
|
386
|
+
method: "GET",
|
|
387
|
+
path: RELEASE_ROUTES.HISTORY_PLAN,
|
|
388
|
+
handler: "./rest/handlers/history-plan-handler.js#default",
|
|
389
|
+
handlerPath: "./rest/handlers/history-plan-handler.js",
|
|
390
|
+
output: {
|
|
391
|
+
zod: "@kb-labs/release-manager-contracts#HistoryPlanResponseSchema"
|
|
392
|
+
}
|
|
393
|
+
},
|
|
394
|
+
// GET /history/:id/changelog - Get historical changelog
|
|
395
|
+
{
|
|
396
|
+
method: "GET",
|
|
397
|
+
path: RELEASE_ROUTES.HISTORY_CHANGELOG,
|
|
398
|
+
handler: "./rest/handlers/history-changelog-handler.js#default",
|
|
399
|
+
handlerPath: "./rest/handlers/history-changelog-handler.js",
|
|
400
|
+
output: {
|
|
401
|
+
zod: "@kb-labs/release-manager-contracts#HistoryChangelogResponseSchema"
|
|
402
|
+
}
|
|
403
|
+
},
|
|
404
|
+
// GET /git-timeline - Get git commit timeline and version preview
|
|
405
|
+
{
|
|
406
|
+
method: "GET",
|
|
407
|
+
path: RELEASE_ROUTES.GIT_TIMELINE,
|
|
408
|
+
handler: "./rest/handlers/git-timeline-handler.js#default",
|
|
409
|
+
handlerPath: "./rest/handlers/git-timeline-handler.js",
|
|
410
|
+
output: {
|
|
411
|
+
zod: "@kb-labs/release-manager-contracts#GitTimelineResponseSchema"
|
|
412
|
+
}
|
|
413
|
+
},
|
|
414
|
+
// GET /preview - Preview package contents before publish
|
|
415
|
+
{
|
|
416
|
+
method: "GET",
|
|
417
|
+
path: RELEASE_ROUTES.PREVIEW,
|
|
418
|
+
handler: "./rest/handlers/preview-handler.js#default",
|
|
419
|
+
handlerPath: "./rest/handlers/preview-handler.js",
|
|
420
|
+
output: {
|
|
421
|
+
zod: "@kb-labs/release-manager-contracts#PreviewResponseSchema"
|
|
422
|
+
}
|
|
423
|
+
},
|
|
424
|
+
// POST /build - Trigger package build
|
|
425
|
+
{
|
|
426
|
+
method: "POST",
|
|
427
|
+
path: RELEASE_ROUTES.BUILD,
|
|
428
|
+
handler: "./rest/handlers/build-handler.js#default",
|
|
429
|
+
handlerPath: "./rest/handlers/build-handler.js",
|
|
430
|
+
input: {
|
|
431
|
+
zod: "@kb-labs/release-manager-contracts#BuildRequestSchema"
|
|
432
|
+
},
|
|
433
|
+
output: {
|
|
434
|
+
zod: "@kb-labs/release-manager-contracts#BuildResponseSchema"
|
|
435
|
+
},
|
|
436
|
+
timeoutMs: 3e5
|
|
437
|
+
// 5 minutes for build
|
|
438
|
+
},
|
|
439
|
+
// GET /checklist - Get unified release checklist status
|
|
440
|
+
{
|
|
441
|
+
method: "GET",
|
|
442
|
+
path: RELEASE_ROUTES.CHECKLIST,
|
|
443
|
+
handler: "./rest/handlers/checklist-handler.js#default",
|
|
444
|
+
handlerPath: "./rest/handlers/checklist-handler.js",
|
|
445
|
+
output: {
|
|
446
|
+
zod: "@kb-labs/release-manager-contracts#ReleaseChecklistSchema"
|
|
447
|
+
}
|
|
448
|
+
},
|
|
449
|
+
// GET /checks - Get list of configured checks (without running them)
|
|
450
|
+
{
|
|
451
|
+
method: "GET",
|
|
452
|
+
path: RELEASE_ROUTES.CHECKS,
|
|
453
|
+
handler: "./rest/handlers/get-checks-handler.js#default",
|
|
454
|
+
handlerPath: "./rest/handlers/get-checks-handler.js",
|
|
455
|
+
output: {
|
|
456
|
+
zod: "@kb-labs/release-manager-contracts#GetChecksResponseSchema"
|
|
457
|
+
}
|
|
458
|
+
},
|
|
459
|
+
// POST /checks/run - Run pre-release checks from kb.config.json release.checks
|
|
460
|
+
{
|
|
461
|
+
method: "POST",
|
|
462
|
+
path: RELEASE_ROUTES.CHECKS_RUN,
|
|
463
|
+
handler: "./rest/handlers/run-checks-handler.js#default",
|
|
464
|
+
handlerPath: "./rest/handlers/run-checks-handler.js",
|
|
465
|
+
input: {
|
|
466
|
+
zod: "@kb-labs/release-manager-contracts#RunChecksRequestSchema"
|
|
467
|
+
},
|
|
468
|
+
output: {
|
|
469
|
+
zod: "@kb-labs/release-manager-contracts#RunChecksResponseSchema"
|
|
470
|
+
},
|
|
471
|
+
timeoutMs: 6e5
|
|
472
|
+
// 10 minutes - all checks combined
|
|
473
|
+
}
|
|
474
|
+
]
|
|
475
|
+
},
|
|
476
|
+
// Studio V2 — Module Federation pages
|
|
477
|
+
studio: {
|
|
478
|
+
version: 2,
|
|
479
|
+
remoteName: "releasePlugin",
|
|
480
|
+
pages: [
|
|
481
|
+
{
|
|
482
|
+
id: "release.overview",
|
|
483
|
+
title: "Release",
|
|
484
|
+
icon: "RocketOutlined",
|
|
485
|
+
route: "/p/release",
|
|
486
|
+
entry: "./ReleasePage",
|
|
487
|
+
order: 1
|
|
488
|
+
}
|
|
489
|
+
],
|
|
490
|
+
menus: [
|
|
491
|
+
{
|
|
492
|
+
id: "release",
|
|
493
|
+
label: "Release",
|
|
494
|
+
icon: "RocketOutlined",
|
|
495
|
+
target: "release.overview",
|
|
496
|
+
order: 60
|
|
497
|
+
}
|
|
498
|
+
]
|
|
499
|
+
},
|
|
500
|
+
// Studio widgets (legacy - commented out, using new UI integration)
|
|
501
|
+
// studio_legacy: {
|
|
502
|
+
// widgets: [
|
|
503
|
+
// {
|
|
504
|
+
// id: 'release.plan',
|
|
505
|
+
// kind: 'infopanel',
|
|
506
|
+
// title: 'Latest Release Plan',
|
|
507
|
+
// description: 'Shows the most recent release plan generated via `kb release plan`.',
|
|
508
|
+
// data: {
|
|
509
|
+
// source: {
|
|
510
|
+
// type: 'rest',
|
|
511
|
+
// routeId: 'plan/latest',
|
|
512
|
+
// method: 'GET',
|
|
513
|
+
// },
|
|
514
|
+
// },
|
|
515
|
+
// layoutHint: {
|
|
516
|
+
// w: 4,
|
|
517
|
+
// h: 5,
|
|
518
|
+
// minW: 3,
|
|
519
|
+
// minH: 3,
|
|
520
|
+
// },
|
|
521
|
+
// },
|
|
522
|
+
// {
|
|
523
|
+
// id: 'release.report',
|
|
524
|
+
// kind: 'cardlist',
|
|
525
|
+
// title: 'Release Report',
|
|
526
|
+
// description: 'Status of the last release execution.',
|
|
527
|
+
// data: {
|
|
528
|
+
// source: {
|
|
529
|
+
// type: 'rest',
|
|
530
|
+
// routeId: 'report/latest',
|
|
531
|
+
// method: 'GET',
|
|
532
|
+
// },
|
|
533
|
+
// },
|
|
534
|
+
// options: {
|
|
535
|
+
// layout: 'list',
|
|
536
|
+
// },
|
|
537
|
+
// layoutHint: {
|
|
538
|
+
// w: 4,
|
|
539
|
+
// h: 4,
|
|
540
|
+
// minW: 3,
|
|
541
|
+
// minH: 3,
|
|
542
|
+
// },
|
|
543
|
+
// },
|
|
544
|
+
// ],
|
|
545
|
+
// menus: [
|
|
546
|
+
// {
|
|
547
|
+
// id: 'release-menu',
|
|
548
|
+
// label: 'Release',
|
|
549
|
+
// icon: 'RocketOutlined',
|
|
550
|
+
// target: '/plugins/release/dashboard',
|
|
551
|
+
// order: 0,
|
|
552
|
+
// },
|
|
553
|
+
// {
|
|
554
|
+
// id: 'release-dashboard',
|
|
555
|
+
// label: 'Dashboard',
|
|
556
|
+
// icon: 'DashboardOutlined',
|
|
557
|
+
// parentId: 'release-menu',
|
|
558
|
+
// target: '/plugins/release/dashboard',
|
|
559
|
+
// order: 1,
|
|
560
|
+
// },
|
|
561
|
+
// ],
|
|
562
|
+
// layouts: [
|
|
563
|
+
// {
|
|
564
|
+
// id: 'release.dashboard',
|
|
565
|
+
// kind: 'grid',
|
|
566
|
+
// title: 'Release Dashboard',
|
|
567
|
+
// description: 'Overview of release planning and execution.',
|
|
568
|
+
// config: {
|
|
569
|
+
// cols: { sm: 2, md: 4, lg: 6 },
|
|
570
|
+
// rowHeight: 5,
|
|
571
|
+
// },
|
|
572
|
+
// },
|
|
573
|
+
// ],
|
|
574
|
+
// },
|
|
575
|
+
// Auto-detects kb.config.json section for useConfig()
|
|
576
|
+
// maps to profiles[].products.release in kb.config.json
|
|
577
|
+
configSection: "release",
|
|
578
|
+
capabilities: ["fs:read", "fs:write"],
|
|
579
|
+
// V3: Manifest-first permissions using composable presets
|
|
580
|
+
permissions: pluginPermissions,
|
|
581
|
+
// Artifacts
|
|
582
|
+
artifacts: [
|
|
583
|
+
{
|
|
584
|
+
id: "release.plan.json",
|
|
585
|
+
pathTemplate: ".kb/release/plan.json",
|
|
586
|
+
description: "Serialized release plan generated by `kb release plan`."
|
|
587
|
+
},
|
|
588
|
+
{
|
|
589
|
+
id: "release.report.json",
|
|
590
|
+
pathTemplate: ".kb/release/report.json",
|
|
591
|
+
description: "Execution report emitted by `kb release run`."
|
|
592
|
+
},
|
|
593
|
+
{
|
|
594
|
+
id: "release.changelog.md",
|
|
595
|
+
pathTemplate: ".kb/release/changelog.md",
|
|
596
|
+
description: "Workspace changelog output produced during release."
|
|
597
|
+
}
|
|
598
|
+
]
|
|
599
|
+
};
|
|
600
|
+
var manifest_default = manifest;
|
|
601
|
+
|
|
602
|
+
export { manifest_default as default, manifest };
|
|
603
|
+
//# sourceMappingURL=manifest.js.map
|
|
604
|
+
//# sourceMappingURL=manifest.js.map
|