@kici-dev/orchestrator 0.6.0 → 0.7.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 (178) hide show
  1. package/dist/agent/dispatcher.d.ts +10 -1
  2. package/dist/agent/host-roster.d.ts +8 -3
  3. package/dist/agent/registry.d.ts +60 -5
  4. package/dist/app.d.ts +10 -5
  5. package/dist/cache/dep-cache.d.ts +14 -6
  6. package/dist/cache/global-eval-round-cache.d.ts +1 -1
  7. package/dist/cache/index.d.ts +1 -1
  8. package/dist/cache/source-cache.d.ts +92 -15
  9. package/dist/cancel/cancel-run.d.ts +20 -2
  10. package/dist/cancel/sweep-stuck-cancelling.d.ts +30 -0
  11. package/dist/cli/api-client.d.ts +10 -0
  12. package/dist/cli/commands/agent-service/logs.d.ts +1 -1
  13. package/dist/cli/commands/agent-service/restart.d.ts +1 -1
  14. package/dist/cli/commands/agent-service/start.d.ts +1 -1
  15. package/dist/cli/commands/agent-service/status.d.ts +1 -1
  16. package/dist/cli/commands/agent-service/stop.d.ts +1 -1
  17. package/dist/cli/commands/agent-service/uninstall.d.ts +1 -1
  18. package/dist/cli/commands/agent.d.ts +25 -0
  19. package/dist/cli/commands/config.d.ts +16 -0
  20. package/dist/cli/commands/db-backup.d.ts +46 -0
  21. package/dist/cli/commands/held-run.d.ts +9 -0
  22. package/dist/cli/commands/orchestrator-service/drain.d.ts +2 -19
  23. package/dist/cli/commands/orchestrator-service/index.d.ts +9 -1
  24. package/dist/cli/commands/orchestrator-service/install-env.d.ts +43 -2
  25. package/dist/cli/commands/orchestrator-service/logs.d.ts +1 -1
  26. package/dist/cli/commands/orchestrator-service/restart.d.ts +1 -1
  27. package/dist/cli/commands/orchestrator-service/start.d.ts +1 -1
  28. package/dist/cli/commands/orchestrator-service/status.d.ts +17 -1
  29. package/dist/cli/commands/orchestrator-service/stop.d.ts +1 -1
  30. package/dist/cli/commands/orchestrator-service/uninstall.d.ts +1 -1
  31. package/dist/cli/commands/orchestrator-service/upgrade.d.ts +2 -1
  32. package/dist/cli/commands/rotate.d.ts +1 -1
  33. package/dist/cli/commands/shared/env-file-mode.d.ts +16 -0
  34. package/dist/cli/commands/shared/upgrade-hooks.d.ts +32 -0
  35. package/dist/cli/commands/shared/upgrade-safety.d.ts +81 -0
  36. package/dist/cli/commands/shared/versioned-upgrade.d.ts +67 -12
  37. package/dist/cli/commands/source.d.ts +1 -0
  38. package/dist/cli/commands/token.d.ts +4 -0
  39. package/dist/cli/commands/trust-policy.d.ts +57 -1
  40. package/dist/cli/join.d.ts +1 -1
  41. package/dist/cli/service/backup-timer.d.ts +108 -0
  42. package/dist/cli/service/compose-path.d.ts +11 -0
  43. package/dist/cli/service/compose.d.ts +22 -0
  44. package/dist/cli/service/deploy-env.d.ts +10 -11
  45. package/dist/cli/service/env-assignment.d.ts +24 -0
  46. package/dist/cli/service/index.d.ts +2 -2
  47. package/dist/cli/service/instance/resolve.d.ts +71 -7
  48. package/dist/cli/service/instance/types.d.ts +15 -0
  49. package/dist/cli/service/launchd.d.ts +7 -0
  50. package/dist/cli/service/systemd.d.ts +1 -0
  51. package/dist/cli/service/types.d.ts +36 -0
  52. package/dist/cli/service/windows.d.ts +16 -0
  53. package/dist/cli/wizard/orchestrator-wizard.d.ts +12 -3
  54. package/dist/cli/wizard/prompts.d.ts +7 -0
  55. package/dist/cli.js +12525 -9298
  56. package/dist/cluster/cluster-settings-reader.d.ts +2 -2
  57. package/dist/cluster/coordinator.d.ts +11 -0
  58. package/dist/cluster/instance-heartbeat.d.ts +96 -0
  59. package/dist/cluster/join-client.d.ts +55 -5
  60. package/dist/cluster/join-handler.d.ts +1 -0
  61. package/dist/cluster/orphan-recovery.d.ts +16 -0
  62. package/dist/cluster/peer-registry.d.ts +10 -0
  63. package/dist/concurrency/dispatch-next-queued.d.ts +1 -13
  64. package/dist/concurrency/index.d.ts +1 -2
  65. package/dist/concurrency/queue-manager.d.ts +63 -18
  66. package/dist/config/env-overlay.d.ts +3 -2
  67. package/dist/config.d.ts +24 -0
  68. package/dist/contexts/release-queued-holds.d.ts +23 -1
  69. package/dist/dashboard/attestation-filters.d.ts +2 -0
  70. package/dist/dashboard/handler.d.ts +22 -2
  71. package/dist/db/deferred-indexes.d.ts +72 -0
  72. package/dist/db/migration-test-harness.d.ts +22 -0
  73. package/dist/db/migrations/131_execution_jobs_git_credentials.d.ts +30 -0
  74. package/dist/db/migrations/132_execution_runs_trigger_event.d.ts +23 -0
  75. package/dist/db/migrations/133_dispatch_queue_source_tar_digest.d.ts +23 -0
  76. package/dist/db/migrations/134_dispatch_queue_ownership.d.ts +4 -0
  77. package/dist/db/migrations/135_cluster_settings_retention_days.d.ts +4 -0
  78. package/dist/db/migrations/136_master_key_wrapped_tables_key_version.d.ts +4 -0
  79. package/dist/db/migrations/137_execution_runs_pr_head_context.d.ts +4 -0
  80. package/dist/db/migrations/138_execution_runs_subject_trigger_event.d.ts +4 -0
  81. package/dist/db/migrations/139_admin_token_subject.d.ts +4 -0
  82. package/dist/db/migrations/140_dispatch_queue_canonical_labels.d.ts +54 -0
  83. package/dist/db/migrations/141_event_log_shed.d.ts +15 -0
  84. package/dist/db/migrator.d.ts +47 -0
  85. package/dist/db/notify-listener.d.ts +60 -0
  86. package/dist/db/synthetic-job-ids.d.ts +24 -0
  87. package/dist/db/types.d.ts +169 -4
  88. package/dist/deployment/deployment-identity.d.ts +31 -1
  89. package/dist/diagnostics/checks/index.d.ts +2 -1
  90. package/dist/diagnostics/checks/retention.d.ts +24 -0
  91. package/dist/diagnostics/types.d.ts +7 -0
  92. package/dist/events/event-router.d.ts +1 -1
  93. package/dist/fault-injection-types.d.ts +53 -0
  94. package/dist/firecracker/host-network.d.ts +63 -8
  95. package/dist/git/credential-broker.d.ts +35 -2
  96. package/dist/git/inherited-secret.d.ts +7 -2
  97. package/dist/git/job-context.d.ts +7 -4
  98. package/dist/helpers/secure-write.d.ts +35 -0
  99. package/dist/index.js +196 -67
  100. package/dist/metrics/prometheus.d.ts +116 -1
  101. package/dist/oidc/db-signer.d.ts +27 -5
  102. package/dist/oidc/id-token-claims.d.ts +33 -2
  103. package/dist/oidc/oidc-mint-registration.d.ts +6 -0
  104. package/dist/oidc/orchestrator-mint.d.ts +8 -0
  105. package/dist/oidc/reconcile-signing-key.d.ts +37 -0
  106. package/dist/orchestrator-core.d.ts +9 -3
  107. package/dist/pipeline/decorating-secret-resolver.d.ts +1 -1
  108. package/dist/pipeline/dispatch-matched-workflow.d.ts +65 -14
  109. package/dist/pipeline/manual-schedule.d.ts +1 -0
  110. package/dist/pipeline/process-webhook.d.ts +20 -2
  111. package/dist/pipeline/route-or-dispatch-jobs.d.ts +7 -0
  112. package/dist/pipeline/run-event-context.d.ts +39 -0
  113. package/dist/policy/dashboard-write-policy-listener.d.ts +1 -1
  114. package/dist/policy/dashboard-write-policy.d.ts +47 -1
  115. package/dist/provenance/dispatch-context.d.ts +46 -0
  116. package/dist/provenance/verify-deferred-capture.d.ts +39 -0
  117. package/dist/providers/github/auth.d.ts +9 -0
  118. package/dist/providers/github/deliveries.d.ts +118 -0
  119. package/dist/providers/universal-git/config.d.ts +1 -1
  120. package/dist/queue/cleanup.d.ts +13 -0
  121. package/dist/queue/job-queue.d.ts +162 -14
  122. package/dist/queue/retention.d.ts +105 -0
  123. package/dist/reporting/execution-tracker.d.ts +87 -36
  124. package/dist/routes/admin-db.d.ts +5 -0
  125. package/dist/routes/admin-events.d.ts +13 -0
  126. package/dist/routes/admin-held-runs.d.ts +11 -1
  127. package/dist/routes/admin-org-settings.d.ts +9 -0
  128. package/dist/routes/admin-runs.d.ts +7 -4
  129. package/dist/routes/admin-sources.d.ts +15 -0
  130. package/dist/routes/admin-trust-policy.d.ts +11 -0
  131. package/dist/routes/admin.d.ts +25 -0
  132. package/dist/scaler/backend-factory.d.ts +16 -0
  133. package/dist/scaler/bare-metal-backend.d.ts +22 -4
  134. package/dist/scaler/config.d.ts +6 -3
  135. package/dist/scaler/container-backend.d.ts +102 -3
  136. package/dist/scaler/container-hostconfig.d.ts +60 -0
  137. package/dist/scaler/file-tail.d.ts +25 -2
  138. package/dist/scaler/firecracker-api.d.ts +9 -1
  139. package/dist/scaler/firecracker-backend.d.ts +135 -2
  140. package/dist/scaler/host-access.d.ts +59 -0
  141. package/dist/scaler/index.d.ts +1 -0
  142. package/dist/scaler/manager.d.ts +33 -0
  143. package/dist/scaler/scaler-state-store.d.ts +6 -0
  144. package/dist/scaler/types.d.ts +5 -7
  145. package/dist/secrets/config.d.ts +48 -0
  146. package/dist/secrets/dashboard-encryption-key.d.ts +19 -0
  147. package/dist/secrets/ephemeral-keys.d.ts +9 -3
  148. package/dist/secrets/index.d.ts +3 -1
  149. package/dist/secrets/job-secret-gate.d.ts +76 -0
  150. package/dist/secrets/master-key-rotation.d.ts +65 -0
  151. package/dist/secrets/secret-output-crypto.d.ts +17 -0
  152. package/dist/secrets/secret-resolver.d.ts +23 -6
  153. package/dist/secrets/source-credentials.d.ts +1 -1
  154. package/dist/secrets/token-manager.d.ts +4 -1
  155. package/dist/security/reduced-privilege-note.d.ts +5 -0
  156. package/dist/security/trust-policy-gate.d.ts +70 -6
  157. package/dist/security/trust-tier.d.ts +31 -0
  158. package/dist/server.d.ts +1 -1
  159. package/dist/server.js +10674 -5283
  160. package/dist/sources/source-manager.d.ts +1 -1
  161. package/dist/stale-detector/stale-dispatch-candidates.d.ts +43 -0
  162. package/dist/standalone.js +9258 -4122
  163. package/dist/storage/loopback-guard.d.ts +53 -6
  164. package/dist/webhook/event-log.d.ts +14 -1
  165. package/dist/webhook/generic-sources-listener.d.ts +1 -1
  166. package/dist/webhook/ingest-admission.d.ts +24 -0
  167. package/dist/webhook/ingest-overflow-replayer.d.ts +78 -14
  168. package/dist/webhook/ingest-overflow-types.d.ts +13 -1
  169. package/dist/webhook/register-source-bundle.d.ts +23 -0
  170. package/dist/webhook/relay-reinject.d.ts +11 -12
  171. package/dist/webhook/shed-breadcrumb.d.ts +15 -0
  172. package/dist/ws/git-credential-relay.d.ts +41 -12
  173. package/dist/ws/platform-client.d.ts +28 -5
  174. package/installer-image-digests.json +3 -3
  175. package/package.json +4 -4
  176. package/sbom.spdx.json +53 -53
  177. package/dist/concurrency/group-tracker.d.ts +0 -51
  178. package/dist/scaler/nftables.d.ts +0 -111
package/sbom.spdx.json CHANGED
@@ -2,10 +2,10 @@
2
2
  "spdxVersion": "SPDX-2.3",
3
3
  "dataLicense": "CC0-1.0",
4
4
  "SPDXID": "SPDXRef-DOCUMENT",
5
- "name": "@kici-dev/orchestrator@0.6.0",
6
- "documentNamespace": "https://kici.dev/sbom/%40kici-dev%2Forchestrator/0.6.0/d1c2a77a-ac51-4154-9106-3f0824968ee8",
5
+ "name": "@kici-dev/orchestrator@0.7.0",
6
+ "documentNamespace": "https://kici.dev/sbom/%40kici-dev%2Forchestrator/0.7.0/79cbb6ed-178e-42f3-baf1-6f9da5e6204c",
7
7
  "creationInfo": {
8
- "created": "2026-09-01T13:57:33Z",
8
+ "created": "2026-09-11T07:37:51Z",
9
9
  "creators": [
10
10
  "Tool: kici-sbom-generator"
11
11
  ]
@@ -1018,9 +1018,9 @@
1018
1018
  "homepage": "https://ericsmekens.github.io/jsep/tree/master/packages/regex#readme"
1019
1019
  },
1020
1020
  {
1021
- "SPDXID": "SPDXRef-Package--kici-dev-core-0.6.0",
1021
+ "SPDXID": "SPDXRef-Package--kici-dev-core-0.7.0",
1022
1022
  "name": "@kici-dev/core",
1023
- "versionInfo": "0.6.0",
1023
+ "versionInfo": "0.7.0",
1024
1024
  "downloadLocation": "NOASSERTION",
1025
1025
  "filesAnalyzed": false,
1026
1026
  "licenseConcluded": "NOASSERTION",
@@ -1031,16 +1031,16 @@
1031
1031
  {
1032
1032
  "referenceCategory": "PACKAGE-MANAGER",
1033
1033
  "referenceType": "purl",
1034
- "referenceLocator": "pkg:npm/%40kici-dev/core@0.6.0"
1034
+ "referenceLocator": "pkg:npm/%40kici-dev/core@0.7.0"
1035
1035
  }
1036
1036
  ],
1037
1037
  "description": "Light shared utilities for the KiCI stack (logging, errors, formatting, crypto, zx init, the TypeScript ESM loader hook). No server-side dependencies.",
1038
1038
  "homepage": "https://kici.dev"
1039
1039
  },
1040
1040
  {
1041
- "SPDXID": "SPDXRef-Package--kici-dev-engine-0.6.0",
1041
+ "SPDXID": "SPDXRef-Package--kici-dev-engine-0.7.0",
1042
1042
  "name": "@kici-dev/engine",
1043
- "versionInfo": "0.6.0",
1043
+ "versionInfo": "0.7.0",
1044
1044
  "downloadLocation": "NOASSERTION",
1045
1045
  "filesAnalyzed": false,
1046
1046
  "licenseConcluded": "NOASSERTION",
@@ -1051,7 +1051,7 @@
1051
1051
  {
1052
1052
  "referenceCategory": "PACKAGE-MANAGER",
1053
1053
  "referenceType": "purl",
1054
- "referenceLocator": "pkg:npm/%40kici-dev/engine@0.6.0"
1054
+ "referenceLocator": "pkg:npm/%40kici-dev/engine@0.7.0"
1055
1055
  }
1056
1056
  ],
1057
1057
  "description": "Shared business logic for the KiCI CI/CD stack: protocol, triggers, state machine, and provider interfaces used by the Platform relay, orchestrator, and compiler.",
@@ -1060,7 +1060,7 @@
1060
1060
  {
1061
1061
  "SPDXID": "SPDXRef-RootPackage",
1062
1062
  "name": "@kici-dev/orchestrator",
1063
- "versionInfo": "0.6.0",
1063
+ "versionInfo": "0.7.0",
1064
1064
  "downloadLocation": "NOASSERTION",
1065
1065
  "filesAnalyzed": false,
1066
1066
  "licenseConcluded": "NOASSERTION",
@@ -1071,16 +1071,16 @@
1071
1071
  {
1072
1072
  "referenceCategory": "PACKAGE-MANAGER",
1073
1073
  "referenceType": "purl",
1074
- "referenceLocator": "pkg:npm/%40kici-dev/orchestrator@0.6.0"
1074
+ "referenceLocator": "pkg:npm/%40kici-dev/orchestrator@0.7.0"
1075
1075
  }
1076
1076
  ],
1077
1077
  "description": "Customer-deployable orchestrator for the KiCI CI/CD stack. Receives webhook events (direct or via Platform relay), matches triggers against the lock file, and dispatches jobs to connected agents.",
1078
1078
  "homepage": "https://kici.dev"
1079
1079
  },
1080
1080
  {
1081
- "SPDXID": "SPDXRef-Package--kici-dev-shared-0.6.0",
1081
+ "SPDXID": "SPDXRef-Package--kici-dev-shared-0.7.0",
1082
1082
  "name": "@kici-dev/shared",
1083
- "versionInfo": "0.6.0",
1083
+ "versionInfo": "0.7.0",
1084
1084
  "downloadLocation": "NOASSERTION",
1085
1085
  "filesAnalyzed": false,
1086
1086
  "licenseConcluded": "NOASSERTION",
@@ -1091,7 +1091,7 @@
1091
1091
  {
1092
1092
  "referenceCategory": "PACKAGE-MANAGER",
1093
1093
  "referenceType": "purl",
1094
- "referenceLocator": "pkg:npm/%40kici-dev/shared@0.6.0"
1094
+ "referenceLocator": "pkg:npm/%40kici-dev/shared@0.7.0"
1095
1095
  }
1096
1096
  ],
1097
1097
  "description": "Shared utilities for the KiCI CI/CD stack — logging, zx setup, crypto, telemetry, health and metrics routes. No business logic.",
@@ -7805,62 +7805,62 @@
7805
7805
  "relationshipType": "DEPENDS_ON"
7806
7806
  },
7807
7807
  {
7808
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.6.0",
7808
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.7.0",
7809
7809
  "relatedSpdxElement": "SPDXRef-Package-oxc-transform-0.140.0",
7810
7810
  "relationshipType": "DEPENDS_ON"
7811
7811
  },
7812
7812
  {
7813
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.6.0",
7813
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.7.0",
7814
7814
  "relatedSpdxElement": "SPDXRef-Package-picocolors-1.1.1",
7815
7815
  "relationshipType": "DEPENDS_ON"
7816
7816
  },
7817
7817
  {
7818
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.6.0",
7818
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.7.0",
7819
7819
  "relatedSpdxElement": "SPDXRef-Package-winston-daily-rotate-file-5.0.0",
7820
7820
  "relationshipType": "DEPENDS_ON"
7821
7821
  },
7822
7822
  {
7823
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.6.0",
7823
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.7.0",
7824
7824
  "relatedSpdxElement": "SPDXRef-Package-winston-3.19.0",
7825
7825
  "relationshipType": "DEPENDS_ON"
7826
7826
  },
7827
7827
  {
7828
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.6.0",
7828
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.7.0",
7829
7829
  "relatedSpdxElement": "SPDXRef-Package-zod-4.4.3",
7830
7830
  "relationshipType": "DEPENDS_ON"
7831
7831
  },
7832
7832
  {
7833
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.6.0",
7833
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.7.0",
7834
7834
  "relatedSpdxElement": "SPDXRef-Package-zx-8.8.5",
7835
7835
  "relationshipType": "DEPENDS_ON"
7836
7836
  },
7837
7837
  {
7838
- "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.6.0",
7838
+ "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.7.0",
7839
7839
  "relatedSpdxElement": "SPDXRef-Package-jose-6.2.10",
7840
7840
  "relationshipType": "DEPENDS_ON"
7841
7841
  },
7842
7842
  {
7843
- "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.6.0",
7843
+ "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.7.0",
7844
7844
  "relatedSpdxElement": "SPDXRef-Package-jsonpath-plus-10.4.0",
7845
7845
  "relationshipType": "DEPENDS_ON"
7846
7846
  },
7847
7847
  {
7848
- "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.6.0",
7848
+ "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.7.0",
7849
7849
  "relatedSpdxElement": "SPDXRef-Package-picomatch-4.0.7",
7850
7850
  "relationshipType": "DEPENDS_ON"
7851
7851
  },
7852
7852
  {
7853
- "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.6.0",
7853
+ "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.7.0",
7854
7854
  "relatedSpdxElement": "SPDXRef-Package-safe-regex-2.1.1",
7855
7855
  "relationshipType": "DEPENDS_ON"
7856
7856
  },
7857
7857
  {
7858
- "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.6.0",
7858
+ "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.7.0",
7859
7859
  "relatedSpdxElement": "SPDXRef-Package-yaml-2.9.0",
7860
7860
  "relationshipType": "DEPENDS_ON"
7861
7861
  },
7862
7862
  {
7863
- "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.6.0",
7863
+ "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.7.0",
7864
7864
  "relatedSpdxElement": "SPDXRef-Package-zod-4.4.3",
7865
7865
  "relationshipType": "DEPENDS_ON"
7866
7866
  },
@@ -7896,12 +7896,12 @@
7896
7896
  },
7897
7897
  {
7898
7898
  "spdxElementId": "SPDXRef-RootPackage",
7899
- "relatedSpdxElement": "SPDXRef-Package--kici-dev-engine-0.6.0",
7899
+ "relatedSpdxElement": "SPDXRef-Package--kici-dev-engine-0.7.0",
7900
7900
  "relationshipType": "DEPENDS_ON"
7901
7901
  },
7902
7902
  {
7903
7903
  "spdxElementId": "SPDXRef-RootPackage",
7904
- "relatedSpdxElement": "SPDXRef-Package--kici-dev-shared-0.6.0",
7904
+ "relatedSpdxElement": "SPDXRef-Package--kici-dev-shared-0.7.0",
7905
7905
  "relationshipType": "DEPENDS_ON"
7906
7906
  },
7907
7907
  {
@@ -8010,117 +8010,117 @@
8010
8010
  "relationshipType": "DEPENDS_ON"
8011
8011
  },
8012
8012
  {
8013
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.6.0",
8013
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.7.0",
8014
8014
  "relatedSpdxElement": "SPDXRef-Package--aws-sdk-client-s3-3.1121.0",
8015
8015
  "relationshipType": "DEPENDS_ON"
8016
8016
  },
8017
8017
  {
8018
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.6.0",
8019
- "relatedSpdxElement": "SPDXRef-Package--kici-dev-core-0.6.0",
8018
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.7.0",
8019
+ "relatedSpdxElement": "SPDXRef-Package--kici-dev-core-0.7.0",
8020
8020
  "relationshipType": "DEPENDS_ON"
8021
8021
  },
8022
8022
  {
8023
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.6.0",
8024
- "relatedSpdxElement": "SPDXRef-Package--kici-dev-engine-0.6.0",
8023
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.7.0",
8024
+ "relatedSpdxElement": "SPDXRef-Package--kici-dev-engine-0.7.0",
8025
8025
  "relationshipType": "DEPENDS_ON"
8026
8026
  },
8027
8027
  {
8028
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.6.0",
8028
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.7.0",
8029
8029
  "relatedSpdxElement": "SPDXRef-Package--opentelemetry-api-1.9.1",
8030
8030
  "relationshipType": "DEPENDS_ON"
8031
8031
  },
8032
8032
  {
8033
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.6.0",
8033
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.7.0",
8034
8034
  "relatedSpdxElement": "SPDXRef-Package--opentelemetry-exporter-metrics-otlp-http-0.221.0",
8035
8035
  "relationshipType": "DEPENDS_ON"
8036
8036
  },
8037
8037
  {
8038
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.6.0",
8038
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.7.0",
8039
8039
  "relatedSpdxElement": "SPDXRef-Package--opentelemetry-exporter-prometheus-0.221.0",
8040
8040
  "relationshipType": "DEPENDS_ON"
8041
8041
  },
8042
8042
  {
8043
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.6.0",
8043
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.7.0",
8044
8044
  "relatedSpdxElement": "SPDXRef-Package--opentelemetry-exporter-trace-otlp-http-0.221.0",
8045
8045
  "relationshipType": "DEPENDS_ON"
8046
8046
  },
8047
8047
  {
8048
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.6.0",
8048
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.7.0",
8049
8049
  "relatedSpdxElement": "SPDXRef-Package--opentelemetry-instrumentation-runtime-node-0.34.0",
8050
8050
  "relationshipType": "DEPENDS_ON"
8051
8051
  },
8052
8052
  {
8053
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.6.0",
8053
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.7.0",
8054
8054
  "relatedSpdxElement": "SPDXRef-Package--opentelemetry-resources-2.10.0",
8055
8055
  "relationshipType": "DEPENDS_ON"
8056
8056
  },
8057
8057
  {
8058
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.6.0",
8058
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.7.0",
8059
8059
  "relatedSpdxElement": "SPDXRef-Package--opentelemetry-sdk-node-0.221.0",
8060
8060
  "relationshipType": "DEPENDS_ON"
8061
8061
  },
8062
8062
  {
8063
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.6.0",
8063
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.7.0",
8064
8064
  "relatedSpdxElement": "SPDXRef-Package--opentelemetry-semantic-conventions-1.43.0",
8065
8065
  "relationshipType": "DEPENDS_ON"
8066
8066
  },
8067
8067
  {
8068
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.6.0",
8068
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.7.0",
8069
8069
  "relatedSpdxElement": "SPDXRef-Package-archiver-8.0.0",
8070
8070
  "relationshipType": "DEPENDS_ON"
8071
8071
  },
8072
8072
  {
8073
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.6.0",
8073
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.7.0",
8074
8074
  "relatedSpdxElement": "SPDXRef-Package-diff-9.0.0",
8075
8075
  "relationshipType": "DEPENDS_ON"
8076
8076
  },
8077
8077
  {
8078
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.6.0",
8078
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.7.0",
8079
8079
  "relatedSpdxElement": "SPDXRef-Package-hono-4.13.2",
8080
8080
  "relationshipType": "DEPENDS_ON"
8081
8081
  },
8082
8082
  {
8083
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.6.0",
8083
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.7.0",
8084
8084
  "relatedSpdxElement": "SPDXRef-Package-kysely-0.29.4",
8085
8085
  "relationshipType": "DEPENDS_ON"
8086
8086
  },
8087
8087
  {
8088
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.6.0",
8088
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.7.0",
8089
8089
  "relatedSpdxElement": "SPDXRef-Package-oxc-transform-0.140.0",
8090
8090
  "relationshipType": "DEPENDS_ON"
8091
8091
  },
8092
8092
  {
8093
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.6.0",
8093
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.7.0",
8094
8094
  "relatedSpdxElement": "SPDXRef-Package-pg-8.23.0",
8095
8095
  "relationshipType": "DEPENDS_ON"
8096
8096
  },
8097
8097
  {
8098
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.6.0",
8098
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.7.0",
8099
8099
  "relatedSpdxElement": "SPDXRef-Package-picocolors-1.1.1",
8100
8100
  "relationshipType": "DEPENDS_ON"
8101
8101
  },
8102
8102
  {
8103
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.6.0",
8103
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.7.0",
8104
8104
  "relatedSpdxElement": "SPDXRef-Package-winston-daily-rotate-file-5.0.0",
8105
8105
  "relationshipType": "DEPENDS_ON"
8106
8106
  },
8107
8107
  {
8108
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.6.0",
8108
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.7.0",
8109
8109
  "relatedSpdxElement": "SPDXRef-Package-winston-3.19.0",
8110
8110
  "relationshipType": "DEPENDS_ON"
8111
8111
  },
8112
8112
  {
8113
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.6.0",
8113
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.7.0",
8114
8114
  "relatedSpdxElement": "SPDXRef-Package-yaml-2.9.0",
8115
8115
  "relationshipType": "DEPENDS_ON"
8116
8116
  },
8117
8117
  {
8118
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.6.0",
8118
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.7.0",
8119
8119
  "relatedSpdxElement": "SPDXRef-Package-zod-4.4.3",
8120
8120
  "relationshipType": "DEPENDS_ON"
8121
8121
  },
8122
8122
  {
8123
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.6.0",
8123
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.7.0",
8124
8124
  "relatedSpdxElement": "SPDXRef-Package-zx-8.8.5",
8125
8125
  "relationshipType": "DEPENDS_ON"
8126
8126
  },
@@ -1,51 +0,0 @@
1
- /**
2
- * In-memory concurrency group tracker.
3
- *
4
- * Tracks active runs per concurrency group, scoped by routing key
5
- * to prevent cross-repo interference. Supports slot acquisition/release
6
- * and hydration from DB records on startup.
7
- */
8
- /** Record used to hydrate tracker state from DB on startup. */
9
- export interface HydrateRecord {
10
- groupKey: string;
11
- routingKey: string;
12
- runId: string;
13
- }
14
- export declare class ConcurrencyGroupTracker {
15
- /**
16
- * Scoped state: "routingKey::groupKey" -> ordered list of active run IDs.
17
- * Using an array (not Set) to preserve insertion order for getOldestRun().
18
- */
19
- private readonly groups;
20
- private scopeKey;
21
- private getOrCreateGroup;
22
- /**
23
- * Try to acquire a slot in the concurrency group.
24
- * Returns true if under max capacity and the run was added, false otherwise.
25
- * Idempotent: re-acquiring an already-active run returns true without double-adding.
26
- */
27
- acquireSlot(groupKey: string, routingKey: string, runId: string, opts: {
28
- max: number;
29
- }): boolean;
30
- /**
31
- * Release a slot in the concurrency group.
32
- * No-op if the run ID is not active.
33
- */
34
- releaseSlot(groupKey: string, routingKey: string, runId: string): void;
35
- /**
36
- * Get all active run IDs in a concurrency group.
37
- * Returns a copy of the array.
38
- */
39
- getActiveRuns(groupKey: string, routingKey: string): string[];
40
- /**
41
- * Get the oldest active run in a concurrency group.
42
- * Used by cancelInProgress mode to determine which run to cancel.
43
- */
44
- getOldestRun(groupKey: string, routingKey: string): string | null;
45
- /**
46
- * Hydrate tracker state from DB records.
47
- * Called on orchestrator startup to restore active concurrency groups.
48
- */
49
- hydrate(records: HydrateRecord[]): void;
50
- }
51
- //# sourceMappingURL=group-tracker.d.ts.map
@@ -1,111 +0,0 @@
1
- /**
2
- * Programmatic nftables rule management for agent network isolation.
3
- *
4
- * Manages RFC1918 + cloud metadata blocking rules per-interface (Firecracker/container)
5
- * or per-UID (bare-metal). All operations use `nft` CLI via child_process.execFile.
6
- *
7
- * Table layout:
8
- * table ip kici {
9
- * chain forward { type filter hook forward priority 0; policy accept; }
10
- * chain output { type filter hook output priority 0; policy accept; }
11
- * }
12
- */
13
- import type { NetworkPolicy } from './types.js';
14
- /**
15
- * Match mode for nftables isolation rules.
16
- * - 'iifname': Match on input interface name (Firecracker TAP devices)
17
- * - 'saddr': Match on source IP address (container backends)
18
- */
19
- export type NftMatchMode = 'iifname' | 'saddr';
20
- /** RFC1918 private address ranges. */
21
- export declare const RFC1918_RANGES: string[];
22
- /** Cloud metadata service range (AWS/GCP/Azure link-local). */
23
- export declare const METADATA_RANGE = "169.254.0.0/16";
24
- /**
25
- * Options for nft command execution.
26
- */
27
- interface NftOptions {
28
- /**
29
- * Wrap the `nft` invocation with `sudo -n` so non-root orchestrators (e.g.
30
- * Pi user-mode systemd) can manage rules. Operators must have a NOPASSWD
31
- * sudoers entry for /usr/sbin/nft. Default false.
32
- */
33
- requireSudo?: boolean;
34
- }
35
- /**
36
- * Validate that nftables is available and the process has NET_ADMIN capability.
37
- * Attempts `nft list tables` -- if it fails:
38
- * - ENOENT: nft binary not installed
39
- * - EPERM: nft binary present but NET_ADMIN capability missing
40
- * Throws with a clear error message in both cases.
41
- */
42
- export declare function validateNftablesAvailability(opts?: NftOptions): Promise<void>;
43
- /**
44
- * Ensure the `kici` nftables table and required chains exist.
45
- * Idempotent -- safe to call multiple times.
46
- */
47
- export declare function ensureKiciTable(opts?: NftOptions): Promise<void>;
48
- /** A single nft rule operation: the verb decides chain placement. */
49
- export interface NftRuleOp {
50
- /** 'insert' prepends to the chain head; 'add' appends to the tail. */
51
- verb: 'insert' | 'add';
52
- /** Tokens after `nft <verb> rule ip kici forward`. */
53
- tokens: string[];
54
- }
55
- /**
56
- * Build the per-identifier isolation rule operations.
57
- *
58
- * Placement matters because nftables is first-match-wins and the `kici`
59
- * forward chain is shared: it accumulates rules for every live agent plus
60
- * any host-level baseline (e.g. wildcard `iifname "kici-*"` RFC1918 drops
61
- * installed at host bootstrap). Accepts therefore go in via `insert`
62
- * (chain head) so they beat any pre-existing drop that also matches the
63
- * traffic; an appended accept after a wildcard drop is dead code. Drops go
64
- * in via `add` (tail) — they only need to beat the chain's accept policy.
65
- *
66
- * Effective per-identifier order: gateway + allowlist accepts (head),
67
- * RFC1918 / metadata / denyAll drops (tail).
68
- */
69
- export declare function buildIsolationRuleOps(matchClause: string[], gatewayIp: string, networkPolicy?: NetworkPolicy): NftRuleOp[];
70
- /**
71
- * Add network isolation rules for a specific network interface.
72
- * Used by Firecracker and container backends.
73
- *
74
- * Rule placement (see buildIsolationRuleOps):
75
- * 1. Accept gateway traffic (inserted at chain head)
76
- * 2. Accept allowlisted CIDRs (inserted at chain head)
77
- * 3. Drop RFC1918 ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
78
- * 4. Drop cloud metadata (169.254.0.0/16)
79
- * 5. Drop all remaining traffic (only if denyAll is true)
80
- *
81
- * @param identifier - Network interface name or source IP to match (e.g., "veth-abc123" or "172.30.0.5")
82
- * @param gatewayIp - Gateway IP that must remain accessible (e.g., "10.0.0.1")
83
- * @param networkPolicy - Optional policy with allowlist and denyAll settings
84
- * @param matchMode - How to match traffic: 'iifname' for interface name (default), 'saddr' for source IP
85
- */
86
- export declare function addIsolationRules(identifier: string, gatewayIp: string, networkPolicy?: NetworkPolicy, matchMode?: NftMatchMode, opts?: NftOptions): Promise<void>;
87
- /**
88
- * Remove all isolation rules matching a specific interface from the kici forward chain.
89
- * Called during agent cleanup/destruction.
90
- *
91
- * Lists all rules with handles, finds those matching the interface name, and deletes them.
92
- * Best-effort: logs errors but does not throw (cleanup should not block destruction).
93
- *
94
- * @param interfaceName - Network interface whose rules should be removed
95
- */
96
- export declare function removeIsolationRules(interfaceName: string, opts?: NftOptions): Promise<void>;
97
- /**
98
- * Re-export NftOptions type for use by callers (Firecracker / container backends)
99
- * that need to pass the requireSudo flag through to these functions.
100
- */
101
- export type { NftOptions };
102
- /**
103
- * Parse nft rule listing output and extract handles for rules matching a given identifier.
104
- * Handles lines like: ` iifname "veth-abc" ip daddr 10.0.0.0/8 drop # handle 42`
105
- *
106
- * @param nftOutput - Raw output from `nft -a list chain ip kici <chain>`
107
- * @param identifier - String to search for in each rule line (interface name or UID)
108
- * @returns Array of numeric rule handles
109
- */
110
- export declare function parseRuleHandles(nftOutput: string, identifier: string): number[];
111
- //# sourceMappingURL=nftables.d.ts.map