@komatikai/trailhead 3.0.3 → 4.2.2

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.
@@ -0,0 +1,338 @@
1
+ import { z } from "zod";
2
+ export const GateDecision = z.enum(["allow", "warn", "block"]);
3
+ export const HealthCheckResult = z.object({
4
+ target: z.string(),
5
+ status: GateDecision,
6
+ latencyMs: z.number(),
7
+ detail: z.record(z.unknown()).optional(),
8
+ });
9
+ export const RiskFactor = z.object({
10
+ type: z.enum([
11
+ "code_churn",
12
+ "test_coverage",
13
+ "file_count",
14
+ "sensitive_files",
15
+ "author_history",
16
+ "dependency_changes",
17
+ "pr_age",
18
+ "security_alerts",
19
+ "deployment_history",
20
+ "canary_status",
21
+ "ci_integrity",
22
+ "workflow_security",
23
+ "prompt_injection_risk",
24
+ "supply_chain",
25
+ "pr_scope",
26
+ "duplicate_logic",
27
+ "cross_repo_impact",
28
+ ]),
29
+ score: z.number().min(0).max(100),
30
+ detail: z.record(z.unknown()).optional(),
31
+ });
32
+ export const PrProvenance = z.object({
33
+ type: z.enum([
34
+ "human",
35
+ "dependabot",
36
+ "copilot",
37
+ "codex",
38
+ "claude",
39
+ "custom-bot",
40
+ "unknown",
41
+ ]),
42
+ confidence: z.number().min(0).max(1),
43
+ source: z.string().optional(),
44
+ });
45
+ export const GateMode = z.enum(["release-ready", "advisory", "risk-only"]);
46
+ export const CiCheckStatusEnum = z.enum([
47
+ "pass",
48
+ "fail",
49
+ "skip",
50
+ "pending",
51
+ "stale",
52
+ "missing",
53
+ ]);
54
+ export const CiCheck = z.object({
55
+ name: z.string(),
56
+ status: CiCheckStatusEnum,
57
+ conclusion: z.string().optional(),
58
+ detailsUrl: z.string().url().optional(),
59
+ required: z.boolean(),
60
+ });
61
+ export const CiSummary = z.object({
62
+ checks: z.array(CiCheck),
63
+ allRequiredPassed: z.boolean(),
64
+ pendingCount: z.number().int().min(0),
65
+ failedCount: z.number().int().min(0),
66
+ missingCount: z.number().int().min(0),
67
+ });
68
+ export const MatchedContext = z.object({
69
+ name: z.string(),
70
+ environment: z.string().optional(),
71
+ });
72
+ export const GateEvaluation = z.object({
73
+ id: z.string(),
74
+ repoId: z.string(),
75
+ commitSha: z.string(),
76
+ prNumber: z.number().optional(),
77
+ healthScore: z.number().min(0).max(100),
78
+ riskScore: z.number().min(0).max(100),
79
+ gateDecision: GateDecision,
80
+ healthChecks: z.array(HealthCheckResult),
81
+ riskFactors: z.array(RiskFactor),
82
+ files: z.array(z.string()).optional(),
83
+ evaluationMs: z.number(),
84
+ reportUrl: z.string().url().optional(),
85
+ environment: z.string().optional(),
86
+ service: z.string().optional(),
87
+ policyFindings: z.array(z.string()).optional(),
88
+ pr: z
89
+ .object({
90
+ provenance: PrProvenance.optional(),
91
+ })
92
+ .optional(),
93
+ session_correlation: z
94
+ .object({
95
+ burst_count: z.number().int().min(0),
96
+ window: z.string(),
97
+ })
98
+ .optional(),
99
+ escalation_status: z
100
+ .object({
101
+ enabled: z.boolean(),
102
+ target_count: z.number().int().min(0),
103
+ acknowledge_sla_minutes: z.number().int().min(1).optional(),
104
+ resolve_sla_minutes: z.number().int().min(1).optional(),
105
+ })
106
+ .optional(),
107
+ trust_profile: z
108
+ .object({
109
+ strictness: z.enum(["baseline", "elevated", "strict"]),
110
+ reason: z.string(),
111
+ })
112
+ .optional(),
113
+ policyOverride: z
114
+ .object({
115
+ owner: z.string(),
116
+ reason: z.string(),
117
+ linkedTicket: z.string(),
118
+ expiresAt: z.string(),
119
+ appliedAt: z.string(),
120
+ changes: z
121
+ .object({
122
+ failMode: z.enum(["open", "closed"]).optional(),
123
+ riskThreshold: z.number().min(0).max(100).optional(),
124
+ warnThreshold: z.number().min(0).max(100).optional(),
125
+ })
126
+ .default({}),
127
+ })
128
+ .optional(),
129
+ releaseReady: z.boolean().optional(),
130
+ releaseReadyReasons: z.array(z.string()).optional(),
131
+ ci: CiSummary.optional(),
132
+ context: MatchedContext.optional(),
133
+ gateMode: GateMode.optional(),
134
+ storePersisted: z.boolean().optional(),
135
+ cross_repo_impact: z
136
+ .object({
137
+ services: z.array(z.object({
138
+ serviceName: z.string(),
139
+ touchedFiles: z.array(z.string()),
140
+ consumers: z.array(z.object({
141
+ id: z.string(),
142
+ repo: z.string().optional(),
143
+ branch: z.string().optional(),
144
+ })),
145
+ notify_webhook: z.string().url().optional(),
146
+ })),
147
+ })
148
+ .optional(),
149
+ });
150
+ export const GateApiResponse = z.object({
151
+ id: z.string().optional(),
152
+ reportUrl: z.string().url().optional(),
153
+ healthScore: z.number().min(0).max(100).optional(),
154
+ riskScore: z.number().min(0).max(100).optional(),
155
+ gateDecision: GateDecision.optional(),
156
+ healthChecks: z.array(HealthCheckResult).optional(),
157
+ riskFactors: z.array(RiskFactor).optional(),
158
+ });
159
+ export const FreezeWindow = z.object({
160
+ days: z.array(z.string()).default([]),
161
+ afterHour: z.number().min(0).max(23).optional(),
162
+ beforeHour: z.number().min(0).max(23).optional(),
163
+ timezone: z.string().default("UTC"),
164
+ message: z.string().optional(),
165
+ });
166
+ export const EnvironmentConfig = z.object({
167
+ risk: z.number().min(0).max(100).optional(),
168
+ warn: z.number().min(0).max(100).optional(),
169
+ require_security_clear: z.boolean().optional(),
170
+ });
171
+ export const ServiceConsumerRef = z.object({
172
+ repo: z.string().min(1),
173
+ name: z.string().optional(),
174
+ branch: z.string().optional(),
175
+ notify_webhook: z.string().url().optional(),
176
+ });
177
+ export const ServiceConsumer = z.union([z.string(), ServiceConsumerRef]);
178
+ export const ConsumerRegistry = z.record(z.string(), ServiceConsumerRef);
179
+ export const ServiceMapping = z.object({
180
+ paths: z.array(z.string()),
181
+ environment: z.string().optional(),
182
+ consumers: z.array(ServiceConsumer).default([]),
183
+ contracts: z.array(z.string()).default([]),
184
+ notify_webhook: z.string().url().optional(),
185
+ });
186
+ export const SecurityConfig = z.object({
187
+ severity_threshold: z.enum(["error", "warning", "note", "none"]).default("warning"),
188
+ block_on_critical: z.boolean().default(true),
189
+ ignore_rules: z.array(z.string()).default([]),
190
+ });
191
+ export const CanaryConfig = z.object({
192
+ webhook_type: z.enum(["vercel", "generic"]).default("vercel"),
193
+ field_map: z.record(z.string()).optional(),
194
+ rollback_on_failure: z.boolean().default(false),
195
+ });
196
+ export const RiskProfileMatch = z.object({
197
+ files_include: z.array(z.string()).default([]),
198
+ files_exclude: z.array(z.string()).default([]),
199
+ min_files: z.number().int().min(1).optional(),
200
+ max_files: z.number().int().min(1).optional(),
201
+ });
202
+ export const RiskProfile = z.object({
203
+ name: z.string().optional(),
204
+ match: RiskProfileMatch,
205
+ weights: z.record(z.number().min(0).max(10)).default({}),
206
+ });
207
+ export const ContextMatch = z.object({
208
+ base_branch: z.array(z.string()).default([]),
209
+ head_branch: z.array(z.string()).default([]),
210
+ labels: z.array(z.string()).default([]),
211
+ });
212
+ export const ContextCiConfig = z.object({
213
+ required_checks: z.array(z.string()).default([]),
214
+ optional_checks: z.array(z.string()).default([]),
215
+ missing_required: z.enum(["fail", "skip"]).default("fail"),
216
+ });
217
+ export const TrailheadContext = z.object({
218
+ name: z.string(),
219
+ match: ContextMatch,
220
+ environment: z.string().optional(),
221
+ thresholds: z
222
+ .object({
223
+ risk: z.number().min(0).max(100).optional(),
224
+ warn: z.number().min(0).max(100).optional(),
225
+ })
226
+ .default({}),
227
+ ci: ContextCiConfig.default({}),
228
+ });
229
+ export const GateConfig = z.object({
230
+ mode: GateMode.default("risk-only"),
231
+ check_name: z.string().default("Trailhead — Release Ready"),
232
+ });
233
+ export const RepoConfig = z.object({
234
+ schema_version: z.number().int().positive().default(1),
235
+ gate: GateConfig.default({}),
236
+ contexts: z.array(TrailheadContext).default([]),
237
+ sensitivity: z
238
+ .object({
239
+ high: z.array(z.string()).default([]),
240
+ medium: z.array(z.string()).default([]),
241
+ low: z.array(z.string()).default([]),
242
+ })
243
+ .default({}),
244
+ weights: z.record(z.number().min(0).max(10)).default({}),
245
+ profiles: z.array(RiskProfile).default([]),
246
+ thresholds: z
247
+ .object({
248
+ risk: z.number().min(0).max(100).optional(),
249
+ warn: z.number().min(0).max(100).optional(),
250
+ })
251
+ .default({}),
252
+ ignore: z.array(z.string()).default([]),
253
+ freeze: z.array(FreezeWindow).default([]),
254
+ environments: z.record(EnvironmentConfig).default({}),
255
+ services: z.record(ServiceMapping).default({}),
256
+ consumer_registry: z.record(ServiceConsumerRef).default({}),
257
+ security: SecurityConfig.default({}),
258
+ canary: CanaryConfig.optional(),
259
+ escalation: z
260
+ .object({
261
+ targets: z.array(z.string()).default([]),
262
+ acknowledge_sla_minutes: z.number().int().min(1).default(30),
263
+ resolve_sla_minutes: z.number().int().min(1).default(240),
264
+ })
265
+ .default({}),
266
+ policies: z
267
+ .object({
268
+ agent_prs: z
269
+ .object({
270
+ enabled: z.boolean().default(false),
271
+ risk_threshold: z.number().min(0).max(100).optional(),
272
+ required_approvals: z.number().int().min(0).default(1),
273
+ require_code_owner_approval: z.boolean().default(false),
274
+ code_owner_reviewers: z.array(z.string()).default([]),
275
+ sensitive_paths: z.array(z.string()).default([]),
276
+ strict_on_unknown_provenance: z.boolean().default(true),
277
+ })
278
+ .default({}),
279
+ session_correlation: z
280
+ .object({
281
+ enabled: z.boolean().default(false),
282
+ threshold: z.number().int().min(2).default(3),
283
+ window_minutes: z.number().int().min(5).default(60),
284
+ mode: z.enum(["warn", "block"]).default("warn"),
285
+ })
286
+ .default({}),
287
+ ci_integrity: z
288
+ .object({
289
+ enabled: z.boolean().default(true),
290
+ mode: z.enum(["warn", "block"]).default("block"),
291
+ })
292
+ .default({}),
293
+ workflow_security: z
294
+ .object({
295
+ enabled: z.boolean().default(true),
296
+ mode: z.enum(["warn", "block"]).default("block"),
297
+ allow_unpinned_actions: z.array(z.string()).default([]),
298
+ })
299
+ .default({}),
300
+ prompt_injection: z
301
+ .object({
302
+ enabled: z.boolean().default(true),
303
+ mode: z.enum(["warn", "block"]).default("block"),
304
+ })
305
+ .default({}),
306
+ supply_chain: z
307
+ .object({
308
+ enabled: z.boolean().default(true),
309
+ mode: z.enum(["warn", "block"]).default("warn"),
310
+ force_score_on_critical: z.number().min(0).max(100).default(80),
311
+ })
312
+ .default({}),
313
+ pr_scope: z
314
+ .object({
315
+ enabled: z.boolean().default(true),
316
+ max_files: z.number().int().min(1).default(50),
317
+ max_changes: z.number().int().min(1).default(2000),
318
+ mode: z.enum(["warn", "block"]).default("warn"),
319
+ require_plan_for_agent_prs: z.boolean().default(false),
320
+ })
321
+ .default({}),
322
+ duplicate_logic: z
323
+ .object({
324
+ enabled: z.boolean().default(true),
325
+ mode: z.enum(["warn", "block"]).default("warn"),
326
+ })
327
+ .default({}),
328
+ cross_repo_impact: z
329
+ .object({
330
+ enabled: z.boolean().default(true),
331
+ mode: z.enum(["warn", "block"]).default("warn"),
332
+ consumer_registry_path: z.string().optional(),
333
+ })
334
+ .default({}),
335
+ })
336
+ .default({}),
337
+ });
338
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "name": "@komatikai/trailhead",
3
- "version": "3.0.3",
3
+ "version": "4.2.2",
4
4
  "description": "Trailhead CLI — setup wizard and utilities for the Trailhead deployment gate",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "trailhead": "dist/index.js"
8
8
  },
9
9
  "scripts": {
10
- "build": "tsc",
10
+ "prebuild": "node ../scripts/copy-shared-src.mjs cli",
11
+ "build": "npm run prebuild && tsc",
11
12
  "prepublishOnly": "npm run build",
12
13
  "start": "node dist/index.js"
13
14
  },
@@ -24,9 +25,11 @@
24
25
  "dora"
25
26
  ],
26
27
  "license": "MIT",
27
- "dependencies": {},
28
+ "dependencies": {
29
+ "zod": "^3.24.0"
30
+ },
28
31
  "devDependencies": {
29
32
  "@types/node": "^25.8.0",
30
- "typescript": "^5.5.0"
33
+ "typescript": "^6.0.3"
31
34
  }
32
35
  }