@kici-dev/orchestrator 0.16.0 → 0.18.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 +121 -233
- 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 +39 -45
- 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 +33 -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 +7 -7
- 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 +33 -59
- 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 +4553 -6556
- 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 +143 -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 +251 -486
- 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 +289 -525
- 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 +65 -151
- 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 +21 -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 +21 -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 +19 -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 +45 -0
- 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/test-direct.d.ts +46 -0
- package/dist/routes/uploads.d.ts +14 -19
- 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 +28 -45
- 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 +10 -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 +46 -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 +5 -7
- package/dist/secrets/routing-key-scope.d.ts +1 -0
- 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 +1 -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 +49004 -53782
- 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 +9342 -13077
- 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 +26 -53
- package/dist/storage/sign-url.d.ts +7 -22
- package/dist/storage/types.d.ts +46 -72
- 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 +7 -10
- 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/observer-registry.d.ts +14 -59
- package/dist/ws/ownership-gate.d.ts +1 -1
- package/dist/ws/platform-client.d.ts +21 -30
- 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 +46 -63
- 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
- package/dist/scaler/container-spawn.d.ts +0 -28
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* S3-backed log storage.
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* sweep, which bulk-deletes objects older than `KICI_STEP_LOG_TTL_DAYS` (default
|
|
6
|
-
* 90; 0 disables the sweep for operators running their own bucket lifecycle).
|
|
2
|
+
* S3-backed log storage. Retention is bounded by the orchestrator cleanup sweep, which
|
|
3
|
+
* bulk-deletes objects older than `KICI_STEP_LOG_TTL_DAYS` (default 90; 0 disables the
|
|
4
|
+
* sweep for operators running their own bucket lifecycle).
|
|
7
5
|
*
|
|
8
6
|
* Two write verbs with different durability contracts:
|
|
9
7
|
*
|
|
@@ -18,22 +16,19 @@
|
|
|
18
16
|
* once the buffer reaches segmentFlushBytes OR its oldest byte reaches
|
|
19
17
|
* segmentFlushMs. Each byte is written exactly once (no O(N^2) amplification)
|
|
20
18
|
* and the unique seal key means concurrent appends to the same step can never
|
|
21
|
-
* overwrite one another.
|
|
22
|
-
* finalize(path) at run completion.
|
|
19
|
+
* overwrite one another. finalize(path) at run completion makes the tail durable.
|
|
23
20
|
*
|
|
24
|
-
* -
|
|
25
|
-
*
|
|
26
|
-
* append()) and streams them via the byte-offset cursor.
|
|
21
|
+
* - read() streams sealed segments (plus any single object from append()) via the
|
|
22
|
+
* byte-offset cursor.
|
|
27
23
|
* - exists()/list() are segment-aware: `exists` is true when a single object or
|
|
28
24
|
* any segment is present; `list` collapses segment keys to their logical step
|
|
29
25
|
* path.
|
|
30
26
|
*
|
|
31
|
-
* All appendStreaming/finalize operations for one step key run through a
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* awaiting.
|
|
27
|
+
* All appendStreaming/finalize operations for one step key run through a sequential
|
|
28
|
+
* execution chain, so the in-memory buffer and seq counter are the authoritative single
|
|
29
|
+
* writer even when the caller fires appends without awaiting.
|
|
35
30
|
*
|
|
36
|
-
*
|
|
31
|
+
* AWS SDK v3 modular imports -- only loaded when S3 storage is configured.
|
|
37
32
|
*/
|
|
38
33
|
import type { LogReadOptions, LogReadResult, LogStorage } from './log-storage.js';
|
|
39
34
|
interface S3LogStorageOptions {
|
|
@@ -61,15 +56,11 @@ export declare class S3LogStorage implements LogStorage {
|
|
|
61
56
|
private readonly locks;
|
|
62
57
|
constructor(options: S3LogStorageOptions);
|
|
63
58
|
/**
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
* `listWithMetadata()` rebuild storage-relative paths by slicing the prefix
|
|
70
|
-
* off, so a key carrying `..` or a leading `/` would be handed back to the
|
|
71
|
-
* caller as an odd relative path — and on a filesystem-backed peer that path
|
|
72
|
-
* reaches a resolve. Keep it; it is deliberate.
|
|
59
|
+
* The assert is not traversal protection — an S3 key is an opaque byte string, so `..`
|
|
60
|
+
* is literal and cannot escape the prefix. It refuses to mint a malformed key at all:
|
|
61
|
+
* `list()` and `listWithMetadata()` slice the prefix off to rebuild relative paths, so a
|
|
62
|
+
* key carrying `..` or a leading `/` would come back as an odd relative path, which on a
|
|
63
|
+
* filesystem-backed peer reaches a resolve. Keep it; it is deliberate.
|
|
73
64
|
*
|
|
74
65
|
* Removals do NOT go through here: see {@link S3LogStorage.deleteKey}.
|
|
75
66
|
*/
|
|
@@ -77,51 +68,41 @@ export declare class S3LogStorage implements LogStorage {
|
|
|
77
68
|
/**
|
|
78
69
|
* Object key for a removal, built without the minting assert.
|
|
79
70
|
*
|
|
80
|
-
* `deleteMany` consumes
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
* is an opaque byte string, so a `..` segment is literal and this
|
|
87
|
-
* concatenation addresses an object inside the prefix or nothing at all.
|
|
71
|
+
* `deleteMany` consumes `listWithMetadata()` output, which reports whatever keys the
|
|
72
|
+
* bucket holds — including a legacy malformed one written before `objectKey()` refused
|
|
73
|
+
* them. The assert would throw while building the batch, so one such object would abort
|
|
74
|
+
* the whole retention sweep and leave every expired object in place forever. No
|
|
75
|
+
* protection is lost: a `..` segment is literal, so this addresses an object inside the
|
|
76
|
+
* prefix or nothing at all.
|
|
88
77
|
*/
|
|
89
78
|
private deleteKey;
|
|
90
|
-
/**
|
|
79
|
+
/** Zero-padded to 6 digits. */
|
|
91
80
|
private segKey;
|
|
92
|
-
/**
|
|
81
|
+
/** NoSuchKey, NotFound, or 404. */
|
|
93
82
|
private isNotFoundError;
|
|
94
|
-
/**
|
|
83
|
+
/** Null if not found. */
|
|
95
84
|
private getContent;
|
|
96
85
|
/**
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
*
|
|
100
|
-
* caller) so one failed op does not wedge the key.
|
|
86
|
+
* Runs `fn` after every queued operation for `key` has settled, so a step key's
|
|
87
|
+
* appendStreaming/finalize calls execute strictly in order. The chain swallows prior
|
|
88
|
+
* errors (surfaced to their own caller) so one failed op does not wedge the key.
|
|
101
89
|
*/
|
|
102
90
|
private runExclusive;
|
|
103
91
|
append(path: string, data: string): Promise<void>;
|
|
104
|
-
/**
|
|
105
|
-
* Highest existing segment number under a key (for mid-run redeploy
|
|
106
|
-
* continuity), + 1. Returns 0 when no segments exist yet.
|
|
107
|
-
*/
|
|
92
|
+
/** Highest existing segment number + 1 (mid-run redeploy continuity); 0 when none. */
|
|
108
93
|
private nextSeq;
|
|
109
94
|
/** Seal the buffer as the next immutable segment object. */
|
|
110
95
|
private seal;
|
|
111
96
|
appendStreaming(path: string, data: string): Promise<void>;
|
|
112
97
|
finalize(path: string): Promise<void>;
|
|
113
98
|
/**
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
* writers).
|
|
99
|
+
* Size of the append()-written single object (or null) + sealed segments in ascending
|
|
100
|
+
* seq order.
|
|
117
101
|
*/
|
|
118
102
|
private layout;
|
|
119
103
|
/** Fetch an inclusive byte range from one object. */
|
|
120
104
|
private getRange;
|
|
121
|
-
/**
|
|
122
|
-
* Map a global byte cursor + limit onto per-object range reads across an
|
|
123
|
-
* ordered entry list. Returns the reads to perform and the total byte size.
|
|
124
|
-
*/
|
|
105
|
+
/** Map a global byte cursor + limit onto per-object range reads over ordered entries. */
|
|
125
106
|
private planReads;
|
|
126
107
|
read(path: string, options?: LogReadOptions): Promise<LogReadResult>;
|
|
127
108
|
exists(path: string): Promise<boolean>;
|
|
@@ -1,38 +1,28 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The order a run's steps are shown in.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* mostly bracket the work — but a job's image build runs strictly FIRST, and
|
|
8
|
-
* rendering it last reads as though it happened last.
|
|
4
|
+
* Sorting `execution_steps` by `step_index` alone puts a pseudo-step where its index landed,
|
|
5
|
+
* not where it ran. That suits the cache pseudo-steps (indices above the real steps, mostly
|
|
6
|
+
* bracketing the work), but a job's image build runs strictly FIRST.
|
|
9
7
|
*
|
|
10
|
-
* The index cannot express this: `step.status` rejects a negative index (an
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* So the ordering is expressed by TYPE, here, once, rather than by each reader
|
|
15
|
-
* inventing its own rule.
|
|
8
|
+
* The index cannot express this: `step.status` rejects a negative index (an agent sending one
|
|
9
|
+
* to an older orchestrator is disconnected mid-job), and the check-run reporter
|
|
10
|
+
* (`steps[stepIndex]`) and the dashboard (log fetching gated on `stepIndex >= 0`) treat a
|
|
11
|
+
* negative index as absent. So the ordering is expressed by TYPE, here, once.
|
|
16
12
|
*/
|
|
17
13
|
import { type Expression } from 'kysely';
|
|
18
14
|
/**
|
|
19
|
-
* Sort key placing setup pseudo-steps (
|
|
20
|
-
*
|
|
15
|
+
* Sort key placing setup pseudo-steps (run before the job's real steps) first. Apply BEFORE
|
|
16
|
+
* the `step_index` sort:
|
|
21
17
|
*
|
|
22
18
|
* ```ts
|
|
23
19
|
* qb.orderBy(setupStepsFirst()).orderBy('step_index', 'asc')
|
|
24
20
|
* ```
|
|
25
21
|
*
|
|
26
|
-
*
|
|
27
|
-
* group `step_index` remains the only thing that orders them, exactly as before.
|
|
22
|
+
* Untyped steps and every real step share one key, so `step_index` alone orders each group.
|
|
28
23
|
*/
|
|
29
24
|
export declare function setupStepsFirst(): Expression<number>;
|
|
30
|
-
/**
|
|
31
|
-
* In-memory equivalent, for a caller that already holds the rows.
|
|
32
|
-
*
|
|
33
|
-
* Kept beside the SQL so the two cannot drift into disagreeing about what
|
|
34
|
-
* "setup" means.
|
|
35
|
-
*/
|
|
25
|
+
/** In-memory equivalent, kept beside the SQL so the two agree on what "setup" means. */
|
|
36
26
|
export declare function compareStepsForDisplay(a: {
|
|
37
27
|
step_type?: string | null;
|
|
38
28
|
step_index: number;
|
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Ring buffer
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* step gets its own independent buffer. When the buffer exceeds maxLines,
|
|
7
|
-
* the oldest lines are evicted.
|
|
8
|
-
*
|
|
9
|
-
* The totalCount field tracks how many lines were added in total (not just
|
|
10
|
-
* retained), enabling the truncation indicator: "showing last 20 of N lines".
|
|
2
|
+
* Ring buffer of the last N ANSI-stripped log lines per step, for check run summaries.
|
|
3
|
+
* Keyed by `{runId}:{jobId}:{stepIndex}`; past maxLines the oldest lines are evicted.
|
|
4
|
+
* `totalCount` counts every line added, which drives the "showing last 20 of N lines"
|
|
5
|
+
* truncation indicator.
|
|
11
6
|
*/
|
|
12
7
|
/** Entry stored per step in the buffer. */
|
|
13
8
|
export interface StepLogEntry {
|
|
@@ -22,36 +17,20 @@ export declare class StepLogBuffer {
|
|
|
22
17
|
constructor(opts?: {
|
|
23
18
|
maxLines?: number;
|
|
24
19
|
});
|
|
25
|
-
/**
|
|
26
|
-
* Build the composite key for a step.
|
|
27
|
-
*/
|
|
28
20
|
private buildKey;
|
|
29
|
-
/**
|
|
30
|
-
* Add log lines for a step.
|
|
31
|
-
*
|
|
32
|
-
* ANSI codes are stripped from each line before storage.
|
|
33
|
-
* When the buffer exceeds maxLines, the oldest lines are evicted.
|
|
34
|
-
*/
|
|
21
|
+
/** Add log lines for a step, ANSI-stripped; past maxLines the oldest are evicted. */
|
|
35
22
|
addLines(key: {
|
|
36
23
|
runId: string;
|
|
37
24
|
jobId: string;
|
|
38
25
|
stepIndex: number;
|
|
39
26
|
}, rawLines: string[]): void;
|
|
40
|
-
/**
|
|
41
|
-
* Get the last N lines and total count for a step.
|
|
42
|
-
*
|
|
43
|
-
* Returns undefined if no lines have been added for this step.
|
|
44
|
-
*/
|
|
27
|
+
/** The last N lines and total count for a step; undefined when it has none. */
|
|
45
28
|
getLastLines(key: {
|
|
46
29
|
runId: string;
|
|
47
30
|
jobId: string;
|
|
48
31
|
stepIndex: number;
|
|
49
32
|
}): StepLogEntry | undefined;
|
|
50
|
-
/**
|
|
51
|
-
* Remove all entries for a given runId.
|
|
52
|
-
*
|
|
53
|
-
* Called when the execution tracker prunes a completed run from memory.
|
|
54
|
-
*/
|
|
33
|
+
/** Remove a run's entries; called when the execution tracker prunes it from memory. */
|
|
55
34
|
cleanup(runId: string): void;
|
|
56
35
|
}
|
|
57
36
|
//# sourceMappingURL=step-log-buffer.d.ts.map
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* row, so its key is derived from the job name the writer used.
|
|
9
|
-
* `toAgentStepLogs` wraps every line in an untrusted envelope (log content is
|
|
10
|
-
* process/user output — never trusted).
|
|
2
|
+
* Step-log reader for the agent-facing step-logs endpoint. Resolves a step's log via
|
|
3
|
+
* the same `execution_steps.log_path` + `LogStorage` access as the dashboard step.logs
|
|
4
|
+
* path, with line-based cursor pagination. A job's workflow-level log (step `-1`: setup
|
|
5
|
+
* narration such as the clone and the dependency install) has no step row, so its key
|
|
6
|
+
* is derived from the job name the writer used. `toAgentStepLogs` wraps every line in
|
|
7
|
+
* an untrusted envelope (log content is process/user output — never trusted).
|
|
11
8
|
*/
|
|
12
9
|
import type { Kysely } from 'kysely';
|
|
13
10
|
import { type AgentStepLogs } from '@kici-dev/engine';
|
|
@@ -37,21 +34,16 @@ export interface ReadStepLogArgs {
|
|
|
37
34
|
limit?: number;
|
|
38
35
|
}
|
|
39
36
|
/**
|
|
40
|
-
*
|
|
41
|
-
* the step row or its log file is absent, so a never-emitted-logs step reads as
|
|
37
|
+
* An absent step row or log file is an empty page, not an error:
|
|
42
38
|
* `{ lines: [], totalLines: 0, nextCursor: null, recorded: false }`.
|
|
43
39
|
*/
|
|
44
40
|
export declare function readStepLogLines(deps: StepLogReaderDeps, args: ReadStepLogArgs): Promise<RawStepLogs>;
|
|
45
41
|
/**
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
* non-negative), so no row ever names it: its key is built from the job name
|
|
51
|
-
* (see {@link resolveJobName}, which reads the job's row where the log writer
|
|
52
|
-
* reads its in-memory name) and used only when the file exists.
|
|
42
|
+
* A step's row names its log. The workflow-level log uses a negative index no
|
|
43
|
+
* `step.status` carries (the wire schema is non-negative), so no row names it: its key
|
|
44
|
+
* is built from the job name (see {@link resolveJobName}) and used only when the file
|
|
45
|
+
* exists.
|
|
53
46
|
*/
|
|
54
47
|
export declare function resolveStepLogPath(deps: StepLogReaderDeps, args: Pick<ReadStepLogArgs, 'runId' | 'jobId' | 'stepIndex'>): Promise<string | null>;
|
|
55
|
-
/** Wrap raw step logs into the untrusted-tagged `AgentStepLogs` shape. */
|
|
56
48
|
export declare function toAgentStepLogs(runId: string, jobId: string, stepIndex: number, raw: RawStepLogs): AgentStepLogs;
|
|
57
49
|
//# sourceMappingURL=step-log-reader.d.ts.map
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Admin API routes for the access log (access_log table)
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* dashboard.access-log.list WS handler but exposed over HTTP + Bearer auth
|
|
7
|
-
* so operators can read it from the CLI without going through the dashboard.
|
|
2
|
+
* Admin API routes for the access log (access_log table): read and
|
|
3
|
+
* orchestrator-admin mutation attempts with ActorPrincipal attribution.
|
|
4
|
+
* Mirrors the dashboard.access-log.list WS handler over HTTP + Bearer auth, so
|
|
5
|
+
* operators can read it from the CLI.
|
|
8
6
|
*
|
|
9
7
|
* GET /api/v1/admin/access-log
|
|
10
8
|
* Filters: orgId, actorType, actorId, action, source, outcome,
|
|
@@ -1,56 +1,48 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Shared Bearer-token auth middleware for the orchestrator's admin routes.
|
|
3
3
|
*
|
|
4
|
-
* One factory serves every DB-backed admin router,
|
|
5
|
-
*
|
|
6
|
-
* exist, because no router writes that call itself.
|
|
4
|
+
* One factory serves every DB-backed admin router, so the error boundary is
|
|
5
|
+
* universal: no router calls `validate()` itself, so none can forget to wrap it.
|
|
7
6
|
*
|
|
8
|
-
*
|
|
7
|
+
* Deliberately distinct outcomes:
|
|
9
8
|
* - header absent / not `Bearer <token>` -> 401 AUTH_ERROR.missing
|
|
10
9
|
* - token unknown / revoked / expired -> 401 AUTH_ERROR.invalid
|
|
11
10
|
* - validation could not be completed -> 503 AUTH_ERROR.unavailable
|
|
12
11
|
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* is what 503 means. It also keeps a DB blip out of the 5xx error-rate signal
|
|
18
|
-
* that alerting reads as an application outage.
|
|
12
|
+
* `validate()` returns `null` for a bad credential, so it throws only when the
|
|
13
|
+
* lookup fails (unreachable DB, exhausted pool, failover): not the caller's
|
|
14
|
+
* fault, the server cannot authenticate anyone right now — 503. That also keeps
|
|
15
|
+
* a DB blip out of the 5xx error-rate signal alerting reads as an outage.
|
|
19
16
|
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
17
|
+
* Fails closed: an unresolvable auth decision is a rejection, never a
|
|
18
|
+
* fall-through to the protected handler.
|
|
22
19
|
*/
|
|
23
20
|
import type { Context, MiddlewareHandler } from 'hono';
|
|
24
21
|
import type { Role } from '../secrets/rbac.js';
|
|
25
22
|
/**
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* A single map rather than string literals repeated across every admin router:
|
|
29
|
-
* the 401 wordings are observed by operators and asserted on by tests, so they
|
|
30
|
-
* are pinned in exactly one place.
|
|
23
|
+
* Admin-auth response bodies, pinned in one place: operators observe the 401
|
|
24
|
+
* wordings and tests assert on them.
|
|
31
25
|
*/
|
|
32
26
|
export declare const AUTH_ERROR: {
|
|
33
27
|
readonly missing: 'Missing authorization';
|
|
34
28
|
readonly invalid: 'Invalid or expired token';
|
|
35
29
|
readonly unavailable: 'Authentication unavailable';
|
|
36
30
|
};
|
|
37
|
-
/** What a successful admin-token validation yields. */
|
|
38
31
|
export interface AuthTokenInfo {
|
|
39
32
|
id: string;
|
|
40
33
|
role: Role;
|
|
41
34
|
routingKey: string | null;
|
|
42
35
|
label: string;
|
|
36
|
+
/** The intended holder recorded at `token create --subject`, when one was. */
|
|
37
|
+
subject?: string | null;
|
|
43
38
|
}
|
|
44
|
-
/** The slice
|
|
39
|
+
/** The TokenManager slice this middleware needs (keeps tests trivial to fake). */
|
|
45
40
|
export interface AuthTokenValidator {
|
|
46
41
|
validate(token: string): Promise<AuthTokenInfo | null>;
|
|
47
42
|
}
|
|
48
43
|
/**
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
* Failures carry the status and body rather than a `Response` so a caller that
|
|
52
|
-
* is not a middleware (the inline run-cancel route on the coordinator app) can
|
|
53
|
-
* answer with the identical shape.
|
|
44
|
+
* Failures carry status and body, not a `Response`, so a non-middleware caller
|
|
45
|
+
* (the inline run-cancel route on the coordinator app) answers with the same shape.
|
|
54
46
|
*/
|
|
55
47
|
export type BearerAuthOutcome = {
|
|
56
48
|
ok: true;
|
|
@@ -70,21 +62,10 @@ export interface BearerAuthDeps {
|
|
|
70
62
|
};
|
|
71
63
|
}
|
|
72
64
|
/**
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
* wrapper so a route that needs the token info inline can share it.
|
|
76
|
-
*
|
|
77
|
-
* @param c - The request context (only the header, method, and path are read).
|
|
78
|
-
* @param deps - Token validator, a scope label for logs, and an optional logger.
|
|
79
|
-
* @returns The token info, or the status + body to answer with.
|
|
65
|
+
* The auth boundary itself; the middleware below is a thin wrapper, so a route
|
|
66
|
+
* that needs the token info inline shares it. Reads only the header, method and path.
|
|
80
67
|
*/
|
|
81
68
|
export declare function resolveBearerAuth(c: Context<any>, deps: BearerAuthDeps): Promise<BearerAuthOutcome>;
|
|
82
|
-
/**
|
|
83
|
-
* Build the bearer-auth middleware for one admin route family.
|
|
84
|
-
*
|
|
85
|
-
* @param deps - Token validator, a scope label for logs, and an optional logger.
|
|
86
|
-
* @returns A Hono middleware that authenticates or rejects; it never calls
|
|
87
|
-
* `next()` on an unresolved credential.
|
|
88
|
-
*/
|
|
69
|
+
/** Bearer-auth middleware for one admin route family; never `next()`s an unresolved credential. */
|
|
89
70
|
export declare function createBearerAuthMiddleware(deps: BearerAuthDeps): MiddlewareHandler<any>;
|
|
90
71
|
//# sourceMappingURL=admin-auth.d.ts.map
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Admin API
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* secret backends (PG, Vault) through the admin API. Backend credentials
|
|
6
|
-
* are stored encrypted at rest and never exposed in API responses.
|
|
7
|
-
*
|
|
8
|
-
* All routes are mounted under /api/v1/admin/backends and protected by
|
|
9
|
-
* the admin auth middleware in admin.ts.
|
|
2
|
+
* Admin API CRUD, connectivity test and sync for secret backends (PG, Vault).
|
|
3
|
+
* Backend credentials are encrypted at rest and never exposed in responses.
|
|
4
|
+
* Mounted under /api/v1/admin/backends behind the admin auth middleware in admin.ts.
|
|
10
5
|
*/
|
|
11
6
|
import { Hono } from 'hono';
|
|
12
7
|
import type { BackendSyncManager } from '@kici-dev/engine';
|
|
@@ -18,12 +13,6 @@ interface BackendRouteDeps {
|
|
|
18
13
|
healthChecker: BackendHealthChecker;
|
|
19
14
|
syncManager?: BackendSyncManager;
|
|
20
15
|
}
|
|
21
|
-
/**
|
|
22
|
-
* Create admin API routes for secret backend management.
|
|
23
|
-
*
|
|
24
|
-
* @param deps - Backend route dependencies (registry, health checker, sync manager)
|
|
25
|
-
* @returns Hono app with backend routes
|
|
26
|
-
*/
|
|
27
16
|
export declare function createBackendRoutes(deps: BackendRouteDeps): Hono<AdminEnv>;
|
|
28
17
|
export {};
|
|
29
18
|
//# sourceMappingURL=admin-backends.d.ts.map
|
|
@@ -1,25 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Admin API
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* Platform's connection registry and in the dashboard's per-orch URL
|
|
7
|
-
* segment (`/orgs/:cId/orchestrators/:clusterName/...`). Operators
|
|
8
|
-
* read and rename it via `kici-admin cluster-name {get,set}`.
|
|
9
|
-
*
|
|
10
|
-
* Routes:
|
|
2
|
+
* Admin API for this orchestrator's cluster name (`cluster_meta.cluster_name`),
|
|
3
|
+
* the human-friendly identifier in the Platform's connection registry and the
|
|
4
|
+
* dashboard's per-orch URL segment (`/orgs/:cId/orchestrators/:clusterName/...`).
|
|
5
|
+
* Backs `kici-admin cluster-name {get,set}`.
|
|
11
6
|
*
|
|
12
7
|
* - `GET /api/v1/admin/cluster-name` →
|
|
13
8
|
* `{ clusterName: string, looksAutoGenerated: boolean }`
|
|
14
|
-
* - `PUT /api/v1/admin/cluster-name` → body `{ name: string }`,
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* `access_log` so the audit trail captures who changed it and when.
|
|
9
|
+
* - `PUT /api/v1/admin/cluster-name` → body `{ name: string }`, validated by
|
|
10
|
+
* the shared `clusterNameSchema`. Returns `{ clusterName, prior }`. Renames
|
|
11
|
+
* are recorded in `access_log` (who and when).
|
|
18
12
|
*
|
|
19
|
-
* Mutation requires `secret.write` (
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* CLI can tell the operator to reconnect to make Platform aware.
|
|
13
|
+
* Mutation requires `secret.write` (as in admin-org-settings). The new name
|
|
14
|
+
* reaches the Platform on the next `source.register`, so the response carries
|
|
15
|
+
* a hint telling the CLI to have the operator reconnect.
|
|
23
16
|
*/
|
|
24
17
|
import { Hono } from 'hono';
|
|
25
18
|
import type { Kysely } from 'kysely';
|
|
@@ -32,10 +25,9 @@ interface ClusterNameRouteDeps {
|
|
|
32
25
|
db: Kysely<Database>;
|
|
33
26
|
rbac: RbacEnforcer;
|
|
34
27
|
/**
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
* the row's `orgId` is null by design.
|
|
28
|
+
* When wired, each rename emits one `access_log` row (`cluster_name.update`)
|
|
29
|
+
* with the prior + new value in `meta`, and `orgId=null` because the cluster
|
|
30
|
+
* name is orch-scoped, not org-scoped.
|
|
39
31
|
*/
|
|
40
32
|
accessLog?: AccessLogWriter;
|
|
41
33
|
}
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Admin API
|
|
2
|
+
* Admin API for fleet-wide orchestrator tunables.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* stays operable even when Platform is unavailable. `GET
|
|
4
|
+
* GET / PATCH `/api/v1/admin/cluster-settings` let `kici-admin cluster-settings`
|
|
5
|
+
* read and write the single `cluster_settings` row (id='default') without the
|
|
6
|
+
* Platform dashboard proxy, so the CLI works while Platform is down. `GET
|
|
8
7
|
* /api/v1/admin/cluster-settings/propagation` reports which settings version
|
|
9
8
|
* each orchestrator this coordinator knows has applied.
|
|
10
9
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* capability (already granted to admin / owner roles), matching the gating
|
|
14
|
-
* posture used by `admin-org-settings.ts`.
|
|
10
|
+
* Fleet-wide, not per-tenant, so deliberately NOT under `/orgs/:customerId/*`.
|
|
11
|
+
* Mutations require `secret.write` (admin / owner), like `admin-org-settings.ts`.
|
|
15
12
|
*/
|
|
16
13
|
import { Hono } from 'hono';
|
|
17
14
|
import { type Kysely } from 'kysely';
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Admin
|
|
3
|
-
*
|
|
4
|
-
* Provides endpoints under /admin/config/* for:
|
|
2
|
+
* Admin config routes under /admin/config/*:
|
|
5
3
|
* - seed: bulk import shared config from JSON body
|
|
6
4
|
* - get: current effective config (merged local + shared + env)
|
|
7
5
|
* - set: update single field in shared config
|
|
@@ -13,18 +11,13 @@
|
|
|
13
11
|
* - rollback: rollback to specific version
|
|
14
12
|
* - reload: trigger config reload
|
|
15
13
|
*
|
|
16
|
-
* All routes
|
|
14
|
+
* All routes require Bearer token auth.
|
|
17
15
|
*/
|
|
18
16
|
import { Hono } from 'hono';
|
|
19
17
|
import type { SharedConfigStore } from '../config/shared-store.js';
|
|
20
18
|
import type { ConfigReloader, ReloadResult } from '../config/reload.js';
|
|
21
19
|
import type { LocalConfig } from '../config/types.js';
|
|
22
|
-
/**
|
|
23
|
-
* Result of forwarding a reload request to a peer orchestrator.
|
|
24
|
-
*
|
|
25
|
-
* - `result` carries the ReloadResult from the target peer when delivery succeeded.
|
|
26
|
-
* - `result === null` means the target peer is not connected (or unknown).
|
|
27
|
-
*/
|
|
20
|
+
/** `result` is null when the target peer is not connected (or unknown). */
|
|
28
21
|
export interface PeerReloadForwardResult {
|
|
29
22
|
result: ReloadResult | null;
|
|
30
23
|
}
|
|
@@ -33,22 +26,17 @@ export interface ConfigRouteDeps {
|
|
|
33
26
|
configReloader: ConfigReloader;
|
|
34
27
|
localConfigPath?: string;
|
|
35
28
|
loadLocalConfig: () => Promise<LocalConfig>;
|
|
36
|
-
/**
|
|
29
|
+
/** Bearer token; undefined makes every route return 503. */
|
|
37
30
|
adminToken?: string;
|
|
38
31
|
/**
|
|
39
|
-
* Forward a
|
|
40
|
-
*
|
|
41
|
-
* the target peer is unknown / not connected. When omitted, per-instance
|
|
42
|
-
* targeting is unavailable and `target` requests return 501.
|
|
32
|
+
* Forward a reload to a peer over the cluster peer connection; `null` when the
|
|
33
|
+
* peer is unknown / not connected. Omitted → `target` requests return 501.
|
|
43
34
|
*/
|
|
44
35
|
forwardReloadToPeer?: (targetInstanceId: string, opts: {
|
|
45
36
|
drain?: boolean;
|
|
46
37
|
timeoutMs?: number;
|
|
47
38
|
}) => Promise<ReloadResult | null>;
|
|
48
39
|
}
|
|
49
|
-
/**
|
|
50
|
-
* Create admin config routes.
|
|
51
|
-
* Returns a Hono app to be mounted at /admin/config.
|
|
52
|
-
*/
|
|
40
|
+
/** Mounted at /admin/config. */
|
|
53
41
|
export declare function createConfigAdminRoutes(deps: ConfigRouteDeps): Hono;
|
|
54
42
|
//# sourceMappingURL=admin-config.d.ts.map
|
|
@@ -18,14 +18,12 @@
|
|
|
18
18
|
* DELETE /api/v1/admin/contexts/:name/source-overrides/:routingKey/:key?orgId=<id>
|
|
19
19
|
* — delete a source override
|
|
20
20
|
*
|
|
21
|
-
* Backs the `kici-admin context` dual-mode CLI
|
|
22
|
-
*
|
|
23
|
-
* @kici-dev/shared.
|
|
24
|
-
* token (no DB reach) can do the same operations.
|
|
21
|
+
* Backs the `kici-admin context` dual-mode CLI for tooling with only an admin
|
|
22
|
+
* token (no DB reach); offline (direct-DB) mode bypasses this router and calls
|
|
23
|
+
* the `*Direct` helpers from @kici-dev/shared.
|
|
25
24
|
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* context, which we use for RBAC gating here.
|
|
25
|
+
* The admin auth middleware in admin.ts (at `/api/v1/admin/*`) sets the
|
|
26
|
+
* `role` + `userId` the RBAC gates here read.
|
|
29
27
|
*/
|
|
30
28
|
import { Hono } from 'hono';
|
|
31
29
|
import { type Kysely } from 'kysely';
|
|
@@ -35,11 +33,6 @@ export interface AdminContextRoutesDeps {
|
|
|
35
33
|
db: Kysely<any>;
|
|
36
34
|
rbac: RbacEnforcer;
|
|
37
35
|
}
|
|
38
|
-
/**
|
|
39
|
-
* Create admin API routes for context management.
|
|
40
|
-
*
|
|
41
|
-
* @param deps - db (Kysely) + rbac enforcer
|
|
42
|
-
* @returns Hono app mounted at /api/v1/admin
|
|
43
|
-
*/
|
|
36
|
+
/** Context routes; the returned app mounts at /api/v1/admin. */
|
|
44
37
|
export declare function createAdminContextRoutes(deps: AdminContextRoutesDeps): Hono<AdminEnv>;
|
|
45
38
|
//# sourceMappingURL=admin-contexts.d.ts.map
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Admin
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* through the admin API. Uses advisory locking for concurrency safety
|
|
6
|
-
* across multiple orchestrator instances.
|
|
7
|
-
*
|
|
8
|
-
* All routes are mounted under /api/v1/admin/db and protected by
|
|
9
|
-
* the admin auth middleware in admin.ts.
|
|
2
|
+
* Admin routes to run pending migrations and check migration status, under
|
|
3
|
+
* /api/v1/admin/db behind the admin auth middleware in admin.ts. Advisory
|
|
4
|
+
* locking keeps concurrent orchestrator instances safe.
|
|
10
5
|
*/
|
|
11
6
|
import { Hono } from 'hono';
|
|
12
7
|
import type { Kysely } from 'kysely';
|
|
@@ -16,8 +11,8 @@ interface DbRouteDeps {
|
|
|
16
11
|
db: Kysely<any>;
|
|
17
12
|
pool: pg.Pool;
|
|
18
13
|
/**
|
|
19
|
-
* Connection string for the timeout-free pool
|
|
20
|
-
*
|
|
14
|
+
* Connection string for the timeout-free pool schema work runs on; absent in
|
|
15
|
+
* unit tests, which fall back to the shared pool.
|
|
21
16
|
*/
|
|
22
17
|
databaseUrl?: string;
|
|
23
18
|
}
|