@kici-dev/engine 0.1.14 → 0.1.16

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 (48) hide show
  1. package/README.md +13 -1
  2. package/dist/approval/types.d.ts +56 -0
  3. package/dist/approval/types.js +42 -0
  4. package/dist/audit/access-log-policy.js +14 -0
  5. package/dist/audit/retention-policy.js +10 -0
  6. package/dist/environment/types.d.ts +8 -0
  7. package/dist/index.d.ts +2 -1
  8. package/dist/index.js +10 -8
  9. package/dist/labels.d.ts +7 -0
  10. package/dist/labels.js +11 -2
  11. package/dist/metrics/metric-catalog.generated.d.ts +50 -0
  12. package/dist/metrics/metric-catalog.generated.js +60 -0
  13. package/dist/protocol/analytics-events.d.ts +16 -0
  14. package/dist/protocol/analytics-events.js +20 -0
  15. package/dist/protocol/dashboard-write-operations.d.ts +4 -1
  16. package/dist/protocol/dashboard-write-operations.js +11 -1
  17. package/dist/protocol/messages/access-log.d.ts +26 -0
  18. package/dist/protocol/messages/access-log.js +5 -0
  19. package/dist/protocol/messages/actor.d.ts +2 -0
  20. package/dist/protocol/messages/actor.js +12 -2
  21. package/dist/protocol/messages/auth.d.ts +1 -0
  22. package/dist/protocol/messages/capabilities.d.ts +1 -0
  23. package/dist/protocol/messages/dashboard-global-workflows.d.ts +2 -0
  24. package/dist/protocol/messages/dashboard.d.ts +619 -6
  25. package/dist/protocol/messages/dashboard.js +179 -10
  26. package/dist/protocol/messages/event-log.d.ts +4 -0
  27. package/dist/protocol/messages/event-log.js +4 -0
  28. package/dist/protocol/messages/execution-status.d.ts +56 -3
  29. package/dist/protocol/messages/execution-status.js +44 -4
  30. package/dist/protocol/messages/orchestrator-agent.d.ts +284 -0
  31. package/dist/protocol/messages/orchestrator-agent.js +202 -4
  32. package/dist/protocol/messages/peer.d.ts +89 -0
  33. package/dist/protocol/messages/peer.js +50 -2
  34. package/dist/protocol/messages/platform-orchestrator.d.ts +168 -6
  35. package/dist/protocol/messages/platform-orchestrator.js +15 -56
  36. package/dist/protocol/messages/run-events.d.ts +1 -0
  37. package/dist/provenance/schema.d.ts +407 -0
  38. package/dist/provenance/schema.js +143 -0
  39. package/dist/provider/index.d.ts +1 -0
  40. package/dist/provider/index.js +2 -1
  41. package/dist/provider/lock-file-parse-error.d.ts +14 -0
  42. package/dist/provider/lock-file-parse-error.js +22 -0
  43. package/dist/trigger/types.d.ts +29 -1
  44. package/dist/trigger/types.js +4 -1
  45. package/dist/ws/close-codes.d.ts +7 -0
  46. package/dist/ws/close-codes.js +8 -1
  47. package/package.json +19 -8
  48. package/sbom.spdx.json +5 -5
@@ -14,6 +14,7 @@ declare const scalerCapacitySummarySchema: z.ZodObject<{
14
14
  labelSets: z.ZodArray<z.ZodArray<z.ZodString>>;
15
15
  maxAgents: z.ZodNumber;
16
16
  activeCount: z.ZodNumber;
17
+ spawnsOnLocalHost: z.ZodOptional<z.ZodBoolean>;
17
18
  mandatoryLabels: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
18
19
  }, z.core.$strip>;
19
20
  /** Peer hello: initiator sends ephemeral X25519 public key and nonce. */
@@ -57,6 +58,7 @@ export declare const peerAuthResponseSchema: z.ZodObject<{
57
58
  platform: z.ZodString;
58
59
  arch: z.ZodString;
59
60
  mandatoryLabels: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
61
+ scalerName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
60
62
  }, z.core.$strip>>>;
61
63
  scalerCapacity: z.ZodOptional<z.ZodArray<z.ZodObject<{
62
64
  name: z.ZodOptional<z.ZodString>;
@@ -64,6 +66,7 @@ export declare const peerAuthResponseSchema: z.ZodObject<{
64
66
  labelSets: z.ZodArray<z.ZodArray<z.ZodString>>;
65
67
  maxAgents: z.ZodNumber;
66
68
  activeCount: z.ZodNumber;
69
+ spawnsOnLocalHost: z.ZodOptional<z.ZodBoolean>;
67
70
  mandatoryLabels: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
68
71
  }, z.core.$strip>>>;
69
72
  capabilities: z.ZodOptional<z.ZodObject<{
@@ -89,6 +92,7 @@ export declare const peerHeartbeatSchema: z.ZodObject<{
89
92
  platform: z.ZodString;
90
93
  arch: z.ZodString;
91
94
  mandatoryLabels: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
95
+ scalerName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
92
96
  }, z.core.$strip>>;
93
97
  capabilities: z.ZodObject<{
94
98
  s3LogAccess: z.ZodBoolean;
@@ -103,6 +107,7 @@ export declare const peerHeartbeatSchema: z.ZodObject<{
103
107
  labelSets: z.ZodArray<z.ZodArray<z.ZodString>>;
104
108
  maxAgents: z.ZodNumber;
105
109
  activeCount: z.ZodNumber;
110
+ spawnsOnLocalHost: z.ZodOptional<z.ZodBoolean>;
106
111
  mandatoryLabels: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
107
112
  }, z.core.$strip>>>;
108
113
  configVersion: z.ZodOptional<z.ZodNumber>;
@@ -297,6 +302,38 @@ export declare const peerConfigReloadResponseSchema: z.ZodObject<{
297
302
  restartRequired: z.ZodOptional<z.ZodArray<z.ZodString>>;
298
303
  fieldsChanged: z.ZodOptional<z.ZodArray<z.ZodString>>;
299
304
  }, z.core.$strip>;
305
+ /** Which of THIS peer's downstream nodes to gather. all=true ignores the id lists. */
306
+ export declare const fleetSelectionSchema: z.ZodObject<{
307
+ all: z.ZodBoolean;
308
+ agentIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
309
+ workerInstanceIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
310
+ }, z.core.$strip>;
311
+ /** Ask a peer to assemble and stream back its subtree bundle. */
312
+ export declare const peerLogsCollectRequestSchema: z.ZodObject<{
313
+ type: z.ZodLiteral<"peer.logs.collect.request">;
314
+ messageId: z.ZodString;
315
+ logWindowHours: z.ZodNumber;
316
+ includeCoordinatorMesh: z.ZodBoolean;
317
+ selection: z.ZodObject<{
318
+ all: z.ZodBoolean;
319
+ agentIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
320
+ workerInstanceIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
321
+ }, z.core.$strip>;
322
+ }, z.core.$strip>;
323
+ /** One base64 frame of a peer's subtree ZIP. */
324
+ export declare const peerLogsCollectChunkSchema: z.ZodObject<{
325
+ type: z.ZodLiteral<"peer.logs.collect.chunk">;
326
+ messageId: z.ZodString;
327
+ seq: z.ZodNumber;
328
+ isLast: z.ZodBoolean;
329
+ dataB64: z.ZodString;
330
+ }, z.core.$strip>;
331
+ /** Peer failed to assemble/stream its subtree. */
332
+ export declare const peerLogsCollectErrorSchema: z.ZodObject<{
333
+ type: z.ZodLiteral<"peer.logs.collect.error">;
334
+ messageId: z.ZodString;
335
+ message: z.ZodString;
336
+ }, z.core.$strip>;
300
337
  /** Graceful shutdown announcement. Peers remove sender from registry immediately. */
301
338
  export declare const peerLeavingSchema: z.ZodObject<{
302
339
  type: z.ZodLiteral<"peer.leaving">;
@@ -373,6 +410,7 @@ export declare const peerToPeerMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObje
373
410
  platform: z.ZodString;
374
411
  arch: z.ZodString;
375
412
  mandatoryLabels: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
413
+ scalerName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
376
414
  }, z.core.$strip>>>;
377
415
  scalerCapacity: z.ZodOptional<z.ZodArray<z.ZodObject<{
378
416
  name: z.ZodOptional<z.ZodString>;
@@ -380,6 +418,7 @@ export declare const peerToPeerMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObje
380
418
  labelSets: z.ZodArray<z.ZodArray<z.ZodString>>;
381
419
  maxAgents: z.ZodNumber;
382
420
  activeCount: z.ZodNumber;
421
+ spawnsOnLocalHost: z.ZodOptional<z.ZodBoolean>;
383
422
  mandatoryLabels: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
384
423
  }, z.core.$strip>>>;
385
424
  capabilities: z.ZodOptional<z.ZodObject<{
@@ -403,6 +442,7 @@ export declare const peerToPeerMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObje
403
442
  platform: z.ZodString;
404
443
  arch: z.ZodString;
405
444
  mandatoryLabels: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
445
+ scalerName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
406
446
  }, z.core.$strip>>;
407
447
  capabilities: z.ZodObject<{
408
448
  s3LogAccess: z.ZodBoolean;
@@ -417,6 +457,7 @@ export declare const peerToPeerMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObje
417
457
  labelSets: z.ZodArray<z.ZodArray<z.ZodString>>;
418
458
  maxAgents: z.ZodNumber;
419
459
  activeCount: z.ZodNumber;
460
+ spawnsOnLocalHost: z.ZodOptional<z.ZodBoolean>;
420
461
  mandatoryLabels: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
421
462
  }, z.core.$strip>>>;
422
463
  configVersion: z.ZodOptional<z.ZodNumber>;
@@ -559,6 +600,26 @@ export declare const peerToPeerMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObje
559
600
  errors: z.ZodOptional<z.ZodArray<z.ZodString>>;
560
601
  restartRequired: z.ZodOptional<z.ZodArray<z.ZodString>>;
561
602
  fieldsChanged: z.ZodOptional<z.ZodArray<z.ZodString>>;
603
+ }, z.core.$strip>, z.ZodObject<{
604
+ type: z.ZodLiteral<"peer.logs.collect.request">;
605
+ messageId: z.ZodString;
606
+ logWindowHours: z.ZodNumber;
607
+ includeCoordinatorMesh: z.ZodBoolean;
608
+ selection: z.ZodObject<{
609
+ all: z.ZodBoolean;
610
+ agentIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
611
+ workerInstanceIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
612
+ }, z.core.$strip>;
613
+ }, z.core.$strip>, z.ZodObject<{
614
+ type: z.ZodLiteral<"peer.logs.collect.chunk">;
615
+ messageId: z.ZodString;
616
+ seq: z.ZodNumber;
617
+ isLast: z.ZodBoolean;
618
+ dataB64: z.ZodString;
619
+ }, z.core.$strip>, z.ZodObject<{
620
+ type: z.ZodLiteral<"peer.logs.collect.error">;
621
+ messageId: z.ZodString;
622
+ message: z.ZodString;
562
623
  }, z.core.$strip>, z.ZodObject<{
563
624
  type: z.ZodLiteral<"peer.leaving">;
564
625
  instanceId: z.ZodString;
@@ -617,6 +678,7 @@ export declare const peerFromPeerMessageSchema: z.ZodDiscriminatedUnion<[z.ZodOb
617
678
  platform: z.ZodString;
618
679
  arch: z.ZodString;
619
680
  mandatoryLabels: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
681
+ scalerName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
620
682
  }, z.core.$strip>>>;
621
683
  scalerCapacity: z.ZodOptional<z.ZodArray<z.ZodObject<{
622
684
  name: z.ZodOptional<z.ZodString>;
@@ -624,6 +686,7 @@ export declare const peerFromPeerMessageSchema: z.ZodDiscriminatedUnion<[z.ZodOb
624
686
  labelSets: z.ZodArray<z.ZodArray<z.ZodString>>;
625
687
  maxAgents: z.ZodNumber;
626
688
  activeCount: z.ZodNumber;
689
+ spawnsOnLocalHost: z.ZodOptional<z.ZodBoolean>;
627
690
  mandatoryLabels: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
628
691
  }, z.core.$strip>>>;
629
692
  capabilities: z.ZodOptional<z.ZodObject<{
@@ -647,6 +710,7 @@ export declare const peerFromPeerMessageSchema: z.ZodDiscriminatedUnion<[z.ZodOb
647
710
  platform: z.ZodString;
648
711
  arch: z.ZodString;
649
712
  mandatoryLabels: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
713
+ scalerName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
650
714
  }, z.core.$strip>>;
651
715
  capabilities: z.ZodObject<{
652
716
  s3LogAccess: z.ZodBoolean;
@@ -661,6 +725,7 @@ export declare const peerFromPeerMessageSchema: z.ZodDiscriminatedUnion<[z.ZodOb
661
725
  labelSets: z.ZodArray<z.ZodArray<z.ZodString>>;
662
726
  maxAgents: z.ZodNumber;
663
727
  activeCount: z.ZodNumber;
728
+ spawnsOnLocalHost: z.ZodOptional<z.ZodBoolean>;
664
729
  mandatoryLabels: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
665
730
  }, z.core.$strip>>>;
666
731
  configVersion: z.ZodOptional<z.ZodNumber>;
@@ -803,6 +868,26 @@ export declare const peerFromPeerMessageSchema: z.ZodDiscriminatedUnion<[z.ZodOb
803
868
  errors: z.ZodOptional<z.ZodArray<z.ZodString>>;
804
869
  restartRequired: z.ZodOptional<z.ZodArray<z.ZodString>>;
805
870
  fieldsChanged: z.ZodOptional<z.ZodArray<z.ZodString>>;
871
+ }, z.core.$strip>, z.ZodObject<{
872
+ type: z.ZodLiteral<"peer.logs.collect.request">;
873
+ messageId: z.ZodString;
874
+ logWindowHours: z.ZodNumber;
875
+ includeCoordinatorMesh: z.ZodBoolean;
876
+ selection: z.ZodObject<{
877
+ all: z.ZodBoolean;
878
+ agentIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
879
+ workerInstanceIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
880
+ }, z.core.$strip>;
881
+ }, z.core.$strip>, z.ZodObject<{
882
+ type: z.ZodLiteral<"peer.logs.collect.chunk">;
883
+ messageId: z.ZodString;
884
+ seq: z.ZodNumber;
885
+ isLast: z.ZodBoolean;
886
+ dataB64: z.ZodString;
887
+ }, z.core.$strip>, z.ZodObject<{
888
+ type: z.ZodLiteral<"peer.logs.collect.error">;
889
+ messageId: z.ZodString;
890
+ message: z.ZodString;
806
891
  }, z.core.$strip>, z.ZodObject<{
807
892
  type: z.ZodLiteral<"peer.leaving">;
808
893
  instanceId: z.ZodString;
@@ -843,6 +928,10 @@ export type PeerConfigReload = z.infer<typeof peerConfigReloadSchema>;
843
928
  export type PeerConfigReloadResponse = z.infer<typeof peerConfigReloadResponseSchema>;
844
929
  export type PeerLeaving = z.infer<typeof peerLeavingSchema>;
845
930
  export type PeerAgentTokenRevoke = z.infer<typeof peerAgentTokenRevokeSchema>;
931
+ export type FleetSelection = z.infer<typeof fleetSelectionSchema>;
932
+ export type PeerLogsCollectRequest = z.infer<typeof peerLogsCollectRequestSchema>;
933
+ export type PeerLogsCollectChunk = z.infer<typeof peerLogsCollectChunkSchema>;
934
+ export type PeerLogsCollectError = z.infer<typeof peerLogsCollectErrorSchema>;
846
935
  export type PeerToPeerMessage = z.infer<typeof peerToPeerMessageSchema>;
847
936
  export {};
848
937
  //# sourceMappingURL=peer.d.ts.map
@@ -22,7 +22,14 @@ const peerAgentSummarySchema = z.object({
22
22
  * predate the gate omit the field, and the coordinator falls back to
23
23
  * "no gate" routing for those agents (matching pre-gate behavior).
24
24
  */
25
- mandatoryLabels: z.array(z.string()).optional().default([])
25
+ mandatoryLabels: z.array(z.string()).optional().default([]),
26
+ /**
27
+ * Name of the scaler backend that spawned this agent, or null/omitted for
28
+ * static (stateful) agents not bound to any scaler. Carried so the dashboard
29
+ * diagnostics tree can group a worker peer's agents under the correct scaler
30
+ * row (and the stateful-agents row) without a second round trip.
31
+ */
32
+ scalerName: z.string().nullable().optional()
26
33
  });
27
34
  /** Peer capabilities advertised during heartbeat and auth response. */
28
35
  const peerCapabilitiesSchema = z.object({
@@ -42,6 +49,12 @@ const scalerCapacitySummarySchema = z.object({
42
49
  /** Current active count for this backend */
43
50
  activeCount: z.number(),
44
51
  /**
52
+ * Whether this backend spawns its agents on the peer's own host (bare-metal,
53
+ * Firecracker, container on a local runtime socket). Lets diagnostics
54
+ * surface the peer's hostname as the scaler's spawning host.
55
+ */
56
+ spawnsOnLocalHost: z.boolean().optional(),
57
+ /**
45
58
  * Labels a job MUST declare in `runsOn` to be allowed on this backend
46
59
  * (Kubernetes-taint-style opt-in gate). When omitted (legacy peer) or
47
60
  * empty the backend has no gate. Cross-peer routing applies the same
@@ -303,6 +316,35 @@ const peerConfigReloadResponseSchema = z.object({
303
316
  restartRequired: z.array(z.string()).optional(),
304
317
  fieldsChanged: z.array(z.string()).optional()
305
318
  });
319
+ /** Which of THIS peer's downstream nodes to gather. all=true ignores the id lists. */
320
+ const fleetSelectionSchema = z.object({
321
+ all: z.boolean(),
322
+ agentIds: z.array(z.string()).default([]),
323
+ workerInstanceIds: z.array(z.string()).default([])
324
+ });
325
+ /** Ask a peer to assemble and stream back its subtree bundle. */
326
+ const peerLogsCollectRequestSchema = z.object({
327
+ type: z.literal("peer.logs.collect.request"),
328
+ messageId: z.string(),
329
+ logWindowHours: z.number(),
330
+ /** Loop guard: false on every downstream request so the coordinator mesh never echoes. */
331
+ includeCoordinatorMesh: z.boolean(),
332
+ selection: fleetSelectionSchema
333
+ });
334
+ /** One base64 frame of a peer's subtree ZIP. */
335
+ const peerLogsCollectChunkSchema = z.object({
336
+ type: z.literal("peer.logs.collect.chunk"),
337
+ messageId: z.string(),
338
+ seq: z.number().int().nonnegative(),
339
+ isLast: z.boolean(),
340
+ dataB64: z.string()
341
+ });
342
+ /** Peer failed to assemble/stream its subtree. */
343
+ const peerLogsCollectErrorSchema = z.object({
344
+ type: z.literal("peer.logs.collect.error"),
345
+ messageId: z.string(),
346
+ message: z.string()
347
+ });
306
348
  /** Graceful shutdown announcement. Peers remove sender from registry immediately. */
307
349
  const peerLeavingSchema = z.object({
308
350
  type: z.literal("peer.leaving"),
@@ -364,6 +406,9 @@ const peerToPeerMessageSchema = z.discriminatedUnion("type", [
364
406
  peerCacheUploadResponseSchema,
365
407
  peerConfigReloadSchema,
366
408
  peerConfigReloadResponseSchema,
409
+ peerLogsCollectRequestSchema,
410
+ peerLogsCollectChunkSchema,
411
+ peerLogsCollectErrorSchema,
367
412
  peerLeavingSchema,
368
413
  peerAgentTokenRevokeSchema,
369
414
  peerScalerEventSchema
@@ -387,11 +432,14 @@ const peerFromPeerMessageSchema = z.discriminatedUnion("type", [
387
432
  peerCacheUploadResponseSchema,
388
433
  peerConfigReloadSchema,
389
434
  peerConfigReloadResponseSchema,
435
+ peerLogsCollectRequestSchema,
436
+ peerLogsCollectChunkSchema,
437
+ peerLogsCollectErrorSchema,
390
438
  peerLeavingSchema,
391
439
  peerAgentTokenRevokeSchema,
392
440
  peerScalerEventSchema
393
441
  ]);
394
442
  //#endregion
395
- export { jobProgressSchema, jobRerouteAckSchema, jobRerouteSchema, peerAgentTokenRevokeSchema, peerAuthRequestSchema, peerAuthResponseSchema, peerCapabilitiesSchema, peerConfigReloadResponseSchema, peerConfigReloadSchema, peerFromPeerMessageSchema, peerHeartbeatSchema, peerHelloResponseSchema, peerHelloSchema, peerJobCancelSchema, peerLeavingSchema, peerScalerEventSchema, peerToPeerMessageSchema, raftAppendEntriesSchema, raftVoteRequestSchema, raftVoteResponseSchema };
443
+ export { fleetSelectionSchema, jobProgressSchema, jobRerouteAckSchema, jobRerouteSchema, peerAgentTokenRevokeSchema, peerAuthRequestSchema, peerAuthResponseSchema, peerCapabilitiesSchema, peerConfigReloadResponseSchema, peerConfigReloadSchema, peerFromPeerMessageSchema, peerHeartbeatSchema, peerHelloResponseSchema, peerHelloSchema, peerJobCancelSchema, peerLeavingSchema, peerLogsCollectChunkSchema, peerLogsCollectErrorSchema, peerLogsCollectRequestSchema, peerScalerEventSchema, peerToPeerMessageSchema, raftAppendEntriesSchema, raftVoteRequestSchema, raftVoteResponseSchema };
396
444
 
397
445
  //# sourceMappingURL=peer.js.map