planpong 0.5.3 → 0.5.4
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/src/config/defaults.js +1 -0
- package/dist/src/config/defaults.js.map +1 -1
- package/dist/src/config/loader.d.ts +1 -0
- package/dist/src/config/loader.js +3 -0
- package/dist/src/config/loader.js.map +1 -1
- package/dist/src/core/convergence.js +26 -1
- package/dist/src/core/convergence.js.map +1 -1
- package/dist/src/core/operations.d.ts +48 -0
- package/dist/src/core/operations.js +81 -19
- package/dist/src/core/operations.js.map +1 -1
- package/dist/src/core/session.d.ts +1 -1
- package/dist/src/core/session.js +11 -2
- package/dist/src/core/session.js.map +1 -1
- package/dist/src/mcp/server.js +6 -2
- package/dist/src/mcp/server.js.map +1 -1
- package/dist/src/mcp/tools/record-revision.d.ts +20 -0
- package/dist/src/mcp/tools/record-revision.js +158 -0
- package/dist/src/mcp/tools/record-revision.js.map +1 -0
- package/dist/src/mcp/tools/revise.js +14 -0
- package/dist/src/mcp/tools/revise.js.map +1 -1
- package/dist/src/mcp/tools/start-review.js +7 -0
- package/dist/src/mcp/tools/start-review.js.map +1 -1
- package/dist/src/prompts/reviewer.d.ts +15 -7
- package/dist/src/prompts/reviewer.js +55 -19
- package/dist/src/prompts/reviewer.js.map +1 -1
- package/dist/src/schemas/config.d.ts +3 -0
- package/dist/src/schemas/config.js +8 -0
- package/dist/src/schemas/config.js.map +1 -1
- package/dist/src/schemas/feedback.d.ts +14 -35
- package/dist/src/schemas/feedback.js +14 -12
- package/dist/src/schemas/feedback.js.map +1 -1
- package/dist/src/schemas/metrics.d.ts +3 -0
- package/dist/src/schemas/metrics.js +6 -0
- package/dist/src/schemas/metrics.js.map +1 -1
- package/dist/src/schemas/session.d.ts +3 -0
- package/dist/src/schemas/session.js +12 -0
- package/dist/src/schemas/session.js.map +1 -1
- package/package.json +1 -1
|
@@ -17,10 +17,20 @@ export const FeedbackIssueSchema = z.object({
|
|
|
17
17
|
// model output before verification — the verifier is the sole authority.
|
|
18
18
|
verified: z.boolean().optional(),
|
|
19
19
|
});
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
/**
|
|
21
|
+
* Base feedback schema for the detail phase. Includes the `blocked` verdict
|
|
22
|
+
* so fallback parsing can accept it from direction/risk phases when
|
|
23
|
+
* phase-specific parsing fails.
|
|
24
|
+
*
|
|
25
|
+
* **Production callers must NOT use `.parse()` / `.safeParse()` directly.**
|
|
26
|
+
* Always route through `parseFeedback` or `parseStructuredFeedbackForPhase`
|
|
27
|
+
* in `src/core/convergence.ts`. Those functions apply post-parse semantic
|
|
28
|
+
* coercions (e.g., `approved_with_notes` with non-P3 issues is downgraded
|
|
29
|
+
* to `needs_revision` rather than throwing). Calling the schema directly
|
|
30
|
+
* silently bypasses these coercions and reintroduces the terminal-Zod-error
|
|
31
|
+
* failure mode that the parser-side coercion is specifically there to avoid.
|
|
32
|
+
*/
|
|
33
|
+
export const ReviewFeedbackSchema = z.object({
|
|
24
34
|
verdict: z.enum([
|
|
25
35
|
"needs_revision",
|
|
26
36
|
"approved",
|
|
@@ -38,14 +48,6 @@ export const ReviewFeedbackSchema = z
|
|
|
38
48
|
// total number of issues with `verified: false` after verification.
|
|
39
49
|
quote_compliance_warning: z.boolean().optional(),
|
|
40
50
|
unverified_count: z.number().int().nonnegative().optional(),
|
|
41
|
-
})
|
|
42
|
-
.refine((data) => {
|
|
43
|
-
if (data.verdict === "approved_with_notes") {
|
|
44
|
-
return data.issues.every((issue) => issue.severity === "P3");
|
|
45
|
-
}
|
|
46
|
-
return true;
|
|
47
|
-
}, {
|
|
48
|
-
message: "approved_with_notes is only valid when all issues are P3. Either downgrade issues to P3 or change verdict to needs_revision.",
|
|
49
51
|
});
|
|
50
52
|
// --- Direction phase schema ---
|
|
51
53
|
export const AlternativeSchema = z.object({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../../src/schemas/feedback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,uEAAuE;IACvE,gEAAgE;IAChE,sEAAsE;IACtE,sEAAsE;IACtE,iEAAiE;IACjE,0DAA0D;IAC1D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,oEAAoE;IACpE,yEAAyE;IACzE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAEH
|
|
1
|
+
{"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../../src/schemas/feedback.ts"],"names":[],"mappings":"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"}
|
|
@@ -95,6 +95,7 @@ export declare const RoundMetricsSchema: z.ZodObject<{
|
|
|
95
95
|
edits_retried: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
96
96
|
edits_recovered: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
97
97
|
retry_invoked: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
98
|
+
planner_mode: z.ZodOptional<z.ZodEnum<["inline", "external"]>>;
|
|
98
99
|
}, "strip", z.ZodTypeAny, {
|
|
99
100
|
schema_version: 1;
|
|
100
101
|
session_id: string;
|
|
@@ -119,6 +120,7 @@ export declare const RoundMetricsSchema: z.ZodObject<{
|
|
|
119
120
|
error_exit_code: number | null;
|
|
120
121
|
}[];
|
|
121
122
|
revision_mode?: "edits" | "full" | null | undefined;
|
|
123
|
+
planner_mode?: "external" | "inline" | undefined;
|
|
122
124
|
edits_attempted?: number | null | undefined;
|
|
123
125
|
edits_applied?: number | null | undefined;
|
|
124
126
|
edits_failed?: number | null | undefined;
|
|
@@ -149,6 +151,7 @@ export declare const RoundMetricsSchema: z.ZodObject<{
|
|
|
149
151
|
error_exit_code: number | null;
|
|
150
152
|
}[];
|
|
151
153
|
revision_mode?: "edits" | "full" | null | undefined;
|
|
154
|
+
planner_mode?: "external" | "inline" | undefined;
|
|
152
155
|
edits_attempted?: number | null | undefined;
|
|
153
156
|
edits_applied?: number | null | undefined;
|
|
154
157
|
edits_failed?: number | null | undefined;
|
|
@@ -39,6 +39,12 @@ export const RoundMetricsSchema = z.object({
|
|
|
39
39
|
edits_retried: z.number().int().nonnegative().nullable().optional(),
|
|
40
40
|
edits_recovered: z.number().int().nonnegative().nullable().optional(),
|
|
41
41
|
retry_invoked: z.boolean().nullable().optional(),
|
|
42
|
+
// Planner mode that produced this round's revision. `external` for
|
|
43
|
+
// provider-driven revisions; `inline` for agent-driven revisions via
|
|
44
|
+
// `planpong_record_revision`. Optional for back-compat with metrics
|
|
45
|
+
// files written before this field existed. Unused for review-role
|
|
46
|
+
// metrics.
|
|
47
|
+
planner_mode: z.enum(["inline", "external"]).optional(),
|
|
42
48
|
});
|
|
43
49
|
export function summarizeTiming(metrics) {
|
|
44
50
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/schemas/metrics.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/schemas/metrics.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,7 @@ export declare const SessionSchema: z.ZodObject<{
|
|
|
37
37
|
initialLineCount: z.ZodOptional<z.ZodNumber>;
|
|
38
38
|
reviewerSessionId: z.ZodOptional<z.ZodString>;
|
|
39
39
|
reviewerSessionInitialized: z.ZodOptional<z.ZodBoolean>;
|
|
40
|
+
plannerMode: z.ZodDefault<z.ZodEnum<["inline", "external"]>>;
|
|
40
41
|
}, "strip", z.ZodTypeAny, {
|
|
41
42
|
id: string;
|
|
42
43
|
status: "aborted" | "approved" | "blocked" | "planning" | "in_review";
|
|
@@ -50,6 +51,7 @@ export declare const SessionSchema: z.ZodObject<{
|
|
|
50
51
|
model?: string | undefined;
|
|
51
52
|
effort?: string | undefined;
|
|
52
53
|
};
|
|
54
|
+
plannerMode: "external" | "inline";
|
|
53
55
|
repoRoot: string;
|
|
54
56
|
planPath: string;
|
|
55
57
|
planPathAbsolute: string;
|
|
@@ -78,6 +80,7 @@ export declare const SessionSchema: z.ZodObject<{
|
|
|
78
80
|
currentRound: number;
|
|
79
81
|
startedAt: string;
|
|
80
82
|
planHash: string;
|
|
83
|
+
plannerMode?: "external" | "inline" | undefined;
|
|
81
84
|
initialLineCount?: number | undefined;
|
|
82
85
|
reviewerSessionId?: string | undefined;
|
|
83
86
|
reviewerSessionInitialized?: boolean | undefined;
|
|
@@ -22,5 +22,17 @@ export const SessionSchema = z.object({
|
|
|
22
22
|
// calls use `--resume` (claude) or `codex exec resume <id>` (codex).
|
|
23
23
|
reviewerSessionId: z.string().optional(),
|
|
24
24
|
reviewerSessionInitialized: z.boolean().optional(),
|
|
25
|
+
// Planner mode is sticky for the session lifetime. `external` (default)
|
|
26
|
+
// routes revisions through `planpong_revise` + a planner provider;
|
|
27
|
+
// `inline` routes through `planpong_record_revision` so the agent that
|
|
28
|
+
// invoked /pong-review acts as the planner. Set at createSession time
|
|
29
|
+
// from the config; cannot change mid-loop.
|
|
30
|
+
//
|
|
31
|
+
// `.default("external")` makes old session files (written before this
|
|
32
|
+
// field existed) deserialize cleanly through SessionSchema.parse(). It is
|
|
33
|
+
// NOT sufficient on its own: `readSessionState` skips Zod validation and
|
|
34
|
+
// uses a raw `as Session` cast, so runtime normalization in core/session.ts
|
|
35
|
+
// is the authoritative compatibility mechanism.
|
|
36
|
+
plannerMode: z.enum(["inline", "external"]).default("external"),
|
|
25
37
|
});
|
|
26
38
|
//# sourceMappingURL=session.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/schemas/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,OAAO,EAAE,oBAAoB;IAC7B,QAAQ,EAAE,oBAAoB;IAC9B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC3E,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC7C,iEAAiE;IACjE,kEAAkE;IAClE,sEAAsE;IACtE,iEAAiE;IACjE,iEAAiE;IACjE,gEAAgE;IAChE,wEAAwE;IACxE,qEAAqE;IACrE,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,0BAA0B,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/schemas/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,OAAO,EAAE,oBAAoB;IAC7B,QAAQ,EAAE,oBAAoB;IAC9B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC3E,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC7C,iEAAiE;IACjE,kEAAkE;IAClE,sEAAsE;IACtE,iEAAiE;IACjE,iEAAiE;IACjE,gEAAgE;IAChE,wEAAwE;IACxE,qEAAqE;IACrE,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,0BAA0B,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAClD,wEAAwE;IACxE,mEAAmE;IACnE,uEAAuE;IACvE,sEAAsE;IACtE,2CAA2C;IAC3C,EAAE;IACF,sEAAsE;IACtE,0EAA0E;IAC1E,yEAAyE;IACzE,4EAA4E;IAC5E,gDAAgD;IAChD,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;CAChE,CAAC,CAAC"}
|