@automagik/omni 2.260502.2 → 2.260503.2
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.
- package/db/drizzle/0036_timestamptz_migration.sql +150 -0
- package/db/drizzle/meta/_journal.json +7 -0
- package/dist/index.js +100 -100
- package/dist/server/index.js +770 -134
- package/package.json +10 -10
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
-- Migration 0036: Convert all TZ-naive timestamps to timestamptz
|
|
2
|
+
--
|
|
3
|
+
-- ROOT CAUSE: timestamp without time zone strips offset on write.
|
|
4
|
+
-- PG NOW() in session TZ + JS new Date() in UTC produced literal wall-clock
|
|
5
|
+
-- values 3h apart on canonical pgserve (America/Sao_Paulo).
|
|
6
|
+
-- Symptom: turn-monitor read closed_at - started_at = 10800s and force-closed
|
|
7
|
+
-- every fresh turn before the agent could respond.
|
|
8
|
+
--
|
|
9
|
+
-- USING strategy per column:
|
|
10
|
+
-- defaultNow() columns -> wall-clock is in current session TZ -> AT TIME ZONE current_setting('TimeZone')
|
|
11
|
+
-- nullable columns set by JS -> wall-clock is UTC -> AT TIME ZONE 'UTC'
|
|
12
|
+
|
|
13
|
+
BEGIN;
|
|
14
|
+
|
|
15
|
+
-- Table: access_rules
|
|
16
|
+
ALTER TABLE "access_rules" ALTER COLUMN "created_at" TYPE timestamptz USING "created_at" AT TIME ZONE current_setting('TimeZone');
|
|
17
|
+
ALTER TABLE "access_rules" ALTER COLUMN "expires_at" TYPE timestamptz USING "expires_at" AT TIME ZONE 'UTC';
|
|
18
|
+
ALTER TABLE "access_rules" ALTER COLUMN "updated_at" TYPE timestamptz USING "updated_at" AT TIME ZONE current_setting('TimeZone');
|
|
19
|
+
-- Table: agent_providers
|
|
20
|
+
ALTER TABLE "agent_providers" ALTER COLUMN "created_at" TYPE timestamptz USING "created_at" AT TIME ZONE current_setting('TimeZone');
|
|
21
|
+
ALTER TABLE "agent_providers" ALTER COLUMN "last_health_check" TYPE timestamptz USING "last_health_check" AT TIME ZONE 'UTC';
|
|
22
|
+
ALTER TABLE "agent_providers" ALTER COLUMN "updated_at" TYPE timestamptz USING "updated_at" AT TIME ZONE current_setting('TimeZone');
|
|
23
|
+
-- Table: agent_routes
|
|
24
|
+
ALTER TABLE "agent_routes" ALTER COLUMN "created_at" TYPE timestamptz USING "created_at" AT TIME ZONE current_setting('TimeZone');
|
|
25
|
+
ALTER TABLE "agent_routes" ALTER COLUMN "updated_at" TYPE timestamptz USING "updated_at" AT TIME ZONE current_setting('TimeZone');
|
|
26
|
+
-- Table: agent_sessions
|
|
27
|
+
ALTER TABLE "agent_sessions" ALTER COLUMN "created_at" TYPE timestamptz USING "created_at" AT TIME ZONE current_setting('TimeZone');
|
|
28
|
+
ALTER TABLE "agent_sessions" ALTER COLUMN "expires_at" TYPE timestamptz USING "expires_at" AT TIME ZONE 'UTC';
|
|
29
|
+
ALTER TABLE "agent_sessions" ALTER COLUMN "last_used_at" TYPE timestamptz USING "last_used_at" AT TIME ZONE current_setting('TimeZone');
|
|
30
|
+
ALTER TABLE "agent_sessions" ALTER COLUMN "updated_at" TYPE timestamptz USING "updated_at" AT TIME ZONE current_setting('TimeZone');
|
|
31
|
+
-- Table: agent_tasks
|
|
32
|
+
ALTER TABLE "agent_tasks" ALTER COLUMN "completed_at" TYPE timestamptz USING "completed_at" AT TIME ZONE 'UTC';
|
|
33
|
+
ALTER TABLE "agent_tasks" ALTER COLUMN "created_at" TYPE timestamptz USING "created_at" AT TIME ZONE current_setting('TimeZone');
|
|
34
|
+
ALTER TABLE "agent_tasks" ALTER COLUMN "started_at" TYPE timestamptz USING "started_at" AT TIME ZONE 'UTC';
|
|
35
|
+
-- Table: agents
|
|
36
|
+
ALTER TABLE "agents" ALTER COLUMN "created_at" TYPE timestamptz USING "created_at" AT TIME ZONE current_setting('TimeZone');
|
|
37
|
+
ALTER TABLE "agents" ALTER COLUMN "updated_at" TYPE timestamptz USING "updated_at" AT TIME ZONE current_setting('TimeZone');
|
|
38
|
+
-- Table: api_key_audit_logs
|
|
39
|
+
ALTER TABLE "api_key_audit_logs" ALTER COLUMN "timestamp" TYPE timestamptz USING "timestamp" AT TIME ZONE current_setting('TimeZone');
|
|
40
|
+
-- Table: api_keys
|
|
41
|
+
ALTER TABLE "api_keys" ALTER COLUMN "context_updated_at" TYPE timestamptz USING "context_updated_at" AT TIME ZONE 'UTC';
|
|
42
|
+
ALTER TABLE "api_keys" ALTER COLUMN "created_at" TYPE timestamptz USING "created_at" AT TIME ZONE current_setting('TimeZone');
|
|
43
|
+
ALTER TABLE "api_keys" ALTER COLUMN "expires_at" TYPE timestamptz USING "expires_at" AT TIME ZONE 'UTC';
|
|
44
|
+
ALTER TABLE "api_keys" ALTER COLUMN "last_used_at" TYPE timestamptz USING "last_used_at" AT TIME ZONE 'UTC';
|
|
45
|
+
ALTER TABLE "api_keys" ALTER COLUMN "revoked_at" TYPE timestamptz USING "revoked_at" AT TIME ZONE 'UTC';
|
|
46
|
+
ALTER TABLE "api_keys" ALTER COLUMN "updated_at" TYPE timestamptz USING "updated_at" AT TIME ZONE current_setting('TimeZone');
|
|
47
|
+
-- Table: automation_logs
|
|
48
|
+
ALTER TABLE "automation_logs" ALTER COLUMN "created_at" TYPE timestamptz USING "created_at" AT TIME ZONE current_setting('TimeZone');
|
|
49
|
+
-- Table: automations
|
|
50
|
+
ALTER TABLE "automations" ALTER COLUMN "created_at" TYPE timestamptz USING "created_at" AT TIME ZONE current_setting('TimeZone');
|
|
51
|
+
ALTER TABLE "automations" ALTER COLUMN "updated_at" TYPE timestamptz USING "updated_at" AT TIME ZONE current_setting('TimeZone');
|
|
52
|
+
-- Table: batch_jobs
|
|
53
|
+
ALTER TABLE "batch_jobs" ALTER COLUMN "completed_at" TYPE timestamptz USING "completed_at" AT TIME ZONE 'UTC';
|
|
54
|
+
ALTER TABLE "batch_jobs" ALTER COLUMN "created_at" TYPE timestamptz USING "created_at" AT TIME ZONE current_setting('TimeZone');
|
|
55
|
+
ALTER TABLE "batch_jobs" ALTER COLUMN "started_at" TYPE timestamptz USING "started_at" AT TIME ZONE 'UTC';
|
|
56
|
+
-- Table: chat_id_mappings
|
|
57
|
+
ALTER TABLE "chat_id_mappings" ALTER COLUMN "discovered_at" TYPE timestamptz USING "discovered_at" AT TIME ZONE current_setting('TimeZone');
|
|
58
|
+
-- Table: chat_participants
|
|
59
|
+
ALTER TABLE "chat_participants" ALTER COLUMN "created_at" TYPE timestamptz USING "created_at" AT TIME ZONE current_setting('TimeZone');
|
|
60
|
+
ALTER TABLE "chat_participants" ALTER COLUMN "joined_at" TYPE timestamptz USING "joined_at" AT TIME ZONE current_setting('TimeZone');
|
|
61
|
+
ALTER TABLE "chat_participants" ALTER COLUMN "last_seen_at" TYPE timestamptz USING "last_seen_at" AT TIME ZONE 'UTC';
|
|
62
|
+
ALTER TABLE "chat_participants" ALTER COLUMN "left_at" TYPE timestamptz USING "left_at" AT TIME ZONE 'UTC';
|
|
63
|
+
ALTER TABLE "chat_participants" ALTER COLUMN "updated_at" TYPE timestamptz USING "updated_at" AT TIME ZONE current_setting('TimeZone');
|
|
64
|
+
-- Table: chats
|
|
65
|
+
ALTER TABLE "chats" ALTER COLUMN "archived_at" TYPE timestamptz USING "archived_at" AT TIME ZONE 'UTC';
|
|
66
|
+
ALTER TABLE "chats" ALTER COLUMN "created_at" TYPE timestamptz USING "created_at" AT TIME ZONE current_setting('TimeZone');
|
|
67
|
+
ALTER TABLE "chats" ALTER COLUMN "deleted_at" TYPE timestamptz USING "deleted_at" AT TIME ZONE 'UTC';
|
|
68
|
+
ALTER TABLE "chats" ALTER COLUMN "last_message_at" TYPE timestamptz USING "last_message_at" AT TIME ZONE 'UTC';
|
|
69
|
+
ALTER TABLE "chats" ALTER COLUMN "updated_at" TYPE timestamptz USING "updated_at" AT TIME ZONE current_setting('TimeZone');
|
|
70
|
+
-- Table: consumer_offsets
|
|
71
|
+
ALTER TABLE "consumer_offsets" ALTER COLUMN "updated_at" TYPE timestamptz USING "updated_at" AT TIME ZONE current_setting('TimeZone');
|
|
72
|
+
-- Table: conversations
|
|
73
|
+
ALTER TABLE "conversations" ALTER COLUMN "created_at" TYPE timestamptz USING "created_at" AT TIME ZONE current_setting('TimeZone');
|
|
74
|
+
ALTER TABLE "conversations" ALTER COLUMN "updated_at" TYPE timestamptz USING "updated_at" AT TIME ZONE current_setting('TimeZone');
|
|
75
|
+
-- Table: dead_letter_events
|
|
76
|
+
ALTER TABLE "dead_letter_events" ALTER COLUMN "created_at" TYPE timestamptz USING "created_at" AT TIME ZONE current_setting('TimeZone');
|
|
77
|
+
ALTER TABLE "dead_letter_events" ALTER COLUMN "last_retry_at" TYPE timestamptz USING "last_retry_at" AT TIME ZONE 'UTC';
|
|
78
|
+
ALTER TABLE "dead_letter_events" ALTER COLUMN "next_auto_retry_at" TYPE timestamptz USING "next_auto_retry_at" AT TIME ZONE 'UTC';
|
|
79
|
+
ALTER TABLE "dead_letter_events" ALTER COLUMN "resolved_at" TYPE timestamptz USING "resolved_at" AT TIME ZONE 'UTC';
|
|
80
|
+
-- Table: event_payloads
|
|
81
|
+
ALTER TABLE "event_payloads" ALTER COLUMN "deleted_at" TYPE timestamptz USING "deleted_at" AT TIME ZONE 'UTC';
|
|
82
|
+
ALTER TABLE "event_payloads" ALTER COLUMN "timestamp" TYPE timestamptz USING "timestamp" AT TIME ZONE current_setting('TimeZone');
|
|
83
|
+
-- Table: genie_hosts
|
|
84
|
+
ALTER TABLE "genie_hosts" ALTER COLUMN "created_at" TYPE timestamptz USING "created_at" AT TIME ZONE current_setting('TimeZone');
|
|
85
|
+
ALTER TABLE "genie_hosts" ALTER COLUMN "last_seen_at" TYPE timestamptz USING "last_seen_at" AT TIME ZONE 'UTC';
|
|
86
|
+
ALTER TABLE "genie_hosts" ALTER COLUMN "revoked_at" TYPE timestamptz USING "revoked_at" AT TIME ZONE 'UTC';
|
|
87
|
+
ALTER TABLE "genie_hosts" ALTER COLUMN "updated_at" TYPE timestamptz USING "updated_at" AT TIME ZONE current_setting('TimeZone');
|
|
88
|
+
-- Table: global_settings
|
|
89
|
+
ALTER TABLE "global_settings" ALTER COLUMN "created_at" TYPE timestamptz USING "created_at" AT TIME ZONE current_setting('TimeZone');
|
|
90
|
+
ALTER TABLE "global_settings" ALTER COLUMN "updated_at" TYPE timestamptz USING "updated_at" AT TIME ZONE current_setting('TimeZone');
|
|
91
|
+
-- Table: handoff_logs
|
|
92
|
+
ALTER TABLE "handoff_logs" ALTER COLUMN "sent_at" TYPE timestamptz USING "sent_at" AT TIME ZONE current_setting('TimeZone');
|
|
93
|
+
-- Table: instances
|
|
94
|
+
ALTER TABLE "instances" ALTER COLUMN "created_at" TYPE timestamptz USING "created_at" AT TIME ZONE current_setting('TimeZone');
|
|
95
|
+
ALTER TABLE "instances" ALTER COLUMN "last_message_at" TYPE timestamptz USING "last_message_at" AT TIME ZONE 'UTC';
|
|
96
|
+
ALTER TABLE "instances" ALTER COLUMN "last_seen_at" TYPE timestamptz USING "last_seen_at" AT TIME ZONE 'UTC';
|
|
97
|
+
ALTER TABLE "instances" ALTER COLUMN "profile_synced_at" TYPE timestamptz USING "profile_synced_at" AT TIME ZONE 'UTC';
|
|
98
|
+
ALTER TABLE "instances" ALTER COLUMN "updated_at" TYPE timestamptz USING "updated_at" AT TIME ZONE current_setting('TimeZone');
|
|
99
|
+
-- Table: media_content
|
|
100
|
+
ALTER TABLE "media_content" ALTER COLUMN "created_at" TYPE timestamptz USING "created_at" AT TIME ZONE current_setting('TimeZone');
|
|
101
|
+
-- Table: messages
|
|
102
|
+
ALTER TABLE "messages" ALTER COLUMN "created_at" TYPE timestamptz USING "created_at" AT TIME ZONE current_setting('TimeZone');
|
|
103
|
+
ALTER TABLE "messages" ALTER COLUMN "deleted_at" TYPE timestamptz USING "deleted_at" AT TIME ZONE 'UTC';
|
|
104
|
+
ALTER TABLE "messages" ALTER COLUMN "edited_at" TYPE timestamptz USING "edited_at" AT TIME ZONE 'UTC';
|
|
105
|
+
ALTER TABLE "messages" ALTER COLUMN "platform_timestamp" TYPE timestamptz USING "platform_timestamp" AT TIME ZONE 'UTC';
|
|
106
|
+
ALTER TABLE "messages" ALTER COLUMN "received_at" TYPE timestamptz USING "received_at" AT TIME ZONE current_setting('TimeZone');
|
|
107
|
+
ALTER TABLE "messages" ALTER COLUMN "updated_at" TYPE timestamptz USING "updated_at" AT TIME ZONE current_setting('TimeZone');
|
|
108
|
+
-- Table: omni_events
|
|
109
|
+
ALTER TABLE "omni_events" ALTER COLUMN "created_at" TYPE timestamptz USING "created_at" AT TIME ZONE current_setting('TimeZone');
|
|
110
|
+
ALTER TABLE "omni_events" ALTER COLUMN "delivered_at" TYPE timestamptz USING "delivered_at" AT TIME ZONE 'UTC';
|
|
111
|
+
ALTER TABLE "omni_events" ALTER COLUMN "processed_at" TYPE timestamptz USING "processed_at" AT TIME ZONE 'UTC';
|
|
112
|
+
ALTER TABLE "omni_events" ALTER COLUMN "read_at" TYPE timestamptz USING "read_at" AT TIME ZONE 'UTC';
|
|
113
|
+
ALTER TABLE "omni_events" ALTER COLUMN "received_at" TYPE timestamptz USING "received_at" AT TIME ZONE current_setting('TimeZone');
|
|
114
|
+
-- Table: omni_groups
|
|
115
|
+
ALTER TABLE "omni_groups" ALTER COLUMN "created_at" TYPE timestamptz USING "created_at" AT TIME ZONE current_setting('TimeZone');
|
|
116
|
+
ALTER TABLE "omni_groups" ALTER COLUMN "synced_at" TYPE timestamptz USING "synced_at" AT TIME ZONE current_setting('TimeZone');
|
|
117
|
+
ALTER TABLE "omni_groups" ALTER COLUMN "updated_at" TYPE timestamptz USING "updated_at" AT TIME ZONE current_setting('TimeZone');
|
|
118
|
+
-- Table: payload_storage_config
|
|
119
|
+
ALTER TABLE "payload_storage_config" ALTER COLUMN "created_at" TYPE timestamptz USING "created_at" AT TIME ZONE current_setting('TimeZone');
|
|
120
|
+
ALTER TABLE "payload_storage_config" ALTER COLUMN "updated_at" TYPE timestamptz USING "updated_at" AT TIME ZONE current_setting('TimeZone');
|
|
121
|
+
-- Table: persons
|
|
122
|
+
ALTER TABLE "persons" ALTER COLUMN "created_at" TYPE timestamptz USING "created_at" AT TIME ZONE current_setting('TimeZone');
|
|
123
|
+
ALTER TABLE "persons" ALTER COLUMN "updated_at" TYPE timestamptz USING "updated_at" AT TIME ZONE current_setting('TimeZone');
|
|
124
|
+
-- Table: platform_identities
|
|
125
|
+
ALTER TABLE "platform_identities" ALTER COLUMN "created_at" TYPE timestamptz USING "created_at" AT TIME ZONE current_setting('TimeZone');
|
|
126
|
+
ALTER TABLE "platform_identities" ALTER COLUMN "first_seen_at" TYPE timestamptz USING "first_seen_at" AT TIME ZONE current_setting('TimeZone');
|
|
127
|
+
ALTER TABLE "platform_identities" ALTER COLUMN "last_seen_at" TYPE timestamptz USING "last_seen_at" AT TIME ZONE 'UTC';
|
|
128
|
+
ALTER TABLE "platform_identities" ALTER COLUMN "updated_at" TYPE timestamptz USING "updated_at" AT TIME ZONE current_setting('TimeZone');
|
|
129
|
+
-- Table: plugin_storage
|
|
130
|
+
ALTER TABLE "plugin_storage" ALTER COLUMN "created_at" TYPE timestamptz USING "created_at" AT TIME ZONE current_setting('TimeZone');
|
|
131
|
+
ALTER TABLE "plugin_storage" ALTER COLUMN "expires_at" TYPE timestamptz USING "expires_at" AT TIME ZONE 'UTC';
|
|
132
|
+
ALTER TABLE "plugin_storage" ALTER COLUMN "updated_at" TYPE timestamptz USING "updated_at" AT TIME ZONE current_setting('TimeZone');
|
|
133
|
+
-- Table: processed_events
|
|
134
|
+
ALTER TABLE "processed_events" ALTER COLUMN "processed_at" TYPE timestamptz USING "processed_at" AT TIME ZONE current_setting('TimeZone');
|
|
135
|
+
-- Table: setting_change_history
|
|
136
|
+
ALTER TABLE "setting_change_history" ALTER COLUMN "changed_at" TYPE timestamptz USING "changed_at" AT TIME ZONE current_setting('TimeZone');
|
|
137
|
+
-- Table: sync_jobs
|
|
138
|
+
ALTER TABLE "sync_jobs" ALTER COLUMN "completed_at" TYPE timestamptz USING "completed_at" AT TIME ZONE 'UTC';
|
|
139
|
+
ALTER TABLE "sync_jobs" ALTER COLUMN "created_at" TYPE timestamptz USING "created_at" AT TIME ZONE current_setting('TimeZone');
|
|
140
|
+
ALTER TABLE "sync_jobs" ALTER COLUMN "started_at" TYPE timestamptz USING "started_at" AT TIME ZONE 'UTC';
|
|
141
|
+
-- Table: turns
|
|
142
|
+
ALTER TABLE "turns" ALTER COLUMN "closed_at" TYPE timestamptz USING "closed_at" AT TIME ZONE 'UTC';
|
|
143
|
+
ALTER TABLE "turns" ALTER COLUMN "last_activity_at" TYPE timestamptz USING "last_activity_at" AT TIME ZONE current_setting('TimeZone');
|
|
144
|
+
ALTER TABLE "turns" ALTER COLUMN "started_at" TYPE timestamptz USING "started_at" AT TIME ZONE current_setting('TimeZone');
|
|
145
|
+
-- Table: webhook_sources
|
|
146
|
+
ALTER TABLE "webhook_sources" ALTER COLUMN "created_at" TYPE timestamptz USING "created_at" AT TIME ZONE current_setting('TimeZone');
|
|
147
|
+
ALTER TABLE "webhook_sources" ALTER COLUMN "last_received_at" TYPE timestamptz USING "last_received_at" AT TIME ZONE 'UTC';
|
|
148
|
+
ALTER TABLE "webhook_sources" ALTER COLUMN "updated_at" TYPE timestamptz USING "updated_at" AT TIME ZONE current_setting('TimeZone');
|
|
149
|
+
|
|
150
|
+
COMMIT;
|
|
@@ -253,6 +253,13 @@
|
|
|
253
253
|
"when": 1777770000000,
|
|
254
254
|
"tag": "0035_unstick_redirected_sac_terminals",
|
|
255
255
|
"breakpoints": true
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
"idx": 36,
|
|
259
|
+
"version": "7",
|
|
260
|
+
"when": 1777860000000,
|
|
261
|
+
"tag": "0036_timestamptz_migration",
|
|
262
|
+
"breakpoints": true
|
|
256
263
|
}
|
|
257
264
|
]
|
|
258
265
|
}
|