keyLineage: SQLiteTableWithColumns<
{
name: "key_lineage";
schema: undefined;
columns: {
keyId: SQLiteColumn<
{
name: "keyId";
tableName: "key_lineage";
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
| undefined },
>;
parentKeyId: SQLiteColumn<
{
name: "parentKeyId";
tableName: "key_lineage";
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 },
>;
userId: SQLiteColumn<
{
name: "userId";
tableName: "key_lineage";
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 },
>;
path: SQLiteColumn<
{
name: "path";
tableName: "key_lineage";
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 },
>;
depth: SQLiteColumn<
{
name: "depth";
tableName: "key_lineage";
dataType: "number";
columnType: "SQLiteInteger";
data: number;
driverParam: number;
notNull: true;
hasDefault: false;
isPrimaryKey: false;
isAutoincrement: false;
hasRuntimeDefault: false;
enumValues: undefined;
baseColumn: never;
identity: undefined;
generated: undefined;
},
{},
{},
>;
};
dialect: "sqlite";
},
> = ...
The delegation tree: each node's parent + a materialized
pathof keyIds (root→…→self).userId/keyIdare plain columns (the app owns the user + apikey tables);keyIdis the SAME string ascredit_key.keyId.