{"version":3,"sources":["../../src/core/index.ts","../../src/results.ts","../../src/ports.ts","../../src/core/defaultErrorSink.ts","../../src/core/guards.ts","../../src/entity-types.generated.ts","../../src/core/rpcResult.ts","../../src/core/pluralizeLabel.ts","../../src/record-store-nouns.ts","../../src/entity-type-metadata.generated.ts","../../src/core/registry.ts","../../src/association-types.generated.ts","../../src/core/doors.ts","../../src/db/public.ts","../../src/core/associationsService.ts","../../src/core/categoriesService.ts","../../src/core/favoritesService.ts","../../src/core/candidates.ts","../../src/core/titles.ts","../../src/core/entityRows.ts","../../src/core/helpers.ts","../../src/core/commentsService.ts","../../src/core/store.ts","../../src/core/edgeClassifier.ts","../../src/core/categoryHierarchy.ts"],"sourcesContent":["// @ai-matrx/associations/core — the headless owns-persistence layer (W2).\n//\n// PURE by construction: no React runtime, no \"use client\" banner, no\n// module-level mutable state. One host call constructs everything:\n//\n//   const store = createAssociationsStore({ dataSource, identity, errorSink, … });\n//\n// Required ports throw at construction; optional ports degrade per their\n// documented contracts (never silently). The /react hooks (W3) ride this\n// store via useSyncExternalStore; a non-React consumer uses it directly.\n//\n// THERE IS NO BOOT PROBE (0.9.0). `assertDemandedSchema` is DELETED, not\n// merely off: it established that a demanded function exists by CALLING it —\n// all 26, fourteen of them WRITES — with sentinel arguments. A wrong database\n// still announces itself, at the moment it matters: `mapPgError` turns\n// PostgREST's PGRST202 (function not found) into the `demanded_schema_violation`\n// scream, with a remedy, at every real call site. See CHANGELOG 0.9.0.\n\nexport {\n  createAssociationsStore,\n  associationsKey,\n  type AssociationsStore,\n  type AssociationWriteResult,\n  type CategoryMutationResult,\n  type CommentMutationResult,\n} from \"./store\";\n\nexport {\n  createRpcResultHelpers,\n  ok,\n  err,\n  type RpcResultHelpers,\n  type PgErrorMapper,\n} from \"./rpcResult\";\n\nexport {\n  createAssociationGuards,\n  firstError,\n  type AssociationGuards,\n} from \"./guards\";\n\nexport {\n  createEntityRegistry,\n  resolveEntityToken,\n  isContentRole,\n  DEFAULT_OWNER_COLUMN,\n  DEFAULT_ORG_COLUMN,\n  type ContentRole,\n  type EntityInfo,\n  type EntityRegistry,\n} from \"./registry\";\n\nexport {\n  NON_CONTENT_SOURCE_TYPES,\n  isContentSourceEdge,\n  isMembershipMetadata,\n} from \"./edgeClassifier\";\n\nexport {\n  createAssociationsService,\n  ASSOC_ADD_MANY_CHUNK,\n  type AssociationsServiceApi,\n  type AddAssociationArgs,\n  type ConversationFileLink,\n} from \"./associationsService\";\n\nexport {\n  createCategoriesService,\n  type CategoriesServiceApi,\n} from \"./categoriesService\";\n\nexport {\n  buildCategoryHierarchy,\n  type CategoryHierarchy,\n  type CategoryHierarchyItem,\n} from \"./categoryHierarchy\";\n\nexport {\n  createFavoritesService,\n  type FavoritesServiceApi,\n} from \"./favoritesService\";\n\nexport {\n  createCandidatesService,\n  type CandidatesServiceApi,\n  type CandidateRecord,\n  type CandidatesResult,\n  type ListCandidatesArgs,\n  type SearchAcrossTokensArgs,\n  type SearchAcrossTokensResult,\n  type TokenSearchFailure,\n  type UniversalCandidate,\n} from \"./candidates\";\n\nexport {\n  createTitlesService,\n  entityTitleCacheKey,\n  type TitlesServiceApi,\n} from \"./titles\";\n\nexport {\n  createEntityRowsService,\n  type EntityRowsServiceApi,\n  type EntityRowResult,\n  type CreateEntityRowArgs,\n} from \"./entityRows\";\n\nexport {\n  createAssociationHelpers,\n  type AssociationHelpersApi,\n  type EntityRef,\n  type ContainerRef,\n  type EdgeAttrs,\n  type EdgeSpec,\n} from \"./helpers\";\n\nexport {\n  createCommentsService,\n  type CommentsServiceApi,\n  type AddCommentArgs,\n} from \"./commentsService\";\n\nexport type { CoreDeps } from \"./deps\";\nexport { createDefaultErrorSink } from \"./defaultErrorSink\";\nexport { pluralizeLabel } from \"./pluralizeLabel\";\n","// src/results.ts — @ai-matrx/associations\n//\n// The typed never-throw result envelope every service method in this package\n// returns — ported from matrx-frontend `features/scopes/types.ts`\n// (`ScopesRpcError*`, associations extraction W1, 2026-08-29) and renamed to\n// the package vocabulary. The runtime builders/mappers (`ok`/`err`/\n// `mapPgError` — the loud PG-error funnel) arrive with `/core` in W2; the\n// TYPES live at the root so ports and consumers can speak them with zero\n// runtime dependency.\n\nexport type AssociationsRpcErrorCode =\n  | \"unauthorized\"\n  | \"forbidden_org\"\n  | \"forbidden_role\"\n  | \"not_found\"\n  | \"conflict_in_use\"\n  | \"invalid_argument\"\n  | \"version_conflict\"\n  | \"quota_exceeded\"\n  /**\n   * THE DEMANDED-SCHEMA SCREAM. A PostgREST missing-function error (PGRST202)\n   * on any demanded RPC maps to this code: the database this client is\n   * pointed at does not run the schema this package demands (README front\n   * door). It always reaches the errorSink — one unambiguous scream, never a\n   * mystery toast — PGRST202 arrives as `demanded_schema_violation`.\n   */\n  | \"demanded_schema_violation\"\n  | \"internal\";\n\nexport interface AssociationsRpcError {\n  code: AssociationsRpcErrorCode;\n  message: string;\n  hint?: string;\n  detail?: unknown;\n}\n\nexport type AssociationsRpcResult<T> =\n  | { ok: true; data: T }\n  | { ok: false; error: AssociationsRpcError };\n\n/**\n * Type-guard narrowing helper for {@link AssociationsRpcResult}. Hosts running\n * with `strictNullChecks: false` lose TypeScript's default control-flow\n * narrowing for boolean discriminants (`if (!res.ok)` reverts to the wide\n * union) — this guard keeps both branches typed everywhere.\n */\nexport function isAssociationsRpcErr<T>(\n  r: AssociationsRpcResult<T>,\n): r is { ok: false; error: AssociationsRpcError } {\n  return r.ok === false;\n}\n\n/**\n * The structural shape of a PostgREST failure as supabase-js resolves it: a\n * PLAIN OBJECT parsed from the response body — NOT an `Error` instance.\n * (Reading `.message` off `instanceof Error` discards the real database\n * message on every genuine failure; `/core`'s mapper reads these fields.)\n */\nexport interface PgError {\n  code?: string | null;\n  message: string;\n  details?: string | null;\n  hint?: string | null;\n}\n","// src/ports.ts — @ai-matrx/associations\n//\n// THE SEVEN PORTS (design Decision 2) — the exact seams measured in the\n// matrx-frontend census (2026-08-29), inverted into typed injection points —\n// plus the W6 `authorDisplay` seam (the comments canonical UI, ruling C4).\n// One provider config, declared here, bound once per host\n// (`AssociationsProvider` in /react; `createAssociationsStore(cfg)` in /core —\n// both arrive in later waves; the TYPES are the wave-1 contract).\n//\n// Required ports throw at construction when absent — never degraded. Optional\n// ports each have a DEFINED degradation (the table in\n// ASSOCIATIONS-PACKAGE-DESIGN.md Decision 2); \"the feature silently doesn't\n// work\" is never one of them.\n//\n// React appears as TYPE-ONLY imports (optional peer): this module is\n// import-inert and legal in any graph, server components included.\n\nimport type { ComponentType, ReactNode } from \"react\";\n\nimport type { SupabaseLike } from \"@ai-matrx/data/db\";\nimport type { EntityTypeToken } from \"./entity-types.generated\";\n\n// ─── required ports (absence throws at construction) ────────────────────────\n\n/**\n * The data seam — a structural subset of `SupabaseClient<Database>`: any\n * client that can answer the demanded RPC families (README § The demanded\n * schema). The package IS data operations; there is no degraded mode without\n * one. `PromiseLike` because supabase-js returns a thenable builder, not a\n * `Promise`.\n *\n * 🚨 SINCE 0.14.0 THE PORT IS THE HOST'S SUPABASE CLIENT ITSELF (`@ai-matrx/data`'s structural\n * `SupabaseLike`: `schema(name).rpc(...)`). Every call goes through data's generated\n * function doors (`src/db/public.ts`); the four edge lists are read COMPLETE (paged by\n * the package — a host no longer pages them). Pass `supabase`, not an `{ rpc }` wrapper.\n *\n * 🚨 RPC AND NOTHING ELSE (DOORS-ONLY-4, 2026-09-21). This port used to carry\n * OPTIONAL `from`/`schema` table surfaces, used by exactly one service —\n * entity-row create/rename, which wrote the registered entity's backing table\n * directly. The doors-only ruling (`platform` and `iam` are not client-writable;\n * every write goes through a named SECURITY DEFINER door) made that path answer\n * `42501` on every closed table, so it now calls `entity_row_create` /\n * `entity_row_rename` like every other operation. With its one reader gone the\n * two optional members were a port nobody reads — removed rather than left as a\n * seam a future write could quietly reach for.\n */\nexport type AssociationsDataSource = SupabaseLike;\n\n/**\n * An `{ rpc }`-only client (a host bridge that forwards public-schema function calls, the shape\n * every host passed before 0.14.0). ACCEPTED AGAIN since 0.14.5: 0.14.0 refused it at\n * construction and every agent-catalog host with a bridge crashed (\"the REQUIRED dataSource port\n * is missing\"). The store adapts it — `schema(\"public\").rpc` is its `rpc` — so a caller cannot hit\n * that crash. Every function this package calls is a `public` one (`src/db/public.ts`); any other\n * schema, or a table read, is refused ALOUD by the adapter, never answered silently.\n */\nexport interface AssociationsRpcOnlyDataSource {\n  rpc(fn: string, args?: Record<string, unknown>, opts?: { count?: \"exact\" | \"planned\" | \"estimated\" }): PromiseLike<any>;\n}\n\n/**\n * The one normalizer: a supabase-shaped client passes through untouched; an `{ rpc }`-only client\n * is wrapped so `schema(\"public\")` answers with its `rpc`. Anything else returns `null` (the store\n * throws its REQUIRED-port error).\n */\nexport function asAssociationsDataSource(source: unknown): AssociationsDataSource | null {\n  const s = source as { schema?: unknown; rpc?: unknown } | null | undefined;\n  if (!s || typeof s !== \"object\") return null;\n  if (typeof s.schema === \"function\") return s as AssociationsDataSource;\n  if (typeof s.rpc !== \"function\") return null;\n  const rpcOnly = s as AssociationsRpcOnlyDataSource;\n  const rpc = (fn: string, args?: Record<string, unknown>, opts?: { count?: \"exact\" | \"planned\" | \"estimated\" }) =>\n    rpcOnly.rpc(fn, args, opts);\n  return {\n    schema(name: string) {\n      if (name !== \"public\") {\n        throw new Error(`@ai-matrx/associations: an { rpc }-only dataSource answers the public schema's functions only (asked for schema ${name}); pass the supabase-js client itself`);\n      }\n      return {\n        rpc,\n        from(table: string): never {\n          throw new Error(`@ai-matrx/associations: an { rpc }-only dataSource answers functions only, never a table (asked for ${table}); pass the supabase-js client itself`);\n        },\n      };\n    },\n  };\n}\n\n/**\n * The identity seam — today a store-singleton read (`requireUserId`) plus the\n * org resolver `CategoryTagPicker` uses for created rows. `requireUserId`\n * failures stay LOUD (`Not authenticated`) — never silently anonymous.\n */\nexport interface AssociationsIdentity {\n  requireUserId(): string;\n  /** Org for created rows/edges (the CategoryTagPicker create path). */\n  ensureOrgId?(): Promise<string>;\n  /**\n   * Whether the client's database session is attached right now. A 42501\n   * \"permission denied for function\" from a demanded door means the request\n   * went out anonymous (an ended or expired session) — UNLESS the session is\n   * attached, when it is a real grant gap. Absent → treated as not attached.\n   */\n  sessionAttached?(): boolean;\n}\n\n/**\n * The scream seam. Every degraded path, every `demanded_schema_violation`,\n * every create-then-attach partial failure reports here regardless of\n * notifier availability.\n *\n * DEFAULT (0.6.0, C23): absent → `createDefaultErrorSink()` — a tagged\n * `console.error` per event that announces ONCE that no sink is bound and\n * names the remedy. A host with a diagnostics surface binds its own.\n */\nexport type ErrorSink = (event: {\n  code: string;\n  message: string;\n  context?: object;\n}) => void;\n\n// ─── optional ports (each with a defined degradation) ───────────────────────\n\n/**\n * Per-token host overlay — the code-native values the DB registry cannot\n * carry (today: the 804-line ENTITY_OVERLAY literal in matrx-frontend's\n * entityRegistry). EVERY field optional; absence degrades per field:\n * convention columns, default icon, `${label}s`, no door, generic\n * titleColumn candidate read. A `reference_pickable` token with no title\n * column and no override is screamed to the errorSink, never shown broken.\n */\nexport interface EntityOverlayEntry {\n  /** Icon component (host-supplied; packages never depend on an icon library). */\n  /** A component, never a bare ElementType: the app compiling this source may carry global JSX elements (react-three-fiber) that make a bare ElementType's props `never` (2026-10-22). */\n  Icon?: ComponentType<{ className?: string }>;\n  /** Plural label; default `${label}s`. */\n  labelPlural?: string;\n  /** Owner column override; default the \"created_by\" convention. */\n  ownerColumn?: string | null;\n  /** Org column override; default the \"organization_id\" convention. */\n  orgColumn?: string | null;\n  /** Route for this token's rows; absent → no open door (label renders plain). */\n  hrefFor?: (id: string) => string;\n  /**\n   * Candidate-list override for tokens whose backing table can't be read\n   * client-side (e.g. `data_store` — rag.* is not PostgREST-exposed);\n   * absent → the generic `reference_search_candidates` titleColumn read.\n   */\n  listCandidates?: (args: { search?: string; limit?: number }) => Promise<\n    | { ok: true; data: { id: string; title: string }[] }\n    | { ok: false; error: string }\n  >;\n}\n\n/** The overlay registration map — bound per host, merged over the generated registry. */\nexport type EntityOverlayMap = Partial<\n  Record<EntityTypeToken, EntityOverlayEntry>\n>;\n\n/**\n * The user-notification seam (today: `@/lib/toast` in 6 components).\n * Optional — /react warns once when absent. Every user-facing failure ALSO\n * routes to the errorSink + the component's inline error state, so the\n * create-then-associate loud-outcome law is satisfied structurally, not by\n * toast availability.\n */\nexport interface AssociationsNotifier {\n  success(msg: string): void;\n  error(\n    msg: string,\n    opts?: {\n      description?: string;\n      action?: { label: string; onClick(): void };\n    },\n  ): void;\n}\n\n/**\n * The window seam.\n *\n * DEFAULT (0.6.0, C23): absent → `DefaultWindowShell`, the package's OWN\n * window — draggable, resizable, maximizable, viewport-clamped, portalled,\n * non-modal, mobile bottom-card. Not a degradation; the shipped default.\n * A host binds this port only when its own window MANAGER (tray docking,\n * workspace persistence, cross-window z-order) must own the surface.\n */\nexport interface WindowShellPort {\n  Window: ComponentType<{\n    id: string;\n    title: string;\n    onClose(): void;\n    children: ReactNode;\n  }>;\n}\n\n/** Options for {@link CapturePort.requestUpload} (measured: uploadGuardOpeners). */\nexport interface CaptureUploadOpts {\n  files: File[];\n  /** Logical cloud-files folder new uploads land in (auto-created). */\n  folderPath: string;\n  /** Publish the uploads to the web (the only anonymous lane; access ladder T-13). */\n  publishedToWeb?: boolean;\n  /** The \"Shown to\" list filter stamped on uploads (`only_me` · `my_team` · `everyone` · `everyone_on_ai_matrx`). */\n  shownTo?: CaptureShownTo;\n  /** The retiring level word, derived from the two words above for hosts not yet on them. */\n  visibility?: string; // T-13 transitional wire input\n}\n\n/** `platform.shown_to`: a list filter, never row security. */\nexport type CaptureShownTo = \"only_me\" | \"my_team\" | \"everyone\" | \"everyone_on_ai_matrx\";\n\n/** Honest outcome of a host upload — created-but-unlinked must be reportable. */\nexport interface CaptureUploadResult {\n  cancelled?: boolean;\n  uploaded: string[];\n  aliased: { existingFileId: string }[];\n  failed: { name: string; error: string }[];\n}\n\n/** Options for {@link CapturePort.openFilePicker} (measured: cloudFilesPickerOpeners). */\nexport interface CapturePickOpts {\n  multi?: boolean;\n  title?: string;\n  description?: string;\n}\n\n/**\n * The capture-toolbar seam. PER-HANDLER optional: the toolbar renders only\n * the chips it can actually honor; a chip with no path behind it is never\n * rendered dead. NEVER dead buttons.\n *\n * THE UPLOAD DEFAULT (0.6.0, C23): a host does NOT have to build an upload\n * flow. Bind the one-file primitive `uploadFile` and the package ships the\n * WHOLE flow over it — the file input, whole-body drag-and-drop, sequential\n * uploads, the stall watchdog, per-file outcomes, and the loud\n * created-but-unattached report. `requestUpload` stays for a host that owns\n * a richer pipeline (duplicate-alias dialogs, progress UI); when both are\n * bound `requestUpload` wins.\n */\nexport interface CapturePort {\n  /**\n   * The MINIMAL upload primitive: persist ONE file, answer with its id (or\n   * an honest error). Everything else — batching, drag-and-drop, progress\n   * state, failure copy — is the package's job.\n   */\n  uploadFile?(\n    file: File,\n    opts: Omit<CaptureUploadOpts, \"files\">,\n  ): Promise<{ ok: true; id: string } | { ok: false; error: string }>;\n  /** The full host upload pipeline. Wins over `uploadFile` when bound. */\n  requestUpload?(opts: CaptureUploadOpts): Promise<CaptureUploadResult>;\n  /** Resolves with picked file ids, or null/empty on cancel. */\n  openFilePicker?(opts: CapturePickOpts): Promise<string[] | null>;\n  /** Creates a document in the authoritative organization of this container. */\n  createDataTable?(opts: {\n    name: string;\n    organizationId: string;\n  }): Promise<{ id: string } | null>;\n}\n\n/**\n * Props of the generic association picker face — ALSO the contract a\n * per-token override component must implement (today: the hardcoded\n * `token === \"file\"` → FilePickerWindow branch in AssociationPicker becomes a\n * `registerPickerOverride(\"file\", …)` host binding). Ported verbatim from the\n * measured component.\n */\nexport interface AssociationPickerProps {\n  open: boolean;\n  onOpenChange: (open: boolean) => void;\n  token: EntityTypeToken;\n  /** Container display label, for the header (\"…to Titanium Marketing\"). */\n  containerLabel?: string;\n  /** Org stamped onto rows created by the \"+ New\" footer. */\n  orgId?: string | null;\n  /** Resource ids already attached to the container. */\n  attachedIds: Set<string>;\n  /** Attach a resource (returns ok/err so the row can surface failures). */\n  onAttach: (\n    resourceId: string,\n    title: string,\n  ) => Promise<{ ok: boolean; error?: string }>;\n  /** Detach a resource. */\n  onDetach: (resourceId: string) => Promise<{ ok: boolean; error?: string }>;\n  /**\n   * Filed-under mode: the primary is being FILED UNDER the picked items\n   * (`primary → item`), so the header says \"File … under\" not \"Attach to\".\n   */\n  filing?: boolean;\n}\n\n/** Per-token picker override map — absent tokens use the generic picker sheet. */\nexport type PickerOverrideMap = Partial<\n  Record<EntityTypeToken, ComponentType<AssociationPickerProps>>\n>;\n\n/**\n * Props the entity-doors port's `EntityRef` receives (the measured subset the\n * association faces pass today).\n */\nexport interface EntityRefProps {\n  token: string;\n  id: string;\n  name?: string | null;\n  showIcon?: boolean;\n  openInNewTab?: boolean;\n  alwaysShowActions?: boolean;\n  className?: string;\n}\n\n/** Props the entity-doors port's `DoorControls` receives. */\nexport interface EntityDoorProps {\n  token: string;\n  id: string;\n  name?: string | null;\n  className?: string;\n}\n\n/** What the authorDisplay port receives — one comment's denormalized author. */\nexport interface AuthorDisplayInput {\n  /** The auth user id (`created_by`), or null on an authorless legacy row. */\n  userId: string | null;\n  email: string | null;\n  displayName: string | null;\n  avatarUrl: string | null;\n}\n\n/**\n * The author-display seam (W6 comments UI). The package cannot resolve user\n * profiles itself — `cmt_list` denormalizes email/displayName/avatarUrl per\n * row, and a host with a richer profile store (presence, current names,\n * signed avatar URLs) overrides them here. Return `null` (or omit a field)\n * to keep the denormalized value.\n *\n * DEGRADATION (absent port): the RPC's denormalized fields render as-is;\n * a row with neither displayName nor email shows the package's\n * \"Unknown user\" label with the default initial avatar. Never blank, never\n * a crash.\n */\nexport type AuthorDisplayPort = (author: AuthorDisplayInput) => {\n  displayName?: string | null;\n  avatarUrl?: string | null;\n} | null;\n\n/**\n * The entity-doors seam (today: `EntityRef` / `EntityDoorControls` /\n * access-gate `UnresolvedEntityRef`). Absent → title text plus the overlay's\n * `hrefFor` link when present; unresolved rows render the package's plain\n * \"unavailable\" chip.\n */\nexport interface EntityDoorsPort {\n  EntityRef?: ComponentType<EntityRefProps>;\n  DoorControls?: ComponentType<EntityDoorProps>;\n  UnresolvedRef?: ComponentType<{ token: string; id: string }>;\n}\n\n// ─── the one provider config ────────────────────────────────────────────────\n\n/**\n * Everything a host binds, once. `createAssociationsStore(cfg)` (/core)\n * throws when `dataSource` or `identity` is missing — those two ARE the\n * host's app identity and cannot be defaulted. Every other port ships a\n * working default (C23) or degrades per its own documented contract, never\n * silently.\n */\nexport interface AssociationsConfig {\n  // required — TRUE app identity, the only two things a host must supply\n  dataSource: AssociationsDataSource | AssociationsRpcOnlyDataSource;\n  identity: AssociationsIdentity;\n  // optional — each has a SHIPPED DEFAULT or a documented degradation\n  errorSink?: ErrorSink;\n  entityOverlay?: EntityOverlayMap;\n  notifier?: AssociationsNotifier;\n  windowShell?: WindowShellPort;\n  capture?: CapturePort;\n  pickerOverrides?: PickerOverrideMap;\n  entityDoors?: EntityDoorsPort;\n  authorDisplay?: AuthorDisplayPort;\n}\n","// core/defaultErrorSink.ts — @ai-matrx/associations/core\n//\n// THE shipped default for the `errorSink` port (0.6.0, C23: every port ships\n// a working default). Before 0.6.0 `errorSink` was REQUIRED and a host that\n// had not yet built a diagnostics pipeline could not construct the store at\n// all — the package refused to work rather than shipping the obvious sink.\n//\n// The default obeys the platform's nothing-fails-silently law: every event\n// reaches `console.error` under a tagged prefix, WITH a remedy line naming\n// what the host should bind and where to look. It also announces ITSELF once\n// — an app running on the default sink is told, so \"nobody saw the error\"\n// can never be explained by \"we didn't know there was no sink\".\n//\n// A host with a real diagnostics surface (matrx-frontend's Error Inspector)\n// binds `errorSink` and this default steps aside entirely.\n\nimport type { ErrorSink } from \"../ports\";\n\nconst REMEDY =\n  \"Bind the `errorSink` port on createAssociationsStore({ errorSink }) to \" +\n  \"route these into your diagnostics surface; until then they only reach \" +\n  \"the console.\";\n\n/**\n * Build the default sink. `announce` is called once, on the first event, so\n * the absence of a bound sink is itself loud (never a silent substitution).\n */\nexport function createDefaultErrorSink(): ErrorSink {\n  let announced = false;\n  return (event) => {\n    if (!announced) {\n      announced = true;\n      console.error(\n        \"[associations] no errorSink port bound — using the package default. \" +\n          REMEDY,\n      );\n    }\n    console.error(\n      `[associations] ${event.code}: ${event.message}`,\n      event.context ?? {},\n    );\n  };\n}\n","// core/guards.ts — @ai-matrx/associations/core\n//\n// Pre-flight VALIDATION for the unified association edge — ported\n// behavior-verbatim from matrx-frontend\n// `features/scopes/service/associationGuards.ts` (associations extraction W2,\n// 2026-08-29). One seam inverted: the loud console.error scream becomes the\n// REQUIRED errorSink port, bound once via `createAssociationGuards(errorSink)`.\n//\n// Every write/read that goes through the services runs these guards BEFORE\n// the RPC fires, so the two classes of failure that keep biting surface as a\n// clean, described `invalid_argument` error at the callsite — never as an\n// opaque Postgres error chased through logs:\n//\n//   1. A non-UUID id — e.g. an agent passing a \"cute\" string literal instead\n//      of a real row uuid (`22P02` at the DB; caught here with field + value).\n//   2. An unregistered type token — the `source_type`/`target_type` FK to\n//      `platform.entity_types.token` is ENFORCED, so a guessed/phantom token\n//      throws `23503` there; the generated `isEntityTypeToken` set rejects it\n//      here with a clear message instead. This is also the WRITES-STRICT wall\n//      of the token-skew policy (C18): a token the installed vocabulary lacks\n//      fails here — upgrade the package, never widen to a raw string.\n//\n// LOUD by doctrine: a guard firing means a real code bug got this far, so it\n// reports to the errorSink (never silently swallowed) on its way to becoming\n// an `invalid_argument` result.\n\nimport { isUuidShape } from \"@ai-matrx/kit/uuid\";\n\nimport { isEntityTypeToken } from \"../entity-types.generated\";\nimport type { AssociationsRpcError } from \"../results\";\nimport type { ErrorSink } from \"../ports\";\n\n// The UUID predicates moved to `@ai-matrx/kit/uuid` on 2026-09-07 (duplication\n// census rows 6-8). The fleet had TWO predicates both called `isUuid` — this\n// LAX shape check, and a STRICT RFC-4122 one on six matrx-frontend API doors —\n// and the difference was invisible at the call site. They now live side by\n// side under names that say which is which (`isUuidShape` /\n// `isRfc4122Uuid`), in the package with no sibling dependencies that both an\n// association store and a Next.js route handler can reach. The guards below\n// want the LAX one: a v7 id, a nil UUID and a test fixture are all legitimate\n// association ids.\n\nfunction show(value: unknown): string {\n  if (typeof value === \"string\") return JSON.stringify(value);\n  if (value === null || value === undefined) return String(value);\n  return JSON.stringify(value);\n}\n\n/**\n * Canonical replacements for legacy/phantom entity-type tokens (matrx-frontend\n * FOUND_DEFECTS D27). These aliases were never registered in\n * `platform.entity_types` — writes with them always FK-failed — but they\n * leaked into association callsites and persisted UI state.\n * `normalizeEntityToken` maps them to the registered canonical token so the\n * whole class of failure is structurally impossible, and it SCREAMS (to the\n * errorSink) when it fires, because an alias reaching this chokepoint means a\n * callsite is still emitting a dead token.\n *\n * Do NOT add entries casually: the fix for a new unregistered token is to\n * register it (or use the right one at the callsite), not to alias it here.\n */\nconst LEGACY_ENTITY_TOKEN_ALIASES: Record<string, string> = {\n  cx_message: \"message\", // chat.message\n  cx_conversation: \"conversation\", // chat.conversation\n  user_file: \"file\", // files.files (mirrors war-room entityToSource)\n  agent_app: \"app\", // app.definition\n  // chat_block: a \"block\" is a slice of a chat message — the edge's id IS the\n  // message id (metadata.block_index carries the slice), so it maps to message.\n  chat_block: \"message\",\n};\n\n/** Return the first failing check, or null if all pass. Pure. */\nexport function firstError(\n  ...checks: (AssociationsRpcError | null)[]\n): AssociationsRpcError | null {\n  for (const c of checks) if (c) return c;\n  return null;\n}\n\nexport interface AssociationGuards {\n  /** A single id must be a real UUID. Kills the \"cute text id\" bug class. */\n  checkUuid(field: string, value: unknown): AssociationsRpcError | null;\n  /** Every id in an array must be a real UUID. */\n  checkUuidArray(\n    field: string,\n    values: readonly unknown[],\n  ): AssociationsRpcError | null;\n  /** A type token must be registered in `platform.entity_types`. */\n  checkToken(field: string, value: unknown): AssociationsRpcError | null;\n  /**\n   * Map a legacy/phantom token to its registered canonical token.\n   * Pass-through for anything not in the alias table. Loud by doctrine — the\n   * alias firing is a bug at the callsite, recovered here, never silent.\n   */\n  normalizeEntityToken(value: string): string;\n}\n\n/** Bind the guard set to the host's errorSink (the loud seam). */\nexport function createAssociationGuards(errorSink: ErrorSink): AssociationGuards {\n  function invalid(\n    field: string,\n    value: unknown,\n    reason: string,\n  ): AssociationsRpcError {\n    const message = `association ${field} ${reason} (got ${show(value)})`;\n    errorSink({\n      code: \"invalid_argument\",\n      message: `[associations] invalid argument — ${message}`,\n      context: { field },\n    });\n    return { code: \"invalid_argument\", message };\n  }\n\n  return {\n    checkUuid(field, value) {\n      return isUuidShape(value) ? null : invalid(field, value, \"must be a UUID\");\n    },\n\n    checkUuidArray(field, values) {\n      for (let i = 0; i < values.length; i++) {\n        if (!isUuidShape(values[i]))\n          return invalid(`${field}[${i}]`, values[i], \"must be a UUID\");\n      }\n      return null;\n    },\n\n    checkToken(field, value) {\n      if (typeof value !== \"string\" || value.length === 0)\n        return invalid(field, value, \"must be a non-empty entity-type token\");\n      if (!isEntityTypeToken(value))\n        return invalid(\n          field,\n          value,\n          \"is not a registered entity type (platform.entity_types) — \" +\n            \"add it to the registry + upgrade @ai-matrx/associations, never guess a token\",\n        );\n      return null;\n    },\n\n    normalizeEntityToken(value) {\n      const canonical = LEGACY_ENTITY_TOKEN_ALIASES[value];\n      if (canonical) {\n        errorSink({\n          code: \"legacy_token_alias\",\n          message:\n            `[associations] phantom entity token ${JSON.stringify(value)} mapped to ` +\n            `canonical ${JSON.stringify(canonical)} — fix the callsite to emit the ` +\n            `canonical token (FOUND_DEFECTS D27)`,\n          context: { value, canonical },\n        });\n        return canonical;\n      }\n      return value;\n    },\n  };\n}\n","// ─────────────────────────────────────────────────────────────────────────\n// AUTOGENERATED — DO NOT EDIT BY HAND.\n//\n// Source of truth: `platform.entity_types` (Supabase project brsgrqvjdzwihsvnfqkf).\n// Regenerate:      pnpm gen:entity-types   (in @ai-matrx/associations)\n// Verify drift:    pnpm check:entity-types\n//\n// 1269 active entity tokens. A token here is FK-valid for\n// `platform.associations.source_type` / `target_type` and any other column\n// referencing `platform.entity_types.token`. Add/retire tokens in the DB via a\n// migration, then regenerate and ship a PATCH release — NEVER hand-edit this\n// file (the next generate overwrites it) and NEVER widen a callsite to a raw\n// string to dodge a token that isn't here yet (writes are STRICT against the\n// installed vocabulary; upgrade the package instead).\n// ─────────────────────────────────────────────────────────────────────────\n\n/** Metadata mirrored from one `platform.entity_types` row. */\nexport interface EntityTypeMeta {\n  readonly token: EntityTypeToken;\n  /** Postgres schema the backing table lives in. */\n  readonly schema: string;\n  /** Backing table name. */\n  readonly table: string;\n  /** Human label from the registry. */\n  readonly label: string;\n  readonly baseTier: number;\n  /** A child/detail row (not a standalone first-class entity). */\n  readonly isComponent: boolean;\n  readonly isModule: boolean;\n  readonly isListed: boolean;\n  /** Whether the registry marks this type scopeable by default. */\n  readonly scopeable: boolean;\n  readonly category: string | null;\n  /** Offered as an allowed type for reference context items. */\n  readonly referencePickable: boolean;\n  /** Human title column for generic candidate pickers (null = not generically listable). */\n  readonly titleColumn: string | null;\n  /** Knowledge-model bucket: utility | source | destination | hybrid | container. */\n  readonly contentRole: string | null;\n  /** Admin-assigned chooser bucket (platform.reference_categories.slug); null = bucket by schema. */\n  readonly referenceCategory: string | null;\n}\n\n/**\n * EVERY registered entity token (the FK-valid set). Use this for any\n * `source_type` / `target_type` argument so an invalid token is a COMPILE error.\n */\nexport type EntityTypeToken =\n  | \"access_delta_probe\"\n  | \"access_delta_run\"\n  | \"access_request\"\n  | \"access_shadow_log\"\n  | \"access_version\"\n  | \"access_version_event\"\n  | \"account_addon\"\n  | \"account_closure\"\n  | \"account_facts\"\n  | \"acquisition_block\"\n  | \"activity\"\n  | \"admin_audit_log\"\n  | \"admin_email_log\"\n  | \"admin_markdown_sample\"\n  | \"admin_user\"\n  | \"admin_user_owned_resources_cache\"\n  | \"admission_config\"\n  | \"agent\"\n  | \"agent_card\"\n  | \"agent_definition_version\"\n  | \"agent_drift_alert\"\n  | \"agent_exemplar\"\n  | \"agent_mandate_note\"\n  | \"agent_prompt_block\"\n  | \"agent_prompt_block_variant\"\n  | \"agent_prompt_remediation\"\n  | \"agent_required_flag_change\"\n  | \"agent_run\"\n  | \"agent_run_stage\"\n  | \"agent_schedule\"\n  | \"agent_schedule_claim\"\n  | \"agent_shortcut\"\n  | \"agent_surface_binding\"\n  | \"agent_template\"\n  | \"agent_term_list\"\n  | \"agent_test_result\"\n  | \"agent_test_run\"\n  | \"agent_usage\"\n  | \"ai_api\"\n  | \"ai_calls\"\n  | \"ai_device_model_file\"\n  | \"ai_device_model_root\"\n  | \"ai_endpoint\"\n  | \"ai_media_generation_cache\"\n  | \"ai_model\"\n  | \"ai_model_alias\"\n  | \"ai_model_artifact\"\n  | \"ai_model_candidate\"\n  | \"ai_model_presentation\"\n  | \"ai_model_upstream\"\n  | \"ai_model_variant\"\n  | \"ai_model_verification_run\"\n  | \"ai_model_want\"\n  | \"ai_offering\"\n  | \"ai_person_model_want\"\n  | \"ai_provider\"\n  | \"ai_request_latency\"\n  | \"ai_runtime\"\n  | \"ai_runtime_build\"\n  | \"ai_runtime_compat\"\n  | \"ai_setting\"\n  | \"ai_setting_profile\"\n  | \"ai_translation_cell\"\n  | \"ai_usage_execution_facts\"\n  | \"ai_usage_executions\"\n  | \"ai_usage_hourly\"\n  | \"ai_usage_hourly_watermark\"\n  | \"analysis_result\"\n  | \"anon_form\"\n  | \"anon_form_password\"\n  | \"anon_form_visit\"\n  | \"anon_function_birth_grandfather\"\n  | \"anon_hit\"\n  | \"anon_inbound\"\n  | \"anon_replay\"\n  | \"anon_submission\"\n  | \"anon_token\"\n  | \"api_field_warning\"\n  | \"api_request_log\"\n  | \"app\"\n  | \"app_config\"\n  | \"app_config_history\"\n  | \"app_definition_version\"\n  | \"app_error\"\n  | \"app_execution\"\n  | \"app_instance\"\n  | \"app_log\"\n  | \"app_log_hourly\"\n  | \"app_log_hourly_watermark\"\n  | \"app_log_lines\"\n  | \"app_log_muted_pattern\"\n  | \"app_log_norm_exception\"\n  | \"app_log_requests_hourly\"\n  | \"app_rate_limit\"\n  | \"app_setting\"\n  | \"app_sync_status\"\n  | \"applet_visitor_binding\"\n  | \"approach\"\n  | \"artifact\"\n  | \"assessment\"\n  | \"assessment_item\"\n  | \"assessment_result\"\n  | \"assignment_session\"\n  | \"assist\"\n  | \"assist_producer_policy\"\n  | \"assist_producer_policy_history\"\n  | \"association_type\"\n  | \"assurance_level\"\n  | \"attempt\"\n  | \"attention_audience_rule\"\n  | \"attention_audit\"\n  | \"attention_item_state\"\n  | \"attention_showing\"\n  | \"audit_broken_functions\"\n  | \"audit_canonical_findings\"\n  | \"audit_exemption\"\n  | \"audit_function_deps\"\n  | \"audit_function_runtime_probe\"\n  | \"audit_m2m_candidates\"\n  | \"audit_refresh_log\"\n  | \"audit_stale_registry\"\n  | \"audit_unregistered_candidates\"\n  | \"automation_delivery\"\n  | \"automation_fired\"\n  | \"base_entity_template\"\n  | \"batch_cost_event\"\n  | \"batch_provider_batch\"\n  | \"batch_work_item\"\n  | \"billing_capability\"\n  | \"billing_capability_limit\"\n  | \"billing_ci_package_build\"\n  | \"billing_connect_account\"\n  | \"billing_coupon\"\n  | \"billing_coupon_redemption\"\n  | \"billing_customer\"\n  | \"billing_external_call_vendor\"\n  | \"billing_free_network_counter\"\n  | \"billing_free_period_grant\"\n  | \"billing_free_use_counter\"\n  | \"billing_hard_cost_reconciliation\"\n  | \"billing_held_run\"\n  | \"billing_org_payment_account\"\n  | \"billing_payment\"\n  | \"billing_payment_ask\"\n  | \"billing_plan\"\n  | \"billing_plan_limit\"\n  | \"billing_price\"\n  | \"billing_product\"\n  | \"billing_provider_balance_snapshot\"\n  | \"billing_spend_alarm\"\n  | \"billing_spend_alarm_occurrence\"\n  | \"billing_spend_approval\"\n  | \"billing_spend_guardrail\"\n  | \"billing_spend_hold\"\n  | \"billing_stripe_event\"\n  | \"billing_subscription\"\n  | \"billing_usage_ledger\"\n  | \"billing_usage_reset\"\n  | \"billing_user_plan\"\n  | \"block_state\"\n  | \"board\"\n  | \"browser_account_binding\"\n  | \"browser_action_event\"\n  | \"browser_authenticator_window\"\n  | \"browser_capture\"\n  | \"browser_control_request\"\n  | \"browser_handoff\"\n  | \"browser_login_attempt\"\n  | \"browser_login_recipe\"\n  | \"browser_profile\"\n  | \"browser_profile_checkpoint\"\n  | \"browser_run\"\n  | \"browser_site_observation\"\n  | \"browser_site_policy\"\n  | \"browser_stream_ticket\"\n  | \"build_lock\"\n  | \"calendar_event\"\n  | \"campaign_watch_ramp_gate_run\"\n  | \"campaign_watch_switch_outbox\"\n  | \"campaign_watch_switch_window\"\n  | \"canvas_comment\"\n  | \"canvas_comment_like\"\n  | \"canvas_item\"\n  | \"canvas_item_state\"\n  | \"canvas_like\"\n  | \"canvas_score\"\n  | \"canvas_view\"\n  | \"capture_window\"\n  | \"carrying_rule\"\n  | \"catalog_entries_history\"\n  | \"catalog_entry\"\n  | \"category\"\n  | \"change_item\"\n  | \"change_job\"\n  | \"change_job_row\"\n  | \"change_plan\"\n  | \"change_type_default\"\n  | \"change_work\"\n  | \"chat_user_usage_summary\"\n  | \"citations\"\n  | \"class_purchase\"\n  | \"classifier_revision_ledger\"\n  | \"client_callable_door\"\n  | \"client_callable_door_retirement\"\n  | \"client_excluded_column_unregistered\"\n  | \"cmp_entry\"\n  | \"cmp_feedback\"\n  | \"code_file\"\n  | \"code_folder\"\n  | \"code_repository\"\n  | \"coding_session\"\n  | \"coding_session_entry\"\n  | \"collab_checkpoint\"\n  | \"collab_op\"\n  | \"collab_room\"\n  | \"comment\"\n  | \"commerce_asset_allocation\"\n  | \"commerce_asset_grading\"\n  | \"commerce_asset_identifier\"\n  | \"commerce_asset_lot_event\"\n  | \"commerce_asset_mandate_result\"\n  | \"commerce_asset_price_factor\"\n  | \"commerce_asset_reshoot_request\"\n  | \"commerce_asset_review\"\n  | \"commerce_asset_unknown\"\n  | \"commerce_certified_printer\"\n  | \"commerce_cloud_sync_connection\"\n  | \"commerce_ebay_business_policy\"\n  | \"commerce_ebay_category\"\n  | \"commerce_ebay_category_aspect\"\n  | \"commerce_ebay_category_tree\"\n  | \"commerce_ebay_custom_policy\"\n  | \"commerce_ebay_inventory_item\"\n  | \"commerce_ebay_inventory_item_group\"\n  | \"commerce_ebay_inventory_item_group_member\"\n  | \"commerce_ebay_inventory_location\"\n  | \"commerce_ebay_listing\"\n  | \"commerce_ebay_marketplace_policy\"\n  | \"commerce_ebay_media_asset\"\n  | \"commerce_ebay_notification_destination\"\n  | \"commerce_ebay_notification_event\"\n  | \"commerce_ebay_notification_subscription\"\n  | \"commerce_ebay_notification_topic\"\n  | \"commerce_ebay_offer\"\n  | \"commerce_ebay_order\"\n  | \"commerce_ebay_order_line_item\"\n  | \"commerce_ebay_shipping_fulfillment\"\n  | \"commerce_ebay_store_category\"\n  | \"commerce_human_correction\"\n  | \"commerce_intake_artifact\"\n  | \"commerce_intake_asset\"\n  | \"commerce_intake_batch\"\n  | \"commerce_label_batch\"\n  | \"commerce_label_code\"\n  | \"commerce_marketplace_account\"\n  | \"commerce_marketplace_account_deletion_audit\"\n  | \"commerce_marketplace_api_call\"\n  | \"commerce_marketplace_rate_budget\"\n  | \"commerce_marketplace_site\"\n  | \"commerce_marketplace_sync_run\"\n  | \"commerce_prediction_outcome\"\n  | \"commerce_print_order\"\n  | \"commerce_product\"\n  | \"commerce_product_channel_ref\"\n  | \"commerce_product_media\"\n  | \"commerce_product_variant\"\n  | \"commerce_recall_audit\"\n  | \"communication_calendar_selected_snapshot_state\"\n  | \"communication_channel_readiness\"\n  | \"comparison_set\"\n  | \"computed_org_mark\"\n  | \"computed_reader_cols\"\n  | \"computed_reader_judgement\"\n  | \"config_manifest\"\n  | \"config_read_bucket\"\n  | \"contact_medium\"\n  | \"contact_submission\"\n  | \"content_certification\"\n  | \"content_ir_converter_definition\"\n  | \"content_ir_converter_run\"\n  | \"content_ir_kind\"\n  | \"content_ir_kind_component\"\n  | \"content_ir_kind_component_incident\"\n  | \"content_ir_kind_component_layer\"\n  | \"content_ir_kind_conformance\"\n  | \"content_ir_kind_edge\"\n  | \"content_ir_kind_example\"\n  | \"content_ir_kind_instance\"\n  | \"content_ir_kind_surface\"\n  | \"content_ir_render_inspection\"\n  | \"content_lane\"\n  | \"context_access_log\"\n  | \"context_item\"\n  | \"context_item_suggestion\"\n  | \"conversation\"\n  | \"conversation_value\"\n  | \"courts\"\n  | \"credential_attachment\"\n  | \"credential_item\"\n  | \"credential_mutation_receipt\"\n  | \"crm_address\"\n  | \"crm_affiliation\"\n  | \"crm_blocklist_entry\"\n  | \"crm_contact_candidate\"\n  | \"crm_deal\"\n  | \"crm_deal_stage_event\"\n  | \"crm_enrichment_call\"\n  | \"crm_interaction\"\n  | \"crm_merge_candidate\"\n  | \"crm_outreach_list\"\n  | \"crm_outreach_list_member\"\n  | \"crm_party_merge\"\n  | \"crm_party_research\"\n  | \"crm_registry_ingest_run\"\n  | \"crm_registry_source\"\n  | \"crm_sending_claim\"\n  | \"crm_sending_event\"\n  | \"crm_sending_identity\"\n  | \"crm_sending_identity_check\"\n  | \"crm_sending_policy\"\n  | \"custom_agent_table_origin\"\n  | \"custom_agent_table_trust\"\n  | \"custom_agg_digest_checked\"\n  | \"custom_anon_form_draft\"\n  | \"custom_base\"\n  | \"custom_base_snapshot\"\n  | \"custom_field_definition\"\n  | \"custom_field_target\"\n  | \"custom_inbox_item_state\"\n  | \"custom_io_outbox_consumer\"\n  | \"custom_io_outbox_consumption\"\n  | \"custom_portal\"\n  | \"custom_portal_principal\"\n  | \"custom_portal_table\"\n  | \"custom_share_tails_mine_repair\"\n  | \"custom_synced_source\"\n  | \"custom_template\"\n  | \"custom_template_install\"\n  | \"custom_whole_value_parked\"\n  | \"cx_agent_memory\"\n  | \"cx_agent_plan\"\n  | \"cx_agent_task\"\n  | \"cx_code_edit\"\n  | \"cx_code_message_file\"\n  | \"cx_media\"\n  | \"cx_observational_memory\"\n  | \"cx_observational_memory_event\"\n  | \"cx_pending_injection\"\n  | \"cx_request\"\n  | \"cx_request_snapshot\"\n  | \"cx_request_values\"\n  | \"cx_tool_trace\"\n  | \"cx_user_request\"\n  | \"cx_user_todo\"\n  | \"data_rights_event\"\n  | \"data_store\"\n  | \"data_store_members\"\n  | \"ddl_guard_log\"\n  | \"deck_suggestion\"\n  | \"definer_class_exemption\"\n  | \"definer_client_grant_grandfather\"\n  | \"definer_grant_baseline\"\n  | \"deprecated_relation\"\n  | \"derive_run\"\n  | \"desktop_app_account\"\n  | \"desktop_app_instance\"\n  | \"desktop_app_profile\"\n  | \"dev_login_audit\"\n  | \"device_handoff\"\n  | \"dict_entry\"\n  | \"dict_provider_publication\"\n  | \"dict_setting\"\n  | \"dm_conversation\"\n  | \"dm_message\"\n  | \"dm_participant\"\n  | \"dm_session_member\"\n  | \"doc_render\"\n  | \"doc_signature\"\n  | \"dockets\"\n  | \"document\"\n  | \"document_version\"\n  | \"domain_classification\"\n  | \"edge_payload_kind\"\n  | \"egress_device\"\n  | \"egress_pairing\"\n  | \"egress_ticket\"\n  | \"emails\"\n  | \"embedding_cache\"\n  | \"embeddings_google_gemini_2_1536\"\n  | \"embeddings_oai_3_small_1536\"\n  | \"embeddings_voyage_4_large_1024\"\n  | \"embeddings_voyage_code_3_1024\"\n  | \"endpoint_family_sweep_state\"\n  | \"engine_owner_task\"\n  | \"entity_grant\"\n  | \"entity_protected_value\"\n  | \"entity_protected_value_version\"\n  | \"entity_relationship\"\n  | \"entity_type\"\n  | \"esign_campaign\"\n  | \"esign_campaign_member\"\n  | \"esign_consent_disclosure\"\n  | \"esign_envelope\"\n  | \"esign_envelope_certificate\"\n  | \"esign_envelope_document\"\n  | \"esign_envelope_draft\"\n  | \"esign_envelope_event\"\n  | \"esign_envelope_external_ref\"\n  | \"esign_envelope_signer\"\n  | \"esign_provider\"\n  | \"esign_provider_binding\"\n  | \"esign_saved_signature\"\n  | \"esign_signing_key\"\n  | \"esign_template\"\n  | \"execution_event_cursor\"\n  | \"extension_auth_code\"\n  | \"external_api_reservation\"\n  | \"external_conversation\"\n  | \"external_delivery_event\"\n  | \"external_inbox\"\n  | \"external_link\"\n  | \"external_message\"\n  | \"external_provider_receipt\"\n  | \"external_source\"\n  | \"extract_sweep_state\"\n  | \"fc_card\"\n  | \"fc_detail\"\n  | \"fc_set\"\n  | \"feature_doc\"\n  | \"feature_knob\"\n  | \"feedback_comments\"\n  | \"feedback_user_messages\"\n  | \"file\"\n  | \"file_analysis\"\n  | \"file_entities\"\n  | \"file_overrides\"\n  | \"file_page_annotations\"\n  | \"file_pages\"\n  | \"file_rag_job\"\n  | \"file_template\"\n  | \"file_version\"\n  | \"files_account_tier\"\n  | \"files_machine_written_prefix\"\n  | \"files_sync_mapping\"\n  | \"files_user_account\"\n  | \"folder\"\n  | \"function_contract\"\n  | \"game_badge\"\n  | \"game_result\"\n  | \"game_room\"\n  | \"global_execution\"\n  | \"global_execution_checkpoint\"\n  | \"global_execution_control\"\n  | \"global_execution_event\"\n  | \"global_meter_entry\"\n  | \"global_origin\"\n  | \"global_request\"\n  | \"google_document\"\n  | \"growth_loop_event\"\n  | \"growth_loop_run\"\n  | \"growth_loop_stage_run\"\n  | \"guardian_link\"\n  | \"guest_conversion_audit\"\n  | \"guest_execution_log\"\n  | \"guest_executions\"\n  | \"guided_checklist_run\"\n  | \"heatmap_save\"\n  | \"hindsight_enrollment\"\n  | \"hindsight_finding\"\n  | \"hindsight_regression_case\"\n  | \"hindsight_replay\"\n  | \"hindsight_replay_step\"\n  | \"hindsight_review\"\n  | \"hr_access_audit\"\n  | \"hr_access_role\"\n  | \"hr_accommodation_request\"\n  | \"hr_ai_evidence\"\n  | \"hr_alert_routing_rule\"\n  | \"hr_application\"\n  | \"hr_approval_authority\"\n  | \"hr_approval_delegation\"\n  | \"hr_asset\"\n  | \"hr_asset_assignment\"\n  | \"hr_attendance_exception\"\n  | \"hr_auto_close_rule\"\n  | \"hr_availability\"\n  | \"hr_background_check\"\n  | \"hr_benefits_event\"\n  | \"hr_calculation_snapshot\"\n  | \"hr_candidate\"\n  | \"hr_candidate_conversion\"\n  | \"hr_candidate_message\"\n  | \"hr_careers_portal\"\n  | \"hr_checklist_item\"\n  | \"hr_checklist_run\"\n  | \"hr_checklist_template\"\n  | \"hr_checklist_template_item\"\n  | \"hr_compensation\"\n  | \"hr_corrective_action\"\n  | \"hr_course\"\n  | \"hr_course_version\"\n  | \"hr_credential\"\n  | \"hr_crew\"\n  | \"hr_deduction_code\"\n  | \"hr_department\"\n  | \"hr_derived_grant\"\n  | \"hr_disposition_event\"\n  | \"hr_earning_code\"\n  | \"hr_eeo_response\"\n  | \"hr_emergency_contact\"\n  | \"hr_employee\"\n  | \"hr_employee_private\"\n  | \"hr_employer_profile\"\n  | \"hr_employment\"\n  | \"hr_employment_pin\"\n  | \"hr_engagement\"\n  | \"hr_establishment\"\n  | \"hr_external_identity\"\n  | \"hr_field_policy\"\n  | \"hr_goal\"\n  | \"hr_holiday\"\n  | \"hr_holiday_calendar\"\n  | \"hr_i9\"\n  | \"hr_i9_document\"\n  | \"hr_incident\"\n  | \"hr_incident_party\"\n  | \"hr_interview\"\n  | \"hr_interview_kit\"\n  | \"hr_job_title\"\n  | \"hr_jurisdiction\"\n  | \"hr_jurisdiction_rule\"\n  | \"hr_jurisdiction_rule_class\"\n  | \"hr_jurisdiction_rule_org_decision\"\n  | \"hr_jurisdiction_rule_test\"\n  | \"hr_kiosk_device\"\n  | \"hr_kiosk_session\"\n  | \"hr_labor_target\"\n  | \"hr_leave_case\"\n  | \"hr_leave_enrollment\"\n  | \"hr_leave_ledger\"\n  | \"hr_leave_policy\"\n  | \"hr_leave_request\"\n  | \"hr_legal_hold\"\n  | \"hr_legal_hold_item\"\n  | \"hr_location\"\n  | \"hr_new_hire_report\"\n  | \"hr_offer\"\n  | \"hr_opening\"\n  | \"hr_overtime_alert\"\n  | \"hr_overtime_alert_rule\"\n  | \"hr_overtime_preapproval\"\n  | \"hr_pay_group\"\n  | \"hr_pay_period\"\n  | \"hr_pay_period_employment\"\n  | \"hr_payroll_export\"\n  | \"hr_payroll_export_line\"\n  | \"hr_position_assignment\"\n  | \"hr_posting\"\n  | \"hr_posting_publication\"\n  | \"hr_provider_binding\"\n  | \"hr_provider_event\"\n  | \"hr_provisioning_result\"\n  | \"hr_punch\"\n  | \"hr_recalculation_batch\"\n  | \"hr_record_class\"\n  | \"hr_records_request\"\n  | \"hr_reference_check\"\n  | \"hr_reporting_line\"\n  | \"hr_requisition\"\n  | \"hr_restricted_note\"\n  | \"hr_retention_rule\"\n  | \"hr_review\"\n  | \"hr_review_cycle\"\n  | \"hr_review_peer_nomination\"\n  | \"hr_review_response\"\n  | \"hr_review_template\"\n  | \"hr_role_assignment\"\n  | \"hr_schedule\"\n  | \"hr_schedule_change\"\n  | \"hr_schedule_guidance\"\n  | \"hr_schedule_template\"\n  | \"hr_schedule_template_shift\"\n  | \"hr_scorecard\"\n  | \"hr_separation\"\n  | \"hr_shift\"\n  | \"hr_shift_claim\"\n  | \"hr_staffing_requirement\"\n  | \"hr_survey\"\n  | \"hr_survey_invitation\"\n  | \"hr_survey_question\"\n  | \"hr_survey_response\"\n  | \"hr_tax_registration\"\n  | \"hr_tax_withholding\"\n  | \"hr_time_adjustment\"\n  | \"hr_training_assignment\"\n  | \"hr_training_attempt\"\n  | \"hr_transcript_entry\"\n  | \"hr_verification_letter_request\"\n  | \"hr_work_interval\"\n  | \"hr_workflow_binding\"\n  | \"hr_workflow_decision\"\n  | \"hr_workflow_definition\"\n  | \"hr_workflow_event\"\n  | \"hr_workflow_failure\"\n  | \"hr_workflow_flow_type\"\n  | \"hr_workflow_instance\"\n  | \"hr_workflow_step\"\n  | \"hr_workflow_step_definition\"\n  | \"hr_workweek\"\n  | \"html_extraction\"\n  | \"iam_access_audit\"\n  | \"iam_access_setup\"\n  | \"iam_api_key\"\n  | \"iam_emergency_door_request\"\n  | \"iam_oauth_app\"\n  | \"iam_org_availability_key\"\n  | \"iam_org_domain\"\n  | \"iam_org_domain_route\"\n  | \"iam_publish_binding\"\n  | \"iam_publisher_verification\"\n  | \"iam_read_lane_v2_rollout\"\n  | \"iam_record_seat_change\"\n  | \"iam_sign_in_event\"\n  | \"iam_world_namespace\"\n  | \"iam_world_publish_admission\"\n  | \"idempotency\"\n  | \"industry\"\n  | \"industry_curator\"\n  | \"infra_status\"\n  | \"ingest_runs\"\n  | \"integration_connection\"\n  | \"integration_connection_resource\"\n  | \"interview_decision_interview\"\n  | \"interview_decision_question\"\n  | \"interview_document_revision\"\n  | \"interview_hole\"\n  | \"interview_question\"\n  | \"interview_session\"\n  | \"interview_turn\"\n  | \"invitation\"\n  | \"invitation_code\"\n  | \"invitation_request\"\n  | \"io_comment\"\n  | \"io_contract\"\n  | \"io_import\"\n  | \"io_outbox\"\n  | \"item\"\n  | \"item_mastery\"\n  | \"judge_verdict\"\n  | \"jurisdiction_policy\"\n  | \"keyword_classification_queue\"\n  | \"kg_alert\"\n  | \"kg_chunk_entities\"\n  | \"kg_chunks\"\n  | \"kg_clusters\"\n  | \"kg_edges\"\n  | \"kg_entities\"\n  | \"kg_entity_aliases\"\n  | \"kg_suggestion_ack\"\n  | \"kg_sweep_queue\"\n  | \"kg_sweep_run\"\n  | \"kg_sweep_state\"\n  | \"kg_value_match\"\n  | \"knob_override\"\n  | \"knob_override_audit\"\n  | \"knob_rung_lock\"\n  | \"knob_scope_kind\"\n  | \"knob_write_door\"\n  | \"league_membership\"\n  | \"learn_doc\"\n  | \"library_doc\"\n  | \"lifecycle_archive\"\n  | \"lifecycle_archive_row\"\n  | \"lifecycle_audit\"\n  | \"lifecycle_entity_plan\"\n  | \"lifecycle_map_build\"\n  | \"lifecycle_reference_map\"\n  | \"lifecycle_run\"\n  | \"lifecycle_tier_ledger\"\n  | \"location\"\n  | \"mandate\"\n  | \"mandate_advance_batch_row\"\n  | \"mandate_binding\"\n  | \"mandate_candidate\"\n  | \"mandate_candidate_run\"\n  | \"mandate_candidate_run_payload\"\n  | \"mandate_goal_clauses\"\n  | \"mandate_observation\"\n  | \"mandate_proposal\"\n  | \"mandate_readiness_verdict\"\n  | \"mandate_reference\"\n  | \"mandate_scan\"\n  | \"mandate_treatment\"\n  | \"marketing_initiative\"\n  | \"masterwork_corpus_item\"\n  | \"masterwork_run\"\n  | \"masterwork_run_kind\"\n  | \"masterwork_source\"\n  | \"math_course_structure\"\n  | \"math_problem\"\n  | \"matrx_action_ledger\"\n  | \"mcp_config\"\n  | \"mcp_server\"\n  | \"mcp_user_conn\"\n  | \"media_capture_handoff\"\n  | \"media_catalog_setting\"\n  | \"media_library_item\"\n  | \"media_selection_item\"\n  | \"media_selection_job\"\n  | \"media_source_library\"\n  | \"meet_call_invite\"\n  | \"meet_chat_message\"\n  | \"meet_connection\"\n  | \"meet_invitee\"\n  | \"meet_meeting\"\n  | \"meet_note\"\n  | \"meet_occurrence_override\"\n  | \"meet_participant\"\n  | \"meet_recording\"\n  | \"meet_session\"\n  | \"meet_transcript_segment\"\n  | \"membership\"\n  | \"membership_grant\"\n  | \"memory_trial\"\n  | \"memory_trial_step\"\n  | \"merge_field_provenance\"\n  | \"message\"\n  | \"message_template\"\n  | \"message_template_detail\"\n  | \"meta_excluded_schema\"\n  | \"meta_table_stats_history\"\n  | \"metadata_reserved_keys\"\n  | \"migration_log\"\n  | \"mtx_media_heal_queue\"\n  | \"mtx_public_url_guard\"\n  | \"ner_shadow\"\n  | \"note\"\n  | \"notification\"\n  | \"notification_channel_preference\"\n  | \"notification_event_override\"\n  | \"notification_event_type\"\n  | \"notification_preference\"\n  | \"notification_submission\"\n  | \"notify_outsider_door_baseline\"\n  | \"oauth_handoff_claim\"\n  | \"opinion_clusters\"\n  | \"opinions\"\n  | \"ops_auth_lock_watchdog_log\"\n  | \"ops_check_item\"\n  | \"ops_check_run\"\n  | \"ops_db_host_sample\"\n  | \"ops_issue_class\"\n  | \"ops_issue_event\"\n  | \"ops_perf_client_event\"\n  | \"ops_perf_sample\"\n  | \"ops_perf_statement_snapshot\"\n  | \"ops_proof_check\"\n  | \"ops_proof_run\"\n  | \"ops_proof_scenario\"\n  | \"ops_source_read_cache\"\n  | \"ops_test_replay_cache\"\n  | \"org_admin_audit\"\n  | \"org_change_policy\"\n  | \"org_chart_publication\"\n  | \"org_context_ledger\"\n  | \"org_industries\"\n  | \"org_member_control\"\n  | \"org_module_config\"\n  | \"org_move_txn\"\n  | \"org_plan\"\n  | \"org_sweep_list\"\n  | \"organization\"\n  | \"organization_preferences\"\n  | \"organization_visibility_version\"\n  | \"output_feedback\"\n  | \"outreach_acceptance\"\n  | \"page_extraction_job\"\n  | \"page_extraction_page_run\"\n  | \"page_extraction_results\"\n  | \"page_extraction_runs\"\n  | \"page_intent_queue\"\n  | \"page_mapping_queue\"\n  | \"page_vitals\"\n  | \"part_config\"\n  | \"part_config_sub\"\n  | \"party\"\n  | \"party_contact_point\"\n  | \"passkey_credential\"\n  | \"pc_article\"\n  | \"pc_episode\"\n  | \"pc_show\"\n  | \"pc_studio_run\"\n  | \"pc_studio_run_asset\"\n  | \"pdf_consolidation_log\"\n  | \"pdf_redaction_audit\"\n  | \"pdf_redaction_key_escrow\"\n  | \"permission_grant\"\n  | \"personal_data_column\"\n  | \"plan_cms_fill_item\"\n  | \"plan_cms_fill_job\"\n  | \"plan_entity\"\n  | \"plan_node\"\n  | \"plan_node_artifact\"\n  | \"plan_node_step\"\n  | \"plan_profile\"\n  | \"platform_action_request\"\n  | \"platform_actor_session\"\n  | \"platform_actor_token\"\n  | \"platform_actor_token_event\"\n  | \"platform_class_approval_by_arman\"\n  | \"platform_class_approval_by_org_admin\"\n  | \"platform_continued_access\"\n  | \"platform_cutover_census_run\"\n  | \"platform_cutover_evaluation_replaced\"\n  | \"platform_cutover_evaluation_write\"\n  | \"platform_cutover_seam\"\n  | \"platform_cutover_seam_measure\"\n  | \"platform_cutover_seam_press\"\n  | \"platform_dated_change\"\n  | \"platform_doors_only_pending_cutover\"\n  | \"platform_google_calendar_event_create_intent\"\n  | \"platform_google_task_create_intent\"\n  | \"platform_hidden_item\"\n  | \"platform_kernel_fingerprint_record\"\n  | \"platform_outcome_event\"\n  | \"platform_outsider_consumer\"\n  | \"platform_provision_base_contract_pending\"\n  | \"platform_reachability\"\n  | \"platform_reachability_rebuild_pending\"\n  | \"platform_realtime_topic_prefix\"\n  | \"platform_reference_category\"\n  | \"platform_reference_declaration\"\n  | \"platform_repo\"\n  | \"platform_saved_view\"\n  | \"platform_schema\"\n  | \"platform_secure_delivery\"\n  | \"platform_share_link\"\n  | \"platform_strict_class_probe\"\n  | \"podcast_race\"\n  | \"position\"\n  | \"presentation\"\n  | \"processed_document\"\n  | \"processed_document_page\"\n  | \"product_capture_file\"\n  | \"product_capture_item\"\n  | \"product_capture_payload\"\n  | \"product_capture_product\"\n  | \"product_capture_question\"\n  | \"project\"\n  | \"provider_account\"\n  | \"provider_account_credential\"\n  | \"provision\"\n  | \"provision_generate_target\"\n  | \"provision_grant\"\n  | \"provision_marker\"\n  | \"provision_rule_message\"\n  | \"provision_schema\"\n  | \"provision_shape_debt\"\n  | \"provision_snapshot\"\n  | \"provision_spec\"\n  | \"provision_spec_grandfather\"\n  | \"provision_vocabulary\"\n  | \"public_compat_wrapper\"\n  | \"public_placement_baseline\"\n  | \"public_placement_census\"\n  | \"public_placement_domain\"\n  | \"public_restore_permit\"\n  | \"purpose\"\n  | \"quiz_session\"\n  | \"rag_ingest_run\"\n  | \"rag_library_audit_log\"\n  | \"rate_limit_buckets\"\n  | \"reachability_pending\"\n  | \"read_mask_kept\"\n  | \"recompute_queue\"\n  | \"record\"\n  | \"record_alias\"\n  | \"record_computed\"\n  | \"record_follow\"\n  | \"redaction_mapping\"\n  | \"relationship_rule\"\n  | \"research_analysis\"\n  | \"research_content\"\n  | \"research_context_bundle\"\n  | \"research_document\"\n  | \"research_intent\"\n  | \"research_keyword\"\n  | \"research_media\"\n  | \"research_source\"\n  | \"research_synthesis\"\n  | \"research_tag\"\n  | \"research_template\"\n  | \"research_topic\"\n  | \"retention_policy\"\n  | \"retrieval_audit\"\n  | \"review_queue\"\n  | \"route_manifest_entry\"\n  | \"row_version\"\n  | \"rulebook\"\n  | \"run_approval\"\n  | \"run_approval_event\"\n  | \"runtime_operation_stream\"\n  | \"runtime_operation_stream_batch\"\n  | \"sandbox_instance\"\n  | \"sch_agent_task\"\n  | \"sch_run\"\n  | \"sch_task\"\n  | \"sch_trigger\"\n  | \"scheduler_automation_run_subject\"\n  | \"schema_client_exposure\"\n  | \"schema_migration_ledger\"\n  | \"schema_migration_legacy\"\n  | \"schema_migration_slot_grandfather\"\n  | \"schema_templates\"\n  | \"scope\"\n  | \"scope_association_suggestion\"\n  | \"scope_door_registry\"\n  | \"scope_item_value_suggestion\"\n  | \"scope_suggestion\"\n  | \"scope_type\"\n  | \"scrape_domain\"\n  | \"scrape_domain_settings\"\n  | \"scrape_failure_log\"\n  | \"scrape_parsed_page\"\n  | \"scrape_path_override\"\n  | \"scrape_path_pattern\"\n  | \"scrape_retry_queue\"\n  | \"scraper_comparison_run\"\n  | \"scraper_data_fetch_job\"\n  | \"scraper_data_fetch_job_row\"\n  | \"scraper_data_source\"\n  | \"search_item\"\n  | \"seo_ai_capability\"\n  | \"seo_ai_visibility_brand_check\"\n  | \"seo_ai_visibility_citation\"\n  | \"seo_ai_visibility_claim\"\n  | \"seo_ai_visibility_design_artifact\"\n  | \"seo_ai_visibility_panel\"\n  | \"seo_ai_visibility_panel_version\"\n  | \"seo_ai_visibility_response\"\n  | \"seo_ai_visibility_signal\"\n  | \"seo_backlink\"\n  | \"seo_backlink_change_event\"\n  | \"seo_backlink_dimension_snapshot\"\n  | \"seo_backlink_observation\"\n  | \"seo_backlink_snapshot\"\n  | \"seo_change_assessment\"\n  | \"seo_change_event\"\n  | \"seo_change_item\"\n  | \"seo_change_metric\"\n  | \"seo_change_set\"\n  | \"seo_change_theory\"\n  | \"seo_collection_run\"\n  | \"seo_competitor\"\n  | \"seo_competitor_observation\"\n  | \"seo_competitor_opportunity\"\n  | \"seo_coverage_mention\"\n  | \"seo_coverage_tracker\"\n  | \"seo_dimension_value_matcher\"\n  | \"seo_engine_schedule\"\n  | \"seo_geo_place\"\n  | \"seo_gsc_dig_rule\"\n  | \"seo_keyword\"\n  | \"seo_keyword_class_rule\"\n  | \"seo_keyword_edge\"\n  | \"seo_keyword_facet\"\n  | \"seo_keyword_market\"\n  | \"seo_keyword_market_observation\"\n  | \"seo_keyword_place\"\n  | \"seo_keyword_saved_view\"\n  | \"seo_keyword_topic\"\n  | \"seo_landscape_brief\"\n  | \"seo_link_gap_domain\"\n  | \"seo_link_gap_match\"\n  | \"seo_map_facet\"\n  | \"seo_map_facet_value\"\n  | \"seo_map_topic\"\n  | \"seo_page_measurement_health\"\n  | \"seo_page_performance\"\n  | \"seo_pr_moment\"\n  | \"seo_provider_call\"\n  | \"seo_provider_task\"\n  | \"seo_rank_observation\"\n  | \"seo_rank_target\"\n  | \"seo_raw_payload\"\n  | \"seo_referring_domain_profile\"\n  | \"seo_reputation_case\"\n  | \"seo_search_performance_daily\"\n  | \"seo_serp_mention\"\n  | \"seo_serp_opportunity\"\n  | \"seo_serp_result\"\n  | \"seo_serp_snapshot\"\n  | \"seo_site_geo_area\"\n  | \"seo_site_keyword_offering\"\n  | \"seo_site_keyword_value\"\n  | \"seo_site_offering_value\"\n  | \"seo_site_topic_value\"\n  | \"seo_site_value_combo\"\n  | \"seo_site_value_worth\"\n  | \"seo_site_vocabulary\"\n  | \"seo_source_request\"\n  | \"seo_starter_pack\"\n  | \"seo_starter_pack_item\"\n  | \"seo_story_angle\"\n  | \"seo_topic\"\n  | \"seo_topical_map\"\n  | \"seo_tracker_story\"\n  | \"seo_web_analytics_daily\"\n  | \"share_link_password\"\n  | \"shareable_resource_registry\"\n  | \"shared_canvas_item\"\n  | \"short_link\"\n  | \"sign_in_fk_legacy\"\n  | \"skill\"\n  | \"skill_detail\"\n  | \"sms_consent\"\n  | \"sms_conversation\"\n  | \"sms_message\"\n  | \"sms_message_media\"\n  | \"sms_notification\"\n  | \"sms_notification_preference\"\n  | \"sms_phone_number\"\n  | \"sms_rate_limits\"\n  | \"sms_webhook_logs\"\n  | \"social_account_insight_daily\"\n  | \"social_ad\"\n  | \"social_captured_post\"\n  | \"social_kpi_goal\"\n  | \"social_own_post_metric\"\n  | \"social_post\"\n  | \"social_post_analysis\"\n  | \"social_post_comment\"\n  | \"social_post_metric_snapshot\"\n  | \"social_post_stat\"\n  | \"social_post_transcript\"\n  | \"social_profile\"\n  | \"social_profile_snapshot\"\n  | \"social_remix_output\"\n  | \"social_swipe_collection\"\n  | \"social_tracked_account\"\n  | \"social_video_composition_version\"\n  | \"social_video_project\"\n  | \"social_video_variant\"\n  | \"social_watchlist_hit\"\n  | \"soft_delete_cascade_job\"\n  | \"soft_delete_edge\"\n  | \"source_authority\"\n  | \"space_payload\"\n  | \"stage_ref_kind\"\n  | \"stamped_write_table\"\n  | \"structure\"\n  | \"studio_cleaned_segments\"\n  | \"studio_concept_items\"\n  | \"studio_documents\"\n  | \"studio_module_segments\"\n  | \"studio_raw_segments\"\n  | \"studio_recording_chunks\"\n  | \"studio_recording_segments\"\n  | \"studio_run\"\n  | \"studio_session\"\n  | \"studio_session_settings\"\n  | \"study_attempt\"\n  | \"study_goal\"\n  | \"study_media\"\n  | \"study_plan\"\n  | \"study_plan_block\"\n  | \"study_plan_day\"\n  | \"study_reminder_context\"\n  | \"study_reminder_delivery\"\n  | \"study_session\"\n  | \"study_source_chunk\"\n  | \"study_streak\"\n  | \"study_structured_section\"\n  | \"superseded_policy\"\n  | \"support_session\"\n  | \"support_session_event\"\n  | \"surface\"\n  | \"system_announcement\"\n  | \"system_context_item\"\n  | \"system_context_item_org_value\"\n  | \"system_error\"\n  | \"system_orgs\"\n  | \"system_write_failure\"\n  | \"t13_backfill_ledger\"\n  | \"t13_default_ledger\"\n  | \"t13_row_column_events\"\n  | \"tag\"\n  | \"task\"\n  | \"task_user_state\"\n  | \"taxonomy_node\"\n  | \"team\"\n  | \"template_context_items\"\n  | \"template_scope_types\"\n  | \"templates\"\n  | \"test_handset_inbox\"\n  | \"test_handset_verification\"\n  | \"thread\"\n  | \"tool\"\n  | \"tool_battle\"\n  | \"tool_battle_cell\"\n  | \"tool_binding\"\n  | \"tool_bundle\"\n  | \"tool_call\"\n  | \"tool_call_facts\"\n  | \"tool_canary_run\"\n  | \"tool_catalog_cache\"\n  | \"tool_catalog_call\"\n  | \"tool_catalog_call_attempt\"\n  | \"tool_catalog_call_detail\"\n  | \"tool_catalog_endpoint\"\n  | \"tool_catalog_entry\"\n  | \"tool_catalog_provider\"\n  | \"tool_definition_version\"\n  | \"tool_executor\"\n  | \"tool_feature_scorecard\"\n  | \"tool_surface_defaults\"\n  | \"tool_test_sample\"\n  | \"tool_ui\"\n  | \"tool_ui_incident\"\n  | \"tool_ui_version\"\n  | \"topic_placement_queue\"\n  | \"transcript\"\n  | \"trigger_event\"\n  | \"udt_document\"\n  | \"udt_document_snapshot\"\n  | \"udt_workbook_snapshot\"\n  | \"ui_client\"\n  | \"ui_decision_pick\"\n  | \"ui_surface_action\"\n  | \"ui_surface_agent_pref\"\n  | \"ui_surface_agent_role\"\n  | \"ui_surface_client_tool\"\n  | \"ui_surface_config\"\n  | \"ui_surface_item_type\"\n  | \"ui_surface_value\"\n  | \"ui_surface_write_target\"\n  | \"univer_payload\"\n  | \"unsubscribe_token\"\n  | \"uploads_inflight\"\n  | \"user\"\n  | \"user_achievement\"\n  | \"user_acquisition_facts\"\n  | \"user_acquisition_facts_stored\"\n  | \"user_acquisition_facts_stored_watermark\"\n  | \"user_active_context\"\n  | \"user_analysis_preference\"\n  | \"user_email_preference\"\n  | \"user_entity_state\"\n  | \"user_feedback\"\n  | \"user_follows\"\n  | \"user_form_profile\"\n  | \"user_markdown_sample\"\n  | \"user_memory\"\n  | \"user_preference\"\n  | \"user_profile\"\n  | \"user_secret\"\n  | \"user_secret_audit\"\n  | \"user_secret_grant\"\n  | \"user_stat\"\n  | \"user_storage_usage\"\n  | \"user_surface_state\"\n  | \"users_calendar_feed\"\n  | \"vault_fill_approvals\"\n  | \"vault_fill_devices\"\n  | \"vault_fill_nonces\"\n  | \"visibility_cache\"\n  | \"visibility_epoch\"\n  | \"voice\"\n  | \"war_room\"\n  | \"wbx_demo\"\n  | \"wbx_guidance\"\n  | \"wbx_highlight\"\n  | \"wbx_pattern\"\n  | \"wbx_recipe\"\n  | \"wbx_screenshot\"\n  | \"wbx_seo_audit\"\n  | \"wc_claim\"\n  | \"wc_impairment_definition\"\n  | \"wc_injury\"\n  | \"wc_report\"\n  | \"web_analysis_item\"\n  | \"web_brand\"\n  | \"web_brand_asset\"\n  | \"web_brand_choice\"\n  | \"web_brand_exclusion\"\n  | \"web_brand_offering\"\n  | \"web_brand_persona\"\n  | \"web_brand_relation_kind\"\n  | \"web_brand_review\"\n  | \"web_brand_testimony\"\n  | \"web_business_fact\"\n  | \"web_business_location\"\n  | \"web_channel_analytics_daily\"\n  | \"web_crawl_event\"\n  | \"web_crawl_preset\"\n  | \"web_crawl_schedule\"\n  | \"web_crawl_session\"\n  | \"web_crawl_url\"\n  | \"web_discovered_item\"\n  | \"web_domain_category\"\n  | \"web_domain_category_observation\"\n  | \"web_finding\"\n  | \"web_gsc_page_stat\"\n  | \"web_link_edge\"\n  | \"web_listing_publisher\"\n  | \"web_location_listing\"\n  | \"web_news_item\"\n  | \"web_offering_template\"\n  | \"web_page\"\n  | \"web_page_content\"\n  | \"web_page_evidence\"\n  | \"web_page_sitemap\"\n  | \"web_property\"\n  | \"web_provider\"\n  | \"web_result\"\n  | \"web_screenshot\"\n  | \"web_search_review\"\n  | \"web_site\"\n  | \"web_site_endpoint_rule\"\n  | \"web_site_item_config\"\n  | \"web_site_offering\"\n  | \"web_sitemap\"\n  | \"web_snapshot\"\n  | \"web_tag_manager_snapshot\"\n  | \"web_temp_brand_firmographic\"\n  | \"web_temp_brand_presence\"\n  | \"web_temp_brand_recognition\"\n  | \"web_voice_fingerprint\"\n  | \"web_youtube_video\"\n  | \"webhook_deliveries\"\n  | \"webhook_dispatch_state\"\n  | \"webhook_test_receipt\"\n  | \"webhooks\"\n  | \"wf_node_data_slot\"\n  | \"work_claim\"\n  | \"work_item\"\n  | \"workbook\"\n  | \"worker_heartbeat\"\n  | \"workflow\"\n  | \"workflow_card\"\n  | \"workflow_checkpoint\"\n  | \"workflow_checkpoint_value\"\n  | \"workflow_comparison\"\n  | \"workflow_definition_overview\"\n  | \"workflow_definition_version\"\n  | \"workflow_idempotency\"\n  | \"workflow_job\"\n  | \"workflow_node_events\"\n  | \"workflow_node_outcome\"\n  | \"workflow_plan\"\n  | \"workflow_plan_event\"\n  | \"workflow_plan_sample\"\n  | \"workflow_recovery_audit\"\n  | \"workflow_review_issue\"\n  | \"workflow_run\"\n  | \"workflow_run_cost\"\n  | \"workflow_run_facts\"\n  | \"workflow_run_log\"\n  | \"workflow_runtime_surface\"\n  | \"workflow_step_facts\"\n  | \"workflow_step_result\"\n  | \"workflow_template\"\n  | \"workflow_trigger\"\n  | \"workflow_trigger_fire\"\n  | \"workflow_work_item\"\n  | \"write_guard_key\"\n  | \"youtube_quota_day\"\n  | \"youtube_search\"\n  | \"youtube_video\";\n\n/** Tokens flagged `reference_pickable` — offered in reference \"Allowed types\" choosers. */\nexport type ReferencePickableEntityToken =\n  | \"agent\"\n  | \"agent_prompt_block\"\n  | \"agent_shortcut\"\n  | \"agent_surface_binding\"\n  | \"agent_template\"\n  | \"ai_api\"\n  | \"ai_endpoint\"\n  | \"ai_model\"\n  | \"ai_provider\"\n  | \"ai_setting\"\n  | \"anon_form\"\n  | \"app\"\n  | \"assessment\"\n  | \"canvas_comment\"\n  | \"canvas_item\"\n  | \"canvas_score\"\n  | \"category\"\n  | \"code_file\"\n  | \"code_folder\"\n  | \"code_repository\"\n  | \"comparison_set\"\n  | \"contact_submission\"\n  | \"content_ir_kind\"\n  | \"content_ir_kind_instance\"\n  | \"context_item\"\n  | \"conversation\"\n  | \"crm_deal\"\n  | \"crm_outreach_list\"\n  | \"cx_agent_memory\"\n  | \"data_store\"\n  | \"document\"\n  | \"fc_card\"\n  | \"fc_set\"\n  | \"feature_doc\"\n  | \"file\"\n  | \"folder\"\n  | \"game_result\"\n  | \"heatmap_save\"\n  | \"hr_asset\"\n  | \"hr_candidate\"\n  | \"hr_careers_portal\"\n  | \"hr_checklist_template\"\n  | \"hr_course\"\n  | \"hr_crew\"\n  | \"hr_deduction_code\"\n  | \"hr_department\"\n  | \"hr_earning_code\"\n  | \"hr_employee\"\n  | \"hr_holiday_calendar\"\n  | \"hr_interview_kit\"\n  | \"hr_job_title\"\n  | \"hr_jurisdiction\"\n  | \"hr_jurisdiction_rule_class\"\n  | \"hr_leave_policy\"\n  | \"hr_location\"\n  | \"hr_pay_group\"\n  | \"hr_posting\"\n  | \"hr_record_class\"\n  | \"hr_requisition\"\n  | \"hr_schedule\"\n  | \"hr_schedule_template\"\n  | \"hr_survey\"\n  | \"league_membership\"\n  | \"learn_doc\"\n  | \"mandate\"\n  | \"marketing_initiative\"\n  | \"meet_meeting\"\n  | \"message_template\"\n  | \"note\"\n  | \"organization\"\n  | \"page_extraction_job\"\n  | \"party\"\n  | \"pc_article\"\n  | \"pc_episode\"\n  | \"pc_show\"\n  | \"pc_studio_run\"\n  | \"processed_document\"\n  | \"project\"\n  | \"quiz_session\"\n  | \"research_template\"\n  | \"research_topic\"\n  | \"rulebook\"\n  | \"sch_task\"\n  | \"scope\"\n  | \"scope_type\"\n  | \"seo_topic\"\n  | \"shared_canvas_item\"\n  | \"skill\"\n  | \"studio_session\"\n  | \"study_goal\"\n  | \"study_media\"\n  | \"study_plan\"\n  | \"study_plan_block\"\n  | \"surface\"\n  | \"task\"\n  | \"thread\"\n  | \"tool\"\n  | \"tool_bundle\"\n  | \"transcript\"\n  | \"udt_document\"\n  | \"user_markdown_sample\"\n  | \"user_profile\"\n  | \"voice\"\n  | \"war_room\"\n  | \"wbx_pattern\"\n  | \"web_analysis_item\"\n  | \"web_brand\"\n  | \"web_provider\"\n  | \"web_site\"\n  | \"workbook\"\n  | \"workflow\"\n  | \"workflow_plan\"\n  | \"workflow_template\"\n  | \"workflow_trigger\";\n\n/** Tokens flagged `is_component` — child/detail rows, not standalone entities. */\nexport type ComponentEntityToken =\n  | \"agent_card\"\n  | \"agent_definition_version\"\n  | \"agent_drift_alert\"\n  | \"agent_prompt_block_variant\"\n  | \"agent_run_stage\"\n  | \"agent_test_result\"\n  | \"agent_usage\"\n  | \"ai_model_artifact\"\n  | \"ai_model_presentation\"\n  | \"ai_model_upstream\"\n  | \"ai_model_variant\"\n  | \"analysis_result\"\n  | \"app_definition_version\"\n  | \"app_error\"\n  | \"app_execution\"\n  | \"app_rate_limit\"\n  | \"artifact\"\n  | \"assessment_item\"\n  | \"attempt\"\n  | \"billing_spend_alarm_occurrence\"\n  | \"browser_account_binding\"\n  | \"browser_action_event\"\n  | \"browser_capture\"\n  | \"browser_control_request\"\n  | \"browser_handoff\"\n  | \"browser_login_attempt\"\n  | \"browser_run\"\n  | \"browser_site_observation\"\n  | \"canvas_item_state\"\n  | \"cmp_entry\"\n  | \"coding_session_entry\"\n  | \"collab_checkpoint\"\n  | \"collab_op\"\n  | \"collab_room\"\n  | \"commerce_asset_allocation\"\n  | \"commerce_asset_grading\"\n  | \"commerce_asset_identifier\"\n  | \"commerce_asset_lot_event\"\n  | \"commerce_asset_mandate_result\"\n  | \"commerce_asset_price_factor\"\n  | \"commerce_asset_reshoot_request\"\n  | \"commerce_asset_review\"\n  | \"commerce_asset_unknown\"\n  | \"commerce_ebay_business_policy\"\n  | \"commerce_ebay_custom_policy\"\n  | \"commerce_ebay_inventory_item\"\n  | \"commerce_ebay_inventory_item_group\"\n  | \"commerce_ebay_inventory_item_group_member\"\n  | \"commerce_ebay_inventory_location\"\n  | \"commerce_ebay_listing\"\n  | \"commerce_ebay_media_asset\"\n  | \"commerce_ebay_notification_subscription\"\n  | \"commerce_ebay_offer\"\n  | \"commerce_ebay_order\"\n  | \"commerce_ebay_order_line_item\"\n  | \"commerce_ebay_shipping_fulfillment\"\n  | \"commerce_ebay_store_category\"\n  | \"commerce_human_correction\"\n  | \"commerce_intake_artifact\"\n  | \"commerce_intake_asset\"\n  | \"commerce_label_code\"\n  | \"commerce_marketplace_site\"\n  | \"commerce_marketplace_sync_run\"\n  | \"commerce_prediction_outcome\"\n  | \"commerce_product_channel_ref\"\n  | \"commerce_product_media\"\n  | \"commerce_product_variant\"\n  | \"commerce_recall_audit\"\n  | \"content_ir_kind_component\"\n  | \"content_ir_kind_component_incident\"\n  | \"content_ir_kind_conformance\"\n  | \"content_ir_kind_edge\"\n  | \"content_ir_kind_example\"\n  | \"content_ir_kind_surface\"\n  | \"conversation_value\"\n  | \"credential_attachment\"\n  | \"crm_address\"\n  | \"crm_affiliation\"\n  | \"crm_contact_candidate\"\n  | \"crm_deal_stage_event\"\n  | \"crm_interaction\"\n  | \"crm_merge_candidate\"\n  | \"crm_outreach_list_member\"\n  | \"crm_party_merge\"\n  | \"crm_sending_event\"\n  | \"crm_sending_identity_check\"\n  | \"cx_agent_plan\"\n  | \"cx_agent_task\"\n  | \"cx_code_edit\"\n  | \"cx_code_message_file\"\n  | \"cx_media\"\n  | \"cx_observational_memory\"\n  | \"cx_observational_memory_event\"\n  | \"cx_pending_injection\"\n  | \"cx_request\"\n  | \"cx_request_snapshot\"\n  | \"cx_request_values\"\n  | \"cx_tool_trace\"\n  | \"cx_user_request\"\n  | \"cx_user_todo\"\n  | \"data_store_members\"\n  | \"dm_message\"\n  | \"dm_participant\"\n  | \"dm_session_member\"\n  | \"document_version\"\n  | \"embeddings_google_gemini_2_1536\"\n  | \"embeddings_oai_3_small_1536\"\n  | \"embeddings_voyage_4_large_1024\"\n  | \"embeddings_voyage_code_3_1024\"\n  | \"esign_campaign_member\"\n  | \"esign_envelope_certificate\"\n  | \"esign_envelope_document\"\n  | \"esign_envelope_draft\"\n  | \"esign_envelope_event\"\n  | \"esign_envelope_external_ref\"\n  | \"esign_envelope_signer\"\n  | \"external_conversation\"\n  | \"external_delivery_event\"\n  | \"external_message\"\n  | \"external_provider_receipt\"\n  | \"fc_detail\"\n  | \"feedback_comments\"\n  | \"feedback_user_messages\"\n  | \"file_analysis\"\n  | \"file_entities\"\n  | \"file_overrides\"\n  | \"file_page_annotations\"\n  | \"file_pages\"\n  | \"file_rag_job\"\n  | \"file_version\"\n  | \"global_execution\"\n  | \"global_execution_checkpoint\"\n  | \"global_execution_control\"\n  | \"global_execution_event\"\n  | \"global_meter_entry\"\n  | \"growth_loop_event\"\n  | \"growth_loop_stage_run\"\n  | \"hindsight_finding\"\n  | \"hindsight_replay\"\n  | \"hindsight_review\"\n  | \"hr_application\"\n  | \"hr_asset_assignment\"\n  | \"hr_attendance_exception\"\n  | \"hr_availability\"\n  | \"hr_benefits_event\"\n  | \"hr_candidate_conversion\"\n  | \"hr_candidate_message\"\n  | \"hr_checklist_item\"\n  | \"hr_checklist_run\"\n  | \"hr_checklist_template_item\"\n  | \"hr_course_version\"\n  | \"hr_credential\"\n  | \"hr_engagement\"\n  | \"hr_establishment\"\n  | \"hr_external_identity\"\n  | \"hr_holiday\"\n  | \"hr_i9_document\"\n  | \"hr_incident_party\"\n  | \"hr_interview\"\n  | \"hr_jurisdiction_rule_test\"\n  | \"hr_labor_target\"\n  | \"hr_leave_enrollment\"\n  | \"hr_leave_ledger\"\n  | \"hr_leave_request\"\n  | \"hr_legal_hold_item\"\n  | \"hr_new_hire_report\"\n  | \"hr_opening\"\n  | \"hr_overtime_alert\"\n  | \"hr_overtime_preapproval\"\n  | \"hr_pay_period\"\n  | \"hr_pay_period_employment\"\n  | \"hr_payroll_export\"\n  | \"hr_payroll_export_line\"\n  | \"hr_position_assignment\"\n  | \"hr_posting_publication\"\n  | \"hr_provider_event\"\n  | \"hr_provisioning_result\"\n  | \"hr_punch\"\n  | \"hr_reporting_line\"\n  | \"hr_schedule_change\"\n  | \"hr_schedule_template_shift\"\n  | \"hr_scorecard\"\n  | \"hr_shift\"\n  | \"hr_shift_claim\"\n  | \"hr_staffing_requirement\"\n  | \"hr_survey_invitation\"\n  | \"hr_survey_question\"\n  | \"hr_survey_response\"\n  | \"hr_tax_registration\"\n  | \"hr_time_adjustment\"\n  | \"hr_training_assignment\"\n  | \"hr_training_attempt\"\n  | \"hr_transcript_entry\"\n  | \"hr_work_interval\"\n  | \"hr_workflow_binding\"\n  | \"hr_workflow_failure\"\n  | \"hr_workflow_step\"\n  | \"hr_workflow_step_definition\"\n  | \"hr_workweek\"\n  | \"iam_org_domain_route\"\n  | \"integration_connection_resource\"\n  | \"interview_decision_question\"\n  | \"interview_document_revision\"\n  | \"interview_hole\"\n  | \"interview_question\"\n  | \"interview_turn\"\n  | \"item\"\n  | \"keyword_classification_queue\"\n  | \"kg_chunk_entities\"\n  | \"kg_edges\"\n  | \"kg_entity_aliases\"\n  | \"mandate_candidate\"\n  | \"mandate_candidate_run\"\n  | \"mandate_candidate_run_payload\"\n  | \"mandate_observation\"\n  | \"masterwork_corpus_item\"\n  | \"masterwork_run\"\n  | \"masterwork_source\"\n  | \"media_library_item\"\n  | \"media_selection_item\"\n  | \"media_selection_job\"\n  | \"meet_chat_message\"\n  | \"meet_connection\"\n  | \"meet_invitee\"\n  | \"meet_note\"\n  | \"meet_occurrence_override\"\n  | \"meet_participant\"\n  | \"meet_recording\"\n  | \"meet_session\"\n  | \"meet_transcript_segment\"\n  | \"memory_trial_step\"\n  | \"message\"\n  | \"message_template_detail\"\n  | \"ops_proof_run\"\n  | \"org_industries\"\n  | \"organization_preferences\"\n  | \"page_extraction_results\"\n  | \"page_extraction_runs\"\n  | \"party_contact_point\"\n  | \"pc_studio_run_asset\"\n  | \"plan_cms_fill_item\"\n  | \"plan_cms_fill_job\"\n  | \"plan_node_artifact\"\n  | \"plan_node_step\"\n  | \"processed_document_page\"\n  | \"product_capture_file\"\n  | \"product_capture_payload\"\n  | \"product_capture_product\"\n  | \"product_capture_question\"\n  | \"redaction_mapping\"\n  | \"research_analysis\"\n  | \"research_content\"\n  | \"research_document\"\n  | \"research_keyword\"\n  | \"research_media\"\n  | \"research_source\"\n  | \"research_synthesis\"\n  | \"research_tag\"\n  | \"run_approval_event\"\n  | \"sch_agent_task\"\n  | \"sch_run\"\n  | \"sch_trigger\"\n  | \"seo_ai_visibility_brand_check\"\n  | \"seo_ai_visibility_citation\"\n  | \"seo_ai_visibility_claim\"\n  | \"seo_ai_visibility_design_artifact\"\n  | \"seo_ai_visibility_panel\"\n  | \"seo_ai_visibility_panel_version\"\n  | \"seo_ai_visibility_response\"\n  | \"seo_ai_visibility_signal\"\n  | \"seo_backlink\"\n  | \"seo_backlink_change_event\"\n  | \"seo_backlink_dimension_snapshot\"\n  | \"seo_backlink_observation\"\n  | \"seo_backlink_snapshot\"\n  | \"seo_change_assessment\"\n  | \"seo_change_event\"\n  | \"seo_change_item\"\n  | \"seo_change_metric\"\n  | \"seo_change_set\"\n  | \"seo_change_theory\"\n  | \"seo_competitor\"\n  | \"seo_competitor_observation\"\n  | \"seo_competitor_opportunity\"\n  | \"seo_coverage_mention\"\n  | \"seo_coverage_tracker\"\n  | \"seo_dimension_value_matcher\"\n  | \"seo_gsc_dig_rule\"\n  | \"seo_keyword_market_observation\"\n  | \"seo_keyword_saved_view\"\n  | \"seo_landscape_brief\"\n  | \"seo_link_gap_domain\"\n  | \"seo_link_gap_match\"\n  | \"seo_map_topic\"\n  | \"seo_page_measurement_health\"\n  | \"seo_page_performance\"\n  | \"seo_pr_moment\"\n  | \"seo_provider_call\"\n  | \"seo_provider_task\"\n  | \"seo_rank_observation\"\n  | \"seo_raw_payload\"\n  | \"seo_referring_domain_profile\"\n  | \"seo_reputation_case\"\n  | \"seo_search_performance_daily\"\n  | \"seo_serp_mention\"\n  | \"seo_serp_opportunity\"\n  | \"seo_serp_result\"\n  | \"seo_serp_snapshot\"\n  | \"seo_site_geo_area\"\n  | \"seo_site_keyword_offering\"\n  | \"seo_site_keyword_value\"\n  | \"seo_site_offering_value\"\n  | \"seo_site_topic_value\"\n  | \"seo_site_value_combo\"\n  | \"seo_site_value_worth\"\n  | \"seo_site_vocabulary\"\n  | \"seo_starter_pack_item\"\n  | \"seo_tracker_story\"\n  | \"seo_web_analytics_daily\"\n  | \"skill_detail\"\n  | \"sms_message\"\n  | \"sms_message_media\"\n  | \"social_post_comment\"\n  | \"social_post_stat\"\n  | \"social_post_transcript\"\n  | \"social_video_composition_version\"\n  | \"social_video_variant\"\n  | \"social_watchlist_hit\"\n  | \"space_payload\"\n  | \"structure\"\n  | \"studio_cleaned_segments\"\n  | \"studio_concept_items\"\n  | \"studio_documents\"\n  | \"studio_module_segments\"\n  | \"studio_raw_segments\"\n  | \"studio_recording_segments\"\n  | \"studio_session_settings\"\n  | \"study_plan_block\"\n  | \"study_plan_day\"\n  | \"support_session_event\"\n  | \"tool_battle_cell\"\n  | \"tool_binding\"\n  | \"tool_call\"\n  | \"tool_definition_version\"\n  | \"tool_test_sample\"\n  | \"tool_ui\"\n  | \"tool_ui_incident\"\n  | \"tool_ui_version\"\n  | \"topic_placement_queue\"\n  | \"trigger_event\"\n  | \"udt_document_snapshot\"\n  | \"udt_workbook_snapshot\"\n  | \"ui_surface_action\"\n  | \"univer_payload\"\n  | \"user_follows\"\n  | \"wc_injury\"\n  | \"wc_report\"\n  | \"web_brand_asset\"\n  | \"web_brand_choice\"\n  | \"web_brand_offering\"\n  | \"web_brand_review\"\n  | \"web_brand_testimony\"\n  | \"web_business_fact\"\n  | \"web_business_location\"\n  | \"web_crawl_event\"\n  | \"web_crawl_preset\"\n  | \"web_crawl_schedule\"\n  | \"web_crawl_session\"\n  | \"web_crawl_url\"\n  | \"web_discovered_item\"\n  | \"web_finding\"\n  | \"web_gsc_page_stat\"\n  | \"web_link_edge\"\n  | \"web_location_listing\"\n  | \"web_page\"\n  | \"web_page_content\"\n  | \"web_page_evidence\"\n  | \"web_page_sitemap\"\n  | \"web_property\"\n  | \"web_result\"\n  | \"web_screenshot\"\n  | \"web_site_endpoint_rule\"\n  | \"web_site_item_config\"\n  | \"web_site_offering\"\n  | \"web_sitemap\"\n  | \"web_snapshot\"\n  | \"web_tag_manager_snapshot\"\n  | \"webhook_deliveries\"\n  | \"wf_node_data_slot\"\n  | \"work_item\"\n  | \"workflow_card\"\n  | \"workflow_checkpoint\"\n  | \"workflow_definition_overview\"\n  | \"workflow_definition_version\"\n  | \"workflow_idempotency\"\n  | \"workflow_job\"\n  | \"workflow_node_events\"\n  | \"workflow_node_outcome\"\n  | \"workflow_plan\"\n  | \"workflow_plan_event\"\n  | \"workflow_plan_sample\"\n  | \"workflow_recovery_audit\"\n  | \"workflow_review_issue\"\n  | \"workflow_run_log\"\n  | \"workflow_trigger_fire\"\n  | \"workflow_work_item\";\n\n/** Tokens flagged `default_scopeable` — can carry scope tags by default. */\nexport type ScopeableEntityToken =\n  | \"access_delta_probe\"\n  | \"access_delta_run\"\n  | \"access_request\"\n  | \"access_shadow_log\"\n  | \"access_version\"\n  | \"access_version_event\"\n  | \"account_addon\"\n  | \"account_closure\"\n  | \"account_facts\"\n  | \"acquisition_block\"\n  | \"activity\"\n  | \"admin_audit_log\"\n  | \"admin_email_log\"\n  | \"admin_markdown_sample\"\n  | \"admin_user\"\n  | \"admin_user_owned_resources_cache\"\n  | \"admission_config\"\n  | \"agent\"\n  | \"agent_card\"\n  | \"agent_definition_version\"\n  | \"agent_drift_alert\"\n  | \"agent_exemplar\"\n  | \"agent_mandate_note\"\n  | \"agent_prompt_block\"\n  | \"agent_prompt_block_variant\"\n  | \"agent_prompt_remediation\"\n  | \"agent_required_flag_change\"\n  | \"agent_run\"\n  | \"agent_run_stage\"\n  | \"agent_schedule\"\n  | \"agent_schedule_claim\"\n  | \"agent_shortcut\"\n  | \"agent_surface_binding\"\n  | \"agent_template\"\n  | \"agent_term_list\"\n  | \"agent_test_result\"\n  | \"agent_test_run\"\n  | \"agent_usage\"\n  | \"ai_api\"\n  | \"ai_calls\"\n  | \"ai_device_model_file\"\n  | \"ai_device_model_root\"\n  | \"ai_endpoint\"\n  | \"ai_media_generation_cache\"\n  | \"ai_model\"\n  | \"ai_model_alias\"\n  | \"ai_model_artifact\"\n  | \"ai_model_candidate\"\n  | \"ai_model_presentation\"\n  | \"ai_model_upstream\"\n  | \"ai_model_variant\"\n  | \"ai_model_verification_run\"\n  | \"ai_model_want\"\n  | \"ai_offering\"\n  | \"ai_person_model_want\"\n  | \"ai_provider\"\n  | \"ai_request_latency\"\n  | \"ai_runtime\"\n  | \"ai_runtime_build\"\n  | \"ai_runtime_compat\"\n  | \"ai_setting\"\n  | \"ai_setting_profile\"\n  | \"ai_translation_cell\"\n  | \"ai_usage_execution_facts\"\n  | \"ai_usage_executions\"\n  | \"ai_usage_hourly\"\n  | \"ai_usage_hourly_watermark\"\n  | \"analysis_result\"\n  | \"anon_form\"\n  | \"anon_form_password\"\n  | \"anon_form_visit\"\n  | \"anon_function_birth_grandfather\"\n  | \"anon_hit\"\n  | \"anon_inbound\"\n  | \"anon_replay\"\n  | \"anon_submission\"\n  | \"anon_token\"\n  | \"api_field_warning\"\n  | \"api_request_log\"\n  | \"app\"\n  | \"app_config\"\n  | \"app_config_history\"\n  | \"app_definition_version\"\n  | \"app_error\"\n  | \"app_execution\"\n  | \"app_instance\"\n  | \"app_log\"\n  | \"app_log_hourly\"\n  | \"app_log_hourly_watermark\"\n  | \"app_log_lines\"\n  | \"app_log_muted_pattern\"\n  | \"app_log_norm_exception\"\n  | \"app_log_requests_hourly\"\n  | \"app_rate_limit\"\n  | \"app_setting\"\n  | \"app_sync_status\"\n  | \"applet_visitor_binding\"\n  | \"approach\"\n  | \"artifact\"\n  | \"assessment\"\n  | \"assessment_item\"\n  | \"assessment_result\"\n  | \"assignment_session\"\n  | \"assist\"\n  | \"assist_producer_policy\"\n  | \"assist_producer_policy_history\"\n  | \"association_type\"\n  | \"assurance_level\"\n  | \"attempt\"\n  | \"attention_audience_rule\"\n  | \"attention_audit\"\n  | \"attention_item_state\"\n  | \"attention_showing\"\n  | \"audit_broken_functions\"\n  | \"audit_canonical_findings\"\n  | \"audit_exemption\"\n  | \"audit_function_deps\"\n  | \"audit_function_runtime_probe\"\n  | \"audit_m2m_candidates\"\n  | \"audit_refresh_log\"\n  | \"audit_stale_registry\"\n  | \"audit_unregistered_candidates\"\n  | \"automation_delivery\"\n  | \"automation_fired\"\n  | \"base_entity_template\"\n  | \"batch_cost_event\"\n  | \"batch_provider_batch\"\n  | \"batch_work_item\"\n  | \"billing_capability\"\n  | \"billing_capability_limit\"\n  | \"billing_ci_package_build\"\n  | \"billing_connect_account\"\n  | \"billing_coupon\"\n  | \"billing_coupon_redemption\"\n  | \"billing_customer\"\n  | \"billing_external_call_vendor\"\n  | \"billing_free_network_counter\"\n  | \"billing_free_period_grant\"\n  | \"billing_free_use_counter\"\n  | \"billing_hard_cost_reconciliation\"\n  | \"billing_held_run\"\n  | \"billing_org_payment_account\"\n  | \"billing_payment\"\n  | \"billing_payment_ask\"\n  | \"billing_plan\"\n  | \"billing_plan_limit\"\n  | \"billing_price\"\n  | \"billing_product\"\n  | \"billing_provider_balance_snapshot\"\n  | \"billing_spend_alarm\"\n  | \"billing_spend_alarm_occurrence\"\n  | \"billing_spend_approval\"\n  | \"billing_spend_guardrail\"\n  | \"billing_spend_hold\"\n  | \"billing_stripe_event\"\n  | \"billing_subscription\"\n  | \"billing_usage_ledger\"\n  | \"billing_usage_reset\"\n  | \"billing_user_plan\"\n  | \"block_state\"\n  | \"board\"\n  | \"browser_account_binding\"\n  | \"browser_action_event\"\n  | \"browser_authenticator_window\"\n  | \"browser_capture\"\n  | \"browser_control_request\"\n  | \"browser_handoff\"\n  | \"browser_login_attempt\"\n  | \"browser_login_recipe\"\n  | \"browser_profile\"\n  | \"browser_profile_checkpoint\"\n  | \"browser_run\"\n  | \"browser_site_observation\"\n  | \"browser_site_policy\"\n  | \"browser_stream_ticket\"\n  | \"build_lock\"\n  | \"calendar_event\"\n  | \"campaign_watch_ramp_gate_run\"\n  | \"campaign_watch_switch_outbox\"\n  | \"campaign_watch_switch_window\"\n  | \"canvas_comment\"\n  | \"canvas_comment_like\"\n  | \"canvas_item\"\n  | \"canvas_item_state\"\n  | \"canvas_like\"\n  | \"canvas_score\"\n  | \"canvas_view\"\n  | \"capture_window\"\n  | \"carrying_rule\"\n  | \"catalog_entries_history\"\n  | \"catalog_entry\"\n  | \"category\"\n  | \"change_item\"\n  | \"change_job\"\n  | \"change_job_row\"\n  | \"change_plan\"\n  | \"change_type_default\"\n  | \"change_work\"\n  | \"chat_user_usage_summary\"\n  | \"citations\"\n  | \"class_purchase\"\n  | \"classifier_revision_ledger\"\n  | \"client_callable_door\"\n  | \"client_callable_door_retirement\"\n  | \"client_excluded_column_unregistered\"\n  | \"cmp_entry\"\n  | \"cmp_feedback\"\n  | \"code_file\"\n  | \"code_folder\"\n  | \"code_repository\"\n  | \"coding_session\"\n  | \"coding_session_entry\"\n  | \"collab_checkpoint\"\n  | \"collab_op\"\n  | \"collab_room\"\n  | \"comment\"\n  | \"commerce_asset_allocation\"\n  | \"commerce_asset_grading\"\n  | \"commerce_asset_identifier\"\n  | \"commerce_asset_lot_event\"\n  | \"commerce_asset_mandate_result\"\n  | \"commerce_asset_price_factor\"\n  | \"commerce_asset_reshoot_request\"\n  | \"commerce_asset_review\"\n  | \"commerce_asset_unknown\"\n  | \"commerce_certified_printer\"\n  | \"commerce_cloud_sync_connection\"\n  | \"commerce_ebay_business_policy\"\n  | \"commerce_ebay_category\"\n  | \"commerce_ebay_category_aspect\"\n  | \"commerce_ebay_category_tree\"\n  | \"commerce_ebay_custom_policy\"\n  | \"commerce_ebay_inventory_item\"\n  | \"commerce_ebay_inventory_item_group\"\n  | \"commerce_ebay_inventory_item_group_member\"\n  | \"commerce_ebay_inventory_location\"\n  | \"commerce_ebay_listing\"\n  | \"commerce_ebay_marketplace_policy\"\n  | \"commerce_ebay_media_asset\"\n  | \"commerce_ebay_notification_destination\"\n  | \"commerce_ebay_notification_event\"\n  | \"commerce_ebay_notification_subscription\"\n  | \"commerce_ebay_notification_topic\"\n  | \"commerce_ebay_offer\"\n  | \"commerce_ebay_order\"\n  | \"commerce_ebay_order_line_item\"\n  | \"commerce_ebay_shipping_fulfillment\"\n  | \"commerce_ebay_store_category\"\n  | \"commerce_human_correction\"\n  | \"commerce_intake_artifact\"\n  | \"commerce_intake_asset\"\n  | \"commerce_intake_batch\"\n  | \"commerce_label_batch\"\n  | \"commerce_label_code\"\n  | \"commerce_marketplace_account\"\n  | \"commerce_marketplace_account_deletion_audit\"\n  | \"commerce_marketplace_api_call\"\n  | \"commerce_marketplace_rate_budget\"\n  | \"commerce_marketplace_site\"\n  | \"commerce_marketplace_sync_run\"\n  | \"commerce_prediction_outcome\"\n  | \"commerce_print_order\"\n  | \"commerce_product\"\n  | \"commerce_product_channel_ref\"\n  | \"commerce_product_media\"\n  | \"commerce_product_variant\"\n  | \"commerce_recall_audit\"\n  | \"communication_calendar_selected_snapshot_state\"\n  | \"communication_channel_readiness\"\n  | \"comparison_set\"\n  | \"computed_org_mark\"\n  | \"computed_reader_cols\"\n  | \"computed_reader_judgement\"\n  | \"config_manifest\"\n  | \"config_read_bucket\"\n  | \"contact_medium\"\n  | \"contact_submission\"\n  | \"content_certification\"\n  | \"content_ir_converter_definition\"\n  | \"content_ir_converter_run\"\n  | \"content_ir_kind\"\n  | \"content_ir_kind_component\"\n  | \"content_ir_kind_component_incident\"\n  | \"content_ir_kind_component_layer\"\n  | \"content_ir_kind_conformance\"\n  | \"content_ir_kind_edge\"\n  | \"content_ir_kind_example\"\n  | \"content_ir_kind_instance\"\n  | \"content_ir_kind_surface\"\n  | \"content_ir_render_inspection\"\n  | \"content_lane\"\n  | \"context_access_log\"\n  | \"context_item\"\n  | \"context_item_suggestion\"\n  | \"conversation\"\n  | \"courts\"\n  | \"credential_attachment\"\n  | \"credential_item\"\n  | \"credential_mutation_receipt\"\n  | \"crm_address\"\n  | \"crm_affiliation\"\n  | \"crm_blocklist_entry\"\n  | \"crm_contact_candidate\"\n  | \"crm_deal\"\n  | \"crm_deal_stage_event\"\n  | \"crm_enrichment_call\"\n  | \"crm_interaction\"\n  | \"crm_merge_candidate\"\n  | \"crm_outreach_list\"\n  | \"crm_outreach_list_member\"\n  | \"crm_party_merge\"\n  | \"crm_party_research\"\n  | \"crm_registry_ingest_run\"\n  | \"crm_registry_source\"\n  | \"crm_sending_claim\"\n  | \"crm_sending_event\"\n  | \"crm_sending_identity\"\n  | \"crm_sending_identity_check\"\n  | \"crm_sending_policy\"\n  | \"custom_agent_table_origin\"\n  | \"custom_agent_table_trust\"\n  | \"custom_agg_digest_checked\"\n  | \"custom_anon_form_draft\"\n  | \"custom_base\"\n  | \"custom_base_snapshot\"\n  | \"custom_field_definition\"\n  | \"custom_field_target\"\n  | \"custom_inbox_item_state\"\n  | \"custom_io_outbox_consumer\"\n  | \"custom_io_outbox_consumption\"\n  | \"custom_portal\"\n  | \"custom_portal_principal\"\n  | \"custom_portal_table\"\n  | \"custom_share_tails_mine_repair\"\n  | \"custom_synced_source\"\n  | \"custom_template\"\n  | \"custom_template_install\"\n  | \"custom_whole_value_parked\"\n  | \"cx_request_values\"\n  | \"data_rights_event\"\n  | \"data_store\"\n  | \"data_store_members\"\n  | \"ddl_guard_log\"\n  | \"deck_suggestion\"\n  | \"definer_class_exemption\"\n  | \"definer_client_grant_grandfather\"\n  | \"definer_grant_baseline\"\n  | \"deprecated_relation\"\n  | \"derive_run\"\n  | \"desktop_app_account\"\n  | \"desktop_app_instance\"\n  | \"desktop_app_profile\"\n  | \"dev_login_audit\"\n  | \"device_handoff\"\n  | \"dict_entry\"\n  | \"dict_provider_publication\"\n  | \"dict_setting\"\n  | \"dm_conversation\"\n  | \"dm_message\"\n  | \"dm_participant\"\n  | \"dm_session_member\"\n  | \"doc_render\"\n  | \"doc_signature\"\n  | \"dockets\"\n  | \"document\"\n  | \"document_version\"\n  | \"domain_classification\"\n  | \"edge_payload_kind\"\n  | \"egress_device\"\n  | \"egress_pairing\"\n  | \"egress_ticket\"\n  | \"emails\"\n  | \"embedding_cache\"\n  | \"embeddings_google_gemini_2_1536\"\n  | \"embeddings_oai_3_small_1536\"\n  | \"embeddings_voyage_4_large_1024\"\n  | \"embeddings_voyage_code_3_1024\"\n  | \"endpoint_family_sweep_state\"\n  | \"engine_owner_task\"\n  | \"entity_grant\"\n  | \"entity_protected_value\"\n  | \"entity_protected_value_version\"\n  | \"entity_relationship\"\n  | \"entity_type\"\n  | \"esign_campaign\"\n  | \"esign_campaign_member\"\n  | \"esign_consent_disclosure\"\n  | \"esign_envelope\"\n  | \"esign_envelope_certificate\"\n  | \"esign_envelope_document\"\n  | \"esign_envelope_draft\"\n  | \"esign_envelope_event\"\n  | \"esign_envelope_external_ref\"\n  | \"esign_envelope_signer\"\n  | \"esign_provider\"\n  | \"esign_provider_binding\"\n  | \"esign_saved_signature\"\n  | \"esign_signing_key\"\n  | \"esign_template\"\n  | \"execution_event_cursor\"\n  | \"extension_auth_code\"\n  | \"external_api_reservation\"\n  | \"external_conversation\"\n  | \"external_delivery_event\"\n  | \"external_inbox\"\n  | \"external_link\"\n  | \"external_message\"\n  | \"external_provider_receipt\"\n  | \"external_source\"\n  | \"extract_sweep_state\"\n  | \"fc_card\"\n  | \"fc_detail\"\n  | \"fc_set\"\n  | \"feature_doc\"\n  | \"feature_knob\"\n  | \"feedback_comments\"\n  | \"feedback_user_messages\"\n  | \"file\"\n  | \"file_analysis\"\n  | \"file_entities\"\n  | \"file_overrides\"\n  | \"file_page_annotations\"\n  | \"file_pages\"\n  | \"file_rag_job\"\n  | \"file_template\"\n  | \"files_account_tier\"\n  | \"files_machine_written_prefix\"\n  | \"files_sync_mapping\"\n  | \"files_user_account\"\n  | \"folder\"\n  | \"function_contract\"\n  | \"game_badge\"\n  | \"game_result\"\n  | \"game_room\"\n  | \"global_execution\"\n  | \"global_execution_checkpoint\"\n  | \"global_execution_control\"\n  | \"global_execution_event\"\n  | \"global_meter_entry\"\n  | \"global_origin\"\n  | \"global_request\"\n  | \"google_document\"\n  | \"growth_loop_event\"\n  | \"growth_loop_run\"\n  | \"growth_loop_stage_run\"\n  | \"guardian_link\"\n  | \"guest_conversion_audit\"\n  | \"guest_execution_log\"\n  | \"guest_executions\"\n  | \"guided_checklist_run\"\n  | \"heatmap_save\"\n  | \"hindsight_enrollment\"\n  | \"hindsight_finding\"\n  | \"hindsight_regression_case\"\n  | \"hindsight_replay\"\n  | \"hindsight_replay_step\"\n  | \"hindsight_review\"\n  | \"hr_access_audit\"\n  | \"hr_access_role\"\n  | \"hr_accommodation_request\"\n  | \"hr_ai_evidence\"\n  | \"hr_alert_routing_rule\"\n  | \"hr_application\"\n  | \"hr_approval_authority\"\n  | \"hr_approval_delegation\"\n  | \"hr_asset\"\n  | \"hr_asset_assignment\"\n  | \"hr_attendance_exception\"\n  | \"hr_auto_close_rule\"\n  | \"hr_availability\"\n  | \"hr_background_check\"\n  | \"hr_benefits_event\"\n  | \"hr_calculation_snapshot\"\n  | \"hr_candidate\"\n  | \"hr_candidate_conversion\"\n  | \"hr_candidate_message\"\n  | \"hr_careers_portal\"\n  | \"hr_checklist_item\"\n  | \"hr_checklist_run\"\n  | \"hr_checklist_template\"\n  | \"hr_checklist_template_item\"\n  | \"hr_compensation\"\n  | \"hr_corrective_action\"\n  | \"hr_course\"\n  | \"hr_course_version\"\n  | \"hr_credential\"\n  | \"hr_crew\"\n  | \"hr_deduction_code\"\n  | \"hr_department\"\n  | \"hr_derived_grant\"\n  | \"hr_disposition_event\"\n  | \"hr_earning_code\"\n  | \"hr_eeo_response\"\n  | \"hr_emergency_contact\"\n  | \"hr_employee\"\n  | \"hr_employee_private\"\n  | \"hr_employer_profile\"\n  | \"hr_employment\"\n  | \"hr_employment_pin\"\n  | \"hr_engagement\"\n  | \"hr_establishment\"\n  | \"hr_external_identity\"\n  | \"hr_field_policy\"\n  | \"hr_goal\"\n  | \"hr_holiday\"\n  | \"hr_holiday_calendar\"\n  | \"hr_i9\"\n  | \"hr_i9_document\"\n  | \"hr_incident\"\n  | \"hr_incident_party\"\n  | \"hr_interview\"\n  | \"hr_interview_kit\"\n  | \"hr_job_title\"\n  | \"hr_jurisdiction\"\n  | \"hr_jurisdiction_rule\"\n  | \"hr_jurisdiction_rule_class\"\n  | \"hr_jurisdiction_rule_org_decision\"\n  | \"hr_jurisdiction_rule_test\"\n  | \"hr_kiosk_device\"\n  | \"hr_kiosk_session\"\n  | \"hr_labor_target\"\n  | \"hr_leave_case\"\n  | \"hr_leave_enrollment\"\n  | \"hr_leave_ledger\"\n  | \"hr_leave_policy\"\n  | \"hr_leave_request\"\n  | \"hr_legal_hold\"\n  | \"hr_legal_hold_item\"\n  | \"hr_location\"\n  | \"hr_new_hire_report\"\n  | \"hr_offer\"\n  | \"hr_opening\"\n  | \"hr_overtime_alert\"\n  | \"hr_overtime_alert_rule\"\n  | \"hr_overtime_preapproval\"\n  | \"hr_pay_group\"\n  | \"hr_pay_period\"\n  | \"hr_pay_period_employment\"\n  | \"hr_payroll_export\"\n  | \"hr_payroll_export_line\"\n  | \"hr_position_assignment\"\n  | \"hr_posting\"\n  | \"hr_posting_publication\"\n  | \"hr_provider_binding\"\n  | \"hr_provider_event\"\n  | \"hr_provisioning_result\"\n  | \"hr_punch\"\n  | \"hr_recalculation_batch\"\n  | \"hr_record_class\"\n  | \"hr_records_request\"\n  | \"hr_reference_check\"\n  | \"hr_reporting_line\"\n  | \"hr_requisition\"\n  | \"hr_restricted_note\"\n  | \"hr_retention_rule\"\n  | \"hr_review\"\n  | \"hr_review_cycle\"\n  | \"hr_review_peer_nomination\"\n  | \"hr_review_response\"\n  | \"hr_review_template\"\n  | \"hr_role_assignment\"\n  | \"hr_schedule\"\n  | \"hr_schedule_change\"\n  | \"hr_schedule_guidance\"\n  | \"hr_schedule_template\"\n  | \"hr_schedule_template_shift\"\n  | \"hr_scorecard\"\n  | \"hr_separation\"\n  | \"hr_shift\"\n  | \"hr_shift_claim\"\n  | \"hr_staffing_requirement\"\n  | \"hr_survey\"\n  | \"hr_survey_invitation\"\n  | \"hr_survey_question\"\n  | \"hr_survey_response\"\n  | \"hr_tax_registration\"\n  | \"hr_tax_withholding\"\n  | \"hr_time_adjustment\"\n  | \"hr_training_assignment\"\n  | \"hr_training_attempt\"\n  | \"hr_transcript_entry\"\n  | \"hr_verification_letter_request\"\n  | \"hr_work_interval\"\n  | \"hr_workflow_binding\"\n  | \"hr_workflow_decision\"\n  | \"hr_workflow_definition\"\n  | \"hr_workflow_event\"\n  | \"hr_workflow_failure\"\n  | \"hr_workflow_flow_type\"\n  | \"hr_workflow_instance\"\n  | \"hr_workflow_step\"\n  | \"hr_workflow_step_definition\"\n  | \"hr_workweek\"\n  | \"html_extraction\"\n  | \"iam_access_audit\"\n  | \"iam_access_setup\"\n  | \"iam_api_key\"\n  | \"iam_emergency_door_request\"\n  | \"iam_oauth_app\"\n  | \"iam_org_availability_key\"\n  | \"iam_org_domain\"\n  | \"iam_org_domain_route\"\n  | \"iam_publish_binding\"\n  | \"iam_publisher_verification\"\n  | \"iam_read_lane_v2_rollout\"\n  | \"iam_record_seat_change\"\n  | \"iam_sign_in_event\"\n  | \"iam_world_namespace\"\n  | \"iam_world_publish_admission\"\n  | \"idempotency\"\n  | \"industry\"\n  | \"industry_curator\"\n  | \"infra_status\"\n  | \"ingest_runs\"\n  | \"integration_connection\"\n  | \"integration_connection_resource\"\n  | \"interview_decision_interview\"\n  | \"interview_decision_question\"\n  | \"interview_document_revision\"\n  | \"interview_hole\"\n  | \"interview_question\"\n  | \"interview_session\"\n  | \"interview_turn\"\n  | \"invitation\"\n  | \"invitation_code\"\n  | \"invitation_request\"\n  | \"io_comment\"\n  | \"io_contract\"\n  | \"io_import\"\n  | \"io_outbox\"\n  | \"item\"\n  | \"item_mastery\"\n  | \"judge_verdict\"\n  | \"jurisdiction_policy\"\n  | \"keyword_classification_queue\"\n  | \"kg_alert\"\n  | \"kg_chunk_entities\"\n  | \"kg_chunks\"\n  | \"kg_clusters\"\n  | \"kg_edges\"\n  | \"kg_entities\"\n  | \"kg_entity_aliases\"\n  | \"kg_suggestion_ack\"\n  | \"kg_sweep_queue\"\n  | \"kg_sweep_run\"\n  | \"kg_sweep_state\"\n  | \"kg_value_match\"\n  | \"knob_override\"\n  | \"knob_override_audit\"\n  | \"knob_rung_lock\"\n  | \"knob_scope_kind\"\n  | \"knob_write_door\"\n  | \"league_membership\"\n  | \"learn_doc\"\n  | \"library_doc\"\n  | \"lifecycle_archive\"\n  | \"lifecycle_archive_row\"\n  | \"lifecycle_audit\"\n  | \"lifecycle_entity_plan\"\n  | \"lifecycle_map_build\"\n  | \"lifecycle_reference_map\"\n  | \"lifecycle_run\"\n  | \"lifecycle_tier_ledger\"\n  | \"location\"\n  | \"mandate\"\n  | \"mandate_advance_batch_row\"\n  | \"mandate_binding\"\n  | \"mandate_candidate\"\n  | \"mandate_candidate_run\"\n  | \"mandate_candidate_run_payload\"\n  | \"mandate_goal_clauses\"\n  | \"mandate_observation\"\n  | \"mandate_proposal\"\n  | \"mandate_readiness_verdict\"\n  | \"mandate_reference\"\n  | \"mandate_scan\"\n  | \"mandate_treatment\"\n  | \"marketing_initiative\"\n  | \"masterwork_corpus_item\"\n  | \"masterwork_run\"\n  | \"masterwork_run_kind\"\n  | \"masterwork_source\"\n  | \"math_course_structure\"\n  | \"math_problem\"\n  | \"matrx_action_ledger\"\n  | \"mcp_config\"\n  | \"mcp_server\"\n  | \"mcp_user_conn\"\n  | \"media_capture_handoff\"\n  | \"media_catalog_setting\"\n  | \"media_library_item\"\n  | \"media_selection_item\"\n  | \"media_selection_job\"\n  | \"media_source_library\"\n  | \"meet_call_invite\"\n  | \"meet_chat_message\"\n  | \"meet_connection\"\n  | \"meet_invitee\"\n  | \"meet_meeting\"\n  | \"meet_note\"\n  | \"meet_occurrence_override\"\n  | \"meet_participant\"\n  | \"meet_recording\"\n  | \"meet_session\"\n  | \"meet_transcript_segment\"\n  | \"membership\"\n  | \"membership_grant\"\n  | \"memory_trial\"\n  | \"memory_trial_step\"\n  | \"merge_field_provenance\"\n  | \"message\"\n  | \"message_template\"\n  | \"message_template_detail\"\n  | \"meta_excluded_schema\"\n  | \"meta_table_stats_history\"\n  | \"metadata_reserved_keys\"\n  | \"migration_log\"\n  | \"mtx_media_heal_queue\"\n  | \"mtx_public_url_guard\"\n  | \"ner_shadow\"\n  | \"note\"\n  | \"notification\"\n  | \"notification_channel_preference\"\n  | \"notification_event_override\"\n  | \"notification_event_type\"\n  | \"notification_preference\"\n  | \"notification_submission\"\n  | \"notify_outsider_door_baseline\"\n  | \"oauth_handoff_claim\"\n  | \"opinion_clusters\"\n  | \"opinions\"\n  | \"ops_auth_lock_watchdog_log\"\n  | \"ops_check_item\"\n  | \"ops_check_run\"\n  | \"ops_db_host_sample\"\n  | \"ops_issue_class\"\n  | \"ops_issue_event\"\n  | \"ops_perf_client_event\"\n  | \"ops_perf_sample\"\n  | \"ops_perf_statement_snapshot\"\n  | \"ops_proof_check\"\n  | \"ops_proof_run\"\n  | \"ops_proof_scenario\"\n  | \"ops_source_read_cache\"\n  | \"ops_test_replay_cache\"\n  | \"org_admin_audit\"\n  | \"org_change_policy\"\n  | \"org_chart_publication\"\n  | \"org_context_ledger\"\n  | \"org_industries\"\n  | \"org_member_control\"\n  | \"org_module_config\"\n  | \"org_move_txn\"\n  | \"org_plan\"\n  | \"org_sweep_list\"\n  | \"organization\"\n  | \"organization_preferences\"\n  | \"organization_visibility_version\"\n  | \"output_feedback\"\n  | \"outreach_acceptance\"\n  | \"page_extraction_job\"\n  | \"page_extraction_page_run\"\n  | \"page_extraction_results\"\n  | \"page_extraction_runs\"\n  | \"page_intent_queue\"\n  | \"page_mapping_queue\"\n  | \"page_vitals\"\n  | \"part_config\"\n  | \"part_config_sub\"\n  | \"party\"\n  | \"party_contact_point\"\n  | \"passkey_credential\"\n  | \"pc_article\"\n  | \"pc_episode\"\n  | \"pc_show\"\n  | \"pc_studio_run\"\n  | \"pc_studio_run_asset\"\n  | \"pdf_consolidation_log\"\n  | \"pdf_redaction_audit\"\n  | \"pdf_redaction_key_escrow\"\n  | \"permission_grant\"\n  | \"personal_data_column\"\n  | \"plan_cms_fill_item\"\n  | \"plan_cms_fill_job\"\n  | \"plan_entity\"\n  | \"plan_node\"\n  | \"plan_node_artifact\"\n  | \"plan_node_step\"\n  | \"plan_profile\"\n  | \"platform_action_request\"\n  | \"platform_actor_session\"\n  | \"platform_actor_token\"\n  | \"platform_actor_token_event\"\n  | \"platform_class_approval_by_arman\"\n  | \"platform_class_approval_by_org_admin\"\n  | \"platform_continued_access\"\n  | \"platform_cutover_census_run\"\n  | \"platform_cutover_evaluation_replaced\"\n  | \"platform_cutover_evaluation_write\"\n  | \"platform_cutover_seam\"\n  | \"platform_cutover_seam_measure\"\n  | \"platform_cutover_seam_press\"\n  | \"platform_dated_change\"\n  | \"platform_doors_only_pending_cutover\"\n  | \"platform_google_calendar_event_create_intent\"\n  | \"platform_google_task_create_intent\"\n  | \"platform_hidden_item\"\n  | \"platform_kernel_fingerprint_record\"\n  | \"platform_outcome_event\"\n  | \"platform_outsider_consumer\"\n  | \"platform_provision_base_contract_pending\"\n  | \"platform_reachability\"\n  | \"platform_reachability_rebuild_pending\"\n  | \"platform_realtime_topic_prefix\"\n  | \"platform_reference_category\"\n  | \"platform_reference_declaration\"\n  | \"platform_repo\"\n  | \"platform_saved_view\"\n  | \"platform_schema\"\n  | \"platform_secure_delivery\"\n  | \"platform_share_link\"\n  | \"platform_strict_class_probe\"\n  | \"podcast_race\"\n  | \"position\"\n  | \"presentation\"\n  | \"processed_document\"\n  | \"processed_document_page\"\n  | \"product_capture_file\"\n  | \"product_capture_item\"\n  | \"product_capture_payload\"\n  | \"product_capture_product\"\n  | \"product_capture_question\"\n  | \"project\"\n  | \"provider_account\"\n  | \"provider_account_credential\"\n  | \"provision\"\n  | \"provision_generate_target\"\n  | \"provision_grant\"\n  | \"provision_marker\"\n  | \"provision_rule_message\"\n  | \"provision_schema\"\n  | \"provision_shape_debt\"\n  | \"provision_snapshot\"\n  | \"provision_spec\"\n  | \"provision_spec_grandfather\"\n  | \"provision_vocabulary\"\n  | \"public_compat_wrapper\"\n  | \"public_placement_baseline\"\n  | \"public_placement_census\"\n  | \"public_placement_domain\"\n  | \"public_restore_permit\"\n  | \"purpose\"\n  | \"quiz_session\"\n  | \"rag_ingest_run\"\n  | \"rag_library_audit_log\"\n  | \"rate_limit_buckets\"\n  | \"reachability_pending\"\n  | \"read_mask_kept\"\n  | \"recompute_queue\"\n  | \"record\"\n  | \"record_alias\"\n  | \"record_computed\"\n  | \"record_follow\"\n  | \"redaction_mapping\"\n  | \"relationship_rule\"\n  | \"research_analysis\"\n  | \"research_content\"\n  | \"research_context_bundle\"\n  | \"research_document\"\n  | \"research_intent\"\n  | \"research_keyword\"\n  | \"research_media\"\n  | \"research_source\"\n  | \"research_synthesis\"\n  | \"research_tag\"\n  | \"research_template\"\n  | \"research_topic\"\n  | \"retention_policy\"\n  | \"retrieval_audit\"\n  | \"review_queue\"\n  | \"route_manifest_entry\"\n  | \"row_version\"\n  | \"rulebook\"\n  | \"run_approval\"\n  | \"run_approval_event\"\n  | \"runtime_operation_stream\"\n  | \"runtime_operation_stream_batch\"\n  | \"sandbox_instance\"\n  | \"sch_agent_task\"\n  | \"sch_run\"\n  | \"sch_task\"\n  | \"sch_trigger\"\n  | \"scheduler_automation_run_subject\"\n  | \"schema_client_exposure\"\n  | \"schema_migration_ledger\"\n  | \"schema_migration_legacy\"\n  | \"schema_migration_slot_grandfather\"\n  | \"schema_templates\"\n  | \"scope\"\n  | \"scope_association_suggestion\"\n  | \"scope_door_registry\"\n  | \"scope_item_value_suggestion\"\n  | \"scope_suggestion\"\n  | \"scope_type\"\n  | \"scrape_domain\"\n  | \"scrape_domain_settings\"\n  | \"scrape_failure_log\"\n  | \"scrape_parsed_page\"\n  | \"scrape_path_override\"\n  | \"scrape_path_pattern\"\n  | \"scrape_retry_queue\"\n  | \"scraper_comparison_run\"\n  | \"scraper_data_fetch_job\"\n  | \"scraper_data_fetch_job_row\"\n  | \"scraper_data_source\"\n  | \"search_item\"\n  | \"seo_ai_capability\"\n  | \"seo_ai_visibility_brand_check\"\n  | \"seo_ai_visibility_citation\"\n  | \"seo_ai_visibility_claim\"\n  | \"seo_ai_visibility_design_artifact\"\n  | \"seo_ai_visibility_panel\"\n  | \"seo_ai_visibility_panel_version\"\n  | \"seo_ai_visibility_response\"\n  | \"seo_ai_visibility_signal\"\n  | \"seo_backlink\"\n  | \"seo_backlink_change_event\"\n  | \"seo_backlink_dimension_snapshot\"\n  | \"seo_backlink_observation\"\n  | \"seo_backlink_snapshot\"\n  | \"seo_change_assessment\"\n  | \"seo_change_event\"\n  | \"seo_change_item\"\n  | \"seo_change_metric\"\n  | \"seo_change_set\"\n  | \"seo_change_theory\"\n  | \"seo_collection_run\"\n  | \"seo_competitor\"\n  | \"seo_competitor_observation\"\n  | \"seo_competitor_opportunity\"\n  | \"seo_coverage_mention\"\n  | \"seo_coverage_tracker\"\n  | \"seo_dimension_value_matcher\"\n  | \"seo_engine_schedule\"\n  | \"seo_geo_place\"\n  | \"seo_gsc_dig_rule\"\n  | \"seo_keyword\"\n  | \"seo_keyword_class_rule\"\n  | \"seo_keyword_edge\"\n  | \"seo_keyword_facet\"\n  | \"seo_keyword_market\"\n  | \"seo_keyword_market_observation\"\n  | \"seo_keyword_place\"\n  | \"seo_keyword_saved_view\"\n  | \"seo_keyword_topic\"\n  | \"seo_landscape_brief\"\n  | \"seo_link_gap_domain\"\n  | \"seo_link_gap_match\"\n  | \"seo_map_facet\"\n  | \"seo_map_facet_value\"\n  | \"seo_map_topic\"\n  | \"seo_page_measurement_health\"\n  | \"seo_page_performance\"\n  | \"seo_pr_moment\"\n  | \"seo_provider_call\"\n  | \"seo_provider_task\"\n  | \"seo_rank_observation\"\n  | \"seo_rank_target\"\n  | \"seo_raw_payload\"\n  | \"seo_referring_domain_profile\"\n  | \"seo_reputation_case\"\n  | \"seo_search_performance_daily\"\n  | \"seo_serp_mention\"\n  | \"seo_serp_opportunity\"\n  | \"seo_serp_result\"\n  | \"seo_serp_snapshot\"\n  | \"seo_site_geo_area\"\n  | \"seo_site_keyword_offering\"\n  | \"seo_site_keyword_value\"\n  | \"seo_site_offering_value\"\n  | \"seo_site_topic_value\"\n  | \"seo_site_value_combo\"\n  | \"seo_site_value_worth\"\n  | \"seo_site_vocabulary\"\n  | \"seo_source_request\"\n  | \"seo_starter_pack\"\n  | \"seo_starter_pack_item\"\n  | \"seo_story_angle\"\n  | \"seo_topic\"\n  | \"seo_topical_map\"\n  | \"seo_tracker_story\"\n  | \"seo_web_analytics_daily\"\n  | \"share_link_password\"\n  | \"shareable_resource_registry\"\n  | \"shared_canvas_item\"\n  | \"short_link\"\n  | \"sign_in_fk_legacy\"\n  | \"skill\"\n  | \"skill_detail\"\n  | \"sms_consent\"\n  | \"sms_conversation\"\n  | \"sms_message\"\n  | \"sms_message_media\"\n  | \"sms_notification\"\n  | \"sms_notification_preference\"\n  | \"sms_phone_number\"\n  | \"sms_rate_limits\"\n  | \"sms_webhook_logs\"\n  | \"social_account_insight_daily\"\n  | \"social_ad\"\n  | \"social_captured_post\"\n  | \"social_kpi_goal\"\n  | \"social_own_post_metric\"\n  | \"social_post\"\n  | \"social_post_analysis\"\n  | \"social_post_comment\"\n  | \"social_post_metric_snapshot\"\n  | \"social_post_stat\"\n  | \"social_post_transcript\"\n  | \"social_profile\"\n  | \"social_profile_snapshot\"\n  | \"social_remix_output\"\n  | \"social_swipe_collection\"\n  | \"social_tracked_account\"\n  | \"social_video_composition_version\"\n  | \"social_video_project\"\n  | \"social_video_variant\"\n  | \"social_watchlist_hit\"\n  | \"soft_delete_cascade_job\"\n  | \"soft_delete_edge\"\n  | \"source_authority\"\n  | \"space_payload\"\n  | \"stage_ref_kind\"\n  | \"stamped_write_table\"\n  | \"structure\"\n  | \"studio_cleaned_segments\"\n  | \"studio_concept_items\"\n  | \"studio_documents\"\n  | \"studio_module_segments\"\n  | \"studio_raw_segments\"\n  | \"studio_recording_chunks\"\n  | \"studio_recording_segments\"\n  | \"studio_run\"\n  | \"studio_session\"\n  | \"studio_session_settings\"\n  | \"study_attempt\"\n  | \"study_goal\"\n  | \"study_media\"\n  | \"study_plan\"\n  | \"study_plan_block\"\n  | \"study_plan_day\"\n  | \"study_reminder_context\"\n  | \"study_reminder_delivery\"\n  | \"study_session\"\n  | \"study_source_chunk\"\n  | \"study_streak\"\n  | \"study_structured_section\"\n  | \"superseded_policy\"\n  | \"support_session\"\n  | \"support_session_event\"\n  | \"surface\"\n  | \"system_announcement\"\n  | \"system_context_item\"\n  | \"system_context_item_org_value\"\n  | \"system_error\"\n  | \"system_orgs\"\n  | \"system_write_failure\"\n  | \"t13_backfill_ledger\"\n  | \"t13_default_ledger\"\n  | \"t13_row_column_events\"\n  | \"tag\"\n  | \"task\"\n  | \"task_user_state\"\n  | \"taxonomy_node\"\n  | \"template_context_items\"\n  | \"template_scope_types\"\n  | \"templates\"\n  | \"test_handset_inbox\"\n  | \"test_handset_verification\"\n  | \"thread\"\n  | \"tool\"\n  | \"tool_battle\"\n  | \"tool_battle_cell\"\n  | \"tool_binding\"\n  | \"tool_bundle\"\n  | \"tool_call\"\n  | \"tool_call_facts\"\n  | \"tool_canary_run\"\n  | \"tool_catalog_cache\"\n  | \"tool_catalog_call\"\n  | \"tool_catalog_call_attempt\"\n  | \"tool_catalog_call_detail\"\n  | \"tool_catalog_endpoint\"\n  | \"tool_catalog_entry\"\n  | \"tool_catalog_provider\"\n  | \"tool_definition_version\"\n  | \"tool_executor\"\n  | \"tool_feature_scorecard\"\n  | \"tool_surface_defaults\"\n  | \"tool_test_sample\"\n  | \"tool_ui\"\n  | \"tool_ui_incident\"\n  | \"tool_ui_version\"\n  | \"topic_placement_queue\"\n  | \"transcript\"\n  | \"trigger_event\"\n  | \"udt_document\"\n  | \"udt_document_snapshot\"\n  | \"udt_workbook_snapshot\"\n  | \"ui_client\"\n  | \"ui_decision_pick\"\n  | \"ui_surface_action\"\n  | \"ui_surface_agent_pref\"\n  | \"ui_surface_agent_role\"\n  | \"ui_surface_client_tool\"\n  | \"ui_surface_config\"\n  | \"ui_surface_item_type\"\n  | \"ui_surface_value\"\n  | \"ui_surface_write_target\"\n  | \"univer_payload\"\n  | \"unsubscribe_token\"\n  | \"uploads_inflight\"\n  | \"user\"\n  | \"user_achievement\"\n  | \"user_acquisition_facts\"\n  | \"user_acquisition_facts_stored\"\n  | \"user_acquisition_facts_stored_watermark\"\n  | \"user_active_context\"\n  | \"user_analysis_preference\"\n  | \"user_email_preference\"\n  | \"user_entity_state\"\n  | \"user_feedback\"\n  | \"user_follows\"\n  | \"user_form_profile\"\n  | \"user_markdown_sample\"\n  | \"user_memory\"\n  | \"user_preference\"\n  | \"user_profile\"\n  | \"user_secret\"\n  | \"user_secret_audit\"\n  | \"user_secret_grant\"\n  | \"user_stat\"\n  | \"user_storage_usage\"\n  | \"user_surface_state\"\n  | \"users_calendar_feed\"\n  | \"vault_fill_approvals\"\n  | \"vault_fill_devices\"\n  | \"vault_fill_nonces\"\n  | \"visibility_cache\"\n  | \"visibility_epoch\"\n  | \"voice\"\n  | \"war_room\"\n  | \"wbx_demo\"\n  | \"wbx_guidance\"\n  | \"wbx_highlight\"\n  | \"wbx_pattern\"\n  | \"wbx_recipe\"\n  | \"wbx_screenshot\"\n  | \"wbx_seo_audit\"\n  | \"wc_claim\"\n  | \"wc_impairment_definition\"\n  | \"wc_injury\"\n  | \"wc_report\"\n  | \"web_analysis_item\"\n  | \"web_brand\"\n  | \"web_brand_asset\"\n  | \"web_brand_choice\"\n  | \"web_brand_exclusion\"\n  | \"web_brand_offering\"\n  | \"web_brand_persona\"\n  | \"web_brand_relation_kind\"\n  | \"web_brand_review\"\n  | \"web_brand_testimony\"\n  | \"web_business_fact\"\n  | \"web_business_location\"\n  | \"web_channel_analytics_daily\"\n  | \"web_crawl_event\"\n  | \"web_crawl_preset\"\n  | \"web_crawl_schedule\"\n  | \"web_crawl_session\"\n  | \"web_crawl_url\"\n  | \"web_discovered_item\"\n  | \"web_domain_category\"\n  | \"web_domain_category_observation\"\n  | \"web_finding\"\n  | \"web_gsc_page_stat\"\n  | \"web_link_edge\"\n  | \"web_listing_publisher\"\n  | \"web_location_listing\"\n  | \"web_news_item\"\n  | \"web_offering_template\"\n  | \"web_page\"\n  | \"web_page_content\"\n  | \"web_page_evidence\"\n  | \"web_page_sitemap\"\n  | \"web_property\"\n  | \"web_provider\"\n  | \"web_result\"\n  | \"web_screenshot\"\n  | \"web_search_review\"\n  | \"web_site\"\n  | \"web_site_endpoint_rule\"\n  | \"web_site_item_config\"\n  | \"web_site_offering\"\n  | \"web_sitemap\"\n  | \"web_snapshot\"\n  | \"web_tag_manager_snapshot\"\n  | \"web_temp_brand_firmographic\"\n  | \"web_temp_brand_presence\"\n  | \"web_temp_brand_recognition\"\n  | \"web_voice_fingerprint\"\n  | \"web_youtube_video\"\n  | \"webhook_deliveries\"\n  | \"webhook_dispatch_state\"\n  | \"webhook_test_receipt\"\n  | \"webhooks\"\n  | \"wf_node_data_slot\"\n  | \"work_claim\"\n  | \"work_item\"\n  | \"workbook\"\n  | \"worker_heartbeat\"\n  | \"workflow\"\n  | \"workflow_card\"\n  | \"workflow_checkpoint\"\n  | \"workflow_checkpoint_value\"\n  | \"workflow_comparison\"\n  | \"workflow_definition_overview\"\n  | \"workflow_definition_version\"\n  | \"workflow_idempotency\"\n  | \"workflow_job\"\n  | \"workflow_node_events\"\n  | \"workflow_node_outcome\"\n  | \"workflow_recovery_audit\"\n  | \"workflow_review_issue\"\n  | \"workflow_run\"\n  | \"workflow_run_cost\"\n  | \"workflow_run_facts\"\n  | \"workflow_run_log\"\n  | \"workflow_runtime_surface\"\n  | \"workflow_step_facts\"\n  | \"workflow_step_result\"\n  | \"workflow_template\"\n  | \"workflow_trigger\"\n  | \"workflow_trigger_fire\"\n  | \"workflow_work_item\"\n  | \"write_guard_key\"\n  | \"youtube_quota_day\"\n  | \"youtube_search\"\n  | \"youtube_video\";\n\n/** Tokens flagged `is_listed` — surfaced in list/nav UIs. */\nexport type ListedEntityToken =\n  | \"agent\"\n  | \"agent_exemplar\"\n  | \"agent_prompt_block\"\n  | \"ai_model\"\n  | \"ai_model_alias\"\n  | \"ai_provider\"\n  | \"ai_setting\"\n  | \"assist\"\n  | \"board\"\n  | \"browser_login_recipe\"\n  | \"browser_profile\"\n  | \"browser_site_policy\"\n  | \"calendar_event\"\n  | \"commerce_certified_printer\"\n  | \"commerce_cloud_sync_connection\"\n  | \"commerce_intake_batch\"\n  | \"commerce_label_batch\"\n  | \"commerce_marketplace_account\"\n  | \"commerce_print_order\"\n  | \"commerce_product\"\n  | \"content_ir_converter_definition\"\n  | \"content_ir_kind\"\n  | \"content_ir_kind_instance\"\n  | \"crm_blocklist_entry\"\n  | \"crm_deal\"\n  | \"crm_outreach_list\"\n  | \"crm_registry_source\"\n  | \"crm_sending_identity\"\n  | \"custom_field_definition\"\n  | \"custom_field_target\"\n  | \"document\"\n  | \"esign_campaign\"\n  | \"esign_consent_disclosure\"\n  | \"esign_envelope\"\n  | \"esign_provider_binding\"\n  | \"esign_template\"\n  | \"file_template\"\n  | \"files_machine_written_prefix\"\n  | \"files_sync_mapping\"\n  | \"google_document\"\n  | \"growth_loop_run\"\n  | \"hindsight_regression_case\"\n  | \"hindsight_replay_step\"\n  | \"hr_asset\"\n  | \"hr_candidate\"\n  | \"hr_careers_portal\"\n  | \"hr_checklist_template\"\n  | \"hr_course\"\n  | \"hr_crew\"\n  | \"hr_deduction_code\"\n  | \"hr_department\"\n  | \"hr_earning_code\"\n  | \"hr_employee\"\n  | \"hr_holiday_calendar\"\n  | \"hr_interview_kit\"\n  | \"hr_job_title\"\n  | \"hr_leave_policy\"\n  | \"hr_location\"\n  | \"hr_pay_group\"\n  | \"hr_posting\"\n  | \"hr_provider_binding\"\n  | \"hr_requisition\"\n  | \"hr_schedule\"\n  | \"hr_schedule_guidance\"\n  | \"hr_schedule_template\"\n  | \"hr_survey\"\n  | \"hr_workflow_definition\"\n  | \"hr_workflow_flow_type\"\n  | \"hr_workflow_instance\"\n  | \"iam_api_key\"\n  | \"interview_decision_interview\"\n  | \"interview_session\"\n  | \"learn_doc\"\n  | \"mandate\"\n  | \"mandate_binding\"\n  | \"mandate_readiness_verdict\"\n  | \"marketing_initiative\"\n  | \"media_source_library\"\n  | \"ops_proof_check\"\n  | \"ops_proof_scenario\"\n  | \"org_chart_publication\"\n  | \"party\"\n  | \"plan_entity\"\n  | \"plan_node\"\n  | \"platform_outcome_event\"\n  | \"platform_saved_view\"\n  | \"position\"\n  | \"presentation\"\n  | \"purpose\"\n  | \"research_context_bundle\"\n  | \"rulebook\"\n  | \"seo_ai_visibility_brand_check\"\n  | \"seo_dimension_value_matcher\"\n  | \"seo_geo_place\"\n  | \"seo_keyword_saved_view\"\n  | \"seo_map_facet\"\n  | \"seo_map_facet_value\"\n  | \"seo_site_value_combo\"\n  | \"seo_site_value_worth\"\n  | \"seo_starter_pack\"\n  | \"seo_topical_map\"\n  | \"surface\"\n  | \"system_context_item\"\n  | \"team\"\n  | \"ui_decision_pick\"\n  | \"web_brand_exclusion\"\n  | \"web_search_review\"\n  | \"web_youtube_video\"\n  | \"workbook\"\n  | \"workflow_runtime_surface\";\n\n/** Tokens flagged `is_module`. */\nexport type ModuleEntityToken =\n  | \"agent\"\n  | \"conversation\"\n  | \"file\"\n  | \"folder\"\n  | \"note\"\n  | \"project\"\n  | \"task\"\n  | \"transcript\";\n\n/** Every token, sorted — the iteration/validation source. */\nexport const ENTITY_TYPE_TOKENS: readonly EntityTypeToken[] = [\n  \"access_delta_probe\",\n  \"access_delta_run\",\n  \"access_request\",\n  \"access_shadow_log\",\n  \"access_version\",\n  \"access_version_event\",\n  \"account_addon\",\n  \"account_closure\",\n  \"account_facts\",\n  \"acquisition_block\",\n  \"activity\",\n  \"admin_audit_log\",\n  \"admin_email_log\",\n  \"admin_markdown_sample\",\n  \"admin_user\",\n  \"admin_user_owned_resources_cache\",\n  \"admission_config\",\n  \"agent\",\n  \"agent_card\",\n  \"agent_definition_version\",\n  \"agent_drift_alert\",\n  \"agent_exemplar\",\n  \"agent_mandate_note\",\n  \"agent_prompt_block\",\n  \"agent_prompt_block_variant\",\n  \"agent_prompt_remediation\",\n  \"agent_required_flag_change\",\n  \"agent_run\",\n  \"agent_run_stage\",\n  \"agent_schedule\",\n  \"agent_schedule_claim\",\n  \"agent_shortcut\",\n  \"agent_surface_binding\",\n  \"agent_template\",\n  \"agent_term_list\",\n  \"agent_test_result\",\n  \"agent_test_run\",\n  \"agent_usage\",\n  \"ai_api\",\n  \"ai_calls\",\n  \"ai_device_model_file\",\n  \"ai_device_model_root\",\n  \"ai_endpoint\",\n  \"ai_media_generation_cache\",\n  \"ai_model\",\n  \"ai_model_alias\",\n  \"ai_model_artifact\",\n  \"ai_model_candidate\",\n  \"ai_model_presentation\",\n  \"ai_model_upstream\",\n  \"ai_model_variant\",\n  \"ai_model_verification_run\",\n  \"ai_model_want\",\n  \"ai_offering\",\n  \"ai_person_model_want\",\n  \"ai_provider\",\n  \"ai_request_latency\",\n  \"ai_runtime\",\n  \"ai_runtime_build\",\n  \"ai_runtime_compat\",\n  \"ai_setting\",\n  \"ai_setting_profile\",\n  \"ai_translation_cell\",\n  \"ai_usage_execution_facts\",\n  \"ai_usage_executions\",\n  \"ai_usage_hourly\",\n  \"ai_usage_hourly_watermark\",\n  \"analysis_result\",\n  \"anon_form\",\n  \"anon_form_password\",\n  \"anon_form_visit\",\n  \"anon_function_birth_grandfather\",\n  \"anon_hit\",\n  \"anon_inbound\",\n  \"anon_replay\",\n  \"anon_submission\",\n  \"anon_token\",\n  \"api_field_warning\",\n  \"api_request_log\",\n  \"app\",\n  \"app_config\",\n  \"app_config_history\",\n  \"app_definition_version\",\n  \"app_error\",\n  \"app_execution\",\n  \"app_instance\",\n  \"app_log\",\n  \"app_log_hourly\",\n  \"app_log_hourly_watermark\",\n  \"app_log_lines\",\n  \"app_log_muted_pattern\",\n  \"app_log_norm_exception\",\n  \"app_log_requests_hourly\",\n  \"app_rate_limit\",\n  \"app_setting\",\n  \"app_sync_status\",\n  \"applet_visitor_binding\",\n  \"approach\",\n  \"artifact\",\n  \"assessment\",\n  \"assessment_item\",\n  \"assessment_result\",\n  \"assignment_session\",\n  \"assist\",\n  \"assist_producer_policy\",\n  \"assist_producer_policy_history\",\n  \"association_type\",\n  \"assurance_level\",\n  \"attempt\",\n  \"attention_audience_rule\",\n  \"attention_audit\",\n  \"attention_item_state\",\n  \"attention_showing\",\n  \"audit_broken_functions\",\n  \"audit_canonical_findings\",\n  \"audit_exemption\",\n  \"audit_function_deps\",\n  \"audit_function_runtime_probe\",\n  \"audit_m2m_candidates\",\n  \"audit_refresh_log\",\n  \"audit_stale_registry\",\n  \"audit_unregistered_candidates\",\n  \"automation_delivery\",\n  \"automation_fired\",\n  \"base_entity_template\",\n  \"batch_cost_event\",\n  \"batch_provider_batch\",\n  \"batch_work_item\",\n  \"billing_capability\",\n  \"billing_capability_limit\",\n  \"billing_ci_package_build\",\n  \"billing_connect_account\",\n  \"billing_coupon\",\n  \"billing_coupon_redemption\",\n  \"billing_customer\",\n  \"billing_external_call_vendor\",\n  \"billing_free_network_counter\",\n  \"billing_free_period_grant\",\n  \"billing_free_use_counter\",\n  \"billing_hard_cost_reconciliation\",\n  \"billing_held_run\",\n  \"billing_org_payment_account\",\n  \"billing_payment\",\n  \"billing_payment_ask\",\n  \"billing_plan\",\n  \"billing_plan_limit\",\n  \"billing_price\",\n  \"billing_product\",\n  \"billing_provider_balance_snapshot\",\n  \"billing_spend_alarm\",\n  \"billing_spend_alarm_occurrence\",\n  \"billing_spend_approval\",\n  \"billing_spend_guardrail\",\n  \"billing_spend_hold\",\n  \"billing_stripe_event\",\n  \"billing_subscription\",\n  \"billing_usage_ledger\",\n  \"billing_usage_reset\",\n  \"billing_user_plan\",\n  \"block_state\",\n  \"board\",\n  \"browser_account_binding\",\n  \"browser_action_event\",\n  \"browser_authenticator_window\",\n  \"browser_capture\",\n  \"browser_control_request\",\n  \"browser_handoff\",\n  \"browser_login_attempt\",\n  \"browser_login_recipe\",\n  \"browser_profile\",\n  \"browser_profile_checkpoint\",\n  \"browser_run\",\n  \"browser_site_observation\",\n  \"browser_site_policy\",\n  \"browser_stream_ticket\",\n  \"build_lock\",\n  \"calendar_event\",\n  \"campaign_watch_ramp_gate_run\",\n  \"campaign_watch_switch_outbox\",\n  \"campaign_watch_switch_window\",\n  \"canvas_comment\",\n  \"canvas_comment_like\",\n  \"canvas_item\",\n  \"canvas_item_state\",\n  \"canvas_like\",\n  \"canvas_score\",\n  \"canvas_view\",\n  \"capture_window\",\n  \"carrying_rule\",\n  \"catalog_entries_history\",\n  \"catalog_entry\",\n  \"category\",\n  \"change_item\",\n  \"change_job\",\n  \"change_job_row\",\n  \"change_plan\",\n  \"change_type_default\",\n  \"change_work\",\n  \"chat_user_usage_summary\",\n  \"citations\",\n  \"class_purchase\",\n  \"classifier_revision_ledger\",\n  \"client_callable_door\",\n  \"client_callable_door_retirement\",\n  \"client_excluded_column_unregistered\",\n  \"cmp_entry\",\n  \"cmp_feedback\",\n  \"code_file\",\n  \"code_folder\",\n  \"code_repository\",\n  \"coding_session\",\n  \"coding_session_entry\",\n  \"collab_checkpoint\",\n  \"collab_op\",\n  \"collab_room\",\n  \"comment\",\n  \"commerce_asset_allocation\",\n  \"commerce_asset_grading\",\n  \"commerce_asset_identifier\",\n  \"commerce_asset_lot_event\",\n  \"commerce_asset_mandate_result\",\n  \"commerce_asset_price_factor\",\n  \"commerce_asset_reshoot_request\",\n  \"commerce_asset_review\",\n  \"commerce_asset_unknown\",\n  \"commerce_certified_printer\",\n  \"commerce_cloud_sync_connection\",\n  \"commerce_ebay_business_policy\",\n  \"commerce_ebay_category\",\n  \"commerce_ebay_category_aspect\",\n  \"commerce_ebay_category_tree\",\n  \"commerce_ebay_custom_policy\",\n  \"commerce_ebay_inventory_item\",\n  \"commerce_ebay_inventory_item_group\",\n  \"commerce_ebay_inventory_item_group_member\",\n  \"commerce_ebay_inventory_location\",\n  \"commerce_ebay_listing\",\n  \"commerce_ebay_marketplace_policy\",\n  \"commerce_ebay_media_asset\",\n  \"commerce_ebay_notification_destination\",\n  \"commerce_ebay_notification_event\",\n  \"commerce_ebay_notification_subscription\",\n  \"commerce_ebay_notification_topic\",\n  \"commerce_ebay_offer\",\n  \"commerce_ebay_order\",\n  \"commerce_ebay_order_line_item\",\n  \"commerce_ebay_shipping_fulfillment\",\n  \"commerce_ebay_store_category\",\n  \"commerce_human_correction\",\n  \"commerce_intake_artifact\",\n  \"commerce_intake_asset\",\n  \"commerce_intake_batch\",\n  \"commerce_label_batch\",\n  \"commerce_label_code\",\n  \"commerce_marketplace_account\",\n  \"commerce_marketplace_account_deletion_audit\",\n  \"commerce_marketplace_api_call\",\n  \"commerce_marketplace_rate_budget\",\n  \"commerce_marketplace_site\",\n  \"commerce_marketplace_sync_run\",\n  \"commerce_prediction_outcome\",\n  \"commerce_print_order\",\n  \"commerce_product\",\n  \"commerce_product_channel_ref\",\n  \"commerce_product_media\",\n  \"commerce_product_variant\",\n  \"commerce_recall_audit\",\n  \"communication_calendar_selected_snapshot_state\",\n  \"communication_channel_readiness\",\n  \"comparison_set\",\n  \"computed_org_mark\",\n  \"computed_reader_cols\",\n  \"computed_reader_judgement\",\n  \"config_manifest\",\n  \"config_read_bucket\",\n  \"contact_medium\",\n  \"contact_submission\",\n  \"content_certification\",\n  \"content_ir_converter_definition\",\n  \"content_ir_converter_run\",\n  \"content_ir_kind\",\n  \"content_ir_kind_component\",\n  \"content_ir_kind_component_incident\",\n  \"content_ir_kind_component_layer\",\n  \"content_ir_kind_conformance\",\n  \"content_ir_kind_edge\",\n  \"content_ir_kind_example\",\n  \"content_ir_kind_instance\",\n  \"content_ir_kind_surface\",\n  \"content_ir_render_inspection\",\n  \"content_lane\",\n  \"context_access_log\",\n  \"context_item\",\n  \"context_item_suggestion\",\n  \"conversation\",\n  \"conversation_value\",\n  \"courts\",\n  \"credential_attachment\",\n  \"credential_item\",\n  \"credential_mutation_receipt\",\n  \"crm_address\",\n  \"crm_affiliation\",\n  \"crm_blocklist_entry\",\n  \"crm_contact_candidate\",\n  \"crm_deal\",\n  \"crm_deal_stage_event\",\n  \"crm_enrichment_call\",\n  \"crm_interaction\",\n  \"crm_merge_candidate\",\n  \"crm_outreach_list\",\n  \"crm_outreach_list_member\",\n  \"crm_party_merge\",\n  \"crm_party_research\",\n  \"crm_registry_ingest_run\",\n  \"crm_registry_source\",\n  \"crm_sending_claim\",\n  \"crm_sending_event\",\n  \"crm_sending_identity\",\n  \"crm_sending_identity_check\",\n  \"crm_sending_policy\",\n  \"custom_agent_table_origin\",\n  \"custom_agent_table_trust\",\n  \"custom_agg_digest_checked\",\n  \"custom_anon_form_draft\",\n  \"custom_base\",\n  \"custom_base_snapshot\",\n  \"custom_field_definition\",\n  \"custom_field_target\",\n  \"custom_inbox_item_state\",\n  \"custom_io_outbox_consumer\",\n  \"custom_io_outbox_consumption\",\n  \"custom_portal\",\n  \"custom_portal_principal\",\n  \"custom_portal_table\",\n  \"custom_share_tails_mine_repair\",\n  \"custom_synced_source\",\n  \"custom_template\",\n  \"custom_template_install\",\n  \"custom_whole_value_parked\",\n  \"cx_agent_memory\",\n  \"cx_agent_plan\",\n  \"cx_agent_task\",\n  \"cx_code_edit\",\n  \"cx_code_message_file\",\n  \"cx_media\",\n  \"cx_observational_memory\",\n  \"cx_observational_memory_event\",\n  \"cx_pending_injection\",\n  \"cx_request\",\n  \"cx_request_snapshot\",\n  \"cx_request_values\",\n  \"cx_tool_trace\",\n  \"cx_user_request\",\n  \"cx_user_todo\",\n  \"data_rights_event\",\n  \"data_store\",\n  \"data_store_members\",\n  \"ddl_guard_log\",\n  \"deck_suggestion\",\n  \"definer_class_exemption\",\n  \"definer_client_grant_grandfather\",\n  \"definer_grant_baseline\",\n  \"deprecated_relation\",\n  \"derive_run\",\n  \"desktop_app_account\",\n  \"desktop_app_instance\",\n  \"desktop_app_profile\",\n  \"dev_login_audit\",\n  \"device_handoff\",\n  \"dict_entry\",\n  \"dict_provider_publication\",\n  \"dict_setting\",\n  \"dm_conversation\",\n  \"dm_message\",\n  \"dm_participant\",\n  \"dm_session_member\",\n  \"doc_render\",\n  \"doc_signature\",\n  \"dockets\",\n  \"document\",\n  \"document_version\",\n  \"domain_classification\",\n  \"edge_payload_kind\",\n  \"egress_device\",\n  \"egress_pairing\",\n  \"egress_ticket\",\n  \"emails\",\n  \"embedding_cache\",\n  \"embeddings_google_gemini_2_1536\",\n  \"embeddings_oai_3_small_1536\",\n  \"embeddings_voyage_4_large_1024\",\n  \"embeddings_voyage_code_3_1024\",\n  \"endpoint_family_sweep_state\",\n  \"engine_owner_task\",\n  \"entity_grant\",\n  \"entity_protected_value\",\n  \"entity_protected_value_version\",\n  \"entity_relationship\",\n  \"entity_type\",\n  \"esign_campaign\",\n  \"esign_campaign_member\",\n  \"esign_consent_disclosure\",\n  \"esign_envelope\",\n  \"esign_envelope_certificate\",\n  \"esign_envelope_document\",\n  \"esign_envelope_draft\",\n  \"esign_envelope_event\",\n  \"esign_envelope_external_ref\",\n  \"esign_envelope_signer\",\n  \"esign_provider\",\n  \"esign_provider_binding\",\n  \"esign_saved_signature\",\n  \"esign_signing_key\",\n  \"esign_template\",\n  \"execution_event_cursor\",\n  \"extension_auth_code\",\n  \"external_api_reservation\",\n  \"external_conversation\",\n  \"external_delivery_event\",\n  \"external_inbox\",\n  \"external_link\",\n  \"external_message\",\n  \"external_provider_receipt\",\n  \"external_source\",\n  \"extract_sweep_state\",\n  \"fc_card\",\n  \"fc_detail\",\n  \"fc_set\",\n  \"feature_doc\",\n  \"feature_knob\",\n  \"feedback_comments\",\n  \"feedback_user_messages\",\n  \"file\",\n  \"file_analysis\",\n  \"file_entities\",\n  \"file_overrides\",\n  \"file_page_annotations\",\n  \"file_pages\",\n  \"file_rag_job\",\n  \"file_template\",\n  \"file_version\",\n  \"files_account_tier\",\n  \"files_machine_written_prefix\",\n  \"files_sync_mapping\",\n  \"files_user_account\",\n  \"folder\",\n  \"function_contract\",\n  \"game_badge\",\n  \"game_result\",\n  \"game_room\",\n  \"global_execution\",\n  \"global_execution_checkpoint\",\n  \"global_execution_control\",\n  \"global_execution_event\",\n  \"global_meter_entry\",\n  \"global_origin\",\n  \"global_request\",\n  \"google_document\",\n  \"growth_loop_event\",\n  \"growth_loop_run\",\n  \"growth_loop_stage_run\",\n  \"guardian_link\",\n  \"guest_conversion_audit\",\n  \"guest_execution_log\",\n  \"guest_executions\",\n  \"guided_checklist_run\",\n  \"heatmap_save\",\n  \"hindsight_enrollment\",\n  \"hindsight_finding\",\n  \"hindsight_regression_case\",\n  \"hindsight_replay\",\n  \"hindsight_replay_step\",\n  \"hindsight_review\",\n  \"hr_access_audit\",\n  \"hr_access_role\",\n  \"hr_accommodation_request\",\n  \"hr_ai_evidence\",\n  \"hr_alert_routing_rule\",\n  \"hr_application\",\n  \"hr_approval_authority\",\n  \"hr_approval_delegation\",\n  \"hr_asset\",\n  \"hr_asset_assignment\",\n  \"hr_attendance_exception\",\n  \"hr_auto_close_rule\",\n  \"hr_availability\",\n  \"hr_background_check\",\n  \"hr_benefits_event\",\n  \"hr_calculation_snapshot\",\n  \"hr_candidate\",\n  \"hr_candidate_conversion\",\n  \"hr_candidate_message\",\n  \"hr_careers_portal\",\n  \"hr_checklist_item\",\n  \"hr_checklist_run\",\n  \"hr_checklist_template\",\n  \"hr_checklist_template_item\",\n  \"hr_compensation\",\n  \"hr_corrective_action\",\n  \"hr_course\",\n  \"hr_course_version\",\n  \"hr_credential\",\n  \"hr_crew\",\n  \"hr_deduction_code\",\n  \"hr_department\",\n  \"hr_derived_grant\",\n  \"hr_disposition_event\",\n  \"hr_earning_code\",\n  \"hr_eeo_response\",\n  \"hr_emergency_contact\",\n  \"hr_employee\",\n  \"hr_employee_private\",\n  \"hr_employer_profile\",\n  \"hr_employment\",\n  \"hr_employment_pin\",\n  \"hr_engagement\",\n  \"hr_establishment\",\n  \"hr_external_identity\",\n  \"hr_field_policy\",\n  \"hr_goal\",\n  \"hr_holiday\",\n  \"hr_holiday_calendar\",\n  \"hr_i9\",\n  \"hr_i9_document\",\n  \"hr_incident\",\n  \"hr_incident_party\",\n  \"hr_interview\",\n  \"hr_interview_kit\",\n  \"hr_job_title\",\n  \"hr_jurisdiction\",\n  \"hr_jurisdiction_rule\",\n  \"hr_jurisdiction_rule_class\",\n  \"hr_jurisdiction_rule_org_decision\",\n  \"hr_jurisdiction_rule_test\",\n  \"hr_kiosk_device\",\n  \"hr_kiosk_session\",\n  \"hr_labor_target\",\n  \"hr_leave_case\",\n  \"hr_leave_enrollment\",\n  \"hr_leave_ledger\",\n  \"hr_leave_policy\",\n  \"hr_leave_request\",\n  \"hr_legal_hold\",\n  \"hr_legal_hold_item\",\n  \"hr_location\",\n  \"hr_new_hire_report\",\n  \"hr_offer\",\n  \"hr_opening\",\n  \"hr_overtime_alert\",\n  \"hr_overtime_alert_rule\",\n  \"hr_overtime_preapproval\",\n  \"hr_pay_group\",\n  \"hr_pay_period\",\n  \"hr_pay_period_employment\",\n  \"hr_payroll_export\",\n  \"hr_payroll_export_line\",\n  \"hr_position_assignment\",\n  \"hr_posting\",\n  \"hr_posting_publication\",\n  \"hr_provider_binding\",\n  \"hr_provider_event\",\n  \"hr_provisioning_result\",\n  \"hr_punch\",\n  \"hr_recalculation_batch\",\n  \"hr_record_class\",\n  \"hr_records_request\",\n  \"hr_reference_check\",\n  \"hr_reporting_line\",\n  \"hr_requisition\",\n  \"hr_restricted_note\",\n  \"hr_retention_rule\",\n  \"hr_review\",\n  \"hr_review_cycle\",\n  \"hr_review_peer_nomination\",\n  \"hr_review_response\",\n  \"hr_review_template\",\n  \"hr_role_assignment\",\n  \"hr_schedule\",\n  \"hr_schedule_change\",\n  \"hr_schedule_guidance\",\n  \"hr_schedule_template\",\n  \"hr_schedule_template_shift\",\n  \"hr_scorecard\",\n  \"hr_separation\",\n  \"hr_shift\",\n  \"hr_shift_claim\",\n  \"hr_staffing_requirement\",\n  \"hr_survey\",\n  \"hr_survey_invitation\",\n  \"hr_survey_question\",\n  \"hr_survey_response\",\n  \"hr_tax_registration\",\n  \"hr_tax_withholding\",\n  \"hr_time_adjustment\",\n  \"hr_training_assignment\",\n  \"hr_training_attempt\",\n  \"hr_transcript_entry\",\n  \"hr_verification_letter_request\",\n  \"hr_work_interval\",\n  \"hr_workflow_binding\",\n  \"hr_workflow_decision\",\n  \"hr_workflow_definition\",\n  \"hr_workflow_event\",\n  \"hr_workflow_failure\",\n  \"hr_workflow_flow_type\",\n  \"hr_workflow_instance\",\n  \"hr_workflow_step\",\n  \"hr_workflow_step_definition\",\n  \"hr_workweek\",\n  \"html_extraction\",\n  \"iam_access_audit\",\n  \"iam_access_setup\",\n  \"iam_api_key\",\n  \"iam_emergency_door_request\",\n  \"iam_oauth_app\",\n  \"iam_org_availability_key\",\n  \"iam_org_domain\",\n  \"iam_org_domain_route\",\n  \"iam_publish_binding\",\n  \"iam_publisher_verification\",\n  \"iam_read_lane_v2_rollout\",\n  \"iam_record_seat_change\",\n  \"iam_sign_in_event\",\n  \"iam_world_namespace\",\n  \"iam_world_publish_admission\",\n  \"idempotency\",\n  \"industry\",\n  \"industry_curator\",\n  \"infra_status\",\n  \"ingest_runs\",\n  \"integration_connection\",\n  \"integration_connection_resource\",\n  \"interview_decision_interview\",\n  \"interview_decision_question\",\n  \"interview_document_revision\",\n  \"interview_hole\",\n  \"interview_question\",\n  \"interview_session\",\n  \"interview_turn\",\n  \"invitation\",\n  \"invitation_code\",\n  \"invitation_request\",\n  \"io_comment\",\n  \"io_contract\",\n  \"io_import\",\n  \"io_outbox\",\n  \"item\",\n  \"item_mastery\",\n  \"judge_verdict\",\n  \"jurisdiction_policy\",\n  \"keyword_classification_queue\",\n  \"kg_alert\",\n  \"kg_chunk_entities\",\n  \"kg_chunks\",\n  \"kg_clusters\",\n  \"kg_edges\",\n  \"kg_entities\",\n  \"kg_entity_aliases\",\n  \"kg_suggestion_ack\",\n  \"kg_sweep_queue\",\n  \"kg_sweep_run\",\n  \"kg_sweep_state\",\n  \"kg_value_match\",\n  \"knob_override\",\n  \"knob_override_audit\",\n  \"knob_rung_lock\",\n  \"knob_scope_kind\",\n  \"knob_write_door\",\n  \"league_membership\",\n  \"learn_doc\",\n  \"library_doc\",\n  \"lifecycle_archive\",\n  \"lifecycle_archive_row\",\n  \"lifecycle_audit\",\n  \"lifecycle_entity_plan\",\n  \"lifecycle_map_build\",\n  \"lifecycle_reference_map\",\n  \"lifecycle_run\",\n  \"lifecycle_tier_ledger\",\n  \"location\",\n  \"mandate\",\n  \"mandate_advance_batch_row\",\n  \"mandate_binding\",\n  \"mandate_candidate\",\n  \"mandate_candidate_run\",\n  \"mandate_candidate_run_payload\",\n  \"mandate_goal_clauses\",\n  \"mandate_observation\",\n  \"mandate_proposal\",\n  \"mandate_readiness_verdict\",\n  \"mandate_reference\",\n  \"mandate_scan\",\n  \"mandate_treatment\",\n  \"marketing_initiative\",\n  \"masterwork_corpus_item\",\n  \"masterwork_run\",\n  \"masterwork_run_kind\",\n  \"masterwork_source\",\n  \"math_course_structure\",\n  \"math_problem\",\n  \"matrx_action_ledger\",\n  \"mcp_config\",\n  \"mcp_server\",\n  \"mcp_user_conn\",\n  \"media_capture_handoff\",\n  \"media_catalog_setting\",\n  \"media_library_item\",\n  \"media_selection_item\",\n  \"media_selection_job\",\n  \"media_source_library\",\n  \"meet_call_invite\",\n  \"meet_chat_message\",\n  \"meet_connection\",\n  \"meet_invitee\",\n  \"meet_meeting\",\n  \"meet_note\",\n  \"meet_occurrence_override\",\n  \"meet_participant\",\n  \"meet_recording\",\n  \"meet_session\",\n  \"meet_transcript_segment\",\n  \"membership\",\n  \"membership_grant\",\n  \"memory_trial\",\n  \"memory_trial_step\",\n  \"merge_field_provenance\",\n  \"message\",\n  \"message_template\",\n  \"message_template_detail\",\n  \"meta_excluded_schema\",\n  \"meta_table_stats_history\",\n  \"metadata_reserved_keys\",\n  \"migration_log\",\n  \"mtx_media_heal_queue\",\n  \"mtx_public_url_guard\",\n  \"ner_shadow\",\n  \"note\",\n  \"notification\",\n  \"notification_channel_preference\",\n  \"notification_event_override\",\n  \"notification_event_type\",\n  \"notification_preference\",\n  \"notification_submission\",\n  \"notify_outsider_door_baseline\",\n  \"oauth_handoff_claim\",\n  \"opinion_clusters\",\n  \"opinions\",\n  \"ops_auth_lock_watchdog_log\",\n  \"ops_check_item\",\n  \"ops_check_run\",\n  \"ops_db_host_sample\",\n  \"ops_issue_class\",\n  \"ops_issue_event\",\n  \"ops_perf_client_event\",\n  \"ops_perf_sample\",\n  \"ops_perf_statement_snapshot\",\n  \"ops_proof_check\",\n  \"ops_proof_run\",\n  \"ops_proof_scenario\",\n  \"ops_source_read_cache\",\n  \"ops_test_replay_cache\",\n  \"org_admin_audit\",\n  \"org_change_policy\",\n  \"org_chart_publication\",\n  \"org_context_ledger\",\n  \"org_industries\",\n  \"org_member_control\",\n  \"org_module_config\",\n  \"org_move_txn\",\n  \"org_plan\",\n  \"org_sweep_list\",\n  \"organization\",\n  \"organization_preferences\",\n  \"organization_visibility_version\",\n  \"output_feedback\",\n  \"outreach_acceptance\",\n  \"page_extraction_job\",\n  \"page_extraction_page_run\",\n  \"page_extraction_results\",\n  \"page_extraction_runs\",\n  \"page_intent_queue\",\n  \"page_mapping_queue\",\n  \"page_vitals\",\n  \"part_config\",\n  \"part_config_sub\",\n  \"party\",\n  \"party_contact_point\",\n  \"passkey_credential\",\n  \"pc_article\",\n  \"pc_episode\",\n  \"pc_show\",\n  \"pc_studio_run\",\n  \"pc_studio_run_asset\",\n  \"pdf_consolidation_log\",\n  \"pdf_redaction_audit\",\n  \"pdf_redaction_key_escrow\",\n  \"permission_grant\",\n  \"personal_data_column\",\n  \"plan_cms_fill_item\",\n  \"plan_cms_fill_job\",\n  \"plan_entity\",\n  \"plan_node\",\n  \"plan_node_artifact\",\n  \"plan_node_step\",\n  \"plan_profile\",\n  \"platform_action_request\",\n  \"platform_actor_session\",\n  \"platform_actor_token\",\n  \"platform_actor_token_event\",\n  \"platform_class_approval_by_arman\",\n  \"platform_class_approval_by_org_admin\",\n  \"platform_continued_access\",\n  \"platform_cutover_census_run\",\n  \"platform_cutover_evaluation_replaced\",\n  \"platform_cutover_evaluation_write\",\n  \"platform_cutover_seam\",\n  \"platform_cutover_seam_measure\",\n  \"platform_cutover_seam_press\",\n  \"platform_dated_change\",\n  \"platform_doors_only_pending_cutover\",\n  \"platform_google_calendar_event_create_intent\",\n  \"platform_google_task_create_intent\",\n  \"platform_hidden_item\",\n  \"platform_kernel_fingerprint_record\",\n  \"platform_outcome_event\",\n  \"platform_outsider_consumer\",\n  \"platform_provision_base_contract_pending\",\n  \"platform_reachability\",\n  \"platform_reachability_rebuild_pending\",\n  \"platform_realtime_topic_prefix\",\n  \"platform_reference_category\",\n  \"platform_reference_declaration\",\n  \"platform_repo\",\n  \"platform_saved_view\",\n  \"platform_schema\",\n  \"platform_secure_delivery\",\n  \"platform_share_link\",\n  \"platform_strict_class_probe\",\n  \"podcast_race\",\n  \"position\",\n  \"presentation\",\n  \"processed_document\",\n  \"processed_document_page\",\n  \"product_capture_file\",\n  \"product_capture_item\",\n  \"product_capture_payload\",\n  \"product_capture_product\",\n  \"product_capture_question\",\n  \"project\",\n  \"provider_account\",\n  \"provider_account_credential\",\n  \"provision\",\n  \"provision_generate_target\",\n  \"provision_grant\",\n  \"provision_marker\",\n  \"provision_rule_message\",\n  \"provision_schema\",\n  \"provision_shape_debt\",\n  \"provision_snapshot\",\n  \"provision_spec\",\n  \"provision_spec_grandfather\",\n  \"provision_vocabulary\",\n  \"public_compat_wrapper\",\n  \"public_placement_baseline\",\n  \"public_placement_census\",\n  \"public_placement_domain\",\n  \"public_restore_permit\",\n  \"purpose\",\n  \"quiz_session\",\n  \"rag_ingest_run\",\n  \"rag_library_audit_log\",\n  \"rate_limit_buckets\",\n  \"reachability_pending\",\n  \"read_mask_kept\",\n  \"recompute_queue\",\n  \"record\",\n  \"record_alias\",\n  \"record_computed\",\n  \"record_follow\",\n  \"redaction_mapping\",\n  \"relationship_rule\",\n  \"research_analysis\",\n  \"research_content\",\n  \"research_context_bundle\",\n  \"research_document\",\n  \"research_intent\",\n  \"research_keyword\",\n  \"research_media\",\n  \"research_source\",\n  \"research_synthesis\",\n  \"research_tag\",\n  \"research_template\",\n  \"research_topic\",\n  \"retention_policy\",\n  \"retrieval_audit\",\n  \"review_queue\",\n  \"route_manifest_entry\",\n  \"row_version\",\n  \"rulebook\",\n  \"run_approval\",\n  \"run_approval_event\",\n  \"runtime_operation_stream\",\n  \"runtime_operation_stream_batch\",\n  \"sandbox_instance\",\n  \"sch_agent_task\",\n  \"sch_run\",\n  \"sch_task\",\n  \"sch_trigger\",\n  \"scheduler_automation_run_subject\",\n  \"schema_client_exposure\",\n  \"schema_migration_ledger\",\n  \"schema_migration_legacy\",\n  \"schema_migration_slot_grandfather\",\n  \"schema_templates\",\n  \"scope\",\n  \"scope_association_suggestion\",\n  \"scope_door_registry\",\n  \"scope_item_value_suggestion\",\n  \"scope_suggestion\",\n  \"scope_type\",\n  \"scrape_domain\",\n  \"scrape_domain_settings\",\n  \"scrape_failure_log\",\n  \"scrape_parsed_page\",\n  \"scrape_path_override\",\n  \"scrape_path_pattern\",\n  \"scrape_retry_queue\",\n  \"scraper_comparison_run\",\n  \"scraper_data_fetch_job\",\n  \"scraper_data_fetch_job_row\",\n  \"scraper_data_source\",\n  \"search_item\",\n  \"seo_ai_capability\",\n  \"seo_ai_visibility_brand_check\",\n  \"seo_ai_visibility_citation\",\n  \"seo_ai_visibility_claim\",\n  \"seo_ai_visibility_design_artifact\",\n  \"seo_ai_visibility_panel\",\n  \"seo_ai_visibility_panel_version\",\n  \"seo_ai_visibility_response\",\n  \"seo_ai_visibility_signal\",\n  \"seo_backlink\",\n  \"seo_backlink_change_event\",\n  \"seo_backlink_dimension_snapshot\",\n  \"seo_backlink_observation\",\n  \"seo_backlink_snapshot\",\n  \"seo_change_assessment\",\n  \"seo_change_event\",\n  \"seo_change_item\",\n  \"seo_change_metric\",\n  \"seo_change_set\",\n  \"seo_change_theory\",\n  \"seo_collection_run\",\n  \"seo_competitor\",\n  \"seo_competitor_observation\",\n  \"seo_competitor_opportunity\",\n  \"seo_coverage_mention\",\n  \"seo_coverage_tracker\",\n  \"seo_dimension_value_matcher\",\n  \"seo_engine_schedule\",\n  \"seo_geo_place\",\n  \"seo_gsc_dig_rule\",\n  \"seo_keyword\",\n  \"seo_keyword_class_rule\",\n  \"seo_keyword_edge\",\n  \"seo_keyword_facet\",\n  \"seo_keyword_market\",\n  \"seo_keyword_market_observation\",\n  \"seo_keyword_place\",\n  \"seo_keyword_saved_view\",\n  \"seo_keyword_topic\",\n  \"seo_landscape_brief\",\n  \"seo_link_gap_domain\",\n  \"seo_link_gap_match\",\n  \"seo_map_facet\",\n  \"seo_map_facet_value\",\n  \"seo_map_topic\",\n  \"seo_page_measurement_health\",\n  \"seo_page_performance\",\n  \"seo_pr_moment\",\n  \"seo_provider_call\",\n  \"seo_provider_task\",\n  \"seo_rank_observation\",\n  \"seo_rank_target\",\n  \"seo_raw_payload\",\n  \"seo_referring_domain_profile\",\n  \"seo_reputation_case\",\n  \"seo_search_performance_daily\",\n  \"seo_serp_mention\",\n  \"seo_serp_opportunity\",\n  \"seo_serp_result\",\n  \"seo_serp_snapshot\",\n  \"seo_site_geo_area\",\n  \"seo_site_keyword_offering\",\n  \"seo_site_keyword_value\",\n  \"seo_site_offering_value\",\n  \"seo_site_topic_value\",\n  \"seo_site_value_combo\",\n  \"seo_site_value_worth\",\n  \"seo_site_vocabulary\",\n  \"seo_source_request\",\n  \"seo_starter_pack\",\n  \"seo_starter_pack_item\",\n  \"seo_story_angle\",\n  \"seo_topic\",\n  \"seo_topical_map\",\n  \"seo_tracker_story\",\n  \"seo_web_analytics_daily\",\n  \"share_link_password\",\n  \"shareable_resource_registry\",\n  \"shared_canvas_item\",\n  \"short_link\",\n  \"sign_in_fk_legacy\",\n  \"skill\",\n  \"skill_detail\",\n  \"sms_consent\",\n  \"sms_conversation\",\n  \"sms_message\",\n  \"sms_message_media\",\n  \"sms_notification\",\n  \"sms_notification_preference\",\n  \"sms_phone_number\",\n  \"sms_rate_limits\",\n  \"sms_webhook_logs\",\n  \"social_account_insight_daily\",\n  \"social_ad\",\n  \"social_captured_post\",\n  \"social_kpi_goal\",\n  \"social_own_post_metric\",\n  \"social_post\",\n  \"social_post_analysis\",\n  \"social_post_comment\",\n  \"social_post_metric_snapshot\",\n  \"social_post_stat\",\n  \"social_post_transcript\",\n  \"social_profile\",\n  \"social_profile_snapshot\",\n  \"social_remix_output\",\n  \"social_swipe_collection\",\n  \"social_tracked_account\",\n  \"social_video_composition_version\",\n  \"social_video_project\",\n  \"social_video_variant\",\n  \"social_watchlist_hit\",\n  \"soft_delete_cascade_job\",\n  \"soft_delete_edge\",\n  \"source_authority\",\n  \"space_payload\",\n  \"stage_ref_kind\",\n  \"stamped_write_table\",\n  \"structure\",\n  \"studio_cleaned_segments\",\n  \"studio_concept_items\",\n  \"studio_documents\",\n  \"studio_module_segments\",\n  \"studio_raw_segments\",\n  \"studio_recording_chunks\",\n  \"studio_recording_segments\",\n  \"studio_run\",\n  \"studio_session\",\n  \"studio_session_settings\",\n  \"study_attempt\",\n  \"study_goal\",\n  \"study_media\",\n  \"study_plan\",\n  \"study_plan_block\",\n  \"study_plan_day\",\n  \"study_reminder_context\",\n  \"study_reminder_delivery\",\n  \"study_session\",\n  \"study_source_chunk\",\n  \"study_streak\",\n  \"study_structured_section\",\n  \"superseded_policy\",\n  \"support_session\",\n  \"support_session_event\",\n  \"surface\",\n  \"system_announcement\",\n  \"system_context_item\",\n  \"system_context_item_org_value\",\n  \"system_error\",\n  \"system_orgs\",\n  \"system_write_failure\",\n  \"t13_backfill_ledger\",\n  \"t13_default_ledger\",\n  \"t13_row_column_events\",\n  \"tag\",\n  \"task\",\n  \"task_user_state\",\n  \"taxonomy_node\",\n  \"team\",\n  \"template_context_items\",\n  \"template_scope_types\",\n  \"templates\",\n  \"test_handset_inbox\",\n  \"test_handset_verification\",\n  \"thread\",\n  \"tool\",\n  \"tool_battle\",\n  \"tool_battle_cell\",\n  \"tool_binding\",\n  \"tool_bundle\",\n  \"tool_call\",\n  \"tool_call_facts\",\n  \"tool_canary_run\",\n  \"tool_catalog_cache\",\n  \"tool_catalog_call\",\n  \"tool_catalog_call_attempt\",\n  \"tool_catalog_call_detail\",\n  \"tool_catalog_endpoint\",\n  \"tool_catalog_entry\",\n  \"tool_catalog_provider\",\n  \"tool_definition_version\",\n  \"tool_executor\",\n  \"tool_feature_scorecard\",\n  \"tool_surface_defaults\",\n  \"tool_test_sample\",\n  \"tool_ui\",\n  \"tool_ui_incident\",\n  \"tool_ui_version\",\n  \"topic_placement_queue\",\n  \"transcript\",\n  \"trigger_event\",\n  \"udt_document\",\n  \"udt_document_snapshot\",\n  \"udt_workbook_snapshot\",\n  \"ui_client\",\n  \"ui_decision_pick\",\n  \"ui_surface_action\",\n  \"ui_surface_agent_pref\",\n  \"ui_surface_agent_role\",\n  \"ui_surface_client_tool\",\n  \"ui_surface_config\",\n  \"ui_surface_item_type\",\n  \"ui_surface_value\",\n  \"ui_surface_write_target\",\n  \"univer_payload\",\n  \"unsubscribe_token\",\n  \"uploads_inflight\",\n  \"user\",\n  \"user_achievement\",\n  \"user_acquisition_facts\",\n  \"user_acquisition_facts_stored\",\n  \"user_acquisition_facts_stored_watermark\",\n  \"user_active_context\",\n  \"user_analysis_preference\",\n  \"user_email_preference\",\n  \"user_entity_state\",\n  \"user_feedback\",\n  \"user_follows\",\n  \"user_form_profile\",\n  \"user_markdown_sample\",\n  \"user_memory\",\n  \"user_preference\",\n  \"user_profile\",\n  \"user_secret\",\n  \"user_secret_audit\",\n  \"user_secret_grant\",\n  \"user_stat\",\n  \"user_storage_usage\",\n  \"user_surface_state\",\n  \"users_calendar_feed\",\n  \"vault_fill_approvals\",\n  \"vault_fill_devices\",\n  \"vault_fill_nonces\",\n  \"visibility_cache\",\n  \"visibility_epoch\",\n  \"voice\",\n  \"war_room\",\n  \"wbx_demo\",\n  \"wbx_guidance\",\n  \"wbx_highlight\",\n  \"wbx_pattern\",\n  \"wbx_recipe\",\n  \"wbx_screenshot\",\n  \"wbx_seo_audit\",\n  \"wc_claim\",\n  \"wc_impairment_definition\",\n  \"wc_injury\",\n  \"wc_report\",\n  \"web_analysis_item\",\n  \"web_brand\",\n  \"web_brand_asset\",\n  \"web_brand_choice\",\n  \"web_brand_exclusion\",\n  \"web_brand_offering\",\n  \"web_brand_persona\",\n  \"web_brand_relation_kind\",\n  \"web_brand_review\",\n  \"web_brand_testimony\",\n  \"web_business_fact\",\n  \"web_business_location\",\n  \"web_channel_analytics_daily\",\n  \"web_crawl_event\",\n  \"web_crawl_preset\",\n  \"web_crawl_schedule\",\n  \"web_crawl_session\",\n  \"web_crawl_url\",\n  \"web_discovered_item\",\n  \"web_domain_category\",\n  \"web_domain_category_observation\",\n  \"web_finding\",\n  \"web_gsc_page_stat\",\n  \"web_link_edge\",\n  \"web_listing_publisher\",\n  \"web_location_listing\",\n  \"web_news_item\",\n  \"web_offering_template\",\n  \"web_page\",\n  \"web_page_content\",\n  \"web_page_evidence\",\n  \"web_page_sitemap\",\n  \"web_property\",\n  \"web_provider\",\n  \"web_result\",\n  \"web_screenshot\",\n  \"web_search_review\",\n  \"web_site\",\n  \"web_site_endpoint_rule\",\n  \"web_site_item_config\",\n  \"web_site_offering\",\n  \"web_sitemap\",\n  \"web_snapshot\",\n  \"web_tag_manager_snapshot\",\n  \"web_temp_brand_firmographic\",\n  \"web_temp_brand_presence\",\n  \"web_temp_brand_recognition\",\n  \"web_voice_fingerprint\",\n  \"web_youtube_video\",\n  \"webhook_deliveries\",\n  \"webhook_dispatch_state\",\n  \"webhook_test_receipt\",\n  \"webhooks\",\n  \"wf_node_data_slot\",\n  \"work_claim\",\n  \"work_item\",\n  \"workbook\",\n  \"worker_heartbeat\",\n  \"workflow\",\n  \"workflow_card\",\n  \"workflow_checkpoint\",\n  \"workflow_checkpoint_value\",\n  \"workflow_comparison\",\n  \"workflow_definition_overview\",\n  \"workflow_definition_version\",\n  \"workflow_idempotency\",\n  \"workflow_job\",\n  \"workflow_node_events\",\n  \"workflow_node_outcome\",\n  \"workflow_plan\",\n  \"workflow_plan_event\",\n  \"workflow_plan_sample\",\n  \"workflow_recovery_audit\",\n  \"workflow_review_issue\",\n  \"workflow_run\",\n  \"workflow_run_cost\",\n  \"workflow_run_facts\",\n  \"workflow_run_log\",\n  \"workflow_runtime_surface\",\n  \"workflow_step_facts\",\n  \"workflow_step_result\",\n  \"workflow_template\",\n  \"workflow_trigger\",\n  \"workflow_trigger_fire\",\n  \"workflow_work_item\",\n  \"write_guard_key\",\n  \"youtube_quota_day\",\n  \"youtube_search\",\n  \"youtube_video\",\n];\n\n/**\n * Pretty display metadata for DB schemas, mirrored from `platform.schemas`\n * (admin-writable via `admin_upsert_schema`). Tier-1 buckets for reference\n * type choosers and admin surfaces.\n */\nexport const SCHEMA_DISPLAY: Record<\n  string,\n  { readonly label: string; readonly sortOrder: number; readonly isActive: boolean }\n> = {\n  \"public\": { label: \"General\", sortOrder: 10, isActive: true },\n  \"agent\": { label: \"Agents\", sortOrder: 20, isActive: true },\n  \"app\": { label: \"Apps\", sortOrder: 25, isActive: true },\n  \"skill\": { label: \"Skills\", sortOrder: 30, isActive: true },\n  \"workflow\": { label: \"Workflows\", sortOrder: 35, isActive: true },\n  \"chat\": { label: \"Chat\", sortOrder: 40, isActive: true },\n  \"files\": { label: \"Files\", sortOrder: 45, isActive: true },\n  \"code\": { label: \"Code\", sortOrder: 50, isActive: true },\n  \"workbench\": { label: \"Workbench\", sortOrder: 55, isActive: true },\n  \"projects\": { label: \"Workspace\", sortOrder: 60, isActive: true },\n  \"transcripts\": { label: \"Transcripts\", sortOrder: 65, isActive: true },\n  \"podcast\": { label: \"Podcasts\", sortOrder: 70, isActive: true },\n  \"education\": { label: \"Education\", sortOrder: 75, isActive: true },\n  \"research\": { label: \"Research\", sortOrder: 80, isActive: true },\n  \"rag\": { label: \"Knowledge\", sortOrder: 85, isActive: true },\n  \"crm\": { label: \"CRM\", sortOrder: 87, isActive: true },\n  \"plan\": { label: \"Content Planning\", sortOrder: 88, isActive: true },\n  \"web\": { label: \"Marketing & Web\", sortOrder: 90, isActive: true },\n  \"scraper\": { label: \"Web Scraper\", sortOrder: 95, isActive: true },\n  \"docproc\": { label: \"Document Processing\", sortOrder: 100, isActive: true },\n  \"pdf\": { label: \"PDF\", sortOrder: 105, isActive: true },\n  \"canvas\": { label: \"Canvas\", sortOrder: 110, isActive: true },\n  \"content_ir\": { label: \"Structured Content\", sortOrder: 115, isActive: true },\n  \"context\": { label: \"Context\", sortOrder: 120, isActive: true },\n  \"communication\": { label: \"Communication\", sortOrder: 125, isActive: true },\n  \"legal\": { label: \"Legal\", sortOrder: 130, isActive: true },\n  \"scheduler\": { label: \"Scheduling\", sortOrder: 135, isActive: true },\n  \"ai\": { label: \"AI Models\", sortOrder: 140, isActive: true },\n  \"tool\": { label: \"Tools\", sortOrder: 145, isActive: true },\n  \"extend\": { label: \"Browser Extension\", sortOrder: 150, isActive: true },\n  \"users\": { label: \"Users\", sortOrder: 155, isActive: true },\n  \"user\": { label: \"User Data\", sortOrder: 160, isActive: true },\n  \"iam\": { label: \"Access & Identity\", sortOrder: 165, isActive: true },\n  \"platform\": { label: \"Platform\", sortOrder: 170, isActive: true },\n  \"reg\": { label: \"Registry\", sortOrder: 175, isActive: true },\n  \"runtime\": { label: \"Runtime\", sortOrder: 180, isActive: true },\n  \"ui\": { label: \"UI\", sortOrder: 185, isActive: true },\n  \"admin\": { label: \"Admin\", sortOrder: 190, isActive: true },\n  \"deprecated\": { label: \"Graveyard\", sortOrder: 900, isActive: false },\n};\n\n/**\n * Admin-defined reference chooser buckets, mirrored from\n * `platform.reference_categories` (`admin_upsert_reference_category`).\n * An entity type's `referenceCategory` points here; unassigned types\n * bucket by schema via `SCHEMA_DISPLAY`.\n */\nexport const REFERENCE_CATEGORY_DISPLAY: Record<\n  string,\n  { readonly label: string; readonly sortOrder: number; readonly isActive: boolean }\n> = {\n\n};\n\n// Pure: a host that never calls the guard must not pay for the set (importing a file does no work).\nconst ENTITY_TYPE_TOKEN_SET: ReadonlySet<string> = /* @__PURE__ */ new Set(ENTITY_TYPE_TOKENS);\n\n/** Runtime guard: is `value` a registered entity token? Narrows to the union. */\nexport function isEntityTypeToken(value: unknown): value is EntityTypeToken {\n  return typeof value === \"string\" && ENTITY_TYPE_TOKEN_SET.has(value);\n}\n","// core/rpcResult.ts — @ai-matrx/associations/core\n//\n// The never-throw result funnel every service method in this package builds\n// through — ported behavior-verbatim from matrx-frontend\n// `features/scopes/service/rpcResult.ts` (associations extraction W2,\n// 2026-08-29), with the seams inverted:\n//\n//   • console.warn / console.error → the REQUIRED errorSink port (the scream\n//     seam). `createPgErrorMapper(errorSink)` binds the sink once; services\n//     receive the bound mapper.\n//   • `isTransportFailure` is the one body in `@ai-matrx/api/net` (its\n//     NetError-class branches never fire here — /core makes no resilientFetch\n//     calls — and every plain-object/TypeError/offline shape is identical).\n//   • NEW (the demanded-schema scream, design Decision 4): a PostgREST\n//     PGRST202 — \"could not find the function\" — on any demanded RPC maps to\n//     the `demanded_schema_violation` code, names this package's contract in\n//     its message, and ALWAYS reaches the errorSink. A consumer pointed at a\n//     database without our schema gets one unambiguous scream, not a mystery\n//     toast.\n//\n// 🚨 A POSTGREST ERROR IS NOT AN `Error`. supabase-js resolves a failed\n// request with a PLAIN OBJECT (`{ code, message, details, hint }`) parsed\n// straight from the response body — `PostgrestError` is only ever *thrown*\n// when `shouldThrowOnError` is set, which this package never sets. So an\n// `e instanceof Error ? e.message : <generic>` ternary discards the real\n// message on EVERY genuine database failure. Read the fields off the OBJECT,\n// and keep the Postgres/PostgREST code in `detail` so the next failure is\n// attributable instead of anonymous. (Incident: CRM record page 2026-08-14 —\n// a real `57014 statement timeout` reached the UI as \"Unexpected error\n// talking to Supabase\".)\n//\n// Sink policy (mirrors the original's console split):\n//   • transport failures (browser offline/asleep/mid-handoff) report with\n//     code \"transport_failure\" and `context.transient: true` — they carry no\n//     database refusal an engineer can act on, and filing them as errors\n//     buries real failures;\n//   • THROWN application errors (identity port refusals, bugs) report with\n//     their mapped code — the original console.error'ed these;\n//   • plain PostgREST result errors do NOT reach the sink (the host's\n//     dataSource layer is presumed to capture them with richer call-site\n//     context, exactly as matrx-frontend's supabaseErrorCapture does — a\n//     second sink event per request is a duplicate repair-queue row) —\n//     EXCEPT PGRST202, which always screams.\n\nimport type {\n  AssociationsRpcError,\n} from \"../results\";\nimport { isTransportFailure } from \"@ai-matrx/api/net\";\nimport type { ErrorSink } from \"../ports\";\n\nexport function err(\n  code: AssociationsRpcError[\"code\"],\n  message: string,\n  detail?: unknown,\n  hint?: string,\n): { ok: false; error: AssociationsRpcError } {\n  const error: AssociationsRpcError = { code, message };\n  if (detail !== undefined) error.detail = detail;\n  if (hint !== undefined) error.hint = hint;\n  return { ok: false, error };\n}\n\nexport function ok<T>(data: T): { ok: true; data: T } {\n  return { ok: true, data };\n}\n\nfunction isPostgrestResultError(e: unknown): boolean {\n  if (!e || typeof e !== \"object\") return false;\n  const value = e as { code?: unknown; message?: unknown };\n  return typeof value.code === \"string\" && typeof value.message === \"string\";\n}\n\n/**\n * Pull `code` / `message` / `hint` off whatever the dataSource handed us.\n *\n * Three shapes reach here and only the first is common:\n *   1. a PLAIN object from PostgREST — `{ code, message, details, hint }`\n *   2. a thrown `Error` (network stack, the identity port's refusal, a bug)\n *   3. something else entirely (a string, null) from a path we don't own\n */\nfunction readPgFields(e: unknown): {\n  pgCode: string | null;\n  pgMessage: string | null;\n  pgHint: string | undefined;\n} {\n  if (e && typeof e === \"object\") {\n    const o = e as { code?: unknown; message?: unknown; hint?: unknown };\n    return {\n      pgCode: typeof o.code === \"string\" && o.code ? o.code : null,\n      // `Error` instances land here too — `message` is an own/inherited\n      // string property either way, so one read covers both shapes.\n      pgMessage: typeof o.message === \"string\" && o.message ? o.message : null,\n      pgHint: typeof o.hint === \"string\" && o.hint ? o.hint : undefined,\n    };\n  }\n  return { pgCode: null, pgMessage: null, pgHint: undefined };\n}\n\nexport type PgErrorMapper = (e: unknown) => AssociationsRpcError;\nexport type PgErrorPairMapper = (\n  e: unknown,\n) => [AssociationsRpcError[\"code\"], string, unknown, string | undefined];\n\nexport interface RpcResultHelpers {\n  ok: typeof ok;\n  err: typeof err;\n  mapPgError: PgErrorMapper;\n  mapPgErrorPair: PgErrorPairMapper;\n}\n\n/**\n * Bind the loud funnel to the host's errorSink. Every failure in this\n * package's services passes through the returned `mapPgError` exactly once.\n */\n/**\n * How every signed-out sentence starts (the host app's annotations speak the\n * same words), so a kept error string still says which remedy it needs.\n */\nexport const SIGNED_OUT_LEAD = \"You're signed out\";\nexport const SIGNED_OUT_MESSAGE = `${SIGNED_OUT_LEAD}. Sign in again — your text is kept here.`;\n\nexport function isSignedOutMessage(text: string | null | undefined): boolean {\n  return typeof text === \"string\" && text.startsWith(SIGNED_OUT_LEAD);\n}\n\nexport function createRpcResultHelpers(\n  errorSink: ErrorSink,\n  sessionAttached?: () => boolean,\n): RpcResultHelpers {\n  function mapPgError(e: unknown): AssociationsRpcError {\n    // A signed-out visitor is a state, not a fault: the identity port's own\n    // \"not authenticated\" refusal (matched by name, as the host's catchers do)\n    // answers `unauthorized` and never reaches the error sink or the console.\n    if ((e as { name?: unknown } | null)?.name === \"NotAuthenticatedError\")\n      return { code: \"unauthorized\", message: SIGNED_OUT_MESSAGE };\n    const { pgCode, pgMessage, pgHint } = readPgFields(e);\n\n    // THE DEMANDED-SCHEMA SCREAM (design Decision 4). Checked FIRST and\n    // always sunk — a database that cannot answer a demanded function is not\n    // this package's database, and nothing downstream may soften that.\n    if (pgCode === \"PGRST202\") {\n      const message =\n        \"demanded schema violation: the database this client is pointed at \" +\n        \"cannot answer a demanded @ai-matrx/associations RPC (PostgREST \" +\n        \"PGRST202 — function not found). This package DEMANDS the platform \" +\n        `schema (README § The demanded schema). ${pgMessage ?? \"\"}`.trim();\n      errorSink({\n        code: \"demanded_schema_violation\",\n        message,\n        context: { pgCode, detail: e },\n      });\n      const out: AssociationsRpcError = {\n        code: \"demanded_schema_violation\",\n        message,\n        detail: e,\n      };\n      if (pgHint !== undefined) out.hint = pgHint;\n      return out;\n    }\n\n    // Loud before lossy — but through the SINK, per the header's policy.\n    if (isTransportFailure(e)) {\n      errorSink({\n        code: \"transport_failure\",\n        message: \"network unreachable (browser offline?)\",\n        context: { transient: true, detail: e },\n      });\n    } else if (!isPostgrestResultError(e)) {\n      errorSink({\n        code: \"internal\",\n        message: pgMessage ?? \"Unexpected error talking to the data source\",\n        context: { detail: e },\n      });\n    }\n\n    if (pgCode === \"PGRST116\")\n      return { code: \"not_found\", message: \"Not found\" };\n    // The session's JWT is gone or expired — the user is signed out, not broken.\n    if (pgCode === \"PGRST301\" || pgCode === \"PGRST303\" || pgCode === \"28000\")\n      return { code: \"unauthorized\", message: SIGNED_OUT_MESSAGE };\n    if (pgCode === \"42501\") {\n      // An anonymous caller meets \"permission denied for function\" on every\n      // demanded door (authenticated holds EXECUTE on them): a long-lived tab\n      // whose session ended (measured on live 2026-10-17, cmt_list). With the\n      // session attached it is a real grant gap and stays a permission verdict.\n      const anonymous =\n        /permission denied for function/i.test(pgMessage ?? \"\") &&\n        !(sessionAttached?.() ?? false);\n      if (anonymous) return { code: \"unauthorized\", message: SIGNED_OUT_MESSAGE };\n      // Postgres 42501 (insufficient_privilege) — the server's own explicit\n      // verdict, not a zero-row guess.\n      return { code: \"forbidden_org\", message: \"Permission denied\" };\n    }\n    // Postgres killed the statement at the role's `statement_timeout`. The\n    // database is up and the query is valid; it ran out of time. Say so,\n    // because \"unexpected error\" sends the reader hunting for the wrong fault.\n    if (pgCode === \"57014\") {\n      const out: AssociationsRpcError = {\n        code: \"internal\",\n        message: \"The database took too long to respond\",\n        detail: e,\n      };\n      if (pgHint !== undefined) out.hint = pgHint;\n      return out;\n    }\n\n    const out: AssociationsRpcError = {\n      // A real message from PostgREST beats our generic string every time;\n      // the generic one is the LAST resort, not the default.\n      message: pgMessage ?? \"Unexpected error talking to the data source\",\n      code: \"internal\",\n      detail: e,\n    };\n    if (pgHint !== undefined) out.hint = pgHint;\n    return out;\n  }\n\n  function mapPgErrorPair(\n    e: unknown,\n  ): [AssociationsRpcError[\"code\"], string, unknown, string | undefined] {\n    const mapped = mapPgError(e);\n    return [mapped.code, mapped.message, mapped.detail, mapped.hint];\n  }\n\n  return { ok, err, mapPgError, mapPgErrorPair };\n}\n","// The plural of a kind's registry label. A kind has one name, set in\n// `platform.entity_types.label`; its plural is derived here, never written by a host\n// (common-docs/policies/no-dead-ends.md rule 12; vocabulary \"Registry labels\").\n\n/** Last words that stay the same in the plural (\"Study media\", \"Contact research\"). */\nconst UNCOUNTABLE = new Set([\n  \"data\", \"media\", \"research\", \"information\", \"feedback\", \"content\", \"software\",\n  \"evidence\", \"equipment\", \"metadata\", \"knowledge\", \"news\", \"series\", \"species\",\n]);\n\nexport function pluralizeLabel(label: string): string {\n  const m = /^(.*?)([A-Za-z]+)$/.exec(label);\n  const head = m?.[1];\n  const word = m?.[2];\n  if (head === undefined || word === undefined) return label;\n  const lower = word.toLowerCase();\n  if (UNCOUNTABLE.has(lower)) return label;\n  if (lower.endsWith(\"sis\")) return `${head}${word.slice(0, -2)}es`; // analysis → analyses\n  if (/[^aeiou]y$/.test(lower)) return `${head}${word.slice(0, -1)}ies`;\n  if (/(s|x|z|ch|sh)$/.test(lower)) return `${head}${word}es`;\n  return `${label}s`;\n}\n","// record-store-nouns.ts — the names of the record store's two kinds.\n//\n// A Table and a Pick list live in the record store, not in a table of their own, so the\n// custom-data cutover (2026-10-02) deactivated their `platform.entity_types` rows (`dataset`, now `table`;\n// `structured_list`, now `pick_list`) and the generated vocabulary no longer carries them. They are still live\n// nouns: a Source, a reference and a picker row are sent as these tokens. This is where every\n// surface reads what they are called — never a local map in a host.\n//\n// They are NOT association targets (no FK-valid token, no backing table here): the registry\n// serves them with no schema, table or title column, so no generic reader ever queries the\n// deprecated tables the retired rows still point at.\n\nexport const RECORD_STORE_NOUNS = {\n  /** The canonical Table token (2026-10-07). */\n  table: { label: \"Table\" },\n  /** Retired spelling of `table`: still READ (old stored references and Sources, older hosts), never written. */\n  dataset: { label: \"Table\" },\n  /** The canonical Pick list token (2026-10-06). */\n  pick_list: { label: \"Pick list\" },\n  /** Retired spellings of `pick_list`: still READ (old stored references, older hosts), never written. */\n  structured_list: { label: \"Pick list\" },\n  picklist: { label: \"Pick list\" },\n} as const satisfies Record<string, { label: string }>;\n\n/** The tokens a record-store noun was spelled with before it was renamed, mapped to today's. */\nexport const RETIRED_RECORD_STORE_TOKENS = {\n  dataset: \"table\",\n  structured_list: \"pick_list\",\n  picklist: \"pick_list\",\n} as const satisfies Record<string, RecordStoreNounToken>;\n\n/** Today's token for a record-store noun spelled any way it ever was; any other token is returned unchanged. */\nexport function canonicalRecordStoreToken(token: string): string {\n  return Object.prototype.hasOwnProperty.call(RETIRED_RECORD_STORE_TOKENS, token)\n    ? RETIRED_RECORD_STORE_TOKENS[token as keyof typeof RETIRED_RECORD_STORE_TOKENS]\n    : token;\n}\n\nexport type RecordStoreNounToken = keyof typeof RECORD_STORE_NOUNS;\n\nexport function isRecordStoreNounToken(token: string): token is RecordStoreNounToken {\n  return Object.prototype.hasOwnProperty.call(RECORD_STORE_NOUNS, token);\n}\n\n/** What a record-store token is called (\"Table\", \"Pick list\"), or null for any other token. */\nexport function recordStoreNoun(token: string): string | null {\n  return isRecordStoreNounToken(token) ? RECORD_STORE_NOUNS[token].label : null;\n}\n","// ─────────────────────────────────────────────────────────────────────────\n// AUTOGENERATED — DO NOT EDIT BY HAND.\n//\n// Source of truth: `platform.entity_types` (Supabase project brsgrqvjdzwihsvnfqkf).\n// Regenerate:      pnpm gen:entity-types   (in @ai-matrx/associations)\n// Verify drift:    pnpm check:entity-types\n//\n// The metadata rows for the 1269 tokens in ./entity-types.generated.ts, in their own\n// module so a host that only needs a token, a type or the guard never ships them (package rule\n// 24). Every public path that exported `ENTITY_TYPE_METADATA` still exports it.\n// ─────────────────────────────────────────────────────────────────────────\n\nimport { ENTITY_TYPE_TOKENS, type EntityTypeMeta, type EntityTypeToken } from \"./entity-types.generated\";\n\ntype MetaRow = readonly [\n  schema: number,\n  table: string,\n  label: string,\n  flags: number,\n  baseTier?: number | null,\n  category?: string | null,\n  titleColumn?: string | null,\n  contentRole?: string | null,\n  referenceCategory?: string | null,\n];\n\nconst META_SCHEMAS: readonly string[] = [\"iam\", \"custom\", \"billing\", \"users\", \"platform\", \"admin\", \"content_ir\", \"agent\", \"chat\", \"scheduler\", \"ai\", \"runtime\", \"files\", \"ops\", \"app\", \"public\", \"education\", \"assignment\", \"audit\", \"meta\", \"batch\", \"projects\", \"browser\", \"campaign_watch\", \"communication\", \"canvas\", \"history\", \"entity_data_private\", \"legal\", \"seo\", \"code\", \"content\", \"commerce\", \"crm\", \"context\", \"rag\", \"hr\", \"docproc\", \"dictionary\", \"web\", \"esign\", \"extend\", \"workflow\", \"workbench\", \"growth\", \"hindsight\", \"api\", \"interview\", \"mandate\", \"marketing\", \"tool\", \"media\", \"partman\", \"podcast\", \"pdf\", \"plan\", \"provider\", \"research\", \"scraper\", \"skill\", \"social\", \"transcripts\", \"ui\"];\n\n/**\n * One compact row per token, row i for `ENTITY_TYPE_TOKENS[i]` (the generator documents the columns). Importing this file does\n * no work: rows are decoded into `EntityTypeMeta` objects on the first read of\n * `ENTITY_TYPE_METADATA`, once, and every later read returns the same objects.\n */\nconst META_ROWS: readonly MetaRow[] = [\n  [0,\"\",\"Access Delta Probe\",8],\n  [0,\"\",\"Access Delta Run\",8],\n  [0,\"access_requests\",\"Access Request\",8,null,\"System\",null,\"utility\"],\n  [0,\"\",\"Access kernel shadow log\",8],\n  [1,\"\",\"Access Version\",8],\n  [1,\"\",\"Access Version Event\",8],\n  [2,\"\",\"Account Addon\",8],\n  [0,\"\",\"Account closure\",8],\n  [3,\"_account_facts\",\"Roster accounts\",8],\n  [4,\"\",\"Acquisition Block\",8],\n  [4,\"activity_log\",\"Activity Log Entry\",8],\n  [5,\"\",\"Admin audit log\",8],\n  [5,\"admin_email_logs\",\"Admin email log\",8],\n  [5,\"admin_markdown_samples\",\"Admin markdown sample\",8],\n  [5,\"admins\",\"Platform admin\",8],\n  [5,\"user_owned_resources_cache\",\"Owned-resources census cache\",8],\n  [6,\"\",\"Admission Config\",8],\n  [7,\"definition\",\"Agent\",30,null,\"Agents\",\"name\",\"utility\"],\n  [7,\"card\",\"Agent Card\",9],\n  [7,\"definition_version\",\"Agent Definition Version\",9,null,\"Agents\",\"name\"],\n  [7,\"drift_alert\",\"Agent Drift Alert\",9,null,\"Agents\"],\n  [7,\"exemplar\",\"Agent Test Case\",12],\n  [7,\"mandate_note\",\"Mandate Note\",8],\n  [7,\"prompt_block\",\"Prompt Block\",28,null,null,\"label\"],\n  [7,\"prompt_block_variant\",\"Prompt Block Variant\",9],\n  [7,\"prompt_remediation\",\"Agent Prompt Remediation\",8],\n  [7,\"required_flag_change\",\"Required input flag change\",8],\n  [8,\"\",\"Agent Run\",8],\n  [8,\"\",\"Agent Run Stage\",9],\n  [9,\"\",\"Agent Schedule\",8],\n  [9,\"\",\"Agent Schedule Claim\",8],\n  [7,\"shortcut\",\"Agent Shortcut\",24,null,\"Agents\",\"label\",\"utility\"],\n  [4,\"associations\",\"Agent Surface Binding\",24,null,\"Agents\",\"label\"],\n  [7,\"template\",\"Agent Template\",24,null,\"Agents\",\"name\"],\n  [7,\"term_list\",\"Term List\",8,null,\"Agents\",\"name\"],\n  [7,\"test_result\",\"Test result\",9],\n  [7,\"test_run\",\"Test run\",8],\n  [7,\"usage\",\"Agent Usage\",9,null,\"Agents\"],\n  [10,\"api\",\"AI API\",24,null,null,\"name\"],\n  [11,\"_ai_calls\",\"AI model calls\",8],\n  [10,\"device_model_file\",\"Device model file\",8,null,\"AI Models\"],\n  [10,\"device_model_root\",\"Device model folder\",8,null,\"AI Models\"],\n  [10,\"endpoint\",\"AI Endpoint\",24,null,null,\"display_name\"],\n  [10,\"media_generation_cache\",\"Media generation cache\",8],\n  [10,\"model_definition\",\"AI Model\",28,null,null,\"name\"],\n  [10,\"model_alias\",\"AI Model Alias\",12],\n  [10,\"model_artifact\",\"AI Model Artifact\",9],\n  [10,\"model_candidate\",\"AI Model Candidate\",8],\n  [10,\"model_presentation\",\"AI Model Presentation\",9],\n  [10,\"model_upstream\",\"AI Model Upstream\",9],\n  [10,\"model_variant\",\"AI Model Variant\",9],\n  [10,\"model_verification_run\",\"AI Model Verification Run\",8],\n  [10,\"model_want\",\"AI Model Want\",8],\n  [10,\"offering\",\"AI Offering\",8],\n  [10,\"person_model_want\",\"My model want\",8,null,\"AI Models\"],\n  [10,\"provider\",\"AI Provider\",28,null,null,\"name\"],\n  [4,\"\",\"AI Request Latency\",8],\n  [10,\"runtime\",\"AI Runtime\",8],\n  [10,\"runtime_build\",\"AI Runtime Build\",8],\n  [10,\"runtime_compat\",\"AI Runtime Compatibility\",8],\n  [10,\"setting\",\"AI Setting\",28,null,null,\"key\"],\n  [10,\"setting_profile\",\"Settings Profile\",8,null,\"AI catalog\",\"name\"],\n  [10,\"translation_cell\",\"Translation Cell\",8,null,\"AI catalog\"],\n  [11,\"_ai_usage_execution_facts\",\"AI usage by execution (counted)\",8],\n  [11,\"_ai_usage_calls\",\"AI usage by execution\",8],\n  [11,\"_ai_usage_hourly\",\"AI usage by hour\",8],\n  [11,\"_ai_usage_hourly_watermark\",\"AI usage counted through\",8],\n  [12,\"\",\"Analysis Result\",9],\n  [1,\"\",\"Form\",24,null,\"Custom Data\",\"title\"],\n  [1,\"\",\"Form password\",8],\n  [1,\"\",\"Form visit\",8],\n  [4,\"\",\"Anon Function Birth Grandfather\",8],\n  [1,\"\",\"Anonymous rate window\",8,null,\"Custom Data\"],\n  [1,\"\",\"Inbound address\",8,null,\"Custom Data\"],\n  [1,\"\",\"Offline capture ledger\",8,null,\"Custom Data\"],\n  [1,\"\",\"Quarantined submission\",8,null,\"Custom Data\"],\n  [1,\"\",\"Embed token\",8,null,\"Custom Data\"],\n  [13,\"api_field_warnings\",\"API field warning\",8],\n  [13,\"\",\"API request log\",8],\n  [14,\"definition\",\"Applet\",24,null,\"Apps\",\"name\",\"utility\"],\n  [15,\"\",\"App config\",8],\n  [15,\"\",\"App Config History\",8],\n  [14,\"definition_version\",\"App Definition Version\",9,null,\"Apps\",\"name\"],\n  [14,\"error\",\"App Error\",9,null,\"Apps\"],\n  [14,\"execution\",\"App Execution\",9,null,\"Apps\"],\n  [15,\"app_instances\",\"App Instance\",8],\n  [13,\"\",\"App Log\",8],\n  [13,\"_app_log_hourly\",\"Structured logs by hour\",8],\n  [13,\"_app_log_hourly_watermark\",\"Structured logs counted through\",8],\n  [13,\"_app_log_lines\",\"Structured log lines\",8],\n  [13,\"\",\"Muted log pattern\",8],\n  [13,\"\",\"Log normalisation exception\",8],\n  [13,\"_app_log_requests_hourly\",\"Structured log requests by hour\",8],\n  [14,\"rate_limit\",\"App Rate Limit\",9,null,\"Apps\"],\n  [15,\"app_settings\",\"App Setting\",8],\n  [15,\"\",\"App Sync Status\",8],\n  [14,\"\",\"Applet Visitor Table\",8],\n  [4,\"\",\"Approach\",8],\n  [8,\"\",\"Artifact\",9,null,null,\"title\"],\n  [16,\"\",\"Assessment\",24,null,null,\"title\"],\n  [16,\"\",\"Assessment Item\",9],\n  [16,\"\",\"Assessment Result\",8],\n  [17,\"session\",\"Assignment session\",8],\n  [4,\"assists\",\"Assist\",12,null,\"platform\",\"title\"],\n  [4,\"\",\"Assist producer policy\",8],\n  [4,\"\",\"Assist Producer Policy History\",8],\n  [4,\"association_types\",\"Association type\",8],\n  [4,\"\",\"Assurance level\",8],\n  [17,\"\",\"Attempt\",9],\n  [4,\"\",\"Attention audience rule\",8],\n  [4,\"\",\"Attention audit\",8],\n  [4,\"\",\"Attention item state\",8],\n  [4,\"\",\"Attention showing\",8],\n  [18,\"broken_functions\",\"Broken functions\",8],\n  [18,\"canonical_findings\",\"Canonical findings\",8],\n  [19,\"\",\"Audit exemption\",8],\n  [18,\"function_deps\",\"Function dependencies\",8],\n  [18,\"function_runtime_probe\",\"Function runtime probe\",8],\n  [18,\"m2m_candidates\",\"M2M candidates\",8],\n  [18,\"refresh_log\",\"Audit refresh log\",8],\n  [18,\"stale_registry\",\"Stale registry\",8],\n  [18,\"unregistered_candidates\",\"Unregistered candidates\",8],\n  [1,\"\",\"Automation Delivery\",8],\n  [1,\"\",\"Automation Fired\",8],\n  [4,\"_base_entity\",\"Base entity template\",8],\n  [20,\"cost_event\",\"Batch Cost Event\",8],\n  [20,\"provider_batch\",\"Provider Batch\",8],\n  [20,\"work_item\",\"Batch Work Item\",8],\n  [2,\"capability\",\"Billing capability\",8],\n  [2,\"capability_limit\",\"Billing capability limit\",8],\n  [2,\"ci_package_build\",\"CI Package Build\",8],\n  [2,\"connect_account\",\"Billing connect account\",8],\n  [2,\"coupon\",\"Coupon\",8],\n  [2,\"coupon_redemption\",\"Coupon redemption\",8],\n  [2,\"customer\",\"Billing customer\",8],\n  [2,\"external_call_vendor\",\"External Call Vendor\",8],\n  [2,\"free_network_counter\",\"Free network counter\",8],\n  [2,\"free_period_grant\",\"Free period grant\",8],\n  [2,\"free_use_counter\",\"Free use counter\",8],\n  [2,\"hard_cost_reconciliation\",\"Hard-cost reconciliation\",8],\n  [2,\"held_run\",\"Held run\",8],\n  [2,\"org_payment_account\",\"Payment Account\",8],\n  [2,\"payment\",\"Payment\",8],\n  [2,\"payment_ask\",\"Payment Ask\",8],\n  [2,\"plan\",\"Billing plan\",8],\n  [2,\"plan_limit\",\"Billing plan limit\",8],\n  [2,\"price\",\"Billing price\",8],\n  [2,\"product\",\"Billing product\",8],\n  [2,\"provider_balance_snapshot\",\"Provider balance snapshot\",8],\n  [2,\"spend_alarm\",\"Spend alarm\",8],\n  [2,\"spend_alarm_occurrence\",\"Spend alarm occurrence\",9],\n  [2,\"spend_approval\",\"Spend Approval\",8],\n  [2,\"spend_guardrail\",\"Spend Guardrail\",8],\n  [2,\"spend_hold\",\"Spend Hold\",8],\n  [2,\"stripe_event\",\"Stripe webhook event\",8],\n  [2,\"subscription\",\"Billing subscription\",8],\n  [2,\"usage_ledger\",\"Usage ledger\",8],\n  [2,\"usage_reset\",\"Usage reset\",8],\n  [2,\"user_plan\",\"User plan\",8],\n  [4,\"block_states\",\"Block State\",8],\n  [21,\"boards\",\"Board\",12],\n  [22,\"account_binding\",\"Browser Account Binding\",9],\n  [22,\"action_event\",\"Browser Action Event\",9],\n  [22,\"authenticator_window\",\"Browser Authenticator Window\",8],\n  [22,\"capture\",\"Browser Capture\",9],\n  [22,\"control_request\",\"Browser Control Request\",9],\n  [22,\"handoff\",\"Browser Handoff\",9],\n  [22,\"login_attempt\",\"Browser Login Attempt\",9],\n  [22,\"login_recipe\",\"Browser Login Recipe\",12],\n  [22,\"profile\",\"Cloud Browser Profile\",12],\n  [22,\"profile_checkpoint\",\"Browser Profile Checkpoint\",8],\n  [22,\"run\",\"Cloud Browser Run\",9],\n  [22,\"site_observation\",\"Browser Site Observation\",9],\n  [22,\"site_policy\",\"Browser Site Policy\",12],\n  [22,\"stream_ticket\",\"Browser Stream Ticket\",8],\n  [23,\"\",\"Build Lock\",8],\n  [24,\"\",\"Calendar event\",12],\n  [23,\"ramp_gate_run\",\"Ramp gate run\",8],\n  [23,\"switch_outbox\",\"Switch outbox\",8],\n  [23,\"switch_window\",\"Switch window\",8],\n  [25,\"canvas_comments\",\"Canvas Comment\",24,null,null,\"display_name\"],\n  [25,\"canvas_comment_likes\",\"Canvas Comment Like\",8,3],\n  [25,\"canvas_items\",\"Canvas Item\",24,null,null,\"title\"],\n  [25,\"\",\"Canvas Item State\",9],\n  [25,\"canvas_likes\",\"Canvas Like\",8,3],\n  [25,\"canvas_scores\",\"Canvas Score\",24,3,null,\"display_name\"],\n  [25,\"canvas_views\",\"Canvas View\",8,3],\n  [26,\"\",\"Capture Window\",8],\n  [1,\"\",\"Carrying Rule\",8],\n  [15,\"\",\"Catalog Entries History\",8],\n  [15,\"catalog_entries\",\"Catalog entry\",8],\n  [4,\"categories\",\"Category\",24,null,null,\"name\"],\n  [4,\"\",\"Change item\",8],\n  [4,\"\",\"Change job\",8],\n  [4,\"\",\"Change job row\",8],\n  [4,\"\",\"Change plan\",8],\n  [4,\"\",\"Change type default\",8],\n  [27,\"\",\"Change work rows\",8],\n  [8,\"user_usage_summary\",\"Chat usage summary\",8],\n  [28,\"\",\"Citations\",8],\n  [2,\"\",\"Class Purchase\",8],\n  [29,\"\",\"Classifier Revision Ledger\",8],\n  [4,\"\",\"Client Callable Door\",8],\n  [4,\"\",\"Client Callable Door Retirement\",8],\n  [4,\"\",\"Client Excluded Column Unregistered\",8],\n  [7,\"cmp_comparison_entries\",\"Comparison Entry\",9],\n  [7,\"cmp_response_feedback\",\"Comparison Response Feedback\",8],\n  [30,\"code_files\",\"Code File\",24,null,null,\"name\",\"source\"],\n  [30,\"code_file_folders\",\"Code Folder\",24,null,null,\"name\",\"container\"],\n  [30,\"code_repositories\",\"Code Repository\",24,null,null,\"name\",\"container\"],\n  [8,\"\",\"Coding Session\",8],\n  [8,\"\",\"Coding Session Entry\",9],\n  [31,\"\",\"Co-editing checkpoint\",9],\n  [31,\"\",\"Co-editing operation\",9],\n  [31,\"\",\"Co-editing room\",9],\n  [4,\"comments\",\"Comment\",8],\n  [32,\"asset_allocation\",\"Asset Allocation\",9],\n  [32,\"asset_grading\",\"Asset Grading\",9],\n  [32,\"asset_identifier\",\"Asset Identifier\",9],\n  [32,\"asset_lot_event\",\"Asset Lot Event\",9],\n  [32,\"asset_mandate_result\",\"Asset Mandate Result\",9],\n  [32,\"asset_price_factor\",\"Asset Price Factor\",9],\n  [32,\"asset_reshoot_request\",\"Asset Reshoot Request\",9],\n  [32,\"asset_review\",\"Asset Review\",9],\n  [32,\"asset_unknown\",\"Asset Unknown\",9],\n  [32,\"certified_printer\",\"Certified Printer\",12],\n  [32,\"cloud_sync_connection\",\"Cloud Sync Connection\",12],\n  [32,\"ebay_business_policy\",\"eBay Business Policy\",9],\n  [32,\"ebay_category\",\"eBay Category\",8],\n  [32,\"ebay_category_aspect\",\"eBay Category Aspect\",8],\n  [32,\"ebay_category_tree\",\"eBay Category Tree\",8],\n  [32,\"ebay_custom_policy\",\"eBay Custom Policy\",9],\n  [32,\"ebay_inventory_item\",\"eBay Inventory Item\",9],\n  [32,\"ebay_inventory_item_group\",\"eBay Inventory Item Group\",9],\n  [32,\"ebay_inventory_item_group_member\",\"eBay Inventory Item Group Member\",9],\n  [32,\"ebay_inventory_location\",\"eBay Inventory Location\",9],\n  [32,\"ebay_listing\",\"eBay Listing\",9],\n  [32,\"ebay_marketplace_policy\",\"eBay Marketplace Policy\",8],\n  [32,\"ebay_media_asset\",\"eBay Media Asset\",9],\n  [32,\"ebay_notification_destination\",\"eBay Notification Destination\",8],\n  [32,\"ebay_notification_event\",\"eBay Notification Event\",8],\n  [32,\"ebay_notification_subscription\",\"eBay Notification Subscription\",9],\n  [32,\"ebay_notification_topic\",\"eBay Notification Topic\",8],\n  [32,\"ebay_offer\",\"eBay Offer\",9],\n  [32,\"ebay_order\",\"eBay Order\",9],\n  [32,\"ebay_order_line_item\",\"eBay Order Line Item\",9],\n  [32,\"ebay_shipping_fulfillment\",\"eBay Shipping Fulfillment\",9],\n  [32,\"ebay_store_category\",\"eBay Store Category\",9],\n  [32,\"human_correction\",\"Human Correction\",9],\n  [32,\"intake_artifact\",\"Intake Artifact\",9],\n  [32,\"intake_asset\",\"Intake Asset\",9],\n  [32,\"intake_batch\",\"Intake Batch\",12],\n  [32,\"label_batch\",\"Label Batch\",12],\n  [32,\"label_code\",\"Label Code\",9],\n  [32,\"marketplace_account\",\"Marketplace Account\",12],\n  [32,\"marketplace_account_deletion_audit\",\"Marketplace Account Deletion Audit\",8],\n  [32,\"marketplace_api_call\",\"Marketplace API Call\",8],\n  [32,\"marketplace_rate_budget\",\"Marketplace Rate Budget\",8],\n  [32,\"marketplace_site\",\"Marketplace Site\",9],\n  [32,\"marketplace_sync_run\",\"Marketplace Sync Run\",9],\n  [32,\"prediction_outcome\",\"Prediction Outcome\",9],\n  [32,\"print_order\",\"Print Order\",12],\n  [32,\"product\",\"Product\",12],\n  [32,\"product_channel_ref\",\"Product Channel Reference\",9],\n  [32,\"product_media\",\"Product Media\",9],\n  [32,\"product_variant\",\"Product Variant\",9],\n  [32,\"recall_audit\",\"Recall Audit\",9],\n  [24,\"calendar_selected_snapshot_state\",\"Calendar snapshot state\",8],\n  [24,\"channel_readiness\",\"Channel readiness\",8],\n  [7,\"cmp_comparison_sets\",\"Comparison Set\",24,null,null,\"name\"],\n  [1,\"\",\"Computed Organization Mark\",8],\n  [1,\"\",\"Computed Reader Cols\",8],\n  [1,\"\",\"Computed Reader Judgement\",8],\n  [4,\"\",\"Config Manifest\",8],\n  [4,\"\",\"Config Read Bucket\",8],\n  [33,\"\",\"Contact Medium\",8,null,null,\"display_value\",\"utility\"],\n  [24,\"contact_submissions\",\"Contact Submission\",24,null,null,\"name\"],\n  [16,\"\",\"Content certification\",8],\n  [6,\"converter_definition\",\"Converter Definition\",12],\n  [6,\"converter_run\",\"Converter Run\",8],\n  [6,\"kind_definition\",\"Shape\",28,null,null,\"label\"],\n  [6,\"kind_component\",\"Kind Component\",9],\n  [6,\"kind_component_incident\",\"Kind Component Incident\",9],\n  [6,\"kind_component_layer\",\"Shape view layer\",8],\n  [6,\"kind_conformance\",\"Shape Conformance\",9],\n  [6,\"kind_edge\",\"Content-IR Kind Edge\",9],\n  [6,\"kind_example\",\"Kind Example\",9,null,null,\"label\"],\n  [6,\"kind_instance\",\"Saved Result\",28,null,null,\"title\"],\n  [6,\"kind_surface\",\"Kind Surface\",9],\n  [6,\"render_inspection\",\"Render inspection\",8,null,\"content\",null,\"source\"],\n  [0,\"\",\"Content Lane\",8],\n  [34,\"\",\"Context access log\",8],\n  [34,\"context_items\",\"Context Item\",24,null,null,\"display_name\"],\n  [35,\"context_item_suggestions\",\"Context Item Suggestion\",8],\n  [8,\"\",\"Conversation\",26,null,\"Outputs\",\"title\",\"destination\"],\n  [8,\"\",\"Conversation Value\",1,null,null,\"key\"],\n  [28,\"\",\"Courts\",8],\n  [3,\"credential_attachments\",\"Credential attachment\",9],\n  [3,\"credential_items\",\"Credential item\",8,null,null,\"display_name\"],\n  [3,\"credential_mutation_receipts\",\"Credential Mutation Receipt\",8],\n  [33,\"address\",\"Address\",9,null,null,\"label\"],\n  [33,\"affiliation\",\"Affiliation\",9,null,null,\"title\"],\n  [33,\"blocklist_entry\",\"Blocklist Entry\",12],\n  [33,\"contact_candidate\",\"Contact Candidate\",9],\n  [33,\"deal\",\"Deal\",28,null,null,\"name\",\"source\"],\n  [33,\"deal_stage_event\",\"Deal Stage Event\",9],\n  [33,\"enrichment_call\",\"Enrichment Call\",8],\n  [33,\"interaction\",\"Interaction\",9,null,null,\"subject\"],\n  [33,\"merge_candidate\",\"Merge Candidate\",9],\n  [33,\"outreach_list\",\"Outreach List\",28,null,null,\"name\",\"container\"],\n  [33,\"outreach_list_member\",\"Outreach List Member\",9],\n  [33,\"party_merge\",\"Party Merge\",9],\n  [33,\"party_research\",\"Private contact research\",8,null,\"CRM\",\"label\",\"utility\"],\n  [33,\"registry_ingest_run\",\"Registry Ingest Run\",8],\n  [33,\"registry_source\",\"Registry Source\",12],\n  [33,\"sending_claim\",\"Sending claim\",8],\n  [33,\"sending_event\",\"Sending Event\",9,null,null,\"subject\"],\n  [33,\"sending_identity\",\"Sending mailbox\",12],\n  [33,\"sending_identity_check\",\"Sending Check\",9,null,null,\"check_kind\"],\n  [33,\"sending_policy\",\"Sending Policy\",8],\n  [1,\"agent_table_origin\",\"Agent Table Origin\",8],\n  [1,\"agent_table_trust\",\"Agent table trust\",8],\n  [1,\"agg_digest_checked\",\"Aggregate digest checked\",8],\n  [1,\"anon_form_draft\",\"Anonymous Form Draft\",8],\n  [1,\"base\",\"Base\",8],\n  [1,\"base_snapshot\",\"Base snapshot\",8],\n  [4,\"\",\"Custom Field\",12],\n  [4,\"\",\"Custom Field Target\",12],\n  [1,\"inbox_item_state\",\"Inbox Item State\",8],\n  [1,\"io_outbox_consumer\",\"Outbox consumer\",8],\n  [1,\"io_outbox_consumption\",\"Outbox consumption\",8],\n  [1,\"portal\",\"Portal\",8],\n  [1,\"portal_principal\",\"Portal Principal\",8],\n  [1,\"portal_table\",\"Portal Table\",8],\n  [1,\"_share_tails_mine_repair\",\"Share tails repair\",8],\n  [1,\"synced_source\",\"Synced source\",8],\n  [1,\"template\",\"Template\",8],\n  [1,\"template_install\",\"Template install\",8],\n  [1,\"whole_value_parked\",\"Parked Whole Value\",8],\n  [8,\"agent_memory\",\"Agent Memory\",16,null,\"Conversations\",\"key\"],\n  [8,\"agent_plan\",\"Agent Plan\",1,null,\"Conversations\",\"title\"],\n  [8,\"agent_task\",\"Agent Task\",1,null,\"Conversations\",\"title\"],\n  [8,\"code_edit\",\"Code Edit\",1,null,\"Conversations\"],\n  [8,\"code_message_file\",\"Code Message File\",1,null,\"Conversations\"],\n  [8,\"media\",\"Media\",1,null,\"Conversations\"],\n  [8,\"observational_memory\",\"Observational Memory\",1,null,\"Conversations\"],\n  [8,\"observational_memory_event\",\"Observational Memory Event\",1,null,\"Conversations\"],\n  [8,\"pending_injection\",\"Pending Injection\",1,null,\"Conversations\"],\n  [8,\"request\",\"Conversation Request\",1,null,\"Conversations\"],\n  [8,\"request_snapshot\",\"Request Snapshot\",1,null,\"Conversations\"],\n  [8,\"request_values\",\"Run values (server only)\",9],\n  [8,\"tool_trace\",\"Tool Trace\",1,null,\"Conversations\"],\n  [8,\"user_request\",\"User Request\",1,null,\"Conversations\"],\n  [8,\"user_todo\",\"User Todo\",1,null,\"Conversations\",\"title\"],\n  [16,\"\",\"Data rights event\",8],\n  [35,\"data_stores\",\"Data Store\",24,null,null,\"name\",\"source\"],\n  [35,\"\",\"Data Store Members\",9],\n  [4,\"\",\"DDL guard log\",8],\n  [16,\"\",\"Deck Suggestion\",8],\n  [0,\"\",\"Definer Class Exemption\",8],\n  [4,\"\",\"Definer Client Grant Grandfather\",8],\n  [36,\"\",\"Definer Grant Baseline\",8],\n  [4,\"deprecated_relations\",\"Deprecated relation\",8],\n  [37,\"derive_runs\",\"Derive Run\",8],\n  [3,\"\",\"Desktop App Account\",8],\n  [3,\"\",\"Desktop App Instance\",8],\n  [3,\"\",\"Desktop App Profile\",8],\n  [5,\"\",\"Dev login audit\",8],\n  [4,\"\",\"Device Handoff\",8],\n  [38,\"dict_entries\",\"Dictionary entry\",8],\n  [38,\"\",\"Dict Provider Publication\",8],\n  [38,\"dict_settings\",\"Dict Setting\",8],\n  [24,\"dm_conversations\",\"Direct Conversation\",8],\n  [24,\"dm_messages\",\"Direct Message\",9],\n  [24,\"dm_conversation_participants\",\"DM Conversation Participant\",9],\n  [24,\"dm_session_members\",\"Messaging Session Member\",9],\n  [1,\"\",\"Rendered Document\",8,null,\"Custom Data\"],\n  [1,\"\",\"Document Signature\",8,null,\"Custom Data\"],\n  [28,\"\",\"Dockets\",8],\n  [31,\"\",\"Markdown document\",28,null,\"Documents\",\"title\",\"hybrid\"],\n  [31,\"\",\"Document Version\",9,null,\"Documents\"],\n  [4,\"\",\"Domain Classification\",8],\n  [4,\"\",\"Edge payload kind\",8],\n  [4,\"\",\"Home connection computer\",8],\n  [4,\"\",\"Home connection pairing\",8],\n  [4,\"\",\"Home connection ticket\",8],\n  [24,\"\",\"Emails\",8],\n  [35,\"\",\"Embedding Cache\",8],\n  [35,\"\",\"Embeddings Google Gemini 2 1536\",9],\n  [35,\"\",\"Embeddings Oai 3 Small 1536\",9],\n  [35,\"\",\"Embeddings Voyage 4 Large 1024\",9],\n  [35,\"\",\"Embeddings Voyage Code 3 1024\",9],\n  [39,\"\",\"Endpoint Family Sweep State\",8],\n  [29,\"\",\"Engine Owner Task\",8],\n  [4,\"entity_grants\",\"Entity grant\",8],\n  [1,\"\",\"Protected field value\",8],\n  [1,\"\",\"Protected field value version\",8],\n  [4,\"entity_relationships\",\"Entity relationship\",8],\n  [4,\"entity_types\",\"Entity type\",8],\n  [40,\"campaign\",\"Signature campaign\",12],\n  [40,\"campaign_member\",\"Campaign member\",9],\n  [40,\"consent_disclosure\",\"E-sign consent disclosure\",12],\n  [40,\"envelope\",\"Signature envelope\",12],\n  [40,\"envelope_certificate\",\"Completion certificate\",9],\n  [40,\"envelope_document\",\"Envelope document\",9],\n  [40,\"envelope_draft\",\"E-Signature Draft\",9],\n  [40,\"envelope_event\",\"Envelope event\",9],\n  [40,\"envelope_external_ref\",\"Envelope external reference\",9],\n  [40,\"envelope_signer\",\"Envelope signer\",9],\n  [40,\"provider\",\"E-sign provider\",8],\n  [40,\"provider_binding\",\"E-sign provider binding\",12],\n  [40,\"saved_signature\",\"Saved Signature\",8],\n  [40,\"signing_key\",\"E-sign certificate signing key\",8],\n  [40,\"template\",\"E-Signature Template\",12],\n  [11,\"\",\"Execution event cursor\",8],\n  [41,\"extension_auth_codes\",\"Extension auth code\",8],\n  [2,\"\",\"External API Reservation\",8],\n  [24,\"\",\"External conversation\",9,null,\"Communications\"],\n  [24,\"\",\"External delivery event\",9,null,\"Communications\"],\n  [24,\"\",\"External inbox\",8,null,\"Communications\"],\n  [1,\"\",\"External Link\",8,null,\"Custom Data\"],\n  [24,\"\",\"External message\",9,null,\"Communications\"],\n  [24,\"\",\"External provider receipt\",9,null,\"Communications\"],\n  [1,\"\",\"External Source\",8,null,\"Custom Data\"],\n  [42,\"\",\"Extract sweep state\",8],\n  [16,\"\",\"Flashcard\",24,null,null,\"front\"],\n  [16,\"\",\"Flashcard Detail\",9],\n  [16,\"\",\"Flashcard deck\",24,null,null,\"name\"],\n  [5,\"feature_docs\",\"Feature Doc\",24,null,\"documentation\",\"title\"],\n  [4,\"\",\"Feature Knob\",8],\n  [3,\"\",\"Feedback Comments\",9],\n  [3,\"\",\"Feedback User Messages\",9],\n  [12,\"files\",\"File\",26,null,\"Sources\",\"file_name\",\"source\"],\n  [12,\"analysis\",\"File Analysis\",9],\n  [12,\"entities\",\"Extracted Term\",9,null,null,\"label\"],\n  [12,\"overrides\",\"File Override\",9],\n  [12,\"page_annotations\",\"Page Annotation\",9,null,null,\"label\"],\n  [12,\"pages\",\"File Page\",9],\n  [12,\"file_rag_jobs\",\"File RAG job\",9],\n  [43,\"\",\"File Template\",12],\n  [12,\"file_versions\",\"File Version\",1,null,\"Sources\"],\n  [12,\"account_tiers\",\"File account tier\",8],\n  [12,\"machine_written_prefixes\",\"Machine-Written Prefix\",12],\n  [12,\"sync_mappings\",\"Sync Mapping\",12],\n  [12,\"user_account\",\"File account\",8],\n  [12,\"folders\",\"Folder\",26,null,\"Sources\",\"folder_name\",\"source\"],\n  [36,\"\",\"Function Contract\",8],\n  [16,\"\",\"Game Badge\",8],\n  [16,\"\",\"Game Result\",24,null,null,\"display_name\"],\n  [16,\"\",\"Game Room\",8],\n  [11,\"\",\"Runtime Execution\",9],\n  [11,\"\",\"Runtime Checkpoint\",9],\n  [11,\"\",\"Global execution control\",9],\n  [11,\"\",\"Runtime Event\",9],\n  [11,\"\",\"Runtime Meter Entry\",9,null,null,\"label\"],\n  [11,\"\",\"Runtime Origin\",8],\n  [11,\"\",\"Runtime Request\",8],\n  [43,\"\",\"Google file\",12],\n  [44,\"loop_event\",\"Growth Loop Event\",9,null,\"marketing\"],\n  [44,\"loop_run\",\"Growth loop run\",12,null,null,\"label\"],\n  [44,\"loop_stage_run\",\"Growth Loop Stage Run\",9,null,\"marketing\"],\n  [16,\"\",\"Guardian link\",8],\n  [3,\"\",\"Guest conversion audit\",8],\n  [3,\"\",\"Guest Execution Log\",8],\n  [3,\"\",\"Guest Executions\",8],\n  [4,\"\",\"Guided Checklist Run\",8],\n  [43,\"heatmap_saves\",\"Heatmap Save\",24,null,null,\"title\"],\n  [45,\"enrollment\",\"Hindsight Enrollment\",8,null,null,\"display_name\"],\n  [45,\"finding\",\"Hindsight Finding\",9],\n  [45,\"regression_case\",\"Regression Case\",12],\n  [45,\"replay\",\"Hindsight Replay\",9],\n  [45,\"replay_step\",\"Wire Replay Step\",12],\n  [45,\"review\",\"Hindsight Review\",9],\n  [36,\"access_audit\",\"Access audit\",8],\n  [36,\"access_role\",\"HR access role\",8,null,null,\"label\"],\n  [36,\"accommodation_request\",\"Accommodation request\",8],\n  [36,\"ai_evidence\",\"AI evidence\",8],\n  [36,\"alert_routing_rule\",\"Alert routing rule\",8,null,null,\"name\"],\n  [36,\"application\",\"Application\",9],\n  [36,\"approval_authority\",\"Approval authority\",8],\n  [36,\"approval_delegation\",\"Approval delegation\",8],\n  [36,\"asset\",\"Asset\",28,null,null,\"name\"],\n  [36,\"asset_assignment\",\"Asset assignment\",9],\n  [36,\"attendance_exception\",\"Attendance exception\",9],\n  [36,\"auto_close_rule\",\"Auto-close rule\",8,null,null,\"name\"],\n  [36,\"availability\",\"Availability\",9],\n  [36,\"background_check\",\"Background check\",8],\n  [36,\"benefits_event\",\"Benefits event\",9],\n  [36,\"calculation_snapshot\",\"Calculation snapshot\",8],\n  [36,\"candidate\",\"Candidate\",28,null,null,\"preferred_name\"],\n  [36,\"candidate_conversion\",\"Candidate conversion\",9],\n  [36,\"candidate_message\",\"Candidate message\",9],\n  [36,\"careers_portal\",\"Careers portal\",28,null,null,\"display_name\"],\n  [36,\"checklist_item\",\"Checklist item\",9],\n  [36,\"checklist_run\",\"Checklist run\",9],\n  [36,\"checklist_template\",\"Checklist template\",28,null,null,\"name\"],\n  [36,\"checklist_template_item\",\"Checklist template item\",9],\n  [36,\"compensation\",\"Compensation record\",8],\n  [36,\"corrective_action\",\"Corrective action\",8],\n  [36,\"course\",\"Course\",28,null,null,\"title\"],\n  [36,\"course_version\",\"Course version\",9],\n  [36,\"credential\",\"Credential\",9],\n  [36,\"crew\",\"Crew\",28,null,null,\"name\"],\n  [36,\"deduction_code\",\"Deduction code\",28,null,null,\"name\"],\n  [36,\"department\",\"Department\",28,null,null,\"name\"],\n  [36,\"derived_grant\",\"Derived grant\",8],\n  [36,\"disposition_event\",\"Disposition event\",8],\n  [36,\"earning_code\",\"Earning code\",28,null,null,\"name\"],\n  [36,\"eeo_response\",\"EEO self-identification response\",8],\n  [36,\"emergency_contact\",\"Emergency contact\",8],\n  [36,\"employee\",\"Employee\",28,null,null,\"display_name\",\"container\"],\n  [36,\"employee_private\",\"Employee private record\",8],\n  [36,\"employer_profile\",\"Employer profile\",8,null,null,\"legal_name\"],\n  [36,\"employment\",\"Employment spell\",8],\n  [36,\"employment_pin\",\"Employment PIN\",8],\n  [36,\"engagement\",\"Engagement\",9],\n  [36,\"establishment\",\"Establishment\",9,null,null,\"name\"],\n  [36,\"external_identity\",\"External identity\",9],\n  [36,\"field_policy\",\"Self-service field policy\",8],\n  [36,\"goal\",\"Goal\",8],\n  [36,\"holiday\",\"Holiday\",9,null,null,\"name\"],\n  [36,\"holiday_calendar\",\"Holiday calendar\",28,null,null,\"name\"],\n  [36,\"i9\",\"Form I-9\",8],\n  [36,\"i9_document\",\"I-9 document\",9],\n  [36,\"incident\",\"Incident\",8],\n  [36,\"incident_party\",\"Incident party\",9],\n  [36,\"interview\",\"Interview\",9],\n  [36,\"interview_kit\",\"Interview kit\",28,null,null,\"name\"],\n  [36,\"job_title\",\"Job title\",28,null,null,\"title\"],\n  [36,\"jurisdiction\",\"Jurisdiction\",24,null,null,\"name\"],\n  [36,\"jurisdiction_rule\",\"Jurisdiction rule\",8],\n  [36,\"jurisdiction_rule_class\",\"Jurisdiction rule class\",24,null,null,\"label\"],\n  [36,\"jurisdiction_rule_org_decision\",\"Jurisdiction rule org decision\",8],\n  [36,\"jurisdiction_rule_test\",\"Jurisdiction rule fixture\",9,null,null,\"title\"],\n  [36,\"kiosk_device\",\"Kiosk device\",8],\n  [36,\"kiosk_session\",\"Kiosk session\",8],\n  [36,\"labor_target\",\"Labor target\",9],\n  [36,\"leave_case\",\"Leave case\",8],\n  [36,\"leave_enrollment\",\"Leave enrollment\",9],\n  [36,\"leave_ledger\",\"Leave ledger entry\",9],\n  [36,\"leave_policy\",\"Leave policy\",28,null,null,\"name\"],\n  [36,\"leave_request\",\"Leave request\",9],\n  [36,\"legal_hold\",\"Legal hold\",8,null,null,\"matter_name\"],\n  [36,\"legal_hold_item\",\"Legal hold item\",9],\n  [36,\"location\",\"Location\",28,null,null,\"name\"],\n  [36,\"new_hire_report\",\"New hire report\",9],\n  [36,\"offer\",\"Offer\",8],\n  [36,\"opening\",\"Opening\",9],\n  [36,\"overtime_alert\",\"Overtime alert\",9],\n  [36,\"overtime_alert_rule\",\"Overtime alert rule\",8,null,null,\"name\"],\n  [36,\"overtime_preapproval\",\"Overtime pre-approval\",9],\n  [36,\"pay_group\",\"Pay group\",28,null,null,\"name\"],\n  [36,\"pay_period\",\"Pay period\",9],\n  [36,\"pay_period_employment\",\"Pay period timesheet\",9],\n  [36,\"payroll_export\",\"Payroll export\",9],\n  [36,\"payroll_export_line\",\"Payroll export line\",9],\n  [36,\"position_assignment\",\"Position assignment\",9],\n  [36,\"posting\",\"Job posting\",28,null,null,\"title\"],\n  [36,\"posting_publication\",\"Posting publication\",9],\n  [36,\"provider_binding\",\"Provider binding\",12],\n  [36,\"provider_event\",\"Provider seam event\",9],\n  [36,\"provisioning_result\",\"Provisioning result\",9],\n  [36,\"punch\",\"Punch\",9],\n  [36,\"recalculation_batch\",\"Recalculation batch\",8],\n  [36,\"record_class\",\"Record class\",24,null,null,\"label\"],\n  [36,\"records_request\",\"Records request\",8],\n  [36,\"reference_check\",\"Reference check\",8],\n  [36,\"reporting_line\",\"Reporting line\",9],\n  [36,\"requisition\",\"Requisition\",28,null,null,\"requisition_number\"],\n  [36,\"restricted_note\",\"Restricted note\",8],\n  [36,\"retention_rule\",\"Retention rule\",8],\n  [36,\"review\",\"Performance review\",8],\n  [36,\"review_cycle\",\"Review cycle\",8],\n  [36,\"review_peer_nomination\",\"Peer feedback nomination\",8],\n  [36,\"review_response\",\"Performance review response\",8],\n  [36,\"review_template\",\"Review template\",8],\n  [36,\"role_assignment\",\"HR role assignment\",8],\n  [36,\"schedule\",\"Schedule\",28,null,null,\"name\"],\n  [36,\"schedule_change\",\"Schedule change\",9],\n  [36,\"schedule_guidance\",\"Schedule guidance\",12,null,null,\"title\"],\n  [36,\"schedule_template\",\"Schedule template\",28,null,null,\"name\"],\n  [36,\"schedule_template_shift\",\"Schedule template shift\",9],\n  [36,\"scorecard\",\"Scorecard\",9],\n  [36,\"separation\",\"Separation\",8],\n  [36,\"shift\",\"Shift\",9],\n  [36,\"shift_claim\",\"Shift claim\",9],\n  [36,\"staffing_requirement\",\"Staffing requirement\",9],\n  [36,\"survey\",\"Survey\",28,null,null,\"name\"],\n  [36,\"survey_invitation\",\"Survey invitation\",9],\n  [36,\"survey_question\",\"Survey question\",9],\n  [36,\"survey_response\",\"Survey response\",9],\n  [36,\"tax_registration\",\"Tax registration\",9],\n  [36,\"tax_withholding\",\"Tax withholding certificate\",8],\n  [36,\"time_adjustment\",\"Time adjustment\",9],\n  [36,\"training_assignment\",\"Training assignment\",9],\n  [36,\"training_attempt\",\"Training attempt\",9],\n  [36,\"transcript_entry\",\"Transcript entry\",9],\n  [36,\"verification_letter_request\",\"Verification letter request\",8],\n  [36,\"work_interval\",\"Work interval\",9],\n  [36,\"workflow_binding\",\"HR Workflow Binding\",9],\n  [36,\"workflow_decision\",\"HR Workflow Decision\",8],\n  [36,\"workflow_definition\",\"HR Workflow Definition\",12],\n  [36,\"workflow_event\",\"HR Workflow Event\",8],\n  [36,\"workflow_failure\",\"HR Workflow Failure\",9],\n  [36,\"workflow_flow_type\",\"HR Workflow Flow Type\",12],\n  [36,\"workflow_instance\",\"HR Workflow Instance\",12],\n  [36,\"workflow_step\",\"HR Workflow Step\",9],\n  [36,\"workflow_step_definition\",\"HR Workflow Step Definition\",9],\n  [36,\"workweek\",\"Workweek\",9],\n  [46,\"html_extractions\",\"HTML extraction\",8],\n  [0,\"access_audit\",\"Access audit\",8],\n  [0,\"access_setup\",\"Access setup\",8],\n  [0,\"api_keys\",\"API Key\",12],\n  [0,\"emergency_door_request\",\"Emergency access request\",8],\n  [0,\"oauth_app\",\"OAuth app\",8],\n  [0,\"_org_availability_key\",\"Organization availability key\",8],\n  [0,\"org_domain\",\"Custom Domain\",8],\n  [0,\"org_domain_route\",\"Custom Domain Route\",9],\n  [0,\"publish_binding\",\"Publish Binding\",8],\n  [0,\"publisher_verification\",\"Publisher Verification\",8],\n  [0,\"read_lane_v2_rollout\",\"Read lane v2 rollout\",8],\n  [0,\"record_seat_change\",\"Record seat change\",8],\n  [0,\"sign_in_event\",\"Sign-in\",8],\n  [0,\"world_namespace\",\"World Namespace\",8],\n  [0,\"world_publish_admission\",\"World Publish Admission\",8],\n  [12,\"\",\"Idempotency\",8],\n  [0,\"industries\",\"Industry\",8],\n  [0,\"industry_curators\",\"Industry Curator\",8,2],\n  [15,\"\",\"Infra status\",8],\n  [28,\"\",\"Ingest Runs\",8],\n  [3,\"integration_connections\",\"Integration connection\",8],\n  [3,\"integration_connection_resources\",\"Integration connection resource\",9],\n  [47,\"decision_interview\",\"Decision Interview\",12],\n  [47,\"decision_question\",\"Decision Question\",9],\n  [47,\"document_revision\",\"Interview Document Revision\",9],\n  [47,\"hole\",\"Interview Adversary Hole\",9],\n  [47,\"question\",\"Interview Open Question\",9],\n  [47,\"session\",\"Vision Interview Session\",12],\n  [47,\"turn\",\"Interview Turn\",9],\n  [0,\"invitations\",\"Invitation\",8],\n  [3,\"invitation_codes\",\"Invitation Code\",8],\n  [3,\"invitation_requests\",\"Invitation Request\",8],\n  [1,\"\",\"Record comment\",8,null,\"Custom Data\"],\n  [6,\"\",\"Io Contract\",8],\n  [1,\"\",\"Import run\",8,null,\"Custom Data\"],\n  [1,\"\",\"Record change outbox\",8,null,\"Custom Data\"],\n  [17,\"\",\"Item\",9],\n  [16,\"\",\"Item Mastery\",8],\n  [4,\"\",\"Judge Verdict\",8],\n  [33,\"\",\"Jurisdiction policy\",8],\n  [29,\"\",\"Keyword Classification Queue\",9],\n  [35,\"kg_alerts\",\"KG Alert\",8],\n  [35,\"\",\"Kg Chunk Entities\",9],\n  [35,\"\",\"Kg Chunks\",8],\n  [35,\"\",\"Kg Clusters\",8],\n  [35,\"\",\"Kg Edges\",9],\n  [35,\"\",\"Kg Entities\",8],\n  [35,\"\",\"Kg Entity Aliases\",9],\n  [35,\"\",\"KG Suggestion Ack\",8,3],\n  [35,\"\",\"KG Sweep Queue\",8,3],\n  [35,\"\",\"KG Sweep Run\",8,3],\n  [35,\"\",\"KG Sweep State\",8],\n  [35,\"kg_value_matches\",\"KG Value Match\",8],\n  [4,\"\",\"Knob Override\",8],\n  [4,\"\",\"Knob override audit\",8],\n  [4,\"\",\"Knob Rung Lock\",8],\n  [4,\"\",\"Knob scope kind\",8],\n  [4,\"\",\"Knob write door\",8],\n  [16,\"\",\"League Membership\",24,null,null,\"display_name\"],\n  [16,\"\",\"Study Guide\",28,null,null,\"title\"],\n  [35,\"library_docs\",\"Library Document\",8,null,null,\"title\"],\n  [4,\"\",\"Lifecycle archive\",8],\n  [4,\"\",\"Lifecycle archive row\",8],\n  [4,\"\",\"Lifecycle audit\",8],\n  [4,\"\",\"Lifecycle entity plan\",8],\n  [4,\"\",\"Lifecycle map build\",8],\n  [4,\"\",\"Lifecycle reference map\",8],\n  [4,\"\",\"Lifecycle run\",8],\n  [4,\"\",\"Lifecycle tier ledger\",8],\n  [29,\"\",\"Location\",8],\n  [48,\"definition\",\"Mandate\",28,null,null,\"label\"],\n  [48,\"advance_batch_row\",\"Pin advance batch row\",8],\n  [48,\"binding\",\"Mandate Binding (new)\",12],\n  [48,\"candidate\",\"Mandate Candidate\",9],\n  [48,\"candidate_run\",\"Mandate Candidate Run\",9],\n  [48,\"candidate_run_payload\",\"Mandate Candidate Run Payload\",9],\n  [48,\"goal_clauses\",\"Mandate Goal Clauses\",8],\n  [48,\"observation\",\"Mandate Observation\",9],\n  [48,\"proposal\",\"Mandate Proposal\",8],\n  [48,\"readiness_verdict\",\"Mandate Readiness Verdict\",12],\n  [48,\"reference\",\"Mandate Reference\",8],\n  [48,\"scan\",\"Mandate Scan\",8],\n  [48,\"treatment\",\"Mandate Treatment (new)\",8],\n  [49,\"initiative\",\"Initiative\",28,null,null,\"name\",\"container\"],\n  [4,\"\",\"Masterwork Corpus Piece\",9],\n  [4,\"\",\"Masterwork Run\",9,null,\"Masterwork\"],\n  [4,\"\",\"Masterwork Run Kind\",8],\n  [4,\"\",\"Masterwork Source\",9],\n  [16,\"\",\"Math Course Structure\",8],\n  [16,\"math_problems\",\"Math problem\",8],\n  [4,\"\",\"Action ledger\",8],\n  [50,\"\",\"MCP config\",8],\n  [50,\"\",\"MCP server\",8],\n  [50,\"\",\"MCP user connection\",8],\n  [51,\"capture_handoff\",\"Capture Handoff\",8],\n  [51,\"catalog_setting\",\"Media Catalog Setting\",8],\n  [51,\"library_item\",\"Library Item\",9],\n  [51,\"selection_item\",\"Selection Item\",9],\n  [51,\"selection_job\",\"Selection Job\",9],\n  [51,\"source_library\",\"Source Library\",12],\n  [24,\"meet_call_invites\",\"Call Invite\",8],\n  [24,\"meet_chat_messages\",\"Meeting Chat Message\",9],\n  [24,\"meet_connections\",\"Meeting connection\",9],\n  [24,\"meet_invitees\",\"Meeting Invitee\",9],\n  [24,\"meet_meetings\",\"Meeting\",24,null,null,\"title\"],\n  [24,\"meet_notes\",\"Meeting Note\",9],\n  [24,\"meet_occurrence_overrides\",\"Meeting Occurrence Override\",9],\n  [24,\"meet_participants\",\"Meeting Participant\",9],\n  [24,\"meet_recordings\",\"Meeting Recording\",9],\n  [24,\"meet_sessions\",\"Meeting session\",9],\n  [24,\"meet_transcript_segments\",\"Meeting Transcript Segment\",9],\n  [0,\"memberships\",\"Membership\",8],\n  [0,\"\",\"Membership Grant\",8],\n  [8,\"\",\"Memory Trial\",8],\n  [8,\"\",\"Memory Trial Step\",9],\n  [1,\"\",\"Merge Field Provenance\",8,null,\"Custom Data\"],\n  [8,\"\",\"Message\",9],\n  [7,\"\",\"Message Template\",24,null,null,\"label\",\"utility\"],\n  [7,\"\",\"Message Template Detail\",9,null,\"Documents\"],\n  [19,\"excluded_schema\",\"Excluded schema\",8],\n  [19,\"table_stats_history\",\"Table stats history\",8],\n  [4,\"\",\"Metadata Reserved Keys\",8],\n  [26,\"\",\"Migration Log\",8],\n  [4,\"\",\"Mtx Media Heal Queue\",8],\n  [4,\"\",\"Public URL guard\",8],\n  [35,\"ner_canonicalizer_shadow\",\"NER Shadow\",8],\n  [43,\"notes\",\"Note\",26,null,\"Sources & Outputs\",\"label\",\"hybrid\"],\n  [24,\"\",\"Notification\",8],\n  [24,\"\",\"Notification Channel Preference\",8],\n  [24,\"\",\"Notification Event Override\",8],\n  [24,\"\",\"Notification Event Type\",8],\n  [24,\"\",\"Notification Preference\",8],\n  [24,\"\",\"Self notification submission\",8],\n  [36,\"\",\"Notify Outsider Door Baseline\",8],\n  [4,\"_oauth_handoff_claim\",\"Oauth Handoff Claim\",8],\n  [28,\"\",\"Opinion Clusters\",8],\n  [28,\"\",\"Opinions\",8],\n  [13,\"auth_lock_watchdog_log\",\"Auth lock watchdog log\",8],\n  [13,\"check_item\",\"Check Item\",8],\n  [13,\"check_run\",\"Check Run\",8],\n  [13,\"db_host_sample\",\"Database host sample\",8],\n  [13,\"\",\"Ops Issue Class\",8],\n  [13,\"\",\"Ops Issue Event\",8],\n  [13,\"perf_client_event\",\"Performance Client Event\",8],\n  [13,\"perf_sample\",\"Performance Sample\",8],\n  [13,\"perf_statement_snapshot\",\"Performance Statement Snapshot\",8],\n  [13,\"proof_check\",\"Proof Check\",12],\n  [13,\"proof_run\",\"Proof Run\",9],\n  [13,\"proof_scenario\",\"Proof Scenario\",12],\n  [13,\"source_read_cache\",\"Source Read Cache\",8],\n  [13,\"test_replay_cache\",\"Test Replay Cache Entry\",8],\n  [0,\"\",\"Org admin audit\",8],\n  [4,\"\",\"Org Change Policy\",8],\n  [7,\"\",\"Published org chart\",12,null,null,\"title\"],\n  [4,\"\",\"Org Context Ledger\",8],\n  [0,\"\",\"Org Industries\",9],\n  [0,\"org_member_controls\",\"Org member control\",8],\n  [4,\"\",\"Organization module configuration\",8],\n  [27,\"\",\"Change marker\",8],\n  [2,\"\",\"Org Plan\",8],\n  [0,\"\",\"Organization sweep inputs\",8],\n  [0,\"organizations\",\"Organization\",24,null,null,\"name\",\"container\"],\n  [0,\"\",\"Organization Preferences\",9],\n  [1,\"\",\"Organization Visibility Version\",8],\n  [4,\"\",\"Output Feedback\",8],\n  [33,\"\",\"Outreach Acceptance\",8],\n  [37,\"page_extraction_jobs\",\"Extraction Dataset\",24,null,null,\"name\"],\n  [37,\"page_extraction_page_runs\",\"Page Extraction Page Run\",8],\n  [37,\"\",\"Page Extraction Results\",9],\n  [37,\"\",\"Page Extraction Runs\",9],\n  [29,\"\",\"Page Intent Queue\",8],\n  [29,\"\",\"Page Mapping Queue\",8],\n  [4,\"\",\"Page vitals\",8],\n  [52,\"\",\"Part Config\",8],\n  [52,\"\",\"Part Config Sub\",8],\n  [33,\"\",\"Contact\",28,null,null,\"display_name\",\"source\"],\n  [33,\"\",\"Contact Point\",9,null,null,\"label\"],\n  [3,\"passkey_credentials\",\"Passkey credential\",8],\n  [53,\"pc_articles\",\"Podcast Article\",24,null,null,\"title\"],\n  [53,\"pc_episodes\",\"Podcast Episode\",24,null,null,\"title\"],\n  [53,\"pc_shows\",\"Podcast Show\",24,null,null,\"title\"],\n  [53,\"pc_studio_runs\",\"Podcast Studio Run\",24,null,null,\"title\"],\n  [53,\"pc_studio_run_assets\",\"Podcast Studio Run Asset\",9],\n  [54,\"\",\"Pdf Consolidation Log\",8],\n  [54,\"pdf_redaction_audits\",\"PDF Redaction Audit\",8],\n  [54,\"\",\"Pdf Redaction Key Escrow\",8],\n  [0,\"permissions\",\"Permission grant\",8],\n  [0,\"\",\"Personal data column\",8],\n  [55,\"cms_fill_item\",\"CMS Fill Item\",9,null,\"marketing\"],\n  [55,\"cms_fill_job\",\"CMS Fill Job\",9,null,\"marketing\"],\n  [55,\"entity\",\"Plan Entity\",12,null,null,\"label\"],\n  [55,\"node\",\"Plan page\",12,null,null,\"label\"],\n  [55,\"node_artifact\",\"Plan Node Artifact\",9],\n  [55,\"node_step\",\"Plan Node Step\",9],\n  [55,\"profile\",\"Plan Vertical Profile\",8,null,null,\"vertical\"],\n  [4,\"action_request\",\"Action Request\",8],\n  [4,\"actor_session\",\"Actor session\",8],\n  [4,\"actor_token\",\"Actor token\",8],\n  [4,\"actor_token_event\",\"Actor token event\",8],\n  [4,\"class_approval_by_arman\",\"Class approval by Arman\",8],\n  [4,\"class_approval_by_org_admin\",\"Class approval by an organization admin\",8],\n  [4,\"continued_access\",\"Continued Access\",8],\n  [4,\"cutover_census_run\",\"Cutover census run\",8],\n  [4,\"cutover_evaluation_replaced\",\"Cutover evaluation replaced\",8],\n  [4,\"cutover_evaluation_write\",\"Cutover evaluation write\",8],\n  [4,\"cutover_seam\",\"Cutover seam\",8],\n  [4,\"cutover_seam_measure\",\"Cutover seam measure\",8],\n  [4,\"cutover_seam_press\",\"Cutover seam press\",8],\n  [4,\"dated_change\",\"Dated Change\",8],\n  [4,\"doors_only_pending_cutover\",\"Doors-only pending cutover\",8],\n  [4,\"_google_calendar_event_create_intent\",\"Google calendar event create intent\",8],\n  [4,\"_google_task_create_intent\",\"Google task create intent\",8],\n  [4,\"hidden_item\",\"Hidden item\",8],\n  [4,\"kernel_fingerprint_record\",\"Kernel fingerprint record\",8],\n  [4,\"outcome_event\",\"Outcome Event\",12],\n  [4,\"outsider_consumer\",\"Outsider consumer\",8],\n  [4,\"provision_base_contract_pending\",\"Provision base contract pending\",8],\n  [4,\"reachability\",\"Reachability\",8],\n  [4,\"reachability_rebuild_pending\",\"Reachability rebuild pending\",8],\n  [4,\"realtime_topic_prefix\",\"Realtime topic prefix\",8],\n  [4,\"reference_categories\",\"Reference category\",8],\n  [4,\"reference_declaration\",\"Reference declaration\",8],\n  [4,\"repo\",\"Repository\",8],\n  [4,\"saved_view\",\"Saved view\",12],\n  [4,\"schemas\",\"Schema\",8],\n  [4,\"secure_delivery\",\"Secure Delivery\",8],\n  [4,\"share_links\",\"Share link\",8],\n  [4,\"strict_class_probe\",\"Strict class probe\",8],\n  [53,\"pc_race\",\"Podcast Race Episode\",8],\n  [7,\"\",\"Position\",12],\n  [43,\"\",\"Presentation\",12,null,null,\"name\"],\n  [37,\"processed_documents\",\"Source\",24,null,null,\"name\",\"source\"],\n  [37,\"processed_document_pages\",\"Processed document page\",9],\n  [43,\"\",\"Product Capture File\",9],\n  [43,\"\",\"Product Capture Item\",8],\n  [43,\"\",\"Product Capture Payload\",9],\n  [43,\"\",\"Product Capture Product\",9],\n  [43,\"\",\"Product Capture Question\",9],\n  [21,\"projects\",\"Project\",26,null,\"Workspaces\",\"name\",\"container\"],\n  [56,\"account\",\"Provider operating account\",8],\n  [56,\"account_credential\",\"Provider account credential association\",8],\n  [48,\"\",\"Mandate Provision (new)\",8],\n  [4,\"\",\"Provision Generate Target\",8],\n  [4,\"\",\"Provision Grant\",8],\n  [4,\"\",\"Provision Marker\",8],\n  [4,\"\",\"Provision Rule Message\",8],\n  [4,\"\",\"Provision Schema\",8],\n  [4,\"\",\"Provision Shape Debt\",8],\n  [48,\"\",\"Provision Snapshot\",8],\n  [4,\"\",\"Provision Spec\",8],\n  [4,\"\",\"Provision Spec Grandfather\",8],\n  [4,\"\",\"Provision Vocabulary\",8],\n  [4,\"\",\"Public compat wrapper\",8],\n  [4,\"\",\"Public placement baseline\",8],\n  [4,\"\",\"Public placement census\",8],\n  [4,\"\",\"Public placement domain\",8],\n  [4,\"\",\"Public restore permit\",8],\n  [4,\"\",\"Purpose\",12,null,null,\"title\"],\n  [16,\"quiz_sessions\",\"Quiz session\",24,null,null,\"title\",\"destination\"],\n  [35,\"ingest_run\",\"Ingest Run\",8],\n  [35,\"library_audit_log\",\"Library audit log\",8],\n  [12,\"\",\"Rate Limit Buckets\",8],\n  [4,\"\",\"Reachability pending\",8],\n  [1,\"\",\"Read Mask Kept\",8],\n  [36,\"_recompute_queue\",\"Recompute Queue\",8],\n  [1,\"\",\"Record\",8,null,\"Custom Data\"],\n  [1,\"\",\"Record Alias\",8],\n  [1,\"\",\"Record Computed Values\",8],\n  [1,\"\",\"Record Follow\",8],\n  [54,\"\",\"Redaction Mapping\",9],\n  [4,\"\",\"Relationship rule\",8],\n  [57,\"rs_analysis\",\"Research Analysis\",9],\n  [57,\"rs_content\",\"Research Content\",9],\n  [57,\"rs_context_bundle\",\"Research Context Bundle\",12,null,\"research\",\"name\"],\n  [57,\"rs_document\",\"Research Document\",9,null,null,\"title\"],\n  [57,\"\",\"Research Intent\",8],\n  [57,\"rs_keyword\",\"Research Keyword\",9],\n  [57,\"rs_media\",\"Research Media\",9],\n  [57,\"rs_source\",\"Research Source\",9,null,null,\"title\"],\n  [57,\"rs_synthesis\",\"Research Synthesis\",9],\n  [57,\"rs_tag\",\"Research Tag\",9,null,null,\"name\"],\n  [57,\"rs_template\",\"Research Template\",24,null,null,\"name\"],\n  [57,\"rs_topic\",\"Research Topic\",24,null,null,\"name\"],\n  [4,\"\",\"Retention policy\",8],\n  [35,\"\",\"Retrieval audit\",8],\n  [7,\"\",\"Review Queue\",8],\n  [4,\"route_manifest\",\"Route Manifest Entry\",8],\n  [26,\"row_versions\",\"Row version\",8],\n  [4,\"\",\"Rulebook\",28,null,\"Knowledge\",\"name\",\"source\"],\n  [2,\"\",\"Spend approval\",8],\n  [2,\"\",\"Spend approval event\",9],\n  [11,\"operation_stream\",\"Operation stream\",8],\n  [11,\"operation_stream_batch\",\"Operation stream batch\",8],\n  [15,\"sandbox_instances\",\"Sandbox\",8],\n  [9,\"\",\"Agent Task Config\",9],\n  [9,\"\",\"Task Run\",9],\n  [9,\"\",\"Scheduled Task\",24,null,null,\"title\"],\n  [9,\"\",\"Task Trigger\",9],\n  [9,\"automation_run_subject\",\"Automation run subject\",8],\n  [4,\"\",\"Schema Client Exposure\",8],\n  [15,\"_schema_migrations\",\"Migration ledger\",8],\n  [15,\"schema_migrations\",\"Legacy migration ledger\",8],\n  [15,\"_schema_migration_slot_grandfather\",\"Schema Migration Slot Grandfather\",8],\n  [43,\"\",\"Schema Templates\",8],\n  [34,\"scopes\",\"Scope\",24,null,null,\"name\",\"container\"],\n  [35,\"scope_association_suggestions\",\"Scope Association Suggestion\",8],\n  [34,\"\",\"Scope Door Registry\",8],\n  [35,\"scope_item_value_suggestions\",\"Scope Item Value Suggestion\",8],\n  [35,\"scope_suggestions\",\"Scope Suggestion\",8],\n  [34,\"scope_types\",\"Scope Type\",24,null,null,\"slug\",\"container\"],\n  [58,\"\",\"Scrape Domain\",8],\n  [58,\"\",\"Scrape Domain Settings\",8],\n  [58,\"\",\"Scrape Failure Log\",8],\n  [58,\"\",\"Parsed page\",8],\n  [58,\"\",\"Scrape Path Override\",8],\n  [58,\"\",\"Scrape Path Pattern\",8],\n  [58,\"\",\"Scrape Retry Queue\",8],\n  [58,\"comparison_run\",\"Comparison\",8],\n  [58,\"data_fetch_job\",\"Data fetch\",8],\n  [58,\"data_fetch_job_row\",\"Data fetch run row keys\",8],\n  [58,\"data_source\",\"Data source\",8],\n  [4,\"\",\"Search item\",8],\n  [29,\"ai_capability\",\"SEO AI capability\",8],\n  [29,\"ai_visibility_brand_check\",\"AI visibility brand check\",13],\n  [29,\"ai_visibility_citation\",\"AI Visibility Citation\",9,null,\"marketing\"],\n  [29,\"ai_visibility_claim\",\"AI Visibility Claim\",9,null,\"marketing\"],\n  [29,\"ai_visibility_design_artifact\",\"AI Visibility Design Artifact\",9],\n  [29,\"ai_visibility_panel\",\"AI Visibility Panel\",9],\n  [29,\"ai_visibility_panel_version\",\"AI Visibility Panel Version\",9],\n  [29,\"ai_visibility_response\",\"AI Visibility Response\",9,null,\"marketing\"],\n  [29,\"ai_visibility_signal\",\"AI Visibility Signal\",9,null,\"marketing\"],\n  [29,\"backlink\",\"SEO Backlink\",9,null,\"marketing\"],\n  [29,\"backlink_change_event\",\"Backlink Change Event\",9],\n  [29,\"backlink_dimension_snapshot\",\"Backlink Dimension Snapshot\",9,null,\"marketing\"],\n  [29,\"backlink_observation\",\"Backlink Observation\",9,null,\"marketing\"],\n  [29,\"backlink_snapshot\",\"Backlink Snapshot\",9,null,\"marketing\"],\n  [29,\"change_assessment\",\"SEO Change Assessment\",9,null,\"marketing\"],\n  [29,\"change_event\",\"SEO Change Event\",9,null,\"marketing\"],\n  [29,\"change_item\",\"SEO Change Item\",9,null,\"marketing\"],\n  [29,\"change_metric\",\"SEO Change Metric\",9,null,\"marketing\"],\n  [29,\"change_set\",\"SEO Change\",9,null,\"seo\",\"title\",\"source\"],\n  [29,\"change_theory\",\"SEO Change Theory\",9,null,\"marketing\"],\n  [29,\"collection_run\",\"SEO Collection Run\",8,null,\"seo\"],\n  [29,\"competitor\",\"SEO Competitor\",9,null,\"marketing\"],\n  [29,\"competitor_observation\",\"Competitor Observation\",9,null,\"marketing\"],\n  [29,\"competitor_opportunity\",\"Competitor Opportunity\",9,null,\"marketing\"],\n  [29,\"coverage_mention\",\"Coverage Mention\",9],\n  [29,\"coverage_tracker\",\"Coverage Tracker\",9],\n  [29,\"dimension_value_matcher\",\"Dimension Value Matcher\",13],\n  [29,\"engine_schedule\",\"SEO Engine Schedule\",8],\n  [29,\"geo_place\",\"Geo Place\",12],\n  [29,\"gsc_dig_rule\",\"GSC Dig Rule\",9,null,\"marketing\"],\n  [29,\"keyword\",\"SEO keyword\",8,null,\"seo\",\"phrase\"],\n  [29,\"keyword_class_rule\",\"Keyword Class Rule\",8,null,\"marketing\"],\n  [29,\"keyword_edge\",\"Keyword Edge\",8,null,\"seo\"],\n  [29,\"keyword_facet\",\"Keyword Facet\",8],\n  [29,\"keyword_market\",\"Keyword Market Data\",8,null,\"seo\"],\n  [29,\"keyword_market_observation\",\"Keyword Market Observation\",9,null,\"marketing\"],\n  [29,\"keyword_place\",\"Keyword Place\",8],\n  [29,\"keyword_saved_view\",\"Keyword Saved View\",13],\n  [29,\"keyword_topic\",\"Keyword Topic Assignment\",8,null,\"seo\"],\n  [29,\"landscape_brief\",\"Competitive Landscape Brief\",9,null,\"marketing\"],\n  [29,\"link_gap_domain\",\"Link Gap Domain\",9,null,\"marketing\"],\n  [29,\"link_gap_match\",\"Link Gap Match\",9,null,\"marketing\"],\n  [29,\"map_facet\",\"Topical map facet\",12,null,\"seo\"],\n  [29,\"map_facet_value\",\"Topical map facet value\",12,null,\"seo\"],\n  [29,\"map_topic\",\"Topical map topic\",9,null,\"seo\"],\n  [29,\"page_measurement_health\",\"Page Measurement Health\",9],\n  [29,\"page_performance\",\"Page Performance\",9,null,\"marketing\"],\n  [29,\"pr_moment\",\"PR Moment\",9],\n  [29,\"provider_call\",\"SEO Provider Call\",9,null,\"marketing\"],\n  [29,\"provider_task\",\"SEO Provider Task\",9,null,\"marketing\"],\n  [29,\"rank_observation\",\"Rank Observation\",9,null,\"marketing\"],\n  [29,\"rank_target\",\"SEO Rank Target\",8,null,\"seo\"],\n  [29,\"raw_payload\",\"SEO Raw Payload\",9,null,\"marketing\"],\n  [29,\"referring_domain_profile\",\"Referring Domain Profile\",9,null,\"marketing\"],\n  [29,\"reputation_case\",\"Reputation Case\",9,null,\"marketing\"],\n  [29,\"search_performance_daily\",\"Search Performance Daily\",9,null,\"marketing\"],\n  [29,\"serp_mention\",\"SERP Prospect Mention\",9],\n  [29,\"serp_opportunity\",\"SERP Prospect Opportunity\",9],\n  [29,\"serp_result\",\"SERP Result\",9,null,\"marketing\"],\n  [29,\"serp_snapshot\",\"SERP Snapshot\",9,null,\"marketing\"],\n  [29,\"site_geo_area\",\"Site Geo Area\",9],\n  [29,\"site_keyword_offering\",\"Site Keyword Offering\",9],\n  [29,\"site_keyword_value\",\"Site Keyword Value\",9,null,\"seo\"],\n  [29,\"site_offering_value\",\"Site Offering Value\",9],\n  [29,\"site_topic_value\",\"Site Topic Value\",9,null,\"seo\"],\n  [29,\"site_value_combo\",\"Site Value Combination\",13],\n  [29,\"site_value_worth\",\"Site Value Worth\",13],\n  [29,\"site_vocabulary\",\"Site Vocabulary\",9],\n  [29,\"source_request\",\"SEO Source Request\",8,2],\n  [29,\"starter_pack\",\"SEO Industry Starter Pack\",12],\n  [29,\"starter_pack_item\",\"SEO Starter Pack Item\",9],\n  [29,\"story_angle\",\"SEO Story Angle\",8,2],\n  [29,\"topic\",\"SEO Topic\",24,null,\"seo\",\"name\"],\n  [29,\"topical_map\",\"Topical map\",12,null,\"seo\"],\n  [29,\"tracker_story\",\"Monitor Story\",9],\n  [29,\"web_analytics_daily\",\"Web Analytics Daily\",9,null,\"marketing\"],\n  [4,\"\",\"Share link password\",8],\n  [4,\"\",\"Shareable resource registry\",8],\n  [25,\"shared_canvas_items\",\"Shared Canvas Item\",24,null,null,\"title\"],\n  [4,\"short_links\",\"Short Link\",8],\n  [4,\"\",\"Sign-in reference baseline\",8],\n  [59,\"definition\",\"Skill\",24,null,\"Skills\",\"label\",\"utility\"],\n  [59,\"\",\"Skill Detail\",9,null,\"Skills\"],\n  [24,\"\",\"SMS Consent\",8],\n  [24,\"sms_conversations\",\"SMS Conversation\",8],\n  [24,\"sms_messages\",\"SMS Message\",9],\n  [24,\"sms_media\",\"SMS Media\",9,null,null,\"file_name\"],\n  [24,\"sms_notifications\",\"SMS Notification\",8],\n  [24,\"sms_notification_preferences\",\"SMS Notification Preference\",8],\n  [24,\"sms_phone_numbers\",\"SMS Phone Number\",8],\n  [24,\"\",\"Sms Rate Limits\",8],\n  [24,\"\",\"Sms Webhook Logs\",8],\n  [60,\"account_insight_daily\",\"Own-account daily insights\",8,null,\"marketing\",null,\"source\"],\n  [60,\"ad\",\"Social ad\",8,null,\"marketing\",\"advertiser_name\",\"source\"],\n  [60,\"captured_post\",\"Captured social post\",8],\n  [60,\"kpi_goal\",\"Social KPI goal\",8,null,\"marketing\",\"metric\",\"source\"],\n  [60,\"own_post_metric\",\"Own post metrics\",8],\n  [60,\"post\",\"Social post\",8,null,\"marketing\",\"url\",\"source\"],\n  [60,\"post_analysis\",\"Social post analysis\",8,null,\"marketing\",\"hook_text\",\"source\"],\n  [60,\"post_comment\",\"Social post comment\",9,null,\"marketing\",null,\"source\"],\n  [60,\"post_metric_snapshot\",\"Social post metric snapshot\",8,null,\"marketing\",null,\"source\"],\n  [60,\"post_stat\",\"Social post stats\",9,null,\"marketing\",null,\"source\"],\n  [60,\"post_transcript\",\"Social post transcript\",9,null,\"marketing\",null,\"source\"],\n  [60,\"\",\"Social profile\",8,null,\"marketing\",\"handle\",\"source\"],\n  [60,\"profile_snapshot\",\"Social profile snapshot\",8,null,\"marketing\",null,\"source\"],\n  [60,\"remix_output\",\"Remix output\",8,null,\"marketing\",\"title\",\"destination\"],\n  [60,\"swipe_collection\",\"Swipe collection\",8,null,\"marketing\",\"name\",\"container\"],\n  [60,\"tracked_account\",\"Tracked social account\",8,null,\"marketing\",\"label\",\"source\"],\n  [60,\"video_composition_version\",\"Video composition version\",9,null,\"marketing\"],\n  [60,\"video_project\",\"Video project\",8,null,\"marketing\",\"name\",\"container\"],\n  [60,\"video_variant\",\"Video variant\",9,null,\"marketing\"],\n  [60,\"watchlist_hit\",\"Watchlist hit\",9,null,\"marketing\",null,\"source\"],\n  [4,\"\",\"Soft-delete cascade job\",8],\n  [4,\"\",\"Soft Delete Edge\",8],\n  [4,\"\",\"Source authority\",8],\n  [31,\"\",\"Space Payload\",9,null,\"Documents\"],\n  [44,\"\",\"Stage reference kind\",8],\n  [4,\"\",\"Stamped Write Table\",8],\n  [12,\"\",\"Structure\",9],\n  [61,\"\",\"Studio Cleaned Segments\",9],\n  [61,\"\",\"Studio Concept Items\",9],\n  [61,\"\",\"Studio Document\",9,null,null,\"title\"],\n  [61,\"\",\"Studio Module Segments\",9],\n  [61,\"\",\"Studio Raw Segments\",9],\n  [61,\"\",\"Studio Recording Chunk\",8],\n  [61,\"\",\"Studio Recording Segment\",9],\n  [61,\"studio_runs\",\"Studio Run\",8],\n  [61,\"studio_sessions\",\"Transcript Studio session\",24,null,null,\"title\",\"source\"],\n  [61,\"\",\"Studio Session Settings\",9],\n  [16,\"\",\"Study Attempt\",8],\n  [16,\"\",\"Study Goal\",24,null,null,\"title\"],\n  [16,\"\",\"Study Media\",24,null,null,\"title\"],\n  [16,\"\",\"Study Plan\",24,null,null,\"title\"],\n  [16,\"\",\"Study Plan Block\",25,null,null,\"label\"],\n  [16,\"\",\"Study Plan Day\",9],\n  [16,\"\",\"Study Reminder Context\",8],\n  [16,\"\",\"Study Reminder Delivery\",8],\n  [16,\"\",\"Study Session\",8],\n  [16,\"\",\"Study Source Chunk\",8],\n  [16,\"\",\"Study streak\",8],\n  [16,\"\",\"Study Structured Section\",8],\n  [0,\"\",\"Superseded Policy\",8],\n  [5,\"support_sessions\",\"Support session\",8],\n  [5,\"support_session_events\",\"Support session event\",9],\n  [62,\"ui_surface\",\"UI Surface\",28,null,null,\"name\"],\n  [3,\"system_announcements\",\"System announcement\",8],\n  [34,\"\",\"System Context Item\",12],\n  [34,\"\",\"System Context Organization Value\",8],\n  [13,\"\",\"System Error\",8],\n  [0,\"\",\"System Orgs\",8],\n  [13,\"\",\"System Write Failure\",8],\n  [13,\"\",\"T-13 backfill ledger\",8],\n  [13,\"\",\"T-13 default ledger\",8],\n  [13,\"\",\"T-13 row column events\",8],\n  [4,\"\",\"Tag\",8],\n  [21,\"tasks\",\"Task\",26,null,\"Workspaces\",\"title\",\"container\"],\n  [21,\"\",\"Task user state\",8],\n  [4,\"\",\"Taxonomy node\",8],\n  [0,\"\",\"Team\",4,null,\"Organizations\",\"name\"],\n  [34,\"\",\"Template Context Items\",8],\n  [34,\"\",\"Template Scope Types\",8],\n  [34,\"\",\"Templates\",8],\n  [24,\"\",\"Test Handset Inbox\",8],\n  [24,\"\",\"Test Handset Verification\",8],\n  [21,\"threads\",\"Thread\",24,null,null,\"title\"],\n  [50,\"definition\",\"Tool\",24,null,\"Tools\",\"name\"],\n  [50,\"battle\",\"Tool Battle\",8],\n  [50,\"battle_cell\",\"Tool Battle Cell\",9],\n  [50,\"binding\",\"Tool binding\",9],\n  [50,\"bundle\",\"Tool Bundle\",24,null,\"Tools\",\"name\"],\n  [8,\"\",\"Tool Call\",9],\n  [8,\"_tool_call_facts\",\"Tool call facts\",8],\n  [50,\"canary_run\",\"Watchtower Canary Run\",8],\n  [50,\"catalog_cache\",\"Tool Answer Cache\",8],\n  [50,\"catalog_call\",\"Tool Call\",8],\n  [50,\"catalog_call_attempt\",\"Tool Call Attempt\",8],\n  [50,\"catalog_call_detail\",\"Tool Call Detail\",8],\n  [50,\"catalog_endpoint\",\"Tool Catalog Endpoint\",8],\n  [50,\"catalog_entry\",\"Tool Catalog Entry\",8],\n  [50,\"catalog_provider\",\"Tool Catalog Provider\",8],\n  [50,\"definition_version\",\"Tool Definition Version\",9,null,\"Tools\",\"name\"],\n  [50,\"executor\",\"Tool executor\",8],\n  [50,\"feature_scorecard\",\"Watchtower Feature Scorecard\",8],\n  [50,\"surface_defaults\",\"Tool surface defaults\",8],\n  [50,\"test_sample\",\"Tool Test Sample\",9,null,\"Tools\"],\n  [50,\"ui\",\"Tool UI\",9,null,\"Tools\",\"display_name\"],\n  [50,\"ui_incident\",\"Tool UI Incident\",9,null,\"Tools\"],\n  [50,\"ui_version\",\"Tool UI Version\",9,null,\"Tools\",\"display_name\"],\n  [29,\"\",\"Topic Placement Queue\",9],\n  [61,\"transcripts\",\"Transcript\",26,null,\"Sources\",\"title\",\"source\"],\n  [42,\"\",\"Trigger Event\",9],\n  [43,\"udt_documents\",\"Cloud document\",24,null,null,\"document_name\",\"hybrid\"],\n  [43,\"udt_document_snapshots\",\"Document snapshot\",9],\n  [43,\"udt_workbook_snapshots\",\"Workbook snapshot\",9],\n  [62,\"\",\"UI client\",8],\n  [62,\"decision_pick\",\"UI decision picks\",12],\n  [62,\"\",\"Surface Action\",9],\n  [62,\"\",\"UI Surface Agent Pref\",8],\n  [62,\"\",\"UI surface agent role\",8],\n  [62,\"\",\"UI surface client tool\",8],\n  [62,\"\",\"UI Surface Config\",8],\n  [62,\"\",\"UI surface item type\",8],\n  [62,\"\",\"UI surface value\",8],\n  [62,\"\",\"UI surface write target\",8],\n  [31,\"\",\"Univer Payload\",9,null,\"Documents\"],\n  [33,\"\",\"Unsubscribe Token\",8],\n  [12,\"\",\"Uploads Inflight\",8],\n  [0,\"users\",\"User\",8],\n  [3,\"user_achievements\",\"User Achievement\",8],\n  [3,\"_acquisition_facts\",\"Acquired identities\",8],\n  [3,\"_acquisition_facts_stored\",\"Acquired identities (stored)\",8],\n  [3,\"_acquisition_facts_stored_watermark\",\"Acquired identities counted through\",8],\n  [34,\"\",\"Active context\",8],\n  [3,\"user_analysis_preferences\",\"User Analysis Preference\",8],\n  [3,\"user_email_preferences\",\"User Email Preference\",8],\n  [4,\"\",\"User entity state\",8],\n  [3,\"\",\"User Feedback\",8],\n  [3,\"\",\"User Follows\",9],\n  [3,\"\",\"User Form Profile\",8],\n  [3,\"user_markdown_samples\",\"User Markdown Sample\",24,null,null,\"name\"],\n  [3,\"\",\"User Memory\",8],\n  [3,\"user_preferences\",\"User Preference\",8],\n  [3,\"profiles\",\"User Profile\",24,null,null,\"display_name\"],\n  [3,\"user_secrets\",\"User secret\",8],\n  [3,\"\",\"Secret audit\",8],\n  [3,\"user_secret_grants\",\"Secret grant\",8],\n  [3,\"user_stats\",\"User Stats\",8],\n  [12,\"\",\"Storage usage\",8],\n  [3,\"\",\"User Surface State\",8],\n  [3,\"calendar_feed\",\"Calendar subscription\",8],\n  [3,\"_vault_fill_approvals\",\"Vault fill approvals\",8],\n  [3,\"_vault_fill_devices\",\"Vault fill devices\",8],\n  [3,\"_vault_fill_nonces\",\"Vault fill nonces\",8],\n  [1,\"\",\"Visibility Cache\",8],\n  [1,\"\",\"Visibility Epoch\",8],\n  [10,\"voices\",\"Voice\",24,null,null,\"name\"],\n  [21,\"war_rooms\",\"War Room\",24,null,null,\"title\"],\n  [41,\"\",\"Extension demo record\",8],\n  [41,\"\",\"Extension Guidance\",8],\n  [41,\"\",\"Extension Highlight\",8],\n  [41,\"\",\"Extension Scrape Pattern\",24,null,null,\"name\"],\n  [41,\"\",\"Extension recipe\",8],\n  [41,\"\",\"Extension Screenshot\",8],\n  [41,\"\",\"Extension SEO Audit\",8],\n  [28,\"\",\"WC Claim\",8],\n  [28,\"\",\"WC Impairment Definition\",8,null,null,\"name\"],\n  [28,\"\",\"WC Injury\",9],\n  [28,\"\",\"WC Report\",9],\n  [39,\"analysis_item\",\"Analysis Item\",24,null,null,\"label\"],\n  [39,\"brand\",\"Brand\",24,null,null,\"name\"],\n  [39,\"brand_asset\",\"Brand Asset\",9,null,null,\"title\"],\n  [39,\"brand_choice\",\"Brand choice\",9],\n  [39,\"brand_exclusion\",\"Brand exclusion\",12],\n  [39,\"brand_offering\",\"Brand Offering\",9],\n  [39,\"brand_persona\",\"Brand persona\",8,null,\"marketing\",\"name\",\"utility\"],\n  [39,\"brand_relation_kind\",\"Brand relationship\",8],\n  [39,\"brand_review\",\"Brand review\",9],\n  [39,\"brand_testimony\",\"Brand testimony\",9],\n  [39,\"business_fact\",\"Business Fact\",9,null,null,\"label\"],\n  [39,\"business_location\",\"Business Location\",9],\n  [39,\"channel_analytics_daily\",\"Channel analytics (daily)\",8],\n  [39,\"crawl_event\",\"Web Crawl Event\",9],\n  [39,\"crawl_preset\",\"Web Crawl Preset\",9,null,null,\"name\"],\n  [39,\"crawl_schedule\",\"Web Crawl Schedule\",9,null,null,\"name\"],\n  [39,\"crawl_session\",\"Crawl\",9],\n  [39,\"crawl_url\",\"Web Crawl URL\",9],\n  [39,\"discovered_item\",\"Discovered Item\",9],\n  [39,\"domain_category\",\"Known web domain\",8],\n  [39,\"domain_category_observation\",\"Web domain observation\",8],\n  [39,\"finding\",\"Finding\",9],\n  [39,\"gsc_page_stat\",\"GSC Page Stat\",9],\n  [39,\"link_edge\",\"Link Edge\",9],\n  [39,\"listing_publisher\",\"Listing Publisher\",8],\n  [39,\"location_listing\",\"Location Listing\",9],\n  [39,\"news_item\",\"News Item\",8],\n  [39,\"offering_template\",\"Offering Template\",8],\n  [39,\"page\",\"Site page\",9,null,null,\"url\",\"source\"],\n  [39,\"page_content\",\"Page Draft Content\",9],\n  [39,\"page_evidence\",\"Web Page Evidence\",9],\n  [39,\"page_sitemap\",\"Page Sitemap Membership\",9],\n  [39,\"property\",\"Brand property\",9,null,null,\"display_name\"],\n  [39,\"provider\",\"Provider\",24,null,null,\"label\"],\n  [39,\"analysis_result\",\"Analysis Result\",9],\n  [39,\"screenshot\",\"Screenshot\",9],\n  [39,\"search_review\",\"Search review\",12],\n  [39,\"site\",\"Site\",24,null,null,\"name\"],\n  [39,\"site_endpoint_rule\",\"Site Endpoint Rule\",9,null,null,\"path_prefix\"],\n  [39,\"site_item_config\",\"Site Item Config\",9],\n  [39,\"site_offering\",\"Site Offering\",9],\n  [39,\"sitemap\",\"Sitemap\",9,null,null,\"url\"],\n  [39,\"snapshot\",\"Page capture\",9],\n  [39,\"tag_manager_snapshot\",\"Tag Manager snapshot\",9],\n  [39,\"temp_brand_firmographic\",\"Brand business profile\",8,null,\"Brands\"],\n  [39,\"temp_brand_presence\",\"Brand presence\",8,null,\"Brands\"],\n  [39,\"temp_brand_recognition\",\"Brand recognition\",8,null,\"Brands\"],\n  [39,\"voice_fingerprint\",\"Voice Fingerprint\",8],\n  [39,\"youtube_video\",\"YouTube video\",12],\n  [12,\"\",\"Webhook Deliveries\",9],\n  [12,\"\",\"Webhook Dispatch State\",8],\n  [24,\"\",\"Webhook test receipt\",8],\n  [12,\"\",\"Webhooks\",8],\n  [42,\"node_data_slot\",\"Workflow Node Data Slot\",9],\n  [4,\"_work_claim\",\"Work Claim\",8],\n  [11,\"\",\"Runtime Work Item\",9],\n  [43,\"udt_workbooks\",\"Workbook\",28,null,null,\"workbook_name\",\"hybrid\"],\n  [42,\"\",\"Worker Heartbeat\",8],\n  [42,\"definition\",\"Workflow\",24,null,null,\"name\",\"utility\"],\n  [42,\"card\",\"Workflow Card\",9],\n  [42,\"checkpoint\",\"Workflow Checkpoint\",9],\n  [42,\"checkpoint_value\",\"Workflow Checkpoint Value\",8],\n  [42,\"comparison\",\"Workflow Comparison\",8],\n  [42,\"definition_overview\",\"Workflow overview\",9],\n  [42,\"definition_version\",\"Workflow Definition Version\",9,null,null,\"name\"],\n  [42,\"idempotency\",\"Workflow Idempotency\",9],\n  [42,\"job\",\"Workflow Job\",9],\n  [42,\"node_events\",\"Workflow Node Events\",9],\n  [42,\"node_outcome\",\"Workflow Node Outcome\",9],\n  [42,\"plan\",\"Workflow Plan\",17,null,null,\"name\"],\n  [42,\"plan_event\",\"Workflow Plan Event\",1],\n  [42,\"plan_sample\",\"Workflow Plan Sample\",1],\n  [42,\"recovery_audit\",\"Workflow Recovery Audit\",9],\n  [42,\"review_issue\",\"Workflow Review Issue\",9],\n  [42,\"run\",\"Workflow Run\",8],\n  [42,\"_run_cost\",\"Workflow run cost\",8],\n  [42,\"_run_facts\",\"Workflow run facts\",8],\n  [42,\"run_log\",\"Workflow Run Log\",9],\n  [42,\"runtime_surface\",\"Run Surface\",12],\n  [42,\"_step_facts\",\"Workflow step facts\",8],\n  [42,\"step_result\",\"Workflow Step Result\",8],\n  [42,\"template\",\"Workflow Template\",24,null,null,\"name\"],\n  [42,\"trigger\",\"Workflow Trigger\",24,null,null,\"name\"],\n  [42,\"trigger_fire\",\"Workflow Trigger Fire\",9],\n  [42,\"work_item\",\"Work Item\",9],\n  [36,\"_write_guard_key\",\"Write Guard Key\",8],\n  [57,\"\",\"Youtube Quota Day\",8],\n  [57,\"\",\"YouTube Search\",8],\n  [57,\"\",\"YouTube Video\",8,null,null,\"title\",\"source\"],\n];\n\nlet decodedMetadata: Record<EntityTypeToken, EntityTypeMeta> | null = null;\n\nfunction entityTypeMetadata(): Record<EntityTypeToken, EntityTypeMeta> {\n  if (decodedMetadata) return decodedMetadata;\n  const out = {} as Record<EntityTypeToken, EntityTypeMeta>;\n  META_ROWS.forEach(([schema, table, label, flags, baseTier, category, titleColumn, contentRole, referenceCategory], i) => {\n    const token = ENTITY_TYPE_TOKENS[i]!;\n    out[token] = {\n      token,\n      schema: META_SCHEMAS[schema] ?? \"\",\n      table: table || token,\n      label,\n      baseTier: baseTier ?? 1,\n      isComponent: (flags & 1) !== 0,\n      isModule: (flags & 2) !== 0,\n      isListed: (flags & 4) !== 0,\n      scopeable: (flags & 8) !== 0,\n      category: category ?? null,\n      referencePickable: (flags & 16) !== 0,\n      titleColumn: titleColumn ?? null,\n      contentRole: contentRole ?? null,\n      referenceCategory: referenceCategory ?? null,\n    };\n  });\n  return (decodedMetadata = out);\n}\n\n/** Full registry metadata, keyed by token — an ordinary object to every reader, decoded on first read. */\nexport const ENTITY_TYPE_METADATA: Readonly<Record<EntityTypeToken, EntityTypeMeta>> = /* @__PURE__ */ new Proxy(\n  {} as Record<EntityTypeToken, EntityTypeMeta>,\n  {\n    get: (_, key) => Reflect.get(entityTypeMetadata(), key),\n    has: (_, key) => Reflect.has(entityTypeMetadata(), key),\n    ownKeys: () => Reflect.ownKeys(entityTypeMetadata()),\n    getOwnPropertyDescriptor: (_, key) => Reflect.getOwnPropertyDescriptor(entityTypeMetadata(), key),\n    set: () => false,\n    defineProperty: () => false,\n    deleteProperty: () => false,\n  },\n);\n","// core/registry.ts — @ai-matrx/associations/core\n//\n// THE registry merge engine — the single resolver that turns an entity token\n// into everything a generic association surface needs to RENDER it and QUERY\n// for it. Ported behavior-verbatim from matrx-frontend\n// `features/scopes/registry/entityRegistry.ts` (associations extraction W2,\n// 2026-08-29), with the measured seams inverted:\n//\n//   • the 804-line app ENTITY_OVERLAY literal (lucide icons, ~45 hrefFor\n//     routes, `features/rag`/`features/hr` candidate loaders) → the OPTIONAL\n//     `entityOverlay` port (`AssociationsConfig.entityOverlay` +\n//     `registerEntityOverlay` on the store). The package ships NO overlay\n//     entries — icons/routes/loaders are host-native values;\n//   • the lucide DEFAULT_ICON → `Icon: null` (packages never depend on an\n//     icon library, C19; /react supplies its inlined default in W4);\n//   • console.error screams → the REQUIRED errorSink port.\n//\n// Two inputs, merged per token:\n//   1. The GENERATED registry `ENTITY_TYPE_METADATA` (mirrored 1:1 from\n//      `platform.entity_types`) — the truth for `schema`/`table`/`label`/\n//      `titleColumn`/`scopeable`/`category`/`contentRole`/`referencePickable`.\n//   2. The host overlay for the code-native values the DB cannot carry.\n//\n// OWNERSHIP + ORG ARE CONVENTIONS, NOT PER-TOKEN CONFIG. Verified live across\n// every cardable table after the 2026 schema reorg: each carries `created_by`\n// and `organization_id`. A token only overrides them when its table genuinely\n// diverges (`null` override = \"this table has no such column\").\n\nimport { pluralizeLabel } from \"./pluralizeLabel\";\nimport { isRecordStoreNounToken, recordStoreNoun } from \"../record-store-nouns\";\nimport {\n  isEntityTypeToken,\n  type EntityTypeMeta,\n  type EntityTypeToken,\n} from \"../entity-types.generated\";\nimport { ENTITY_TYPE_METADATA } from \"../entity-type-metadata.generated\";\nimport type {\n  EntityOverlayEntry,\n  EntityOverlayMap,\n  ErrorSink,\n} from \"../ports\";\n\n/** The universal ownership column post-2026-reorg. */\nexport const DEFAULT_OWNER_COLUMN = \"created_by\";\n/** The universal org-scoping column. */\nexport const DEFAULT_ORG_COLUMN = \"organization_id\";\n\n// ─── Content roles ──────────────────────────────────────────────────────────\n// The knowledge-model grouping axis. `platform.entity_types.content_role` is\n// the only per-entity authority; display metadata for the buckets (titles,\n// accents) is host/`react` chrome and deliberately NOT part of /core.\n\nexport type ContentRole =\n  | \"utility\"\n  | \"source\"\n  | \"destination\"\n  | \"hybrid\"\n  | \"container\";\n\nconst CONTENT_ROLE_SET: ReadonlySet<string> = new Set([\n  \"utility\",\n  \"source\",\n  \"destination\",\n  \"hybrid\",\n  \"container\",\n]);\n\n/** Runtime guard for the DB's free-text `content_role` column. */\nexport function isContentRole(value: string | null): value is ContentRole {\n  return value !== null && CONTENT_ROLE_SET.has(value);\n}\n\n/**\n * Domain vocabularies that name a registered entity by a DIFFERENT string.\n * A `kind` column written by another system is not automatically a canonical\n * token — the Knowledge/ingest pipeline stamps `source_kind='cld_file'`, the\n * legacy name of the table now called `files.files`, which IS the registry's\n * `file`. One alias table, one place to add the next one. Only add an entry\n * VERIFIED to point at the same physical row.\n */\nconst TOKEN_ALIASES: Record<string, EntityTypeToken> = {\n  cld_file: \"file\",\n};\n\n/**\n * Normalize a raw `kind`/`type` string onto its canonical entity token.\n * Returns the input unchanged when it is already canonical or unknown — the\n * caller's existing \"no registry entry → plain text\" path still applies.\n */\nexport function resolveEntityToken(raw: string): string {\n  return TOKEN_ALIASES[raw] ?? raw;\n}\n\n/**\n * Fully-resolved entity descriptor — generated metadata + host overlay, with\n * safe fallbacks so an un-overlaid token still renders (derived plural, no\n * door, `Icon: null` → the consumer's default) even if it can't be queried\n * for candidates yet.\n */\nexport interface EntityInfo {\n  token: EntityTypeToken;\n  label: string;\n  labelPlural: string;\n  /** Postgres schema of the backing table (from the generated registry). */\n  schema: string;\n  /** Backing table name (from the generated registry). */\n  table: string;\n  /** Title column for the picker, or null when none is registered. */\n  titleColumn: string | null;\n  /** Ownership column to scope candidate reads to the current user. */\n  ownerColumn: string;\n  /** Org-scoping column. */\n  orgColumn: string;\n  /** Host-supplied icon component, or null (consumer renders its default). */\n  Icon: EntityOverlayEntry[\"Icon\"] | null;\n  hrefFor: ((id: string) => string) | null;\n  scopeable: boolean;\n  category: string | null;\n  /** Knowledge-model grouping bucket (resource surfaces group by this). */\n  contentRole: ContentRole;\n  /** Candidate-source override (rag-backed tokens etc.); null = generic read. */\n  listCandidates: EntityOverlayEntry[\"listCandidates\"] | null;\n  /** True when a picker can list real candidates (title column OR override). */\n  canListCandidates: boolean;\n}\n\n// Reverse indexes: \"schema.table\" → canonical token (first registered token wins\n// when several tokens share a physical table), and a bare table name → its one\n// token (null when several share it). Built on the FIRST lookup, never at import:\n// importing this module must not decode the generated metadata (package rule 24).\nlet tableToToken: Record<string, EntityTypeToken> | null = null;\nlet uniqueTableNameToToken: Record<string, EntityTypeToken | null> | null = null;\n\nfunction tableIndexes(): {\n  byTable: Record<string, EntityTypeToken>;\n  byUniqueName: Record<string, EntityTypeToken | null>;\n} {\n  if (!tableToToken || !uniqueTableNameToToken) {\n    const byTable: Record<string, EntityTypeToken> = {};\n    const byUniqueName: Record<string, EntityTypeToken | null> = {};\n    for (const token of Object.keys(ENTITY_TYPE_METADATA) as EntityTypeToken[]) {\n      const meta = ENTITY_TYPE_METADATA[token];\n      const key = `${meta.schema}.${meta.table}`;\n      if (!(key in byTable)) byTable[key] = token;\n      byUniqueName[meta.table] = meta.table in byUniqueName ? null : token;\n    }\n    tableToToken = byTable;\n    uniqueTableNameToToken = byUniqueName;\n  }\n  return { byTable: tableToToken, byUniqueName: uniqueTableNameToToken };\n}\n\nexport interface EntityRegistry {\n  /** Merge more overlay entries in (host binding, W4 pickers, tests). */\n  registerEntityOverlay(overlay: EntityOverlayMap): void;\n  /** Resolve a KNOWN token to its full descriptor. */\n  getEntityInfo(token: EntityTypeToken): EntityInfo;\n  /** Safe variant for raw strings (e.g. an edge's `otherType`). */\n  tryGetEntityInfo(token: string): EntityInfo | null;\n  /** Resolve from a live `(schema, table)` pair, or null. */\n  tryGetEntityInfoByTable(schema: string, table: string): EntityInfo | null;\n  /** Resolve a raw table name only when it maps to exactly one entity. */\n  tryGetEntityInfoByUniqueTableName(table: string): EntityInfo | null;\n  /**\n   * Tokens the DB classifies as knowledge resources via a valid\n   * `content_role` AND that can list candidates. The default set for card\n   * grids, resource sections, and attach pickers.\n   */\n  curatedTokens(): EntityTypeToken[];\n  /**\n   * Tokens offered as reference \"Allowed types\" — DB-driven via\n   * `platform.entity_types.reference_pickable`. A pickable token with no\n   * title column and no candidate override is a config defect: excluded and\n   * screamed to the errorSink, never silently shown broken.\n   */\n  listableTokens(): EntityTypeToken[];\n}\n\n/** Build the merge engine over the host overlay (empty overlay is legal). */\nexport function createEntityRegistry(\n  errorSink: ErrorSink,\n  initialOverlay?: EntityOverlayMap,\n): EntityRegistry {\n  // Instance state, never module state — dual-loaded graphs each construct\n  // their own store, so there is nothing to split.\n  const overlayByToken: Partial<Record<EntityTypeToken, EntityOverlayEntry>> = {\n    ...(initialOverlay ?? {}),\n  };\n\n  // A host compiled against an older vocabulary can ask for a token the live\n  // registry has since retired (2026-10-02: the custom-data cutover\n  // deactivated `dataset` and `structured_list`; a module-scope\n  // `getEntityInfo(\"structured_list\")` in the host then threw at import time\n  // and every route of the app crashed). A retired token is a defect in the\n  // HOST — it must be told, loudly, once per token — but it is never a reason\n  // to take the whole product down. The stand-in names itself as retired.\n  const retiredReported = new Set<string>();\n  function retiredTokenMeta(token: string): EntityTypeMeta {\n    if (!retiredReported.has(token)) {\n      retiredReported.add(token);\n      errorSink({\n        code: \"retired_entity_token\",\n        message:\n          `[entityRegistry] \"${token}\" is not in the live entity vocabulary ` +\n          `(retired or renamed in platform.entity_types). The host still ` +\n          `references it; rename the reference to the live token, or drop it. ` +\n          `Serving a stand-in so the page can render.`,\n        context: { token },\n      });\n    }\n    return {\n      token: token as EntityTypeToken,\n      schema: \"\",\n      table: \"\",\n      label: `${token} (retired)`,\n      baseTier: 1,\n      isComponent: false,\n      isModule: false,\n      isListed: false,\n      scopeable: false,\n      category: null,\n      referencePickable: false,\n      titleColumn: null,\n      contentRole: null,\n      referenceCategory: null,\n    };\n  }\n\n  // The record store's kinds (Table, Pick list): live nouns with no entity-type row — named,\n  // never screamed as retired, and never pointed at a table (see record-store-nouns.ts).\n  function recordStoreMeta(token: string): EntityTypeMeta | null {\n    const label = recordStoreNoun(token);\n    if (label === null) return null;\n    return {\n      token: token as EntityTypeToken,\n      schema: \"\",\n      table: \"\",\n      label,\n      baseTier: 1,\n      isComponent: false,\n      isModule: false,\n      isListed: false,\n      scopeable: false,\n      category: null,\n      referencePickable: false,\n      titleColumn: null,\n      contentRole: null,\n      referenceCategory: null,\n    };\n  }\n\n  function getEntityInfo(token: EntityTypeToken): EntityInfo {\n    const meta =\n      ENTITY_TYPE_METADATA[token] ?? recordStoreMeta(token) ?? retiredTokenMeta(token);\n    const overlay = overlayByToken[token];\n    const labelPlural = overlay?.labelPlural ?? pluralizeLabel(meta.label);\n    const titleColumn = meta.titleColumn;\n    const contentRole = isContentRole(meta.contentRole)\n      ? meta.contentRole\n      : \"destination\";\n    // NULL means \"not classified as a knowledge resource\" and is the normal\n    // state for most entity types. Only a non-null, out-of-vocabulary value\n    // is corrupt registry data and warrants a loud recovery.\n    if (meta.contentRole !== null && !isContentRole(meta.contentRole)) {\n      errorSink({\n        code: \"invalid_content_role\",\n        message:\n          `[entityRegistry] \"${token}\" has invalid content_role ` +\n          `\"${meta.contentRole}\" in platform.entity_types; using destination ` +\n          `as a loud recovery.`,\n        context: { token, contentRole: meta.contentRole },\n      });\n    }\n    // `null` override means \"this table has no such column\"; `undefined`\n    // (the common case) falls back to the convention.\n    const ownerColumn =\n      overlay?.ownerColumn === undefined\n        ? DEFAULT_OWNER_COLUMN\n        : (overlay.ownerColumn ?? \"\");\n    const orgColumn =\n      overlay?.orgColumn === undefined\n        ? DEFAULT_ORG_COLUMN\n        : (overlay.orgColumn ?? \"\");\n    return {\n      token,\n      label: meta.label,\n      labelPlural,\n      schema: meta.schema,\n      table: meta.table,\n      titleColumn,\n      ownerColumn,\n      orgColumn,\n      Icon: overlay?.Icon ?? null,\n      hrefFor: overlay?.hrefFor ?? null,\n      scopeable: meta.scopeable,\n      category: meta.category,\n      contentRole,\n      listCandidates: overlay?.listCandidates ?? null,\n      canListCandidates:\n        titleColumn !== null || overlay?.listCandidates !== undefined,\n    };\n  }\n\n  return {\n    registerEntityOverlay(overlay) {\n      for (const key of Object.keys(overlay) as EntityTypeToken[]) {\n        const entry = overlay[key];\n        if (!entry) continue;\n        // Merge per token so a later registration adds fields (e.g. a\n        // listCandidates loader) without erasing an earlier Icon/hrefFor.\n        overlayByToken[key] = { ...overlayByToken[key], ...entry };\n      }\n    },\n\n    getEntityInfo,\n\n    tryGetEntityInfo(token) {\n      const canonical = resolveEntityToken(token);\n      if (isEntityTypeToken(canonical)) return getEntityInfo(canonical);\n      return isRecordStoreNounToken(token)\n        ? getEntityInfo(token as unknown as EntityTypeToken)\n        : null;\n    },\n\n    tryGetEntityInfoByTable(schema, table) {\n      const token = tableIndexes().byTable[`${schema}.${table}`];\n      return token ? getEntityInfo(token) : null;\n    },\n\n    tryGetEntityInfoByUniqueTableName(table) {\n      const token = tableIndexes().byUniqueName[table];\n      return token ? getEntityInfo(token) : null;\n    },\n\n    curatedTokens() {\n      return (Object.keys(ENTITY_TYPE_METADATA) as EntityTypeToken[]).filter(\n        (t) => {\n          const meta = ENTITY_TYPE_METADATA[t];\n          const o = overlayByToken[t];\n          return (\n            isContentRole(meta.contentRole) &&\n            (meta.titleColumn != null || o?.listCandidates !== undefined)\n          );\n        },\n      );\n    },\n\n    listableTokens() {\n      return (Object.keys(ENTITY_TYPE_METADATA) as EntityTypeToken[]).filter(\n        (t) => {\n          const meta = ENTITY_TYPE_METADATA[t];\n          if (!meta.referencePickable) return false;\n          const o = overlayByToken[t];\n          const canList =\n            meta.titleColumn != null || o?.listCandidates !== undefined;\n          if (!canList) {\n            errorSink({\n              code: \"unlistable_pickable_token\",\n              message:\n                `[entityRegistry] \"${t}\" is reference_pickable in platform.entity_types ` +\n                `but has NO title_column and no host candidate source — set its ` +\n                `title_column in the registry or register a listCandidates override.`,\n              context: { token: t },\n            });\n          }\n          return canList;\n        },\n      );\n    },\n  };\n}\n","// AUTO-GENERATED by scripts/generate-entity-types.ts from the live\n// platform.association_types registry — DO NOT EDIT. Regenerate with\n// `pnpm gen:entity-types`; `pnpm check:entity-types` fails when it drifts.\n//\n// The registered LABELS of every named association pair. The database accepts\n// an edge of a named pair only with one of these labels\n// (platform.enforce_known_association), so the association service writes one\n// of them instead of any display name. A pair may register several labels\n// (e.g. document>document: mentions, sub_page). Pairs registered without a\n// label are absent: any label is accepted for them.\n\nexport const ASSOCIATION_TYPE_LABELS: Readonly<Record<string, readonly string[]>> = {\n  \"artifact>processed_document\": [\"source\"],\n  \"assessment>processed_document\": [\"source\"],\n  \"board>board\": [\"board_page\"],\n  \"board>category\": [\"labeled\"],\n  \"board>record\": [\"board_table\"],\n  \"calendar_event>conversation\": [\"conversation_attached_resource\"],\n  \"calendar_event>party\": [\"attendee\"],\n  \"code_file>code_repository\": [\"in_repository\"],\n  \"content_ir_kind_instance>content_ir_kind_instance\": [\"part_of\"],\n  \"conversation>party\": [\"produced_by\"],\n  \"document>category\": [\"labeled\"],\n  \"document>document\": [\"mentions\",\"sub_page\"],\n  \"document>record\": [\"embeds\",\"page_database\"],\n  \"fc_set>processed_document\": [\"source\"],\n  \"file>hr_application\": [\"evidence\"],\n  \"file>hr_employee\": [\"personnel_document\"],\n  \"file>hr_employment\": [\"evidence\"],\n  \"file>hr_incident\": [\"evidence\"],\n  \"file>hr_leave_case\": [\"evidence\"],\n  \"google_document>crm_deal\": [\"attached_to\"],\n  \"google_document>party\": [\"attached_to\"],\n  \"google_document>project\": [\"attached_to\"],\n  \"google_document>task\": [\"attached_to\"],\n  \"hr_candidate>party\": [\"candidate_party\"],\n  \"hr_course>hr_job_title\": [\"role_curriculum\"],\n  \"hr_credential>hr_job_title\": [\"required_credential\"],\n  \"hr_employee>record\": [\"scope_member\"],\n  \"hr_employee>scope\": [\"scope_member\"],\n  \"integration_connection_resource>conversation\": [\"conversation_attached_resource\"],\n  \"media_source_library>social_profile\": [\"catalogs_channel\"],\n  \"media_source_library>youtube_video\": [\"catalogued_source\"],\n  \"message>content_ir_kind_instance\": [\"produced_by\"],\n  \"note>calendar_event\": [\"about\"],\n  \"note>hr_candidate\": [\"hr_note\"],\n  \"note>hr_employee\": [\"hr_note\"],\n  \"note>processed_document\": [\"source\"],\n  \"organization>seo_keyword\": [\"keyword_library\"],\n  \"pc_episode>processed_document\": [\"source\"],\n  \"plan_node>web_brand\": [\"built_from\"],\n  \"processed_document>code_repository\": [\"in_repository\"],\n  \"processed_document>media_source_library\": [\"catalogued_source\"],\n  \"processed_document>record\": [\"about\"],\n  \"processed_document>research_topic\": [\"research_source\"],\n  \"processed_document>scope\": [\"about\"],\n  \"processed_document>social_post\": [\"captured page\"],\n  \"processed_document>social_profile\": [\"captured page\"],\n  \"processed_document>social_tracked_account\": [\"captured page\"],\n  \"processed_document>tag\": [\"about\"],\n  \"processed_document>web_property\": [\"captured page\"],\n  \"processed_document>web_site\": [\"crawled_page\"],\n  \"quiz_session>processed_document\": [\"source\"],\n  \"record>document\": [\"row_body\"],\n  \"research_source>youtube_video\": [\"Canonical YouTube video\"],\n  \"seo_landscape_brief>web_brand\": [\"built_from\"],\n  \"seo_topical_map>web_brand\": [\"built_from\"],\n  \"social_ad>file\": [\"stored media\"],\n  \"social_post>file\": [\"stored media\"],\n  \"social_post>transcript\": [\"post_transcript\"],\n  \"social_post>web_brand\": [\"built_from\"],\n  \"social_profile>file\": [\"stored media\"],\n  \"social_remix_output>social_ad\": [\"source ad\"],\n  \"social_remix_output>social_post\": [\"source post\"],\n  \"social_swipe_collection>social_ad\": [\"saved ad\"],\n  \"social_swipe_collection>social_post\": [\"saved post\"],\n  \"social_swipe_collection>social_profile\": [\"saved profile\"],\n  \"social_tracked_account>party\": [\"crm party\"],\n  \"social_tracked_account>seo_competitor\": [\"website competitor\"],\n  \"social_video_project>agent_run\": [\"Render run\"],\n  \"social_video_project>file\": [\"Output file\"],\n  \"social_video_project>social_post\": [\"Reference post\"],\n  \"social_video_project>web_brand\": [\"Brand\"],\n  \"study_media>processed_document\": [\"source\"],\n  \"transcript>transcript\": [\"corrects\"],\n  \"web_brand_choice>category\": [\"about\"],\n  \"web_brand_choice>seo_ai_visibility_claim\": [\"grew_from\"],\n  \"web_brand_choice>seo_ai_visibility_signal\": [\"grew_from\"],\n  \"web_brand_choice>social_post\": [\"grew_from\"],\n  \"web_brand_choice>web_brand_asset\": [\"grew_from\"],\n  \"web_brand_choice>web_brand_choice\": [\"grew_from\",\"superseded_by\"],\n  \"web_brand_choice>web_brand_offering\": [\"about\",\"grew_from\"],\n  \"web_brand_choice>web_brand_persona\": [\"about\"],\n  \"web_brand_choice>web_brand_review\": [\"grew_from\"],\n  \"web_brand_choice>web_brand_testimony\": [\"grew_from\"],\n  \"web_brand_choice>web_business_fact\": [\"about\",\"grew_from\"],\n  \"web_brand_choice>web_discovered_item\": [\"grew_from\"],\n  \"web_brand_choice>web_gsc_page_stat\": [\"grew_from\"],\n  \"web_brand_choice>web_temp_brand_recognition\": [\"about\"],\n  \"web_discovered_item>party\": [\"caused\"],\n  \"web_discovered_item>web_site\": [\"caused\"],\n  \"web_page>web_brand\": [\"built_from\"],\n  \"web_youtube_video>seo_map_topic\": [\"covers\"],\n  \"youtube_video>transcript\": [\"video_transcript\"],\n};\n\n/** Every registered label for (source → target); empty when the pair names none. */\nexport function registeredEdgeLabels(sourceType: string, targetType: string): readonly string[] {\n  return ASSOCIATION_TYPE_LABELS[`${sourceType}>${targetType}`] ?? [];\n}\n\n/**\n * The label to write for (source → target): the pair's only label; or, when the\n * pair registers several, `preferred` if it is one of them; otherwise undefined\n * (the pair names none, or the caller must name which one).\n */\nexport function registeredEdgeLabel(\n  sourceType: string,\n  targetType: string,\n  preferred?: string | null,\n): string | undefined {\n  const labels = registeredEdgeLabels(sourceType, targetType);\n  if (labels.length === 1) return labels[0];\n  if (preferred && labels.includes(preferred)) return preferred;\n  return undefined;\n}\n\n/**\n * EVERY registered pair, labeled or not, as \"source>target\". The database\n * accepts an edge only in a registered direction (`enforce_known_association`):\n * \"Party attached to a task\" is `party>task`, and `task>party` is refused. A\n * surface reads and writes each kind in the direction registered here — never a\n * hard-coded one.\n */\nexport const ASSOCIATION_PAIRS: ReadonlySet<string> = /* @__PURE__ */ new Set([\n  \"agent>agent\",\n  \"agent>context_item\",\n  \"agent>membership\",\n  \"agent>organization\",\n  \"agent>position\",\n  \"agent>project\",\n  \"agent>record\",\n  \"agent>scope\",\n  \"agent>scope_type\",\n  \"agent>surface\",\n  \"agent>tag\",\n  \"agent>task\",\n  \"agent>team\",\n  \"agent>web_page\",\n  \"agent>workflow\",\n  \"agent_shortcut>project\",\n  \"agent_shortcut>task\",\n  \"agent_shortcut>web_page\",\n  \"agent_term_list>agent\",\n  \"app>record\",\n  \"app>scope\",\n  \"app>tag\",\n  \"app>web_page\",\n  \"artifact>processed_document\",\n  \"artifact>tag\",\n  \"assessment>assessment\",\n  \"assessment>content_ir_kind_instance\",\n  \"assessment>conversation\",\n  \"assessment>dataset\",\n  \"assessment>document\",\n  \"assessment>fc_set\",\n  \"assessment>file\",\n  \"assessment>note\",\n  \"assessment>processed_document\",\n  \"assessment>record\",\n  \"assessment>scope\",\n  \"assessment>scope_type\",\n  \"assessment>structured_list\",\n  \"assessment>study_media\",\n  \"assessment>tag\",\n  \"assessment>transcript\",\n  \"assessment>udt_document\",\n  \"assessment>workbook\",\n  \"board>board\",\n  \"board>category\",\n  \"board>record\",\n  \"board>tag\",\n  \"board>web_brand\",\n  \"calendar_event>conversation\",\n  \"calendar_event>party\",\n  \"canvas_item>tag\",\n  \"code_file>agent\",\n  \"code_file>code_repository\",\n  \"code_file>data_store\",\n  \"code_file>web_page\",\n  \"contact_medium>web_page\",\n  \"content_ir_kind>tag\",\n  \"content_ir_kind_instance>content_ir_kind_instance\",\n  \"content_ir_kind_instance>note\",\n  \"content_ir_kind_instance>project\",\n  \"content_ir_kind_instance>record\",\n  \"content_ir_kind_instance>scope\",\n  \"content_ir_kind_instance>scope_type\",\n  \"content_ir_kind_instance>tag\",\n  \"content_ir_kind_instance>task\",\n  \"content_ir_kind_instance>web_site\",\n  \"conversation>agent\",\n  \"conversation>board\",\n  \"conversation>custom_record\",\n  \"conversation>document\",\n  \"conversation>note\",\n  \"conversation>party\",\n  \"conversation>project\",\n  \"conversation>record\",\n  \"conversation>rulebook\",\n  \"conversation>scope\",\n  \"conversation>scope_type\",\n  \"conversation>tag\",\n  \"conversation>task\",\n  \"conversation>thread\",\n  \"conversation>war_room\",\n  \"conversation>web_brand\",\n  \"conversation>web_page\",\n  \"credential_item>record\",\n  \"credential_item>scope\",\n  \"credential_item>tag\",\n  \"crm_deal>party\",\n  \"crm_deal>tag\",\n  \"crm_deal>task\",\n  \"crm_interaction>crm_deal\",\n  \"crm_interaction>party\",\n  \"crm_interaction>project\",\n  \"custom_record>custom_record\",\n  \"custom_record>hr_candidate\",\n  \"custom_record>hr_employee\",\n  \"custom_record>hr_position_assignment\",\n  \"custom_record>hr_requisition\",\n  \"custom_record>hr_training_assignment\",\n  \"data_store>agent\",\n  \"data_store>project\",\n  \"data_store>task\",\n  \"data_store>war_room\",\n  \"data_store>web_page\",\n  \"dm_message>record\",\n  \"document>agent\",\n  \"document>category\",\n  \"document>conversation\",\n  \"document>document\",\n  \"document>message\",\n  \"document>note\",\n  \"document>project\",\n  \"document>record\",\n  \"document>research_analysis\",\n  \"document>research_content\",\n  \"document>research_document\",\n  \"document>research_synthesis\",\n  \"document>tag\",\n  \"document>task\",\n  \"document>war_room\",\n  \"document>web_page\",\n  \"esign_envelope>tag\",\n  \"esign_template>tag\",\n  \"fc_card>document\",\n  \"fc_card>fc_set\",\n  \"fc_card>file\",\n  \"fc_card>message\",\n  \"fc_card>note\",\n  \"fc_card>research_analysis\",\n  \"fc_card>research_content\",\n  \"fc_card>research_document\",\n  \"fc_card>research_synthesis\",\n  \"fc_set>agent\",\n  \"fc_set>assessment\",\n  \"fc_set>content_ir_kind_instance\",\n  \"fc_set>conversation\",\n  \"fc_set>dataset\",\n  \"fc_set>document\",\n  \"fc_set>fc_set\",\n  \"fc_set>file\",\n  \"fc_set>note\",\n  \"fc_set>processed_document\",\n  \"fc_set>record\",\n  \"fc_set>rulebook\",\n  \"fc_set>scope\",\n  \"fc_set>scope_type\",\n  \"fc_set>structured_list\",\n  \"fc_set>study_media\",\n  \"fc_set>tag\",\n  \"fc_set>transcript\",\n  \"fc_set>udt_document\",\n  \"fc_set>workbook\",\n  \"file>agent\",\n  \"file>agent_term_list\",\n  \"file>conversation\",\n  \"file>crm_deal\",\n  \"file>data_store\",\n  \"file>file\",\n  \"file>hr_application\",\n  \"file>hr_employee\",\n  \"file>hr_employment\",\n  \"file>hr_incident\",\n  \"file>hr_leave_case\",\n  \"file>party\",\n  \"file>project\",\n  \"file>record\",\n  \"file>rulebook\",\n  \"file>scope\",\n  \"file>scope_type\",\n  \"file>tag\",\n  \"file>task\",\n  \"file>thread\",\n  \"file>war_room\",\n  \"file>web_page\",\n  \"file>web_screenshot\",\n  \"folder>web_page\",\n  \"google_document>crm_deal\",\n  \"google_document>party\",\n  \"google_document>project\",\n  \"google_document>task\",\n  \"hr_candidate>custom_record\",\n  \"hr_candidate>party\",\n  \"hr_course>hr_job_title\",\n  \"hr_credential>hr_job_title\",\n  \"hr_employee>custom_record\",\n  \"hr_employee>record\",\n  \"hr_employee>scope\",\n  \"hr_employee>scope_type\",\n  \"hr_position_assignment>custom_record\",\n  \"hr_requisition>custom_record\",\n  \"hr_training_assignment>custom_record\",\n  \"integration_connection_resource>conversation\",\n  \"interview_session>conversation\",\n  \"interview_session>tag\",\n  \"library_doc>data_store\",\n  \"mandate>tag\",\n  \"marketing_initiative>tag\",\n  \"media_source_library>social_profile\",\n  \"media_source_library>youtube_video\",\n  \"membership>agent\",\n  \"membership>membership\",\n  \"membership>position\",\n  \"membership>team\",\n  \"membership>workflow\",\n  \"message>content_ir_kind_instance\",\n  \"message>record\",\n  \"message>task\",\n  \"message_template>record\",\n  \"message_template>scope\",\n  \"message_template>tag\",\n  \"message_template>web_page\",\n  \"note>agent\",\n  \"note>assessment\",\n  \"note>calendar_event\",\n  \"note>crm_deal\",\n  \"note>data_store\",\n  \"note>fc_set\",\n  \"note>file\",\n  \"note>hr_candidate\",\n  \"note>hr_employee\",\n  \"note>message\",\n  \"note>note\",\n  \"note>party\",\n  \"note>processed_document\",\n  \"note>project\",\n  \"note>record\",\n  \"note>research_analysis\",\n  \"note>research_content\",\n  \"note>research_document\",\n  \"note>research_synthesis\",\n  \"note>rulebook\",\n  \"note>scope\",\n  \"note>scope_type\",\n  \"note>study_media\",\n  \"note>tag\",\n  \"note>task\",\n  \"note>thread\",\n  \"note>user\",\n  \"note>war_room\",\n  \"note>web_page\",\n  \"note>web_screenshot\",\n  \"organization>seo_keyword\",\n  \"page_extraction_job>file\",\n  \"page_extraction_job>processed_document\",\n  \"party>category\",\n  \"party>data_store\",\n  \"party>organization\",\n  \"party>party\",\n  \"party>project\",\n  \"party>record\",\n  \"party>research_source\",\n  \"party>research_topic\",\n  \"party>scope\",\n  \"party>scope_type\",\n  \"party>seo_link_gap_domain\",\n  \"party>seo_referring_domain_profile\",\n  \"party>seo_reputation_case\",\n  \"party>seo_serp_opportunity\",\n  \"party>seo_topic\",\n  \"party>tag\",\n  \"party>task\",\n  \"party>transcript\",\n  \"party>war_room\",\n  \"party>web_brand\",\n  \"party>web_page\",\n  \"party>web_site\",\n  \"pc_episode>assessment\",\n  \"pc_episode>content_ir_kind_instance\",\n  \"pc_episode>conversation\",\n  \"pc_episode>dataset\",\n  \"pc_episode>document\",\n  \"pc_episode>fc_set\",\n  \"pc_episode>file\",\n  \"pc_episode>note\",\n  \"pc_episode>processed_document\",\n  \"pc_episode>rulebook\",\n  \"pc_episode>structured_list\",\n  \"pc_episode>study_media\",\n  \"pc_episode>transcript\",\n  \"pc_episode>udt_document\",\n  \"pc_episode>workbook\",\n  \"pc_show>rulebook\",\n  \"pc_studio_run>rulebook\",\n  \"plan_entity>category\",\n  \"plan_entity>plan_entity\",\n  \"plan_entity>seo_topic\",\n  \"plan_entity>web_site\",\n  \"plan_node>agent_run\",\n  \"plan_node>party\",\n  \"plan_node>plan_entity\",\n  \"plan_node>plan_node\",\n  \"plan_node>seo_keyword\",\n  \"plan_node>seo_map_topic\",\n  \"plan_node>seo_topic\",\n  \"plan_node>web_brand\",\n  \"plan_node>web_page\",\n  \"plan_node>web_site\",\n  \"position>agent\",\n  \"position>membership\",\n  \"position>position\",\n  \"position>team\",\n  \"position>workflow\",\n  \"processed_document>agent\",\n  \"processed_document>code_repository\",\n  \"processed_document>conversation\",\n  \"processed_document>data_store\",\n  \"processed_document>file\",\n  \"processed_document>media_source_library\",\n  \"processed_document>project\",\n  \"processed_document>record\",\n  \"processed_document>research_topic\",\n  \"processed_document>scope\",\n  \"processed_document>social_post\",\n  \"processed_document>social_profile\",\n  \"processed_document>social_tracked_account\",\n  \"processed_document>tag\",\n  \"processed_document>task\",\n  \"processed_document>war_room\",\n  \"processed_document>web_property\",\n  \"processed_document>web_site\",\n  \"project>record\",\n  \"project>scope\",\n  \"project>scope_type\",\n  \"project>tag\",\n  \"project>thread\",\n  \"project>war_room\",\n  \"purpose>agent\",\n  \"purpose>mandate\",\n  \"purpose>tool\",\n  \"purpose>workflow\",\n  \"quiz_session>agent\",\n  \"quiz_session>processed_document\",\n  \"quiz_session>web_page\",\n  \"record>access_delta_run\",\n  \"record>access_request\",\n  \"record>access_shadow_log\",\n  \"record>account_addon\",\n  \"record>account_closure\",\n  \"record>acquisition_block\",\n  \"record>activity\",\n  \"record>admin_audit_log\",\n  \"record>admin_email_log\",\n  \"record>admin_markdown_sample\",\n  \"record>agent\",\n  \"record>agent_card\",\n  \"record>agent_definition_version\",\n  \"record>agent_drift_alert\",\n  \"record>agent_exemplar\",\n  \"record>agent_mandate_note\",\n  \"record>agent_prompt_block\",\n  \"record>agent_prompt_block_variant\",\n  \"record>agent_prompt_remediation\",\n  \"record>agent_required_flag_change\",\n  \"record>agent_run\",\n  \"record>agent_run_stage\",\n  \"record>agent_schedule\",\n  \"record>agent_schedule_claim\",\n  \"record>agent_shortcut\",\n  \"record>agent_surface_binding\",\n  \"record>agent_template\",\n  \"record>agent_term_list\",\n  \"record>agent_test_result\",\n  \"record>agent_test_run\",\n  \"record>agent_usage\",\n  \"record>ai_api\",\n  \"record>ai_device_model_file\",\n  \"record>ai_device_model_root\",\n  \"record>ai_endpoint\",\n  \"record>ai_media_generation_cache\",\n  \"record>ai_model\",\n  \"record>ai_model_alias\",\n  \"record>ai_model_artifact\",\n  \"record>ai_model_candidate\",\n  \"record>ai_model_presentation\",\n  \"record>ai_model_upstream\",\n  \"record>ai_model_variant\",\n  \"record>ai_model_verification_run\",\n  \"record>ai_model_want\",\n  \"record>ai_offering\",\n  \"record>ai_person_model_want\",\n  \"record>ai_provider\",\n  \"record>ai_request_latency\",\n  \"record>ai_runtime\",\n  \"record>ai_runtime_build\",\n  \"record>ai_runtime_compat\",\n  \"record>ai_setting\",\n  \"record>ai_setting_profile\",\n  \"record>ai_translation_cell\",\n  \"record>ai_usage_hourly\",\n  \"record>analysis_result\",\n  \"record>anon_form\",\n  \"record>anon_form_visit\",\n  \"record>anon_hit\",\n  \"record>anon_inbound\",\n  \"record>anon_replay\",\n  \"record>anon_submission\",\n  \"record>anon_token\",\n  \"record>api_field_warning\",\n  \"record>api_request_log\",\n  \"record>app\",\n  \"record>app_config\",\n  \"record>app_config_history\",\n  \"record>app_definition_version\",\n  \"record>app_error\",\n  \"record>app_execution\",\n  \"record>app_instance\",\n  \"record>app_log\",\n  \"record>app_log_hourly\",\n  \"record>app_log_lines\",\n  \"record>app_log_muted_pattern\",\n  \"record>app_log_norm_exception\",\n  \"record>app_log_requests_hourly\",\n  \"record>app_rate_limit\",\n  \"record>app_setting\",\n  \"record>app_sync_status\",\n  \"record>applet_visitor_binding\",\n  \"record>approach\",\n  \"record>artifact\",\n  \"record>assessment\",\n  \"record>assessment_item\",\n  \"record>assessment_result\",\n  \"record>assignment_session\",\n  \"record>assist\",\n  \"record>assist_producer_policy\",\n  \"record>assist_producer_policy_history\",\n  \"record>association_type\",\n  \"record>assurance_level\",\n  \"record>attempt\",\n  \"record>attention_audit\",\n  \"record>attention_showing\",\n  \"record>audit_canonical_findings\",\n  \"record>audit_exemption\",\n  \"record>base_entity_template\",\n  \"record>batch_cost_event\",\n  \"record>batch_provider_batch\",\n  \"record>batch_work_item\",\n  \"record>billing_capability\",\n  \"record>billing_capability_limit\",\n  \"record>billing_ci_package_build\",\n  \"record>billing_connect_account\",\n  \"record>billing_coupon\",\n  \"record>billing_coupon_redemption\",\n  \"record>billing_customer\",\n  \"record>billing_external_call_vendor\",\n  \"record>billing_free_period_grant\",\n  \"record>billing_hard_cost_reconciliation\",\n  \"record>billing_held_run\",\n  \"record>billing_org_payment_account\",\n  \"record>billing_payment\",\n  \"record>billing_payment_ask\",\n  \"record>billing_plan\",\n  \"record>billing_plan_limit\",\n  \"record>billing_price\",\n  \"record>billing_product\",\n  \"record>billing_provider_balance_snapshot\",\n  \"record>billing_spend_alarm\",\n  \"record>billing_spend_alarm_occurrence\",\n  \"record>billing_spend_approval\",\n  \"record>billing_spend_guardrail\",\n  \"record>billing_spend_hold\",\n  \"record>billing_stripe_event\",\n  \"record>billing_subscription\",\n  \"record>billing_usage_ledger\",\n  \"record>billing_usage_reset\",\n  \"record>block_state\",\n  \"record>board\",\n  \"record>browser_account_binding\",\n  \"record>browser_action_event\",\n  \"record>browser_authenticator_window\",\n  \"record>browser_capture\",\n  \"record>browser_control_request\",\n  \"record>browser_handoff\",\n  \"record>browser_login_attempt\",\n  \"record>browser_login_recipe\",\n  \"record>browser_profile\",\n  \"record>browser_profile_checkpoint\",\n  \"record>browser_run\",\n  \"record>browser_site_observation\",\n  \"record>browser_site_policy\",\n  \"record>browser_stream_ticket\",\n  \"record>calendar_event\",\n  \"record>campaign_watch_ramp_gate_run\",\n  \"record>campaign_watch_switch_outbox\",\n  \"record>campaign_watch_switch_window\",\n  \"record>canvas_comment\",\n  \"record>canvas_comment_like\",\n  \"record>canvas_item\",\n  \"record>canvas_item_state\",\n  \"record>canvas_like\",\n  \"record>canvas_score\",\n  \"record>canvas_view\",\n  \"record>catalog_entries_history\",\n  \"record>catalog_entry\",\n  \"record>category\",\n  \"record>change_job\",\n  \"record>change_plan\",\n  \"record>change_type_default\",\n  \"record>change_work\",\n  \"record>citations\",\n  \"record>class_purchase\",\n  \"record>client_callable_door\",\n  \"record>client_callable_door_retirement\",\n  \"record>cmp_entry\",\n  \"record>cmp_feedback\",\n  \"record>code_file\",\n  \"record>code_folder\",\n  \"record>code_repository\",\n  \"record>coding_session\",\n  \"record>coding_session_entry\",\n  \"record>collab_checkpoint\",\n  \"record>collab_op\",\n  \"record>collab_room\",\n  \"record>comment\",\n  \"record>commerce_asset_allocation\",\n  \"record>commerce_asset_grading\",\n  \"record>commerce_asset_identifier\",\n  \"record>commerce_asset_lot_event\",\n  \"record>commerce_asset_mandate_result\",\n  \"record>commerce_asset_price_factor\",\n  \"record>commerce_asset_reshoot_request\",\n  \"record>commerce_asset_review\",\n  \"record>commerce_asset_unknown\",\n  \"record>commerce_certified_printer\",\n  \"record>commerce_cloud_sync_connection\",\n  \"record>commerce_ebay_business_policy\",\n  \"record>commerce_ebay_category\",\n  \"record>commerce_ebay_category_aspect\",\n  \"record>commerce_ebay_category_tree\",\n  \"record>commerce_ebay_custom_policy\",\n  \"record>commerce_ebay_inventory_item\",\n  \"record>commerce_ebay_inventory_item_group\",\n  \"record>commerce_ebay_inventory_item_group_member\",\n  \"record>commerce_ebay_inventory_location\",\n  \"record>commerce_ebay_listing\",\n  \"record>commerce_ebay_marketplace_policy\",\n  \"record>commerce_ebay_media_asset\",\n  \"record>commerce_ebay_notification_destination\",\n  \"record>commerce_ebay_notification_event\",\n  \"record>commerce_ebay_notification_subscription\",\n  \"record>commerce_ebay_notification_topic\",\n  \"record>commerce_ebay_offer\",\n  \"record>commerce_ebay_order\",\n  \"record>commerce_ebay_order_line_item\",\n  \"record>commerce_ebay_shipping_fulfillment\",\n  \"record>commerce_ebay_store_category\",\n  \"record>commerce_human_correction\",\n  \"record>commerce_intake_artifact\",\n  \"record>commerce_intake_asset\",\n  \"record>commerce_intake_batch\",\n  \"record>commerce_label_batch\",\n  \"record>commerce_label_code\",\n  \"record>commerce_marketplace_account\",\n  \"record>commerce_marketplace_account_deletion_audit\",\n  \"record>commerce_marketplace_api_call\",\n  \"record>commerce_marketplace_rate_budget\",\n  \"record>commerce_marketplace_site\",\n  \"record>commerce_marketplace_sync_run\",\n  \"record>commerce_prediction_outcome\",\n  \"record>commerce_print_order\",\n  \"record>commerce_product\",\n  \"record>commerce_product_channel_ref\",\n  \"record>commerce_product_media\",\n  \"record>commerce_product_variant\",\n  \"record>commerce_recall_audit\",\n  \"record>communication_calendar_selected_snapshot_state\",\n  \"record>comparison_set\",\n  \"record>computed_org_mark\",\n  \"record>config_manifest\",\n  \"record>config_read_bucket\",\n  \"record>contact_medium\",\n  \"record>contact_submission\",\n  \"record>content_certification\",\n  \"record>content_ir_converter_definition\",\n  \"record>content_ir_converter_run\",\n  \"record>content_ir_kind\",\n  \"record>content_ir_kind_component\",\n  \"record>content_ir_kind_component_incident\",\n  \"record>content_ir_kind_component_layer\",\n  \"record>content_ir_kind_conformance\",\n  \"record>content_ir_kind_edge\",\n  \"record>content_ir_kind_example\",\n  \"record>content_ir_kind_instance\",\n  \"record>content_ir_kind_surface\",\n  \"record>content_ir_render_inspection\",\n  \"record>context_access_log\",\n  \"record>context_item\",\n  \"record>context_item_suggestion\",\n  \"record>conversation\",\n  \"record>conversation_value\",\n  \"record>courts\",\n  \"record>credential_attachment\",\n  \"record>credential_item\",\n  \"record>credential_mutation_receipt\",\n  \"record>crm_address\",\n  \"record>crm_affiliation\",\n  \"record>crm_blocklist_entry\",\n  \"record>crm_contact_candidate\",\n  \"record>crm_deal\",\n  \"record>crm_deal_stage_event\",\n  \"record>crm_enrichment_call\",\n  \"record>crm_interaction\",\n  \"record>crm_merge_candidate\",\n  \"record>crm_outreach_list\",\n  \"record>crm_outreach_list_member\",\n  \"record>crm_party_merge\",\n  \"record>crm_party_research\",\n  \"record>crm_registry_ingest_run\",\n  \"record>crm_registry_source\",\n  \"record>crm_sending_claim\",\n  \"record>crm_sending_event\",\n  \"record>crm_sending_identity\",\n  \"record>crm_sending_identity_check\",\n  \"record>crm_sending_policy\",\n  \"record>custom_anon_form_draft\",\n  \"record>custom_base\",\n  \"record>custom_base_snapshot\",\n  \"record>custom_field_definition\",\n  \"record>custom_field_target\",\n  \"record>custom_portal\",\n  \"record>custom_portal_principal\",\n  \"record>custom_portal_table\",\n  \"record>custom_synced_source\",\n  \"record>custom_template\",\n  \"record>custom_template_install\",\n  \"record>custom_whole_value_parked\",\n  \"record>cx_agent_memory\",\n  \"record>cx_agent_plan\",\n  \"record>cx_agent_task\",\n  \"record>cx_code_edit\",\n  \"record>cx_code_message_file\",\n  \"record>cx_media\",\n  \"record>cx_observational_memory\",\n  \"record>cx_observational_memory_event\",\n  \"record>cx_pending_injection\",\n  \"record>cx_request\",\n  \"record>cx_request_snapshot\",\n  \"record>cx_request_values\",\n  \"record>cx_tool_trace\",\n  \"record>cx_user_request\",\n  \"record>cx_user_todo\",\n  \"record>data_rights_event\",\n  \"record>data_store\",\n  \"record>data_store_members\",\n  \"record>ddl_guard_log\",\n  \"record>deck_suggestion\",\n  \"record>definer_class_exemption\",\n  \"record>definer_grant_baseline\",\n  \"record>derive_run\",\n  \"record>desktop_app_account\",\n  \"record>desktop_app_instance\",\n  \"record>desktop_app_profile\",\n  \"record>dev_login_audit\",\n  \"record>device_handoff\",\n  \"record>dict_entry\",\n  \"record>dict_provider_publication\",\n  \"record>dict_setting\",\n  \"record>dm_conversation\",\n  \"record>dm_message\",\n  \"record>dm_participant\",\n  \"record>dm_session_member\",\n  \"record>doc_render\",\n  \"record>doc_signature\",\n  \"record>dockets\",\n  \"record>document\",\n  \"record>document_version\",\n  \"record>domain_classification\",\n  \"record>egress_device\",\n  \"record>egress_pairing\",\n  \"record>egress_ticket\",\n  \"record>emails\",\n  \"record>entity_grant\",\n  \"record>entity_protected_value_version\",\n  \"record>entity_type\",\n  \"record>esign_campaign\",\n  \"record>esign_campaign_member\",\n  \"record>esign_consent_disclosure\",\n  \"record>esign_envelope\",\n  \"record>esign_envelope_certificate\",\n  \"record>esign_envelope_document\",\n  \"record>esign_envelope_draft\",\n  \"record>esign_envelope_event\",\n  \"record>esign_envelope_external_ref\",\n  \"record>esign_envelope_signer\",\n  \"record>esign_provider\",\n  \"record>esign_provider_binding\",\n  \"record>esign_saved_signature\",\n  \"record>esign_signing_key\",\n  \"record>esign_template\",\n  \"record>extension_auth_code\",\n  \"record>external_api_reservation\",\n  \"record>external_conversation\",\n  \"record>external_delivery_event\",\n  \"record>external_inbox\",\n  \"record>external_link\",\n  \"record>external_message\",\n  \"record>external_provider_receipt\",\n  \"record>external_source\",\n  \"record>extract_sweep_state\",\n  \"record>fc_card\",\n  \"record>fc_detail\",\n  \"record>fc_set\",\n  \"record>feature_doc\",\n  \"record>feedback_comments\",\n  \"record>feedback_user_messages\",\n  \"record>file\",\n  \"record>file_analysis\",\n  \"record>file_entities\",\n  \"record>file_overrides\",\n  \"record>file_page_annotations\",\n  \"record>file_pages\",\n  \"record>file_rag_job\",\n  \"record>file_template\",\n  \"record>file_version\",\n  \"record>files_account_tier\",\n  \"record>files_machine_written_prefix\",\n  \"record>files_sync_mapping\",\n  \"record>files_user_account\",\n  \"record>folder\",\n  \"record>function_contract\",\n  \"record>game_badge\",\n  \"record>game_result\",\n  \"record>game_room\",\n  \"record>global_execution\",\n  \"record>global_execution_checkpoint\",\n  \"record>global_execution_event\",\n  \"record>global_meter_entry\",\n  \"record>global_origin\",\n  \"record>global_request\",\n  \"record>google_document\",\n  \"record>growth_loop_event\",\n  \"record>growth_loop_run\",\n  \"record>growth_loop_stage_run\",\n  \"record>guardian_link\",\n  \"record>guest_conversion_audit\",\n  \"record>guest_execution_log\",\n  \"record>guest_executions\",\n  \"record>guided_checklist_run\",\n  \"record>heatmap_save\",\n  \"record>hindsight_enrollment\",\n  \"record>hindsight_finding\",\n  \"record>hindsight_regression_case\",\n  \"record>hindsight_replay\",\n  \"record>hindsight_replay_step\",\n  \"record>hindsight_review\",\n  \"record>hr_access_audit\",\n  \"record>hr_access_role\",\n  \"record>hr_accommodation_request\",\n  \"record>hr_ai_evidence\",\n  \"record>hr_alert_routing_rule\",\n  \"record>hr_application\",\n  \"record>hr_approval_authority\",\n  \"record>hr_approval_delegation\",\n  \"record>hr_asset\",\n  \"record>hr_asset_assignment\",\n  \"record>hr_attendance_exception\",\n  \"record>hr_auto_close_rule\",\n  \"record>hr_availability\",\n  \"record>hr_background_check\",\n  \"record>hr_benefits_event\",\n  \"record>hr_calculation_snapshot\",\n  \"record>hr_candidate\",\n  \"record>hr_candidate_conversion\",\n  \"record>hr_candidate_message\",\n  \"record>hr_careers_portal\",\n  \"record>hr_checklist_item\",\n  \"record>hr_checklist_run\",\n  \"record>hr_checklist_template\",\n  \"record>hr_checklist_template_item\",\n  \"record>hr_compensation\",\n  \"record>hr_corrective_action\",\n  \"record>hr_course\",\n  \"record>hr_course_version\",\n  \"record>hr_credential\",\n  \"record>hr_crew\",\n  \"record>hr_deduction_code\",\n  \"record>hr_department\",\n  \"record>hr_derived_grant\",\n  \"record>hr_disposition_event\",\n  \"record>hr_earning_code\",\n  \"record>hr_eeo_response\",\n  \"record>hr_emergency_contact\",\n  \"record>hr_employee\",\n  \"record>hr_employee_private\",\n  \"record>hr_employer_profile\",\n  \"record>hr_employment\",\n  \"record>hr_employment_pin\",\n  \"record>hr_engagement\",\n  \"record>hr_establishment\",\n  \"record>hr_external_identity\",\n  \"record>hr_field_policy\",\n  \"record>hr_goal\",\n  \"record>hr_holiday\",\n  \"record>hr_holiday_calendar\",\n  \"record>hr_i9\",\n  \"record>hr_i9_document\",\n  \"record>hr_incident\",\n  \"record>hr_incident_party\",\n  \"record>hr_interview\",\n  \"record>hr_interview_kit\",\n  \"record>hr_job_title\",\n  \"record>hr_jurisdiction\",\n  \"record>hr_jurisdiction_rule\",\n  \"record>hr_jurisdiction_rule_class\",\n  \"record>hr_jurisdiction_rule_org_decision\",\n  \"record>hr_jurisdiction_rule_test\",\n  \"record>hr_kiosk_device\",\n  \"record>hr_kiosk_session\",\n  \"record>hr_labor_target\",\n  \"record>hr_leave_case\",\n  \"record>hr_leave_enrollment\",\n  \"record>hr_leave_ledger\",\n  \"record>hr_leave_policy\",\n  \"record>hr_leave_request\",\n  \"record>hr_legal_hold\",\n  \"record>hr_legal_hold_item\",\n  \"record>hr_location\",\n  \"record>hr_new_hire_report\",\n  \"record>hr_offer\",\n  \"record>hr_opening\",\n  \"record>hr_overtime_alert\",\n  \"record>hr_overtime_alert_rule\",\n  \"record>hr_overtime_preapproval\",\n  \"record>hr_pay_group\",\n  \"record>hr_pay_period\",\n  \"record>hr_pay_period_employment\",\n  \"record>hr_payroll_export\",\n  \"record>hr_payroll_export_line\",\n  \"record>hr_position_assignment\",\n  \"record>hr_posting\",\n  \"record>hr_posting_publication\",\n  \"record>hr_provider_binding\",\n  \"record>hr_provider_event\",\n  \"record>hr_provisioning_result\",\n  \"record>hr_punch\",\n  \"record>hr_recalculation_batch\",\n  \"record>hr_record_class\",\n  \"record>hr_records_request\",\n  \"record>hr_reference_check\",\n  \"record>hr_reporting_line\",\n  \"record>hr_requisition\",\n  \"record>hr_restricted_note\",\n  \"record>hr_retention_rule\",\n  \"record>hr_review\",\n  \"record>hr_review_cycle\",\n  \"record>hr_review_peer_nomination\",\n  \"record>hr_review_response\",\n  \"record>hr_review_template\",\n  \"record>hr_role_assignment\",\n  \"record>hr_schedule\",\n  \"record>hr_schedule_change\",\n  \"record>hr_schedule_guidance\",\n  \"record>hr_schedule_template\",\n  \"record>hr_schedule_template_shift\",\n  \"record>hr_scorecard\",\n  \"record>hr_separation\",\n  \"record>hr_shift\",\n  \"record>hr_shift_claim\",\n  \"record>hr_staffing_requirement\",\n  \"record>hr_survey\",\n  \"record>hr_survey_invitation\",\n  \"record>hr_survey_question\",\n  \"record>hr_survey_response\",\n  \"record>hr_tax_registration\",\n  \"record>hr_tax_withholding\",\n  \"record>hr_time_adjustment\",\n  \"record>hr_training_assignment\",\n  \"record>hr_training_attempt\",\n  \"record>hr_transcript_entry\",\n  \"record>hr_verification_letter_request\",\n  \"record>hr_work_interval\",\n  \"record>hr_workflow_binding\",\n  \"record>hr_workflow_decision\",\n  \"record>hr_workflow_definition\",\n  \"record>hr_workflow_event\",\n  \"record>hr_workflow_failure\",\n  \"record>hr_workflow_flow_type\",\n  \"record>hr_workflow_instance\",\n  \"record>hr_workflow_step\",\n  \"record>hr_workflow_step_definition\",\n  \"record>hr_workweek\",\n  \"record>html_extraction\",\n  \"record>iam_access_audit\",\n  \"record>iam_api_key\",\n  \"record>iam_emergency_door_request\",\n  \"record>iam_oauth_app\",\n  \"record>iam_org_domain\",\n  \"record>iam_org_domain_route\",\n  \"record>iam_publish_binding\",\n  \"record>iam_record_seat_change\",\n  \"record>iam_sign_in_event\",\n  \"record>iam_world_publish_admission\",\n  \"record>industry\",\n  \"record>ingest_runs\",\n  \"record>integration_connection\",\n  \"record>integration_connection_resource\",\n  \"record>interview_decision_interview\",\n  \"record>interview_decision_question\",\n  \"record>interview_document_revision\",\n  \"record>interview_hole\",\n  \"record>interview_question\",\n  \"record>interview_session\",\n  \"record>interview_turn\",\n  \"record>invitation\",\n  \"record>invitation_code\",\n  \"record>invitation_request\",\n  \"record>io_comment\",\n  \"record>io_contract\",\n  \"record>io_import\",\n  \"record>io_outbox\",\n  \"record>item\",\n  \"record>item_mastery\",\n  \"record>judge_verdict\",\n  \"record>jurisdiction_policy\",\n  \"record>kg_alert\",\n  \"record>kg_chunk_entities\",\n  \"record>kg_chunks\",\n  \"record>kg_clusters\",\n  \"record>kg_edges\",\n  \"record>kg_entities\",\n  \"record>kg_entity_aliases\",\n  \"record>kg_suggestion_ack\",\n  \"record>kg_sweep_queue\",\n  \"record>kg_sweep_run\",\n  \"record>kg_sweep_state\",\n  \"record>kg_value_match\",\n  \"record>knob_override\",\n  \"record>knob_override_audit\",\n  \"record>knob_rung_lock\",\n  \"record>knob_scope_kind\",\n  \"record>knob_write_door\",\n  \"record>league_membership\",\n  \"record>learn_doc\",\n  \"record>library_doc\",\n  \"record>lifecycle_archive\",\n  \"record>lifecycle_audit\",\n  \"record>lifecycle_map_build\",\n  \"record>lifecycle_reference_map\",\n  \"record>lifecycle_run\",\n  \"record>lifecycle_tier_ledger\",\n  \"record>location\",\n  \"record>mandate\",\n  \"record>mandate_advance_batch_row\",\n  \"record>mandate_binding\",\n  \"record>mandate_candidate\",\n  \"record>mandate_candidate_run\",\n  \"record>mandate_candidate_run_payload\",\n  \"record>mandate_goal_clauses\",\n  \"record>mandate_observation\",\n  \"record>mandate_proposal\",\n  \"record>mandate_readiness_verdict\",\n  \"record>mandate_reference\",\n  \"record>mandate_scan\",\n  \"record>mandate_treatment\",\n  \"record>marketing_initiative\",\n  \"record>masterwork_corpus_item\",\n  \"record>masterwork_run\",\n  \"record>masterwork_run_kind\",\n  \"record>masterwork_source\",\n  \"record>math_course_structure\",\n  \"record>math_problem\",\n  \"record>matrx_action_ledger\",\n  \"record>mcp_config\",\n  \"record>mcp_server\",\n  \"record>mcp_user_conn\",\n  \"record>media_capture_handoff\",\n  \"record>media_catalog_setting\",\n  \"record>media_library_item\",\n  \"record>media_selection_item\",\n  \"record>media_selection_job\",\n  \"record>media_source_library\",\n  \"record>meet_call_invite\",\n  \"record>meet_chat_message\",\n  \"record>meet_connection\",\n  \"record>meet_invitee\",\n  \"record>meet_meeting\",\n  \"record>meet_note\",\n  \"record>meet_occurrence_override\",\n  \"record>meet_participant\",\n  \"record>meet_recording\",\n  \"record>meet_session\",\n  \"record>meet_transcript_segment\",\n  \"record>membership\",\n  \"record>memory_trial\",\n  \"record>memory_trial_step\",\n  \"record>merge_field_provenance\",\n  \"record>message\",\n  \"record>message_template\",\n  \"record>message_template_detail\",\n  \"record>migration_log\",\n  \"record>mtx_media_heal_queue\",\n  \"record>mtx_public_url_guard\",\n  \"record>ner_shadow\",\n  \"record>note\",\n  \"record>note_folder\",\n  \"record>notification\",\n  \"record>notification_channel_preference\",\n  \"record>notification_event_override\",\n  \"record>notification_event_type\",\n  \"record>notification_preference\",\n  \"record>notification_submission\",\n  \"record>notify_outsider_door_baseline\",\n  \"record>opinion_clusters\",\n  \"record>opinions\",\n  \"record>ops_auth_lock_watchdog_log\",\n  \"record>ops_check_item\",\n  \"record>ops_check_run\",\n  \"record>ops_db_host_sample\",\n  \"record>ops_issue_class\",\n  \"record>ops_issue_event\",\n  \"record>ops_perf_client_event\",\n  \"record>ops_perf_sample\",\n  \"record>ops_perf_statement_snapshot\",\n  \"record>ops_proof_check\",\n  \"record>ops_proof_run\",\n  \"record>ops_proof_scenario\",\n  \"record>ops_source_read_cache\",\n  \"record>ops_test_replay_cache\",\n  \"record>org_admin_audit\",\n  \"record>org_change_policy\",\n  \"record>org_chart_publication\",\n  \"record>org_context_ledger\",\n  \"record>org_industries\",\n  \"record>org_member_control\",\n  \"record>org_module_config\",\n  \"record>org_plan\",\n  \"record>organization\",\n  \"record>organization_preferences\",\n  \"record>output_feedback\",\n  \"record>outreach_acceptance\",\n  \"record>page_extraction_job\",\n  \"record>page_extraction_page_run\",\n  \"record>page_extraction_results\",\n  \"record>page_extraction_runs\",\n  \"record>page_vitals\",\n  \"record>party\",\n  \"record>party_contact_point\",\n  \"record>passkey_credential\",\n  \"record>pc_article\",\n  \"record>pc_episode\",\n  \"record>pc_show\",\n  \"record>pc_studio_run\",\n  \"record>pc_studio_run_asset\",\n  \"record>pdf_consolidation_log\",\n  \"record>pdf_redaction_audit\",\n  \"record>pdf_redaction_key_escrow\",\n  \"record>permission_grant\",\n  \"record>personal_data_column\",\n  \"record>plan_cms_fill_item\",\n  \"record>plan_cms_fill_job\",\n  \"record>plan_entity\",\n  \"record>plan_node\",\n  \"record>plan_node_artifact\",\n  \"record>plan_node_step\",\n  \"record>plan_profile\",\n  \"record>platform_action_request\",\n  \"record>platform_actor_session\",\n  \"record>platform_actor_token\",\n  \"record>platform_actor_token_event\",\n  \"record>platform_class_approval_by_arman\",\n  \"record>platform_class_approval_by_org_admin\",\n  \"record>platform_continued_access\",\n  \"record>platform_cutover_census_run\",\n  \"record>platform_cutover_evaluation_replaced\",\n  \"record>platform_cutover_evaluation_write\",\n  \"record>platform_cutover_seam\",\n  \"record>platform_cutover_seam_measure\",\n  \"record>platform_cutover_seam_press\",\n  \"record>platform_dated_change\",\n  \"record>platform_google_calendar_event_create_intent\",\n  \"record>platform_google_task_create_intent\",\n  \"record>platform_hidden_item\",\n  \"record>platform_kernel_fingerprint_record\",\n  \"record>platform_outcome_event\",\n  \"record>platform_outsider_consumer\",\n  \"record>platform_reference_declaration\",\n  \"record>platform_saved_view\",\n  \"record>platform_secure_delivery\",\n  \"record>platform_share_link\",\n  \"record>platform_strict_class_probe\",\n  \"record>podcast_race\",\n  \"record>position\",\n  \"record>presentation\",\n  \"record>processed_document\",\n  \"record>processed_document_page\",\n  \"record>product_capture_file\",\n  \"record>product_capture_item\",\n  \"record>product_capture_payload\",\n  \"record>product_capture_product\",\n  \"record>product_capture_question\",\n  \"record>project\",\n  \"record>provider_account\",\n  \"record>provider_account_credential\",\n  \"record>provision\",\n  \"record>provision_snapshot\",\n  \"record>provision_spec_grandfather\",\n  \"record>purpose\",\n  \"record>quiz_session\",\n  \"record>rag_ingest_run\",\n  \"record>rag_library_audit_log\",\n  \"record>recompute_queue\",\n  \"record>record\",\n  \"record>redaction_mapping\",\n  \"record>relationship_rule\",\n  \"record>research_analysis\",\n  \"record>research_content\",\n  \"record>research_context_bundle\",\n  \"record>research_document\",\n  \"record>research_intent\",\n  \"record>research_keyword\",\n  \"record>research_media\",\n  \"record>research_source\",\n  \"record>research_synthesis\",\n  \"record>research_tag\",\n  \"record>research_template\",\n  \"record>research_topic\",\n  \"record>retention_policy\",\n  \"record>retrieval_audit\",\n  \"record>review_queue\",\n  \"record>route_manifest_entry\",\n  \"record>row_version\",\n  \"record>rulebook\",\n  \"record>run_approval\",\n  \"record>run_approval_event\",\n  \"record>runtime_operation_stream\",\n  \"record>runtime_operation_stream_batch\",\n  \"record>sandbox_instance\",\n  \"record>sch_agent_task\",\n  \"record>sch_run\",\n  \"record>sch_task\",\n  \"record>sch_trigger\",\n  \"record>scheduler_automation_run_subject\",\n  \"record>schema_templates\",\n  \"record>scope_association_suggestion\",\n  \"record>scope_item_value_suggestion\",\n  \"record>scope_suggestion\",\n  \"record>scope_type\",\n  \"record>scrape_domain\",\n  \"record>scrape_domain_settings\",\n  \"record>scrape_failure_log\",\n  \"record>scrape_parsed_page\",\n  \"record>scrape_path_override\",\n  \"record>scrape_path_pattern\",\n  \"record>scrape_retry_queue\",\n  \"record>scraper_comparison_run\",\n  \"record>scraper_data_fetch_job\",\n  \"record>scraper_data_source\",\n  \"record>seo_ai_capability\",\n  \"record>seo_ai_visibility_brand_check\",\n  \"record>seo_ai_visibility_citation\",\n  \"record>seo_ai_visibility_claim\",\n  \"record>seo_ai_visibility_design_artifact\",\n  \"record>seo_ai_visibility_panel\",\n  \"record>seo_ai_visibility_panel_version\",\n  \"record>seo_ai_visibility_response\",\n  \"record>seo_ai_visibility_signal\",\n  \"record>seo_backlink\",\n  \"record>seo_backlink_change_event\",\n  \"record>seo_backlink_dimension_snapshot\",\n  \"record>seo_backlink_observation\",\n  \"record>seo_backlink_snapshot\",\n  \"record>seo_change_assessment\",\n  \"record>seo_change_event\",\n  \"record>seo_change_item\",\n  \"record>seo_change_metric\",\n  \"record>seo_change_set\",\n  \"record>seo_change_theory\",\n  \"record>seo_competitor\",\n  \"record>seo_competitor_observation\",\n  \"record>seo_competitor_opportunity\",\n  \"record>seo_coverage_mention\",\n  \"record>seo_coverage_tracker\",\n  \"record>seo_dimension_value_matcher\",\n  \"record>seo_engine_schedule\",\n  \"record>seo_geo_place\",\n  \"record>seo_gsc_dig_rule\",\n  \"record>seo_keyword\",\n  \"record>seo_keyword_class_rule\",\n  \"record>seo_keyword_edge\",\n  \"record>seo_keyword_facet\",\n  \"record>seo_keyword_market\",\n  \"record>seo_keyword_market_observation\",\n  \"record>seo_keyword_place\",\n  \"record>seo_keyword_saved_view\",\n  \"record>seo_keyword_topic\",\n  \"record>seo_landscape_brief\",\n  \"record>seo_link_gap_domain\",\n  \"record>seo_link_gap_match\",\n  \"record>seo_map_facet\",\n  \"record>seo_map_facet_value\",\n  \"record>seo_map_topic\",\n  \"record>seo_page_measurement_health\",\n  \"record>seo_page_performance\",\n  \"record>seo_pr_moment\",\n  \"record>seo_provider_call\",\n  \"record>seo_provider_task\",\n  \"record>seo_rank_observation\",\n  \"record>seo_rank_target\",\n  \"record>seo_raw_payload\",\n  \"record>seo_referring_domain_profile\",\n  \"record>seo_reputation_case\",\n  \"record>seo_search_performance_daily\",\n  \"record>seo_serp_mention\",\n  \"record>seo_serp_opportunity\",\n  \"record>seo_serp_result\",\n  \"record>seo_serp_snapshot\",\n  \"record>seo_site_geo_area\",\n  \"record>seo_site_keyword_offering\",\n  \"record>seo_site_keyword_value\",\n  \"record>seo_site_offering_value\",\n  \"record>seo_site_topic_value\",\n  \"record>seo_site_value_combo\",\n  \"record>seo_site_value_worth\",\n  \"record>seo_site_vocabulary\",\n  \"record>seo_source_request\",\n  \"record>seo_starter_pack\",\n  \"record>seo_starter_pack_item\",\n  \"record>seo_story_angle\",\n  \"record>seo_topic\",\n  \"record>seo_topical_map\",\n  \"record>seo_tracker_story\",\n  \"record>seo_web_analytics_daily\",\n  \"record>shareable_resource_registry\",\n  \"record>shared_canvas_item\",\n  \"record>short_link\",\n  \"record>skill\",\n  \"record>skill_detail\",\n  \"record>sms_consent\",\n  \"record>sms_conversation\",\n  \"record>sms_message\",\n  \"record>sms_message_media\",\n  \"record>sms_notification\",\n  \"record>sms_notification_preference\",\n  \"record>sms_phone_number\",\n  \"record>sms_rate_limits\",\n  \"record>sms_webhook_logs\",\n  \"record>social_account_insight_daily\",\n  \"record>social_ad\",\n  \"record>social_captured_post\",\n  \"record>social_kpi_goal\",\n  \"record>social_own_post_metric\",\n  \"record>social_post\",\n  \"record>social_post_analysis\",\n  \"record>social_post_comment\",\n  \"record>social_post_metric_snapshot\",\n  \"record>social_post_stat\",\n  \"record>social_post_transcript\",\n  \"record>social_profile\",\n  \"record>social_profile_snapshot\",\n  \"record>social_remix_output\",\n  \"record>social_swipe_collection\",\n  \"record>social_tracked_account\",\n  \"record>social_video_composition_version\",\n  \"record>social_video_project\",\n  \"record>social_video_variant\",\n  \"record>social_watchlist_hit\",\n  \"record>soft_delete_cascade_job\",\n  \"record>soft_delete_edge\",\n  \"record>source_authority\",\n  \"record>space_payload\",\n  \"record>stage_ref_kind\",\n  \"record>structure\",\n  \"record>structured_list\",\n  \"record>studio_cleaned_segments\",\n  \"record>studio_concept_items\",\n  \"record>studio_documents\",\n  \"record>studio_module_segments\",\n  \"record>studio_raw_segments\",\n  \"record>studio_recording_chunks\",\n  \"record>studio_recording_segments\",\n  \"record>studio_run\",\n  \"record>studio_session\",\n  \"record>studio_session_settings\",\n  \"record>study_attempt\",\n  \"record>study_goal\",\n  \"record>study_media\",\n  \"record>study_plan\",\n  \"record>study_plan_block\",\n  \"record>study_plan_day\",\n  \"record>study_reminder_context\",\n  \"record>study_reminder_delivery\",\n  \"record>study_session\",\n  \"record>study_source_chunk\",\n  \"record>study_streak\",\n  \"record>study_structured_section\",\n  \"record>superseded_policy\",\n  \"record>support_session\",\n  \"record>support_session_event\",\n  \"record>surface\",\n  \"record>system_announcement\",\n  \"record>system_context_item\",\n  \"record>system_context_item_org_value\",\n  \"record>system_error\",\n  \"record>system_write_failure\",\n  \"record>t13_backfill_ledger\",\n  \"record>tag\",\n  \"record>task\",\n  \"record>task_user_state\",\n  \"record>taxonomy_node\",\n  \"record>team\",\n  \"record>template_context_items\",\n  \"record>template_scope_types\",\n  \"record>templates\",\n  \"record>test_handset_inbox\",\n  \"record>test_handset_verification\",\n  \"record>thread\",\n  \"record>tool\",\n  \"record>tool_battle\",\n  \"record>tool_battle_cell\",\n  \"record>tool_binding\",\n  \"record>tool_bundle\",\n  \"record>tool_call\",\n  \"record>tool_canary_run\",\n  \"record>tool_catalog_cache\",\n  \"record>tool_catalog_call\",\n  \"record>tool_catalog_call_attempt\",\n  \"record>tool_catalog_call_detail\",\n  \"record>tool_catalog_endpoint\",\n  \"record>tool_catalog_entry\",\n  \"record>tool_catalog_provider\",\n  \"record>tool_definition_version\",\n  \"record>tool_executor\",\n  \"record>tool_feature_scorecard\",\n  \"record>tool_surface_defaults\",\n  \"record>tool_test_sample\",\n  \"record>tool_ui\",\n  \"record>tool_ui_incident\",\n  \"record>tool_ui_version\",\n  \"record>transcript\",\n  \"record>trigger_event\",\n  \"record>udt_document\",\n  \"record>udt_document_snapshot\",\n  \"record>udt_workbook_snapshot\",\n  \"record>ui_client\",\n  \"record>ui_decision_pick\",\n  \"record>ui_surface_action\",\n  \"record>ui_surface_agent_pref\",\n  \"record>ui_surface_agent_role\",\n  \"record>ui_surface_client_tool\",\n  \"record>ui_surface_config\",\n  \"record>ui_surface_item_type\",\n  \"record>ui_surface_value\",\n  \"record>ui_surface_write_target\",\n  \"record>univer_payload\",\n  \"record>unsubscribe_token\",\n  \"record>uploads_inflight\",\n  \"record>user\",\n  \"record>user_achievement\",\n  \"record>user_active_context\",\n  \"record>user_analysis_preference\",\n  \"record>user_email_preference\",\n  \"record>user_feedback\",\n  \"record>user_follows\",\n  \"record>user_markdown_sample\",\n  \"record>user_memory\",\n  \"record>user_preference\",\n  \"record>user_profile\",\n  \"record>user_secret\",\n  \"record>user_secret_audit\",\n  \"record>user_secret_grant\",\n  \"record>user_stat\",\n  \"record>user_storage_usage\",\n  \"record>user_surface_state\",\n  \"record>users_calendar_feed\",\n  \"record>vault_fill_approvals\",\n  \"record>vault_fill_devices\",\n  \"record>voice\",\n  \"record>war_room\",\n  \"record>wbx_demo\",\n  \"record>wbx_guidance\",\n  \"record>wbx_highlight\",\n  \"record>wbx_pattern\",\n  \"record>wbx_recipe\",\n  \"record>wbx_screenshot\",\n  \"record>wbx_seo_audit\",\n  \"record>wc_claim\",\n  \"record>wc_impairment_definition\",\n  \"record>wc_injury\",\n  \"record>wc_report\",\n  \"record>web_analysis_item\",\n  \"record>web_brand\",\n  \"record>web_brand_asset\",\n  \"record>web_brand_choice\",\n  \"record>web_brand_exclusion\",\n  \"record>web_brand_offering\",\n  \"record>web_brand_persona\",\n  \"record>web_brand_relation_kind\",\n  \"record>web_brand_review\",\n  \"record>web_brand_testimony\",\n  \"record>web_business_fact\",\n  \"record>web_business_location\",\n  \"record>web_channel_analytics_daily\",\n  \"record>web_crawl_event\",\n  \"record>web_crawl_preset\",\n  \"record>web_crawl_schedule\",\n  \"record>web_crawl_session\",\n  \"record>web_crawl_url\",\n  \"record>web_discovered_item\",\n  \"record>web_domain_category\",\n  \"record>web_domain_category_observation\",\n  \"record>web_finding\",\n  \"record>web_gsc_page_stat\",\n  \"record>web_link_edge\",\n  \"record>web_listing_publisher\",\n  \"record>web_location_listing\",\n  \"record>web_news_item\",\n  \"record>web_offering_template\",\n  \"record>web_page\",\n  \"record>web_page_content\",\n  \"record>web_page_evidence\",\n  \"record>web_page_sitemap\",\n  \"record>web_property\",\n  \"record>web_provider\",\n  \"record>web_result\",\n  \"record>web_search_review\",\n  \"record>web_site\",\n  \"record>web_site_endpoint_rule\",\n  \"record>web_site_item_config\",\n  \"record>web_site_offering\",\n  \"record>web_sitemap\",\n  \"record>web_snapshot\",\n  \"record>web_tag_manager_snapshot\",\n  \"record>web_temp_brand_firmographic\",\n  \"record>web_temp_brand_presence\",\n  \"record>web_temp_brand_recognition\",\n  \"record>web_voice_fingerprint\",\n  \"record>web_youtube_video\",\n  \"record>webhook_deliveries\",\n  \"record>webhook_dispatch_state\",\n  \"record>webhook_test_receipt\",\n  \"record>webhooks\",\n  \"record>wf_node_data_slot\",\n  \"record>work_claim\",\n  \"record>work_item\",\n  \"record>workbook\",\n  \"record>workflow\",\n  \"record>workflow_card\",\n  \"record>workflow_checkpoint\",\n  \"record>workflow_checkpoint_value\",\n  \"record>workflow_comparison\",\n  \"record>workflow_definition_overview\",\n  \"record>workflow_definition_version\",\n  \"record>workflow_idempotency\",\n  \"record>workflow_job\",\n  \"record>workflow_node_events\",\n  \"record>workflow_node_outcome\",\n  \"record>workflow_plan\",\n  \"record>workflow_plan_event\",\n  \"record>workflow_plan_sample\",\n  \"record>workflow_recovery_audit\",\n  \"record>workflow_review_issue\",\n  \"record>workflow_run\",\n  \"record>workflow_run_log\",\n  \"record>workflow_runtime_surface\",\n  \"record>workflow_step_result\",\n  \"record>workflow_template\",\n  \"record>workflow_trigger\",\n  \"record>workflow_trigger_fire\",\n  \"record>workflow_work_item\",\n  \"record>write_guard_key\",\n  \"record>youtube_search\",\n  \"record>youtube_video\",\n  \"research_analysis>research_content\",\n  \"research_analysis>research_keyword\",\n  \"research_analysis>research_topic\",\n  \"research_document>research_document\",\n  \"research_document>research_synthesis\",\n  \"research_document>research_topic\",\n  \"research_media>category\",\n  \"research_media>web_brand\",\n  \"research_source>research_keyword\",\n  \"research_source>research_tag\",\n  \"research_source>youtube_video\",\n  \"research_synthesis>research_analysis\",\n  \"research_synthesis>research_content\",\n  \"research_synthesis>research_keyword\",\n  \"research_synthesis>research_source\",\n  \"research_synthesis>research_synthesis\",\n  \"research_synthesis>research_tag\",\n  \"research_synthesis>research_topic\",\n  \"research_tag>plan_node\",\n  \"research_tag>web_page\",\n  \"research_tag>web_site\",\n  \"research_topic>plan_node\",\n  \"research_topic>project\",\n  \"research_topic>rulebook\",\n  \"research_topic>tag\",\n  \"research_topic>web_brand\",\n  \"research_topic>web_page\",\n  \"research_topic>web_site\",\n  \"rulebook>masterwork_source\",\n  \"sch_task>record\",\n  \"sch_task>scope\",\n  \"sch_task>tag\",\n  \"scope>record\",\n  \"scope>scope\",\n  \"seo_keyword>project\",\n  \"seo_keyword>web_page\",\n  \"seo_landscape_brief>web_brand\",\n  \"seo_map_topic>seo_map_facet_value\",\n  \"seo_rank_target>tag\",\n  \"seo_topical_map>web_brand\",\n  \"shared_canvas_item>record\",\n  \"shared_canvas_item>scope\",\n  \"shared_canvas_item>tag\",\n  \"skill>web_page\",\n  \"social_ad>file\",\n  \"social_post>file\",\n  \"social_post>transcript\",\n  \"social_post>web_brand\",\n  \"social_profile>file\",\n  \"social_remix_output>social_ad\",\n  \"social_remix_output>social_post\",\n  \"social_swipe_collection>social_ad\",\n  \"social_swipe_collection>social_post\",\n  \"social_swipe_collection>social_profile\",\n  \"social_tracked_account>party\",\n  \"social_tracked_account>seo_competitor\",\n  \"social_video_project>agent_run\",\n  \"social_video_project>file\",\n  \"social_video_project>social_post\",\n  \"social_video_project>web_brand\",\n  \"structured_list>web_page\",\n  \"studio_session>agent\",\n  \"studio_session>rulebook\",\n  \"studio_session>thread\",\n  \"studio_session>web_page\",\n  \"study_media>assessment\",\n  \"study_media>content_ir_kind_instance\",\n  \"study_media>conversation\",\n  \"study_media>dataset\",\n  \"study_media>document\",\n  \"study_media>fc_set\",\n  \"study_media>file\",\n  \"study_media>note\",\n  \"study_media>processed_document\",\n  \"study_media>record\",\n  \"study_media>scope\",\n  \"study_media>scope_type\",\n  \"study_media>structured_list\",\n  \"study_media>study_media\",\n  \"study_media>tag\",\n  \"study_media>transcript\",\n  \"study_media>udt_document\",\n  \"study_media>workbook\",\n  \"study_session>content_ir_kind_instance\",\n  \"study_session>conversation\",\n  \"study_session>dataset\",\n  \"study_session>document\",\n  \"study_session>fc_set\",\n  \"study_session>file\",\n  \"study_session>note\",\n  \"study_session>processed_document\",\n  \"study_session>structured_list\",\n  \"study_session>transcript\",\n  \"study_session>udt_document\",\n  \"study_session>workbook\",\n  \"study_structured_section>scope\",\n  \"task>project\",\n  \"task>record\",\n  \"task>scope\",\n  \"task>scope_type\",\n  \"task>tag\",\n  \"task>thread\",\n  \"task>war_room\",\n  \"team>agent\",\n  \"team>membership\",\n  \"team>position\",\n  \"team>team\",\n  \"team>workflow\",\n  \"thread>record\",\n  \"thread>scope\",\n  \"thread>scope_type\",\n  \"thread>tag\",\n  \"thread>war_room\",\n  \"tool>tool_bundle\",\n  \"transcript>agent\",\n  \"transcript>data_store\",\n  \"transcript>record\",\n  \"transcript>rulebook\",\n  \"transcript>scope\",\n  \"transcript>tag\",\n  \"transcript>transcript\",\n  \"transcript>web_page\",\n  \"udt_document>agent\",\n  \"udt_document>rulebook\",\n  \"udt_document>web_page\",\n  \"war_room>record\",\n  \"war_room>scope\",\n  \"war_room>scope_type\",\n  \"war_room>tag\",\n  \"web_brand_choice>category\",\n  \"web_brand_choice>seo_ai_visibility_claim\",\n  \"web_brand_choice>seo_ai_visibility_signal\",\n  \"web_brand_choice>social_post\",\n  \"web_brand_choice>web_brand_asset\",\n  \"web_brand_choice>web_brand_choice\",\n  \"web_brand_choice>web_brand_offering\",\n  \"web_brand_choice>web_brand_persona\",\n  \"web_brand_choice>web_brand_review\",\n  \"web_brand_choice>web_brand_testimony\",\n  \"web_brand_choice>web_business_fact\",\n  \"web_brand_choice>web_discovered_item\",\n  \"web_brand_choice>web_gsc_page_stat\",\n  \"web_brand_choice>web_temp_brand_recognition\",\n  \"web_discovered_item>party\",\n  \"web_discovered_item>web_site\",\n  \"web_page>seo_map_facet_value\",\n  \"web_page>seo_map_topic\",\n  \"web_page>task\",\n  \"web_page>web_brand\",\n  \"web_screenshot>task\",\n  \"web_site>agent_run\",\n  \"web_site>seo_topical_map\",\n  \"web_youtube_video>seo_map_topic\",\n  \"workbook>agent\",\n  \"workbook>web_page\",\n  \"workflow>agent\",\n  \"workflow>membership\",\n  \"workflow>position\",\n  \"workflow>record\",\n  \"workflow>scope\",\n  \"workflow>tag\",\n  \"workflow>team\",\n  \"workflow>web_page\",\n  \"workflow>workflow\",\n  \"youtube_video>transcript\",\n  \"youtube_video>web_page\",\n]);\n\n/** Is (source → target) a registered association pair? */\nexport function isRegisteredPair(sourceType: string, targetType: string): boolean {\n  return ASSOCIATION_PAIRS.has(`${sourceType}>${targetType}`);\n}\n","// core/doors.ts — every database call of this package goes through @ai-matrx/data's doors.\n//\n// The descriptors are generated into `src/db/public.ts` (`pnpm db:generate`, only the\n// functions this package calls). `rpcDoor` answers the `{ data, error }` pair the services\n// have always mapped (the database's own error, code kept), so every error path is\n// unchanged; a refusal before the wire (`DoorRefusedError`) throws into the service's\n// catch like any transport failure. `rpcDoorAll` is the complete read of an edge list:\n// every row, paged past the 1,000-row cap over position (nulls last), created_at, id —\n// the order the hosts' paged adapters used.\nimport { call, callAll, createDb, type Db, type FunctionDescriptor } from \"@ai-matrx/data/db\";\n\nimport type { AssociationsDataSource } from \"../ports\";\nimport type { PgError } from \"../results\";\n\nconst dbs = new WeakMap<object, Db>();\n\n/** The data connection over the host's client (one per client). */\nexport function dbOf(dataSource: AssociationsDataSource): Db {\n  let db = dbs.get(dataSource);\n  if (!db) {\n    db = createDb({ client: dataSource });\n    dbs.set(dataSource, db);\n  }\n  return db;\n}\n\n/**\n * `platform.assoc_add_many(p_edges jsonb) -> uuid[]` — THE BATCH DOOR (2026-10-09). One call = one\n * transaction: each element is applied exactly as `public.assoc_add` (the same argument names,\n * the same authorization, called as the caller) and the ids come back in input order; any\n * failure raises and NOTHING is applied. It lives in `platform` (nothing new goes in `public`),\n * so it is not in the generated `db/public.ts`. Born from a 140-card deck save that fired 140\n * concurrent single adds and lost 69 edges.\n */\nexport type AssocAddManyArgs = { p_edges: unknown[] };\nexport const assocAddMany = {\n  schema: \"platform\",\n  name: \"assoc_add_many\",\n  roles: [\"authenticated\", \"service_role\"],\n  registered: true,\n} as unknown as FunctionDescriptor<AssocAddManyArgs, string[]>;\n\ntype Pair<T> = { data: T | null; error: PgError | null };\n\n/**\n * The argument names are checked against the function; values stay as the services always\n * built them (an `undefined` optional is dropped on the wire, JSON values are `unknown`).\n */\ntype Args<F> = F extends FunctionDescriptor<infer A, any> ? { [K in keyof A]?: unknown } : never;\n\nfunction asPair<T>(e: unknown): Pair<T> {\n  const err = e as { name?: string; cause?: PgError } | null;\n  if (err?.name === \"DatabaseError\" && err.cause) return { data: null, error: err.cause };\n  throw e;\n}\n\nexport async function rpcDoor<F extends FunctionDescriptor<any, any>>(\n  dataSource: AssociationsDataSource,\n  fn: F,\n  args: Args<F>,\n): Promise<Pair<unknown>> {\n  try {\n    return { data: await call(dbOf(dataSource), fn, args as never), error: null };\n  } catch (e) {\n    return asPair(e);\n  }\n}\n\nconst EDGE_ORDER = [{ column: \"position\", nullsFirst: false }, \"created_at\", \"id\"] as const;\n\nexport async function rpcDoorAll<F extends FunctionDescriptor<any, any>>(\n  dataSource: AssociationsDataSource,\n  fn: F,\n  args: Args<F>,\n): Promise<Pair<unknown>> {\n  try {\n    return { data: await callAll(dbOf(dataSource), fn, args as never, { order: EDGE_ORDER }), error: null };\n  } catch (e) {\n    return asPair(e);\n  }\n}\n","/**\n * GENERATED by `matrx-data generate` from the database description — never edit by hand.\n * schema: public · description eb4e70fa23e6\n * Regenerate: matrx-data generate (see @ai-matrx/data README).\n */\n/* eslint-disable */\nimport type { FunctionDescriptor } from \"@ai-matrx/data/db\";\n\ntype Json = string | number | boolean | null | { [key: string]: Json | undefined } | Json[];\n\nexport type AgentResourceAddArgs = { p_agent_id: string; p_source_type: string; p_source_id: string; p_label?: string; p_metadata?: Json };\nexport type AgentResourceAddResult = string;\nexport const agentResourceAdd = {\"schema\":\"public\",\"name\":\"agent_resource_add\",\"roles\":[\"authenticated\",\"service_role\"],\"registered\":true} as unknown as FunctionDescriptor<AgentResourceAddArgs, AgentResourceAddResult>;\n\nexport type AgentResourceRemoveArgs = { p_agent_id: string; p_source_type: string; p_source_id: string };\nexport type AgentResourceRemoveResult = undefined;\nexport const agentResourceRemove = {\"schema\":\"public\",\"name\":\"agent_resource_remove\",\"roles\":[\"authenticated\",\"service_role\"],\"registered\":true} as unknown as FunctionDescriptor<AgentResourceRemoveArgs, AgentResourceRemoveResult>;\n\nexport type AssocAddArgs = { p_source_type: string; p_source_id: string; p_target_type: string; p_target_id: string; p_org_id?: string; p_label?: string; p_metadata?: Json; p_role?: string; p_position?: number; p_payload_kind?: string; p_payload?: Json };\nexport type AssocAddResult = string;\nexport const assocAdd = {\"schema\":\"public\",\"name\":\"assoc_add\",\"roles\":[\"authenticated\",\"service_role\"],\"registered\":true} as unknown as FunctionDescriptor<AssocAddArgs, AssocAddResult>;\n\nexport type AssocForEntityArgs = { p_type: string; p_id: string };\nexport type AssocForEntityResult = { id: string | null; direction: string | null; other_type: string | null; other_id: string | null; role: string | null; label: string | null; position: number | null; metadata: Json | null; organization_id: string | null; created_at: string | null }[];\nexport const assocForEntity = {\"schema\":\"public\",\"name\":\"assoc_for_entity\",\"roles\":[\"anon\",\"authenticated\",\"service_role\"],\"registered\":true} as unknown as FunctionDescriptor<AssocForEntityArgs, AssocForEntityResult>;\n\nexport type AssocForSourcesArgs = { p_source_type: string; p_source_ids: string[]; p_target_type?: string };\nexport type AssocForSourcesResult = { id: string | null; source_id: string | null; target_type: string | null; target_id: string | null; role: string | null; label: string | null; position: number | null; metadata: Json | null; organization_id: string | null; created_at: string | null }[];\nexport const assocForSources = {\"schema\":\"public\",\"name\":\"assoc_for_sources\",\"roles\":[\"anon\",\"authenticated\",\"service_role\"],\"registered\":true} as unknown as FunctionDescriptor<AssocForSourcesArgs, AssocForSourcesResult>;\n\nexport type AssocForTargetsArgs = { p_target_type: string; p_target_ids: string[] };\nexport type AssocForTargetsResult = { id: string | null; target_id: string | null; source_type: string | null; source_id: string | null; role: string | null; label: string | null; position: number | null; metadata: Json | null; organization_id: string | null; created_at: string | null }[];\nexport const assocForTargets = {\"schema\":\"public\",\"name\":\"assoc_for_targets\",\"roles\":[\"anon\",\"authenticated\",\"service_role\"],\"registered\":true} as unknown as FunctionDescriptor<AssocForTargetsArgs, AssocForTargetsResult>;\n\nexport type AssocMembersVisibleArgs = { p_target_type: string; p_target_ids: string[] };\nexport type AssocMembersVisibleResult = { id: string | null; target_id: string | null; source_type: string | null; source_id: string | null; role: string | null; label: string | null; position: number | null; metadata: Json | null; organization_id: string | null; created_at: string | null }[];\nexport const assocMembersVisible = {\"schema\":\"public\",\"name\":\"assoc_members_visible\",\"roles\":[\"authenticated\",\"service_role\"],\"registered\":true} as unknown as FunctionDescriptor<AssocMembersVisibleArgs, AssocMembersVisibleResult>;\n\nexport type AssocRemoveArgs = { p_source_type: string; p_source_id: string; p_target_type: string; p_target_id: string; p_role?: string };\nexport type AssocRemoveResult = undefined;\nexport const assocRemove = {\"schema\":\"public\",\"name\":\"assoc_remove\",\"roles\":[\"authenticated\",\"service_role\"],\"registered\":true} as unknown as FunctionDescriptor<AssocRemoveArgs, AssocRemoveResult>;\n\nexport type AssocRemoveForEntityArgs = { p_type: string; p_id: string };\nexport type AssocRemoveForEntityResult = undefined;\nexport const assocRemoveForEntity = {\"schema\":\"public\",\"name\":\"assoc_remove_for_entity\",\"roles\":[\"authenticated\",\"service_role\"],\"registered\":true} as unknown as FunctionDescriptor<AssocRemoveForEntityArgs, AssocRemoveForEntityResult>;\n\nexport type AssocSetTargetsArgs = { p_source_type: string; p_source_id: string; p_target_type: string; p_target_ids: string[]; p_org_id?: string; p_role?: string };\nexport type AssocSetTargetsResult = undefined;\nexport const assocSetTargets = {\"schema\":\"public\",\"name\":\"assoc_set_targets\",\"roles\":[\"authenticated\",\"service_role\"],\"registered\":true} as unknown as FunctionDescriptor<AssocSetTargetsArgs, AssocSetTargetsResult>;\n\nexport type CatCreateArgs = { p_dimension: string; p_name: string; p_org_id: string; p_parent_id?: string; p_color?: string; p_icon?: string; p_slug?: string };\nexport type CatCreateResult = string;\nexport const catCreate = {\"schema\":\"public\",\"name\":\"cat_create\",\"roles\":[\"authenticated\",\"service_role\"],\"registered\":true} as unknown as FunctionDescriptor<CatCreateArgs, CatCreateResult>;\n\nexport type CatDeleteArgs = { p_category_id: string };\nexport type CatDeleteResult = string;\nexport const catDelete = {\"schema\":\"public\",\"name\":\"cat_delete\",\"roles\":[\"authenticated\",\"service_role\"],\"registered\":true} as unknown as FunctionDescriptor<CatDeleteArgs, CatDeleteResult>;\n\nexport type CatListArgs = { p_dimension?: string };\nexport type CatListResult = { id: string | null; organization_id: string | null; dimension: string | null; name: string | null; slug: string | null; parent_id: string | null; is_system: boolean | null; color: string | null; icon: string | null; position: number | null; metadata: Json | null }[];\nexport const catList = {\"schema\":\"public\",\"name\":\"cat_list\",\"roles\":[\"authenticated\",\"service_role\"],\"registered\":true} as unknown as FunctionDescriptor<CatListArgs, CatListResult>;\n\nexport type CatReparentArgs = { p_category_id: string; p_parent_id?: string };\nexport type CatReparentResult = string;\nexport const catReparent = {\"schema\":\"public\",\"name\":\"cat_reparent\",\"roles\":[\"authenticated\",\"service_role\"],\"registered\":true} as unknown as FunctionDescriptor<CatReparentArgs, CatReparentResult>;\n\nexport type CatUpdateArgs = { p_category_id: string; p_name: string; p_slug?: string; p_color?: string; p_icon?: string; p_position?: number };\nexport type CatUpdateResult = string;\nexport const catUpdate = {\"schema\":\"public\",\"name\":\"cat_update\",\"roles\":[\"authenticated\",\"service_role\"],\"registered\":true} as unknown as FunctionDescriptor<CatUpdateArgs, CatUpdateResult>;\n\nexport type CmtAddArgs = { p_entity_type: string; p_entity_id: string; p_body: string; p_parent_id?: string; p_org_id?: string; p_anchor?: Json; p_suggested_text?: string; p_client_request_id?: string };\nexport type CmtAddResult = string;\nexport const cmtAdd = {\"schema\":\"public\",\"name\":\"cmt_add\",\"roles\":[\"authenticated\",\"service_role\"],\"registered\":true} as unknown as FunctionDescriptor<CmtAddArgs, CmtAddResult>;\n\nexport type CmtDeleteArgs = { p_id: string };\nexport type CmtDeleteResult = undefined;\nexport const cmtDelete = {\"schema\":\"public\",\"name\":\"cmt_delete\",\"roles\":[\"authenticated\",\"service_role\"],\"registered\":true} as unknown as FunctionDescriptor<CmtDeleteArgs, CmtDeleteResult>;\n\nexport type CmtEditArgs = { p_id: string; p_body: string; p_expected_version?: number };\nexport type CmtEditResult = number;\nexport const cmtEdit = {\"schema\":\"public\",\"name\":\"cmt_edit\",\"roles\":[\"authenticated\",\"service_role\"],\"registered\":true} as unknown as FunctionDescriptor<CmtEditArgs, CmtEditResult>;\n\nexport type CmtListArgs = { p_entity_type: string; p_entity_id: string };\nexport type CmtListResult = { id: string | null; organization_id: string | null; entity_type: string | null; entity_id: string | null; parent_id: string | null; body: string | null; created_at: string | null; updated_at: string | null; created_by: string | null; author_email: string | null; author_display_name: string | null; author_avatar_url: string | null; anchor: Json | null; resolved_at: string | null; resolved_by: string | null; suggested_text: string | null; version: number | null; client_request_id: string | null; edited_at: string | null; created_by_tier: string | null; author_agent_id: string | null; author_agent_name: string | null }[];\nexport const cmtList = {\"schema\":\"public\",\"name\":\"cmt_list\",\"roles\":[\"authenticated\",\"service_role\"],\"registered\":true} as unknown as FunctionDescriptor<CmtListArgs, CmtListResult>;\n\nexport type ConversationFileAddArgs = { p_conversation_id: string; p_file_id: string; p_label?: string; p_metadata?: Json; p_replace_metadata?: boolean };\nexport type ConversationFileAddResult = string;\nexport const conversationFileAdd = {\"schema\":\"public\",\"name\":\"conversation_file_add\",\"roles\":[\"authenticated\",\"service_role\"],\"registered\":true} as unknown as FunctionDescriptor<ConversationFileAddArgs, ConversationFileAddResult>;\n\nexport type ConversationFileRemoveArgs = { p_conversation_id: string; p_file_id: string };\nexport type ConversationFileRemoveResult = undefined;\nexport const conversationFileRemove = {\"schema\":\"public\",\"name\":\"conversation_file_remove\",\"roles\":[\"authenticated\",\"service_role\"],\"registered\":true} as unknown as FunctionDescriptor<ConversationFileRemoveArgs, ConversationFileRemoveResult>;\n\nexport type ConversationFilesArgs = { p_conversation_id: string };\nexport type ConversationFilesResult = { file_id: string | null; label: string | null; metadata: Json | null; created_at: string | null }[];\nexport const conversationFiles = {\"schema\":\"public\",\"name\":\"conversation_files\",\"roles\":[\"authenticated\",\"service_role\"],\"registered\":true} as unknown as FunctionDescriptor<ConversationFilesArgs, ConversationFilesResult>;\n\nexport type EntityRowCreateArgs = { p_token: string; p_title: string; p_organization_id: string };\nexport type EntityRowCreateResult = Json;\nexport const entityRowCreate = {\"schema\":\"public\",\"name\":\"entity_row_create\",\"roles\":[\"authenticated\",\"service_role\"],\"registered\":true} as unknown as FunctionDescriptor<EntityRowCreateArgs, EntityRowCreateResult>;\n\nexport type EntityRowRenameArgs = { p_token: string; p_id: string; p_title: string };\nexport type EntityRowRenameResult = Json;\nexport const entityRowRename = {\"schema\":\"public\",\"name\":\"entity_row_rename\",\"roles\":[\"authenticated\",\"service_role\"],\"registered\":true} as unknown as FunctionDescriptor<EntityRowRenameArgs, EntityRowRenameResult>;\n\nexport type ReferenceSearchCandidatesArgs = { p_token: string; p_search?: string; p_limit?: number; p_ids?: string[]; p_order?: string; p_offset?: number; p_organization_id?: string; p_mine?: boolean; p_show_system_files?: boolean };\nexport type ReferenceSearchCandidatesResult = { id: string | null; title: string | null; updated_at: string | null }[];\nexport const referenceSearchCandidates = {\"schema\":\"public\",\"name\":\"reference_search_candidates\",\"roles\":[\"authenticated\",\"service_role\"],\"registered\":true} as unknown as FunctionDescriptor<ReferenceSearchCandidatesArgs, ReferenceSearchCandidatesResult>;\n\nexport type UesGetBulkArgs = { p_entity_type: string; p_entity_ids: string[] };\nexport type UesGetBulkResult = { entity_id: string | null; is_favorite: boolean | null; is_pinned: boolean | null; is_hidden: boolean | null; last_viewed_at: string | null }[];\nexport const uesGetBulk = {\"schema\":\"public\",\"name\":\"ues_get_bulk\",\"roles\":[\"authenticated\",\"service_role\"],\"registered\":true} as unknown as FunctionDescriptor<UesGetBulkArgs, UesGetBulkResult>;\n\nexport type UesListArgs = { p_kind?: string };\nexport type UesListResult = { entity_type: string | null; entity_id: string | null; is_favorite: boolean | null; is_pinned: boolean | null; is_hidden: boolean | null; last_viewed_at: string | null; updated_at: string | null }[];\nexport const uesList = {\"schema\":\"public\",\"name\":\"ues_list\",\"roles\":[\"authenticated\",\"service_role\"],\"registered\":true} as unknown as FunctionDescriptor<UesListArgs, UesListResult>;\n\nexport type UesSetArgs = { p_entity_type: string; p_entity_id: string; p_is_favorite?: boolean; p_is_pinned?: boolean; p_is_hidden?: boolean };\nexport type UesSetResult = undefined;\nexport const uesSet = {\"schema\":\"public\",\"name\":\"ues_set\",\"roles\":[\"authenticated\",\"service_role\"],\"registered\":true} as unknown as FunctionDescriptor<UesSetArgs, UesSetResult>;\n\nexport type UesTouchArgs = { p_entity_type: string; p_entity_id: string };\nexport type UesTouchResult = undefined;\nexport const uesTouch = {\"schema\":\"public\",\"name\":\"ues_touch\",\"roles\":[\"authenticated\",\"service_role\"],\"registered\":true} as unknown as FunctionDescriptor<UesTouchArgs, UesTouchResult>;\n","// core/associationsService.ts — @ai-matrx/associations/core\n//\n// THE SOLE CHOKEPOINT for the unified association edge —\n// `platform.associations`. Ported behavior-verbatim from matrx-frontend\n// `features/scopes/service/associationsService.ts` (643 lines, associations\n// extraction W2, 2026-08-29); the seams inverted onto the W1 ports:\n//\n//   • the browser supabase singleton → the REQUIRED `dataSource` port;\n//   • `requireUserId` (a store-singleton read) → the REQUIRED `identity` port\n//     (failures stay LOUD — the port throws, the funnel maps it, never\n//     silently anonymous);\n//   • console screams → the REQUIRED `errorSink` (via guards + rpcResult).\n//\n// This is the canonical attach/detach primitive: any entity to any other\n// entity. The client holds NO grant on `platform.associations`; every\n// read/write goes through the PUBLIC SECURITY-DEFINER RPCs (`assoc_*`, plus\n// the stricter `conversation_file_*` boundary for the access-conveying\n// file → conversation pair and the `agent_resource_*` pair for authorized\n// agent containment) — and every call goes through THIS module. Methods\n// always return an `AssociationsRpcResult` and NEVER throw.\n//\n// Direction is relative to the queried entity: an edge is \"outgoing\" when\n// the entity is the source and \"incoming\" when it is the target.\n// `assoc_for_entity` returns BOTH in one round-trip. Little→big direction is\n// registry-owned — `trg_associations_auto_orient` rejects reversed writes;\n// this package surfaces that error verbatim and never flips an edge.\n\nimport { registeredEdgeLabel } from \"../association-types.generated\";\nimport type {\n  AssociationEdge,\n  AssociationSourceEdge,\n  AssociationTargetEdge,\n  AssociationTargetType,\n} from \"../edges\";\nimport type { AssociationsRpcResult } from \"../results\";\nimport { firstError } from \"./guards\";\nimport type { CoreDeps } from \"./deps\";\nimport { assocAddMany, rpcDoor, rpcDoorAll } from \"./doors\";\nimport { agentResourceAdd, agentResourceRemove, assocAdd, assocForEntity, assocForSources, assocForTargets, assocMembersVisible, assocRemove, assocRemoveForEntity, assocSetTargets, conversationFileAdd, conversationFileRemove, conversationFiles } from \"../db/public\";\n\n// Shape of one `assoc_for_entity` row (snake_case, straight from PG).\ninterface AssocForEntityRow {\n  id: string;\n  direction: string;\n  other_type: string;\n  other_id: string;\n  role: string | null;\n  label: string | null;\n  position: number | null;\n  metadata: unknown;\n  organization_id: string | null;\n  created_at: string;\n}\n\ninterface ConversationFileRow {\n  file_id: string;\n  label: string | null;\n  metadata: unknown;\n  created_at: string;\n}\n\nexport interface ConversationFileLink {\n  fileId: string;\n  label: string | null;\n  metadata: unknown;\n  createdAt: string;\n}\n\nfunction toEdge(row: AssocForEntityRow): AssociationEdge {\n  return {\n    id: row.id,\n    // PG only ever emits 'outgoing' | 'incoming'; widen-then-narrow for TS.\n    direction: row.direction === \"incoming\" ? \"incoming\" : \"outgoing\",\n    otherType: row.other_type,\n    otherId: row.other_id,\n    role: row.role ?? null,\n    label: row.label ?? null,\n    position: row.position ?? null,\n    metadata: row.metadata ?? {},\n    orgId: row.organization_id ?? null,\n    createdAt: row.created_at,\n  };\n}\n\n// Shape of one `assoc_for_targets` row (snake_case, straight from PG).\ninterface AssocForTargetsRow {\n  id: string;\n  target_id: string;\n  source_type: string;\n  source_id: string;\n  role: string | null;\n  label: string | null;\n  position: number | null;\n  metadata: unknown;\n  organization_id: string | null;\n  created_at: string;\n}\n\nfunction toTargetEdge(row: AssocForTargetsRow): AssociationTargetEdge {\n  return {\n    id: row.id,\n    targetId: row.target_id,\n    sourceType: row.source_type,\n    sourceId: row.source_id,\n    role: row.role ?? null,\n    label: row.label ?? null,\n    position: row.position ?? null,\n    metadata: row.metadata ?? {},\n    orgId: row.organization_id ?? null,\n    createdAt: row.created_at,\n  };\n}\n\n// Shape of one `assoc_for_sources` row (snake_case, straight from PG).\ninterface AssocForSourcesRow {\n  id: string;\n  source_id: string;\n  target_type: string;\n  target_id: string;\n  role: string | null;\n  label: string | null;\n  position: number | null;\n  metadata: unknown;\n  organization_id: string | null;\n  created_at: string;\n}\n\nfunction toSourceEdge(row: AssocForSourcesRow): AssociationSourceEdge {\n  return {\n    id: row.id,\n    sourceId: row.source_id,\n    targetType: row.target_type,\n    targetId: row.target_id,\n    role: row.role ?? null,\n    label: row.label ?? null,\n    position: row.position ?? null,\n    metadata: row.metadata ?? {},\n    orgId: row.organization_id ?? null,\n    createdAt: row.created_at,\n  };\n}\n\nexport interface AddAssociationArgs {\n  sourceType: string;\n  sourceId: string;\n  targetType: AssociationTargetType;\n  targetId: string;\n  orgId?: string;\n  label?: string;\n  metadata?: unknown;\n  /**\n   * Exact file → conversation updates preserve existing metadata unless the\n   * caller explicitly opts into replacement. Invalid for every other pair.\n   */\n  replaceMetadata?: boolean;\n  role?: string;\n  position?: number;\n  /**\n   * Typed edge payload (Edge Payload System). `payloadKind` must be a\n   * registered `platform.edge_payload_kind`; the DB trigger validates\n   * `payload` against its JSON Schema and hard-fails on any mismatch. Real\n   * logic an edge carries goes HERE — `metadata` is for loose annotations.\n   */\n  payloadKind?: string;\n  payload?: unknown;\n}\n\n/** Edges per `addMany` call — one transaction of ~12 ms/edge, far under the API's 8 s statement cap. */\nexport const ASSOC_ADD_MANY_CHUNK = 100;\n\nexport interface AssociationsServiceApi {\n  listForEntity(\n    rawType: string,\n    id: string,\n  ): Promise<AssociationsRpcResult<{ edges: AssociationEdge[] }>>;\n  listConversationFiles(\n    conversationId: string,\n  ): Promise<AssociationsRpcResult<{ files: ConversationFileLink[] }>>;\n  listForTargets(\n    rawTargetType: string,\n    targetIds: string[],\n  ): Promise<AssociationsRpcResult<{ edges: AssociationTargetEdge[] }>>;\n  listForTargetsVisible(\n    rawTargetType: string,\n    targetIds: string[],\n  ): Promise<AssociationsRpcResult<{ edges: AssociationTargetEdge[] }>>;\n  listForSources(\n    rawSourceType: string,\n    sourceIds: string[],\n    rawTargetType?: string,\n  ): Promise<AssociationsRpcResult<{ edges: AssociationSourceEdge[] }>>;\n  add(args: AddAssociationArgs): Promise<AssociationsRpcResult<{ id: string }>>;\n  /**\n   * Attach MANY edges in ONE database transaction (`platform.assoc_add_many`): every edge is\n   * applied exactly as {@link add} applies it, the ids come back in input order, and if ANY edge\n   * is refused the whole call fails and NOTHING is applied. Keep a call under\n   * {@link ASSOC_ADD_MANY_CHUNK} edges (the helpers' `linkEdges` chunks for you). The\n   * file → conversation pair is not batchable (it has its own stricter door): use {@link add}.\n   */\n  addMany(\n    args: AddAssociationArgs[],\n  ): Promise<AssociationsRpcResult<{ ids: string[] }>>;\n  remove(args: {\n    sourceType: string;\n    sourceId: string;\n    targetType: string;\n    targetId: string;\n    role?: string;\n  }): Promise<AssociationsRpcResult<null>>;\n  setTargets(args: {\n    sourceType: string;\n    sourceId: string;\n    targetType: AssociationTargetType;\n    targetIds: string[];\n    orgId?: string;\n    role?: string;\n  }): Promise<AssociationsRpcResult<null>>;\n  addAgentResource(args: {\n    agentId: string;\n    sourceType: string;\n    sourceId: string;\n    label?: string;\n    metadata?: unknown;\n  }): Promise<AssociationsRpcResult<{ id: string }>>;\n  removeAgentResource(args: {\n    agentId: string;\n    sourceType: string;\n    sourceId: string;\n  }): Promise<AssociationsRpcResult<null>>;\n  removeForEntity(\n    rawType: string,\n    id: string,\n  ): Promise<AssociationsRpcResult<null>>;\n}\n\nexport function createAssociationsService(deps: CoreDeps): AssociationsServiceApi {\n  const { dataSource, identity, guards } = deps;\n  const { ok, err, mapPgError, mapPgErrorPair } = deps.rpc;\n  const { checkToken, checkUuid, checkUuidArray, normalizeEntityToken } = guards;\n\n  return {\n    /**\n     * All edges where `${type}:${id}` is either source (\"outgoing\") or target\n     * (\"incoming\"), org-filtered by RLS inside the RPC. One round-trip.\n     */\n    async listForEntity(rawType, id) {\n      try {\n        identity.requireUserId();\n        // Legacy-alias recovery (loud) — see normalizeEntityToken / D27.\n        const type = normalizeEntityToken(rawType);\n        const bad = firstError(checkToken(\"type\", type), checkUuid(\"id\", id));\n        if (bad) return { ok: false, error: bad };\n        const { data, error } = await rpcDoorAll(dataSource, assocForEntity, {\n          p_type: type,\n          p_id: id,\n        });\n        if (error) return err(...mapPgErrorPair(error));\n        const rows = (Array.isArray(data) ? data : []) as AssocForEntityRow[];\n        return ok({ edges: rows.map(toEdge) });\n      } catch (e) {\n        return { ok: false, error: mapPgError(e) };\n      }\n    },\n\n    /**\n     * Viewer-aware file attachments for a conversation. Unlike the generic\n     * org-filtered association reader, this follows the conversation's\n     * canonical viewer grant, so an explicitly shared cross-org conversation\n     * has the same attachment inventory in every client.\n     */\n    async listConversationFiles(conversationId) {\n      try {\n        identity.requireUserId();\n        const bad = checkUuid(\"conversationId\", conversationId);\n        if (bad) return { ok: false, error: bad };\n        const { data, error } = await rpcDoor(dataSource, conversationFiles, {\n          p_conversation_id: conversationId,\n        });\n        if (error) return err(...mapPgErrorPair(error));\n        const rows = (Array.isArray(data) ? data : []) as ConversationFileRow[];\n        return ok({\n          files: rows.map((row) => ({\n            fileId: row.file_id,\n            label: row.label ?? null,\n            metadata: row.metadata ?? {},\n            createdAt: row.created_at,\n          })),\n        });\n      } catch (e) {\n        return { ok: false, error: mapPgError(e) };\n      }\n    },\n\n    /**\n     * Every edge whose target is one of `targetIds` (all the same\n     * `targetType`), org-filtered by RLS inside the RPC. The batch\n     * counterpart of `listForEntity` — each row carries `targetId` so\n     * callers can group results back by container.\n     */\n    async listForTargets(rawTargetType, targetIds) {\n      try {\n        identity.requireUserId();\n        const targetType = normalizeEntityToken(rawTargetType);\n        const ids = Array.from(new Set(targetIds));\n        if (ids.length === 0) return ok({ edges: [] });\n        const bad = firstError(\n          checkToken(\"targetType\", targetType),\n          checkUuidArray(\"targetIds\", ids),\n        );\n        if (bad) return { ok: false, error: bad };\n        const { data, error } = await rpcDoorAll(dataSource, assocForTargets, {\n          p_target_type: targetType,\n          p_target_ids: ids,\n        });\n        if (error) return err(...mapPgErrorPair(error));\n        const rows = (Array.isArray(data) ? data : []) as AssocForTargetsRow[];\n        return ok({ edges: rows.map(toTargetEdge) });\n      } catch (e) {\n        return { ok: false, error: mapPgError(e) };\n      }\n    },\n\n    /**\n     * Like `listForTargets`, but VISIBILITY-AWARE: an edge is returned when\n     * the caller EITHER shares org access to it OR can VIEW its target via\n     * the canonical row-level authorization truth `iam.has_access(target,\n     * 'viewer')` — honoring published-to-the-web rows, Anyone links, share grants,\n     * container memberships, and reachability. A strict SUPERSET of\n     * `listForTargets` access; a stranger with no grant on a private target\n     * still gets nothing. Use for reading the members of a SHAREABLE\n     * container; keep plain `listForTargets` for org-scoped tagging reads.\n     */\n    async listForTargetsVisible(rawTargetType, targetIds) {\n      try {\n        identity.requireUserId();\n        const targetType = normalizeEntityToken(rawTargetType);\n        const ids = Array.from(new Set(targetIds));\n        if (ids.length === 0) return ok({ edges: [] });\n        const bad = firstError(\n          checkToken(\"targetType\", targetType),\n          checkUuidArray(\"targetIds\", ids),\n        );\n        if (bad) return { ok: false, error: bad };\n        const { data, error } = await rpcDoorAll(dataSource, assocMembersVisible, {\n          p_target_type: targetType,\n          p_target_ids: ids,\n        });\n        if (error) return err(...mapPgErrorPair(error));\n        const rows = (Array.isArray(data) ? data : []) as AssocForTargetsRow[];\n        return ok({ edges: rows.map(toTargetEdge) });\n      } catch (e) {\n        return { ok: false, error: mapPgError(e) };\n      }\n    },\n\n    /**\n     * Every edge whose source is one of `sourceIds` (all the same\n     * `sourceType`), org-filtered by RLS inside the RPC. Pass `targetType`\n     * to push the target filter into the DB. Each row carries `sourceId` so\n     * callers can group results back by source.\n     */\n    async listForSources(rawSourceType, sourceIds, rawTargetType) {\n      try {\n        identity.requireUserId();\n        const sourceType = normalizeEntityToken(rawSourceType);\n        const targetType =\n          rawTargetType != null\n            ? normalizeEntityToken(rawTargetType)\n            : undefined;\n        const ids = Array.from(new Set(sourceIds));\n        if (ids.length === 0) return ok({ edges: [] });\n        const bad = firstError(\n          checkToken(\"sourceType\", sourceType),\n          checkUuidArray(\"sourceIds\", ids),\n          targetType ? checkToken(\"targetType\", targetType) : null,\n        );\n        if (bad) return { ok: false, error: bad };\n        const { data, error } = await rpcDoorAll(dataSource, assocForSources, {\n          p_source_type: sourceType,\n          p_source_ids: ids,\n          ...(targetType ? { p_target_type: targetType } : {}),\n        });\n        if (error) return err(...mapPgErrorPair(error));\n        const rows = (Array.isArray(data) ? data : []) as AssocForSourcesRow[];\n        return ok({ edges: rows.map(toSourceEdge) });\n      } catch (e) {\n        return { ok: false, error: mapPgError(e) };\n      }\n    },\n\n    /**\n     * Attach `source` → `target`. Idempotent (ON CONFLICT). When `orgId` is\n     * omitted the RPC resolves org from the endpoints; pass `orgId` for\n     * targets that don't carry one. Returns the association id.\n     */\n    async add(args) {\n      try {\n        identity.requireUserId();\n        // Legacy-alias recovery (loud) — see normalizeEntityToken / D27.\n        const sourceType = normalizeEntityToken(args.sourceType);\n        const targetType = normalizeEntityToken(args.targetType);\n        const bad = firstError(\n          checkToken(\"sourceType\", sourceType),\n          checkUuid(\"sourceId\", args.sourceId),\n          checkToken(\"targetType\", targetType),\n          checkUuid(\"targetId\", args.targetId),\n          args.orgId != null ? checkUuid(\"orgId\", args.orgId) : null,\n        );\n        if (bad) return { ok: false, error: bad };\n        // A file attachment conveys viewer access through the conversation.\n        // Keep this service as the client chokepoint, but route this one\n        // access-bearing pair through its stricter DB boundary.\n        if (sourceType === \"file\" && targetType === \"conversation\") {\n          if (\n            args.role != null ||\n            args.position != null ||\n            args.payloadKind != null ||\n            args.payload != null\n          ) {\n            return err(\n              \"invalid_argument\",\n              \"File conversation attachments support only the canonical role-less edge\",\n            );\n          }\n          const { data, error } = await rpcDoor(\n            dataSource, conversationFileAdd,\n            {\n              p_conversation_id: args.targetId,\n              p_file_id: args.sourceId,\n              p_label: args.label,\n              p_metadata: args.metadata ?? {},\n              p_replace_metadata: args.replaceMetadata ?? false,\n            },\n          );\n          if (error) return err(...mapPgErrorPair(error));\n          if (!data || typeof data !== \"string\") {\n            return err(\n              \"internal\",\n              \"conversation_file_add returned no association id\",\n            );\n          }\n          return ok({ id: data });\n        }\n        if (args.replaceMetadata != null) {\n          return err(\n            \"invalid_argument\",\n            \"replaceMetadata is supported only for file conversation attachments\",\n          );\n        }\n        // A pair the registry NAMES is written with that name — the DB\n        // refuses any other label for it (enforce_known_association). A\n        // display name only rides pairs registered without one.\n        const { data, error } = await rpcDoor(dataSource, assocAdd, {\n          p_source_type: sourceType,\n          p_source_id: args.sourceId,\n          p_target_type: targetType,\n          p_target_id: args.targetId,\n          p_org_id: args.orgId,\n          p_label: registeredEdgeLabel(sourceType, targetType, args.label) ?? args.label,\n          p_metadata: args.metadata ?? {},\n          p_role: args.role,\n          p_position: args.position,\n          p_payload_kind: args.payloadKind,\n          p_payload: args.payload ?? undefined,\n        });\n        if (error) return err(...mapPgErrorPair(error));\n        if (!data || typeof data !== \"string\") {\n          return err(\"internal\", \"assoc_add returned no association id\");\n        }\n        return ok({ id: data });\n      } catch (e) {\n        return { ok: false, error: mapPgError(e) };\n      }\n    },\n\n    async addMany(edges) {\n      try {\n        identity.requireUserId();\n        if (edges.length === 0) return ok({ ids: [] });\n        const wire: Record<string, unknown>[] = [];\n        for (const args of edges) {\n          const sourceType = normalizeEntityToken(args.sourceType);\n          const targetType = normalizeEntityToken(args.targetType);\n          const bad = firstError(\n            checkToken(\"sourceType\", sourceType),\n            checkUuid(\"sourceId\", args.sourceId),\n            checkToken(\"targetType\", targetType),\n            checkUuid(\"targetId\", args.targetId),\n            args.orgId != null ? checkUuid(\"orgId\", args.orgId) : null,\n          );\n          if (bad) return { ok: false, error: bad };\n          if (sourceType === \"file\" && targetType === \"conversation\") {\n            return err(\n              \"invalid_argument\",\n              \"File conversation attachments have their own door: use add(), not addMany()\",\n            );\n          }\n          if (args.replaceMetadata != null) {\n            return err(\n              \"invalid_argument\",\n              \"replaceMetadata is supported only for file conversation attachments\",\n            );\n          }\n          wire.push({\n            p_source_type: sourceType,\n            p_source_id: args.sourceId,\n            p_target_type: targetType,\n            p_target_id: args.targetId,\n            p_org_id: args.orgId,\n            p_label: registeredEdgeLabel(sourceType, targetType, args.label) ?? args.label,\n            p_metadata: args.metadata ?? {},\n            p_role: args.role,\n            p_position: args.position,\n            p_payload_kind: args.payloadKind,\n            p_payload: args.payload ?? undefined,\n          });\n        }\n        const { data, error } = await rpcDoor(dataSource, assocAddMany, { p_edges: wire });\n        if (error) return err(...mapPgErrorPair(error));\n        if (!Array.isArray(data) || data.length !== edges.length) {\n          return err(\n            \"internal\",\n            `assoc_add_many returned ${Array.isArray(data) ? data.length : \"no\"} ids for ${edges.length} edges`,\n          );\n        }\n        return ok({ ids: data as string[] });\n      } catch (e) {\n        return { ok: false, error: mapPgError(e) };\n      }\n    },\n\n    /**\n     * Detach `source` → `target`. No-op if the edge doesn't exist. When\n     * `role` is omitted only the role-less edge is removed (role IS NOT\n     * DISTINCT FROM null); pass `role` to detach a specific typed edge.\n     */\n    async remove(args) {\n      try {\n        identity.requireUserId();\n        const sourceType = normalizeEntityToken(args.sourceType);\n        const targetType = normalizeEntityToken(args.targetType);\n        const bad = firstError(\n          checkToken(\"sourceType\", sourceType),\n          checkUuid(\"sourceId\", args.sourceId),\n          checkToken(\"targetType\", targetType),\n          checkUuid(\"targetId\", args.targetId),\n        );\n        if (bad) return { ok: false, error: bad };\n        if (sourceType === \"file\" && targetType === \"conversation\") {\n          if (args.role != null) {\n            return err(\n              \"invalid_argument\",\n              \"File conversation attachments support only the canonical role-less edge\",\n            );\n          }\n          const { error } = await rpcDoor(dataSource, conversationFileRemove, {\n            p_conversation_id: args.targetId,\n            p_file_id: args.sourceId,\n          });\n          if (error) return err(...mapPgErrorPair(error));\n          return ok(null);\n        }\n        const { error } = await rpcDoor(dataSource, assocRemove, {\n          p_source_type: sourceType,\n          p_source_id: args.sourceId,\n          p_target_type: targetType,\n          p_target_id: args.targetId,\n          p_role: args.role,\n        });\n        if (error) return err(...mapPgErrorPair(error));\n        return ok(null);\n      } catch (e) {\n        return { ok: false, error: mapPgError(e) };\n      }\n    },\n\n    /**\n     * Make the source's edges of `targetType` exactly equal `targetIds`\n     * (adds missing, removes extras) in one transaction.\n     */\n    async setTargets(args) {\n      try {\n        identity.requireUserId();\n        const sourceType = normalizeEntityToken(args.sourceType);\n        const targetType = normalizeEntityToken(args.targetType);\n        const target = Array.from(new Set(args.targetIds));\n        const bad = firstError(\n          checkToken(\"sourceType\", sourceType),\n          checkUuid(\"sourceId\", args.sourceId),\n          checkToken(\"targetType\", targetType),\n          checkUuidArray(\"targetIds\", target),\n          args.orgId != null ? checkUuid(\"orgId\", args.orgId) : null,\n        );\n        if (bad) return { ok: false, error: bad };\n        const { error } = await rpcDoor(dataSource, assocSetTargets, {\n          p_source_type: sourceType,\n          p_source_id: args.sourceId,\n          p_target_type: targetType,\n          p_target_ids: target,\n          p_org_id: args.orgId,\n          p_role: args.role,\n        });\n        if (error) return err(...mapPgErrorPair(error));\n        return ok(null);\n      } catch (e) {\n        return { ok: false, error: mapPgError(e) };\n      }\n    },\n\n    /**\n     * Permanently attach a resource to an agent. The dedicated RPC enforces\n     * the stronger authoring contract this containment edge requires: editor\n     * access to both the agent and source resource. The stored edge is still\n     * the canonical platform association (`role=agent_resource`).\n     */\n    async addAgentResource(args) {\n      try {\n        identity.requireUserId();\n        const sourceType = normalizeEntityToken(args.sourceType);\n        const bad = firstError(\n          checkUuid(\"agentId\", args.agentId),\n          checkToken(\"sourceType\", sourceType),\n          checkUuid(\"sourceId\", args.sourceId),\n        );\n        if (bad) return { ok: false, error: bad };\n        const { data, error } = await rpcDoor(dataSource, agentResourceAdd, {\n          p_agent_id: args.agentId,\n          p_source_type: sourceType,\n          p_source_id: args.sourceId,\n          p_label: args.label,\n          p_metadata: args.metadata ?? {},\n        });\n        if (error) return err(...mapPgErrorPair(error));\n        if (!data || typeof data !== \"string\") {\n          return err(\"internal\", \"agent_resource_add returned no association id\");\n        }\n        return ok({ id: data });\n      } catch (e) {\n        return { ok: false, error: mapPgError(e) };\n      }\n    },\n\n    /** Remove one permanent Agent Resource edge. */\n    async removeAgentResource(args) {\n      try {\n        identity.requireUserId();\n        const sourceType = normalizeEntityToken(args.sourceType);\n        const bad = firstError(\n          checkUuid(\"agentId\", args.agentId),\n          checkToken(\"sourceType\", sourceType),\n          checkUuid(\"sourceId\", args.sourceId),\n        );\n        if (bad) return { ok: false, error: bad };\n        const { error } = await rpcDoor(dataSource, agentResourceRemove, {\n          p_agent_id: args.agentId,\n          p_source_type: sourceType,\n          p_source_id: args.sourceId,\n        });\n        if (error) return err(...mapPgErrorPair(error));\n        return ok(null);\n      } catch (e) {\n        return { ok: false, error: mapPgError(e) };\n      }\n    },\n\n    /**\n     * Remove every edge where `${type}:${id}` is the source OR the target,\n     * org-filtered inside the RPC. The deletion counterpart of\n     * `listForEntity` — call it when an entity is deleted so no edge is left\n     * orphaned.\n     */\n    async removeForEntity(rawType, id) {\n      try {\n        identity.requireUserId();\n        const type = normalizeEntityToken(rawType);\n        const bad = firstError(checkToken(\"type\", type), checkUuid(\"id\", id));\n        if (bad) return { ok: false, error: bad };\n        const { error } = await rpcDoor(dataSource, assocRemoveForEntity, {\n          p_type: type,\n          p_id: id,\n        });\n        if (error) return err(...mapPgErrorPair(error));\n        return ok(null);\n      } catch (e) {\n        return { ok: false, error: mapPgError(e) };\n      }\n    },\n  };\n}\n","// core/categoriesService.ts — @ai-matrx/associations/core\n//\n// THE SOLE CHOKEPOINT for the canonical faceted taxonomy —\n// `platform.categories`. Ported behavior-verbatim from matrx-frontend\n// `features/scopes/service/categoriesService.ts` (associations extraction W2,\n// 2026-08-29); supabase singleton → `dataSource`, `requireUserId` →\n// `identity`, host `Database` RPC row type → the structural row shape below.\n//\n// One table, partitioned by `dimension` (the facet). The client has NO\n// direct grant on `platform.categories`; every read/write goes through the\n// PUBLIC SECURITY-DEFINER `cat_*` RPCs — and every call goes through THIS\n// module. Methods always return an `AssociationsRpcResult` and NEVER throw.\n//\n// ASSIGNMENT of a category to an entity is deliberately NOT here: it reuses\n// the association edge (`associationsService.add({ targetType: 'category',\n// … })`). A category is the noun this module owns; the attach is the verb\n// the associations service owns.\n\nimport type { CategoryDimension, PlatformCategory } from \"../edges\";\nimport type { AssociationsRpcResult } from \"../results\";\nimport type { CoreDeps } from \"./deps\";\nimport { rpcDoor } from \"./doors\";\nimport { catCreate, catDelete, catList, catReparent, catUpdate } from \"../db/public\";\n\n// One `cat_list` row (snake_case, straight from PG).\ninterface CatListRow {\n  id: string;\n  organization_id: string | null;\n  dimension: string;\n  name: string;\n  slug: string | null;\n  parent_id: string | null;\n  is_system: boolean | null;\n  color: string | null;\n  icon: string | null;\n  position: number | null;\n  metadata: unknown;\n}\n\nfunction toCategory(row: CatListRow): PlatformCategory {\n  return {\n    id: row.id,\n    orgId: row.organization_id ?? null,\n    dimension: row.dimension,\n    name: row.name,\n    slug: row.slug ?? null,\n    parentId: row.parent_id ?? null,\n    isSystem: !!row.is_system,\n    color: row.color ?? null,\n    icon: row.icon ?? null,\n    position: row.position ?? null,\n    metadata:\n      row.metadata &&\n      typeof row.metadata === \"object\" &&\n      !Array.isArray(row.metadata)\n        ? (row.metadata as Record<string, unknown>)\n        : null,\n  };\n}\n\nexport interface CategoriesServiceApi {\n  list(\n    dimension?: CategoryDimension,\n  ): Promise<AssociationsRpcResult<{ categories: PlatformCategory[] }>>;\n  create(args: {\n    dimension: CategoryDimension;\n    name: string;\n    orgId: string;\n    parentId?: string | null;\n    color?: string | null;\n    icon?: string | null;\n    slug?: string | null;\n  }): Promise<AssociationsRpcResult<{ id: string }>>;\n  update(args: {\n    id: string;\n    name: string;\n    slug: string | null;\n    color: string | null;\n    icon: string | null;\n    position: number | null;\n  }): Promise<AssociationsRpcResult<{ id: string }>>;\n  reparent(args: {\n    id: string;\n    parentId: string | null;\n  }): Promise<AssociationsRpcResult<{ id: string }>>;\n  delete(id: string): Promise<AssociationsRpcResult<{ id: string }>>;\n}\n\nexport function createCategoriesService(deps: CoreDeps): CategoriesServiceApi {\n  const { dataSource, identity } = deps;\n  const { ok, err, mapPgError, mapPgErrorPair } = deps.rpc;\n\n  return {\n    /**\n     * Every category visible to the caller (system + their orgs),\n     * org-filtered by `iam.has_org_access` inside the RPC. Pass `dimension`\n     * to scope to one facet (the common case). Ordered by dimension, then\n     * `position`, then name.\n     */\n    async list(dimension) {\n      try {\n        identity.requireUserId();\n        const { data, error } = await rpcDoor(dataSource, catList, {\n          p_dimension: dimension,\n        });\n        if (error) return err(...mapPgErrorPair(error));\n        const rows = (Array.isArray(data) ? data : []) as CatListRow[];\n        return ok({ categories: rows.map(toCategory) });\n      } catch (e) {\n        return { ok: false, error: mapPgError(e) };\n      }\n    },\n\n    /**\n     * Create an org-owned category in `dimension`. `orgId` is REQUIRED and\n     * the RPC rejects callers without access to it (`cat_create` raises\n     * 42501). The created row is always `is_system = false`; seeding\n     * system/global categories is a migration concern, never a client write.\n     */\n    async create(args) {\n      try {\n        identity.requireUserId();\n        const { data, error } = await rpcDoor(dataSource, catCreate, {\n          p_dimension: args.dimension,\n          p_name: args.name,\n          p_org_id: args.orgId,\n          p_parent_id: args.parentId ?? undefined,\n          p_color: args.color ?? undefined,\n          p_icon: args.icon ?? undefined,\n          p_slug: args.slug ?? undefined,\n        });\n        if (error) return err(...mapPgErrorPair(error));\n        if (!data || typeof data !== \"string\") {\n          return err(\"internal\", \"cat_create returned no category id\");\n        }\n        return ok({ id: data });\n      } catch (e) {\n        return { ok: false, error: mapPgError(e) };\n      }\n    },\n\n    /**\n     * Replace the editable scalar fields of one category. The caller\n     * supplies the complete desired state so nullable fields can be cleared\n     * without a JSON patch or a second interpretation of `undefined`.\n     */\n    async update(args) {\n      try {\n        identity.requireUserId();\n        const { data, error } = await rpcDoor(dataSource, catUpdate, {\n          p_category_id: args.id,\n          p_name: args.name,\n          p_slug: args.slug ?? undefined,\n          p_color: args.color ?? undefined,\n          p_icon: args.icon ?? undefined,\n          p_position: args.position ?? undefined,\n        });\n        if (error) return err(...mapPgErrorPair(error));\n        if (!data || typeof data !== \"string\") {\n          return err(\"internal\", \"cat_update returned no category id\");\n        }\n        return ok({ id: data });\n      } catch (e) {\n        return { ok: false, error: mapPgError(e) };\n      }\n    },\n\n    /** Move a category to the root or directly beneath one root category. */\n    async reparent(args) {\n      try {\n        identity.requireUserId();\n        const { data, error } = await rpcDoor(dataSource, catReparent, {\n          p_category_id: args.id,\n          p_parent_id: args.parentId ?? undefined,\n        });\n        if (error) return err(...mapPgErrorPair(error));\n        if (!data || typeof data !== \"string\") {\n          return err(\"internal\", \"cat_reparent returned no category id\");\n        }\n        return ok({ id: data });\n      } catch (e) {\n        return { ok: false, error: mapPgError(e) };\n      }\n    },\n\n    /** Soft-delete a leaf category. Parents with live children are rejected. */\n    async delete(id) {\n      try {\n        identity.requireUserId();\n        const { data, error } = await rpcDoor(dataSource, catDelete, {\n          p_category_id: id,\n        });\n        if (error) return err(...mapPgErrorPair(error));\n        if (!data || typeof data !== \"string\") {\n          return err(\"internal\", \"cat_delete returned no category id\");\n        }\n        return ok({ id: data });\n      } catch (e) {\n        return { ok: false, error: mapPgError(e) };\n      }\n    },\n  };\n}\n","// core/favoritesService.ts — @ai-matrx/associations/core\n//\n// THE SOLE CHOKEPOINT for per-user entity state —\n// `platform.user_entity_state` (the caller's favorite / pinned / hidden\n// flags + recency on any entity). Ported behavior-verbatim from\n// matrx-frontend `features/scopes/service/favoritesService.ts` +\n// `favoritesCore.ts` (associations extraction W2, 2026-08-29). The two host\n// files existed only because the browser file was pinned to the supabase\n// singleton while server readers needed injection — the injectable\n// `favoritesCore` shape prefigured this package's `dataSource` port, so here\n// they collapse back into ONE implementation (recorded in the CHANGELOG).\n//\n// Every read/write goes through the four PUBLIC SECURITY-DEFINER RPCs\n// (`ues_set` / `ues_list` / `ues_get_bulk` / `ues_touch`) — through THIS\n// module only. Methods always return an `AssociationsRpcResult`, NEVER throw.\n//\n// Scope: unlike associations (org-gated), per-user state is gated on\n// `auth.uid()` INSIDE each RPC — the user's own flags on an entity, across\n// every org. `entity_type` is free text in the DB (the table tracks state\n// for non-graph things too, e.g. `\"nav\"` destinations), so callers pass a\n// canonical token where one exists, or another stable token.\n\nimport type { UserEntityState, UserStateKind } from \"../edges\";\nimport type { AssociationsRpcResult } from \"../results\";\nimport type { CoreDeps } from \"./deps\";\nimport { rpcDoor } from \"./doors\";\nimport { uesGetBulk, uesList, uesSet, uesTouch } from \"../db/public\";\n\n// Raw `ues_list` row (snake_case, straight from PG). Carries `entity_type`.\ninterface UesListRow {\n  entity_type: string;\n  entity_id: string;\n  is_favorite: boolean;\n  is_pinned: boolean;\n  is_hidden: boolean;\n  last_viewed_at: string | null;\n  updated_at: string;\n}\n\n// Raw `ues_get_bulk` row — no `entity_type` (a query input the RPC doesn't echo).\ninterface UesBulkRow {\n  entity_id: string;\n  is_favorite: boolean;\n  is_pinned: boolean;\n  is_hidden: boolean;\n  last_viewed_at: string | null;\n}\n\nfunction toState(row: UesListRow): UserEntityState {\n  return {\n    entityType: row.entity_type,\n    entityId: row.entity_id,\n    isFavorite: row.is_favorite,\n    isPinned: row.is_pinned,\n    isHidden: row.is_hidden,\n    lastViewedAt: row.last_viewed_at ?? null,\n  };\n}\n\nexport interface FavoritesServiceApi {\n  setState(args: {\n    entityType: string;\n    entityId: string;\n    isFavorite?: boolean;\n    isPinned?: boolean;\n    isHidden?: boolean;\n  }): Promise<AssociationsRpcResult<null>>;\n  setFavorite(\n    entityType: string,\n    entityId: string,\n    isFavorite: boolean,\n  ): Promise<AssociationsRpcResult<null>>;\n  setPinned(\n    entityType: string,\n    entityId: string,\n    isPinned: boolean,\n  ): Promise<AssociationsRpcResult<null>>;\n  setHidden(\n    entityType: string,\n    entityId: string,\n    isHidden: boolean,\n  ): Promise<AssociationsRpcResult<null>>;\n  list(\n    kind?: UserStateKind,\n  ): Promise<AssociationsRpcResult<{ items: UserEntityState[] }>>;\n  getBulk(\n    entityType: string,\n    entityIds: string[],\n  ): Promise<AssociationsRpcResult<{ items: UserEntityState[] }>>;\n  touch(\n    entityType: string,\n    entityId: string,\n  ): Promise<AssociationsRpcResult<null>>;\n}\n\nexport function createFavoritesService(deps: CoreDeps): FavoritesServiceApi {\n  const { dataSource, identity } = deps;\n  const { ok, err, mapPgError, mapPgErrorPair } = deps.rpc;\n\n  const api: FavoritesServiceApi = {\n    /**\n     * Upsert the caller's state row for one entity. An OMITTED flag is left\n     * UNCHANGED (the RPC `coalesce`s null → existing), so you can flip just\n     * `isFavorite` without clobbering `isPinned`/`isHidden`. Idempotent.\n     */\n    async setState(args) {\n      try {\n        identity.requireUserId();\n        const { error } = await rpcDoor(dataSource, uesSet, {\n          p_entity_type: args.entityType,\n          p_entity_id: args.entityId,\n          p_is_favorite: args.isFavorite,\n          p_is_pinned: args.isPinned,\n          p_is_hidden: args.isHidden,\n        });\n        if (error) return err(...mapPgErrorPair(error));\n        return ok(null);\n      } catch (e) {\n        return { ok: false, error: mapPgError(e) };\n      }\n    },\n\n    /** Convenience: flip ONLY the favorite flag (leaves pinned/hidden intact). */\n    async setFavorite(entityType, entityId, isFavorite) {\n      return api.setState({ entityType, entityId, isFavorite });\n    },\n\n    /** Convenience: flip ONLY the pinned flag. */\n    async setPinned(entityType, entityId, isPinned) {\n      return api.setState({ entityType, entityId, isPinned });\n    },\n\n    /** Convenience: flip ONLY the hidden flag. */\n    async setHidden(entityType, entityId, isHidden) {\n      return api.setState({ entityType, entityId, isHidden });\n    },\n\n    /**\n     * Every state row the caller owns, optionally filtered to a single\n     * dimension (`\"favorite\"` | `\"pinned\"` | `\"hidden\"`). Pass nothing for all.\n     */\n    async list(kind) {\n      try {\n        identity.requireUserId();\n        const { data, error } = await rpcDoor(dataSource, uesList, {\n          p_kind: kind,\n        });\n        if (error) return err(...mapPgErrorPair(error));\n        const rows = (Array.isArray(data) ? data : []) as UesListRow[];\n        return ok({ items: rows.map(toState) });\n      } catch (e) {\n        return { ok: false, error: mapPgError(e) };\n      }\n    },\n\n    /**\n     * Bulk-fetch the caller's flags for `entityIds` of one `entityType` —\n     * the read a list view uses to paint its star column in one round-trip.\n     * Only entities that HAVE a state row come back; absent ids mean \"no\n     * state yet\".\n     */\n    async getBulk(entityType, entityIds) {\n      try {\n        identity.requireUserId();\n        const ids = Array.from(new Set(entityIds));\n        const { data, error } = await rpcDoor(dataSource, uesGetBulk, {\n          p_entity_type: entityType,\n          p_entity_ids: ids,\n        });\n        if (error) return err(...mapPgErrorPair(error));\n        const rows = (Array.isArray(data) ? data : []) as UesBulkRow[];\n        // `ues_get_bulk` doesn't echo entity_type (it's a query input) —\n        // stamp it back so callers get the same shape as `list`.\n        return ok({\n          items: rows.map((r) => ({\n            entityType,\n            entityId: r.entity_id,\n            isFavorite: r.is_favorite,\n            isPinned: r.is_pinned,\n            isHidden: r.is_hidden,\n            lastViewedAt: r.last_viewed_at ?? null,\n          })),\n        });\n      } catch (e) {\n        return { ok: false, error: mapPgError(e) };\n      }\n    },\n\n    /** Stamp `last_viewed_at = now()` (creates the row if absent). */\n    async touch(entityType, entityId) {\n      try {\n        identity.requireUserId();\n        const { error } = await rpcDoor(dataSource, uesTouch, {\n          p_entity_type: entityType,\n          p_entity_id: entityId,\n        });\n        if (error) return err(...mapPgErrorPair(error));\n        return ok(null);\n      } catch (e) {\n        return { ok: false, error: mapPgError(e) };\n      }\n    },\n  };\n\n  return api;\n}\n","// core/candidates.ts — @ai-matrx/associations/core\n//\n// \"What can I attach?\" — the generic candidate reader behind every\n// association picker, plus the universal cross-token search. Ported\n// behavior-verbatim from matrx-frontend\n// `features/scopes/service/associationCandidates.ts` (associations extraction\n// W2, 2026-08-29); supabase singleton → `dataSource`, the app entityRegistry\n// → the /core registry merge engine, console screams → errorSink.\n//\n// Fully token-driven: NO per-entity code. Which candidates a reader sees, and any\n// entity-specific equality predicates come from `platform.entity_types` and\n// are enforced by `platform.reference_search_candidates`. Tokens whose backing\n// table can't be read client-side list through the host overlay's\n// `listCandidates` override instead (the entity-overlay port).\n\nimport type { EntityTypeToken } from \"../entity-types.generated\";\nimport type { CoreDeps } from \"./deps\";\nimport { rpcDoor } from \"./doors\";\nimport { referenceSearchCandidates } from \"../db/public\";\n\nexport interface CandidateRecord {\n  id: string;\n  title: string;\n}\n\nexport interface ListCandidatesArgs {\n  token: EntityTypeToken;\n  /** Case-insensitive title filter. */\n  search?: string;\n  limit?: number;\n}\n\nexport type CandidatesResult =\n  | { ok: true; data: CandidateRecord[] }\n  | { ok: false; error: string };\n\nexport interface UniversalCandidate extends CandidateRecord {\n  token: EntityTypeToken;\n}\n\nexport interface SearchAcrossTokensArgs {\n  /** Tokens to search. Defaults to every curated token in the registry. */\n  tokens?: EntityTypeToken[];\n  search: string;\n  /** Cap per token — a universal search shows a few of everything. */\n  perTokenLimit?: number;\n  /** Max in-flight token queries. */\n  concurrency?: number;\n}\n\n/** One token whose candidate read failed during a cross-token search. */\nexport interface TokenSearchFailure {\n  token: EntityTypeToken;\n  error: string;\n}\n\n/**\n * A cross-token search's honest answer: what could be read, AND what could\n * not. An empty `results` with non-empty `failures` is \"we couldn't look\",\n * never \"there is nothing\".\n */\nexport interface SearchAcrossTokensResult {\n  results: UniversalCandidate[];\n  failures: TokenSearchFailure[];\n}\n\nexport interface ReferenceSearchCandidatesFn {\n  (args: {\n    p_token: string;\n    p_search?: string;\n    p_limit?: number;\n    p_ids?: string[];\n  }): Promise<\n    | { data: Array<{ id: string; title: string | null }>; error: null }\n    | { data: null; error: { message: string } }\n  >;\n}\n\nexport interface CandidatesServiceApi {\n  /**\n   * The universal candidate reader RPC (`platform.reference_search_candidates`)\n   * — shared by candidate search here and title resolution in titles.ts.\n   */\n  callReferenceSearchCandidates: ReferenceSearchCandidatesFn;\n  listAssociationCandidates(args: ListCandidatesArgs): Promise<CandidatesResult>;\n  /**\n   * ONE search over EVERY listable entity type — the \"attach anything from\n   * anywhere\" primitive. Registry-driven client fan-out, capped and\n   * concurrency-limited. One broken table never blanks the search: a failed\n   * token is screamed (errorSink) AND reported in `failures` (registry\n   * order), so a face can say what it could not search instead of showing\n   * \"no results\".\n   */\n  searchCandidatesAcrossTokens(\n    args: SearchAcrossTokensArgs,\n  ): Promise<SearchAcrossTokensResult>;\n}\n\nexport function createCandidatesService(deps: CoreDeps): CandidatesServiceApi {\n  const { dataSource, registry, errorSink } = deps;\n\n  const callReferenceSearchCandidates: ReferenceSearchCandidatesFn = async (\n    args,\n  ) => {\n    const { data, error } = await rpcDoor(\n      dataSource, referenceSearchCandidates,\n      args,\n    );\n    if (error) return { data: null, error };\n    return {\n      data: (Array.isArray(data) ? data : []) as Array<{\n        id: string;\n        title: string | null;\n      }>,\n      error: null,\n    };\n  };\n\n  async function listAssociationCandidates(\n    args: ListCandidatesArgs,\n  ): Promise<CandidatesResult> {\n    const { token, search, limit = 100 } = args;\n    const info = registry.getEntityInfo(token);\n\n    // Overlay-declared candidate-source override — for tokens whose backing\n    // table can't be read client-side (e.g. data_store: rag isn't\n    // PostgREST-exposed).\n    if (info.listCandidates) {\n      try {\n        return await info.listCandidates({\n          ...(search !== undefined ? { search } : {}),\n          limit,\n        });\n      } catch (e) {\n        const msg = e instanceof Error ? e.message : \"Failed to load candidates\";\n        errorSink({\n          code: \"candidate_override_failed\",\n          message: `[listAssociationCandidates] override failed for \"${token}\": ${msg}`,\n          context: { token, detail: e },\n        });\n        return { ok: false, error: msg };\n      }\n    }\n\n    if (!info.canListCandidates || !info.titleColumn) {\n      const msg =\n        `Entity \"${token}\" has no title column — set one in ` +\n        `platform.entity_types (or register a listCandidates override) before listing candidates`;\n      errorSink({\n        code: \"unlistable_token\",\n        message: `[listAssociationCandidates] ${msg}`,\n        context: { token },\n      });\n      return { ok: false, error: msg };\n    }\n    const trimmedSearch = search?.trim() || undefined;\n    const { data, error } = await callReferenceSearchCandidates({\n      p_token: token,\n      ...(trimmedSearch !== undefined ? { p_search: trimmedSearch } : {}),\n      p_limit: limit,\n    });\n    if (error) {\n      errorSink({\n        code: \"candidate_rpc_failed\",\n        message: `[listAssociationCandidates] candidate RPC failed for \"${token}\": ${error.message}`,\n        context: { token, detail: error },\n      });\n      return { ok: false, error: error.message };\n    }\n    return {\n      ok: true,\n      data: data.map((row) => ({\n        id: row.id,\n        title: row.title?.trim() || \"Untitled\",\n      })),\n    };\n  }\n\n  async function searchCandidatesAcrossTokens(\n    args: SearchAcrossTokensArgs,\n  ): Promise<SearchAcrossTokensResult> {\n    const { tokens, search, perTokenLimit = 5, concurrency = 6 } = args;\n    // Universal attach/search is narrower than display: only tokens explicitly\n    // registered as reference-pickable may generate candidate RPC traffic.\n    const list = tokens ?? registry.listableTokens();\n    if (list.length === 0) return { results: [], failures: [] };\n\n    const out: UniversalCandidate[] = [];\n    const failures: TokenSearchFailure[] = [];\n    let cursor = 0;\n\n    async function worker(): Promise<void> {\n      while (cursor < list.length) {\n        const token = list[cursor];\n        cursor += 1;\n        if (!token) continue;\n        const res = await listAssociationCandidates({\n          token,\n          search,\n          limit: perTokenLimit,\n        });\n        if (res.ok) {\n          for (const c of res.data) out.push({ ...c, token });\n        } else {\n          // Screamed inside listAssociationCandidates; recorded here so the\n          // caller can tell \"nothing matched\" from \"couldn't look\".\n          failures.push({ token, error: res.error });\n        }\n      }\n    }\n\n    await Promise.all(\n      Array.from({ length: Math.min(concurrency, list.length) }, worker),\n    );\n\n    // Stable order: registry (role-grouped) token order, then title.\n    const tokenOrder = new Map(list.map((t, i) => [t, i]));\n    out.sort((a, b) => {\n      const ta = tokenOrder.get(a.token) ?? 0;\n      const tb = tokenOrder.get(b.token) ?? 0;\n      if (ta !== tb) return ta - tb;\n      return a.title.localeCompare(b.title);\n    });\n    failures.sort(\n      (a, b) => (tokenOrder.get(a.token) ?? 0) - (tokenOrder.get(b.token) ?? 0),\n    );\n    return { results: out, failures };\n  }\n\n  return {\n    callReferenceSearchCandidates,\n    listAssociationCandidates,\n    searchCandidatesAcrossTokens,\n  };\n}\n","// core/titles.ts — @ai-matrx/associations/core\n//\n// Batched entity-title resolution — the \"UUIDs never render\" primitive.\n// Ported behavior-verbatim from matrx-frontend\n// `features/scopes/service/entityTitles.ts` (associations extraction W2,\n// 2026-08-29). One structural inversion: the MODULE-level session Map (banned\n// by the packaging standard — dual-loaded graphs silently split module\n// state) becomes STORE-INSTANCE state — the cache lives on the titles\n// service the store constructs once, so there is nothing to split and no\n// globalThis slot is needed.\n//\n// Association edges SHOULD carry a `label` stamped at attach time; this\n// service covers the rest (legacy unlabeled edges, rows renamed since\n// attach). Given a token + ids, it resolves titles through the\n// registry-driven candidate RPC and memoizes per store lifetime. Tokens\n// without a title column (or unregistered tokens) resolve to nothing —\n// callers fall back to `Untitled <label>` via `fallback`.\n\nimport { humanizeIdentifier } from \"@ai-matrx/kit/text-case\";\nimport type { CoreDeps } from \"./deps\";\nimport type { CandidatesServiceApi } from \"./candidates\";\n\nconst CHUNK = 200;\n\nexport function entityTitleCacheKey(token: string, id: string): string {\n  return `${token}:${id}`;\n}\n\nexport interface TitlesServiceApi {\n  /** Read the cache synchronously (for render paths after a fetch settled). */\n  get(token: string, id: string): string | null;\n  /**\n   * Push a known-fresh title into the cache (after a rename or a create), so\n   * surfaces that resolve through this service never show a stale name.\n   */\n  prime(token: string, id: string, title: string): void;\n  /** Display fallback when no label and no fetched title exist. */\n  fallback(token: string): string;\n  /**\n   * Resolve titles for `ids` of one token. Returns ONLY the resolved entries\n   * (cache + fresh reads); missing rows (deleted, no access) stay absent.\n   */\n  fetch(token: string, ids: string[]): Promise<Map<string, string>>;\n}\n\nexport function createTitlesService(\n  deps: CoreDeps,\n  candidates: CandidatesServiceApi,\n): TitlesServiceApi {\n  const { registry, errorSink } = deps;\n\n  /** `${token}:${id}` → resolved title. Store-lifetime; titles change rarely. */\n  const titleCache = new Map<string, string>();\n\n  return {\n    get(token, id) {\n      return titleCache.get(entityTitleCacheKey(token, id)) ?? null;\n    },\n\n    prime(token, id, title) {\n      const trimmed = title.trim();\n      if (trimmed) titleCache.set(entityTitleCacheKey(token, id), trimmed);\n    },\n\n    fallback(token) {\n      const info = registry.tryGetEntityInfo(token);\n      // Never the raw token (\"Untitled html_page\"): the ONE humanizer names it.\n      return `Untitled ${info?.label ?? humanizeIdentifier(token)}`;\n    },\n\n    async fetch(token, ids) {\n      const out = new Map<string, string>();\n      if (ids.length === 0) return out;\n\n      const info = registry.tryGetEntityInfo(token);\n      const missing: string[] = [];\n      for (const id of ids) {\n        const cached = titleCache.get(entityTitleCacheKey(token, id));\n        if (cached !== undefined) out.set(id, cached);\n        else missing.push(id);\n      }\n      if (missing.length === 0 || !info?.titleColumn) return out;\n\n      for (let index = 0; index < missing.length; index += CHUNK) {\n        const chunk = missing.slice(index, index + CHUNK);\n        const { data, error } = await candidates.callReferenceSearchCandidates({\n          p_token: token,\n          p_ids: chunk,\n          p_limit: chunk.length,\n        });\n        if (error) {\n          errorSink({\n            code: \"title_rpc_failed\",\n            message: `[fetchEntityTitles] candidate RPC failed for \"${token}\": ${error.message}`,\n            context: {\n              token,\n              chunkStart: index,\n              chunkSize: chunk.length,\n              detail: error,\n            },\n          });\n          continue;\n        }\n        for (const row of data) {\n          const title = row.title?.trim();\n          if (!title) continue;\n          titleCache.set(entityTitleCacheKey(token, row.id), title);\n          out.set(row.id, title);\n        }\n      }\n      return out;\n    },\n  };\n}\n","// core/entityRows.ts — @ai-matrx/associations/core\n//\n// THE GENERIC \"CREATE A NEW ONE\" GOES THROUGH THE GENERIC DOOR.\n//\n// 🚨 WHAT THIS CLOSES (DOORS-ONLY-4, 2026-09-21). Until this version both functions\n// below wrote the registered entity's backing table DIRECTLY:\n//\n//     dataSource.schema(info.schema).from(info.table)\n//       .insert({ [titleColumn]: title, created_by, organization_id })\n//\n// That is the ONE generic write path on the platform — one call site (the reference\n// picker's \"create a new one\") generic over all 650 registry tokens. The doors-only\n// ruling (`platform` and `iam` are not client-writable schemas; every write goes\n// through a named SECURITY DEFINER door) therefore broke it SILENTLY, one table at a\n// time, for forty-four already-closed tables before anybody looked. The failure\n// surfaces as a `42501` inside a picker toast, which no release notices.\n//\n// So the write is now `platform.entity_row_create` / `platform.entity_row_rename`: one\n// registry-driven door that resolves schema, table and title column from\n// `platform.entity_types` — the same registry `entity-types.generated.ts` is emitted\n// from — decides on the one ladder, and stamps `created_by` from `auth.uid()`. It is\n// the same fix for every token, present and future, instead of a door per table.\n//\n// AND IT REFUSES BY NAME two things the direct path merely FAILED at:\n//   • a token whose `audit_class` is `machinery` — access machinery owns the inputs\n//     the access resolver consumes, and a generic \"make me a row\" affordance must\n//     never reach it;\n//   • a token whose table has no `organization_id` column. `iam.organizations` is\n//     exactly that, and the picker had been sending it one and getting\n//     `42703 column does not exist` for as long as it has passed an org — a dead path\n//     that read as a working feature. Creating an organization is `iam.org_create`.\n//\n// TWO THINGS THE DOOR CANNOT DO, AND NEITHER IS SWALLOWED:\n//   • `extraColumns` — the door writes exactly the name, the owner and the\n//     organization. A caller that hands over extra columns gets a loud `{ok:false}`\n//     naming them and naming the remedy (its feature's own create service), never a\n//     row quietly missing the NOT NULL column it was meant to carry.\n//   • a create with no organization — the door requires one. That is refused here,\n//     before the round trip, with the same sentence a human can act on.\n//\n// On success both functions prime the shared title cache so every title-resolving\n// surface sees the new name, exactly as before.\n\nimport type { EntityTypeToken } from \"../entity-types.generated\";\nimport type { CoreDeps } from \"./deps\";\nimport type { TitlesServiceApi } from \"./titles\";\nimport { rpcDoor } from \"./doors\";\nimport { entityRowCreate, entityRowRename } from \"../db/public\";\n\nexport type EntityRowResult =\n  | { ok: true; data: { id: string; title: string } }\n  | { ok: false; error: string };\n\nexport interface CreateEntityRowArgs {\n  /** The new row's human name — written to the registry `titleColumn`. */\n  title: string;\n  /**\n   * The organization the new row belongs to. REQUIRED by\n   * `platform.entity_row_create`: every creatable token's table carries\n   * `organization_id`, and the door refuses a row with nobody owning it.\n   */\n  orgId?: string | null;\n  /**\n   * 🚨 NO LONGER WRITABLE THROUGH THIS SERVICE (DOORS-ONLY-4). The door writes the\n   * name, the owner and the organization and nothing else, so a non-empty value here\n   * is REFUSED with the columns named rather than dropped on the floor. A token whose\n   * table needs more than a name is created by its own feature's create service; this\n   * generic path then only renames it.\n   */\n  extraColumns?: Record<string, unknown>;\n}\n\nexport interface EntityRowsServiceApi {\n  createEntityRow(\n    token: EntityTypeToken,\n    args: CreateEntityRowArgs,\n  ): Promise<EntityRowResult>;\n  renameEntityRow(\n    token: EntityTypeToken,\n    id: string,\n    title: string,\n  ): Promise<{ ok: true } | { ok: false; error: string }>;\n}\n\nexport function createEntityRowsService(\n  deps: CoreDeps,\n  titles: TitlesServiceApi,\n): EntityRowsServiceApi {\n  const { dataSource, registry, errorSink } = deps;\n\n  /**\n   * The registry still decides whether a token is nameable AT ALL, before the round\n   * trip — a token with no `title_column` cannot be created from a name, and saying so\n   * here costs nothing and reads better than the door's own refusal.\n   */\n  function requireTitleColumn(\n    token: EntityTypeToken,\n    op: string,\n  ): { ok: true } | { ok: false; error: string } {\n    const info = registry.getEntityInfo(token);\n    if (!info.titleColumn) {\n      const error =\n        `Entity \"${token}\" has no title_column in platform.entity_types — ` +\n        `add one in the registry before ${op}`;\n      errorSink({\n        code: \"missing_title_column\",\n        message: `[entityRows] ${error}`,\n        context: { token },\n      });\n      return { ok: false, error };\n    }\n    return { ok: true };\n  }\n\n  return {\n    /**\n     * Create one row of `token`'s backing table named `title`, through\n     * `platform.entity_row_create`. The door stamps `created_by` from `auth.uid()`,\n     * checks the caller can act in the organization, and refuses machinery tokens and\n     * tables with no organization by name. Returns the new row's id + title. The\n     * caller wires associations afterwards — this layer never writes edges.\n     */\n    async createEntityRow(token, args) {\n      const gate = requireTitleColumn(token, \"creating rows\");\n      if (!gate.ok) return gate;\n      const title = args.title.trim();\n      if (!title) return { ok: false, error: \"Name is required\" };\n\n      // NOTHING FAILS SILENTLY. The door has no arm for these, so they are refused\n      // with their own names in the sentence rather than dropped.\n      const extras = Object.keys(args.extraColumns ?? {});\n      if (extras.length > 0) {\n        const error =\n          `A new ${registry.getEntityInfo(token).label} cannot be created ` +\n          `here with ${extras.join(\", \")}: the shared create door writes the name, ` +\n          `the owner and the organization and nothing else. Create it with this ` +\n          `feature's own create service, then attach it.`;\n        errorSink({\n          code: \"entity_row_extra_columns_unsupported\",\n          message: `[createEntityRow] extraColumns are not writable through entity_row_create for \"${token}\": ${extras.join(\", \")}`,\n          context: { token, extras },\n        });\n        return { ok: false, error };\n      }\n      if (!args.orgId) {\n        const error =\n          `Name the organization this ${registry.getEntityInfo(token).label} belongs to.`;\n        errorSink({\n          code: \"entity_row_missing_organization\",\n          message: `[createEntityRow] no organization supplied for \"${token}\"; entity_row_create requires one`,\n          context: { token },\n        });\n        return { ok: false, error };\n      }\n\n      try {\n        const { data, error } = await rpcDoor(dataSource, entityRowCreate, {\n          p_token: token,\n          p_title: title,\n          p_organization_id: args.orgId,\n        });\n        if (error) {\n          errorSink({\n            code: \"entity_row_insert_failed\",\n            message: `[createEntityRow] entity_row_create failed for \"${token}\": ${error.message}`,\n            context: { token, detail: error },\n          });\n          return { ok: false, error: error.message };\n        }\n        const row = data as { id?: unknown; title?: unknown } | null;\n        if (!row || typeof row.id !== \"string\" || !row.id) {\n          const msg = \"The create door returned no record.\";\n          errorSink({\n            code: \"entity_row_insert_failed\",\n            message: `[createEntityRow] entity_row_create returned no id for \"${token}\"`,\n            context: { token, detail: data },\n          });\n          return { ok: false, error: msg };\n        }\n        const id = row.id;\n        const named = typeof row.title === \"string\" && row.title ? row.title : title;\n        titles.prime(token, id, named);\n        return { ok: true, data: { id, title: named } };\n      } catch (e) {\n        const msg = e instanceof Error ? e.message : \"Failed to create\";\n        errorSink({\n          code: \"entity_row_insert_failed\",\n          message: `[createEntityRow] exception for \"${token}\": ${msg}`,\n          context: { token, detail: e },\n        });\n        return { ok: false, error: msg };\n      }\n    },\n\n    /**\n     * Rename one row of `token`'s table through `platform.entity_row_rename`. The door\n     * decides on the one ladder — the row's author, `editor` on the row, or a platform\n     * admin — and answers \"there is no such thing here\" rather than telling a caller\n     * that somebody else's row exists.\n     */\n    async renameEntityRow(token, id, title) {\n      const gate = requireTitleColumn(token, \"renaming rows\");\n      if (!gate.ok) return gate;\n      const trimmed = title.trim();\n      if (!trimmed) return { ok: false, error: \"Name is required\" };\n\n      try {\n        const { error } = await rpcDoor(dataSource, entityRowRename, {\n          p_token: token,\n          p_id: id,\n          p_title: trimmed,\n        });\n        if (error) {\n          errorSink({\n            code: \"entity_row_update_failed\",\n            message: `[renameEntityRow] entity_row_rename failed for \"${token}\": ${error.message}`,\n            context: { token, id, detail: error },\n          });\n          return { ok: false, error: error.message };\n        }\n        titles.prime(token, id, trimmed);\n        return { ok: true };\n      } catch (e) {\n        const msg = e instanceof Error ? e.message : \"Failed to rename\";\n        errorSink({\n          code: \"entity_row_update_failed\",\n          message: `[renameEntityRow] exception for \"${token}\": ${msg}`,\n          context: { token, id, detail: e },\n        });\n        return { ok: false, error: msg };\n      }\n    },\n  };\n}\n","// core/helpers.ts — @ai-matrx/associations/core\n//\n// TYPED convenience wrappers over the canonical associations service for the\n// common COMPOSITE shapes — \"attach one thing to many\", \"attach many things\n// to one\", \"create N edges in one call\", \"replace a whole set\". Ported\n// behavior-verbatim from matrx-frontend\n// `features/scopes/service/associationHelpers.ts` (associations extraction\n// W2, 2026-08-29). They add NO new DB access: every wrapper composes the\n// same `assoc_*` primitives, so the single-chokepoint + runtime-guard\n// guarantees still hold.\n//\n// Why wrappers (not more RPCs): per-entity / per-shape SQL functions are an\n// N-explosion and each copy reintroduces bugs. Composition belongs in typed\n// helpers; the DB layer stays generic and dumb.\n//\n// Type safety: a `source` is any registered entity (`EntityTypeToken`); a\n// `target` is one of the deliberate container types\n// (`AssociationTargetType`). Bad tokens / non-UUID ids are caught by the\n// base service's guards and surface as `invalid_argument` before any RPC.\n\nimport type { AssociationTargetType } from \"../edges\";\nimport type { EntityTypeToken } from \"../entity-types.generated\";\nimport {\n  isAssociationsRpcErr,\n  type AssociationsRpcError,\n  type AssociationsRpcResult,\n} from \"../results\";\nimport { err, ok } from \"./rpcResult\";\nimport { ASSOC_ADD_MANY_CHUNK, type AssociationsServiceApi } from \"./associationsService\";\n\n/** A typed reference to a single row — `{ type, id }`. */\nexport interface EntityRef {\n  type: EntityTypeToken;\n  id: string;\n}\n\n/** A container reference — the deliberate set an edge may point at. */\nexport interface ContainerRef {\n  type: AssociationTargetType;\n  id: string;\n}\n\n/** Per-edge attributes shared by the link helpers. */\nexport interface EdgeAttrs {\n  orgId?: string;\n  label?: string;\n  metadata?: unknown;\n  role?: string;\n  position?: number;\n}\n\n/** One fully-specified edge for {@link AssociationHelpersApi.linkEdges}. */\nexport interface EdgeSpec extends EdgeAttrs {\n  source: EntityRef;\n  target: ContainerRef;\n}\n\n/** Combine many per-edge errors into one loud, described result error. */\nfunction combine(\n  failures: AssociationsRpcError[],\n  total: number,\n): AssociationsRpcError {\n  const first = failures[0] ?? {\n    code: \"internal\" as const,\n    message: \"unknown failure\",\n  };\n  return {\n    code: failures.every((f) => f.code === first.code) ? first.code : \"internal\",\n    message: `${failures.length}/${total} association edge(s) failed: ${first.message}`,\n    detail: failures,\n  };\n}\n\nfunction errArgs(\n  e: AssociationsRpcError,\n): [AssociationsRpcError[\"code\"], string, unknown] {\n  return [e.code, e.message, e.detail];\n}\n\nexport interface AssociationHelpersApi {\n  /**\n   * Add an arbitrary batch of edges in one call (idempotent per edge).\n   * Written through the batch door (`platform.assoc_add_many`) in sequential chunks of\n   * {@link ASSOC_ADD_MANY_CHUNK}; each chunk is ONE transaction (all or nothing). The result\n   * is `ok` with the ids in input order only when ALL succeed, otherwise `err` whose\n   * `detail` lists a failure for every edge that was not written (chunks that DID succeed\n   * remain applied — re-running is safe via ON CONFLICT).\n   */\n  linkEdges(edges: EdgeSpec[]): Promise<AssociationsRpcResult<{ ids: string[] }>>;\n  /** Attach ONE source to MANY containers in a single shot. */\n  linkOneToMany(args: {\n    source: EntityRef;\n    targets: ContainerRef[];\n    attrs?: EdgeAttrs;\n  }): Promise<AssociationsRpcResult<{ ids: string[] }>>;\n  /** Attach MANY sources to ONE container in a single shot. */\n  linkManyToOne(args: {\n    sources: EntityRef[];\n    target: ContainerRef;\n    attrs?: EdgeAttrs;\n  }): Promise<AssociationsRpcResult<{ ids: string[] }>>;\n  /**\n   * REPLACE the full set of a source's edges of one container type (adds\n   * missing, removes extras) in one DB transaction — the set-semantics\n   * one-shot. Thin, named pass-through to `assoc_set_targets`.\n   */\n  replaceTargets(args: {\n    source: EntityRef;\n    targetType: AssociationTargetType;\n    targetIds: string[];\n    orgId?: string;\n    role?: string;\n  }): Promise<AssociationsRpcResult<null>>;\n  /**\n   * Wire edges onto a JUST-CREATED entity. The caller inserts its own row\n   * (entity tables are feature-owned), then passes the new id here to attach\n   * it to any number of containers (orphan-on-partial-fail is harmless and\n   * re-runnable). `created` is the new entity; it becomes the edges' SOURCE.\n   */\n  linkCreated(args: {\n    created: EntityRef;\n    targets: ContainerRef[];\n    attrs?: EdgeAttrs;\n  }): Promise<AssociationsRpcResult<{ ids: string[] }>>;\n  /** Remove an arbitrary batch of edges (best-effort; no-op per missing edge). */\n  unlinkEdges(\n    edges: { source: EntityRef; target: ContainerRef; role?: string }[],\n  ): Promise<AssociationsRpcResult<null>>;\n}\n\nexport function createAssociationHelpers(\n  service: AssociationsServiceApi,\n): AssociationHelpersApi {\n  async function linkEdges(\n    edges: EdgeSpec[],\n  ): Promise<AssociationsRpcResult<{ ids: string[] }>> {\n    if (edges.length === 0) return ok({ ids: [] });\n    const toArgs = (e: EdgeSpec) => ({\n      sourceType: e.source.type,\n      sourceId: e.source.id,\n      targetType: e.target.type,\n      targetId: e.target.id,\n      ...(e.orgId !== undefined ? { orgId: e.orgId } : {}),\n      ...(e.label !== undefined ? { label: e.label } : {}),\n      ...(e.metadata !== undefined ? { metadata: e.metadata } : {}),\n      ...(e.role !== undefined ? { role: e.role } : {}),\n      ...(e.position !== undefined ? { position: e.position } : {}),\n    });\n    // The file -> conversation pair has its own stricter door and is not batchable; every\n    // other edge goes through the batch door in chunks — ONE transaction per chunk, chunks\n    // one after another (never an unbounded fan-out of single adds: 140 concurrent\n    // assoc_add calls lost 69 edges on 2026-09-26).\n    const ids: (string | undefined)[] = new Array(edges.length).fill(undefined);\n    const failures: AssociationsRpcError[] = [];\n    const batchable: number[] = [];\n    for (let i = 0; i < edges.length; i++) {\n      const e = edges[i]!;\n      if (e.source.type === \"file\" && e.target.type === \"conversation\") {\n        const r = await service.add(toArgs(e));\n        if (isAssociationsRpcErr(r)) failures.push(r.error);\n        else ids[i] = r.data.id;\n      } else batchable.push(i);\n    }\n    for (let at = 0; at < batchable.length; at += ASSOC_ADD_MANY_CHUNK) {\n      const slice = batchable.slice(at, at + ASSOC_ADD_MANY_CHUNK);\n      const r = await service.addMany(slice.map((i) => toArgs(edges[i]!)));\n      if (isAssociationsRpcErr(r)) {\n        // The chunk is atomic: none of its edges were written. Every one of them failed.\n        for (let k = 0; k < slice.length; k++) failures.push(r.error);\n      } else slice.forEach((edgeIndex, k) => (ids[edgeIndex] = r.data.ids[k]));\n    }\n    if (failures.length > 0)\n      return err(...errArgs(combine(failures, edges.length)));\n    return ok({ ids: ids as string[] });\n  }\n\n  return {\n    linkEdges,\n\n    async linkOneToMany({ source, targets, attrs }) {\n      return linkEdges(targets.map((target) => ({ source, target, ...attrs })));\n    },\n\n    async linkManyToOne({ sources, target, attrs }) {\n      return linkEdges(sources.map((source) => ({ source, target, ...attrs })));\n    },\n\n    async replaceTargets(args) {\n      return service.setTargets({\n        sourceType: args.source.type,\n        sourceId: args.source.id,\n        targetType: args.targetType,\n        targetIds: args.targetIds,\n        ...(args.orgId !== undefined ? { orgId: args.orgId } : {}),\n        ...(args.role !== undefined ? { role: args.role } : {}),\n      });\n    },\n\n    async linkCreated(args) {\n      return linkEdges(\n        args.targets.map((target) => ({\n          source: args.created,\n          target,\n          ...args.attrs,\n        })),\n      );\n    },\n\n    async unlinkEdges(edges) {\n      if (edges.length === 0) return ok(null);\n      const results = await Promise.all(\n        edges.map((e) =>\n          service.remove({\n            sourceType: e.source.type,\n            sourceId: e.source.id,\n            targetType: e.target.type,\n            targetId: e.target.id,\n            ...(e.role !== undefined ? { role: e.role } : {}),\n          }),\n        ),\n      );\n      const failures: AssociationsRpcError[] = [];\n      for (const r of results) if (isAssociationsRpcErr(r)) failures.push(r.error);\n      if (failures.length > 0)\n        return err(...errArgs(combine(failures, edges.length)));\n      return ok(null);\n    },\n  };\n}\n","// core/commentsService.ts — @ai-matrx/associations/core\n//\n// THE SOLE CHOKEPOINT for the unified comment table — `platform.comments`\n// (W6, ruling C4: the comments canonical UI is built IN this package).\n// Behavior ported verbatim from matrx-frontend\n// `features/comments/service/commentsService.ts` (2026-08-29); the supabase\n// singleton / `requireUserId` / rpcResult seams inverted onto the package's\n// dataSource / identity / rpc deps, and the package's guard wall added in\n// front of every call (token writes-strict per C18, uuid wall).\n//\n// The client holds NO grant on `platform.comments`; every read/write goes\n// through the four PUBLIC SECURITY-DEFINER RPCs (`cmt_list` / `cmt_add` /\n// `cmt_edit` / `cmt_delete`) — part of the demanded schema (probed by\n// the demanded RPC contract), called only from THIS module. Methods always\n// return an `AssociationsRpcResult`, NEVER throw.\n//\n// Access lives in the RPCs, not here: `cmt_list` org-filters inside;\n// `cmt_add` resolves the org from THE COMMENTED RECORD ITSELF, for every\n// registered entity type (`orgId` overrides and must AGREE with the record, or\n// the RPC raises 22023); where neither the call nor the record names an\n// organization it raises 23502 rather than filing the comment in the author's\n// own workspace (DEFAULT-ORG-3, 2026-09-22);\n// `cmt_edit` is author-only; `cmt_delete` is author-or-org-member with\n// soft-delete. This package makes zero access decisions (link ≠ grant).\n\nimport type { CommentAnchor, PlatformComment } from \"../comments\";\nimport type { AssociationsRpcResult } from \"../results\";\nimport { firstError } from \"./guards\";\nimport type { CoreDeps } from \"./deps\";\nimport { rpcDoor } from \"./doors\";\nimport { cmtAdd, cmtDelete, cmtEdit, cmtList } from \"../db/public\";\n\n// Shape of one `cmt_list` row (snake_case, straight from PG).\ninterface CmtListRow {\n  id: string;\n  organization_id: string | null;\n  entity_type: string;\n  entity_id: string;\n  parent_id: string | null;\n  body: string;\n  created_at: string;\n  updated_at: string;\n  created_by: string | null;\n  author_email: string | null;\n  author_display_name: string | null;\n  author_avatar_url: string | null;\n  anchor?: CommentAnchor | null;\n  author_agent_id?: string | null;\n  author_agent_name?: string | null;\n  created_by_tier?: string | null;\n}\n\nfunction toComment(row: CmtListRow): PlatformComment {\n  return {\n    id: row.id,\n    orgId: row.organization_id ?? null,\n    entityType: row.entity_type,\n    entityId: row.entity_id,\n    parentId: row.parent_id ?? null,\n    body: row.body,\n    createdAt: row.created_at,\n    updatedAt: row.updated_at,\n    createdBy: row.created_by ?? null,\n    author: {\n      email: row.author_email ?? null,\n      displayName: row.author_display_name ?? null,\n      avatarUrl: row.author_avatar_url ?? null,\n    },\n    authorAgent: row.author_agent_id\n      ? { id: row.author_agent_id, name: row.author_agent_name ?? null }\n      : null,\n    ...(row.created_by_tier === \"system\" && !row.author_agent_id ? { authorSystem: true } : {}),\n    anchor: row.anchor && typeof row.anchor === \"object\" ? row.anchor : null,\n  };\n}\n\nexport interface AddCommentArgs {\n  /** Registered entity-type token the comment hangs on (writes-strict, C18). */\n  entityType: string;\n  entityId: string;\n  body: string;\n  /** Reply target — an existing comment's id. Top-level when omitted. */\n  parentId?: string | null;\n  /** Org override; the RPC resolves task-org/personal-org when omitted. */\n  orgId?: string | null;\n  /** Where on the record the comment points (a `part_anchor`, a `text_anchor`); whole record when omitted. */\n  anchor?: CommentAnchor | null;\n}\n\nexport interface CommentsServiceApi {\n  listForEntity(\n    entityType: string,\n    entityId: string,\n  ): Promise<AssociationsRpcResult<{ comments: PlatformComment[] }>>;\n  add(args: AddCommentArgs): Promise<AssociationsRpcResult<{ id: string }>>;\n  edit(id: string, body: string): Promise<AssociationsRpcResult<null>>;\n  remove(id: string): Promise<AssociationsRpcResult<null>>;\n}\n\nexport function createCommentsService(deps: CoreDeps): CommentsServiceApi {\n  const { dataSource, identity, guards } = deps;\n  const { ok, err, mapPgError, mapPgErrorPair } = deps.rpc;\n\n  return {\n    /**\n     * All comments on `${entityType}:${entityId}`, org-filtered by RLS\n     * inside the RPC, ordered oldest→newest. Build the thread from each\n     * row's `parentId` (top-level comments have `parentId === null`).\n     */\n    async listForEntity(entityType, entityId) {\n      try {\n        identity.requireUserId();\n        const token = guards.normalizeEntityToken(entityType);\n        const invalid = firstError(\n          guards.checkToken(\"entityType\", token),\n          guards.checkUuid(\"entityId\", entityId),\n        );\n        if (invalid) return { ok: false, error: invalid };\n        const { data, error } = await rpcDoor(dataSource, cmtList, {\n          p_entity_type: token,\n          p_entity_id: entityId,\n        });\n        if (error) return err(...mapPgErrorPair(error));\n        const rows = (Array.isArray(data) ? data : []) as CmtListRow[];\n        return ok({ comments: rows.map(toComment) });\n      } catch (e) {\n        return { ok: false, error: mapPgError(e) };\n      }\n    },\n\n    /**\n     * Post `body` on `${entityType}:${entityId}`; pass `parentId` to reply.\n     * Returns the new comment id.\n     */\n    async add(args) {\n      try {\n        identity.requireUserId();\n        const token = guards.normalizeEntityToken(args.entityType);\n        const invalid = firstError(\n          guards.checkToken(\"entityType\", token),\n          guards.checkUuid(\"entityId\", args.entityId),\n          args.parentId != null\n            ? guards.checkUuid(\"parentId\", args.parentId)\n            : null,\n        );\n        if (invalid) return { ok: false, error: invalid };\n        if (!args.body || args.body.trim().length === 0) {\n          return err(\"invalid_argument\", \"comment body must be non-empty\");\n        }\n        const { data, error } = await rpcDoor(dataSource, cmtAdd, {\n          p_entity_type: token,\n          p_entity_id: args.entityId,\n          p_body: args.body,\n          p_parent_id: args.parentId ?? undefined,\n          p_org_id: args.orgId ?? undefined,\n          ...(args.anchor ? { p_anchor: args.anchor } : {}),\n        });\n        if (error) return err(...mapPgErrorPair(error));\n        if (!data || typeof data !== \"string\") {\n          return err(\"internal\", \"cmt_add returned no comment id\");\n        }\n        return ok({ id: data });\n      } catch (e) {\n        return { ok: false, error: mapPgError(e) };\n      }\n    },\n\n    /** Replace a comment's body. Author-only; the RPC rejects everyone else. */\n    async edit(id, body) {\n      try {\n        identity.requireUserId();\n        const invalid = guards.checkUuid(\"commentId\", id);\n        if (invalid) return { ok: false, error: invalid };\n        if (!body || body.trim().length === 0) {\n          return err(\"invalid_argument\", \"comment body must be non-empty\");\n        }\n        const { error } = await rpcDoor(dataSource, cmtEdit, {\n          p_id: id,\n          p_body: body,\n        });\n        if (error) return err(...mapPgErrorPair(error));\n        return ok(null);\n      } catch (e) {\n        return { ok: false, error: mapPgError(e) };\n      }\n    },\n\n    /** Soft-delete a comment. Author or org member; enforced server-side. */\n    async remove(id) {\n      try {\n        identity.requireUserId();\n        const invalid = guards.checkUuid(\"commentId\", id);\n        if (invalid) return { ok: false, error: invalid };\n        const { error } = await rpcDoor(dataSource, cmtDelete, { p_id: id });\n        if (error) return err(...mapPgErrorPair(error));\n        return ok(null);\n      } catch (e) {\n        return { ok: false, error: mapPgError(e) };\n      }\n    },\n  };\n}\n","// core/store.ts — @ai-matrx/associations/core\n//\n// THE package-owned, store-agnostic cache (design Decision 3) — the one\n// runtime object a host constructs (`createAssociationsStore(cfg)`),\n// replacing matrx-frontend's ~530 lines of Redux fragments\n// (`scopesTree.associationsByKey` + `categoriesByDimension` + the\n// association/category thunks + selectors) with a subscribable store the\n// /react hooks (W3) ride via `useSyncExternalStore`. Behavior ported\n// verbatim from `features/scopes/redux/thunks/{associations,categories}.ts`\n// + the matching `scopesSlice` reducers + selectors (2026-08-29):\n//\n//   • lazy `load` with per-key IN-FLIGHT DEDUP (the thunks' Map) and\n//     `status === \"ready\"` short-circuit unless `force`;\n//   • pending keeps previous edges AND the visible error (consumers use\n//     status to disable/spin the same retry control);\n//   • add/remove reload BOTH endpoints on success (a write touches TWO\n//     endpoints — the source and the target each see the edge);\n//   • setTargets reloads the SOURCE only (the only endpoint with a\n//     deterministic post-state);\n//   • createCategory does the optimistic ECHO-INSERT then force-reloads to\n//     pick up server-derived fields authoritatively;\n//   • `getEdges`/`getCategories` return a STABLE idle default (never a fresh\n//     object per read — the useSyncExternalStore contract).\n//\n// THE NEVER-TOUCHES-CONTEXT INVARIANT, now structural: the thunks' law\n// \"NEVER dispatch appContextSlice actions\" (a durable association is NOT the\n// user's active working context) is carried over as architecture — this\n// package has no import path to any host store, and a write notifies ONLY\n// the association subscribers of the endpoints it touched (proven by test).\n//\n// Invalidation is owned here (subscribe/notify + `invalidate`). It does NOT\n// depend on `@ai-matrx/kit` — but the shape is deliberately bridgeable: a\n// host binding may register `store.invalidate` under kit `/invalidation`\n// names so ubiquitous modules can invalidate association caches with zero\n// import edge into this package's chunk.\n//\n// NO module-level mutable state anywhere in /core: every cache lives on the\n// store instance the host constructs, so the dual-bundle split-registry\n// failure the packaging standard's globalThis-slot rule exists for cannot\n// occur (there is no module state to split).\n\nimport type {\n  AssociationsEntry,\n  AssociationTargetType,\n  CategoriesEntry,\n  CategoryDimension,\n  PlatformCategory,\n} from \"../edges\";\nimport type { CommentAnchor, CommentsEntry } from \"../comments\";\nimport { isAssociationsRpcErr } from \"../results\";\nimport type {\n  AssociationsConfig,\n  AssociationsDataSource,\n  ErrorSink,\n} from \"../ports\";\nimport { asAssociationsDataSource } from \"../ports\";\nimport { createDefaultErrorSink } from \"./defaultErrorSink\";\nimport type { CoreDeps } from \"./deps\";\nimport { createAssociationGuards } from \"./guards\";\nimport { createRpcResultHelpers } from \"./rpcResult\";\nimport { createEntityRegistry, type EntityRegistry } from \"./registry\";\nimport {\n  createAssociationsService,\n  type AssociationsServiceApi,\n} from \"./associationsService\";\nimport {\n  createCategoriesService,\n  type CategoriesServiceApi,\n} from \"./categoriesService\";\nimport {\n  createFavoritesService,\n  type FavoritesServiceApi,\n} from \"./favoritesService\";\nimport { createCandidatesService, type CandidatesServiceApi } from \"./candidates\";\nimport { createTitlesService, type TitlesServiceApi } from \"./titles\";\nimport {\n  createEntityRowsService,\n  type EntityRowsServiceApi,\n} from \"./entityRows\";\nimport {\n  createAssociationHelpers,\n  type AssociationHelpersApi,\n} from \"./helpers\";\nimport {\n  createCommentsService,\n  type CommentsServiceApi,\n} from \"./commentsService\";\n\n/** Cache key for one association endpoint. */\nexport function associationsKey(type: string, id: string): string {\n  return `${type}:${id}`;\n}\n\nexport interface AssociationWriteResult {\n  ok: boolean;\n  /** Set on a successful single-edge `add`. */\n  id?: string;\n  error?: string;\n}\n\nexport interface CategoryMutationResult {\n  ok: boolean;\n  /** Set on a successful mutation. */\n  id?: string;\n  error?: string;\n}\n\nconst IDLE_ASSOCIATIONS: AssociationsEntry = Object.freeze({\n  status: \"idle\",\n  edges: Object.freeze([]) as unknown as AssociationsEntry[\"edges\"],\n  fetchedAt: null,\n  error: null,\n});\n\nconst IDLE_CATEGORIES: CategoriesEntry = Object.freeze({\n  status: \"idle\",\n  categories: Object.freeze([]) as unknown as CategoriesEntry[\"categories\"],\n  fetchedAt: null,\n  error: null,\n});\n\nconst IDLE_COMMENTS: CommentsEntry = Object.freeze({\n  status: \"idle\",\n  comments: Object.freeze([]) as unknown as CommentsEntry[\"comments\"],\n  fetchedAt: null,\n  error: null,\n});\n\nexport interface CommentMutationResult {\n  ok: boolean;\n  /** Set on a successful `addComment`. */\n  id?: string;\n  error?: string;\n}\n\nexport interface AssociationsStore {\n  // ── the cache (association endpoints) ────────────────────────────────\n  /** Stable, sync read of one endpoint's entry (idle default when uncached). */\n  getEdges(type: string, id: string): AssociationsEntry;\n  /**\n   * Lazy load of every edge touching `${type}:${id}` (both directions).\n   * Deduped per key; `status === \"ready\"` short-circuits unless `force`.\n   */\n  load(type: string, id: string, opts?: { force?: boolean }): Promise<void>;\n  /** External-store contract: notified whenever the key's entry changes. */\n  subscribe(key: string, cb: () => void): () => void;\n  /** Attach source → target; on success reloads BOTH endpoints. */\n  add(args: {\n    sourceType: string;\n    sourceId: string;\n    targetType: AssociationTargetType;\n    targetId: string;\n    orgId?: string;\n    label?: string;\n    role?: string;\n    metadata?: unknown;\n    replaceMetadata?: boolean;\n  }): Promise<AssociationWriteResult>;\n  /** Detach source → target; on success reloads BOTH endpoints. */\n  remove(args: {\n    sourceType: string;\n    sourceId: string;\n    targetType: string;\n    targetId: string;\n    role?: string;\n  }): Promise<AssociationWriteResult>;\n  /** Replace the source's `targetType` edge set; reloads the SOURCE. */\n  setTargets(args: {\n    sourceType: string;\n    sourceId: string;\n    targetType: AssociationTargetType;\n    targetIds: string[];\n    orgId?: string;\n    role?: string;\n  }): Promise<AssociationWriteResult>;\n  /** Reset one endpoint to idle and notify its subscribers. */\n  invalidate(type: string, id: string): void;\n  /** Reset every association endpoint, category facet, and comment thread. */\n  invalidateAll(): void;\n\n  // ── the cache (category facets) ──────────────────────────────────────\n  getCategories(dimension: CategoryDimension): CategoriesEntry;\n  loadCategories(\n    dimension: CategoryDimension,\n    opts?: { force?: boolean },\n  ): Promise<void>;\n  subscribeCategories(dimension: CategoryDimension, cb: () => void): () => void;\n  /** Create + echo-insert + authoritative force reload. Returns the new id. */\n  createCategory(args: {\n    dimension: CategoryDimension;\n    name: string;\n    orgId: string;\n    parentId?: string | null;\n    color?: string | null;\n    icon?: string | null;\n    slug?: string | null;\n  }): Promise<CategoryMutationResult>;\n  updateCategory(args: {\n    dimension: CategoryDimension;\n    id: string;\n    name: string;\n    slug: string | null;\n    color: string | null;\n    icon: string | null;\n    position: number | null;\n  }): Promise<CategoryMutationResult>;\n  reparentCategory(args: {\n    dimension: CategoryDimension;\n    id: string;\n    parentId: string | null;\n  }): Promise<CategoryMutationResult>;\n  deleteCategory(args: {\n    dimension: CategoryDimension;\n    id: string;\n  }): Promise<CategoryMutationResult>;\n\n  // ── the cache (comment threads, W6) ──────────────────────────────────\n  /** Stable, sync read of one entity's comment thread (idle when uncached). */\n  getComments(type: string, id: string): CommentsEntry;\n  /**\n   * Lazy load of every comment on `${type}:${id}` (oldest→newest; thread by\n   * `parentId`). Deduped per key; `status === \"ready\"` short-circuits unless\n   * `force`.\n   */\n  loadComments(\n    type: string,\n    id: string,\n    opts?: { force?: boolean },\n  ): Promise<void>;\n  /** External-store contract for one entity's comment thread. */\n  subscribeComments(key: string, cb: () => void): () => void;\n  /** Post a comment (or a reply); on success force-reloads the thread. */\n  addComment(args: {\n    entityType: string;\n    entityId: string;\n    body: string;\n    parentId?: string | null;\n    orgId?: string | null;\n    anchor?: CommentAnchor | null;\n  }): Promise<CommentMutationResult>;\n  /** Edit a comment body (author-only in the RPC); reloads the thread. */\n  editComment(args: {\n    entityType: string;\n    entityId: string;\n    id: string;\n    body: string;\n  }): Promise<CommentMutationResult>;\n  /** Soft-delete a comment (author/org member in the RPC); reloads the thread. */\n  deleteComment(args: {\n    entityType: string;\n    entityId: string;\n    id: string;\n  }): Promise<CommentMutationResult>;\n  /** Reset one entity's comment thread to idle and notify its subscribers. */\n  invalidateComments(type: string, id: string): void;\n\n  // ── the seams under the cache ────────────────────────────────────────\n  /** Batched title resolution + the session cache + prime. */\n  titles: TitlesServiceApi;\n  /** Per-user favorite/pinned/hidden state (`ues_*`). */\n  favorites: FavoritesServiceApi;\n  /** Candidate reads for the pickers. */\n  candidates: CandidatesServiceApi;\n  /** Generic registry-convention row create/rename. */\n  entityRows: EntityRowsServiceApi;\n  /** Composite link helpers over the chokepoint. */\n  helpers: AssociationHelpersApi;\n  /** The registry merge engine (generated metadata + host overlay). */\n  registry: EntityRegistry;\n  /**\n   * The raw chokepoint services — every RPC family, results-enveloped.\n   * `associations` writes here do NOT touch the cache; use the store-level\n   * `add`/`remove`/`setTargets` when a cached surface must stay fresh.\n   */\n  services: {\n    associations: AssociationsServiceApi;\n    categories: CategoriesServiceApi;\n    comments: CommentsServiceApi;\n  };\n  /** Merge more host overlay entries in (icons/routes/candidate loaders). */\n  registerEntityOverlay: EntityRegistry[\"registerEntityOverlay\"];\n  /**\n   * The bound scream seam (W3, additive): /react surfaces route their loud\n   * recoveries here (the originals' console.error sites) without a second\n   * sink binding. Same function the host passed at construction.\n   */\n  errorSink: ErrorSink;\n  /**\n   * The bound data seam (0.6.0, additive): the provider's demanded-schema\n   * boot probe reads it so hosts stop re-exporting their dataSource just to\n   * run a check the package owns.\n   */\n  dataSource: AssociationsDataSource;\n  /**\n   * The bound identity port (W3, additive): /react hooks that FILTER by the\n   * current user (candidate owner scoping) read it leniently; write paths\n   * keep going through the services, where `requireUserId` failures stay\n   * loud. Same object the host passed at construction.\n   */\n  identity: AssociationsConfig[\"identity\"];\n}\n\n/**\n * Build the one store a host binds. The REQUIRED ports (dataSource /\n * identity — true app identity, C23) throw at construction when absent.\n * Every other port has a SHIPPED DEFAULT (errorSink since 0.6.0) or a\n * documented degradation; nothing is ever silently missing.\n */\nexport function createAssociationsStore(\n  config: AssociationsConfig,\n): AssociationsStore {\n  // An { rpc }-only client is adapted (0.14.5), so the bridges every host passed before 0.14.0\n  // keep working; only a missing client, or one with neither schema() nor rpc(), throws.\n  const dataSource = asAssociationsDataSource(config?.dataSource);\n  if (!config || !dataSource) {\n    throw new Error(\n      \"@ai-matrx/associations: the REQUIRED dataSource port is missing \" +\n        \"(pass the supabase-js client itself, or an { rpc } client for the \" +\n        \"public schema's functions). The package IS data operations; there \" +\n        \"is no degraded mode without one.\",\n    );\n  }\n  if (typeof config.identity?.requireUserId !== \"function\") {\n    throw new Error(\n      \"@ai-matrx/associations: the REQUIRED identity port is missing \" +\n        \"(need requireUserId(): string that THROWS when unauthenticated). \" +\n        \"Identity never comes from a store import.\",\n    );\n  }\n  // `errorSink` stopped being required in 0.6.0 (C23): the package ships the\n  // obvious sink instead of refusing to construct. The default is LOUD about\n  // being the default — see createDefaultErrorSink.\n  const errorSink: ErrorSink =\n    typeof config.errorSink === \"function\"\n      ? config.errorSink\n      : createDefaultErrorSink();\n  const registry = createEntityRegistry(errorSink, config.entityOverlay);\n  const deps: CoreDeps = {\n    dataSource,\n    identity: config.identity,\n    errorSink,\n    guards: createAssociationGuards(errorSink),\n    rpc: createRpcResultHelpers(\n      errorSink,\n      config.identity.sessionAttached\n        ? () => config.identity.sessionAttached!()\n        : undefined,\n    ),\n    registry,\n  };\n\n  const associations = createAssociationsService(deps);\n  const categories = createCategoriesService(deps);\n  const favorites = createFavoritesService(deps);\n  const candidates = createCandidatesService(deps);\n  const titles = createTitlesService(deps, candidates);\n  const entityRows = createEntityRowsService(deps, titles);\n  const helpers = createAssociationHelpers(associations);\n  const comments = createCommentsService(deps);\n\n  // ── instance state (never module state) ────────────────────────────────\n  const assocByKey = new Map<string, AssociationsEntry>();\n  const assocSubs = new Map<string, Set<() => void>>();\n  const assocInFlight = new Map<string, Promise<void>>();\n  const catByDim = new Map<string, CategoriesEntry>();\n  const catSubs = new Map<string, Set<() => void>>();\n  const catInFlight = new Map<string, Promise<void>>();\n  const cmtByKey = new Map<string, CommentsEntry>();\n  const cmtSubs = new Map<string, Set<() => void>>();\n  const cmtInFlight = new Map<string, Promise<void>>();\n\n  function notifyAssoc(key: string): void {\n    const subs = assocSubs.get(key);\n    if (subs) for (const cb of [...subs]) cb();\n  }\n  function notifyCat(dimension: string): void {\n    const subs = catSubs.get(dimension);\n    if (subs) for (const cb of [...subs]) cb();\n  }\n  function setAssoc(key: string, entry: AssociationsEntry): void {\n    assocByKey.set(key, entry);\n    notifyAssoc(key);\n  }\n  function setCat(dimension: string, entry: CategoriesEntry): void {\n    catByDim.set(dimension, entry);\n    notifyCat(dimension);\n  }\n  function notifyCmt(key: string): void {\n    const subs = cmtSubs.get(key);\n    if (subs) for (const cb of [...subs]) cb();\n  }\n  function setCmt(key: string, entry: CommentsEntry): void {\n    cmtByKey.set(key, entry);\n    notifyCmt(key);\n  }\n\n  // ── association cache ops (verbatim thunk/reducer behavior) ────────────\n  async function load(\n    type: string,\n    id: string,\n    opts: { force?: boolean } = {},\n  ): Promise<void> {\n    const force = opts.force ?? false;\n    if (!type || !id) return;\n    const key = associationsKey(type, id);\n    const entry = assocByKey.get(key);\n\n    if (!force && entry?.status === \"ready\") return;\n    const pending = assocInFlight.get(key);\n    if (!force && entry?.status === \"loading\" && pending) return pending;\n\n    const prev = assocByKey.get(key);\n    setAssoc(key, {\n      status: \"loading\",\n      edges: prev?.edges ?? [],\n      fetchedAt: prev?.fetchedAt ?? null,\n      // Retain the visible failure while a retry is pending — consumers use\n      // status to disable/spin the same retry control.\n      error: prev?.error ?? null,\n    });\n\n    const promise = (async () => {\n      try {\n        const res = await associations.listForEntity(type, id);\n        if (isAssociationsRpcErr(res)) {\n          const before = assocByKey.get(key);\n          setAssoc(key, {\n            status: \"error\",\n            edges: before?.edges ?? [],\n            fetchedAt: before?.fetchedAt ?? null,\n            error: res.error.message,\n          });\n        } else {\n          setAssoc(key, {\n            status: \"ready\",\n            edges: res.data.edges,\n            fetchedAt: Date.now(),\n            error: null,\n          });\n        }\n      } finally {\n        assocInFlight.delete(key);\n      }\n    })();\n\n    assocInFlight.set(key, promise);\n    return promise;\n  }\n\n  /** Reload both endpoints of an edge so each side's cache is fresh. */\n  async function reloadBoth(\n    sourceType: string,\n    sourceId: string,\n    targetType: string,\n    targetId: string,\n  ): Promise<void> {\n    await Promise.all([\n      load(sourceType, sourceId, { force: true }),\n      load(targetType, targetId, { force: true }),\n    ]);\n  }\n\n  // ── category cache ops (verbatim thunk/reducer behavior) ───────────────\n  async function loadCategories(\n    dimension: CategoryDimension,\n    opts: { force?: boolean } = {},\n  ): Promise<void> {\n    const force = opts.force ?? false;\n    if (!dimension) return;\n    const entry = catByDim.get(dimension);\n\n    if (!force && entry?.status === \"ready\") return;\n    const pending = catInFlight.get(dimension);\n    if (!force && entry?.status === \"loading\" && pending) return pending;\n\n    const prev = catByDim.get(dimension);\n    setCat(dimension, {\n      status: \"loading\",\n      categories: prev?.categories ?? [],\n      fetchedAt: prev?.fetchedAt ?? null,\n      error: null,\n    });\n\n    const promise = (async () => {\n      try {\n        const res = await categories.list(dimension);\n        if (isAssociationsRpcErr(res)) {\n          const before = catByDim.get(dimension);\n          setCat(dimension, {\n            status: \"error\",\n            categories: before?.categories ?? [],\n            fetchedAt: before?.fetchedAt ?? null,\n            error: res.error.message,\n          });\n        } else {\n          setCat(dimension, {\n            status: \"ready\",\n            categories: res.data.categories,\n            fetchedAt: Date.now(),\n            error: null,\n          });\n        }\n      } finally {\n        catInFlight.delete(dimension);\n      }\n    })();\n\n    catInFlight.set(dimension, promise);\n    return promise;\n  }\n\n  // ── comment-thread cache ops (W6; same lifecycle as associations) ──────\n  async function loadComments(\n    type: string,\n    id: string,\n    opts: { force?: boolean } = {},\n  ): Promise<void> {\n    const force = opts.force ?? false;\n    if (!type || !id) return;\n    const key = associationsKey(type, id);\n    const entry = cmtByKey.get(key);\n\n    if (!force && entry?.status === \"ready\") return;\n    const pending = cmtInFlight.get(key);\n    if (!force && entry?.status === \"loading\" && pending) return pending;\n\n    const prev = cmtByKey.get(key);\n    setCmt(key, {\n      status: \"loading\",\n      comments: prev?.comments ?? [],\n      fetchedAt: prev?.fetchedAt ?? null,\n      // Retain the visible failure while a retry is pending (same contract\n      // as the association cache).\n      error: prev?.error ?? null,\n    });\n\n    const promise = (async () => {\n      try {\n        const res = await comments.listForEntity(type, id);\n        if (isAssociationsRpcErr(res)) {\n          const before = cmtByKey.get(key);\n          setCmt(key, {\n            status: \"error\",\n            comments: before?.comments ?? [],\n            fetchedAt: before?.fetchedAt ?? null,\n            error: res.error.message,\n          });\n        } else {\n          setCmt(key, {\n            status: \"ready\",\n            comments: res.data.comments,\n            fetchedAt: Date.now(),\n            error: null,\n          });\n        }\n      } finally {\n        cmtInFlight.delete(key);\n      }\n    })();\n\n    cmtInFlight.set(key, promise);\n    return promise;\n  }\n\n  return {\n    // ── associations ─────────────────────────────────────────────────────\n    getEdges(type, id) {\n      if (!type || !id) return IDLE_ASSOCIATIONS;\n      return assocByKey.get(associationsKey(type, id)) ?? IDLE_ASSOCIATIONS;\n    },\n\n    load,\n\n    subscribe(key, cb) {\n      let subs = assocSubs.get(key);\n      if (!subs) {\n        subs = new Set();\n        assocSubs.set(key, subs);\n      }\n      subs.add(cb);\n      return () => {\n        subs.delete(cb);\n        if (subs.size === 0) assocSubs.delete(key);\n      };\n    },\n\n    async add(args) {\n      const res = await associations.add(args);\n      if (isAssociationsRpcErr(res)) {\n        return { ok: false, error: res.error.message };\n      }\n      await reloadBoth(\n        args.sourceType,\n        args.sourceId,\n        args.targetType,\n        args.targetId,\n      );\n      return { ok: true, id: res.data.id };\n    },\n\n    async remove(args) {\n      const res = await associations.remove(args);\n      if (isAssociationsRpcErr(res)) {\n        return { ok: false, error: res.error.message };\n      }\n      await reloadBoth(\n        args.sourceType,\n        args.sourceId,\n        args.targetType,\n        args.targetId,\n      );\n      return { ok: true };\n    },\n\n    /**\n     * Reloads the SOURCE endpoint only — the one endpoint with a\n     * deterministic post-state; each affected target reload would need the\n     * full before/after diff, so callers displaying a specific target\n     * refresh it via `load(..., { force: true })`.\n     */\n    async setTargets(args) {\n      const res = await associations.setTargets(args);\n      if (isAssociationsRpcErr(res)) {\n        return { ok: false, error: res.error.message };\n      }\n      await load(args.sourceType, args.sourceId, { force: true });\n      return { ok: true };\n    },\n\n    invalidate(type, id) {\n      const key = associationsKey(type, id);\n      if (assocByKey.delete(key)) notifyAssoc(key);\n    },\n\n    invalidateAll() {\n      const assocKeys = [...assocByKey.keys()];\n      assocByKey.clear();\n      for (const key of assocKeys) notifyAssoc(key);\n      const dims = [...catByDim.keys()];\n      catByDim.clear();\n      for (const dim of dims) notifyCat(dim);\n      const cmtKeys = [...cmtByKey.keys()];\n      cmtByKey.clear();\n      for (const key of cmtKeys) notifyCmt(key);\n    },\n\n    // ── categories ───────────────────────────────────────────────────────\n    getCategories(dimension) {\n      if (!dimension) return IDLE_CATEGORIES;\n      return catByDim.get(dimension) ?? IDLE_CATEGORIES;\n    },\n\n    loadCategories,\n\n    subscribeCategories(dimension, cb) {\n      let subs = catSubs.get(dimension);\n      if (!subs) {\n        subs = new Set();\n        catSubs.set(dimension, subs);\n      }\n      subs.add(cb);\n      return () => {\n        subs.delete(cb);\n        if (subs.size === 0) catSubs.delete(dimension);\n      };\n    },\n\n    async createCategory(args) {\n      const res = await categories.create(args);\n      if (isAssociationsRpcErr(res)) {\n        return { ok: false, error: res.error.message };\n      }\n      // Optimistic echo so the new id shows immediately, then force-reload\n      // to pick up server-derived fields (slug, position) authoritatively.\n      const optimistic: PlatformCategory = {\n        id: res.data.id,\n        orgId: args.orgId,\n        dimension: args.dimension,\n        name: args.name,\n        slug: args.slug ?? null,\n        parentId: args.parentId ?? null,\n        isSystem: false,\n        color: args.color ?? null,\n        icon: args.icon ?? null,\n        metadata: null,\n        position: null,\n      };\n      const prev = catByDim.get(args.dimension);\n      const existing = prev?.categories ?? [];\n      if (!existing.some((c) => c.id === optimistic.id)) {\n        setCat(args.dimension, {\n          status: \"ready\",\n          categories: [...existing, optimistic],\n          fetchedAt: prev?.fetchedAt ?? Date.now(),\n          error: null,\n        });\n      }\n      await loadCategories(args.dimension, { force: true });\n      return { ok: true, id: res.data.id };\n    },\n\n    async updateCategory(args) {\n      const res = await categories.update(args);\n      if (isAssociationsRpcErr(res)) {\n        return { ok: false, error: res.error.message };\n      }\n      await loadCategories(args.dimension, { force: true });\n      return { ok: true, id: res.data.id };\n    },\n\n    async reparentCategory(args) {\n      const res = await categories.reparent(args);\n      if (isAssociationsRpcErr(res)) {\n        return { ok: false, error: res.error.message };\n      }\n      await loadCategories(args.dimension, { force: true });\n      return { ok: true, id: res.data.id };\n    },\n\n    async deleteCategory(args) {\n      const res = await categories.delete(args.id);\n      if (isAssociationsRpcErr(res)) {\n        return { ok: false, error: res.error.message };\n      }\n      await loadCategories(args.dimension, { force: true });\n      return { ok: true, id: res.data.id };\n    },\n\n    // ── comments (W6) ────────────────────────────────────────────────────\n    getComments(type, id) {\n      if (!type || !id) return IDLE_COMMENTS;\n      return cmtByKey.get(associationsKey(type, id)) ?? IDLE_COMMENTS;\n    },\n\n    loadComments,\n\n    subscribeComments(key, cb) {\n      let subs = cmtSubs.get(key);\n      if (!subs) {\n        subs = new Set();\n        cmtSubs.set(key, subs);\n      }\n      subs.add(cb);\n      return () => {\n        subs.delete(cb);\n        if (subs.size === 0) cmtSubs.delete(key);\n      };\n    },\n\n    async addComment(args) {\n      const res = await comments.add(args);\n      if (isAssociationsRpcErr(res)) {\n        return { ok: false, error: res.error.message };\n      }\n      await loadComments(args.entityType, args.entityId, { force: true });\n      return { ok: true, id: res.data.id };\n    },\n\n    async editComment(args) {\n      const res = await comments.edit(args.id, args.body);\n      if (isAssociationsRpcErr(res)) {\n        return { ok: false, error: res.error.message };\n      }\n      await loadComments(args.entityType, args.entityId, { force: true });\n      return { ok: true, id: args.id };\n    },\n\n    async deleteComment(args) {\n      const res = await comments.remove(args.id);\n      if (isAssociationsRpcErr(res)) {\n        return { ok: false, error: res.error.message };\n      }\n      await loadComments(args.entityType, args.entityId, { force: true });\n      return { ok: true, id: args.id };\n    },\n\n    invalidateComments(type, id) {\n      const key = associationsKey(type, id);\n      if (cmtByKey.delete(key)) notifyCmt(key);\n    },\n\n    // ── seams ────────────────────────────────────────────────────────────\n    titles,\n    favorites,\n    candidates,\n    entityRows,\n    helpers,\n    registry,\n    services: { associations, categories, comments },\n    registerEntityOverlay: registry.registerEntityOverlay,\n    errorSink,\n    dataSource,\n    identity: config.identity,\n  };\n}\n","// core/edgeClassifier.ts — @ai-matrx/associations/core\n//\n// THE canonical classifier for `platform.associations` edges: is an edge\n// CONTENT (\"this container holds that resource\") or STRUCTURE (membership,\n// context tagging, org attachment)? Ported behavior-verbatim from\n// matrx-frontend `features/scopes/service/associationEdges.ts` (associations\n// extraction W2, 2026-08-29); the host `Json` type becomes `unknown` (the\n// packaging standard's JSON-boundary rule).\n//\n// Every surface that lists \"what's attached to X\" must use this ONE\n// predicate. The old pattern — each consumer keeping its own whitelist of\n// allowed source tokens — silently dropped every newly registered entity\n// type. An EXCLUSION list inverts that: any registered token is content\n// unless it is structural, so a new token participates everywhere with zero\n// code changes.\n//\n// Structural edges are:\n//   • container-membership edges (`thread → war_room`, marked\n//     `metadata.membership: true`) — the thread is IN the room, not held BY it;\n//   • scope / scope_type edges — context tagging, owned by the scopes system;\n//   • organization edges — org attachment, owned by iam/memberships;\n//   • container tokens themselves (`thread`, `war_room`) appearing as a\n//     source — a container is never another container's content.\n\n/** Source tokens that are structure, never container content. */\nexport const NON_CONTENT_SOURCE_TYPES: ReadonlySet<string> = new Set([\n  \"thread\",\n  \"war_room\",\n  \"scope\",\n  \"scope_type\",\n  \"organization\",\n]);\n\n/** True when edge metadata marks a container-membership edge. */\nexport function isMembershipMetadata(metadata: unknown): boolean {\n  return (\n    typeof metadata === \"object\" &&\n    metadata !== null &&\n    !Array.isArray(metadata) &&\n    (metadata as Record<string, unknown>).membership === true\n  );\n}\n\n/**\n * True when an edge into a container represents CONTENT the container holds.\n * `sourceType` is the edge's raw `source_type` token; `metadata` the edge's\n * jsonb (pass it when available so membership edges are excluded even if a\n * structural token is ever missed).\n */\nexport function isContentSourceEdge(\n  sourceType: string,\n  metadata?: unknown,\n): boolean {\n  if (NON_CONTENT_SOURCE_TYPES.has(sourceType)) return false;\n  if (isMembershipMetadata(metadata)) return false;\n  return true;\n}\n","// core/categoryHierarchy.ts — @ai-matrx/associations/core\n//\n// The canonical two-level display order for one category facet — ported\n// VERBATIM from matrx-frontend `features/scopes/utils/categoryHierarchy.ts`\n// (W4 completion, 2026-08-29). Pure data → data, React-free, so it lives in\n// /core beside the category service; the `CategorySelect` /\n// `CategoryTagPicker` faces are its measured consumers.\n\nimport type { PlatformCategory } from \"../edges\";\n\nexport interface CategoryHierarchyItem {\n  category: PlatformCategory;\n  depth: 0 | 1;\n  parent: PlatformCategory | null;\n  displayName: string;\n}\n\nexport interface CategoryHierarchy {\n  items: CategoryHierarchyItem[];\n  roots: PlatformCategory[];\n  hasHierarchy: boolean;\n}\n\n/**\n * Turns the RPC's ordered flat rows into the canonical two-level display order.\n * Flat facets retain their exact input order. Invalid/orphaned rows remain\n * visible at the root; the database guard prevents new ones from being made.\n */\nexport function buildCategoryHierarchy(\n  categories: PlatformCategory[],\n): CategoryHierarchy {\n  const byId = new Map(categories.map((category) => [category.id, category]));\n  const hasHierarchy = categories.some(\n    (category) => category.parentId !== null && byId.has(category.parentId),\n  );\n\n  if (!hasHierarchy) {\n    return {\n      items: categories.map((category) => ({\n        category,\n        depth: 0,\n        parent: null,\n        displayName: category.name,\n      })),\n      roots: categories.filter((category) => category.parentId === null),\n      hasHierarchy: false,\n    };\n  }\n\n  const roots = categories.filter(\n    (category) => category.parentId === null || !byId.has(category.parentId),\n  );\n  const childrenByParent = new Map<string, PlatformCategory[]>();\n  for (const category of categories) {\n    if (!category.parentId || !byId.has(category.parentId)) continue;\n    const children = childrenByParent.get(category.parentId) ?? [];\n    children.push(category);\n    childrenByParent.set(category.parentId, children);\n  }\n\n  const items: CategoryHierarchyItem[] = [];\n  const seen = new Set<string>();\n  for (const root of roots) {\n    items.push({\n      category: root,\n      depth: 0,\n      parent: null,\n      displayName: root.name,\n    });\n    seen.add(root.id);\n\n    for (const child of childrenByParent.get(root.id) ?? []) {\n      items.push({\n        category: child,\n        depth: 1,\n        parent: root,\n        displayName: `${root.name} / ${child.name}`,\n      });\n      seen.add(child.id);\n    }\n  }\n\n  // Loud database guards make this fallback unreachable for valid data, but a\n  // picker must never hide an identity merely because older data is malformed.\n  for (const category of categories) {\n    if (seen.has(category.id)) continue;\n    items.push({\n      category,\n      depth: 0,\n      parent: null,\n      displayName: category.name,\n    });\n  }\n\n  return {\n    items,\n    roots: categories.filter((category) => category.parentId === null),\n    hasHierarchy: true,\n  };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AC8CO,SAAS,qBACd,GACiD;AACjD,SAAO,EAAE,OAAO;AAClB;;;ACeO,SAAS,yBAAyB,QAAgD;AACvF,QAAM,IAAI;AACV,MAAI,CAAC,KAAK,OAAO,MAAM,SAAU,QAAO;AACxC,MAAI,OAAO,EAAE,WAAW,WAAY,QAAO;AAC3C,MAAI,OAAO,EAAE,QAAQ,WAAY,QAAO;AACxC,QAAM,UAAU;AAChB,QAAM,MAAM,CAAC,IAAY,MAAgC,SACvD,QAAQ,IAAI,IAAI,MAAM,IAAI;AAC5B,SAAO;AAAA,IACL,OAAO,MAAc;AACnB,UAAI,SAAS,UAAU;AACrB,cAAM,IAAI,MAAM,mHAAmH,IAAI,uCAAuC;AAAA,MAChL;AACA,aAAO;AAAA,QACL;AAAA,QACA,KAAK,OAAsB;AACzB,gBAAM,IAAI,MAAM,uGAAuG,KAAK,uCAAuC;AAAA,QACrK;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;ACpEA,IAAM,SACJ;AAQK,SAAS,yBAAoC;AAClD,MAAI,YAAY;AAChB,SAAO,CAAC,UAAU;AAChB,QAAI,CAAC,WAAW;AACd,kBAAY;AACZ,cAAQ;AAAA,QACN,8EACE;AAAA,MACJ;AAAA,IACF;AACA,YAAQ;AAAA,MACN,kBAAkB,MAAM,IAAI,KAAK,MAAM,OAAO;AAAA,MAC9C,MAAM,WAAW,CAAC;AAAA,IACpB;AAAA,EACF;AACF;;;AChBA,kBAA4B;;;AC2nGrB,IAAM,qBAAiD;AAAA,EAC5D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAA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","names":["out","err","ok","err","data","error","ok","err","ok","err","ok","err"]}