//#region src/db/manage/scope-definitions.ts
/**
* Single source of truth for hierarchical scope column definitions.
*
* Everything else — TypeScript config types, WHERE clause helpers, and
* compile-time table constraints — is derived from these key arrays.
*
* The schema column helpers (tenantScoped, projectScoped, etc.) in
* manage-schema.ts define the Drizzle columns using the same key names.
* If a key is added or removed here, the schema columns and all
* downstream consumers (types, query helpers) must be updated together —
* but now they'll fail at compile time instead of silently drifting.
*/
const SCOPE_KEYS = {
	tenant: ["tenantId"],
	project: ["tenantId", "projectId"],
	agent: [
		"tenantId",
		"projectId",
		"agentId"
	],
	subAgent: [
		"tenantId",
		"projectId",
		"agentId",
		"subAgentId"
	],
	tool: [
		"tenantId",
		"projectId",
		"toolId"
	]
};

//#endregion
export { SCOPE_KEYS };