import { readCustomerKnowledge } from "../lib/customerKnowledgeStore.js"; import { type InternalOnboardingProvisioningReceipt, type InternalOnboardingRunOwnedChannelReceipt } from "./hermesInternalOnboardingProvisioning.js"; import { stageInternalOnboardingProfile } from "./hermesOnboardingAgent.js"; import { type InternalOnboardingBinding } from "./resolveInternalOnboardingBinding.js"; import { type OnboardClientTargetAdapterFactory, type OnboardClientTargetAdapterRegistration, type OnboardClientTargetAdapterRuntime, type OnboardClientTargetContextRef, type OnboardClientTargetOperation } from "./onboardClientTargetAdapters.js"; export declare const ONBOARD_CLIENT_PRODUCTION_TARGET_CONTEXT_SCHEMA_VERSION: "onboard-client-production-target-context-v1"; export declare const ONBOARD_CLIENT_PRODUCTION_PROFILE_RECEIPT_SCHEMA_VERSION: "onboard-client-production-profile-receipt-v1"; export declare const ONBOARD_CLIENT_PRODUCTION_TARGET_CONTEXT_PATH_ENV: "SELLABLE_ADMIN_ONBOARD_CLIENT_TARGET_CONTEXT_PATH"; export declare const ONBOARD_CLIENT_PRODUCTION_TARGET_CONTEXT_SHA256_ENV: "SELLABLE_ADMIN_ONBOARD_CLIENT_TARGET_CONTEXT_SHA256"; export type OnboardClientProductionTargetContextRef = OnboardClientTargetContextRef; export interface OnboardClientProductionProfileReceipt { schemaVersion: typeof ONBOARD_CLIENT_PRODUCTION_PROFILE_RECEIPT_SCHEMA_VERSION; runId: string; lifecycleId: string; effectIdentity: string; customerSlug: string; profileId: string; profileRoot: string; workspaceId: string; teamId: string; internalChannelId: string; expectedBotId: string; configPath: string; configSha256: string; slackAppPath: string; slackAppSha256: string; receiptHash: string; } export interface OnboardClientProductionEffectContext { effectIdentity: string; operation: OnboardClientTargetOperation; expectedRevision: number; registrationHash: string; approvalHash: string; authorityHash: string; bindingHash: string | null; membershipHash: string | null; generationHash: string | null; welcomeDisposition: "not_needed" | "skip" | null; channelReceipt: InternalOnboardingRunOwnedChannelReceipt | null; profileReceipt: OnboardClientProductionProfileReceipt | null; } export interface OnboardClientProductionTargetContext { schemaVersion: typeof ONBOARD_CLIENT_PRODUCTION_TARGET_CONTEXT_SCHEMA_VERSION; contextId: string; runId: string; lifecycleId: string; packetRevision: number; packetHash: string; authorizationReceiptHash: string; adminHome: string; controlIdentity: { profileId: string; authorizedActorIds: string[]; }; subjectIdentity: { customerSlug: string; profileId: string; profileRoot: string; workspaceId: string; }; workspace: { workspaceName: string; }; internalOnboarding: { teamId: string; ownerSlackUserId: string; allowedSlackUserIds: string[]; internalChannelName: string; appId: string; expectedBotId: string; manifestSha256: string; }; hostAttestation: OnboardClientTargetAdapterRegistration["hostAttestation"]; targetPackage: { packageName: string; version: string; integrity: string; packageJsonPath: string; packageJsonSha256: string; entryPath: string; entrySha256: string; }; effects: OnboardClientProductionEffectContext[]; contextHash: string; } export interface OnboardClientProductionTargetProviders { workspaceGet: (workspaceId: string) => Promise; workspaceRegister: (workspaceId: string, adminStatePath: string) => Promise; provisionInternalChannel: (input: { adminHome: string; lifecycleId: string; adoptedChannelReceipt?: InternalOnboardingRunOwnedChannelReceipt; }) => Promise; resolveInternalBinding: (input: { adminHome: string; lifecycleId: string; }) => InternalOnboardingBinding; readKnowledge: typeof readCustomerKnowledge; stageInternalProfile: typeof stageInternalOnboardingProfile; } export interface CreateProductionOnboardClientTargetFactoryOptions { contextRef: OnboardClientTargetContextRef; providers?: Partial; } export interface CreateProductionOnboardClientTargetRuntimeFromEnvironmentOptions { env?: Record; now?: () => string; providers?: Partial; } export declare function loadSealedOnboardClientProductionTargetContext(ref: OnboardClientTargetContextRef): OnboardClientProductionTargetContext; export declare function sealOnboardClientProductionTargetContext(input: { context: Omit; outputPath: string; }): { contextRef: OnboardClientTargetContextRef; contextHash: string; byteSha256: string; }; export declare function createProductionOnboardClientTargetFactory(options: CreateProductionOnboardClientTargetFactoryOptions): OnboardClientTargetAdapterFactory; export declare function deriveOnboardClientProductionTargetRegistrationHash(context: OnboardClientProductionTargetContext): string; export declare function createProductionOnboardClientTargetRuntimeFromEnvironment(options?: CreateProductionOnboardClientTargetRuntimeFromEnvironmentOptions): OnboardClientTargetAdapterRuntime;