@opengeni/db 0.28.9 → 0.36.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 (225) hide show
  1. package/dist/attached-browser-devices.d.ts +42 -0
  2. package/dist/attempt-tool-catalogs.d.ts +16 -0
  3. package/dist/browser-auth.d.ts +299 -0
  4. package/dist/browser-downloads.d.ts +51 -0
  5. package/dist/browser-identities.d.ts +137 -0
  6. package/dist/browser-sessions.d.ts +354 -0
  7. package/dist/browser-state-artifacts.d.ts +91 -0
  8. package/dist/canonical-human-identities.d.ts +48 -0
  9. package/dist/canonical-human-identities.js +28 -0
  10. package/dist/canonical-human-identities.js.map +1 -0
  11. package/dist/capability-components.d.ts +37 -0
  12. package/dist/capability-integrations.d.ts +194 -0
  13. package/dist/chunk-5KTIEDX7.js +13200 -0
  14. package/dist/chunk-5KTIEDX7.js.map +1 -0
  15. package/dist/chunk-CQZ4QSP5.js +995 -0
  16. package/dist/chunk-CQZ4QSP5.js.map +1 -0
  17. package/dist/chunk-F32YT7MP.js +117 -0
  18. package/dist/chunk-F32YT7MP.js.map +1 -0
  19. package/dist/chunk-JC5QPLUM.js +666 -0
  20. package/dist/chunk-JC5QPLUM.js.map +1 -0
  21. package/dist/chunk-P3RE4D2B.js +3535 -0
  22. package/dist/chunk-P3RE4D2B.js.map +1 -0
  23. package/dist/chunk-TAUTWOS5.js +259 -0
  24. package/dist/chunk-TAUTWOS5.js.map +1 -0
  25. package/dist/chunk-VKLB2ZGI.js +2389 -0
  26. package/dist/chunk-VKLB2ZGI.js.map +1 -0
  27. package/dist/codemode-operations.d.ts +117 -0
  28. package/dist/codex-token-resolver.d.ts +2 -2
  29. package/dist/company-profile-schema.d.ts +798 -0
  30. package/dist/company-profile.d.ts +268 -0
  31. package/dist/computer-sessions.d.ts +109 -0
  32. package/dist/connection-token-resolver.d.ts +9 -4
  33. package/dist/database.d.ts +57 -3
  34. package/dist/editable-artifact-durable-export.d.ts +153 -0
  35. package/dist/editable-artifact-durable-export.js +788 -0
  36. package/dist/editable-artifact-durable-export.js.map +1 -0
  37. package/dist/editable-artifact-materialization.d.ts +123 -0
  38. package/dist/editable-artifacts-schema.d.ts +4152 -0
  39. package/dist/editable-artifacts.d.ts +610 -0
  40. package/dist/editable-artifacts.js +26 -0
  41. package/dist/editable-artifacts.js.map +1 -0
  42. package/dist/generated-images.d.ts +139 -0
  43. package/dist/index.d.ts +1122 -126
  44. package/dist/index.js +42329 -18407
  45. package/dist/index.js.map +1 -1
  46. package/dist/insights.d.ts +73 -10
  47. package/dist/integration-bindings.d.ts +70 -0
  48. package/dist/integration-facets.d.ts +99 -0
  49. package/dist/interaction-revisions.d.ts +14 -0
  50. package/dist/interaction-schema.d.ts +6036 -0
  51. package/dist/knowledge-source-sync-schema.d.ts +1679 -0
  52. package/dist/knowledge-source-sync.d.ts +274 -0
  53. package/dist/memory-governance.d.ts +2 -2
  54. package/dist/memory-slack-delivery.d.ts +101 -0
  55. package/dist/new-session-drafts.d.ts +2 -2
  56. package/dist/pack-components.d.ts +76 -0
  57. package/dist/pack-installations.d.ts +86 -0
  58. package/dist/persistence-errors.d.ts +3 -3
  59. package/dist/plugin-packages.d.ts +126 -0
  60. package/dist/preference-registry.d.ts +1 -1
  61. package/dist/provision-roles.d.ts +9 -1
  62. package/dist/provision-roles.js +1 -1
  63. package/dist/runtime-posture.d.ts +19 -6
  64. package/dist/schema.d.ts +22654 -9359
  65. package/dist/schema.js +209 -3
  66. package/dist/scoped-knowledge.d.ts +97 -1
  67. package/dist/session-control.d.ts +33 -7
  68. package/dist/session-queue-commands.d.ts +19 -11
  69. package/dist/session-realtime-context.d.ts +2 -2
  70. package/dist/session-realtime-ledger.d.ts +4 -4
  71. package/dist/session-realtime-mirror.d.ts +2 -2
  72. package/dist/session-realtime-state.d.ts +1 -1
  73. package/dist/session-realtime-terminal.d.ts +1 -1
  74. package/dist/session-realtime.d.ts +7 -7
  75. package/dist/session-tenancy.d.ts +44 -0
  76. package/dist/session-tenancy.js +16 -0
  77. package/dist/session-tenancy.js.map +1 -0
  78. package/dist/session-tool-call-settlement.d.ts +1 -1
  79. package/dist/slack-task-policy-schema.d.ts +847 -0
  80. package/dist/slack-task-policy.d.ts +65 -0
  81. package/dist/slack-user-link-access.d.ts +54 -0
  82. package/dist/task-notes-schema.d.ts +924 -0
  83. package/dist/task-notes.d.ts +85 -0
  84. package/dist/transcription-recordings.d.ts +2 -2
  85. package/dist/turn-initiator.d.ts +2 -2
  86. package/dist/video-generation.d.ts +225 -0
  87. package/dist/video-generation.js +68 -0
  88. package/dist/video-generation.js.map +1 -0
  89. package/dist/workspace-artifacts.d.ts +1 -1
  90. package/dist/workspace-instruction-policies.d.ts +1 -1
  91. package/dist/workspace-learning-policy-schema.d.ts +932 -0
  92. package/dist/workspace-learning-policy.d.ts +161 -0
  93. package/dist/xai-subscription.d.ts +326 -0
  94. package/drizzle/0183_model_call_provider_cost_estimates.sql +39 -0
  95. package/drizzle/0184_sandbox_drain_teardown_fence.sql +682 -0
  96. package/drizzle/0185_temporal_schedule_cleanup_outbox.sql +168 -0
  97. package/drizzle/0186_sandbox_capture_provider_contract.sql +400 -0
  98. package/drizzle/0187_generated_image_artifacts.sql +173 -0
  99. package/drizzle/0188_image_generation_retention_failure.sql +25 -0
  100. package/drizzle/0189_retained_session_image_formats.sql +13 -0
  101. package/drizzle/0190_timeline_annotations.sql +31 -0
  102. package/drizzle/0191_editable_artifact_engine.sql +3853 -0
  103. package/drizzle/0192_editable_artifact_live_tickets.sql +338 -0
  104. package/drizzle/0193_editable_artifact_authorization.sql +190 -0
  105. package/drizzle/0194_editable_artifact_durable_exports.sql +160 -0
  106. package/drizzle/0195_editable_artifact_import_authorization.sql +203 -0
  107. package/drizzle/0196_rig_provider_images.sql +152 -0
  108. package/drizzle/0197_knowledge_source_sync_schedules.sql +523 -0
  109. package/drizzle/0198_memory_slack_publication_delivery.sql +393 -0
  110. package/drizzle/0199_workspace_learning_policy.sql +980 -0
  111. package/drizzle/0201_company_profile_authority.sql +849 -0
  112. package/drizzle/0202_document_index_checkpoints.sql +85 -0
  113. package/drizzle/0203_durable_video_generation.sql +353 -0
  114. package/drizzle/0204_video_generation_funding.sql +44 -0
  115. package/drizzle/0205_attempt_tool_catalogs.sql +230 -0
  116. package/drizzle/0206_browser_sessions.sql +646 -0
  117. package/drizzle/0207_browser_identities.sql +379 -0
  118. package/drizzle/0208_attached_browser_devices.sql +165 -0
  119. package/drizzle/0209_computer_sessions.sql +575 -0
  120. package/drizzle/0210_browser_auth_network_interventions.sql +441 -0
  121. package/drizzle/0211_editable_artifact_session_links.sql +58 -0
  122. package/drizzle/0212_browser_state_transfer_hardening.sql +560 -0
  123. package/drizzle/0212_slack_installation_bindings.sql +348 -0
  124. package/drizzle/0213_browser_interaction_authority.sql +67 -0
  125. package/drizzle/0213_slack_user_link_access_requests.sql +177 -0
  126. package/drizzle/0214_browser_download_saves.sql +34 -0
  127. package/drizzle/0214_session_activity_commit_gate.sql +262 -0
  128. package/drizzle/0215_browser_controller_host.sql +385 -0
  129. package/drizzle/0215_capabilities_platform.sql +980 -0
  130. package/drizzle/0216_browser_auth_health_evidence.sql +137 -0
  131. package/drizzle/0216_pack_component_ownership.sql +235 -0
  132. package/drizzle/0217_capability_definition_delete_authority.sql +32 -0
  133. package/drizzle/0217_external_browser_auth_operations.sql +22 -0
  134. package/drizzle/0218_organization_tenancy_foundation.sql +299 -0
  135. package/drizzle/0219_organization_tenancy_managed_human_provisioning.sql +317 -0
  136. package/drizzle/0219_site_auth_maintenance_sessions.sql +234 -0
  137. package/drizzle/0220_memory_slack_append_only_cascade.sql +38 -0
  138. package/drizzle/0220_session_channels.sql +54 -0
  139. package/drizzle/0221_sessions_channel_index.sql +5 -0
  140. package/drizzle/0222_session_visibility_authority_epochs.sql +158 -0
  141. package/drizzle/0222_sessions_channel_fk.sql +89 -0
  142. package/drizzle/0223_pending_tool_event_output.sql +55 -0
  143. package/drizzle/0223_sessions_channel_fk_validate.sql +118 -0
  144. package/drizzle/0224_slack_post_outcome_reconciliation.sql +123 -0
  145. package/drizzle/0225_session_visibility_fork_activation.sql +1363 -0
  146. package/drizzle/0226_personal_codex_authority_foundation.sql +365 -0
  147. package/drizzle/0227_slack_native_actions.sql +145 -0
  148. package/drizzle/0228_interaction_controller_data_plane.sql +14 -0
  149. package/drizzle/0228_slack_task_policy.sql +400 -0
  150. package/drizzle/0229_slack_inbox_file_fact.sql +10 -0
  151. package/drizzle/0230_user_scoped_variable_sets_rigs.sql +84 -0
  152. package/drizzle/0231_integration_definition_identity_cutover.sql +271 -0
  153. package/drizzle/0232_integration_facet_authority_cutover.sql +610 -0
  154. package/drizzle/0233_skill_and_integration_authority_cutover.sql +1162 -0
  155. package/drizzle/0234_xai_subscription_authority.sql +1139 -0
  156. package/drizzle/0235_canonical_human_login_bindings.sql +920 -0
  157. package/drizzle/0236_browser_identity_lifecycle.sql +39 -0
  158. package/drizzle/0236_session_visibility_slack_policy.sql +72 -0
  159. package/drizzle/0237_interaction_transition_reaper.sql +263 -0
  160. package/drizzle/0238_goal_persistence_policy.sql +471 -0
  161. package/drizzle/0238_supergrok_realtime_model.sql +29 -0
  162. package/drizzle/0239_supergrok_video_funding.sql +50 -0
  163. package/drizzle/0239_task_tree_notes.sql +990 -0
  164. package/package.json +26 -5
  165. package/src/attached-browser-devices.ts +371 -0
  166. package/src/attempt-tool-catalogs.ts +131 -0
  167. package/src/browser-auth.ts +4373 -0
  168. package/src/browser-downloads.ts +517 -0
  169. package/src/browser-identities.ts +1385 -0
  170. package/src/browser-sessions.ts +2294 -0
  171. package/src/browser-state-artifacts.ts +449 -0
  172. package/src/canonical-human-identities.ts +317 -0
  173. package/src/capability-components.ts +166 -0
  174. package/src/capability-integrations.ts +1571 -0
  175. package/src/codemode-operations.ts +674 -0
  176. package/src/company-profile-schema.ts +143 -0
  177. package/src/company-profile.ts +968 -0
  178. package/src/computer-sessions.ts +1130 -0
  179. package/src/connection-token-resolver.ts +270 -25
  180. package/src/database.ts +468 -24
  181. package/src/editable-artifact-durable-export.ts +1201 -0
  182. package/src/editable-artifact-materialization.ts +893 -0
  183. package/src/editable-artifacts-schema.ts +879 -0
  184. package/src/editable-artifacts.ts +5404 -0
  185. package/src/generated-images.ts +740 -0
  186. package/src/index.ts +9963 -1465
  187. package/src/insights.ts +251 -23
  188. package/src/integration-bindings.ts +455 -0
  189. package/src/integration-facets.ts +862 -0
  190. package/src/interaction-revisions.ts +70 -0
  191. package/src/interaction-schema.ts +1606 -0
  192. package/src/knowledge-source-sync-schema.ts +192 -0
  193. package/src/knowledge-source-sync.ts +1922 -0
  194. package/src/memory-slack-delivery.ts +801 -0
  195. package/src/pack-components.ts +954 -0
  196. package/src/pack-installations.ts +886 -0
  197. package/src/persistence-errors.ts +4 -7
  198. package/src/plugin-packages.ts +1186 -0
  199. package/src/provision-roles.ts +534 -1
  200. package/src/runtime-posture-cli.ts +9 -0
  201. package/src/runtime-posture.ts +721 -5
  202. package/src/schema.ts +6270 -3159
  203. package/src/scoped-knowledge-schema.ts +1 -1
  204. package/src/scoped-knowledge.ts +655 -3
  205. package/src/session-control.ts +130 -42
  206. package/src/session-queue-commands.ts +265 -15
  207. package/src/session-realtime-context.ts +2 -2
  208. package/src/session-realtime-ledger.ts +3 -3
  209. package/src/session-realtime.ts +7 -7
  210. package/src/session-tenancy.ts +188 -0
  211. package/src/session-tool-call-settlement.ts +18 -3
  212. package/src/slack-task-policy-schema.ts +130 -0
  213. package/src/slack-task-policy.ts +341 -0
  214. package/src/slack-user-link-access.ts +702 -0
  215. package/src/task-notes-schema.ts +135 -0
  216. package/src/task-notes.ts +178 -0
  217. package/src/video-generation.ts +1530 -0
  218. package/src/workspace-artifacts.ts +1 -1
  219. package/src/workspace-learning-policy-schema.ts +139 -0
  220. package/src/workspace-learning-policy.ts +595 -0
  221. package/src/xai-subscription.ts +1887 -0
  222. package/dist/chunk-P6CUHXQZ.js +0 -7248
  223. package/dist/chunk-P6CUHXQZ.js.map +0 -1
  224. package/dist/chunk-VHBFHMPC.js +0 -1219
  225. package/dist/chunk-VHBFHMPC.js.map +0 -1
@@ -1,7 +1,7 @@
1
- import { ResourceRef, type McpPersonalConnectionDelegation, type LatencyMode, type ReasoningEffort, type TurnExecutionPolicyV1 } from "@opengeni/contracts";
2
- import type { Database } from "./database";
3
- import { type SessionCommandActor, type SessionCommandReceiptRow } from "./session-control";
4
- import * as schema from "./schema";
1
+ import { ResourceRef, type McpPersonalConnectionDelegation, type DraftTimelineAnnotation, type LatencyMode, type ReasoningEffort, type SessionEvent, type SessionTurn, type TurnExecutionPolicyV1, type TimelineAnnotation } from "@opengeni/contracts";
2
+ import type { Database, SessionActivityDatabase } from "./database.js";
3
+ import { type SessionCommandActor, type SessionCommandReceiptRow } from "./session-control.js";
4
+ import * as schema from "./schema.js";
5
5
  export type QueueCommandConflictCode = "QUEUE_VERSION_CHANGED" | "QUEUE_PROMPT_STARTED" | "QUEUE_ANCHOR_CHANGED" | "PROMPT_CHANGED" | "DRAFT_CHANGED" | "DRAFT_NOT_EMPTY" | "EDIT_SOURCE_CHANGED";
6
6
  export declare class QueueCommandConflictError extends Error {
7
7
  readonly code: QueueCommandConflictCode;
@@ -36,6 +36,10 @@ export type SteerQueueCommandResult = QueueCommandResult & {
36
36
  export type SubmitHumanPromptResult = {
37
37
  receipt: SessionCommandReceiptRow;
38
38
  queueVersion: number;
39
+ accepted: SessionEvent;
40
+ events: SessionEvent[];
41
+ turn: SessionTurn;
42
+ /** Backward-compatible row identities for lower-level callers. */
39
43
  acceptedEventId: string;
40
44
  eventIds: string[];
41
45
  turnId: string;
@@ -90,12 +94,13 @@ export declare function saveComposerDraftInTransaction(db: Database, input: {
90
94
  subjectId: string;
91
95
  expectedRevision: number;
92
96
  text: string;
97
+ annotations?: DraftTimelineAnnotation[];
93
98
  resources: ResourceRef[];
94
99
  model: string;
95
100
  reasoningEffort: ReasoningEffort;
96
101
  latencyMode?: LatencyMode;
97
102
  }): Promise<ComposerDraftRow>;
98
- export declare function moveQueuedTurnInTransaction(db: Database, input: {
103
+ export declare function moveQueuedTurnInTransaction(db: SessionActivityDatabase, input: {
99
104
  accountId: string;
100
105
  workspaceId: string;
101
106
  sessionId: string;
@@ -105,7 +110,7 @@ export declare function moveQueuedTurnInTransaction(db: Database, input: {
105
110
  actor: SessionCommandActor;
106
111
  operationKey: string;
107
112
  }): Promise<QueueCommandResult>;
108
- export declare function deleteSessionQueueItemInTransaction(db: Database, input: {
113
+ export declare function deleteSessionQueueItemInTransaction(db: SessionActivityDatabase, input: {
109
114
  accountId: string;
110
115
  workspaceId: string;
111
116
  sessionId: string;
@@ -115,7 +120,7 @@ export declare function deleteSessionQueueItemInTransaction(db: Database, input:
115
120
  operationKey: string;
116
121
  reason?: string | null;
117
122
  }): Promise<QueueCommandResult>;
118
- export declare function editQueuedTurnInTransaction(db: Database, input: {
123
+ export declare function editQueuedTurnInTransaction(db: SessionActivityDatabase, input: {
119
124
  accountId: string;
120
125
  workspaceId: string;
121
126
  sessionId: string;
@@ -127,7 +132,7 @@ export declare function editQueuedTurnInTransaction(db: Database, input: {
127
132
  actor: SessionCommandActor;
128
133
  operationKey: string;
129
134
  }): Promise<EditQueueCommandResult>;
130
- export declare function steerQueuedTurnInTransaction(db: Database, input: {
135
+ export declare function steerQueuedTurnInTransaction(db: SessionActivityDatabase, input: {
131
136
  accountId: string;
132
137
  workspaceId: string;
133
138
  sessionId: string;
@@ -137,7 +142,7 @@ export declare function steerQueuedTurnInTransaction(db: Database, input: {
137
142
  actor: SessionCommandActor;
138
143
  operationKey: string;
139
144
  }): Promise<SteerQueueCommandResult>;
140
- export declare function submitHumanPromptInTransaction(db: Database, input: {
145
+ export declare function submitHumanPromptInTransaction(db: SessionActivityDatabase, input: {
141
146
  accountId: string;
142
147
  workspaceId: string;
143
148
  sessionId: string;
@@ -149,6 +154,7 @@ export declare function submitHumanPromptInTransaction(db: Database, input: {
149
154
  controlEtag?: string | null;
150
155
  expectedDraftRevision?: number | null;
151
156
  text: string;
157
+ annotations?: TimelineAnnotation[];
152
158
  turnInstructions?: string | null;
153
159
  resources: ResourceRef[];
154
160
  model?: string | null;
@@ -166,13 +172,15 @@ export declare function submitHumanPromptInTransaction(db: Database, input: {
166
172
  context: string;
167
173
  };
168
174
  source: "user" | "api";
175
+ /** Record the admitted run's durable usage fact in this transaction. */
176
+ recordAgentRunUsage?: boolean;
169
177
  personalConnectionDelegations?: McpPersonalConnectionDelegation[];
170
178
  mcpCredentialUpdates?: Array<{
171
179
  id: string;
172
180
  headersEncrypted: Record<string, string>;
173
181
  }>;
174
182
  }): Promise<SubmitHumanPromptResult>;
175
- export declare function sendAgentMessageInTransaction(db: Database, input: {
183
+ export declare function sendAgentMessageInTransaction(db: SessionActivityDatabase, input: {
176
184
  accountId: string;
177
185
  workspaceId: string;
178
186
  targetSessionId: string;
@@ -182,7 +190,7 @@ export declare function sendAgentMessageInTransaction(db: Database, input: {
182
190
  operationKey: string;
183
191
  text: string;
184
192
  }): Promise<AgentInternalUpdateCommandResult>;
185
- export declare function steerAgentSessionInTransaction(db: Database, input: {
193
+ export declare function steerAgentSessionInTransaction(db: SessionActivityDatabase, input: {
186
194
  accountId: string;
187
195
  workspaceId: string;
188
196
  targetSessionId: string;
@@ -1,4 +1,4 @@
1
- import type { Database } from "./database";
1
+ import type { Database, SessionActivityDatabase } from "./database.js";
2
2
  export declare const SESSION_REALTIME_CONTEXT_MAX_BYTES = 65536;
3
3
  export declare const SESSION_REALTIME_TAIL_SOURCE = "transcript_tail_flush";
4
4
  export declare const SESSION_REALTIME_TAIL_INSTRUCTION = "The user just ended the realtime voice session but remains reachable by text. Ending voice changes only the communication mode; it does not stop, pause, or complete existing work. Treat the remaining transcript tail as additional context. If work was already underway, continue it from the current state. Change or stop that work only if the user explicitly requested it. If nothing was underway and the transcript contains no unhandled request, acknowledge briefly; otherwise handle any unhandled request.";
@@ -40,7 +40,7 @@ export declare function renderSessionRealtimeTail(entries: readonly SessionRealt
40
40
  * Codex-style end fence: route only finalized voice transcript after the last
41
41
  * delegation into the same canonical Steer-or-start path used by a human.
42
42
  */
43
- export declare function flushSessionRealtimeTranscriptTailInTransaction(db: Database, input: {
43
+ export declare function flushSessionRealtimeTranscriptTailInTransaction(db: SessionActivityDatabase, input: {
44
44
  accountId: string;
45
45
  workspaceId: string;
46
46
  sessionId: string;
@@ -1,6 +1,6 @@
1
1
  import { type SessionRealtimeMode } from "@opengeni/contracts";
2
- import type { Database } from "./database";
3
- import { type AssertSessionRealtimeOwnerInput } from "./session-realtime";
2
+ import type { Database, SessionActivityDatabase } from "./database.js";
3
+ import { type AssertSessionRealtimeOwnerInput } from "./session-realtime.js";
4
4
  export declare const SESSION_REALTIME_LEDGER_MAX_BATCH = 64;
5
5
  export declare const SESSION_REALTIME_LEDGER_MAX_TEXT_BYTES = 131072;
6
6
  export declare const SESSION_REALTIME_LEDGER_MAX_PAYLOAD_BYTES = 131072;
@@ -146,7 +146,7 @@ export type AppendSessionRealtimeOutboundResult = {
146
146
  entry: SessionRealtimeLedgerEntry;
147
147
  replay: boolean;
148
148
  };
149
- export { projectSessionRealtimeDelegationTerminalInTransaction, type ProjectSessionRealtimeDelegationTerminalInput, type ProjectSessionRealtimeDelegationTerminalResult, } from "./session-realtime-terminal";
149
+ export { projectSessionRealtimeDelegationTerminalInTransaction, type ProjectSessionRealtimeDelegationTerminalInput, type ProjectSessionRealtimeDelegationTerminalResult, } from "./session-realtime-terminal.js";
150
150
  export type ProjectSessionRealtimeDelegationProgressInput = {
151
151
  accountId: string;
152
152
  workspaceId: string;
@@ -169,7 +169,7 @@ export declare function claimSessionRealtimeConnectionInTransaction(db: Database
169
169
  export declare function completeSessionRealtimeConnectionInTransaction(db: Database, input: CompleteSessionRealtimeConnectionInput): Promise<CompleteSessionRealtimeConnectionResult>;
170
170
  export declare function activateSessionRealtimeConnectionInTransaction(db: Database, input: ActivateSessionRealtimeConnectionInput): Promise<ActivateSessionRealtimeConnectionResult>;
171
171
  export declare function failSessionRealtimeConnectionInTransaction(db: Database, input: FailSessionRealtimeConnectionInput): Promise<FailSessionRealtimeConnectionResult>;
172
- export declare function syncSessionRealtimeLedgerInTransaction(db: Database, input: SyncSessionRealtimeLedgerInput, hooks?: SyncSessionRealtimeLedgerHooks): Promise<SyncSessionRealtimeLedgerResult>;
172
+ export declare function syncSessionRealtimeLedgerInTransaction(db: SessionActivityDatabase, input: SyncSessionRealtimeLedgerInput, hooks?: SyncSessionRealtimeLedgerHooks): Promise<SyncSessionRealtimeLedgerResult>;
173
173
  export declare function appendSessionRealtimeOutboundInTransaction(db: Database, input: AppendSessionRealtimeOutboundInput): Promise<AppendSessionRealtimeOutboundResult>;
174
174
  /**
175
175
  * Under the caller's canonical session/turn fence, mirror accepted assistant
@@ -1,6 +1,6 @@
1
1
  import type { HumanInputQuestion, HumanInputResponse } from "@opengeni/contracts";
2
- import type { Database } from "./database";
3
- import * as schema from "./schema";
2
+ import type { Database } from "./database.js";
3
+ import * as schema from "./schema.js";
4
4
  export type SessionRealtimeMirrorChannel = "speakable" | "commentary" | null;
5
5
  export type MirrorSessionRealtimeContextInput = {
6
6
  accountId: string;
@@ -1,2 +1,2 @@
1
- import type { Database } from "./database";
1
+ import type { Database } from "./database.js";
2
2
  export declare function sessionRealtimeIsActiveInTransaction(db: Database, workspaceId: string, sessionId: string, now?: Date): Promise<boolean>;
@@ -1,4 +1,4 @@
1
- import type { Database } from "./database";
1
+ import type { Database } from "./database.js";
2
2
  export type ProjectSessionRealtimeDelegationTerminalInput = {
3
3
  accountId: string;
4
4
  workspaceId: string;
@@ -1,7 +1,7 @@
1
1
  import type { SessionRealtimeEndReason, SessionRealtimeMode, SessionRealtimeModel } from "@opengeni/contracts";
2
- import type { Database } from "./database";
3
- import * as schema from "./schema";
4
- export { sessionRealtimeIsActiveInTransaction } from "./session-realtime-state";
2
+ import type { Database, SessionActivityDatabase } from "./database.js";
3
+ import * as schema from "./schema.js";
4
+ export { sessionRealtimeIsActiveInTransaction } from "./session-realtime-state.js";
5
5
  export declare const SESSION_REALTIME_LEASE_MS = 30000;
6
6
  export type SessionRealtimeConflictCode = "SESSION_CANCELLED" | "CONTROL_NOT_ACTIVE" | "REALTIME_ACTIVE" | "REALTIME_NOT_FOUND" | "REALTIME_NOT_ACTIVE" | "REALTIME_OWNER_MISMATCH" | "REALTIME_VERSION_CHANGED" | "REALTIME_CONNECTION_CHANGED" | "REALTIME_CONNECTION_ACTIVE" | "REALTIME_CONNECTION_NOT_FOUND" | "REALTIME_CONNECTION_STATE_CHANGED" | "REALTIME_PROVIDER_NOT_STARTED" | "REALTIME_DELEGATION_CHANGED" | "REALTIME_ENTRY_CHANGED" | "REALTIME_ACK_INVALID";
7
7
  export declare class SessionRealtimeConflictError extends Error {
@@ -46,14 +46,14 @@ export type SessionRealtimeMutationResult = {
46
46
  export type RenewSessionRealtimeResult = SessionRealtimeMutationResult & {
47
47
  expired: boolean;
48
48
  };
49
- export declare function beginSessionRealtimeInTransaction(db: Database, input: BeginSessionRealtimeInput): Promise<SessionRealtimeMutationResult>;
49
+ export declare function beginSessionRealtimeInTransaction(db: SessionActivityDatabase, input: BeginSessionRealtimeInput): Promise<SessionRealtimeMutationResult>;
50
50
  /**
51
51
  * Fence a provider connection to the exact active authenticated browser owner.
52
52
  * The caller must finish this transaction before contacting the provider; owner
53
53
  * proof is authorization material and must never cross that boundary.
54
54
  */
55
55
  export declare function assertSessionRealtimeOwnerInTransaction(db: Database, input: AssertSessionRealtimeOwnerInput): Promise<SessionRealtimeMode>;
56
- export declare function renewSessionRealtimeInTransaction(db: Database, input: RenewSessionRealtimeInput): Promise<RenewSessionRealtimeResult>;
57
- export declare function endSessionRealtimeInTransaction(db: Database, input: EndSessionRealtimeInput): Promise<SessionRealtimeMutationResult>;
56
+ export declare function renewSessionRealtimeInTransaction(db: SessionActivityDatabase, input: RenewSessionRealtimeInput): Promise<RenewSessionRealtimeResult>;
57
+ export declare function endSessionRealtimeInTransaction(db: SessionActivityDatabase, input: EndSessionRealtimeInput): Promise<SessionRealtimeMutationResult>;
58
58
  /** Lazily settle an expired voice lease under the canonical session lock. */
59
- export declare function settleExpiredSessionRealtimeInTransaction(db: Database, session: SessionRow, now?: Date): Promise<SessionRow>;
59
+ export declare function settleExpiredSessionRealtimeInTransaction(db: SessionActivityDatabase, session: SessionRow, now?: Date): Promise<SessionRow>;
@@ -0,0 +1,44 @@
1
+ import { type Database } from "./database.js";
2
+ export type SessionTenancyVisibility = "user_private" | "workspace_shared";
3
+ export type TransitionSessionVisibilityInput = {
4
+ workspaceId: string;
5
+ sessionId: string;
6
+ actorSubjectId: string;
7
+ targetVisibility: SessionTenancyVisibility;
8
+ expectedAuthorityEpoch: number;
9
+ operationKey: string;
10
+ };
11
+ export type TransitionSessionVisibilityResult = {
12
+ operationId: string;
13
+ visibility: SessionTenancyVisibility;
14
+ authorityEpoch: number;
15
+ ownerOrganizationMembershipId: string | null;
16
+ changed: boolean;
17
+ replay: boolean;
18
+ interruptedAttemptCount: number;
19
+ cancelledTurnCount: number;
20
+ cancelledUpdateCount: number;
21
+ pausedGoalCount: number;
22
+ revokedGrantCount: number;
23
+ };
24
+ export type ForkSessionContentInput = {
25
+ sourceWorkspaceId: string;
26
+ sourceSessionId: string;
27
+ actorSubjectId: string;
28
+ destinationWorkspaceId: string;
29
+ destinationVisibility: SessionTenancyVisibility;
30
+ operationKey: string;
31
+ };
32
+ export type ForkSessionContentResult = {
33
+ operationId: string;
34
+ sessionId: string;
35
+ workspaceId: string;
36
+ visibility: SessionTenancyVisibility;
37
+ authorityEpoch: number;
38
+ copiedHistoryItemCount: number;
39
+ replay: boolean;
40
+ };
41
+ export declare function canonicalSessionVisibilityTransitionHash(input: Pick<TransitionSessionVisibilityInput, "sessionId" | "targetVisibility" | "expectedAuthorityEpoch">): string;
42
+ export declare function canonicalSessionForkHash(input: Pick<ForkSessionContentInput, "sourceSessionId" | "destinationWorkspaceId" | "destinationVisibility">): string;
43
+ export declare function transitionSessionVisibility(db: Database, input: TransitionSessionVisibilityInput): Promise<TransitionSessionVisibilityResult>;
44
+ export declare function forkSessionContent(db: Database, input: ForkSessionContentInput): Promise<ForkSessionContentResult>;
@@ -0,0 +1,16 @@
1
+ import {
2
+ canonicalSessionForkHash,
3
+ canonicalSessionVisibilityTransitionHash,
4
+ forkSessionContent,
5
+ transitionSessionVisibility
6
+ } from "./chunk-F32YT7MP.js";
7
+ import "./chunk-JC5QPLUM.js";
8
+ import "./chunk-5KTIEDX7.js";
9
+ import "./chunk-PZ5AY32C.js";
10
+ export {
11
+ canonicalSessionForkHash,
12
+ canonicalSessionVisibilityTransitionHash,
13
+ forkSessionContent,
14
+ transitionSessionVisibility
15
+ };
16
+ //# sourceMappingURL=session-tenancy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,5 +1,5 @@
1
1
  import type { SessionEvent } from "@opengeni/contracts";
2
- import type { Database } from "./database";
2
+ import type { Database } from "./database.js";
3
3
  export declare const TOOL_RESULT_TYPE_BY_CALL_TYPE: Readonly<Record<string, string>>;
4
4
  export declare function historyCallId(item: Record<string, unknown>): string | null;
5
5
  export declare function historyItemType(item: Record<string, unknown>): string | null;