@opengeni/db 3.6.0 → 3.7.4-canary.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/dist/automations.d.ts +4 -0
  2. package/dist/canonical-human-identities.js +3 -3
  3. package/dist/{chunk-UGDVSQ6U.js → chunk-3ZMN4EXC.js} +2 -2
  4. package/dist/{chunk-744DFC65.js → chunk-6FIVOJ3V.js} +96 -6
  5. package/dist/chunk-6FIVOJ3V.js.map +1 -0
  6. package/dist/{chunk-UJ2EW3QI.js → chunk-DXJ2WY6W.js} +427 -85
  7. package/dist/chunk-DXJ2WY6W.js.map +1 -0
  8. package/dist/{chunk-CDMMSUWJ.js → chunk-JP6IYGYI.js} +3 -3
  9. package/dist/{chunk-Q5YUGQVK.js → chunk-JS3AWDKZ.js} +3 -3
  10. package/dist/{chunk-G3732M3T.js → chunk-LHKB62GC.js} +2 -2
  11. package/dist/{chunk-2NT476HD.js → chunk-QL4AHBYD.js} +2 -2
  12. package/dist/{chunk-IW6O6G7R.js → chunk-VDXHLVDE.js} +2 -2
  13. package/dist/{chunk-WW7AJ5IC.js → chunk-ZTSJPFDH.js} +5 -7
  14. package/dist/chunk-ZTSJPFDH.js.map +1 -0
  15. package/dist/codex-token-resolver.d.ts +12 -1
  16. package/dist/company-profile-agent-admin.d.ts +4 -2
  17. package/dist/company-profile-agent-policy.d.ts +20 -0
  18. package/dist/company-profile-schema.d.ts +573 -0
  19. package/dist/editable-artifact-durable-export.js +2 -2
  20. package/dist/editable-artifacts.js +3 -3
  21. package/dist/index.d.ts +487 -20
  22. package/dist/index.js +9489 -6041
  23. package/dist/index.js.map +1 -1
  24. package/dist/managed-auth-session-sets.js +3 -3
  25. package/dist/managed-human-provisioning.d.ts +3 -3
  26. package/dist/memory-domain.d.ts +5 -3
  27. package/dist/model-catalog.d.ts +153 -0
  28. package/dist/pr-review.d.ts +9 -0
  29. package/dist/provision-roles.js +1 -1
  30. package/dist/runtime-posture.d.ts +7 -7
  31. package/dist/schema.d.ts +1069 -6
  32. package/dist/schema.js +17 -1
  33. package/dist/session-background-commands.js +3 -3
  34. package/dist/session-control.d.ts +75 -5
  35. package/dist/session-queue-commands.d.ts +19 -0
  36. package/dist/session-tenancy.js +3 -3
  37. package/dist/user-resource-authority.d.ts +8 -0
  38. package/dist/video-generation.js +3 -3
  39. package/dist/xai-subscription.d.ts +8 -0
  40. package/drizzle/0369_local_human_personal_authority.sql +350 -0
  41. package/drizzle/0370_workspace_member_management_scope.sql +98 -0
  42. package/drizzle/0371_workspace_member_candidate_inventory.sql +128 -0
  43. package/drizzle/0372_ordered_variable_set_runtime_authority.sql +287 -0
  44. package/drizzle/0373_sandbox_shared_preparation.sql +59 -0
  45. package/drizzle/0374_session_event_cursors.sql +315 -0
  46. package/drizzle/0375_session_recovery_observability.sql +73 -0
  47. package/drizzle/0376_organization_workspace_inventory.sql +88 -0
  48. package/drizzle/0377_scoped_rig_health_projection.sql +80 -0
  49. package/drizzle/0378_scoped_rig_health_audit_timestamp.sql +77 -0
  50. package/drizzle/0379_session_event_raw_lane_activation.sql +518 -0
  51. package/drizzle/0380_autonomous_company_profile_agent_policy.sql +829 -0
  52. package/drizzle/0381_organization_codex_subscription_inheritance.sql +720 -0
  53. package/drizzle/0382_organization_api_key_provenance.sql +91 -0
  54. package/drizzle/0383_codex_cooldown_reconciliation.sql +51 -0
  55. package/drizzle/0384_codex_cooldown_revision_guard_privileges.sql +6 -0
  56. package/drizzle/0385_connected_machine_legacy_tilde_workdirs.sql +25 -0
  57. package/drizzle/0386_local_organization_administration.sql +157 -0
  58. package/drizzle/0387_bound_host_export_session_payloads.sql +165 -0
  59. package/drizzle/0388_sandbox_provider_deadline_interactions.sql +491 -0
  60. package/drizzle/0389_model_catalog_and_gateway_custom_models.sql +241 -0
  61. package/package.json +6 -6
  62. package/src/automations.ts +9 -1
  63. package/src/codex-token-resolver.ts +26 -1
  64. package/src/company-brain-governed-writes.ts +30 -1
  65. package/src/company-profile-agent-admin.ts +68 -1
  66. package/src/company-profile-agent-policy.ts +126 -0
  67. package/src/company-profile-schema.ts +115 -1
  68. package/src/database.ts +3 -5
  69. package/src/index.ts +4473 -570
  70. package/src/insights.ts +21 -7
  71. package/src/managed-human-provisioning.ts +3 -3
  72. package/src/memory-domain.ts +9 -4
  73. package/src/model-catalog.ts +682 -0
  74. package/src/organization-membership-lifecycle.ts +0 -1
  75. package/src/pr-review.ts +19 -0
  76. package/src/provision-roles.ts +83 -4
  77. package/src/runtime-posture.ts +26 -0
  78. package/src/schema.ts +259 -10
  79. package/src/session-control.ts +347 -59
  80. package/src/session-queue-commands.ts +303 -122
  81. package/src/session-tool-call-settlement.ts +34 -7
  82. package/src/user-resource-authority.ts +56 -0
  83. package/src/xai-subscription.ts +66 -14
  84. package/dist/chunk-744DFC65.js.map +0 -1
  85. package/dist/chunk-UJ2EW3QI.js.map +0 -1
  86. package/dist/chunk-WW7AJ5IC.js.map +0 -1
  87. /package/dist/{chunk-UGDVSQ6U.js.map → chunk-3ZMN4EXC.js.map} +0 -0
  88. /package/dist/{chunk-CDMMSUWJ.js.map → chunk-JP6IYGYI.js.map} +0 -0
  89. /package/dist/{chunk-Q5YUGQVK.js.map → chunk-JS3AWDKZ.js.map} +0 -0
  90. /package/dist/{chunk-G3732M3T.js.map → chunk-LHKB62GC.js.map} +0 -0
  91. /package/dist/{chunk-2NT476HD.js.map → chunk-QL4AHBYD.js.map} +0 -0
  92. /package/dist/{chunk-IW6O6G7R.js.map → chunk-VDXHLVDE.js.map} +0 -0
package/dist/schema.js CHANGED
@@ -46,6 +46,7 @@ import {
46
46
  companyBrainContextSelectionReceipts,
47
47
  companyBrainTurnContextSnapshots,
48
48
  companyProfileActivationEvents,
49
+ companyProfileAgentAutomaticActivationReceipts,
49
50
  companyProfileAgentConfirmationReceipts,
50
51
  companyProfileAgentProposalReceipts,
51
52
  companyProfileHeads,
@@ -61,6 +62,7 @@ import {
61
62
  connectorActionPolicies,
62
63
  connectorActionRequests,
63
64
  creditLedgerEntries,
65
+ deploymentModelCatalog,
64
66
  deviceEnrollmentRequests,
65
67
  deviceEnrollmentStatusValues,
66
68
  documentBases,
@@ -160,6 +162,9 @@ import {
160
162
  nestedAgentDepthConfiguration,
161
163
  networkRoutes,
162
164
  newSessionDrafts,
165
+ organizationCodexRotationSettings,
166
+ organizationCompanyProfileAgentPolicies,
167
+ organizationCompanyProfileAgentPolicyEvents,
163
168
  organizationInvitationBindingEvents,
164
169
  organizationMembershipInvitations,
165
170
  organizationMembershipLifecycleEvents,
@@ -224,6 +229,7 @@ import {
224
229
  sessionAttemptToolCatalogs,
225
230
  sessionBackgroundCommands,
226
231
  sessionCommandReceipts,
232
+ sessionEventCursors,
227
233
  sessionEvents,
228
234
  sessionGoalRevisions,
229
235
  sessionGoals,
@@ -303,7 +309,9 @@ import {
303
309
  workspaceArtifactVersions,
304
310
  workspaceArtifacts,
305
311
  workspaceCaptures,
312
+ workspaceCodexSubscriptionPreferences,
306
313
  workspaceControlEvents,
314
+ workspaceGatewayCustomModels,
307
315
  workspaceInferenceControls,
308
316
  workspaceInstructionPolicyActivationEvents,
309
317
  workspaceInstructionPolicyDeactivationEvents,
@@ -331,7 +339,7 @@ import {
331
339
  xaiRotationSettings,
332
340
  xaiSessionAccountPins,
333
341
  xaiSubscriptionCredentials
334
- } from "./chunk-UJ2EW3QI.js";
342
+ } from "./chunk-DXJ2WY6W.js";
335
343
  import "./chunk-PZ5AY32C.js";
336
344
  export {
337
345
  agentRunStates,
@@ -381,6 +389,7 @@ export {
381
389
  companyBrainContextSelectionReceipts,
382
390
  companyBrainTurnContextSnapshots,
383
391
  companyProfileActivationEvents,
392
+ companyProfileAgentAutomaticActivationReceipts,
384
393
  companyProfileAgentConfirmationReceipts,
385
394
  companyProfileAgentProposalReceipts,
386
395
  companyProfileHeads,
@@ -396,6 +405,7 @@ export {
396
405
  connectorActionPolicies,
397
406
  connectorActionRequests,
398
407
  creditLedgerEntries,
408
+ deploymentModelCatalog,
399
409
  deviceEnrollmentRequests,
400
410
  deviceEnrollmentStatusValues,
401
411
  documentBases,
@@ -495,6 +505,9 @@ export {
495
505
  nestedAgentDepthConfiguration,
496
506
  networkRoutes,
497
507
  newSessionDrafts,
508
+ organizationCodexRotationSettings,
509
+ organizationCompanyProfileAgentPolicies,
510
+ organizationCompanyProfileAgentPolicyEvents,
498
511
  organizationInvitationBindingEvents,
499
512
  organizationMembershipInvitations,
500
513
  organizationMembershipLifecycleEvents,
@@ -559,6 +572,7 @@ export {
559
572
  sessionAttemptToolCatalogs,
560
573
  sessionBackgroundCommands,
561
574
  sessionCommandReceipts,
575
+ sessionEventCursors,
562
576
  sessionEvents,
563
577
  sessionGoalRevisions,
564
578
  sessionGoals,
@@ -638,7 +652,9 @@ export {
638
652
  workspaceArtifactVersions,
639
653
  workspaceArtifacts,
640
654
  workspaceCaptures,
655
+ workspaceCodexSubscriptionPreferences,
641
656
  workspaceControlEvents,
657
+ workspaceGatewayCustomModels,
642
658
  workspaceInferenceControls,
643
659
  workspaceInstructionPolicyActivationEvents,
644
660
  workspaceInstructionPolicyDeactivationEvents,
@@ -12,9 +12,9 @@ import {
12
12
  settleClaimedConnectedMachineBackgroundCommand,
13
13
  settleConnectedMachineSessionBackgroundCommand,
14
14
  settleSessionBackgroundCommandForRetainedProcess
15
- } from "./chunk-CDMMSUWJ.js";
16
- import "./chunk-WW7AJ5IC.js";
17
- import "./chunk-UJ2EW3QI.js";
15
+ } from "./chunk-JP6IYGYI.js";
16
+ import "./chunk-ZTSJPFDH.js";
17
+ import "./chunk-DXJ2WY6W.js";
18
18
  import "./chunk-PZ5AY32C.js";
19
19
  export {
20
20
  backgroundCommandActivityForSessions,
@@ -60,6 +60,17 @@ export type EffectiveSessionControl = {
60
60
  commandCount: number;
61
61
  } | null;
62
62
  };
63
+ /**
64
+ * The bounded control projection required by a locked activity-write fence.
65
+ * Settlement and background-command summaries are read-model concerns and must
66
+ * not extend the session-event critical section when admission only needs the
67
+ * effective run state and blocker scope.
68
+ */
69
+ export type SessionWriteAdmissionControl = {
70
+ state: EffectiveControlState;
71
+ controlVersion: number;
72
+ primaryBlockerKind: EffectiveControlBlocker["kind"] | null;
73
+ };
63
74
  export declare const SESSION_DISCOVERY_CONTROL_TITLE_MAX_CHARS = 200;
64
75
  export declare const SESSION_DISCOVERY_CONTROL_TARGET_LIMIT = 100;
65
76
  /**
@@ -272,6 +283,13 @@ export type SessionEventWriteLockInput = {
272
283
  controlLock: WorkspaceControlLockMode | "already_locked" | "none";
273
284
  /** Used only when a staged caller already established the workspace prefix. */
274
285
  workspaceLock?: "key_share" | "already_locked";
286
+ /**
287
+ * Semantic writers retain FOR NO KEY UPDATE. Cursor-authoritative raw-only
288
+ * appends need only the FK-compatible identity hold; KEY SHARE is compatible
289
+ * with semantic NO KEY UPDATE and therefore removes the wide session row as
290
+ * their serialization mutex without inverting the rolling lock order.
291
+ */
292
+ sessionLock?: "no_key_update" | "key_share";
275
293
  sessionIds?: string[];
276
294
  turnIds?: string[];
277
295
  attemptIds?: string[];
@@ -280,6 +298,7 @@ export type SessionEventWriteLocks = {
280
298
  control: WorkspaceControlRow | null;
281
299
  workspace: typeof schema.workspaces.$inferSelect | null;
282
300
  sessions: Array<typeof schema.sessions.$inferSelect>;
301
+ cursors: Array<typeof schema.sessionEventCursors.$inferSelect>;
283
302
  turns: Array<typeof schema.sessionTurns.$inferSelect>;
284
303
  attempts: Array<typeof schema.sessionTurnAttempts.$inferSelect>;
285
304
  };
@@ -289,7 +308,8 @@ export type SessionEventWriteLocks = {
289
308
  * workspace-control advisory lock + workspace_inference_controls row
290
309
  * (when control-aware; see `lockWorkspaceInferenceControl`)
291
310
  * -> actual workspaces row FOR KEY SHARE
292
- * -> session rows FOR NO KEY UPDATE, UUID ordered
311
+ * -> session rows FOR NO KEY UPDATE (semantic) or KEY SHARE (raw), UUID ordered
312
+ * -> session event cursor rows FOR UPDATE, UUID ordered
293
313
  * -> exact turn rows FOR UPDATE, UUID ordered
294
314
  * -> exact attempt rows FOR UPDATE, UUID ordered
295
315
  *
@@ -304,10 +324,12 @@ export type SessionEventWriteLocks = {
304
324
  * `FOR UPDATE` lock serialized unrelated sessions and inverted the activity
305
325
  * path's session -> implicit workspace-FK edge.
306
326
  *
307
- * `FOR NO KEY UPDATE` is equally deliberate for sessions. Session primary and
308
- * composite identity keys are immutable, so writers need to exclude only concurrent
309
- * non-key mutation. Keeping FK `FOR KEY SHARE` checks compatible prevents the
310
- * activity finalizer's workspace counter from participating in a lock cycle.
327
+ * `FOR NO KEY UPDATE` is equally deliberate for semantic session writers.
328
+ * Cursor-authoritative raw-only writers use `FOR KEY SHARE`: it preserves the
329
+ * session identity against deletion while remaining compatible with semantic
330
+ * `FOR NO KEY UPDATE`. Keeping this rolling session-before-cursor order avoids
331
+ * an inversion with old binaries and quiescent cascade deletion; the compact
332
+ * cursor row, not the wide session row, is the raw ordering mutex.
311
333
  *
312
334
  * Complex lifecycle transactions may acquire allocator/control locks before
313
335
  * this helper and may discover exact turn IDs only after locking the session.
@@ -379,6 +401,19 @@ export declare function evaluateSessionControls(db: Database, workspaceId: strin
379
401
  /** Reuse a control row already locked before workspace/session/turn rows. */
380
402
  workspaceControl?: WorkspaceControlRow | undefined;
381
403
  }): Promise<Map<string, EffectiveSessionControl>>;
404
+ /**
405
+ * Evaluate only the control facts needed to admit an already locked session
406
+ * write. The workspace-control row must be reused when the caller established
407
+ * the canonical prefix before session/turn/attempt locks.
408
+ *
409
+ * Deliberately omit settlementAttemptCounts and
410
+ * stoppingBackgroundCommandCounts: those recursive summaries do not affect
411
+ * effective pause state and their results are discarded by the write fence.
412
+ */
413
+ export declare function evaluateSessionWriteAdmissionControl(db: Database, workspaceId: string, sessionId: string, options?: {
414
+ lock?: WorkspaceControlLockMode;
415
+ workspaceControl?: WorkspaceControlRow | undefined;
416
+ }): Promise<SessionWriteAdmissionControl>;
382
417
  /**
383
418
  * Return one compact aggregate row per target for `sessions_list`.
384
419
  *
@@ -394,6 +429,40 @@ export declare function evaluateSessionControl(db: Database, workspaceId: string
394
429
  lock?: WorkspaceControlLockMode;
395
430
  workspaceControl?: WorkspaceControlRow | undefined;
396
431
  }): Promise<EffectiveSessionControl>;
432
+ export type SessionPromptCommandAction = "prompt.send" | "prompt.steer";
433
+ /**
434
+ * Prompt operation keys are actor-scoped across target sessions and across the
435
+ * Send/Steer action pair. The advisory lock closes the gap left by the legacy
436
+ * action/target-specific unique index without changing old receipt identities.
437
+ */
438
+ export declare function reserveSessionPromptCommandReceipt(db: Database, input: {
439
+ accountId: string;
440
+ workspaceId: string;
441
+ actor: SessionCommandActor;
442
+ action: SessionPromptCommandAction;
443
+ targetSessionId: string;
444
+ operationKey: string;
445
+ canonicalRequestHash: string;
446
+ boundaryRequestHash: string;
447
+ }): Promise<{
448
+ receipt: SessionCommandReceiptRow;
449
+ replay: boolean;
450
+ }>;
451
+ /** Serialize one actor-scoped prompt operation before replay or reservation. */
452
+ export declare function lockSessionPromptCommandOperation(db: Database, input: {
453
+ workspaceId: string;
454
+ actor: SessionCommandActor;
455
+ operationKey: string;
456
+ }): Promise<void>;
457
+ /** Return only a fully committed exact prompt receipt with the new boundary fingerprint. */
458
+ export declare function getCompletedSessionPromptCommandReceipt(db: Database, input: {
459
+ workspaceId: string;
460
+ actor: SessionCommandActor;
461
+ action: SessionPromptCommandAction;
462
+ targetSessionId: string;
463
+ operationKey: string;
464
+ boundaryRequestHash: string;
465
+ }): Promise<SessionCommandReceiptRow | null>;
397
466
  export declare function reserveSessionCommandReceipt(db: Database, input: {
398
467
  accountId: string;
399
468
  workspaceId: string;
@@ -404,6 +473,7 @@ export declare function reserveSessionCommandReceipt(db: Database, input: {
404
473
  operationKey: string;
405
474
  canonicalRequestHash: string;
406
475
  identityScope?: "actor" | "goal_operation";
476
+ initialResult?: Record<string, unknown>;
407
477
  }): Promise<{
408
478
  receipt: SessionCommandReceiptRow;
409
479
  replay: boolean;
@@ -53,6 +53,18 @@ export type SubmitHumanPromptResult = {
53
53
  workspaceControlEventId: string | null;
54
54
  replay: boolean;
55
55
  };
56
+ export declare function replaySubmittedHumanPromptFromBoundaryReceipt(db: Database, input: {
57
+ workspaceId: string;
58
+ sessionId: string;
59
+ subjectId: string;
60
+ actor: SessionCommandActor;
61
+ operationKey: string;
62
+ delivery: "send" | "steer";
63
+ boundaryRequestHash: string;
64
+ expectedDraftRevision?: number | null;
65
+ /** Wait for an overlapping same-key transaction before checking committed replay truth. */
66
+ serializeOperation?: boolean;
67
+ }): Promise<SubmitHumanPromptResult | null>;
56
68
  export type AgentInternalUpdateCommandResult = {
57
69
  receipt: SessionCommandReceiptRow;
58
70
  updateId: string;
@@ -67,8 +79,10 @@ export type AgentInternalUpdateCommandResult = {
67
79
  };
68
80
  type SteerSupersessionResult = {
69
81
  interruptionCount: number;
82
+ steerTargetTurn: typeof schema.sessionTurns.$inferSelect | null;
70
83
  replacedTurn: typeof schema.sessionTurns.$inferSelect | null;
71
84
  liveCurrentTurnId: string | null;
85
+ deferredUntilCompaction: boolean;
72
86
  lastSequence: number;
73
87
  };
74
88
  /**
@@ -177,6 +191,8 @@ export declare function submitHumanPromptInTransaction(db: SessionActivityDataba
177
191
  subjectLabel?: string;
178
192
  actor: SessionCommandActor;
179
193
  operationKey: string;
194
+ /** Stable parsed boundary-request identity used before mutable enrichment. */
195
+ boundaryRequestHash?: string;
180
196
  delivery: "send" | "steer";
181
197
  controlEtag?: string | null;
182
198
  expectedDraftRevision?: number | null;
@@ -211,6 +227,9 @@ export declare function submitHumanPromptInTransaction(db: SessionActivityDataba
211
227
  id: string;
212
228
  headersEncrypted: Record<string, string>;
213
229
  }>;
230
+ /** Trusted database-only admission seam. It runs only after a completed
231
+ * operation replay has been ruled out; throwing rolls the prompt back. */
232
+ beforeFreshPromptCommit?: (tx: Database) => Promise<void>;
214
233
  /** Request-scoped callers bound the control prefix wait; lifecycle callers omit it. */
215
234
  controlLockTimeoutMs?: number;
216
235
  }): Promise<SubmitHumanPromptResult>;
@@ -14,9 +14,9 @@ import {
14
14
  replayAppliedSessionFork,
15
15
  sessionTenancyProductActivated,
16
16
  transitionSessionVisibility
17
- } from "./chunk-IW6O6G7R.js";
18
- import "./chunk-WW7AJ5IC.js";
19
- import "./chunk-UJ2EW3QI.js";
17
+ } from "./chunk-VDXHLVDE.js";
18
+ import "./chunk-ZTSJPFDH.js";
19
+ import "./chunk-DXJ2WY6W.js";
20
20
  import "./chunk-PZ5AY32C.js";
21
21
  export {
22
22
  SessionTenancyAccessError,
@@ -71,6 +71,14 @@ export declare function issueSelfUserResourceGrant(db: Database, input: {
71
71
  expectedAuthorityEpoch?: number | null;
72
72
  workspaceSharedAcknowledged: boolean;
73
73
  }): Promise<UserResourceAuthorityGrant>;
74
+ export declare function issueSelfLocalConnectionUseGrant(db: Database, input: {
75
+ accountId: string;
76
+ workspaceId: string;
77
+ subjectId: string;
78
+ authorityId: string;
79
+ context: "user_private" | "workspace_shared";
80
+ workspaceSharedAcknowledged: boolean;
81
+ }): Promise<UserResourceAuthorityGrant>;
74
82
  export declare function revokeSelfUserResourceGrant(db: Database, input: {
75
83
  accountId: string;
76
84
  workspaceId: string;
@@ -29,9 +29,9 @@ import {
29
29
  settleVideoGenerationFailure,
30
30
  settleVideoGenerationReady,
31
31
  updateWorkspaceVideoGenerationPolicy
32
- } from "./chunk-Q5YUGQVK.js";
33
- import "./chunk-WW7AJ5IC.js";
34
- import "./chunk-UJ2EW3QI.js";
32
+ } from "./chunk-JS3AWDKZ.js";
33
+ import "./chunk-ZTSJPFDH.js";
34
+ import "./chunk-DXJ2WY6W.js";
35
35
  import "./chunk-PZ5AY32C.js";
36
36
  export {
37
37
  ACTIVE_VIDEO_GENERATION_STATUSES,
@@ -97,6 +97,14 @@ export declare function listXaiSubscriptionAccountsMetadata(db: Database, input:
97
97
  export declare function workspaceXaiSubscriptionActive(db: Database, settings: {
98
98
  readonly supergrokSubscriptionEnabled: boolean;
99
99
  }, workspaceId: string, subjectId: string): Promise<boolean>;
100
+ /** Metadata-only readiness for the exact provider-account authority frozen on a turn. */
101
+ export declare function workspaceXaiSubscriptionActiveForAuthority(db: Database, settings: {
102
+ readonly supergrokSubscriptionEnabled: boolean;
103
+ }, input: {
104
+ workspaceId: string;
105
+ subjectId: string;
106
+ authoritySnapshot: XaiAuthoritySnapshot;
107
+ }): Promise<boolean>;
100
108
  export declare function getXaiSubscriptionAccountMetadata(db: Database, input: {
101
109
  workspaceId: string;
102
110
  subjectId: string;