@kici-dev/orchestrator 0.17.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 +35 -52
- package/dist/approvals/approval-resolver.d.ts +11 -23
- package/dist/approvals/held-run-release-wiring.d.ts +14 -21
- package/dist/approvals/independent-wiring.d.ts +13 -20
- package/dist/approvals/resume-router.d.ts +1 -1
- package/dist/approvals/step-approval-bridge.d.ts +11 -21
- package/dist/approvals/triggerer-subject.d.ts +8 -10
- package/dist/artifacts/artifact-store.d.ts +55 -95
- package/dist/artifacts/failure-messages.d.ts +15 -20
- package/dist/audit/access-log.d.ts +27 -45
- package/dist/audit/sampling-rate-limiter.d.ts +11 -23
- package/dist/cache/agent-job-failed-error.d.ts +2 -3
- package/dist/cache/build-coordinator.d.ts +5 -28
- package/dist/cache/cache-upload-settle.d.ts +11 -11
- package/dist/cache/dep-cache.d.ts +32 -60
- package/dist/cache/dispatch-cache-ref-tracker.d.ts +15 -23
- package/dist/cache/global-eval-round-cache.d.ts +33 -41
- package/dist/cache/pending-builds.d.ts +2 -6
- package/dist/cache/pending-dynamics.d.ts +2 -7
- package/dist/cache/pending-global-evals.d.ts +9 -12
- package/dist/cache/pending-inits.d.ts +11 -22
- package/dist/cache/pending-precursor-db-watcher.d.ts +24 -32
- package/dist/cache/pending-tracker.d.ts +17 -45
- package/dist/cache/precursor-result.d.ts +17 -30
- package/dist/cache/source-cache.d.ts +36 -65
- package/dist/cache/user-cache.d.ts +21 -25
- package/dist/cancel/cancel-held-run.d.ts +13 -16
- package/dist/cancel/cancel-route-answer.d.ts +1 -2
- package/dist/cancel/cancel-run.d.ts +26 -50
- package/dist/cancel/dashboard-cancel-handler.d.ts +2 -2
- package/dist/cancel/peer-job-cancel.d.ts +11 -14
- package/dist/cancel/sweep-stuck-cancelling.d.ts +9 -13
- package/dist/cli/api-client.d.ts +25 -76
- package/dist/cli/commands/access-log.d.ts +4 -24
- package/dist/cli/commands/agent-package.d.ts +7 -15
- package/dist/cli/commands/agent-service/agent-env.d.ts +3 -6
- package/dist/cli/commands/agent-service/index.d.ts +4 -10
- package/dist/cli/commands/agent-service/install.d.ts +4 -11
- package/dist/cli/commands/agent-service/status.d.ts +4 -9
- package/dist/cli/commands/agent-service/upgrade.d.ts +4 -16
- package/dist/cli/commands/agent.d.ts +12 -25
- package/dist/cli/commands/api-key.d.ts +5 -12
- package/dist/cli/commands/attestations-list.d.ts +7 -17
- package/dist/cli/commands/attestations-retry.d.ts +5 -11
- package/dist/cli/commands/attestations-reverify.d.ts +4 -5
- package/dist/cli/commands/attestations.d.ts +3 -8
- package/dist/cli/commands/audit.d.ts +1 -5
- package/dist/cli/commands/backend.d.ts +2 -11
- package/dist/cli/commands/check-run.d.ts +7 -18
- package/dist/cli/commands/cluster-name.d.ts +5 -12
- package/dist/cli/commands/cluster-settings.d.ts +28 -53
- package/dist/cli/commands/cold-store.d.ts +7 -15
- package/dist/cli/commands/config.d.ts +9 -20
- package/dist/cli/commands/context.d.ts +8 -20
- package/dist/cli/commands/dashboard-encryption-key.d.ts +9 -14
- package/dist/cli/commands/db-backup.d.ts +17 -32
- package/dist/cli/commands/db.d.ts +3 -4
- package/dist/cli/commands/debug-bundle.d.ts +3 -10
- package/dist/cli/commands/diagnose.d.ts +3 -14
- package/dist/cli/commands/event-dlq.d.ts +4 -12
- package/dist/cli/commands/event-log.d.ts +2 -20
- package/dist/cli/commands/execution.d.ts +3 -9
- package/dist/cli/commands/firecracker/index.d.ts +3 -6
- package/dist/cli/commands/held-run.d.ts +23 -37
- package/dist/cli/commands/host.d.ts +4 -11
- package/dist/cli/commands/inspect-bundle.d.ts +3 -11
- package/dist/cli/commands/local-hook.d.ts +2 -10
- package/dist/cli/commands/local-trigger.d.ts +2 -2
- package/dist/cli/commands/orchestrator-service/drain.d.ts +3 -6
- package/dist/cli/commands/orchestrator-service/index.d.ts +6 -14
- package/dist/cli/commands/orchestrator-service/install-env.d.ts +25 -49
- package/dist/cli/commands/orchestrator-service/install.d.ts +2 -5
- package/dist/cli/commands/orchestrator-service/status.d.ts +10 -22
- package/dist/cli/commands/orchestrator-service/upgrade.d.ts +6 -15
- package/dist/cli/commands/org-settings.d.ts +5 -11
- package/dist/cli/commands/peer.d.ts +5 -10
- package/dist/cli/commands/queue.d.ts +3 -9
- package/dist/cli/commands/registration.d.ts +4 -8
- package/dist/cli/commands/remote-source.d.ts +6 -12
- package/dist/cli/commands/rotate.d.ts +1 -5
- package/dist/cli/commands/runs.d.ts +1 -30
- package/dist/cli/commands/scaler.d.ts +5 -12
- package/dist/cli/commands/secret.d.ts +1 -9
- package/dist/cli/commands/service-health.d.ts +5 -10
- package/dist/cli/commands/shared/admin-cli-access-log.d.ts +10 -19
- package/dist/cli/commands/shared/bare-metal-binary-check.d.ts +86 -0
- package/dist/cli/commands/shared/cli-action.d.ts +1 -4
- package/dist/cli/commands/shared/confirm.d.ts +5 -10
- package/dist/cli/commands/shared/db.d.ts +1 -12
- package/dist/cli/commands/shared/env-file-mode.d.ts +6 -9
- package/dist/cli/commands/shared/secret-input.d.ts +7 -21
- package/dist/cli/commands/shared/service-verbs.d.ts +6 -12
- package/dist/cli/commands/shared/unbound-context-warning.d.ts +2 -4
- package/dist/cli/commands/shared/upgrade-hooks.d.ts +7 -16
- package/dist/cli/commands/shared/upgrade-safety.d.ts +20 -31
- package/dist/cli/commands/shared/versioned-upgrade.d.ts +83 -161
- package/dist/cli/commands/signing-key.d.ts +4 -9
- package/dist/cli/commands/source-manifest.d.ts +11 -14
- package/dist/cli/commands/source.d.ts +7 -32
- package/dist/cli/commands/token.d.ts +4 -15
- package/dist/cli/commands/trust-policy.d.ts +35 -88
- package/dist/cli/commands/variable.d.ts +3 -5
- package/dist/cli/commands/workflow.d.ts +3 -24
- package/dist/cli/join.d.ts +3 -6
- package/dist/cli/kici-admin.d.ts +11 -29
- package/dist/cli/lazy-deps/cache.d.ts +1 -14
- package/dist/cli/lazy-deps/downloader.d.ts +4 -27
- package/dist/cli/lazy-deps/registry.d.ts +5 -25
- package/dist/cli/local-github-ingress-url.d.ts +5 -7
- package/dist/cli/loopback-callback.d.ts +6 -7
- package/dist/cli/open-browser.d.ts +4 -8
- package/dist/cli/root-option-routing.d.ts +17 -29
- package/dist/cli/service/backup-timer.d.ts +16 -39
- package/dist/cli/service/compose-path.d.ts +3 -7
- package/dist/cli/service/compose.d.ts +12 -30
- package/dist/cli/service/deploy-env.d.ts +6 -18
- package/dist/cli/service/entrypoint.d.ts +14 -25
- package/dist/cli/service/env-assignment.d.ts +6 -17
- package/dist/cli/service/image-digests.d.ts +6 -15
- package/dist/cli/service/index.d.ts +2 -18
- package/dist/cli/service/instance/index-file.d.ts +9 -16
- package/dist/cli/service/instance/manifest.d.ts +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 +4568 -6571
- 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 +240 -482
- package/dist/metrics/agent-metrics-aggregator.d.ts +24 -67
- package/dist/metrics/metrics-reporter.d.ts +4 -13
- package/dist/metrics/prometheus.d.ts +47 -81
- package/dist/orchestrator-core.d.ts +3 -7
- package/dist/pipeline/content-filter.d.ts +20 -30
- package/dist/pipeline/cross-source-tally.d.ts +7 -8
- package/dist/pipeline/decorating-secret-resolver.d.ts +4 -8
- package/dist/pipeline/degraded-reason.d.ts +3 -4
- package/dist/pipeline/direct-ingress-deps.d.ts +15 -24
- package/dist/pipeline/dispatch-matched-workflow.d.ts +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 +20 -46
- package/dist/pipeline/unbound-job-context.d.ts +6 -9
- package/dist/pipeline/undispatched-hold-checks.d.ts +4 -6
- package/dist/pipeline/wave-scheduler.d.ts +15 -22
- package/dist/pipeline/webhook-payload-store.d.ts +3 -10
- package/dist/pipeline/workflow-lock-at-sha.d.ts +14 -20
- package/dist/policy/dashboard-write-policy.d.ts +1 -1
- package/dist/provider-registry.d.ts +0 -19
- package/dist/providers/generic/index.d.ts +0 -2
- package/dist/providers/generic/normalizer.d.ts +0 -1
- package/dist/providers/generic/verification.d.ts +0 -8
- package/dist/providers/github/auth.d.ts +0 -1
- package/dist/providers/github/changed-files.d.ts +2 -1
- package/dist/providers/github/file-contents.d.ts +0 -4
- package/dist/providers/github/lock-file.d.ts +0 -4
- package/dist/providers/github/normalizer.d.ts +1 -9
- package/dist/providers/local/index.d.ts +1 -2
- package/dist/providers/local/lock-file-fetcher.d.ts +0 -4
- package/dist/providers/local/normalizer.d.ts +0 -10
- package/dist/providers/local/repo-url-builder.d.ts +0 -2
- package/dist/providers/universal-git/clone-token.d.ts +0 -2
- package/dist/providers/universal-git/lock-file.d.ts +0 -2
- package/dist/providers/universal-git/normalizer.d.ts +0 -2
- package/dist/queue/bootstrap.d.ts +3 -15
- package/dist/queue/cleanup.d.ts +29 -50
- package/dist/queue/depth-refresher.d.ts +21 -39
- package/dist/queue/job-queue.d.ts +112 -163
- package/dist/queue/retention.d.ts +23 -36
- package/dist/queue/scheduled-job.d.ts +17 -39
- package/dist/queue/terminalize-unroutable.d.ts +16 -18
- package/dist/queue/unroutable-probe.d.ts +15 -22
- package/dist/registration/extractor.d.ts +0 -6
- package/dist/registration/registration-index.d.ts +0 -6
- package/dist/registration/registration-store.d.ts +0 -9
- package/dist/reporting/agent-failure-category.d.ts +3 -5
- package/dist/reporting/check-run-reporter.d.ts +142 -316
- package/dist/reporting/check-run-summary.d.ts +16 -35
- package/dist/reporting/check-run-tracking-store.d.ts +54 -107
- package/dist/reporting/execution-tracker.d.ts +356 -526
- package/dist/reporting/fs-log-storage.d.ts +31 -33
- package/dist/reporting/job-check-run-completion.d.ts +14 -22
- package/dist/reporting/log-chunk-sink.d.ts +11 -16
- package/dist/reporting/log-pull-handler.d.ts +4 -13
- package/dist/reporting/log-retention.d.ts +3 -4
- package/dist/reporting/log-storage.d.ts +24 -52
- package/dist/reporting/log-writer.d.ts +28 -56
- package/dist/reporting/peer-log-normalize.d.ts +4 -8
- package/dist/reporting/run-aggregator.d.ts +6 -11
- package/dist/reporting/run-summary-fields.d.ts +5 -8
- package/dist/reporting/s3-log-storage.d.ts +31 -50
- package/dist/reporting/step-display-order.d.ts +11 -21
- package/dist/reporting/step-log-buffer.d.ts +7 -28
- package/dist/reporting/step-log-reader.d.ts +11 -19
- package/dist/routes/admin-access-log.d.ts +4 -6
- package/dist/routes/admin-auth.d.ts +17 -38
- package/dist/routes/admin-backends.d.ts +3 -14
- package/dist/routes/admin-cluster-name.d.ts +13 -21
- package/dist/routes/admin-cluster-settings.d.ts +6 -9
- package/dist/routes/admin-config.d.ts +7 -19
- package/dist/routes/admin-contexts.d.ts +6 -13
- package/dist/routes/admin-db.d.ts +5 -10
- package/dist/routes/admin-event-dlq.d.ts +3 -5
- package/dist/routes/admin-event-inspect.d.ts +3 -4
- package/dist/routes/admin-event-log.d.ts +3 -7
- package/dist/routes/admin-events.d.ts +16 -30
- package/dist/routes/admin-held-runs.d.ts +52 -76
- package/dist/routes/admin-maintenance.d.ts +3 -6
- package/dist/routes/admin-orchestrator-drain.d.ts +0 -2
- package/dist/routes/admin-org-settings.d.ts +8 -14
- package/dist/routes/admin-peer-forget.d.ts +0 -1
- package/dist/routes/admin-queue-execution.d.ts +3 -3
- package/dist/routes/admin-registrations.d.ts +3 -12
- package/dist/routes/admin-runs.d.ts +16 -29
- package/dist/routes/admin-scaler-orphans.d.ts +4 -4
- package/dist/routes/admin-scaler-reload.d.ts +5 -8
- package/dist/routes/admin-scheduled-jobs.d.ts +3 -4
- package/dist/routes/admin-sources.d.ts +20 -29
- package/dist/routes/admin-trust-policy.d.ts +31 -48
- package/dist/routes/admin.d.ts +67 -94
- package/dist/routes/caller-identity.d.ts +5 -12
- package/dist/routes/capabilities.d.ts +8 -13
- package/dist/routes/diagnostics.d.ts +2 -10
- package/dist/routes/fleet.d.ts +1 -2
- package/dist/routes/github-webhook.d.ts +2 -5
- package/dist/routes/health.d.ts +6 -19
- package/dist/routes/provenance-oidc.d.ts +3 -3
- package/dist/routes/uploads.d.ts +5 -11
- package/dist/routes/webhooks.d.ts +2 -24
- package/dist/scaler/agent-binary-location.d.ts +77 -0
- package/dist/scaler/agent-fit.d.ts +2 -2
- package/dist/scaler/backend-factory.d.ts +10 -18
- package/dist/scaler/bare-metal-backend.d.ts +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 +0 -6
- package/dist/secrets/secret-output-store.d.ts +0 -6
- package/dist/secrets/secret-resolver.d.ts +2 -6
- package/dist/secrets/token-manager.d.ts +0 -4
- package/dist/secrets/vault-secret-store.d.ts +0 -13
- package/dist/security/comment-handler.d.ts +0 -2
- package/dist/security/workflow-diff.d.ts +1 -1
- package/dist/server.js +7500 -12629
- 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 +7141 -11957
- package/dist/storage/blob-routes.d.ts +10 -19
- package/dist/storage/filesystem.d.ts +19 -29
- package/dist/storage/index.d.ts +2 -10
- package/dist/storage/key-discriminator.d.ts +8 -10
- package/dist/storage/loopback-guard.d.ts +27 -45
- package/dist/storage/s3.d.ts +25 -52
- package/dist/storage/sign-url.d.ts +7 -22
- package/dist/storage/types.d.ts +44 -70
- package/dist/webhook/event-log.d.ts +0 -2
- package/dist/webhook/generic-sources.d.ts +0 -21
- package/dist/webhook/ingest-admission.d.ts +0 -1
- package/dist/webhook/relay-buffer.d.ts +2 -2
- package/dist/webhook/verify-inbound.d.ts +0 -1
- package/dist/worker/in-memory-execution-tracker.d.ts +9 -31
- package/dist/worker/in-memory-job-queue.d.ts +32 -72
- package/dist/worker/peer-outbox.d.ts +5 -8
- package/dist/worker/reroute-dispatch.d.ts +4 -6
- package/dist/worker/static-agent-token-store.d.ts +6 -27
- package/dist/worker/worker-outbox-relay.d.ts +2 -2
- package/dist/worker/worker-status.d.ts +3 -20
- package/dist/ws/agent-api-registry.d.ts +8 -27
- package/dist/ws/agent-handler.d.ts +63 -110
- package/dist/ws/agent-heartbeat.d.ts +5 -12
- package/dist/ws/bringup-api.d.ts +31 -38
- package/dist/ws/dashboard-backends-handler.d.ts +12 -22
- package/dist/ws/dashboard-context-handler.d.ts +37 -80
- package/dist/ws/dashboard-diagnostics-handler.d.ts +8 -25
- package/dist/ws/dashboard-dispatch-guard.d.ts +3 -4
- package/dist/ws/dashboard-fleet-handler.d.ts +9 -13
- package/dist/ws/dashboard-fleet-write-handler.d.ts +7 -21
- package/dist/ws/dashboard-global-workflows-handler.d.ts +22 -44
- package/dist/ws/dashboard-registrations-handler.d.ts +10 -27
- package/dist/ws/dashboard-run-state-handler.d.ts +10 -13
- package/dist/ws/event-buffer.d.ts +3 -6
- package/dist/ws/execution-status-frame.d.ts +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 +36 -60
- 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
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* In-memory agent token store for worker nodes.
|
|
3
|
-
*
|
|
4
|
-
* Workers have no database access. This implementation stores token
|
|
5
|
-
* hashes in memory and supports both static (long-lived) and ephemeral
|
|
6
|
-
* (TTL-based) tokens with the same kat_ prefix format as the DB-backed
|
|
2
|
+
* In-memory agent token store for worker nodes, which have no database access.
|
|
3
|
+
* Supports static and ephemeral (TTL) tokens in the same format as the DB-backed
|
|
7
4
|
* AgentTokenStore.
|
|
8
5
|
*
|
|
9
6
|
* Token format: kat_ + 64 hex chars (32 random bytes = 256 bits).
|
|
10
7
|
* Only the SHA-256 hash is stored; plaintext is returned once at creation.
|
|
11
8
|
*/
|
|
12
|
-
/**
|
|
9
|
+
/** Matches the SafeAgentTokenRow shape. */
|
|
13
10
|
interface SafeTokenInfo {
|
|
14
11
|
id: string;
|
|
15
12
|
token_prefix: string;
|
|
@@ -21,9 +18,6 @@ interface SafeTokenInfo {
|
|
|
21
18
|
}
|
|
22
19
|
export declare class StaticAgentTokenStore {
|
|
23
20
|
private readonly tokens;
|
|
24
|
-
/**
|
|
25
|
-
* Create a static (long-lived) agent token.
|
|
26
|
-
*/
|
|
27
21
|
createStatic(opts: {
|
|
28
22
|
labels?: string[];
|
|
29
23
|
createdBy?: string;
|
|
@@ -31,27 +25,12 @@ export declare class StaticAgentTokenStore {
|
|
|
31
25
|
token: string;
|
|
32
26
|
id: string;
|
|
33
27
|
}>;
|
|
34
|
-
/**
|
|
35
|
-
* Create an ephemeral (short-lived) agent token.
|
|
36
|
-
*/
|
|
37
28
|
createEphemeral(agentId: string, labels: string[], ttlMs: number): Promise<string>;
|
|
38
|
-
/**
|
|
39
|
-
* Validate a plaintext token.
|
|
40
|
-
*
|
|
41
|
-
* Returns token info if valid, null if unknown/revoked/expired.
|
|
42
|
-
*/
|
|
29
|
+
/** Returns null for an unknown, revoked or expired token. */
|
|
43
30
|
validate(token: string): Promise<SafeTokenInfo | null>;
|
|
44
|
-
/**
|
|
45
|
-
* Revoke a token by ID.
|
|
46
|
-
*
|
|
47
|
-
* @returns true if newly revoked, false if not found or already revoked.
|
|
48
|
-
*/
|
|
31
|
+
/** @returns true if newly revoked, false if not found or already revoked. */
|
|
49
32
|
revoke(id: string): Promise<boolean>;
|
|
50
|
-
/**
|
|
51
|
-
* Clean up expired ephemeral tokens.
|
|
52
|
-
*
|
|
53
|
-
* @returns Number of removed tokens.
|
|
54
|
-
*/
|
|
33
|
+
/** Remove expired ephemeral tokens; returns how many were removed. */
|
|
55
34
|
cleanupExpired(): Promise<number>;
|
|
56
35
|
}
|
|
57
36
|
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Relay glue between the worker's in-memory execution tracker and the durable
|
|
3
|
-
* peer outbox
|
|
4
|
-
*
|
|
3
|
+
* peer outbox, kept separate so it is unit-testable and the worker bootstrap
|
|
4
|
+
* stays under the function-length cap.
|
|
5
5
|
*/
|
|
6
6
|
import { type JobProgress } from '@kici-dev/engine';
|
|
7
7
|
import type { StatusUpdate } from './in-memory-execution-tracker.js';
|
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Worker /status and /drain HTTP endpoint handlers.
|
|
3
|
-
*
|
|
4
|
-
* - GET /status -- returns worker instance info, connection state, agents, active/recent jobs
|
|
5
|
-
* - POST /drain -- sets draining flag, returns active job count
|
|
6
|
-
*
|
|
7
|
-
* These are mounted on the worker's HTTP server in worker-core.ts.
|
|
8
|
-
*/
|
|
1
|
+
/** Worker GET /status and POST /drain handlers, mounted in worker-core.ts. */
|
|
9
2
|
import type { IncomingMessage, ServerResponse } from 'node:http';
|
|
10
3
|
import type { InMemoryExecutionTracker } from './in-memory-execution-tracker.js';
|
|
11
4
|
import type { AgentRegistry } from '../agent/registry.js';
|
|
@@ -19,18 +12,8 @@ export interface WorkerStatusDeps {
|
|
|
19
12
|
getDraining: () => boolean;
|
|
20
13
|
setDraining: (v: boolean) => void;
|
|
21
14
|
}
|
|
22
|
-
/**
|
|
23
|
-
* Create a handler for GET /status.
|
|
24
|
-
*
|
|
25
|
-
* Returns worker instance info including role, coordinator connection state,
|
|
26
|
-
* draining flag, uptime, agent counts, active jobs, and recent job history.
|
|
27
|
-
*/
|
|
15
|
+
/** GET /status; recentJobs is capped at 20. */
|
|
28
16
|
export declare function createWorkerStatusHandler(deps: WorkerStatusDeps): (_req: IncomingMessage, res: ServerResponse) => void;
|
|
29
|
-
/**
|
|
30
|
-
* Create a handler for POST /drain.
|
|
31
|
-
*
|
|
32
|
-
* Sets the draining flag to true and returns the current active job count.
|
|
33
|
-
* Idempotent -- calling multiple times has no additional effect.
|
|
34
|
-
*/
|
|
17
|
+
/** POST /drain: sets draining and returns the active job count. Idempotent. */
|
|
35
18
|
export declare function createWorkerDrainHandler(deps: WorkerStatusDeps): (_req: IncomingMessage, res: ServerResponse) => void;
|
|
36
19
|
//# sourceMappingURL=worker-status.d.ts.map
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Agent private API
|
|
3
|
-
*
|
|
4
|
-
* Provides a typed, extensible request-response API over the existing agent WS
|
|
5
|
-
* connection. Each method is registered with a role (read/write) for authorization.
|
|
2
|
+
* Agent private API: request-response over the existing agent WS connection. Each
|
|
3
|
+
* method is registered with a role (read/write) for authorization.
|
|
6
4
|
*
|
|
7
5
|
* Adding a new API method:
|
|
8
6
|
* 1. Add the typed method + return type in @kici-dev/sdk (api-types.ts)
|
|
@@ -11,9 +9,7 @@
|
|
|
11
9
|
* The agent sends { type: 'agent.api.request', method, params } and receives
|
|
12
10
|
* { type: 'agent.api.response', result?, error? } back.
|
|
13
11
|
*/
|
|
14
|
-
/** Authorization roles for API methods. */
|
|
15
12
|
export type ApiRole = 'read' | 'write';
|
|
16
|
-
/** Handler function for an API method. */
|
|
17
13
|
export type ApiHandler = (agentId: string, params: Record<string, unknown>) => Promise<unknown>;
|
|
18
14
|
/**
|
|
19
15
|
* The caller named a method the registry does not know.
|
|
@@ -36,34 +32,19 @@ export declare class ApiRoleDeniedError extends Error {
|
|
|
36
32
|
constructor(method: string, requiredRole: ApiRole, allowedRoles: ApiRole[]);
|
|
37
33
|
}
|
|
38
34
|
/**
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
* Methods are dot-namespaced (e.g., 'infrastructure.list') and each has an
|
|
42
|
-
* associated role. The orchestrator checks the caller's allowed roles before
|
|
43
|
-
* invoking the handler.
|
|
35
|
+
* Methods are dot-namespaced (e.g., 'infrastructure.list'). The orchestrator checks the
|
|
36
|
+
* caller's allowed roles before invoking the handler.
|
|
44
37
|
*/
|
|
45
38
|
export declare class AgentApiRegistry {
|
|
46
39
|
private readonly methods;
|
|
47
|
-
/**
|
|
48
|
-
* Register an API method.
|
|
49
|
-
*
|
|
50
|
-
* @param method - Dot-namespaced method name (e.g., 'infrastructure.list')
|
|
51
|
-
* @param role - Required role to call this method
|
|
52
|
-
* @param handler - Async handler that receives agentId and params, returns result
|
|
53
|
-
*/
|
|
40
|
+
/** Throws when `method` is already registered. */
|
|
54
41
|
register(method: string, role: ApiRole, handler: ApiHandler): void;
|
|
55
42
|
/**
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
* @param agentId - The calling agent's ID
|
|
59
|
-
* @param method - Requested method name
|
|
60
|
-
* @param params - Method parameters
|
|
61
|
-
* @param allowedRoles - Roles the caller is authorized for
|
|
62
|
-
* @returns The method's result
|
|
63
|
-
* @throws Error if method not found or role not authorized
|
|
43
|
+
* @throws UnknownApiMethodError / ApiRoleDeniedError if the method is not found or
|
|
44
|
+
* the caller lacks its role
|
|
64
45
|
*/
|
|
65
46
|
handle(agentId: string, method: string, params: Record<string, unknown>, allowedRoles: ApiRole[]): Promise<unknown>;
|
|
66
|
-
/**
|
|
47
|
+
/** For diagnostics. */
|
|
67
48
|
getMethods(): string[];
|
|
68
49
|
}
|
|
69
50
|
//# sourceMappingURL=agent-api-registry.d.ts.map
|
|
@@ -1,23 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* WebSocket handler for agent connections
|
|
3
|
-
*
|
|
4
|
-
* Agents connect to the orchestrator via WebSocket to:
|
|
5
|
-
* - Authenticate with a kat_ token (when agentAuthMode === 'token')
|
|
6
|
-
* - Register their capabilities (labels, concurrency)
|
|
7
|
-
* - Receive job dispatches
|
|
8
|
-
* - Report job execution status
|
|
9
|
-
* - Send periodic heartbeats
|
|
2
|
+
* WebSocket handler for agent connections: kat_ token auth, registration,
|
|
3
|
+
* job dispatch, status reports and heartbeats.
|
|
10
4
|
*
|
|
11
5
|
* Two-phase auth flow (when agentAuthMode === 'token'):
|
|
12
6
|
* 1. pendingAuth (5s): Agent must send auth.request with a valid kat_ token.
|
|
13
7
|
* 2. pendingRegistration (10s): After auth.success, agent must send agent.register.
|
|
14
8
|
* 3. registered: Agent is fully connected and can exchange messages.
|
|
15
9
|
*
|
|
16
|
-
* When agentAuthMode === 'none', the
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* token, and the agent then registers as normal.
|
|
10
|
+
* When agentAuthMode === 'none', the connection starts in pendingRegistration.
|
|
11
|
+
* An agent carrying a token still opens with auth.request (nothing on the wire
|
|
12
|
+
* tells it the mode), so that frame is answered with auth.success without
|
|
13
|
+
* reading the token.
|
|
21
14
|
*/
|
|
22
15
|
import type { WSContext, WSEvents, WSMessageReceive } from 'hono/ws';
|
|
23
16
|
import { LogStream, ScaleDownReason } from '@kici-dev/engine';
|
|
@@ -41,38 +34,11 @@ import type { CacheStorage } from '../storage/types.js';
|
|
|
41
34
|
import type { AgentMetricsAggregator } from '../metrics/agent-metrics-aggregator.js';
|
|
42
35
|
import { type AgentApiRegistry } from './agent-api-registry.js';
|
|
43
36
|
import type { FleetAgentCollector } from './fleet-agent-collector.js';
|
|
44
|
-
/**
|
|
45
|
-
* Run the three token-bound authorization gates against a wire-supplied
|
|
46
|
-
* `agent.register` payload. The gates are identical at first register
|
|
47
|
-
* (Phase 2 / `pendingRegistration`) and on every subsequent re-register
|
|
48
|
-
* arriving on the same registered WS — every code path that mutates the
|
|
49
|
-
* registry's `agentId → entry` mapping for an authenticated WS MUST run
|
|
50
|
-
* them, otherwise the token-scope and identity-binding invariants only
|
|
51
|
-
* hold for the very first register and a re-register can silently
|
|
52
|
-
* overwrite the authority.
|
|
53
|
-
*
|
|
54
|
-
* Gates:
|
|
55
|
-
* 1. Token-scope subset — wire labels MUST be a subset of
|
|
56
|
-
* `agent_tokens.labels` when that set is non-null. Closes the WS with
|
|
57
|
-
* `WS_CLOSE_AGENT_AUTH_FAILED` listing the elevated labels.
|
|
58
|
-
* 2. Ephemeral identity-binding — for `agent_type === 'ephemeral'`,
|
|
59
|
-
* wire `agentId` MUST equal `tokenCreatedBy` (the scaler-spawned
|
|
60
|
-
* agentId the token was issued for). Closes the WS with
|
|
61
|
-
* `WS_CLOSE_AGENT_AUTH_FAILED`.
|
|
62
|
-
* 3. Static-token agentId-collision — a different `tokenId` must not
|
|
63
|
-
* already claim the wire `agentId`. Closes the WS with
|
|
64
|
-
* `WS_CLOSE_INVALID_MESSAGE`.
|
|
65
|
-
*
|
|
66
|
-
* Returns `true` when every gate passed and the caller may proceed;
|
|
67
|
-
* returns `false` after closing the WS on the first violation, in which
|
|
68
|
-
* case the caller MUST stop processing.
|
|
69
|
-
*/
|
|
70
37
|
/**
|
|
71
38
|
* WebSocket close reasons are capped at 123 UTF-8 bytes (RFC 6455, section 5.5.1).
|
|
72
|
-
* A
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
* trailing partial multi-byte char.
|
|
39
|
+
* A longer reason makes `ws.close()` throw a RangeError, which in an async
|
|
40
|
+
* handler becomes an unhandled rejection and skips the close. Truncates on a
|
|
41
|
+
* byte boundary, dropping any trailing partial multi-byte char.
|
|
76
42
|
*/
|
|
77
43
|
export declare function truncateCloseReason(reason: string): string;
|
|
78
44
|
/** What a failed frame is about, for the failure log. */
|
|
@@ -83,9 +49,8 @@ export interface FrameIdentity {
|
|
|
83
49
|
jobId?: string;
|
|
84
50
|
}
|
|
85
51
|
/**
|
|
86
|
-
*
|
|
87
|
-
* string fields
|
|
88
|
-
* not a JSON object yields nothing. Runs on the failure path only.
|
|
52
|
+
* Reads the type and ids from a raw agent frame for a failure log. Copies only
|
|
53
|
+
* string fields, each capped at 128 characters; a non-object yields nothing.
|
|
89
54
|
*/
|
|
90
55
|
export declare function frameIdentity(data: unknown): FrameIdentity;
|
|
91
56
|
/**
|
|
@@ -118,11 +83,10 @@ export interface AgentWsHandlerDeps {
|
|
|
118
83
|
*/
|
|
119
84
|
onLogChunk?: (agentId: string, msg: AgentLogChunkInput) => void | Promise<void>;
|
|
120
85
|
/**
|
|
121
|
-
*
|
|
122
|
-
* is awaited (`LogWriter.trackPending`)
|
|
123
|
-
*
|
|
124
|
-
*
|
|
125
|
-
* sealed.
|
|
86
|
+
* Registers a log chunk's handling with its run's log drain before anything
|
|
87
|
+
* is awaited (`LogWriter.trackPending`): a run completing during the
|
|
88
|
+
* ownership DB fallback would otherwise drain without the chunk, leaving its
|
|
89
|
+
* segment never sealed.
|
|
126
90
|
*/
|
|
127
91
|
trackLogChunk?: (runId: string, pending: Promise<unknown>) => void;
|
|
128
92
|
/** Optional callback when agent sends step status updates. */
|
|
@@ -146,19 +110,15 @@ export interface AgentWsHandlerDeps {
|
|
|
146
110
|
* Optional callback when a scaler-managed agent registers.
|
|
147
111
|
*
|
|
148
112
|
* Returns:
|
|
149
|
-
* - `boundJobId` (optional):
|
|
150
|
-
*
|
|
151
|
-
* that job before the agent's idle timer fires.
|
|
113
|
+
* - `boundJobId` (optional): a queued job the scaler bound to this agent at
|
|
114
|
+
* spawn time, dispatched eagerly before the agent's idle timer fires.
|
|
152
115
|
* - `mandatoryLabels` (always populated for scaler-managed agents): the
|
|
153
|
-
* spawning scaler's
|
|
154
|
-
*
|
|
155
|
-
* dispatch) apply the same gate the scaler-side selector applied.
|
|
156
|
-
*
|
|
157
|
-
* Resolves to `null` for static agents not managed by any scaler.
|
|
116
|
+
* spawning scaler's taint-style gate, threaded into the AgentRegistry so
|
|
117
|
+
* queue drain and eager dispatch apply the same gate as the scaler.
|
|
158
118
|
*
|
|
159
|
-
*
|
|
160
|
-
*
|
|
161
|
-
*
|
|
119
|
+
* Resolves to `null` for static agents. Asynchronous because an instance
|
|
120
|
+
* that did not spawn the agent adopts it from the shared spawn record (a
|
|
121
|
+
* database round trip).
|
|
162
122
|
*/
|
|
163
123
|
onScalerAgentRegistered?: (agentId: string, labels: string[]) => Promise<{
|
|
164
124
|
boundJobId?: string;
|
|
@@ -187,13 +147,11 @@ export interface AgentWsHandlerDeps {
|
|
|
187
147
|
/**
|
|
188
148
|
* Optional callback when agent emits a custom event via ctx.emit().
|
|
189
149
|
*
|
|
190
|
-
* A returned `error` is relayed to the agent
|
|
191
|
-
*
|
|
192
|
-
*
|
|
193
|
-
*
|
|
194
|
-
*
|
|
195
|
-
* its place; a thrown exception is already replaced with the same string
|
|
196
|
-
* here.
|
|
150
|
+
* A returned `error` is relayed verbatim to the agent, which runs untrusted
|
|
151
|
+
* workflow code that persists it into the author's step logs, so it may only carry author-facing wording (an unknown job context). Raw
|
|
152
|
+
* exception text goes to the implementation's own `logger.*`, returning
|
|
153
|
+
* {@link AgentWsInternalFailure.eventEmitFailed} instead; a thrown exception
|
|
154
|
+
* is already replaced with that string here.
|
|
197
155
|
*/
|
|
198
156
|
onEventEmit?: (agentId: string, msg: {
|
|
199
157
|
jobId: string;
|
|
@@ -246,12 +204,10 @@ export interface AgentWsHandlerDeps {
|
|
|
246
204
|
/** User-facing cache for serving restore/save requests from the sandbox. */
|
|
247
205
|
userCache?: UserCache;
|
|
248
206
|
/**
|
|
249
|
-
* Server-side jobId ->
|
|
250
|
-
* `
|
|
251
|
-
*
|
|
252
|
-
*
|
|
253
|
-
* `jobId` + `key`, so an agent can name a job it owns but can never influence
|
|
254
|
-
* which org/repo/scope that job resolves to.
|
|
207
|
+
* Server-side jobId -> `{orgId, repoId, cacheRefScope, runId}` store, recorded
|
|
208
|
+
* at dispatch. `cache.user.*` handlers resolve the ref from HERE, NEVER from
|
|
209
|
+
* the wire body (which carries only `jobId` + `key`): an agent can name a job
|
|
210
|
+
* it owns but never influence which org/repo/scope it resolves to.
|
|
255
211
|
*/
|
|
256
212
|
dispatchCacheRefs?: DispatchCacheRefTracker;
|
|
257
213
|
/**
|
|
@@ -264,9 +220,9 @@ export interface AgentWsHandlerDeps {
|
|
|
264
220
|
cacheStorage?: CacheStorage;
|
|
265
221
|
/**
|
|
266
222
|
* In-flight build-cache publishes and the per-org bound a build's success
|
|
267
|
-
* waits for them.
|
|
268
|
-
*
|
|
269
|
-
*
|
|
223
|
+
* waits for them. Per orchestrator, not per connection, so a success replayed
|
|
224
|
+
* on a reconnected socket sees a publish started on the old one. Absent: no
|
|
225
|
+
* registration and no wait.
|
|
270
226
|
*/
|
|
271
227
|
cacheUploadSettle?: CacheUploadSettle;
|
|
272
228
|
/**
|
|
@@ -340,11 +296,11 @@ export interface AgentWsHandlerDeps {
|
|
|
340
296
|
/**
|
|
341
297
|
* Optional callback when agent reports a job belongs to a concurrency group.
|
|
342
298
|
*
|
|
343
|
-
* A returned `reason` is relayed
|
|
344
|
-
*
|
|
345
|
-
*
|
|
346
|
-
*
|
|
347
|
-
*
|
|
299
|
+
* A returned `reason` is relayed verbatim as the `job.concurrency.ack`
|
|
300
|
+
* reason to the agent, which runs untrusted workflow code that persists it into
|
|
301
|
+
* the author's step logs, so it may only carry author-facing
|
|
302
|
+
* wording (the group the job queued behind). Raw exception text goes to the
|
|
303
|
+
* implementation's own `logger.*`.
|
|
348
304
|
*/
|
|
349
305
|
onConcurrencyReport?: (agentId: string, msg: {
|
|
350
306
|
runId: string;
|
|
@@ -357,19 +313,16 @@ export interface AgentWsHandlerDeps {
|
|
|
357
313
|
}>;
|
|
358
314
|
/**
|
|
359
315
|
* Optional callback when an agent blocks an `approval` step. The server
|
|
360
|
-
* creates a step-scoped hold from the
|
|
361
|
-
* `
|
|
362
|
-
*
|
|
363
|
-
*
|
|
364
|
-
* message. The `agentId` lets the server drop the pending resolver when the
|
|
365
|
-
* agent disconnects.
|
|
316
|
+
* creates a step-scoped hold from the clauses (and the drift `payload` for a
|
|
317
|
+
* `when: 'drift'` gate), resolving when it is approved, rejected, or
|
|
318
|
+
* expired; the handler relays that as `step.approval-resolved`. `agentId`
|
|
319
|
+
* lets the server drop the pending resolver on disconnect.
|
|
366
320
|
*
|
|
367
|
-
* The resolved `reason` is relayed to the agent
|
|
368
|
-
*
|
|
369
|
-
*
|
|
370
|
-
*
|
|
371
|
-
*
|
|
372
|
-
* already replaced with {@link AgentWsInternalFailure.approvalFailed} here.
|
|
321
|
+
* The resolved `reason` is relayed verbatim to the agent, which runs untrusted
|
|
322
|
+
* workflow code that persists it into the author's step logs, so it may only carry author-facing wording (a decline note, an invalid
|
|
323
|
+
* per-gate timeout). Raw exception text goes to the implementation's own
|
|
324
|
+
* `logger.*`; a rejected promise is already replaced with
|
|
325
|
+
* {@link AgentWsInternalFailure.approvalFailed} here.
|
|
373
326
|
*/
|
|
374
327
|
onStepApproval?: (agentId: string, msg: {
|
|
375
328
|
runId: string;
|
|
@@ -392,19 +345,17 @@ export interface AgentWsHandlerDeps {
|
|
|
392
345
|
reason?: string;
|
|
393
346
|
}>;
|
|
394
347
|
/**
|
|
395
|
-
* Optional callback
|
|
396
|
-
*
|
|
397
|
-
*
|
|
398
|
-
* matching DB rows so the run is marked failed instead of dangling.
|
|
348
|
+
* Optional callback on WS close, after the dispatcher's cleanup. The
|
|
349
|
+
* concurrency pipeline drops the agent's queued waiters and `cancelQueued`s
|
|
350
|
+
* their DB rows so the run fails instead of dangling.
|
|
399
351
|
*/
|
|
400
352
|
onConcurrencyAgentDisconnect?: (agentId: string) => void | Promise<void>;
|
|
401
353
|
/** Agent private API registry for handling agent.api.request messages. */
|
|
402
354
|
agentApiRegistry?: AgentApiRegistry;
|
|
403
355
|
/**
|
|
404
|
-
* Orchestrator-scoped collector
|
|
405
|
-
* agent's chunked fleet.bundle.chunk / fleet.bundle.error response.
|
|
406
|
-
*
|
|
407
|
-
* rejected when that agent's WS closes.
|
|
356
|
+
* Orchestrator-scoped collector correlating fleet.logs.request with the
|
|
357
|
+
* agent's chunked fleet.bundle.chunk / fleet.bundle.error response. An
|
|
358
|
+
* agent's pending requests are rejected when its WS closes.
|
|
408
359
|
*/
|
|
409
360
|
fleetAgentCollector?: FleetAgentCollector;
|
|
410
361
|
}
|
|
@@ -438,19 +389,21 @@ export interface AgentLogChunkInput {
|
|
|
438
389
|
stream: LogStream;
|
|
439
390
|
}
|
|
440
391
|
/**
|
|
441
|
-
*
|
|
442
|
-
* builds, inits, dynamic evaluations
|
|
443
|
-
*
|
|
444
|
-
*
|
|
445
|
-
* socket to close.
|
|
392
|
+
* Releases the in-memory waiters of jobs a disconnect triage failed (pending
|
|
393
|
+
* builds, inits, dynamic evaluations, global eval rounds, user-cache refs) so
|
|
394
|
+
* none hangs. Runs inside `onAgentDisconnect`, so every path that drops an
|
|
395
|
+
* agent reaches it, whether or not it waits for the socket to close.
|
|
446
396
|
*/
|
|
447
397
|
export declare function releaseFailedJobWaiters(deps: Pick<AgentWsHandlerDeps, 'pendingBuilds' | 'pendingInits' | 'pendingDynamics' | 'pendingGlobalEvals' | 'dispatchCacheRefs'>, failedJobIds: string[]): void;
|
|
448
398
|
/**
|
|
449
399
|
* Create a Hono WS event handler for agent connections.
|
|
450
400
|
*
|
|
451
401
|
* Flow:
|
|
452
|
-
* 1. onOpen: start
|
|
453
|
-
*
|
|
402
|
+
* 1. onOpen: start the auth timer (token mode) or the register timer (see the
|
|
403
|
+
* file header for the phases and their timeouts)
|
|
404
|
+
* 2. Pre-register onMessage: auth.request (token mode), then agent.register
|
|
405
|
+
* with labels and capacity; a scaler.claim-credentials self-bootstrap is
|
|
406
|
+
* answered in either phase
|
|
454
407
|
* 3. Subsequent onMessage: validated against protocol schemas, routed by type
|
|
455
408
|
* 4. onClose: cleanup from pending registration or dispatcher
|
|
456
409
|
*
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Heartbeat monitor for agent WebSocket connections
|
|
3
|
-
*
|
|
4
|
-
* Periodically inspects all registered agents and:
|
|
5
|
-
* - Logs warnings for agents past the unhealthy threshold (90s).
|
|
2
|
+
* Heartbeat monitor for agent WebSocket connections:
|
|
3
|
+
* - Logs (info level) agents past the unhealthy threshold (90s).
|
|
6
4
|
* - Forcibly disconnects agents past the disconnect threshold (180s).
|
|
7
5
|
*
|
|
8
|
-
*
|
|
9
|
-
* consistency across the three-tier architecture.
|
|
6
|
+
* Mirrors the Platform's heartbeat monitor.
|
|
10
7
|
*/
|
|
11
8
|
import type { AgentRegistry } from '../agent/registry.js';
|
|
12
9
|
import type { Dispatcher } from '../agent/dispatcher.js';
|
|
@@ -21,10 +18,8 @@ interface AgentHeartbeatMonitorDeps {
|
|
|
21
18
|
checkIntervalMs?: number;
|
|
22
19
|
}
|
|
23
20
|
/**
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
* - Triggers dispatcher.onAgentDisconnect for an agent silent for 180s, then
|
|
27
|
-
* unregisters it and closes its socket.
|
|
21
|
+
* An agent silent for 90s is unhealthy (log only). One silent for 180s gets
|
|
22
|
+
* dispatcher.onAgentDisconnect, then is unregistered and its socket closed.
|
|
28
23
|
*/
|
|
29
24
|
export declare class AgentHeartbeatMonitor {
|
|
30
25
|
private readonly registry;
|
|
@@ -34,9 +29,7 @@ export declare class AgentHeartbeatMonitor {
|
|
|
34
29
|
private readonly checkIntervalMs;
|
|
35
30
|
private interval;
|
|
36
31
|
constructor(deps: AgentHeartbeatMonitorDeps);
|
|
37
|
-
/** Start the periodic heartbeat check. */
|
|
38
32
|
start(): void;
|
|
39
|
-
/** Stop the periodic heartbeat check. */
|
|
40
33
|
stop(): void;
|
|
41
34
|
private check;
|
|
42
35
|
}
|
package/dist/ws/bringup-api.d.ts
CHANGED
|
@@ -11,7 +11,6 @@ export declare const BOOTSTRAP_TOKEN_TTL_MS: number;
|
|
|
11
11
|
export declare const PRE_BOOT_DEFAULT_PORT = 2222;
|
|
12
12
|
/** Default forced command at a dropbear unlock endpoint (ignored by `-c` forces). */
|
|
13
13
|
export declare const PRE_BOOT_DEFAULT_COMMAND = "cryptroot-unlock";
|
|
14
|
-
/** Shared deps for the bring-up handlers. */
|
|
15
14
|
export interface BringupApiDeps {
|
|
16
15
|
registry: AgentRegistry;
|
|
17
16
|
rosterStore: HostRosterStore;
|
|
@@ -26,18 +25,17 @@ export interface BringupApiDeps {
|
|
|
26
25
|
/** Resolve the orchestrator's own version — the payload version to stage on bring-up. */
|
|
27
26
|
resolveVersion: () => string;
|
|
28
27
|
/**
|
|
29
|
-
*
|
|
30
|
-
* configured. Backs
|
|
31
|
-
*
|
|
32
|
-
*
|
|
28
|
+
* Cache-bucket agent-package store, present only when S3 cache storage is
|
|
29
|
+
* configured. Backs `s3-direct` delivery (a box-routable presigned download URL
|
|
30
|
+
* per probed platform). Absent ⇒ every bring-up uses `ssh-push` and the presign
|
|
31
|
+
* RPC is refused.
|
|
33
32
|
*/
|
|
34
33
|
agentPackages?: AgentPackageDownloadStorage;
|
|
35
34
|
}
|
|
36
35
|
/**
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
* reach an agent at job dispatch.
|
|
36
|
+
* Host reach returned to the calling agent for the SSH transport. The private
|
|
37
|
+
* key returned beside it transits to the ops agent by design (it custodies the
|
|
38
|
+
* bring-up key), exactly as resolved secrets reach an agent at job dispatch.
|
|
41
39
|
*/
|
|
42
40
|
export interface BringupReach {
|
|
43
41
|
agentId: string;
|
|
@@ -58,10 +56,10 @@ export interface EnsureInitRunnerResult {
|
|
|
58
56
|
/** The orchestrator's own version — the self-contained payload version to stage. */
|
|
59
57
|
version?: string;
|
|
60
58
|
/**
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
59
|
+
* Payload delivery mode: `s3-direct` when the host is declared
|
|
60
|
+
* object-storage-reachable AND a cache store is configured, else `ssh-push`.
|
|
61
|
+
* The agent probes the platform, then requests the presigned URL via
|
|
62
|
+
* `kici.presignAgentPackage`.
|
|
65
63
|
*/
|
|
66
64
|
deliveryMode?: AgentDeliveryMode;
|
|
67
65
|
}
|
|
@@ -93,14 +91,13 @@ export interface PresignAgentPackageResult {
|
|
|
93
91
|
sha256: string | null;
|
|
94
92
|
}
|
|
95
93
|
/**
|
|
96
|
-
* Build the `kici.presignAgentPackage` handler
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
*
|
|
100
|
-
*
|
|
101
|
-
*
|
|
102
|
-
*
|
|
103
|
-
* for `ssh-push` the ops agent fetches it and streams the bytes onward.
|
|
94
|
+
* Build the `kici.presignAgentPackage` handler, which the ops agent calls AFTER
|
|
95
|
+
* it probes the target platform, so the presign is keyed by the real platform.
|
|
96
|
+
* Same capability gate + access-log as the bring-up. Mints a box-routable
|
|
97
|
+
* presigned GET URL for the version-keyed payload in the orchestrator's cache
|
|
98
|
+
* bucket; no standing S3 credential leaves the orchestrator. A missing payload
|
|
99
|
+
* throws loudly (never a silent stale stage). For `s3-direct` the URL goes to
|
|
100
|
+
* the box; for `ssh-push` the ops agent fetches it and streams the bytes onward.
|
|
104
101
|
*/
|
|
105
102
|
export declare function createPresignAgentPackageHandler(deps: BringupApiDeps): (callingAgentId: string, params: Record<string, unknown>) => Promise<PresignAgentPackageResult>;
|
|
106
103
|
/** How the ops agent drains + restarts a re-staged host + where its install lives. */
|
|
@@ -134,16 +131,14 @@ export interface AgentVersionStatusResult {
|
|
|
134
131
|
available: boolean;
|
|
135
132
|
}
|
|
136
133
|
/**
|
|
137
|
-
* Build the `kici.agentVersionStatus` read handler
|
|
138
|
-
* the convergence check-step calls.
|
|
139
|
-
*
|
|
140
|
-
*
|
|
141
|
-
* SSH, no token — a pure read, but same capability gate + audit as the bring-up.
|
|
134
|
+
* Build the `kici.agentVersionStatus` read handler: the availability-gate probe
|
|
135
|
+
* the convergence check-step calls. Availability covers the host's platform, or
|
|
136
|
+
* the whole bootstrap set when the platform is unknown. No SSH, no token — a
|
|
137
|
+
* pure read, with the same capability gate + audit as the bring-up.
|
|
142
138
|
*/
|
|
143
139
|
export declare function createAgentVersionStatusHandler(deps: BringupApiDeps): (callingAgentId: string, params: Record<string, unknown>) => Promise<AgentVersionStatusResult>;
|
|
144
140
|
/** Material the ops agent receives for a `kici.restageAgent` call. */
|
|
145
141
|
export interface RestageAgentResult {
|
|
146
|
-
/** How to SSH to the target host. */
|
|
147
142
|
reach: BringupReach;
|
|
148
143
|
/** The resolved bring-up private key (custodied by the ops agent). */
|
|
149
144
|
privateKey: string;
|
|
@@ -155,21 +150,19 @@ export interface RestageAgentResult {
|
|
|
155
150
|
restart: AgentRestartSpec;
|
|
156
151
|
}
|
|
157
152
|
/**
|
|
158
|
-
* Build the `kici.restageAgent` handler
|
|
159
|
-
* re-stage authorization. Gates on the caller's `ssh-transport` capability
|
|
153
|
+
* Build the `kici.restageAgent` handler: the availability-gated, external-actor
|
|
154
|
+
* re-stage authorization. Gates on the caller's `ssh-transport` capability and
|
|
160
155
|
* REFUSES loudly when the target version's payloads are unavailable for the
|
|
161
|
-
* host's platform (
|
|
162
|
-
*
|
|
163
|
-
*
|
|
164
|
-
*
|
|
165
|
-
* reconnects on its own persistent credential (no self-update-handoff).
|
|
156
|
+
* host's platform (a second gate over the check-step's — never a skew). Returns
|
|
157
|
+
* what the ops agent needs to swap + restart the target's agent over SSH. Mints
|
|
158
|
+
* NO token: the re-staged permanent agent reconnects on its own persistent
|
|
159
|
+
* credential (no self-update-handoff).
|
|
166
160
|
*/
|
|
167
161
|
export declare function createRestageAgentHandler(deps: BringupApiDeps): (callingAgentId: string, params: Record<string, unknown>) => Promise<RestageAgentResult>;
|
|
168
162
|
/**
|
|
169
|
-
* Build the `kici.preBootSend` handler. Gates on the caller's capability
|
|
170
|
-
*
|
|
171
|
-
*
|
|
172
|
-
* SSH endpoint.
|
|
163
|
+
* Build the `kici.preBootSend` handler. Gates on the caller's capability and
|
|
164
|
+
* returns the resolved pre-boot input (e.g. a LUKS passphrase) + reach so the
|
|
165
|
+
* agent can pipe it to the target's pre-boot SSH endpoint.
|
|
173
166
|
*/
|
|
174
167
|
export declare function createPreBootSendHandler(deps: BringupApiDeps): (callingAgentId: string, params: Record<string, unknown>) => Promise<PreBootSendResult>;
|
|
175
168
|
//# sourceMappingURL=bringup-api.d.ts.map
|