@lannguyensi/harness 0.5.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 (199) hide show
  1. package/CHANGELOG.md +552 -0
  2. package/LICENSE +21 -0
  3. package/README.md +154 -0
  4. package/dist/cli/add/index.d.ts +14 -0
  5. package/dist/cli/add/index.js +71 -0
  6. package/dist/cli/add/index.js.map +1 -0
  7. package/dist/cli/add/mutate.d.ts +39 -0
  8. package/dist/cli/add/mutate.js +36 -0
  9. package/dist/cli/add/mutate.js.map +1 -0
  10. package/dist/cli/adopt/derive.d.ts +38 -0
  11. package/dist/cli/adopt/derive.js +94 -0
  12. package/dist/cli/adopt/derive.js.map +1 -0
  13. package/dist/cli/adopt/index.d.ts +20 -0
  14. package/dist/cli/adopt/index.js +156 -0
  15. package/dist/cli/adopt/index.js.map +1 -0
  16. package/dist/cli/apply/apply.d.ts +49 -0
  17. package/dist/cli/apply/apply.js +333 -0
  18. package/dist/cli/apply/apply.js.map +1 -0
  19. package/dist/cli/apply/generate-memory-index.d.ts +17 -0
  20. package/dist/cli/apply/generate-memory-index.js +167 -0
  21. package/dist/cli/apply/generate-memory-index.js.map +1 -0
  22. package/dist/cli/apply/generate-settings.d.ts +15 -0
  23. package/dist/cli/apply/generate-settings.js +87 -0
  24. package/dist/cli/apply/generate-settings.js.map +1 -0
  25. package/dist/cli/apply/index.d.ts +1 -0
  26. package/dist/cli/apply/index.js +2 -0
  27. package/dist/cli/apply/index.js.map +1 -0
  28. package/dist/cli/audit.d.ts +36 -0
  29. package/dist/cli/audit.js +121 -0
  30. package/dist/cli/audit.js.map +1 -0
  31. package/dist/cli/describe.d.ts +13 -0
  32. package/dist/cli/describe.js +26 -0
  33. package/dist/cli/describe.js.map +1 -0
  34. package/dist/cli/diff/engine.d.ts +21 -0
  35. package/dist/cli/diff/engine.js +161 -0
  36. package/dist/cli/diff/engine.js.map +1 -0
  37. package/dist/cli/diff/git.d.ts +6 -0
  38. package/dist/cli/diff/git.js +32 -0
  39. package/dist/cli/diff/git.js.map +1 -0
  40. package/dist/cli/diff/index.d.ts +15 -0
  41. package/dist/cli/diff/index.js +39 -0
  42. package/dist/cli/diff/index.js.map +1 -0
  43. package/dist/cli/diff/since-apply.d.ts +57 -0
  44. package/dist/cli/diff/since-apply.js +255 -0
  45. package/dist/cli/diff/since-apply.js.map +1 -0
  46. package/dist/cli/doctor/format.d.ts +2 -0
  47. package/dist/cli/doctor/format.js +126 -0
  48. package/dist/cli/doctor/format.js.map +1 -0
  49. package/dist/cli/doctor/index.d.ts +14 -0
  50. package/dist/cli/doctor/index.js +281 -0
  51. package/dist/cli/doctor/index.js.map +1 -0
  52. package/dist/cli/doctor/types.d.ts +46 -0
  53. package/dist/cli/doctor/types.js +2 -0
  54. package/dist/cli/doctor/types.js.map +1 -0
  55. package/dist/cli/dry-run.d.ts +46 -0
  56. package/dist/cli/dry-run.js +168 -0
  57. package/dist/cli/dry-run.js.map +1 -0
  58. package/dist/cli/exit-codes.d.ts +10 -0
  59. package/dist/cli/exit-codes.js +15 -0
  60. package/dist/cli/exit-codes.js.map +1 -0
  61. package/dist/cli/explain.d.ts +14 -0
  62. package/dist/cli/explain.js +97 -0
  63. package/dist/cli/explain.js.map +1 -0
  64. package/dist/cli/export.d.ts +31 -0
  65. package/dist/cli/export.js +84 -0
  66. package/dist/cli/export.js.map +1 -0
  67. package/dist/cli/index.d.ts +8 -0
  68. package/dist/cli/index.js +549 -0
  69. package/dist/cli/index.js.map +1 -0
  70. package/dist/cli/init/index.d.ts +17 -0
  71. package/dist/cli/init/index.js +57 -0
  72. package/dist/cli/init/index.js.map +1 -0
  73. package/dist/cli/init/templates.d.ts +4 -0
  74. package/dist/cli/init/templates.js +175 -0
  75. package/dist/cli/init/templates.js.map +1 -0
  76. package/dist/cli/list.d.ts +12 -0
  77. package/dist/cli/list.js +118 -0
  78. package/dist/cli/list.js.map +1 -0
  79. package/dist/cli/loader.d.ts +24 -0
  80. package/dist/cli/loader.js +74 -0
  81. package/dist/cli/loader.js.map +1 -0
  82. package/dist/cli/main.d.ts +2 -0
  83. package/dist/cli/main.js +6 -0
  84. package/dist/cli/main.js.map +1 -0
  85. package/dist/cli/policy/intercept.d.ts +34 -0
  86. package/dist/cli/policy/intercept.js +172 -0
  87. package/dist/cli/policy/intercept.js.map +1 -0
  88. package/dist/cli/remove/index.d.ts +18 -0
  89. package/dist/cli/remove/index.js +95 -0
  90. package/dist/cli/remove/index.js.map +1 -0
  91. package/dist/cli/remove/mutate.d.ts +9 -0
  92. package/dist/cli/remove/mutate.js +68 -0
  93. package/dist/cli/remove/mutate.js.map +1 -0
  94. package/dist/cli/validate/checks.d.ts +23 -0
  95. package/dist/cli/validate/checks.js +253 -0
  96. package/dist/cli/validate/checks.js.map +1 -0
  97. package/dist/cli/validate/index.d.ts +18 -0
  98. package/dist/cli/validate/index.js +50 -0
  99. package/dist/cli/validate/index.js.map +1 -0
  100. package/dist/cli/validate/types.d.ts +7 -0
  101. package/dist/cli/validate/types.js +5 -0
  102. package/dist/cli/validate/types.js.map +1 -0
  103. package/dist/index.d.ts +15 -0
  104. package/dist/index.js +16 -0
  105. package/dist/index.js.map +1 -0
  106. package/dist/io/atomic-write.d.ts +8 -0
  107. package/dist/io/atomic-write.js +30 -0
  108. package/dist/io/atomic-write.js.map +1 -0
  109. package/dist/io/harness-lock.d.ts +33 -0
  110. package/dist/io/harness-lock.js +260 -0
  111. package/dist/io/harness-lock.js.map +1 -0
  112. package/dist/io/last-apply.d.ts +20 -0
  113. package/dist/io/last-apply.js +123 -0
  114. package/dist/io/last-apply.js.map +1 -0
  115. package/dist/io/lock.d.ts +11 -0
  116. package/dist/io/lock.js +33 -0
  117. package/dist/io/lock.js.map +1 -0
  118. package/dist/io/patch.d.ts +10 -0
  119. package/dist/io/patch.js +8 -0
  120. package/dist/io/patch.js.map +1 -0
  121. package/dist/io/restart-hints.d.ts +5 -0
  122. package/dist/io/restart-hints.js +59 -0
  123. package/dist/io/restart-hints.js.map +1 -0
  124. package/dist/io/three-state.d.ts +7 -0
  125. package/dist/io/three-state.js +20 -0
  126. package/dist/io/three-state.js.map +1 -0
  127. package/dist/io/validate-before-write.d.ts +12 -0
  128. package/dist/io/validate-before-write.js +23 -0
  129. package/dist/io/validate-before-write.js.map +1 -0
  130. package/dist/overrides/index.d.ts +2 -0
  131. package/dist/overrides/index.js +3 -0
  132. package/dist/overrides/index.js.map +1 -0
  133. package/dist/overrides/machines.d.ts +12 -0
  134. package/dist/overrides/machines.js +46 -0
  135. package/dist/overrides/machines.js.map +1 -0
  136. package/dist/overrides/merge.d.ts +6 -0
  137. package/dist/overrides/merge.js +173 -0
  138. package/dist/overrides/merge.js.map +1 -0
  139. package/dist/policies/duration.d.ts +5 -0
  140. package/dist/policies/duration.js +50 -0
  141. package/dist/policies/duration.js.map +1 -0
  142. package/dist/policies/extract.d.ts +50 -0
  143. package/dist/policies/extract.js +190 -0
  144. package/dist/policies/extract.js.map +1 -0
  145. package/dist/policies/index.d.ts +5 -0
  146. package/dist/policies/index.js +6 -0
  147. package/dist/policies/index.js.map +1 -0
  148. package/dist/policies/ledger-client.d.ts +39 -0
  149. package/dist/policies/ledger-client.js +378 -0
  150. package/dist/policies/ledger-client.js.map +1 -0
  151. package/dist/policies/requires.d.ts +44 -0
  152. package/dist/policies/requires.js +146 -0
  153. package/dist/policies/requires.js.map +1 -0
  154. package/dist/policies/timestamp.d.ts +14 -0
  155. package/dist/policies/timestamp.js +36 -0
  156. package/dist/policies/timestamp.js.map +1 -0
  157. package/dist/probes/mcp.d.ts +29 -0
  158. package/dist/probes/mcp.js +226 -0
  159. package/dist/probes/mcp.js.map +1 -0
  160. package/dist/probes/memory.d.ts +24 -0
  161. package/dist/probes/memory.js +89 -0
  162. package/dist/probes/memory.js.map +1 -0
  163. package/dist/runtime/index.d.ts +3 -0
  164. package/dist/runtime/index.js +4 -0
  165. package/dist/runtime/index.js.map +1 -0
  166. package/dist/runtime/intercept.d.ts +53 -0
  167. package/dist/runtime/intercept.js +181 -0
  168. package/dist/runtime/intercept.js.map +1 -0
  169. package/dist/runtime/ledger-record.d.ts +43 -0
  170. package/dist/runtime/ledger-record.js +239 -0
  171. package/dist/runtime/ledger-record.js.map +1 -0
  172. package/dist/runtime/session-id.d.ts +10 -0
  173. package/dist/runtime/session-id.js +37 -0
  174. package/dist/runtime/session-id.js.map +1 -0
  175. package/dist/schema/extract.d.ts +5 -0
  176. package/dist/schema/extract.js +23 -0
  177. package/dist/schema/extract.js.map +1 -0
  178. package/dist/schema/grounding.d.ts +65 -0
  179. package/dist/schema/grounding.js +21 -0
  180. package/dist/schema/grounding.js.map +1 -0
  181. package/dist/schema/hooks.d.ts +86 -0
  182. package/dist/schema/hooks.js +42 -0
  183. package/dist/schema/hooks.js.map +1 -0
  184. package/dist/schema/index.d.ts +961 -0
  185. package/dist/schema/index.js +55 -0
  186. package/dist/schema/index.js.map +1 -0
  187. package/dist/schema/memory.d.ts +131 -0
  188. package/dist/schema/memory.js +38 -0
  189. package/dist/schema/memory.js.map +1 -0
  190. package/dist/schema/policies.d.ts +412 -0
  191. package/dist/schema/policies.js +53 -0
  192. package/dist/schema/policies.js.map +1 -0
  193. package/dist/schema/requires.d.ts +115 -0
  194. package/dist/schema/requires.js +57 -0
  195. package/dist/schema/requires.js.map +1 -0
  196. package/dist/schema/tools.d.ts +283 -0
  197. package/dist/schema/tools.js +66 -0
  198. package/dist/schema/tools.js.map +1 -0
  199. package/package.json +63 -0
@@ -0,0 +1,961 @@
1
+ import { z } from "zod";
2
+ export declare const SUPPORTED_MANIFEST_VERSION = 1;
3
+ export declare const ManifestSchema: z.ZodEffects<z.ZodObject<{
4
+ version: z.ZodLiteral<1>;
5
+ grounding: z.ZodDefault<z.ZodObject<{
6
+ session: z.ZodDefault<z.ZodObject<{
7
+ auto_start: z.ZodDefault<z.ZodBoolean>;
8
+ id_format: z.ZodDefault<z.ZodString>;
9
+ }, "strict", z.ZodTypeAny, {
10
+ auto_start: boolean;
11
+ id_format: string;
12
+ }, {
13
+ auto_start?: boolean | undefined;
14
+ id_format?: string | undefined;
15
+ }>>;
16
+ evidence_ledger: z.ZodDefault<z.ZodObject<{
17
+ path: z.ZodDefault<z.ZodString>;
18
+ retention_days: z.ZodDefault<z.ZodNumber>;
19
+ }, "strict", z.ZodTypeAny, {
20
+ path: string;
21
+ retention_days: number;
22
+ }, {
23
+ path?: string | undefined;
24
+ retention_days?: number | undefined;
25
+ }>>;
26
+ policies_source: z.ZodDefault<z.ZodNullable<z.ZodString>>;
27
+ }, "strict", z.ZodTypeAny, {
28
+ session: {
29
+ auto_start: boolean;
30
+ id_format: string;
31
+ };
32
+ evidence_ledger: {
33
+ path: string;
34
+ retention_days: number;
35
+ };
36
+ policies_source: string | null;
37
+ }, {
38
+ session?: {
39
+ auto_start?: boolean | undefined;
40
+ id_format?: string | undefined;
41
+ } | undefined;
42
+ evidence_ledger?: {
43
+ path?: string | undefined;
44
+ retention_days?: number | undefined;
45
+ } | undefined;
46
+ policies_source?: string | null | undefined;
47
+ }>>;
48
+ tools: z.ZodDefault<z.ZodEffects<z.ZodObject<{
49
+ mcp: z.ZodDefault<z.ZodArray<z.ZodObject<{
50
+ name: z.ZodString;
51
+ command: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
52
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
53
+ health: z.ZodOptional<z.ZodObject<{
54
+ verb: z.ZodString;
55
+ timeout_ms: z.ZodDefault<z.ZodNumber>;
56
+ }, "strict", z.ZodTypeAny, {
57
+ verb: string;
58
+ timeout_ms: number;
59
+ }, {
60
+ verb: string;
61
+ timeout_ms?: number | undefined;
62
+ }>>;
63
+ enabled: z.ZodDefault<z.ZodBoolean>;
64
+ }, "strict", z.ZodTypeAny, {
65
+ name: string;
66
+ command: string | string[];
67
+ enabled: boolean;
68
+ env?: Record<string, string> | undefined;
69
+ health?: {
70
+ verb: string;
71
+ timeout_ms: number;
72
+ } | undefined;
73
+ }, {
74
+ name: string;
75
+ command: string | string[];
76
+ enabled?: boolean | undefined;
77
+ env?: Record<string, string> | undefined;
78
+ health?: {
79
+ verb: string;
80
+ timeout_ms?: number | undefined;
81
+ } | undefined;
82
+ }>, "many">>;
83
+ cli: z.ZodDefault<z.ZodArray<z.ZodObject<{
84
+ name: z.ZodString;
85
+ binary: z.ZodString;
86
+ min_version: z.ZodOptional<z.ZodString>;
87
+ version_command: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
88
+ required: z.ZodDefault<z.ZodBoolean>;
89
+ }, "strict", z.ZodTypeAny, {
90
+ name: string;
91
+ binary: string;
92
+ required: boolean;
93
+ min_version?: string | undefined;
94
+ version_command?: string[] | undefined;
95
+ }, {
96
+ name: string;
97
+ binary: string;
98
+ min_version?: string | undefined;
99
+ version_command?: string[] | undefined;
100
+ required?: boolean | undefined;
101
+ }>, "many">>;
102
+ skills: z.ZodDefault<z.ZodEffects<z.ZodObject<{
103
+ enabled: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
104
+ required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
105
+ source_dirs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
106
+ }, "strict", z.ZodTypeAny, {
107
+ enabled: string[];
108
+ source_dirs: string[];
109
+ required?: string[] | undefined;
110
+ }, {
111
+ enabled?: string[] | undefined;
112
+ required?: string[] | undefined;
113
+ source_dirs?: string[] | undefined;
114
+ }>, {
115
+ enabled: string[];
116
+ source_dirs: string[];
117
+ required?: string[] | undefined;
118
+ }, {
119
+ enabled?: string[] | undefined;
120
+ required?: string[] | undefined;
121
+ source_dirs?: string[] | undefined;
122
+ }>>;
123
+ builtin: z.ZodDefault<z.ZodObject<{
124
+ known: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
125
+ }, "strict", z.ZodTypeAny, {
126
+ known: string[];
127
+ }, {
128
+ known?: string[] | undefined;
129
+ }>>;
130
+ }, "strict", z.ZodTypeAny, {
131
+ builtin: {
132
+ known: string[];
133
+ };
134
+ mcp: {
135
+ name: string;
136
+ command: string | string[];
137
+ enabled: boolean;
138
+ env?: Record<string, string> | undefined;
139
+ health?: {
140
+ verb: string;
141
+ timeout_ms: number;
142
+ } | undefined;
143
+ }[];
144
+ cli: {
145
+ name: string;
146
+ binary: string;
147
+ required: boolean;
148
+ min_version?: string | undefined;
149
+ version_command?: string[] | undefined;
150
+ }[];
151
+ skills: {
152
+ enabled: string[];
153
+ source_dirs: string[];
154
+ required?: string[] | undefined;
155
+ };
156
+ }, {
157
+ builtin?: {
158
+ known?: string[] | undefined;
159
+ } | undefined;
160
+ mcp?: {
161
+ name: string;
162
+ command: string | string[];
163
+ enabled?: boolean | undefined;
164
+ env?: Record<string, string> | undefined;
165
+ health?: {
166
+ verb: string;
167
+ timeout_ms?: number | undefined;
168
+ } | undefined;
169
+ }[] | undefined;
170
+ cli?: {
171
+ name: string;
172
+ binary: string;
173
+ min_version?: string | undefined;
174
+ version_command?: string[] | undefined;
175
+ required?: boolean | undefined;
176
+ }[] | undefined;
177
+ skills?: {
178
+ enabled?: string[] | undefined;
179
+ required?: string[] | undefined;
180
+ source_dirs?: string[] | undefined;
181
+ } | undefined;
182
+ }>, {
183
+ builtin: {
184
+ known: string[];
185
+ };
186
+ mcp: {
187
+ name: string;
188
+ command: string | string[];
189
+ enabled: boolean;
190
+ env?: Record<string, string> | undefined;
191
+ health?: {
192
+ verb: string;
193
+ timeout_ms: number;
194
+ } | undefined;
195
+ }[];
196
+ cli: {
197
+ name: string;
198
+ binary: string;
199
+ required: boolean;
200
+ min_version?: string | undefined;
201
+ version_command?: string[] | undefined;
202
+ }[];
203
+ skills: {
204
+ enabled: string[];
205
+ source_dirs: string[];
206
+ required?: string[] | undefined;
207
+ };
208
+ }, {
209
+ builtin?: {
210
+ known?: string[] | undefined;
211
+ } | undefined;
212
+ mcp?: {
213
+ name: string;
214
+ command: string | string[];
215
+ enabled?: boolean | undefined;
216
+ env?: Record<string, string> | undefined;
217
+ health?: {
218
+ verb: string;
219
+ timeout_ms?: number | undefined;
220
+ } | undefined;
221
+ }[] | undefined;
222
+ cli?: {
223
+ name: string;
224
+ binary: string;
225
+ min_version?: string | undefined;
226
+ version_command?: string[] | undefined;
227
+ required?: boolean | undefined;
228
+ }[] | undefined;
229
+ skills?: {
230
+ enabled?: string[] | undefined;
231
+ required?: string[] | undefined;
232
+ source_dirs?: string[] | undefined;
233
+ } | undefined;
234
+ }>>;
235
+ memory: z.ZodDefault<z.ZodObject<{
236
+ directories: z.ZodDefault<z.ZodArray<z.ZodObject<{
237
+ path: z.ZodString;
238
+ scope: z.ZodEnum<["project", "user"]>;
239
+ }, "strict", z.ZodTypeAny, {
240
+ path: string;
241
+ scope: "project" | "user";
242
+ }, {
243
+ path: string;
244
+ scope: "project" | "user";
245
+ }>, "many">>;
246
+ router: z.ZodOptional<z.ZodObject<{
247
+ command: z.ZodArray<z.ZodString, "many">;
248
+ enabled: z.ZodDefault<z.ZodBoolean>;
249
+ }, "strict", z.ZodTypeAny, {
250
+ command: string[];
251
+ enabled: boolean;
252
+ }, {
253
+ command: string[];
254
+ enabled?: boolean | undefined;
255
+ }>>;
256
+ retention: z.ZodDefault<z.ZodObject<{
257
+ staleness_days: z.ZodDefault<z.ZodNumber>;
258
+ broken_refs: z.ZodDefault<z.ZodEnum<["warn", "error", "ignore"]>>;
259
+ }, "strict", z.ZodTypeAny, {
260
+ staleness_days: number;
261
+ broken_refs: "warn" | "error" | "ignore";
262
+ }, {
263
+ staleness_days?: number | undefined;
264
+ broken_refs?: "warn" | "error" | "ignore" | undefined;
265
+ }>>;
266
+ scopes: z.ZodDefault<z.ZodEffects<z.ZodObject<{
267
+ default: z.ZodDefault<z.ZodEnum<["project", "user"]>>;
268
+ allowed: z.ZodDefault<z.ZodArray<z.ZodEnum<["project", "user"]>, "many">>;
269
+ }, "strict", z.ZodTypeAny, {
270
+ default: "project" | "user";
271
+ allowed: ("project" | "user")[];
272
+ }, {
273
+ default?: "project" | "user" | undefined;
274
+ allowed?: ("project" | "user")[] | undefined;
275
+ }>, {
276
+ default: "project" | "user";
277
+ allowed: ("project" | "user")[];
278
+ }, {
279
+ default?: "project" | "user" | undefined;
280
+ allowed?: ("project" | "user")[] | undefined;
281
+ }>>;
282
+ }, "strict", z.ZodTypeAny, {
283
+ directories: {
284
+ path: string;
285
+ scope: "project" | "user";
286
+ }[];
287
+ retention: {
288
+ staleness_days: number;
289
+ broken_refs: "warn" | "error" | "ignore";
290
+ };
291
+ scopes: {
292
+ default: "project" | "user";
293
+ allowed: ("project" | "user")[];
294
+ };
295
+ router?: {
296
+ command: string[];
297
+ enabled: boolean;
298
+ } | undefined;
299
+ }, {
300
+ directories?: {
301
+ path: string;
302
+ scope: "project" | "user";
303
+ }[] | undefined;
304
+ router?: {
305
+ command: string[];
306
+ enabled?: boolean | undefined;
307
+ } | undefined;
308
+ retention?: {
309
+ staleness_days?: number | undefined;
310
+ broken_refs?: "warn" | "error" | "ignore" | undefined;
311
+ } | undefined;
312
+ scopes?: {
313
+ default?: "project" | "user" | undefined;
314
+ allowed?: ("project" | "user")[] | undefined;
315
+ } | undefined;
316
+ }>>;
317
+ hooks: z.ZodDefault<z.ZodEffects<z.ZodArray<z.ZodObject<{
318
+ name: z.ZodString;
319
+ event: z.ZodEnum<["SessionStart", "UserPromptSubmit", "PreToolUse", "PostToolUse", "Stop", "SubagentStop", "PreCompact"]>;
320
+ command: z.ZodString;
321
+ match: z.ZodOptional<z.ZodString>;
322
+ path_match: z.ZodOptional<z.ZodString>;
323
+ bash_match: z.ZodOptional<z.ZodString>;
324
+ blocking: z.ZodUnion<[z.ZodLiteral<false>, z.ZodLiteral<"soft">, z.ZodLiteral<"hard">]>;
325
+ budget_ms: z.ZodDefault<z.ZodNumber>;
326
+ description: z.ZodOptional<z.ZodString>;
327
+ }, "strict", z.ZodTypeAny, {
328
+ name: string;
329
+ event: "SessionStart" | "UserPromptSubmit" | "PreToolUse" | "PostToolUse" | "Stop" | "SubagentStop" | "PreCompact";
330
+ command: string;
331
+ blocking: false | "soft" | "hard";
332
+ budget_ms: number;
333
+ match?: string | undefined;
334
+ path_match?: string | undefined;
335
+ bash_match?: string | undefined;
336
+ description?: string | undefined;
337
+ }, {
338
+ name: string;
339
+ event: "SessionStart" | "UserPromptSubmit" | "PreToolUse" | "PostToolUse" | "Stop" | "SubagentStop" | "PreCompact";
340
+ command: string;
341
+ blocking: false | "soft" | "hard";
342
+ match?: string | undefined;
343
+ path_match?: string | undefined;
344
+ bash_match?: string | undefined;
345
+ budget_ms?: number | undefined;
346
+ description?: string | undefined;
347
+ }>, "many">, {
348
+ name: string;
349
+ event: "SessionStart" | "UserPromptSubmit" | "PreToolUse" | "PostToolUse" | "Stop" | "SubagentStop" | "PreCompact";
350
+ command: string;
351
+ blocking: false | "soft" | "hard";
352
+ budget_ms: number;
353
+ match?: string | undefined;
354
+ path_match?: string | undefined;
355
+ bash_match?: string | undefined;
356
+ description?: string | undefined;
357
+ }[], {
358
+ name: string;
359
+ event: "SessionStart" | "UserPromptSubmit" | "PreToolUse" | "PostToolUse" | "Stop" | "SubagentStop" | "PreCompact";
360
+ command: string;
361
+ blocking: false | "soft" | "hard";
362
+ match?: string | undefined;
363
+ path_match?: string | undefined;
364
+ bash_match?: string | undefined;
365
+ budget_ms?: number | undefined;
366
+ description?: string | undefined;
367
+ }[]>>;
368
+ policies: z.ZodDefault<z.ZodEffects<z.ZodArray<z.ZodEffects<z.ZodObject<{
369
+ name: z.ZodString;
370
+ description: z.ZodString;
371
+ trigger: z.ZodObject<{
372
+ event: z.ZodEnum<["SessionStart", "UserPromptSubmit", "PreToolUse", "PostToolUse", "Stop", "SubagentStop", "PreCompact"]>;
373
+ match: z.ZodOptional<z.ZodString>;
374
+ path_match: z.ZodOptional<z.ZodString>;
375
+ bash_match: z.ZodOptional<z.ZodString>;
376
+ extract: z.ZodOptional<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodEffects<z.ZodString, string, string>>, Record<string, string>, Record<string, string>>>;
377
+ }, "strict", z.ZodTypeAny, {
378
+ event: "SessionStart" | "UserPromptSubmit" | "PreToolUse" | "PostToolUse" | "Stop" | "SubagentStop" | "PreCompact";
379
+ match?: string | undefined;
380
+ path_match?: string | undefined;
381
+ bash_match?: string | undefined;
382
+ extract?: Record<string, string> | undefined;
383
+ }, {
384
+ event: "SessionStart" | "UserPromptSubmit" | "PreToolUse" | "PostToolUse" | "Stop" | "SubagentStop" | "PreCompact";
385
+ match?: string | undefined;
386
+ path_match?: string | undefined;
387
+ bash_match?: string | undefined;
388
+ extract?: Record<string, string> | undefined;
389
+ }>;
390
+ requires: z.ZodObject<{
391
+ ledger_tag: z.ZodString;
392
+ within: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
393
+ count: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodObject<{
394
+ min: z.ZodOptional<z.ZodNumber>;
395
+ max: z.ZodOptional<z.ZodNumber>;
396
+ exact: z.ZodOptional<z.ZodNumber>;
397
+ }, "strict", z.ZodTypeAny, {
398
+ exact?: number | undefined;
399
+ min?: number | undefined;
400
+ max?: number | undefined;
401
+ }, {
402
+ exact?: number | undefined;
403
+ min?: number | undefined;
404
+ max?: number | undefined;
405
+ }>, {
406
+ exact?: number | undefined;
407
+ min?: number | undefined;
408
+ max?: number | undefined;
409
+ }, {
410
+ exact?: number | undefined;
411
+ min?: number | undefined;
412
+ max?: number | undefined;
413
+ }>, {
414
+ exact?: number | undefined;
415
+ min?: number | undefined;
416
+ max?: number | undefined;
417
+ }, {
418
+ exact?: number | undefined;
419
+ min?: number | undefined;
420
+ max?: number | undefined;
421
+ }>, {
422
+ exact?: number | undefined;
423
+ min?: number | undefined;
424
+ max?: number | undefined;
425
+ }, {
426
+ exact?: number | undefined;
427
+ min?: number | undefined;
428
+ max?: number | undefined;
429
+ }>, {
430
+ exact?: number | undefined;
431
+ min?: number | undefined;
432
+ max?: number | undefined;
433
+ }, {
434
+ exact?: number | undefined;
435
+ min?: number | undefined;
436
+ max?: number | undefined;
437
+ }>>;
438
+ }, "strict", z.ZodTypeAny, {
439
+ ledger_tag: string;
440
+ within?: string | undefined;
441
+ count?: {
442
+ exact?: number | undefined;
443
+ min?: number | undefined;
444
+ max?: number | undefined;
445
+ } | undefined;
446
+ }, {
447
+ ledger_tag: string;
448
+ within?: string | undefined;
449
+ count?: {
450
+ exact?: number | undefined;
451
+ min?: number | undefined;
452
+ max?: number | undefined;
453
+ } | undefined;
454
+ }>;
455
+ hook: z.ZodString;
456
+ enforcement: z.ZodEnum<["block", "warn"]>;
457
+ }, "strict", z.ZodTypeAny, {
458
+ name: string;
459
+ description: string;
460
+ trigger: {
461
+ event: "SessionStart" | "UserPromptSubmit" | "PreToolUse" | "PostToolUse" | "Stop" | "SubagentStop" | "PreCompact";
462
+ match?: string | undefined;
463
+ path_match?: string | undefined;
464
+ bash_match?: string | undefined;
465
+ extract?: Record<string, string> | undefined;
466
+ };
467
+ requires: {
468
+ ledger_tag: string;
469
+ within?: string | undefined;
470
+ count?: {
471
+ exact?: number | undefined;
472
+ min?: number | undefined;
473
+ max?: number | undefined;
474
+ } | undefined;
475
+ };
476
+ hook: string;
477
+ enforcement: "warn" | "block";
478
+ }, {
479
+ name: string;
480
+ description: string;
481
+ trigger: {
482
+ event: "SessionStart" | "UserPromptSubmit" | "PreToolUse" | "PostToolUse" | "Stop" | "SubagentStop" | "PreCompact";
483
+ match?: string | undefined;
484
+ path_match?: string | undefined;
485
+ bash_match?: string | undefined;
486
+ extract?: Record<string, string> | undefined;
487
+ };
488
+ requires: {
489
+ ledger_tag: string;
490
+ within?: string | undefined;
491
+ count?: {
492
+ exact?: number | undefined;
493
+ min?: number | undefined;
494
+ max?: number | undefined;
495
+ } | undefined;
496
+ };
497
+ hook: string;
498
+ enforcement: "warn" | "block";
499
+ }>, {
500
+ name: string;
501
+ description: string;
502
+ trigger: {
503
+ event: "SessionStart" | "UserPromptSubmit" | "PreToolUse" | "PostToolUse" | "Stop" | "SubagentStop" | "PreCompact";
504
+ match?: string | undefined;
505
+ path_match?: string | undefined;
506
+ bash_match?: string | undefined;
507
+ extract?: Record<string, string> | undefined;
508
+ };
509
+ requires: {
510
+ ledger_tag: string;
511
+ within?: string | undefined;
512
+ count?: {
513
+ exact?: number | undefined;
514
+ min?: number | undefined;
515
+ max?: number | undefined;
516
+ } | undefined;
517
+ };
518
+ hook: string;
519
+ enforcement: "warn" | "block";
520
+ }, {
521
+ name: string;
522
+ description: string;
523
+ trigger: {
524
+ event: "SessionStart" | "UserPromptSubmit" | "PreToolUse" | "PostToolUse" | "Stop" | "SubagentStop" | "PreCompact";
525
+ match?: string | undefined;
526
+ path_match?: string | undefined;
527
+ bash_match?: string | undefined;
528
+ extract?: Record<string, string> | undefined;
529
+ };
530
+ requires: {
531
+ ledger_tag: string;
532
+ within?: string | undefined;
533
+ count?: {
534
+ exact?: number | undefined;
535
+ min?: number | undefined;
536
+ max?: number | undefined;
537
+ } | undefined;
538
+ };
539
+ hook: string;
540
+ enforcement: "warn" | "block";
541
+ }>, "many">, {
542
+ name: string;
543
+ description: string;
544
+ trigger: {
545
+ event: "SessionStart" | "UserPromptSubmit" | "PreToolUse" | "PostToolUse" | "Stop" | "SubagentStop" | "PreCompact";
546
+ match?: string | undefined;
547
+ path_match?: string | undefined;
548
+ bash_match?: string | undefined;
549
+ extract?: Record<string, string> | undefined;
550
+ };
551
+ requires: {
552
+ ledger_tag: string;
553
+ within?: string | undefined;
554
+ count?: {
555
+ exact?: number | undefined;
556
+ min?: number | undefined;
557
+ max?: number | undefined;
558
+ } | undefined;
559
+ };
560
+ hook: string;
561
+ enforcement: "warn" | "block";
562
+ }[], {
563
+ name: string;
564
+ description: string;
565
+ trigger: {
566
+ event: "SessionStart" | "UserPromptSubmit" | "PreToolUse" | "PostToolUse" | "Stop" | "SubagentStop" | "PreCompact";
567
+ match?: string | undefined;
568
+ path_match?: string | undefined;
569
+ bash_match?: string | undefined;
570
+ extract?: Record<string, string> | undefined;
571
+ };
572
+ requires: {
573
+ ledger_tag: string;
574
+ within?: string | undefined;
575
+ count?: {
576
+ exact?: number | undefined;
577
+ min?: number | undefined;
578
+ max?: number | undefined;
579
+ } | undefined;
580
+ };
581
+ hook: string;
582
+ enforcement: "warn" | "block";
583
+ }[]>>;
584
+ }, "strict", z.ZodTypeAny, {
585
+ version: 1;
586
+ grounding: {
587
+ session: {
588
+ auto_start: boolean;
589
+ id_format: string;
590
+ };
591
+ evidence_ledger: {
592
+ path: string;
593
+ retention_days: number;
594
+ };
595
+ policies_source: string | null;
596
+ };
597
+ tools: {
598
+ builtin: {
599
+ known: string[];
600
+ };
601
+ mcp: {
602
+ name: string;
603
+ command: string | string[];
604
+ enabled: boolean;
605
+ env?: Record<string, string> | undefined;
606
+ health?: {
607
+ verb: string;
608
+ timeout_ms: number;
609
+ } | undefined;
610
+ }[];
611
+ cli: {
612
+ name: string;
613
+ binary: string;
614
+ required: boolean;
615
+ min_version?: string | undefined;
616
+ version_command?: string[] | undefined;
617
+ }[];
618
+ skills: {
619
+ enabled: string[];
620
+ source_dirs: string[];
621
+ required?: string[] | undefined;
622
+ };
623
+ };
624
+ memory: {
625
+ directories: {
626
+ path: string;
627
+ scope: "project" | "user";
628
+ }[];
629
+ retention: {
630
+ staleness_days: number;
631
+ broken_refs: "warn" | "error" | "ignore";
632
+ };
633
+ scopes: {
634
+ default: "project" | "user";
635
+ allowed: ("project" | "user")[];
636
+ };
637
+ router?: {
638
+ command: string[];
639
+ enabled: boolean;
640
+ } | undefined;
641
+ };
642
+ hooks: {
643
+ name: string;
644
+ event: "SessionStart" | "UserPromptSubmit" | "PreToolUse" | "PostToolUse" | "Stop" | "SubagentStop" | "PreCompact";
645
+ command: string;
646
+ blocking: false | "soft" | "hard";
647
+ budget_ms: number;
648
+ match?: string | undefined;
649
+ path_match?: string | undefined;
650
+ bash_match?: string | undefined;
651
+ description?: string | undefined;
652
+ }[];
653
+ policies: {
654
+ name: string;
655
+ description: string;
656
+ trigger: {
657
+ event: "SessionStart" | "UserPromptSubmit" | "PreToolUse" | "PostToolUse" | "Stop" | "SubagentStop" | "PreCompact";
658
+ match?: string | undefined;
659
+ path_match?: string | undefined;
660
+ bash_match?: string | undefined;
661
+ extract?: Record<string, string> | undefined;
662
+ };
663
+ requires: {
664
+ ledger_tag: string;
665
+ within?: string | undefined;
666
+ count?: {
667
+ exact?: number | undefined;
668
+ min?: number | undefined;
669
+ max?: number | undefined;
670
+ } | undefined;
671
+ };
672
+ hook: string;
673
+ enforcement: "warn" | "block";
674
+ }[];
675
+ }, {
676
+ version: 1;
677
+ grounding?: {
678
+ session?: {
679
+ auto_start?: boolean | undefined;
680
+ id_format?: string | undefined;
681
+ } | undefined;
682
+ evidence_ledger?: {
683
+ path?: string | undefined;
684
+ retention_days?: number | undefined;
685
+ } | undefined;
686
+ policies_source?: string | null | undefined;
687
+ } | undefined;
688
+ tools?: {
689
+ builtin?: {
690
+ known?: string[] | undefined;
691
+ } | undefined;
692
+ mcp?: {
693
+ name: string;
694
+ command: string | string[];
695
+ enabled?: boolean | undefined;
696
+ env?: Record<string, string> | undefined;
697
+ health?: {
698
+ verb: string;
699
+ timeout_ms?: number | undefined;
700
+ } | undefined;
701
+ }[] | undefined;
702
+ cli?: {
703
+ name: string;
704
+ binary: string;
705
+ min_version?: string | undefined;
706
+ version_command?: string[] | undefined;
707
+ required?: boolean | undefined;
708
+ }[] | undefined;
709
+ skills?: {
710
+ enabled?: string[] | undefined;
711
+ required?: string[] | undefined;
712
+ source_dirs?: string[] | undefined;
713
+ } | undefined;
714
+ } | undefined;
715
+ memory?: {
716
+ directories?: {
717
+ path: string;
718
+ scope: "project" | "user";
719
+ }[] | undefined;
720
+ router?: {
721
+ command: string[];
722
+ enabled?: boolean | undefined;
723
+ } | undefined;
724
+ retention?: {
725
+ staleness_days?: number | undefined;
726
+ broken_refs?: "warn" | "error" | "ignore" | undefined;
727
+ } | undefined;
728
+ scopes?: {
729
+ default?: "project" | "user" | undefined;
730
+ allowed?: ("project" | "user")[] | undefined;
731
+ } | undefined;
732
+ } | undefined;
733
+ hooks?: {
734
+ name: string;
735
+ event: "SessionStart" | "UserPromptSubmit" | "PreToolUse" | "PostToolUse" | "Stop" | "SubagentStop" | "PreCompact";
736
+ command: string;
737
+ blocking: false | "soft" | "hard";
738
+ match?: string | undefined;
739
+ path_match?: string | undefined;
740
+ bash_match?: string | undefined;
741
+ budget_ms?: number | undefined;
742
+ description?: string | undefined;
743
+ }[] | undefined;
744
+ policies?: {
745
+ name: string;
746
+ description: string;
747
+ trigger: {
748
+ event: "SessionStart" | "UserPromptSubmit" | "PreToolUse" | "PostToolUse" | "Stop" | "SubagentStop" | "PreCompact";
749
+ match?: string | undefined;
750
+ path_match?: string | undefined;
751
+ bash_match?: string | undefined;
752
+ extract?: Record<string, string> | undefined;
753
+ };
754
+ requires: {
755
+ ledger_tag: string;
756
+ within?: string | undefined;
757
+ count?: {
758
+ exact?: number | undefined;
759
+ min?: number | undefined;
760
+ max?: number | undefined;
761
+ } | undefined;
762
+ };
763
+ hook: string;
764
+ enforcement: "warn" | "block";
765
+ }[] | undefined;
766
+ }>, {
767
+ version: 1;
768
+ grounding: {
769
+ session: {
770
+ auto_start: boolean;
771
+ id_format: string;
772
+ };
773
+ evidence_ledger: {
774
+ path: string;
775
+ retention_days: number;
776
+ };
777
+ policies_source: string | null;
778
+ };
779
+ tools: {
780
+ builtin: {
781
+ known: string[];
782
+ };
783
+ mcp: {
784
+ name: string;
785
+ command: string | string[];
786
+ enabled: boolean;
787
+ env?: Record<string, string> | undefined;
788
+ health?: {
789
+ verb: string;
790
+ timeout_ms: number;
791
+ } | undefined;
792
+ }[];
793
+ cli: {
794
+ name: string;
795
+ binary: string;
796
+ required: boolean;
797
+ min_version?: string | undefined;
798
+ version_command?: string[] | undefined;
799
+ }[];
800
+ skills: {
801
+ enabled: string[];
802
+ source_dirs: string[];
803
+ required?: string[] | undefined;
804
+ };
805
+ };
806
+ memory: {
807
+ directories: {
808
+ path: string;
809
+ scope: "project" | "user";
810
+ }[];
811
+ retention: {
812
+ staleness_days: number;
813
+ broken_refs: "warn" | "error" | "ignore";
814
+ };
815
+ scopes: {
816
+ default: "project" | "user";
817
+ allowed: ("project" | "user")[];
818
+ };
819
+ router?: {
820
+ command: string[];
821
+ enabled: boolean;
822
+ } | undefined;
823
+ };
824
+ hooks: {
825
+ name: string;
826
+ event: "SessionStart" | "UserPromptSubmit" | "PreToolUse" | "PostToolUse" | "Stop" | "SubagentStop" | "PreCompact";
827
+ command: string;
828
+ blocking: false | "soft" | "hard";
829
+ budget_ms: number;
830
+ match?: string | undefined;
831
+ path_match?: string | undefined;
832
+ bash_match?: string | undefined;
833
+ description?: string | undefined;
834
+ }[];
835
+ policies: {
836
+ name: string;
837
+ description: string;
838
+ trigger: {
839
+ event: "SessionStart" | "UserPromptSubmit" | "PreToolUse" | "PostToolUse" | "Stop" | "SubagentStop" | "PreCompact";
840
+ match?: string | undefined;
841
+ path_match?: string | undefined;
842
+ bash_match?: string | undefined;
843
+ extract?: Record<string, string> | undefined;
844
+ };
845
+ requires: {
846
+ ledger_tag: string;
847
+ within?: string | undefined;
848
+ count?: {
849
+ exact?: number | undefined;
850
+ min?: number | undefined;
851
+ max?: number | undefined;
852
+ } | undefined;
853
+ };
854
+ hook: string;
855
+ enforcement: "warn" | "block";
856
+ }[];
857
+ }, {
858
+ version: 1;
859
+ grounding?: {
860
+ session?: {
861
+ auto_start?: boolean | undefined;
862
+ id_format?: string | undefined;
863
+ } | undefined;
864
+ evidence_ledger?: {
865
+ path?: string | undefined;
866
+ retention_days?: number | undefined;
867
+ } | undefined;
868
+ policies_source?: string | null | undefined;
869
+ } | undefined;
870
+ tools?: {
871
+ builtin?: {
872
+ known?: string[] | undefined;
873
+ } | undefined;
874
+ mcp?: {
875
+ name: string;
876
+ command: string | string[];
877
+ enabled?: boolean | undefined;
878
+ env?: Record<string, string> | undefined;
879
+ health?: {
880
+ verb: string;
881
+ timeout_ms?: number | undefined;
882
+ } | undefined;
883
+ }[] | undefined;
884
+ cli?: {
885
+ name: string;
886
+ binary: string;
887
+ min_version?: string | undefined;
888
+ version_command?: string[] | undefined;
889
+ required?: boolean | undefined;
890
+ }[] | undefined;
891
+ skills?: {
892
+ enabled?: string[] | undefined;
893
+ required?: string[] | undefined;
894
+ source_dirs?: string[] | undefined;
895
+ } | undefined;
896
+ } | undefined;
897
+ memory?: {
898
+ directories?: {
899
+ path: string;
900
+ scope: "project" | "user";
901
+ }[] | undefined;
902
+ router?: {
903
+ command: string[];
904
+ enabled?: boolean | undefined;
905
+ } | undefined;
906
+ retention?: {
907
+ staleness_days?: number | undefined;
908
+ broken_refs?: "warn" | "error" | "ignore" | undefined;
909
+ } | undefined;
910
+ scopes?: {
911
+ default?: "project" | "user" | undefined;
912
+ allowed?: ("project" | "user")[] | undefined;
913
+ } | undefined;
914
+ } | undefined;
915
+ hooks?: {
916
+ name: string;
917
+ event: "SessionStart" | "UserPromptSubmit" | "PreToolUse" | "PostToolUse" | "Stop" | "SubagentStop" | "PreCompact";
918
+ command: string;
919
+ blocking: false | "soft" | "hard";
920
+ match?: string | undefined;
921
+ path_match?: string | undefined;
922
+ bash_match?: string | undefined;
923
+ budget_ms?: number | undefined;
924
+ description?: string | undefined;
925
+ }[] | undefined;
926
+ policies?: {
927
+ name: string;
928
+ description: string;
929
+ trigger: {
930
+ event: "SessionStart" | "UserPromptSubmit" | "PreToolUse" | "PostToolUse" | "Stop" | "SubagentStop" | "PreCompact";
931
+ match?: string | undefined;
932
+ path_match?: string | undefined;
933
+ bash_match?: string | undefined;
934
+ extract?: Record<string, string> | undefined;
935
+ };
936
+ requires: {
937
+ ledger_tag: string;
938
+ within?: string | undefined;
939
+ count?: {
940
+ exact?: number | undefined;
941
+ min?: number | undefined;
942
+ max?: number | undefined;
943
+ } | undefined;
944
+ };
945
+ hook: string;
946
+ enforcement: "warn" | "block";
947
+ }[] | undefined;
948
+ }>;
949
+ export type Manifest = z.infer<typeof ManifestSchema>;
950
+ export declare class ManifestParseError extends Error {
951
+ readonly issues: z.ZodIssue[];
952
+ constructor(message: string, issues: z.ZodIssue[]);
953
+ }
954
+ export declare function parseManifest(raw: unknown): Manifest;
955
+ export * from "./grounding.js";
956
+ export * from "./tools.js";
957
+ export * from "./memory.js";
958
+ export * from "./hooks.js";
959
+ export * from "./policies.js";
960
+ export * from "./extract.js";
961
+ export * from "./requires.js";