@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.
Files changed (65) hide show
  1. package/README.md +13 -1
  2. package/dist/__test-helpers__/mock-db.d.ts +2 -0
  3. package/dist/agent/dispatcher.d.ts +110 -6
  4. package/dist/agent/registry.d.ts +14 -0
  5. package/dist/app.d.ts +11 -0
  6. package/dist/cache/agent-job-failed-error.d.ts +13 -0
  7. package/dist/cache/dispatch-cache-ref-tracker.d.ts +45 -0
  8. package/dist/cache/index.d.ts +2 -0
  9. package/dist/cache/user-cache.d.ts +116 -0
  10. package/dist/cancel/cancel-run.d.ts +56 -0
  11. package/dist/cli/commands/environment.d.ts +1 -0
  12. package/dist/cli/service/index.d.ts +1 -1
  13. package/dist/cli/service/instance/manifest.d.ts +9 -0
  14. package/dist/cli.js +601 -113
  15. package/dist/cluster/peer-registry.d.ts +6 -0
  16. package/dist/config/schema.d.ts +4 -0
  17. package/dist/config.d.ts +13 -0
  18. package/dist/dashboard/handler.d.ts +92 -1
  19. package/dist/db/migrations/025_init_failure.d.ts +16 -0
  20. package/dist/db/migrations/026_event_log_lockfile_corrupt.d.ts +11 -0
  21. package/dist/db/migrations/027_workflow_timeout.d.ts +20 -0
  22. package/dist/db/migrations/028_org_settings_user_cache.d.ts +4 -0
  23. package/dist/db/migrations/029_dispatch_queue_attempts.d.ts +16 -0
  24. package/dist/db/migrations/030_held_runs_env_set_null.d.ts +13 -0
  25. package/dist/db/migrations/031_dispatch_queue_ack_deadline.d.ts +19 -0
  26. package/dist/db/migrations/032_org_settings_dispatch_ack_timeout.d.ts +14 -0
  27. package/dist/db/types.d.ts +52 -2
  28. package/dist/diagnostics/checks/index.d.ts +2 -1
  29. package/dist/diagnostics/checks/scaler.d.ts +13 -0
  30. package/dist/diagnostics/types.d.ts +5 -2
  31. package/dist/environments/environment-store.d.ts +14 -1
  32. package/dist/index.d.ts +1 -0
  33. package/dist/index.js +362 -40
  34. package/dist/lockfile-cache.d.ts +1 -1
  35. package/dist/metrics/prometheus.d.ts +8 -0
  36. package/dist/orchestrator-core.d.ts +4 -1
  37. package/dist/pipeline/dispatch-matched-workflow.d.ts +9 -0
  38. package/dist/pipeline/inline-eval.d.ts +17 -2
  39. package/dist/pipeline/process-webhook.d.ts +19 -0
  40. package/dist/pipeline/processor.d.ts +6 -1
  41. package/dist/pipeline/test-pipeline.d.ts +10 -0
  42. package/dist/providers/github/lock-file.d.ts +1 -1
  43. package/dist/providers/internal/lock-file-fetcher.d.ts +3 -2
  44. package/dist/queue/job-queue.d.ts +53 -1
  45. package/dist/reporting/execution-tracker.d.ts +80 -7
  46. package/dist/routes/admin-environments.d.ts +1 -0
  47. package/dist/scaler/bare-metal-backend.d.ts +1 -0
  48. package/dist/scaler/container-backend.d.ts +3 -2
  49. package/dist/scaler/failure-tracker.d.ts +46 -0
  50. package/dist/scaler/firecracker-backend.d.ts +17 -0
  51. package/dist/scaler/manager.d.ts +10 -0
  52. package/dist/scaler/nftables.d.ts +25 -3
  53. package/dist/scaler/types.d.ts +26 -1
  54. package/dist/server.js +4421 -1459
  55. package/dist/stale-detector/workflow-deadline-detector.d.ts +49 -0
  56. package/dist/standalone.js +17003 -14561
  57. package/dist/storage/filesystem.d.ts +12 -3
  58. package/dist/storage/s3.d.ts +17 -4
  59. package/dist/storage/types.d.ts +25 -5
  60. package/dist/worker/in-memory-job-queue.d.ts +40 -7
  61. package/dist/ws/agent-handler.d.ts +13 -0
  62. package/dist/ws/dashboard-env-handler.d.ts +1 -0
  63. package/dist/ws/platform-client.d.ts +10 -1
  64. package/package.json +13 -10
  65. 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