UNPKG

@openguardrails/moltguard

Version:

AI agent security plugin for OpenClaw: prompt injection detection, PII sanitization, and monitoring dashboard

1,164 lines (1,081 loc) 51.7 kB
export const id = 377; export const ids = [377]; export const modules = { /***/ 3824: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { // EXPORTS __webpack_require__.d(__webpack_exports__, { v: () => (/* binding */ SQLiteColumn), o: () => (/* binding */ SQLiteColumnBuilder) }); // EXTERNAL MODULE: ../../node_modules/.pnpm/drizzle-orm@0.36.4_@libsql+client@0.14.0_@types+better-sqlite3@7.6.13_@types+react@18.3.28_be_bhyfo6jtf7gmzt2fsdpal3g2vq/node_modules/drizzle-orm/column-builder.js var column_builder = __webpack_require__(5099); // EXTERNAL MODULE: ../../node_modules/.pnpm/drizzle-orm@0.36.4_@libsql+client@0.14.0_@types+better-sqlite3@7.6.13_@types+react@18.3.28_be_bhyfo6jtf7gmzt2fsdpal3g2vq/node_modules/drizzle-orm/column.js var column = __webpack_require__(2345); // EXTERNAL MODULE: ../../node_modules/.pnpm/drizzle-orm@0.36.4_@libsql+client@0.14.0_@types+better-sqlite3@7.6.13_@types+react@18.3.28_be_bhyfo6jtf7gmzt2fsdpal3g2vq/node_modules/drizzle-orm/entity.js var entity = __webpack_require__(9724); // EXTERNAL MODULE: ../../node_modules/.pnpm/drizzle-orm@0.36.4_@libsql+client@0.14.0_@types+better-sqlite3@7.6.13_@types+react@18.3.28_be_bhyfo6jtf7gmzt2fsdpal3g2vq/node_modules/drizzle-orm/table.utils.js var table_utils = __webpack_require__(7340); ;// CONCATENATED MODULE: ../../node_modules/.pnpm/drizzle-orm@0.36.4_@libsql+client@0.14.0_@types+better-sqlite3@7.6.13_@types+react@18.3.28_be_bhyfo6jtf7gmzt2fsdpal3g2vq/node_modules/drizzle-orm/sqlite-core/foreign-keys.js class ForeignKeyBuilder { static [entity/* entityKind */.i] = "SQLiteForeignKeyBuilder"; /** @internal */ reference; /** @internal */ _onUpdate; /** @internal */ _onDelete; constructor(config, actions) { this.reference = () => { const { name, columns, foreignColumns } = config(); return { name, columns, foreignTable: foreignColumns[0].table, foreignColumns }; }; if (actions) { this._onUpdate = actions.onUpdate; this._onDelete = actions.onDelete; } } onUpdate(action) { this._onUpdate = action; return this; } onDelete(action) { this._onDelete = action; return this; } /** @internal */ build(table) { return new ForeignKey(table, this); } } class ForeignKey { constructor(table, builder) { this.table = table; this.reference = builder.reference; this.onUpdate = builder._onUpdate; this.onDelete = builder._onDelete; } static [entity/* entityKind */.i] = "SQLiteForeignKey"; reference; onUpdate; onDelete; getName() { const { name, columns, foreignColumns } = this.reference(); const columnNames = columns.map((column) => column.name); const foreignColumnNames = foreignColumns.map((column) => column.name); const chunks = [ this.table[table_utils/* TableName */.E], ...columnNames, foreignColumns[0].table[table_utils/* TableName */.E], ...foreignColumnNames ]; return name ?? `${chunks.join("_")}_fk`; } } function foreignKey(config) { function mappedConfig() { if (typeof config === "function") { const { name, columns, foreignColumns } = config(); return { name, columns, foreignColumns }; } return config; } return new ForeignKeyBuilder(mappedConfig); } //# sourceMappingURL=foreign-keys.js.map ;// CONCATENATED MODULE: ../../node_modules/.pnpm/drizzle-orm@0.36.4_@libsql+client@0.14.0_@types+better-sqlite3@7.6.13_@types+react@18.3.28_be_bhyfo6jtf7gmzt2fsdpal3g2vq/node_modules/drizzle-orm/sqlite-core/unique-constraint.js function uniqueKeyName(table, columns) { return `${table[table_utils/* TableName */.E]}_${columns.join("_")}_unique`; } function unique(name) { return new UniqueOnConstraintBuilder(name); } class UniqueConstraintBuilder { constructor(columns, name) { this.name = name; this.columns = columns; } static [entity/* entityKind */.i] = (/* unused pure expression or super */ null && ("SQLiteUniqueConstraintBuilder")); /** @internal */ columns; /** @internal */ build(table) { return new UniqueConstraint(table, this.columns, this.name); } } class UniqueOnConstraintBuilder { static [entity/* entityKind */.i] = (/* unused pure expression or super */ null && ("SQLiteUniqueOnConstraintBuilder")); /** @internal */ name; constructor(name) { this.name = name; } on(...columns) { return new UniqueConstraintBuilder(columns, this.name); } } class UniqueConstraint { constructor(table, columns, name) { this.table = table; this.columns = columns; this.name = name ?? uniqueKeyName(this.table, this.columns.map((column) => column.name)); } static [entity/* entityKind */.i] = (/* unused pure expression or super */ null && ("SQLiteUniqueConstraint")); columns; name; getName() { return this.name; } } //# sourceMappingURL=unique-constraint.js.map ;// CONCATENATED MODULE: ../../node_modules/.pnpm/drizzle-orm@0.36.4_@libsql+client@0.14.0_@types+better-sqlite3@7.6.13_@types+react@18.3.28_be_bhyfo6jtf7gmzt2fsdpal3g2vq/node_modules/drizzle-orm/sqlite-core/columns/common.js class SQLiteColumnBuilder extends column_builder/* ColumnBuilder */.Q { static [entity/* entityKind */.i] = "SQLiteColumnBuilder"; foreignKeyConfigs = []; references(ref, actions = {}) { this.foreignKeyConfigs.push({ ref, actions }); return this; } unique(name) { this.config.isUnique = true; this.config.uniqueName = name; return this; } generatedAlwaysAs(as, config) { this.config.generated = { as, type: "always", mode: config?.mode ?? "virtual" }; return this; } /** @internal */ buildForeignKeys(column, table) { return this.foreignKeyConfigs.map(({ ref, actions }) => { return ((ref2, actions2) => { const builder = new ForeignKeyBuilder(() => { const foreignColumn = ref2(); return { columns: [column], foreignColumns: [foreignColumn] }; }); if (actions2.onUpdate) { builder.onUpdate(actions2.onUpdate); } if (actions2.onDelete) { builder.onDelete(actions2.onDelete); } return builder.build(table); })(ref, actions); }); } } class SQLiteColumn extends column/* Column */.V { constructor(table, config) { if (!config.uniqueName) { config.uniqueName = uniqueKeyName(table, [config.name]); } super(table, config); this.table = table; } static [entity/* entityKind */.i] = "SQLiteColumn"; } //# sourceMappingURL=common.js.map /***/ }), /***/ 6654: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ nd: () => (/* binding */ integer) /* harmony export */ }); /* unused harmony exports SQLiteBaseInteger, SQLiteBaseIntegerBuilder, SQLiteBoolean, SQLiteBooleanBuilder, SQLiteInteger, SQLiteIntegerBuilder, SQLiteTimestamp, SQLiteTimestampBuilder, int */ /* harmony import */ var _entity_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9724); /* harmony import */ var _sql_sql_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(183); /* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3853); /* harmony import */ var _common_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3824); class SQLiteBaseIntegerBuilder extends _common_js__WEBPACK_IMPORTED_MODULE_0__/* .SQLiteColumnBuilder */ .o { static [_entity_js__WEBPACK_IMPORTED_MODULE_1__/* .entityKind */ .i] = "SQLiteBaseIntegerBuilder"; constructor(name, dataType, columnType) { super(name, dataType, columnType); this.config.autoIncrement = false; } primaryKey(config) { if (config?.autoIncrement) { this.config.autoIncrement = true; } this.config.hasDefault = true; return super.primaryKey(); } } class SQLiteBaseInteger extends _common_js__WEBPACK_IMPORTED_MODULE_0__/* .SQLiteColumn */ .v { static [_entity_js__WEBPACK_IMPORTED_MODULE_1__/* .entityKind */ .i] = "SQLiteBaseInteger"; autoIncrement = this.config.autoIncrement; getSQLType() { return "integer"; } } class SQLiteIntegerBuilder extends SQLiteBaseIntegerBuilder { static [_entity_js__WEBPACK_IMPORTED_MODULE_1__/* .entityKind */ .i] = "SQLiteIntegerBuilder"; constructor(name) { super(name, "number", "SQLiteInteger"); } build(table) { return new SQLiteInteger( table, this.config ); } } class SQLiteInteger extends SQLiteBaseInteger { static [_entity_js__WEBPACK_IMPORTED_MODULE_1__/* .entityKind */ .i] = "SQLiteInteger"; } class SQLiteTimestampBuilder extends SQLiteBaseIntegerBuilder { static [_entity_js__WEBPACK_IMPORTED_MODULE_1__/* .entityKind */ .i] = "SQLiteTimestampBuilder"; constructor(name, mode) { super(name, "date", "SQLiteTimestamp"); this.config.mode = mode; } /** * @deprecated Use `default()` with your own expression instead. * * Adds `DEFAULT (cast((julianday('now') - 2440587.5)*86400000 as integer))` to the column, which is the current epoch timestamp in milliseconds. */ defaultNow() { return this.default((0,_sql_sql_js__WEBPACK_IMPORTED_MODULE_2__/* .sql */ .ll)`(cast((julianday('now') - 2440587.5)*86400000 as integer))`); } build(table) { return new SQLiteTimestamp( table, this.config ); } } class SQLiteTimestamp extends SQLiteBaseInteger { static [_entity_js__WEBPACK_IMPORTED_MODULE_1__/* .entityKind */ .i] = "SQLiteTimestamp"; mode = this.config.mode; mapFromDriverValue(value) { if (this.config.mode === "timestamp") { return new Date(value * 1e3); } return new Date(value); } mapToDriverValue(value) { const unix = value.getTime(); if (this.config.mode === "timestamp") { return Math.floor(unix / 1e3); } return unix; } } class SQLiteBooleanBuilder extends SQLiteBaseIntegerBuilder { static [_entity_js__WEBPACK_IMPORTED_MODULE_1__/* .entityKind */ .i] = "SQLiteBooleanBuilder"; constructor(name, mode) { super(name, "boolean", "SQLiteBoolean"); this.config.mode = mode; } build(table) { return new SQLiteBoolean( table, this.config ); } } class SQLiteBoolean extends SQLiteBaseInteger { static [_entity_js__WEBPACK_IMPORTED_MODULE_1__/* .entityKind */ .i] = "SQLiteBoolean"; mode = this.config.mode; mapFromDriverValue(value) { return Number(value) === 1; } mapToDriverValue(value) { return value ? 1 : 0; } } function integer(a, b) { const { name, config } = (0,_utils_js__WEBPACK_IMPORTED_MODULE_3__/* .getColumnNameAndConfig */ .Ll)(a, b); if (config?.mode === "timestamp" || config?.mode === "timestamp_ms") { return new SQLiteTimestampBuilder(name, config.mode); } if (config?.mode === "boolean") { return new SQLiteBooleanBuilder(name, config.mode); } return new SQLiteIntegerBuilder(name); } const int = (/* unused pure expression or super */ null && (integer)); //# sourceMappingURL=integer.js.map /***/ }), /***/ 8470: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ x: () => (/* binding */ real) /* harmony export */ }); /* unused harmony exports SQLiteReal, SQLiteRealBuilder */ /* harmony import */ var _entity_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9724); /* harmony import */ var _common_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3824); class SQLiteRealBuilder extends _common_js__WEBPACK_IMPORTED_MODULE_0__/* .SQLiteColumnBuilder */ .o { static [_entity_js__WEBPACK_IMPORTED_MODULE_1__/* .entityKind */ .i] = "SQLiteRealBuilder"; constructor(name) { super(name, "number", "SQLiteReal"); } /** @internal */ build(table) { return new SQLiteReal(table, this.config); } } class SQLiteReal extends _common_js__WEBPACK_IMPORTED_MODULE_0__/* .SQLiteColumn */ .v { static [_entity_js__WEBPACK_IMPORTED_MODULE_1__/* .entityKind */ .i] = "SQLiteReal"; getSQLType() { return "real"; } } function real(name) { return new SQLiteRealBuilder(name ?? ""); } //# sourceMappingURL=real.js.map /***/ }), /***/ 1513: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ Qq: () => (/* binding */ text) /* harmony export */ }); /* unused harmony exports SQLiteText, SQLiteTextBuilder, SQLiteTextJson, SQLiteTextJsonBuilder */ /* harmony import */ var _entity_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9724); /* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3853); /* harmony import */ var _common_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3824); class SQLiteTextBuilder extends _common_js__WEBPACK_IMPORTED_MODULE_0__/* .SQLiteColumnBuilder */ .o { static [_entity_js__WEBPACK_IMPORTED_MODULE_1__/* .entityKind */ .i] = "SQLiteTextBuilder"; constructor(name, config) { super(name, "string", "SQLiteText"); this.config.enumValues = config.enum; this.config.length = config.length; } /** @internal */ build(table) { return new SQLiteText(table, this.config); } } class SQLiteText extends _common_js__WEBPACK_IMPORTED_MODULE_0__/* .SQLiteColumn */ .v { static [_entity_js__WEBPACK_IMPORTED_MODULE_1__/* .entityKind */ .i] = "SQLiteText"; enumValues = this.config.enumValues; length = this.config.length; constructor(table, config) { super(table, config); } getSQLType() { return `text${this.config.length ? `(${this.config.length})` : ""}`; } } class SQLiteTextJsonBuilder extends _common_js__WEBPACK_IMPORTED_MODULE_0__/* .SQLiteColumnBuilder */ .o { static [_entity_js__WEBPACK_IMPORTED_MODULE_1__/* .entityKind */ .i] = "SQLiteTextJsonBuilder"; constructor(name) { super(name, "json", "SQLiteTextJson"); } /** @internal */ build(table) { return new SQLiteTextJson( table, this.config ); } } class SQLiteTextJson extends _common_js__WEBPACK_IMPORTED_MODULE_0__/* .SQLiteColumn */ .v { static [_entity_js__WEBPACK_IMPORTED_MODULE_1__/* .entityKind */ .i] = "SQLiteTextJson"; getSQLType() { return "text"; } mapFromDriverValue(value) { return JSON.parse(value); } mapToDriverValue(value) { return JSON.stringify(value); } } function text(a, b = {}) { const { name, config } = (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__/* .getColumnNameAndConfig */ .Ll)(a, b); if (config.mode === "json") { return new SQLiteTextJsonBuilder(name); } return new SQLiteTextBuilder(name, config); } //# sourceMappingURL=text.js.map /***/ }), /***/ 2084: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { // EXPORTS __webpack_require__.d(__webpack_exports__, { jo: () => (/* binding */ SQLiteTable), D: () => (/* binding */ sqliteTable) }); // UNUSED EXPORTS: InlineForeignKeys, sqliteTableCreator // EXTERNAL MODULE: ../../node_modules/.pnpm/drizzle-orm@0.36.4_@libsql+client@0.14.0_@types+better-sqlite3@7.6.13_@types+react@18.3.28_be_bhyfo6jtf7gmzt2fsdpal3g2vq/node_modules/drizzle-orm/entity.js var entity = __webpack_require__(9724); // EXTERNAL MODULE: ../../node_modules/.pnpm/drizzle-orm@0.36.4_@libsql+client@0.14.0_@types+better-sqlite3@7.6.13_@types+react@18.3.28_be_bhyfo6jtf7gmzt2fsdpal3g2vq/node_modules/drizzle-orm/table.js var drizzle_orm_table = __webpack_require__(8407); // EXTERNAL MODULE: ../../node_modules/.pnpm/drizzle-orm@0.36.4_@libsql+client@0.14.0_@types+better-sqlite3@7.6.13_@types+react@18.3.28_be_bhyfo6jtf7gmzt2fsdpal3g2vq/node_modules/drizzle-orm/utils.js var utils = __webpack_require__(3853); // EXTERNAL MODULE: ../../node_modules/.pnpm/drizzle-orm@0.36.4_@libsql+client@0.14.0_@types+better-sqlite3@7.6.13_@types+react@18.3.28_be_bhyfo6jtf7gmzt2fsdpal3g2vq/node_modules/drizzle-orm/sqlite-core/columns/common.js + 2 modules var common = __webpack_require__(3824); ;// CONCATENATED MODULE: ../../node_modules/.pnpm/drizzle-orm@0.36.4_@libsql+client@0.14.0_@types+better-sqlite3@7.6.13_@types+react@18.3.28_be_bhyfo6jtf7gmzt2fsdpal3g2vq/node_modules/drizzle-orm/sqlite-core/columns/blob.js class SQLiteBigIntBuilder extends common/* SQLiteColumnBuilder */.o { static [entity/* entityKind */.i] = "SQLiteBigIntBuilder"; constructor(name) { super(name, "bigint", "SQLiteBigInt"); } /** @internal */ build(table) { return new SQLiteBigInt(table, this.config); } } class SQLiteBigInt extends common/* SQLiteColumn */.v { static [entity/* entityKind */.i] = "SQLiteBigInt"; getSQLType() { return "blob"; } mapFromDriverValue(value) { return BigInt(Buffer.isBuffer(value) ? value.toString() : String.fromCodePoint(...value)); } mapToDriverValue(value) { return Buffer.from(value.toString()); } } class SQLiteBlobJsonBuilder extends common/* SQLiteColumnBuilder */.o { static [entity/* entityKind */.i] = "SQLiteBlobJsonBuilder"; constructor(name) { super(name, "json", "SQLiteBlobJson"); } /** @internal */ build(table) { return new SQLiteBlobJson( table, this.config ); } } class SQLiteBlobJson extends common/* SQLiteColumn */.v { static [entity/* entityKind */.i] = "SQLiteBlobJson"; getSQLType() { return "blob"; } mapFromDriverValue(value) { return JSON.parse(Buffer.isBuffer(value) ? value.toString() : String.fromCodePoint(...value)); } mapToDriverValue(value) { return Buffer.from(JSON.stringify(value)); } } class SQLiteBlobBufferBuilder extends common/* SQLiteColumnBuilder */.o { static [entity/* entityKind */.i] = "SQLiteBlobBufferBuilder"; constructor(name) { super(name, "buffer", "SQLiteBlobBuffer"); } /** @internal */ build(table) { return new SQLiteBlobBuffer(table, this.config); } } class SQLiteBlobBuffer extends common/* SQLiteColumn */.v { static [entity/* entityKind */.i] = "SQLiteBlobBuffer"; getSQLType() { return "blob"; } } function blob(a, b) { const { name, config } = (0,utils/* getColumnNameAndConfig */.Ll)(a, b); if (config?.mode === "json") { return new SQLiteBlobJsonBuilder(name); } if (config?.mode === "bigint") { return new SQLiteBigIntBuilder(name); } return new SQLiteBlobBufferBuilder(name); } //# sourceMappingURL=blob.js.map ;// CONCATENATED MODULE: ../../node_modules/.pnpm/drizzle-orm@0.36.4_@libsql+client@0.14.0_@types+better-sqlite3@7.6.13_@types+react@18.3.28_be_bhyfo6jtf7gmzt2fsdpal3g2vq/node_modules/drizzle-orm/sqlite-core/columns/custom.js class SQLiteCustomColumnBuilder extends common/* SQLiteColumnBuilder */.o { static [entity/* entityKind */.i] = "SQLiteCustomColumnBuilder"; constructor(name, fieldConfig, customTypeParams) { super(name, "custom", "SQLiteCustomColumn"); this.config.fieldConfig = fieldConfig; this.config.customTypeParams = customTypeParams; } /** @internal */ build(table) { return new SQLiteCustomColumn( table, this.config ); } } class SQLiteCustomColumn extends common/* SQLiteColumn */.v { static [entity/* entityKind */.i] = "SQLiteCustomColumn"; sqlName; mapTo; mapFrom; constructor(table, config) { super(table, config); this.sqlName = config.customTypeParams.dataType(config.fieldConfig); this.mapTo = config.customTypeParams.toDriver; this.mapFrom = config.customTypeParams.fromDriver; } getSQLType() { return this.sqlName; } mapFromDriverValue(value) { return typeof this.mapFrom === "function" ? this.mapFrom(value) : value; } mapToDriverValue(value) { return typeof this.mapTo === "function" ? this.mapTo(value) : value; } } function customType(customTypeParams) { return (a, b) => { const { name, config } = (0,utils/* getColumnNameAndConfig */.Ll)(a, b); return new SQLiteCustomColumnBuilder( name, config, customTypeParams ); }; } //# sourceMappingURL=custom.js.map // EXTERNAL MODULE: ../../node_modules/.pnpm/drizzle-orm@0.36.4_@libsql+client@0.14.0_@types+better-sqlite3@7.6.13_@types+react@18.3.28_be_bhyfo6jtf7gmzt2fsdpal3g2vq/node_modules/drizzle-orm/sqlite-core/columns/integer.js var integer = __webpack_require__(6654); ;// CONCATENATED MODULE: ../../node_modules/.pnpm/drizzle-orm@0.36.4_@libsql+client@0.14.0_@types+better-sqlite3@7.6.13_@types+react@18.3.28_be_bhyfo6jtf7gmzt2fsdpal3g2vq/node_modules/drizzle-orm/sqlite-core/columns/numeric.js class SQLiteNumericBuilder extends common/* SQLiteColumnBuilder */.o { static [entity/* entityKind */.i] = "SQLiteNumericBuilder"; constructor(name) { super(name, "string", "SQLiteNumeric"); } /** @internal */ build(table) { return new SQLiteNumeric( table, this.config ); } } class SQLiteNumeric extends common/* SQLiteColumn */.v { static [entity/* entityKind */.i] = "SQLiteNumeric"; getSQLType() { return "numeric"; } } function numeric(name) { return new SQLiteNumericBuilder(name ?? ""); } //# sourceMappingURL=numeric.js.map // EXTERNAL MODULE: ../../node_modules/.pnpm/drizzle-orm@0.36.4_@libsql+client@0.14.0_@types+better-sqlite3@7.6.13_@types+react@18.3.28_be_bhyfo6jtf7gmzt2fsdpal3g2vq/node_modules/drizzle-orm/sqlite-core/columns/real.js var real = __webpack_require__(8470); // EXTERNAL MODULE: ../../node_modules/.pnpm/drizzle-orm@0.36.4_@libsql+client@0.14.0_@types+better-sqlite3@7.6.13_@types+react@18.3.28_be_bhyfo6jtf7gmzt2fsdpal3g2vq/node_modules/drizzle-orm/sqlite-core/columns/text.js var columns_text = __webpack_require__(1513); ;// CONCATENATED MODULE: ../../node_modules/.pnpm/drizzle-orm@0.36.4_@libsql+client@0.14.0_@types+better-sqlite3@7.6.13_@types+react@18.3.28_be_bhyfo6jtf7gmzt2fsdpal3g2vq/node_modules/drizzle-orm/sqlite-core/columns/all.js function getSQLiteColumnBuilders() { return { blob: blob, customType: customType, integer: integer/* integer */.nd, numeric: numeric, real: real/* real */.x, text: columns_text/* text */.Qq }; } //# sourceMappingURL=all.js.map ;// CONCATENATED MODULE: ../../node_modules/.pnpm/drizzle-orm@0.36.4_@libsql+client@0.14.0_@types+better-sqlite3@7.6.13_@types+react@18.3.28_be_bhyfo6jtf7gmzt2fsdpal3g2vq/node_modules/drizzle-orm/sqlite-core/table.js const InlineForeignKeys = Symbol.for("drizzle:SQLiteInlineForeignKeys"); class SQLiteTable extends drizzle_orm_table/* Table */.XI { static [entity/* entityKind */.i] = "SQLiteTable"; /** @internal */ static Symbol = Object.assign({}, drizzle_orm_table/* Table */.XI.Symbol, { InlineForeignKeys }); /** @internal */ [drizzle_orm_table/* Table */.XI.Symbol.Columns]; /** @internal */ [InlineForeignKeys] = []; /** @internal */ [drizzle_orm_table/* Table */.XI.Symbol.ExtraConfigBuilder] = void 0; } function sqliteTableBase(name, columns, extraConfig, schema, baseName = name) { const rawTable = new SQLiteTable(name, schema, baseName); const parsedColumns = typeof columns === "function" ? columns(getSQLiteColumnBuilders()) : columns; const builtColumns = Object.fromEntries( Object.entries(parsedColumns).map(([name2, colBuilderBase]) => { const colBuilder = colBuilderBase; colBuilder.setName(name2); const column = colBuilder.build(rawTable); rawTable[InlineForeignKeys].push(...colBuilder.buildForeignKeys(column, rawTable)); return [name2, column]; }) ); const table = Object.assign(rawTable, builtColumns); table[drizzle_orm_table/* Table */.XI.Symbol.Columns] = builtColumns; table[drizzle_orm_table/* Table */.XI.Symbol.ExtraConfigColumns] = builtColumns; if (extraConfig) { table[SQLiteTable.Symbol.ExtraConfigBuilder] = extraConfig; } return table; } const sqliteTable = (name, columns, extraConfig) => { return sqliteTableBase(name, columns, extraConfig); }; function sqliteTableCreator(customizeTableName) { return (name, columns, extraConfig) => { return sqliteTableBase(customizeTableName(name), columns, extraConfig, void 0, name); }; } //# sourceMappingURL=table.js.map /***/ }), /***/ 3853: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ DV: () => (/* binding */ haveSameKeys), /* harmony export */ He: () => (/* binding */ orderSelectedFields), /* harmony export */ Ll: () => (/* binding */ getColumnNameAndConfig), /* harmony export */ Lq: () => (/* binding */ isConfig), /* harmony export */ XJ: () => (/* binding */ applyMixins), /* harmony export */ YD: () => (/* binding */ getTableColumns), /* harmony export */ a6: () => (/* binding */ mapResultRow), /* harmony export */ q: () => (/* binding */ mapUpdateSet), /* harmony export */ zN: () => (/* binding */ getTableLikeName) /* harmony export */ }); /* harmony import */ var _column_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2345); /* harmony import */ var _entity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9724); /* harmony import */ var _sql_sql_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(183); /* harmony import */ var _subquery_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6453); /* harmony import */ var _table_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8407); /* harmony import */ var _view_common_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(6146); function mapResultRow(columns, row, joinsNotNullableMap) { const nullifyMap = {}; const result = columns.reduce( (result2, { path, field }, columnIndex) => { let decoder; if ((0,_entity_js__WEBPACK_IMPORTED_MODULE_0__.is)(field, _column_js__WEBPACK_IMPORTED_MODULE_1__/* .Column */ .V)) { decoder = field; } else if ((0,_entity_js__WEBPACK_IMPORTED_MODULE_0__.is)(field, _sql_sql_js__WEBPACK_IMPORTED_MODULE_2__/* .SQL */ .Xs)) { decoder = field.decoder; } else { decoder = field.sql.decoder; } let node = result2; for (const [pathChunkIndex, pathChunk] of path.entries()) { if (pathChunkIndex < path.length - 1) { if (!(pathChunk in node)) { node[pathChunk] = {}; } node = node[pathChunk]; } else { const rawValue = row[columnIndex]; const value = node[pathChunk] = rawValue === null ? null : decoder.mapFromDriverValue(rawValue); if (joinsNotNullableMap && (0,_entity_js__WEBPACK_IMPORTED_MODULE_0__.is)(field, _column_js__WEBPACK_IMPORTED_MODULE_1__/* .Column */ .V) && path.length === 2) { const objectName = path[0]; if (!(objectName in nullifyMap)) { nullifyMap[objectName] = value === null ? (0,_table_js__WEBPACK_IMPORTED_MODULE_3__/* .getTableName */ .Io)(field.table) : false; } else if (typeof nullifyMap[objectName] === "string" && nullifyMap[objectName] !== (0,_table_js__WEBPACK_IMPORTED_MODULE_3__/* .getTableName */ .Io)(field.table)) { nullifyMap[objectName] = false; } } } } return result2; }, {} ); if (joinsNotNullableMap && Object.keys(nullifyMap).length > 0) { for (const [objectName, tableName] of Object.entries(nullifyMap)) { if (typeof tableName === "string" && !joinsNotNullableMap[tableName]) { result[objectName] = null; } } } return result; } function orderSelectedFields(fields, pathPrefix) { return Object.entries(fields).reduce((result, [name, field]) => { if (typeof name !== "string") { return result; } const newPath = pathPrefix ? [...pathPrefix, name] : [name]; if ((0,_entity_js__WEBPACK_IMPORTED_MODULE_0__.is)(field, _column_js__WEBPACK_IMPORTED_MODULE_1__/* .Column */ .V) || (0,_entity_js__WEBPACK_IMPORTED_MODULE_0__.is)(field, _sql_sql_js__WEBPACK_IMPORTED_MODULE_2__/* .SQL */ .Xs) || (0,_entity_js__WEBPACK_IMPORTED_MODULE_0__.is)(field, _sql_sql_js__WEBPACK_IMPORTED_MODULE_2__/* .SQL */ .Xs.Aliased)) { result.push({ path: newPath, field }); } else if ((0,_entity_js__WEBPACK_IMPORTED_MODULE_0__.is)(field, _table_js__WEBPACK_IMPORTED_MODULE_3__/* .Table */ .XI)) { result.push(...orderSelectedFields(field[_table_js__WEBPACK_IMPORTED_MODULE_3__/* .Table */ .XI.Symbol.Columns], newPath)); } else { result.push(...orderSelectedFields(field, newPath)); } return result; }, []); } function haveSameKeys(left, right) { const leftKeys = Object.keys(left); const rightKeys = Object.keys(right); if (leftKeys.length !== rightKeys.length) { return false; } for (const [index, key] of leftKeys.entries()) { if (key !== rightKeys[index]) { return false; } } return true; } function mapUpdateSet(table, values) { const entries = Object.entries(values).filter(([, value]) => value !== void 0).map(([key, value]) => { if ((0,_entity_js__WEBPACK_IMPORTED_MODULE_0__.is)(value, _sql_sql_js__WEBPACK_IMPORTED_MODULE_2__/* .SQL */ .Xs) || (0,_entity_js__WEBPACK_IMPORTED_MODULE_0__.is)(value, _column_js__WEBPACK_IMPORTED_MODULE_1__/* .Column */ .V)) { return [key, value]; } else { return [key, new _sql_sql_js__WEBPACK_IMPORTED_MODULE_2__/* .Param */ .Iw(value, table[_table_js__WEBPACK_IMPORTED_MODULE_3__/* .Table */ .XI.Symbol.Columns][key])]; } }); if (entries.length === 0) { throw new Error("No values to set"); } return Object.fromEntries(entries); } function applyMixins(baseClass, extendedClasses) { for (const extendedClass of extendedClasses) { for (const name of Object.getOwnPropertyNames(extendedClass.prototype)) { if (name === "constructor") continue; Object.defineProperty( baseClass.prototype, name, Object.getOwnPropertyDescriptor(extendedClass.prototype, name) || /* @__PURE__ */ Object.create(null) ); } } } function getTableColumns(table) { return table[_table_js__WEBPACK_IMPORTED_MODULE_3__/* .Table */ .XI.Symbol.Columns]; } function getTableLikeName(table) { return (0,_entity_js__WEBPACK_IMPORTED_MODULE_0__.is)(table, _subquery_js__WEBPACK_IMPORTED_MODULE_4__/* .Subquery */ .n) ? table._.alias : (0,_entity_js__WEBPACK_IMPORTED_MODULE_0__.is)(table, _sql_sql_js__WEBPACK_IMPORTED_MODULE_2__/* .View */ .Ss) ? table[_view_common_js__WEBPACK_IMPORTED_MODULE_5__/* .ViewBaseConfig */ .n].name : (0,_entity_js__WEBPACK_IMPORTED_MODULE_0__.is)(table, _sql_sql_js__WEBPACK_IMPORTED_MODULE_2__/* .SQL */ .Xs) ? void 0 : table[_table_js__WEBPACK_IMPORTED_MODULE_3__/* .Table */ .XI.Symbol.IsAlias] ? table[_table_js__WEBPACK_IMPORTED_MODULE_3__/* .Table */ .XI.Symbol.Name] : table[_table_js__WEBPACK_IMPORTED_MODULE_3__/* .Table */ .XI.Symbol.BaseName]; } function getColumnNameAndConfig(a, b) { return { name: typeof a === "string" && a.length > 0 ? a : "", config: typeof a === "object" ? a : b }; } const _ = {}; const __ = {}; function isConfig(data) { if (typeof data !== "object" || data === null) return false; if (data.constructor.name !== "Object") return false; if ("logger" in data) { const type = typeof data["logger"]; if (type !== "boolean" && (type !== "object" || typeof data["logger"]["logQuery"] !== "function") && type !== "undefined") return false; return true; } if ("schema" in data) { const type = typeof data["logger"]; if (type !== "object" && type !== "undefined") return false; return true; } if ("casing" in data) { const type = typeof data["logger"]; if (type !== "string" && type !== "undefined") return false; return true; } if ("mode" in data) { if (data["mode"] !== "default" || data["mode"] !== "planetscale" || data["mode"] !== void 0) return false; return true; } if ("connection" in data) { const type = typeof data["connection"]; if (type !== "string" && type !== "object" && type !== "undefined") return false; return true; } if ("client" in data) { const type = typeof data["client"]; if (type !== "object" && type !== "function" && type !== "undefined") return false; return true; } if (Object.keys(data).length === 0) return true; return false; } //# sourceMappingURL=utils.js.map /***/ }), /***/ 1377: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // EXPORTS __webpack_require__.d(__webpack_exports__, { agentPermissions: () => (/* binding */ agentPermissions), agenticHoursLocal: () => (/* binding */ agenticHoursLocal), agents: () => (/* binding */ agents), detectionResults: () => (/* binding */ detectionResults), gatewayActivity: () => (/* binding */ gatewayActivity), magicLinks: () => (/* binding */ magicLinks), policies: () => (/* binding */ policies), scannerDefinitions: () => (/* binding */ scannerDefinitions), settings: () => (/* binding */ settings), toolCallObservations: () => (/* binding */ toolCallObservations), usageLogs: () => (/* binding */ usageLogs), userSessions: () => (/* binding */ userSessions) }); // EXTERNAL MODULE: ../../node_modules/.pnpm/drizzle-orm@0.36.4_@libsql+client@0.14.0_@types+better-sqlite3@7.6.13_@types+react@18.3.28_be_bhyfo6jtf7gmzt2fsdpal3g2vq/node_modules/drizzle-orm/sqlite-core/table.js + 4 modules var table = __webpack_require__(2084); // EXTERNAL MODULE: ../../node_modules/.pnpm/drizzle-orm@0.36.4_@libsql+client@0.14.0_@types+better-sqlite3@7.6.13_@types+react@18.3.28_be_bhyfo6jtf7gmzt2fsdpal3g2vq/node_modules/drizzle-orm/sqlite-core/columns/text.js var columns_text = __webpack_require__(1513); // EXTERNAL MODULE: ../../node_modules/.pnpm/drizzle-orm@0.36.4_@libsql+client@0.14.0_@types+better-sqlite3@7.6.13_@types+react@18.3.28_be_bhyfo6jtf7gmzt2fsdpal3g2vq/node_modules/drizzle-orm/entity.js var entity = __webpack_require__(9724); ;// CONCATENATED MODULE: ../../node_modules/.pnpm/drizzle-orm@0.36.4_@libsql+client@0.14.0_@types+better-sqlite3@7.6.13_@types+react@18.3.28_be_bhyfo6jtf7gmzt2fsdpal3g2vq/node_modules/drizzle-orm/sqlite-core/indexes.js class IndexBuilderOn { constructor(name, unique) { this.name = name; this.unique = unique; } static [entity/* entityKind */.i] = "SQLiteIndexBuilderOn"; on(...columns) { return new IndexBuilder(this.name, columns, this.unique); } } class IndexBuilder { static [entity/* entityKind */.i] = "SQLiteIndexBuilder"; /** @internal */ config; constructor(name, columns, unique) { this.config = { name, columns, unique, where: void 0 }; } /** * Condition for partial index. */ where(condition) { this.config.where = condition; return this; } /** @internal */ build(table) { return new Index(this.config, table); } } class Index { static [entity/* entityKind */.i] = "SQLiteIndex"; config; constructor(config, table) { this.config = { ...config, table }; } } function index(name) { return new IndexBuilderOn(name, false); } function uniqueIndex(name) { return new IndexBuilderOn(name, true); } //# sourceMappingURL=indexes.js.map // EXTERNAL MODULE: ../../node_modules/.pnpm/drizzle-orm@0.36.4_@libsql+client@0.14.0_@types+better-sqlite3@7.6.13_@types+react@18.3.28_be_bhyfo6jtf7gmzt2fsdpal3g2vq/node_modules/drizzle-orm/sqlite-core/columns/integer.js var integer = __webpack_require__(6654); // EXTERNAL MODULE: ../../node_modules/.pnpm/drizzle-orm@0.36.4_@libsql+client@0.14.0_@types+better-sqlite3@7.6.13_@types+react@18.3.28_be_bhyfo6jtf7gmzt2fsdpal3g2vq/node_modules/drizzle-orm/sqlite-core/columns/real.js var real = __webpack_require__(8470); ;// CONCATENATED MODULE: ../../packages/db/dist/schema/sqlite.js // ─── Settings ───────────────────────────────────────────────── const settings = (0,table/* sqliteTable */.D)("settings", { key: (0,columns_text/* text */.Qq)("key").primaryKey(), value: (0,columns_text/* text */.Qq)("value").notNull(), updatedAt: (0,columns_text/* text */.Qq)("updated_at").notNull().$defaultFn(() => new Date().toISOString()), }); // ─── Agents ───────────────────────────────────────────────────── const agents = (0,table/* sqliteTable */.D)("agents", { id: (0,columns_text/* text */.Qq)("id").primaryKey().$defaultFn(() => crypto.randomUUID()), tenantId: (0,columns_text/* text */.Qq)("tenant_id").notNull().default("default"), name: (0,columns_text/* text */.Qq)("name").notNull(), description: (0,columns_text/* text */.Qq)("description"), provider: (0,columns_text/* text */.Qq)("provider").notNull().default("custom"), status: (0,columns_text/* text */.Qq)("status").notNull().default("inactive"), lastSeenAt: (0,columns_text/* text */.Qq)("last_seen_at"), metadata: (0,columns_text/* text */.Qq)("metadata", { mode: "json" }).notNull().default({}), createdAt: (0,columns_text/* text */.Qq)("created_at").notNull().$defaultFn(() => new Date().toISOString()), updatedAt: (0,columns_text/* text */.Qq)("updated_at").notNull().$defaultFn(() => new Date().toISOString()), }, (table) => ({ statusIdx: index("idx_agents_status").on(table.status), tenantIdIdx: index("idx_agents_tenant_id").on(table.tenantId), })); // ─── Scanner Definitions ──────────────────────────────────────── const scannerDefinitions = (0,table/* sqliteTable */.D)("scanner_definitions", { id: (0,columns_text/* text */.Qq)("id").primaryKey().$defaultFn(() => crypto.randomUUID()), tenantId: (0,columns_text/* text */.Qq)("tenant_id").notNull().default("default"), scannerId: (0,columns_text/* text */.Qq)("scanner_id").notNull(), name: (0,columns_text/* text */.Qq)("name").notNull(), description: (0,columns_text/* text */.Qq)("description").notNull(), config: (0,columns_text/* text */.Qq)("config", { mode: "json" }).notNull().default({}), isEnabled: (0,integer/* integer */.nd)("is_enabled", { mode: "boolean" }).notNull().default(true), isDefault: (0,integer/* integer */.nd)("is_default", { mode: "boolean" }).notNull().default(false), }, (table) => ({ scannerIdIdx: index("idx_scanner_defs_scanner_id").on(table.scannerId), tenantIdIdx: index("idx_scanner_defs_tenant_id").on(table.tenantId), })); // ─── Policies ─────────────────────────────────────────────────── const policies = (0,table/* sqliteTable */.D)("policies", { id: (0,columns_text/* text */.Qq)("id").primaryKey().$defaultFn(() => crypto.randomUUID()), tenantId: (0,columns_text/* text */.Qq)("tenant_id").notNull().default("default"), name: (0,columns_text/* text */.Qq)("name").notNull(), description: (0,columns_text/* text */.Qq)("description"), scannerIds: (0,columns_text/* text */.Qq)("scanner_ids", { mode: "json" }).notNull().default([]), action: (0,columns_text/* text */.Qq)("action").notNull().default("log"), sensitivityThreshold: (0,real/* real */.x)("sensitivity_threshold").notNull().default(0.5), isEnabled: (0,integer/* integer */.nd)("is_enabled", { mode: "boolean" }).notNull().default(true), createdAt: (0,columns_text/* text */.Qq)("created_at").notNull().$defaultFn(() => new Date().toISOString()), updatedAt: (0,columns_text/* text */.Qq)("updated_at").notNull().$defaultFn(() => new Date().toISOString()), }, (table) => ({ tenantIdIdx: index("idx_policies_tenant_id").on(table.tenantId), })); // ─── Usage Logs ───────────────────────────────────────────────── const usageLogs = (0,table/* sqliteTable */.D)("usage_logs", { id: (0,columns_text/* text */.Qq)("id").primaryKey().$defaultFn(() => crypto.randomUUID()), tenantId: (0,columns_text/* text */.Qq)("tenant_id").notNull().default("default"), agentId: (0,columns_text/* text */.Qq)("agent_id"), endpoint: (0,columns_text/* text */.Qq)("endpoint").notNull(), statusCode: (0,integer/* integer */.nd)("status_code").notNull(), responseSafe: (0,integer/* integer */.nd)("response_safe", { mode: "boolean" }), categories: (0,columns_text/* text */.Qq)("categories", { mode: "json" }).notNull().default([]), latencyMs: (0,integer/* integer */.nd)("latency_ms").notNull(), requestId: (0,columns_text/* text */.Qq)("request_id").notNull(), createdAt: (0,columns_text/* text */.Qq)("created_at").notNull().$defaultFn(() => new Date().toISOString()), }, (table) => ({ agentIdIdx: index("idx_usage_logs_agent_id").on(table.agentId), createdAtIdx: index("idx_usage_logs_created_at").on(table.createdAt), tenantIdIdx: index("idx_usage_logs_tenant_id").on(table.tenantId), })); // ─── Detection Results ────────────────────────────────────────── const detectionResults = (0,table/* sqliteTable */.D)("detection_results", { id: (0,columns_text/* text */.Qq)("id").primaryKey().$defaultFn(() => crypto.randomUUID()), tenantId: (0,columns_text/* text */.Qq)("tenant_id").notNull().default("default"), agentId: (0,columns_text/* text */.Qq)("agent_id"), safe: (0,integer/* integer */.nd)("safe", { mode: "boolean" }).notNull(), categories: (0,columns_text/* text */.Qq)("categories", { mode: "json" }).notNull().default([]), sensitivityScore: (0,real/* real */.x)("sensitivity_score").notNull().default(0), findings: (0,columns_text/* text */.Qq)("findings", { mode: "json" }).notNull().default([]), latencyMs: (0,integer/* integer */.nd)("latency_ms").notNull(), requestId: (0,columns_text/* text */.Qq)("request_id").notNull(), // Static scan fields scanType: (0,columns_text/* text */.Qq)("scan_type").notNull().default("dynamic"), // "static" or "dynamic" filePath: (0,columns_text/* text */.Qq)("file_path"), // Relative path from workspace for static scans fileType: (0,columns_text/* text */.Qq)("file_type"), // "soul", "agent", "memory", "task", "skill", "plugin", "other" createdAt: (0,columns_text/* text */.Qq)("created_at").notNull().$defaultFn(() => new Date().toISOString()), }, (table) => ({ agentIdIdx: index("idx_detection_results_agent_id").on(table.agentId), createdAtIdx: index("idx_detection_results_created_at").on(table.createdAt), tenantIdIdx: index("idx_detection_results_tenant_id").on(table.tenantId), scanTypeIdx: index("idx_detection_results_scan_type").on(table.scanType), })); // ─── Tool Call Observations ───────────────────────────────────── const toolCallObservations = (0,table/* sqliteTable */.D)("tool_call_observations", { id: (0,columns_text/* text */.Qq)("id").primaryKey().$defaultFn(() => crypto.randomUUID()), tenantId: (0,columns_text/* text */.Qq)("tenant_id").notNull().default("default"), agentId: (0,columns_text/* text */.Qq)("agent_id").notNull(), sessionKey: (0,columns_text/* text */.Qq)("session_key"), toolName: (0,columns_text/* text */.Qq)("tool_name").notNull(), category: (0,columns_text/* text */.Qq)("category"), accessPattern: (0,columns_text/* text */.Qq)("access_pattern"), paramsJson: (0,columns_text/* text */.Qq)("params_json", { mode: "json" }), phase: (0,columns_text/* text */.Qq)("phase").notNull(), resultJson: (0,columns_text/* text */.Qq)("result_json", { mode: "json" }), error: (0,columns_text/* text */.Qq)("error"), durationMs: (0,integer/* integer */.nd)("duration_ms"), blocked: (0,integer/* integer */.nd)("blocked", { mode: "boolean" }).notNull().default(false), blockReason: (0,columns_text/* text */.Qq)("block_reason"), timestamp: (0,columns_text/* text */.Qq)("timestamp").notNull().$defaultFn(() => new Date().toISOString()), }, (table) => ({ agentIdIdx: index("idx_tool_obs_agent_id").on(table.agentId), toolNameIdx: index("idx_tool_obs_tool_name").on(table.toolName), timestampIdx: index("idx_tool_obs_timestamp").on(table.timestamp), tenantIdIdx: index("idx_tool_obs_tenant_id").on(table.tenantId), })); // ─── Magic Links ───────────────────────────────────────────── // One-time login tokens sent via email (15-min TTL) const magicLinks = (0,table/* sqliteTable */.D)("magic_links", { id: (0,columns_text/* text */.Qq)("id").primaryKey().$defaultFn(() => crypto.randomUUID()), email: (0,columns_text/* text */.Qq)("email").notNull(), token: (0,columns_text/* text */.Qq)("token").notNull().unique(), expiresAt: (0,columns_text/* text */.Qq)("expires_at").notNull(), usedAt: (0,columns_text/* text */.Qq)("used_at"), createdAt: (0,columns_text/* text */.Qq)("created_at").notNull().$defaultFn(() => new Date().toISOString()), }, (table) => ({ tokenIdx: index("idx_magic_links_token").on(table.token), emailIdx: index("idx_magic_links_email").on(table.email), })); // ─── User Sessions ──────────────────────────────────────────── // Persistent sessions created after magic link verification (30-day TTL) const userSessions = (0,table/* sqliteTable */.D)("user_sessions", { id: (0,columns_text/* text */.Qq)("id").primaryKey().$defaultFn(() => crypto.randomUUID()), email: (0,columns_text/* text */.Qq)("email").notNull(), token: (0,columns_text/* text */.Qq)("token").notNull().unique(), expiresAt: (0,columns_text/* text */.Qq)("expires_at").notNull(), createdAt: (0,columns_text/* text */.Qq)("created_at").notNull().$defaultFn(() => new Date().toISOString()), }, (table) => ({ tokenIdx: index("idx_user_sessions_token").on(table.token), emailIdx: index("idx_user_sessions_email").on(table.email), })); // ─── Gateway Activity ───────────────────────────────────────── // Records of gateway sanitization and restoration events const gatewayActivity = (0,table/* sqliteTable */.D)("gateway_activity", { id: (0,columns_text/* text */.Qq)("id").primaryKey().$defaultFn(() => crypto.randomUUID()), tenantId: (0,columns_text/* text */.Qq)("tenant_id").notNull().default("default"), eventId: (0,columns_text/* text */.Qq)("event_id").notNull(), // From gateway: gw-timestamp-counter-type requestId: (0,columns_text/* text */.Qq)("request_id").notNull(), // gw-timestamp-counter timestamp: (0,columns_text/* text */.Qq)("timestamp").notNull(), type: (0,columns_text/* text */.Qq)("type").notNull(), // "sanitize" or "restore" direction: (0,columns_text/* text */.Qq)("direction").notNull(), // "request" or "response" backend: (0,columns_text/* text */.Qq)("backend").notNull(), // "openai", "anthropic", "gemini" endpoint: (0,columns_text/* text */.Qq)("endpoint").notNull(), // e.g., "/v1/chat/completions" model: (0,columns_text/* text */.Qq)("model"), redactionCount: (0,integer/* integer */.nd)("redaction_count").notNull().default(0), categories: (0,columns_text/* text */.Qq)("categories", { mode: "json" }).notNull().default({}), // { email: 2, secret: 1 } durationMs: (0,integer/* integer */.nd)("duration_ms"), createdAt: (0,columns_text/* text */.Qq)("created_at").notNull().$defaultFn(() => new Date().toISOString()), }, (table) => ({ requestIdIdx: index("idx_gateway_activity_request_id").on(table.requestId), timestampIdx: index("idx_gateway_activity_timestamp").on(table.timestamp), typeIdx: index("idx_gateway_activity_type").on(table.type), tenantIdIdx: index("idx_gateway_activity_tenant_id").on(table.tenantId), })); // ─── Agent Permissions ──────────────────────────────────────── const agentPermissions = (0,table/* sqliteTable */.D)("agent_permissions", { id: (0,columns_text/* text */.Qq)("id").primaryKey().$defaultFn(() => crypto.randomUUID()), tenantId: (0,columns_text/* text */.Qq)("tenant_id").notNull().default("default"), agentId: (0,columns_text/* text */.Qq)("agent_id").notNull(), toolName: (0,columns_text/* text */.Qq)("tool_name").notNull(), category: (0,columns_text/* text */.Qq)("category"), accessPattern: (0,columns_text/* text */.Qq)("access_pattern"), targetsJson: (0,columns_text/* text */.Qq)("targets_json", { mode: "json" }).notNull().default([]), callCount: (0,integer/* integer */.nd)("call_count").notNull().default(0), errorCount: (0,integer/* integer */.nd)("error_count").notNull().default(0), firstSeen: (0,columns_text/* text */.Qq)("first_seen").notNull().$defaultFn(() => new Date().toISOString()), lastSeen: (0,columns_text/* text */.Qq)("last_seen").notNull().$defaultFn(() => new Date().toISOString()), }, (table) => ({ agentIdIdx: index("idx_agent_perms_agent_id").on(table.agentId), toolNameIdx: index("idx_agent_perms_tool_name").on(table.toolName), tenantIdIdx: index("idx_agent_perms_tenant_id").on(table.tenantId), uniqueAgentTool: index("idx_agent_perms_unique").on(table.tenantId, table.agentId, table.toolName), })); // ─── Agentic Hours ────────────────────────────────────────────── // Daily aggregated duration metrics per agent const agenticHoursLocal = (0,table/* sqliteTable */.D)("agentic_hours_local", { id: (0,columns_text/* text */.Qq)("id").primaryKey().$defaultFn(() => crypto.randomUUID()), tenantId: (0,columns_text/* text */.Qq)("tenant_id").notNull().default("default"), agentId: (0,columns_text/* text */.Qq)("agent_id").notNull(), date: (0,columns_text/* text */.Qq)("date").notNull(), // YYYY-MM-DD toolCallDurationMs: (0,integer/* integer */.nd)("tool_call_duration_ms").notNull().default(0), llmDurationMs: (0,integer/* integer */.nd)("llm_duration_ms").notNull().default(0), totalDurationMs: (0,integer/* integer */.nd)("total_duration_ms").notNull().default(0), toolCallCount: (0,integer/* integer */.nd)("tool_call_count").notNull().default(0), llmCallCount: (0,integer/* integer */.nd)("llm_call_count").notNull().default(0), sessionCount: (0,integer/* integer */.nd)("session_count").notNull().default(0), blockCount: (0,integer/* integer */.nd)("block_count").notNull().default(0), riskEventCount: (0,integer/* integer */.nd)("risk_event_count").notNull().default(0), cr