@lax-wp/editor 0.4.13 → 0.4.15-beta.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.
Files changed (160) hide show
  1. package/README.md +25 -0
  2. package/dist/api/audit.d.ts +79 -0
  3. package/dist/api/derivedRulebook.d.ts +470 -0
  4. package/dist/api/documentVersions.d.ts +519 -0
  5. package/dist/api/effectiveRules.d.ts +372 -0
  6. package/dist/api/methodology.d.ts +62 -0
  7. package/dist/api/playbook.d.ts +604 -0
  8. package/dist/api/promotions.d.ts +1432 -0
  9. package/dist/api/r1.d.ts +1097 -0
  10. package/dist/api/r1.fixtures.d.ts +111 -0
  11. package/dist/api/redlineJobs.d.ts +377 -0
  12. package/dist/api/redlineStream.d.ts +2979 -0
  13. package/dist/api/redlines.d.ts +504 -0
  14. package/dist/api/regsync.d.ts +2355 -0
  15. package/dist/api/ruleAuthoring.d.ts +305 -0
  16. package/dist/api/ruleBuilder.d.ts +1009 -0
  17. package/dist/api/ruleOverrides.d.ts +31 -0
  18. package/dist/api/ruleStats.d.ts +84 -0
  19. package/dist/api/rulesCatalog.d.ts +234 -0
  20. package/dist/api/versions.d.ts +76 -0
  21. package/dist/api/workspace.d.ts +41 -0
  22. package/dist/components/EditorSidebar.d.ts +4 -1
  23. package/dist/components/audit/AuditView.d.ts +8 -0
  24. package/dist/components/capturededits/AddAsRuleModal.d.ts +8 -0
  25. package/dist/components/capturededits/CapturedEditCard.d.ts +15 -0
  26. package/dist/components/capturededits/CapturedEditsTray.d.ts +4 -0
  27. package/dist/components/capturededits/capturedEditIntent.d.ts +23 -0
  28. package/dist/components/common/EscDropdown.d.ts +2 -0
  29. package/dist/components/compliance/MethodologyPanel.d.ts +14 -0
  30. package/dist/components/compliance/RegSyncPanel.d.ts +18 -0
  31. package/dist/components/compliance/index.d.ts +8 -0
  32. package/dist/components/compliance/primitives.d.ts +41 -0
  33. package/dist/components/documents/DocumentVersionHistory.d.ts +12 -0
  34. package/dist/components/documents/documentDiff.d.ts +68 -0
  35. package/dist/components/documents/index.d.ts +4 -0
  36. package/dist/components/flowdown/FlowdownPanel.d.ts +28 -0
  37. package/dist/components/flowdown/FlowdownRowCard.d.ts +27 -0
  38. package/dist/components/flowdown/flowdownModel.d.ts +150 -0
  39. package/dist/components/history/PlaybookVersionHistory.d.ts +10 -0
  40. package/dist/components/history/versionDiff.d.ts +14 -0
  41. package/dist/components/playbook/AllPlaybooksView.d.ts +41 -0
  42. package/dist/components/playbook/DerivedRulebookView.d.ts +9 -0
  43. package/dist/components/playbook/DraftedRulePreview.d.ts +17 -0
  44. package/dist/components/playbook/EffectiveRulesView.d.ts +11 -0
  45. package/dist/components/playbook/NewRuleDrawer.d.ts +11 -0
  46. package/dist/components/playbook/PlaybookCard.d.ts +13 -0
  47. package/dist/components/playbook/PlaybookPage.d.ts +29 -0
  48. package/dist/components/playbook/PlaybookPanel.d.ts +73 -0
  49. package/dist/components/playbook/PromotionSuggestions.d.ts +1 -0
  50. package/dist/components/playbook/ReprioritizeDialog.d.ts +16 -0
  51. package/dist/components/playbook/RuleDetail.d.ts +27 -0
  52. package/dist/components/playbook/RuleEditorFields.d.ts +42 -0
  53. package/dist/components/playbook/RuleEditorModal.d.ts +27 -0
  54. package/dist/components/playbook/RulePerformancePanel.d.ts +4 -0
  55. package/dist/components/playbook/RuleRow.d.ts +26 -0
  56. package/dist/components/playbook/ThisDocumentView.d.ts +45 -0
  57. package/dist/components/playbook/ViewTabs.d.ts +8 -0
  58. package/dist/components/playbook/index.d.ts +14 -0
  59. package/dist/components/playbook/predicateSummary.d.ts +10 -0
  60. package/dist/components/playbook/primitives.d.ts +82 -0
  61. package/dist/components/playbook/useFocusTrap.d.ts +6 -0
  62. package/dist/components/playbook/usePlaybookData.d.ts +161 -0
  63. package/dist/components/playbook/usePlaybookLabel.d.ts +18 -0
  64. package/dist/components/r1/ApprovalPanel.d.ts +10 -0
  65. package/dist/components/r1/CandidateRuleCard.d.ts +8 -0
  66. package/dist/components/r1/ExecSummaryPanel.d.ts +23 -0
  67. package/dist/components/r1/PrimeUploadPanel.d.ts +8 -0
  68. package/dist/components/r1/ReviewStartControls.d.ts +24 -0
  69. package/dist/components/r1/ReviewSummaryTab.d.ts +38 -0
  70. package/dist/components/r1/index.d.ts +13 -0
  71. package/dist/components/r1/primitives.d.ts +59 -0
  72. package/dist/components/redline/AiReviewPanel.d.ts +194 -0
  73. package/dist/components/redline/RedlineHoverCard.d.ts +13 -0
  74. package/dist/components/redline/RedlineItem.d.ts +12 -0
  75. package/dist/components/redline/ReviewCard.d.ts +49 -0
  76. package/dist/components/redline/index.d.ts +6 -0
  77. package/dist/components/redline/reviewItems.d.ts +49 -0
  78. package/dist/components/redline/reviewPrefs.d.ts +18 -0
  79. package/dist/components/redline/useRunScopedCards.d.ts +16 -0
  80. package/dist/components/rulebuilder/AuthorForms.d.ts +28 -0
  81. package/dist/components/rulebuilder/CandidateQueue.d.ts +21 -0
  82. package/dist/components/rulebuilder/DraftPane.d.ts +12 -0
  83. package/dist/components/rulebuilder/RuleBuilderPanel.d.ts +6 -0
  84. package/dist/components/rulebuilder/RuleCard.d.ts +16 -0
  85. package/dist/components/rulebuilder/TestBench.d.ts +10 -0
  86. package/dist/components/rulebuilder/VocabularyPanel.d.ts +26 -0
  87. package/dist/components/rulebuilder/index.d.ts +13 -0
  88. package/dist/components/rulebuilder/primitives.d.ts +54 -0
  89. package/dist/components/rulebuilder/useRuleBuilder.d.ts +291 -0
  90. package/dist/components/sidebar/ExpandableSidebar.d.ts +2 -0
  91. package/dist/components/sidebar/WorkspaceRetentionPanel.d.ts +18 -0
  92. package/dist/components/sidebar/content/TrackChangesContent.d.ts +8 -0
  93. package/dist/components/sidebar/content/anonymization-page/PIIAnonymization.d.ts +1 -1
  94. package/dist/components/sidebar/content/anonymization-page/PiiIdleView.d.ts +12 -0
  95. package/dist/components/sidebar/content/anonymization-page/PiiRecoveryView.d.ts +16 -0
  96. package/dist/components/sidebar/content/anonymization-page/PiiSummaryView.d.ts +34 -0
  97. package/dist/components/sidebar/content/anonymization-page/PiiUnavailableView.d.ts +1 -0
  98. package/dist/components/sidebar/content/anonymization-page/RestoreConfirmDialog.d.ts +9 -0
  99. package/dist/components/sidebar/content/anonymization-page/anonymizationUtils.d.ts +38 -17
  100. package/dist/components/sidebar/content/anonymization-page/piiVault.d.ts +18 -0
  101. package/dist/components/sidebar/content/index.d.ts +0 -1
  102. package/dist/components/toolbar/AutocompletionToggle.d.ts +1 -0
  103. package/dist/components/trackChanges/TrackChangesCards.d.ts +1 -0
  104. package/dist/components/trackChanges/index.d.ts +2 -0
  105. package/dist/components/trackChanges/utils.d.ts +5 -0
  106. package/dist/config/EditorConfig.d.ts +197 -73
  107. package/dist/constants/Extensions.d.ts +12 -0
  108. package/dist/constants/playbook.d.ts +108 -0
  109. package/dist/contexts/CapturedEditsContext.d.ts +56 -0
  110. package/dist/contexts/EditorShellContext.d.ts +4 -1
  111. package/dist/editor.css +1 -1
  112. package/dist/extensions/AnonymizedText.d.ts +31 -2
  113. package/dist/extensions/VariableText.d.ts +20 -0
  114. package/dist/extensions/index.d.ts +1 -1
  115. package/dist/extensions/plugins/CapturedEditsPlugin.d.ts +90 -0
  116. package/dist/extensions/plugins/MarkHighlightPlugin.d.ts +0 -1
  117. package/dist/extensions/plugins/RedlinePlugin.d.ts +9 -0
  118. package/dist/extensions/redline/changeTypes.d.ts +70 -0
  119. package/dist/extensions/redline/constants.d.ts +25 -0
  120. package/dist/extensions/redline/engine/blockNodes.d.ts +31 -0
  121. package/dist/extensions/redline/engine/clipboard.d.ts +16 -0
  122. package/dist/extensions/redline/engine/deletion.d.ts +34 -0
  123. package/dist/extensions/redline/engine/formatSplit.d.ts +16 -0
  124. package/dist/extensions/redline/engine/insertion.d.ts +26 -0
  125. package/dist/extensions/redline/engine/predicates.d.ts +73 -0
  126. package/dist/extensions/redline/engine/textReplace.d.ts +19 -0
  127. package/dist/extensions/redline/id.d.ts +7 -0
  128. package/dist/extensions/redline/index.d.ts +36 -0
  129. package/dist/extensions/redline/plugin.d.ts +34 -0
  130. package/dist/extensions/redline/query/scan.d.ts +52 -0
  131. package/dist/extensions/redline/review/applyChange.d.ts +25 -0
  132. package/dist/extensions/redline/review/index.d.ts +1 -0
  133. package/dist/extensions/redline/review/nodeResolvers.d.ts +29 -0
  134. package/dist/extensions/redline/review/pairedNodes.d.ts +38 -0
  135. package/dist/extensions/redline/review/structuralRevert.d.ts +20 -0
  136. package/dist/extensions/redline/review/textResolver.d.ts +9 -0
  137. package/dist/extensions/redline/schema/marks.d.ts +65 -0
  138. package/dist/extensions/redline/schema/shared.d.ts +34 -0
  139. package/dist/extensions/redline/session.d.ts +71 -0
  140. package/dist/extensions/redline/types.d.ts +24 -0
  141. package/dist/extensions/trackedChanges/TrackedChanges.d.ts +64 -0
  142. package/dist/extensions/trackedChanges/constants.d.ts +34 -0
  143. package/dist/extensions/trackedChanges/engine.d.ts +32 -0
  144. package/dist/extensions/trackedChanges/index.d.ts +13 -0
  145. package/dist/extensions/trackedChanges/marks.d.ts +20 -0
  146. package/dist/extensions/trackedChanges/normalize.d.ts +2 -0
  147. package/dist/extensions/trackedChanges/plugin.d.ts +32 -0
  148. package/dist/extensions/trackedChanges/query.d.ts +3 -0
  149. package/dist/extensions/trackedChanges/review.d.ts +34 -0
  150. package/dist/extensions/trackedChanges/types.d.ts +72 -0
  151. package/dist/extensions/trackedChanges/utils.d.ts +20 -0
  152. package/dist/hooks/useMediaQuery.d.ts +2 -0
  153. package/dist/hooks/useRedlineHover.d.ts +17 -0
  154. package/dist/hooks/useRedlineReview.d.ts +83 -0
  155. package/dist/index.d.ts +46 -0
  156. package/dist/index.es.js +38491 -22189
  157. package/dist/index.umd.js +224 -125
  158. package/dist/utils/cdts.d.ts +37 -0
  159. package/dist/utils/groundingAdapter.d.ts +36 -0
  160. package/package.json +39 -33
@@ -0,0 +1,1432 @@
1
+ /**
2
+ * Rule-promotion suggestions — the mined "this rule recurs across sibling
3
+ * playbooks, consolidate it up to their shared parent scope" candidates.
4
+ *
5
+ * GET /v1/playbooks/promotion-suggestions {suggestions: [...]}
6
+ * POST /v1/playbooks/promotion-suggestions/{id}/reject the suggestion DTO
7
+ * POST /v1/playbooks/promotion-suggestions/{id}/accept the suggestion DTO
8
+ * + additive promoted_rule_id / promoted_playbook_id /
9
+ * promoted_rule_existed fields
10
+ *
11
+ * Accept is real since backend 5c62af9: it persists the consolidated rule
12
+ * (deterministic id `rl-promoted-<suggestion id>`) into the workspace's
13
+ * promoted-rules playbook at the suggestion's scope, then marks the
14
+ * suggestion accepted. An already-existing promoted rule is never
15
+ * overwritten — `promoted_rule_existed: true` says so. Suggestions with no
16
+ * source rules AND no drafted `rule` body (legacy accepted-changes mining)
17
+ * accept as a decision record only: no promoted_rule_id in the response.
18
+ * When the additive `rule` body is present, accept persists it and the
19
+ * suggestion's status reaches `applied`.
20
+ *
21
+ * Shape verified against contracts.PromotionSuggestion; `.passthrough()` at
22
+ * the boundary because the struct carries more than the UI consumes. The
23
+ * `rule` + `evidence` fields are the rule-escalation pipeline's additive DTO
24
+ * delta — both optional, old rows simply lack them.
25
+ */
26
+ import { z } from "zod";
27
+ /** proposed → accepted | rejected → applied. Only `proposed` is transitionable. */
28
+ export declare const promotionStatusSchema: z.ZodString;
29
+ /** Additive evidence sidecar: accepted-edit examples behind a mined cluster. */
30
+ export declare const promotionEvidenceSchema: z.ZodObject<{
31
+ count: z.ZodNumber;
32
+ examples: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
33
+ before: z.ZodString;
34
+ after: z.ZodString;
35
+ doc_id: z.ZodString;
36
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
37
+ before: z.ZodString;
38
+ after: z.ZodString;
39
+ doc_id: z.ZodString;
40
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
41
+ before: z.ZodString;
42
+ after: z.ZodString;
43
+ doc_id: z.ZodString;
44
+ }, z.ZodTypeAny, "passthrough">>, "many">>>, z.objectOutputType<{
45
+ before: z.ZodString;
46
+ after: z.ZodString;
47
+ doc_id: z.ZodString;
48
+ }, z.ZodTypeAny, "passthrough">[], z.objectInputType<{
49
+ before: z.ZodString;
50
+ after: z.ZodString;
51
+ doc_id: z.ZodString;
52
+ }, z.ZodTypeAny, "passthrough">[] | null | undefined>;
53
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
54
+ count: z.ZodNumber;
55
+ examples: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
56
+ before: z.ZodString;
57
+ after: z.ZodString;
58
+ doc_id: z.ZodString;
59
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
60
+ before: z.ZodString;
61
+ after: z.ZodString;
62
+ doc_id: z.ZodString;
63
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
64
+ before: z.ZodString;
65
+ after: z.ZodString;
66
+ doc_id: z.ZodString;
67
+ }, z.ZodTypeAny, "passthrough">>, "many">>>, z.objectOutputType<{
68
+ before: z.ZodString;
69
+ after: z.ZodString;
70
+ doc_id: z.ZodString;
71
+ }, z.ZodTypeAny, "passthrough">[], z.objectInputType<{
72
+ before: z.ZodString;
73
+ after: z.ZodString;
74
+ doc_id: z.ZodString;
75
+ }, z.ZodTypeAny, "passthrough">[] | null | undefined>;
76
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
77
+ count: z.ZodNumber;
78
+ examples: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
79
+ before: z.ZodString;
80
+ after: z.ZodString;
81
+ doc_id: z.ZodString;
82
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
83
+ before: z.ZodString;
84
+ after: z.ZodString;
85
+ doc_id: z.ZodString;
86
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
87
+ before: z.ZodString;
88
+ after: z.ZodString;
89
+ doc_id: z.ZodString;
90
+ }, z.ZodTypeAny, "passthrough">>, "many">>>, z.objectOutputType<{
91
+ before: z.ZodString;
92
+ after: z.ZodString;
93
+ doc_id: z.ZodString;
94
+ }, z.ZodTypeAny, "passthrough">[], z.objectInputType<{
95
+ before: z.ZodString;
96
+ after: z.ZodString;
97
+ doc_id: z.ZodString;
98
+ }, z.ZodTypeAny, "passthrough">[] | null | undefined>;
99
+ }, z.ZodTypeAny, "passthrough">>;
100
+ export type PromotionEvidence = z.infer<typeof promotionEvidenceSchema>;
101
+ export declare const promotionSuggestionSchema: z.ZodObject<{
102
+ id: z.ZodString;
103
+ workspace_id: z.ZodOptional<z.ZodString>;
104
+ suggested_at: z.ZodOptional<z.ZodString>;
105
+ promote_to_scope: z.ZodOptional<z.ZodObject<{
106
+ category: z.ZodOptional<z.ZodString>;
107
+ domain: z.ZodOptional<z.ZodString>;
108
+ type: z.ZodOptional<z.ZodString>;
109
+ subtype: z.ZodOptional<z.ZodString>;
110
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
111
+ category: z.ZodOptional<z.ZodString>;
112
+ domain: z.ZodOptional<z.ZodString>;
113
+ type: z.ZodOptional<z.ZodString>;
114
+ subtype: z.ZodOptional<z.ZodString>;
115
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
116
+ category: z.ZodOptional<z.ZodString>;
117
+ domain: z.ZodOptional<z.ZodString>;
118
+ type: z.ZodOptional<z.ZodString>;
119
+ subtype: z.ZodOptional<z.ZodString>;
120
+ }, z.ZodTypeAny, "passthrough">>>;
121
+ promote_to_regime: z.ZodOptional<z.ZodString>;
122
+ /** Consolidation candidates: the sibling rules that recur. */
123
+ source_rules: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
124
+ source_playbooks: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
125
+ /**
126
+ * Wave-5 accepted-changes mining: ES ids of the accepted redlines whose
127
+ * clustering produced this. When present, source_rules/source_playbooks
128
+ * are empty — the pattern came from lawyer-accepted edits, not rules.
129
+ */
130
+ source_accepted_change_ids: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
131
+ confidence_score: z.ZodOptional<z.ZodNumber>;
132
+ /** Additive: the drafted rule body — old rows lack it; accept persists it. */
133
+ rule: z.ZodOptional<z.ZodObject<{
134
+ id: z.ZodString;
135
+ playbook_id: z.ZodString;
136
+ workspace_id: z.ZodOptional<z.ZodString>;
137
+ predicate: z.ZodOptional<z.ZodType<import("./ruleBuilder").PredicateNode, z.ZodTypeDef, import("./ruleBuilder").PredicateNode>>;
138
+ action: z.ZodOptional<z.ZodString>;
139
+ default_severity: z.ZodOptional<z.ZodString>;
140
+ category: z.ZodOptional<z.ZodString>;
141
+ rationale: z.ZodDefault<z.ZodOptional<z.ZodString>>;
142
+ semantic_intent: z.ZodOptional<z.ZodString>;
143
+ source: z.ZodOptional<z.ZodString>;
144
+ read_only: z.ZodOptional<z.ZodBoolean>;
145
+ mandatory: z.ZodOptional<z.ZodBoolean>;
146
+ authority: z.ZodOptional<z.ZodString>;
147
+ effort: z.ZodOptional<z.ZodString>;
148
+ standard_position: z.ZodOptional<z.ZodNullable<z.ZodObject<{
149
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
150
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
151
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
152
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
153
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
154
+ }, z.ZodTypeAny, "passthrough">>>>;
155
+ fallback_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
156
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
157
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
158
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
159
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
160
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
161
+ }, z.ZodTypeAny, "passthrough">>>>;
162
+ walkaway_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
163
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
164
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
165
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
166
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
167
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
168
+ }, z.ZodTypeAny, "passthrough">>>>;
169
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
170
+ id: z.ZodString;
171
+ playbook_id: z.ZodString;
172
+ workspace_id: z.ZodOptional<z.ZodString>;
173
+ predicate: z.ZodOptional<z.ZodType<import("./ruleBuilder").PredicateNode, z.ZodTypeDef, import("./ruleBuilder").PredicateNode>>;
174
+ action: z.ZodOptional<z.ZodString>;
175
+ default_severity: z.ZodOptional<z.ZodString>;
176
+ category: z.ZodOptional<z.ZodString>;
177
+ rationale: z.ZodDefault<z.ZodOptional<z.ZodString>>;
178
+ semantic_intent: z.ZodOptional<z.ZodString>;
179
+ source: z.ZodOptional<z.ZodString>;
180
+ read_only: z.ZodOptional<z.ZodBoolean>;
181
+ mandatory: z.ZodOptional<z.ZodBoolean>;
182
+ authority: z.ZodOptional<z.ZodString>;
183
+ effort: z.ZodOptional<z.ZodString>;
184
+ standard_position: z.ZodOptional<z.ZodNullable<z.ZodObject<{
185
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
186
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
187
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
188
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
189
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
190
+ }, z.ZodTypeAny, "passthrough">>>>;
191
+ fallback_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
192
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
193
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
194
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
195
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
196
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
197
+ }, z.ZodTypeAny, "passthrough">>>>;
198
+ walkaway_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
199
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
200
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
201
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
202
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
203
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
204
+ }, z.ZodTypeAny, "passthrough">>>>;
205
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
206
+ id: z.ZodString;
207
+ playbook_id: z.ZodString;
208
+ workspace_id: z.ZodOptional<z.ZodString>;
209
+ predicate: z.ZodOptional<z.ZodType<import("./ruleBuilder").PredicateNode, z.ZodTypeDef, import("./ruleBuilder").PredicateNode>>;
210
+ action: z.ZodOptional<z.ZodString>;
211
+ default_severity: z.ZodOptional<z.ZodString>;
212
+ category: z.ZodOptional<z.ZodString>;
213
+ rationale: z.ZodDefault<z.ZodOptional<z.ZodString>>;
214
+ semantic_intent: z.ZodOptional<z.ZodString>;
215
+ source: z.ZodOptional<z.ZodString>;
216
+ read_only: z.ZodOptional<z.ZodBoolean>;
217
+ mandatory: z.ZodOptional<z.ZodBoolean>;
218
+ authority: z.ZodOptional<z.ZodString>;
219
+ effort: z.ZodOptional<z.ZodString>;
220
+ standard_position: z.ZodOptional<z.ZodNullable<z.ZodObject<{
221
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
222
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
223
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
224
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
225
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
226
+ }, z.ZodTypeAny, "passthrough">>>>;
227
+ fallback_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
228
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
229
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
230
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
231
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
232
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
233
+ }, z.ZodTypeAny, "passthrough">>>>;
234
+ walkaway_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
235
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
236
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
237
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
238
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
239
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
240
+ }, z.ZodTypeAny, "passthrough">>>>;
241
+ }, z.ZodTypeAny, "passthrough">>>;
242
+ /** Additive: accepted-edit evidence behind a mined cluster. */
243
+ evidence: z.ZodOptional<z.ZodObject<{
244
+ count: z.ZodNumber;
245
+ examples: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
246
+ before: z.ZodString;
247
+ after: z.ZodString;
248
+ doc_id: z.ZodString;
249
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
250
+ before: z.ZodString;
251
+ after: z.ZodString;
252
+ doc_id: z.ZodString;
253
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
254
+ before: z.ZodString;
255
+ after: z.ZodString;
256
+ doc_id: z.ZodString;
257
+ }, z.ZodTypeAny, "passthrough">>, "many">>>, z.objectOutputType<{
258
+ before: z.ZodString;
259
+ after: z.ZodString;
260
+ doc_id: z.ZodString;
261
+ }, z.ZodTypeAny, "passthrough">[], z.objectInputType<{
262
+ before: z.ZodString;
263
+ after: z.ZodString;
264
+ doc_id: z.ZodString;
265
+ }, z.ZodTypeAny, "passthrough">[] | null | undefined>;
266
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
267
+ count: z.ZodNumber;
268
+ examples: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
269
+ before: z.ZodString;
270
+ after: z.ZodString;
271
+ doc_id: z.ZodString;
272
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
273
+ before: z.ZodString;
274
+ after: z.ZodString;
275
+ doc_id: z.ZodString;
276
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
277
+ before: z.ZodString;
278
+ after: z.ZodString;
279
+ doc_id: z.ZodString;
280
+ }, z.ZodTypeAny, "passthrough">>, "many">>>, z.objectOutputType<{
281
+ before: z.ZodString;
282
+ after: z.ZodString;
283
+ doc_id: z.ZodString;
284
+ }, z.ZodTypeAny, "passthrough">[], z.objectInputType<{
285
+ before: z.ZodString;
286
+ after: z.ZodString;
287
+ doc_id: z.ZodString;
288
+ }, z.ZodTypeAny, "passthrough">[] | null | undefined>;
289
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
290
+ count: z.ZodNumber;
291
+ examples: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
292
+ before: z.ZodString;
293
+ after: z.ZodString;
294
+ doc_id: z.ZodString;
295
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
296
+ before: z.ZodString;
297
+ after: z.ZodString;
298
+ doc_id: z.ZodString;
299
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
300
+ before: z.ZodString;
301
+ after: z.ZodString;
302
+ doc_id: z.ZodString;
303
+ }, z.ZodTypeAny, "passthrough">>, "many">>>, z.objectOutputType<{
304
+ before: z.ZodString;
305
+ after: z.ZodString;
306
+ doc_id: z.ZodString;
307
+ }, z.ZodTypeAny, "passthrough">[], z.objectInputType<{
308
+ before: z.ZodString;
309
+ after: z.ZodString;
310
+ doc_id: z.ZodString;
311
+ }, z.ZodTypeAny, "passthrough">[] | null | undefined>;
312
+ }, z.ZodTypeAny, "passthrough">>>;
313
+ status: z.ZodString;
314
+ decided_by: z.ZodOptional<z.ZodString>;
315
+ decided_at: z.ZodOptional<z.ZodString>;
316
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
317
+ id: z.ZodString;
318
+ workspace_id: z.ZodOptional<z.ZodString>;
319
+ suggested_at: z.ZodOptional<z.ZodString>;
320
+ promote_to_scope: z.ZodOptional<z.ZodObject<{
321
+ category: z.ZodOptional<z.ZodString>;
322
+ domain: z.ZodOptional<z.ZodString>;
323
+ type: z.ZodOptional<z.ZodString>;
324
+ subtype: z.ZodOptional<z.ZodString>;
325
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
326
+ category: z.ZodOptional<z.ZodString>;
327
+ domain: z.ZodOptional<z.ZodString>;
328
+ type: z.ZodOptional<z.ZodString>;
329
+ subtype: z.ZodOptional<z.ZodString>;
330
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
331
+ category: z.ZodOptional<z.ZodString>;
332
+ domain: z.ZodOptional<z.ZodString>;
333
+ type: z.ZodOptional<z.ZodString>;
334
+ subtype: z.ZodOptional<z.ZodString>;
335
+ }, z.ZodTypeAny, "passthrough">>>;
336
+ promote_to_regime: z.ZodOptional<z.ZodString>;
337
+ /** Consolidation candidates: the sibling rules that recur. */
338
+ source_rules: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
339
+ source_playbooks: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
340
+ /**
341
+ * Wave-5 accepted-changes mining: ES ids of the accepted redlines whose
342
+ * clustering produced this. When present, source_rules/source_playbooks
343
+ * are empty — the pattern came from lawyer-accepted edits, not rules.
344
+ */
345
+ source_accepted_change_ids: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
346
+ confidence_score: z.ZodOptional<z.ZodNumber>;
347
+ /** Additive: the drafted rule body — old rows lack it; accept persists it. */
348
+ rule: z.ZodOptional<z.ZodObject<{
349
+ id: z.ZodString;
350
+ playbook_id: z.ZodString;
351
+ workspace_id: z.ZodOptional<z.ZodString>;
352
+ predicate: z.ZodOptional<z.ZodType<import("./ruleBuilder").PredicateNode, z.ZodTypeDef, import("./ruleBuilder").PredicateNode>>;
353
+ action: z.ZodOptional<z.ZodString>;
354
+ default_severity: z.ZodOptional<z.ZodString>;
355
+ category: z.ZodOptional<z.ZodString>;
356
+ rationale: z.ZodDefault<z.ZodOptional<z.ZodString>>;
357
+ semantic_intent: z.ZodOptional<z.ZodString>;
358
+ source: z.ZodOptional<z.ZodString>;
359
+ read_only: z.ZodOptional<z.ZodBoolean>;
360
+ mandatory: z.ZodOptional<z.ZodBoolean>;
361
+ authority: z.ZodOptional<z.ZodString>;
362
+ effort: z.ZodOptional<z.ZodString>;
363
+ standard_position: z.ZodOptional<z.ZodNullable<z.ZodObject<{
364
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
365
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
366
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
367
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
368
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
369
+ }, z.ZodTypeAny, "passthrough">>>>;
370
+ fallback_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
371
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
372
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
373
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
374
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
375
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
376
+ }, z.ZodTypeAny, "passthrough">>>>;
377
+ walkaway_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
378
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
379
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
380
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
381
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
382
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
383
+ }, z.ZodTypeAny, "passthrough">>>>;
384
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
385
+ id: z.ZodString;
386
+ playbook_id: z.ZodString;
387
+ workspace_id: z.ZodOptional<z.ZodString>;
388
+ predicate: z.ZodOptional<z.ZodType<import("./ruleBuilder").PredicateNode, z.ZodTypeDef, import("./ruleBuilder").PredicateNode>>;
389
+ action: z.ZodOptional<z.ZodString>;
390
+ default_severity: z.ZodOptional<z.ZodString>;
391
+ category: z.ZodOptional<z.ZodString>;
392
+ rationale: z.ZodDefault<z.ZodOptional<z.ZodString>>;
393
+ semantic_intent: z.ZodOptional<z.ZodString>;
394
+ source: z.ZodOptional<z.ZodString>;
395
+ read_only: z.ZodOptional<z.ZodBoolean>;
396
+ mandatory: z.ZodOptional<z.ZodBoolean>;
397
+ authority: z.ZodOptional<z.ZodString>;
398
+ effort: z.ZodOptional<z.ZodString>;
399
+ standard_position: z.ZodOptional<z.ZodNullable<z.ZodObject<{
400
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
401
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
402
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
403
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
404
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
405
+ }, z.ZodTypeAny, "passthrough">>>>;
406
+ fallback_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
407
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
408
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
409
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
410
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
411
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
412
+ }, z.ZodTypeAny, "passthrough">>>>;
413
+ walkaway_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
414
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
415
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
416
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
417
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
418
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
419
+ }, z.ZodTypeAny, "passthrough">>>>;
420
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
421
+ id: z.ZodString;
422
+ playbook_id: z.ZodString;
423
+ workspace_id: z.ZodOptional<z.ZodString>;
424
+ predicate: z.ZodOptional<z.ZodType<import("./ruleBuilder").PredicateNode, z.ZodTypeDef, import("./ruleBuilder").PredicateNode>>;
425
+ action: z.ZodOptional<z.ZodString>;
426
+ default_severity: z.ZodOptional<z.ZodString>;
427
+ category: z.ZodOptional<z.ZodString>;
428
+ rationale: z.ZodDefault<z.ZodOptional<z.ZodString>>;
429
+ semantic_intent: z.ZodOptional<z.ZodString>;
430
+ source: z.ZodOptional<z.ZodString>;
431
+ read_only: z.ZodOptional<z.ZodBoolean>;
432
+ mandatory: z.ZodOptional<z.ZodBoolean>;
433
+ authority: z.ZodOptional<z.ZodString>;
434
+ effort: z.ZodOptional<z.ZodString>;
435
+ standard_position: z.ZodOptional<z.ZodNullable<z.ZodObject<{
436
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
437
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
438
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
439
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
440
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
441
+ }, z.ZodTypeAny, "passthrough">>>>;
442
+ fallback_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
443
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
444
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
445
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
446
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
447
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
448
+ }, z.ZodTypeAny, "passthrough">>>>;
449
+ walkaway_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
450
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
451
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
452
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
453
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
454
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
455
+ }, z.ZodTypeAny, "passthrough">>>>;
456
+ }, z.ZodTypeAny, "passthrough">>>;
457
+ /** Additive: accepted-edit evidence behind a mined cluster. */
458
+ evidence: z.ZodOptional<z.ZodObject<{
459
+ count: z.ZodNumber;
460
+ examples: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
461
+ before: z.ZodString;
462
+ after: z.ZodString;
463
+ doc_id: z.ZodString;
464
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
465
+ before: z.ZodString;
466
+ after: z.ZodString;
467
+ doc_id: z.ZodString;
468
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
469
+ before: z.ZodString;
470
+ after: z.ZodString;
471
+ doc_id: z.ZodString;
472
+ }, z.ZodTypeAny, "passthrough">>, "many">>>, z.objectOutputType<{
473
+ before: z.ZodString;
474
+ after: z.ZodString;
475
+ doc_id: z.ZodString;
476
+ }, z.ZodTypeAny, "passthrough">[], z.objectInputType<{
477
+ before: z.ZodString;
478
+ after: z.ZodString;
479
+ doc_id: z.ZodString;
480
+ }, z.ZodTypeAny, "passthrough">[] | null | undefined>;
481
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
482
+ count: z.ZodNumber;
483
+ examples: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
484
+ before: z.ZodString;
485
+ after: z.ZodString;
486
+ doc_id: z.ZodString;
487
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
488
+ before: z.ZodString;
489
+ after: z.ZodString;
490
+ doc_id: z.ZodString;
491
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
492
+ before: z.ZodString;
493
+ after: z.ZodString;
494
+ doc_id: z.ZodString;
495
+ }, z.ZodTypeAny, "passthrough">>, "many">>>, z.objectOutputType<{
496
+ before: z.ZodString;
497
+ after: z.ZodString;
498
+ doc_id: z.ZodString;
499
+ }, z.ZodTypeAny, "passthrough">[], z.objectInputType<{
500
+ before: z.ZodString;
501
+ after: z.ZodString;
502
+ doc_id: z.ZodString;
503
+ }, z.ZodTypeAny, "passthrough">[] | null | undefined>;
504
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
505
+ count: z.ZodNumber;
506
+ examples: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
507
+ before: z.ZodString;
508
+ after: z.ZodString;
509
+ doc_id: z.ZodString;
510
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
511
+ before: z.ZodString;
512
+ after: z.ZodString;
513
+ doc_id: z.ZodString;
514
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
515
+ before: z.ZodString;
516
+ after: z.ZodString;
517
+ doc_id: z.ZodString;
518
+ }, z.ZodTypeAny, "passthrough">>, "many">>>, z.objectOutputType<{
519
+ before: z.ZodString;
520
+ after: z.ZodString;
521
+ doc_id: z.ZodString;
522
+ }, z.ZodTypeAny, "passthrough">[], z.objectInputType<{
523
+ before: z.ZodString;
524
+ after: z.ZodString;
525
+ doc_id: z.ZodString;
526
+ }, z.ZodTypeAny, "passthrough">[] | null | undefined>;
527
+ }, z.ZodTypeAny, "passthrough">>>;
528
+ status: z.ZodString;
529
+ decided_by: z.ZodOptional<z.ZodString>;
530
+ decided_at: z.ZodOptional<z.ZodString>;
531
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
532
+ id: z.ZodString;
533
+ workspace_id: z.ZodOptional<z.ZodString>;
534
+ suggested_at: z.ZodOptional<z.ZodString>;
535
+ promote_to_scope: z.ZodOptional<z.ZodObject<{
536
+ category: z.ZodOptional<z.ZodString>;
537
+ domain: z.ZodOptional<z.ZodString>;
538
+ type: z.ZodOptional<z.ZodString>;
539
+ subtype: z.ZodOptional<z.ZodString>;
540
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
541
+ category: z.ZodOptional<z.ZodString>;
542
+ domain: z.ZodOptional<z.ZodString>;
543
+ type: z.ZodOptional<z.ZodString>;
544
+ subtype: z.ZodOptional<z.ZodString>;
545
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
546
+ category: z.ZodOptional<z.ZodString>;
547
+ domain: z.ZodOptional<z.ZodString>;
548
+ type: z.ZodOptional<z.ZodString>;
549
+ subtype: z.ZodOptional<z.ZodString>;
550
+ }, z.ZodTypeAny, "passthrough">>>;
551
+ promote_to_regime: z.ZodOptional<z.ZodString>;
552
+ /** Consolidation candidates: the sibling rules that recur. */
553
+ source_rules: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
554
+ source_playbooks: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
555
+ /**
556
+ * Wave-5 accepted-changes mining: ES ids of the accepted redlines whose
557
+ * clustering produced this. When present, source_rules/source_playbooks
558
+ * are empty — the pattern came from lawyer-accepted edits, not rules.
559
+ */
560
+ source_accepted_change_ids: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
561
+ confidence_score: z.ZodOptional<z.ZodNumber>;
562
+ /** Additive: the drafted rule body — old rows lack it; accept persists it. */
563
+ rule: z.ZodOptional<z.ZodObject<{
564
+ id: z.ZodString;
565
+ playbook_id: z.ZodString;
566
+ workspace_id: z.ZodOptional<z.ZodString>;
567
+ predicate: z.ZodOptional<z.ZodType<import("./ruleBuilder").PredicateNode, z.ZodTypeDef, import("./ruleBuilder").PredicateNode>>;
568
+ action: z.ZodOptional<z.ZodString>;
569
+ default_severity: z.ZodOptional<z.ZodString>;
570
+ category: z.ZodOptional<z.ZodString>;
571
+ rationale: z.ZodDefault<z.ZodOptional<z.ZodString>>;
572
+ semantic_intent: z.ZodOptional<z.ZodString>;
573
+ source: z.ZodOptional<z.ZodString>;
574
+ read_only: z.ZodOptional<z.ZodBoolean>;
575
+ mandatory: z.ZodOptional<z.ZodBoolean>;
576
+ authority: z.ZodOptional<z.ZodString>;
577
+ effort: z.ZodOptional<z.ZodString>;
578
+ standard_position: z.ZodOptional<z.ZodNullable<z.ZodObject<{
579
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
580
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
581
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
582
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
583
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
584
+ }, z.ZodTypeAny, "passthrough">>>>;
585
+ fallback_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
586
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
587
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
588
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
589
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
590
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
591
+ }, z.ZodTypeAny, "passthrough">>>>;
592
+ walkaway_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
593
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
594
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
595
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
596
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
597
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
598
+ }, z.ZodTypeAny, "passthrough">>>>;
599
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
600
+ id: z.ZodString;
601
+ playbook_id: z.ZodString;
602
+ workspace_id: z.ZodOptional<z.ZodString>;
603
+ predicate: z.ZodOptional<z.ZodType<import("./ruleBuilder").PredicateNode, z.ZodTypeDef, import("./ruleBuilder").PredicateNode>>;
604
+ action: z.ZodOptional<z.ZodString>;
605
+ default_severity: z.ZodOptional<z.ZodString>;
606
+ category: z.ZodOptional<z.ZodString>;
607
+ rationale: z.ZodDefault<z.ZodOptional<z.ZodString>>;
608
+ semantic_intent: z.ZodOptional<z.ZodString>;
609
+ source: z.ZodOptional<z.ZodString>;
610
+ read_only: z.ZodOptional<z.ZodBoolean>;
611
+ mandatory: z.ZodOptional<z.ZodBoolean>;
612
+ authority: z.ZodOptional<z.ZodString>;
613
+ effort: z.ZodOptional<z.ZodString>;
614
+ standard_position: z.ZodOptional<z.ZodNullable<z.ZodObject<{
615
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
616
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
617
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
618
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
619
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
620
+ }, z.ZodTypeAny, "passthrough">>>>;
621
+ fallback_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
622
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
623
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
624
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
625
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
626
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
627
+ }, z.ZodTypeAny, "passthrough">>>>;
628
+ walkaway_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
629
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
630
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
631
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
632
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
633
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
634
+ }, z.ZodTypeAny, "passthrough">>>>;
635
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
636
+ id: z.ZodString;
637
+ playbook_id: z.ZodString;
638
+ workspace_id: z.ZodOptional<z.ZodString>;
639
+ predicate: z.ZodOptional<z.ZodType<import("./ruleBuilder").PredicateNode, z.ZodTypeDef, import("./ruleBuilder").PredicateNode>>;
640
+ action: z.ZodOptional<z.ZodString>;
641
+ default_severity: z.ZodOptional<z.ZodString>;
642
+ category: z.ZodOptional<z.ZodString>;
643
+ rationale: z.ZodDefault<z.ZodOptional<z.ZodString>>;
644
+ semantic_intent: z.ZodOptional<z.ZodString>;
645
+ source: z.ZodOptional<z.ZodString>;
646
+ read_only: z.ZodOptional<z.ZodBoolean>;
647
+ mandatory: z.ZodOptional<z.ZodBoolean>;
648
+ authority: z.ZodOptional<z.ZodString>;
649
+ effort: z.ZodOptional<z.ZodString>;
650
+ standard_position: z.ZodOptional<z.ZodNullable<z.ZodObject<{
651
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
652
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
653
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
654
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
655
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
656
+ }, z.ZodTypeAny, "passthrough">>>>;
657
+ fallback_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
658
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
659
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
660
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
661
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
662
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
663
+ }, z.ZodTypeAny, "passthrough">>>>;
664
+ walkaway_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
665
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
666
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
667
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
668
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
669
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
670
+ }, z.ZodTypeAny, "passthrough">>>>;
671
+ }, z.ZodTypeAny, "passthrough">>>;
672
+ /** Additive: accepted-edit evidence behind a mined cluster. */
673
+ evidence: z.ZodOptional<z.ZodObject<{
674
+ count: z.ZodNumber;
675
+ examples: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
676
+ before: z.ZodString;
677
+ after: z.ZodString;
678
+ doc_id: z.ZodString;
679
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
680
+ before: z.ZodString;
681
+ after: z.ZodString;
682
+ doc_id: z.ZodString;
683
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
684
+ before: z.ZodString;
685
+ after: z.ZodString;
686
+ doc_id: z.ZodString;
687
+ }, z.ZodTypeAny, "passthrough">>, "many">>>, z.objectOutputType<{
688
+ before: z.ZodString;
689
+ after: z.ZodString;
690
+ doc_id: z.ZodString;
691
+ }, z.ZodTypeAny, "passthrough">[], z.objectInputType<{
692
+ before: z.ZodString;
693
+ after: z.ZodString;
694
+ doc_id: z.ZodString;
695
+ }, z.ZodTypeAny, "passthrough">[] | null | undefined>;
696
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
697
+ count: z.ZodNumber;
698
+ examples: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
699
+ before: z.ZodString;
700
+ after: z.ZodString;
701
+ doc_id: z.ZodString;
702
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
703
+ before: z.ZodString;
704
+ after: z.ZodString;
705
+ doc_id: z.ZodString;
706
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
707
+ before: z.ZodString;
708
+ after: z.ZodString;
709
+ doc_id: z.ZodString;
710
+ }, z.ZodTypeAny, "passthrough">>, "many">>>, z.objectOutputType<{
711
+ before: z.ZodString;
712
+ after: z.ZodString;
713
+ doc_id: z.ZodString;
714
+ }, z.ZodTypeAny, "passthrough">[], z.objectInputType<{
715
+ before: z.ZodString;
716
+ after: z.ZodString;
717
+ doc_id: z.ZodString;
718
+ }, z.ZodTypeAny, "passthrough">[] | null | undefined>;
719
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
720
+ count: z.ZodNumber;
721
+ examples: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
722
+ before: z.ZodString;
723
+ after: z.ZodString;
724
+ doc_id: z.ZodString;
725
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
726
+ before: z.ZodString;
727
+ after: z.ZodString;
728
+ doc_id: z.ZodString;
729
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
730
+ before: z.ZodString;
731
+ after: z.ZodString;
732
+ doc_id: z.ZodString;
733
+ }, z.ZodTypeAny, "passthrough">>, "many">>>, z.objectOutputType<{
734
+ before: z.ZodString;
735
+ after: z.ZodString;
736
+ doc_id: z.ZodString;
737
+ }, z.ZodTypeAny, "passthrough">[], z.objectInputType<{
738
+ before: z.ZodString;
739
+ after: z.ZodString;
740
+ doc_id: z.ZodString;
741
+ }, z.ZodTypeAny, "passthrough">[] | null | undefined>;
742
+ }, z.ZodTypeAny, "passthrough">>>;
743
+ status: z.ZodString;
744
+ decided_by: z.ZodOptional<z.ZodString>;
745
+ decided_at: z.ZodOptional<z.ZodString>;
746
+ }, z.ZodTypeAny, "passthrough">>;
747
+ export type PromotionSuggestion = z.infer<typeof promotionSuggestionSchema>;
748
+ /** Workspace-scoped; the workspace comes from tenancy, never a query param. */
749
+ export declare const listPromotionSuggestions: () => Promise<PromotionSuggestion[]>;
750
+ /**
751
+ * Dismisses one suggestion (status → `rejected`). No side effects on rules or
752
+ * playbooks — unlike accept, the server implements this fully.
753
+ *
754
+ * 404 = unknown id (or another workspace's). 409 = already decided, i.e. not
755
+ * in `proposed` state; the response body is the suggestion as stored, so the
756
+ * caller should refresh rather than retry.
757
+ */
758
+ export declare const rejectPromotionSuggestion: (id: string) => Promise<PromotionSuggestion>;
759
+ /** Reject-style suggestion DTO plus accept's additive promoted-rule fields. */
760
+ export declare const promotionAcceptResultSchema: z.ZodObject<{
761
+ id: z.ZodString;
762
+ workspace_id: z.ZodOptional<z.ZodString>;
763
+ suggested_at: z.ZodOptional<z.ZodString>;
764
+ promote_to_scope: z.ZodOptional<z.ZodObject<{
765
+ category: z.ZodOptional<z.ZodString>;
766
+ domain: z.ZodOptional<z.ZodString>;
767
+ type: z.ZodOptional<z.ZodString>;
768
+ subtype: z.ZodOptional<z.ZodString>;
769
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
770
+ category: z.ZodOptional<z.ZodString>;
771
+ domain: z.ZodOptional<z.ZodString>;
772
+ type: z.ZodOptional<z.ZodString>;
773
+ subtype: z.ZodOptional<z.ZodString>;
774
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
775
+ category: z.ZodOptional<z.ZodString>;
776
+ domain: z.ZodOptional<z.ZodString>;
777
+ type: z.ZodOptional<z.ZodString>;
778
+ subtype: z.ZodOptional<z.ZodString>;
779
+ }, z.ZodTypeAny, "passthrough">>>;
780
+ promote_to_regime: z.ZodOptional<z.ZodString>;
781
+ /** Consolidation candidates: the sibling rules that recur. */
782
+ source_rules: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
783
+ source_playbooks: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
784
+ /**
785
+ * Wave-5 accepted-changes mining: ES ids of the accepted redlines whose
786
+ * clustering produced this. When present, source_rules/source_playbooks
787
+ * are empty — the pattern came from lawyer-accepted edits, not rules.
788
+ */
789
+ source_accepted_change_ids: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
790
+ confidence_score: z.ZodOptional<z.ZodNumber>;
791
+ /** Additive: the drafted rule body — old rows lack it; accept persists it. */
792
+ rule: z.ZodOptional<z.ZodObject<{
793
+ id: z.ZodString;
794
+ playbook_id: z.ZodString;
795
+ workspace_id: z.ZodOptional<z.ZodString>;
796
+ predicate: z.ZodOptional<z.ZodType<import("./ruleBuilder").PredicateNode, z.ZodTypeDef, import("./ruleBuilder").PredicateNode>>;
797
+ action: z.ZodOptional<z.ZodString>;
798
+ default_severity: z.ZodOptional<z.ZodString>;
799
+ category: z.ZodOptional<z.ZodString>;
800
+ rationale: z.ZodDefault<z.ZodOptional<z.ZodString>>;
801
+ semantic_intent: z.ZodOptional<z.ZodString>;
802
+ source: z.ZodOptional<z.ZodString>;
803
+ read_only: z.ZodOptional<z.ZodBoolean>;
804
+ mandatory: z.ZodOptional<z.ZodBoolean>;
805
+ authority: z.ZodOptional<z.ZodString>;
806
+ effort: z.ZodOptional<z.ZodString>;
807
+ standard_position: z.ZodOptional<z.ZodNullable<z.ZodObject<{
808
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
809
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
810
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
811
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
812
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
813
+ }, z.ZodTypeAny, "passthrough">>>>;
814
+ fallback_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
815
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
816
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
817
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
818
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
819
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
820
+ }, z.ZodTypeAny, "passthrough">>>>;
821
+ walkaway_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
822
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
823
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
824
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
825
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
826
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
827
+ }, z.ZodTypeAny, "passthrough">>>>;
828
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
829
+ id: z.ZodString;
830
+ playbook_id: z.ZodString;
831
+ workspace_id: z.ZodOptional<z.ZodString>;
832
+ predicate: z.ZodOptional<z.ZodType<import("./ruleBuilder").PredicateNode, z.ZodTypeDef, import("./ruleBuilder").PredicateNode>>;
833
+ action: z.ZodOptional<z.ZodString>;
834
+ default_severity: z.ZodOptional<z.ZodString>;
835
+ category: z.ZodOptional<z.ZodString>;
836
+ rationale: z.ZodDefault<z.ZodOptional<z.ZodString>>;
837
+ semantic_intent: z.ZodOptional<z.ZodString>;
838
+ source: z.ZodOptional<z.ZodString>;
839
+ read_only: z.ZodOptional<z.ZodBoolean>;
840
+ mandatory: z.ZodOptional<z.ZodBoolean>;
841
+ authority: z.ZodOptional<z.ZodString>;
842
+ effort: z.ZodOptional<z.ZodString>;
843
+ standard_position: z.ZodOptional<z.ZodNullable<z.ZodObject<{
844
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
845
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
846
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
847
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
848
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
849
+ }, z.ZodTypeAny, "passthrough">>>>;
850
+ fallback_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
851
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
852
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
853
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
854
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
855
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
856
+ }, z.ZodTypeAny, "passthrough">>>>;
857
+ walkaway_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
858
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
859
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
860
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
861
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
862
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
863
+ }, z.ZodTypeAny, "passthrough">>>>;
864
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
865
+ id: z.ZodString;
866
+ playbook_id: z.ZodString;
867
+ workspace_id: z.ZodOptional<z.ZodString>;
868
+ predicate: z.ZodOptional<z.ZodType<import("./ruleBuilder").PredicateNode, z.ZodTypeDef, import("./ruleBuilder").PredicateNode>>;
869
+ action: z.ZodOptional<z.ZodString>;
870
+ default_severity: z.ZodOptional<z.ZodString>;
871
+ category: z.ZodOptional<z.ZodString>;
872
+ rationale: z.ZodDefault<z.ZodOptional<z.ZodString>>;
873
+ semantic_intent: z.ZodOptional<z.ZodString>;
874
+ source: z.ZodOptional<z.ZodString>;
875
+ read_only: z.ZodOptional<z.ZodBoolean>;
876
+ mandatory: z.ZodOptional<z.ZodBoolean>;
877
+ authority: z.ZodOptional<z.ZodString>;
878
+ effort: z.ZodOptional<z.ZodString>;
879
+ standard_position: z.ZodOptional<z.ZodNullable<z.ZodObject<{
880
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
881
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
882
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
883
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
884
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
885
+ }, z.ZodTypeAny, "passthrough">>>>;
886
+ fallback_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
887
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
888
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
889
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
890
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
891
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
892
+ }, z.ZodTypeAny, "passthrough">>>>;
893
+ walkaway_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
894
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
895
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
896
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
897
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
898
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
899
+ }, z.ZodTypeAny, "passthrough">>>>;
900
+ }, z.ZodTypeAny, "passthrough">>>;
901
+ /** Additive: accepted-edit evidence behind a mined cluster. */
902
+ evidence: z.ZodOptional<z.ZodObject<{
903
+ count: z.ZodNumber;
904
+ examples: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
905
+ before: z.ZodString;
906
+ after: z.ZodString;
907
+ doc_id: z.ZodString;
908
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
909
+ before: z.ZodString;
910
+ after: z.ZodString;
911
+ doc_id: z.ZodString;
912
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
913
+ before: z.ZodString;
914
+ after: z.ZodString;
915
+ doc_id: z.ZodString;
916
+ }, z.ZodTypeAny, "passthrough">>, "many">>>, z.objectOutputType<{
917
+ before: z.ZodString;
918
+ after: z.ZodString;
919
+ doc_id: z.ZodString;
920
+ }, z.ZodTypeAny, "passthrough">[], z.objectInputType<{
921
+ before: z.ZodString;
922
+ after: z.ZodString;
923
+ doc_id: z.ZodString;
924
+ }, z.ZodTypeAny, "passthrough">[] | null | undefined>;
925
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
926
+ count: z.ZodNumber;
927
+ examples: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
928
+ before: z.ZodString;
929
+ after: z.ZodString;
930
+ doc_id: z.ZodString;
931
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
932
+ before: z.ZodString;
933
+ after: z.ZodString;
934
+ doc_id: z.ZodString;
935
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
936
+ before: z.ZodString;
937
+ after: z.ZodString;
938
+ doc_id: z.ZodString;
939
+ }, z.ZodTypeAny, "passthrough">>, "many">>>, z.objectOutputType<{
940
+ before: z.ZodString;
941
+ after: z.ZodString;
942
+ doc_id: z.ZodString;
943
+ }, z.ZodTypeAny, "passthrough">[], z.objectInputType<{
944
+ before: z.ZodString;
945
+ after: z.ZodString;
946
+ doc_id: z.ZodString;
947
+ }, z.ZodTypeAny, "passthrough">[] | null | undefined>;
948
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
949
+ count: z.ZodNumber;
950
+ examples: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
951
+ before: z.ZodString;
952
+ after: z.ZodString;
953
+ doc_id: z.ZodString;
954
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
955
+ before: z.ZodString;
956
+ after: z.ZodString;
957
+ doc_id: z.ZodString;
958
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
959
+ before: z.ZodString;
960
+ after: z.ZodString;
961
+ doc_id: z.ZodString;
962
+ }, z.ZodTypeAny, "passthrough">>, "many">>>, z.objectOutputType<{
963
+ before: z.ZodString;
964
+ after: z.ZodString;
965
+ doc_id: z.ZodString;
966
+ }, z.ZodTypeAny, "passthrough">[], z.objectInputType<{
967
+ before: z.ZodString;
968
+ after: z.ZodString;
969
+ doc_id: z.ZodString;
970
+ }, z.ZodTypeAny, "passthrough">[] | null | undefined>;
971
+ }, z.ZodTypeAny, "passthrough">>>;
972
+ status: z.ZodString;
973
+ decided_by: z.ZodOptional<z.ZodString>;
974
+ decided_at: z.ZodOptional<z.ZodString>;
975
+ } & {
976
+ /** Absent when the suggestion had no source rules (decision record only). */
977
+ promoted_rule_id: z.ZodOptional<z.ZodString>;
978
+ promoted_playbook_id: z.ZodOptional<z.ZodString>;
979
+ /** True = a previous accept already promoted this rule; nothing was overwritten. */
980
+ promoted_rule_existed: z.ZodOptional<z.ZodBoolean>;
981
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
982
+ id: z.ZodString;
983
+ workspace_id: z.ZodOptional<z.ZodString>;
984
+ suggested_at: z.ZodOptional<z.ZodString>;
985
+ promote_to_scope: z.ZodOptional<z.ZodObject<{
986
+ category: z.ZodOptional<z.ZodString>;
987
+ domain: z.ZodOptional<z.ZodString>;
988
+ type: z.ZodOptional<z.ZodString>;
989
+ subtype: z.ZodOptional<z.ZodString>;
990
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
991
+ category: z.ZodOptional<z.ZodString>;
992
+ domain: z.ZodOptional<z.ZodString>;
993
+ type: z.ZodOptional<z.ZodString>;
994
+ subtype: z.ZodOptional<z.ZodString>;
995
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
996
+ category: z.ZodOptional<z.ZodString>;
997
+ domain: z.ZodOptional<z.ZodString>;
998
+ type: z.ZodOptional<z.ZodString>;
999
+ subtype: z.ZodOptional<z.ZodString>;
1000
+ }, z.ZodTypeAny, "passthrough">>>;
1001
+ promote_to_regime: z.ZodOptional<z.ZodString>;
1002
+ /** Consolidation candidates: the sibling rules that recur. */
1003
+ source_rules: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
1004
+ source_playbooks: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
1005
+ /**
1006
+ * Wave-5 accepted-changes mining: ES ids of the accepted redlines whose
1007
+ * clustering produced this. When present, source_rules/source_playbooks
1008
+ * are empty — the pattern came from lawyer-accepted edits, not rules.
1009
+ */
1010
+ source_accepted_change_ids: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
1011
+ confidence_score: z.ZodOptional<z.ZodNumber>;
1012
+ /** Additive: the drafted rule body — old rows lack it; accept persists it. */
1013
+ rule: z.ZodOptional<z.ZodObject<{
1014
+ id: z.ZodString;
1015
+ playbook_id: z.ZodString;
1016
+ workspace_id: z.ZodOptional<z.ZodString>;
1017
+ predicate: z.ZodOptional<z.ZodType<import("./ruleBuilder").PredicateNode, z.ZodTypeDef, import("./ruleBuilder").PredicateNode>>;
1018
+ action: z.ZodOptional<z.ZodString>;
1019
+ default_severity: z.ZodOptional<z.ZodString>;
1020
+ category: z.ZodOptional<z.ZodString>;
1021
+ rationale: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1022
+ semantic_intent: z.ZodOptional<z.ZodString>;
1023
+ source: z.ZodOptional<z.ZodString>;
1024
+ read_only: z.ZodOptional<z.ZodBoolean>;
1025
+ mandatory: z.ZodOptional<z.ZodBoolean>;
1026
+ authority: z.ZodOptional<z.ZodString>;
1027
+ effort: z.ZodOptional<z.ZodString>;
1028
+ standard_position: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1029
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1030
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1031
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1032
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1033
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1034
+ }, z.ZodTypeAny, "passthrough">>>>;
1035
+ fallback_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1036
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1037
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1038
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1039
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1040
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1041
+ }, z.ZodTypeAny, "passthrough">>>>;
1042
+ walkaway_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1043
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1044
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1045
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1046
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1047
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1048
+ }, z.ZodTypeAny, "passthrough">>>>;
1049
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1050
+ id: z.ZodString;
1051
+ playbook_id: z.ZodString;
1052
+ workspace_id: z.ZodOptional<z.ZodString>;
1053
+ predicate: z.ZodOptional<z.ZodType<import("./ruleBuilder").PredicateNode, z.ZodTypeDef, import("./ruleBuilder").PredicateNode>>;
1054
+ action: z.ZodOptional<z.ZodString>;
1055
+ default_severity: z.ZodOptional<z.ZodString>;
1056
+ category: z.ZodOptional<z.ZodString>;
1057
+ rationale: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1058
+ semantic_intent: z.ZodOptional<z.ZodString>;
1059
+ source: z.ZodOptional<z.ZodString>;
1060
+ read_only: z.ZodOptional<z.ZodBoolean>;
1061
+ mandatory: z.ZodOptional<z.ZodBoolean>;
1062
+ authority: z.ZodOptional<z.ZodString>;
1063
+ effort: z.ZodOptional<z.ZodString>;
1064
+ standard_position: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1065
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1066
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1067
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1068
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1069
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1070
+ }, z.ZodTypeAny, "passthrough">>>>;
1071
+ fallback_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1072
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1073
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1074
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1075
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1076
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1077
+ }, z.ZodTypeAny, "passthrough">>>>;
1078
+ walkaway_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1079
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1080
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1081
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1082
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1083
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1084
+ }, z.ZodTypeAny, "passthrough">>>>;
1085
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1086
+ id: z.ZodString;
1087
+ playbook_id: z.ZodString;
1088
+ workspace_id: z.ZodOptional<z.ZodString>;
1089
+ predicate: z.ZodOptional<z.ZodType<import("./ruleBuilder").PredicateNode, z.ZodTypeDef, import("./ruleBuilder").PredicateNode>>;
1090
+ action: z.ZodOptional<z.ZodString>;
1091
+ default_severity: z.ZodOptional<z.ZodString>;
1092
+ category: z.ZodOptional<z.ZodString>;
1093
+ rationale: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1094
+ semantic_intent: z.ZodOptional<z.ZodString>;
1095
+ source: z.ZodOptional<z.ZodString>;
1096
+ read_only: z.ZodOptional<z.ZodBoolean>;
1097
+ mandatory: z.ZodOptional<z.ZodBoolean>;
1098
+ authority: z.ZodOptional<z.ZodString>;
1099
+ effort: z.ZodOptional<z.ZodString>;
1100
+ standard_position: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1101
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1102
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1103
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1104
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1105
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1106
+ }, z.ZodTypeAny, "passthrough">>>>;
1107
+ fallback_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1108
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1109
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1110
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1111
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1112
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1113
+ }, z.ZodTypeAny, "passthrough">>>>;
1114
+ walkaway_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1115
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1116
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1117
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1118
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1119
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1120
+ }, z.ZodTypeAny, "passthrough">>>>;
1121
+ }, z.ZodTypeAny, "passthrough">>>;
1122
+ /** Additive: accepted-edit evidence behind a mined cluster. */
1123
+ evidence: z.ZodOptional<z.ZodObject<{
1124
+ count: z.ZodNumber;
1125
+ examples: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
1126
+ before: z.ZodString;
1127
+ after: z.ZodString;
1128
+ doc_id: z.ZodString;
1129
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1130
+ before: z.ZodString;
1131
+ after: z.ZodString;
1132
+ doc_id: z.ZodString;
1133
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1134
+ before: z.ZodString;
1135
+ after: z.ZodString;
1136
+ doc_id: z.ZodString;
1137
+ }, z.ZodTypeAny, "passthrough">>, "many">>>, z.objectOutputType<{
1138
+ before: z.ZodString;
1139
+ after: z.ZodString;
1140
+ doc_id: z.ZodString;
1141
+ }, z.ZodTypeAny, "passthrough">[], z.objectInputType<{
1142
+ before: z.ZodString;
1143
+ after: z.ZodString;
1144
+ doc_id: z.ZodString;
1145
+ }, z.ZodTypeAny, "passthrough">[] | null | undefined>;
1146
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1147
+ count: z.ZodNumber;
1148
+ examples: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
1149
+ before: z.ZodString;
1150
+ after: z.ZodString;
1151
+ doc_id: z.ZodString;
1152
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1153
+ before: z.ZodString;
1154
+ after: z.ZodString;
1155
+ doc_id: z.ZodString;
1156
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1157
+ before: z.ZodString;
1158
+ after: z.ZodString;
1159
+ doc_id: z.ZodString;
1160
+ }, z.ZodTypeAny, "passthrough">>, "many">>>, z.objectOutputType<{
1161
+ before: z.ZodString;
1162
+ after: z.ZodString;
1163
+ doc_id: z.ZodString;
1164
+ }, z.ZodTypeAny, "passthrough">[], z.objectInputType<{
1165
+ before: z.ZodString;
1166
+ after: z.ZodString;
1167
+ doc_id: z.ZodString;
1168
+ }, z.ZodTypeAny, "passthrough">[] | null | undefined>;
1169
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1170
+ count: z.ZodNumber;
1171
+ examples: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
1172
+ before: z.ZodString;
1173
+ after: z.ZodString;
1174
+ doc_id: z.ZodString;
1175
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1176
+ before: z.ZodString;
1177
+ after: z.ZodString;
1178
+ doc_id: z.ZodString;
1179
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1180
+ before: z.ZodString;
1181
+ after: z.ZodString;
1182
+ doc_id: z.ZodString;
1183
+ }, z.ZodTypeAny, "passthrough">>, "many">>>, z.objectOutputType<{
1184
+ before: z.ZodString;
1185
+ after: z.ZodString;
1186
+ doc_id: z.ZodString;
1187
+ }, z.ZodTypeAny, "passthrough">[], z.objectInputType<{
1188
+ before: z.ZodString;
1189
+ after: z.ZodString;
1190
+ doc_id: z.ZodString;
1191
+ }, z.ZodTypeAny, "passthrough">[] | null | undefined>;
1192
+ }, z.ZodTypeAny, "passthrough">>>;
1193
+ status: z.ZodString;
1194
+ decided_by: z.ZodOptional<z.ZodString>;
1195
+ decided_at: z.ZodOptional<z.ZodString>;
1196
+ } & {
1197
+ /** Absent when the suggestion had no source rules (decision record only). */
1198
+ promoted_rule_id: z.ZodOptional<z.ZodString>;
1199
+ promoted_playbook_id: z.ZodOptional<z.ZodString>;
1200
+ /** True = a previous accept already promoted this rule; nothing was overwritten. */
1201
+ promoted_rule_existed: z.ZodOptional<z.ZodBoolean>;
1202
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1203
+ id: z.ZodString;
1204
+ workspace_id: z.ZodOptional<z.ZodString>;
1205
+ suggested_at: z.ZodOptional<z.ZodString>;
1206
+ promote_to_scope: z.ZodOptional<z.ZodObject<{
1207
+ category: z.ZodOptional<z.ZodString>;
1208
+ domain: z.ZodOptional<z.ZodString>;
1209
+ type: z.ZodOptional<z.ZodString>;
1210
+ subtype: z.ZodOptional<z.ZodString>;
1211
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1212
+ category: z.ZodOptional<z.ZodString>;
1213
+ domain: z.ZodOptional<z.ZodString>;
1214
+ type: z.ZodOptional<z.ZodString>;
1215
+ subtype: z.ZodOptional<z.ZodString>;
1216
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1217
+ category: z.ZodOptional<z.ZodString>;
1218
+ domain: z.ZodOptional<z.ZodString>;
1219
+ type: z.ZodOptional<z.ZodString>;
1220
+ subtype: z.ZodOptional<z.ZodString>;
1221
+ }, z.ZodTypeAny, "passthrough">>>;
1222
+ promote_to_regime: z.ZodOptional<z.ZodString>;
1223
+ /** Consolidation candidates: the sibling rules that recur. */
1224
+ source_rules: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
1225
+ source_playbooks: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
1226
+ /**
1227
+ * Wave-5 accepted-changes mining: ES ids of the accepted redlines whose
1228
+ * clustering produced this. When present, source_rules/source_playbooks
1229
+ * are empty — the pattern came from lawyer-accepted edits, not rules.
1230
+ */
1231
+ source_accepted_change_ids: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
1232
+ confidence_score: z.ZodOptional<z.ZodNumber>;
1233
+ /** Additive: the drafted rule body — old rows lack it; accept persists it. */
1234
+ rule: z.ZodOptional<z.ZodObject<{
1235
+ id: z.ZodString;
1236
+ playbook_id: z.ZodString;
1237
+ workspace_id: z.ZodOptional<z.ZodString>;
1238
+ predicate: z.ZodOptional<z.ZodType<import("./ruleBuilder").PredicateNode, z.ZodTypeDef, import("./ruleBuilder").PredicateNode>>;
1239
+ action: z.ZodOptional<z.ZodString>;
1240
+ default_severity: z.ZodOptional<z.ZodString>;
1241
+ category: z.ZodOptional<z.ZodString>;
1242
+ rationale: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1243
+ semantic_intent: z.ZodOptional<z.ZodString>;
1244
+ source: z.ZodOptional<z.ZodString>;
1245
+ read_only: z.ZodOptional<z.ZodBoolean>;
1246
+ mandatory: z.ZodOptional<z.ZodBoolean>;
1247
+ authority: z.ZodOptional<z.ZodString>;
1248
+ effort: z.ZodOptional<z.ZodString>;
1249
+ standard_position: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1250
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1251
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1252
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1253
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1254
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1255
+ }, z.ZodTypeAny, "passthrough">>>>;
1256
+ fallback_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1257
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1258
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1259
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1260
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1261
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1262
+ }, z.ZodTypeAny, "passthrough">>>>;
1263
+ walkaway_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1264
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1265
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1266
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1267
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1268
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1269
+ }, z.ZodTypeAny, "passthrough">>>>;
1270
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1271
+ id: z.ZodString;
1272
+ playbook_id: z.ZodString;
1273
+ workspace_id: z.ZodOptional<z.ZodString>;
1274
+ predicate: z.ZodOptional<z.ZodType<import("./ruleBuilder").PredicateNode, z.ZodTypeDef, import("./ruleBuilder").PredicateNode>>;
1275
+ action: z.ZodOptional<z.ZodString>;
1276
+ default_severity: z.ZodOptional<z.ZodString>;
1277
+ category: z.ZodOptional<z.ZodString>;
1278
+ rationale: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1279
+ semantic_intent: z.ZodOptional<z.ZodString>;
1280
+ source: z.ZodOptional<z.ZodString>;
1281
+ read_only: z.ZodOptional<z.ZodBoolean>;
1282
+ mandatory: z.ZodOptional<z.ZodBoolean>;
1283
+ authority: z.ZodOptional<z.ZodString>;
1284
+ effort: z.ZodOptional<z.ZodString>;
1285
+ standard_position: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1286
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1287
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1288
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1289
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1290
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1291
+ }, z.ZodTypeAny, "passthrough">>>>;
1292
+ fallback_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1293
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1294
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1295
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1296
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1297
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1298
+ }, z.ZodTypeAny, "passthrough">>>>;
1299
+ walkaway_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1300
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1301
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1302
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1303
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1304
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1305
+ }, z.ZodTypeAny, "passthrough">>>>;
1306
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1307
+ id: z.ZodString;
1308
+ playbook_id: z.ZodString;
1309
+ workspace_id: z.ZodOptional<z.ZodString>;
1310
+ predicate: z.ZodOptional<z.ZodType<import("./ruleBuilder").PredicateNode, z.ZodTypeDef, import("./ruleBuilder").PredicateNode>>;
1311
+ action: z.ZodOptional<z.ZodString>;
1312
+ default_severity: z.ZodOptional<z.ZodString>;
1313
+ category: z.ZodOptional<z.ZodString>;
1314
+ rationale: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1315
+ semantic_intent: z.ZodOptional<z.ZodString>;
1316
+ source: z.ZodOptional<z.ZodString>;
1317
+ read_only: z.ZodOptional<z.ZodBoolean>;
1318
+ mandatory: z.ZodOptional<z.ZodBoolean>;
1319
+ authority: z.ZodOptional<z.ZodString>;
1320
+ effort: z.ZodOptional<z.ZodString>;
1321
+ standard_position: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1322
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1323
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1324
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1325
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1326
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1327
+ }, z.ZodTypeAny, "passthrough">>>>;
1328
+ fallback_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1329
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1330
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1331
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1332
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1333
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1334
+ }, z.ZodTypeAny, "passthrough">>>>;
1335
+ walkaway_condition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1336
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1337
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1338
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1339
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1340
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1341
+ }, z.ZodTypeAny, "passthrough">>>>;
1342
+ }, z.ZodTypeAny, "passthrough">>>;
1343
+ /** Additive: accepted-edit evidence behind a mined cluster. */
1344
+ evidence: z.ZodOptional<z.ZodObject<{
1345
+ count: z.ZodNumber;
1346
+ examples: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
1347
+ before: z.ZodString;
1348
+ after: z.ZodString;
1349
+ doc_id: z.ZodString;
1350
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1351
+ before: z.ZodString;
1352
+ after: z.ZodString;
1353
+ doc_id: z.ZodString;
1354
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1355
+ before: z.ZodString;
1356
+ after: z.ZodString;
1357
+ doc_id: z.ZodString;
1358
+ }, z.ZodTypeAny, "passthrough">>, "many">>>, z.objectOutputType<{
1359
+ before: z.ZodString;
1360
+ after: z.ZodString;
1361
+ doc_id: z.ZodString;
1362
+ }, z.ZodTypeAny, "passthrough">[], z.objectInputType<{
1363
+ before: z.ZodString;
1364
+ after: z.ZodString;
1365
+ doc_id: z.ZodString;
1366
+ }, z.ZodTypeAny, "passthrough">[] | null | undefined>;
1367
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1368
+ count: z.ZodNumber;
1369
+ examples: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
1370
+ before: z.ZodString;
1371
+ after: z.ZodString;
1372
+ doc_id: z.ZodString;
1373
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1374
+ before: z.ZodString;
1375
+ after: z.ZodString;
1376
+ doc_id: z.ZodString;
1377
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1378
+ before: z.ZodString;
1379
+ after: z.ZodString;
1380
+ doc_id: z.ZodString;
1381
+ }, z.ZodTypeAny, "passthrough">>, "many">>>, z.objectOutputType<{
1382
+ before: z.ZodString;
1383
+ after: z.ZodString;
1384
+ doc_id: z.ZodString;
1385
+ }, z.ZodTypeAny, "passthrough">[], z.objectInputType<{
1386
+ before: z.ZodString;
1387
+ after: z.ZodString;
1388
+ doc_id: z.ZodString;
1389
+ }, z.ZodTypeAny, "passthrough">[] | null | undefined>;
1390
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1391
+ count: z.ZodNumber;
1392
+ examples: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
1393
+ before: z.ZodString;
1394
+ after: z.ZodString;
1395
+ doc_id: z.ZodString;
1396
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1397
+ before: z.ZodString;
1398
+ after: z.ZodString;
1399
+ doc_id: z.ZodString;
1400
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1401
+ before: z.ZodString;
1402
+ after: z.ZodString;
1403
+ doc_id: z.ZodString;
1404
+ }, z.ZodTypeAny, "passthrough">>, "many">>>, z.objectOutputType<{
1405
+ before: z.ZodString;
1406
+ after: z.ZodString;
1407
+ doc_id: z.ZodString;
1408
+ }, z.ZodTypeAny, "passthrough">[], z.objectInputType<{
1409
+ before: z.ZodString;
1410
+ after: z.ZodString;
1411
+ doc_id: z.ZodString;
1412
+ }, z.ZodTypeAny, "passthrough">[] | null | undefined>;
1413
+ }, z.ZodTypeAny, "passthrough">>>;
1414
+ status: z.ZodString;
1415
+ decided_by: z.ZodOptional<z.ZodString>;
1416
+ decided_at: z.ZodOptional<z.ZodString>;
1417
+ } & {
1418
+ /** Absent when the suggestion had no source rules (decision record only). */
1419
+ promoted_rule_id: z.ZodOptional<z.ZodString>;
1420
+ promoted_playbook_id: z.ZodOptional<z.ZodString>;
1421
+ /** True = a previous accept already promoted this rule; nothing was overwritten. */
1422
+ promoted_rule_existed: z.ZodOptional<z.ZodBoolean>;
1423
+ }, z.ZodTypeAny, "passthrough">>;
1424
+ export type PromotionAcceptResult = z.infer<typeof promotionAcceptResultSchema>;
1425
+ /**
1426
+ * Accepts one suggestion: the server persists the consolidated rule and flips
1427
+ * status → `accepted`. 404 = unknown id. 409 = either already decided (not in
1428
+ * `proposed` state) or none of the source rules exist anymore — in both cases
1429
+ * the server message says which, and the suggestion is left as stored, so the
1430
+ * caller should surface the message and refresh rather than retry.
1431
+ */
1432
+ export declare const acceptPromotionSuggestion: (id: string) => Promise<PromotionAcceptResult>;