@kici-dev/orchestrator 0.17.0 → 0.19.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.
- package/dist/agent/agent-version.d.ts +12 -21
- package/dist/agent/dispatcher.d.ts +283 -437
- package/dist/agent/host-roster-reaper.d.ts +8 -10
- package/dist/agent/host-roster.d.ts +77 -100
- package/dist/agent/ownership-refusal.d.ts +3 -5
- package/dist/agent/ownership-tracker.d.ts +42 -76
- package/dist/agent/registry.d.ts +137 -230
- package/dist/agent/token-store.d.ts +34 -77
- package/dist/agent-packaging/availability.d.ts +6 -9
- package/dist/agent-packaging/download.d.ts +6 -9
- package/dist/agent-packaging/install-closure.d.ts +9 -12
- package/dist/agent-packaging/node-binary.d.ts +6 -10
- package/dist/agent-packaging/node-runtime-members.d.ts +3 -5
- package/dist/agent-packaging/refresh.d.ts +12 -16
- package/dist/agent-packaging/store.d.ts +5 -6
- package/dist/agent-packaging/upload.d.ts +3 -4
- package/dist/app.d.ts +0 -3
- package/dist/approvals/apply-decision.d.ts +35 -52
- package/dist/approvals/approval-resolver.d.ts +11 -23
- package/dist/approvals/held-run-release-wiring.d.ts +14 -21
- package/dist/approvals/independent-wiring.d.ts +13 -20
- package/dist/approvals/resume-router.d.ts +1 -1
- package/dist/approvals/step-approval-bridge.d.ts +11 -21
- package/dist/approvals/triggerer-subject.d.ts +8 -10
- package/dist/artifacts/artifact-store.d.ts +55 -95
- package/dist/artifacts/failure-messages.d.ts +15 -20
- package/dist/audit/access-log.d.ts +27 -45
- package/dist/audit/sampling-rate-limiter.d.ts +11 -23
- package/dist/cache/agent-job-failed-error.d.ts +2 -3
- package/dist/cache/build-coordinator.d.ts +5 -28
- package/dist/cache/cache-upload-settle.d.ts +11 -11
- package/dist/cache/dep-cache.d.ts +32 -60
- package/dist/cache/dispatch-cache-ref-tracker.d.ts +15 -23
- package/dist/cache/global-eval-round-cache.d.ts +33 -41
- package/dist/cache/pending-builds.d.ts +2 -6
- package/dist/cache/pending-dynamics.d.ts +2 -7
- package/dist/cache/pending-global-evals.d.ts +9 -12
- package/dist/cache/pending-inits.d.ts +11 -22
- package/dist/cache/pending-precursor-db-watcher.d.ts +24 -32
- package/dist/cache/pending-tracker.d.ts +17 -45
- package/dist/cache/precursor-result.d.ts +17 -30
- package/dist/cache/source-cache.d.ts +36 -65
- package/dist/cache/user-cache.d.ts +21 -25
- package/dist/cancel/cancel-held-run.d.ts +13 -16
- package/dist/cancel/cancel-route-answer.d.ts +1 -2
- package/dist/cancel/cancel-run.d.ts +26 -50
- package/dist/cancel/dashboard-cancel-handler.d.ts +2 -2
- package/dist/cancel/peer-job-cancel.d.ts +11 -14
- package/dist/cancel/sweep-stuck-cancelling.d.ts +9 -13
- package/dist/cli/api-client.d.ts +25 -76
- package/dist/cli/commands/access-log.d.ts +4 -24
- package/dist/cli/commands/agent-package.d.ts +7 -15
- package/dist/cli/commands/agent-service/agent-env.d.ts +3 -6
- package/dist/cli/commands/agent-service/index.d.ts +4 -10
- package/dist/cli/commands/agent-service/install.d.ts +4 -11
- package/dist/cli/commands/agent-service/status.d.ts +4 -9
- package/dist/cli/commands/agent-service/upgrade.d.ts +4 -16
- package/dist/cli/commands/agent.d.ts +12 -25
- package/dist/cli/commands/api-key.d.ts +5 -12
- package/dist/cli/commands/attestations-list.d.ts +7 -17
- package/dist/cli/commands/attestations-retry.d.ts +5 -11
- package/dist/cli/commands/attestations-reverify.d.ts +4 -5
- package/dist/cli/commands/attestations.d.ts +3 -8
- package/dist/cli/commands/audit.d.ts +1 -5
- package/dist/cli/commands/backend.d.ts +2 -11
- package/dist/cli/commands/check-run.d.ts +7 -18
- package/dist/cli/commands/cluster-name.d.ts +5 -12
- package/dist/cli/commands/cluster-settings.d.ts +28 -53
- package/dist/cli/commands/cold-store.d.ts +7 -15
- package/dist/cli/commands/config.d.ts +9 -20
- package/dist/cli/commands/context.d.ts +8 -20
- package/dist/cli/commands/dashboard-encryption-key.d.ts +9 -14
- package/dist/cli/commands/db-backup.d.ts +17 -32
- package/dist/cli/commands/db.d.ts +3 -4
- package/dist/cli/commands/debug-bundle.d.ts +3 -10
- package/dist/cli/commands/diagnose.d.ts +3 -14
- package/dist/cli/commands/event-dlq.d.ts +4 -12
- package/dist/cli/commands/event-log.d.ts +2 -20
- package/dist/cli/commands/execution.d.ts +3 -9
- package/dist/cli/commands/firecracker/index.d.ts +3 -6
- package/dist/cli/commands/held-run.d.ts +23 -37
- package/dist/cli/commands/host.d.ts +4 -11
- package/dist/cli/commands/inspect-bundle.d.ts +3 -11
- package/dist/cli/commands/local-hook.d.ts +2 -10
- package/dist/cli/commands/local-trigger.d.ts +2 -2
- package/dist/cli/commands/orchestrator-service/drain.d.ts +3 -6
- package/dist/cli/commands/orchestrator-service/index.d.ts +6 -14
- package/dist/cli/commands/orchestrator-service/install-env.d.ts +25 -49
- package/dist/cli/commands/orchestrator-service/install.d.ts +2 -5
- package/dist/cli/commands/orchestrator-service/status.d.ts +10 -22
- package/dist/cli/commands/orchestrator-service/upgrade.d.ts +6 -15
- package/dist/cli/commands/org-settings.d.ts +5 -11
- package/dist/cli/commands/peer.d.ts +5 -10
- package/dist/cli/commands/queue.d.ts +3 -9
- package/dist/cli/commands/registration.d.ts +4 -8
- package/dist/cli/commands/remote-source.d.ts +6 -12
- package/dist/cli/commands/rotate.d.ts +1 -5
- package/dist/cli/commands/runs.d.ts +1 -30
- package/dist/cli/commands/scaler.d.ts +5 -12
- package/dist/cli/commands/secret.d.ts +1 -9
- package/dist/cli/commands/service-health.d.ts +5 -10
- package/dist/cli/commands/shared/admin-cli-access-log.d.ts +10 -19
- package/dist/cli/commands/shared/bare-metal-binary-check.d.ts +86 -0
- package/dist/cli/commands/shared/cli-action.d.ts +1 -4
- package/dist/cli/commands/shared/confirm.d.ts +5 -10
- package/dist/cli/commands/shared/db.d.ts +1 -12
- package/dist/cli/commands/shared/env-file-mode.d.ts +6 -9
- package/dist/cli/commands/shared/secret-input.d.ts +7 -21
- package/dist/cli/commands/shared/service-verbs.d.ts +6 -12
- package/dist/cli/commands/shared/unbound-context-warning.d.ts +2 -4
- package/dist/cli/commands/shared/upgrade-hooks.d.ts +7 -16
- package/dist/cli/commands/shared/upgrade-safety.d.ts +20 -31
- package/dist/cli/commands/shared/versioned-upgrade.d.ts +83 -161
- package/dist/cli/commands/signing-key.d.ts +4 -9
- package/dist/cli/commands/source-manifest.d.ts +11 -14
- package/dist/cli/commands/source.d.ts +7 -32
- package/dist/cli/commands/token.d.ts +4 -15
- package/dist/cli/commands/trust-policy.d.ts +35 -88
- package/dist/cli/commands/variable.d.ts +3 -5
- package/dist/cli/commands/workflow.d.ts +3 -24
- package/dist/cli/join.d.ts +3 -6
- package/dist/cli/kici-admin.d.ts +11 -29
- package/dist/cli/lazy-deps/cache.d.ts +1 -14
- package/dist/cli/lazy-deps/downloader.d.ts +4 -27
- package/dist/cli/lazy-deps/registry.d.ts +5 -25
- package/dist/cli/local-github-ingress-url.d.ts +5 -7
- package/dist/cli/loopback-callback.d.ts +6 -7
- package/dist/cli/open-browser.d.ts +4 -8
- package/dist/cli/root-option-routing.d.ts +17 -29
- package/dist/cli/service/backup-timer.d.ts +16 -39
- package/dist/cli/service/compose-path.d.ts +3 -7
- package/dist/cli/service/compose.d.ts +12 -30
- package/dist/cli/service/deploy-env.d.ts +6 -18
- package/dist/cli/service/entrypoint.d.ts +14 -25
- package/dist/cli/service/env-assignment.d.ts +6 -17
- package/dist/cli/service/image-digests.d.ts +6 -15
- package/dist/cli/service/index.d.ts +2 -18
- package/dist/cli/service/instance/index-file.d.ts +9 -16
- package/dist/cli/service/instance/manifest.d.ts +60 -60
- package/dist/cli/service/instance/resolve.d.ts +32 -68
- package/dist/cli/service/instance/types.d.ts +12 -29
- package/dist/cli/service/launchd.d.ts +29 -60
- package/dist/cli/service/platform-detect.d.ts +13 -68
- package/dist/cli/service/privilege.d.ts +12 -25
- package/dist/cli/service/shutdown-grace.d.ts +11 -20
- package/dist/cli/service/systemd.d.ts +7 -20
- package/dist/cli/service/types.d.ts +63 -114
- package/dist/cli/service/windows-acl.d.ts +14 -21
- package/dist/cli/service/windows-env-file.d.ts +10 -28
- package/dist/cli/service/windows.d.ts +15 -31
- package/dist/cli/webhook-url-notes.d.ts +4 -6
- package/dist/cli/wizard/agent-wizard.d.ts +3 -14
- package/dist/cli/wizard/orchestrator-wizard.d.ts +12 -37
- package/dist/cli/wizard/prompts.d.ts +6 -16
- package/dist/cli.js +8207 -10128
- package/dist/cluster/cluster-identity.d.ts +20 -32
- package/dist/cluster/cluster-settings-reader.d.ts +50 -77
- package/dist/cluster/coordinator-credential.d.ts +4 -5
- package/dist/cluster/coordinator.d.ts +76 -148
- package/dist/cluster/health-api.d.ts +2 -10
- package/dist/cluster/index.d.ts +1 -6
- package/dist/cluster/instance-heartbeat.d.ts +26 -42
- package/dist/cluster/join-client.d.ts +4 -7
- package/dist/cluster/join-handler.d.ts +3 -7
- package/dist/cluster/join-token.d.ts +13 -27
- package/dist/cluster/leader-gated-scheduler.d.ts +8 -17
- package/dist/cluster/orphan-recovery.d.ts +13 -35
- package/dist/cluster/peer-auth-coordinator.d.ts +2 -8
- package/dist/cluster/peer-client.d.ts +46 -76
- package/dist/cluster/peer-credentials.d.ts +24 -70
- package/dist/cluster/peer-crypto.d.ts +5 -26
- package/dist/cluster/peer-forget.d.ts +3 -3
- package/dist/cluster/peer-handler.d.ts +47 -71
- package/dist/cluster/peer-registry.d.ts +37 -106
- package/dist/cluster/plan-headroom-store.d.ts +4 -6
- package/dist/cluster/raft-state.d.ts +4 -13
- package/dist/cluster/raft.d.ts +18 -53
- package/dist/cluster/reconcile-identity.d.ts +8 -11
- package/dist/cluster/rerouted-job-guard.d.ts +7 -11
- package/dist/cluster/verified-issuer.d.ts +2 -3
- package/dist/cluster/worker-cluster-settings.d.ts +7 -10
- package/dist/cluster/worker-eviction.d.ts +16 -26
- package/dist/cold-store/load-access-log-range.d.ts +15 -31
- package/dist/cold-store/load-event-log-range.d.ts +13 -27
- package/dist/cold-store/load-secret-audit-log-range.d.ts +8 -12
- package/dist/cold-store/orchestrator-cold-store.d.ts +8 -28
- package/dist/cold-store/tables/access-log.d.ts +12 -14
- package/dist/cold-store/tables/event-log.d.ts +4 -8
- package/dist/cold-store/tables/execution-runs.d.ts +6 -11
- package/dist/cold-store/tables/secret-audit-log.d.ts +5 -12
- package/dist/concurrency/dispatch-next-queued.d.ts +13 -25
- package/dist/concurrency/queue-manager.d.ts +22 -54
- package/dist/concurrency/waiters.d.ts +15 -31
- package/dist/config/encryption.d.ts +0 -2
- package/dist/config/loader.d.ts +0 -1
- package/dist/config/reload.d.ts +0 -6
- package/dist/config/resolver.d.ts +0 -4
- package/dist/config/shared-store.d.ts +0 -2
- package/dist/config/types.d.ts +0 -3
- package/dist/content-requirements-cache.d.ts +0 -1
- package/dist/contexts/context-store.d.ts +0 -2
- package/dist/contexts/held-runs.d.ts +0 -2
- package/dist/contexts/variable-store.d.ts +0 -2
- package/dist/dashboard/attestation-filters.d.ts +13 -18
- package/dist/dashboard/handler.d.ts +145 -307
- package/dist/db/client.d.ts +2 -6
- package/dist/db/deferred-index-build.d.ts +8 -10
- package/dist/db/deferred-indexes.d.ts +15 -22
- package/dist/db/migration-provider.d.ts +2 -4
- package/dist/db/migration-test-harness.d.ts +26 -44
- package/dist/db/migrations/001_initial.d.ts +1 -4
- package/dist/db/migrations/002_config_versions_key_version.d.ts +5 -8
- package/dist/db/migrations/003_access_log.d.ts +10 -15
- package/dist/db/migrations/004_rename_bundle_to_source.d.ts +7 -9
- package/dist/db/migrations/005_cold_store_chunk_counter.d.ts +4 -10
- package/dist/db/migrations/006_runs_jobs_steps_archived_at.d.ts +9 -29
- package/dist/db/migrations/007_audit_logs_archived_at.d.ts +11 -30
- package/dist/db/migrations/008_event_log_archived_at.d.ts +14 -29
- package/dist/db/migrations/009_access_log_trigram.d.ts +4 -8
- package/dist/db/migrations/010_cold_store_chunks.d.ts +16 -26
- package/dist/db/migrations/011_drop_source_secrets_notify.d.ts +6 -14
- package/dist/db/migrations/012_peer_credentials_active_uniq.d.ts +9 -14
- package/dist/db/migrations/013_execution_log_bytes.d.ts +5 -13
- package/dist/db/migrations/014_kici_events_lease_retry.d.ts +14 -27
- package/dist/db/migrations/015_org_settings_customer_scoped.d.ts +12 -17
- package/dist/db/migrations/016_org_settings_allow_http_npm.d.ts +4 -6
- package/dist/db/migrations/019_generic_sources_change_notify.d.ts +13 -17
- package/dist/db/migrations/020_org_settings_dashboard_write_policy.d.ts +5 -8
- package/dist/db/migrations/021_check_run_tracking.d.ts +5 -17
- package/dist/db/migrations/022_scaler_manager_state.d.ts +10 -20
- package/dist/db/migrations/023_dispatch_queue_recovery_deadline.d.ts +7 -18
- package/dist/db/migrations/024_dispatch_queue_provisioning_error.d.ts +5 -11
- package/dist/db/migrations/025_init_failure.d.ts +5 -9
- package/dist/db/migrations/027_workflow_timeout.d.ts +5 -13
- package/dist/db/migrations/029_dispatch_queue_attempts.d.ts +4 -10
- package/dist/db/migrations/030_held_runs_env_set_null.d.ts +5 -6
- package/dist/db/migrations/031_dispatch_queue_ack_deadline.d.ts +6 -12
- package/dist/db/migrations/033_org_settings_approval.d.ts +7 -10
- package/dist/db/migrations/034_held_runs_generalize.d.ts +10 -18
- package/dist/db/migrations/035_pending_workflow_contexts.d.ts +4 -5
- package/dist/db/migrations/037_generic_sources_provider_type_local.d.ts +5 -6
- package/dist/db/migrations/038_remote_sources.d.ts +5 -7
- package/dist/db/migrations/045_host_properties.d.ts +5 -9
- package/dist/db/migrations/046_join_token_consumed_by_instance.d.ts +5 -10
- package/dist/db/migrations/048_host_reboot_pending.d.ts +6 -12
- package/dist/db/migrations/049_held_runs_payload.d.ts +3 -8
- package/dist/db/migrations/050_sources_slug.d.ts +4 -5
- package/dist/db/migrations/051_binding_host_pattern.d.ts +7 -10
- package/dist/db/migrations/052_host_reach_metadata.d.ts +8 -11
- package/dist/db/migrations/053_agent_token_single_use.d.ts +6 -10
- package/dist/db/migrations/054_local_working_tree.d.ts +4 -6
- package/dist/db/migrations/055_agent_token_mandatory_labels.d.ts +6 -11
- package/dist/db/migrations/056_execution_jobs_environments.d.ts +4 -11
- package/dist/db/migrations/064_execution_jobs_skipped_environments.d.ts +6 -9
- package/dist/db/migrations/065_pending_attestations.d.ts +9 -12
- package/dist/db/migrations/066_pending_attestations_rejected.d.ts +4 -7
- package/dist/db/migrations/068_request_idempotency.d.ts +7 -9
- package/dist/db/migrations/069_reroute_tunables.d.ts +6 -14
- package/dist/db/migrations/071_batch_accumulation.d.ts +8 -16
- package/dist/db/migrations/072_dispatch_queue_run_id_index.d.ts +3 -9
- package/dist/db/migrations/074_normalize_zero_concurrency_limit.d.ts +4 -7
- package/dist/db/migrations/076_artifacts.d.ts +7 -8
- package/dist/db/migrations/078_org_settings_backup_staleness.d.ts +3 -6
- package/dist/db/migrations/079_org_settings_scaler_spawn_timeout.d.ts +4 -8
- package/dist/db/migrations/080_cluster_settings.d.ts +6 -10
- package/dist/db/migrations/081_org_settings_queue_timeout.d.ts +7 -11
- package/dist/db/migrations/082_host_s3_reachable.d.ts +5 -10
- package/dist/db/migrations/083_org_settings_artifact_caps.d.ts +6 -8
- package/dist/db/migrations/084_orchestrator_signing_keys.d.ts +8 -13
- package/dist/db/migrations/085_cluster_settings_reroute_flap_grace_ms.d.ts +4 -5
- package/dist/db/migrations/086_cluster_settings_max_fanout_hosts.d.ts +3 -3
- package/dist/db/migrations/087_cluster_settings_event_router_rate_limit.d.ts +5 -3
- package/dist/db/migrations/088_cluster_settings_cache_max_tarball_bytes.d.ts +3 -3
- package/dist/db/migrations/089_cluster_settings_cache_ttl_days.d.ts +3 -5
- package/dist/db/migrations/090_cluster_settings_concurrency_wait_timeout_ms.d.ts +3 -6
- package/dist/db/migrations/091_cluster_settings_agent_token_ttl_ms.d.ts +3 -6
- package/dist/db/migrations/092_cluster_settings_version.d.ts +5 -9
- package/dist/db/migrations/094_dashboard_encryption_keys.d.ts +9 -14
- package/dist/db/migrations/095_dashboard_write_policy_tristate.d.ts +2 -6
- package/dist/db/migrations/099_cluster_settings_dashboard_verified_issuer.d.ts +8 -11
- package/dist/db/migrations/101_contexts_hold_expiry_drop_default.d.ts +9 -15
- package/dist/db/migrations/102_dispatch_queue_agent_id.d.ts +6 -11
- package/dist/db/migrations/103_cluster_settings_ownership_db_check_timeout_ms.d.ts +6 -12
- package/dist/db/migrations/104_check_run_terminal_sent.d.ts +8 -14
- package/dist/db/migrations/105_org_trust_policy.d.ts +5 -7
- package/dist/db/migrations/106_cluster_settings_check_run_tracking_ttl_days.d.ts +4 -12
- package/dist/db/migrations/107_check_run_tracking_updated_at_index.d.ts +8 -14
- package/dist/db/migrations/113_execution_runs_workflow_repo_index.d.ts +10 -19
- package/dist/db/migrations/115_global_workflows_cluster_switch.d.ts +2 -3
- package/dist/db/migrations/121_org_settings_allow_untrusted_dockerfile_builds.d.ts +7 -8
- package/dist/db/migrations/122_host_roster_scaler_managed.d.ts +9 -16
- package/dist/db/migrations/123_workflow_registrations_default_branch.d.ts +8 -16
- package/dist/db/migrations/125_org_trust_directory.d.ts +13 -21
- package/dist/db/migrations/126_held_runs_posted_pending_check.d.ts +10 -16
- package/dist/db/migrations/127_org_trust_policy_approval_expiry_seconds.d.ts +8 -16
- package/dist/db/migrations/128_execution_runs_global_eval_round.d.ts +6 -11
- package/dist/db/migrations/129_execution_runs_dispatch_routing_key.d.ts +8 -11
- package/dist/db/migrations/130_scaler_provision_outcomes.d.ts +13 -20
- package/dist/db/migrations/131_execution_jobs_git_credentials.d.ts +12 -22
- package/dist/db/migrations/132_execution_runs_trigger_event.d.ts +6 -16
- package/dist/db/migrations/133_dispatch_queue_source_tar_digest.d.ts +6 -9
- package/dist/db/migrations/140_dispatch_queue_canonical_labels.d.ts +22 -40
- package/dist/db/migrations/143_execution_jobs_precursor_result.d.ts +9 -18
- package/dist/db/migrations/144_execution_runs_registration_window.d.ts +12 -20
- package/dist/db/migrations/147_sealed_job_secrets.d.ts +5 -9
- package/dist/db/migrations/148_cluster_settings_sealed_secrets_retry_backoff_ms.d.ts +7 -13
- package/dist/db/migrations/150_execution_runs_status_epoch.d.ts +6 -11
- package/dist/db/migrations/152_org_settings_cache_upload_settle_timeout.d.ts +5 -8
- package/dist/db/migrations/157_host_roster_identity_source.d.ts +9 -13
- package/dist/db/migrations/159_org_id_widen_to_source_width.d.ts +5 -0
- package/dist/db/migrator.d.ts +17 -25
- package/dist/db/notify-listener.d.ts +8 -11
- package/dist/db/repos/dashboard-encryption-keys-repo.d.ts +9 -10
- package/dist/db/synthetic-job-ids.d.ts +6 -8
- package/dist/db/types.d.ts +531 -1058
- package/dist/deployment/deployment-identity.d.ts +42 -60
- package/dist/diagnostics/bundle-reader.d.ts +3 -15
- package/dist/diagnostics/bundle-writer.d.ts +5 -12
- package/dist/diagnostics/checks/agents.d.ts +1 -7
- package/dist/diagnostics/checks/backup.d.ts +7 -10
- package/dist/diagnostics/checks/certs.d.ts +1 -6
- package/dist/diagnostics/checks/config.d.ts +2 -5
- package/dist/diagnostics/checks/db.d.ts +1 -1
- package/dist/diagnostics/checks/disk.d.ts +1 -6
- package/dist/diagnostics/checks/firecracker-network.d.ts +3 -3
- package/dist/diagnostics/checks/index.d.ts +0 -6
- package/dist/diagnostics/checks/retention.d.ts +3 -6
- package/dist/diagnostics/checks/scaler.d.ts +3 -7
- package/dist/diagnostics/checks/ws.d.ts +1 -6
- package/dist/diagnostics/fleet-collector.d.ts +11 -14
- package/dist/diagnostics/fleet-constants.d.ts +1 -3
- package/dist/diagnostics/fleet-selection.d.ts +3 -7
- package/dist/diagnostics/fleet-topology.d.ts +2 -6
- package/dist/diagnostics/fleet-wiring.d.ts +6 -12
- package/dist/diagnostics/index.d.ts +0 -5
- package/dist/diagnostics/runner.d.ts +4 -8
- package/dist/diagnostics/types.d.ts +10 -21
- package/dist/drain/drain-controller.d.ts +16 -22
- package/dist/entry-helpers.d.ts +0 -2
- package/dist/events/circuit-breaker.d.ts +0 -3
- package/dist/events/event-router.d.ts +1 -2
- package/dist/events/event-store.d.ts +0 -9
- package/dist/events/trust-store.d.ts +0 -3
- package/dist/events/types.d.ts +0 -9
- package/dist/firecracker/host-network.d.ts +24 -30
- package/dist/firecracker/net-interfaces.d.ts +4 -7
- package/dist/helpers/rate-limiter.d.ts +0 -1
- package/dist/index.js +240 -482
- package/dist/metrics/agent-metrics-aggregator.d.ts +24 -67
- package/dist/metrics/metrics-reporter.d.ts +4 -13
- package/dist/metrics/prometheus.d.ts +47 -81
- package/dist/orchestrator-core.d.ts +3 -7
- package/dist/pipeline/content-filter.d.ts +20 -30
- package/dist/pipeline/cross-source-tally.d.ts +7 -8
- package/dist/pipeline/decorating-secret-resolver.d.ts +4 -8
- package/dist/pipeline/degraded-reason.d.ts +3 -4
- package/dist/pipeline/direct-ingress-deps.d.ts +15 -24
- package/dist/pipeline/dispatch-matched-workflow.d.ts +290 -526
- package/dist/pipeline/flatten-lock-steps.d.ts +4 -6
- package/dist/pipeline/global-dispatch-identity.d.ts +5 -10
- package/dist/pipeline/global-eval-round.d.ts +62 -156
- package/dist/pipeline/global-round-hold.d.ts +5 -7
- package/dist/pipeline/held-context-data.d.ts +5 -8
- package/dist/pipeline/held-round-registrations.d.ts +8 -11
- package/dist/pipeline/install-gate.d.ts +15 -25
- package/dist/pipeline/install-secrets-resolver.d.ts +24 -34
- package/dist/pipeline/internal-event-pipeline.d.ts +45 -62
- package/dist/pipeline/invoke-gate.d.ts +27 -40
- package/dist/pipeline/job-contexts.d.ts +19 -36
- package/dist/pipeline/manual-schedule.d.ts +7 -13
- package/dist/pipeline/needs-scheduler.d.ts +29 -46
- package/dist/pipeline/pending-workflow-context.d.ts +14 -28
- package/dist/pipeline/process-webhook.d.ts +88 -123
- package/dist/pipeline/processor.d.ts +209 -355
- package/dist/pipeline/remote-source-store.d.ts +5 -8
- package/dist/pipeline/request-idempotency.d.ts +10 -13
- package/dist/pipeline/rerun-global.d.ts +6 -7
- package/dist/pipeline/rerun-inputs.d.ts +23 -37
- package/dist/pipeline/rerun.d.ts +34 -57
- package/dist/pipeline/resolve-sandbox-grant.d.ts +5 -10
- package/dist/pipeline/resume-workflow.d.ts +28 -34
- package/dist/pipeline/route-or-dispatch-jobs.d.ts +19 -30
- package/dist/pipeline/run-event-context.d.ts +16 -21
- package/dist/pipeline/sandbox-allowlist-reader.d.ts +7 -11
- package/dist/pipeline/security-hold-check.d.ts +56 -80
- package/dist/pipeline/test-pipeline.d.ts +20 -46
- package/dist/pipeline/unbound-job-context.d.ts +6 -9
- package/dist/pipeline/undispatched-hold-checks.d.ts +4 -6
- package/dist/pipeline/wave-scheduler.d.ts +15 -22
- package/dist/pipeline/webhook-payload-store.d.ts +3 -10
- package/dist/pipeline/workflow-lock-at-sha.d.ts +14 -20
- package/dist/policy/dashboard-write-policy.d.ts +1 -1
- package/dist/provider-registry.d.ts +0 -19
- package/dist/providers/generic/index.d.ts +0 -2
- package/dist/providers/generic/normalizer.d.ts +0 -1
- package/dist/providers/generic/verification.d.ts +0 -8
- package/dist/providers/github/auth.d.ts +0 -1
- package/dist/providers/github/changed-files.d.ts +2 -1
- package/dist/providers/github/file-contents.d.ts +0 -4
- package/dist/providers/github/lock-file.d.ts +0 -4
- package/dist/providers/github/normalizer.d.ts +1 -9
- package/dist/providers/local/index.d.ts +1 -2
- package/dist/providers/local/lock-file-fetcher.d.ts +0 -4
- package/dist/providers/local/normalizer.d.ts +0 -10
- package/dist/providers/local/repo-url-builder.d.ts +0 -2
- package/dist/providers/universal-git/clone-token.d.ts +0 -2
- package/dist/providers/universal-git/lock-file.d.ts +0 -2
- package/dist/providers/universal-git/normalizer.d.ts +0 -2
- package/dist/queue/bootstrap.d.ts +3 -15
- package/dist/queue/cleanup.d.ts +29 -50
- package/dist/queue/depth-refresher.d.ts +21 -39
- package/dist/queue/job-queue.d.ts +112 -163
- package/dist/queue/retention.d.ts +23 -36
- package/dist/queue/scheduled-job.d.ts +17 -39
- package/dist/queue/terminalize-unroutable.d.ts +16 -18
- package/dist/queue/unroutable-probe.d.ts +15 -22
- package/dist/registration/extractor.d.ts +0 -6
- package/dist/registration/registration-index.d.ts +0 -6
- package/dist/registration/registration-store.d.ts +0 -9
- package/dist/reporting/agent-failure-category.d.ts +3 -5
- package/dist/reporting/check-run-reporter.d.ts +142 -316
- package/dist/reporting/check-run-summary.d.ts +16 -35
- package/dist/reporting/check-run-tracking-store.d.ts +54 -107
- package/dist/reporting/execution-tracker.d.ts +356 -526
- package/dist/reporting/fs-log-storage.d.ts +31 -33
- package/dist/reporting/job-check-run-completion.d.ts +14 -22
- package/dist/reporting/log-chunk-sink.d.ts +11 -16
- package/dist/reporting/log-pull-handler.d.ts +4 -13
- package/dist/reporting/log-retention.d.ts +3 -4
- package/dist/reporting/log-storage.d.ts +24 -52
- package/dist/reporting/log-writer.d.ts +28 -56
- package/dist/reporting/peer-log-normalize.d.ts +4 -8
- package/dist/reporting/run-aggregator.d.ts +6 -11
- package/dist/reporting/run-summary-fields.d.ts +5 -8
- package/dist/reporting/s3-log-storage.d.ts +31 -50
- package/dist/reporting/step-display-order.d.ts +11 -21
- package/dist/reporting/step-log-buffer.d.ts +7 -28
- package/dist/reporting/step-log-reader.d.ts +11 -19
- package/dist/routes/admin-access-log.d.ts +4 -6
- package/dist/routes/admin-auth.d.ts +17 -38
- package/dist/routes/admin-backends.d.ts +3 -14
- package/dist/routes/admin-cluster-name.d.ts +13 -21
- package/dist/routes/admin-cluster-settings.d.ts +6 -9
- package/dist/routes/admin-config.d.ts +7 -19
- package/dist/routes/admin-contexts.d.ts +6 -13
- package/dist/routes/admin-db.d.ts +5 -10
- package/dist/routes/admin-event-dlq.d.ts +3 -5
- package/dist/routes/admin-event-inspect.d.ts +3 -4
- package/dist/routes/admin-event-log.d.ts +3 -7
- package/dist/routes/admin-events.d.ts +16 -30
- package/dist/routes/admin-held-runs.d.ts +52 -76
- package/dist/routes/admin-maintenance.d.ts +3 -6
- package/dist/routes/admin-orchestrator-drain.d.ts +0 -2
- package/dist/routes/admin-org-settings.d.ts +8 -14
- package/dist/routes/admin-peer-forget.d.ts +0 -1
- package/dist/routes/admin-queue-execution.d.ts +3 -3
- package/dist/routes/admin-registrations.d.ts +3 -12
- package/dist/routes/admin-runs.d.ts +16 -29
- package/dist/routes/admin-scaler-orphans.d.ts +4 -4
- package/dist/routes/admin-scaler-reload.d.ts +5 -8
- package/dist/routes/admin-scheduled-jobs.d.ts +3 -4
- package/dist/routes/admin-sources.d.ts +20 -29
- package/dist/routes/admin-trust-policy.d.ts +31 -48
- package/dist/routes/admin.d.ts +67 -94
- package/dist/routes/caller-identity.d.ts +5 -12
- package/dist/routes/capabilities.d.ts +8 -13
- package/dist/routes/diagnostics.d.ts +2 -10
- package/dist/routes/fleet.d.ts +1 -2
- package/dist/routes/github-webhook.d.ts +2 -5
- package/dist/routes/health.d.ts +6 -19
- package/dist/routes/provenance-oidc.d.ts +3 -3
- package/dist/routes/uploads.d.ts +5 -11
- package/dist/routes/webhooks.d.ts +2 -24
- package/dist/scaler/agent-binary-location.d.ts +77 -0
- package/dist/scaler/agent-fit.d.ts +2 -2
- package/dist/scaler/backend-factory.d.ts +10 -18
- package/dist/scaler/bare-metal-backend.d.ts +30 -46
- package/dist/scaler/claim-store.d.ts +20 -43
- package/dist/scaler/config.d.ts +10 -37
- package/dist/scaler/container-backend.d.ts +22 -35
- package/dist/scaler/container-hostconfig.d.ts +19 -16
- package/dist/scaler/container-routing.d.ts +10 -13
- package/dist/scaler/disk-guard.d.ts +2 -3
- package/dist/scaler/event-backend.d.ts +33 -58
- package/dist/scaler/event-provision-reaper.d.ts +61 -84
- package/dist/scaler/failure-tracker.d.ts +6 -13
- package/dist/scaler/file-tail.d.ts +6 -19
- package/dist/scaler/firecracker-api.d.ts +19 -63
- package/dist/scaler/firecracker-backend.d.ts +142 -258
- package/dist/scaler/host-access.d.ts +7 -10
- package/dist/scaler/index.d.ts +3 -6
- package/dist/scaler/ip-allocator.d.ts +30 -82
- package/dist/scaler/label-matcher.d.ts +14 -35
- package/dist/scaler/log-forwarder.d.ts +6 -25
- package/dist/scaler/machine-ledger.d.ts +39 -86
- package/dist/scaler/manager.d.ts +517 -787
- package/dist/scaler/pending-scale-sweeper.d.ts +8 -11
- package/dist/scaler/reap-orphans.d.ts +8 -12
- package/dist/scaler/resolve-container-auth.d.ts +12 -21
- package/dist/scaler/scaler-events.d.ts +2 -5
- package/dist/scaler/scaler-state-store.d.ts +127 -189
- package/dist/scaler/spawn-errors.d.ts +1 -4
- package/dist/scaler/startup-orphan-sweep.d.ts +3 -4
- package/dist/scaler/startup-tools-check.d.ts +21 -0
- package/dist/scaler/types.d.ts +142 -255
- package/dist/scaler/vm-job-bindings.d.ts +5 -9
- package/dist/scaler/warm-pool.d.ts +49 -93
- package/dist/secrets/audit-logger.d.ts +0 -3
- package/dist/secrets/backend-health.d.ts +0 -9
- package/dist/secrets/backend-registry.d.ts +0 -9
- package/dist/secrets/cleanup.d.ts +0 -1
- package/dist/secrets/config.d.ts +0 -3
- package/dist/secrets/ephemeral-keys.d.ts +0 -3
- package/dist/secrets/pg-secret-store.d.ts +0 -3
- package/dist/secrets/rbac.d.ts +0 -6
- package/dist/secrets/secret-output-store.d.ts +0 -6
- package/dist/secrets/secret-resolver.d.ts +2 -6
- package/dist/secrets/token-manager.d.ts +0 -4
- package/dist/secrets/vault-secret-store.d.ts +0 -13
- package/dist/security/comment-handler.d.ts +0 -2
- package/dist/security/workflow-diff.d.ts +1 -1
- package/dist/server.js +8628 -13569
- package/dist/sources/source-manager.d.ts +0 -3
- package/dist/sources/source-store.d.ts +0 -9
- package/dist/sources/source-validator.d.ts +0 -3
- package/dist/stale-detector/all-terminal-runs.d.ts +8 -11
- package/dist/stale-detector/gate-deadline-detector.d.ts +14 -19
- package/dist/stale-detector/reboot-deadline-sweep.d.ts +7 -11
- package/dist/stale-detector/stale-dispatch-candidates.d.ts +13 -20
- package/dist/stale-detector/stale-run-detector.d.ts +74 -121
- package/dist/stale-detector/workflow-deadline-detector.d.ts +15 -43
- package/dist/standalone.js +7670 -12402
- package/dist/storage/blob-routes.d.ts +10 -19
- package/dist/storage/filesystem.d.ts +19 -29
- package/dist/storage/index.d.ts +2 -10
- package/dist/storage/key-discriminator.d.ts +8 -10
- package/dist/storage/loopback-guard.d.ts +27 -45
- package/dist/storage/s3.d.ts +25 -52
- package/dist/storage/sign-url.d.ts +7 -22
- package/dist/storage/types.d.ts +44 -70
- package/dist/webhook/event-log.d.ts +0 -2
- package/dist/webhook/generic-sources.d.ts +0 -21
- package/dist/webhook/ingest-admission.d.ts +0 -1
- package/dist/webhook/relay-buffer.d.ts +2 -2
- package/dist/webhook/verify-inbound.d.ts +0 -1
- package/dist/worker/in-memory-execution-tracker.d.ts +9 -31
- package/dist/worker/in-memory-job-queue.d.ts +32 -72
- package/dist/worker/peer-outbox.d.ts +5 -8
- package/dist/worker/reroute-dispatch.d.ts +4 -6
- package/dist/worker/static-agent-token-store.d.ts +6 -27
- package/dist/worker/worker-outbox-relay.d.ts +2 -2
- package/dist/worker/worker-status.d.ts +3 -20
- package/dist/ws/agent-api-registry.d.ts +8 -27
- package/dist/ws/agent-handler.d.ts +63 -110
- package/dist/ws/agent-heartbeat.d.ts +5 -12
- package/dist/ws/bringup-api.d.ts +31 -38
- package/dist/ws/dashboard-backends-handler.d.ts +12 -22
- package/dist/ws/dashboard-context-handler.d.ts +37 -80
- package/dist/ws/dashboard-diagnostics-handler.d.ts +8 -25
- package/dist/ws/dashboard-dispatch-guard.d.ts +3 -4
- package/dist/ws/dashboard-fleet-handler.d.ts +9 -13
- package/dist/ws/dashboard-fleet-write-handler.d.ts +7 -21
- package/dist/ws/dashboard-global-workflows-handler.d.ts +22 -44
- package/dist/ws/dashboard-registrations-handler.d.ts +10 -27
- package/dist/ws/dashboard-run-state-handler.d.ts +10 -13
- package/dist/ws/event-buffer.d.ts +3 -6
- package/dist/ws/execution-status-frame.d.ts +9 -11
- package/dist/ws/failure-messages.d.ts +9 -14
- package/dist/ws/fleet-agent-collector.d.ts +6 -12
- package/dist/ws/fleet-runs-on-all.d.ts +1 -6
- package/dist/ws/git-credential-relay.d.ts +12 -20
- package/dist/ws/inventory-api.d.ts +4 -5
- package/dist/ws/job-status-forward-frame.d.ts +30 -0
- package/dist/ws/observer-registry.d.ts +14 -59
- package/dist/ws/outbound-frame-guard.d.ts +4 -0
- package/dist/ws/ownership-gate.d.ts +1 -1
- package/dist/ws/platform-client.d.ts +32 -31
- package/dist/ws/replay-chunker.d.ts +7 -10
- package/dist/ws/server-options.d.ts +5 -9
- package/dist/ws/test-relay-handlers.d.ts +45 -59
- package/dist/ws/test-run-log-cursor.d.ts +18 -0
- package/installer-image-digests.json +3 -3
- package/package.json +6 -5
- package/sbom.spdx.json +53 -53
- package/dist/__test-helpers__/fake-scaler-state-store.d.ts +0 -24
- package/dist/__test-helpers__/mock-db-query.d.ts +0 -129
- package/dist/__test-helpers__/mock-db.d.ts +0 -134
- package/dist/__test-helpers__/mock-ws.d.ts +0 -13
- package/dist/__test-helpers__/peer-mutual-auth.d.ts +0 -42
- package/dist/__test-helpers__/scratch-db.d.ts +0 -16
- package/dist/__test-helpers__/test-db.d.ts +0 -34
- package/dist/pipeline/dispatch-matched-workflow.test-helpers.d.ts +0 -121
|
@@ -3,10 +3,9 @@ export type ReconcileDirection = 'db-from-sentinel' | 'sentinel-from-db';
|
|
|
3
3
|
export interface ReconcileS3Config {
|
|
4
4
|
bucket: string;
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* as the orchestrator's `DEFAULT_CACHE_STORAGE_S3_PREFIX` (empty) default.
|
|
6
|
+
* Mirrors `KICI_STORAGE_PREFIX` and must match the orchestrator's boot prefix.
|
|
7
|
+
* When omitted, the sentinel sits at the bucket root, matching the empty
|
|
8
|
+
* `DEFAULT_CACHE_STORAGE_S3_PREFIX` default.
|
|
10
9
|
*/
|
|
11
10
|
prefix?: string;
|
|
12
11
|
region?: string;
|
|
@@ -25,9 +24,8 @@ declare function writeClusterIdToDb(databaseUrl: string, clusterId: string): Pro
|
|
|
25
24
|
declare function readSentinel(s3: ReconcileS3Config): Promise<string | null>;
|
|
26
25
|
declare function writeSentinel(s3: ReconcileS3Config, clusterId: string): Promise<void>;
|
|
27
26
|
/**
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* reader/writer through this object; the test overrides its members directly.
|
|
27
|
+
* `buildReconcileStep` calls all I/O through this object, so the unit test
|
|
28
|
+
* stubs its members without an ESM partial mock.
|
|
31
29
|
*/
|
|
32
30
|
export declare const reconcileIo: {
|
|
33
31
|
readClusterIdFromDb: typeof readClusterIdFromDb;
|
|
@@ -36,10 +34,9 @@ export declare const reconcileIo: {
|
|
|
36
34
|
writeSentinel: typeof writeSentinel;
|
|
37
35
|
};
|
|
38
36
|
/**
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
* agreement. Run it through `runIdempotentStep` (`@kici-dev/core/idempotency`).
|
|
37
|
+
* `check()` returns drift when the sides disagree (null when in sync);
|
|
38
|
+
* `apply()` performs the single write that brings them into agreement. Run it
|
|
39
|
+
* through `runIdempotentStep` (`@kici-dev/core/idempotency`).
|
|
43
40
|
*/
|
|
44
41
|
export declare function buildReconcileStep(deps: {
|
|
45
42
|
databaseUrl: string;
|
|
@@ -17,18 +17,14 @@ import type { PeerRegistry } from './peer-registry.js';
|
|
|
17
17
|
*/
|
|
18
18
|
export declare const DEFAULT_REROUTE_FLAP_GRACE_MS = 120000;
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
21
|
-
* force-
|
|
22
|
-
*
|
|
23
|
-
* durable outbox.
|
|
20
|
+
* Whether the run-recovery sweepers (OrphanRecovery, StaleRunDetector) must defer
|
|
21
|
+
* force-failing a non-terminal rerouted job, because its worker peer can still
|
|
22
|
+
* replay the terminal status from its durable outbox.
|
|
24
23
|
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
* been gone longer than the grace window — or is no longer tracked at all — is
|
|
30
|
-
* NOT deferred, so a dead worker's job is still failed and cannot hang forever.
|
|
31
|
-
* Local (non-rerouted) jobs — `rerouted_to_peer === null` — are never deferred.
|
|
24
|
+
* True when the job has a `rerouted_to_peer` AND that peer is connected or was
|
|
25
|
+
* last seen within the flap grace. A peer gone longer than the grace, or no
|
|
26
|
+
* longer tracked, is not deferred, so a dead worker cannot hang a run. Local
|
|
27
|
+
* jobs (`rerouted_to_peer === null`) are never deferred.
|
|
32
28
|
*/
|
|
33
29
|
export declare function shouldDeferReroutedJob(job: {
|
|
34
30
|
rerouted_to_peer: string | null;
|
|
@@ -54,10 +54,9 @@ export declare function tryResolveVerifiedIssuer(reader: VerifiedIssuerReader):
|
|
|
54
54
|
* out". An unknown read must therefore produce an object with no key at all —
|
|
55
55
|
* not one whose value is `undefined`, which would still overwrite on spread.
|
|
56
56
|
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
57
|
+
* Pure so it is testable: its only caller is a closure in server.ts's connection
|
|
58
|
+
* handler, which has no test seam.
|
|
59
59
|
*/
|
|
60
60
|
export declare function verifiedIssuerCapabilityUpdate(read: VerifiedIssuerRead): Partial<Pick<OrchCapabilities, 'dashboardVerifiedIssuer'>>;
|
|
61
|
-
/** The JWKS document URL for an issuer origin. */
|
|
62
61
|
export declare function jwksUrlFor(issuer: string): string;
|
|
63
62
|
//# sourceMappingURL=verified-issuer.d.ts.map
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The cluster-settings snapshot a coordinator serves to DB-less workers.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* is NULL.
|
|
4
|
+
* Every knob a worker applies at spawn reaches it through this snapshot,
|
|
5
|
+
* pulled over the peer channel whenever a coordinator advertises a newer
|
|
6
|
+
* settings version. Each value is the stored override, or the serving
|
|
7
|
+
* coordinator's configured default when the column is NULL.
|
|
9
8
|
*/
|
|
10
9
|
import type { WorkerClusterSettings } from '@kici-dev/engine';
|
|
11
10
|
import type { ClusterSettingsReader } from './cluster-settings-reader.js';
|
|
12
|
-
/** The configured defaults behind each snapshot field. */
|
|
13
11
|
export interface WorkerClusterSettingDefaults {
|
|
14
12
|
agentTokenTtlMs: number;
|
|
15
13
|
firecrackerApiSocketWaitMs: number;
|
|
@@ -21,10 +19,9 @@ export interface WorkerClusterSettingsSnapshot {
|
|
|
21
19
|
settings: WorkerClusterSettings;
|
|
22
20
|
}
|
|
23
21
|
/**
|
|
24
|
-
* Resolve the
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
* the values could pair a newer version with older values for good.
|
|
22
|
+
* Resolve the snapshot and its version from ONE row read: a worker pulls again
|
|
23
|
+
* only on a higher advertised version, so a separately read version could pair
|
|
24
|
+
* a newer version with older values for good.
|
|
28
25
|
*/
|
|
29
26
|
export declare function resolveWorkerClusterSettingsSnapshot(reader: Pick<ClusterSettingsReader, 'getRow'>, defaults: WorkerClusterSettingDefaults): Promise<WorkerClusterSettingsSnapshot>;
|
|
30
27
|
//# sourceMappingURL=worker-cluster-settings.d.ts.map
|
|
@@ -2,29 +2,24 @@ import type { PeerInfo, PeerRegistry } from './peer-registry.js';
|
|
|
2
2
|
/** How long a draining worker may hold in-flight jobs before it is disconnected anyway. */
|
|
3
3
|
export declare const WORKER_DRAIN_TIMEOUT_MS: number;
|
|
4
4
|
/**
|
|
5
|
-
* The coordinator-side operations eviction needs
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* or idle-notification surface, and widening its public API for one caller
|
|
10
|
-
* would couple eviction to it. A fake implementation makes this class unit
|
|
11
|
-
* testable without a running cluster.
|
|
5
|
+
* The coordinator-side operations eviction needs, declared here because the
|
|
6
|
+
* coordinator exposes no ineligibility or idle-notification surface, and
|
|
7
|
+
* widening its API for one caller would couple eviction to it. A fake makes
|
|
8
|
+
* this class unit testable without a running cluster.
|
|
12
9
|
*/
|
|
13
10
|
export interface EvictionHooks {
|
|
14
11
|
/** Stop rerouting new jobs to this peer. */
|
|
15
12
|
markIneligible(instanceId: string): void;
|
|
16
13
|
/**
|
|
17
|
-
* Restore
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* later re-admission of the same instance starts dispatch-eligible.
|
|
14
|
+
* Restore dispatch eligibility and drop any idle-notification registration.
|
|
15
|
+
* Called when a drain is cancelled and after a drained peer is disconnected,
|
|
16
|
+
* so a later re-admission of the same instance starts dispatch-eligible.
|
|
21
17
|
*/
|
|
22
18
|
clearIneligible(instanceId: string): void;
|
|
23
19
|
/** In-flight rerouted jobs currently attributed to this peer. */
|
|
24
20
|
runningJobCount(instanceId: string): number;
|
|
25
21
|
/** Invoke the callback once this peer has no in-flight rerouted jobs. */
|
|
26
22
|
onPeerIdle(instanceId: string, callback: () => void): void;
|
|
27
|
-
/** Close this peer's connection with the given code and reason. */
|
|
28
23
|
closePeer(instanceId: string, code: number, reason: string): void;
|
|
29
24
|
}
|
|
30
25
|
/**
|
|
@@ -37,11 +32,10 @@ export declare function selectEvictionTargets(workers: readonly PeerInfo[], ceil
|
|
|
37
32
|
/**
|
|
38
33
|
* Drain-then-disconnect this coordinator's excess workers.
|
|
39
34
|
*
|
|
40
|
-
* A target is
|
|
41
|
-
* in-flight rerouted jobs reach terminal status
|
|
42
|
-
* outbox and `job.progress.ack`
|
|
43
|
-
*
|
|
44
|
-
* orphan-recovery guard handles whatever remains.
|
|
35
|
+
* A target is marked ineligible for new dispatch, then closed once its
|
|
36
|
+
* in-flight rerouted jobs reach terminal status (guaranteed by the worker's
|
|
37
|
+
* durable outbox and `job.progress.ack`) or after `WORKER_DRAIN_TIMEOUT_MS`,
|
|
38
|
+
* when the orphan-recovery guard handles whatever remains.
|
|
45
39
|
*/
|
|
46
40
|
export declare class WorkerEviction {
|
|
47
41
|
private readonly peerRegistry;
|
|
@@ -52,17 +46,13 @@ export declare class WorkerEviction {
|
|
|
52
46
|
warn: (msg: string, meta?: unknown) => void;
|
|
53
47
|
});
|
|
54
48
|
/**
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
* eligibility restored — so a raised ceiling (or the Platform clearing
|
|
61
|
-
* `evictExcess` once the org drops back under) rescues a worker instead of
|
|
62
|
-
* disconnecting it at the drain timeout.
|
|
49
|
+
* With `evictExcess`, drain the newest workers past `ceiling`; otherwise the
|
|
50
|
+
* target set is empty. A drain in flight for a worker no longer targeted is
|
|
51
|
+
* CANCELLED (timer cleared, eligibility restored), so a raised ceiling or the
|
|
52
|
+
* Platform clearing `evictExcess` once the org drops back under its limit
|
|
53
|
+
* rescues the worker instead of disconnecting it at the drain timeout.
|
|
63
54
|
*/
|
|
64
55
|
reconcile(ceiling: number, evictExcess: boolean): void;
|
|
65
|
-
/** Stop an in-flight drain and restore the worker to dispatch eligibility. */
|
|
66
56
|
private cancelDrain;
|
|
67
57
|
private startDrain;
|
|
68
58
|
}
|
|
@@ -1,35 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Read-through helper for `access_log` (Orchestrator).
|
|
3
3
|
*
|
|
4
|
-
* Unlike `audit_log` and `secret_audit_log`,
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* "paginated/transparent" — there
|
|
9
|
-
* is NO `--include-archived` flag. The helper merges cold rows
|
|
10
|
-
* automatically when pagination crosses the warm cutoff or the caller
|
|
11
|
-
* supplies a `from` timestamp older than warm.
|
|
4
|
+
* Unlike `audit_log` and `secret_audit_log`, every `access_log` caller (dashboard "Data access"
|
|
5
|
+
* tab, admin HTTP route, `kici-admin access-log list`) shares the cursor pagination of
|
|
6
|
+
* `AccessLogWriter.query()`, so there is NO `--include-archived` flag: cold rows merge in
|
|
7
|
+
* automatically when pagination crosses the warm cutoff or `from` is older than warm.
|
|
12
8
|
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* the cold stream on the next request. A cursor without a valid `source` is
|
|
18
|
-
* invalid, like any other unparsable cursor, and the read starts from the
|
|
19
|
-
* first page.
|
|
9
|
+
* The cursor encodes `{createdAt, id}` for the tuple comparison
|
|
10
|
+
* `(created_at, id) < (cursor.createdAt, cursor.id)`, plus a `source: 'hot' | 'cold'`
|
|
11
|
+
* discriminator so a page boundary inside cold resumes in the cold stream. A cursor without a
|
|
12
|
+
* valid `source` is unparsable, and the read starts from the first page.
|
|
20
13
|
*/
|
|
21
14
|
import { type Kysely, type Selectable } from 'kysely';
|
|
22
15
|
import { type ColdStore } from '@kici-dev/shared';
|
|
23
16
|
import { type AccessLogAction, type AccessLogItem, type AccessLogOutcome, type AccessLogSource, type AccessLogTargetType, type ActorType } from '@kici-dev/engine';
|
|
24
17
|
import type { AccessLogTable, Database } from '../db/types.js';
|
|
25
18
|
/**
|
|
26
|
-
* Synthetic tenant
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* NULL-tenant rows (`access_log`, `secret_audit_log`); export once here so
|
|
31
|
-
* the four call sites in `cold-store/` and the fallback in
|
|
32
|
-
* `audit/access-log.ts` cannot drift apart.
|
|
19
|
+
* Synthetic tenant for orchestrator-level rows whose `org_id IS NULL`: it collapses them under
|
|
20
|
+
* one cold-store prefix so the `(tenant_id, day)` partition still yields a single scan key.
|
|
21
|
+
* Exported once so the `cold-store/` readers and adapters for NULL-tenant tables (`access_log`,
|
|
22
|
+
* `secret_audit_log`) and the fallback in `audit/access-log.ts` cannot drift apart.
|
|
33
23
|
*/
|
|
34
24
|
export declare const SYNTHETIC_ORCH_TENANT = "__orchestrator__";
|
|
35
25
|
export type AccessLogColdRow = Selectable<AccessLogTable>;
|
|
@@ -47,10 +37,7 @@ export interface LoadAccessLogRangeArgs {
|
|
|
47
37
|
targetId?: string;
|
|
48
38
|
fromTimestamp?: Date | string;
|
|
49
39
|
toTimestamp?: Date | string;
|
|
50
|
-
/**
|
|
51
|
-
* Full-text search over `error_message`. Trigram-indexed via migration
|
|
52
|
-
* `009_access_log_trigram.ts`. Min ~3 chars for the index to help.
|
|
53
|
-
*/
|
|
40
|
+
/** Search over `error_message`; trigram-indexed (migration 009), so ~3+ chars use the index. */
|
|
54
41
|
q?: string;
|
|
55
42
|
/** Exact-match filter on the agent provenance label (`agent_label` column). */
|
|
56
43
|
agentLabel?: string;
|
|
@@ -66,11 +53,8 @@ export interface LoadAccessLogRangeResult {
|
|
|
66
53
|
}
|
|
67
54
|
export declare function loadAccessLogRange(args: LoadAccessLogRangeArgs): Promise<LoadAccessLogRangeResult>;
|
|
68
55
|
/**
|
|
69
|
-
* Canonical hot-or-cold
|
|
70
|
-
*
|
|
71
|
-
* convert both hot (`AccessLogRow`) and cold (`AccessLogColdRow`) rows
|
|
72
|
-
* into the same `AccessLogItem` shape — the two row types are
|
|
73
|
-
* structurally identical (`Selectable<AccessLogTable>`), so a single
|
|
56
|
+
* Canonical hot-or-cold row → `AccessLogItem` adapter, exported for `AccessLogWriter.getById`
|
|
57
|
+
* (`audit/access-log.ts`). Hot and cold rows are both `Selectable<AccessLogTable>`, so one
|
|
74
58
|
* converter avoids drift.
|
|
75
59
|
*/
|
|
76
60
|
export declare function toAccessLogItem(row: AccessLogColdRow): AccessLogItem;
|
|
@@ -1,37 +1,24 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Read-through helper for `event_log`
|
|
2
|
+
* Read-through helper for `event_log`; mirrors the Platform-side `load-event-log-range.ts`.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* `
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* The orchestrator's `event_log` row carries the `payload_key` reference
|
|
10
|
-
* (an S3 object that holds the gzipped webhook body). Cold-store
|
|
11
|
-
* archives the row metadata and preserves `payload_key` verbatim — the
|
|
12
|
-
* payload blob itself stays in object storage indefinitely so the
|
|
13
|
-
* dashboard's payload-detail view continues to resolve archived
|
|
14
|
-
* deliveries identically to hot ones.
|
|
4
|
+
* Tenant column is `routing_key` (NOT NULL here, so no synthetic-tenant fallback); partition
|
|
5
|
+
* column is `received_at`. Cold-store archives the row metadata and keeps `payload_key` (the
|
|
6
|
+
* S3 object holding the gzipped webhook body) verbatim; the blob stays in object storage
|
|
7
|
+
* indefinitely, so the payload-detail view resolves archived deliveries like hot ones.
|
|
15
8
|
*/
|
|
16
9
|
import { type Kysely } from 'kysely';
|
|
17
10
|
import { type ColdStore } from '@kici-dev/shared';
|
|
18
11
|
import type { Database } from '../db/types.js';
|
|
19
12
|
import type { EventLogColdStoreRow } from './tables/event-log.js';
|
|
20
13
|
/**
|
|
21
|
-
* Re-exported, not re-declared: the alias
|
|
22
|
-
*
|
|
23
|
-
* a homonym sweep flags. Kept as an export so this module's public surface is
|
|
24
|
-
* unchanged for its consumers.
|
|
14
|
+
* Re-exported, not re-declared: the alias lives beside the cold-store adapter that owns the
|
|
15
|
+
* table (a second declaration trips the homonym sweep); the export keeps this module's surface.
|
|
25
16
|
*/
|
|
26
17
|
export type { EventLogColdStoreRow };
|
|
27
18
|
export interface LoadOrchEventLogRangeArgs {
|
|
28
19
|
db: Kysely<Database>;
|
|
29
20
|
coldStore: ColdStore | undefined;
|
|
30
|
-
/**
|
|
31
|
-
* Routing key (tenant column on this side). Required when
|
|
32
|
-
* `includeArchived` is true — cold-store fetch is keyed by tenant.
|
|
33
|
-
* The hot list endpoint also typically narrows by routing_key.
|
|
34
|
-
*/
|
|
21
|
+
/** Tenant column; required for `includeArchived` because the cold-store fetch is keyed by it. */
|
|
35
22
|
routingKey: string;
|
|
36
23
|
/** Optional org filter (event_log carries org_id for cross-tier joins). */
|
|
37
24
|
orgId?: string;
|
|
@@ -49,9 +36,8 @@ export declare function loadEventLogRange(args: LoadOrchEventLogRangeArgs): Prom
|
|
|
49
36
|
/**
|
|
50
37
|
* Detail lookup by `(orgId, deliveryId)`. The dashboard handler joins
|
|
51
38
|
* cross-tier on this composite key. Hot first; on miss scans cold for
|
|
52
|
-
* the matching tenant. The caller must
|
|
53
|
-
* cold scan
|
|
54
|
-
* back to enumerating all routing keys for the org (rare; the dashboard
|
|
39
|
+
* the matching tenant. The caller must pass `routingKey` to scope the
|
|
40
|
+
* cold scan; without it a hot miss returns `null` (the dashboard
|
|
55
41
|
* always knows the routing_key from the Platform-side row).
|
|
56
42
|
*/
|
|
57
43
|
export declare function loadEventLogByDeliveryId(args: {
|
|
@@ -60,9 +46,9 @@ export declare function loadEventLogByDeliveryId(args: {
|
|
|
60
46
|
orgId: string;
|
|
61
47
|
deliveryId: string;
|
|
62
48
|
/**
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
* always provides this hint from the Platform-side join.
|
|
49
|
+
* Routing-key hint that scopes the cold scan. When omitted, the cold
|
|
50
|
+
* scan is skipped with a warning and a hot miss returns `null`. The
|
|
51
|
+
* dashboard always provides this hint from the Platform-side join.
|
|
66
52
|
*/
|
|
67
53
|
routingKey?: string;
|
|
68
54
|
}): Promise<EventLogColdStoreRow | null>;
|
|
@@ -1,19 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Read-through helper for `secret_audit_log` (Orchestrator).
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* `
|
|
4
|
+
* Follows the execution-table reader pattern with `AuditLogger.query()`'s
|
|
5
|
+
* offset/limit shape. Cold rows are fetched only when `includeArchived` is
|
|
6
|
+
* true (`kici-admin secret audit --include-archived`, or the admin HTTP query
|
|
7
|
+
* param); hot-only is the default so tooling skips an S3 round-trip.
|
|
7
8
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* Cold-side filter handling: any filter that the hot SELECT applies
|
|
14
|
-
* (contextName, action, run_id, ...) is re-applied in-process to cold
|
|
15
|
-
* rows after streaming. This is correct because cold chunks are
|
|
16
|
-
* partitioned by `(routing_key, day)`, not by the secondary filters.
|
|
9
|
+
* Hot-side filters also apply to cold rows: routingKey selects the tenant, the
|
|
10
|
+
* time bounds go to `fetchRange`, and contextName / action are checked
|
|
11
|
+
* in-process, because cold chunks are partitioned by `(routing_key, day)`,
|
|
12
|
+
* not by the secondary filters.
|
|
17
13
|
*/
|
|
18
14
|
import { type Kysely } from 'kysely';
|
|
19
15
|
import { type ColdStore } from '@kici-dev/shared';
|
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Orchestrator-side cold-store.
|
|
3
|
-
*
|
|
4
|
-
* Extends BaseColdStore with orchestrator-specific table adapters:
|
|
5
|
-
* execution_runs / execution_jobs / execution_steps, secret_audit_log,
|
|
6
|
-
* access_log and event_log.
|
|
7
|
-
*/
|
|
1
|
+
/** Orchestrator cold-store: BaseColdStore plus the orchestrator table adapters. */
|
|
8
2
|
import { type Kysely } from 'kysely';
|
|
9
3
|
import { BaseColdStore, type BaseColdStoreDeps, type ColdStoreConfig, type PurgeableChunk } from '@kici-dev/shared';
|
|
10
4
|
import type { Database } from '../db/types.js';
|
|
@@ -15,42 +9,28 @@ export interface OrchestratorColdStoreDeps extends Omit<BaseColdStoreDeps, 'db'>
|
|
|
15
9
|
export declare class OrchestratorColdStore extends BaseColdStore {
|
|
16
10
|
private readonly kdb;
|
|
17
11
|
constructor(deps: OrchestratorColdStoreDeps);
|
|
18
|
-
/**
|
|
19
|
-
* Query the orchestrator's `cold_store_chunks` table for
|
|
20
|
-
* chunks past their per-row cold-retention horizon. See the matching
|
|
21
|
-
* Platform-side method for the full rationale.
|
|
22
|
-
*/
|
|
12
|
+
/** Chunks past their per-row cold-retention horizon; rationale on the Platform-side method. */
|
|
23
13
|
protected listPurgeableChunks(opts: {
|
|
24
14
|
tableFilter?: string;
|
|
25
15
|
bucketFilter?: string;
|
|
26
16
|
limit: number;
|
|
27
17
|
}): Promise<PurgeableChunk[]>;
|
|
28
|
-
/**
|
|
29
|
-
* Per-chunk advisory lock keyed on
|
|
30
|
-
* `hashtext('cold-store-purge|orchestrator|<table>|<chunkId>')`.
|
|
31
|
-
*/
|
|
18
|
+
/** Per-chunk advisory lock on `hashtext('cold-store-purge|orchestrator|<table>|<chunkId>')`. */
|
|
32
19
|
protected withPurgeLock<T>(args: {
|
|
33
20
|
table: string;
|
|
34
21
|
chunkId: string;
|
|
35
22
|
}, fn: () => Promise<T>): Promise<T | null>;
|
|
36
23
|
}
|
|
37
24
|
/**
|
|
38
|
-
*
|
|
39
|
-
* `
|
|
40
|
-
* orchestrator config schema has no `coldStore` section, so env vars are
|
|
41
|
-
* the only input.
|
|
25
|
+
* Reads the `KICI_COLD_STORE_*` env vars (mirrored with the Platform side). The orchestrator
|
|
26
|
+
* config schema has no `coldStore` section, so env vars are the only input.
|
|
42
27
|
*/
|
|
43
28
|
export declare function readOrchestratorColdStoreConfig(env?: NodeJS.ProcessEnv): ColdStoreConfig;
|
|
44
29
|
/**
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
* config reload picks up new bucket/prefix values without a restart.
|
|
30
|
+
* Re-reads env vars on every tick, so a SIGHUP config reload picks up new bucket/prefix
|
|
31
|
+
* values without a restart.
|
|
48
32
|
*/
|
|
49
33
|
export declare function createColdStoreArchiveHandler(instanceId: string, kdb: Kysely<Database>): () => Promise<void>;
|
|
50
|
-
/**
|
|
51
|
-
* Build the cold-store-purge scheduled-job handler. Same
|
|
52
|
-
* env-var re-read pattern as the archive handler so SIGHUP picks up
|
|
53
|
-
* config changes mid-run.
|
|
54
|
-
*/
|
|
34
|
+
/** Re-reads env vars on every tick, like the archive handler. */
|
|
55
35
|
export declare function createColdStorePurgeHandler(instanceId: string, kdb: Kysely<Database>): () => Promise<void>;
|
|
56
36
|
//# sourceMappingURL=orchestrator-cold-store.d.ts.map
|
|
@@ -4,19 +4,17 @@
|
|
|
4
4
|
* Contract:
|
|
5
5
|
* - tenant column: `org_id` (NULL → synthetic `__orchestrator__`)
|
|
6
6
|
* - partition column: `created_at`
|
|
7
|
-
* - warm TTL:
|
|
7
|
+
* - warm TTL: `minAccessLogWarmDays()` table-wide, tightened per row
|
|
8
|
+
* by `accessLogWarmSqlCase()`
|
|
9
|
+
* - archived chunks purge per `getAccessLogColdDays()`
|
|
8
10
|
*
|
|
9
|
-
*
|
|
10
|
-
* `expires_at`-based hard delete.
|
|
11
|
+
* There is no `expires_at`-based hard delete.
|
|
11
12
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* NULL`; they collapse to the `__orchestrator__` synthetic prefix.
|
|
13
|
+
* Orchestrator-level events (e.g. scheduler tick failures, admin-triggered
|
|
14
|
+
* scheduled jobs) carry `org_id IS NULL` and use the `__orchestrator__` prefix.
|
|
15
15
|
*
|
|
16
|
-
* Recursion: archiving access_log
|
|
17
|
-
*
|
|
18
|
-
* eligible for archive in a future cycle. Volume is bounded — one
|
|
19
|
-
* audit row per ~50K-row chunk.
|
|
16
|
+
* Recursion: archiving writes one access_log row per chunk, itself archivable
|
|
17
|
+
* later. Volume is bounded — one audit row per ~50K-row chunk.
|
|
20
18
|
*/
|
|
21
19
|
import { type Kysely, type Selectable } from 'kysely';
|
|
22
20
|
import { type ChunkCommitMetadata, type ColdRetention, type ColdStoreTableConfig, type EligiblePartition, type TableAdapter, PgTableAdapterBase } from '@kici-dev/shared';
|
|
@@ -49,10 +47,10 @@ export declare class AccessLogAdapter extends PgTableAdapterBase<Database> imple
|
|
|
49
47
|
rowId(row: AccessLogColdStoreRow): string | number;
|
|
50
48
|
rowTimestamp(row: AccessLogColdStoreRow): Date | string;
|
|
51
49
|
/**
|
|
52
|
-
* Per-row cold-retention TTL
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
50
|
+
* Per-row cold-retention TTL, mirroring the warm-side layering:
|
|
51
|
+
* outcome=denied/error → 730d (forensic), platform_operator → `'forever'`
|
|
52
|
+
* (compliance), otherwise the per-action map. Archive buckets rows by
|
|
53
|
+
* `coldDaysToBucket(coldTtlDays(row))`.
|
|
56
54
|
*/
|
|
57
55
|
coldTtlDays(row: AccessLogColdStoreRow): ColdRetention;
|
|
58
56
|
markArchivedAndDelete(args: {
|
|
@@ -2,18 +2,14 @@
|
|
|
2
2
|
* `event_log` cold-store adapter (Orchestrator side).
|
|
3
3
|
*
|
|
4
4
|
* Contract:
|
|
5
|
-
* - tenant column: `routing_key` (NOT NULL
|
|
6
|
-
* synthetic-tenant fallback like access_log / secret_audit_log)
|
|
5
|
+
* - tenant column: `routing_key` (NOT NULL — no synthetic-tenant fallback)
|
|
7
6
|
* - partition column: `received_at`
|
|
8
7
|
* - warm TTL: 30 days (rows are archived, not hard-deleted)
|
|
9
8
|
*
|
|
10
|
-
*
|
|
11
|
-
* storage
|
|
12
|
-
* body where it is, so the delivery-detail page reads payloads the same way
|
|
13
|
-
* for hot and cold rows.
|
|
9
|
+
* Archiving moves the row with its `payload_key` and leaves the gzipped webhook body in object
|
|
10
|
+
* storage, so the delivery-detail page reads hot and cold payloads the same way.
|
|
14
11
|
*
|
|
15
|
-
* Each archived chunk writes one `access_log` audit row,
|
|
16
|
-
* AccessLogAdapter archives in a later cycle.
|
|
12
|
+
* Each archived chunk writes one `access_log` audit row, archived in a later cycle.
|
|
17
13
|
*/
|
|
18
14
|
import { type Kysely, type Selectable } from 'kysely';
|
|
19
15
|
import { type ChunkCommitMetadata, type ColdStoreTableConfig, type EligiblePartition, type TableAdapter, PgTableAdapterBase } from '@kici-dev/shared';
|
|
@@ -37,20 +37,15 @@ export declare class ExecutionRunsAdapter extends PgTableAdapterBase<Database> i
|
|
|
37
37
|
rowId(row: ExecutionRunRow): string | number;
|
|
38
38
|
rowTimestamp(row: ExecutionRunRow): Date | string;
|
|
39
39
|
/**
|
|
40
|
-
* Natural
|
|
41
|
-
*
|
|
42
|
-
* `run_id` without knowing the internal SERIAL `id` returned by
|
|
43
|
-
* `rowId()`.
|
|
40
|
+
* Natural key for `replayRow`, so the rerun pipeline finds the chunk holding
|
|
41
|
+
* a UUID `run_id` without the internal SERIAL `id` from `rowId()`.
|
|
44
42
|
*/
|
|
45
43
|
replayLookupKey(row: ExecutionRunRow): string;
|
|
46
44
|
/**
|
|
47
|
-
* Replay a chunk's `execution_runs` rows
|
|
48
|
-
*
|
|
49
|
-
* audit
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
* Idempotent on duplicate replays via `ON CONFLICT (run_id) DO
|
|
53
|
-
* NOTHING`. Decrements `cold_store_chunk_counts` (floored at 0).
|
|
45
|
+
* Replay a chunk's `execution_runs` rows into Orchestrator PG, mirroring the
|
|
46
|
+
* Platform-side replayInsert. The audit row goes to `access_log`, the
|
|
47
|
+
* orchestrator's audit surface. Idempotent via `ON CONFLICT (run_id) DO
|
|
48
|
+
* NOTHING`; decrements `cold_store_chunk_counts` (floored at 0).
|
|
54
49
|
*/
|
|
55
50
|
replayInsert(args: {
|
|
56
51
|
rows: ReadonlyArray<ExecutionRunRow>;
|
|
@@ -7,10 +7,8 @@
|
|
|
7
7
|
* - warm TTL: `minSecretAuditLogWarmDays()` table-wide, tightened per row
|
|
8
8
|
* by `secretAuditLogWarmSqlCase()`
|
|
9
9
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* synthetic prefix `__orchestrator__`. Mirrors the same pattern already
|
|
13
|
-
* used for `event_log` payload keys when the routing key is missing.
|
|
10
|
+
* Rows without `routing_key` (e.g. key rotations before any source is bound) collapse to the
|
|
11
|
+
* synthetic prefix `__orchestrator__`, the pattern `event_log` payload keys use too.
|
|
14
12
|
*/
|
|
15
13
|
import { type Kysely } from 'kysely';
|
|
16
14
|
import { type ChunkCommitMetadata, type ColdRetention, type ColdStoreTableConfig, type EligiblePartition, type TableAdapter, PgTableAdapterBase } from '@kici-dev/shared';
|
|
@@ -44,14 +42,9 @@ export declare class SecretAuditLogAdapter extends PgTableAdapterBase<Database>
|
|
|
44
42
|
rowId(row: SecretAuditLogRow): string | number;
|
|
45
43
|
rowTimestamp(row: SecretAuditLogRow): Date | string;
|
|
46
44
|
/**
|
|
47
|
-
*
|
|
48
|
-
* `
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
* `outcome` is a free-form string in PG but the engine helper only
|
|
52
|
-
* branches on `outcome !== 'allowed'`, so any other value
|
|
53
|
-
* (`'denied'`, `'error'`, future categories) lands in the forensic
|
|
54
|
-
* bucket.
|
|
45
|
+
* Sampled `resolve` / `resolve_named` rows get 180d cold; mutations get `'forever'`; a
|
|
46
|
+
* denied outcome promotes to 730d (forensic). `outcome` is free-form in PG, so any value
|
|
47
|
+
* other than `'allowed'` (`'error'`, future categories) lands in the forensic bucket.
|
|
55
48
|
*/
|
|
56
49
|
coldTtlDays(row: SecretAuditLogRow): ColdRetention;
|
|
57
50
|
markArchivedAndDelete(args: {
|