@tickernelz/paperclip-pro-db 2026.1011.3 → 2026.1012.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.
- package/dist/backup-lib.d.ts +2 -0
- package/dist/backup-lib.d.ts.map +1 -1
- package/dist/backup-lib.js +52 -15
- package/dist/backup-lib.js.map +1 -1
- package/dist/backup-lib.test.js +64 -2
- package/dist/backup-lib.test.js.map +1 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +81 -42
- package/dist/client.js.map +1 -1
- package/dist/client.test.js +33 -0
- package/dist/client.test.js.map +1 -1
- package/dist/connections-v3-schema-core-migration.test.js +3 -0
- package/dist/connections-v3-schema-core-migration.test.js.map +1 -1
- package/dist/heartbeat-run-issue-privacy-migration.test.d.ts +2 -0
- package/dist/heartbeat-run-issue-privacy-migration.test.d.ts.map +1 -0
- package/dist/heartbeat-run-issue-privacy-migration.test.js +265 -0
- package/dist/heartbeat-run-issue-privacy-migration.test.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/migrations/0315_chunky_chamber.sql +3 -0
- package/dist/migrations/0316_lumpy_maria_hill.sql +157 -0
- package/dist/migrations/0317_colossal_otto_octavius.sql +24 -0
- package/dist/migrations/0318_supreme_garia.sql +1 -0
- package/dist/migrations/0319_curvy_shadow_king.sql +27 -0
- package/dist/migrations/0320_chubby_vin_gonzales.sql +7 -0
- package/dist/migrations/0321_familiar_titania.sql +4 -0
- package/dist/migrations/0322_cool_naoko.sql +3 -0
- package/dist/migrations/0323_whole_steel_serpent.sql +20 -0
- package/dist/migrations/0324_loving_the_hood.sql +77 -0
- package/dist/migrations/0325_agent_commentary.sql +33 -0
- package/dist/migrations/0326_mcp_file_transfers.sql +48 -0
- package/dist/migrations/0327_easy_eternity.sql +232 -0
- package/dist/migrations/0328_private_task_access.sql +278 -0
- package/dist/migrations/0329_private_task_draft_assets.sql +28 -0
- package/dist/migrations/0330_rapid_emma_frost.sql +44 -0
- package/dist/migrations/0331_premium_slayback.sql +81 -0
- package/dist/migrations/0332_messy_famine.sql +189 -0
- package/dist/migrations/0333_strong_blacklash.sql +23 -0
- package/dist/migrations/0334_heavy_captain_midlands.sql +15 -0
- package/dist/migrations/0335_daily_onslaught.sql +16 -0
- package/dist/migrations/0336_acoustic_human_fly.sql +1 -0
- package/dist/migrations/0337_reflective_kree.sql +98 -0
- package/dist/migrations/0338_petite_shockwave.sql +4 -0
- package/dist/migrations/0339_long_franklin_storm.sql +153 -0
- package/dist/migrations/0340_aberrant_machine_man.sql +6 -0
- package/dist/migrations/0341_blushing_screwball.sql +17 -0
- package/dist/migrations/0342_sad_proteus.sql +23 -0
- package/dist/migrations/0343_chunky_mentallo.sql +52 -0
- package/dist/migrations/0344_free_wolf_cub.sql +18 -0
- package/dist/migrations/0345_spooky_white_tiger.sql +7 -0
- package/dist/migrations/0346_panoramic_spyke.sql +74 -0
- package/dist/migrations/0347_little_night_nurse.sql +1 -0
- package/dist/migrations/meta/_journal.json +232 -1
- package/dist/private-task-draft-assets-migration.test.d.ts +2 -0
- package/dist/private-task-draft-assets-migration.test.d.ts.map +1 -0
- package/dist/private-task-draft-assets-migration.test.js +35 -0
- package/dist/private-task-draft-assets-migration.test.js.map +1 -0
- package/dist/question-response-history-migration.test.d.ts +2 -0
- package/dist/question-response-history-migration.test.d.ts.map +1 -0
- package/dist/question-response-history-migration.test.js +53 -0
- package/dist/question-response-history-migration.test.js.map +1 -0
- package/dist/schema/accounting.d.ts +1282 -0
- package/dist/schema/accounting.d.ts.map +1 -0
- package/dist/schema/accounting.js +120 -0
- package/dist/schema/accounting.js.map +1 -0
- package/dist/schema/adapter_auth_sessions.d.ts +2 -2
- package/dist/schema/agent_commentary.d.ts +181 -0
- package/dist/schema/agent_commentary.d.ts.map +1 -0
- package/dist/schema/agent_commentary.js +24 -0
- package/dist/schema/agent_commentary.js.map +1 -0
- package/dist/schema/agent_identity_keys.d.ts +131 -0
- package/dist/schema/agent_identity_keys.d.ts.map +1 -0
- package/dist/schema/agent_identity_keys.js +20 -0
- package/dist/schema/agent_identity_keys.js.map +1 -0
- package/dist/schema/agent_runtime_state.d.ts +2 -2
- package/dist/schema/agent_runtime_state.js +2 -2
- package/dist/schema/agent_runtime_state.js.map +1 -1
- package/dist/schema/agent_wakeup_requests.d.ts.map +1 -1
- package/dist/schema/agent_wakeup_requests.js +6 -0
- package/dist/schema/agent_wakeup_requests.js.map +1 -1
- package/dist/schema/agents.d.ts +132 -2
- package/dist/schema/agents.d.ts.map +1 -1
- package/dist/schema/agents.js +10 -2
- package/dist/schema/agents.js.map +1 -1
- package/dist/schema/ai_connection_defaults.d.ts +2 -2
- package/dist/schema/ai_connection_defaults.js +1 -1
- package/dist/schema/ai_connection_defaults.js.map +1 -1
- package/dist/schema/ai_connection_routing.d.ts +8 -8
- package/dist/schema/ai_provider_defaults.d.ts +2 -2
- package/dist/schema/ai_provider_defaults.js +1 -1
- package/dist/schema/ai_provider_defaults.js.map +1 -1
- package/dist/schema/ai_subscriptions.d.ts +619 -0
- package/dist/schema/ai_subscriptions.d.ts.map +1 -0
- package/dist/schema/ai_subscriptions.js +61 -0
- package/dist/schema/ai_subscriptions.js.map +1 -0
- package/dist/schema/budget_incidents.d.ts +2 -2
- package/dist/schema/budget_incidents.js +3 -3
- package/dist/schema/budget_incidents.js.map +1 -1
- package/dist/schema/budget_policies.d.ts +68 -0
- package/dist/schema/budget_policies.d.ts.map +1 -1
- package/dist/schema/budget_policies.js +7 -1
- package/dist/schema/budget_policies.js.map +1 -1
- package/dist/schema/chat_channels.d.ts +21 -4
- package/dist/schema/chat_channels.d.ts.map +1 -1
- package/dist/schema/chat_channels.js +3 -2
- package/dist/schema/chat_channels.js.map +1 -1
- package/dist/schema/chat_github.d.ts +108 -0
- package/dist/schema/chat_github.d.ts.map +1 -1
- package/dist/schema/chat_github.js +7 -0
- package/dist/schema/chat_github.js.map +1 -1
- package/dist/schema/chat_slack_registrations.d.ts +287 -0
- package/dist/schema/chat_slack_registrations.d.ts.map +1 -0
- package/dist/schema/chat_slack_registrations.js +26 -0
- package/dist/schema/chat_slack_registrations.js.map +1 -0
- package/dist/schema/chat_voice_callbacks.d.ts +128 -0
- package/dist/schema/chat_voice_callbacks.d.ts.map +1 -0
- package/dist/schema/chat_voice_callbacks.js +18 -0
- package/dist/schema/chat_voice_callbacks.js.map +1 -0
- package/dist/schema/chat_voice_inbound.d.ts +461 -0
- package/dist/schema/chat_voice_inbound.d.ts.map +1 -0
- package/dist/schema/chat_voice_inbound.js +45 -0
- package/dist/schema/chat_voice_inbound.js.map +1 -0
- package/dist/schema/chat_voice_reports.d.ts +184 -0
- package/dist/schema/chat_voice_reports.d.ts.map +1 -0
- package/dist/schema/chat_voice_reports.js +24 -0
- package/dist/schema/chat_voice_reports.js.map +1 -0
- package/dist/schema/chat_voice_sessions.d.ts +730 -0
- package/dist/schema/chat_voice_sessions.d.ts.map +1 -0
- package/dist/schema/chat_voice_sessions.js +85 -0
- package/dist/schema/chat_voice_sessions.js.map +1 -0
- package/dist/schema/companies.d.ts +19 -2
- package/dist/schema/companies.d.ts.map +1 -1
- package/dist/schema/companies.js +3 -2
- package/dist/schema/companies.js.map +1 -1
- package/dist/schema/cost_events.d.ts +141 -3
- package/dist/schema/cost_events.d.ts.map +1 -1
- package/dist/schema/cost_events.js +20 -3
- package/dist/schema/cost_events.js.map +1 -1
- package/dist/schema/decision_models.d.ts +579 -0
- package/dist/schema/decision_models.d.ts.map +1 -0
- package/dist/schema/decision_models.js +50 -0
- package/dist/schema/decision_models.js.map +1 -0
- package/dist/schema/dot_runner.d.ts +980 -0
- package/dist/schema/dot_runner.d.ts.map +1 -0
- package/dist/schema/dot_runner.js +82 -0
- package/dist/schema/dot_runner.js.map +1 -0
- package/dist/schema/fast_responses.d.ts +662 -0
- package/dist/schema/fast_responses.d.ts.map +1 -0
- package/dist/schema/fast_responses.js +65 -0
- package/dist/schema/fast_responses.js.map +1 -0
- package/dist/schema/finance_events.d.ts +36 -2
- package/dist/schema/finance_events.d.ts.map +1 -1
- package/dist/schema/finance_events.js +5 -2
- package/dist/schema/finance_events.js.map +1 -1
- package/dist/schema/heartbeat_runs.d.ts +138 -0
- package/dist/schema/heartbeat_runs.d.ts.map +1 -1
- package/dist/schema/heartbeat_runs.js +17 -1
- package/dist/schema/heartbeat_runs.js.map +1 -1
- package/dist/schema/index.d.ts +17 -0
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +17 -0
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/issue_access_grants.d.ts +161 -0
- package/dist/schema/issue_access_grants.d.ts.map +1 -0
- package/dist/schema/issue_access_grants.js +21 -0
- package/dist/schema/issue_access_grants.js.map +1 -0
- package/dist/schema/issue_comments.d.ts +36 -0
- package/dist/schema/issue_comments.d.ts.map +1 -1
- package/dist/schema/issue_comments.js +2 -0
- package/dist/schema/issue_comments.js.map +1 -1
- package/dist/schema/issues.d.ts +51 -0
- package/dist/schema/issues.d.ts.map +1 -1
- package/dist/schema/issues.js +6 -0
- package/dist/schema/issues.js.map +1 -1
- package/dist/schema/plugin_lifecycle_acknowledgments.d.ts +59 -0
- package/dist/schema/plugin_lifecycle_acknowledgments.d.ts.map +1 -0
- package/dist/schema/plugin_lifecycle_acknowledgments.js +12 -0
- package/dist/schema/plugin_lifecycle_acknowledgments.js.map +1 -0
- package/dist/schema/project_access_members.d.ts +111 -0
- package/dist/schema/project_access_members.d.ts.map +1 -0
- package/dist/schema/project_access_members.js +18 -0
- package/dist/schema/project_access_members.js.map +1 -0
- package/dist/schema/projects.d.ts +51 -0
- package/dist/schema/projects.d.ts.map +1 -1
- package/dist/schema/projects.js +9 -1
- package/dist/schema/projects.js.map +1 -1
- package/dist/schema/public_mcp.d.ts +2100 -0
- package/dist/schema/public_mcp.d.ts.map +1 -0
- package/dist/schema/public_mcp.js +191 -0
- package/dist/schema/public_mcp.js.map +1 -0
- package/dist/schema/resource_lifecycle_events.d.ts +2 -2
- package/dist/schema/resource_lifecycle_events.d.ts.map +1 -1
- package/dist/schema/resource_lifecycle_events.js +2 -1
- package/dist/schema/resource_lifecycle_events.js.map +1 -1
- package/dist/schema/status_cards.d.ts +2 -2
- package/dist/schema/status_cards.js +2 -2
- package/dist/schema/status_cards.js.map +1 -1
- package/dist/schema/tool_access.d.ts +18 -0
- package/dist/schema/tool_access.d.ts.map +1 -1
- package/dist/schema/tool_access.js +3 -3
- package/dist/schema/tool_access.js.map +1 -1
- package/dist/schema/user_company_preferences.d.ts +127 -0
- package/dist/schema/user_company_preferences.d.ts.map +1 -0
- package/dist/schema/user_company_preferences.js +16 -0
- package/dist/schema/user_company_preferences.js.map +1 -0
- package/dist/speko-voice-migration.test.d.ts +2 -0
- package/dist/speko-voice-migration.test.d.ts.map +1 -0
- package/dist/speko-voice-migration.test.js +88 -0
- package/dist/speko-voice-migration.test.js.map +1 -0
- package/dist/work-signals.d.ts +20 -0
- package/dist/work-signals.d.ts.map +1 -0
- package/dist/work-signals.js +123 -0
- package/dist/work-signals.js.map +1 -0
- package/dist/work-signals.test.d.ts +2 -0
- package/dist/work-signals.test.d.ts.map +1 -0
- package/dist/work-signals.test.js +177 -0
- package/dist/work-signals.test.js.map +1 -0
- package/package.json +4 -4
- package/dist/seed.d.ts +0 -2
- package/dist/seed.d.ts.map +0 -1
- package/dist/seed.js +0 -91
- package/dist/seed.js.map +0 -1
|
@@ -2192,6 +2192,237 @@
|
|
|
2192
2192
|
"when": 1791689817756,
|
|
2193
2193
|
"tag": "0314_chilly_triton",
|
|
2194
2194
|
"breakpoints": true
|
|
2195
|
+
},
|
|
2196
|
+
{
|
|
2197
|
+
"idx": 315,
|
|
2198
|
+
"version": "7",
|
|
2199
|
+
"when": 1791689817757,
|
|
2200
|
+
"tag": "0315_chunky_chamber",
|
|
2201
|
+
"breakpoints": true
|
|
2202
|
+
},
|
|
2203
|
+
{
|
|
2204
|
+
"idx": 316,
|
|
2205
|
+
"version": "7",
|
|
2206
|
+
"when": 1791689817758,
|
|
2207
|
+
"tag": "0316_lumpy_maria_hill",
|
|
2208
|
+
"breakpoints": true
|
|
2209
|
+
},
|
|
2210
|
+
{
|
|
2211
|
+
"idx": 317,
|
|
2212
|
+
"version": "7",
|
|
2213
|
+
"when": 1791689817759,
|
|
2214
|
+
"tag": "0317_colossal_otto_octavius",
|
|
2215
|
+
"breakpoints": true
|
|
2216
|
+
},
|
|
2217
|
+
{
|
|
2218
|
+
"idx": 318,
|
|
2219
|
+
"version": "7",
|
|
2220
|
+
"when": 1791689817760,
|
|
2221
|
+
"tag": "0318_supreme_garia",
|
|
2222
|
+
"breakpoints": true
|
|
2223
|
+
},
|
|
2224
|
+
{
|
|
2225
|
+
"idx": 319,
|
|
2226
|
+
"version": "7",
|
|
2227
|
+
"when": 1791689817761,
|
|
2228
|
+
"tag": "0319_curvy_shadow_king",
|
|
2229
|
+
"breakpoints": true
|
|
2230
|
+
},
|
|
2231
|
+
{
|
|
2232
|
+
"idx": 320,
|
|
2233
|
+
"version": "7",
|
|
2234
|
+
"when": 1791689817762,
|
|
2235
|
+
"tag": "0320_chubby_vin_gonzales",
|
|
2236
|
+
"breakpoints": true
|
|
2237
|
+
},
|
|
2238
|
+
{
|
|
2239
|
+
"idx": 321,
|
|
2240
|
+
"version": "7",
|
|
2241
|
+
"when": 1791689817763,
|
|
2242
|
+
"tag": "0321_familiar_titania",
|
|
2243
|
+
"breakpoints": true
|
|
2244
|
+
},
|
|
2245
|
+
{
|
|
2246
|
+
"idx": 322,
|
|
2247
|
+
"version": "7",
|
|
2248
|
+
"when": 1791689817764,
|
|
2249
|
+
"tag": "0322_cool_naoko",
|
|
2250
|
+
"breakpoints": true
|
|
2251
|
+
},
|
|
2252
|
+
{
|
|
2253
|
+
"idx": 323,
|
|
2254
|
+
"version": "7",
|
|
2255
|
+
"when": 1791689817765,
|
|
2256
|
+
"tag": "0323_whole_steel_serpent",
|
|
2257
|
+
"breakpoints": true
|
|
2258
|
+
},
|
|
2259
|
+
{
|
|
2260
|
+
"idx": 324,
|
|
2261
|
+
"version": "7",
|
|
2262
|
+
"when": 1791689817766,
|
|
2263
|
+
"tag": "0324_loving_the_hood",
|
|
2264
|
+
"breakpoints": true
|
|
2265
|
+
},
|
|
2266
|
+
{
|
|
2267
|
+
"idx": 325,
|
|
2268
|
+
"version": "7",
|
|
2269
|
+
"when": 1791689817767,
|
|
2270
|
+
"tag": "0325_agent_commentary",
|
|
2271
|
+
"breakpoints": true
|
|
2272
|
+
},
|
|
2273
|
+
{
|
|
2274
|
+
"idx": 326,
|
|
2275
|
+
"version": "7",
|
|
2276
|
+
"when": 1791689817768,
|
|
2277
|
+
"tag": "0326_mcp_file_transfers",
|
|
2278
|
+
"breakpoints": true
|
|
2279
|
+
},
|
|
2280
|
+
{
|
|
2281
|
+
"idx": 327,
|
|
2282
|
+
"version": "7",
|
|
2283
|
+
"when": 1791689817769,
|
|
2284
|
+
"tag": "0327_easy_eternity",
|
|
2285
|
+
"breakpoints": true
|
|
2286
|
+
},
|
|
2287
|
+
{
|
|
2288
|
+
"idx": 328,
|
|
2289
|
+
"version": "7",
|
|
2290
|
+
"when": 1791689817770,
|
|
2291
|
+
"tag": "0328_private_task_access",
|
|
2292
|
+
"breakpoints": true
|
|
2293
|
+
},
|
|
2294
|
+
{
|
|
2295
|
+
"idx": 329,
|
|
2296
|
+
"version": "7",
|
|
2297
|
+
"when": 1791689817771,
|
|
2298
|
+
"tag": "0329_private_task_draft_assets",
|
|
2299
|
+
"breakpoints": true
|
|
2300
|
+
},
|
|
2301
|
+
{
|
|
2302
|
+
"idx": 330,
|
|
2303
|
+
"version": "7",
|
|
2304
|
+
"when": 1791689817772,
|
|
2305
|
+
"tag": "0330_rapid_emma_frost",
|
|
2306
|
+
"breakpoints": true
|
|
2307
|
+
},
|
|
2308
|
+
{
|
|
2309
|
+
"idx": 331,
|
|
2310
|
+
"version": "7",
|
|
2311
|
+
"when": 1791689817773,
|
|
2312
|
+
"tag": "0331_premium_slayback",
|
|
2313
|
+
"breakpoints": true
|
|
2314
|
+
},
|
|
2315
|
+
{
|
|
2316
|
+
"idx": 332,
|
|
2317
|
+
"version": "7",
|
|
2318
|
+
"when": 1791689817774,
|
|
2319
|
+
"tag": "0332_messy_famine",
|
|
2320
|
+
"breakpoints": true
|
|
2321
|
+
},
|
|
2322
|
+
{
|
|
2323
|
+
"idx": 333,
|
|
2324
|
+
"version": "7",
|
|
2325
|
+
"when": 1791689817775,
|
|
2326
|
+
"tag": "0333_strong_blacklash",
|
|
2327
|
+
"breakpoints": true
|
|
2328
|
+
},
|
|
2329
|
+
{
|
|
2330
|
+
"idx": 334,
|
|
2331
|
+
"version": "7",
|
|
2332
|
+
"when": 1791689817776,
|
|
2333
|
+
"tag": "0334_heavy_captain_midlands",
|
|
2334
|
+
"breakpoints": true
|
|
2335
|
+
},
|
|
2336
|
+
{
|
|
2337
|
+
"idx": 335,
|
|
2338
|
+
"version": "7",
|
|
2339
|
+
"when": 1791689817777,
|
|
2340
|
+
"tag": "0335_daily_onslaught",
|
|
2341
|
+
"breakpoints": true
|
|
2342
|
+
},
|
|
2343
|
+
{
|
|
2344
|
+
"idx": 336,
|
|
2345
|
+
"version": "7",
|
|
2346
|
+
"when": 1791689817778,
|
|
2347
|
+
"tag": "0336_acoustic_human_fly",
|
|
2348
|
+
"breakpoints": true
|
|
2349
|
+
},
|
|
2350
|
+
{
|
|
2351
|
+
"idx": 337,
|
|
2352
|
+
"version": "7",
|
|
2353
|
+
"when": 1791689817779,
|
|
2354
|
+
"tag": "0337_reflective_kree",
|
|
2355
|
+
"breakpoints": true
|
|
2356
|
+
},
|
|
2357
|
+
{
|
|
2358
|
+
"idx": 338,
|
|
2359
|
+
"version": "7",
|
|
2360
|
+
"when": 1791689817780,
|
|
2361
|
+
"tag": "0338_petite_shockwave",
|
|
2362
|
+
"breakpoints": true
|
|
2363
|
+
},
|
|
2364
|
+
{
|
|
2365
|
+
"idx": 339,
|
|
2366
|
+
"version": "7",
|
|
2367
|
+
"when": 1791689817781,
|
|
2368
|
+
"tag": "0339_long_franklin_storm",
|
|
2369
|
+
"breakpoints": true
|
|
2370
|
+
},
|
|
2371
|
+
{
|
|
2372
|
+
"idx": 340,
|
|
2373
|
+
"version": "7",
|
|
2374
|
+
"when": 1791689817782,
|
|
2375
|
+
"tag": "0340_aberrant_machine_man",
|
|
2376
|
+
"breakpoints": true
|
|
2377
|
+
},
|
|
2378
|
+
{
|
|
2379
|
+
"idx": 341,
|
|
2380
|
+
"version": "7",
|
|
2381
|
+
"when": 1791689817783,
|
|
2382
|
+
"tag": "0341_blushing_screwball",
|
|
2383
|
+
"breakpoints": true
|
|
2384
|
+
},
|
|
2385
|
+
{
|
|
2386
|
+
"idx": 342,
|
|
2387
|
+
"version": "7",
|
|
2388
|
+
"when": 1791689817784,
|
|
2389
|
+
"tag": "0342_sad_proteus",
|
|
2390
|
+
"breakpoints": true
|
|
2391
|
+
},
|
|
2392
|
+
{
|
|
2393
|
+
"idx": 343,
|
|
2394
|
+
"version": "7",
|
|
2395
|
+
"when": 1791689817785,
|
|
2396
|
+
"tag": "0343_chunky_mentallo",
|
|
2397
|
+
"breakpoints": true
|
|
2398
|
+
},
|
|
2399
|
+
{
|
|
2400
|
+
"idx": 344,
|
|
2401
|
+
"version": "7",
|
|
2402
|
+
"when": 1791689817786,
|
|
2403
|
+
"tag": "0344_free_wolf_cub",
|
|
2404
|
+
"breakpoints": true
|
|
2405
|
+
},
|
|
2406
|
+
{
|
|
2407
|
+
"idx": 345,
|
|
2408
|
+
"version": "7",
|
|
2409
|
+
"when": 1791689817787,
|
|
2410
|
+
"tag": "0345_spooky_white_tiger",
|
|
2411
|
+
"breakpoints": true
|
|
2412
|
+
},
|
|
2413
|
+
{
|
|
2414
|
+
"idx": 346,
|
|
2415
|
+
"version": "7",
|
|
2416
|
+
"when": 1791689817788,
|
|
2417
|
+
"tag": "0346_panoramic_spyke",
|
|
2418
|
+
"breakpoints": true
|
|
2419
|
+
},
|
|
2420
|
+
{
|
|
2421
|
+
"idx": 347,
|
|
2422
|
+
"version": "7",
|
|
2423
|
+
"when": 1791693159075,
|
|
2424
|
+
"tag": "0347_little_night_nurse",
|
|
2425
|
+
"breakpoints": true
|
|
2195
2426
|
}
|
|
2196
2427
|
]
|
|
2197
|
-
}
|
|
2428
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"private-task-draft-assets-migration.test.d.ts","sourceRoot":"","sources":["../src/private-task-draft-assets-migration.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { createHash, randomUUID } from "node:crypto";
|
|
2
|
+
import fs from "node:fs/promises";
|
|
3
|
+
import postgres from "postgres";
|
|
4
|
+
import { expect, it } from "vitest";
|
|
5
|
+
import { applyPendingMigrations } from "./client.js";
|
|
6
|
+
import { getEmbeddedPostgresTestSupport, startEmbeddedPostgresTestDatabase } from "./test-embedded-postgres.js";
|
|
7
|
+
const embeddedPostgresSupport = await getEmbeddedPostgresTestSupport();
|
|
8
|
+
const itEmbeddedPostgres = embeddedPostgresSupport.supported ? it : it.skip;
|
|
9
|
+
itEmbeddedPostgres("backfills owned draft images without attaching another uploader's images", async () => {
|
|
10
|
+
const database = await startEmbeddedPostgresTestDatabase("paperclip-draft-privacy-");
|
|
11
|
+
const sql = postgres(database.connectionString, { max: 1, onnotice: () => { } });
|
|
12
|
+
try {
|
|
13
|
+
const migration = await fs.readFile(new URL("./migrations/0329_private_task_draft_assets.sql", import.meta.url), "utf8");
|
|
14
|
+
const hash = createHash("sha256").update(migration).digest("hex");
|
|
15
|
+
const company = randomUUID(), task = randomUUID(), owned = randomUUID(), foreign = randomUUID();
|
|
16
|
+
await sql `INSERT INTO companies (id, name, issue_prefix) VALUES (${company}, 'Draft privacy', 'DRAFT')`;
|
|
17
|
+
for (const [id, owner] of [[owned, 'owner'], [foreign, 'someone-else']]) {
|
|
18
|
+
await sql `INSERT INTO assets (id, company_id, provider, object_key, content_type, byte_size, sha256, created_by_user_id)
|
|
19
|
+
VALUES (${id}, ${company}, 'local_disk', ${`${company}/assets/issues/drafts/${id}`}, 'image/png', 1, 'test', ${owner})`;
|
|
20
|
+
}
|
|
21
|
+
await sql `INSERT INTO issues (id, company_id, title, description, visibility, created_by_user_id)
|
|
22
|
+
VALUES (${task}, ${company}, 'Private task', ${` `}, 'private', 'owner')`;
|
|
23
|
+
for (let run = 0; run < 2; run += 1) {
|
|
24
|
+
await sql `DELETE FROM drizzle.__drizzle_migrations WHERE hash = ${hash}`;
|
|
25
|
+
await applyPendingMigrations(database.connectionString);
|
|
26
|
+
expect(await sql `SELECT issue_id, asset_id FROM issue_attachments WHERE company_id = ${company}`)
|
|
27
|
+
.toEqual([{ issue_id: task, asset_id: owned }]);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
finally {
|
|
31
|
+
await sql.end();
|
|
32
|
+
await database.cleanup();
|
|
33
|
+
}
|
|
34
|
+
}, 60_000);
|
|
35
|
+
//# sourceMappingURL=private-task-draft-assets-migration.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"private-task-draft-assets-migration.test.js","sourceRoot":"","sources":["../src/private-task-draft-assets-migration.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,8BAA8B,EAAE,iCAAiC,EAAE,MAAM,6BAA6B,CAAC;AAEhH,MAAM,uBAAuB,GAAG,MAAM,8BAA8B,EAAE,CAAC;AACvE,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;AAE5E,kBAAkB,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;IACxG,MAAM,QAAQ,GAAG,MAAM,iCAAiC,CAAC,0BAA0B,CAAC,CAAC;IACrF,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC;IAChF,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,iDAAiD,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;QACzH,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,UAAU,EAAE,EAAE,IAAI,GAAG,UAAU,EAAE,EAAE,KAAK,GAAG,UAAU,EAAE,EAAE,OAAO,GAAG,UAAU,EAAE,CAAC;QAChG,MAAM,GAAG,CAAA,0DAA0D,OAAO,6BAA6B,CAAC;QACxG,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;YACxE,MAAM,GAAG,CAAA;kBACG,EAAE,KAAK,OAAO,mBAAmB,GAAG,OAAO,yBAAyB,EAAE,EAAE,6BAA6B,KAAK,GAAG,CAAC;QAC5H,CAAC;QACD,MAAM,GAAG,CAAA;gBACG,IAAI,KAAK,OAAO,qBAAqB,wBAAwB,KAAK,oCAAoC,OAAO,WAAW,uBAAuB,CAAC;QAC5J,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YACpC,MAAM,GAAG,CAAA,yDAAyD,IAAI,EAAE,CAAC;YACzE,MAAM,sBAAsB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YACxD,MAAM,CAAC,MAAM,GAAG,CAAA,uEAAuE,OAAO,EAAE,CAAC;iBAC9F,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC;QAChB,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;AACH,CAAC,EAAE,MAAM,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"question-response-history-migration.test.d.ts","sourceRoot":"","sources":["../src/question-response-history-migration.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { createHash, randomUUID } from "node:crypto";
|
|
2
|
+
import { readFile } from "node:fs/promises";
|
|
3
|
+
import postgres from "postgres";
|
|
4
|
+
import { describe, expect, it } from "vitest";
|
|
5
|
+
import { applyPendingMigrations } from "./client.js";
|
|
6
|
+
import { getEmbeddedPostgresTestSupport, startEmbeddedPostgresTestDatabase } from "./test-embedded-postgres.js";
|
|
7
|
+
const support = await getEmbeddedPostgresTestSupport();
|
|
8
|
+
const indexName = "agent_wakeup_requests_question_response_history_idx";
|
|
9
|
+
const migrationFile = "0347_little_night_nurse.sql";
|
|
10
|
+
(support.supported ? describe : describe.skip)("question-response history migration", () => {
|
|
11
|
+
it("repairs an interrupted concurrent index build and serializes replay without deleting wakes", async () => {
|
|
12
|
+
const database = await startEmbeddedPostgresTestDatabase("question-history-migration-");
|
|
13
|
+
const sql = postgres(database.connectionString, { max: 1, onnotice: () => { } });
|
|
14
|
+
try {
|
|
15
|
+
const companyId = randomUUID();
|
|
16
|
+
const agentId = randomUUID();
|
|
17
|
+
await sql `INSERT INTO companies (id, name, issue_prefix) VALUES (${companyId}, 'Migration fixture', 'QHM')`;
|
|
18
|
+
await sql `INSERT INTO agents (id, company_id, name, role, adapter_type)
|
|
19
|
+
VALUES (${agentId}, ${companyId}, 'Fixture', 'engineer', 'process')`;
|
|
20
|
+
await sql `INSERT INTO agent_wakeup_requests (company_id, agent_id, source, idempotency_key, status)
|
|
21
|
+
SELECT ${companyId}::uuid, ${agentId}::uuid, 'automation', 'question-response:' || n::text, 'failed'
|
|
22
|
+
FROM generate_series(1, 3) n`;
|
|
23
|
+
const content = await readFile(new URL(`./migrations/${migrationFile}`, import.meta.url), "utf8");
|
|
24
|
+
const hash = createHash("sha256").update(content).digest("hex");
|
|
25
|
+
await sql `DELETE FROM drizzle.__drizzle_migrations WHERE hash = ${hash}`;
|
|
26
|
+
await sql.unsafe(`DROP INDEX ${indexName}`);
|
|
27
|
+
// A failed concurrent UNIQUE build leaves the same invalid-index state
|
|
28
|
+
// as an interrupted nonunique build, without relying on timing a cancel.
|
|
29
|
+
await expect(sql.unsafe(`CREATE UNIQUE INDEX CONCURRENTLY ${indexName} ON agent_wakeup_requests (company_id)`))
|
|
30
|
+
.rejects.toThrow();
|
|
31
|
+
const [invalid] = await sql `SELECT i.indisvalid FROM pg_index i JOIN pg_class c ON c.oid = i.indexrelid
|
|
32
|
+
WHERE c.relname = ${indexName}`;
|
|
33
|
+
expect(invalid?.indisvalid).toBe(false);
|
|
34
|
+
await Promise.all([applyPendingMigrations(database.connectionString), applyPendingMigrations(database.connectionString)]);
|
|
35
|
+
const [rebuilt] = await sql `SELECT i.indisvalid, i.indisunique, pg_get_indexdef(i.indexrelid) AS definition
|
|
36
|
+
FROM pg_index i JOIN pg_class c ON c.oid = i.indexrelid WHERE c.relname = ${indexName}`;
|
|
37
|
+
expect(rebuilt?.indisvalid).toBe(true);
|
|
38
|
+
expect(rebuilt?.indisunique).toBe(false);
|
|
39
|
+
expect(rebuilt?.definition).toContain("company_id, idempotency_key");
|
|
40
|
+
expect(rebuilt?.definition).toContain("question-response:%");
|
|
41
|
+
const [wakes] = await sql `SELECT count(*)::int AS n FROM agent_wakeup_requests WHERE company_id = ${companyId}`;
|
|
42
|
+
expect(wakes?.n).toBe(3);
|
|
43
|
+
const [history] = await sql `SELECT count(*)::int AS n FROM drizzle.__drizzle_migrations WHERE hash = ${hash}`;
|
|
44
|
+
expect(history?.n).toBe(1);
|
|
45
|
+
await applyPendingMigrations(database.connectionString);
|
|
46
|
+
}
|
|
47
|
+
finally {
|
|
48
|
+
await sql.end();
|
|
49
|
+
await database.cleanup();
|
|
50
|
+
}
|
|
51
|
+
}, 60_000);
|
|
52
|
+
});
|
|
53
|
+
//# sourceMappingURL=question-response-history-migration.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"question-response-history-migration.test.js","sourceRoot":"","sources":["../src/question-response-history-migration.test.ts"],"names":[],"mappings":"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"}
|