@sentry/junior 0.170.0 → 0.172.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/dist/{agent-hooks-IPUNCZPZ.js → agent-hooks-IZMIMXUX.js} +15 -10
  2. package/dist/api.js +31 -30
  3. package/dist/app.js +32 -32
  4. package/dist/{catalog-runtime-E6XHWRPG.js → catalog-runtime-PDNXCNCJ.js} +5 -5
  5. package/dist/chat/sandbox/snapshot/store.d.ts +28 -0
  6. package/dist/chat/workspaces/store.d.ts +1 -10
  7. package/dist/chat/workspaces/types.d.ts +14 -1
  8. package/dist/{chunk-NESGW5HV.js → chunk-27T2WQJV.js} +1 -1
  9. package/dist/{chunk-47GJ7QRO.js → chunk-6RWQHBTV.js} +1 -1
  10. package/dist/{chunk-TX553KXA.js → chunk-A6AJ354O.js} +5 -5
  11. package/dist/{chunk-IJTFG6AK.js → chunk-AHWLGR5T.js} +5 -9
  12. package/dist/{chunk-CA6JIB7S.js → chunk-AQ4GXXRD.js} +21 -21
  13. package/dist/{chunk-3SFZJVX5.js → chunk-BTD6ZYFL.js} +2 -2
  14. package/dist/{chunk-E7HKIHI5.js → chunk-CBPREIWS.js} +2 -2
  15. package/dist/{chunk-7TVGQZOH.js → chunk-CO47EWFW.js} +4 -4
  16. package/dist/{chunk-2XI6OLXA.js → chunk-CUJ2T7FO.js} +9 -9
  17. package/dist/{chunk-F4UM52UH.js → chunk-ELAP5LB5.js} +1 -1
  18. package/dist/{chunk-BW644E3V.js → chunk-EXEO2R4S.js} +1 -1
  19. package/dist/{chunk-4PSUCN4P.js → chunk-FESC2EW7.js} +1 -1
  20. package/dist/{chunk-74XMBKRI.js → chunk-FUYKKSDV.js} +1 -1
  21. package/dist/{chunk-6GOKKLWF.js → chunk-G2DJ7LUE.js} +6 -6
  22. package/dist/{chunk-HZALSYOW.js → chunk-G4GNP4Q2.js} +5 -5
  23. package/dist/{chunk-6E4WQV75.js → chunk-HEOOUGVL.js} +1 -1
  24. package/dist/{chunk-5EPG7PYS.js → chunk-IAOQPDO6.js} +1 -1
  25. package/dist/chunk-IFSKN5VH.js +399 -0
  26. package/dist/{chunk-YWX7D7BJ.js → chunk-JOSDA5SZ.js} +17 -17
  27. package/dist/{chunk-6W2UIZSA.js → chunk-LVNMMESU.js} +70 -11
  28. package/dist/{chunk-UD4BNNM2.js → chunk-MNYAYK5I.js} +1 -1
  29. package/dist/{chunk-A22DGDXT.js → chunk-NB7WS4SP.js} +1 -1
  30. package/dist/{chunk-T4SEUU7A.js → chunk-Q36YWAJT.js} +1 -1
  31. package/dist/{chunk-NGL4XFT2.js → chunk-QAEKVEZY.js} +1 -1
  32. package/dist/{chunk-B53NR3XY.js → chunk-QBHPQCEQ.js} +6 -270
  33. package/dist/{chunk-NFERKIUX.js → chunk-QCGDWFYC.js} +4 -4
  34. package/dist/{chunk-KQCHIOME.js → chunk-SU7QH274.js} +8 -8
  35. package/dist/{chunk-IF3OK4XO.js → chunk-TWIRPYVB.js} +6 -6
  36. package/dist/{chunk-FKOLWEMX.js → chunk-W6THM2TX.js} +5 -5
  37. package/dist/{chunk-UHW5RAIB.js → chunk-XSO5JEHI.js} +12 -12
  38. package/dist/{chunk-IX7VHMIJ.js → chunk-Y4AEFUEV.js} +3 -3
  39. package/dist/{chunk-F3I6YFB4.js → chunk-YRBLN5PJ.js} +182 -68
  40. package/dist/cli/chat.js +30 -30
  41. package/dist/cli/check.js +6 -6
  42. package/dist/cli/plugins.js +13 -13
  43. package/dist/cli/snapshot-create.js +12 -11
  44. package/dist/cli/upgrade.js +7 -7
  45. package/dist/db/schema/snapshots.d.ts +254 -0
  46. package/dist/db/schema/workspaces.d.ts +0 -68
  47. package/dist/db/schema.d.ts +251 -69
  48. package/dist/{db-WMSEGSFM.js → db-32P3ZO4Z.js} +7 -7
  49. package/dist/instrumentation.js +4 -4
  50. package/dist/nitro.js +2 -2
  51. package/dist/{oauth-callback-server-GBS47NTO.js → oauth-callback-server-ZOHC35HH.js} +23 -23
  52. package/dist/{runner-V2A2Z7K3.js → runner-QWGQH425.js} +17 -13
  53. package/dist/{skills-Z35YXLUG.js → skills-2T6JZT2K.js} +6 -6
  54. package/dist/spawn-55U4TVHQ.js +37 -0
  55. package/dist/{validation-EQCK4DA5.js → validation-LMGCYHRK.js} +6 -6
  56. package/dist/version.js +1 -1
  57. package/dist/{work-XIANCABO.js → work-CVXCACZK.js} +18 -18
  58. package/dist/worker-SWMVAAN6.js +24 -0
  59. package/migrations/0032_workspace_snapshots_table.sql +69 -0
  60. package/migrations/meta/0032_snapshot.json +2892 -0
  61. package/migrations/meta/_journal.json +8 -1
  62. package/package.json +4 -4
  63. package/dist/chunk-BVREIWBD.js +0 -131
  64. package/dist/spawn-AKPJBUS2.js +0 -37
  65. package/dist/worker-YALLEN2Z.js +0 -24
@@ -3,8 +3,8 @@ import {
3
3
  } from "./chunk-UIE3R5XU.js";
4
4
  import {
5
5
  getCurrentConversationPrivacy
6
- } from "./chunk-NGL4XFT2.js";
7
- import "./chunk-5EPG7PYS.js";
6
+ } from "./chunk-QAEKVEZY.js";
7
+ import "./chunk-IAOQPDO6.js";
8
8
  import {
9
9
  getClient,
10
10
  getGlobalScope,
@@ -15,8 +15,8 @@ import {
15
15
  import {
16
16
  getDeploymentServiceVersion,
17
17
  getDeploymentTelemetryAttributes
18
- } from "./chunk-BW644E3V.js";
19
- import "./chunk-F4UM52UH.js";
18
+ } from "./chunk-EXEO2R4S.js";
19
+ import "./chunk-ELAP5LB5.js";
20
20
  import "./chunk-MLKGABMK.js";
21
21
 
22
22
  // src/chat/sentry-payload-filter.ts
package/dist/nitro.js CHANGED
@@ -27,8 +27,8 @@ import {
27
27
  JUNIOR_PLUGIN_TASK_CALLBACK_ROUTE,
28
28
  JUNIOR_RETENTION_CRON_SCHEDULE,
29
29
  JUNIOR_RETENTION_ROUTE
30
- } from "./chunk-BW644E3V.js";
31
- import "./chunk-F4UM52UH.js";
30
+ } from "./chunk-EXEO2R4S.js";
31
+ import "./chunk-ELAP5LB5.js";
32
32
  import "./chunk-MLKGABMK.js";
33
33
 
34
34
  // src/nitro.ts
@@ -2,45 +2,45 @@ import {
2
2
  GET,
3
3
  GET2,
4
4
  syncLocalOAuthCredential
5
- } from "./chunk-YWX7D7BJ.js";
5
+ } from "./chunk-JOSDA5SZ.js";
6
6
  import "./chunk-FA6POGLH.js";
7
- import "./chunk-T4SEUU7A.js";
8
- import "./chunk-NESGW5HV.js";
9
- import "./chunk-7TVGQZOH.js";
10
- import "./chunk-2XI6OLXA.js";
11
- import "./chunk-TX553KXA.js";
7
+ import "./chunk-Q36YWAJT.js";
8
+ import "./chunk-27T2WQJV.js";
9
+ import "./chunk-CO47EWFW.js";
10
+ import "./chunk-CUJ2T7FO.js";
11
+ import "./chunk-A6AJ354O.js";
12
12
  import "./chunk-WR76IVA5.js";
13
13
  import "./chunk-JAL3CH4G.js";
14
14
  import "./chunk-5I6ORJUY.js";
15
15
  import {
16
16
  createUserTokenStore
17
- } from "./chunk-KQCHIOME.js";
17
+ } from "./chunk-SU7QH274.js";
18
18
  import "./chunk-RF6J3DIO.js";
19
- import "./chunk-6GOKKLWF.js";
19
+ import "./chunk-G2DJ7LUE.js";
20
20
  import "./chunk-VRS6WDK5.js";
21
- import "./chunk-4PSUCN4P.js";
22
- import "./chunk-HZALSYOW.js";
21
+ import "./chunk-FESC2EW7.js";
22
+ import "./chunk-G4GNP4Q2.js";
23
23
  import "./chunk-3Y47VMHV.js";
24
24
  import "./chunk-PDO5BLNM.js";
25
- import "./chunk-F3I6YFB4.js";
26
- import "./chunk-IX7VHMIJ.js";
27
- import "./chunk-6W2UIZSA.js";
28
- import "./chunk-BVREIWBD.js";
29
- import "./chunk-74XMBKRI.js";
30
- import "./chunk-E7HKIHI5.js";
25
+ import "./chunk-YRBLN5PJ.js";
26
+ import "./chunk-Y4AEFUEV.js";
27
+ import "./chunk-LVNMMESU.js";
28
+ import "./chunk-IFSKN5VH.js";
29
+ import "./chunk-FUYKKSDV.js";
30
+ import "./chunk-CBPREIWS.js";
31
31
  import "./chunk-VFUK3X5B.js";
32
- import "./chunk-NGL4XFT2.js";
33
- import "./chunk-3SFZJVX5.js";
34
- import "./chunk-6E4WQV75.js";
35
- import "./chunk-A22DGDXT.js";
32
+ import "./chunk-QAEKVEZY.js";
33
+ import "./chunk-BTD6ZYFL.js";
34
+ import "./chunk-HEOOUGVL.js";
35
+ import "./chunk-NB7WS4SP.js";
36
36
  import "./chunk-CGA4ERJ5.js";
37
37
  import "./chunk-M63DETLL.js";
38
- import "./chunk-5EPG7PYS.js";
38
+ import "./chunk-IAOQPDO6.js";
39
39
  import "./chunk-6GWA276C.js";
40
40
  import "./chunk-OOUNJNMR.js";
41
41
  import "./chunk-H4HBKISO.js";
42
- import "./chunk-BW644E3V.js";
43
- import "./chunk-F4UM52UH.js";
42
+ import "./chunk-EXEO2R4S.js";
43
+ import "./chunk-ELAP5LB5.js";
44
44
  import "./chunk-MLKGABMK.js";
45
45
 
46
46
  // src/chat/local/oauth-callback-server.ts
@@ -4,14 +4,14 @@ import {
4
4
  finalizeFailedTurnReplyWithEvent,
5
5
  processPluginTask,
6
6
  scheduleSessionCompletedPluginTasks
7
- } from "./chunk-2XI6OLXA.js";
7
+ } from "./chunk-CUJ2T7FO.js";
8
8
  import {
9
9
  ConversationTurnLifecycleService,
10
10
  coerceThreadConversationState,
11
11
  getPersistedSandboxState,
12
12
  getPersistedThreadState,
13
13
  persistThreadStateById
14
- } from "./chunk-TX553KXA.js";
14
+ } from "./chunk-A6AJ354O.js";
15
15
  import "./chunk-5I6ORJUY.js";
16
16
  import {
17
17
  authorizationId
@@ -33,20 +33,22 @@ import {
33
33
  startActiveTurn,
34
34
  stripRuntimeTurnContext,
35
35
  upsertConversationMessage
36
- } from "./chunk-HZALSYOW.js";
36
+ } from "./chunk-G4GNP4Q2.js";
37
37
  import "./chunk-3Y47VMHV.js";
38
38
  import "./chunk-PDO5BLNM.js";
39
- import "./chunk-F3I6YFB4.js";
39
+ import "./chunk-YRBLN5PJ.js";
40
40
  import {
41
41
  getConversationEventStore,
42
42
  getConversationStore
43
- } from "./chunk-IX7VHMIJ.js";
44
- import "./chunk-6W2UIZSA.js";
45
- import "./chunk-BVREIWBD.js";
46
- import "./chunk-74XMBKRI.js";
47
- import "./chunk-E7HKIHI5.js";
43
+ } from "./chunk-Y4AEFUEV.js";
44
+ import "./chunk-LVNMMESU.js";
45
+ import "./chunk-IFSKN5VH.js";
46
+ import "./chunk-FUYKKSDV.js";
47
+ import "./chunk-CBPREIWS.js";
48
48
  import "./chunk-VFUK3X5B.js";
49
- import "./chunk-NGL4XFT2.js";
49
+ import "./chunk-QAEKVEZY.js";
50
+ import "./chunk-HEOOUGVL.js";
51
+ import "./chunk-NB7WS4SP.js";
50
52
  import {
51
53
  credentialContextForActor
52
54
  } from "./chunk-CGA4ERJ5.js";
@@ -55,10 +57,12 @@ import {
55
57
  logException,
56
58
  setTags,
57
59
  withLogContext
58
- } from "./chunk-5EPG7PYS.js";
60
+ } from "./chunk-IAOQPDO6.js";
59
61
  import "./chunk-6GWA276C.js";
60
- import "./chunk-BW644E3V.js";
61
- import "./chunk-F4UM52UH.js";
62
+ import "./chunk-OOUNJNMR.js";
63
+ import "./chunk-H4HBKISO.js";
64
+ import "./chunk-EXEO2R4S.js";
65
+ import "./chunk-ELAP5LB5.js";
62
66
  import "./chunk-MLKGABMK.js";
63
67
 
64
68
  // src/chat/local/runner.ts
@@ -6,17 +6,17 @@ import {
6
6
  parseSkillInvocation,
7
7
  resetSkillDiscoveryCache,
8
8
  stripFrontmatter
9
- } from "./chunk-3SFZJVX5.js";
10
- import "./chunk-6E4WQV75.js";
11
- import "./chunk-A22DGDXT.js";
9
+ } from "./chunk-BTD6ZYFL.js";
10
+ import "./chunk-HEOOUGVL.js";
11
+ import "./chunk-NB7WS4SP.js";
12
12
  import "./chunk-CGA4ERJ5.js";
13
13
  import "./chunk-M63DETLL.js";
14
- import "./chunk-5EPG7PYS.js";
14
+ import "./chunk-IAOQPDO6.js";
15
15
  import "./chunk-6GWA276C.js";
16
16
  import "./chunk-OOUNJNMR.js";
17
17
  import "./chunk-H4HBKISO.js";
18
- import "./chunk-BW644E3V.js";
19
- import "./chunk-F4UM52UH.js";
18
+ import "./chunk-EXEO2R4S.js";
19
+ import "./chunk-ELAP5LB5.js";
20
20
  import "./chunk-MLKGABMK.js";
21
21
  export {
22
22
  discoverSkills,
@@ -0,0 +1,37 @@
1
+ import {
2
+ bindSpawnAgent
3
+ } from "./chunk-MNYAYK5I.js";
4
+ import "./chunk-TWIRPYVB.js";
5
+ import "./chunk-CO47EWFW.js";
6
+ import "./chunk-A6AJ354O.js";
7
+ import "./chunk-JAL3CH4G.js";
8
+ import "./chunk-W6THM2TX.js";
9
+ import "./chunk-DIB4GX3G.js";
10
+ import "./chunk-RF6J3DIO.js";
11
+ import "./chunk-G2DJ7LUE.js";
12
+ import "./chunk-6ZWRNC4D.js";
13
+ import "./chunk-G4GNP4Q2.js";
14
+ import "./chunk-3Y47VMHV.js";
15
+ import "./chunk-PDO5BLNM.js";
16
+ import "./chunk-YRBLN5PJ.js";
17
+ import "./chunk-Y4AEFUEV.js";
18
+ import "./chunk-LVNMMESU.js";
19
+ import "./chunk-IFSKN5VH.js";
20
+ import "./chunk-FUYKKSDV.js";
21
+ import "./chunk-CBPREIWS.js";
22
+ import "./chunk-VFUK3X5B.js";
23
+ import "./chunk-QAEKVEZY.js";
24
+ import "./chunk-HEOOUGVL.js";
25
+ import "./chunk-NB7WS4SP.js";
26
+ import "./chunk-CGA4ERJ5.js";
27
+ import "./chunk-M63DETLL.js";
28
+ import "./chunk-IAOQPDO6.js";
29
+ import "./chunk-6GWA276C.js";
30
+ import "./chunk-OOUNJNMR.js";
31
+ import "./chunk-H4HBKISO.js";
32
+ import "./chunk-EXEO2R4S.js";
33
+ import "./chunk-ELAP5LB5.js";
34
+ import "./chunk-MLKGABMK.js";
35
+ export {
36
+ bindSpawnAgent
37
+ };
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  validatePluginEgressCredentialHooks,
3
3
  validatePluginRegistrations
4
- } from "./chunk-47GJ7QRO.js";
5
- import "./chunk-6E4WQV75.js";
6
- import "./chunk-A22DGDXT.js";
4
+ } from "./chunk-6RWQHBTV.js";
5
+ import "./chunk-HEOOUGVL.js";
6
+ import "./chunk-NB7WS4SP.js";
7
7
  import "./chunk-CGA4ERJ5.js";
8
8
  import "./chunk-M63DETLL.js";
9
- import "./chunk-5EPG7PYS.js";
9
+ import "./chunk-IAOQPDO6.js";
10
10
  import "./chunk-6GWA276C.js";
11
11
  import "./chunk-OOUNJNMR.js";
12
12
  import "./chunk-H4HBKISO.js";
13
- import "./chunk-BW644E3V.js";
14
- import "./chunk-F4UM52UH.js";
13
+ import "./chunk-EXEO2R4S.js";
14
+ import "./chunk-ELAP5LB5.js";
15
15
  import "./chunk-MLKGABMK.js";
16
16
  export {
17
17
  validatePluginEgressCredentialHooks,
package/dist/version.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  JUNIOR_VERSION
3
- } from "./chunk-F4UM52UH.js";
3
+ } from "./chunk-ELAP5LB5.js";
4
4
  import "./chunk-MLKGABMK.js";
5
5
  export {
6
6
  JUNIOR_VERSION
@@ -5,35 +5,35 @@ import {
5
5
  enqueueAgentInvocation,
6
6
  resolveAgentInvocationId,
7
7
  routeAgentInvocationWork
8
- } from "./chunk-IF3OK4XO.js";
9
- import "./chunk-7TVGQZOH.js";
10
- import "./chunk-TX553KXA.js";
8
+ } from "./chunk-TWIRPYVB.js";
9
+ import "./chunk-CO47EWFW.js";
10
+ import "./chunk-A6AJ354O.js";
11
11
  import "./chunk-JAL3CH4G.js";
12
- import "./chunk-FKOLWEMX.js";
12
+ import "./chunk-W6THM2TX.js";
13
13
  import "./chunk-DIB4GX3G.js";
14
- import "./chunk-6GOKKLWF.js";
14
+ import "./chunk-G2DJ7LUE.js";
15
15
  import "./chunk-6ZWRNC4D.js";
16
- import "./chunk-HZALSYOW.js";
16
+ import "./chunk-G4GNP4Q2.js";
17
17
  import "./chunk-3Y47VMHV.js";
18
18
  import "./chunk-PDO5BLNM.js";
19
- import "./chunk-F3I6YFB4.js";
20
- import "./chunk-IX7VHMIJ.js";
21
- import "./chunk-6W2UIZSA.js";
22
- import "./chunk-BVREIWBD.js";
23
- import "./chunk-74XMBKRI.js";
24
- import "./chunk-E7HKIHI5.js";
19
+ import "./chunk-YRBLN5PJ.js";
20
+ import "./chunk-Y4AEFUEV.js";
21
+ import "./chunk-LVNMMESU.js";
22
+ import "./chunk-IFSKN5VH.js";
23
+ import "./chunk-FUYKKSDV.js";
24
+ import "./chunk-CBPREIWS.js";
25
25
  import "./chunk-VFUK3X5B.js";
26
- import "./chunk-NGL4XFT2.js";
27
- import "./chunk-6E4WQV75.js";
28
- import "./chunk-A22DGDXT.js";
26
+ import "./chunk-QAEKVEZY.js";
27
+ import "./chunk-HEOOUGVL.js";
28
+ import "./chunk-NB7WS4SP.js";
29
29
  import "./chunk-CGA4ERJ5.js";
30
30
  import "./chunk-M63DETLL.js";
31
- import "./chunk-5EPG7PYS.js";
31
+ import "./chunk-IAOQPDO6.js";
32
32
  import "./chunk-6GWA276C.js";
33
33
  import "./chunk-OOUNJNMR.js";
34
34
  import "./chunk-H4HBKISO.js";
35
- import "./chunk-BW644E3V.js";
36
- import "./chunk-F4UM52UH.js";
35
+ import "./chunk-EXEO2R4S.js";
36
+ import "./chunk-ELAP5LB5.js";
37
37
  import "./chunk-MLKGABMK.js";
38
38
  export {
39
39
  buildAgentInvocationInboundMessage,
@@ -0,0 +1,24 @@
1
+ import {
2
+ CONVERSATION_WORK_DEFER_DELAY_MS,
3
+ processConversationWork
4
+ } from "./chunk-QCGDWFYC.js";
5
+ import "./chunk-Q36YWAJT.js";
6
+ import "./chunk-CO47EWFW.js";
7
+ import "./chunk-JAL3CH4G.js";
8
+ import "./chunk-3Y47VMHV.js";
9
+ import "./chunk-Y4AEFUEV.js";
10
+ import "./chunk-LVNMMESU.js";
11
+ import "./chunk-FUYKKSDV.js";
12
+ import "./chunk-CBPREIWS.js";
13
+ import "./chunk-VFUK3X5B.js";
14
+ import "./chunk-QAEKVEZY.js";
15
+ import "./chunk-M63DETLL.js";
16
+ import "./chunk-IAOQPDO6.js";
17
+ import "./chunk-6GWA276C.js";
18
+ import "./chunk-EXEO2R4S.js";
19
+ import "./chunk-ELAP5LB5.js";
20
+ import "./chunk-MLKGABMK.js";
21
+ export {
22
+ CONVERSATION_WORK_DEFER_DELAY_MS,
23
+ processConversationWork
24
+ };
@@ -0,0 +1,69 @@
1
+ CREATE TABLE "junior_snapshots" (
2
+ "id" text PRIMARY KEY NOT NULL,
3
+ "workspace_id" text NOT NULL,
4
+ "profile_hash" text NOT NULL,
5
+ "status" text NOT NULL,
6
+ "snapshot_id" text,
7
+ "build_duration_ms" integer,
8
+ "generated_at" timestamp with time zone,
9
+ "build_started_at" timestamp with time zone,
10
+ "build_phase" text,
11
+ "build_sandbox_name" text,
12
+ "build_command_id" text,
13
+ "build_error" text,
14
+ "created_at" timestamp with time zone NOT NULL,
15
+ "updated_at" timestamp with time zone NOT NULL,
16
+ CONSTRAINT "junior_snapshots_status_check" CHECK ("junior_snapshots"."status" in ('building', 'failed', 'ready')),
17
+ CONSTRAINT "junior_snapshots_build_phase_check" CHECK ("junior_snapshots"."build_phase" is null or "junior_snapshots"."build_phase" in ('created', 'dependencies_installed', 'repositories_prepared')),
18
+ CONSTRAINT "junior_snapshots_ready_fields_check" CHECK ("junior_snapshots"."status" <> 'ready' or ("junior_snapshots"."snapshot_id" is not null and "junior_snapshots"."build_duration_ms" is not null and "junior_snapshots"."generated_at" is not null)),
19
+ CONSTRAINT "junior_snapshots_build_fields_check" CHECK ("junior_snapshots"."status" = 'ready' or ("junior_snapshots"."build_started_at" is not null and "junior_snapshots"."build_phase" is not null)),
20
+ CONSTRAINT "junior_snapshots_build_duration_check" CHECK ("junior_snapshots"."build_duration_ms" is null or "junior_snapshots"."build_duration_ms" >= 0)
21
+ );
22
+ --> statement-breakpoint
23
+ ALTER TABLE "junior_snapshots" ADD CONSTRAINT "junior_snapshots_workspace_id_junior_workspaces_id_fk" FOREIGN KEY ("workspace_id") REFERENCES "public"."junior_workspaces"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
24
+ CREATE UNIQUE INDEX "junior_snapshots_snapshot_id_uidx" ON "junior_snapshots" USING btree ("snapshot_id");--> statement-breakpoint
25
+ CREATE INDEX "junior_snapshots_workspace_idx" ON "junior_snapshots" USING btree ("workspace_id");--> statement-breakpoint
26
+ CREATE INDEX "junior_snapshots_workspace_profile_status_idx" ON "junior_snapshots" USING btree ("workspace_id","profile_hash","status");--> statement-breakpoint
27
+ CREATE INDEX "junior_snapshots_workspace_status_idx" ON "junior_snapshots" USING btree ("workspace_id","status");--> statement-breakpoint
28
+ -- Move legacy recipe-column snapshot facts into junior_snapshots before drop.
29
+ INSERT INTO "junior_snapshots" (
30
+ "id",
31
+ "workspace_id",
32
+ "profile_hash",
33
+ "status",
34
+ "snapshot_id",
35
+ "build_duration_ms",
36
+ "generated_at",
37
+ "build_started_at",
38
+ "build_phase",
39
+ "build_sandbox_name",
40
+ "build_command_id",
41
+ "build_error",
42
+ "created_at",
43
+ "updated_at"
44
+ )
45
+ SELECT
46
+ gen_random_uuid()::text,
47
+ "id",
48
+ "snapshot_profile_hash",
49
+ 'ready',
50
+ "snapshot_id",
51
+ "snapshot_build_duration_ms",
52
+ "snapshot_generated_at",
53
+ NULL,
54
+ NULL,
55
+ NULL,
56
+ NULL,
57
+ NULL,
58
+ COALESCE("snapshot_generated_at", "updated_at", "created_at"),
59
+ COALESCE("snapshot_generated_at", "updated_at", "created_at")
60
+ FROM "junior_workspaces"
61
+ WHERE
62
+ "snapshot_id" IS NOT NULL
63
+ AND "snapshot_profile_hash" IS NOT NULL
64
+ AND "snapshot_generated_at" IS NOT NULL
65
+ AND "snapshot_build_duration_ms" IS NOT NULL;--> statement-breakpoint
66
+ ALTER TABLE "junior_workspaces" DROP COLUMN "snapshot_id";--> statement-breakpoint
67
+ ALTER TABLE "junior_workspaces" DROP COLUMN "snapshot_generated_at";--> statement-breakpoint
68
+ ALTER TABLE "junior_workspaces" DROP COLUMN "snapshot_build_duration_ms";--> statement-breakpoint
69
+ ALTER TABLE "junior_workspaces" DROP COLUMN "snapshot_profile_hash";