@cleocode/contracts 2026.6.19 → 2026.7.2

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.
@@ -12,12 +12,12 @@
12
12
  *
13
13
  * ```jsonc
14
14
  * // request
15
- * { "protocol_version": "1.1.0", "id": "abc", "direction": "request",
15
+ * { "protocol_version": "1.2.0", "id": "abc", "direction": "request",
16
16
  * "request": { "kind": "lease_acquire", "scope": "project", "lane": "tasks",
17
17
  * "holder_id": "pid-42:tasks", "priority": 0, "ttl_ms": 30000,
18
18
  * "reentrant": true } }
19
19
  * // response
20
- * { "protocol_version": "1.1.0", "id": "abc", "direction": "response",
20
+ * { "protocol_version": "1.2.0", "id": "abc", "direction": "response",
21
21
  * "response": { "kind": "lease_granted", "scope": "project", "lane": "tasks",
22
22
  * "holder_id": "pid-42:tasks", "epoch": 7, "ttl_ms": 30000,
23
23
  * "expires_at_ms": 1000030000 } }
@@ -200,6 +200,35 @@ export declare const WorkerHeartbeatRequestSchema: z.ZodObject<{
200
200
  }, z.core.$strict>;
201
201
  /** Worker-heartbeat request payload (inferred from {@link WorkerHeartbeatRequestSchema}). */
202
202
  export type WorkerHeartbeatRequest = z.infer<typeof WorkerHeartbeatRequestSchema>;
203
+ /**
204
+ * Admit (or defer) a heavy resource-intensive operation through the central
205
+ * per-class concurrency arbiter (T12001 · Epic T11992). Mirrors
206
+ * `ResourceAdmitReq`. `[wired]`
207
+ *
208
+ * The client computes `budget` from its local memory-pressure sample; the
209
+ * supervisor enforces the per-class in-flight COUNT centrally across processes,
210
+ * so heavy ops (builds, tests, exodus) can never co-schedule past the budget.
211
+ */
212
+ export declare const ResourceAdmitRequestSchema: z.ZodObject<{
213
+ kind: z.ZodLiteral<"resource_admit">;
214
+ class: z.ZodString;
215
+ holder_id: z.ZodString;
216
+ budget: z.ZodNumber;
217
+ }, z.core.$strict>;
218
+ /** Resource-admit request payload (inferred from {@link ResourceAdmitRequestSchema}). */
219
+ export type ResourceAdmitRequest = z.infer<typeof ResourceAdmitRequestSchema>;
220
+ /**
221
+ * Release a previously-admitted resource slot (T12001). Mirrors
222
+ * `ResourceReleaseReq`. Idempotent — releasing an unknown holder is a no-op.
223
+ * `[wired]`
224
+ */
225
+ export declare const ResourceReleaseRequestSchema: z.ZodObject<{
226
+ kind: z.ZodLiteral<"resource_release">;
227
+ class: z.ZodString;
228
+ holder_id: z.ZodString;
229
+ }, z.core.$strict>;
230
+ /** Resource-release request payload (inferred from {@link ResourceReleaseRequestSchema}). */
231
+ export type ResourceReleaseRequest = z.infer<typeof ResourceReleaseRequestSchema>;
203
232
  /**
204
233
  * The discriminated union of all client → arbiter lease requests. The `kind`
205
234
  * field selects the variant, matching the serde `#[serde(tag = "kind")]`
@@ -276,6 +305,15 @@ export declare const LeaseIpcRequestSchema: z.ZodDiscriminatedUnion<[z.ZodObject
276
305
  kind: z.ZodLiteral<"worker_heartbeat">;
277
306
  child_id: z.ZodString;
278
307
  in_flight_llm: z.ZodBoolean;
308
+ }, z.core.$strict>, z.ZodObject<{
309
+ kind: z.ZodLiteral<"resource_admit">;
310
+ class: z.ZodString;
311
+ holder_id: z.ZodString;
312
+ budget: z.ZodNumber;
313
+ }, z.core.$strict>, z.ZodObject<{
314
+ kind: z.ZodLiteral<"resource_release">;
315
+ class: z.ZodString;
316
+ holder_id: z.ZodString;
279
317
  }, z.core.$strict>], "kind">;
280
318
  /** Any lease IPC request (inferred from {@link LeaseIpcRequestSchema}). */
281
319
  export type LeaseIpcRequest = z.infer<typeof LeaseIpcRequestSchema>;
@@ -433,6 +471,43 @@ export declare const HeartbeatAckResponseSchema: z.ZodObject<{
433
471
  }, z.core.$strict>;
434
472
  /** Heartbeat-ack response payload (inferred from {@link HeartbeatAckResponseSchema}). */
435
473
  export type HeartbeatAckResponse = z.infer<typeof HeartbeatAckResponseSchema>;
474
+ /**
475
+ * The disposition of a `resource_admit` request (T12001) — `admitted` (run the
476
+ * heavy op now) or `deferred` (back off `retry_after_ms` and re-request; never a
477
+ * silent drop). Mirrors `ResourceAdmitDisposition`.
478
+ */
479
+ export declare const ResourceAdmitDispositionSchema: z.ZodEnum<{
480
+ admitted: "admitted";
481
+ deferred: "deferred";
482
+ }>;
483
+ /** A `resource_admit` disposition (inferred from {@link ResourceAdmitDispositionSchema}). */
484
+ export type ResourceAdmitDisposition = z.infer<typeof ResourceAdmitDispositionSchema>;
485
+ /**
486
+ * Reply to a `resource_admit`: the heavy op was admitted or deferred (T12001).
487
+ * Mirrors `ResourceAdmitResult`.
488
+ */
489
+ export declare const ResourceAdmitResultResponseSchema: z.ZodObject<{
490
+ kind: z.ZodLiteral<"resource_admit_result">;
491
+ disposition: z.ZodEnum<{
492
+ admitted: "admitted";
493
+ deferred: "deferred";
494
+ }>;
495
+ retry_after_ms: z.ZodNumber;
496
+ slots_remaining: z.ZodNumber;
497
+ }, z.core.$strict>;
498
+ /** Resource-admit result payload (inferred from {@link ResourceAdmitResultResponseSchema}). */
499
+ export type ResourceAdmitResultResponse = z.infer<typeof ResourceAdmitResultResponseSchema>;
500
+ /**
501
+ * Reply to a `resource_release`: the slot was released (T12001). Mirrors
502
+ * `ResourceReleaseResult`.
503
+ */
504
+ export declare const ResourceReleaseResultResponseSchema: z.ZodObject<{
505
+ kind: z.ZodLiteral<"resource_release_result">;
506
+ released: z.ZodBoolean;
507
+ slots_remaining: z.ZodNumber;
508
+ }, z.core.$strict>;
509
+ /** Resource-release result payload (inferred from {@link ResourceReleaseResultResponseSchema}). */
510
+ export type ResourceReleaseResultResponse = z.infer<typeof ResourceReleaseResultResponseSchema>;
436
511
  /**
437
512
  * An error response correlated to a request. Mirrors the v1.0
438
513
  * `crate::ipc::ErrorResult` shape reused by the Rust `LeaseResponse::Error`
@@ -532,6 +607,18 @@ export declare const LeaseIpcResponseSchema: z.ZodDiscriminatedUnion<[z.ZodObjec
532
607
  queue_position: z.ZodNumber;
533
608
  }, z.core.$strict>, z.ZodObject<{
534
609
  kind: z.ZodLiteral<"heartbeat_ack">;
610
+ }, z.core.$strict>, z.ZodObject<{
611
+ kind: z.ZodLiteral<"resource_admit_result">;
612
+ disposition: z.ZodEnum<{
613
+ admitted: "admitted";
614
+ deferred: "deferred";
615
+ }>;
616
+ retry_after_ms: z.ZodNumber;
617
+ slots_remaining: z.ZodNumber;
618
+ }, z.core.$strict>, z.ZodObject<{
619
+ kind: z.ZodLiteral<"resource_release_result">;
620
+ released: z.ZodBoolean;
621
+ slots_remaining: z.ZodNumber;
535
622
  }, z.core.$strict>, z.ZodObject<{
536
623
  kind: z.ZodLiteral<"error">;
537
624
  code: z.ZodString;
@@ -620,6 +707,15 @@ export declare const LeaseIpcRequestEnvelopeSchema: z.ZodObject<{
620
707
  kind: z.ZodLiteral<"worker_heartbeat">;
621
708
  child_id: z.ZodString;
622
709
  in_flight_llm: z.ZodBoolean;
710
+ }, z.core.$strict>, z.ZodObject<{
711
+ kind: z.ZodLiteral<"resource_admit">;
712
+ class: z.ZodString;
713
+ holder_id: z.ZodString;
714
+ budget: z.ZodNumber;
715
+ }, z.core.$strict>, z.ZodObject<{
716
+ kind: z.ZodLiteral<"resource_release">;
717
+ class: z.ZodString;
718
+ holder_id: z.ZodString;
623
719
  }, z.core.$strict>], "kind">;
624
720
  }, z.core.$strict>;
625
721
  /** Lease request envelope (inferred from {@link LeaseIpcRequestEnvelopeSchema}). */
@@ -716,6 +812,18 @@ export declare const LeaseIpcResponseEnvelopeSchema: z.ZodObject<{
716
812
  queue_position: z.ZodNumber;
717
813
  }, z.core.$strict>, z.ZodObject<{
718
814
  kind: z.ZodLiteral<"heartbeat_ack">;
815
+ }, z.core.$strict>, z.ZodObject<{
816
+ kind: z.ZodLiteral<"resource_admit_result">;
817
+ disposition: z.ZodEnum<{
818
+ admitted: "admitted";
819
+ deferred: "deferred";
820
+ }>;
821
+ retry_after_ms: z.ZodNumber;
822
+ slots_remaining: z.ZodNumber;
823
+ }, z.core.$strict>, z.ZodObject<{
824
+ kind: z.ZodLiteral<"resource_release_result">;
825
+ released: z.ZodBoolean;
826
+ slots_remaining: z.ZodNumber;
719
827
  }, z.core.$strict>, z.ZodObject<{
720
828
  kind: z.ZodLiteral<"error">;
721
829
  code: z.ZodString;
@@ -804,6 +912,15 @@ export declare const LeaseIpcEnvelopeSchema: z.ZodDiscriminatedUnion<[z.ZodObjec
804
912
  kind: z.ZodLiteral<"worker_heartbeat">;
805
913
  child_id: z.ZodString;
806
914
  in_flight_llm: z.ZodBoolean;
915
+ }, z.core.$strict>, z.ZodObject<{
916
+ kind: z.ZodLiteral<"resource_admit">;
917
+ class: z.ZodString;
918
+ holder_id: z.ZodString;
919
+ budget: z.ZodNumber;
920
+ }, z.core.$strict>, z.ZodObject<{
921
+ kind: z.ZodLiteral<"resource_release">;
922
+ class: z.ZodString;
923
+ holder_id: z.ZodString;
807
924
  }, z.core.$strict>], "kind">;
808
925
  }, z.core.$strict>, z.ZodObject<{
809
926
  protocol_version: z.ZodString;
@@ -891,6 +1008,18 @@ export declare const LeaseIpcEnvelopeSchema: z.ZodDiscriminatedUnion<[z.ZodObjec
891
1008
  queue_position: z.ZodNumber;
892
1009
  }, z.core.$strict>, z.ZodObject<{
893
1010
  kind: z.ZodLiteral<"heartbeat_ack">;
1011
+ }, z.core.$strict>, z.ZodObject<{
1012
+ kind: z.ZodLiteral<"resource_admit_result">;
1013
+ disposition: z.ZodEnum<{
1014
+ admitted: "admitted";
1015
+ deferred: "deferred";
1016
+ }>;
1017
+ retry_after_ms: z.ZodNumber;
1018
+ slots_remaining: z.ZodNumber;
1019
+ }, z.core.$strict>, z.ZodObject<{
1020
+ kind: z.ZodLiteral<"resource_release_result">;
1021
+ released: z.ZodBoolean;
1022
+ slots_remaining: z.ZodNumber;
894
1023
  }, z.core.$strict>, z.ZodObject<{
895
1024
  kind: z.ZodLiteral<"error">;
896
1025
  code: z.ZodString;
@@ -904,15 +1033,15 @@ export type LeaseIpcEnvelope = z.infer<typeof LeaseIpcEnvelopeSchema>;
904
1033
  * test pins this tuple; any addition/removal is a contract-breaking change
905
1034
  * requiring a coordinated dual (Rust + TS) edit.
906
1035
  */
907
- export declare const LEASE_IPC_REQUEST_KINDS: readonly ["lease_acquire", "lease_release", "lease_renew", "rate_check", "tool_grant", "queue_admit", "worker_heartbeat"];
1036
+ export declare const LEASE_IPC_REQUEST_KINDS: readonly ["lease_acquire", "lease_release", "lease_renew", "rate_check", "tool_grant", "queue_admit", "worker_heartbeat", "resource_admit", "resource_release"];
908
1037
  /**
909
- * The v1.1 response `kind` values, in declaration order. The schema-drift guard
1038
+ * The v1.2 response `kind` values, in declaration order. The schema-drift guard
910
1039
  * test pins this tuple.
911
1040
  */
912
- export declare const LEASE_IPC_RESPONSE_KINDS: readonly ["lease_granted", "lease_queued", "lease_denied", "rate_result", "tool_granted", "lease_revoked", "child_killed_unresponsive", "queue_admit_result", "heartbeat_ack", "error"];
1041
+ export declare const LEASE_IPC_RESPONSE_KINDS: readonly ["lease_granted", "lease_queued", "lease_denied", "rate_result", "tool_granted", "lease_revoked", "child_killed_unresponsive", "queue_admit_result", "heartbeat_ack", "resource_admit_result", "resource_release_result", "error"];
913
1042
  /**
914
1043
  * The complete v1.1 message kind set (requests + responses), used by the drift
915
1044
  * guard on both the TS and Rust sides.
916
1045
  */
917
- export declare const LEASE_IPC_MESSAGE_KINDS: readonly ["lease_acquire", "lease_release", "lease_renew", "rate_check", "tool_grant", "queue_admit", "worker_heartbeat", "lease_granted", "lease_queued", "lease_denied", "rate_result", "tool_granted", "lease_revoked", "child_killed_unresponsive", "queue_admit_result", "heartbeat_ack", "error"];
1046
+ export declare const LEASE_IPC_MESSAGE_KINDS: readonly ["lease_acquire", "lease_release", "lease_renew", "rate_check", "tool_grant", "queue_admit", "worker_heartbeat", "resource_admit", "resource_release", "lease_granted", "lease_queued", "lease_denied", "rate_result", "tool_granted", "lease_revoked", "child_killed_unresponsive", "queue_admit_result", "heartbeat_ack", "resource_admit_result", "resource_release_result", "error"];
918
1047
  //# sourceMappingURL=messages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/lease-ipc/messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/lease-ipc/messages.ts"],"names":[],"mappings":"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"}
@@ -12,12 +12,12 @@
12
12
  *
13
13
  * ```jsonc
14
14
  * // request
15
- * { "protocol_version": "1.1.0", "id": "abc", "direction": "request",
15
+ * { "protocol_version": "1.2.0", "id": "abc", "direction": "request",
16
16
  * "request": { "kind": "lease_acquire", "scope": "project", "lane": "tasks",
17
17
  * "holder_id": "pid-42:tasks", "priority": 0, "ttl_ms": 30000,
18
18
  * "reentrant": true } }
19
19
  * // response
20
- * { "protocol_version": "1.1.0", "id": "abc", "direction": "response",
20
+ * { "protocol_version": "1.2.0", "id": "abc", "direction": "response",
21
21
  * "response": { "kind": "lease_granted", "scope": "project", "lane": "tasks",
22
22
  * "holder_id": "pid-42:tasks", "epoch": 7, "ttl_ms": 30000,
23
23
  * "expires_at_ms": 1000030000 } }
@@ -185,6 +185,42 @@ export const WorkerHeartbeatRequestSchema = z
185
185
  in_flight_llm: z.boolean(),
186
186
  })
187
187
  .strict();
188
+ /**
189
+ * Admit (or defer) a heavy resource-intensive operation through the central
190
+ * per-class concurrency arbiter (T12001 · Epic T11992). Mirrors
191
+ * `ResourceAdmitReq`. `[wired]`
192
+ *
193
+ * The client computes `budget` from its local memory-pressure sample; the
194
+ * supervisor enforces the per-class in-flight COUNT centrally across processes,
195
+ * so heavy ops (builds, tests, exodus) can never co-schedule past the budget.
196
+ */
197
+ export const ResourceAdmitRequestSchema = z
198
+ .object({
199
+ /** Tag discriminating this request variant. */
200
+ kind: z.literal('resource_admit'),
201
+ /** The resource class (e.g. `"db-heavy"`, `"full-build"`, `"test-run"`). */
202
+ class: z.string().min(1),
203
+ /** The caller holding the slot — process/worktree-unique; the release key. */
204
+ holder_id: z.string().min(1),
205
+ /** The client-computed budget: the max concurrent holders for this class. */
206
+ budget: z.number().int().nonnegative(),
207
+ })
208
+ .strict();
209
+ /**
210
+ * Release a previously-admitted resource slot (T12001). Mirrors
211
+ * `ResourceReleaseReq`. Idempotent — releasing an unknown holder is a no-op.
212
+ * `[wired]`
213
+ */
214
+ export const ResourceReleaseRequestSchema = z
215
+ .object({
216
+ /** Tag discriminating this request variant. */
217
+ kind: z.literal('resource_release'),
218
+ /** The resource class the slot belongs to. */
219
+ class: z.string().min(1),
220
+ /** The holder that was admitted (matches the admit `holder_id`). */
221
+ holder_id: z.string().min(1),
222
+ })
223
+ .strict();
188
224
  /**
189
225
  * The discriminated union of all client → arbiter lease requests. The `kind`
190
226
  * field selects the variant, matching the serde `#[serde(tag = "kind")]`
@@ -198,6 +234,8 @@ export const LeaseIpcRequestSchema = z.discriminatedUnion('kind', [
198
234
  ToolGrantRequestSchema,
199
235
  QueueAdmitRequestSchema,
200
236
  WorkerHeartbeatRequestSchema,
237
+ ResourceAdmitRequestSchema,
238
+ ResourceReleaseRequestSchema,
201
239
  ]);
202
240
  // ─── Responses (arbiter → client) ─────────────────────────────────────────────
203
241
  /**
@@ -356,6 +394,42 @@ export const HeartbeatAckResponseSchema = z
356
394
  kind: z.literal('heartbeat_ack'),
357
395
  })
358
396
  .strict();
397
+ /**
398
+ * The disposition of a `resource_admit` request (T12001) — `admitted` (run the
399
+ * heavy op now) or `deferred` (back off `retry_after_ms` and re-request; never a
400
+ * silent drop). Mirrors `ResourceAdmitDisposition`.
401
+ */
402
+ export const ResourceAdmitDispositionSchema = z.enum(['admitted', 'deferred']);
403
+ /**
404
+ * Reply to a `resource_admit`: the heavy op was admitted or deferred (T12001).
405
+ * Mirrors `ResourceAdmitResult`.
406
+ */
407
+ export const ResourceAdmitResultResponseSchema = z
408
+ .object({
409
+ /** Tag discriminating this response variant. */
410
+ kind: z.literal('resource_admit_result'),
411
+ /** Whether the heavy op was admitted or deferred. */
412
+ disposition: ResourceAdmitDispositionSchema,
413
+ /** Back-off in ms before re-requesting (0 when admitted). */
414
+ retry_after_ms: z.number().int().nonnegative(),
415
+ /** Remaining slots for the class after this decision. */
416
+ slots_remaining: z.number().int().nonnegative(),
417
+ })
418
+ .strict();
419
+ /**
420
+ * Reply to a `resource_release`: the slot was released (T12001). Mirrors
421
+ * `ResourceReleaseResult`.
422
+ */
423
+ export const ResourceReleaseResultResponseSchema = z
424
+ .object({
425
+ /** Tag discriminating this response variant. */
426
+ kind: z.literal('resource_release_result'),
427
+ /** Whether a held slot was actually released (false = no such holder). */
428
+ released: z.boolean(),
429
+ /** Remaining in-flight holders for the class after the release. */
430
+ slots_remaining: z.number().int().nonnegative(),
431
+ })
432
+ .strict();
359
433
  /**
360
434
  * An error response correlated to a request. Mirrors the v1.0
361
435
  * `crate::ipc::ErrorResult` shape reused by the Rust `LeaseResponse::Error`
@@ -386,6 +460,8 @@ export const LeaseIpcResponseSchema = z.discriminatedUnion('kind', [
386
460
  ChildKilledUnresponsiveResponseSchema,
387
461
  QueueAdmitResultResponseSchema,
388
462
  HeartbeatAckResponseSchema,
463
+ ResourceAdmitResultResponseSchema,
464
+ ResourceReleaseResultResponseSchema,
389
465
  LeaseErrorResponseSchema,
390
466
  ]);
391
467
  // ─── Envelope ──────────────────────────────────────────────────────────────────
@@ -448,9 +524,11 @@ export const LEASE_IPC_REQUEST_KINDS = [
448
524
  'tool_grant',
449
525
  'queue_admit',
450
526
  'worker_heartbeat',
527
+ 'resource_admit',
528
+ 'resource_release',
451
529
  ];
452
530
  /**
453
- * The v1.1 response `kind` values, in declaration order. The schema-drift guard
531
+ * The v1.2 response `kind` values, in declaration order. The schema-drift guard
454
532
  * test pins this tuple.
455
533
  */
456
534
  export const LEASE_IPC_RESPONSE_KINDS = [
@@ -463,6 +541,8 @@ export const LEASE_IPC_RESPONSE_KINDS = [
463
541
  'child_killed_unresponsive',
464
542
  'queue_admit_result',
465
543
  'heartbeat_ack',
544
+ 'resource_admit_result',
545
+ 'resource_release_result',
466
546
  'error',
467
547
  ];
468
548
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/lease-ipc/messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/lease-ipc/messages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,iFAAiF;AAEjF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;AAK9D;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AAKlE,iFAAiF;AAEjF;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC;KACvC,MAAM,CAAC;IACN,+CAA+C;IAC/C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;IAChC,0CAA0C;IAC1C,KAAK,EAAE,gBAAgB;IACvB,uCAAuC;IACvC,IAAI,EAAE,eAAe;IACrB,oCAAoC;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,gEAAgE;IAChE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAC1C,0CAA0C;IAC1C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACtC,mFAAmF;IACnF,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;CACvB,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC;KACvC,MAAM,CAAC;IACN,+CAA+C;IAC/C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;IAChC,0CAA0C;IAC1C,KAAK,EAAE,gBAAgB;IACvB,uCAAuC;IACvC,IAAI,EAAE,eAAe;IACrB,oCAAoC;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,kEAAkE;IAClE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;CACtC,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC;KACrC,MAAM,CAAC;IACN,+CAA+C;IAC/C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IAC9B,0CAA0C;IAC1C,KAAK,EAAE,gBAAgB;IACvB,uCAAuC;IACvC,IAAI,EAAE,eAAe;IACrB,oCAAoC;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,iEAAiE;IACjE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;CACtC,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,MAAM,CAAC;IACN,+CAA+C;IAC/C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IAC7B,uCAAuC;IACvC,KAAK,EAAE,gBAAgB;IACvB,uCAAuC;IACvC,IAAI,EAAE,eAAe;IACrB,mDAAmD;IACnD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;CAC1C,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,MAAM,CAAC;IACN,+CAA+C;IAC/C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IAC7B,qCAAqC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,sCAAsC;IACtC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC7B,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;AAKjF;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC;KACrC,MAAM,CAAC;IACN,+CAA+C;IAC/C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IAC9B,0EAA0E;IAC1E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,gEAAgE;IAChE,cAAc,EAAE,wBAAwB;IACxC,4EAA4E;IAC5E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAC1C,8EAA8E;IAC9E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC5B,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC;KAC1C,MAAM,CAAC;IACN,+CAA+C;IAC/C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;IACnC,2EAA2E;IAC3E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,2EAA2E;IAC3E,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE;CAC3B,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC;KACxC,MAAM,CAAC;IACN,+CAA+C;IAC/C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACjC,4EAA4E;IAC5E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,8EAA8E;IAC9E,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,6EAA6E;IAC7E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;CACvC,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC;KAC1C,MAAM,CAAC;IACN,+CAA+C;IAC/C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;IACnC,8CAA8C;IAC9C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,oEAAoE;IACpE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC7B,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAChE,yBAAyB;IACzB,yBAAyB;IACzB,uBAAuB;IACvB,sBAAsB;IACtB,sBAAsB;IACtB,uBAAuB;IACvB,4BAA4B;IAC5B,0BAA0B;IAC1B,4BAA4B;CAC7B,CAAC,CAAC;AAKH,iFAAiF;AAEjF;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC;KACxC,MAAM,CAAC;IACN,gDAAgD;IAChD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;IAChC,iCAAiC;IACjC,KAAK,EAAE,gBAAgB;IACvB,8BAA8B;IAC9B,IAAI,EAAE,eAAe;IACrB,2CAA2C;IAC3C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,wDAAwD;IACxD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACrC,qCAAqC;IACrC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACtC,2DAA2D;IAC3D,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;CAC9C,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC;KACvC,MAAM,CAAC;IACN,gDAAgD;IAChD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IAC/B,gCAAgC;IAChC,KAAK,EAAE,gBAAgB;IACvB,6BAA6B;IAC7B,IAAI,EAAE,eAAe;IACrB,uDAAuD;IACvD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACtC,2CAA2C;IAC3C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;CACtC,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC;KACvC,MAAM,CAAC;IACN,gDAAgD;IAChD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IAC/B,gCAAgC;IAChC,KAAK,EAAE,gBAAgB;IACvB,iEAAiE;IACjE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,qCAAqC;IACrC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACtC,MAAM,CAAC;IACN,gDAAgD;IAChD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IAC9B,iCAAiC;IACjC,KAAK,EAAE,gBAAgB;IACvB,0CAA0C;IAC1C,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE;IACf,6DAA6D;IAC7D,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAC9C,4CAA4C;IAC5C,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;CACjD,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC;KACvC,MAAM,CAAC;IACN,gDAAgD;IAChD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IAC/B,6BAA6B;IAC7B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,+CAA+C;IAC/C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC7B,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC;KACxC,MAAM,CAAC;IACN,gDAAgD;IAChD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;IAChC,iCAAiC;IACjC,KAAK,EAAE,gBAAgB;IACvB,8BAA8B;IAC9B,IAAI,EAAE,eAAe;IACrB,0CAA0C;IAC1C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,gDAAgD;IAChD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ;;;GAGG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC;KACnD,MAAM,CAAC;IACN,gDAAgD;IAChD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC;IAC5C,sCAAsC;IACtC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,8DAA8D;IAC9D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,4DAA4D;IAC5D,KAAK,EAAE,gBAAgB;IACvB,0CAA0C;IAC1C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AAK5E;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC;KAC5C,MAAM,CAAC;IACN,gDAAgD;IAChD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC;IACrC,qDAAqD;IACrD,WAAW,EAAE,2BAA2B;IACxC,6DAA6D;IAC7D,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAC9C,2DAA2D;IAC3D,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAChD,uEAAuE;IACvE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;CAC/C,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC;KACxC,MAAM,CAAC;IACN,gDAAgD;IAChD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;CACjC,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ;;;;GAIG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AAK/E;;;GAGG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC;KAC/C,MAAM,CAAC;IACN,gDAAgD;IAChD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC;IACxC,qDAAqD;IACrD,WAAW,EAAE,8BAA8B;IAC3C,6DAA6D;IAC7D,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAC9C,yDAAyD;IACzD,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;CAChD,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ;;;GAGG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC;KACjD,MAAM,CAAC;IACN,gDAAgD;IAChD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC;IAC1C,0EAA0E;IAC1E,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IACrB,mEAAmE;IACnE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;CAChD,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACtC,MAAM,CAAC;IACN,gDAAgD;IAChD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACxB,yFAAyF;IACzF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,oCAAoC;IACpC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACjE,0BAA0B;IAC1B,yBAAyB;IACzB,yBAAyB;IACzB,wBAAwB;IACxB,yBAAyB;IACzB,0BAA0B;IAC1B,qCAAqC;IACrC,8BAA8B;IAC9B,0BAA0B;IAC1B,iCAAiC;IACjC,mCAAmC;IACnC,wBAAwB;CACzB,CAAC,CAAC;AAKH,kFAAkF;AAElF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC;KAC3C,MAAM,CAAC;IACN,iCAAiC;IACjC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,2DAA2D;IAC3D,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,+BAA+B;IAC/B,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC/B,wBAAwB;IACxB,OAAO,EAAE,qBAAqB;CAC/B,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ;;;;;GAKG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC;KAC5C,MAAM,CAAC;IACN,iCAAiC;IACjC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,qFAAqF;IACrF,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,+BAA+B;IAC/B,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAChC,yBAAyB;IACzB,QAAQ,EAAE,sBAAsB;CACjC,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,kBAAkB,CAAC,WAAW,EAAE;IACtE,6BAA6B;IAC7B,8BAA8B;CAC/B,CAAC,CAAC;AAKH,kFAAkF;AAElF;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,eAAe;IACf,eAAe;IACf,aAAa;IACb,YAAY;IACZ,YAAY;IACZ,aAAa;IACb,kBAAkB;IAClB,gBAAgB;IAChB,kBAAkB;CACV,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,eAAe;IACf,cAAc;IACd,cAAc;IACd,aAAa;IACb,cAAc;IACd,eAAe;IACf,2BAA2B;IAC3B,oBAAoB;IACpB,eAAe;IACf,uBAAuB;IACvB,yBAAyB;IACzB,OAAO;CACC,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,GAAG,uBAAuB;IAC1B,GAAG,wBAAwB;CACnB,CAAC"}
@@ -5,7 +5,7 @@
5
5
  * TypeScript contract MUST agree on this value. It runs **in parallel** to the
6
6
  * byte-frozen `supervisor-ipc` v1.0 contract: the two are distinguished on the
7
7
  * wire purely by this version string, so a single accept loop can route
8
- * `'1.0.0'` → the v1.0 union and `'1.1.0'` → the lease union. Bump only via a
8
+ * `'1.0.0'` → the v1.0 union and `'1.2.0'` → the lease union. Bump only via a
9
9
  * coordinated dual (Rust + TS) edit, never edit this value in place.
10
10
  *
11
11
  * @see {@link LEASE_IPC_MESSAGE_KINDS} for the v1.1 message set.
@@ -13,13 +13,16 @@
13
13
  * @packageDocumentation
14
14
  */
15
15
  /**
16
- * The `lease-ipc` v1.1 protocol version string.
16
+ * The `lease-ipc` v1.2 protocol version string.
17
17
  *
18
18
  * Mirrors `cleo_supervisor::lease_ipc::LEASE_IPC_PROTOCOL_VERSION` on the Rust
19
19
  * side. Both the Rust schema-drift guard (`lease_ipc::tests`) and the TS drift
20
20
  * test (`__tests__/freeze.test.ts`) pin this exact value.
21
+ *
22
+ * v1.2 (T12001 · Epic T11992) added the `resource_admit` / `resource_release`
23
+ * heavy-op admission verbs; v1.1 added `queue_admit` / `worker_heartbeat`.
21
24
  */
22
- export declare const LEASE_IPC_PROTOCOL_VERSION: "1.1.0";
25
+ export declare const LEASE_IPC_PROTOCOL_VERSION: "1.2.0";
23
26
  /**
24
27
  * Whether the given version string is the frozen `lease-ipc` v1.1 wire version.
25
28
  *
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/lease-ipc/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,EAAG,OAAgB,CAAC;AAE3D;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,GACd,OAAO,IAAI,OAAO,0BAA0B,CAE9C"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/lease-ipc/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,EAAG,OAAgB,CAAC;AAE3D;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,GACd,OAAO,IAAI,OAAO,0BAA0B,CAE9C"}
@@ -5,7 +5,7 @@
5
5
  * TypeScript contract MUST agree on this value. It runs **in parallel** to the
6
6
  * byte-frozen `supervisor-ipc` v1.0 contract: the two are distinguished on the
7
7
  * wire purely by this version string, so a single accept loop can route
8
- * `'1.0.0'` → the v1.0 union and `'1.1.0'` → the lease union. Bump only via a
8
+ * `'1.0.0'` → the v1.0 union and `'1.2.0'` → the lease union. Bump only via a
9
9
  * coordinated dual (Rust + TS) edit, never edit this value in place.
10
10
  *
11
11
  * @see {@link LEASE_IPC_MESSAGE_KINDS} for the v1.1 message set.
@@ -13,13 +13,16 @@
13
13
  * @packageDocumentation
14
14
  */
15
15
  /**
16
- * The `lease-ipc` v1.1 protocol version string.
16
+ * The `lease-ipc` v1.2 protocol version string.
17
17
  *
18
18
  * Mirrors `cleo_supervisor::lease_ipc::LEASE_IPC_PROTOCOL_VERSION` on the Rust
19
19
  * side. Both the Rust schema-drift guard (`lease_ipc::tests`) and the TS drift
20
20
  * test (`__tests__/freeze.test.ts`) pin this exact value.
21
+ *
22
+ * v1.2 (T12001 · Epic T11992) added the `resource_admit` / `resource_release`
23
+ * heavy-op admission verbs; v1.1 added `queue_admit` / `worker_heartbeat`.
21
24
  */
22
- export const LEASE_IPC_PROTOCOL_VERSION = '1.1.0';
25
+ export const LEASE_IPC_PROTOCOL_VERSION = '1.2.0';
23
26
  /**
24
27
  * Whether the given version string is the frozen `lease-ipc` v1.1 wire version.
25
28
  *
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/lease-ipc/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,OAAgB,CAAC;AAE3D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAAe;IAEf,OAAO,OAAO,KAAK,0BAA0B,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/lease-ipc/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,OAAgB,CAAC;AAE3D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAAe;IAEf,OAAO,OAAO,KAAK,0BAA0B,CAAC;AAChD,CAAC"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Resource Governor — shared types for the Never-OOM admission layer.
3
+ *
4
+ * The {@link ResourceGovernor} (in `@cleocode/core`) admits resource-intensive
5
+ * work through priority classes whose budgets are computed from host memory and
6
+ * memory-pressure (PSI). A denial returns a structured, retryable
7
+ * {@link ResourceDeferral} (code {@link RESOURCE_DEFERRED_CODE}) rather than a
8
+ * silent drop or a crash — orchestrators treat it like a lifecycle gate: wait
9
+ * and retry, never fail the task.
10
+ *
11
+ * Mirrors the llm-queue deferral contract (`retry_after_ms`, degrade-to-direct)
12
+ * so the two admission surfaces share one shape.
13
+ *
14
+ * @task T11999
15
+ * @epic T11992
16
+ * @adr resource-governor-never-oom-architecture §3.4
17
+ */
18
+ /**
19
+ * Governor arbitration mode. Mirrors the writer-lease mode shape
20
+ * (`writer-lease.ts` {@link LeaseMode}).
21
+ *
22
+ * - `supervisor` — defer to the Rust `cleo-supervisor` `resource_admit` verb
23
+ * (continuous PSI, priority wakeups). Demotes to `local` when the supervisor
24
+ * IPC client is not wired/reachable (never deadlocks).
25
+ * - `local` — DEFAULT. Daemon-off arbitration through shared per-class slot
26
+ * directories (proper-lockfile crash-stale auto-release) + a point-sample of
27
+ * {@link ResourceSample} taken inside `acquire`. Genuinely cross-process
28
+ * without a daemon, mirroring the tool-semaphore engine.
29
+ * - `off` — pure pass-through; every acquire is granted immediately.
30
+ */
31
+ export type GovernorMode = 'supervisor' | 'local' | 'off';
32
+ /**
33
+ * Priority classes (highest priority first). `interactive-cli` is NEVER gated;
34
+ * `full-build` is pinned to one machine-wide slot regardless of pressure.
35
+ *
36
+ * @adr resource-governor-never-oom-architecture §3.4 (classes)
37
+ */
38
+ export type ResourceClass = 'interactive-cli' | 'agent-session' | 'llm-call' | 'test-run' | 'scoped-build' | 'full-build' | 'db-heavy' | 'background-autonomous';
39
+ /**
40
+ * All resource classes in descending priority order. Single source of truth for
41
+ * iteration + validation.
42
+ */
43
+ export declare const RESOURCE_CLASSES: readonly ResourceClass[];
44
+ /** Error code emitted when an acquire is denied because no slot is available. */
45
+ export declare const RESOURCE_DEFERRED_CODE: "E_RESOURCE_DEFERRED";
46
+ /**
47
+ * Soft-signal code raised on the next admit when the host enters `backoff` —
48
+ * asks granted work to checkpoint. Existing grants are NEVER revoked.
49
+ */
50
+ export declare const RESOURCE_BACKPRESSURE_CODE: "E_RESOURCE_BACKPRESSURE";
51
+ /**
52
+ * Structured, retryable deferral returned when admission is denied. Never a
53
+ * silent drop; callers back off `retryAfterMs` and re-request, or annotate the
54
+ * unit as deferred and let a pull-based retry pick it up.
55
+ */
56
+ export interface ResourceDeferral {
57
+ /** Discriminant for narrowing against the success grant. */
58
+ readonly deferred: true;
59
+ /** The class whose budget was exhausted. */
60
+ readonly class: ResourceClass;
61
+ /** Suggested back-off before re-requesting, in milliseconds. */
62
+ readonly retryAfterMs: number;
63
+ /** Human-readable reason (pressure state, budget, held count). */
64
+ readonly reason: string;
65
+ }
66
+ /**
67
+ * A granted admission slot. Hold it for the lifetime of the work, then
68
+ * {@link ResourceGrant.release}. Releasing reaps the slot so the next acquirer
69
+ * can proceed; releasing twice is a no-op.
70
+ */
71
+ export interface ResourceGrant {
72
+ /** Discriminant for narrowing against {@link ResourceDeferral}. */
73
+ readonly deferred: false;
74
+ /** The class this grant belongs to. */
75
+ readonly class: ResourceClass;
76
+ /**
77
+ * Slot index held (local mode), or `-1` for an ungated pass-through grant
78
+ * (`interactive-cli`, `off` mode, or an unbounded budget).
79
+ */
80
+ readonly slot: number;
81
+ /** Monotonic timestamp (ms) when the grant was acquired. */
82
+ readonly acquiredAtMs: number;
83
+ /** Release the slot. Idempotent. */
84
+ release(): Promise<void>;
85
+ }
86
+ /** Discriminated union returned by a non-blocking `tryAcquire`. */
87
+ export type AdmissionResult = ResourceGrant | ResourceDeferral;
88
+ /**
89
+ * Default back-off hint when a class is saturated, in milliseconds. Aligned
90
+ * with the llm-queue `DEFAULT_ADMIT_DEADLINE_MS` so the two surfaces agree.
91
+ */
92
+ export declare const DEFAULT_RESOURCE_RETRY_AFTER_MS = 2000;
93
+ /** Type guard: did an admission attempt produce a usable grant? */
94
+ export declare function isResourceGrant(r: AdmissionResult): r is ResourceGrant;
95
+ //# sourceMappingURL=resource-governor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-governor.d.ts","sourceRoot":"","sources":["../src/resource-governor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,OAAO,GAAG,KAAK,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GACrB,iBAAiB,GACjB,eAAe,GACf,UAAU,GACV,UAAU,GACV,cAAc,GACd,YAAY,GACZ,UAAU,GACV,uBAAuB,CAAC;AAE5B;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,aAAa,EASnD,CAAC;AAEH,iFAAiF;AACjF,eAAO,MAAM,sBAAsB,EAAG,qBAA8B,CAAC;AAErE;;;GAGG;AACH,eAAO,MAAM,0BAA0B,EAAG,yBAAkC,CAAC;AAE7E;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,gEAAgE;IAChE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,kEAAkE;IAClE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC;IACzB,uCAAuC;IACvC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,oCAAoC;IACpC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,mEAAmE;AACnE,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,gBAAgB,CAAC;AAE/D;;;GAGG;AACH,eAAO,MAAM,+BAA+B,OAAQ,CAAC;AAErD,mEAAmE;AACnE,wBAAgB,eAAe,CAAC,CAAC,EAAE,eAAe,GAAG,CAAC,IAAI,aAAa,CAEtE"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Resource Governor — shared types for the Never-OOM admission layer.
3
+ *
4
+ * The {@link ResourceGovernor} (in `@cleocode/core`) admits resource-intensive
5
+ * work through priority classes whose budgets are computed from host memory and
6
+ * memory-pressure (PSI). A denial returns a structured, retryable
7
+ * {@link ResourceDeferral} (code {@link RESOURCE_DEFERRED_CODE}) rather than a
8
+ * silent drop or a crash — orchestrators treat it like a lifecycle gate: wait
9
+ * and retry, never fail the task.
10
+ *
11
+ * Mirrors the llm-queue deferral contract (`retry_after_ms`, degrade-to-direct)
12
+ * so the two admission surfaces share one shape.
13
+ *
14
+ * @task T11999
15
+ * @epic T11992
16
+ * @adr resource-governor-never-oom-architecture §3.4
17
+ */
18
+ /**
19
+ * All resource classes in descending priority order. Single source of truth for
20
+ * iteration + validation.
21
+ */
22
+ export const RESOURCE_CLASSES = Object.freeze([
23
+ 'interactive-cli',
24
+ 'agent-session',
25
+ 'llm-call',
26
+ 'test-run',
27
+ 'scoped-build',
28
+ 'full-build',
29
+ 'db-heavy',
30
+ 'background-autonomous',
31
+ ]);
32
+ /** Error code emitted when an acquire is denied because no slot is available. */
33
+ export const RESOURCE_DEFERRED_CODE = 'E_RESOURCE_DEFERRED';
34
+ /**
35
+ * Soft-signal code raised on the next admit when the host enters `backoff` —
36
+ * asks granted work to checkpoint. Existing grants are NEVER revoked.
37
+ */
38
+ export const RESOURCE_BACKPRESSURE_CODE = 'E_RESOURCE_BACKPRESSURE';
39
+ /**
40
+ * Default back-off hint when a class is saturated, in milliseconds. Aligned
41
+ * with the llm-queue `DEFAULT_ADMIT_DEADLINE_MS` so the two surfaces agree.
42
+ */
43
+ export const DEFAULT_RESOURCE_RETRY_AFTER_MS = 2_000;
44
+ /** Type guard: did an admission attempt produce a usable grant? */
45
+ export function isResourceGrant(r) {
46
+ return r.deferred === false;
47
+ }
48
+ //# sourceMappingURL=resource-governor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-governor.js","sourceRoot":"","sources":["../src/resource-governor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAiCH;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA6B,MAAM,CAAC,MAAM,CAAC;IACtE,iBAAiB;IACjB,eAAe;IACf,UAAU;IACV,UAAU;IACV,cAAc;IACd,YAAY;IACZ,UAAU;IACV,uBAAuB;CACxB,CAAC,CAAC;AAEH,iFAAiF;AACjF,MAAM,CAAC,MAAM,sBAAsB,GAAG,qBAA8B,CAAC;AAErE;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,yBAAkC,CAAC;AA0C7E;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,KAAK,CAAC;AAErD,mEAAmE;AACnE,MAAM,UAAU,eAAe,CAAC,CAAkB;IAChD,OAAO,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC;AAC9B,CAAC"}