@rudderhq/db 0.7.23 → 0.7.24-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 (35) hide show
  1. package/dist/client.test.js +164 -0
  2. package/dist/client.test.js.map +1 -1
  3. package/dist/migrations/0164_native_chat_runtime_binding.sql +394 -0
  4. package/dist/migrations/0165_heartbeat_attempt_owner_fencing.sql +10 -0
  5. package/dist/migrations/0166_runtime_binding_targets.sql +38 -0
  6. package/dist/migrations/0167_delegation_run_scene.sql +4 -0
  7. package/dist/migrations/meta/_journal.json +28 -0
  8. package/dist/native-chat-runtime-binding-schema.test.d.ts +2 -0
  9. package/dist/native-chat-runtime-binding-schema.test.d.ts.map +1 -0
  10. package/dist/native-chat-runtime-binding-schema.test.js +107 -0
  11. package/dist/native-chat-runtime-binding-schema.test.js.map +1 -0
  12. package/dist/schema/chat_conversations.d.ts.map +1 -1
  13. package/dist/schema/chat_conversations.js +1 -0
  14. package/dist/schema/chat_conversations.js.map +1 -1
  15. package/dist/schema/heartbeat_run_attempts.d.ts +34 -0
  16. package/dist/schema/heartbeat_run_attempts.d.ts.map +1 -1
  17. package/dist/schema/heartbeat_run_attempts.js +12 -1
  18. package/dist/schema/heartbeat_run_attempts.js.map +1 -1
  19. package/dist/schema/heartbeat_runs.d.ts +87 -0
  20. package/dist/schema/heartbeat_runs.d.ts.map +1 -1
  21. package/dist/schema/heartbeat_runs.js +77 -0
  22. package/dist/schema/heartbeat_runs.js.map +1 -1
  23. package/dist/schema/index.d.ts +2 -0
  24. package/dist/schema/index.d.ts.map +1 -1
  25. package/dist/schema/index.js +2 -0
  26. package/dist/schema/index.js.map +1 -1
  27. package/dist/schema/runtime_bindings.d.ts +1052 -0
  28. package/dist/schema/runtime_bindings.d.ts.map +1 -0
  29. package/dist/schema/runtime_bindings.js +227 -0
  30. package/dist/schema/runtime_bindings.js.map +1 -0
  31. package/dist/schema/runtime_retention.d.ts +589 -0
  32. package/dist/schema/runtime_retention.d.ts.map +1 -0
  33. package/dist/schema/runtime_retention.js +111 -0
  34. package/dist/schema/runtime_retention.js.map +1 -0
  35. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime_bindings.d.ts","sourceRoot":"","sources":["../../src/schema/runtime_bindings.ts"],"names":[],"mappings":"AAuBA,MAAM,MAAM,wBAAwB,GAChC,OAAO,GACP,mBAAmB,GACnB,cAAc,GACd,gBAAgB,GAChB,gBAAgB,GAChB,QAAQ,GACR,QAAQ,CAAC;AAEb;;;;GAIG;AACH,MAAM,MAAM,8BAA8B,GAAG;IAC3C,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC;AAQF;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgH3B,CAAC;AAIF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgE1B,CAAC;AAIF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6F3B,CAAC"}
@@ -0,0 +1,227 @@
1
+ import { sql } from "drizzle-orm";
2
+ import { check, foreignKey, index, integer, jsonb, pgTable, text, timestamp, uniqueIndex, uuid, } from "drizzle-orm/pg-core";
3
+ import { agents } from "./agents.js";
4
+ import { chatConversations } from "./chat_conversations.js";
5
+ import { heartbeatRunAttempts } from "./heartbeat_run_attempts.js";
6
+ import { heartbeatRuns } from "./heartbeat_runs.js";
7
+ import { organizations } from "./organizations.js";
8
+ // Extra-config builders are evaluated after module initialization. Explicitly
9
+ // typed key holders break the mutual runtimeBindings/nativeSegments inference
10
+ // cycle while keeping the actual Drizzle columns as FK targets.
11
+ let runtimeBindingKeyColumns;
12
+ let nativeSegmentKeyColumns;
13
+ /**
14
+ * A product conversation's durable association with one provider-native
15
+ * session lineage. The provider identifier lives on a segment because a
16
+ * runtime may rotate or fork its physical storage without changing the
17
+ * Rudder conversation.
18
+ */
19
+ export const runtimeBindings = pgTable("runtime_bindings", {
20
+ id: uuid("id").primaryKey().defaultRandom(),
21
+ orgId: uuid("org_id").notNull().references(() => organizations.id, { onDelete: "cascade" }),
22
+ /** Nullable for non-Chat scenes; targetType/targetId are the authoritative key there. */
23
+ conversationId: uuid("conversation_id").references(() => chatConversations.id, { onDelete: "cascade" }),
24
+ /** Product target covered by this binding. Legacy Chat rows may omit these and use conversationId. */
25
+ targetType: text("target_type").$type(),
26
+ targetId: text("target_id"),
27
+ /** Stable authorization scope. It is deliberately opaque and is not a provider session id. */
28
+ principalScopeRef: text("principal_scope_ref").notNull(),
29
+ agentId: uuid("agent_id").notNull().references(() => agents.id, { onDelete: "restrict" }),
30
+ runtimeType: text("runtime_type").notNull(),
31
+ hostId: text("host_id").notNull().default("local"),
32
+ profileId: text("profile_id").notNull().default("default"),
33
+ workspaceBindingId: text("workspace_binding_id"),
34
+ instructionsRevision: text("instructions_revision").notNull().default("unknown"),
35
+ capabilityRevision: text("capability_revision").notNull().default("unknown"),
36
+ continuity: text("continuity").$type().notNull().default("native"),
37
+ parentBindingId: uuid("parent_binding_id").references(() => runtimeBindings.id, { onDelete: "set null" }),
38
+ sourceBoundaryRef: text("source_boundary_ref"),
39
+ bindingEpoch: integer("binding_epoch").notNull().default(0),
40
+ currentSegmentId: uuid("current_segment_id"),
41
+ status: text("status").$type().notNull().default("active"),
42
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
43
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
44
+ }, (table) => ({
45
+ /** Exactly one active identity head may serve a conversation. Superseded
46
+ * epochs remain addressable by historical segments/spans. */
47
+ orgConversationUnique: uniqueIndex("runtime_bindings_org_conversation_uq")
48
+ .on(table.orgId, table.conversationId)
49
+ .where(sql `${table.status} = 'active' and ${table.conversationId} is not null`),
50
+ orgConversationEpochUnique: uniqueIndex("runtime_bindings_org_conversation_epoch_uq")
51
+ .on(table.orgId, table.conversationId, table.bindingEpoch),
52
+ orgTargetUnique: uniqueIndex("runtime_bindings_org_target_uq")
53
+ .on(table.orgId, table.targetType, table.targetId)
54
+ .where(sql `${table.status} = 'active' and ${table.targetType} is not null and ${table.targetId} is not null`),
55
+ orgTargetEpochUnique: uniqueIndex("runtime_bindings_org_target_epoch_uq")
56
+ .on(table.orgId, table.targetType, table.targetId, table.bindingEpoch)
57
+ .where(sql `${table.targetType} is not null and ${table.targetId} is not null`),
58
+ orgIdIdUnique: uniqueIndex("runtime_bindings_org_id_uq").on(table.orgId, table.id),
59
+ orgAgentUpdatedIdx: index("runtime_bindings_org_agent_updated_idx").on(table.orgId, table.agentId, table.updatedAt),
60
+ orgCurrentSegmentIdx: index("runtime_bindings_org_current_segment_idx").on(table.orgId, table.currentSegmentId),
61
+ bindingEpochCheck: check("runtime_bindings_binding_epoch_check", sql `${table.bindingEpoch} >= 0`),
62
+ parentBindingNotSelfCheck: check("runtime_bindings_parent_binding_not_self_check", sql `${table.parentBindingId} is null or ${table.parentBindingId} <> ${table.id}`),
63
+ targetShapeCheck: check("runtime_bindings_target_shape_check", sql `(
64
+ (${table.targetType} is null and ${table.targetId} is null and ${table.conversationId} is not null)
65
+ or
66
+ (${table.targetType} is not null and ${table.targetType} = 'chat_conversation'
67
+ and ${table.targetId} is not null
68
+ and btrim(${table.targetId}) <> ''
69
+ and ${table.conversationId} is not null
70
+ and ${table.targetId} = ${table.conversationId}::text)
71
+ or
72
+ (${table.targetType} is not null and ${table.targetType} in ('issue', 'chat_message', 'automation_run', 'wakeup_request', 'manual', 'review')
73
+ and ${table.targetId} is not null
74
+ and btrim(${table.targetId}) <> ''
75
+ and ${table.conversationId} is null)
76
+ )`),
77
+ targetTypeCheck: check("runtime_bindings_target_type_check", sql `${table.targetType} is null or ${table.targetType} in ('issue', 'chat_conversation', 'chat_message', 'automation_run', 'wakeup_request', 'manual', 'review')`),
78
+ continuityCheck: check("runtime_bindings_continuity_check", sql `${table.continuity} in ('native', 'context_handoff', 'legacy')`),
79
+ statusCheck: check("runtime_bindings_status_check", sql `${table.status} in ('active', 'closed', 'superseded')`),
80
+ orgConversationFk: foreignKey({
81
+ name: "runtime_bindings_org_conversation_fk",
82
+ columns: [table.orgId, table.conversationId],
83
+ foreignColumns: [chatConversations.orgId, chatConversations.id],
84
+ }).onDelete("cascade"),
85
+ orgAgentFk: foreignKey({
86
+ name: "runtime_bindings_org_agent_fk",
87
+ columns: [table.orgId, table.agentId],
88
+ foreignColumns: [agents.orgId, agents.id],
89
+ }).onDelete("restrict"),
90
+ parentBindingOrgFk: foreignKey({
91
+ name: "runtime_bindings_parent_binding_org_fk",
92
+ columns: [table.orgId, table.parentBindingId],
93
+ foreignColumns: [runtimeBindingKeyColumns.orgId, runtimeBindingKeyColumns.id],
94
+ }).onDelete("no action"),
95
+ currentSegmentFk: foreignKey({
96
+ name: "runtime_bindings_current_segment_fk",
97
+ columns: [table.currentSegmentId],
98
+ foreignColumns: [nativeSegments.id],
99
+ }).onDelete("set null"),
100
+ currentSegmentBindingFk: foreignKey({
101
+ name: "runtime_bindings_current_segment_binding_fk",
102
+ columns: [table.orgId, table.id, table.currentSegmentId],
103
+ foreignColumns: [
104
+ nativeSegmentKeyColumns.orgId,
105
+ nativeSegmentKeyColumns.bindingId,
106
+ nativeSegmentKeyColumns.id,
107
+ ],
108
+ }).onDelete("no action"),
109
+ }));
110
+ runtimeBindingKeyColumns = runtimeBindings;
111
+ export const nativeSegments = pgTable("native_segments", {
112
+ id: uuid("id").primaryKey().defaultRandom(),
113
+ orgId: uuid("org_id").notNull().references(() => organizations.id, { onDelete: "cascade" }),
114
+ bindingId: uuid("binding_id").notNull().references(() => runtimeBindingKeyColumns.id, { onDelete: "cascade" }),
115
+ runtimeType: text("runtime_type").notNull(),
116
+ segmentOrdinal: integer("segment_ordinal").notNull().default(0),
117
+ nativeSessionId: text("native_session_id"),
118
+ rootSessionId: text("root_session_id"),
119
+ parentSegmentId: uuid("parent_segment_id").references(() => nativeSegments.id, { onDelete: "set null" }),
120
+ leafId: text("leaf_id"),
121
+ providerStateJson: jsonb("provider_state_json").$type(),
122
+ sourceBoundaryRef: text("source_boundary_ref"),
123
+ state: text("state").$type().notNull().default("pending"),
124
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
125
+ sealedAt: timestamp("sealed_at", { withTimezone: true }),
126
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
127
+ }, (table) => ({
128
+ bindingCreatedIdx: index("native_segments_binding_created_idx").on(table.bindingId, table.createdAt),
129
+ bindingOrdinalUnique: uniqueIndex("native_segments_binding_ordinal_uq").on(table.bindingId, table.segmentOrdinal),
130
+ orgIdIdUnique: uniqueIndex("native_segments_org_id_uq").on(table.orgId, table.id),
131
+ orgBindingIdUnique: uniqueIndex("native_segments_org_binding_id_uq").on(table.orgId, table.bindingId, table.id),
132
+ orgNativeSessionIdx: index("native_segments_org_native_session_idx").on(table.orgId, table.nativeSessionId),
133
+ bindingLeafIdx: index("native_segments_binding_leaf_idx").on(table.bindingId, table.leafId),
134
+ segmentOrdinalCheck: check("native_segments_segment_ordinal_check", sql `${table.segmentOrdinal} >= 0`),
135
+ parentSegmentNotSelfCheck: check("native_segments_parent_segment_not_self_check", sql `${table.parentSegmentId} is null or ${table.parentSegmentId} <> ${table.id}`),
136
+ stateCheck: check("native_segments_state_check", sql `${table.state} in ('pending', 'open', 'sealed', 'superseded')`),
137
+ sealedLifecycleCheck: check("native_segments_sealed_lifecycle_check", sql `(
138
+ (${table.state} in ('pending', 'open') and ${table.sealedAt} is null)
139
+ or (${table.state} in ('sealed', 'superseded') and ${table.sealedAt} is not null)
140
+ )`),
141
+ sealedAfterCreateCheck: check("native_segments_sealed_after_create_check", sql `${table.sealedAt} is null or ${table.sealedAt} >= ${table.createdAt}`),
142
+ orgBindingFk: foreignKey({
143
+ name: "native_segments_org_binding_fk",
144
+ columns: [table.orgId, table.bindingId],
145
+ foreignColumns: [runtimeBindingKeyColumns.orgId, runtimeBindingKeyColumns.id],
146
+ }).onDelete("cascade"),
147
+ parentSegmentBindingFk: foreignKey({
148
+ name: "native_segments_parent_segment_binding_fk",
149
+ columns: [table.orgId, table.bindingId, table.parentSegmentId],
150
+ foreignColumns: [
151
+ nativeSegmentKeyColumns.orgId,
152
+ nativeSegmentKeyColumns.bindingId,
153
+ nativeSegmentKeyColumns.id,
154
+ ],
155
+ }).onDelete("no action"),
156
+ }));
157
+ nativeSegmentKeyColumns = nativeSegments;
158
+ export const runRuntimeSpans = pgTable("run_runtime_spans", {
159
+ id: uuid("id").primaryKey().defaultRandom(),
160
+ orgId: uuid("org_id").notNull().references(() => organizations.id, { onDelete: "cascade" }),
161
+ runId: uuid("run_id").notNull().references(() => heartbeatRuns.id, { onDelete: "cascade" }),
162
+ bindingId: uuid("binding_id").notNull().references(() => runtimeBindings.id, { onDelete: "cascade" }),
163
+ segmentId: uuid("segment_id").notNull().references(() => nativeSegments.id, { onDelete: "restrict" }),
164
+ attemptId: uuid("attempt_id").references(() => heartbeatRunAttempts.id, { onDelete: "set null" }),
165
+ attemptRef: text("attempt_ref").notNull(),
166
+ attemptEpoch: integer("attempt_epoch").notNull().default(1),
167
+ ownerToken: text("owner_token").notNull(),
168
+ ordinal: integer("ordinal").notNull().default(0),
169
+ relation: text("relation").$type().notNull().default("primary"),
170
+ nativeExecutionRef: text("native_execution_ref"),
171
+ inputCorrelationRef: text("input_correlation_ref"),
172
+ selectorJson: jsonb("selector_json").$type().notNull().default({}),
173
+ sourceRevision: text("source_revision"),
174
+ state: text("state").$type().notNull().default("open"),
175
+ completeness: text("completeness").$type().notNull().default("unknown"),
176
+ visibilityCutoffRef: text("visibility_cutoff_ref"),
177
+ supplementalObjectRef: text("supplemental_object_ref"),
178
+ openedAt: timestamp("opened_at", { withTimezone: true }).notNull().defaultNow(),
179
+ closedAt: timestamp("closed_at", { withTimezone: true }),
180
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
181
+ }, (table) => ({
182
+ orgRunOrdinalUnique: uniqueIndex("run_runtime_spans_org_run_ordinal_uq").on(table.orgId, table.runId, table.ordinal),
183
+ orgRunIdx: index("run_runtime_spans_org_run_idx").on(table.orgId, table.runId, table.openedAt),
184
+ bindingSegmentIdx: index("run_runtime_spans_binding_segment_idx").on(table.bindingId, table.segmentId, table.openedAt),
185
+ openSpanIdx: index("run_runtime_spans_open_idx").on(table.state, table.updatedAt),
186
+ attemptEpochCheck: check("run_runtime_spans_attempt_epoch_check", sql `${table.attemptEpoch} > 0`),
187
+ ordinalCheck: check("run_runtime_spans_ordinal_check", sql `${table.ordinal} >= 0`),
188
+ relationCheck: check("run_runtime_spans_relation_check", sql `${table.relation} in ('primary', 'continuation', 'native_subagent')`),
189
+ stateCheck: check("run_runtime_spans_state_check", sql `${table.state} in ('open', 'sealed', 'unresolved')`),
190
+ completenessCheck: check("run_runtime_spans_completeness_check", sql `${table.completeness} in ('complete', 'partial', 'terminal_only', 'unknown')`),
191
+ closedLifecycleCheck: check("run_runtime_spans_closed_lifecycle_check", sql `(
192
+ (${table.state} = 'open' and ${table.closedAt} is null)
193
+ or (${table.state} in ('sealed', 'unresolved') and ${table.closedAt} is not null)
194
+ )`),
195
+ closedAfterOpenCheck: check("run_runtime_spans_closed_after_open_check", sql `${table.closedAt} is null or ${table.closedAt} >= ${table.openedAt}`),
196
+ orgRunFk: foreignKey({
197
+ name: "run_runtime_spans_org_run_fk",
198
+ columns: [table.orgId, table.runId],
199
+ foreignColumns: [heartbeatRuns.orgId, heartbeatRuns.id],
200
+ }).onDelete("cascade"),
201
+ orgBindingFk: foreignKey({
202
+ name: "run_runtime_spans_org_binding_fk",
203
+ columns: [table.orgId, table.bindingId],
204
+ foreignColumns: [runtimeBindings.orgId, runtimeBindings.id],
205
+ }).onDelete("cascade"),
206
+ orgSegmentFk: foreignKey({
207
+ name: "run_runtime_spans_org_segment_fk",
208
+ columns: [table.orgId, table.segmentId],
209
+ foreignColumns: [nativeSegments.orgId, nativeSegments.id],
210
+ }).onDelete("restrict"),
211
+ orgAttemptFk: foreignKey({
212
+ name: "run_runtime_spans_org_attempt_fk",
213
+ columns: [table.orgId, table.attemptId],
214
+ foreignColumns: [heartbeatRunAttempts.orgId, heartbeatRunAttempts.id],
215
+ }).onDelete("no action"),
216
+ bindingSegmentFk: foreignKey({
217
+ name: "run_runtime_spans_binding_segment_fk",
218
+ columns: [table.orgId, table.bindingId, table.segmentId],
219
+ foreignColumns: [nativeSegments.orgId, nativeSegments.bindingId, nativeSegments.id],
220
+ }).onDelete("no action"),
221
+ runAttemptFk: foreignKey({
222
+ name: "run_runtime_spans_run_attempt_fk",
223
+ columns: [table.orgId, table.runId, table.attemptId],
224
+ foreignColumns: [heartbeatRunAttempts.orgId, heartbeatRunAttempts.runId, heartbeatRunAttempts.id],
225
+ }).onDelete("no action"),
226
+ }));
227
+ //# sourceMappingURL=runtime_bindings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime_bindings.js","sourceRoot":"","sources":["../../src/schema/runtime_bindings.ts"],"names":[],"mappings":"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"}