astra-aigate v0.6.1
Bug-fix release for the self-hosted PostgreSQL run mode.
Fixed
-
Async proxy guards never awaited — the DatabaseAdapter PreparedStatement .get()/.all() returns a Promise, but the three proxy guards (hasBlockingProxyAssignment, hasBlockingProxyAssignmentForProvider, isGlobalProxyEnabled) consumed the results without await. The result: Promise was truthy, so every DIRECT-only provider was rejected with PROXY_ASSIGNED_UNAVAILABLE even with zero proxy-assignment rows, and the provider-level guard inverted the fault, never failing closed. Guards are now async and await every read through getAsyncDb(). The PG-mode scratch .raw is guarded too, so 'no such table: domain_budgets' no longer escapes as an unhandledRejection and loadCostTotal degrades to 0 instead of throwing.
-
Postgres dialect mangled datetime('now') on ON CONFLICT DO UPDATE RHS — rewriteConflictAssignments qualified every bare identifier on the right-hand side, so datetime('now') got a table prefix and was mis-translated into to_timestamp('user_levels.now'), making Postgres fail every gamification upsert with 'schema "user_levels" does not exist'. The qualifier now skips function calls (identifier followed by paren) and quoted strings, so NOW()/datetime('now') survive intact while bare-column sliding counters (consumed = consumed + EXCLUDED.consumed) still get the required table qualification.
Chore
- Version bump 0.6.0 -> 0.6.1 + CHANGELOG entry.