@cat-factory/contracts 0.153.0 → 0.154.1

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.
Files changed (39) hide show
  1. package/dist/execution.d.ts +34 -2
  2. package/dist/execution.d.ts.map +1 -1
  3. package/dist/execution.js +8 -0
  4. package/dist/execution.js.map +1 -1
  5. package/dist/notifications.d.ts +69 -2
  6. package/dist/notifications.d.ts.map +1 -1
  7. package/dist/notifications.js +35 -0
  8. package/dist/notifications.js.map +1 -1
  9. package/dist/prReview.d.ts +124 -2
  10. package/dist/prReview.d.ts.map +1 -1
  11. package/dist/prReview.js +84 -0
  12. package/dist/prReview.js.map +1 -1
  13. package/dist/public-api.d.ts +8 -1
  14. package/dist/public-api.d.ts.map +1 -1
  15. package/dist/routes/agent-runs.d.ts +20 -2
  16. package/dist/routes/agent-runs.d.ts.map +1 -1
  17. package/dist/routes/execution.d.ts +80 -8
  18. package/dist/routes/execution.d.ts.map +1 -1
  19. package/dist/routes/human-review.d.ts +10 -1
  20. package/dist/routes/human-review.d.ts.map +1 -1
  21. package/dist/routes/human-test.d.ts +50 -5
  22. package/dist/routes/human-test.d.ts.map +1 -1
  23. package/dist/routes/notifications.d.ts +24 -3
  24. package/dist/routes/notifications.d.ts.map +1 -1
  25. package/dist/routes/prReview.d.ts +183 -2
  26. package/dist/routes/prReview.d.ts.map +1 -1
  27. package/dist/routes/prReview.js +23 -4
  28. package/dist/routes/prReview.js.map +1 -1
  29. package/dist/routes/public-api.d.ts +24 -3
  30. package/dist/routes/public-api.d.ts.map +1 -1
  31. package/dist/routes/slack.d.ts +3 -3
  32. package/dist/routes/visual-confirm.d.ts +30 -3
  33. package/dist/routes/visual-confirm.d.ts.map +1 -1
  34. package/dist/routes/workspaces.d.ts +36 -4
  35. package/dist/routes/workspaces.d.ts.map +1 -1
  36. package/dist/slack.d.ts +2 -2
  37. package/dist/snapshot.d.ts +18 -2
  38. package/dist/snapshot.d.ts.map +1 -1
  39. package/package.json +1 -1
@@ -24,6 +24,40 @@ export declare const prReviewSliceSchema: v.ObjectSchema<{
24
24
  readonly paths: v.ArraySchema<v.StringSchema<undefined>, undefined>;
25
25
  }, undefined>;
26
26
  export type PrReviewSlice = v.InferOutput<typeof prReviewSliceSchema>;
27
+ /**
28
+ * A finding's CHALLENGE lifecycle. A human can challenge a finding — optionally with a specific
29
+ * question / concern — which dispatches the read-only **Challenge Investigator** container agent
30
+ * to dig into the finding against the FULL source. Terminal verdicts:
31
+ * - `upheld` — the finding holds up AS WRITTEN (the investigator kept it, adding a justification
32
+ * but no revision to its body).
33
+ * - `amended` — the finding holds up AND the investigator strengthened/clarified it (some field —
34
+ * title / detail / severity / suggested fix — actually changed).
35
+ * - `retracted` — the finding does NOT hold up; it is auto-deselected and rendered struck-through
36
+ * beside its retraction justification.
37
+ *
38
+ * While the investigator runs the finding carries `investigating`. If its container job FAILS
39
+ * (crash / non-transient error) the challenge settles as `failed` — the finding is left exactly as
40
+ * it was (never dropped) and the review re-parks so the human can re-challenge or proceed, rather
41
+ * than the whole parked review failing over a non-critical second opinion.
42
+ */
43
+ export declare const prReviewFindingChallengeSchema: v.ObjectSchema<{
44
+ /**
45
+ * Lifecycle: `investigating` (agent in flight) → `upheld` (holds as-is) | `amended` (upheld +
46
+ * strengthened) | `retracted` (dropped) | `failed` (the investigation couldn't complete).
47
+ */
48
+ readonly status: v.PicklistSchema<["investigating", "upheld", "amended", "retracted", "failed"], undefined>;
49
+ /**
50
+ * The human's specific challenge / question / concern, or null when they challenged with no
51
+ * text (the generic "dig deeper, justify the grounding, validate accuracy + relevance" prompt).
52
+ */
53
+ readonly question: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
54
+ /**
55
+ * The investigator's justification — why the finding holds up (`upheld`/`amended`) or why it does
56
+ * not (`retracted`). For `failed` it carries the failure reason. Null while `investigating`.
57
+ */
58
+ readonly justification: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
59
+ }, undefined>;
60
+ export type PrReviewFindingChallenge = v.InferOutput<typeof prReviewFindingChallengeSchema>;
27
61
  /**
28
62
  * One prioritized review finding, id-stamped by the engine and anchored to a slice. Carries
29
63
  * everything the window needs to render it and everything PR 3's resolutions consume (the
@@ -48,18 +82,42 @@ export declare const prReviewFindingSchema: v.ObjectSchema<{
48
82
  readonly detail: v.StringSchema<undefined>;
49
83
  /** A concrete suggested change, when the reviewer offered one. */
50
84
  readonly suggestedFix: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
85
+ /**
86
+ * The finding's challenge state, when a human challenged it (see
87
+ * {@link prReviewFindingChallengeSchema}). Absent for an un-challenged finding.
88
+ */
89
+ readonly challenge: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
90
+ /**
91
+ * Lifecycle: `investigating` (agent in flight) → `upheld` (holds as-is) | `amended` (upheld +
92
+ * strengthened) | `retracted` (dropped) | `failed` (the investigation couldn't complete).
93
+ */
94
+ readonly status: v.PicklistSchema<["investigating", "upheld", "amended", "retracted", "failed"], undefined>;
95
+ /**
96
+ * The human's specific challenge / question / concern, or null when they challenged with no
97
+ * text (the generic "dig deeper, justify the grounding, validate accuracy + relevance" prompt).
98
+ */
99
+ readonly question: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
100
+ /**
101
+ * The investigator's justification — why the finding holds up (`upheld`/`amended`) or why it does
102
+ * not (`retracted`). For `failed` it carries the failure reason. Null while `investigating`.
103
+ */
104
+ readonly justification: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
105
+ }, undefined>, undefined>, undefined>;
51
106
  }, undefined>;
52
107
  export type PrReviewFinding = v.InferOutput<typeof prReviewFindingSchema>;
53
108
  /**
54
109
  * The PR-review lifecycle on a `pr-reviewer` step:
55
110
  * - `reviewing`: the read-only reviewer container job is in flight (the agent dispatch).
56
111
  * - `awaiting_selection`: parked; the human curates which findings matter through the window.
112
+ * - `challenging`: a human challenged a finding, so the read-only Challenge Investigator container
113
+ * job is in flight digging into it; the review returns to `awaiting_selection` once its verdict
114
+ * (strengthen the finding, or retract it) is applied.
57
115
  * - `fixing` / `posting`: a resolution is executing — the Fixer is committing fixes onto the
58
116
  * PR branch (`fixing`), or the selected findings are being posted as inline comments (`posting`).
59
117
  * - `done`: the review is resolved (the human finished; PR 3: fixed / posted).
60
118
  * - `skipped`: the reviewer isn't wired / produced nothing to review — the step passed through.
61
119
  */
62
- export declare const prReviewStatusSchema: v.PicklistSchema<["reviewing", "awaiting_selection", "fixing", "posting", "done", "skipped"], undefined>;
120
+ export declare const prReviewStatusSchema: v.PicklistSchema<["reviewing", "awaiting_selection", "challenging", "fixing", "posting", "done", "skipped"], undefined>;
63
121
  export type PrReviewStatus = v.InferOutput<typeof prReviewStatusSchema>;
64
122
  /**
65
123
  * How the human resolved the review:
@@ -133,7 +191,7 @@ export type PrReviewPostReport = v.InferOutput<typeof prReviewPostReportSchema>;
133
191
  * `model` records the reviewing model for transparency.
134
192
  */
135
193
  export declare const prReviewStepStateSchema: v.ObjectSchema<{
136
- readonly status: v.PicklistSchema<["reviewing", "awaiting_selection", "fixing", "posting", "done", "skipped"], undefined>;
194
+ readonly status: v.PicklistSchema<["reviewing", "awaiting_selection", "challenging", "fixing", "posting", "done", "skipped"], undefined>;
137
195
  /** The reviewer's one-paragraph overall assessment of the PR, when it gave one. */
138
196
  readonly summary: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
139
197
  /** The cohesive slices the reviewer grouped the changed files into. */
@@ -167,6 +225,27 @@ export declare const prReviewStepStateSchema: v.ObjectSchema<{
167
225
  readonly detail: v.StringSchema<undefined>;
168
226
  /** A concrete suggested change, when the reviewer offered one. */
169
227
  readonly suggestedFix: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
228
+ /**
229
+ * The finding's challenge state, when a human challenged it (see
230
+ * {@link prReviewFindingChallengeSchema}). Absent for an un-challenged finding.
231
+ */
232
+ readonly challenge: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
233
+ /**
234
+ * Lifecycle: `investigating` (agent in flight) → `upheld` (holds as-is) | `amended` (upheld +
235
+ * strengthened) | `retracted` (dropped) | `failed` (the investigation couldn't complete).
236
+ */
237
+ readonly status: v.PicklistSchema<["investigating", "upheld", "amended", "retracted", "failed"], undefined>;
238
+ /**
239
+ * The human's specific challenge / question / concern, or null when they challenged with no
240
+ * text (the generic "dig deeper, justify the grounding, validate accuracy + relevance" prompt).
241
+ */
242
+ readonly question: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
243
+ /**
244
+ * The investigator's justification — why the finding holds up (`upheld`/`amended`) or why it does
245
+ * not (`retracted`). For `failed` it carries the failure reason. Null while `investigating`.
246
+ */
247
+ readonly justification: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
248
+ }, undefined>, undefined>, undefined>;
170
249
  }, undefined>, undefined>, readonly []>;
171
250
  /** The finding ids the human selected to act on (curated in the window). */
172
251
  readonly selectedFindingIds: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, readonly []>;
@@ -277,6 +356,36 @@ export declare const prReviewAgentOutputSchema: v.ObjectSchema<{
277
356
  }>, undefined>, readonly []>;
278
357
  }, undefined>;
279
358
  export type PrReviewAgentOutput = v.InferOutput<typeof prReviewAgentOutputSchema>;
359
+ /**
360
+ * The LENIENT structured shape the read-only **Challenge Investigator** container agent returns
361
+ * as `result.custom` when a human challenges a finding. The engine applies it to the challenged
362
+ * finding: an `upheld` verdict keeps the finding and strengthens/clarifies its body from any
363
+ * supplied `revised*` field (folding the justification in), while a `retracted` verdict
364
+ * auto-deselects the finding and records the justification beside it. Every field falls back to a
365
+ * safe default (`v.fallback`) — exactly like {@link prReviewAgentOutputSchema} — so a
366
+ * partially-malformed reply degrades sensibly (an unreadable verdict reads as `upheld`, KEEPING
367
+ * the finding rather than silently dropping it) instead of failing the run. This is the SINGLE
368
+ * source of truth for the investigator's output shape, consumed both by the agent kind's
369
+ * `defineStructuredOutput` (validation at completion) and the engine's coercion.
370
+ */
371
+ export declare const prReviewChallengeOutputSchema: v.ObjectSchema<{
372
+ /**
373
+ * Does the finding hold up? `upheld` keeps it (and may strengthen it via the `revised*` fields);
374
+ * `retracted` drops it from the selection because the challenge showed it is wrong / irrelevant.
375
+ */
376
+ readonly verdict: v.SchemaWithFallback<v.PicklistSchema<["upheld", "retracted"], undefined>, "upheld">;
377
+ /** Why the finding holds up, or why it does not — surfaced beside the finding in the window. */
378
+ readonly justification: v.SchemaWithFallback<v.StringSchema<undefined>, "">;
379
+ /** When upheld: a clarified / strengthened finding body replacing `detail` (optional). */
380
+ readonly revisedDetail: v.SchemaWithFallback<v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>;
381
+ /** When upheld: a revised headline replacing `title` (optional). */
382
+ readonly revisedTitle: v.SchemaWithFallback<v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>;
383
+ /** When upheld: a re-assessed severity (optional). */
384
+ readonly revisedSeverity: v.SchemaWithFallback<v.OptionalSchema<v.PicklistSchema<["blocker", "high", "medium", "low", "nit"], undefined>, undefined>, undefined>;
385
+ /** When upheld: a revised concrete suggested fix replacing `suggestedFix` (optional). */
386
+ readonly revisedSuggestedFix: v.SchemaWithFallback<v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>;
387
+ }, undefined>;
388
+ export type PrReviewChallengeOutput = v.InferOutput<typeof prReviewChallengeOutputSchema>;
280
389
  /**
281
390
  * Resolve a parked PR review: the human's curated selection (`findingIds`) plus how to resolve
282
391
  * it (`action`). `finish` records the selection and completes the read-only review; `fix` feeds
@@ -288,4 +397,17 @@ export declare const resolvePrReviewSchema: v.ObjectSchema<{
288
397
  readonly findingIds: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, readonly []>;
289
398
  }, undefined>;
290
399
  export type ResolvePrReviewInput = v.InferOutput<typeof resolvePrReviewSchema>;
400
+ /**
401
+ * Challenge a parked finding: dispatch the Challenge Investigator with an OPTIONAL specific
402
+ * concern. An omitted / blank `question` uses the generic prompt (dig deeper, justify the
403
+ * grounding, validate the finding is accurate + relevant). The finding is named in the path.
404
+ */
405
+ export declare const challengePrReviewFindingSchema: v.ObjectSchema<{
406
+ /**
407
+ * The specific challenge / question / concern for the investigator to dig into. Omitted or
408
+ * blank ⇒ the generic "dig deeper and validate this finding" prompt.
409
+ */
410
+ readonly question: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
411
+ }, undefined>;
412
+ export type ChallengePrReviewFindingInput = v.InferOutput<typeof challengePrReviewFindingSchema>;
291
413
  //# sourceMappingURL=prReview.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prReview.d.ts","sourceRoot":"","sources":["../src/prReview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prReview.d.ts","sourceRoot":"","sources":["../src/prReview.ts"],"names":[],"mappings":"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"}
package/dist/prReview.js CHANGED
@@ -45,6 +45,39 @@ export const prReviewSliceSchema = v.object({
45
45
  /** The repo-relative paths that make up the slice. */
46
46
  paths: v.array(v.string()),
47
47
  });
48
+ /**
49
+ * A finding's CHALLENGE lifecycle. A human can challenge a finding — optionally with a specific
50
+ * question / concern — which dispatches the read-only **Challenge Investigator** container agent
51
+ * to dig into the finding against the FULL source. Terminal verdicts:
52
+ * - `upheld` — the finding holds up AS WRITTEN (the investigator kept it, adding a justification
53
+ * but no revision to its body).
54
+ * - `amended` — the finding holds up AND the investigator strengthened/clarified it (some field —
55
+ * title / detail / severity / suggested fix — actually changed).
56
+ * - `retracted` — the finding does NOT hold up; it is auto-deselected and rendered struck-through
57
+ * beside its retraction justification.
58
+ *
59
+ * While the investigator runs the finding carries `investigating`. If its container job FAILS
60
+ * (crash / non-transient error) the challenge settles as `failed` — the finding is left exactly as
61
+ * it was (never dropped) and the review re-parks so the human can re-challenge or proceed, rather
62
+ * than the whole parked review failing over a non-critical second opinion.
63
+ */
64
+ export const prReviewFindingChallengeSchema = v.object({
65
+ /**
66
+ * Lifecycle: `investigating` (agent in flight) → `upheld` (holds as-is) | `amended` (upheld +
67
+ * strengthened) | `retracted` (dropped) | `failed` (the investigation couldn't complete).
68
+ */
69
+ status: v.picklist(['investigating', 'upheld', 'amended', 'retracted', 'failed']),
70
+ /**
71
+ * The human's specific challenge / question / concern, or null when they challenged with no
72
+ * text (the generic "dig deeper, justify the grounding, validate accuracy + relevance" prompt).
73
+ */
74
+ question: v.optional(v.nullable(v.string())),
75
+ /**
76
+ * The investigator's justification — why the finding holds up (`upheld`/`amended`) or why it does
77
+ * not (`retracted`). For `failed` it carries the failure reason. Null while `investigating`.
78
+ */
79
+ justification: v.optional(v.nullable(v.string())),
80
+ });
48
81
  /**
49
82
  * One prioritized review finding, id-stamped by the engine and anchored to a slice. Carries
50
83
  * everything the window needs to render it and everything PR 3's resolutions consume (the
@@ -69,11 +102,19 @@ export const prReviewFindingSchema = v.object({
69
102
  detail: v.string(),
70
103
  /** A concrete suggested change, when the reviewer offered one. */
71
104
  suggestedFix: v.optional(v.nullable(v.string())),
105
+ /**
106
+ * The finding's challenge state, when a human challenged it (see
107
+ * {@link prReviewFindingChallengeSchema}). Absent for an un-challenged finding.
108
+ */
109
+ challenge: v.optional(v.nullable(prReviewFindingChallengeSchema)),
72
110
  });
73
111
  /**
74
112
  * The PR-review lifecycle on a `pr-reviewer` step:
75
113
  * - `reviewing`: the read-only reviewer container job is in flight (the agent dispatch).
76
114
  * - `awaiting_selection`: parked; the human curates which findings matter through the window.
115
+ * - `challenging`: a human challenged a finding, so the read-only Challenge Investigator container
116
+ * job is in flight digging into it; the review returns to `awaiting_selection` once its verdict
117
+ * (strengthen the finding, or retract it) is applied.
77
118
  * - `fixing` / `posting`: a resolution is executing — the Fixer is committing fixes onto the
78
119
  * PR branch (`fixing`), or the selected findings are being posted as inline comments (`posting`).
79
120
  * - `done`: the review is resolved (the human finished; PR 3: fixed / posted).
@@ -82,6 +123,7 @@ export const prReviewFindingSchema = v.object({
82
123
  export const prReviewStatusSchema = v.picklist([
83
124
  'reviewing',
84
125
  'awaiting_selection',
126
+ 'challenging',
85
127
  'fixing',
86
128
  'posting',
87
129
  'done',
@@ -230,6 +272,36 @@ export const prReviewAgentOutputSchema = v.object({
230
272
  detail: '',
231
273
  })), []),
232
274
  });
275
+ // ---- Challenge Investigator agent output ----------------------------------
276
+ /**
277
+ * The LENIENT structured shape the read-only **Challenge Investigator** container agent returns
278
+ * as `result.custom` when a human challenges a finding. The engine applies it to the challenged
279
+ * finding: an `upheld` verdict keeps the finding and strengthens/clarifies its body from any
280
+ * supplied `revised*` field (folding the justification in), while a `retracted` verdict
281
+ * auto-deselects the finding and records the justification beside it. Every field falls back to a
282
+ * safe default (`v.fallback`) — exactly like {@link prReviewAgentOutputSchema} — so a
283
+ * partially-malformed reply degrades sensibly (an unreadable verdict reads as `upheld`, KEEPING
284
+ * the finding rather than silently dropping it) instead of failing the run. This is the SINGLE
285
+ * source of truth for the investigator's output shape, consumed both by the agent kind's
286
+ * `defineStructuredOutput` (validation at completion) and the engine's coercion.
287
+ */
288
+ export const prReviewChallengeOutputSchema = v.object({
289
+ /**
290
+ * Does the finding hold up? `upheld` keeps it (and may strengthen it via the `revised*` fields);
291
+ * `retracted` drops it from the selection because the challenge showed it is wrong / irrelevant.
292
+ */
293
+ verdict: v.fallback(v.picklist(['upheld', 'retracted']), 'upheld'),
294
+ /** Why the finding holds up, or why it does not — surfaced beside the finding in the window. */
295
+ justification: v.fallback(v.string(), ''),
296
+ /** When upheld: a clarified / strengthened finding body replacing `detail` (optional). */
297
+ revisedDetail: v.fallback(v.optional(v.string()), undefined),
298
+ /** When upheld: a revised headline replacing `title` (optional). */
299
+ revisedTitle: v.fallback(v.optional(v.string()), undefined),
300
+ /** When upheld: a re-assessed severity (optional). */
301
+ revisedSeverity: v.fallback(v.optional(prReviewSeveritySchema), undefined),
302
+ /** When upheld: a revised concrete suggested fix replacing `suggestedFix` (optional). */
303
+ revisedSuggestedFix: v.fallback(v.optional(v.string()), undefined),
304
+ });
233
305
  // ---- Request bodies -------------------------------------------------------
234
306
  /**
235
307
  * Resolve a parked PR review: the human's curated selection (`findingIds`) plus how to resolve
@@ -241,4 +313,16 @@ export const resolvePrReviewSchema = v.object({
241
313
  action: v.optional(prReviewResolutionSchema, 'finish'),
242
314
  findingIds: v.optional(v.array(v.string()), []),
243
315
  });
316
+ /**
317
+ * Challenge a parked finding: dispatch the Challenge Investigator with an OPTIONAL specific
318
+ * concern. An omitted / blank `question` uses the generic prompt (dig deeper, justify the
319
+ * grounding, validate the finding is accurate + relevant). The finding is named in the path.
320
+ */
321
+ export const challengePrReviewFindingSchema = v.object({
322
+ /**
323
+ * The specific challenge / question / concern for the investigator to dig into. Omitted or
324
+ * blank ⇒ the generic "dig deeper and validate this finding" prompt.
325
+ */
326
+ question: v.optional(v.string()),
327
+ });
244
328
  //# sourceMappingURL=prReview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prReview.js","sourceRoot":"","sources":["../src/prReview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prReview.js","sourceRoot":"","sources":["../src/prReview.ts"],"names":[],"mappings":"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"}
@@ -269,7 +269,7 @@ export type PublicPipelineList = v.InferOutput<typeof publicPipelineListSchema>;
269
269
  export declare const publicNotificationListSchema: v.ObjectSchema<{
270
270
  readonly notifications: v.ArraySchema<v.ObjectSchema<{
271
271
  readonly id: v.StringSchema<undefined>;
272
- readonly type: v.PicklistSchema<["merge_review", "pipeline_complete", "ci_failed", "test_failed", "requirement_review", "clarity_review", "release_regression", "decision_required", "human_test_ready", "visual_confirmation_ready", "human_review", "followup_pending", "fork_decision_pending", "pr_review_ready", "initiative", "platform_health", "budget_paused"], undefined>;
272
+ readonly type: v.PicklistSchema<["merge_review", "pipeline_complete", "ci_failed", "test_failed", "requirement_review", "clarity_review", "release_regression", "decision_required", "human_test_ready", "visual_confirmation_ready", "human_review", "followup_pending", "fork_decision_pending", "pr_review_ready", "initiative", "platform_health", "budget_paused", "key_drift"], undefined>;
273
273
  readonly status: v.PicklistSchema<["open", "acted", "dismissed"], undefined>;
274
274
  readonly severity: v.OptionalSchema<v.PicklistSchema<["normal", "urgent"], undefined>, undefined>;
275
275
  readonly blockId: v.NullableSchema<v.StringSchema<undefined>, undefined>;
@@ -308,6 +308,13 @@ export declare const publicNotificationListSchema: v.ObjectSchema<{
308
308
  readonly unmergedRepos: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, undefined>;
309
309
  readonly platformWindow: v.OptionalSchema<v.PicklistSchema<["1h", "24h", "7d"], undefined>, undefined>;
310
310
  readonly platformAlerts: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<["failure_rate_high", "duration_p99_high", "backlog_high"], undefined>, undefined>, undefined>;
311
+ readonly driftAffected: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
312
+ readonly source: v.StringSchema<undefined>;
313
+ readonly id: v.StringSchema<undefined>;
314
+ readonly label: v.StringSchema<undefined>;
315
+ readonly reason: v.PicklistSchema<["key-mismatch", "corrupt"], undefined>;
316
+ readonly sealedAt: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
317
+ }, undefined>, undefined>, undefined>;
311
318
  }, undefined>, undefined>, undefined>;
312
319
  readonly createdAt: v.NumberSchema<undefined>;
313
320
  readonly resolvedAt: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAoB5B,+BAA+B;AAC/B,eAAO,MAAM,yBAAyB;IACpC,wEAAwE;;IAExE,iEAAiE;;IAEjE,kFAAkF;;aAElF,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEtF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,iEAAiD,CAAA;AACnF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE,2EAA2E;AAC3E,eAAO,MAAM,qBAAqB;IAChC,kDAAkD;;IAElD,iFAAiF;;aAEjF,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE,8EAA8E;AAC9E,eAAO,MAAM,eAAe;;;;;IAK1B,kFAAkF;;QAblF,kDAAkD;;QAElD,iFAAiF;;;IAajF,yDAAyD;;;;;aAEzD,CAAA;AACF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,eAAe,CAAC,CAAA;AAE7D,kFAAkF;AAClF,eAAO,MAAM,wBAAwB;;;;;;;aAInC,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAM/E;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,iGAOjC,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E,uGAAuG;AACvG,eAAO,MAAM,mBAAmB;;;;IAI9B,qFAAqF;;;aAGrF,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAErE,eAAO,MAAM,uBAAuB;;;;;QANlC,qFAAqF;;;;aAMI,CAAA;AAC3F,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E,iFAAiF;AACjF,eAAO,MAAM,gBAAgB;;IAE3B,wDAAwD;;;;;;IAMxD,mEAAmE;;IAEnE,8EAA8E;;IAE9E,6EAA6E;;aAE7E,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D,eAAO,MAAM,oBAAoB;;;QAf/B,wDAAwD;;;;;;QAMxD,mEAAmE;;QAEnE,8EAA8E;;QAE9E,6EAA6E;;;aAKG,CAAA;AAClF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB;;;IAGjC,gFAAgF;;aAEhF,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAEhF;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;aAEhC,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAE9E;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB;;;aAGjC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAMhF;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,iFAAiE,CAAA;AACnG,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE,uFAAuF;AACvF,eAAO,MAAM,mBAAmB;IAC9B,sFAAsF;;IAEtF,4EAA4E;;IAE5E,kCAAkC;;IAElC,gFAAgF;;;;;;aAIhF,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAErE;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;;;;IAK1B,iDAAiD;;;QAxBjD,sFAAsF;;QAEtF,4EAA4E;;QAE5E,kCAAkC;;QAElC,gFAAgF;;;;;;;IAqBhF,8DAA8D;;;;;IAE9D,sFAAsF;;;;;aAEtF,CAAA;AACF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,eAAe,CAAC,CAAA;AAM7D;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB;;;IAG/B,6DAA6D;;IAE7D;;;OAGG;;IAEH;;;;OAIG;;aAEH,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE,eAAO,MAAM,wBAAwB;;;;QAhBnC,6DAA6D;;QAE7D;;;WAGG;;QAEH;;;;WAIG;;;aAKyF,CAAA;AAC9F,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAM/E;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAEvC,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,4BAA4B,CAAC,CAAA"}
1
+ {"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"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"}
@@ -454,7 +454,7 @@ export declare const retryAgentRunContract: {
454
454
  readonly messageId: v.StringSchema<undefined>;
455
455
  }, undefined>, undefined>, undefined>;
456
456
  readonly prReview: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
457
- readonly status: v.PicklistSchema<["reviewing", "awaiting_selection", "fixing", "posting", "done", "skipped"], undefined>;
457
+ readonly status: v.PicklistSchema<["reviewing", "awaiting_selection", "challenging", "fixing", "posting", "done", "skipped"], undefined>;
458
458
  readonly summary: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
459
459
  readonly slices: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
460
460
  readonly id: v.StringSchema<undefined>;
@@ -473,6 +473,11 @@ export declare const retryAgentRunContract: {
473
473
  readonly title: v.StringSchema<undefined>;
474
474
  readonly detail: v.StringSchema<undefined>;
475
475
  readonly suggestedFix: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
476
+ readonly challenge: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
477
+ readonly status: v.PicklistSchema<["investigating", "upheld", "amended", "retracted", "failed"], undefined>;
478
+ readonly question: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
479
+ readonly justification: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
480
+ }, undefined>, undefined>, undefined>;
476
481
  }, undefined>, undefined>, readonly []>;
477
482
  readonly selectedFindingIds: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, readonly []>;
478
483
  readonly resolution: v.OptionalSchema<v.NullableSchema<v.PicklistSchema<["finish", "fix", "post"], undefined>, undefined>, undefined>;
@@ -496,6 +501,10 @@ export declare const retryAgentRunContract: {
496
501
  readonly postedBody: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
497
502
  }, undefined>, undefined>, undefined>;
498
503
  readonly pendingPrReviewPost: v.OptionalSchema<v.NullableSchema<v.BooleanSchema<undefined>, undefined>, undefined>;
504
+ readonly pendingChallenge: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
505
+ readonly findingId: v.StringSchema<undefined>;
506
+ readonly question: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
507
+ }, undefined>, undefined>, undefined>;
499
508
  readonly rework: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
500
509
  readonly previousProposal: v.StringSchema<undefined>;
501
510
  readonly feedback: v.StringSchema<undefined>;
@@ -1350,7 +1359,7 @@ export declare const stopAgentRunContract: {
1350
1359
  readonly messageId: v.StringSchema<undefined>;
1351
1360
  }, undefined>, undefined>, undefined>;
1352
1361
  readonly prReview: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
1353
- readonly status: v.PicklistSchema<["reviewing", "awaiting_selection", "fixing", "posting", "done", "skipped"], undefined>;
1362
+ readonly status: v.PicklistSchema<["reviewing", "awaiting_selection", "challenging", "fixing", "posting", "done", "skipped"], undefined>;
1354
1363
  readonly summary: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
1355
1364
  readonly slices: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
1356
1365
  readonly id: v.StringSchema<undefined>;
@@ -1369,6 +1378,11 @@ export declare const stopAgentRunContract: {
1369
1378
  readonly title: v.StringSchema<undefined>;
1370
1379
  readonly detail: v.StringSchema<undefined>;
1371
1380
  readonly suggestedFix: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
1381
+ readonly challenge: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
1382
+ readonly status: v.PicklistSchema<["investigating", "upheld", "amended", "retracted", "failed"], undefined>;
1383
+ readonly question: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
1384
+ readonly justification: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
1385
+ }, undefined>, undefined>, undefined>;
1372
1386
  }, undefined>, undefined>, readonly []>;
1373
1387
  readonly selectedFindingIds: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, readonly []>;
1374
1388
  readonly resolution: v.OptionalSchema<v.NullableSchema<v.PicklistSchema<["finish", "fix", "post"], undefined>, undefined>, undefined>;
@@ -1392,6 +1406,10 @@ export declare const stopAgentRunContract: {
1392
1406
  readonly postedBody: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
1393
1407
  }, undefined>, undefined>, undefined>;
1394
1408
  readonly pendingPrReviewPost: v.OptionalSchema<v.NullableSchema<v.BooleanSchema<undefined>, undefined>, undefined>;
1409
+ readonly pendingChallenge: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
1410
+ readonly findingId: v.StringSchema<undefined>;
1411
+ readonly question: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
1412
+ }, undefined>, undefined>, undefined>;
1395
1413
  readonly rework: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
1396
1414
  readonly previousProposal: v.StringSchema<undefined>;
1397
1415
  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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMhC,CAAA;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM/B,CAAA"}
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"}