UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

38 lines (37 loc) 2.12 kB
import { r as executeSqliteQuerySync } from "./kysely-sync-COmh4HWh.js"; import { T as ensureColumn } from "./openclaw-state-db-cache-C7ljO0xP.js"; import { K as FIRST_USE_ADDITIVE_AGENT_COLUMN_DEFINITIONS } from "./openclaw-agent-db-maintenance-wTIy-jt-.js"; import { g as runOpenClawAgentWriteTransaction } from "./openclaw-agent-db-CWtDoRbC.js"; import { c as resolveSqliteScope, i as getSessionKysely, m as toDatabaseOptions } from "./session-accessor.sqlite-scope-2KfMzb44.js"; import { j as hasSqliteSessionOwnerColumns, v as publishSessionEntryCacheInvalidation } from "./session-accessor.sqlite-transcript-state-DwF2owZS.js"; //#region src/config/sessions/session-accessor.sqlite-owner.ts function replaceSessionOwnerInTransaction(database, sessionKey, owner) { if (!hasSqliteSessionOwnerColumns(database.db)) { if (!owner?.actor.id) return false; for (const { columnName, dataType, tableName } of FIRST_USE_ADDITIVE_AGENT_COLUMN_DEFINITIONS) ensureColumn(database.db, tableName, `${columnName} ${dataType}`); } if (executeSqliteQuerySync(database.db, getSessionKysely(database.db).updateTable("session_nodes").set({ owner_actor_type: owner?.actor.type ?? null, owner_actor_id: owner?.actor.id ?? null, owner_assigned_by_type: owner?.assignedBy?.type ?? null, owner_assigned_by_id: owner?.assignedBy?.id ?? null, owner_assigned_at: owner?.assignedAt ?? null }).where("session_key", "=", sessionKey)).numAffectedRows !== 1n) return false; publishSessionEntryCacheInvalidation(database); return true; } function assignSessionOwner(scope, params) { const resolved = resolveSqliteScope(scope); const options = toDatabaseOptions(resolved); const owner = { actor: params.owner, assignedBy: params.assignedBy, assignedAt: params.assignedAt ?? Date.now() }; return runOpenClawAgentWriteTransaction((database) => { params.assertCurrent?.(); return replaceSessionOwnerInTransaction(database, resolved.sessionKey, owner); }, options, { operationLabel: "sessions.assign-owner" }) ? owner : null; } //#endregion export { replaceSessionOwnerInTransaction as n, assignSessionOwner as t };