@cat-factory/contracts 0.130.0 → 0.131.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/dist/agent-presentation.d.ts +2 -2
- package/dist/entities.d.ts +66 -0
- package/dist/entities.d.ts.map +1 -1
- package/dist/entities.js +9 -0
- package/dist/entities.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/notifications.d.ts +6 -2
- package/dist/notifications.d.ts.map +1 -1
- package/dist/notifications.js +7 -0
- package/dist/notifications.js.map +1 -1
- package/dist/prReview.d.ts +175 -0
- package/dist/prReview.d.ts.map +1 -0
- package/dist/prReview.js +167 -0
- package/dist/prReview.js.map +1 -0
- package/dist/result-views.d.ts +1 -1
- package/dist/result-views.d.ts.map +1 -1
- package/dist/result-views.js +1 -0
- package/dist/result-views.js.map +1 -1
- package/dist/routes/agent-runs.d.ts +52 -0
- package/dist/routes/agent-runs.d.ts.map +1 -1
- package/dist/routes/execution.d.ts +208 -0
- package/dist/routes/execution.d.ts.map +1 -1
- package/dist/routes/human-review.d.ts +26 -0
- package/dist/routes/human-review.d.ts.map +1 -1
- package/dist/routes/human-test.d.ts +130 -0
- package/dist/routes/human-test.d.ts.map +1 -1
- package/dist/routes/index.d.ts +1 -0
- package/dist/routes/index.d.ts.map +1 -1
- package/dist/routes/index.js +1 -0
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/notifications.d.ts +6 -3
- package/dist/routes/notifications.d.ts.map +1 -1
- package/dist/routes/prReview.d.ts +124 -0
- package/dist/routes/prReview.d.ts.map +1 -0
- package/dist/routes/prReview.js +26 -0
- package/dist/routes/prReview.js.map +1 -0
- package/dist/routes/slack.d.ts +3 -3
- package/dist/routes/visual-confirm.d.ts +78 -0
- package/dist/routes/visual-confirm.d.ts.map +1 -1
- package/dist/routes/workspaces.d.ts +58 -4
- package/dist/routes/workspaces.d.ts.map +1 -1
- package/dist/slack.d.ts +2 -2
- package/dist/snapshot.d.ts +29 -2
- package/dist/snapshot.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import * as v from 'valibot';
|
|
2
|
+
/**
|
|
3
|
+
* How serious a finding is, ordered blocker → nit. The window groups + sorts by this and
|
|
4
|
+
* renders a colour per level; the engine sorts the aggregated findings blocker-first.
|
|
5
|
+
*/
|
|
6
|
+
export declare const prReviewSeveritySchema: v.PicklistSchema<["blocker", "high", "medium", "low", "nit"], undefined>;
|
|
7
|
+
export type PrReviewSeverity = v.InferOutput<typeof prReviewSeveritySchema>;
|
|
8
|
+
/** What area a finding concerns — drives the window's category chip. */
|
|
9
|
+
export declare const prReviewCategorySchema: v.PicklistSchema<["correctness", "security", "performance", "maintainability", "style", "test", "other"], undefined>;
|
|
10
|
+
export type PrReviewCategory = v.InferOutput<typeof prReviewCategorySchema>;
|
|
11
|
+
/**
|
|
12
|
+
* One cohesive slice the reviewer grouped the changed files into (a refactor + its call
|
|
13
|
+
* sites + its tests). The window groups findings under their slice. `id` is engine-minted
|
|
14
|
+
* (`prs_*`) when the reviewer's output is recorded onto the step.
|
|
15
|
+
*/
|
|
16
|
+
export declare const prReviewSliceSchema: v.ObjectSchema<{
|
|
17
|
+
/** Engine-minted stable id (`prs_*`); assigned when the reviewer's output is recorded. */
|
|
18
|
+
readonly id: v.StringSchema<undefined>;
|
|
19
|
+
/** Short name of the slice. */
|
|
20
|
+
readonly title: v.StringSchema<undefined>;
|
|
21
|
+
/** Why these files belong together. */
|
|
22
|
+
readonly rationale: v.StringSchema<undefined>;
|
|
23
|
+
/** The repo-relative paths that make up the slice. */
|
|
24
|
+
readonly paths: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
25
|
+
}, undefined>;
|
|
26
|
+
export type PrReviewSlice = v.InferOutput<typeof prReviewSliceSchema>;
|
|
27
|
+
/**
|
|
28
|
+
* One prioritized review finding, id-stamped by the engine and anchored to a slice. Carries
|
|
29
|
+
* everything the window needs to render it and everything PR 3's resolutions consume (the
|
|
30
|
+
* `path`/`line`/`side` anchor for an inline PR comment; the `suggestedFix` for the Fixer).
|
|
31
|
+
*/
|
|
32
|
+
export declare const prReviewFindingSchema: v.ObjectSchema<{
|
|
33
|
+
/** Engine-minted stable id (`prf_*`); the multi-select carries these ids. */
|
|
34
|
+
readonly id: v.StringSchema<undefined>;
|
|
35
|
+
/** The slice this finding belongs to (`prs_*`), or null when it matched no slice. */
|
|
36
|
+
readonly sliceId: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
37
|
+
/** Repo-relative path the finding concerns. */
|
|
38
|
+
readonly path: v.StringSchema<undefined>;
|
|
39
|
+
/** The line the finding anchors to on the PR head (for an inline comment), or null. */
|
|
40
|
+
readonly line: v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, undefined>;
|
|
41
|
+
/** Which side of the diff the line is on; `RIGHT` (head) unless it concerns a removed line. */
|
|
42
|
+
readonly side: v.OptionalSchema<v.NullableSchema<v.PicklistSchema<["LEFT", "RIGHT"], undefined>, undefined>, undefined>;
|
|
43
|
+
readonly severity: v.PicklistSchema<["blocker", "high", "medium", "low", "nit"], undefined>;
|
|
44
|
+
readonly category: v.PicklistSchema<["correctness", "security", "performance", "maintainability", "style", "test", "other"], undefined>;
|
|
45
|
+
/** Short headline. */
|
|
46
|
+
readonly title: v.StringSchema<undefined>;
|
|
47
|
+
/** The full finding, in prose. */
|
|
48
|
+
readonly detail: v.StringSchema<undefined>;
|
|
49
|
+
/** A concrete suggested change, when the reviewer offered one. */
|
|
50
|
+
readonly suggestedFix: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
51
|
+
}, undefined>;
|
|
52
|
+
export type PrReviewFinding = v.InferOutput<typeof prReviewFindingSchema>;
|
|
53
|
+
/**
|
|
54
|
+
* The PR-review lifecycle on a `pr-reviewer` step:
|
|
55
|
+
* - `reviewing`: the read-only reviewer container job is in flight (the agent dispatch).
|
|
56
|
+
* - `awaiting_selection`: parked; the human curates which findings matter through the window.
|
|
57
|
+
* - `fixing` / `posting`: a resolution is executing (PR 3 — the Fixer commits, or inline
|
|
58
|
+
* comments are posted). Unused in PR 2.
|
|
59
|
+
* - `done`: the review is resolved (the human finished; PR 3: fixed / posted).
|
|
60
|
+
* - `skipped`: the reviewer isn't wired / produced nothing to review — the step passed through.
|
|
61
|
+
*/
|
|
62
|
+
export declare const prReviewStatusSchema: v.PicklistSchema<["reviewing", "awaiting_selection", "fixing", "posting", "done", "skipped"], undefined>;
|
|
63
|
+
export type PrReviewStatus = v.InferOutput<typeof prReviewStatusSchema>;
|
|
64
|
+
/**
|
|
65
|
+
* How the human resolved the review. PR 2 ships only `finish` (curate the selection + complete
|
|
66
|
+
* the read-only review); PR 3 adds `fix` (feed the selected findings to a Fixer) and `post`
|
|
67
|
+
* (post them as inline PR review comments). Adding members later is a non-breaking extension
|
|
68
|
+
* (backwards compatibility is a non-goal — see CLAUDE.md).
|
|
69
|
+
*/
|
|
70
|
+
export declare const prReviewResolutionSchema: v.PicklistSchema<["finish"], undefined>;
|
|
71
|
+
export type PrReviewResolution = v.InferOutput<typeof prReviewResolutionSchema>;
|
|
72
|
+
/**
|
|
73
|
+
* Live PR-review state carried on the run's `pr-reviewer` step. Recorded by the engine when
|
|
74
|
+
* the reviewer container job completes (the sliced, severity-ordered findings), then mutated
|
|
75
|
+
* by the human's selection + resolution. `prUrl` is the reviewed PR (for the window header);
|
|
76
|
+
* `model` records the reviewing model for transparency.
|
|
77
|
+
*/
|
|
78
|
+
export declare const prReviewStepStateSchema: v.ObjectSchema<{
|
|
79
|
+
readonly status: v.PicklistSchema<["reviewing", "awaiting_selection", "fixing", "posting", "done", "skipped"], undefined>;
|
|
80
|
+
/** The reviewer's one-paragraph overall assessment of the PR, when it gave one. */
|
|
81
|
+
readonly summary: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
82
|
+
/** The cohesive slices the reviewer grouped the changed files into. */
|
|
83
|
+
readonly slices: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
84
|
+
/** Engine-minted stable id (`prs_*`); assigned when the reviewer's output is recorded. */
|
|
85
|
+
readonly id: v.StringSchema<undefined>;
|
|
86
|
+
/** Short name of the slice. */
|
|
87
|
+
readonly title: v.StringSchema<undefined>;
|
|
88
|
+
/** Why these files belong together. */
|
|
89
|
+
readonly rationale: v.StringSchema<undefined>;
|
|
90
|
+
/** The repo-relative paths that make up the slice. */
|
|
91
|
+
readonly paths: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
92
|
+
}, undefined>, undefined>, readonly []>;
|
|
93
|
+
/** The findings, ordered by severity (blocker → nit). */
|
|
94
|
+
readonly findings: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
95
|
+
/** Engine-minted stable id (`prf_*`); the multi-select carries these ids. */
|
|
96
|
+
readonly id: v.StringSchema<undefined>;
|
|
97
|
+
/** The slice this finding belongs to (`prs_*`), or null when it matched no slice. */
|
|
98
|
+
readonly sliceId: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
99
|
+
/** Repo-relative path the finding concerns. */
|
|
100
|
+
readonly path: v.StringSchema<undefined>;
|
|
101
|
+
/** The line the finding anchors to on the PR head (for an inline comment), or null. */
|
|
102
|
+
readonly line: v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, undefined>;
|
|
103
|
+
/** Which side of the diff the line is on; `RIGHT` (head) unless it concerns a removed line. */
|
|
104
|
+
readonly side: v.OptionalSchema<v.NullableSchema<v.PicklistSchema<["LEFT", "RIGHT"], undefined>, undefined>, undefined>;
|
|
105
|
+
readonly severity: v.PicklistSchema<["blocker", "high", "medium", "low", "nit"], undefined>;
|
|
106
|
+
readonly category: v.PicklistSchema<["correctness", "security", "performance", "maintainability", "style", "test", "other"], undefined>;
|
|
107
|
+
/** Short headline. */
|
|
108
|
+
readonly title: v.StringSchema<undefined>;
|
|
109
|
+
/** The full finding, in prose. */
|
|
110
|
+
readonly detail: v.StringSchema<undefined>;
|
|
111
|
+
/** A concrete suggested change, when the reviewer offered one. */
|
|
112
|
+
readonly suggestedFix: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
113
|
+
}, undefined>, undefined>, readonly []>;
|
|
114
|
+
/** The finding ids the human selected to act on (curated in the window). */
|
|
115
|
+
readonly selectedFindingIds: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, readonly []>;
|
|
116
|
+
/** How the human resolved the review; null while awaiting selection. */
|
|
117
|
+
readonly resolution: v.OptionalSchema<v.NullableSchema<v.PicklistSchema<["finish"], undefined>, undefined>, undefined>;
|
|
118
|
+
/** Web URL of the reviewed pull request, when known. */
|
|
119
|
+
readonly prUrl: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
120
|
+
/** Identifier of the model that produced the review, for transparency. */
|
|
121
|
+
readonly model: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
122
|
+
}, undefined>;
|
|
123
|
+
export type PrReviewStepState = v.InferOutput<typeof prReviewStepStateSchema>;
|
|
124
|
+
/**
|
|
125
|
+
* The LENIENT structured shape the read-only `pr-reviewer` container agent returns as
|
|
126
|
+
* `result.custom` (the engine mints slice/finding ids and records it onto the step). Every
|
|
127
|
+
* field falls back to a safe default (`v.fallback`) — exactly like `forkProposal` — so a
|
|
128
|
+
* partially-malformed reply degrades to sensible defaults rather than failing the run: an
|
|
129
|
+
* unreadable severity/category reads as its safe default, and each list degrades to empty.
|
|
130
|
+
* This is the SINGLE source of truth for the reviewer's output shape, consumed both by the
|
|
131
|
+
* agent kind's `defineStructuredOutput` (validation at completion) and the engine's coercion.
|
|
132
|
+
*/
|
|
133
|
+
export declare const prReviewAgentOutputSchema: v.ObjectSchema<{
|
|
134
|
+
/** One-paragraph overall assessment of the PR. */
|
|
135
|
+
readonly summary: v.SchemaWithFallback<v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
136
|
+
/** The cohesive slices the reviewer grouped the changed files into. */
|
|
137
|
+
readonly slices: v.SchemaWithFallback<v.ArraySchema<v.SchemaWithFallback<v.ObjectSchema<{
|
|
138
|
+
readonly title: v.SchemaWithFallback<v.StringSchema<undefined>, "">;
|
|
139
|
+
readonly rationale: v.SchemaWithFallback<v.StringSchema<undefined>, "">;
|
|
140
|
+
readonly paths: v.SchemaWithFallback<v.ArraySchema<v.SchemaWithFallback<v.StringSchema<undefined>, "">, undefined>, readonly []>;
|
|
141
|
+
}, undefined>, {
|
|
142
|
+
readonly title: "";
|
|
143
|
+
readonly rationale: "";
|
|
144
|
+
readonly paths: readonly [];
|
|
145
|
+
}>, undefined>, readonly []>;
|
|
146
|
+
/** The findings, ordered by severity (blocker → nit). */
|
|
147
|
+
readonly findings: v.SchemaWithFallback<v.ArraySchema<v.SchemaWithFallback<v.ObjectSchema<{
|
|
148
|
+
readonly path: v.SchemaWithFallback<v.StringSchema<undefined>, "">;
|
|
149
|
+
readonly line: v.SchemaWithFallback<v.OptionalSchema<v.NumberSchema<undefined>, undefined>, undefined>;
|
|
150
|
+
readonly side: v.SchemaWithFallback<v.OptionalSchema<v.PicklistSchema<["LEFT", "RIGHT"], undefined>, undefined>, undefined>;
|
|
151
|
+
readonly severity: v.SchemaWithFallback<v.PicklistSchema<["blocker", "high", "medium", "low", "nit"], undefined>, "medium">;
|
|
152
|
+
readonly category: v.SchemaWithFallback<v.PicklistSchema<["correctness", "security", "performance", "maintainability", "style", "test", "other"], undefined>, "other">;
|
|
153
|
+
readonly title: v.SchemaWithFallback<v.StringSchema<undefined>, "">;
|
|
154
|
+
readonly detail: v.SchemaWithFallback<v.StringSchema<undefined>, "">;
|
|
155
|
+
readonly suggestedFix: v.SchemaWithFallback<v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
156
|
+
}, undefined>, {
|
|
157
|
+
readonly path: "";
|
|
158
|
+
readonly severity: 'medium';
|
|
159
|
+
readonly category: 'other';
|
|
160
|
+
readonly title: "";
|
|
161
|
+
readonly detail: "";
|
|
162
|
+
}>, undefined>, readonly []>;
|
|
163
|
+
}, undefined>;
|
|
164
|
+
export type PrReviewAgentOutput = v.InferOutput<typeof prReviewAgentOutputSchema>;
|
|
165
|
+
/**
|
|
166
|
+
* Resolve a parked PR review: the human's curated selection (`findingIds`) plus how to resolve
|
|
167
|
+
* it (`action`). PR 2 supports only `finish` — record the selection and complete the read-only
|
|
168
|
+
* review. The Fixer / inline-comment resolutions are PR 3.
|
|
169
|
+
*/
|
|
170
|
+
export declare const resolvePrReviewSchema: v.ObjectSchema<{
|
|
171
|
+
readonly action: v.OptionalSchema<v.PicklistSchema<["finish"], undefined>, "finish">;
|
|
172
|
+
readonly findingIds: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, readonly []>;
|
|
173
|
+
}, undefined>;
|
|
174
|
+
export type ResolvePrReviewInput = v.InferOutput<typeof resolvePrReviewSchema>;
|
|
175
|
+
//# sourceMappingURL=prReview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prReview.d.ts","sourceRoot":"","sources":["../src/prReview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAmB5B;;;GAGG;AACH,eAAO,MAAM,sBAAsB,0EAA0D,CAAA;AAC7F,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E,wEAAwE;AACxE,eAAO,MAAM,sBAAsB,sHAQjC,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;IAC9B,0FAA0F;;IAE1F,+BAA+B;;IAE/B,uCAAuC;;IAEvC,sDAAsD;;aAEtD,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAErE;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;IAChC,6EAA6E;;IAE7E,qFAAqF;;IAErF,+CAA+C;;IAE/C,uFAAuF;;IAEvF,+FAA+F;;;;IAI/F,sBAAsB;;IAEtB,kCAAkC;;IAElC,kEAAkE;;aAElE,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,0GAO/B,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,yCAAyB,CAAA;AAC9D,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB;;IAElC,mFAAmF;;IAEnF,uEAAuE;;QA5EvE,0FAA0F;;QAE1F,+BAA+B;;QAE/B,uCAAuC;;QAEvC,sDAAsD;;;IAwEtD,yDAAyD;;QA7DzD,6EAA6E;;QAE7E,qFAAqF;;QAErF,+CAA+C;;QAE/C,uFAAuF;;QAEvF,+FAA+F;;;;QAI/F,sBAAsB;;QAEtB,kCAAkC;;QAElC,kEAAkE;;;IA+ClE,4EAA4E;;IAE5E,wEAAwE;;IAExE,wDAAwD;;IAExD,0EAA0E;;aAE1E,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAI7E;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB;IACpC,kDAAkD;;IAElD,uEAAuE;;;;;;;;;;IAcvE,yDAAyD;;;;;;;;;;;;2BAgBvC,QAAQ;2BACR,OAAO;;;;aAQzB,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAIjF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;;;aAGhC,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA"}
|
package/dist/prReview.js
ADDED
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import * as v from 'valibot';
|
|
2
|
+
// ---------------------------------------------------------------------------
|
|
3
|
+
// PR deep-review wire contracts. A `review` task runs the read-only `pr-reviewer`
|
|
4
|
+
// container agent over an EXISTING open pull request: it slices the diff into
|
|
5
|
+
// cohesive chunks and reviews each within a bounded context, returning prioritized
|
|
6
|
+
// findings. Rather than finishing the run the moment the agent returns (PR 1's
|
|
7
|
+
// behaviour), the engine records the sliced findings onto the run's `pr-reviewer`
|
|
8
|
+
// step (`step.prReview`) and PARKS for a human to visually SELECT which findings
|
|
9
|
+
// matter through the dedicated review window, then resolve.
|
|
10
|
+
//
|
|
11
|
+
// All review state rides the run's `pr-reviewer` step (`PipelineStep.prReview`) —
|
|
12
|
+
// no side table — so it is runtime-symmetric by construction, exactly like
|
|
13
|
+
// `forkDecision` / `followUps`. The two terminal resolutions (feed the selected
|
|
14
|
+
// findings to a Fixer, or post them as inline PR review comments) are the tracked
|
|
15
|
+
// follow-up (PR 3); PR 2 ships the slicing → park → multi-select loop with a
|
|
16
|
+
// neutral `finish` resolution.
|
|
17
|
+
// ---------------------------------------------------------------------------
|
|
18
|
+
/**
|
|
19
|
+
* How serious a finding is, ordered blocker → nit. The window groups + sorts by this and
|
|
20
|
+
* renders a colour per level; the engine sorts the aggregated findings blocker-first.
|
|
21
|
+
*/
|
|
22
|
+
export const prReviewSeveritySchema = v.picklist(['blocker', 'high', 'medium', 'low', 'nit']);
|
|
23
|
+
/** What area a finding concerns — drives the window's category chip. */
|
|
24
|
+
export const prReviewCategorySchema = v.picklist([
|
|
25
|
+
'correctness',
|
|
26
|
+
'security',
|
|
27
|
+
'performance',
|
|
28
|
+
'maintainability',
|
|
29
|
+
'style',
|
|
30
|
+
'test',
|
|
31
|
+
'other',
|
|
32
|
+
]);
|
|
33
|
+
/**
|
|
34
|
+
* One cohesive slice the reviewer grouped the changed files into (a refactor + its call
|
|
35
|
+
* sites + its tests). The window groups findings under their slice. `id` is engine-minted
|
|
36
|
+
* (`prs_*`) when the reviewer's output is recorded onto the step.
|
|
37
|
+
*/
|
|
38
|
+
export const prReviewSliceSchema = v.object({
|
|
39
|
+
/** Engine-minted stable id (`prs_*`); assigned when the reviewer's output is recorded. */
|
|
40
|
+
id: v.string(),
|
|
41
|
+
/** Short name of the slice. */
|
|
42
|
+
title: v.string(),
|
|
43
|
+
/** Why these files belong together. */
|
|
44
|
+
rationale: v.string(),
|
|
45
|
+
/** The repo-relative paths that make up the slice. */
|
|
46
|
+
paths: v.array(v.string()),
|
|
47
|
+
});
|
|
48
|
+
/**
|
|
49
|
+
* One prioritized review finding, id-stamped by the engine and anchored to a slice. Carries
|
|
50
|
+
* everything the window needs to render it and everything PR 3's resolutions consume (the
|
|
51
|
+
* `path`/`line`/`side` anchor for an inline PR comment; the `suggestedFix` for the Fixer).
|
|
52
|
+
*/
|
|
53
|
+
export const prReviewFindingSchema = v.object({
|
|
54
|
+
/** Engine-minted stable id (`prf_*`); the multi-select carries these ids. */
|
|
55
|
+
id: v.string(),
|
|
56
|
+
/** The slice this finding belongs to (`prs_*`), or null when it matched no slice. */
|
|
57
|
+
sliceId: v.optional(v.nullable(v.string())),
|
|
58
|
+
/** Repo-relative path the finding concerns. */
|
|
59
|
+
path: v.string(),
|
|
60
|
+
/** The line the finding anchors to on the PR head (for an inline comment), or null. */
|
|
61
|
+
line: v.optional(v.nullable(v.number())),
|
|
62
|
+
/** Which side of the diff the line is on; `RIGHT` (head) unless it concerns a removed line. */
|
|
63
|
+
side: v.optional(v.nullable(v.picklist(['LEFT', 'RIGHT']))),
|
|
64
|
+
severity: prReviewSeveritySchema,
|
|
65
|
+
category: prReviewCategorySchema,
|
|
66
|
+
/** Short headline. */
|
|
67
|
+
title: v.string(),
|
|
68
|
+
/** The full finding, in prose. */
|
|
69
|
+
detail: v.string(),
|
|
70
|
+
/** A concrete suggested change, when the reviewer offered one. */
|
|
71
|
+
suggestedFix: v.optional(v.nullable(v.string())),
|
|
72
|
+
});
|
|
73
|
+
/**
|
|
74
|
+
* The PR-review lifecycle on a `pr-reviewer` step:
|
|
75
|
+
* - `reviewing`: the read-only reviewer container job is in flight (the agent dispatch).
|
|
76
|
+
* - `awaiting_selection`: parked; the human curates which findings matter through the window.
|
|
77
|
+
* - `fixing` / `posting`: a resolution is executing (PR 3 — the Fixer commits, or inline
|
|
78
|
+
* comments are posted). Unused in PR 2.
|
|
79
|
+
* - `done`: the review is resolved (the human finished; PR 3: fixed / posted).
|
|
80
|
+
* - `skipped`: the reviewer isn't wired / produced nothing to review — the step passed through.
|
|
81
|
+
*/
|
|
82
|
+
export const prReviewStatusSchema = v.picklist([
|
|
83
|
+
'reviewing',
|
|
84
|
+
'awaiting_selection',
|
|
85
|
+
'fixing',
|
|
86
|
+
'posting',
|
|
87
|
+
'done',
|
|
88
|
+
'skipped',
|
|
89
|
+
]);
|
|
90
|
+
/**
|
|
91
|
+
* How the human resolved the review. PR 2 ships only `finish` (curate the selection + complete
|
|
92
|
+
* the read-only review); PR 3 adds `fix` (feed the selected findings to a Fixer) and `post`
|
|
93
|
+
* (post them as inline PR review comments). Adding members later is a non-breaking extension
|
|
94
|
+
* (backwards compatibility is a non-goal — see CLAUDE.md).
|
|
95
|
+
*/
|
|
96
|
+
export const prReviewResolutionSchema = v.picklist(['finish']);
|
|
97
|
+
/**
|
|
98
|
+
* Live PR-review state carried on the run's `pr-reviewer` step. Recorded by the engine when
|
|
99
|
+
* the reviewer container job completes (the sliced, severity-ordered findings), then mutated
|
|
100
|
+
* by the human's selection + resolution. `prUrl` is the reviewed PR (for the window header);
|
|
101
|
+
* `model` records the reviewing model for transparency.
|
|
102
|
+
*/
|
|
103
|
+
export const prReviewStepStateSchema = v.object({
|
|
104
|
+
status: prReviewStatusSchema,
|
|
105
|
+
/** The reviewer's one-paragraph overall assessment of the PR, when it gave one. */
|
|
106
|
+
summary: v.optional(v.nullable(v.string())),
|
|
107
|
+
/** The cohesive slices the reviewer grouped the changed files into. */
|
|
108
|
+
slices: v.optional(v.array(prReviewSliceSchema), []),
|
|
109
|
+
/** The findings, ordered by severity (blocker → nit). */
|
|
110
|
+
findings: v.optional(v.array(prReviewFindingSchema), []),
|
|
111
|
+
/** The finding ids the human selected to act on (curated in the window). */
|
|
112
|
+
selectedFindingIds: v.optional(v.array(v.string()), []),
|
|
113
|
+
/** How the human resolved the review; null while awaiting selection. */
|
|
114
|
+
resolution: v.optional(v.nullable(prReviewResolutionSchema)),
|
|
115
|
+
/** Web URL of the reviewed pull request, when known. */
|
|
116
|
+
prUrl: v.optional(v.nullable(v.string())),
|
|
117
|
+
/** Identifier of the model that produced the review, for transparency. */
|
|
118
|
+
model: v.optional(v.nullable(v.string())),
|
|
119
|
+
});
|
|
120
|
+
// ---- Reviewer agent output (lenient) --------------------------------------
|
|
121
|
+
/**
|
|
122
|
+
* The LENIENT structured shape the read-only `pr-reviewer` container agent returns as
|
|
123
|
+
* `result.custom` (the engine mints slice/finding ids and records it onto the step). Every
|
|
124
|
+
* field falls back to a safe default (`v.fallback`) — exactly like `forkProposal` — so a
|
|
125
|
+
* partially-malformed reply degrades to sensible defaults rather than failing the run: an
|
|
126
|
+
* unreadable severity/category reads as its safe default, and each list degrades to empty.
|
|
127
|
+
* This is the SINGLE source of truth for the reviewer's output shape, consumed both by the
|
|
128
|
+
* agent kind's `defineStructuredOutput` (validation at completion) and the engine's coercion.
|
|
129
|
+
*/
|
|
130
|
+
export const prReviewAgentOutputSchema = v.object({
|
|
131
|
+
/** One-paragraph overall assessment of the PR. */
|
|
132
|
+
summary: v.fallback(v.optional(v.string()), undefined),
|
|
133
|
+
/** The cohesive slices the reviewer grouped the changed files into. */
|
|
134
|
+
slices: v.fallback(v.array(v.fallback(v.object({
|
|
135
|
+
title: v.fallback(v.string(), ''),
|
|
136
|
+
rationale: v.fallback(v.string(), ''),
|
|
137
|
+
paths: v.fallback(v.array(v.fallback(v.string(), '')), []),
|
|
138
|
+
}), { title: '', rationale: '', paths: [] })), []),
|
|
139
|
+
/** The findings, ordered by severity (blocker → nit). */
|
|
140
|
+
findings: v.fallback(v.array(v.fallback(v.object({
|
|
141
|
+
path: v.fallback(v.string(), ''),
|
|
142
|
+
line: v.fallback(v.optional(v.number()), undefined),
|
|
143
|
+
side: v.fallback(v.optional(v.picklist(['LEFT', 'RIGHT'])), undefined),
|
|
144
|
+
severity: v.fallback(prReviewSeveritySchema, 'medium'),
|
|
145
|
+
category: v.fallback(prReviewCategorySchema, 'other'),
|
|
146
|
+
title: v.fallback(v.string(), ''),
|
|
147
|
+
detail: v.fallback(v.string(), ''),
|
|
148
|
+
suggestedFix: v.fallback(v.optional(v.string()), undefined),
|
|
149
|
+
}), {
|
|
150
|
+
path: '',
|
|
151
|
+
severity: 'medium',
|
|
152
|
+
category: 'other',
|
|
153
|
+
title: '',
|
|
154
|
+
detail: '',
|
|
155
|
+
})), []),
|
|
156
|
+
});
|
|
157
|
+
// ---- Request bodies -------------------------------------------------------
|
|
158
|
+
/**
|
|
159
|
+
* Resolve a parked PR review: the human's curated selection (`findingIds`) plus how to resolve
|
|
160
|
+
* it (`action`). PR 2 supports only `finish` — record the selection and complete the read-only
|
|
161
|
+
* review. The Fixer / inline-comment resolutions are PR 3.
|
|
162
|
+
*/
|
|
163
|
+
export const resolvePrReviewSchema = v.object({
|
|
164
|
+
action: v.optional(prReviewResolutionSchema, 'finish'),
|
|
165
|
+
findingIds: v.optional(v.array(v.string()), []),
|
|
166
|
+
});
|
|
167
|
+
//# sourceMappingURL=prReview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prReview.js","sourceRoot":"","sources":["../src/prReview.ts"],"names":[],"mappings":"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"}
|
package/dist/result-views.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const RESULT_VIEW_IDS: readonly ['requirements-review', 'clarity-review', 'brainstorm', 'tester', 'human-test', 'visual-confirm', 'gate', 'consensus-session', 'generic-structured', 'service-spec', 'follow-ups', 'merger', 'initiative-tracker', 'initiative-planning', 'doc-interview', 'fork-decision'];
|
|
1
|
+
export declare const RESULT_VIEW_IDS: readonly ['requirements-review', 'clarity-review', 'brainstorm', 'tester', 'human-test', 'visual-confirm', 'gate', 'consensus-session', 'generic-structured', 'service-spec', 'follow-ups', 'merger', 'initiative-tracker', 'initiative-planning', 'doc-interview', 'fork-decision', 'pr-review'];
|
|
2
2
|
export type ResultViewId = (typeof RESULT_VIEW_IDS)[number];
|
|
3
3
|
/** Set form, for `O(1)` membership checks (e.g. boot-time registration validation). */
|
|
4
4
|
export declare const RESULT_VIEW_ID_SET: ReadonlySet<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result-views.d.ts","sourceRoot":"","sources":["../src/result-views.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,eAAe,YAC1B,qBAAqB,EACrB,gBAAgB,EAChB,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,eAAe,
|
|
1
|
+
{"version":3,"file":"result-views.d.ts","sourceRoot":"","sources":["../src/result-views.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,eAAe,YAC1B,qBAAqB,EACrB,gBAAgB,EAChB,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,WAAW,CACH,CAAA;AAEV,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAA;AAE3D,uFAAuF;AACvF,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAA4B,CAAA"}
|
package/dist/result-views.js
CHANGED
|
@@ -30,6 +30,7 @@ export const RESULT_VIEW_IDS = [
|
|
|
30
30
|
'initiative-planning',
|
|
31
31
|
'doc-interview',
|
|
32
32
|
'fork-decision',
|
|
33
|
+
'pr-review',
|
|
33
34
|
];
|
|
34
35
|
/** Set form, for `O(1)` membership checks (e.g. boot-time registration validation). */
|
|
35
36
|
export const RESULT_VIEW_ID_SET = new Set(RESULT_VIEW_IDS);
|
package/dist/result-views.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result-views.js","sourceRoot":"","sources":["../src/result-views.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,4EAA4E;AAC5E,oFAAoF;AACpF,EAAE;AACF,8EAA8E;AAC9E,yFAAyF;AACzF,2FAA2F;AAC3F,0FAA0F;AAC1F,qFAAqF;AACrF,4BAA4B;AAC5B,mEAAmE;AACnE,EAAE;AACF,0FAA0F;AAC1F,0EAA0E;AAC1E,8EAA8E;AAE9E,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,qBAAqB;IACrB,gBAAgB;IAChB,YAAY;IACZ,QAAQ;IACR,YAAY;IACZ,gBAAgB;IAChB,MAAM;IACN,mBAAmB;IACnB,oBAAoB;IACpB,cAAc;IACd,YAAY;IACZ,QAAQ;IACR,oBAAoB;IACpB,qBAAqB;IACrB,eAAe;IACf,eAAe;
|
|
1
|
+
{"version":3,"file":"result-views.js","sourceRoot":"","sources":["../src/result-views.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,4EAA4E;AAC5E,oFAAoF;AACpF,EAAE;AACF,8EAA8E;AAC9E,yFAAyF;AACzF,2FAA2F;AAC3F,0FAA0F;AAC1F,qFAAqF;AACrF,4BAA4B;AAC5B,mEAAmE;AACnE,EAAE;AACF,0FAA0F;AAC1F,0EAA0E;AAC1E,8EAA8E;AAE9E,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,qBAAqB;IACrB,gBAAgB;IAChB,YAAY;IACZ,QAAQ;IACR,YAAY;IACZ,gBAAgB;IAChB,MAAM;IACN,mBAAmB;IACnB,oBAAoB;IACpB,cAAc;IACd,YAAY;IACZ,QAAQ;IACR,oBAAoB;IACpB,qBAAqB;IACrB,eAAe;IACf,eAAe;IACf,WAAW;CACH,CAAA;AAIV,uFAAuF;AACvF,MAAM,CAAC,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC,eAAe,CAAC,CAAA"}
|
|
@@ -436,6 +436,32 @@ export declare const retryAgentRunContract: {
|
|
|
436
436
|
readonly pendingForkChat: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
|
|
437
437
|
readonly messageId: v.StringSchema<undefined>;
|
|
438
438
|
}, undefined>, undefined>, undefined>;
|
|
439
|
+
readonly prReview: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
|
|
440
|
+
readonly status: v.PicklistSchema<["reviewing", "awaiting_selection", "fixing", "posting", "done", "skipped"], undefined>;
|
|
441
|
+
readonly summary: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
442
|
+
readonly slices: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
443
|
+
readonly id: v.StringSchema<undefined>;
|
|
444
|
+
readonly title: v.StringSchema<undefined>;
|
|
445
|
+
readonly rationale: v.StringSchema<undefined>;
|
|
446
|
+
readonly paths: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
447
|
+
}, undefined>, undefined>, readonly []>;
|
|
448
|
+
readonly findings: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
449
|
+
readonly id: v.StringSchema<undefined>;
|
|
450
|
+
readonly sliceId: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
451
|
+
readonly path: v.StringSchema<undefined>;
|
|
452
|
+
readonly line: v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, undefined>;
|
|
453
|
+
readonly side: v.OptionalSchema<v.NullableSchema<v.PicklistSchema<["LEFT", "RIGHT"], undefined>, undefined>, undefined>;
|
|
454
|
+
readonly severity: v.PicklistSchema<["blocker", "high", "medium", "low", "nit"], undefined>;
|
|
455
|
+
readonly category: v.PicklistSchema<["correctness", "security", "performance", "maintainability", "style", "test", "other"], undefined>;
|
|
456
|
+
readonly title: v.StringSchema<undefined>;
|
|
457
|
+
readonly detail: v.StringSchema<undefined>;
|
|
458
|
+
readonly suggestedFix: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
459
|
+
}, undefined>, undefined>, readonly []>;
|
|
460
|
+
readonly selectedFindingIds: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, readonly []>;
|
|
461
|
+
readonly resolution: v.OptionalSchema<v.NullableSchema<v.PicklistSchema<["finish"], undefined>, undefined>, undefined>;
|
|
462
|
+
readonly prUrl: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
463
|
+
readonly model: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
464
|
+
}, undefined>, undefined>, undefined>;
|
|
439
465
|
readonly rework: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
|
|
440
466
|
readonly previousProposal: v.StringSchema<undefined>;
|
|
441
467
|
readonly feedback: v.StringSchema<undefined>;
|
|
@@ -1266,6 +1292,32 @@ export declare const stopAgentRunContract: {
|
|
|
1266
1292
|
readonly pendingForkChat: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
|
|
1267
1293
|
readonly messageId: v.StringSchema<undefined>;
|
|
1268
1294
|
}, undefined>, undefined>, undefined>;
|
|
1295
|
+
readonly prReview: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
|
|
1296
|
+
readonly status: v.PicklistSchema<["reviewing", "awaiting_selection", "fixing", "posting", "done", "skipped"], undefined>;
|
|
1297
|
+
readonly summary: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
1298
|
+
readonly slices: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
1299
|
+
readonly id: v.StringSchema<undefined>;
|
|
1300
|
+
readonly title: v.StringSchema<undefined>;
|
|
1301
|
+
readonly rationale: v.StringSchema<undefined>;
|
|
1302
|
+
readonly paths: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
1303
|
+
}, undefined>, undefined>, readonly []>;
|
|
1304
|
+
readonly findings: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
1305
|
+
readonly id: v.StringSchema<undefined>;
|
|
1306
|
+
readonly sliceId: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
1307
|
+
readonly path: v.StringSchema<undefined>;
|
|
1308
|
+
readonly line: v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, undefined>;
|
|
1309
|
+
readonly side: v.OptionalSchema<v.NullableSchema<v.PicklistSchema<["LEFT", "RIGHT"], undefined>, undefined>, undefined>;
|
|
1310
|
+
readonly severity: v.PicklistSchema<["blocker", "high", "medium", "low", "nit"], undefined>;
|
|
1311
|
+
readonly category: v.PicklistSchema<["correctness", "security", "performance", "maintainability", "style", "test", "other"], undefined>;
|
|
1312
|
+
readonly title: v.StringSchema<undefined>;
|
|
1313
|
+
readonly detail: v.StringSchema<undefined>;
|
|
1314
|
+
readonly suggestedFix: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
1315
|
+
}, undefined>, undefined>, readonly []>;
|
|
1316
|
+
readonly selectedFindingIds: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, readonly []>;
|
|
1317
|
+
readonly resolution: v.OptionalSchema<v.NullableSchema<v.PicklistSchema<["finish"], undefined>, undefined>, undefined>;
|
|
1318
|
+
readonly prUrl: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
1319
|
+
readonly model: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
1320
|
+
}, undefined>, undefined>, undefined>;
|
|
1269
1321
|
readonly rework: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
|
|
1270
1322
|
readonly previousProposal: v.StringSchema<undefined>;
|
|
1271
1323
|
readonly feedback: v.StringSchema<undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-runs.d.ts","sourceRoot":"","sources":["../../src/routes/agent-runs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAsB5B,eAAO,MAAM,qBAAqB
|
|
1
|
+
{"version":3,"file":"agent-runs.d.ts","sourceRoot":"","sources":["../../src/routes/agent-runs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAsB5B,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMhC,CAAA;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM/B,CAAA"}
|