@kici-dev/orchestrator 0.1.13 → 0.1.15
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/README.md +13 -1
- package/dist/__test-helpers__/mock-db.d.ts +2 -0
- package/dist/agent/dispatcher.d.ts +110 -6
- package/dist/agent/registry.d.ts +14 -0
- package/dist/app.d.ts +11 -0
- package/dist/cache/agent-job-failed-error.d.ts +13 -0
- package/dist/cache/dispatch-cache-ref-tracker.d.ts +45 -0
- package/dist/cache/index.d.ts +2 -0
- package/dist/cache/user-cache.d.ts +116 -0
- package/dist/cancel/cancel-run.d.ts +56 -0
- package/dist/cli/commands/environment.d.ts +1 -0
- package/dist/cli/service/index.d.ts +1 -1
- package/dist/cli/service/instance/manifest.d.ts +9 -0
- package/dist/cli.js +601 -113
- package/dist/cluster/peer-registry.d.ts +6 -0
- package/dist/config/schema.d.ts +4 -0
- package/dist/config.d.ts +13 -0
- package/dist/dashboard/handler.d.ts +92 -1
- package/dist/db/migrations/025_init_failure.d.ts +16 -0
- package/dist/db/migrations/026_event_log_lockfile_corrupt.d.ts +11 -0
- package/dist/db/migrations/027_workflow_timeout.d.ts +20 -0
- package/dist/db/migrations/028_org_settings_user_cache.d.ts +4 -0
- package/dist/db/migrations/029_dispatch_queue_attempts.d.ts +16 -0
- package/dist/db/migrations/030_held_runs_env_set_null.d.ts +13 -0
- package/dist/db/migrations/031_dispatch_queue_ack_deadline.d.ts +19 -0
- package/dist/db/migrations/032_org_settings_dispatch_ack_timeout.d.ts +14 -0
- package/dist/db/types.d.ts +52 -2
- package/dist/diagnostics/checks/index.d.ts +2 -1
- package/dist/diagnostics/checks/scaler.d.ts +13 -0
- package/dist/diagnostics/types.d.ts +5 -2
- package/dist/environments/environment-store.d.ts +14 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +362 -40
- package/dist/lockfile-cache.d.ts +1 -1
- package/dist/metrics/prometheus.d.ts +8 -0
- package/dist/orchestrator-core.d.ts +4 -1
- package/dist/pipeline/dispatch-matched-workflow.d.ts +9 -0
- package/dist/pipeline/inline-eval.d.ts +17 -2
- package/dist/pipeline/process-webhook.d.ts +19 -0
- package/dist/pipeline/processor.d.ts +6 -1
- package/dist/pipeline/test-pipeline.d.ts +10 -0
- package/dist/providers/github/lock-file.d.ts +1 -1
- package/dist/providers/internal/lock-file-fetcher.d.ts +3 -2
- package/dist/queue/job-queue.d.ts +53 -1
- package/dist/reporting/execution-tracker.d.ts +80 -7
- package/dist/routes/admin-environments.d.ts +1 -0
- package/dist/scaler/bare-metal-backend.d.ts +1 -0
- package/dist/scaler/container-backend.d.ts +3 -2
- package/dist/scaler/failure-tracker.d.ts +46 -0
- package/dist/scaler/firecracker-backend.d.ts +17 -0
- package/dist/scaler/manager.d.ts +10 -0
- package/dist/scaler/nftables.d.ts +25 -3
- package/dist/scaler/types.d.ts +26 -1
- package/dist/server.js +4421 -1459
- package/dist/stale-detector/workflow-deadline-detector.d.ts +49 -0
- package/dist/standalone.js +17003 -14561
- package/dist/storage/filesystem.d.ts +12 -3
- package/dist/storage/s3.d.ts +17 -4
- package/dist/storage/types.d.ts +25 -5
- package/dist/worker/in-memory-job-queue.d.ts +40 -7
- package/dist/ws/agent-handler.d.ts +13 -0
- package/dist/ws/dashboard-env-handler.d.ts +1 -0
- package/dist/ws/platform-client.d.ts +10 -1
- package/package.json +13 -10
- package/sbom.spdx.json +91 -36
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WorkflowDeadlineDetector: periodic DB scanner enforcing the workflow-level
|
|
3
|
+
* run deadline.
|
|
4
|
+
*
|
|
5
|
+
* A workflow `timeout` caps the whole run's wall-clock across all jobs.
|
|
6
|
+
* Because jobs span multiple agents, the cap is a run-level deadline owned by
|
|
7
|
+
* the orchestrator. This scanner finds non-terminal runs whose
|
|
8
|
+
* `started_at + workflow_timeout_ms` has passed and cancels them through the
|
|
9
|
+
* canonical run-cancel path, recording the distinct
|
|
10
|
+
* TimeoutReason.workflow_timeout so the dashboard labels the run "timed out"
|
|
11
|
+
* rather than a generic cancel.
|
|
12
|
+
*/
|
|
13
|
+
import { type Kysely } from 'kysely';
|
|
14
|
+
import type { Database } from '../db/types.js';
|
|
15
|
+
import type { JobQueue } from '../queue/job-queue.js';
|
|
16
|
+
export interface WorkflowDeadlineDetectorDeps {
|
|
17
|
+
db: Kysely<Database>;
|
|
18
|
+
/**
|
|
19
|
+
* Canonical "cancel this whole run with a reason" callback — the same
|
|
20
|
+
* implementation the user-initiated `kici cancel` route uses
|
|
21
|
+
* (cancelRunWithReason bound to the orchestrator's deps).
|
|
22
|
+
*/
|
|
23
|
+
cancelRun: (runId: string, reason: string) => Promise<unknown>;
|
|
24
|
+
jobQueue: JobQueue;
|
|
25
|
+
/** How often to scan in ms. Default supplied by the caller (reuses the stale-detector interval). */
|
|
26
|
+
scanIntervalMs: number;
|
|
27
|
+
}
|
|
28
|
+
export declare class WorkflowDeadlineDetector {
|
|
29
|
+
private readonly db;
|
|
30
|
+
private readonly cancelRun;
|
|
31
|
+
private readonly jobQueue;
|
|
32
|
+
private readonly scanIntervalMs;
|
|
33
|
+
private interval;
|
|
34
|
+
constructor(deps: WorkflowDeadlineDetectorDeps);
|
|
35
|
+
/**
|
|
36
|
+
* Start the detector: an immediate scan (crash recovery — catch runs that
|
|
37
|
+
* blew their deadline while the orchestrator was down), then periodic scans.
|
|
38
|
+
*/
|
|
39
|
+
start(): Promise<void>;
|
|
40
|
+
stop(): void;
|
|
41
|
+
/**
|
|
42
|
+
* Run a single deadline scan: find non-terminal runs with a configured
|
|
43
|
+
* workflow timeout whose `started_at + workflow_timeout_ms` has passed and
|
|
44
|
+
* cancel each one.
|
|
45
|
+
*/
|
|
46
|
+
scan(): Promise<void>;
|
|
47
|
+
private cancelOverdueRun;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=workflow-deadline-detector.d.ts.map
|