@automagik/omni 2.260503.1 → 2.260504.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.
@@ -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
  }