@sentry/junior 0.170.0 → 0.171.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-UXIRPATC.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-PQCGQUXA.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-B53NR3XY.js → chunk-2AYWP7PZ.js} +6 -270
  9. package/dist/{chunk-3SFZJVX5.js → chunk-3AX2WCFV.js} +2 -2
  10. package/dist/{chunk-T4SEUU7A.js → chunk-4TKPTFSO.js} +1 -1
  11. package/dist/{chunk-6W2UIZSA.js → chunk-5GF7HQOP.js} +70 -11
  12. package/dist/{chunk-KQCHIOME.js → chunk-5ML752HJ.js} +8 -8
  13. package/dist/{chunk-UD4BNNM2.js → chunk-5TZ2DKVU.js} +1 -1
  14. package/dist/{chunk-F3I6YFB4.js → chunk-62WK6FLT.js} +182 -68
  15. package/dist/{chunk-5EPG7PYS.js → chunk-6RRTVWAD.js} +1 -1
  16. package/dist/{chunk-YWX7D7BJ.js → chunk-AOAOBZJQ.js} +17 -17
  17. package/dist/chunk-CVHKLS7B.js +399 -0
  18. package/dist/{chunk-6GOKKLWF.js → chunk-CWTWZKWH.js} +6 -6
  19. package/dist/{chunk-NGL4XFT2.js → chunk-FI5A2RF6.js} +1 -1
  20. package/dist/{chunk-IX7VHMIJ.js → chunk-HKWEMKK4.js} +3 -3
  21. package/dist/{chunk-UHW5RAIB.js → chunk-HWXXFINO.js} +12 -12
  22. package/dist/{chunk-2XI6OLXA.js → chunk-IZSMYLCS.js} +9 -9
  23. package/dist/{chunk-47GJ7QRO.js → chunk-JNYIJHFF.js} +1 -1
  24. package/dist/{chunk-A22DGDXT.js → chunk-KUYIW4BD.js} +1 -1
  25. package/dist/{chunk-NFERKIUX.js → chunk-M5QJJMFK.js} +4 -4
  26. package/dist/{chunk-NESGW5HV.js → chunk-MFFU45QO.js} +1 -1
  27. package/dist/{chunk-TX553KXA.js → chunk-O2SUZKWU.js} +5 -5
  28. package/dist/{chunk-IF3OK4XO.js → chunk-POF7HORW.js} +6 -6
  29. package/dist/{chunk-FKOLWEMX.js → chunk-QHBHUCDS.js} +5 -5
  30. package/dist/{chunk-6E4WQV75.js → chunk-SIOO3CCL.js} +1 -1
  31. package/dist/{chunk-E7HKIHI5.js → chunk-UC35XHGT.js} +2 -2
  32. package/dist/{chunk-CA6JIB7S.js → chunk-UTG3IY2C.js} +21 -21
  33. package/dist/{chunk-IJTFG6AK.js → chunk-VGWC4KG2.js} +5 -9
  34. package/dist/{chunk-BW644E3V.js → chunk-WCWPRFHZ.js} +1 -1
  35. package/dist/{chunk-HZALSYOW.js → chunk-WIUGVE66.js} +5 -5
  36. package/dist/{chunk-4PSUCN4P.js → chunk-XHBYNJNZ.js} +1 -1
  37. package/dist/{chunk-7TVGQZOH.js → chunk-Y5RRKS67.js} +4 -4
  38. package/dist/{chunk-F4UM52UH.js → chunk-Y6DW6AVG.js} +1 -1
  39. package/dist/{chunk-74XMBKRI.js → chunk-YURMXTZF.js} +1 -1
  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-EHCO5WGL.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-O7CH6FOJ.js} +23 -23
  52. package/dist/{runner-V2A2Z7K3.js → runner-3D5AGGUD.js} +17 -13
  53. package/dist/{skills-Z35YXLUG.js → skills-6IW3DDW2.js} +6 -6
  54. package/dist/spawn-5LKOLABU.js +37 -0
  55. package/dist/{validation-EQCK4DA5.js → validation-RCLP4EU4.js} +6 -6
  56. package/dist/version.js +1 -1
  57. package/dist/{work-XIANCABO.js → work-L54N7O65.js} +18 -18
  58. package/dist/worker-VJCSXI5L.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 +5 -5
  63. package/dist/chunk-BVREIWBD.js +0 -131
  64. package/dist/spawn-AKPJBUS2.js +0 -37
  65. package/dist/worker-YALLEN2Z.js +0 -24
@@ -13,19 +13,24 @@ import {
13
13
  getPlugins,
14
14
  setPlugins,
15
15
  validatePlugins
16
- } from "./chunk-F3I6YFB4.js";
17
- import "./chunk-IX7VHMIJ.js";
18
- import "./chunk-6W2UIZSA.js";
19
- import "./chunk-BVREIWBD.js";
20
- import "./chunk-74XMBKRI.js";
21
- import "./chunk-E7HKIHI5.js";
16
+ } from "./chunk-62WK6FLT.js";
17
+ import "./chunk-HKWEMKK4.js";
18
+ import "./chunk-5GF7HQOP.js";
19
+ import "./chunk-CVHKLS7B.js";
20
+ import "./chunk-YURMXTZF.js";
21
+ import "./chunk-UC35XHGT.js";
22
22
  import "./chunk-VFUK3X5B.js";
23
- import "./chunk-NGL4XFT2.js";
23
+ import "./chunk-FI5A2RF6.js";
24
+ import "./chunk-SIOO3CCL.js";
25
+ import "./chunk-KUYIW4BD.js";
26
+ import "./chunk-CGA4ERJ5.js";
24
27
  import "./chunk-M63DETLL.js";
25
- import "./chunk-5EPG7PYS.js";
28
+ import "./chunk-6RRTVWAD.js";
26
29
  import "./chunk-6GWA276C.js";
27
- import "./chunk-BW644E3V.js";
28
- import "./chunk-F4UM52UH.js";
30
+ import "./chunk-OOUNJNMR.js";
31
+ import "./chunk-H4HBKISO.js";
32
+ import "./chunk-WCWPRFHZ.js";
33
+ import "./chunk-Y6DW6AVG.js";
29
34
  import "./chunk-MLKGABMK.js";
30
35
  export {
31
36
  PluginHookDeniedError,
package/dist/api.js CHANGED
@@ -59,15 +59,15 @@ import {
59
59
  revokePersonalToken,
60
60
  viewerConversationMembership,
61
61
  webActorFromEmail
62
- } from "./chunk-UHW5RAIB.js";
62
+ } from "./chunk-HWXXFINO.js";
63
63
  import {
64
64
  buildSentryConversationUrl,
65
65
  getWebAuthorization
66
- } from "./chunk-NESGW5HV.js";
66
+ } from "./chunk-MFFU45QO.js";
67
67
  import {
68
68
  cancelHumanFacingPendingMessages,
69
69
  getConversation
70
- } from "./chunk-7TVGQZOH.js";
70
+ } from "./chunk-Y5RRKS67.js";
71
71
  import {
72
72
  readTaskExecutionByConversationId,
73
73
  readTaskExecutionDays,
@@ -75,8 +75,8 @@ import {
75
75
  readTaskExecutionSummaries,
76
76
  readTaskExecutions,
77
77
  readTaskRuns
78
- } from "./chunk-2XI6OLXA.js";
79
- import "./chunk-TX553KXA.js";
78
+ } from "./chunk-IZSMYLCS.js";
79
+ import "./chunk-O2SUZKWU.js";
80
80
  import {
81
81
  healthReportSchema,
82
82
  pluginOperationalReportFeedSchema,
@@ -90,7 +90,6 @@ import {
90
90
  import "./chunk-JAL3CH4G.js";
91
91
  import "./chunk-5I6ORJUY.js";
92
92
  import {
93
- SANDBOX_RUNTIME,
94
93
  createSchedulerSqlStore,
95
94
  deleteEventTask,
96
95
  eventTaskBelongsToUser,
@@ -102,24 +101,23 @@ import {
102
101
  listPublicScheduledTasksForTeams,
103
102
  readLiveAttachment,
104
103
  readStats
105
- } from "./chunk-IJTFG6AK.js";
104
+ } from "./chunk-VGWC4KG2.js";
106
105
  import {
107
106
  parseSlackThreadId
108
- } from "./chunk-4PSUCN4P.js";
107
+ } from "./chunk-XHBYNJNZ.js";
109
108
  import {
110
109
  agentTurnUsageSchema,
111
110
  fallbackShortTitle,
112
111
  hasAgentTurnUsage,
113
112
  renderJuniorNativeConversationEvent
114
- } from "./chunk-HZALSYOW.js";
113
+ } from "./chunk-WIUGVE66.js";
115
114
  import "./chunk-3Y47VMHV.js";
116
115
  import {
117
- create,
118
- getCachedSnapshot,
119
- hash
120
- } from "./chunk-B53NR3XY.js";
116
+ getCachedSnapshot
117
+ } from "./chunk-2AYWP7PZ.js";
121
118
  import "./chunk-PDO5BLNM.js";
122
119
  import {
120
+ SANDBOX_RUNTIME,
123
121
  WorkspaceValidationError,
124
122
  createPluginLogger,
125
123
  createWorkspace,
@@ -137,7 +135,7 @@ import {
137
135
  updateWorkspace,
138
136
  withSlackRetries,
139
137
  workspaceRepoCheckoutPath
140
- } from "./chunk-F3I6YFB4.js";
138
+ } from "./chunk-62WK6FLT.js";
141
139
  import {
142
140
  decodeStoredConversationEvent,
143
141
  getConversationStore,
@@ -145,22 +143,25 @@ import {
145
143
  getSqlExecutor,
146
144
  locationFromRow,
147
145
  parseSessionSource
148
- } from "./chunk-IX7VHMIJ.js";
146
+ } from "./chunk-HKWEMKK4.js";
149
147
  import {
150
148
  juniorConversationEvents,
151
149
  juniorConversations,
152
150
  juniorIdentities,
153
151
  juniorUsers
154
- } from "./chunk-6W2UIZSA.js";
155
- import "./chunk-BVREIWBD.js";
156
- import "./chunk-74XMBKRI.js";
157
- import "./chunk-E7HKIHI5.js";
152
+ } from "./chunk-5GF7HQOP.js";
153
+ import {
154
+ create,
155
+ hash
156
+ } from "./chunk-CVHKLS7B.js";
157
+ import "./chunk-YURMXTZF.js";
158
+ import "./chunk-UC35XHGT.js";
158
159
  import {
159
160
  juniorDestinations
160
161
  } from "./chunk-VFUK3X5B.js";
161
- import "./chunk-NGL4XFT2.js";
162
- import "./chunk-6E4WQV75.js";
163
- import "./chunk-A22DGDXT.js";
162
+ import "./chunk-FI5A2RF6.js";
163
+ import "./chunk-SIOO3CCL.js";
164
+ import "./chunk-KUYIW4BD.js";
164
165
  import "./chunk-CGA4ERJ5.js";
165
166
  import {
166
167
  parseSlackChannelId,
@@ -170,12 +171,12 @@ import {
170
171
  import {
171
172
  logException,
172
173
  logWarn
173
- } from "./chunk-5EPG7PYS.js";
174
+ } from "./chunk-6RRTVWAD.js";
174
175
  import "./chunk-6GWA276C.js";
175
176
  import "./chunk-OOUNJNMR.js";
176
177
  import "./chunk-H4HBKISO.js";
177
- import "./chunk-BW644E3V.js";
178
- import "./chunk-F4UM52UH.js";
178
+ import "./chunk-WCWPRFHZ.js";
179
+ import "./chunk-Y6DW6AVG.js";
179
180
  import "./chunk-MLKGABMK.js";
180
181
 
181
182
  // src/api.ts
@@ -4076,7 +4077,7 @@ async function readPeoplePluginReports(args) {
4076
4077
  source: "plugins"
4077
4078
  });
4078
4079
  }
4079
- const { getPluginProfileReports } = await import("./agent-hooks-IPUNCZPZ.js");
4080
+ const { getPluginProfileReports } = await import("./agent-hooks-UXIRPATC.js");
4080
4081
  return pluginOperationalReportFeedSchema.parse({
4081
4082
  generatedAt: new Date(nowMs).toISOString(),
4082
4083
  reports: await getPluginProfileReports({
@@ -4795,7 +4796,7 @@ function readDescriptionText(home) {
4795
4796
  }
4796
4797
  }
4797
4798
  async function readSkillReports() {
4798
- const { discoverSkills } = await import("./skills-Z35YXLUG.js");
4799
+ const { discoverSkills } = await import("./skills-6IW3DDW2.js");
4799
4800
  const skills = await discoverSkills();
4800
4801
  return skillReportsSchema.parse(
4801
4802
  skills.map((skill) => ({
@@ -4805,7 +4806,7 @@ async function readSkillReports() {
4805
4806
  );
4806
4807
  }
4807
4808
  async function readPlugins() {
4808
- const { pluginCatalogRuntime } = await import("./catalog-runtime-E6XHWRPG.js");
4809
+ const { pluginCatalogRuntime } = await import("./catalog-runtime-PQCGQUXA.js");
4809
4810
  return pluginsSchema.parse(
4810
4811
  pluginCatalogRuntime.getProviders().map((plugin) => ({
4811
4812
  configKeys: plugin.manifest.configKeys ?? [],
@@ -4818,7 +4819,7 @@ async function readPlugins() {
4818
4819
  async function readRuntimeInfoReport() {
4819
4820
  const [{ homeDir }, { pluginCatalogRuntime }, plugins, skills] = await Promise.all([
4820
4821
  import("./discovery-GUFTFBTL.js"),
4821
- import("./catalog-runtime-E6XHWRPG.js"),
4822
+ import("./catalog-runtime-PQCGQUXA.js"),
4822
4823
  readPlugins(),
4823
4824
  readSkillReports()
4824
4825
  ]);
@@ -4834,7 +4835,7 @@ async function readRuntimeInfoReport() {
4834
4835
  }
4835
4836
  async function readPluginOperationalReportFeed() {
4836
4837
  const nowMs = Date.now();
4837
- const { getPluginOperationalReports } = await import("./agent-hooks-IPUNCZPZ.js");
4838
+ const { getPluginOperationalReports } = await import("./agent-hooks-UXIRPATC.js");
4838
4839
  return pluginOperationalReportFeedSchema.parse({
4839
4840
  source: "plugins",
4840
4841
  generatedAt: new Date(nowMs).toISOString(),
package/dist/app.js CHANGED
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  processConversationWork
3
- } from "./chunk-NFERKIUX.js";
3
+ } from "./chunk-M5QJJMFK.js";
4
4
  import {
5
5
  bindSpawnAgent
6
- } from "./chunk-UD4BNNM2.js";
6
+ } from "./chunk-5TZ2DKVU.js";
7
7
  import {
8
8
  createAgentInvocationWorker,
9
9
  enqueueAgentInvocation,
10
10
  listPendingAgentInvocationMailboxAppends,
11
11
  routeAgentInvocationWork
12
- } from "./chunk-IF3OK4XO.js";
12
+ } from "./chunk-POF7HORW.js";
13
13
  import {
14
14
  GET as GET2,
15
15
  GET2 as GET3,
@@ -36,12 +36,12 @@ import {
36
36
  startSlackProcessingReaction,
37
37
  stripLeadingBotMention,
38
38
  wakePausedTurn
39
- } from "./chunk-YWX7D7BJ.js";
39
+ } from "./chunk-AOAOBZJQ.js";
40
40
  import "./chunk-FA6POGLH.js";
41
41
  import {
42
42
  getTurnRequestDeadline,
43
43
  runWithTurnRequestDeadline
44
- } from "./chunk-T4SEUU7A.js";
44
+ } from "./chunk-4TKPTFSO.js";
45
45
  import {
46
46
  GET,
47
47
  apiTurnIdForMessage,
@@ -58,8 +58,8 @@ import {
58
58
  resolveSlackConversationContext,
59
59
  routeApiTurnWork,
60
60
  webActorFromEmail
61
- } from "./chunk-UHW5RAIB.js";
62
- import "./chunk-NESGW5HV.js";
61
+ } from "./chunk-HWXXFINO.js";
62
+ import "./chunk-MFFU45QO.js";
63
63
  import {
64
64
  CONVERSATION_WORK_STALE_ENQUEUE_MS,
65
65
  appendAndEnqueueInboundMessage,
@@ -70,7 +70,7 @@ import {
70
70
  isInvalidConversationRecordError,
71
71
  listActiveConversationIds,
72
72
  removeActiveConversation
73
- } from "./chunk-7TVGQZOH.js";
73
+ } from "./chunk-Y5RRKS67.js";
74
74
  import {
75
75
  buildDeliveredTurnStatePatch,
76
76
  claimDispatchMailboxAppend,
@@ -101,7 +101,7 @@ import {
101
101
  requireTurnFailureEventId,
102
102
  resolveTurnSessionRouting,
103
103
  scheduleSessionCompletedPluginTasks
104
- } from "./chunk-2XI6OLXA.js";
104
+ } from "./chunk-IZSMYLCS.js";
105
105
  import {
106
106
  ConversationTurnLifecycleService,
107
107
  coerceThreadConversationState,
@@ -111,7 +111,7 @@ import {
111
111
  persistThreadRuntimeState,
112
112
  persistThreadState,
113
113
  persistThreadStateById
114
- } from "./chunk-TX553KXA.js";
114
+ } from "./chunk-O2SUZKWU.js";
115
115
  import "./chunk-UTL3MHPC.js";
116
116
  import {
117
117
  getVercelConversationWorkQueue,
@@ -130,7 +130,7 @@ import {
130
130
  import {
131
131
  validatePluginEgressCredentialHooks,
132
132
  validatePluginRegistrations
133
- } from "./chunk-47GJ7QRO.js";
133
+ } from "./chunk-JNYIJHFF.js";
134
134
  import {
135
135
  defineJuniorPlugins,
136
136
  pluginCatalogConfigFromEnv,
@@ -165,11 +165,11 @@ import {
165
165
  shouldEmitDevAgentTrace,
166
166
  shouldPropagateSandboxEgressTrace,
167
167
  unpublishedArtifactHeaders
168
- } from "./chunk-CA6JIB7S.js";
168
+ } from "./chunk-UTG3IY2C.js";
169
169
  import {
170
170
  AuthorizationFlowDisabledError,
171
171
  PluginCredentialFailureError
172
- } from "./chunk-FKOLWEMX.js";
172
+ } from "./chunk-QHBHUCDS.js";
173
173
  import "./chunk-DIB4GX3G.js";
174
174
  import {
175
175
  createAgentRunner,
@@ -177,7 +177,7 @@ import {
177
177
  deleteMcpAuthSessionsForUserProvider,
178
178
  deleteMcpServerSessionId,
179
179
  deleteMcpStoredOAuthCredentials
180
- } from "./chunk-KQCHIOME.js";
180
+ } from "./chunk-5ML752HJ.js";
181
181
  import {
182
182
  RetryableDeliveryError
183
183
  } from "./chunk-RF6J3DIO.js";
@@ -185,7 +185,7 @@ import {
185
185
  formatProviderLabel,
186
186
  postSlackMessage,
187
187
  startOAuthFlow
188
- } from "./chunk-6GOKKLWF.js";
188
+ } from "./chunk-CWTWZKWH.js";
189
189
  import "./chunk-6ZWRNC4D.js";
190
190
  import {
191
191
  getExperimentalFeatures,
@@ -199,10 +199,10 @@ import {
199
199
  logScheduledTaskRunSkipped,
200
200
  requestAttachmentDeletion,
201
201
  scheduledTaskRunAttributes
202
- } from "./chunk-IJTFG6AK.js";
202
+ } from "./chunk-VGWC4KG2.js";
203
203
  import {
204
204
  parseSlackThreadId
205
- } from "./chunk-4PSUCN4P.js";
205
+ } from "./chunk-XHBYNJNZ.js";
206
206
  import {
207
207
  ConversationTurnBoundaryError,
208
208
  CooperativeTurnYieldError,
@@ -254,12 +254,12 @@ import {
254
254
  trimTrailingAssistantMessages,
255
255
  turnHasReply,
256
256
  upsertConversationMessage
257
- } from "./chunk-HZALSYOW.js";
257
+ } from "./chunk-WIUGVE66.js";
258
258
  import "./chunk-3Y47VMHV.js";
259
259
  import {
260
260
  getSandboxResourceConfig,
261
261
  setSandboxResourceConfig
262
- } from "./chunk-B53NR3XY.js";
262
+ } from "./chunk-2AYWP7PZ.js";
263
263
  import "./chunk-PDO5BLNM.js";
264
264
  import "./chunk-UIE3R5XU.js";
265
265
  import {
@@ -287,7 +287,7 @@ import {
287
287
  verifyEventTaskCredentialSubject,
288
288
  verifyScheduledTaskCredentialSubject,
289
289
  verifySlackDirectCredentialSubject
290
- } from "./chunk-F3I6YFB4.js";
290
+ } from "./chunk-62WK6FLT.js";
291
291
  import {
292
292
  contextProvenance,
293
293
  createSlackDestination,
@@ -300,21 +300,21 @@ import {
300
300
  requireSlackDestination,
301
301
  withConversationEventLock,
302
302
  withConversationMutationLock
303
- } from "./chunk-IX7VHMIJ.js";
303
+ } from "./chunk-HKWEMKK4.js";
304
304
  import {
305
305
  juniorAgentBindings,
306
306
  juniorAgentInvocations,
307
307
  juniorConversationEvents,
308
308
  juniorConversations
309
- } from "./chunk-6W2UIZSA.js";
309
+ } from "./chunk-5GF7HQOP.js";
310
310
  import {
311
311
  sleep
312
- } from "./chunk-BVREIWBD.js";
312
+ } from "./chunk-CVHKLS7B.js";
313
313
  import {
314
314
  acquireActiveLock,
315
315
  getStateAdapter,
316
316
  withActiveLock
317
- } from "./chunk-74XMBKRI.js";
317
+ } from "./chunk-YURMXTZF.js";
318
318
  import {
319
319
  STANDARD_MODEL_PROFILE,
320
320
  botConfig,
@@ -332,16 +332,16 @@ import {
332
332
  modelIdForProfile,
333
333
  setSlackReactionConfig,
334
334
  standardModelId
335
- } from "./chunk-E7HKIHI5.js";
335
+ } from "./chunk-UC35XHGT.js";
336
336
  import {
337
337
  juniorDestinations
338
338
  } from "./chunk-VFUK3X5B.js";
339
- import "./chunk-NGL4XFT2.js";
340
- import "./chunk-3SFZJVX5.js";
339
+ import "./chunk-FI5A2RF6.js";
340
+ import "./chunk-3AX2WCFV.js";
341
341
  import {
342
342
  pluginCatalogRuntime
343
- } from "./chunk-6E4WQV75.js";
344
- import "./chunk-A22DGDXT.js";
343
+ } from "./chunk-SIOO3CCL.js";
344
+ import "./chunk-KUYIW4BD.js";
345
345
  import {
346
346
  credentialContextForActor
347
347
  } from "./chunk-CGA4ERJ5.js";
@@ -373,7 +373,7 @@ import {
373
373
  withContext,
374
374
  withLogContext,
375
375
  withSpan
376
- } from "./chunk-5EPG7PYS.js";
376
+ } from "./chunk-6RRTVWAD.js";
377
377
  import {
378
378
  continueTrace
379
379
  } from "./chunk-6GWA276C.js";
@@ -381,10 +381,10 @@ import "./chunk-OOUNJNMR.js";
381
381
  import "./chunk-H4HBKISO.js";
382
382
  import {
383
383
  JUNIOR_PLUGIN_TASK_CALLBACK_ROUTE
384
- } from "./chunk-BW644E3V.js";
384
+ } from "./chunk-WCWPRFHZ.js";
385
385
  import {
386
386
  JUNIOR_VERSION
387
- } from "./chunk-F4UM52UH.js";
387
+ } from "./chunk-Y6DW6AVG.js";
388
388
  import "./chunk-MLKGABMK.js";
389
389
 
390
390
  // src/app.ts
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  pluginCatalogRuntime
3
- } from "./chunk-6E4WQV75.js";
4
- import "./chunk-A22DGDXT.js";
3
+ } from "./chunk-SIOO3CCL.js";
4
+ import "./chunk-KUYIW4BD.js";
5
5
  import "./chunk-CGA4ERJ5.js";
6
6
  import "./chunk-M63DETLL.js";
7
- import "./chunk-5EPG7PYS.js";
7
+ import "./chunk-6RRTVWAD.js";
8
8
  import "./chunk-6GWA276C.js";
9
9
  import "./chunk-OOUNJNMR.js";
10
10
  import "./chunk-H4HBKISO.js";
11
- import "./chunk-BW644E3V.js";
12
- import "./chunk-F4UM52UH.js";
11
+ import "./chunk-WCWPRFHZ.js";
12
+ import "./chunk-Y6DW6AVG.js";
13
13
  import "./chunk-MLKGABMK.js";
14
14
  export {
15
15
  pluginCatalogRuntime
@@ -0,0 +1,28 @@
1
+ import type { JuniorDatabase } from "@/db/db";
2
+ import type { WorkspaceSnapshot, WorkspaceSnapshotBuild } from "@/chat/workspaces/types";
3
+ /** Current ready artifact and build state for one Workspace profile. */
4
+ export interface WorkspaceSnapshots {
5
+ ready: WorkspaceSnapshot | null;
6
+ build: WorkspaceSnapshotBuild | null;
7
+ }
8
+ /** Load bounded ready and build views for one Workspace profile hash. */
9
+ export declare function loadSnapshotsForProfile(db: JuniorDatabase, workspaceId: string, profileHash: string): Promise<WorkspaceSnapshots>;
10
+ /** Drop in-flight or failed rows when a recipe changes. Keep ready rows. */
11
+ export declare function clearNonReadySnapshots(db: JuniorDatabase, workspaceId: string): Promise<string[]>;
12
+ /** Drop one ready row whose provider snapshot no longer exists. */
13
+ export declare function invalidateMissingReadySnapshot(params: {
14
+ workspaceId: string;
15
+ profileHash: string;
16
+ snapshotId: string;
17
+ }): Promise<void>;
18
+ /** Record the full Sandbox snapshot after a successful Workspace prepare. */
19
+ export declare function setWorkspaceSnapshot(workspaceId: string, snapshot: WorkspaceSnapshot): Promise<void>;
20
+ /** Record a Workspace snapshot build that can continue across execution slices. */
21
+ export declare function setWorkspaceSnapshotBuild(workspaceId: string, build: WorkspaceSnapshotBuild): Promise<void>;
22
+ /** Persist Workspace snapshot facts when resolve returns a concrete entry. */
23
+ export declare function recordResolvedWorkspaceSnapshot(workspaceId: string, snapshot: {
24
+ snapshotId?: string;
25
+ profileHash?: string;
26
+ createdAtMs?: number;
27
+ buildDurationMs?: number;
28
+ }): Promise<void>;
@@ -1,5 +1,5 @@
1
1
  import type { JuniorDatabase } from "@/db/db";
2
- import type { Workspace, WorkspaceSnapshot } from "./types";
2
+ import type { Workspace } from "./types";
3
3
  import { WorkspaceValidationError } from "./validation";
4
4
  /** List Workspace recipes by stable name. */
5
5
  export declare function listWorkspaces(db: JuniorDatabase): Promise<Workspace[]>;
@@ -32,13 +32,4 @@ export declare function updateWorkspace(id: string, input: {
32
32
  }): Promise<Workspace | undefined>;
33
33
  /** Delete one install-wide Workspace recipe. */
34
34
  export declare function deleteWorkspace(id: string): Promise<boolean>;
35
- /** Record the current Sandbox snapshot after a successful Workspace prepare. */
36
- export declare function setWorkspaceSnapshot(workspaceId: string, snapshot: WorkspaceSnapshot): Promise<void>;
37
- /** Persist dashboard snapshot facts when resolve returned a concrete entry. */
38
- export declare function recordResolvedWorkspaceSnapshot(workspaceId: string, snapshot: {
39
- snapshotId?: string;
40
- profileHash?: string;
41
- createdAtMs?: number;
42
- buildDurationMs?: number;
43
- }): Promise<void>;
44
35
  export { WorkspaceValidationError };
@@ -3,13 +3,26 @@ export interface WorkspaceRepo {
3
3
  provider: string;
4
4
  repo: string;
5
5
  }
6
- /** Last successful Sandbox snapshot recorded for one Workspace recipe. */
6
+ /** Ready Sandbox snapshot artifact owned by one Workspace recipe. */
7
7
  export interface WorkspaceSnapshot {
8
8
  id: string;
9
9
  generatedAt: Date;
10
10
  buildDurationMs: number;
11
11
  profileHash: string;
12
12
  }
13
+ export type WorkspaceSnapshotBuildStatus = "building" | "failed";
14
+ export type WorkspaceSnapshotStatus = WorkspaceSnapshotBuildStatus | "ready";
15
+ export type WorkspaceSnapshotBuildPhase = "created" | "dependencies_installed" | "repositories_prepared";
16
+ /** Current snapshot build for one Workspace recipe. */
17
+ export interface WorkspaceSnapshotBuild {
18
+ status: WorkspaceSnapshotBuildStatus;
19
+ phase: WorkspaceSnapshotBuildPhase;
20
+ profileHash: string;
21
+ startedAt: Date;
22
+ sandboxName: string | null;
23
+ commandId: string | null;
24
+ error: string | null;
25
+ }
13
26
  /** Named recipe used to prepare reusable sandbox contents. */
14
27
  export interface Workspace {
15
28
  id: string;