@openspecui/core 4.0.2 → 4.1.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 (86) hide show
  1. package/dist/{document-translation-BAhXJaIl.d.mts → document-translation-CIPGsZD8.d.mts} +100 -100
  2. package/dist/{document-translation-C3SE2CBJ.mjs → document-translation-D4YK18I3.mjs} +1 -1
  3. package/dist/document-translation.d.mts +1 -1
  4. package/dist/document-translation.mjs +2 -2
  5. package/dist/hosted-app.d.mts +1 -1
  6. package/dist/hosted-app.mjs +1 -1
  7. package/dist/index.d.mts +226 -211
  8. package/dist/index.mjs +46 -20
  9. package/dist/{local-download-profiles-C6VVRttC.d.mts → local-download-profiles-B30HrSO2.d.mts} +1 -1
  10. package/dist/local-download-profiles.d.mts +2 -2
  11. package/dist/local-download-profiles.mjs +1 -1
  12. package/dist/markdown-facts.d.mts +1 -1
  13. package/dist/markdown-facts.mjs +1 -1
  14. package/dist/{markdown-reading-BnoDddEA.d.mts → markdown-reading-CgXuXp6s.d.mts} +1 -1
  15. package/dist/{markdown-reading-4d3w3xgw.mjs → markdown-reading-DdcB7run.mjs} +1 -1
  16. package/dist/markdown-reading.d.mts +2 -2
  17. package/dist/markdown-reading.mjs +2 -2
  18. package/dist/{notifications-3ZJ6BBzT.mjs → notifications-AKAcmeKT.mjs} +2 -2
  19. package/dist/{notifications-DcBVI03P.d.mts → notifications-HYH-lklF.d.mts} +16 -16
  20. package/dist/notifications.d.mts +2 -2
  21. package/dist/notifications.mjs +3 -3
  22. package/dist/{openspec-annotations-DDKeedpf.d.mts → openspec-annotations-CeXd0JIZ.d.mts} +2 -2
  23. package/dist/{openspec-annotations-DZDb0Qox.mjs → openspec-annotations-D_6Pz7k4.mjs} +2 -2
  24. package/dist/openspec-annotations.d.mts +3 -3
  25. package/dist/openspec-annotations.mjs +3 -3
  26. package/dist/openspec-compat.d.mts +8 -7
  27. package/dist/openspec-compat.mjs +23 -8
  28. package/dist/{openspec-projection-DJ_mSfmq.mjs → openspec-projection-B8s-KWQ7.mjs} +2 -2
  29. package/dist/{openspec-projection-i2pkZ4hQ.d.mts → openspec-projection-BphzrwYP.d.mts} +3 -3
  30. package/dist/openspec-projection.d.mts +5 -5
  31. package/dist/openspec-projection.mjs +4 -4
  32. package/dist/opsx-display-path.d.mts +1 -1
  33. package/dist/opsx-display-path.mjs +1 -1
  34. package/dist/{opsx-entity-DNzyALN-.d.mts → opsx-entity-CFUCqev8.d.mts} +2 -2
  35. package/dist/opsx-entity.d.mts +3 -3
  36. package/dist/opsx-entity.mjs +1 -1
  37. package/dist/{opsx-schema-detail-BZpl9jiW.d.mts → opsx-schema-detail-DXKXqMQa.d.mts} +2 -2
  38. package/dist/opsx-schema-detail.d.mts +4 -4
  39. package/dist/opsx-schema-detail.mjs +1 -1
  40. package/dist/{opsx-types-Ccrsvb3l.d.mts → opsx-types-2rgsQHsB.d.mts} +20 -20
  41. package/dist/{schemas-C01jZKK1.d.mts → schemas-CNKCVc7m.d.mts} +18 -18
  42. package/dist/{sounds-BhmJDMmO.d.mts → sounds-J6z7o4mt.d.mts} +5 -5
  43. package/dist/sounds.d.mts +1 -1
  44. package/dist/sounds.mjs +1 -1
  45. package/dist/store-types-BiE-Ey--.d.mts +1092 -0
  46. package/dist/store-types-Cu41QSww.mjs +109 -0
  47. package/dist/store-types.d.mts +2 -0
  48. package/dist/store-types.mjs +3 -0
  49. package/dist/{task-progress-C2YCGSyC.d.mts → task-progress-BHn4bCoD.d.mts} +2 -2
  50. package/dist/{task-progress-RLYFNkpL.mjs → task-progress-DhHYHnTv.mjs} +1 -1
  51. package/dist/task-progress.d.mts +3 -3
  52. package/dist/task-progress.mjs +2 -2
  53. package/dist/{terminal-audio-BDbVowLy.d.mts → terminal-audio-BeUXlQgj.d.mts} +2 -2
  54. package/dist/{terminal-audio-DhslppvD.mjs → terminal-audio-TBoU2jSK.mjs} +1 -1
  55. package/dist/terminal-audio.d.mts +2 -2
  56. package/dist/terminal-audio.mjs +2 -2
  57. package/dist/terminal-control.d.mts +2 -2
  58. package/dist/terminal-control.mjs +1 -1
  59. package/dist/{terminal-invocation-Be3YlFOI.d.mts → terminal-invocation-ClVh0HeM.d.mts} +22 -22
  60. package/dist/terminal-invocation.d.mts +1 -1
  61. package/dist/terminal-invocation.mjs +1 -1
  62. package/dist/terminal-theme.d.mts +1 -1
  63. package/dist/terminal-theme.mjs +1 -1
  64. package/dist/translation-language-pair.d.mts +1 -1
  65. package/dist/translation-language-pair.mjs +1 -1
  66. package/dist/{translator-CZeKoeLW.d.mts → translator-D6t_LEVN.d.mts} +77 -77
  67. package/dist/translator.d.mts +1 -1
  68. package/dist/translator.mjs +1 -1
  69. package/package.json +9 -3
  70. /package/dist/{hosted-app-DfEh4rR3.mjs → hosted-app-CzMRiEgY.mjs} +0 -0
  71. /package/dist/{hosted-app-BZvbSDOk.d.mts → hosted-app-DHs94gIR.d.mts} +0 -0
  72. /package/dist/{local-download-profiles-C8ZHpk2F.mjs → local-download-profiles-kpNEcdF_.mjs} +0 -0
  73. /package/dist/{markdown-facts-ByM-tdm5.mjs → markdown-facts-BBCTe_qq.mjs} +0 -0
  74. /package/dist/{markdown-facts-DQe77Xbc.d.mts → markdown-facts-Dk7FKaaT.d.mts} +0 -0
  75. /package/dist/{opsx-display-path-DGjayJTF.mjs → opsx-display-path-CUCOrHcM.mjs} +0 -0
  76. /package/dist/{opsx-display-path-dEtDIqJD.d.mts → opsx-display-path-cIMKa1aw.d.mts} +0 -0
  77. /package/dist/{opsx-entity-DrY7pgMe.mjs → opsx-entity-c7m5CbgU.mjs} +0 -0
  78. /package/dist/{opsx-schema-detail-B-4bLoZS.mjs → opsx-schema-detail-BH82X6aU.mjs} +0 -0
  79. /package/dist/{sounds-CuSsy7X-.mjs → sounds-CB3ubSnj.mjs} +0 -0
  80. /package/dist/{terminal-control-D5dCna6A.mjs → terminal-control-VpTuh17B.mjs} +0 -0
  81. /package/dist/{terminal-invocation-BSrS_0zu.mjs → terminal-invocation-C2MCNBhK.mjs} +0 -0
  82. /package/dist/{terminal-theme-TogWGicr.mjs → terminal-theme-cevliJw2.mjs} +0 -0
  83. /package/dist/{terminal-theme-DO6B6-o0.d.mts → terminal-theme-hvQjTsNh.d.mts} +0 -0
  84. /package/dist/{translation-language-pair-D2B_LoN1.mjs → translation-language-pair-DZ_WNp_M.mjs} +0 -0
  85. /package/dist/{translation-language-pair-C1tou_ks.d.mts → translation-language-pair-DmaOfHqD.d.mts} +0 -0
  86. /package/dist/{translator-bwybQ07U.mjs → translator-DbUT1Ayn.mjs} +0 -0
@@ -0,0 +1,1092 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/store-types.d.ts
4
+
5
+ /**
6
+ * Beta feature fault-tolerance model (manager directive).
7
+ *
8
+ * 对于 beta 功能,openspecui 不负责兼容性。但这也意味着所有功能在后台需要有较强的容错能力
9
+ * (没有这个功能也要能捕捉到错误),然后前端显示这个错误。这个错误一般是两种:
10
+ *
11
+ * 1. 数据不兼容 — 当前的 openspecui 不支持/不兼容 openspec-cli 提供的数据。通过 zod 对 CLI
12
+ * 输出做宽松验证,所以除非 openspec-cli 破坏性更新提供了不兼容的数据结构,我们才会异常。
13
+ * → 前端处理:客观显示错误,并提供错误的版本来源信息(版本信息非常重要)。
14
+ *
15
+ * 2. 指令用法变了 — openspec-cli 直接修改了指令的用法,属于 openspec 上了比较大的破坏性更新。
16
+ * → 前端处理:直接隐藏入口(对弱 beta 入口而言)。
17
+ *
18
+ * 不论哪种情况,前端都不能因此崩溃。
19
+ *
20
+ * Stores (OpenSpec 1.5.0, very early beta) 是这个范式的首个落地:它是个很弱的入口——低版本
21
+ * 没有、当前版本不稳定,因此异常一只需客观显示版本信息,异常二直接隐藏入口即可。
22
+ *
23
+ * Spec: openspec-cli-integration › "Beta Feature Fault Tolerance".
24
+ */
25
+ declare const StoreDiagnosticSchema: z.ZodObject<{
26
+ severity: z.ZodOptional<z.ZodString>;
27
+ code: z.ZodOptional<z.ZodString>;
28
+ message: z.ZodOptional<z.ZodString>;
29
+ target: z.ZodOptional<z.ZodString>;
30
+ fix: z.ZodOptional<z.ZodString>;
31
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
32
+ severity: z.ZodOptional<z.ZodString>;
33
+ code: z.ZodOptional<z.ZodString>;
34
+ message: z.ZodOptional<z.ZodString>;
35
+ target: z.ZodOptional<z.ZodString>;
36
+ fix: z.ZodOptional<z.ZodString>;
37
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
38
+ severity: z.ZodOptional<z.ZodString>;
39
+ code: z.ZodOptional<z.ZodString>;
40
+ message: z.ZodOptional<z.ZodString>;
41
+ target: z.ZodOptional<z.ZodString>;
42
+ fix: z.ZodOptional<z.ZodString>;
43
+ }, z.ZodTypeAny, "passthrough">>;
44
+ declare const StoreListEntrySchema: z.ZodObject<{
45
+ id: z.ZodString;
46
+ root: z.ZodString;
47
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
48
+ id: z.ZodString;
49
+ root: z.ZodString;
50
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
51
+ id: z.ZodString;
52
+ root: z.ZodString;
53
+ }, z.ZodTypeAny, "passthrough">>;
54
+ declare const StoreListResultSchema: z.ZodObject<{
55
+ stores: z.ZodDefault<z.ZodArray<z.ZodObject<{
56
+ id: z.ZodString;
57
+ root: z.ZodString;
58
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
59
+ id: z.ZodString;
60
+ root: z.ZodString;
61
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
62
+ id: z.ZodString;
63
+ root: z.ZodString;
64
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
65
+ status: z.ZodOptional<z.ZodArray<z.ZodObject<{
66
+ severity: z.ZodOptional<z.ZodString>;
67
+ code: z.ZodOptional<z.ZodString>;
68
+ message: z.ZodOptional<z.ZodString>;
69
+ target: z.ZodOptional<z.ZodString>;
70
+ fix: z.ZodOptional<z.ZodString>;
71
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
72
+ severity: z.ZodOptional<z.ZodString>;
73
+ code: z.ZodOptional<z.ZodString>;
74
+ message: z.ZodOptional<z.ZodString>;
75
+ target: z.ZodOptional<z.ZodString>;
76
+ fix: z.ZodOptional<z.ZodString>;
77
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
78
+ severity: z.ZodOptional<z.ZodString>;
79
+ code: z.ZodOptional<z.ZodString>;
80
+ message: z.ZodOptional<z.ZodString>;
81
+ target: z.ZodOptional<z.ZodString>;
82
+ fix: z.ZodOptional<z.ZodString>;
83
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
84
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
85
+ stores: z.ZodDefault<z.ZodArray<z.ZodObject<{
86
+ id: z.ZodString;
87
+ root: z.ZodString;
88
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
89
+ id: z.ZodString;
90
+ root: z.ZodString;
91
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
92
+ id: z.ZodString;
93
+ root: z.ZodString;
94
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
95
+ status: z.ZodOptional<z.ZodArray<z.ZodObject<{
96
+ severity: z.ZodOptional<z.ZodString>;
97
+ code: z.ZodOptional<z.ZodString>;
98
+ message: z.ZodOptional<z.ZodString>;
99
+ target: z.ZodOptional<z.ZodString>;
100
+ fix: z.ZodOptional<z.ZodString>;
101
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
102
+ severity: z.ZodOptional<z.ZodString>;
103
+ code: z.ZodOptional<z.ZodString>;
104
+ message: z.ZodOptional<z.ZodString>;
105
+ target: z.ZodOptional<z.ZodString>;
106
+ fix: z.ZodOptional<z.ZodString>;
107
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
108
+ severity: z.ZodOptional<z.ZodString>;
109
+ code: z.ZodOptional<z.ZodString>;
110
+ message: z.ZodOptional<z.ZodString>;
111
+ target: z.ZodOptional<z.ZodString>;
112
+ fix: z.ZodOptional<z.ZodString>;
113
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
114
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
115
+ stores: z.ZodDefault<z.ZodArray<z.ZodObject<{
116
+ id: z.ZodString;
117
+ root: z.ZodString;
118
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
119
+ id: z.ZodString;
120
+ root: z.ZodString;
121
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
122
+ id: z.ZodString;
123
+ root: z.ZodString;
124
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
125
+ status: z.ZodOptional<z.ZodArray<z.ZodObject<{
126
+ severity: z.ZodOptional<z.ZodString>;
127
+ code: z.ZodOptional<z.ZodString>;
128
+ message: z.ZodOptional<z.ZodString>;
129
+ target: z.ZodOptional<z.ZodString>;
130
+ fix: z.ZodOptional<z.ZodString>;
131
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
132
+ severity: z.ZodOptional<z.ZodString>;
133
+ code: z.ZodOptional<z.ZodString>;
134
+ message: z.ZodOptional<z.ZodString>;
135
+ target: z.ZodOptional<z.ZodString>;
136
+ fix: z.ZodOptional<z.ZodString>;
137
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
138
+ severity: z.ZodOptional<z.ZodString>;
139
+ code: z.ZodOptional<z.ZodString>;
140
+ message: z.ZodOptional<z.ZodString>;
141
+ target: z.ZodOptional<z.ZodString>;
142
+ fix: z.ZodOptional<z.ZodString>;
143
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
144
+ }, z.ZodTypeAny, "passthrough">>;
145
+ declare const StoreDoctorStoreSchema: z.ZodObject<{
146
+ id: z.ZodOptional<z.ZodString>;
147
+ root: z.ZodOptional<z.ZodString>;
148
+ metadata_path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
149
+ openspec_root: z.ZodOptional<z.ZodObject<{
150
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
151
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
152
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
153
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
154
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
155
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
156
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
157
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
158
+ }, z.ZodTypeAny, "passthrough">>>;
159
+ metadata: z.ZodOptional<z.ZodObject<{
160
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
161
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
162
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
163
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
164
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
165
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
166
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
167
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
168
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
169
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
170
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
171
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
172
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
173
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
174
+ }, z.ZodTypeAny, "passthrough">>>;
175
+ git: z.ZodOptional<z.ZodObject<{
176
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
177
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
178
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
179
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
180
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
181
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
182
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
183
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
184
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
185
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
186
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
187
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
188
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
189
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
190
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
191
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
192
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
193
+ }, z.ZodTypeAny, "passthrough">>>;
194
+ status: z.ZodOptional<z.ZodArray<z.ZodObject<{
195
+ severity: z.ZodOptional<z.ZodString>;
196
+ code: z.ZodOptional<z.ZodString>;
197
+ message: z.ZodOptional<z.ZodString>;
198
+ target: z.ZodOptional<z.ZodString>;
199
+ fix: z.ZodOptional<z.ZodString>;
200
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
201
+ severity: z.ZodOptional<z.ZodString>;
202
+ code: z.ZodOptional<z.ZodString>;
203
+ message: z.ZodOptional<z.ZodString>;
204
+ target: z.ZodOptional<z.ZodString>;
205
+ fix: z.ZodOptional<z.ZodString>;
206
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
207
+ severity: z.ZodOptional<z.ZodString>;
208
+ code: z.ZodOptional<z.ZodString>;
209
+ message: z.ZodOptional<z.ZodString>;
210
+ target: z.ZodOptional<z.ZodString>;
211
+ fix: z.ZodOptional<z.ZodString>;
212
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
213
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
214
+ id: z.ZodOptional<z.ZodString>;
215
+ root: z.ZodOptional<z.ZodString>;
216
+ metadata_path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
217
+ openspec_root: z.ZodOptional<z.ZodObject<{
218
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
219
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
220
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
221
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
222
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
223
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
224
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
225
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
226
+ }, z.ZodTypeAny, "passthrough">>>;
227
+ metadata: z.ZodOptional<z.ZodObject<{
228
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
229
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
230
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
231
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
232
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
233
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
234
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
235
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
236
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
237
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
238
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
239
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
240
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
241
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
242
+ }, z.ZodTypeAny, "passthrough">>>;
243
+ git: z.ZodOptional<z.ZodObject<{
244
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
245
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
246
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
247
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
248
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
249
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
250
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
251
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
252
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
253
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
254
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
255
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
256
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
257
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
258
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
259
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
260
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
261
+ }, z.ZodTypeAny, "passthrough">>>;
262
+ status: z.ZodOptional<z.ZodArray<z.ZodObject<{
263
+ severity: z.ZodOptional<z.ZodString>;
264
+ code: z.ZodOptional<z.ZodString>;
265
+ message: z.ZodOptional<z.ZodString>;
266
+ target: z.ZodOptional<z.ZodString>;
267
+ fix: z.ZodOptional<z.ZodString>;
268
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
269
+ severity: z.ZodOptional<z.ZodString>;
270
+ code: z.ZodOptional<z.ZodString>;
271
+ message: z.ZodOptional<z.ZodString>;
272
+ target: z.ZodOptional<z.ZodString>;
273
+ fix: z.ZodOptional<z.ZodString>;
274
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
275
+ severity: z.ZodOptional<z.ZodString>;
276
+ code: z.ZodOptional<z.ZodString>;
277
+ message: z.ZodOptional<z.ZodString>;
278
+ target: z.ZodOptional<z.ZodString>;
279
+ fix: z.ZodOptional<z.ZodString>;
280
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
281
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
282
+ id: z.ZodOptional<z.ZodString>;
283
+ root: z.ZodOptional<z.ZodString>;
284
+ metadata_path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
285
+ openspec_root: z.ZodOptional<z.ZodObject<{
286
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
287
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
288
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
289
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
290
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
291
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
292
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
293
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
294
+ }, z.ZodTypeAny, "passthrough">>>;
295
+ metadata: z.ZodOptional<z.ZodObject<{
296
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
297
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
298
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
299
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
300
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
301
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
302
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
303
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
304
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
305
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
306
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
307
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
308
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
309
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
310
+ }, z.ZodTypeAny, "passthrough">>>;
311
+ git: z.ZodOptional<z.ZodObject<{
312
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
313
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
314
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
315
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
316
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
317
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
318
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
319
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
320
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
321
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
322
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
323
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
324
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
325
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
326
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
327
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
328
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
329
+ }, z.ZodTypeAny, "passthrough">>>;
330
+ status: z.ZodOptional<z.ZodArray<z.ZodObject<{
331
+ severity: z.ZodOptional<z.ZodString>;
332
+ code: z.ZodOptional<z.ZodString>;
333
+ message: z.ZodOptional<z.ZodString>;
334
+ target: z.ZodOptional<z.ZodString>;
335
+ fix: z.ZodOptional<z.ZodString>;
336
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
337
+ severity: z.ZodOptional<z.ZodString>;
338
+ code: z.ZodOptional<z.ZodString>;
339
+ message: z.ZodOptional<z.ZodString>;
340
+ target: z.ZodOptional<z.ZodString>;
341
+ fix: z.ZodOptional<z.ZodString>;
342
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
343
+ severity: z.ZodOptional<z.ZodString>;
344
+ code: z.ZodOptional<z.ZodString>;
345
+ message: z.ZodOptional<z.ZodString>;
346
+ target: z.ZodOptional<z.ZodString>;
347
+ fix: z.ZodOptional<z.ZodString>;
348
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
349
+ }, z.ZodTypeAny, "passthrough">>;
350
+ declare const StoreDoctorResultSchema: z.ZodObject<{
351
+ stores: z.ZodDefault<z.ZodArray<z.ZodObject<{
352
+ id: z.ZodOptional<z.ZodString>;
353
+ root: z.ZodOptional<z.ZodString>;
354
+ metadata_path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
355
+ openspec_root: z.ZodOptional<z.ZodObject<{
356
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
357
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
358
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
359
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
360
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
361
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
362
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
363
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
364
+ }, z.ZodTypeAny, "passthrough">>>;
365
+ metadata: z.ZodOptional<z.ZodObject<{
366
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
367
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
368
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
369
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
370
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
371
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
372
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
373
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
374
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
375
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
376
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
377
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
378
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
379
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
380
+ }, z.ZodTypeAny, "passthrough">>>;
381
+ git: z.ZodOptional<z.ZodObject<{
382
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
383
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
384
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
385
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
386
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
387
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
388
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
389
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
390
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
391
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
392
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
393
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
394
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
395
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
396
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
397
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
398
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
399
+ }, z.ZodTypeAny, "passthrough">>>;
400
+ status: z.ZodOptional<z.ZodArray<z.ZodObject<{
401
+ severity: z.ZodOptional<z.ZodString>;
402
+ code: z.ZodOptional<z.ZodString>;
403
+ message: z.ZodOptional<z.ZodString>;
404
+ target: z.ZodOptional<z.ZodString>;
405
+ fix: z.ZodOptional<z.ZodString>;
406
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
407
+ severity: z.ZodOptional<z.ZodString>;
408
+ code: z.ZodOptional<z.ZodString>;
409
+ message: z.ZodOptional<z.ZodString>;
410
+ target: z.ZodOptional<z.ZodString>;
411
+ fix: z.ZodOptional<z.ZodString>;
412
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
413
+ severity: z.ZodOptional<z.ZodString>;
414
+ code: z.ZodOptional<z.ZodString>;
415
+ message: z.ZodOptional<z.ZodString>;
416
+ target: z.ZodOptional<z.ZodString>;
417
+ fix: z.ZodOptional<z.ZodString>;
418
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
419
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
420
+ id: z.ZodOptional<z.ZodString>;
421
+ root: z.ZodOptional<z.ZodString>;
422
+ metadata_path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
423
+ openspec_root: z.ZodOptional<z.ZodObject<{
424
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
425
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
426
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
427
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
428
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
429
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
430
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
431
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
432
+ }, z.ZodTypeAny, "passthrough">>>;
433
+ metadata: z.ZodOptional<z.ZodObject<{
434
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
435
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
436
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
437
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
438
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
439
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
440
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
441
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
442
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
443
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
444
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
445
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
446
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
447
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
448
+ }, z.ZodTypeAny, "passthrough">>>;
449
+ git: z.ZodOptional<z.ZodObject<{
450
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
451
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
452
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
453
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
454
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
455
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
456
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
457
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
458
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
459
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
460
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
461
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
462
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
463
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
464
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
465
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
466
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
467
+ }, z.ZodTypeAny, "passthrough">>>;
468
+ status: z.ZodOptional<z.ZodArray<z.ZodObject<{
469
+ severity: z.ZodOptional<z.ZodString>;
470
+ code: z.ZodOptional<z.ZodString>;
471
+ message: z.ZodOptional<z.ZodString>;
472
+ target: z.ZodOptional<z.ZodString>;
473
+ fix: z.ZodOptional<z.ZodString>;
474
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
475
+ severity: z.ZodOptional<z.ZodString>;
476
+ code: z.ZodOptional<z.ZodString>;
477
+ message: z.ZodOptional<z.ZodString>;
478
+ target: z.ZodOptional<z.ZodString>;
479
+ fix: z.ZodOptional<z.ZodString>;
480
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
481
+ severity: z.ZodOptional<z.ZodString>;
482
+ code: z.ZodOptional<z.ZodString>;
483
+ message: z.ZodOptional<z.ZodString>;
484
+ target: z.ZodOptional<z.ZodString>;
485
+ fix: z.ZodOptional<z.ZodString>;
486
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
487
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
488
+ id: z.ZodOptional<z.ZodString>;
489
+ root: z.ZodOptional<z.ZodString>;
490
+ metadata_path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
491
+ openspec_root: z.ZodOptional<z.ZodObject<{
492
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
493
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
494
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
495
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
496
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
497
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
498
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
499
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
500
+ }, z.ZodTypeAny, "passthrough">>>;
501
+ metadata: z.ZodOptional<z.ZodObject<{
502
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
503
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
504
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
505
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
506
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
507
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
508
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
509
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
510
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
511
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
512
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
513
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
514
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
515
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
516
+ }, z.ZodTypeAny, "passthrough">>>;
517
+ git: z.ZodOptional<z.ZodObject<{
518
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
519
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
520
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
521
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
522
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
523
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
524
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
525
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
526
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
527
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
528
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
529
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
530
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
531
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
532
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
533
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
534
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
535
+ }, z.ZodTypeAny, "passthrough">>>;
536
+ status: z.ZodOptional<z.ZodArray<z.ZodObject<{
537
+ severity: z.ZodOptional<z.ZodString>;
538
+ code: z.ZodOptional<z.ZodString>;
539
+ message: z.ZodOptional<z.ZodString>;
540
+ target: z.ZodOptional<z.ZodString>;
541
+ fix: z.ZodOptional<z.ZodString>;
542
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
543
+ severity: z.ZodOptional<z.ZodString>;
544
+ code: z.ZodOptional<z.ZodString>;
545
+ message: z.ZodOptional<z.ZodString>;
546
+ target: z.ZodOptional<z.ZodString>;
547
+ fix: z.ZodOptional<z.ZodString>;
548
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
549
+ severity: z.ZodOptional<z.ZodString>;
550
+ code: z.ZodOptional<z.ZodString>;
551
+ message: z.ZodOptional<z.ZodString>;
552
+ target: z.ZodOptional<z.ZodString>;
553
+ fix: z.ZodOptional<z.ZodString>;
554
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
555
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
556
+ status: z.ZodOptional<z.ZodArray<z.ZodObject<{
557
+ severity: z.ZodOptional<z.ZodString>;
558
+ code: z.ZodOptional<z.ZodString>;
559
+ message: z.ZodOptional<z.ZodString>;
560
+ target: z.ZodOptional<z.ZodString>;
561
+ fix: z.ZodOptional<z.ZodString>;
562
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
563
+ severity: z.ZodOptional<z.ZodString>;
564
+ code: z.ZodOptional<z.ZodString>;
565
+ message: z.ZodOptional<z.ZodString>;
566
+ target: z.ZodOptional<z.ZodString>;
567
+ fix: z.ZodOptional<z.ZodString>;
568
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
569
+ severity: z.ZodOptional<z.ZodString>;
570
+ code: z.ZodOptional<z.ZodString>;
571
+ message: z.ZodOptional<z.ZodString>;
572
+ target: z.ZodOptional<z.ZodString>;
573
+ fix: z.ZodOptional<z.ZodString>;
574
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
575
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
576
+ stores: z.ZodDefault<z.ZodArray<z.ZodObject<{
577
+ id: z.ZodOptional<z.ZodString>;
578
+ root: z.ZodOptional<z.ZodString>;
579
+ metadata_path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
580
+ openspec_root: z.ZodOptional<z.ZodObject<{
581
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
582
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
583
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
584
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
585
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
586
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
587
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
588
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
589
+ }, z.ZodTypeAny, "passthrough">>>;
590
+ metadata: z.ZodOptional<z.ZodObject<{
591
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
592
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
593
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
594
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
595
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
596
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
597
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
598
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
599
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
600
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
601
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
602
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
603
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
604
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
605
+ }, z.ZodTypeAny, "passthrough">>>;
606
+ git: z.ZodOptional<z.ZodObject<{
607
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
608
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
609
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
610
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
611
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
612
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
613
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
614
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
615
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
616
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
617
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
618
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
619
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
620
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
621
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
622
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
623
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
624
+ }, z.ZodTypeAny, "passthrough">>>;
625
+ status: z.ZodOptional<z.ZodArray<z.ZodObject<{
626
+ severity: z.ZodOptional<z.ZodString>;
627
+ code: z.ZodOptional<z.ZodString>;
628
+ message: z.ZodOptional<z.ZodString>;
629
+ target: z.ZodOptional<z.ZodString>;
630
+ fix: z.ZodOptional<z.ZodString>;
631
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
632
+ severity: z.ZodOptional<z.ZodString>;
633
+ code: z.ZodOptional<z.ZodString>;
634
+ message: z.ZodOptional<z.ZodString>;
635
+ target: z.ZodOptional<z.ZodString>;
636
+ fix: z.ZodOptional<z.ZodString>;
637
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
638
+ severity: z.ZodOptional<z.ZodString>;
639
+ code: z.ZodOptional<z.ZodString>;
640
+ message: z.ZodOptional<z.ZodString>;
641
+ target: z.ZodOptional<z.ZodString>;
642
+ fix: z.ZodOptional<z.ZodString>;
643
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
644
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
645
+ id: z.ZodOptional<z.ZodString>;
646
+ root: z.ZodOptional<z.ZodString>;
647
+ metadata_path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
648
+ openspec_root: z.ZodOptional<z.ZodObject<{
649
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
650
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
651
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
652
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
653
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
654
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
655
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
656
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
657
+ }, z.ZodTypeAny, "passthrough">>>;
658
+ metadata: z.ZodOptional<z.ZodObject<{
659
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
660
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
661
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
662
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
663
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
664
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
665
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
666
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
667
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
668
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
669
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
670
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
671
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
672
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
673
+ }, z.ZodTypeAny, "passthrough">>>;
674
+ git: z.ZodOptional<z.ZodObject<{
675
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
676
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
677
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
678
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
679
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
680
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
681
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
682
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
683
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
684
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
685
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
686
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
687
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
688
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
689
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
690
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
691
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
692
+ }, z.ZodTypeAny, "passthrough">>>;
693
+ status: z.ZodOptional<z.ZodArray<z.ZodObject<{
694
+ severity: z.ZodOptional<z.ZodString>;
695
+ code: z.ZodOptional<z.ZodString>;
696
+ message: z.ZodOptional<z.ZodString>;
697
+ target: z.ZodOptional<z.ZodString>;
698
+ fix: z.ZodOptional<z.ZodString>;
699
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
700
+ severity: z.ZodOptional<z.ZodString>;
701
+ code: z.ZodOptional<z.ZodString>;
702
+ message: z.ZodOptional<z.ZodString>;
703
+ target: z.ZodOptional<z.ZodString>;
704
+ fix: z.ZodOptional<z.ZodString>;
705
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
706
+ severity: z.ZodOptional<z.ZodString>;
707
+ code: z.ZodOptional<z.ZodString>;
708
+ message: z.ZodOptional<z.ZodString>;
709
+ target: z.ZodOptional<z.ZodString>;
710
+ fix: z.ZodOptional<z.ZodString>;
711
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
712
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
713
+ id: z.ZodOptional<z.ZodString>;
714
+ root: z.ZodOptional<z.ZodString>;
715
+ metadata_path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
716
+ openspec_root: z.ZodOptional<z.ZodObject<{
717
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
718
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
719
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
720
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
721
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
722
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
723
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
724
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
725
+ }, z.ZodTypeAny, "passthrough">>>;
726
+ metadata: z.ZodOptional<z.ZodObject<{
727
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
728
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
729
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
730
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
731
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
732
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
733
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
734
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
735
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
736
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
737
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
738
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
739
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
740
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
741
+ }, z.ZodTypeAny, "passthrough">>>;
742
+ git: z.ZodOptional<z.ZodObject<{
743
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
744
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
745
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
746
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
747
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
748
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
749
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
750
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
751
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
752
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
753
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
754
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
755
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
756
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
757
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
758
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
759
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
760
+ }, z.ZodTypeAny, "passthrough">>>;
761
+ status: z.ZodOptional<z.ZodArray<z.ZodObject<{
762
+ severity: z.ZodOptional<z.ZodString>;
763
+ code: z.ZodOptional<z.ZodString>;
764
+ message: z.ZodOptional<z.ZodString>;
765
+ target: z.ZodOptional<z.ZodString>;
766
+ fix: z.ZodOptional<z.ZodString>;
767
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
768
+ severity: z.ZodOptional<z.ZodString>;
769
+ code: z.ZodOptional<z.ZodString>;
770
+ message: z.ZodOptional<z.ZodString>;
771
+ target: z.ZodOptional<z.ZodString>;
772
+ fix: z.ZodOptional<z.ZodString>;
773
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
774
+ severity: z.ZodOptional<z.ZodString>;
775
+ code: z.ZodOptional<z.ZodString>;
776
+ message: z.ZodOptional<z.ZodString>;
777
+ target: z.ZodOptional<z.ZodString>;
778
+ fix: z.ZodOptional<z.ZodString>;
779
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
780
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
781
+ status: z.ZodOptional<z.ZodArray<z.ZodObject<{
782
+ severity: z.ZodOptional<z.ZodString>;
783
+ code: z.ZodOptional<z.ZodString>;
784
+ message: z.ZodOptional<z.ZodString>;
785
+ target: z.ZodOptional<z.ZodString>;
786
+ fix: z.ZodOptional<z.ZodString>;
787
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
788
+ severity: z.ZodOptional<z.ZodString>;
789
+ code: z.ZodOptional<z.ZodString>;
790
+ message: z.ZodOptional<z.ZodString>;
791
+ target: z.ZodOptional<z.ZodString>;
792
+ fix: z.ZodOptional<z.ZodString>;
793
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
794
+ severity: z.ZodOptional<z.ZodString>;
795
+ code: z.ZodOptional<z.ZodString>;
796
+ message: z.ZodOptional<z.ZodString>;
797
+ target: z.ZodOptional<z.ZodString>;
798
+ fix: z.ZodOptional<z.ZodString>;
799
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
800
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
801
+ stores: z.ZodDefault<z.ZodArray<z.ZodObject<{
802
+ id: z.ZodOptional<z.ZodString>;
803
+ root: z.ZodOptional<z.ZodString>;
804
+ metadata_path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
805
+ openspec_root: z.ZodOptional<z.ZodObject<{
806
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
807
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
808
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
809
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
810
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
811
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
812
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
813
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
814
+ }, z.ZodTypeAny, "passthrough">>>;
815
+ metadata: z.ZodOptional<z.ZodObject<{
816
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
817
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
818
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
819
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
820
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
821
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
822
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
823
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
824
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
825
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
826
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
827
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
828
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
829
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
830
+ }, z.ZodTypeAny, "passthrough">>>;
831
+ git: z.ZodOptional<z.ZodObject<{
832
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
833
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
834
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
835
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
836
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
837
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
838
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
839
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
840
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
841
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
842
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
843
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
844
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
845
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
846
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
847
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
848
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
849
+ }, z.ZodTypeAny, "passthrough">>>;
850
+ status: z.ZodOptional<z.ZodArray<z.ZodObject<{
851
+ severity: z.ZodOptional<z.ZodString>;
852
+ code: z.ZodOptional<z.ZodString>;
853
+ message: z.ZodOptional<z.ZodString>;
854
+ target: z.ZodOptional<z.ZodString>;
855
+ fix: z.ZodOptional<z.ZodString>;
856
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
857
+ severity: z.ZodOptional<z.ZodString>;
858
+ code: z.ZodOptional<z.ZodString>;
859
+ message: z.ZodOptional<z.ZodString>;
860
+ target: z.ZodOptional<z.ZodString>;
861
+ fix: z.ZodOptional<z.ZodString>;
862
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
863
+ severity: z.ZodOptional<z.ZodString>;
864
+ code: z.ZodOptional<z.ZodString>;
865
+ message: z.ZodOptional<z.ZodString>;
866
+ target: z.ZodOptional<z.ZodString>;
867
+ fix: z.ZodOptional<z.ZodString>;
868
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
869
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
870
+ id: z.ZodOptional<z.ZodString>;
871
+ root: z.ZodOptional<z.ZodString>;
872
+ metadata_path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
873
+ openspec_root: z.ZodOptional<z.ZodObject<{
874
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
875
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
876
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
877
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
878
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
879
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
880
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
881
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
882
+ }, z.ZodTypeAny, "passthrough">>>;
883
+ metadata: z.ZodOptional<z.ZodObject<{
884
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
885
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
886
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
887
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
888
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
889
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
890
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
891
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
892
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
893
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
894
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
895
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
896
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
897
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
898
+ }, z.ZodTypeAny, "passthrough">>>;
899
+ git: z.ZodOptional<z.ZodObject<{
900
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
901
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
902
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
903
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
904
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
905
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
906
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
907
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
908
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
909
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
910
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
911
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
912
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
913
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
914
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
915
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
916
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
917
+ }, z.ZodTypeAny, "passthrough">>>;
918
+ status: z.ZodOptional<z.ZodArray<z.ZodObject<{
919
+ severity: z.ZodOptional<z.ZodString>;
920
+ code: z.ZodOptional<z.ZodString>;
921
+ message: z.ZodOptional<z.ZodString>;
922
+ target: z.ZodOptional<z.ZodString>;
923
+ fix: z.ZodOptional<z.ZodString>;
924
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
925
+ severity: z.ZodOptional<z.ZodString>;
926
+ code: z.ZodOptional<z.ZodString>;
927
+ message: z.ZodOptional<z.ZodString>;
928
+ target: z.ZodOptional<z.ZodString>;
929
+ fix: z.ZodOptional<z.ZodString>;
930
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
931
+ severity: z.ZodOptional<z.ZodString>;
932
+ code: z.ZodOptional<z.ZodString>;
933
+ message: z.ZodOptional<z.ZodString>;
934
+ target: z.ZodOptional<z.ZodString>;
935
+ fix: z.ZodOptional<z.ZodString>;
936
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
937
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
938
+ id: z.ZodOptional<z.ZodString>;
939
+ root: z.ZodOptional<z.ZodString>;
940
+ metadata_path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
941
+ openspec_root: z.ZodOptional<z.ZodObject<{
942
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
943
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
944
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
945
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
946
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
947
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
948
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
949
+ healthy: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
950
+ }, z.ZodTypeAny, "passthrough">>>;
951
+ metadata: z.ZodOptional<z.ZodObject<{
952
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
953
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
954
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
955
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
956
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
957
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
958
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
959
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
960
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
961
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
962
+ present: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
963
+ valid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
964
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
965
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
966
+ }, z.ZodTypeAny, "passthrough">>>;
967
+ git: z.ZodOptional<z.ZodObject<{
968
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
969
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
970
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
971
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
972
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
973
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
974
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
975
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
976
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
977
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
978
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
979
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
980
+ is_repository: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
981
+ has_commits: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
982
+ has_uncommitted_changes: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
983
+ has_remote: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
984
+ origin_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
985
+ }, z.ZodTypeAny, "passthrough">>>;
986
+ status: z.ZodOptional<z.ZodArray<z.ZodObject<{
987
+ severity: z.ZodOptional<z.ZodString>;
988
+ code: z.ZodOptional<z.ZodString>;
989
+ message: z.ZodOptional<z.ZodString>;
990
+ target: z.ZodOptional<z.ZodString>;
991
+ fix: z.ZodOptional<z.ZodString>;
992
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
993
+ severity: z.ZodOptional<z.ZodString>;
994
+ code: z.ZodOptional<z.ZodString>;
995
+ message: z.ZodOptional<z.ZodString>;
996
+ target: z.ZodOptional<z.ZodString>;
997
+ fix: z.ZodOptional<z.ZodString>;
998
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
999
+ severity: z.ZodOptional<z.ZodString>;
1000
+ code: z.ZodOptional<z.ZodString>;
1001
+ message: z.ZodOptional<z.ZodString>;
1002
+ target: z.ZodOptional<z.ZodString>;
1003
+ fix: z.ZodOptional<z.ZodString>;
1004
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
1005
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
1006
+ status: z.ZodOptional<z.ZodArray<z.ZodObject<{
1007
+ severity: z.ZodOptional<z.ZodString>;
1008
+ code: z.ZodOptional<z.ZodString>;
1009
+ message: z.ZodOptional<z.ZodString>;
1010
+ target: z.ZodOptional<z.ZodString>;
1011
+ fix: z.ZodOptional<z.ZodString>;
1012
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1013
+ severity: z.ZodOptional<z.ZodString>;
1014
+ code: z.ZodOptional<z.ZodString>;
1015
+ message: z.ZodOptional<z.ZodString>;
1016
+ target: z.ZodOptional<z.ZodString>;
1017
+ fix: z.ZodOptional<z.ZodString>;
1018
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1019
+ severity: z.ZodOptional<z.ZodString>;
1020
+ code: z.ZodOptional<z.ZodString>;
1021
+ message: z.ZodOptional<z.ZodString>;
1022
+ target: z.ZodOptional<z.ZodString>;
1023
+ fix: z.ZodOptional<z.ZodString>;
1024
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
1025
+ }, z.ZodTypeAny, "passthrough">>;
1026
+ type StoreListEntry = z.infer<typeof StoreListEntrySchema>;
1027
+ type StoreDoctorStore = z.infer<typeof StoreDoctorStoreSchema>;
1028
+ type StoreListResult = z.infer<typeof StoreListResultSchema>;
1029
+ type StoreDoctorResult = z.infer<typeof StoreDoctorResultSchema>;
1030
+ type StoreDiagnostic = z.infer<typeof StoreDiagnosticSchema>;
1031
+ /**
1032
+ * 异常一:数据不兼容。
1033
+ * CLI 命令成功执行(exit 0),但返回的数据结构 openspecui 无法解析(zod 宽松验证仍失败)。
1034
+ * 这是 openspec-cli 提供了不兼容数据结构的破坏性更新。前端应客观显示错误 + 版本来源信息。
1035
+ */
1036
+ type StoreDataIncompatibleError = {
1037
+ kind: 'data-incompatible';
1038
+ message: string;
1039
+ cliVersion?: string;
1040
+ };
1041
+ /**
1042
+ * 异常二:指令用法变了 / 指令缺失。
1043
+ * openspec-cli 直接修改了指令用法(非零退出、找不到子命令等),属于较大的破坏性更新。
1044
+ * 对弱 beta 入口,前端直接隐藏入口。
1045
+ */
1046
+ type StoreCommandUnavailableError = {
1047
+ kind: 'command-unavailable';
1048
+ message: string;
1049
+ cliVersion?: string;
1050
+ };
1051
+ /** 统一的 beta 功能错误载荷,两种异常都携带版本来源信息。 */
1052
+ type StoreFeatureError = StoreDataIncompatibleError | StoreCommandUnavailableError;
1053
+ /**
1054
+ * 一个 beta 功能端点的统一返回型。后端永不抛未捕获错误:成功返回 stores,失败返回结构化的
1055
+ * error(含异常类型与 cliVersion),available 标志该功能在当前 CLI 下是否可用。
1056
+ */
1057
+ type StoreFeatureResult<T = StoreListEntry[]> = {
1058
+ available: boolean;
1059
+ stores: T;
1060
+ error?: StoreFeatureError;
1061
+ cliVersion?: string;
1062
+ };
1063
+ /**
1064
+ * 把一次 CLI 调用的原始结果归类为三种状态之一(范式核心判定逻辑)。
1065
+ *
1066
+ * 判定规则:
1067
+ * - exit 0 且 zod 宽松验证通过 → 'ok'
1068
+ * - exit 0 但 zod 失败 → 'data-incompatible'(异常一)
1069
+ * - 非 0 退出 / spawn 失败 → 'command-unavailable'(异常二)
1070
+ */
1071
+ type StoreClassification = {
1072
+ kind: 'ok';
1073
+ data: unknown;
1074
+ } | StoreFeatureError;
1075
+ declare function classifyStoreCliOutput(input: {
1076
+ success: boolean;
1077
+ stdout: string;
1078
+ stderr: string;
1079
+ parse: (stdout: string) => unknown;
1080
+ cliVersion?: string;
1081
+ }): StoreClassification;
1082
+ /**
1083
+ * 把归类结果转换成端点返回型。成功时 stores = data,失败时 stores = fallback(通常是空数组)
1084
+ * 并附上 error。始终尽力带上 cliVersion(版本信息非常重要)。
1085
+ */
1086
+ declare function toStoreFeatureResult<T>(classification: StoreClassification, options: {
1087
+ fromData: (data: unknown) => T;
1088
+ fallback: T;
1089
+ cliVersion?: string;
1090
+ }): StoreFeatureResult<T>;
1091
+ //#endregion
1092
+ export { StoreDoctorResult as a, StoreFeatureError as c, StoreListResult as d, StoreListResultSchema as f, StoreDiagnostic as i, StoreFeatureResult as l, toStoreFeatureResult as m, StoreCommandUnavailableError as n, StoreDoctorResultSchema as o, classifyStoreCliOutput as p, StoreDataIncompatibleError as r, StoreDoctorStore as s, StoreClassification as t, StoreListEntry as u };