import { type Static } from "@sinclair/typebox"; import type { EventId } from "./EventId.js"; export declare const defaultAppletAllowedScopes: readonly ["everywhere", "project", "workspace", "session"]; export declare const appletAllowedScopesSchema: import("@sinclair/typebox").TArray, import("@sinclair/typebox").TLiteral<"project">, import("@sinclair/typebox").TLiteral<"workspace">, import("@sinclair/typebox").TLiteral<"session">]>>; export type AppletAllowedScopes = Static; export declare const appletVersionSchema: import("@sinclair/typebox").TObject<{ version: import("@sinclair/typebox").TInteger; changeDescription: import("@sinclair/typebox").TString; createdAt: import("@sinclair/typebox").TNumber; }>; export type AppletVersion = Static; /** * An applet is created by importing a source folder; no agent writes into the applet data folder * directly. Each import lands in its own version directory (`v1`, `v2`, ...), one version is * current, and rig serves the current version's static files with `index.html` as the entry point. */ export declare const appletSchema: import("@sinclair/typebox").TObject<{ name: import("@sinclair/typebox").TString; description: import("@sinclair/typebox").TString; purpose: import("@sinclair/typebox").TString; allowedScopes: import("@sinclair/typebox").TArray, import("@sinclair/typebox").TLiteral<"project">, import("@sinclair/typebox").TLiteral<"workspace">, import("@sinclair/typebox").TLiteral<"session">]>>; iconThumbhash: import("@sinclair/typebox").TString; iconUrl: import("@sinclair/typebox").TString; authorSessionId: import("@sinclair/typebox").TString; sourceDescription: import("@sinclair/typebox").TOptional; currentVersion: import("@sinclair/typebox").TInteger; versions: import("@sinclair/typebox").TArray>; createdAt: import("@sinclair/typebox").TNumber; updatedAt: import("@sinclair/typebox").TNumber; }>; export type Applet = Static; export declare const createAppletRequestSchema: import("@sinclair/typebox").TObject<{ name: import("@sinclair/typebox").TString; description: import("@sinclair/typebox").TString; purpose: import("@sinclair/typebox").TString; allowedScopes: import("@sinclair/typebox").TOptional, import("@sinclair/typebox").TLiteral<"project">, import("@sinclair/typebox").TLiteral<"workspace">, import("@sinclair/typebox").TLiteral<"session">]>>>; authorSessionId: import("@sinclair/typebox").TString; path: import("@sinclair/typebox").TString; iconPath: import("@sinclair/typebox").TString; sourceDescription: import("@sinclair/typebox").TOptional; }>; export type CreateAppletRequest = Static; export declare const updateAppletRequestSchema: import("@sinclair/typebox").TObject<{ path: import("@sinclair/typebox").TString; changeDescription: import("@sinclair/typebox").TString; allowedScopes: import("@sinclair/typebox").TOptional, import("@sinclair/typebox").TLiteral<"project">, import("@sinclair/typebox").TLiteral<"workspace">, import("@sinclair/typebox").TLiteral<"session">]>>>; }>; export type UpdateAppletRequest = Static; export declare const resolveAppletOpenRequestSchema: import("@sinclair/typebox").TObject<{ path: import("@sinclair/typebox").TOptional; query: import("@sinclair/typebox").TOptional>; sessionId: import("@sinclair/typebox").TOptional; projectId: import("@sinclair/typebox").TOptional; workspaceId: import("@sinclair/typebox").TOptional; }>; export type ResolveAppletOpenRequest = Static; export declare const resolveAppletOpenResponseSchema: import("@sinclair/typebox").TObject<{ url: import("@sinclair/typebox").TString; }>; export type ResolveAppletOpenResponse = Static; export declare const appletContextSchema: import("@sinclair/typebox").TObject<{ applet: import("@sinclair/typebox").TString; version: import("@sinclair/typebox").TInteger; sessionId: import("@sinclair/typebox").TOptional; projectId: import("@sinclair/typebox").TOptional; workspaceId: import("@sinclair/typebox").TOptional; }>; export type AppletContext = Static; export declare const revertAppletRequestSchema: import("@sinclair/typebox").TObject<{ version: import("@sinclair/typebox").TInteger; }>; export type RevertAppletRequest = Static; export interface AppletResponse { applet: Applet; } export interface ListAppletsResponse { applets: readonly Applet[]; } export type AppletManagementErrorCode = "invalid_request" | "invalid_applet" | "applet_not_found"; export interface AppletManagementErrorResponse { error: { code: AppletManagementErrorCode; message: string; }; } /** * Applets changed. Live-only, carrying the whole current set so a reconnecting client reads the * current applets instead of replaying every past import. */ export interface AppletsChangedEvent { createdAt: number; data: { applets: readonly Applet[]; }; id: EventId; type: "applets_changed"; }