@kici-dev/orchestrator 0.1.2 → 0.1.5
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.
- package/dist/agent/dispatcher.d.ts +26 -0
- package/dist/agent/ownership-tracker.d.ts +45 -3
- package/dist/audit/access-log.d.ts +7 -0
- package/dist/cli/api-client.d.ts +14 -0
- package/dist/cli/commands/cluster-name.d.ts +18 -0
- package/dist/cli/commands/db.d.ts +9 -6
- package/dist/cli/commands/org-settings.d.ts +2 -1
- package/dist/cli/commands/shared/secret-input.d.ts +46 -0
- package/dist/cli/commands/variable.d.ts +18 -0
- package/dist/cli/service/index.d.ts +1 -0
- package/dist/cli/service/launchd.d.ts +19 -0
- package/dist/cli/service/privilege.d.ts +21 -0
- package/dist/cli/wizard/orchestrator-wizard.d.ts +4 -2
- package/dist/cli.js +1056 -236
- package/dist/cluster/join-token.d.ts +21 -13
- package/dist/cluster/peer-client.d.ts +9 -0
- package/dist/config/cluster-id.d.ts +23 -0
- package/dist/config/cluster-name.d.ts +39 -0
- package/dist/config.d.ts +6 -0
- package/dist/dashboard/handler.d.ts +54 -2
- package/dist/db/migrations/019_generic_sources_change_notify.d.ts +25 -0
- package/dist/db/migrations/020_org_settings_dashboard_write_policy.d.ts +17 -0
- package/dist/db/migrations/021_check_run_tracking.d.ts +26 -0
- package/dist/db/migrations/022_scaler_manager_state.d.ts +29 -0
- package/dist/db/migrations/023_dispatch_queue_recovery_deadline.d.ts +26 -0
- package/dist/db/types.d.ts +137 -0
- package/dist/events/event-store.d.ts +9 -2
- package/dist/events/trust-store.d.ts +7 -0
- package/dist/events/types.d.ts +33 -0
- package/dist/metrics/scheduled-jobs.d.ts +26 -5
- package/dist/orchestrator-core.d.ts +7 -0
- package/dist/policy/dashboard-write-policy.d.ts +115 -0
- package/dist/queue/job-queue.d.ts +54 -1
- package/dist/reporting/check-run-tracking-store.d.ts +133 -0
- package/dist/reporting/commit-status.d.ts +87 -9
- package/dist/routes/admin-access-log.d.ts +1 -0
- package/dist/routes/admin-backends.d.ts +9 -1
- package/dist/routes/admin-cluster-name.d.ts +50 -0
- package/dist/routes/admin-db.d.ts +9 -1
- package/dist/routes/admin-environments.d.ts +10 -6
- package/dist/routes/admin-event-dlq.d.ts +1 -0
- package/dist/routes/admin-event-log.d.ts +1 -0
- package/dist/routes/admin-events.d.ts +19 -0
- package/dist/routes/admin-maintenance.d.ts +9 -1
- package/dist/routes/admin-org-settings.d.ts +10 -1
- package/dist/routes/admin-queue-execution.d.ts +1 -0
- package/dist/routes/admin-registrations.d.ts +1 -0
- package/dist/routes/admin-runs.d.ts +1 -0
- package/dist/routes/admin-scheduled-jobs.d.ts +1 -0
- package/dist/routes/admin-sources.d.ts +9 -1
- package/dist/routes/admin.d.ts +8 -0
- package/dist/scaler/manager.d.ts +38 -0
- package/dist/scaler/scaler-state-store.d.ts +102 -0
- package/dist/secrets/routing-key-scope.d.ts +43 -0
- package/dist/server.js +9846 -6884
- package/dist/stale-detector/stale-run-detector.d.ts +14 -2
- package/dist/standalone.js +6120 -3838
- package/dist/webhook/generic-sources-listener.d.ts +74 -0
- package/dist/webhook/register-source-bundle.d.ts +57 -0
- package/dist/ws/dashboard-backends-handler.d.ts +14 -0
- package/dist/ws/dashboard-env-handler.d.ts +7 -0
- package/dist/ws/dashboard-global-workflows-handler.d.ts +6 -0
- package/dist/ws/dashboard-registrations-handler.d.ts +7 -0
- package/dist/ws/platform-client.d.ts +30 -1
- package/package.json +3 -3
- package/sbom.spdx.json +40 -35
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-peer propagation of generic-webhook-source registration changes.
|
|
3
|
+
*
|
|
4
|
+
* Sister to the GitHub-app `SourceManager`
|
|
5
|
+
* (`packages/orchestrator/src/sources/source-manager.ts`), which owns the
|
|
6
|
+
* `sources_change` channel. This listener owns `generic_sources_change`
|
|
7
|
+
* — the channel the migration-019 trigger emits on every INSERT, UPDATE,
|
|
8
|
+
* or DELETE of a `generic_webhook_sources` row.
|
|
9
|
+
*
|
|
10
|
+
* On NOTIFY:
|
|
11
|
+
* 1. Queue the affected `routing_key` (the channel payload).
|
|
12
|
+
* 2. Debounce 200 ms so rapid edits coalesce into one drain pass.
|
|
13
|
+
* 3. For each queued routing_key:
|
|
14
|
+
* - Re-query `GenericSourceManager.getByRoutingKey()`. The query
|
|
15
|
+
* already filters out soft-deleted (`deleted_at IS NOT NULL`)
|
|
16
|
+
* and disabled (`enabled = false`) rows.
|
|
17
|
+
* - If the row is gone (DELETE, soft-delete, or disable):
|
|
18
|
+
* `providerRegistry.unregister(routingKey)`.
|
|
19
|
+
* - Otherwise: `registerProviderBundleForSource(row, deps)`
|
|
20
|
+
* (idempotent — a second call replaces the prior bundle).
|
|
21
|
+
*
|
|
22
|
+
* The listener does NOT own the `ProviderRegistry` — it mutates the
|
|
23
|
+
* shared instance the rest of the orchestrator dispatches against. This
|
|
24
|
+
* differs from `SourceManager`, which rebuilds a fresh registry on
|
|
25
|
+
* every reload and asks the caller to swap the reference. The reason is
|
|
26
|
+
* shared ownership: the GitHub-app and generic-webhook sources both
|
|
27
|
+
* populate the same `ProviderRegistry` instance, so a wholesale rebuild
|
|
28
|
+
* by one of them would clobber the other's bundles.
|
|
29
|
+
*
|
|
30
|
+
* The admin POST/PATCH/DELETE handlers in `routes/admin-events.ts` ALSO
|
|
31
|
+
* mutate the registry inline so the API response is self-consistent on
|
|
32
|
+
* the issuing peer (a webhook fired immediately after a 200 OK sees the
|
|
33
|
+
* change without waiting for the NOTIFY round-trip). The local NOTIFY
|
|
34
|
+
* fires too — `registerByRoutingKey` is idempotent, so the redundant
|
|
35
|
+
* apply is harmless.
|
|
36
|
+
*/
|
|
37
|
+
import type pg from 'pg';
|
|
38
|
+
import type { GenericSourceManager } from './generic-sources.js';
|
|
39
|
+
import type { ProviderRegistry } from '../provider-registry.js';
|
|
40
|
+
import type { AppConfig } from '../config.js';
|
|
41
|
+
import type { SecretResolver } from '../secrets/secret-resolver.js';
|
|
42
|
+
export interface GenericSourcesChangeListenerOptions {
|
|
43
|
+
/** Raw pg pool — a dedicated PoolClient is checked out for LISTEN. */
|
|
44
|
+
pool: pg.Pool;
|
|
45
|
+
/** Used to re-query the affected row by routing_key on each NOTIFY. */
|
|
46
|
+
sourceManager: GenericSourceManager;
|
|
47
|
+
/** Mutated in place — registerByRoutingKey / unregister. */
|
|
48
|
+
providerRegistry: ProviderRegistry;
|
|
49
|
+
/** Gates internal-provider bundle registration in the helper. */
|
|
50
|
+
config: AppConfig;
|
|
51
|
+
/** Required for universal-git source rows; null is acceptable on
|
|
52
|
+
* peers that cannot serve them. */
|
|
53
|
+
secretResolver: SecretResolver | null;
|
|
54
|
+
/** Coalesce window for rapid NOTIFYs against the same row. Default 200 ms. */
|
|
55
|
+
debounceMs?: number;
|
|
56
|
+
}
|
|
57
|
+
export declare class GenericSourcesChangeListener {
|
|
58
|
+
private readonly opts;
|
|
59
|
+
private client;
|
|
60
|
+
private readonly pending;
|
|
61
|
+
private debounceTimer;
|
|
62
|
+
private readonly debounceMs;
|
|
63
|
+
constructor(opts: GenericSourcesChangeListenerOptions);
|
|
64
|
+
/** Open the dedicated client and subscribe. Cold-boot bundle
|
|
65
|
+
* registration is handled by the orchestrator-core startup loop
|
|
66
|
+
* via the same helper; this listener only services warm-path
|
|
67
|
+
* NOTIFYs. */
|
|
68
|
+
start(): Promise<void>;
|
|
69
|
+
stop(): Promise<void>;
|
|
70
|
+
private scheduleDrain;
|
|
71
|
+
/** Visible for tests — drain the queued routing_keys synchronously. */
|
|
72
|
+
drain(): Promise<void>;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=generic-sources-listener.d.ts.map
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-source provider-bundle registration.
|
|
3
|
+
*
|
|
4
|
+
* Three call sites need this logic; the helper exists so they don't
|
|
5
|
+
* each carry a copy of the `provider_type` / `git_config` dispatch:
|
|
6
|
+
*
|
|
7
|
+
* 1. `orchestrator-core.ts` startup, where it loops over every source
|
|
8
|
+
* already in `generic_webhook_sources` and registers the matching
|
|
9
|
+
* provider bundle into `ProviderRegistry`. Cold-boot path.
|
|
10
|
+
* 2. The admin HTTP handlers in `admin-events.ts` —
|
|
11
|
+
* `POST /api/v1/admin/generic-sources` and the matching PATCH /
|
|
12
|
+
* DELETE / enable / disable endpoints. Calling the helper inline
|
|
13
|
+
* makes the API response self-consistent on the issuing peer (a
|
|
14
|
+
* webhook fired immediately after the 200 reaches the right
|
|
15
|
+
* normalizer without waiting for the `pg_notify` round-trip).
|
|
16
|
+
* 3. `GenericSourcesChangeListener` (`webhook/generic-sources-listener.ts`),
|
|
17
|
+
* which listens for the migration-019 `pg_notify('generic_sources_change',
|
|
18
|
+
* routing_key)` and applies the change on every other peer in the
|
|
19
|
+
* HA cluster.
|
|
20
|
+
*
|
|
21
|
+
* `registerProviderBundleForSource` is the single source of truth. It
|
|
22
|
+
* dispatches on `row.provider_type` and `row.git_config` so callers
|
|
23
|
+
* don't have to know which bundle to build — they hand over the row +
|
|
24
|
+
* the orchestrator's already-instantiated registry / config /
|
|
25
|
+
* secret-resolver and we do the right thing.
|
|
26
|
+
*
|
|
27
|
+
* Failure semantics match the startup behaviour: internal-only-but-
|
|
28
|
+
* unservable peers log + skip (no throw); universal-git config errors
|
|
29
|
+
* bump the per-row metric + log but never propagate. The caller can
|
|
30
|
+
* assume "returns normally" means "the right thing happened or we
|
|
31
|
+
* recorded why it didn't".
|
|
32
|
+
*/
|
|
33
|
+
import type { AppConfig } from '../config.js';
|
|
34
|
+
import type { ProviderRegistry } from '../provider-registry.js';
|
|
35
|
+
import type { SecretResolver } from '../secrets/secret-resolver.js';
|
|
36
|
+
import type { GenericWebhookSource } from '../db/types.js';
|
|
37
|
+
export interface RegisterSourceBundleDeps {
|
|
38
|
+
providerRegistry: ProviderRegistry;
|
|
39
|
+
config: AppConfig;
|
|
40
|
+
/** Required for universal-git source rows. Null is allowed; rows that
|
|
41
|
+
* carry `git_config` will be skipped with a metric bump. */
|
|
42
|
+
secretResolver: SecretResolver | null;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Register the per-routing-key provider bundle a source row needs.
|
|
46
|
+
*
|
|
47
|
+
* - `provider_type='internal'`: registers an `InternalWebhookNormalizer`
|
|
48
|
+
* bundle when the peer can serve it (gated on
|
|
49
|
+
* `internalProviderRepoPath` per `canServeGenericProviderType`).
|
|
50
|
+
* - `git_config IS NOT NULL`: registers a universal-git bundle.
|
|
51
|
+
* - everything else: no-op — the default `'generic'` bundle handles it.
|
|
52
|
+
*
|
|
53
|
+
* Idempotent under `ProviderRegistry.registerByRoutingKey` semantics: a
|
|
54
|
+
* second call with the same routing key replaces the prior bundle.
|
|
55
|
+
*/
|
|
56
|
+
export declare function registerProviderBundleForSource(row: GenericWebhookSource, deps: RegisterSourceBundleDeps): void;
|
|
57
|
+
//# sourceMappingURL=register-source-bundle.d.ts.map
|
|
@@ -2,12 +2,16 @@ import type { BackendSyncManager, DashboardPlatformToOrchMessage } from '@kici-d
|
|
|
2
2
|
import type { BackendRegistry } from '../secrets/backend-registry.js';
|
|
3
3
|
import type { BackendHealthChecker } from '../secrets/backend-health.js';
|
|
4
4
|
import type { AccessLogWriter } from '../audit/access-log.js';
|
|
5
|
+
import type { Kysely } from 'kysely';
|
|
6
|
+
import type { Database } from '../db/types.js';
|
|
5
7
|
interface DashboardBackendsHandlerDeps {
|
|
6
8
|
/** Send a response message back to Platform over the WS connection. */
|
|
7
9
|
send: (msg: unknown) => void;
|
|
8
10
|
registry: BackendRegistry;
|
|
9
11
|
healthChecker: BackendHealthChecker;
|
|
10
12
|
syncManager?: BackendSyncManager;
|
|
13
|
+
/** Database — required for dashboard-write policy lookups. */
|
|
14
|
+
db: Kysely<Database>;
|
|
11
15
|
/** Access log writer — records one row per read / mutation with actor attribution. */
|
|
12
16
|
accessLog?: AccessLogWriter;
|
|
13
17
|
/** Org ID for access_log rows (null when the orchestrator isn't org-scoped). */
|
|
@@ -31,6 +35,16 @@ export declare class DashboardBackendsHandler {
|
|
|
31
35
|
* the single tenant org from the `sources` / `generic_webhook_sources` table.
|
|
32
36
|
*/
|
|
33
37
|
setOrgContext(orgId: string | null, routingKey: string | null): void;
|
|
38
|
+
/**
|
|
39
|
+
* Defense-in-depth dashboard-write policy gate. Returns true when the
|
|
40
|
+
* operation is allowed and the caller should proceed. Returns false
|
|
41
|
+
* when the policy is disabled — also records a `denied` access_log row
|
|
42
|
+
* and emits a structured `operation_disabled` envelope on the WS.
|
|
43
|
+
*
|
|
44
|
+
* Fails open when no org is bound — the orch hasn't resolved a
|
|
45
|
+
* customer yet, so there's nothing to look up.
|
|
46
|
+
*/
|
|
47
|
+
private enforcePolicy;
|
|
34
48
|
/**
|
|
35
49
|
* Write an access_log row for a handler invocation. Best-effort; the writer
|
|
36
50
|
* swallows failures.
|
|
@@ -59,6 +59,13 @@ export declare class DashboardEnvHandler {
|
|
|
59
59
|
setOrgId(orgId: string): void;
|
|
60
60
|
/** Update the routing key bound to access_log rows. */
|
|
61
61
|
setRoutingKey(routingKey: string | null): void;
|
|
62
|
+
/**
|
|
63
|
+
* Defense-in-depth dashboard-write policy gate. Returns true when the
|
|
64
|
+
* operation is allowed and the caller should proceed. Returns false when
|
|
65
|
+
* the policy is disabled — also records a `denied` access_log row and
|
|
66
|
+
* sends a structured `operation_disabled` envelope back to Platform.
|
|
67
|
+
*/
|
|
68
|
+
private enforcePolicy;
|
|
62
69
|
/**
|
|
63
70
|
* Write an access_log row for a handler invocation. Uses the handler's
|
|
64
71
|
* bound orgId + routingKey, the msg.actor principal, and the handler-
|
|
@@ -38,6 +38,12 @@ export declare class DashboardGlobalWorkflowsHandler {
|
|
|
38
38
|
constructor(deps: DashboardGlobalWorkflowsHandlerDeps);
|
|
39
39
|
/** Update the customer / org id this handler operates on. */
|
|
40
40
|
setOrgId(customerId: string | null): void;
|
|
41
|
+
/**
|
|
42
|
+
* Defense-in-depth dashboard-write policy gate. Returns true when the
|
|
43
|
+
* operation is allowed; false (with a structured `operation_disabled`
|
|
44
|
+
* envelope and a `denied` access_log row) when policy says no.
|
|
45
|
+
*/
|
|
46
|
+
private enforcePolicy;
|
|
41
47
|
/**
|
|
42
48
|
* Write an access_log row for a handler invocation. Best-effort; the writer
|
|
43
49
|
* swallows failures.
|
|
@@ -57,6 +57,13 @@ export declare class DashboardRegistrationsHandler {
|
|
|
57
57
|
setOrgId(orgId: string): void;
|
|
58
58
|
/** Update the routing key bound to access_log rows. */
|
|
59
59
|
setRoutingKey(routingKey: string | null): void;
|
|
60
|
+
/**
|
|
61
|
+
* Defense-in-depth dashboard-write policy gate. Returns true when the
|
|
62
|
+
* operation is allowed and the caller should proceed. Returns false
|
|
63
|
+
* when the policy is disabled — also records a `denied` access_log row
|
|
64
|
+
* and emits a structured `operation_disabled` envelope on the WS.
|
|
65
|
+
*/
|
|
66
|
+
private enforcePolicy;
|
|
60
67
|
/**
|
|
61
68
|
* Write an access_log row for a handler invocation. Uses the handler's
|
|
62
69
|
* bound orgId + routingKey, the msg.actor principal, and the handler-
|
|
@@ -36,6 +36,20 @@ export interface PlatformClientOptions {
|
|
|
36
36
|
providerSources?: ProviderSource[];
|
|
37
37
|
/** Orchestrator cluster instance ID (sent in source.register for peer correlation). */
|
|
38
38
|
instanceId?: string;
|
|
39
|
+
/**
|
|
40
|
+
* Human-friendly cluster name resolved on orch boot
|
|
41
|
+
* (`cluster_meta.cluster_name`). Sent in source.register so Platform
|
|
42
|
+
* can route per-orch dashboard requests by this identifier.
|
|
43
|
+
*/
|
|
44
|
+
clusterName?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Orchestrator DB identifier (UUID, seeded by migration 001 in
|
|
47
|
+
* `cluster_meta` key `'cluster_id'`). Sent in source.register so
|
|
48
|
+
* Platform can warn when two unrelated clusters in the same org
|
|
49
|
+
* accidentally share a `clusterName`. HA siblings share the same orch
|
|
50
|
+
* DB and therefore the same `clusterId`.
|
|
51
|
+
*/
|
|
52
|
+
clusterId?: string;
|
|
39
53
|
/** Reachable address for peer-to-peer connections (from KICI_CLUSTER_ADDRESS env var). Null if not configured. */
|
|
40
54
|
address?: string | null;
|
|
41
55
|
/** Orchestrator version string (e.g. "0.0.1"). Sent in source.register for diagnostics. */
|
|
@@ -141,6 +155,8 @@ export declare class PlatformClient {
|
|
|
141
155
|
private readonly onWebhookRelay;
|
|
142
156
|
private providerSources;
|
|
143
157
|
private readonly instanceId?;
|
|
158
|
+
private readonly clusterName?;
|
|
159
|
+
private readonly clusterId?;
|
|
144
160
|
private readonly address?;
|
|
145
161
|
private readonly version?;
|
|
146
162
|
private readonly mode?;
|
|
@@ -166,7 +182,7 @@ export declare class PlatformClient {
|
|
|
166
182
|
private readonly onTrustPolicyUpdate?;
|
|
167
183
|
private readonly onStaleCheckrunCleanup?;
|
|
168
184
|
private readonly onJoinRequest?;
|
|
169
|
-
private
|
|
185
|
+
private orchCapabilities;
|
|
170
186
|
private readonly onVerifyInbound?;
|
|
171
187
|
private readonly relayBuffer;
|
|
172
188
|
/**
|
|
@@ -184,6 +200,19 @@ export declare class PlatformClient {
|
|
|
184
200
|
*/
|
|
185
201
|
getOrgPublicAlias(): string | undefined;
|
|
186
202
|
constructor(options: PlatformClientOptions);
|
|
203
|
+
/**
|
|
204
|
+
* Merge `updates` into the stored orch capabilities and broadcast the
|
|
205
|
+
* full set to Platform via `orch.capabilities.update`. Buffers via
|
|
206
|
+
* `send()` when not yet authenticated. The next `auth.request` will
|
|
207
|
+
* also carry the merged capabilities, so a reconnect-followed-by-
|
|
208
|
+
* runtime-broadcast still ends Platform in the correct cache state.
|
|
209
|
+
*/
|
|
210
|
+
broadcastCapabilities(updates: Partial<OrchCapabilities>): void;
|
|
211
|
+
/**
|
|
212
|
+
* Current merged orchestrator capabilities. Read-only view used by
|
|
213
|
+
* tests and diagnostics; mutate via `broadcastCapabilities`.
|
|
214
|
+
*/
|
|
215
|
+
getCapabilities(): OrchCapabilities;
|
|
187
216
|
/** Current connection state. */
|
|
188
217
|
get state(): ConnectionState;
|
|
189
218
|
/** Number of messages currently buffered. */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kici-dev/orchestrator",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"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.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"kici",
|
|
@@ -80,8 +80,8 @@
|
|
|
80
80
|
"ws": "^8.20.0",
|
|
81
81
|
"yaml": "^2.8.3",
|
|
82
82
|
"zod": "^4.3.6",
|
|
83
|
-
"@kici-dev/engine": "0.1.
|
|
84
|
-
"@kici-dev/shared": "0.1.
|
|
83
|
+
"@kici-dev/engine": "0.1.5",
|
|
84
|
+
"@kici-dev/shared": "0.1.5"
|
|
85
85
|
},
|
|
86
86
|
"kici": {
|
|
87
87
|
"metrics": {
|
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.1.
|
|
6
|
-
"documentNamespace": "https://kici.dev/sbom/%40kici-dev%2Forchestrator/0.1.
|
|
5
|
+
"name": "@kici-dev/orchestrator@0.1.5",
|
|
6
|
+
"documentNamespace": "https://kici.dev/sbom/%40kici-dev%2Forchestrator/0.1.5/f7580817-f3f2-47bc-964e-be4abe428a71",
|
|
7
7
|
"creationInfo": {
|
|
8
|
-
"created": "2026-05-
|
|
8
|
+
"created": "2026-05-25T13:20:51Z",
|
|
9
9
|
"creators": [
|
|
10
10
|
"Tool: kici-sbom-generator"
|
|
11
11
|
]
|
|
@@ -1477,9 +1477,9 @@
|
|
|
1477
1477
|
"homepage": "https://ericsmekens.github.io/jsep/tree/master/packages/regex#readme"
|
|
1478
1478
|
},
|
|
1479
1479
|
{
|
|
1480
|
-
"SPDXID": "SPDXRef-Package--kici-dev-engine-0.1.
|
|
1480
|
+
"SPDXID": "SPDXRef-Package--kici-dev-engine-0.1.5",
|
|
1481
1481
|
"name": "@kici-dev/engine",
|
|
1482
|
-
"versionInfo": "0.1.
|
|
1482
|
+
"versionInfo": "0.1.5",
|
|
1483
1483
|
"downloadLocation": "NOASSERTION",
|
|
1484
1484
|
"filesAnalyzed": false,
|
|
1485
1485
|
"licenseConcluded": "NOASSERTION",
|
|
@@ -1490,7 +1490,7 @@
|
|
|
1490
1490
|
{
|
|
1491
1491
|
"referenceCategory": "PACKAGE-MANAGER",
|
|
1492
1492
|
"referenceType": "purl",
|
|
1493
|
-
"referenceLocator": "pkg:npm/%40kici-dev/engine@0.1.
|
|
1493
|
+
"referenceLocator": "pkg:npm/%40kici-dev/engine@0.1.5"
|
|
1494
1494
|
}
|
|
1495
1495
|
],
|
|
1496
1496
|
"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.",
|
|
@@ -1499,7 +1499,7 @@
|
|
|
1499
1499
|
{
|
|
1500
1500
|
"SPDXID": "SPDXRef-RootPackage",
|
|
1501
1501
|
"name": "@kici-dev/orchestrator",
|
|
1502
|
-
"versionInfo": "0.1.
|
|
1502
|
+
"versionInfo": "0.1.5",
|
|
1503
1503
|
"downloadLocation": "NOASSERTION",
|
|
1504
1504
|
"filesAnalyzed": false,
|
|
1505
1505
|
"licenseConcluded": "NOASSERTION",
|
|
@@ -1510,16 +1510,16 @@
|
|
|
1510
1510
|
{
|
|
1511
1511
|
"referenceCategory": "PACKAGE-MANAGER",
|
|
1512
1512
|
"referenceType": "purl",
|
|
1513
|
-
"referenceLocator": "pkg:npm/%40kici-dev/orchestrator@0.1.
|
|
1513
|
+
"referenceLocator": "pkg:npm/%40kici-dev/orchestrator@0.1.5"
|
|
1514
1514
|
}
|
|
1515
1515
|
],
|
|
1516
1516
|
"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.",
|
|
1517
1517
|
"homepage": "https://kici.dev"
|
|
1518
1518
|
},
|
|
1519
1519
|
{
|
|
1520
|
-
"SPDXID": "SPDXRef-Package--kici-dev-shared-0.1.
|
|
1520
|
+
"SPDXID": "SPDXRef-Package--kici-dev-shared-0.1.5",
|
|
1521
1521
|
"name": "@kici-dev/shared",
|
|
1522
|
-
"versionInfo": "0.1.
|
|
1522
|
+
"versionInfo": "0.1.5",
|
|
1523
1523
|
"downloadLocation": "NOASSERTION",
|
|
1524
1524
|
"filesAnalyzed": false,
|
|
1525
1525
|
"licenseConcluded": "NOASSERTION",
|
|
@@ -1530,7 +1530,7 @@
|
|
|
1530
1530
|
{
|
|
1531
1531
|
"referenceCategory": "PACKAGE-MANAGER",
|
|
1532
1532
|
"referenceType": "purl",
|
|
1533
|
-
"referenceLocator": "pkg:npm/%40kici-dev/shared@0.1.
|
|
1533
|
+
"referenceLocator": "pkg:npm/%40kici-dev/shared@0.1.5"
|
|
1534
1534
|
}
|
|
1535
1535
|
],
|
|
1536
1536
|
"description": "Shared utilities for the KiCI CI/CD stack — logging, zx setup, crypto, telemetry, health and metrics routes. No business logic.",
|
|
@@ -10682,17 +10682,17 @@
|
|
|
10682
10682
|
"relationshipType": "DEPENDS_ON"
|
|
10683
10683
|
},
|
|
10684
10684
|
{
|
|
10685
|
-
"spdxElementId": "SPDXRef-Package--kici-dev-engine-0.1.
|
|
10685
|
+
"spdxElementId": "SPDXRef-Package--kici-dev-engine-0.1.5",
|
|
10686
10686
|
"relatedSpdxElement": "SPDXRef-Package-jsonpath-plus-10.4.0",
|
|
10687
10687
|
"relationshipType": "DEPENDS_ON"
|
|
10688
10688
|
},
|
|
10689
10689
|
{
|
|
10690
|
-
"spdxElementId": "SPDXRef-Package--kici-dev-engine-0.1.
|
|
10690
|
+
"spdxElementId": "SPDXRef-Package--kici-dev-engine-0.1.5",
|
|
10691
10691
|
"relatedSpdxElement": "SPDXRef-Package-picomatch-4.0.4",
|
|
10692
10692
|
"relationshipType": "DEPENDS_ON"
|
|
10693
10693
|
},
|
|
10694
10694
|
{
|
|
10695
|
-
"spdxElementId": "SPDXRef-Package--kici-dev-engine-0.1.
|
|
10695
|
+
"spdxElementId": "SPDXRef-Package--kici-dev-engine-0.1.5",
|
|
10696
10696
|
"relatedSpdxElement": "SPDXRef-Package-zod-4.3.6",
|
|
10697
10697
|
"relationshipType": "DEPENDS_ON"
|
|
10698
10698
|
},
|
|
@@ -10728,12 +10728,12 @@
|
|
|
10728
10728
|
},
|
|
10729
10729
|
{
|
|
10730
10730
|
"spdxElementId": "SPDXRef-RootPackage",
|
|
10731
|
-
"relatedSpdxElement": "SPDXRef-Package--kici-dev-engine-0.1.
|
|
10731
|
+
"relatedSpdxElement": "SPDXRef-Package--kici-dev-engine-0.1.5",
|
|
10732
10732
|
"relationshipType": "DEPENDS_ON"
|
|
10733
10733
|
},
|
|
10734
10734
|
{
|
|
10735
10735
|
"spdxElementId": "SPDXRef-RootPackage",
|
|
10736
|
-
"relatedSpdxElement": "SPDXRef-Package--kici-dev-shared-0.1.
|
|
10736
|
+
"relatedSpdxElement": "SPDXRef-Package--kici-dev-shared-0.1.5",
|
|
10737
10737
|
"relationshipType": "DEPENDS_ON"
|
|
10738
10738
|
},
|
|
10739
10739
|
{
|
|
@@ -10837,97 +10837,102 @@
|
|
|
10837
10837
|
"relationshipType": "DEPENDS_ON"
|
|
10838
10838
|
},
|
|
10839
10839
|
{
|
|
10840
|
-
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.
|
|
10840
|
+
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.5",
|
|
10841
10841
|
"relatedSpdxElement": "SPDXRef-Package--aws-sdk-client-s3-3.1038.0",
|
|
10842
10842
|
"relationshipType": "DEPENDS_ON"
|
|
10843
10843
|
},
|
|
10844
10844
|
{
|
|
10845
|
-
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.
|
|
10845
|
+
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.5",
|
|
10846
10846
|
"relatedSpdxElement": "SPDXRef-Package--opentelemetry-api-1.9.1",
|
|
10847
10847
|
"relationshipType": "DEPENDS_ON"
|
|
10848
10848
|
},
|
|
10849
10849
|
{
|
|
10850
|
-
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.
|
|
10850
|
+
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.5",
|
|
10851
10851
|
"relatedSpdxElement": "SPDXRef-Package--opentelemetry-exporter-metrics-otlp-http-0.217.0",
|
|
10852
10852
|
"relationshipType": "DEPENDS_ON"
|
|
10853
10853
|
},
|
|
10854
10854
|
{
|
|
10855
|
-
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.
|
|
10855
|
+
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.5",
|
|
10856
10856
|
"relatedSpdxElement": "SPDXRef-Package--opentelemetry-exporter-prometheus-0.217.0",
|
|
10857
10857
|
"relationshipType": "DEPENDS_ON"
|
|
10858
10858
|
},
|
|
10859
10859
|
{
|
|
10860
|
-
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.
|
|
10860
|
+
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.5",
|
|
10861
10861
|
"relatedSpdxElement": "SPDXRef-Package--opentelemetry-exporter-trace-otlp-http-0.217.0",
|
|
10862
10862
|
"relationshipType": "DEPENDS_ON"
|
|
10863
10863
|
},
|
|
10864
10864
|
{
|
|
10865
|
-
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.
|
|
10865
|
+
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.5",
|
|
10866
10866
|
"relatedSpdxElement": "SPDXRef-Package--opentelemetry-instrumentation-runtime-node-0.28.0",
|
|
10867
10867
|
"relationshipType": "DEPENDS_ON"
|
|
10868
10868
|
},
|
|
10869
10869
|
{
|
|
10870
|
-
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.
|
|
10870
|
+
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.5",
|
|
10871
10871
|
"relatedSpdxElement": "SPDXRef-Package--opentelemetry-resources-2.7.0",
|
|
10872
10872
|
"relationshipType": "DEPENDS_ON"
|
|
10873
10873
|
},
|
|
10874
10874
|
{
|
|
10875
|
-
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.
|
|
10875
|
+
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.5",
|
|
10876
10876
|
"relatedSpdxElement": "SPDXRef-Package--opentelemetry-sdk-node-0.217.0",
|
|
10877
10877
|
"relationshipType": "DEPENDS_ON"
|
|
10878
10878
|
},
|
|
10879
10879
|
{
|
|
10880
|
-
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.
|
|
10880
|
+
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.5",
|
|
10881
10881
|
"relatedSpdxElement": "SPDXRef-Package--opentelemetry-semantic-conventions-1.40.0",
|
|
10882
10882
|
"relationshipType": "DEPENDS_ON"
|
|
10883
10883
|
},
|
|
10884
10884
|
{
|
|
10885
|
-
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.
|
|
10885
|
+
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.5",
|
|
10886
10886
|
"relatedSpdxElement": "SPDXRef-Package-diff-7.0.0",
|
|
10887
10887
|
"relationshipType": "DEPENDS_ON"
|
|
10888
10888
|
},
|
|
10889
10889
|
{
|
|
10890
|
-
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.
|
|
10890
|
+
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.5",
|
|
10891
10891
|
"relatedSpdxElement": "SPDXRef-Package-hono-4.12.18",
|
|
10892
10892
|
"relationshipType": "DEPENDS_ON"
|
|
10893
10893
|
},
|
|
10894
10894
|
{
|
|
10895
|
-
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.
|
|
10895
|
+
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.5",
|
|
10896
10896
|
"relatedSpdxElement": "SPDXRef-Package-kysely-0.29.0",
|
|
10897
10897
|
"relationshipType": "DEPENDS_ON"
|
|
10898
10898
|
},
|
|
10899
10899
|
{
|
|
10900
|
-
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.
|
|
10900
|
+
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.5",
|
|
10901
10901
|
"relatedSpdxElement": "SPDXRef-Package-oxc-transform-0.128.0",
|
|
10902
10902
|
"relationshipType": "DEPENDS_ON"
|
|
10903
10903
|
},
|
|
10904
10904
|
{
|
|
10905
|
-
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.
|
|
10905
|
+
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.5",
|
|
10906
10906
|
"relatedSpdxElement": "SPDXRef-Package-pg-8.20.0",
|
|
10907
10907
|
"relationshipType": "DEPENDS_ON"
|
|
10908
10908
|
},
|
|
10909
10909
|
{
|
|
10910
|
-
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.
|
|
10910
|
+
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.5",
|
|
10911
10911
|
"relatedSpdxElement": "SPDXRef-Package-picocolors-1.1.1",
|
|
10912
10912
|
"relationshipType": "DEPENDS_ON"
|
|
10913
10913
|
},
|
|
10914
10914
|
{
|
|
10915
|
-
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.
|
|
10915
|
+
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.5",
|
|
10916
10916
|
"relatedSpdxElement": "SPDXRef-Package-winston-daily-rotate-file-5.0.0",
|
|
10917
10917
|
"relationshipType": "DEPENDS_ON"
|
|
10918
10918
|
},
|
|
10919
10919
|
{
|
|
10920
|
-
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.
|
|
10920
|
+
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.5",
|
|
10921
10921
|
"relatedSpdxElement": "SPDXRef-Package-winston-3.19.0",
|
|
10922
10922
|
"relationshipType": "DEPENDS_ON"
|
|
10923
10923
|
},
|
|
10924
10924
|
{
|
|
10925
|
-
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.
|
|
10925
|
+
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.5",
|
|
10926
|
+
"relatedSpdxElement": "SPDXRef-Package-yaml-2.8.3",
|
|
10927
|
+
"relationshipType": "DEPENDS_ON"
|
|
10928
|
+
},
|
|
10929
|
+
{
|
|
10930
|
+
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.5",
|
|
10926
10931
|
"relatedSpdxElement": "SPDXRef-Package-zod-4.3.6",
|
|
10927
10932
|
"relationshipType": "DEPENDS_ON"
|
|
10928
10933
|
},
|
|
10929
10934
|
{
|
|
10930
|
-
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.
|
|
10935
|
+
"spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.5",
|
|
10931
10936
|
"relatedSpdxElement": "SPDXRef-Package-zx-8.8.5",
|
|
10932
10937
|
"relationshipType": "DEPENDS_ON"
|
|
10933
10938
|
},
|