@opengeni/db 0.31.1 → 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 (122) hide show
  1. package/dist/browser-auth.d.ts +209 -1
  2. package/dist/browser-downloads.d.ts +51 -0
  3. package/dist/browser-identities.d.ts +11 -2
  4. package/dist/browser-sessions.d.ts +83 -1
  5. package/dist/browser-state-artifacts.d.ts +75 -1
  6. package/dist/canonical-human-identities.d.ts +48 -0
  7. package/dist/canonical-human-identities.js +28 -0
  8. package/dist/canonical-human-identities.js.map +1 -0
  9. package/dist/capability-integrations.d.ts +8 -6
  10. package/dist/{chunk-MWDVXQOL.js → chunk-5KTIEDX7.js} +5773 -4212
  11. package/dist/chunk-5KTIEDX7.js.map +1 -0
  12. package/dist/{chunk-NBE6CHRI.js → chunk-CQZ4QSP5.js} +49 -9
  13. package/dist/chunk-CQZ4QSP5.js.map +1 -0
  14. package/dist/chunk-F32YT7MP.js +117 -0
  15. package/dist/chunk-F32YT7MP.js.map +1 -0
  16. package/dist/{chunk-ISI2TIUG.js → chunk-JC5QPLUM.js} +30 -3
  17. package/dist/chunk-JC5QPLUM.js.map +1 -0
  18. package/dist/{chunk-F5FT7BEZ.js → chunk-P3RE4D2B.js} +2 -2
  19. package/dist/chunk-TAUTWOS5.js +259 -0
  20. package/dist/chunk-TAUTWOS5.js.map +1 -0
  21. package/dist/{chunk-YHZXQ7HP.js → chunk-VKLB2ZGI.js} +446 -19
  22. package/dist/chunk-VKLB2ZGI.js.map +1 -0
  23. package/dist/database.d.ts +5 -0
  24. package/dist/editable-artifact-durable-export.js +2 -2
  25. package/dist/editable-artifacts.js +3 -3
  26. package/dist/index.d.ts +438 -29
  27. package/dist/index.js +35640 -28969
  28. package/dist/index.js.map +1 -1
  29. package/dist/insights.d.ts +23 -7
  30. package/dist/integration-bindings.d.ts +24 -24
  31. package/dist/integration-facets.d.ts +99 -0
  32. package/dist/interaction-revisions.d.ts +11 -0
  33. package/dist/interaction-schema.d.ts +698 -34
  34. package/dist/provision-roles.js +1 -1
  35. package/dist/runtime-posture.d.ts +8 -7
  36. package/dist/schema.d.ts +9464 -5412
  37. package/dist/schema.js +51 -9
  38. package/dist/session-control.d.ts +29 -3
  39. package/dist/session-tenancy.d.ts +44 -0
  40. package/dist/session-tenancy.js +16 -0
  41. package/dist/session-tenancy.js.map +1 -0
  42. package/dist/slack-task-policy-schema.d.ts +847 -0
  43. package/dist/slack-task-policy.d.ts +65 -0
  44. package/dist/task-notes-schema.d.ts +924 -0
  45. package/dist/task-notes.d.ts +85 -0
  46. package/dist/video-generation.d.ts +9 -0
  47. package/dist/video-generation.js +5 -3
  48. package/dist/xai-subscription.d.ts +326 -0
  49. package/drizzle/0212_browser_state_transfer_hardening.sql +560 -0
  50. package/drizzle/0213_browser_interaction_authority.sql +67 -0
  51. package/drizzle/0214_browser_download_saves.sql +34 -0
  52. package/drizzle/0215_browser_controller_host.sql +385 -0
  53. package/drizzle/0216_browser_auth_health_evidence.sql +137 -0
  54. package/drizzle/0217_external_browser_auth_operations.sql +22 -0
  55. package/drizzle/0218_organization_tenancy_foundation.sql +299 -0
  56. package/drizzle/0219_organization_tenancy_managed_human_provisioning.sql +317 -0
  57. package/drizzle/0219_site_auth_maintenance_sessions.sql +234 -0
  58. package/drizzle/0220_memory_slack_append_only_cascade.sql +38 -0
  59. package/drizzle/0220_session_channels.sql +54 -0
  60. package/drizzle/0221_sessions_channel_index.sql +5 -0
  61. package/drizzle/0222_session_visibility_authority_epochs.sql +158 -0
  62. package/drizzle/0222_sessions_channel_fk.sql +89 -0
  63. package/drizzle/0223_pending_tool_event_output.sql +55 -0
  64. package/drizzle/0223_sessions_channel_fk_validate.sql +118 -0
  65. package/drizzle/0224_slack_post_outcome_reconciliation.sql +123 -0
  66. package/drizzle/0225_session_visibility_fork_activation.sql +1363 -0
  67. package/drizzle/0226_personal_codex_authority_foundation.sql +365 -0
  68. package/drizzle/0227_slack_native_actions.sql +145 -0
  69. package/drizzle/0228_interaction_controller_data_plane.sql +14 -0
  70. package/drizzle/0228_slack_task_policy.sql +400 -0
  71. package/drizzle/0229_slack_inbox_file_fact.sql +10 -0
  72. package/drizzle/0230_user_scoped_variable_sets_rigs.sql +84 -0
  73. package/drizzle/0231_integration_definition_identity_cutover.sql +271 -0
  74. package/drizzle/0232_integration_facet_authority_cutover.sql +610 -0
  75. package/drizzle/0233_skill_and_integration_authority_cutover.sql +1162 -0
  76. package/drizzle/0234_xai_subscription_authority.sql +1139 -0
  77. package/drizzle/0235_canonical_human_login_bindings.sql +920 -0
  78. package/drizzle/0236_browser_identity_lifecycle.sql +39 -0
  79. package/drizzle/0236_session_visibility_slack_policy.sql +72 -0
  80. package/drizzle/0237_interaction_transition_reaper.sql +263 -0
  81. package/drizzle/0238_goal_persistence_policy.sql +471 -0
  82. package/drizzle/0238_supergrok_realtime_model.sql +29 -0
  83. package/drizzle/0239_supergrok_video_funding.sql +50 -0
  84. package/drizzle/0239_task_tree_notes.sql +990 -0
  85. package/package.json +13 -5
  86. package/src/browser-auth.ts +2600 -123
  87. package/src/browser-downloads.ts +517 -0
  88. package/src/browser-identities.ts +220 -3
  89. package/src/browser-sessions.ts +334 -45
  90. package/src/browser-state-artifacts.ts +402 -12
  91. package/src/canonical-human-identities.ts +317 -0
  92. package/src/capability-integrations.ts +121 -213
  93. package/src/database.ts +41 -1
  94. package/src/index.ts +4157 -394
  95. package/src/insights.ts +109 -28
  96. package/src/integration-bindings.ts +101 -101
  97. package/src/{integration-features.ts → integration-facets.ts} +187 -184
  98. package/src/interaction-revisions.ts +33 -3
  99. package/src/interaction-schema.ts +311 -8
  100. package/src/pack-components.ts +43 -43
  101. package/src/pack-installations.ts +0 -43
  102. package/src/plugin-packages.ts +9 -9
  103. package/src/provision-roles.ts +232 -0
  104. package/src/runtime-posture.ts +227 -14
  105. package/src/schema.ts +1188 -75
  106. package/src/session-control.ts +122 -37
  107. package/src/session-queue-commands.ts +78 -1
  108. package/src/session-tenancy.ts +188 -0
  109. package/src/session-tool-call-settlement.ts +9 -3
  110. package/src/slack-task-policy-schema.ts +130 -0
  111. package/src/slack-task-policy.ts +341 -0
  112. package/src/task-notes-schema.ts +135 -0
  113. package/src/task-notes.ts +178 -0
  114. package/src/video-generation.ts +90 -12
  115. package/src/workspace-artifacts.ts +1 -1
  116. package/src/xai-subscription.ts +1887 -0
  117. package/dist/chunk-ISI2TIUG.js.map +0 -1
  118. package/dist/chunk-MWDVXQOL.js.map +0 -1
  119. package/dist/chunk-NBE6CHRI.js.map +0 -1
  120. package/dist/chunk-YHZXQ7HP.js.map +0 -1
  121. package/dist/integration-features.d.ts +0 -99
  122. /package/dist/{chunk-F5FT7BEZ.js.map → chunk-P3RE4D2B.js.map} +0 -0
package/dist/schema.js CHANGED
@@ -12,6 +12,7 @@ import {
12
12
  browserSessionAssociations,
13
13
  browserSessions,
14
14
  browserStateArtifacts,
15
+ browserStateUploads,
15
16
  capabilityApiFacets,
16
17
  capabilityCatalogItems,
17
18
  capabilityComponentOwners,
@@ -26,6 +27,7 @@ import {
26
27
  capabilityPlugins,
27
28
  capabilitySkillFacets,
28
29
  capabilitySkillFiles,
30
+ channels,
29
31
  codexAppsSettings,
30
32
  codexCapacityWaiters,
31
33
  codexCredentialLeases,
@@ -81,9 +83,9 @@ import {
81
83
  hostExportOutbox,
82
84
  imageGenerationOperations,
83
85
  importBatches,
84
- integrationFeatureBindingOwners,
85
- integrationFeatureBindings,
86
- integrationFeatureFacets,
86
+ integrationFacetBindingOwners,
87
+ integrationFacetBindings,
88
+ integrationFacetDefinitions,
87
89
  integrationOauthClients,
88
90
  integrationOauthStateNonces,
89
91
  integrationSpecRevisions,
@@ -130,6 +132,10 @@ import {
130
132
  nestedAgentDepthConfiguration,
131
133
  networkRoutes,
132
134
  newSessionDrafts,
135
+ organizationMemberships,
136
+ organizationUserResourceAuthorities,
137
+ organizationUserResourceGrants,
138
+ organizationUserRetentionPolicies,
133
139
  packInstallationComponents,
134
140
  packInstallations,
135
141
  preferenceRegistryEvents,
@@ -161,6 +167,7 @@ import {
161
167
  sessionAttemptToolCatalogs,
162
168
  sessionCommandReceipts,
163
169
  sessionEvents,
170
+ sessionGoalRevisions,
164
171
  sessionGoals,
165
172
  sessionHistoryItems,
166
173
  sessionHumanInputRequests,
@@ -186,16 +193,25 @@ import {
186
193
  siteAuthConnections,
187
194
  slackBotDeleteOperations,
188
195
  slackBotPostOperations,
196
+ slackBotUpdateOperations,
189
197
  slackBotUserLinks,
190
198
  slackInstallationBindings,
199
+ slackInteractionActionHandles,
191
200
  slackInteractionInbox,
192
201
  slackInteractionProgressDeliveries,
193
202
  slackInteractions,
203
+ slackSharedTaskOrigins,
204
+ slackTaskPolicyActivationEvents,
205
+ slackTaskPolicyHeads,
206
+ slackTaskPolicyRevisions,
194
207
  slackUserLinkAccessRequestOperations,
195
208
  slackUserLinkAccessRequests,
196
209
  socialConnections,
197
210
  socialPosts,
198
211
  stripeWebhookEvents,
212
+ taskNoteEvents,
213
+ taskNoteWriteCapabilities,
214
+ taskNotes,
199
215
  temporalScheduleCleanupOutbox,
200
216
  transcriptionRecordingChunkStateValues,
201
217
  transcriptionRecordingChunks,
@@ -233,8 +249,13 @@ import {
233
249
  workspaceVariableSets,
234
250
  workspaceVideoGenerationPolicies,
235
251
  workspaceVideoGenerationQuotas,
236
- workspaces
237
- } from "./chunk-MWDVXQOL.js";
252
+ workspaces,
253
+ xaiCapacityWaiters,
254
+ xaiCredentialLeases,
255
+ xaiRotationSettings,
256
+ xaiSessionAccountPins,
257
+ xaiSubscriptionCredentials
258
+ } from "./chunk-5KTIEDX7.js";
238
259
  import "./chunk-PZ5AY32C.js";
239
260
  export {
240
261
  agentRunStates,
@@ -250,6 +271,7 @@ export {
250
271
  browserSessionAssociations,
251
272
  browserSessions,
252
273
  browserStateArtifacts,
274
+ browserStateUploads,
253
275
  capabilityApiFacets,
254
276
  capabilityCatalogItems,
255
277
  capabilityComponentOwners,
@@ -264,6 +286,7 @@ export {
264
286
  capabilityPlugins,
265
287
  capabilitySkillFacets,
266
288
  capabilitySkillFiles,
289
+ channels,
267
290
  codexAppsSettings,
268
291
  codexCapacityWaiters,
269
292
  codexCredentialLeases,
@@ -319,9 +342,9 @@ export {
319
342
  hostExportOutbox,
320
343
  imageGenerationOperations,
321
344
  importBatches,
322
- integrationFeatureBindingOwners,
323
- integrationFeatureBindings,
324
- integrationFeatureFacets,
345
+ integrationFacetBindingOwners,
346
+ integrationFacetBindings,
347
+ integrationFacetDefinitions,
325
348
  integrationOauthClients,
326
349
  integrationOauthStateNonces,
327
350
  integrationSpecRevisions,
@@ -368,6 +391,10 @@ export {
368
391
  nestedAgentDepthConfiguration,
369
392
  networkRoutes,
370
393
  newSessionDrafts,
394
+ organizationMemberships,
395
+ organizationUserResourceAuthorities,
396
+ organizationUserResourceGrants,
397
+ organizationUserRetentionPolicies,
371
398
  packInstallationComponents,
372
399
  packInstallations,
373
400
  preferenceRegistryEvents,
@@ -399,6 +426,7 @@ export {
399
426
  sessionAttemptToolCatalogs,
400
427
  sessionCommandReceipts,
401
428
  sessionEvents,
429
+ sessionGoalRevisions,
402
430
  sessionGoals,
403
431
  sessionHistoryItems,
404
432
  sessionHumanInputRequests,
@@ -424,16 +452,25 @@ export {
424
452
  siteAuthConnections,
425
453
  slackBotDeleteOperations,
426
454
  slackBotPostOperations,
455
+ slackBotUpdateOperations,
427
456
  slackBotUserLinks,
428
457
  slackInstallationBindings,
458
+ slackInteractionActionHandles,
429
459
  slackInteractionInbox,
430
460
  slackInteractionProgressDeliveries,
431
461
  slackInteractions,
462
+ slackSharedTaskOrigins,
463
+ slackTaskPolicyActivationEvents,
464
+ slackTaskPolicyHeads,
465
+ slackTaskPolicyRevisions,
432
466
  slackUserLinkAccessRequestOperations,
433
467
  slackUserLinkAccessRequests,
434
468
  socialConnections,
435
469
  socialPosts,
436
470
  stripeWebhookEvents,
471
+ taskNoteEvents,
472
+ taskNoteWriteCapabilities,
473
+ taskNotes,
437
474
  temporalScheduleCleanupOutbox,
438
475
  transcriptionRecordingChunkStateValues,
439
476
  transcriptionRecordingChunks,
@@ -471,6 +508,11 @@ export {
471
508
  workspaceVariableSets,
472
509
  workspaceVideoGenerationPolicies,
473
510
  workspaceVideoGenerationQuotas,
474
- workspaces
511
+ workspaces,
512
+ xaiCapacityWaiters,
513
+ xaiCredentialLeases,
514
+ xaiRotationSettings,
515
+ xaiSessionAccountPins,
516
+ xaiSubscriptionCredentials
475
517
  };
476
518
  //# sourceMappingURL=schema.js.map
@@ -130,8 +130,8 @@ export declare class SessionCommandIdempotencyError extends Error {
130
130
  constructor();
131
131
  }
132
132
  export declare class AgentCommandAuthorityError extends Error {
133
- readonly code: "CALLER_STALE" | "CALLER_INTERRUPTED" | "SELF_OR_ANCESTOR_PAUSE" | "SELF_STEER";
134
- constructor(code: "CALLER_STALE" | "CALLER_INTERRUPTED" | "SELF_OR_ANCESTOR_PAUSE" | "SELF_STEER", message: string);
133
+ readonly code: "CALLER_STALE" | "CALLER_INTERRUPTED" | "TARGET_NOT_VERTICAL" | "SELF_STEER";
134
+ constructor(code: "CALLER_STALE" | "CALLER_INTERRUPTED" | "TARGET_NOT_VERTICAL" | "SELF_STEER", message: string);
135
135
  }
136
136
  export declare function assertAgentCommandAuthorityInTransaction(db: Database, input: {
137
137
  workspaceId: string;
@@ -169,7 +169,7 @@ export type SessionEventWriteLocks = {
169
169
  *
170
170
  * workspace_inference_controls (when control-aware)
171
171
  * -> actual workspaces row FOR KEY SHARE
172
- * -> session rows FOR UPDATE, UUID ordered
172
+ * -> session rows FOR NO KEY UPDATE, UUID ordered
173
173
  * -> exact turn rows FOR UPDATE, UUID ordered
174
174
  * -> exact attempt rows FOR UPDATE, UUID ordered
175
175
  *
@@ -178,6 +178,11 @@ export type SessionEventWriteLocks = {
178
178
  * `FOR UPDATE` lock serialized unrelated sessions and inverted the activity
179
179
  * path's session -> implicit workspace-FK edge.
180
180
  *
181
+ * `FOR NO KEY UPDATE` is equally deliberate for sessions. Session primary and
182
+ * composite identity keys are immutable, so writers need to exclude only concurrent
183
+ * non-key mutation. Keeping FK `FOR KEY SHARE` checks compatible prevents the
184
+ * activity finalizer's workspace counter from participating in a lock cycle.
185
+ *
181
186
  * Complex lifecycle transactions may acquire allocator/control locks before
182
187
  * this helper and may discover exact turn IDs only after locking the session.
183
188
  * They use the explicit `already_locked` stages, while retaining the same
@@ -195,9 +200,30 @@ export declare function registerSessionTurnAttemptClaim(db: Database, input: {
195
200
  temporalWorkflowRunId: string;
196
201
  temporalActivityId: string;
197
202
  verifiedControlRevision: number;
203
+ authorityEpoch: number;
204
+ authorityVisibility: "user_private" | "workspace_shared";
205
+ authorityOwnerOrganizationMembershipId: string | null;
198
206
  mcpApprovalPolicies: Record<string, SessionMcpApprovalPolicy>;
199
207
  connectorActionPolicies: schema.ConnectorActionPolicySnapshotEntry[];
200
208
  }): Promise<typeof schema.sessionTurnAttempts.$inferSelect>;
209
+ export type SessionAuthoritySnapshot = {
210
+ authorityEpoch: number;
211
+ authorityVisibility: "user_private" | "workspace_shared";
212
+ authorityOwnerOrganizationMembershipId: string | null;
213
+ };
214
+ /**
215
+ * Validate the complete accepted-attempt authority tuple. Missing or partial
216
+ * values are not legacy defaults: current claim writers must provide the
217
+ * exact locked session authority explicitly.
218
+ */
219
+ export declare function assertSessionAuthoritySnapshot(input: {
220
+ attemptId?: string;
221
+ authorityEpoch: unknown;
222
+ authorityVisibility: unknown;
223
+ authorityOwnerOrganizationMembershipId: unknown;
224
+ }): SessionAuthoritySnapshot;
225
+ export declare function sessionAuthoritySnapshotMatchesSession(snapshot: SessionAuthoritySnapshot, session: Pick<typeof schema.sessions.$inferSelect, "authorityEpoch" | "visibility" | "ownerOrganizationMembershipId">): boolean;
226
+ export declare function sessionAuthoritySnapshotsEqual(left: Pick<SessionAuthoritySnapshot, "authorityEpoch" | "authorityVisibility" | "authorityOwnerOrganizationMembershipId">, right: Pick<SessionAuthoritySnapshot, "authorityEpoch" | "authorityVisibility" | "authorityOwnerOrganizationMembershipId">): boolean;
201
227
  /**
202
228
  * Close the exact first-class owner while the caller still holds the owning
203
229
  * session/turn locks. Every path that clears `session_turns.active_attempt_id`
@@ -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":[]}