/** * Drizzle schema for the data-programs primitive. * * A "data program" is a named, stored, agent-authored JS script executed * server-side through the existing run-code sandbox (`executeSandboxCode`). * Its result (rows + schema) is cached in `data_program_runs` and rendered by * the analytics dashboard panel components via a `"program"` panel source. * * `dataPrograms` follows the standard ownable-resource shape (see * `../extensions/schema.ts`) so it can be registered with the framework * sharing registry. `data_program_runs` is a run-result CACHE, not a * shareable/ownable resource — it is created via raw portable DDL exactly * like `../provider-api/staged-datasets-store.ts` (JSON-as-TEXT, no * dialect-specific column types, so the schema stays Postgres/SQLite * portable). */ /** * `refreshMode`: `'manual'` (cached until an explicit refresh) or `'ttl'` * (re-run automatically once `refreshTtlMs` has elapsed). Validated in TS * (see `execute.ts` / `actions.ts`) — stored as plain text for portability. */ export declare const dataPrograms: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{ name: "data_programs"; schema: undefined; columns: { ownerEmail: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "owner_email"; tableName: "data_programs"; dataType: "string"; columnType: "SQLiteText"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { length: number; }>; orgId: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "org_id"; tableName: "data_programs"; dataType: "string"; columnType: "SQLiteText"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { length: number; }>; visibility: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "visibility"; tableName: "data_programs"; dataType: "string"; columnType: "SQLiteText"; data: "org" | "private" | "public"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["private", "org", "public"]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { length: number; }>; id: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "id"; tableName: "data_programs"; dataType: "string"; columnType: "SQLiteText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { length: number; }>; appId: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "app_id"; tableName: "data_programs"; dataType: "string"; columnType: "SQLiteText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { length: number; }>; name: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "name"; tableName: "data_programs"; dataType: "string"; columnType: "SQLiteText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { length: number; }>; title: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "title"; tableName: "data_programs"; dataType: "string"; columnType: "SQLiteText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { length: number; }>; description: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "description"; tableName: "data_programs"; dataType: "string"; columnType: "SQLiteText"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { length: number; }>; code: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "code"; tableName: "data_programs"; dataType: "string"; columnType: "SQLiteText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { length: number; }>; paramsSchema: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "params_schema"; tableName: "data_programs"; dataType: "string"; columnType: "SQLiteText"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { length: number; }>; defaultParams: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "default_params"; tableName: "data_programs"; dataType: "string"; columnType: "SQLiteText"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { length: number; }>; outputColumns: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "output_columns"; tableName: "data_programs"; dataType: "string"; columnType: "SQLiteText"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { length: number; }>; refreshMode: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "refresh_mode"; tableName: "data_programs"; dataType: "string"; columnType: "SQLiteText"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { length: number; }>; refreshTtlMs: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "refresh_ttl_ms"; tableName: "data_programs"; dataType: "number"; columnType: "SQLiteInteger"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; background: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "background"; tableName: "data_programs"; dataType: "number"; columnType: "SQLiteInteger"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "created_at"; tableName: "data_programs"; dataType: "string"; columnType: "SQLiteText"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { length: number; }>; updatedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "updated_at"; tableName: "data_programs"; dataType: "string"; columnType: "SQLiteText"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { length: number; }>; archivedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "archived_at"; tableName: "data_programs"; dataType: "string"; columnType: "SQLiteText"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { length: number; }>; }; dialect: 'sqlite'; }>; export declare const dataProgramShares: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{ name: string; schema: undefined; columns: { id: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "id"; tableName: string; dataType: "string"; columnType: "SQLiteText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { length: number; }>; resourceId: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "resource_id"; tableName: string; dataType: "string"; columnType: "SQLiteText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { length: number; }>; principalType: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "principal_type"; tableName: string; dataType: "string"; columnType: "SQLiteText"; data: "org" | "user"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["user", "org"]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { length: number; }>; principalId: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "principal_id"; tableName: string; dataType: "string"; columnType: "SQLiteText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { length: number; }>; role: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "role"; tableName: string; dataType: "string"; columnType: "SQLiteText"; data: "admin" | "editor" | "viewer"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["viewer", "editor", "admin"]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { length: number; }>; createdBy: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "created_by"; tableName: string; dataType: "string"; columnType: "SQLiteText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { length: number; }>; createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "created_at"; tableName: string; dataType: "string"; columnType: "SQLiteText"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { length: number; }>; }; dialect: 'sqlite'; }>; export declare const DATA_PROGRAMS_CREATE_SQL = "CREATE TABLE IF NOT EXISTS data_programs (\n id TEXT PRIMARY KEY,\n app_id TEXT NOT NULL,\n name TEXT NOT NULL,\n title TEXT NOT NULL,\n description TEXT NOT NULL DEFAULT '',\n code TEXT NOT NULL,\n params_schema TEXT,\n default_params TEXT,\n output_columns TEXT,\n refresh_mode TEXT NOT NULL DEFAULT 'ttl',\n refresh_ttl_ms INTEGER NOT NULL DEFAULT 300000,\n background INTEGER NOT NULL DEFAULT 0,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n updated_at TEXT NOT NULL DEFAULT (datetime('now')),\n archived_at TEXT,\n owner_email TEXT NOT NULL DEFAULT 'local@localhost',\n org_id TEXT,\n visibility TEXT NOT NULL DEFAULT 'private'\n)"; export declare const DATA_PROGRAMS_CREATE_SQL_PG = "CREATE TABLE IF NOT EXISTS data_programs (\n id TEXT PRIMARY KEY,\n app_id TEXT NOT NULL,\n name TEXT NOT NULL,\n title TEXT NOT NULL,\n description TEXT NOT NULL DEFAULT '',\n code TEXT NOT NULL,\n params_schema TEXT,\n default_params TEXT,\n output_columns TEXT,\n refresh_mode TEXT NOT NULL DEFAULT 'ttl',\n refresh_ttl_ms INTEGER NOT NULL DEFAULT 300000,\n background INTEGER NOT NULL DEFAULT 0,\n created_at TEXT NOT NULL DEFAULT now(),\n updated_at TEXT NOT NULL DEFAULT now(),\n archived_at TEXT,\n owner_email TEXT NOT NULL DEFAULT 'local@localhost',\n org_id TEXT,\n visibility TEXT NOT NULL DEFAULT 'private'\n)"; export declare const DATA_PROGRAM_SHARES_CREATE_SQL = "CREATE TABLE IF NOT EXISTS data_program_shares (\n id TEXT PRIMARY KEY,\n resource_id TEXT NOT NULL,\n principal_type TEXT NOT NULL,\n principal_id TEXT NOT NULL,\n role TEXT NOT NULL DEFAULT 'viewer',\n created_by TEXT NOT NULL,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n)"; export declare const DATA_PROGRAM_SHARES_CREATE_SQL_PG = "CREATE TABLE IF NOT EXISTS data_program_shares (\n id TEXT PRIMARY KEY,\n resource_id TEXT NOT NULL,\n principal_type TEXT NOT NULL,\n principal_id TEXT NOT NULL,\n role TEXT NOT NULL DEFAULT 'viewer',\n created_by TEXT NOT NULL,\n created_at TEXT NOT NULL DEFAULT now()\n)"; export declare const DATA_PROGRAMS_APP_OWNER_INDEX_SQL = "CREATE INDEX IF NOT EXISTS data_programs_app_owner_idx ON data_programs (app_id, owner_email)"; export declare const DATA_PROGRAMS_APP_NAME_INDEX_SQL = "CREATE INDEX IF NOT EXISTS data_programs_app_name_idx ON data_programs (app_id, name)"; export declare const DATA_PROGRAM_SHARES_RESOURCE_INDEX_SQL = "CREATE INDEX IF NOT EXISTS data_program_shares_resource_idx ON data_program_shares (resource_id)"; export declare function dataProgramRunsCreateSql(integerType: string): string; export declare const DATA_PROGRAM_RUNS_TRUNCATED_COLUMN_SQL = "ALTER TABLE data_program_runs ADD COLUMN IF NOT EXISTS truncated INTEGER NOT NULL DEFAULT 0"; export declare const DATA_PROGRAM_RUNS_LOOKUP_INDEX_SQL = "CREATE INDEX IF NOT EXISTS data_program_runs_lookup_idx ON data_program_runs (program_id, params_hash, finished_at)"; //# sourceMappingURL=schema.d.ts.map