@opengeni/db 0.28.9 → 0.31.1

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 (163) 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 +91 -0
  4. package/dist/browser-identities.d.ts +128 -0
  5. package/dist/browser-sessions.d.ts +272 -0
  6. package/dist/browser-state-artifacts.d.ts +17 -0
  7. package/dist/capability-components.d.ts +37 -0
  8. package/dist/capability-integrations.d.ts +192 -0
  9. package/dist/chunk-F5FT7BEZ.js +3535 -0
  10. package/dist/chunk-F5FT7BEZ.js.map +1 -0
  11. package/dist/chunk-ISI2TIUG.js +639 -0
  12. package/dist/chunk-ISI2TIUG.js.map +1 -0
  13. package/dist/chunk-MWDVXQOL.js +11639 -0
  14. package/dist/chunk-MWDVXQOL.js.map +1 -0
  15. package/dist/chunk-NBE6CHRI.js +955 -0
  16. package/dist/chunk-NBE6CHRI.js.map +1 -0
  17. package/dist/{chunk-VHBFHMPC.js → chunk-YHZXQ7HP.js} +754 -11
  18. package/dist/chunk-YHZXQ7HP.js.map +1 -0
  19. package/dist/codemode-operations.d.ts +117 -0
  20. package/dist/codex-token-resolver.d.ts +2 -2
  21. package/dist/company-profile-schema.d.ts +798 -0
  22. package/dist/company-profile.d.ts +268 -0
  23. package/dist/computer-sessions.d.ts +109 -0
  24. package/dist/connection-token-resolver.d.ts +9 -4
  25. package/dist/database.d.ts +52 -3
  26. package/dist/editable-artifact-durable-export.d.ts +153 -0
  27. package/dist/editable-artifact-durable-export.js +788 -0
  28. package/dist/editable-artifact-durable-export.js.map +1 -0
  29. package/dist/editable-artifact-materialization.d.ts +123 -0
  30. package/dist/editable-artifacts-schema.d.ts +4152 -0
  31. package/dist/editable-artifacts.d.ts +610 -0
  32. package/dist/editable-artifacts.js +26 -0
  33. package/dist/editable-artifacts.js.map +1 -0
  34. package/dist/generated-images.d.ts +139 -0
  35. package/dist/index.d.ts +698 -111
  36. package/dist/index.js +27573 -10322
  37. package/dist/index.js.map +1 -1
  38. package/dist/insights.d.ts +51 -4
  39. package/dist/integration-bindings.d.ts +70 -0
  40. package/dist/integration-features.d.ts +99 -0
  41. package/dist/interaction-revisions.d.ts +3 -0
  42. package/dist/interaction-schema.d.ts +5372 -0
  43. package/dist/knowledge-source-sync-schema.d.ts +1679 -0
  44. package/dist/knowledge-source-sync.d.ts +274 -0
  45. package/dist/memory-governance.d.ts +2 -2
  46. package/dist/memory-slack-delivery.d.ts +101 -0
  47. package/dist/new-session-drafts.d.ts +2 -2
  48. package/dist/pack-components.d.ts +76 -0
  49. package/dist/pack-installations.d.ts +86 -0
  50. package/dist/persistence-errors.d.ts +3 -3
  51. package/dist/plugin-packages.d.ts +126 -0
  52. package/dist/preference-registry.d.ts +1 -1
  53. package/dist/provision-roles.d.ts +9 -1
  54. package/dist/provision-roles.js +1 -1
  55. package/dist/runtime-posture.d.ts +18 -6
  56. package/dist/schema.d.ts +18342 -9099
  57. package/dist/schema.js +165 -1
  58. package/dist/scoped-knowledge.d.ts +97 -1
  59. package/dist/session-control.d.ts +4 -4
  60. package/dist/session-queue-commands.d.ts +19 -11
  61. package/dist/session-realtime-context.d.ts +2 -2
  62. package/dist/session-realtime-ledger.d.ts +4 -4
  63. package/dist/session-realtime-mirror.d.ts +2 -2
  64. package/dist/session-realtime-state.d.ts +1 -1
  65. package/dist/session-realtime-terminal.d.ts +1 -1
  66. package/dist/session-realtime.d.ts +7 -7
  67. package/dist/session-tool-call-settlement.d.ts +1 -1
  68. package/dist/slack-user-link-access.d.ts +54 -0
  69. package/dist/transcription-recordings.d.ts +2 -2
  70. package/dist/turn-initiator.d.ts +2 -2
  71. package/dist/video-generation.d.ts +216 -0
  72. package/dist/video-generation.js +66 -0
  73. package/dist/video-generation.js.map +1 -0
  74. package/dist/workspace-artifacts.d.ts +1 -1
  75. package/dist/workspace-instruction-policies.d.ts +1 -1
  76. package/dist/workspace-learning-policy-schema.d.ts +932 -0
  77. package/dist/workspace-learning-policy.d.ts +161 -0
  78. package/drizzle/0183_model_call_provider_cost_estimates.sql +39 -0
  79. package/drizzle/0184_sandbox_drain_teardown_fence.sql +682 -0
  80. package/drizzle/0185_temporal_schedule_cleanup_outbox.sql +168 -0
  81. package/drizzle/0186_sandbox_capture_provider_contract.sql +400 -0
  82. package/drizzle/0187_generated_image_artifacts.sql +173 -0
  83. package/drizzle/0188_image_generation_retention_failure.sql +25 -0
  84. package/drizzle/0189_retained_session_image_formats.sql +13 -0
  85. package/drizzle/0190_timeline_annotations.sql +31 -0
  86. package/drizzle/0191_editable_artifact_engine.sql +3853 -0
  87. package/drizzle/0192_editable_artifact_live_tickets.sql +338 -0
  88. package/drizzle/0193_editable_artifact_authorization.sql +190 -0
  89. package/drizzle/0194_editable_artifact_durable_exports.sql +160 -0
  90. package/drizzle/0195_editable_artifact_import_authorization.sql +203 -0
  91. package/drizzle/0196_rig_provider_images.sql +152 -0
  92. package/drizzle/0197_knowledge_source_sync_schedules.sql +523 -0
  93. package/drizzle/0198_memory_slack_publication_delivery.sql +393 -0
  94. package/drizzle/0199_workspace_learning_policy.sql +980 -0
  95. package/drizzle/0201_company_profile_authority.sql +849 -0
  96. package/drizzle/0202_document_index_checkpoints.sql +85 -0
  97. package/drizzle/0203_durable_video_generation.sql +353 -0
  98. package/drizzle/0204_video_generation_funding.sql +44 -0
  99. package/drizzle/0205_attempt_tool_catalogs.sql +230 -0
  100. package/drizzle/0206_browser_sessions.sql +646 -0
  101. package/drizzle/0207_browser_identities.sql +379 -0
  102. package/drizzle/0208_attached_browser_devices.sql +165 -0
  103. package/drizzle/0209_computer_sessions.sql +575 -0
  104. package/drizzle/0210_browser_auth_network_interventions.sql +441 -0
  105. package/drizzle/0211_editable_artifact_session_links.sql +58 -0
  106. package/drizzle/0212_slack_installation_bindings.sql +348 -0
  107. package/drizzle/0213_slack_user_link_access_requests.sql +177 -0
  108. package/drizzle/0214_session_activity_commit_gate.sql +262 -0
  109. package/drizzle/0215_capabilities_platform.sql +980 -0
  110. package/drizzle/0216_pack_component_ownership.sql +235 -0
  111. package/drizzle/0217_capability_definition_delete_authority.sql +32 -0
  112. package/package.json +18 -5
  113. package/src/attached-browser-devices.ts +371 -0
  114. package/src/attempt-tool-catalogs.ts +131 -0
  115. package/src/browser-auth.ts +1896 -0
  116. package/src/browser-identities.ts +1168 -0
  117. package/src/browser-sessions.ts +2005 -0
  118. package/src/browser-state-artifacts.ts +59 -0
  119. package/src/capability-components.ts +166 -0
  120. package/src/capability-integrations.ts +1663 -0
  121. package/src/codemode-operations.ts +674 -0
  122. package/src/company-profile-schema.ts +143 -0
  123. package/src/company-profile.ts +968 -0
  124. package/src/computer-sessions.ts +1130 -0
  125. package/src/connection-token-resolver.ts +270 -25
  126. package/src/database.ts +427 -23
  127. package/src/editable-artifact-durable-export.ts +1201 -0
  128. package/src/editable-artifact-materialization.ts +893 -0
  129. package/src/editable-artifacts-schema.ts +879 -0
  130. package/src/editable-artifacts.ts +5404 -0
  131. package/src/generated-images.ts +740 -0
  132. package/src/index.ts +5917 -1182
  133. package/src/insights.ts +160 -13
  134. package/src/integration-bindings.ts +455 -0
  135. package/src/integration-features.ts +859 -0
  136. package/src/interaction-revisions.ts +40 -0
  137. package/src/interaction-schema.ts +1303 -0
  138. package/src/knowledge-source-sync-schema.ts +192 -0
  139. package/src/knowledge-source-sync.ts +1922 -0
  140. package/src/memory-slack-delivery.ts +801 -0
  141. package/src/pack-components.ts +954 -0
  142. package/src/pack-installations.ts +929 -0
  143. package/src/persistence-errors.ts +4 -7
  144. package/src/plugin-packages.ts +1186 -0
  145. package/src/provision-roles.ts +302 -1
  146. package/src/runtime-posture-cli.ts +9 -0
  147. package/src/runtime-posture.ts +508 -5
  148. package/src/schema.ts +5117 -3119
  149. package/src/scoped-knowledge-schema.ts +1 -1
  150. package/src/scoped-knowledge.ts +655 -3
  151. package/src/session-control.ts +8 -5
  152. package/src/session-queue-commands.ts +187 -14
  153. package/src/session-realtime-context.ts +2 -2
  154. package/src/session-realtime-ledger.ts +3 -3
  155. package/src/session-realtime.ts +7 -7
  156. package/src/session-tool-call-settlement.ts +9 -0
  157. package/src/slack-user-link-access.ts +702 -0
  158. package/src/video-generation.ts +1452 -0
  159. package/src/workspace-learning-policy-schema.ts +139 -0
  160. package/src/workspace-learning-policy.ts +595 -0
  161. package/dist/chunk-P6CUHXQZ.js +0 -7248
  162. package/dist/chunk-P6CUHXQZ.js.map +0 -1
  163. package/dist/chunk-VHBFHMPC.js.map +0 -1
@@ -0,0 +1,131 @@
1
+ import { parseVerifiedAttemptToolCatalog } from "@opengeni/codemode";
2
+ import type { AttemptToolCatalog } from "@opengeni/contracts";
3
+ import { and, eq } from "drizzle-orm";
4
+ import type { Database } from "./database";
5
+ import { withRlsContext } from "./database";
6
+ import * as schema from "./schema";
7
+
8
+ export class AttemptToolCatalogAuthorityError extends Error {
9
+ readonly code = "attempt_tool_catalog_authority_mismatch";
10
+
11
+ constructor() {
12
+ super("Attempt tool catalog does not match the exact durable execution attempt");
13
+ this.name = "AttemptToolCatalogAuthorityError";
14
+ }
15
+ }
16
+
17
+ export class AttemptToolCatalogConflictError extends Error {
18
+ readonly code = "attempt_tool_catalog_conflict";
19
+
20
+ constructor() {
21
+ super("Execution attempt already has a different immutable tool catalog");
22
+ this.name = "AttemptToolCatalogConflictError";
23
+ }
24
+ }
25
+
26
+ export async function persistAttemptToolCatalog(
27
+ db: Database,
28
+ input: AttemptToolCatalog,
29
+ ): Promise<AttemptToolCatalog> {
30
+ const catalog = parseVerifiedAttemptToolCatalog(input);
31
+ return await withRlsContext(
32
+ db,
33
+ { accountId: catalog.accountId, workspaceId: catalog.workspaceId },
34
+ async (scopedDb) =>
35
+ await scopedDb.transaction(async (tx) => {
36
+ const [attempt] = await tx
37
+ .select({
38
+ accountId: schema.sessionTurnAttempts.accountId,
39
+ workspaceId: schema.sessionTurnAttempts.workspaceId,
40
+ sessionId: schema.sessionTurnAttempts.sessionId,
41
+ turnId: schema.sessionTurnAttempts.turnId,
42
+ executionGeneration: schema.sessionTurnAttempts.executionGeneration,
43
+ })
44
+ .from(schema.sessionTurnAttempts)
45
+ .where(
46
+ and(
47
+ eq(schema.sessionTurnAttempts.workspaceId, catalog.workspaceId),
48
+ eq(schema.sessionTurnAttempts.id, catalog.attemptId),
49
+ ),
50
+ )
51
+ .limit(1);
52
+ if (
53
+ !attempt ||
54
+ attempt.accountId !== catalog.accountId ||
55
+ attempt.sessionId !== catalog.sessionId ||
56
+ attempt.turnId !== catalog.turnId ||
57
+ attempt.executionGeneration !== catalog.executionGeneration
58
+ ) {
59
+ throw new AttemptToolCatalogAuthorityError();
60
+ }
61
+
62
+ await tx
63
+ .insert(schema.sessionAttemptToolCatalogs)
64
+ .values({
65
+ attemptId: catalog.attemptId,
66
+ accountId: catalog.accountId,
67
+ workspaceId: catalog.workspaceId,
68
+ sessionId: catalog.sessionId,
69
+ turnId: catalog.turnId,
70
+ executionGeneration: catalog.executionGeneration,
71
+ catalogVersion: catalog.version,
72
+ generation: catalog.generation,
73
+ digest: catalog.digest,
74
+ catalog,
75
+ createdAt: new Date(catalog.createdAt),
76
+ })
77
+ .onConflictDoNothing({ target: schema.sessionAttemptToolCatalogs.attemptId });
78
+
79
+ const stored = await attemptToolCatalogByAttemptTx(
80
+ tx,
81
+ catalog.workspaceId,
82
+ catalog.attemptId,
83
+ );
84
+ if (!stored) throw new Error("Failed to persist attempt tool catalog");
85
+ if (stored.digest !== catalog.digest || stored.generation !== catalog.generation) {
86
+ throw new AttemptToolCatalogConflictError();
87
+ }
88
+ return parseVerifiedAttemptToolCatalog(stored.catalog);
89
+ }),
90
+ );
91
+ }
92
+
93
+ export async function getAttemptToolCatalog(
94
+ db: Database,
95
+ input: { accountId: string; workspaceId: string; attemptId: string },
96
+ ): Promise<AttemptToolCatalog | null> {
97
+ return await withRlsContext(
98
+ db,
99
+ { accountId: input.accountId, workspaceId: input.workspaceId },
100
+ async (scopedDb) => {
101
+ const stored = await attemptToolCatalogByAttemptTx(
102
+ scopedDb,
103
+ input.workspaceId,
104
+ input.attemptId,
105
+ );
106
+ return stored ? parseVerifiedAttemptToolCatalog(stored.catalog) : null;
107
+ },
108
+ );
109
+ }
110
+
111
+ async function attemptToolCatalogByAttemptTx(
112
+ tx: Pick<Database, "select">,
113
+ workspaceId: string,
114
+ attemptId: string,
115
+ ) {
116
+ const [row] = await tx
117
+ .select({
118
+ generation: schema.sessionAttemptToolCatalogs.generation,
119
+ digest: schema.sessionAttemptToolCatalogs.digest,
120
+ catalog: schema.sessionAttemptToolCatalogs.catalog,
121
+ })
122
+ .from(schema.sessionAttemptToolCatalogs)
123
+ .where(
124
+ and(
125
+ eq(schema.sessionAttemptToolCatalogs.workspaceId, workspaceId),
126
+ eq(schema.sessionAttemptToolCatalogs.attemptId, attemptId),
127
+ ),
128
+ )
129
+ .limit(1);
130
+ return row ?? null;
131
+ }