kantban-cli 0.1.47 → 0.1.51
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/{chunk-VDCHOIQI.js → chunk-4R27WTCJ.js} +22 -15
- package/dist/chunk-4R27WTCJ.js.map +1 -0
- package/dist/{chunk-O47Q6CNM.js → chunk-GQQUH3TA.js} +15 -4
- package/dist/chunk-GQQUH3TA.js.map +1 -0
- package/dist/{chunk-UKWQ6VUQ.js → chunk-X2CJ3ZAI.js} +150 -8
- package/dist/chunk-X2CJ3ZAI.js.map +1 -0
- package/dist/{cron-TLNKEKOW.js → cron-OCKARAAM.js} +3 -3
- package/dist/index.js +3 -3
- package/dist/lib/gate-proxy-server.js +38 -18
- package/dist/lib/gate-proxy-server.js.map +1 -1
- package/dist/{pipeline-EUOOLKHN.js → pipeline-6J64Z7VH.js} +479 -142
- package/dist/pipeline-6J64Z7VH.js.map +1 -0
- package/package.json +1 -1
- package/dist/chunk-O47Q6CNM.js.map +0 -1
- package/dist/chunk-UKWQ6VUQ.js.map +0 -1
- package/dist/chunk-VDCHOIQI.js.map +0 -1
- package/dist/pipeline-EUOOLKHN.js.map +0 -1
- /package/dist/{cron-TLNKEKOW.js.map → cron-OCKARAAM.js.map} +0 -0
|
@@ -2828,17 +2828,17 @@ import { z as z50 } from "zod";
|
|
|
2828
2828
|
var AdvisorConfigSchema = z50.object({
|
|
2829
2829
|
enabled: z50.boolean(),
|
|
2830
2830
|
max_invocations: z50.number().int().positive().optional(),
|
|
2831
|
-
model: z50.string().optional()
|
|
2831
|
+
model: z50.string().min(1).optional()
|
|
2832
2832
|
});
|
|
2833
2833
|
var ModelRoutingSchema = z50.object({
|
|
2834
|
-
initial: z50.string(),
|
|
2835
|
-
escalation: z50.array(z50.string()).min(1),
|
|
2836
|
-
escalate_after: z50.number().int().positive().
|
|
2834
|
+
initial: z50.string().min(1),
|
|
2835
|
+
escalation: z50.array(z50.string().min(1)).min(1),
|
|
2836
|
+
escalate_after: z50.number().int().positive().default(2)
|
|
2837
2837
|
});
|
|
2838
2838
|
var StuckDetectionConfigSchema = z50.object({
|
|
2839
2839
|
enabled: z50.boolean(),
|
|
2840
2840
|
first_check: z50.number().int().positive().optional(),
|
|
2841
|
-
interval: z50.number().int().
|
|
2841
|
+
interval: z50.number().int().min(2).optional()
|
|
2842
2842
|
});
|
|
2843
2843
|
var AgentConfigSchema = z50.object({
|
|
2844
2844
|
execution_mode: z50.enum(["kant_loop", "cron_poll", "manual"]).optional(),
|
|
@@ -2869,14 +2869,17 @@ var AgentConfigSchema = z50.object({
|
|
|
2869
2869
|
allowed_tools: z50.array(z50.string()).optional(),
|
|
2870
2870
|
disallowed_tools: z50.array(z50.string()).optional(),
|
|
2871
2871
|
stuck_detection: StuckDetectionConfigSchema.optional(),
|
|
2872
|
+
max_gutter_resets_per_transit: z50.number().int().nonnegative().optional(),
|
|
2873
|
+
reprompt_on_branch_merged: z50.boolean().optional(),
|
|
2874
|
+
max_reprompt_attempts: z50.number().int().nonnegative().optional(),
|
|
2872
2875
|
extensions: z50.record(z50.string(), z50.unknown()).optional()
|
|
2873
|
-
}).strict();
|
|
2876
|
+
}).strict().refine((v) => !(v.model_preference && v.model_routing), { message: "model_preference and model_routing are mutually exclusive" });
|
|
2874
2877
|
var TicketFingerprintSchema = z50.object({
|
|
2875
2878
|
column_id: z50.string().uuid().nullable(),
|
|
2876
2879
|
updated_at: z50.string().datetime({ offset: true }),
|
|
2877
|
-
comment_count: z50.number(),
|
|
2878
|
-
signal_count: z50.number(),
|
|
2879
|
-
field_value_count: z50.number()
|
|
2880
|
+
comment_count: z50.number().int().nonnegative(),
|
|
2881
|
+
signal_count: z50.number().int().nonnegative(),
|
|
2882
|
+
field_value_count: z50.number().int().nonnegative()
|
|
2880
2883
|
});
|
|
2881
2884
|
var DebtItemSchema = z50.object({
|
|
2882
2885
|
type: z50.enum(["dropped_criterion", "missing_test", "missing_functionality", "unmet_requirement", "waived_gate"]),
|
|
@@ -2890,7 +2893,7 @@ var LoopCheckpointSchema = z50.object({
|
|
|
2890
2893
|
iteration: z50.number().int().nonnegative(),
|
|
2891
2894
|
gutter_count: z50.number().int().nonnegative(),
|
|
2892
2895
|
advisor_invocations: z50.number().int().nonnegative(),
|
|
2893
|
-
model_tier: z50.string(),
|
|
2896
|
+
model_tier: z50.string().min(1),
|
|
2894
2897
|
last_fingerprint: TicketFingerprintSchema.optional(),
|
|
2895
2898
|
worktree_name: z50.string().optional(),
|
|
2896
2899
|
updated_at: z50.string().datetime({ offset: true })
|
|
@@ -3041,7 +3044,11 @@ var GateResultSchema = z51.object({
|
|
|
3041
3044
|
output: z51.string().max(1048576),
|
|
3042
3045
|
stderr: z51.string(),
|
|
3043
3046
|
exit_code: z51.number().int().min(0).max(255),
|
|
3044
|
-
timed_out: z51.boolean()
|
|
3047
|
+
timed_out: z51.boolean(),
|
|
3048
|
+
// Optional diagnostics surfaced from Node execFile error on spawn failure
|
|
3049
|
+
errno: z51.union([z51.string(), z51.number()]).optional(),
|
|
3050
|
+
syscall: z51.string().optional(),
|
|
3051
|
+
stderrTail: z51.string().optional()
|
|
3045
3052
|
});
|
|
3046
3053
|
var GateDeltaSchema = z51.enum(["improved", "same", "regressed", "first_check"]);
|
|
3047
3054
|
var GateSnapshotSchema = z51.object({
|
|
@@ -3117,17 +3124,17 @@ function resolveGatesForColumn(config, columnName) {
|
|
|
3117
3124
|
const overrideKey = config.columns ? Object.keys(config.columns).find((k) => canonicalize(k) === lookupKey) : void 0;
|
|
3118
3125
|
const override = overrideKey ? config.columns[overrideKey] : void 0;
|
|
3119
3126
|
if (!override) {
|
|
3120
|
-
return [...config.default];
|
|
3127
|
+
return { gates: [...config.default], source: "default" };
|
|
3121
3128
|
}
|
|
3122
3129
|
if (!override.extend) {
|
|
3123
3130
|
if (override.gates.length === 0) {
|
|
3124
3131
|
console.error(` [warn] Column "${columnName}" has extend:false with no gates \u2014 all gate enforcement disabled for this column`);
|
|
3125
3132
|
}
|
|
3126
|
-
return [...override.gates];
|
|
3133
|
+
return { gates: [...override.gates], source: "override" };
|
|
3127
3134
|
}
|
|
3128
3135
|
const overrideNames = new Set(override.gates.map((g) => g.name));
|
|
3129
3136
|
const merged = config.default.filter((g) => !overrideNames.has(g.name));
|
|
3130
|
-
return [...merged, ...override.gates];
|
|
3137
|
+
return { gates: [...merged, ...override.gates], source: "override" };
|
|
3131
3138
|
}
|
|
3132
3139
|
function findUnmatchedColumnKeys(config, boardColumnNames) {
|
|
3133
3140
|
if (!config.columns) return [];
|
|
@@ -3153,4 +3160,4 @@ export {
|
|
|
3153
3160
|
findUnmatchedColumnKeys,
|
|
3154
3161
|
parseTimeout
|
|
3155
3162
|
};
|
|
3156
|
-
//# sourceMappingURL=chunk-
|
|
3163
|
+
//# sourceMappingURL=chunk-4R27WTCJ.js.map
|