@kici-dev/engine 0.1.20 → 0.1.22

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 (38) hide show
  1. package/dist/approval/types.d.ts +1 -1
  2. package/dist/approval/types.js +1 -1
  3. package/dist/audit/access-log-policy.js +7 -0
  4. package/dist/audit/retention-policy.js +8 -0
  5. package/dist/check-mode.d.ts +33 -0
  6. package/dist/check-mode.js +36 -0
  7. package/dist/fanout/materialize.d.ts +21 -4
  8. package/dist/fanout/materialize.js +24 -5
  9. package/dist/index.d.ts +5 -1
  10. package/dist/index.js +11 -7
  11. package/dist/inventory.d.ts +101 -0
  12. package/dist/inventory.js +89 -0
  13. package/dist/labels-match.d.ts +52 -0
  14. package/dist/labels-match.js +24 -2
  15. package/dist/protocol/dashboard-write-operations.d.ts +8 -1
  16. package/dist/protocol/dashboard-write-operations.js +25 -4
  17. package/dist/protocol/messages/access-log.d.ts +25 -0
  18. package/dist/protocol/messages/access-log.js +5 -0
  19. package/dist/protocol/messages/auth.d.ts +2 -0
  20. package/dist/protocol/messages/capabilities.d.ts +2 -0
  21. package/dist/protocol/messages/dashboard.d.ts +669 -21
  22. package/dist/protocol/messages/dashboard.js +140 -7
  23. package/dist/protocol/messages/deployment-identity.d.ts +38 -0
  24. package/dist/protocol/messages/deployment-identity.js +28 -0
  25. package/dist/protocol/messages/execution-status.d.ts +5 -5
  26. package/dist/protocol/messages/orchestrator-agent.d.ts +70 -6
  27. package/dist/protocol/messages/orchestrator-agent.js +37 -8
  28. package/dist/protocol/messages/peer.d.ts +62 -3
  29. package/dist/protocol/messages/peer.js +16 -2
  30. package/dist/protocol/messages/platform-orchestrator.d.ts +172 -2
  31. package/dist/protocol/messages/source-registration.d.ts +15 -0
  32. package/dist/protocol/messages/source-registration.js +17 -1
  33. package/dist/trigger/types.d.ts +74 -22
  34. package/dist/trigger/types.js +41 -12
  35. package/dist/webhook/webhook-url-format.d.ts +9 -0
  36. package/dist/webhook/webhook-url-format.js +16 -0
  37. package/package.json +1 -1
  38. package/sbom.spdx.json +5 -5
@@ -24,6 +24,58 @@ export declare function compileRegexMatcher(m: {
24
24
  export declare function matcherMatches(m: LabelMatcher, label: string): boolean;
25
25
  /** Whether some label in the set satisfies the matcher. */
26
26
  export declare function matcherSatisfiedBy(m: LabelMatcher, labels: ReadonlySet<string>): boolean;
27
+ export declare const HostTargetValue: z.ZodObject<{
28
+ include: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
29
+ kind: z.ZodLiteral<"exact">;
30
+ value: z.ZodString;
31
+ }, z.core.$strip>, z.ZodObject<{
32
+ kind: z.ZodLiteral<"regex">;
33
+ source: z.ZodString;
34
+ flags: z.ZodString;
35
+ }, z.core.$strip>], "kind">>;
36
+ exclude: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
37
+ kind: z.ZodLiteral<"exact">;
38
+ value: z.ZodString;
39
+ }, z.core.$strip>, z.ZodObject<{
40
+ kind: z.ZodLiteral<"regex">;
41
+ source: z.ZodString;
42
+ flags: z.ZodString;
43
+ }, z.core.$strip>], "kind">>;
44
+ }, z.core.$strip>;
45
+ export type HostTargetValue = z.infer<typeof HostTargetValue>;
46
+ /**
47
+ * A runtime host narrowing (`kici run --target`): each repeated value is an AND
48
+ * set; values AND-combine. Narrow-only — applied as a post-filter over the
49
+ * runsOnAll-matched roster. `allowEmpty` selects the zero-host outcome: skip
50
+ * (true) vs fail (false).
51
+ */
52
+ export declare const HostTargetSelector: z.ZodObject<{
53
+ values: z.ZodArray<z.ZodObject<{
54
+ include: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
55
+ kind: z.ZodLiteral<"exact">;
56
+ value: z.ZodString;
57
+ }, z.core.$strip>, z.ZodObject<{
58
+ kind: z.ZodLiteral<"regex">;
59
+ source: z.ZodString;
60
+ flags: z.ZodString;
61
+ }, z.core.$strip>], "kind">>;
62
+ exclude: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
63
+ kind: z.ZodLiteral<"exact">;
64
+ value: z.ZodString;
65
+ }, z.core.$strip>, z.ZodObject<{
66
+ kind: z.ZodLiteral<"regex">;
67
+ source: z.ZodString;
68
+ flags: z.ZodString;
69
+ }, z.core.$strip>], "kind">>;
70
+ }, z.core.$strip>>;
71
+ allowEmpty: z.ZodBoolean;
72
+ }, z.core.$strip>;
73
+ export type HostTargetSelector = z.infer<typeof HostTargetSelector>;
74
+ /**
75
+ * True iff the host's labels satisfy EVERY target value: all of a value's
76
+ * include matchers match and none of its exclude matchers match.
77
+ */
78
+ export declare function hostSatisfiesTarget(labels: ReadonlySet<string>, target: HostTargetSelector): boolean;
27
79
  /** Split a matcher list into exact label strings and the remaining regex matchers. */
28
80
  export declare function partitionMatchers(ms: readonly LabelMatcher[]): {
29
81
  exact: string[];
@@ -38,18 +38,40 @@ function matcherSatisfiedBy(m, labels) {
38
38
  for (const label of labels) if (re.test(label)) return true;
39
39
  return false;
40
40
  }
41
+ const HostTargetValue = z.object({
42
+ include: z.array(LabelMatcher),
43
+ exclude: z.array(LabelMatcher)
44
+ });
45
+ /**
46
+ * A runtime host narrowing (`kici run --target`): each repeated value is an AND
47
+ * set; values AND-combine. Narrow-only — applied as a post-filter over the
48
+ * runsOnAll-matched roster. `allowEmpty` selects the zero-host outcome: skip
49
+ * (true) vs fail (false).
50
+ */
51
+ const HostTargetSelector = z.object({
52
+ values: z.array(HostTargetValue).min(1),
53
+ allowEmpty: z.boolean()
54
+ });
55
+ /**
56
+ * True iff the host's labels satisfy EVERY target value: all of a value's
57
+ * include matchers match and none of its exclude matchers match.
58
+ */
59
+ function hostSatisfiesTarget(labels, target) {
60
+ return target.values.every((v) => v.include.every((m) => matcherSatisfiedBy(m, labels)) && !v.exclude.some((m) => matcherSatisfiedBy(m, labels)));
61
+ }
41
62
  /** Split a matcher list into exact label strings and the remaining regex matchers. */
42
63
  function partitionMatchers(ms) {
43
64
  const exact = [];
44
65
  const regex = [];
45
66
  for (const m of ms) if (m.kind === "exact") exact.push(m.value);
46
- else regex.push(m);
67
+ else if (m.kind === "regex") regex.push(m);
68
+ else throw new Error(`partitionMatchers: invalid label matcher ${JSON.stringify(m)} — expected { kind: 'exact', value } or { kind: 'regex', source, flags }. The lock file is likely stale or compiled by an older engine — recompile with \`kici compile\`.`);
47
69
  return {
48
70
  exact,
49
71
  regex
50
72
  };
51
73
  }
52
74
  //#endregion
53
- export { LabelMatcher, compileRegexMatcher, matcherMatches, matcherSatisfiedBy, partitionMatchers };
75
+ export { HostTargetSelector, HostTargetValue, LabelMatcher, compileRegexMatcher, hostSatisfiesTarget, matcherMatches, matcherSatisfiedBy, partitionMatchers };
54
76
 
55
77
  //# sourceMappingURL=labels-match.js.map
@@ -44,6 +44,8 @@ export declare const DashboardWriteOperation: z.ZodEnum<{
44
44
  "backends.sync": "backends.sync";
45
45
  "backends.sync_one": "backends.sync_one";
46
46
  "backends.test": "backends.test";
47
+ "fleet.host.declare": "fleet.host.declare";
48
+ "fleet.host.remove": "fleet.host.remove";
47
49
  }>;
48
50
  export type DashboardWriteOperation = z.infer<typeof DashboardWriteOperation>;
49
51
  /** Stable list of every operation in enum-declaration order. */
@@ -57,6 +59,7 @@ export declare const DashboardWriteCategory: z.ZodEnum<{
57
59
  DLQ: "DLQ";
58
60
  Registrations: "Registrations";
59
61
  Topology: "Topology";
62
+ Fleet: "Fleet";
60
63
  }>;
61
64
  export type DashboardWriteCategory = z.infer<typeof DashboardWriteCategory>;
62
65
  export declare const DashboardWriteSensitivity: z.ZodEnum<{
@@ -130,6 +133,8 @@ export declare const dashboardWritePolicyMap: z.ZodRecord<z.ZodEnum<{
130
133
  "backends.sync": "backends.sync";
131
134
  "backends.sync_one": "backends.sync_one";
132
135
  "backends.test": "backends.test";
136
+ "fleet.host.declare": "fleet.host.declare";
137
+ "fleet.host.remove": "fleet.host.remove";
133
138
  }> & z.core.$partial, z.ZodBoolean>;
134
139
  export declare const dashboardWritePolicyMapSchema: z.ZodDefault<z.ZodRecord<z.ZodEnum<{
135
140
  "secrets.set": "secrets.set";
@@ -156,6 +161,8 @@ export declare const dashboardWritePolicyMapSchema: z.ZodDefault<z.ZodRecord<z.Z
156
161
  "backends.sync": "backends.sync";
157
162
  "backends.sync_one": "backends.sync_one";
158
163
  "backends.test": "backends.test";
164
+ "fleet.host.declare": "fleet.host.declare";
165
+ "fleet.host.remove": "fleet.host.remove";
159
166
  }> & z.core.$partial, z.ZodBoolean>>;
160
167
  /**
161
168
  * Resolve the effective state of an operation given a (possibly sparse)
@@ -164,7 +171,7 @@ export declare const dashboardWritePolicyMapSchema: z.ZodDefault<z.ZodRecord<z.Z
164
171
  export declare function isDashboardWriteOperationEnabled(policy: DashboardWritePolicyMap | null | undefined, op: DashboardWriteOperation): boolean;
165
172
  /**
166
173
  * Expand a (possibly sparse) policy map into the full effective state
167
- * for all 24 operations. Operations the policy doesn't mention come
174
+ * for all 26 operations. Operations the policy doesn't mention come
168
175
  * back as `true` (permissive). Used by the orch HTTP admin response,
169
176
  * the WS `orch.capabilities` broadcast, and the dashboard's policy
170
177
  * page so consumers see the full picture, not the sparse storage shape.
@@ -45,7 +45,9 @@ const DashboardWriteOperation = z.enum([
45
45
  "global_workflows.update",
46
46
  "backends.sync",
47
47
  "backends.sync_one",
48
- "backends.test"
48
+ "backends.test",
49
+ "fleet.host.declare",
50
+ "fleet.host.remove"
49
51
  ]);
50
52
  /** Stable list of every operation in enum-declaration order. */
51
53
  const DASHBOARD_WRITE_OPERATION_VALUES = Object.freeze([
@@ -72,7 +74,9 @@ const DASHBOARD_WRITE_OPERATION_VALUES = Object.freeze([
72
74
  "global_workflows.update",
73
75
  "backends.sync",
74
76
  "backends.sync_one",
75
- "backends.test"
77
+ "backends.test",
78
+ "fleet.host.declare",
79
+ "fleet.host.remove"
76
80
  ]);
77
81
  const DashboardWriteCategory = z.enum([
78
82
  "Secrets",
@@ -82,7 +86,8 @@ const DashboardWriteCategory = z.enum([
82
86
  "Held runs",
83
87
  "DLQ",
84
88
  "Registrations",
85
- "Topology"
89
+ "Topology",
90
+ "Fleet"
86
91
  ]);
87
92
  const DashboardWriteSensitivity = z.enum([
88
93
  "plaintext",
@@ -281,6 +286,22 @@ const DASHBOARD_WRITE_OPERATIONS = Object.freeze([
281
286
  label: "Test scaler backend",
282
287
  sensitivity: "dispatch",
283
288
  cliEquivalent: "kici-admin backend test"
289
+ },
290
+ {
291
+ name: "fleet.host.declare",
292
+ wireMessageType: "dashboard.fleet.host.declare",
293
+ category: "Fleet",
294
+ label: "Declare a static host",
295
+ sensitivity: "dispatch",
296
+ cliEquivalent: "kici-admin host declare"
297
+ },
298
+ {
299
+ name: "fleet.host.remove",
300
+ wireMessageType: "dashboard.fleet.host.remove",
301
+ category: "Fleet",
302
+ label: "Remove a host from the roster",
303
+ sensitivity: "dispatch",
304
+ cliEquivalent: "kici-admin host remove"
284
305
  }
285
306
  ]);
286
307
  /** O(1) lookup of a descriptor by operation name. */
@@ -318,7 +339,7 @@ function isDashboardWriteOperationEnabled(policy, op) {
318
339
  }
319
340
  /**
320
341
  * Expand a (possibly sparse) policy map into the full effective state
321
- * for all 24 operations. Operations the policy doesn't mention come
342
+ * for all 26 operations. Operations the policy doesn't mention come
322
343
  * back as `true` (permissive). Used by the orch HTTP admin response,
323
344
  * the WS `orch.capabilities` broadcast, and the dashboard's policy
324
345
  * page so consumers see the full picture, not the sparse storage shape.
@@ -39,6 +39,7 @@ export declare const AccessLogTargetType: z.ZodEnum<{
39
39
  backend: "backend";
40
40
  diagnostics: "diagnostics";
41
41
  scaler: "scaler";
42
+ fleet: "fleet";
42
43
  held_run: "held_run";
43
44
  access_log: "access_log";
44
45
  event_dlq: "event_dlq";
@@ -56,6 +57,8 @@ export declare const AccessLogAction: z.ZodEnum<{
56
57
  "registration.disable": "registration.disable";
57
58
  "registration.delete": "registration.delete";
58
59
  "global_workflows.update": "global_workflows.update";
60
+ "fleet.host.declare": "fleet.host.declare";
61
+ "fleet.host.remove": "fleet.host.remove";
59
62
  "run.detail.read": "run.detail.read";
60
63
  "runs.list.read": "runs.list.read";
61
64
  "runs.filters.read": "runs.filters.read";
@@ -95,6 +98,7 @@ export declare const AccessLogAction: z.ZodEnum<{
95
98
  "environment.history.read": "environment.history.read";
96
99
  "held_run.list.read": "held_run.list.read";
97
100
  "held_run.approve": "held_run.approve";
101
+ "held_run.auto_approve": "held_run.auto_approve";
98
102
  "held_run.reject": "held_run.reject";
99
103
  "held_run.request": "held_run.request";
100
104
  "held_run.expire": "held_run.expire";
@@ -102,6 +106,7 @@ export declare const AccessLogAction: z.ZodEnum<{
102
106
  "diagnostics.read": "diagnostics.read";
103
107
  "scaler.capacity.read": "scaler.capacity.read";
104
108
  "scaler.agents.read": "scaler.agents.read";
109
+ "fleet.read": "fleet.read";
105
110
  "backend.list.read": "backend.list.read";
106
111
  "backend.get.read": "backend.get.read";
107
112
  "backend.sync": "backend.sync";
@@ -144,6 +149,8 @@ export declare const accessLogItemSchema: z.ZodObject<{
144
149
  "registration.disable": "registration.disable";
145
150
  "registration.delete": "registration.delete";
146
151
  "global_workflows.update": "global_workflows.update";
152
+ "fleet.host.declare": "fleet.host.declare";
153
+ "fleet.host.remove": "fleet.host.remove";
147
154
  "run.detail.read": "run.detail.read";
148
155
  "runs.list.read": "runs.list.read";
149
156
  "runs.filters.read": "runs.filters.read";
@@ -183,6 +190,7 @@ export declare const accessLogItemSchema: z.ZodObject<{
183
190
  "environment.history.read": "environment.history.read";
184
191
  "held_run.list.read": "held_run.list.read";
185
192
  "held_run.approve": "held_run.approve";
193
+ "held_run.auto_approve": "held_run.auto_approve";
186
194
  "held_run.reject": "held_run.reject";
187
195
  "held_run.request": "held_run.request";
188
196
  "held_run.expire": "held_run.expire";
@@ -190,6 +198,7 @@ export declare const accessLogItemSchema: z.ZodObject<{
190
198
  "diagnostics.read": "diagnostics.read";
191
199
  "scaler.capacity.read": "scaler.capacity.read";
192
200
  "scaler.agents.read": "scaler.agents.read";
201
+ "fleet.read": "fleet.read";
193
202
  "backend.list.read": "backend.list.read";
194
203
  "backend.get.read": "backend.get.read";
195
204
  "backend.sync": "backend.sync";
@@ -216,6 +225,7 @@ export declare const accessLogItemSchema: z.ZodObject<{
216
225
  backend: "backend";
217
226
  diagnostics: "diagnostics";
218
227
  scaler: "scaler";
228
+ fleet: "fleet";
219
229
  held_run: "held_run";
220
230
  access_log: "access_log";
221
231
  event_dlq: "event_dlq";
@@ -254,6 +264,8 @@ export declare const accessLogFilterSchema: z.ZodObject<{
254
264
  "registration.disable": "registration.disable";
255
265
  "registration.delete": "registration.delete";
256
266
  "global_workflows.update": "global_workflows.update";
267
+ "fleet.host.declare": "fleet.host.declare";
268
+ "fleet.host.remove": "fleet.host.remove";
257
269
  "run.detail.read": "run.detail.read";
258
270
  "runs.list.read": "runs.list.read";
259
271
  "runs.filters.read": "runs.filters.read";
@@ -293,6 +305,7 @@ export declare const accessLogFilterSchema: z.ZodObject<{
293
305
  "environment.history.read": "environment.history.read";
294
306
  "held_run.list.read": "held_run.list.read";
295
307
  "held_run.approve": "held_run.approve";
308
+ "held_run.auto_approve": "held_run.auto_approve";
296
309
  "held_run.reject": "held_run.reject";
297
310
  "held_run.request": "held_run.request";
298
311
  "held_run.expire": "held_run.expire";
@@ -300,6 +313,7 @@ export declare const accessLogFilterSchema: z.ZodObject<{
300
313
  "diagnostics.read": "diagnostics.read";
301
314
  "scaler.capacity.read": "scaler.capacity.read";
302
315
  "scaler.agents.read": "scaler.agents.read";
316
+ "fleet.read": "fleet.read";
303
317
  "backend.list.read": "backend.list.read";
304
318
  "backend.get.read": "backend.get.read";
305
319
  "backend.sync": "backend.sync";
@@ -336,6 +350,7 @@ export declare const accessLogFilterSchema: z.ZodObject<{
336
350
  backend: "backend";
337
351
  diagnostics: "diagnostics";
338
352
  scaler: "scaler";
353
+ fleet: "fleet";
339
354
  held_run: "held_run";
340
355
  access_log: "access_log";
341
356
  event_dlq: "event_dlq";
@@ -386,6 +401,8 @@ export declare const dashboardAccessLogListRequestSchema: z.ZodObject<{
386
401
  "registration.disable": "registration.disable";
387
402
  "registration.delete": "registration.delete";
388
403
  "global_workflows.update": "global_workflows.update";
404
+ "fleet.host.declare": "fleet.host.declare";
405
+ "fleet.host.remove": "fleet.host.remove";
389
406
  "run.detail.read": "run.detail.read";
390
407
  "runs.list.read": "runs.list.read";
391
408
  "runs.filters.read": "runs.filters.read";
@@ -425,6 +442,7 @@ export declare const dashboardAccessLogListRequestSchema: z.ZodObject<{
425
442
  "environment.history.read": "environment.history.read";
426
443
  "held_run.list.read": "held_run.list.read";
427
444
  "held_run.approve": "held_run.approve";
445
+ "held_run.auto_approve": "held_run.auto_approve";
428
446
  "held_run.reject": "held_run.reject";
429
447
  "held_run.request": "held_run.request";
430
448
  "held_run.expire": "held_run.expire";
@@ -432,6 +450,7 @@ export declare const dashboardAccessLogListRequestSchema: z.ZodObject<{
432
450
  "diagnostics.read": "diagnostics.read";
433
451
  "scaler.capacity.read": "scaler.capacity.read";
434
452
  "scaler.agents.read": "scaler.agents.read";
453
+ "fleet.read": "fleet.read";
435
454
  "backend.list.read": "backend.list.read";
436
455
  "backend.get.read": "backend.get.read";
437
456
  "backend.sync": "backend.sync";
@@ -468,6 +487,7 @@ export declare const dashboardAccessLogListRequestSchema: z.ZodObject<{
468
487
  backend: "backend";
469
488
  diagnostics: "diagnostics";
470
489
  scaler: "scaler";
490
+ fleet: "fleet";
471
491
  held_run: "held_run";
472
492
  access_log: "access_log";
473
493
  event_dlq: "event_dlq";
@@ -506,6 +526,8 @@ export declare const dashboardAccessLogListResponseSchema: z.ZodObject<{
506
526
  "registration.disable": "registration.disable";
507
527
  "registration.delete": "registration.delete";
508
528
  "global_workflows.update": "global_workflows.update";
529
+ "fleet.host.declare": "fleet.host.declare";
530
+ "fleet.host.remove": "fleet.host.remove";
509
531
  "run.detail.read": "run.detail.read";
510
532
  "runs.list.read": "runs.list.read";
511
533
  "runs.filters.read": "runs.filters.read";
@@ -545,6 +567,7 @@ export declare const dashboardAccessLogListResponseSchema: z.ZodObject<{
545
567
  "environment.history.read": "environment.history.read";
546
568
  "held_run.list.read": "held_run.list.read";
547
569
  "held_run.approve": "held_run.approve";
570
+ "held_run.auto_approve": "held_run.auto_approve";
548
571
  "held_run.reject": "held_run.reject";
549
572
  "held_run.request": "held_run.request";
550
573
  "held_run.expire": "held_run.expire";
@@ -552,6 +575,7 @@ export declare const dashboardAccessLogListResponseSchema: z.ZodObject<{
552
575
  "diagnostics.read": "diagnostics.read";
553
576
  "scaler.capacity.read": "scaler.capacity.read";
554
577
  "scaler.agents.read": "scaler.agents.read";
578
+ "fleet.read": "fleet.read";
555
579
  "backend.list.read": "backend.list.read";
556
580
  "backend.get.read": "backend.get.read";
557
581
  "backend.sync": "backend.sync";
@@ -578,6 +602,7 @@ export declare const dashboardAccessLogListResponseSchema: z.ZodObject<{
578
602
  backend: "backend";
579
603
  diagnostics: "diagnostics";
580
604
  scaler: "scaler";
605
+ fleet: "fleet";
581
606
  held_run: "held_run";
582
607
  access_log: "access_log";
583
608
  event_dlq: "event_dlq";
@@ -40,6 +40,7 @@ const AccessLogTargetType = z.enum([
40
40
  "backend",
41
41
  "diagnostics",
42
42
  "scaler",
43
+ "fleet",
43
44
  "held_run",
44
45
  "access_log",
45
46
  "event_dlq",
@@ -90,6 +91,7 @@ const AccessLogAction = z.enum([
90
91
  "environment.history.read",
91
92
  "held_run.list.read",
92
93
  "held_run.approve",
94
+ "held_run.auto_approve",
93
95
  "held_run.reject",
94
96
  "held_run.request",
95
97
  "held_run.expire",
@@ -99,6 +101,9 @@ const AccessLogAction = z.enum([
99
101
  "diagnostics.read",
100
102
  "scaler.capacity.read",
101
103
  "scaler.agents.read",
104
+ "fleet.read",
105
+ "fleet.host.declare",
106
+ "fleet.host.remove",
102
107
  "backend.list.read",
103
108
  "backend.get.read",
104
109
  "backend.sync",
@@ -34,6 +34,8 @@ export declare const authRequestSchema: z.ZodObject<{
34
34
  "backends.sync": "backends.sync";
35
35
  "backends.sync_one": "backends.sync_one";
36
36
  "backends.test": "backends.test";
37
+ "fleet.host.declare": "fleet.host.declare";
38
+ "fleet.host.remove": "fleet.host.remove";
37
39
  }> & z.core.$partial, z.ZodBoolean>>;
38
40
  }, z.core.$loose>>;
39
41
  }, z.core.$strip>;
@@ -53,6 +53,8 @@ export declare const orchCapabilitiesSchema: z.ZodObject<{
53
53
  "backends.sync": "backends.sync";
54
54
  "backends.sync_one": "backends.sync_one";
55
55
  "backends.test": "backends.test";
56
+ "fleet.host.declare": "fleet.host.declare";
57
+ "fleet.host.remove": "fleet.host.remove";
56
58
  }> & z.core.$partial, z.ZodBoolean>>;
57
59
  }, z.core.$loose>;
58
60
  /** Inferred type for orchestrator capabilities. */