@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,21 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The release wiring the local (`kici-admin`) held-run decision surface
|
|
2
|
+
* The release wiring of the local (`kici-admin`) held-run decision surface,
|
|
3
|
+
* composed by `createApp` for every mode. A factory rather than an inline
|
|
4
|
+
* literal so a test can assert its fields: the defect it guards is a MISSING
|
|
5
|
+
* field — a release that flips the `held_runs` row without dispatching looks
|
|
6
|
+
* like it works and does nothing.
|
|
3
7
|
*
|
|
4
|
-
* `
|
|
5
|
-
*
|
|
6
|
-
* field, not a wrong algorithm: a release path that flips the `held_runs` row
|
|
7
|
-
* without dispatching looks like it works and does nothing. A factory can be
|
|
8
|
-
* constructed by a test and its fields asserted; an object literal buried in
|
|
9
|
-
* `createApp` cannot.
|
|
8
|
+
* `undefined` without a job-release callback, so no decision route is mounted
|
|
9
|
+
* rather than one whose approves are silent no-ops.
|
|
10
10
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* Every callback reads the LIVE processing-deps bag at call time rather than
|
|
16
|
-
* capturing one: the provider registry is swapped whenever sources reload, and
|
|
17
|
-
* a captured bag would resolve a check poster from a registry that no longer
|
|
18
|
-
* serves the routing key.
|
|
11
|
+
* Callbacks read the LIVE processing-deps bag at call time: sources reloading
|
|
12
|
+
* swap the provider registry, and a captured bag would resolve a check poster
|
|
13
|
+
* from a registry that no longer serves the routing key.
|
|
19
14
|
*/
|
|
20
15
|
import type { ReleaseSignal } from '../contexts/held-runs.js';
|
|
21
16
|
import type { ProcessingDeps } from '../pipeline/processor.js';
|
|
@@ -33,12 +28,10 @@ export interface HeldRunReleaseInputs {
|
|
|
33
28
|
buildProcessingDeps: () => ProcessingDeps;
|
|
34
29
|
}
|
|
35
30
|
/**
|
|
36
|
-
* The reason a workflow-scoped hold rejected
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
* hold and an SDK workflow-level `requireApproval` all arrive here, so a
|
|
41
|
-
* reason naming one of them would mislabel the other two.
|
|
31
|
+
* The reason recorded on the run when a workflow-scoped hold is rejected here
|
|
32
|
+
* with none supplied. Scope-neutral on purpose: the install gate, the org trust
|
|
33
|
+
* policy's PR-wide hold and an SDK workflow-level `requireApproval` all arrive
|
|
34
|
+
* here, so naming one would mislabel the others.
|
|
42
35
|
*/
|
|
43
36
|
export declare const DEFAULT_LOCAL_REJECT_REASON = "Workflow hold rejected by the orchestrator operator";
|
|
44
37
|
export declare function buildHeldRunRelease(inputs: HeldRunReleaseInputs): HeldRunReleaseWiring | undefined;
|
|
@@ -2,25 +2,19 @@
|
|
|
2
2
|
* The approval subsystem an INDEPENDENT orchestrator runs on.
|
|
3
3
|
*
|
|
4
4
|
* `server.ts` composes this inline for the three Platform-attached modes. An
|
|
5
|
-
* independent orchestrator has no Platform
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* terminalize its `KiCI Security` check, or drop the pending dispatch context
|
|
11
|
-
* it would have replayed.
|
|
5
|
+
* independent orchestrator has no Platform hook, so without this every hold
|
|
6
|
+
* gate is inert: a fork PR the policy says to HOLD is dropped, an SDK
|
|
7
|
+
* `requireApproval` job runs UNGATED (the dispatch site logs an error and
|
|
8
|
+
* dispatches anyway), and the stale detector has no store to expire an overdue
|
|
9
|
+
* hold, terminalize its `KiCI Security` check, or drop its pending context.
|
|
12
10
|
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* produces can be asserted — which is the whole point, since every defect this
|
|
17
|
-
* closes was a missing field rather than a wrong algorithm.
|
|
11
|
+
* Not in `standalone.ts`: that entry point runs `guardStartup` at import time,
|
|
12
|
+
* so no test can construct its wiring. A factory's fields can be asserted —
|
|
13
|
+
* the point, since each defect this closes is a missing field.
|
|
18
14
|
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* independent-mode equivalent — so wiring the bridge would let an agent open a
|
|
23
|
-
* hold nothing could resolve short of expiry.
|
|
15
|
+
* Deliberately NO `stepApprovalBridge`: a step hold is answered by the
|
|
16
|
+
* Platform-relayed dashboard applier, which has no independent-mode
|
|
17
|
+
* equivalent, so an agent could open a hold nothing resolves short of expiry.
|
|
24
18
|
*/
|
|
25
19
|
import type { Kysely } from 'kysely';
|
|
26
20
|
import type { Database } from '../db/types.js';
|
|
@@ -38,9 +32,8 @@ export interface IndependentApprovalSubsystems {
|
|
|
38
32
|
coordinator?: RunCoordinator | undefined;
|
|
39
33
|
invokeGateDeps?: InvokeGateDeps | undefined;
|
|
40
34
|
/**
|
|
41
|
-
* The live direct-ingress deps bag. Read lazily
|
|
42
|
-
*
|
|
43
|
-
* it at wiring time throws.
|
|
35
|
+
* The live direct-ingress deps bag. Read lazily: `createApp` populates it
|
|
36
|
+
* after the mode hook, so reading it at wiring time throws.
|
|
44
37
|
*/
|
|
45
38
|
buildProcessingDeps: () => ProcessingDeps;
|
|
46
39
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ReleaseSignal } from '../contexts/held-runs.js';
|
|
2
|
-
/** The
|
|
2
|
+
/** The resume paths a released hold can take. */
|
|
3
3
|
export interface ResumeHandlers {
|
|
4
4
|
onStepRelease?: (signal: ReleaseSignal) => Promise<void>;
|
|
5
5
|
onWorkflowRelease?: (signal: ReleaseSignal) => Promise<void>;
|
|
@@ -27,48 +27,38 @@ export interface StepApprovalRequest {
|
|
|
27
27
|
export interface StepApprovalBridgeDeps {
|
|
28
28
|
store: HeldRunStore;
|
|
29
29
|
/**
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
* for sourceless orchestrators.
|
|
30
|
+
* The tenant org id the dashboard handler also reads held_runs with. A
|
|
31
|
+
* function because a sourceless orchestrator resolves its org post-auth.
|
|
33
32
|
*/
|
|
34
33
|
resolveOrgId: () => string;
|
|
35
34
|
/** Resolve the authoritative approval expiry (seconds) for an org. */
|
|
36
35
|
resolveExpirySeconds: (orgId: string) => Promise<number>;
|
|
37
|
-
/**
|
|
38
|
-
* Access-log writer for the orchestrator audit stream. Optional -- if not
|
|
39
|
-
* set, the step-hold creation audit row (`held_run.request`) is skipped.
|
|
40
|
-
*/
|
|
36
|
+
/** When unset, the `held_run.request` audit row is skipped. */
|
|
41
37
|
accessLogWriter?: AccessLogWriter;
|
|
42
|
-
/** Routing key recorded on the audit row.
|
|
38
|
+
/** Routing key recorded on the audit row. */
|
|
43
39
|
routingKey?: string | null;
|
|
44
40
|
}
|
|
45
41
|
/**
|
|
46
|
-
* Owns
|
|
47
|
-
*
|
|
48
|
-
* that settles a step-scoped wait.
|
|
42
|
+
* Owns step-scoped held_runs rows and the holdId → waiting-agent resolver map:
|
|
43
|
+
* the only place that opens a step hold or settles a step-scoped wait.
|
|
49
44
|
*/
|
|
50
45
|
export declare class StepApprovalBridge {
|
|
51
46
|
private readonly deps;
|
|
52
47
|
private readonly pending;
|
|
53
48
|
constructor(deps: StepApprovalBridgeDeps);
|
|
54
|
-
/**
|
|
55
|
-
* Create a step-scoped hold and return a promise that settles when the hold
|
|
56
|
-
* is approved / rejected / expired (via {@link resolve}).
|
|
57
|
-
*/
|
|
49
|
+
/** Create a step-scoped hold; the promise settles via {@link resolve}. */
|
|
58
50
|
request(req: StepApprovalRequest): Promise<{
|
|
59
51
|
outcome: StepApprovalOutcome;
|
|
60
52
|
reason?: string;
|
|
61
53
|
}>;
|
|
62
54
|
/**
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
* agent is waiting on the hold (e.g. the agent already disconnected).
|
|
55
|
+
* Called by the applier (`onStepRelease`) and the stale detector (`expired`).
|
|
56
|
+
* A no-op when no agent waits on the hold (e.g. it already disconnected).
|
|
66
57
|
*/
|
|
67
58
|
resolve(holdId: string, outcome: StepApprovalOutcome, reason?: string): boolean;
|
|
68
59
|
/**
|
|
69
|
-
* Reject
|
|
70
|
-
*
|
|
71
|
-
* resolver is dropped so the handler's relayed `ws.send` is skipped.
|
|
60
|
+
* Reject a disconnected agent's pending waits so the handler skips `ws.send`.
|
|
61
|
+
* The held_runs rows stay for the stale detector to expire.
|
|
72
62
|
*/
|
|
73
63
|
failAgent(agentId: string): void;
|
|
74
64
|
/** Number of in-flight step-approval waits (test/diagnostics). */
|
|
@@ -19,19 +19,17 @@ export declare function adminActorSub(tokenUserId: string): string;
|
|
|
19
19
|
* | anything else | unchanged | no other actor type reaches these surfaces |
|
|
20
20
|
*
|
|
21
21
|
* The agent suffix is stripped first. `stringifyActor` renders a `user` or
|
|
22
|
-
* `api_key` who acted through an agent as `user:<sub> via agent:<label>`, and
|
|
23
|
-
*
|
|
24
|
-
* matches no live subject
|
|
25
|
-
* trigger
|
|
22
|
+
* `api_key` who acted through an agent as `user:<sub> via agent:<label>`, and
|
|
23
|
+
* splitting on the first colon alone gives `<sub> via agent:<label>`, which
|
|
24
|
+
* matches no live subject and leaves the gate inert for every agent-mediated
|
|
25
|
+
* trigger — the common `user` case.
|
|
26
26
|
*
|
|
27
27
|
* **Residual: `api_key`.** A key's persisted identifier is its `keyId`, while
|
|
28
28
|
* both surfaces render a live `api_key` actor as its owner's Keycloak subject
|
|
29
|
-
* (`ownerSub`).
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* papered over: returning the bare keyId is at least honest about what was
|
|
34
|
-
* stored.
|
|
29
|
+
* (`ownerSub`). No string transform bridges them; closing it needs a keyId →
|
|
30
|
+
* ownerSub lookup, a store this pure function lacks. So an owner approving a
|
|
31
|
+
* hold on a run their own key triggered is still admitted. Returning the bare
|
|
32
|
+
* keyId is at least honest about what was stored.
|
|
35
33
|
*/
|
|
36
34
|
export declare function triggererSubjectFor(triggeredBy: string | null | undefined): string | undefined;
|
|
37
35
|
//# sourceMappingURL=triggerer-subject.d.ts.map
|
|
@@ -3,10 +3,9 @@ import type { ArtifactRejectReason } from '@kici-dev/engine';
|
|
|
3
3
|
import type { Database } from '../db/types.js';
|
|
4
4
|
import type { CacheStorage } from '../storage/types.js';
|
|
5
5
|
/**
|
|
6
|
-
* The presigned PUT never landed an object,
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* reported straight back to the agent (which fails the workflow step).
|
|
6
|
+
* The presigned PUT never landed an object. Terminal, unlike a transient
|
|
7
|
+
* storage/DB error (a retry would keep finding it absent), so it goes straight
|
|
8
|
+
* back to the agent, which fails the workflow step.
|
|
10
9
|
*/
|
|
11
10
|
export declare class ArtifactObjectMissingError extends Error {
|
|
12
11
|
readonly storageKey: string;
|
|
@@ -20,16 +19,13 @@ export declare class ArtifactInvalidNameError extends Error {
|
|
|
20
19
|
constructor(detail: string);
|
|
21
20
|
}
|
|
22
21
|
/**
|
|
23
|
-
* Map a `completeUpload` failure onto a message safe
|
|
24
|
-
*
|
|
25
|
-
* step logs.
|
|
22
|
+
* Map a `completeUpload` failure onto a message safe for the agent, which runs
|
|
23
|
+
* untrusted workflow code (the reason reaches the author's step logs).
|
|
26
24
|
*
|
|
27
|
-
* An invalid-name
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
* failure the author cannot act on, so it collapses to one literal; the raw
|
|
32
|
-
* exception stays in the orchestrator's own log line.
|
|
25
|
+
* An invalid-name message is already safe (the schema's fixed detail) and
|
|
26
|
+
* passes through. Object-missing keeps its own category, but not the storage
|
|
27
|
+
* key its message embeds. Anything else collapses to one literal; the raw
|
|
28
|
+
* exception stays in the orchestrator's own log.
|
|
33
29
|
*/
|
|
34
30
|
export declare function classifyArtifactCommitFailure(err: unknown): string;
|
|
35
31
|
/** Cluster-wide default per-org artifact byte quota: 20 GiB. */
|
|
@@ -41,36 +37,24 @@ export declare const DEFAULT_ARTIFACT_MAX_BYTES: number;
|
|
|
41
37
|
/** Cluster-wide default per-run artifact count cap. */
|
|
42
38
|
export declare const DEFAULT_ARTIFACT_MAX_PER_RUN = 50;
|
|
43
39
|
/**
|
|
44
|
-
* Storage key for a run's named artifact.
|
|
40
|
+
* Storage key for a run's named artifact. Injective over names, so a second
|
|
41
|
+
* upload can never silently overwrite the first while both rows keep their own
|
|
42
|
+
* hash.
|
|
45
43
|
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
44
|
+
* The trailing discriminator, a hash of the EXACT name, keeps keys apart on a
|
|
45
|
+
* CASE-INSENSITIVE namespace (the filesystem backend on macOS or Windows),
|
|
46
|
+
* where `bundle` and `Bundle` would otherwise resolve to one file. Under case
|
|
47
|
+
* folding it carries the whole separation, hence its width (see
|
|
48
|
+
* `KEY_DISCRIMINATOR_LENGTH`). The readable stem lets an operator browsing the
|
|
49
|
+
* bucket tell which artifact an object is. Hashing the sanitized name instead
|
|
50
|
+
* would fold `a/b` and `a_b` back together.
|
|
49
51
|
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
* otherwise be two keys resolving to one file; because their discriminators
|
|
54
|
-
* differ, the keys differ by more than case and stay two objects. That is why
|
|
55
|
-
* the discriminator is wide (see `KEY_DISCRIMINATOR_LENGTH`): under case
|
|
56
|
-
* folding it carries the whole separation on its own. The readable stem is kept
|
|
57
|
-
* so an operator browsing the bucket can still tell which artifact an object
|
|
58
|
-
* is.
|
|
59
|
-
*
|
|
60
|
-
* Hashing the EXACT name rather than the sanitized one is deliberate:
|
|
61
|
-
* sanitizing is many-to-one, so a discriminator over its output would fold
|
|
62
|
-
* `a/b` and `a_b` back together.
|
|
63
|
-
*
|
|
64
|
-
* Changing this format does not strand existing artifacts — the key is
|
|
65
|
-
* persisted in `artifacts.storage_key` and the download paths read that column
|
|
66
|
-
* rather than re-deriving. Only the grant and commit paths derive, and both do
|
|
67
|
-
* so at upload time.
|
|
52
|
+
* Changing this format does not strand existing artifacts: downloads read the
|
|
53
|
+
* persisted `artifacts.storage_key`; only the grant and commit paths derive,
|
|
54
|
+
* both at upload time.
|
|
68
55
|
*/
|
|
69
56
|
export declare function artifactStorageKey(runId: string, name: string): string;
|
|
70
|
-
/**
|
|
71
|
-
* Per-org override of the artifact limits, read from `org_settings`. Each field
|
|
72
|
-
* is optional; an undefined field falls back to the cluster-wide default.
|
|
73
|
-
*/
|
|
57
|
+
/** Per-org `org_settings` overrides; an undefined field uses the cluster default. */
|
|
74
58
|
export interface ArtifactOrgLimits {
|
|
75
59
|
quotaBytes?: number;
|
|
76
60
|
ttlMs?: number;
|
|
@@ -85,10 +69,7 @@ export interface ArtifactBeginUploadResult {
|
|
|
85
69
|
uploadUrl?: string;
|
|
86
70
|
storageKey?: string;
|
|
87
71
|
reason?: ArtifactRejectReason;
|
|
88
|
-
/**
|
|
89
|
-
* Free-text rejection detail carried when no enforcement `reason` applies —
|
|
90
|
-
* today, a name that violates the artifact-name contract.
|
|
91
|
-
*/
|
|
72
|
+
/** Free-text detail when no enforcement `reason` applies (a contract-violating name). */
|
|
92
73
|
error?: string;
|
|
93
74
|
}
|
|
94
75
|
/** Outcome of a download lookup. */
|
|
@@ -105,11 +86,7 @@ export interface ArtifactListEntry {
|
|
|
105
86
|
sizeBytes: number;
|
|
106
87
|
sha256: string;
|
|
107
88
|
createdAt: string;
|
|
108
|
-
/**
|
|
109
|
-
* Presigned GET for the backing object. Present on the run-detail listing
|
|
110
|
-
* (`listForRunWithUrls`); omitted when the object could not be resolved
|
|
111
|
-
* (expired / gone).
|
|
112
|
-
*/
|
|
89
|
+
/** Presigned GET (`listForRunWithUrls`); omitted when the object is expired or gone. */
|
|
113
90
|
downloadUrl?: string;
|
|
114
91
|
}
|
|
115
92
|
export declare class ArtifactStore {
|
|
@@ -127,34 +104,25 @@ export declare class ArtifactStore {
|
|
|
127
104
|
quotaBytes?: number;
|
|
128
105
|
/** Cluster-wide default TTL (env default). */
|
|
129
106
|
ttlMs?: number;
|
|
130
|
-
/** Per-artifact size cap. */
|
|
131
107
|
maxBytes?: number;
|
|
132
|
-
/** Per-run artifact count cap. */
|
|
133
108
|
maxPerRun?: number;
|
|
134
|
-
/**
|
|
109
|
+
/** When unset, defaults apply. */
|
|
135
110
|
orgLimitsReader?: ArtifactOrgLimitsReader;
|
|
136
111
|
});
|
|
137
|
-
/**
|
|
138
|
-
* Resolve the effective quota, TTL, per-artifact size cap, and per-run count
|
|
139
|
-
* cap for an org. Each value is the per-org `org_settings` override when set,
|
|
140
|
-
* otherwise the cluster-wide default.
|
|
141
|
-
*/
|
|
112
|
+
/** Effective limits for an org: the `org_settings` override, else the default. */
|
|
142
113
|
private resolveLimits;
|
|
143
|
-
/**
|
|
114
|
+
/** Cutoff time for TTL filtering: rows created before this are expired. */
|
|
144
115
|
private cutoff;
|
|
145
116
|
/**
|
|
146
|
-
* Grant or refuse a presigned PUT
|
|
147
|
-
*
|
|
148
|
-
*
|
|
149
|
-
* set, otherwise the cluster-wide default. No presigned URL is minted for a
|
|
150
|
-
* request that would violate any gate.
|
|
117
|
+
* Grant or refuse a presigned PUT. Order: name contract → resolve limits →
|
|
118
|
+
* size cap → duplicate name → per-run count cap → org quota. No URL is minted
|
|
119
|
+
* for a request violating any gate.
|
|
151
120
|
*
|
|
152
|
-
* The name is checked
|
|
153
|
-
*
|
|
154
|
-
*
|
|
155
|
-
*
|
|
156
|
-
*
|
|
157
|
-
* free-text `error` and no `reason`.
|
|
121
|
+
* The name is checked here, not only in the SDK, because the agent runs
|
|
122
|
+
* untrusted workflow code: a name bypassing the SDK check would be sanitized
|
|
123
|
+
* onto another name's key, letting a second upload overwrite the first object
|
|
124
|
+
* while both rows keep their own hash. A contract violation is not an
|
|
125
|
+
* enforcement rejection, so it carries a free-text `error` and no `reason`.
|
|
158
126
|
*/
|
|
159
127
|
beginUpload(args: {
|
|
160
128
|
customerId: string;
|
|
@@ -163,29 +131,23 @@ export declare class ArtifactStore {
|
|
|
163
131
|
declaredSizeBytes: number;
|
|
164
132
|
}): Promise<ArtifactBeginUploadResult>;
|
|
165
133
|
/**
|
|
166
|
-
* Commit a completed upload: write the
|
|
167
|
-
*
|
|
168
|
-
*
|
|
169
|
-
* pre-mint check.
|
|
134
|
+
* Commit a completed upload: write the metadata sidecar, then insert the row.
|
|
135
|
+
* `UNIQUE (run_id, name)` (onConflict-do-nothing) backstops a racing duplicate
|
|
136
|
+
* that slipped past the pre-mint check.
|
|
170
137
|
*
|
|
171
|
-
* The agent asserts neither
|
|
172
|
-
*
|
|
173
|
-
*
|
|
174
|
-
*
|
|
175
|
-
*
|
|
176
|
-
* the per-org quota (a presigned PUT does not bind content length).
|
|
138
|
+
* The agent asserts neither key nor size: the key derives from the
|
|
139
|
+
* server-resolved `runId` + `name`, the size is read back from storage.
|
|
140
|
+
* Agents run untrusted code, so an echoed key could point a row at another
|
|
141
|
+
* tenant's object, and a declared size could under-account the org quota (a
|
|
142
|
+
* presigned PUT does not bind content length).
|
|
177
143
|
*
|
|
178
|
-
* The name is re-validated
|
|
179
|
-
*
|
|
180
|
-
*
|
|
181
|
-
* storage key of a *different*, already-committed artifact and record a second
|
|
182
|
-
* row against that same object with its own hash.
|
|
144
|
+
* The name is re-validated: a commit is its own inbound message, possibly for
|
|
145
|
+
* a name never granted, and a non-conforming name would derive the key of a
|
|
146
|
+
* *different*, already-committed artifact and record a second row against it.
|
|
183
147
|
*
|
|
184
|
-
* Throws
|
|
185
|
-
*
|
|
186
|
-
*
|
|
187
|
-
* otherwise. The caller reports the failure back to the agent, which fails the
|
|
188
|
-
* workflow step rather than leaving a green run with no artifact.
|
|
148
|
+
* Throws `ArtifactInvalidNameError`, `ArtifactObjectMissingError`, or the
|
|
149
|
+
* underlying storage / DB error. The caller reports it to the agent, which
|
|
150
|
+
* fails the step rather than leaving a green run with no artifact.
|
|
189
151
|
*/
|
|
190
152
|
completeUpload(args: {
|
|
191
153
|
customerId: string;
|
|
@@ -210,13 +172,11 @@ export declare class ArtifactStore {
|
|
|
210
172
|
/** Load a run's non-expired artifact rows, newest first, given the org TTL. */
|
|
211
173
|
private loadRunRows;
|
|
212
174
|
/**
|
|
213
|
-
*
|
|
214
|
-
*
|
|
215
|
-
*
|
|
216
|
-
*
|
|
217
|
-
*
|
|
218
|
-
* backend's `getUrl` signature TTL, NOT the artifact-retention `ttlMs` — so
|
|
219
|
-
* the dashboard can refresh a rendered `downloadUrl` before its signature
|
|
175
|
+
* A run's non-expired artifacts with a presigned GET each, newest first, for
|
|
176
|
+
* the dashboard run-detail panel. A row whose object is gone keeps its
|
|
177
|
+
* metadata with `downloadUrl` omitted rather than being dropped. Also reports
|
|
178
|
+
* the presigned-URL expiry in seconds — the backend's `getUrl` signature TTL,
|
|
179
|
+
* NOT the retention `ttlMs` — so the dashboard can refresh a URL before it
|
|
220
180
|
* expires.
|
|
221
181
|
*/
|
|
222
182
|
listForRunWithUrls(customerId: string, runId: string): Promise<{
|
|
@@ -1,19 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Safe, fixed messages the orchestrator sends to the agent (and through it to
|
|
3
|
-
* the workflow author) when a user-artifact request is refused for
|
|
4
|
-
*
|
|
5
|
-
* or a
|
|
3
|
+
* the workflow author) when a user-artifact request is refused for an internal
|
|
4
|
+
* failure or an artifact-name contract violation, rather than an enforcement
|
|
5
|
+
* gate or a genuine lookup miss.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* `artifacts.
|
|
10
|
-
*
|
|
11
|
-
* without any agent-side change. They live here — rather than inline at each
|
|
12
|
-
* send site — so the handler and its tests share one definition.
|
|
7
|
+
* Presentation strings, not a wire vocabulary: they ride the free-text `error`
|
|
8
|
+
* of `artifacts.upload.response` / `artifacts.download.response` and `reason`
|
|
9
|
+
* of `artifacts.upload.complete.ack`, so they can be reworded with no agent
|
|
10
|
+
* change. Defined once so the handler and its tests share them.
|
|
13
11
|
*
|
|
14
|
-
* Raw exception text is never
|
|
15
|
-
*
|
|
16
|
-
* configuration problem", never a database endpoint or a stack frame.
|
|
12
|
+
* Raw exception text is never sent: it stays in the orchestrator's logs, and
|
|
13
|
+
* the author never sees a database endpoint or a stack frame.
|
|
17
14
|
*/
|
|
18
15
|
export declare const ArtifactInternalFailure: Readonly<{
|
|
19
16
|
/** Upload requested but the orchestrator has no artifact store configured. */
|
|
@@ -32,15 +29,13 @@ export declare const ArtifactInternalFailure: Readonly<{
|
|
|
32
29
|
readonly commitObjectMissing: 'the uploaded artifact object was not found in storage — the upload may not have completed';
|
|
33
30
|
}>;
|
|
34
31
|
/**
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
* the agent sandbox render one wording. Such a rejection is neither an
|
|
32
|
+
* Defined in `@kici-dev/engine` beside `ArtifactNameSchema`, so the orchestrator
|
|
33
|
+
* and the agent sandbox render one wording. A name rejection is neither an
|
|
38
34
|
* enforcement gate (nothing about the org's usage refuses it) nor an internal
|
|
39
|
-
* failure
|
|
40
|
-
* only reaches
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
* failure messages live — callers keep their existing import path.
|
|
35
|
+
* failure. The sandbox validates the same contract at the call site, so an
|
|
36
|
+
* invalid name only reaches the orchestrator from an agent that bypassed or
|
|
37
|
+
* predates that check. Re-exported so callers import every artifact failure
|
|
38
|
+
* message from here.
|
|
44
39
|
*/
|
|
45
40
|
export { ARTIFACT_INVALID_NAME_PREFIX, artifactInvalidNameError } from '@kici-dev/engine';
|
|
46
41
|
//# sourceMappingURL=failure-messages.d.ts.map
|
|
@@ -16,10 +16,8 @@ export interface AccessLogRecord {
|
|
|
16
16
|
outcome: AccessLogOutcome;
|
|
17
17
|
errorMessage?: string | null;
|
|
18
18
|
/**
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* operation flipped) without overloading other columns. Values must
|
|
22
|
-
* be JSON-serialisable.
|
|
19
|
+
* Merged into `actor_meta` on insert, for action-specific context (e.g. which
|
|
20
|
+
* dashboard-write operation flipped). Values must be JSON-serialisable.
|
|
23
21
|
*/
|
|
24
22
|
meta?: Record<string, unknown>;
|
|
25
23
|
}
|
|
@@ -48,15 +46,13 @@ export interface AccessLogQueryResult {
|
|
|
48
46
|
nextCursor: string | null;
|
|
49
47
|
}
|
|
50
48
|
/**
|
|
51
|
-
* Best-effort writer for
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
* message (`msg.actor`) or from the admin HTTP auth chain.
|
|
49
|
+
* Best-effort writer for `access_log`: one row per read / orchestrator-admin
|
|
50
|
+
* mutation attributable to an ActorPrincipal (from the Platform proxy's
|
|
51
|
+
* `msg.actor` or the admin HTTP auth chain).
|
|
55
52
|
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
* read + broad-surface audit stream.
|
|
53
|
+
* Insert errors are logged and swallowed — a broken access_log MUST NOT take
|
|
54
|
+
* down dashboard reads. `secret_audit_log` is the always-consistent secret
|
|
55
|
+
* mutation path; `access_log` is the read + broad-surface audit stream.
|
|
60
56
|
*/
|
|
61
57
|
export declare class AccessLogWriter {
|
|
62
58
|
private readonly db;
|
|
@@ -64,53 +60,39 @@ export declare class AccessLogWriter {
|
|
|
64
60
|
private readonly rateLimiter;
|
|
65
61
|
constructor(db: Kysely<Database>, coldStore?: ColdStore, rateLimiter?: AccessLogRateLimiter);
|
|
66
62
|
/**
|
|
67
|
-
* Late
|
|
68
|
-
*
|
|
69
|
-
* attaches it via this setter (mirrors AuditLogger.setColdStore).
|
|
63
|
+
* Late binding: orchestrator-core builds this before the cold-store
|
|
64
|
+
* singleton (mirrors AuditLogger.setColdStore).
|
|
70
65
|
*/
|
|
71
66
|
setColdStore(coldStore: ColdStore | null): void;
|
|
72
67
|
record(entry: AccessLogRecord): Promise<void>;
|
|
73
68
|
/**
|
|
74
|
-
*
|
|
75
|
-
*
|
|
69
|
+
* Writes through the caller's executor so the row commits or rolls back with
|
|
70
|
+
* the mutation it audits. Unlike `record`, failures PROPAGATE: a caller that
|
|
71
|
+
* opts into a transaction asserts the mutation must not land unaudited.
|
|
76
72
|
*
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
* unaudited — so the error has to reach the transaction and abort it.
|
|
81
|
-
*
|
|
82
|
-
* The per-action `POLICY_BY_ACTION` gate still applies, so a `sample` /
|
|
83
|
-
* `rate_limit` action would be dropped here silently and the caller's
|
|
84
|
-
* mutation would commit unaudited after all. Callers must therefore use an
|
|
85
|
-
* action whose policy is `always` — which is why `trust_policy.updated` is
|
|
86
|
-
* one.
|
|
73
|
+
* The `POLICY_BY_ACTION` gate still applies, so a `sample` / `rate_limit`
|
|
74
|
+
* action would be dropped silently and the mutation would commit unaudited.
|
|
75
|
+
* Callers must use an `always` action — why `trust_policy.updated` is one.
|
|
87
76
|
*/
|
|
88
77
|
recordInTransaction(executor: Kysely<Database> | Transaction<Database>, entry: AccessLogRecord): Promise<void>;
|
|
89
78
|
private insert;
|
|
90
79
|
/**
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
* caller-visible `{items, nextCursor}` shape is preserved. NO
|
|
94
|
-
* --include-archived flag — access_log is "paginated/transparent".
|
|
80
|
+
* Cold-store rows merge transparently when pagination crosses the warm
|
|
81
|
+
* cutoff. NO --include-archived flag — access_log is "paginated/transparent".
|
|
95
82
|
*/
|
|
96
83
|
query(filter: AccessLogQueryFilter): Promise<AccessLogQueryResult>;
|
|
97
84
|
/**
|
|
98
|
-
*
|
|
99
|
-
*
|
|
100
|
-
* `
|
|
101
|
-
*
|
|
102
|
-
* `id` index, so the caller MUST scope the cold scan to one tenant.
|
|
85
|
+
* Hot first, then one cold-store tenant scan by `id` (like
|
|
86
|
+
* `loadEventLogByDeliveryId` in `load-event-log-range.ts`): cold-store is
|
|
87
|
+
* partitioned by `(tenant_id, day)` with no cross-tenant `id` index, so the
|
|
88
|
+
* scan MUST be scoped to one tenant.
|
|
103
89
|
*
|
|
104
|
-
* `opts.orgId`
|
|
105
|
-
*
|
|
106
|
-
*
|
|
107
|
-
* `cold-store-archive` / `cold-store-purge`). The CLI exposes this as
|
|
108
|
-
* `kici-admin access-log show <id> --org <orgId>`.
|
|
90
|
+
* `opts.orgId` is that scope; omitted ⇒ only the synthetic `__orchestrator__`
|
|
91
|
+
* tenant (the NULL-org_id rows `cold-store-archive` / `cold-store-purge`
|
|
92
|
+
* emit). CLI: `kici-admin access-log show <id> --org <orgId>`.
|
|
109
93
|
*
|
|
110
|
-
* Best-effort
|
|
111
|
-
*
|
|
112
|
-
* `loadEventLogByDeliveryId`. A transient S3 outage MUST NOT
|
|
113
|
-
* manufacture a misleading 404-vs-500 distinction at the HTTP layer.
|
|
94
|
+
* Best-effort, like `loadAccessLogRange`: a cold-store error warns and returns
|
|
95
|
+
* null, so a transient S3 outage never fakes a 404-vs-500 distinction.
|
|
114
96
|
*/
|
|
115
97
|
getById(id: string, opts?: {
|
|
116
98
|
orgId?: string;
|