@pasko70/pibo 1.4.1 → 1.4.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/README.md +183 -183
- package/context/codex-base-prompt.md +148 -148
- package/context/compute-worker.md +23 -23
- package/context/pibo-compaction-prompt.md +100 -100
- package/context/pibo-native-tooling.md +18 -18
- package/context/pibo-system-prompt.md +77 -77
- package/dist/apps/chat/agent-store.js +82 -82
- package/dist/apps/chat/data/project-service.js +166 -166
- package/dist/apps/chat/data/read-state-service.js +18 -18
- package/dist/apps/chat/data/timeline-query-service.js +8 -8
- package/dist/apps/chat/model-catalog.js +5 -1
- package/dist/apps/chat/static-assets.js +853 -853
- package/dist/apps/chat/workflow-persistence.js +255 -255
- package/dist/apps/chat-ui/assets/{dist-7YaJd19a.js → dist-B2BEpL7n.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-CiYeO8nN.js → dist-BAGS_xkV.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-BIvPnn_C.js → dist-BAXNalar.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-CjSI6y5z.js → dist-BwUvs6Ph.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-Ubstha8t.js → dist-C0zsJ8II.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-KXCMNKIL.js → dist-C3PnEkhb.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-CVQU42Fn.js → dist-CYPL-B2Z.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-BbNE72h8.js → dist-CiDSXgtg.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-D7TCkoFT.js → dist-DnACFKyO.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-ChSZNqKE.js → dist-ZB1-ui2y.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-8Noo5eCN.js → dist-vKlxFkTa.js} +1 -1
- package/dist/apps/chat-ui/assets/{index-CmxtUVG1.js → index-0x7tuTNX.js} +3 -3
- package/dist/apps/chat-ui/assets/{index-C25VYnyb.css → index-B-qaya1G.css} +1 -1
- package/dist/apps/chat-ui/index.html +18 -18
- package/dist/apps/chat-ui/manifest.webmanifest +25 -25
- package/dist/apps/chat-ui/sw.js +41 -41
- package/dist/apps/chat-vscode-web/index.html +12 -12
- package/dist/apps/cli-ui/cliSessionsCommand.js +23 -23
- package/dist/apps/context-files-ui/index.html +11 -11
- package/dist/apps/vscode-artifacts/latest.vsix +0 -0
- package/dist/apps/vscode-artifacts/{pibo-vscode-ext-1.4.1.vsix → pibo-vscode-ext-1.4.2.vsix} +0 -0
- package/dist/bin/pibo.js +0 -0
- package/dist/bin/rg.js +0 -0
- package/dist/cli.js +35 -35
- package/dist/compute/cli.js +54 -54
- package/dist/core/runtime.js +2 -0
- package/dist/core/session-router.js +1 -0
- package/dist/cron/cli.js +15 -15
- package/dist/cron/store.js +49 -49
- package/dist/data/cli.js +23 -23
- package/dist/data/event-log.js +23 -23
- package/dist/data/message-store.js +20 -20
- package/dist/data/navigation-store.js +9 -9
- package/dist/data/observation-store.js +4 -4
- package/dist/data/payload-store.js +17 -17
- package/dist/data/schema.js +429 -429
- package/dist/data/session-store.js +4 -4
- package/dist/data/telemetry-queries.js +54 -54
- package/dist/data/telemetry.js +156 -156
- package/dist/debug/events.js +12 -12
- package/dist/debug/failures.js +6 -6
- package/dist/debug/index.js +207 -207
- package/dist/debug/messages.js +6 -6
- package/dist/debug/pty.js +124 -124
- package/dist/debug/session.js +29 -29
- package/dist/debug/tools.js +5 -5
- package/dist/debug/web-snapshot-browser-scripts.js +294 -294
- package/dist/debug/web-streaming-browser-library.js +925 -925
- package/dist/debug/web-streaming-browser-scripts.js +232 -232
- package/dist/debug/web-streaming-provider-telemetry.js +4 -4
- package/dist/debug/web.js +93 -93
- package/dist/gateway/cli.js +19 -19
- package/dist/mcp/config-command.js +53 -53
- package/dist/mcp/index.js +21 -21
- package/dist/mcp/registry.js +11 -11
- package/dist/pi-packages/cli.js +11 -11
- package/dist/plugins/context-files-store.js +110 -110
- package/dist/plugins/context-files.js +4 -4
- package/dist/providers/glm.js +59 -0
- package/dist/ralph/cli.js +18 -18
- package/dist/ralph/templates.js +140 -140
- package/dist/reliability/store.js +226 -226
- package/dist/sessions/pibo-data-store.js +16 -16
- package/dist/sessions/sqlite-store.js +53 -53
- package/dist/setup/cli.js +58 -58
- package/dist/tools/agent-browser-wrapper.js +80 -80
- package/dist/tools/browser-use-cdp.js +12 -12
- package/dist/tools/browser-use-wrapper.js +762 -762
- package/dist/tools/guides.js +455 -455
- package/dist/tools/index.js +99 -99
- package/dist/tools/runtime/node-worker-source.js +205 -205
- package/dist/tools/runtime/python-worker-source.js +177 -177
- package/dist/vscode/cli.js +9 -9
- package/dist/web-annotations/cdp.js +900 -900
- package/dist/web-annotations/store.js +96 -96
- package/docs/README.md +23 -23
- package/docs/ops/install-developer-host.md +112 -112
- package/docs/ops/install-user-host.md +96 -96
- package/docs/ops/upgrade-user-to-developer-host.md +69 -69
- package/docs/ops/vscode-extension-release.md +160 -160
- package/package.json +1 -1
- package/skills/builtin/pi-agent-harness/SKILL.md +319 -319
- package/skills/builtin/pi-agent-harness/agents/openai.yaml +4 -4
- package/skills/builtin/pibo-docker-system/SKILL.md +170 -170
- package/skills/builtin/pibo-spec-writing/SKILL.md +330 -330
- package/skills/builtin/prd/SKILL.md +143 -143
- package/skills/builtin/ralph-loop/SKILL.md +359 -359
- package/skills/builtin/ralph-prd-json/SKILL.md +123 -123
- package/skills/builtin/skill-creator/LICENSE.txt +201 -201
- package/skills/builtin/skill-creator/SKILL.md +513 -513
- package/skills/builtin/skill-creator/agents/analyzer.md +274 -274
- package/skills/builtin/skill-creator/agents/comparator.md +202 -202
- package/skills/builtin/skill-creator/agents/grader.md +223 -223
- package/skills/builtin/skill-creator/assets/eval_review.html +146 -146
- package/skills/builtin/skill-creator/eval-viewer/generate_review.py +471 -471
- package/skills/builtin/skill-creator/eval-viewer/viewer.html +1325 -1325
- package/skills/builtin/skill-creator/references/schemas.md +430 -430
- package/skills/builtin/skill-creator/scripts/aggregate_benchmark.py +401 -401
- package/skills/builtin/skill-creator/scripts/generate_report.py +326 -326
- package/skills/builtin/skill-creator/scripts/improve_description.py +247 -247
- package/skills/builtin/skill-creator/scripts/package_skill.py +136 -136
- package/skills/builtin/skill-creator/scripts/quick_validate.py +102 -102
- package/skills/builtin/skill-creator/scripts/run_eval.py +310 -310
- package/skills/builtin/skill-creator/scripts/run_loop.py +328 -328
- package/skills/builtin/skill-creator/scripts/utils.py +47 -47
- package/skills/builtin/web-annotations/SKILL.md +93 -93
- package/src/mcp/LICENSE.mcp-cli +21 -21
- package/dist/apps/vscode-artifacts/pibo-vscode-1.3.0.vsix +0 -0
- package/dist/apps/vscode-artifacts/pibo-vscode-ext-1.3.3.vsix +0 -0
- package/dist/apps/vscode-artifacts/pibo-vscode-ext-1.3.4.vsix +0 -0
- package/dist/apps/vscode-artifacts/pibo-vscode-ext-1.3.5.vsix +0 -0
- package/dist/core/shared-app.js +0 -17
- package/dist/data/final-app-space-cutover-migration.js +0 -728
- package/dist/data/shared-app-migration.js +0 -757
- package/dist/session-ui/ownerViewModel.js +0 -27
- package/dist/shared-app.js +0 -4
package/dist/data/schema.js
CHANGED
|
@@ -1,434 +1,434 @@
|
|
|
1
1
|
export const PIBO_DATA_SCHEMA_VERSION = 3;
|
|
2
2
|
export function applyPiboDataSchema(db) {
|
|
3
|
-
db.exec(`
|
|
4
|
-
CREATE TABLE IF NOT EXISTS sessions (
|
|
5
|
-
id TEXT PRIMARY KEY,
|
|
6
|
-
pi_session_id TEXT UNIQUE,
|
|
7
|
-
room_id TEXT,
|
|
8
|
-
root_session_id TEXT,
|
|
9
|
-
parent_id TEXT,
|
|
10
|
-
origin_id TEXT,
|
|
11
|
-
channel TEXT NOT NULL,
|
|
12
|
-
kind TEXT NOT NULL,
|
|
13
|
-
profile TEXT NOT NULL,
|
|
14
|
-
active_model_json TEXT,
|
|
15
|
-
workspace TEXT,
|
|
16
|
-
title TEXT NOT NULL DEFAULT 'Untitled Session',
|
|
17
|
-
first_message_preview TEXT,
|
|
18
|
-
status TEXT NOT NULL DEFAULT 'idle',
|
|
19
|
-
archived_at TEXT,
|
|
20
|
-
deleted_at TEXT,
|
|
21
|
-
metadata_json TEXT NOT NULL DEFAULT '{}',
|
|
22
|
-
created_at TEXT NOT NULL,
|
|
23
|
-
updated_at TEXT NOT NULL,
|
|
24
|
-
last_activity_at TEXT NOT NULL
|
|
25
|
-
);
|
|
26
|
-
|
|
27
|
-
CREATE TABLE IF NOT EXISTS rooms (
|
|
28
|
-
id TEXT PRIMARY KEY,
|
|
29
|
-
name TEXT NOT NULL,
|
|
30
|
-
topic TEXT,
|
|
31
|
-
type TEXT NOT NULL,
|
|
32
|
-
parent_room_id TEXT,
|
|
33
|
-
workspace TEXT,
|
|
34
|
-
archived_at TEXT,
|
|
35
|
-
retention_policy_id TEXT,
|
|
36
|
-
metadata_json TEXT NOT NULL DEFAULT '{}',
|
|
37
|
-
created_at TEXT NOT NULL,
|
|
38
|
-
updated_at TEXT NOT NULL
|
|
39
|
-
);
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
CREATE TABLE IF NOT EXISTS payloads (
|
|
43
|
-
id TEXT PRIMARY KEY,
|
|
44
|
-
sha256 TEXT NOT NULL UNIQUE,
|
|
45
|
-
storage_kind TEXT NOT NULL,
|
|
46
|
-
storage_path TEXT,
|
|
47
|
-
content_type TEXT NOT NULL,
|
|
48
|
-
encoding TEXT NOT NULL DEFAULT 'gzip',
|
|
49
|
-
byte_size INTEGER NOT NULL,
|
|
50
|
-
compressed_byte_size INTEGER,
|
|
51
|
-
preview_text TEXT,
|
|
52
|
-
retention_class TEXT NOT NULL,
|
|
53
|
-
ref_count INTEGER NOT NULL DEFAULT 0,
|
|
54
|
-
status TEXT NOT NULL DEFAULT 'committed',
|
|
55
|
-
created_at TEXT NOT NULL,
|
|
56
|
-
last_verified_at TEXT
|
|
57
|
-
);
|
|
58
|
-
|
|
59
|
-
CREATE TABLE IF NOT EXISTS event_log (
|
|
60
|
-
stream_id INTEGER PRIMARY KEY,
|
|
61
|
-
session_id TEXT,
|
|
62
|
-
session_sequence INTEGER,
|
|
63
|
-
room_id TEXT,
|
|
64
|
-
topic TEXT NOT NULL,
|
|
65
|
-
type TEXT NOT NULL,
|
|
66
|
-
source TEXT NOT NULL,
|
|
67
|
-
actor_type TEXT,
|
|
68
|
-
actor_id TEXT,
|
|
69
|
-
turn_id TEXT,
|
|
70
|
-
event_id TEXT,
|
|
71
|
-
tool_call_id TEXT,
|
|
72
|
-
run_id TEXT,
|
|
73
|
-
workflow_run_id TEXT,
|
|
74
|
-
idempotency_key TEXT,
|
|
75
|
-
retention_class TEXT NOT NULL,
|
|
76
|
-
payload_ref TEXT,
|
|
77
|
-
preview_text TEXT,
|
|
78
|
-
attributes_json TEXT NOT NULL DEFAULT '{}',
|
|
79
|
-
created_at TEXT NOT NULL,
|
|
80
|
-
indexed_at TEXT
|
|
81
|
-
);
|
|
82
|
-
|
|
83
|
-
CREATE TABLE IF NOT EXISTS chat_messages (
|
|
84
|
-
id TEXT PRIMARY KEY,
|
|
85
|
-
session_id TEXT NOT NULL,
|
|
86
|
-
room_id TEXT,
|
|
87
|
-
sequence INTEGER NOT NULL,
|
|
88
|
-
turn_id TEXT,
|
|
89
|
-
role TEXT NOT NULL,
|
|
90
|
-
actor_id TEXT,
|
|
91
|
-
status TEXT NOT NULL,
|
|
92
|
-
created_at TEXT NOT NULL,
|
|
93
|
-
completed_at TEXT,
|
|
94
|
-
content_preview TEXT,
|
|
95
|
-
content_payload_ref TEXT,
|
|
96
|
-
source_stream_id INTEGER,
|
|
97
|
-
input_tokens INTEGER,
|
|
98
|
-
output_tokens INTEGER,
|
|
99
|
-
cost_usd REAL,
|
|
100
|
-
attributes_json TEXT NOT NULL DEFAULT '{}',
|
|
101
|
-
UNIQUE(session_id, sequence)
|
|
102
|
-
);
|
|
103
|
-
|
|
104
|
-
CREATE TABLE IF NOT EXISTS observations (
|
|
105
|
-
id TEXT PRIMARY KEY,
|
|
106
|
-
session_id TEXT NOT NULL,
|
|
107
|
-
sequence INTEGER NOT NULL,
|
|
108
|
-
trace_id TEXT,
|
|
109
|
-
span_id TEXT,
|
|
110
|
-
parent_span_id TEXT,
|
|
111
|
-
parent_observation_id TEXT,
|
|
112
|
-
turn_id TEXT,
|
|
113
|
-
event_stream_id INTEGER,
|
|
114
|
-
kind TEXT NOT NULL,
|
|
115
|
-
role TEXT,
|
|
116
|
-
name TEXT,
|
|
117
|
-
status TEXT NOT NULL,
|
|
118
|
-
started_at TEXT NOT NULL,
|
|
119
|
-
ended_at TEXT,
|
|
120
|
-
latency_ms INTEGER,
|
|
121
|
-
model_provider TEXT,
|
|
122
|
-
model_id TEXT,
|
|
123
|
-
input_tokens INTEGER,
|
|
124
|
-
output_tokens INTEGER,
|
|
125
|
-
cost_usd REAL,
|
|
126
|
-
preview_text TEXT,
|
|
127
|
-
payload_ref TEXT,
|
|
128
|
-
attributes_json TEXT NOT NULL DEFAULT '{}',
|
|
129
|
-
UNIQUE(session_id, sequence)
|
|
130
|
-
);
|
|
131
|
-
|
|
132
|
-
CREATE TABLE IF NOT EXISTS session_stats (
|
|
133
|
-
session_id TEXT PRIMARY KEY,
|
|
134
|
-
message_count INTEGER NOT NULL DEFAULT 0,
|
|
135
|
-
tool_call_count INTEGER NOT NULL DEFAULT 0,
|
|
136
|
-
error_count INTEGER NOT NULL DEFAULT 0,
|
|
137
|
-
last_event_stream_id INTEGER,
|
|
138
|
-
last_message_sequence INTEGER,
|
|
139
|
-
last_observation_sequence INTEGER,
|
|
140
|
-
last_message_preview TEXT,
|
|
141
|
-
last_activity_at TEXT NOT NULL,
|
|
142
|
-
status TEXT NOT NULL DEFAULT 'idle',
|
|
143
|
-
total_latency_ms INTEGER NOT NULL DEFAULT 0,
|
|
144
|
-
total_input_tokens INTEGER NOT NULL DEFAULT 0,
|
|
145
|
-
total_output_tokens INTEGER NOT NULL DEFAULT 0,
|
|
146
|
-
total_cost_usd REAL NOT NULL DEFAULT 0,
|
|
147
|
-
updated_at TEXT NOT NULL
|
|
148
|
-
);
|
|
149
|
-
|
|
150
|
-
CREATE TABLE IF NOT EXISTS app_session_read_state (
|
|
151
|
-
session_id TEXT PRIMARY KEY,
|
|
152
|
-
unread_count INTEGER NOT NULL DEFAULT 0,
|
|
153
|
-
last_read_stream_id INTEGER NOT NULL DEFAULT 0,
|
|
154
|
-
last_read_message_sequence INTEGER NOT NULL DEFAULT 0,
|
|
155
|
-
last_read_at TEXT,
|
|
156
|
-
updated_at TEXT NOT NULL
|
|
157
|
-
);
|
|
158
|
-
|
|
159
|
-
CREATE TABLE IF NOT EXISTS app_room_read_state (
|
|
160
|
-
room_id TEXT PRIMARY KEY,
|
|
161
|
-
unread_count INTEGER NOT NULL DEFAULT 0,
|
|
162
|
-
last_read_stream_id INTEGER NOT NULL DEFAULT 0,
|
|
163
|
-
last_read_at TEXT,
|
|
164
|
-
updated_at TEXT NOT NULL
|
|
165
|
-
);
|
|
166
|
-
|
|
167
|
-
CREATE TABLE IF NOT EXISTS session_navigation (
|
|
168
|
-
room_id TEXT,
|
|
169
|
-
session_id TEXT PRIMARY KEY,
|
|
170
|
-
root_session_id TEXT,
|
|
171
|
-
parent_id TEXT,
|
|
172
|
-
origin_id TEXT,
|
|
173
|
-
title TEXT NOT NULL,
|
|
174
|
-
profile TEXT NOT NULL,
|
|
175
|
-
status TEXT NOT NULL,
|
|
176
|
-
archived_at TEXT,
|
|
177
|
-
last_activity_at TEXT NOT NULL,
|
|
178
|
-
last_message_preview TEXT,
|
|
179
|
-
child_count INTEGER NOT NULL DEFAULT 0,
|
|
180
|
-
sort_key TEXT NOT NULL,
|
|
181
|
-
updated_at TEXT NOT NULL
|
|
182
|
-
);
|
|
183
|
-
|
|
184
|
-
CREATE TABLE IF NOT EXISTS indexer_offsets (
|
|
185
|
-
indexer_name TEXT PRIMARY KEY,
|
|
186
|
-
source_name TEXT NOT NULL,
|
|
187
|
-
last_stream_id INTEGER NOT NULL,
|
|
188
|
-
updated_at TEXT NOT NULL
|
|
189
|
-
);
|
|
190
|
-
|
|
191
|
-
CREATE TABLE IF NOT EXISTS migration_import_map (
|
|
192
|
-
source_store TEXT NOT NULL,
|
|
193
|
-
source_table TEXT NOT NULL,
|
|
194
|
-
source_key TEXT NOT NULL,
|
|
195
|
-
target_kind TEXT NOT NULL,
|
|
196
|
-
target_id TEXT NOT NULL,
|
|
197
|
-
imported_at TEXT NOT NULL,
|
|
198
|
-
PRIMARY KEY(source_store, source_table, source_key)
|
|
199
|
-
);
|
|
200
|
-
|
|
201
|
-
CREATE TABLE IF NOT EXISTS telemetry_turns (
|
|
202
|
-
turn_id TEXT PRIMARY KEY,
|
|
203
|
-
pibo_session_id TEXT NOT NULL,
|
|
204
|
-
root_session_id TEXT,
|
|
205
|
-
room_id TEXT,
|
|
206
|
-
input_event_id TEXT,
|
|
207
|
-
event_id TEXT,
|
|
208
|
-
event_stream_id INTEGER,
|
|
209
|
-
payload_ref TEXT,
|
|
210
|
-
run_id TEXT,
|
|
211
|
-
source TEXT NOT NULL,
|
|
212
|
-
status TEXT NOT NULL,
|
|
213
|
-
current_phase TEXT,
|
|
214
|
-
queued_at TEXT NOT NULL,
|
|
215
|
-
started_at TEXT,
|
|
216
|
-
completed_at TEXT,
|
|
217
|
-
last_progress_at TEXT,
|
|
218
|
-
queued_behind INTEGER,
|
|
219
|
-
queue_depth INTEGER,
|
|
220
|
-
summary TEXT,
|
|
221
|
-
retention_class TEXT NOT NULL,
|
|
222
|
-
created_at TEXT NOT NULL,
|
|
223
|
-
updated_at TEXT NOT NULL,
|
|
224
|
-
metadata_json TEXT NOT NULL DEFAULT '{}'
|
|
225
|
-
);
|
|
226
|
-
|
|
227
|
-
CREATE TABLE IF NOT EXISTS telemetry_phases (
|
|
228
|
-
phase_id TEXT PRIMARY KEY,
|
|
229
|
-
turn_id TEXT NOT NULL,
|
|
230
|
-
pibo_session_id TEXT NOT NULL,
|
|
231
|
-
root_session_id TEXT,
|
|
232
|
-
room_id TEXT,
|
|
233
|
-
name TEXT NOT NULL,
|
|
234
|
-
status TEXT NOT NULL,
|
|
235
|
-
started_at TEXT NOT NULL,
|
|
236
|
-
ended_at TEXT,
|
|
237
|
-
last_progress_at TEXT,
|
|
238
|
-
duration_ms INTEGER,
|
|
239
|
-
provider_request_id TEXT,
|
|
240
|
-
tool_call_id TEXT,
|
|
241
|
-
event_stream_id INTEGER,
|
|
242
|
-
event_id TEXT,
|
|
243
|
-
payload_ref TEXT,
|
|
244
|
-
run_id TEXT,
|
|
245
|
-
counters_json TEXT NOT NULL DEFAULT '{}',
|
|
246
|
-
summary TEXT,
|
|
247
|
-
retention_class TEXT NOT NULL,
|
|
248
|
-
created_at TEXT NOT NULL,
|
|
249
|
-
updated_at TEXT NOT NULL
|
|
250
|
-
);
|
|
251
|
-
|
|
252
|
-
CREATE TABLE IF NOT EXISTS telemetry_provider_requests (
|
|
253
|
-
provider_request_id TEXT PRIMARY KEY,
|
|
254
|
-
pibo_session_id TEXT NOT NULL,
|
|
255
|
-
root_session_id TEXT,
|
|
256
|
-
room_id TEXT,
|
|
257
|
-
turn_id TEXT NOT NULL,
|
|
258
|
-
phase_id TEXT,
|
|
259
|
-
provider TEXT NOT NULL,
|
|
260
|
-
api TEXT NOT NULL,
|
|
261
|
-
model TEXT NOT NULL,
|
|
262
|
-
transport TEXT NOT NULL,
|
|
263
|
-
service_tier TEXT,
|
|
264
|
-
status TEXT NOT NULL,
|
|
265
|
-
started_at TEXT NOT NULL,
|
|
266
|
-
response_headers_at TEXT,
|
|
267
|
-
first_byte_at TEXT,
|
|
268
|
-
last_raw_event_at TEXT,
|
|
269
|
-
last_normalized_event_at TEXT,
|
|
270
|
-
completed_at TEXT,
|
|
271
|
-
http_status INTEGER,
|
|
272
|
-
upstream_response_id TEXT,
|
|
273
|
-
raw_event_count INTEGER NOT NULL DEFAULT 0,
|
|
274
|
-
normalized_event_count INTEGER NOT NULL DEFAULT 0,
|
|
275
|
-
parse_error_count INTEGER NOT NULL DEFAULT 0,
|
|
276
|
-
unknown_event_count INTEGER NOT NULL DEFAULT 0,
|
|
277
|
-
bytes_received INTEGER,
|
|
278
|
-
event_type_counts_json TEXT NOT NULL DEFAULT '{}',
|
|
279
|
-
event_stream_id INTEGER,
|
|
280
|
-
event_id TEXT,
|
|
281
|
-
payload_ref TEXT,
|
|
282
|
-
error_category TEXT,
|
|
283
|
-
error_message TEXT,
|
|
284
|
-
capture_mode TEXT NOT NULL,
|
|
285
|
-
retention_class TEXT NOT NULL,
|
|
286
|
-
created_at TEXT NOT NULL,
|
|
287
|
-
updated_at TEXT NOT NULL
|
|
288
|
-
);
|
|
289
|
-
|
|
290
|
-
CREATE TABLE IF NOT EXISTS telemetry_provider_events (
|
|
291
|
-
raw_event_id TEXT PRIMARY KEY,
|
|
292
|
-
provider_request_id TEXT NOT NULL,
|
|
293
|
-
pibo_session_id TEXT,
|
|
294
|
-
turn_id TEXT,
|
|
295
|
-
phase_id TEXT,
|
|
296
|
-
sequence INTEGER NOT NULL,
|
|
297
|
-
received_at TEXT NOT NULL,
|
|
298
|
-
event_type TEXT NOT NULL,
|
|
299
|
-
byte_size INTEGER NOT NULL DEFAULT 0,
|
|
300
|
-
parse_status TEXT NOT NULL,
|
|
301
|
-
normalized_type TEXT,
|
|
302
|
-
event_stream_id INTEGER,
|
|
303
|
-
event_id TEXT,
|
|
304
|
-
item_id TEXT,
|
|
305
|
-
tool_call_id TEXT,
|
|
306
|
-
payload_ref TEXT,
|
|
307
|
-
payload_preview_ref TEXT,
|
|
308
|
-
safe_fields_json TEXT NOT NULL DEFAULT '{}',
|
|
309
|
-
retention_class TEXT NOT NULL,
|
|
310
|
-
created_at TEXT NOT NULL,
|
|
311
|
-
updated_at TEXT NOT NULL,
|
|
312
|
-
UNIQUE(provider_request_id, sequence)
|
|
313
|
-
);
|
|
314
|
-
|
|
315
|
-
CREATE TABLE IF NOT EXISTS telemetry_tool_calls (
|
|
316
|
-
tool_call_id TEXT PRIMARY KEY,
|
|
317
|
-
pibo_session_id TEXT NOT NULL,
|
|
318
|
-
root_session_id TEXT,
|
|
319
|
-
room_id TEXT,
|
|
320
|
-
turn_id TEXT NOT NULL,
|
|
321
|
-
provider_request_id TEXT,
|
|
322
|
-
provider_item_id TEXT,
|
|
323
|
-
output_index INTEGER,
|
|
324
|
-
tool_name TEXT NOT NULL,
|
|
325
|
-
status TEXT NOT NULL,
|
|
326
|
-
args_started_at TEXT,
|
|
327
|
-
first_delta_at TEXT,
|
|
328
|
-
last_delta_at TEXT,
|
|
329
|
-
args_completed_at TEXT,
|
|
330
|
-
execution_started_at TEXT,
|
|
331
|
-
execution_ended_at TEXT,
|
|
332
|
-
duration_ms INTEGER,
|
|
333
|
-
args_bytes INTEGER NOT NULL DEFAULT 0,
|
|
334
|
-
parse_status TEXT NOT NULL,
|
|
335
|
-
safe_arg_keys_json TEXT NOT NULL DEFAULT '[]',
|
|
336
|
-
event_stream_id INTEGER,
|
|
337
|
-
event_id TEXT,
|
|
338
|
-
payload_ref TEXT,
|
|
339
|
-
run_id TEXT,
|
|
340
|
-
error_category TEXT,
|
|
341
|
-
error_message TEXT,
|
|
342
|
-
retention_class TEXT NOT NULL,
|
|
343
|
-
created_at TEXT NOT NULL,
|
|
344
|
-
updated_at TEXT NOT NULL
|
|
345
|
-
);
|
|
346
|
-
|
|
347
|
-
CREATE INDEX IF NOT EXISTS idx_sessions_room_activity
|
|
348
|
-
ON sessions(room_id, archived_at, last_activity_at DESC);
|
|
349
|
-
CREATE INDEX IF NOT EXISTS idx_sessions_parent_activity
|
|
350
|
-
ON sessions(parent_id, updated_at DESC);
|
|
351
|
-
CREATE INDEX IF NOT EXISTS idx_sessions_origin_activity
|
|
352
|
-
ON sessions(origin_id, updated_at DESC);
|
|
353
|
-
CREATE INDEX IF NOT EXISTS idx_sessions_channel_kind_activity
|
|
354
|
-
ON sessions(channel, kind, updated_at DESC);
|
|
355
|
-
CREATE INDEX IF NOT EXISTS idx_event_log_session_stream
|
|
356
|
-
ON event_log(session_id, stream_id);
|
|
357
|
-
CREATE INDEX IF NOT EXISTS idx_event_log_room_stream
|
|
358
|
-
ON event_log(room_id, stream_id);
|
|
359
|
-
CREATE INDEX IF NOT EXISTS idx_event_log_topic_stream
|
|
360
|
-
ON event_log(topic, stream_id);
|
|
361
|
-
CREATE UNIQUE INDEX IF NOT EXISTS idx_event_log_idempotency
|
|
362
|
-
ON event_log(idempotency_key)
|
|
363
|
-
WHERE idempotency_key IS NOT NULL;
|
|
364
|
-
CREATE INDEX IF NOT EXISTS idx_chat_messages_session_sequence
|
|
365
|
-
ON chat_messages(session_id, sequence);
|
|
366
|
-
CREATE INDEX IF NOT EXISTS idx_observations_session_sequence
|
|
367
|
-
ON observations(session_id, sequence);
|
|
368
|
-
CREATE INDEX IF NOT EXISTS idx_session_navigation_room_sort
|
|
369
|
-
ON session_navigation(room_id, archived_at, sort_key DESC);
|
|
370
|
-
CREATE INDEX IF NOT EXISTS idx_session_navigation_root
|
|
371
|
-
ON session_navigation(root_session_id, parent_id);
|
|
372
|
-
CREATE INDEX IF NOT EXISTS idx_telemetry_turns_session_updated
|
|
373
|
-
ON telemetry_turns(pibo_session_id, updated_at DESC);
|
|
374
|
-
CREATE INDEX IF NOT EXISTS idx_telemetry_turns_room_updated
|
|
375
|
-
ON telemetry_turns(room_id, updated_at DESC);
|
|
376
|
-
CREATE INDEX IF NOT EXISTS idx_telemetry_turns_event
|
|
377
|
-
ON telemetry_turns(event_id, event_stream_id);
|
|
378
|
-
CREATE INDEX IF NOT EXISTS idx_telemetry_turns_payload
|
|
379
|
-
ON telemetry_turns(payload_ref);
|
|
380
|
-
CREATE INDEX IF NOT EXISTS idx_telemetry_turns_retention_updated
|
|
381
|
-
ON telemetry_turns(retention_class, updated_at);
|
|
382
|
-
CREATE INDEX IF NOT EXISTS idx_telemetry_phases_turn_started
|
|
383
|
-
ON telemetry_phases(turn_id, started_at ASC);
|
|
384
|
-
CREATE INDEX IF NOT EXISTS idx_telemetry_phases_session_status
|
|
385
|
-
ON telemetry_phases(pibo_session_id, status, last_progress_at);
|
|
386
|
-
CREATE INDEX IF NOT EXISTS idx_telemetry_phases_provider_request
|
|
387
|
-
ON telemetry_phases(provider_request_id);
|
|
388
|
-
CREATE INDEX IF NOT EXISTS idx_telemetry_phases_tool_call
|
|
389
|
-
ON telemetry_phases(tool_call_id);
|
|
390
|
-
CREATE INDEX IF NOT EXISTS idx_telemetry_phases_event
|
|
391
|
-
ON telemetry_phases(event_id, event_stream_id);
|
|
392
|
-
CREATE INDEX IF NOT EXISTS idx_telemetry_phases_payload
|
|
393
|
-
ON telemetry_phases(payload_ref);
|
|
394
|
-
CREATE INDEX IF NOT EXISTS idx_telemetry_phases_retention_updated
|
|
395
|
-
ON telemetry_phases(retention_class, updated_at);
|
|
396
|
-
CREATE INDEX IF NOT EXISTS idx_telemetry_provider_requests_session_updated
|
|
397
|
-
ON telemetry_provider_requests(pibo_session_id, updated_at DESC);
|
|
398
|
-
CREATE INDEX IF NOT EXISTS idx_telemetry_provider_requests_turn
|
|
399
|
-
ON telemetry_provider_requests(turn_id, started_at ASC);
|
|
400
|
-
CREATE INDEX IF NOT EXISTS idx_telemetry_provider_requests_upstream
|
|
401
|
-
ON telemetry_provider_requests(upstream_response_id);
|
|
402
|
-
CREATE INDEX IF NOT EXISTS idx_telemetry_provider_requests_event
|
|
403
|
-
ON telemetry_provider_requests(event_id, event_stream_id);
|
|
404
|
-
CREATE INDEX IF NOT EXISTS idx_telemetry_provider_requests_payload
|
|
405
|
-
ON telemetry_provider_requests(payload_ref);
|
|
406
|
-
CREATE INDEX IF NOT EXISTS idx_telemetry_provider_requests_retention_updated
|
|
407
|
-
ON telemetry_provider_requests(retention_class, updated_at);
|
|
408
|
-
CREATE INDEX IF NOT EXISTS idx_telemetry_provider_events_request_sequence
|
|
409
|
-
ON telemetry_provider_events(provider_request_id, sequence ASC);
|
|
410
|
-
CREATE INDEX IF NOT EXISTS idx_telemetry_provider_events_session_received
|
|
411
|
-
ON telemetry_provider_events(pibo_session_id, received_at DESC);
|
|
412
|
-
CREATE INDEX IF NOT EXISTS idx_telemetry_provider_events_event
|
|
413
|
-
ON telemetry_provider_events(event_id, event_stream_id);
|
|
414
|
-
CREATE INDEX IF NOT EXISTS idx_telemetry_provider_events_payload
|
|
415
|
-
ON telemetry_provider_events(payload_ref, payload_preview_ref);
|
|
416
|
-
CREATE INDEX IF NOT EXISTS idx_telemetry_provider_events_tool_call
|
|
417
|
-
ON telemetry_provider_events(tool_call_id);
|
|
418
|
-
CREATE INDEX IF NOT EXISTS idx_telemetry_provider_events_retention_received
|
|
419
|
-
ON telemetry_provider_events(retention_class, received_at);
|
|
420
|
-
CREATE INDEX IF NOT EXISTS idx_telemetry_tool_calls_session_updated
|
|
421
|
-
ON telemetry_tool_calls(pibo_session_id, updated_at DESC);
|
|
422
|
-
CREATE INDEX IF NOT EXISTS idx_telemetry_tool_calls_turn
|
|
423
|
-
ON telemetry_tool_calls(turn_id);
|
|
424
|
-
CREATE INDEX IF NOT EXISTS idx_telemetry_tool_calls_provider_request
|
|
425
|
-
ON telemetry_tool_calls(provider_request_id);
|
|
426
|
-
CREATE INDEX IF NOT EXISTS idx_telemetry_tool_calls_event
|
|
427
|
-
ON telemetry_tool_calls(event_id, event_stream_id);
|
|
428
|
-
CREATE INDEX IF NOT EXISTS idx_telemetry_tool_calls_payload
|
|
429
|
-
ON telemetry_tool_calls(payload_ref);
|
|
430
|
-
CREATE INDEX IF NOT EXISTS idx_telemetry_tool_calls_retention_updated
|
|
431
|
-
ON telemetry_tool_calls(retention_class, updated_at);
|
|
3
|
+
db.exec(`
|
|
4
|
+
CREATE TABLE IF NOT EXISTS sessions (
|
|
5
|
+
id TEXT PRIMARY KEY,
|
|
6
|
+
pi_session_id TEXT UNIQUE,
|
|
7
|
+
room_id TEXT,
|
|
8
|
+
root_session_id TEXT,
|
|
9
|
+
parent_id TEXT,
|
|
10
|
+
origin_id TEXT,
|
|
11
|
+
channel TEXT NOT NULL,
|
|
12
|
+
kind TEXT NOT NULL,
|
|
13
|
+
profile TEXT NOT NULL,
|
|
14
|
+
active_model_json TEXT,
|
|
15
|
+
workspace TEXT,
|
|
16
|
+
title TEXT NOT NULL DEFAULT 'Untitled Session',
|
|
17
|
+
first_message_preview TEXT,
|
|
18
|
+
status TEXT NOT NULL DEFAULT 'idle',
|
|
19
|
+
archived_at TEXT,
|
|
20
|
+
deleted_at TEXT,
|
|
21
|
+
metadata_json TEXT NOT NULL DEFAULT '{}',
|
|
22
|
+
created_at TEXT NOT NULL,
|
|
23
|
+
updated_at TEXT NOT NULL,
|
|
24
|
+
last_activity_at TEXT NOT NULL
|
|
25
|
+
);
|
|
26
|
+
|
|
27
|
+
CREATE TABLE IF NOT EXISTS rooms (
|
|
28
|
+
id TEXT PRIMARY KEY,
|
|
29
|
+
name TEXT NOT NULL,
|
|
30
|
+
topic TEXT,
|
|
31
|
+
type TEXT NOT NULL,
|
|
32
|
+
parent_room_id TEXT,
|
|
33
|
+
workspace TEXT,
|
|
34
|
+
archived_at TEXT,
|
|
35
|
+
retention_policy_id TEXT,
|
|
36
|
+
metadata_json TEXT NOT NULL DEFAULT '{}',
|
|
37
|
+
created_at TEXT NOT NULL,
|
|
38
|
+
updated_at TEXT NOT NULL
|
|
39
|
+
);
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
CREATE TABLE IF NOT EXISTS payloads (
|
|
43
|
+
id TEXT PRIMARY KEY,
|
|
44
|
+
sha256 TEXT NOT NULL UNIQUE,
|
|
45
|
+
storage_kind TEXT NOT NULL,
|
|
46
|
+
storage_path TEXT,
|
|
47
|
+
content_type TEXT NOT NULL,
|
|
48
|
+
encoding TEXT NOT NULL DEFAULT 'gzip',
|
|
49
|
+
byte_size INTEGER NOT NULL,
|
|
50
|
+
compressed_byte_size INTEGER,
|
|
51
|
+
preview_text TEXT,
|
|
52
|
+
retention_class TEXT NOT NULL,
|
|
53
|
+
ref_count INTEGER NOT NULL DEFAULT 0,
|
|
54
|
+
status TEXT NOT NULL DEFAULT 'committed',
|
|
55
|
+
created_at TEXT NOT NULL,
|
|
56
|
+
last_verified_at TEXT
|
|
57
|
+
);
|
|
58
|
+
|
|
59
|
+
CREATE TABLE IF NOT EXISTS event_log (
|
|
60
|
+
stream_id INTEGER PRIMARY KEY,
|
|
61
|
+
session_id TEXT,
|
|
62
|
+
session_sequence INTEGER,
|
|
63
|
+
room_id TEXT,
|
|
64
|
+
topic TEXT NOT NULL,
|
|
65
|
+
type TEXT NOT NULL,
|
|
66
|
+
source TEXT NOT NULL,
|
|
67
|
+
actor_type TEXT,
|
|
68
|
+
actor_id TEXT,
|
|
69
|
+
turn_id TEXT,
|
|
70
|
+
event_id TEXT,
|
|
71
|
+
tool_call_id TEXT,
|
|
72
|
+
run_id TEXT,
|
|
73
|
+
workflow_run_id TEXT,
|
|
74
|
+
idempotency_key TEXT,
|
|
75
|
+
retention_class TEXT NOT NULL,
|
|
76
|
+
payload_ref TEXT,
|
|
77
|
+
preview_text TEXT,
|
|
78
|
+
attributes_json TEXT NOT NULL DEFAULT '{}',
|
|
79
|
+
created_at TEXT NOT NULL,
|
|
80
|
+
indexed_at TEXT
|
|
81
|
+
);
|
|
82
|
+
|
|
83
|
+
CREATE TABLE IF NOT EXISTS chat_messages (
|
|
84
|
+
id TEXT PRIMARY KEY,
|
|
85
|
+
session_id TEXT NOT NULL,
|
|
86
|
+
room_id TEXT,
|
|
87
|
+
sequence INTEGER NOT NULL,
|
|
88
|
+
turn_id TEXT,
|
|
89
|
+
role TEXT NOT NULL,
|
|
90
|
+
actor_id TEXT,
|
|
91
|
+
status TEXT NOT NULL,
|
|
92
|
+
created_at TEXT NOT NULL,
|
|
93
|
+
completed_at TEXT,
|
|
94
|
+
content_preview TEXT,
|
|
95
|
+
content_payload_ref TEXT,
|
|
96
|
+
source_stream_id INTEGER,
|
|
97
|
+
input_tokens INTEGER,
|
|
98
|
+
output_tokens INTEGER,
|
|
99
|
+
cost_usd REAL,
|
|
100
|
+
attributes_json TEXT NOT NULL DEFAULT '{}',
|
|
101
|
+
UNIQUE(session_id, sequence)
|
|
102
|
+
);
|
|
103
|
+
|
|
104
|
+
CREATE TABLE IF NOT EXISTS observations (
|
|
105
|
+
id TEXT PRIMARY KEY,
|
|
106
|
+
session_id TEXT NOT NULL,
|
|
107
|
+
sequence INTEGER NOT NULL,
|
|
108
|
+
trace_id TEXT,
|
|
109
|
+
span_id TEXT,
|
|
110
|
+
parent_span_id TEXT,
|
|
111
|
+
parent_observation_id TEXT,
|
|
112
|
+
turn_id TEXT,
|
|
113
|
+
event_stream_id INTEGER,
|
|
114
|
+
kind TEXT NOT NULL,
|
|
115
|
+
role TEXT,
|
|
116
|
+
name TEXT,
|
|
117
|
+
status TEXT NOT NULL,
|
|
118
|
+
started_at TEXT NOT NULL,
|
|
119
|
+
ended_at TEXT,
|
|
120
|
+
latency_ms INTEGER,
|
|
121
|
+
model_provider TEXT,
|
|
122
|
+
model_id TEXT,
|
|
123
|
+
input_tokens INTEGER,
|
|
124
|
+
output_tokens INTEGER,
|
|
125
|
+
cost_usd REAL,
|
|
126
|
+
preview_text TEXT,
|
|
127
|
+
payload_ref TEXT,
|
|
128
|
+
attributes_json TEXT NOT NULL DEFAULT '{}',
|
|
129
|
+
UNIQUE(session_id, sequence)
|
|
130
|
+
);
|
|
131
|
+
|
|
132
|
+
CREATE TABLE IF NOT EXISTS session_stats (
|
|
133
|
+
session_id TEXT PRIMARY KEY,
|
|
134
|
+
message_count INTEGER NOT NULL DEFAULT 0,
|
|
135
|
+
tool_call_count INTEGER NOT NULL DEFAULT 0,
|
|
136
|
+
error_count INTEGER NOT NULL DEFAULT 0,
|
|
137
|
+
last_event_stream_id INTEGER,
|
|
138
|
+
last_message_sequence INTEGER,
|
|
139
|
+
last_observation_sequence INTEGER,
|
|
140
|
+
last_message_preview TEXT,
|
|
141
|
+
last_activity_at TEXT NOT NULL,
|
|
142
|
+
status TEXT NOT NULL DEFAULT 'idle',
|
|
143
|
+
total_latency_ms INTEGER NOT NULL DEFAULT 0,
|
|
144
|
+
total_input_tokens INTEGER NOT NULL DEFAULT 0,
|
|
145
|
+
total_output_tokens INTEGER NOT NULL DEFAULT 0,
|
|
146
|
+
total_cost_usd REAL NOT NULL DEFAULT 0,
|
|
147
|
+
updated_at TEXT NOT NULL
|
|
148
|
+
);
|
|
149
|
+
|
|
150
|
+
CREATE TABLE IF NOT EXISTS app_session_read_state (
|
|
151
|
+
session_id TEXT PRIMARY KEY,
|
|
152
|
+
unread_count INTEGER NOT NULL DEFAULT 0,
|
|
153
|
+
last_read_stream_id INTEGER NOT NULL DEFAULT 0,
|
|
154
|
+
last_read_message_sequence INTEGER NOT NULL DEFAULT 0,
|
|
155
|
+
last_read_at TEXT,
|
|
156
|
+
updated_at TEXT NOT NULL
|
|
157
|
+
);
|
|
158
|
+
|
|
159
|
+
CREATE TABLE IF NOT EXISTS app_room_read_state (
|
|
160
|
+
room_id TEXT PRIMARY KEY,
|
|
161
|
+
unread_count INTEGER NOT NULL DEFAULT 0,
|
|
162
|
+
last_read_stream_id INTEGER NOT NULL DEFAULT 0,
|
|
163
|
+
last_read_at TEXT,
|
|
164
|
+
updated_at TEXT NOT NULL
|
|
165
|
+
);
|
|
166
|
+
|
|
167
|
+
CREATE TABLE IF NOT EXISTS session_navigation (
|
|
168
|
+
room_id TEXT,
|
|
169
|
+
session_id TEXT PRIMARY KEY,
|
|
170
|
+
root_session_id TEXT,
|
|
171
|
+
parent_id TEXT,
|
|
172
|
+
origin_id TEXT,
|
|
173
|
+
title TEXT NOT NULL,
|
|
174
|
+
profile TEXT NOT NULL,
|
|
175
|
+
status TEXT NOT NULL,
|
|
176
|
+
archived_at TEXT,
|
|
177
|
+
last_activity_at TEXT NOT NULL,
|
|
178
|
+
last_message_preview TEXT,
|
|
179
|
+
child_count INTEGER NOT NULL DEFAULT 0,
|
|
180
|
+
sort_key TEXT NOT NULL,
|
|
181
|
+
updated_at TEXT NOT NULL
|
|
182
|
+
);
|
|
183
|
+
|
|
184
|
+
CREATE TABLE IF NOT EXISTS indexer_offsets (
|
|
185
|
+
indexer_name TEXT PRIMARY KEY,
|
|
186
|
+
source_name TEXT NOT NULL,
|
|
187
|
+
last_stream_id INTEGER NOT NULL,
|
|
188
|
+
updated_at TEXT NOT NULL
|
|
189
|
+
);
|
|
190
|
+
|
|
191
|
+
CREATE TABLE IF NOT EXISTS migration_import_map (
|
|
192
|
+
source_store TEXT NOT NULL,
|
|
193
|
+
source_table TEXT NOT NULL,
|
|
194
|
+
source_key TEXT NOT NULL,
|
|
195
|
+
target_kind TEXT NOT NULL,
|
|
196
|
+
target_id TEXT NOT NULL,
|
|
197
|
+
imported_at TEXT NOT NULL,
|
|
198
|
+
PRIMARY KEY(source_store, source_table, source_key)
|
|
199
|
+
);
|
|
200
|
+
|
|
201
|
+
CREATE TABLE IF NOT EXISTS telemetry_turns (
|
|
202
|
+
turn_id TEXT PRIMARY KEY,
|
|
203
|
+
pibo_session_id TEXT NOT NULL,
|
|
204
|
+
root_session_id TEXT,
|
|
205
|
+
room_id TEXT,
|
|
206
|
+
input_event_id TEXT,
|
|
207
|
+
event_id TEXT,
|
|
208
|
+
event_stream_id INTEGER,
|
|
209
|
+
payload_ref TEXT,
|
|
210
|
+
run_id TEXT,
|
|
211
|
+
source TEXT NOT NULL,
|
|
212
|
+
status TEXT NOT NULL,
|
|
213
|
+
current_phase TEXT,
|
|
214
|
+
queued_at TEXT NOT NULL,
|
|
215
|
+
started_at TEXT,
|
|
216
|
+
completed_at TEXT,
|
|
217
|
+
last_progress_at TEXT,
|
|
218
|
+
queued_behind INTEGER,
|
|
219
|
+
queue_depth INTEGER,
|
|
220
|
+
summary TEXT,
|
|
221
|
+
retention_class TEXT NOT NULL,
|
|
222
|
+
created_at TEXT NOT NULL,
|
|
223
|
+
updated_at TEXT NOT NULL,
|
|
224
|
+
metadata_json TEXT NOT NULL DEFAULT '{}'
|
|
225
|
+
);
|
|
226
|
+
|
|
227
|
+
CREATE TABLE IF NOT EXISTS telemetry_phases (
|
|
228
|
+
phase_id TEXT PRIMARY KEY,
|
|
229
|
+
turn_id TEXT NOT NULL,
|
|
230
|
+
pibo_session_id TEXT NOT NULL,
|
|
231
|
+
root_session_id TEXT,
|
|
232
|
+
room_id TEXT,
|
|
233
|
+
name TEXT NOT NULL,
|
|
234
|
+
status TEXT NOT NULL,
|
|
235
|
+
started_at TEXT NOT NULL,
|
|
236
|
+
ended_at TEXT,
|
|
237
|
+
last_progress_at TEXT,
|
|
238
|
+
duration_ms INTEGER,
|
|
239
|
+
provider_request_id TEXT,
|
|
240
|
+
tool_call_id TEXT,
|
|
241
|
+
event_stream_id INTEGER,
|
|
242
|
+
event_id TEXT,
|
|
243
|
+
payload_ref TEXT,
|
|
244
|
+
run_id TEXT,
|
|
245
|
+
counters_json TEXT NOT NULL DEFAULT '{}',
|
|
246
|
+
summary TEXT,
|
|
247
|
+
retention_class TEXT NOT NULL,
|
|
248
|
+
created_at TEXT NOT NULL,
|
|
249
|
+
updated_at TEXT NOT NULL
|
|
250
|
+
);
|
|
251
|
+
|
|
252
|
+
CREATE TABLE IF NOT EXISTS telemetry_provider_requests (
|
|
253
|
+
provider_request_id TEXT PRIMARY KEY,
|
|
254
|
+
pibo_session_id TEXT NOT NULL,
|
|
255
|
+
root_session_id TEXT,
|
|
256
|
+
room_id TEXT,
|
|
257
|
+
turn_id TEXT NOT NULL,
|
|
258
|
+
phase_id TEXT,
|
|
259
|
+
provider TEXT NOT NULL,
|
|
260
|
+
api TEXT NOT NULL,
|
|
261
|
+
model TEXT NOT NULL,
|
|
262
|
+
transport TEXT NOT NULL,
|
|
263
|
+
service_tier TEXT,
|
|
264
|
+
status TEXT NOT NULL,
|
|
265
|
+
started_at TEXT NOT NULL,
|
|
266
|
+
response_headers_at TEXT,
|
|
267
|
+
first_byte_at TEXT,
|
|
268
|
+
last_raw_event_at TEXT,
|
|
269
|
+
last_normalized_event_at TEXT,
|
|
270
|
+
completed_at TEXT,
|
|
271
|
+
http_status INTEGER,
|
|
272
|
+
upstream_response_id TEXT,
|
|
273
|
+
raw_event_count INTEGER NOT NULL DEFAULT 0,
|
|
274
|
+
normalized_event_count INTEGER NOT NULL DEFAULT 0,
|
|
275
|
+
parse_error_count INTEGER NOT NULL DEFAULT 0,
|
|
276
|
+
unknown_event_count INTEGER NOT NULL DEFAULT 0,
|
|
277
|
+
bytes_received INTEGER,
|
|
278
|
+
event_type_counts_json TEXT NOT NULL DEFAULT '{}',
|
|
279
|
+
event_stream_id INTEGER,
|
|
280
|
+
event_id TEXT,
|
|
281
|
+
payload_ref TEXT,
|
|
282
|
+
error_category TEXT,
|
|
283
|
+
error_message TEXT,
|
|
284
|
+
capture_mode TEXT NOT NULL,
|
|
285
|
+
retention_class TEXT NOT NULL,
|
|
286
|
+
created_at TEXT NOT NULL,
|
|
287
|
+
updated_at TEXT NOT NULL
|
|
288
|
+
);
|
|
289
|
+
|
|
290
|
+
CREATE TABLE IF NOT EXISTS telemetry_provider_events (
|
|
291
|
+
raw_event_id TEXT PRIMARY KEY,
|
|
292
|
+
provider_request_id TEXT NOT NULL,
|
|
293
|
+
pibo_session_id TEXT,
|
|
294
|
+
turn_id TEXT,
|
|
295
|
+
phase_id TEXT,
|
|
296
|
+
sequence INTEGER NOT NULL,
|
|
297
|
+
received_at TEXT NOT NULL,
|
|
298
|
+
event_type TEXT NOT NULL,
|
|
299
|
+
byte_size INTEGER NOT NULL DEFAULT 0,
|
|
300
|
+
parse_status TEXT NOT NULL,
|
|
301
|
+
normalized_type TEXT,
|
|
302
|
+
event_stream_id INTEGER,
|
|
303
|
+
event_id TEXT,
|
|
304
|
+
item_id TEXT,
|
|
305
|
+
tool_call_id TEXT,
|
|
306
|
+
payload_ref TEXT,
|
|
307
|
+
payload_preview_ref TEXT,
|
|
308
|
+
safe_fields_json TEXT NOT NULL DEFAULT '{}',
|
|
309
|
+
retention_class TEXT NOT NULL,
|
|
310
|
+
created_at TEXT NOT NULL,
|
|
311
|
+
updated_at TEXT NOT NULL,
|
|
312
|
+
UNIQUE(provider_request_id, sequence)
|
|
313
|
+
);
|
|
314
|
+
|
|
315
|
+
CREATE TABLE IF NOT EXISTS telemetry_tool_calls (
|
|
316
|
+
tool_call_id TEXT PRIMARY KEY,
|
|
317
|
+
pibo_session_id TEXT NOT NULL,
|
|
318
|
+
root_session_id TEXT,
|
|
319
|
+
room_id TEXT,
|
|
320
|
+
turn_id TEXT NOT NULL,
|
|
321
|
+
provider_request_id TEXT,
|
|
322
|
+
provider_item_id TEXT,
|
|
323
|
+
output_index INTEGER,
|
|
324
|
+
tool_name TEXT NOT NULL,
|
|
325
|
+
status TEXT NOT NULL,
|
|
326
|
+
args_started_at TEXT,
|
|
327
|
+
first_delta_at TEXT,
|
|
328
|
+
last_delta_at TEXT,
|
|
329
|
+
args_completed_at TEXT,
|
|
330
|
+
execution_started_at TEXT,
|
|
331
|
+
execution_ended_at TEXT,
|
|
332
|
+
duration_ms INTEGER,
|
|
333
|
+
args_bytes INTEGER NOT NULL DEFAULT 0,
|
|
334
|
+
parse_status TEXT NOT NULL,
|
|
335
|
+
safe_arg_keys_json TEXT NOT NULL DEFAULT '[]',
|
|
336
|
+
event_stream_id INTEGER,
|
|
337
|
+
event_id TEXT,
|
|
338
|
+
payload_ref TEXT,
|
|
339
|
+
run_id TEXT,
|
|
340
|
+
error_category TEXT,
|
|
341
|
+
error_message TEXT,
|
|
342
|
+
retention_class TEXT NOT NULL,
|
|
343
|
+
created_at TEXT NOT NULL,
|
|
344
|
+
updated_at TEXT NOT NULL
|
|
345
|
+
);
|
|
346
|
+
|
|
347
|
+
CREATE INDEX IF NOT EXISTS idx_sessions_room_activity
|
|
348
|
+
ON sessions(room_id, archived_at, last_activity_at DESC);
|
|
349
|
+
CREATE INDEX IF NOT EXISTS idx_sessions_parent_activity
|
|
350
|
+
ON sessions(parent_id, updated_at DESC);
|
|
351
|
+
CREATE INDEX IF NOT EXISTS idx_sessions_origin_activity
|
|
352
|
+
ON sessions(origin_id, updated_at DESC);
|
|
353
|
+
CREATE INDEX IF NOT EXISTS idx_sessions_channel_kind_activity
|
|
354
|
+
ON sessions(channel, kind, updated_at DESC);
|
|
355
|
+
CREATE INDEX IF NOT EXISTS idx_event_log_session_stream
|
|
356
|
+
ON event_log(session_id, stream_id);
|
|
357
|
+
CREATE INDEX IF NOT EXISTS idx_event_log_room_stream
|
|
358
|
+
ON event_log(room_id, stream_id);
|
|
359
|
+
CREATE INDEX IF NOT EXISTS idx_event_log_topic_stream
|
|
360
|
+
ON event_log(topic, stream_id);
|
|
361
|
+
CREATE UNIQUE INDEX IF NOT EXISTS idx_event_log_idempotency
|
|
362
|
+
ON event_log(idempotency_key)
|
|
363
|
+
WHERE idempotency_key IS NOT NULL;
|
|
364
|
+
CREATE INDEX IF NOT EXISTS idx_chat_messages_session_sequence
|
|
365
|
+
ON chat_messages(session_id, sequence);
|
|
366
|
+
CREATE INDEX IF NOT EXISTS idx_observations_session_sequence
|
|
367
|
+
ON observations(session_id, sequence);
|
|
368
|
+
CREATE INDEX IF NOT EXISTS idx_session_navigation_room_sort
|
|
369
|
+
ON session_navigation(room_id, archived_at, sort_key DESC);
|
|
370
|
+
CREATE INDEX IF NOT EXISTS idx_session_navigation_root
|
|
371
|
+
ON session_navigation(root_session_id, parent_id);
|
|
372
|
+
CREATE INDEX IF NOT EXISTS idx_telemetry_turns_session_updated
|
|
373
|
+
ON telemetry_turns(pibo_session_id, updated_at DESC);
|
|
374
|
+
CREATE INDEX IF NOT EXISTS idx_telemetry_turns_room_updated
|
|
375
|
+
ON telemetry_turns(room_id, updated_at DESC);
|
|
376
|
+
CREATE INDEX IF NOT EXISTS idx_telemetry_turns_event
|
|
377
|
+
ON telemetry_turns(event_id, event_stream_id);
|
|
378
|
+
CREATE INDEX IF NOT EXISTS idx_telemetry_turns_payload
|
|
379
|
+
ON telemetry_turns(payload_ref);
|
|
380
|
+
CREATE INDEX IF NOT EXISTS idx_telemetry_turns_retention_updated
|
|
381
|
+
ON telemetry_turns(retention_class, updated_at);
|
|
382
|
+
CREATE INDEX IF NOT EXISTS idx_telemetry_phases_turn_started
|
|
383
|
+
ON telemetry_phases(turn_id, started_at ASC);
|
|
384
|
+
CREATE INDEX IF NOT EXISTS idx_telemetry_phases_session_status
|
|
385
|
+
ON telemetry_phases(pibo_session_id, status, last_progress_at);
|
|
386
|
+
CREATE INDEX IF NOT EXISTS idx_telemetry_phases_provider_request
|
|
387
|
+
ON telemetry_phases(provider_request_id);
|
|
388
|
+
CREATE INDEX IF NOT EXISTS idx_telemetry_phases_tool_call
|
|
389
|
+
ON telemetry_phases(tool_call_id);
|
|
390
|
+
CREATE INDEX IF NOT EXISTS idx_telemetry_phases_event
|
|
391
|
+
ON telemetry_phases(event_id, event_stream_id);
|
|
392
|
+
CREATE INDEX IF NOT EXISTS idx_telemetry_phases_payload
|
|
393
|
+
ON telemetry_phases(payload_ref);
|
|
394
|
+
CREATE INDEX IF NOT EXISTS idx_telemetry_phases_retention_updated
|
|
395
|
+
ON telemetry_phases(retention_class, updated_at);
|
|
396
|
+
CREATE INDEX IF NOT EXISTS idx_telemetry_provider_requests_session_updated
|
|
397
|
+
ON telemetry_provider_requests(pibo_session_id, updated_at DESC);
|
|
398
|
+
CREATE INDEX IF NOT EXISTS idx_telemetry_provider_requests_turn
|
|
399
|
+
ON telemetry_provider_requests(turn_id, started_at ASC);
|
|
400
|
+
CREATE INDEX IF NOT EXISTS idx_telemetry_provider_requests_upstream
|
|
401
|
+
ON telemetry_provider_requests(upstream_response_id);
|
|
402
|
+
CREATE INDEX IF NOT EXISTS idx_telemetry_provider_requests_event
|
|
403
|
+
ON telemetry_provider_requests(event_id, event_stream_id);
|
|
404
|
+
CREATE INDEX IF NOT EXISTS idx_telemetry_provider_requests_payload
|
|
405
|
+
ON telemetry_provider_requests(payload_ref);
|
|
406
|
+
CREATE INDEX IF NOT EXISTS idx_telemetry_provider_requests_retention_updated
|
|
407
|
+
ON telemetry_provider_requests(retention_class, updated_at);
|
|
408
|
+
CREATE INDEX IF NOT EXISTS idx_telemetry_provider_events_request_sequence
|
|
409
|
+
ON telemetry_provider_events(provider_request_id, sequence ASC);
|
|
410
|
+
CREATE INDEX IF NOT EXISTS idx_telemetry_provider_events_session_received
|
|
411
|
+
ON telemetry_provider_events(pibo_session_id, received_at DESC);
|
|
412
|
+
CREATE INDEX IF NOT EXISTS idx_telemetry_provider_events_event
|
|
413
|
+
ON telemetry_provider_events(event_id, event_stream_id);
|
|
414
|
+
CREATE INDEX IF NOT EXISTS idx_telemetry_provider_events_payload
|
|
415
|
+
ON telemetry_provider_events(payload_ref, payload_preview_ref);
|
|
416
|
+
CREATE INDEX IF NOT EXISTS idx_telemetry_provider_events_tool_call
|
|
417
|
+
ON telemetry_provider_events(tool_call_id);
|
|
418
|
+
CREATE INDEX IF NOT EXISTS idx_telemetry_provider_events_retention_received
|
|
419
|
+
ON telemetry_provider_events(retention_class, received_at);
|
|
420
|
+
CREATE INDEX IF NOT EXISTS idx_telemetry_tool_calls_session_updated
|
|
421
|
+
ON telemetry_tool_calls(pibo_session_id, updated_at DESC);
|
|
422
|
+
CREATE INDEX IF NOT EXISTS idx_telemetry_tool_calls_turn
|
|
423
|
+
ON telemetry_tool_calls(turn_id);
|
|
424
|
+
CREATE INDEX IF NOT EXISTS idx_telemetry_tool_calls_provider_request
|
|
425
|
+
ON telemetry_tool_calls(provider_request_id);
|
|
426
|
+
CREATE INDEX IF NOT EXISTS idx_telemetry_tool_calls_event
|
|
427
|
+
ON telemetry_tool_calls(event_id, event_stream_id);
|
|
428
|
+
CREATE INDEX IF NOT EXISTS idx_telemetry_tool_calls_payload
|
|
429
|
+
ON telemetry_tool_calls(payload_ref);
|
|
430
|
+
CREATE INDEX IF NOT EXISTS idx_telemetry_tool_calls_retention_updated
|
|
431
|
+
ON telemetry_tool_calls(retention_class, updated_at);
|
|
432
432
|
`);
|
|
433
433
|
db.exec(`PRAGMA user_version = ${PIBO_DATA_SCHEMA_VERSION}`);
|
|
434
434
|
}
|