import { type WorkspaceEffectCommandResult } from "../lib/onboardClientWorkspaceEffect.js"; import { type PrivateBootstrapCommandResult } from "../lib/onboardClientPrivateBootstrap.js"; import { type OnboardClientWelcomeCommandResult } from "./onboardClientWelcome.js"; import { type OnboardClientTargetAdapterInvocationResult, type OnboardClientTargetAdapterRuntime, type OnboardClientTargetApproval, type OnboardClientTargetContextRef, type OnboardClientTargetOperation } from "./onboardClientTargetAdapters.js"; export declare const INTERNAL_ONBOARDING_TEAM_SCHEMA_VERSION = "internal-onboarding-team-v1"; export declare const INTERNAL_ONBOARDING_TEAM_SNAPSHOT_SCHEMA_VERSION = "internal-onboarding-team-snapshot-v1"; export declare const TARGET_ADAPTER_RUNTIME_ACTION: "target_adapter_invoke"; export declare const ONBOARD_CLIENT_RUNTIME_ACTIONS: readonly ["team_readback", "workspace_effect_readback", "private_bootstrap_readback", "welcome_effect_readback", "target_adapter_invoke"]; export type OnboardClientRuntimeAction = typeof ONBOARD_CLIENT_RUNTIME_ACTIONS[number]; export interface InternalOnboardingTeamMember { slackUserId: string; role: "canonical_owner" | "internal_member"; identityClass: "internal"; eligibility: "eligible" | "ineligible"; } export interface InternalOnboardingTeamConfig { schemaVersion: typeof INTERNAL_ONBOARDING_TEAM_SCHEMA_VERSION; configRevision: number; configHash: string; canonicalOwnerSlackUserId: string; members: InternalOnboardingTeamMember[]; expectedBotIdentity: string; eligibility: "eligible" | "ineligible"; } export interface OnboardClientRuntimeCommandInput { action: OnboardClientRuntimeAction; runId?: string; fixtureId?: string; operation?: OnboardClientTargetOperation; authority?: { registrationHash: string; approval: OnboardClientTargetApproval; }; effectIdentity?: string; expectedRevision?: number; requestFingerprint?: string; authorityHash?: string; targetContextRef?: OnboardClientTargetContextRef; } export interface OnboardClientRuntimeOptions { adminHome: string; adminStatePath?: string; now?: () => string; downstreamCallback?: () => Promise>; workspaceEffectCalibration?: OnboardClientWorkspaceEffectCalibration; targetAdapterRuntime?: OnboardClientTargetAdapterRuntime; } export interface OnboardClientWorkspaceEffectCalibration { fixtureId: string; fixtureDigest: string; workspaceId: string; workspaceName: string; customerSlug: string; teamId: string; expectedBotId: string; } export interface InternalOnboardingTeamSnapshot { schemaVersion: typeof INTERNAL_ONBOARDING_TEAM_SNAPSHOT_SCHEMA_VERSION; configRevision: number; configHash: string; canonicalOwnerSlackUserId: string; memberSlackUserIds: string[]; expectedBotIdentity: string; snapshotHash: string; } type InternalTeamErrorCode = "internal_team_input_invalid" | "internal_team_root_not_pristine" | "internal_team_state_missing_after_initialization" | "internal_team_state_corrupt" | "internal_team_state_insecure" | "internal_team_initialization_marker_missing" | "internal_team_initialization_drift" | "internal_team_member_duplicate" | "internal_team_member_invalid" | "internal_team_member_external" | "internal_team_owner_missing" | "internal_team_ineligible" | "internal_team_config_hash_mismatch" | "internal_team_snapshot_drift"; interface InternalTeamSuccessResult { ok: true; kind: "internal_team_snapshot"; action: "team_readback"; fixtureId: string | null; schemaVersion: typeof INTERNAL_ONBOARDING_TEAM_SCHEMA_VERSION; status: "eligible"; configRevision: number; configHash: string; initializationProvenanceHash: string; snapshotHash: string; snapshot: InternalOnboardingTeamSnapshot; migrated: boolean; callbackInvoked: false; writeAttempted: boolean; replayed: boolean; } interface InternalTeamPublicReadbackResult extends Omit { snapshotSchemaVersion: typeof INTERNAL_ONBOARDING_TEAM_SNAPSHOT_SCHEMA_VERSION; memberCount: number; } export interface InternalTeamNotConfiguredResult { ok: false; kind: "internal_team_not_configured"; code: "internal_team_not_configured"; action: "team_readback"; fixtureId: string | null; schemaVersion: typeof INTERNAL_ONBOARDING_TEAM_SCHEMA_VERSION; status: "not_configured"; configRevision: null; configHash: null; initializationProvenanceHash: null; snapshotHash: null; repairPredicate: "initialize_from_proven_pristine_root"; callbackInvoked: false; writeAttempted: false; replayed: false; } interface InternalTeamBlockedResult { ok: false; kind: "internal_team_blocked"; code: InternalTeamErrorCode; action: "team_readback"; fixtureId: string | null; schemaVersion: typeof INTERNAL_ONBOARDING_TEAM_SCHEMA_VERSION; status: "blocked"; configRevision: null; configHash: null; initializationProvenanceHash: null; snapshotHash: null; repairPredicate: "restore_or_explicitly_repair_team_state"; callbackInvoked: false; writeAttempted: false; replayed: false; } type InternalTeamCommandResult = InternalTeamSuccessResult | InternalTeamPublicReadbackResult | InternalTeamNotConfiguredResult | InternalTeamBlockedResult; export type OnboardClientRuntimeCommandResult = InternalTeamCommandResult | WorkspaceEffectCommandResult | PrivateBootstrapCommandResult | OnboardClientWelcomeCommandResult | OnboardClientTargetAdapterInvocationResult; export type InternalOnboardingTeamValidationResult = { ok: true; configHash: string; } | InternalTeamBlockedResult; export declare function validateInternalOnboardingTeamConfig(config: unknown): InternalOnboardingTeamValidationResult; export declare function readInternalOnboardingTeam(input: OnboardClientRuntimeCommandInput, options: OnboardClientRuntimeOptions): InternalTeamCommandResult; export declare function migrateInternalOnboardingTeam(input: OnboardClientRuntimeCommandInput, options: OnboardClientRuntimeOptions): InternalTeamCommandResult; export declare function snapshotInternalOnboardingTeam(input: OnboardClientRuntimeCommandInput, options: OnboardClientRuntimeOptions): InternalTeamCommandResult; export declare function revalidateInternalOnboardingTeamSnapshot(snapshot: InternalOnboardingTeamSnapshot, input: OnboardClientRuntimeCommandInput, options: OnboardClientRuntimeOptions): InternalTeamCommandResult; export declare function adminOnboardClientRuntime(input: OnboardClientRuntimeCommandInput, options: OnboardClientRuntimeOptions): Promise; export {};