@useatlas/types
Advanced tools
+26
-0
@@ -73,2 +73,12 @@ import type { Percentage, Ratio } from "./percentage"; | ||
| throttleDelayMs: number; | ||
| /** | ||
| * Minimum dwell time at each level before the next escalation rung can fire. | ||
| * Without this, three consecutive over-threshold checks can walk a workspace | ||
| * from `none` → `warning` → `throttled` → `suspended` in milliseconds — a | ||
| * single failing-SQL burst suspends the workspace before warn/throttle have | ||
| * any chance to take effect. Authored in seconds via the env var; surfaced | ||
| * here in milliseconds to match the other duration on this object | ||
| * (`throttleDelayMs`). | ||
| */ | ||
| escalationCooldownMs: number; | ||
| } | ||
@@ -175,2 +185,18 @@ /** Live sliding-window counters for the admin detail panel. */ | ||
| counters: AbuseCounters; | ||
| /** | ||
| * Counters captured at the moment of the most recent escalation event for | ||
| * this flag instance. The live `counters` above reflect the sliding window | ||
| * *right now* — but a suspended workspace's window keeps pruning while | ||
| * `recordQueryEvent` short-circuits, so by the time an admin opens the | ||
| * investigation panel the live counters often read 0 queries / no error | ||
| * rate even though `level === "suspended"` and the trigger message shows | ||
| * "Error rate 75% exceeds threshold 50%". `triggerCounters` surfaces the | ||
| * frozen at-trigger snapshot so the admin sees what actually tripped the | ||
| * threshold, not a misleading post-prune zero row. | ||
| * | ||
| * Null when the current instance has no persisted events yet (in-memory | ||
| * state exists but `abuse_events` row hasn't been written, or the DB load | ||
| * failed — `eventsStatus` carries the explanation). | ||
| */ | ||
| triggerCounters: AbuseCounters | null; | ||
| thresholds: AbuseThresholdConfig; | ||
@@ -177,0 +203,0 @@ /** |
+18
-0
@@ -48,3 +48,21 @@ /** Migration bundle types — wire format for atlas export/import. */ | ||
| yamlContent: string; | ||
| /** | ||
| * Legacy connection scope. Retained for compatibility with bundles | ||
| * exported before #2340; new exports also populate | ||
| * `connectionGroupId` (additive). Removed alongside the column | ||
| * itself in a follow-on slice — see PRD #2336 §"Migration sequencing". | ||
| * | ||
| * @deprecated Prefer `connectionGroupId` when reading bundles from | ||
| * 1.4.4+ instances. | ||
| */ | ||
| connectionId: string | null; | ||
| /** | ||
| * Group scope (multi-environment semantic layer, #2340). One entity | ||
| * row per group — multi-member groups share the same definition. | ||
| * Optional during the wire-format transition: bundles exported by | ||
| * pre-1.4.4 instances omit the field. Consumers should resolve | ||
| * `connectionGroupId ?? null` and fall back to `connectionId` for | ||
| * legacy bundles. | ||
| */ | ||
| connectionGroupId?: string | null; | ||
| } | ||
@@ -51,0 +69,0 @@ /** Exported learned pattern. */ |
+1
-1
| { | ||
| "name": "@useatlas/types", | ||
| "version": "0.0.27", | ||
| "version": "0.0.28", | ||
| "description": "Shared types for the Atlas text-to-SQL agent", | ||
@@ -5,0 +5,0 @@ "type": "module", |
182948
1.3%4676
0.95%