import { t as AccessControl } from "../../../access-control-DVisXdFb.cjs"; //#region src/adapters/drizzle/schema/sqlite.d.ts /** * SQLite schema for the duck-iam IamDrizzle adapter. * * SQLite has no native JSON or array type, so every payload column is TEXT and * the adapter must run in `json: 'string'` mode (`new IamDrizzleAdapter({ ..., * json: 'string' })`). Columns are typed with `$type()` to reflect the * stored JSON text. `algorithm` is constrained via a CHECK. * * SQLite treats NULL as distinct in unique indexes, so global rows (NULL scope) * are de-duplicated via a `COALESCE(scope, '')` expression unique index. * * No soft-delete columns; `created_by` / `updated_by` carry audit actors (left * NULL by the adapter). See the Postgres schema for fuller notes. Constraint * naming: `pk_` `fk_` `uq_` `idx_` `ch_`. */ /** Allowed combining algorithms, kept in sync with {@link AccessControl.CombiningAlgorithm}. */ declare const IAM_COMBINE_ALGORITHMS: readonly ["deny-overrides", "allow-overrides", "first-match", "highest-priority"]; /** Stored ABAC policies. JSON payloads are TEXT and parsed by the adapter. */ declare const iamPolicies: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{ name: "access_policies"; schema: undefined; columns: { id: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "id"; tableName: "access_policies"; 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 | undefined; }>; name: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "name"; tableName: "access_policies"; 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 | undefined; }>; description: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "description"; tableName: "access_policies"; 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 | undefined; }>; version: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "version"; tableName: "access_policies"; 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; }, {}, {}>; algorithm: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "algorithm"; tableName: "access_policies"; dataType: "string"; columnType: "SQLiteText"; data: AccessControl.CombiningAlgorithm; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { length: number | undefined; $type: AccessControl.CombiningAlgorithm; }>; rules: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "rules"; tableName: "access_policies"; 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 | undefined; $type: string; }>; targets: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "targets"; tableName: "access_policies"; 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 | undefined; $type: string; }>; createdBy: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "created_by"; tableName: "access_policies"; 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 | undefined; }>; updatedBy: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "updated_by"; tableName: "access_policies"; 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 | undefined; }>; createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "created_at"; tableName: "access_policies"; dataType: "date"; columnType: "SQLiteTimestamp"; data: Date; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; updatedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "updated_at"; tableName: "access_policies"; dataType: "date"; columnType: "SQLiteTimestamp"; data: Date; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; }; dialect: "sqlite"; }>; /** Stored RBAC roles. `inherits` is JSON TEXT defaulting to `'[]'`. */ declare const iamRoles: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{ name: "access_roles"; schema: undefined; columns: { id: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "id"; tableName: "access_roles"; 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 | undefined; }>; name: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "name"; tableName: "access_roles"; 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 | undefined; }>; description: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "description"; tableName: "access_roles"; 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 | undefined; }>; permissions: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "permissions"; tableName: "access_roles"; 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 | undefined; $type: string; }>; inherits: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "inherits"; tableName: "access_roles"; 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 | undefined; $type: string; }>; scope: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "scope"; tableName: "access_roles"; 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 | undefined; }>; metadata: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "metadata"; tableName: "access_roles"; 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 | undefined; $type: string; }>; createdBy: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "created_by"; tableName: "access_roles"; 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 | undefined; }>; updatedBy: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "updated_by"; tableName: "access_roles"; 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 | undefined; }>; createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "created_at"; tableName: "access_roles"; dataType: "date"; columnType: "SQLiteTimestamp"; data: Date; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; updatedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "updated_at"; tableName: "access_roles"; dataType: "date"; columnType: "SQLiteTimestamp"; data: Date; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; }; dialect: "sqlite"; }>; /** Subject-to-role assignments. NULL scope is a global (unscoped) grant. */ declare const iamAssignments: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{ name: "access_assignments"; schema: undefined; columns: { id: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "id"; tableName: "access_assignments"; dataType: "string"; columnType: "SQLiteText"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: true; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { length: number | undefined; }>; subjectId: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "subject_id"; tableName: "access_assignments"; 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 | undefined; }>; roleId: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "role_id"; tableName: "access_assignments"; 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 | undefined; }>; scope: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "scope"; tableName: "access_assignments"; 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 | undefined; }>; createdBy: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "created_by"; tableName: "access_assignments"; 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 | undefined; }>; createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "created_at"; tableName: "access_assignments"; dataType: "date"; columnType: "SQLiteTimestamp"; data: Date; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; }; dialect: "sqlite"; }>; /** Per-subject attribute bags, one row per subject. JSON TEXT under `data`. */ declare const iamSubjectAttrs: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{ name: "access_subject_attrs"; schema: undefined; columns: { subjectId: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "subject_id"; tableName: "access_subject_attrs"; 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 | undefined; }>; data: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "data"; tableName: "access_subject_attrs"; 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 | undefined; $type: string; }>; updatedBy: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "updated_by"; tableName: "access_subject_attrs"; 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 | undefined; }>; createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "created_at"; tableName: "access_subject_attrs"; dataType: "date"; columnType: "SQLiteTimestamp"; data: Date; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; updatedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: "updated_at"; tableName: "access_subject_attrs"; dataType: "date"; columnType: "SQLiteTimestamp"; data: Date; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; }; dialect: "sqlite"; }>; //#endregion export { IAM_COMBINE_ALGORITHMS, iamAssignments, iamPolicies, iamRoles, iamSubjectAttrs }; //# sourceMappingURL=sqlite.d.cts.map