import "../../db/index.js"; type WorkspaceAppAudience = "internal" | "public"; type WorkspaceAppVisibility = "private" | "org"; export interface WorkspaceAppSummary { id: string; name: string; description: string; path: string; url: string | null; isDispatch: boolean; audience: WorkspaceAppAudience; publicPaths: string[]; protectedPaths: string[]; status?: "ready" | "pending"; statusLabel?: string; builderUrl?: string | null; branchName?: string | null; createdAt?: string | null; createdBy?: string | null; visibility?: WorkspaceAppVisibility; owner?: string | null; teams?: string[]; agentCardUrl?: string | null; agentCardReachable?: boolean; a2aEndpointUrl?: string | null; agentName?: string | null; agentSkillsCount?: number | null; archived?: boolean; /** Safe server-side eligibility projection for the workspace SSO action. */ workspaceSso?: boolean; } export interface ListWorkspaceAppsOptions { includeAgentCards?: boolean; /** * Include apps the current viewer has hidden (archived). Defaults to false * so polling/UI callers see only the visible set; the apps page passes true * when rendering the "Hidden apps" expander. */ includeArchived?: boolean; audience?: WorkspaceAppAudience | "all"; } export interface AvailableWorkspaceTemplate { name: string; label: string; hint: string; icon: string; color: string; colorRgb: string; core: boolean; } export interface AppCreationSettings { builderProjectId: string | null; builderProjectIdSource: "env" | "dispatch" | "default" | "unset"; envBuilderProjectId: string | null; savedBuilderProjectId: string | null; builderBranchingEnabled: boolean; } export interface WorkspaceInfo { /** Slug from the workspace root package.json `name` (e.g. "on-call-todo-manager"). */ name: string | null; /** Title-cased version for display (e.g. "On Call Todo Manager"). */ displayName: string | null; /** Absolute path to the workspace root, if detected. */ rootPath: string | null; /** Number of apps currently scaffolded under apps/. */ appCount: number; } export declare function generateWorkspaceAppDescription(prompt: string, appId: string): string; export declare function archiveWorkspaceApp(input: { appId: string; }): Promise<{ archivedAppIds: string[]; }>; export declare function unarchiveWorkspaceApp(input: { appId: string; }): Promise<{ archivedAppIds: string[]; }>; export declare function removePendingWorkspaceApp(input: { appId: string; }): Promise<{ removed: boolean; }>; export declare function getEnvBuilderProjectId(): string | null; /** * Read the workspace's identity from the workspace root's package.json. Used to * surface "Workspace: " in the Dispatch UI so first-time users can see * the container their apps live inside (rather than only seeing app names like * "starter" / "dispatch" with no parent context). */ export declare function getWorkspaceInfo(): WorkspaceInfo; export declare function updateWorkspaceAppMetadata(input: { appId: string; name?: string | null; description?: string | null; }): Promise; export declare function listWorkspaceApps(options?: ListWorkspaceAppsOptions): Promise; export declare function listAvailableWorkspaceTemplates(): Promise; export declare function scaffoldWorkspaceAppFromTemplate(input: { template: string; appId?: string | null; }): Promise<{ appId: string; template: string; output: string; }>; export declare function getAppCreationSettings(): Promise; export declare function setAppCreationSettings(input: { builderProjectId?: string | null; }): Promise; export declare function isLocalAppCreationRuntime(): boolean; /** * Discriminates why `startWorkspaceAppCreation` could not hand off to Builder. * UIs and agents should branch on this instead of parsing `message` text. */ export type AppCreationUnavailableReason = "identity-not-linked" | "settings-management-required" | "builder-not-connected" | "credential-store-unavailable" | "builder-error"; export interface AppCreationIdentityUnavailableResult { mode: "builder-unavailable"; appId: string; reason: "identity-not-linked"; message: string; } export interface AppCreationBuilderUnavailableResult { mode: "builder-unavailable"; appId: string; reason: Exclude; message: string; /** Raw underlying error text for agents/operators debugging the deployment. */ detail?: string; projectId: string; } export interface AppCreationLocalAgentResult { mode: "local-agent"; appId: string; prompt: string; message: string; } export interface AppCreationComingSoonResult { mode: "coming-soon"; appId: string; message: string; } export interface AppCreationBuilderResult { mode: "builder"; appId: string; path: string; projectId: string; branchName: string; url: string; workspaceUrl: string | null; status: string; message: string; } export type StartWorkspaceAppCreationResult = AppCreationIdentityUnavailableResult | AppCreationBuilderUnavailableResult | AppCreationLocalAgentResult | AppCreationComingSoonResult | AppCreationBuilderResult; export declare function startWorkspaceAppCreation(input: { prompt: string; appId?: string | null; description?: string | null; template?: string | null; secretIds?: string[]; resourceIds?: string[]; }): Promise; export {}; //# sourceMappingURL=app-creation-store.d.ts.map