@sentry/junior 0.164.0 → 0.166.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 (74) hide show
  1. package/dist/{agent-hooks-WTBPNRTC.js → agent-hooks-ZIPK2HUF.js} +9 -9
  2. package/dist/api/schema/workspace.d.ts +10 -4
  3. package/dist/api/schema.js +1 -1
  4. package/dist/api.js +52 -27
  5. package/dist/app.js +59 -60
  6. package/dist/{catalog-runtime-CZ2SQINY.js → catalog-runtime-GEZAHBUP.js} +5 -5
  7. package/dist/chat/pi/transcript.d.ts +10 -10
  8. package/dist/chat/repository-instructions.d.ts +12 -1
  9. package/dist/chat/sandbox/sandbox.d.ts +1 -1
  10. package/dist/chat/sandbox/snapshot/resolve.d.ts +16 -0
  11. package/dist/chat/sandbox/snapshot/runtime.d.ts +2 -0
  12. package/dist/chat/services/conversation-memory.d.ts +7 -0
  13. package/dist/chat/workspaces/store.d.ts +10 -3
  14. package/dist/chat/workspaces/types.d.ts +8 -1
  15. package/dist/chat/workspaces/validation.d.ts +0 -1
  16. package/dist/{chunk-HHW6ZVIZ.js → chunk-22RO7IDD.js} +109 -21
  17. package/dist/{chunk-FKDY7NTC.js → chunk-2KV4BAAN.js} +12 -12
  18. package/dist/{chunk-Y2B6AXZQ.js → chunk-2ZKFLHVP.js} +6 -6
  19. package/dist/{chunk-ZUTAGCPH.js → chunk-3EZ5V7XQ.js} +9 -9
  20. package/dist/{chunk-3L23VTY7.js → chunk-43KLUCAM.js} +17 -17
  21. package/dist/{chunk-PU45BSBS.js → chunk-4CMORAHL.js} +9 -5
  22. package/dist/chunk-4DARCEZH.js +274 -0
  23. package/dist/{chunk-6ENAACWN.js → chunk-4MDEQNSW.js} +9 -5
  24. package/dist/{chunk-ZSNABC2E.js → chunk-65SNO3WK.js} +9 -7
  25. package/dist/{chunk-WJUKESU2.js → chunk-ABNRESX6.js} +1 -1
  26. package/dist/{chunk-FX4PX3SA.js → chunk-AEKBVJMV.js} +2 -2
  27. package/dist/{chunk-26JYGL2L.js → chunk-BKP3PVKR.js} +1 -1
  28. package/dist/{chunk-XAIRI54J.js → chunk-C3USHSIJ.js} +1 -1
  29. package/dist/{chunk-RYYEHWIL.js → chunk-CDBTQQQ4.js} +1 -1
  30. package/dist/{chunk-2K25MRZK.js → chunk-DTQAMME2.js} +5 -5
  31. package/dist/{chunk-BXBZDV3C.js → chunk-EKBVHDZO.js} +1 -1
  32. package/dist/{chunk-6BXV63YX.js → chunk-FEYQVP64.js} +5 -5
  33. package/dist/{chunk-H36GJVJV.js → chunk-FFE3BMAT.js} +7 -7
  34. package/dist/{chunk-LPLVNMVN.js → chunk-JDTCQDRU.js} +3 -3
  35. package/dist/{chunk-VHSEMJTS.js → chunk-JUFZR2LD.js} +1 -1
  36. package/dist/{chunk-RBV4JHCP.js → chunk-KQ5YZGDV.js} +1 -1
  37. package/dist/{chunk-4GTOFUQF.js → chunk-LGSGPWYH.js} +1 -1
  38. package/dist/{chunk-NLTQRYNP.js → chunk-MDW5YPXW.js} +2 -2
  39. package/dist/{chunk-5FWQ73UZ.js → chunk-OCOGPNHA.js} +1 -1
  40. package/dist/{chunk-JW23XD4I.js → chunk-OYN45QUQ.js} +6 -6
  41. package/dist/{chunk-VV2DN24T.js → chunk-P6UQMGM2.js} +1 -1
  42. package/dist/{chunk-RJHZNPDH.js → chunk-Q2IPCX7J.js} +45 -282
  43. package/dist/{chunk-7WKWMMYQ.js → chunk-SLWGX3G5.js} +93 -85
  44. package/dist/{chunk-CGCNFEAU.js → chunk-U2UCDSDF.js} +4 -4
  45. package/dist/{chunk-RULIISEI.js → chunk-VNPG55CU.js} +1 -1
  46. package/dist/{chunk-YHCTPDXS.js → chunk-WX42YNDQ.js} +67 -24
  47. package/dist/{chunk-5GLGQHO3.js → chunk-YTIKGCPC.js} +2 -1
  48. package/dist/{chunk-NAGI2XH3.js → chunk-ZKJO4K6M.js} +4 -4
  49. package/dist/cli/chat.js +30 -29
  50. package/dist/cli/check.js +6 -6
  51. package/dist/cli/plugins.js +12 -12
  52. package/dist/cli/snapshot-create.js +12 -10
  53. package/dist/cli/upgrade.js +7 -7
  54. package/dist/db/schema/workspaces.d.ts +68 -17
  55. package/dist/db/schema.d.ts +68 -17
  56. package/dist/{db-32KRFS6L.js → db-TGZBS2CP.js} +7 -7
  57. package/dist/instrumentation.js +4 -4
  58. package/dist/nitro.js +2 -2
  59. package/dist/{oauth-callback-server-CGZP2Z6U.js → oauth-callback-server-Z54WUF5H.js} +22 -22
  60. package/dist/{runner-S5N4Q2XL.js → runner-PVFHKKK6.js} +12 -12
  61. package/dist/{skills-KYPSHSQR.js → skills-BYRH3QWD.js} +6 -6
  62. package/dist/spawn-RIPWK7EP.js +37 -0
  63. package/dist/{validation-SZBE7JNF.js → validation-VZIE4RHA.js} +6 -6
  64. package/dist/version.js +1 -1
  65. package/dist/{work-GCZKHEZX.js → work-JTHAOPDQ.js} +17 -17
  66. package/dist/worker-APEVP56Y.js +24 -0
  67. package/migrations/0030_drop_workspace_repo_primary.sql +2 -0
  68. package/migrations/0031_wild_phantom_reporter.sql +4 -0
  69. package/migrations/meta/0030_snapshot.json +2799 -0
  70. package/migrations/meta/0031_snapshot.json +2823 -0
  71. package/migrations/meta/_journal.json +15 -1
  72. package/package.json +6 -5
  73. package/dist/spawn-EGOB3CLV.js +0 -37
  74. package/dist/worker-6MY5Q4A2.js +0 -24
@@ -2,7 +2,7 @@ import {
2
2
  getConversationEventStore,
3
3
  getDb,
4
4
  getSqlExecutor
5
- } from "./chunk-LPLVNMVN.js";
5
+ } from "./chunk-JDTCQDRU.js";
6
6
  import {
7
7
  juniorConversationAnnotations,
8
8
  juniorConversationEvents,
@@ -10,7 +10,7 @@ import {
10
10
  juniorUsers,
11
11
  juniorWorkspaceRepos,
12
12
  juniorWorkspaces
13
- } from "./chunk-ZSNABC2E.js";
13
+ } from "./chunk-65SNO3WK.js";
14
14
  import {
15
15
  SANDBOX_WORKSPACE_ROOT,
16
16
  runNonInteractiveCommand,
@@ -18,14 +18,14 @@ import {
18
18
  } from "./chunk-BVREIWBD.js";
19
19
  import {
20
20
  getStateAdapter
21
- } from "./chunk-BXBZDV3C.js";
21
+ } from "./chunk-EKBVHDZO.js";
22
22
  import {
23
23
  botConfig,
24
24
  completeObject,
25
25
  embedTexts,
26
26
  getSlackBotToken,
27
27
  standardModelId
28
- } from "./chunk-FX4PX3SA.js";
28
+ } from "./chunk-AEKBVJMV.js";
29
29
  import {
30
30
  isActorUserId,
31
31
  parseActorUserId,
@@ -41,7 +41,7 @@ import {
41
41
  setSpanAttributes,
42
42
  setSpanStatus,
43
43
  withSpan
44
- } from "./chunk-VHSEMJTS.js";
44
+ } from "./chunk-JUFZR2LD.js";
45
45
 
46
46
  // src/chat/plugins/agent-hooks.ts
47
47
  import {
@@ -1277,8 +1277,7 @@ function normalizeWorkspaceRecipe(input) {
1277
1277
  }
1278
1278
  return {
1279
1279
  provider,
1280
- repo,
1281
- isPrimary: entry.isPrimary === true
1280
+ repo
1282
1281
  };
1283
1282
  });
1284
1283
  const identities = /* @__PURE__ */ new Set();
@@ -1302,21 +1301,21 @@ function normalizeWorkspaceRecipe(input) {
1302
1301
  }
1303
1302
  checkoutPaths.add(key);
1304
1303
  }
1305
- const primaryCount = repos.filter((repo) => repo.isPrimary).length;
1306
- if (repos.length > 0 && primaryCount === 0) {
1307
- throw new WorkspaceValidationError(
1308
- "Select one primary repository for AGENTS.md instructions."
1309
- );
1310
- }
1311
- if (primaryCount > 1) {
1312
- throw new WorkspaceValidationError(
1313
- "A Workspace can have only one primary repository."
1314
- );
1315
- }
1316
1304
  return { name, setupScript, repos };
1317
1305
  }
1318
1306
 
1319
1307
  // src/chat/workspaces/store.ts
1308
+ function snapshotFromRow(row) {
1309
+ if (!row.snapshotId || !row.snapshotGeneratedAt || row.snapshotBuildDurationMs == null || !row.snapshotProfileHash) {
1310
+ return null;
1311
+ }
1312
+ return {
1313
+ id: row.snapshotId,
1314
+ generatedAt: row.snapshotGeneratedAt,
1315
+ buildDurationMs: row.snapshotBuildDurationMs,
1316
+ profileHash: row.snapshotProfileHash
1317
+ };
1318
+ }
1320
1319
  function workspaceFromRows(row, repos) {
1321
1320
  return {
1322
1321
  id: row.id,
@@ -1324,9 +1323,9 @@ function workspaceFromRows(row, repos) {
1324
1323
  setupScript: row.setupScript,
1325
1324
  repos: repos.map((repo) => ({
1326
1325
  provider: repo.provider,
1327
- repo: repo.repo,
1328
- isPrimary: repo.isPrimary
1329
- }))
1326
+ repo: repo.repo
1327
+ })),
1328
+ snapshot: snapshotFromRow(row)
1330
1329
  };
1331
1330
  }
1332
1331
  async function loadWorkspaceRepos(db, workspaceId) {
@@ -1342,11 +1341,17 @@ async function replaceWorkspaceRepos(db, workspaceId, repos) {
1342
1341
  repos.map((repo) => ({
1343
1342
  workspaceId,
1344
1343
  provider: repo.provider,
1345
- repo: repo.repo,
1346
- isPrimary: repo.isPrimary
1344
+ repo: repo.repo
1347
1345
  }))
1348
1346
  );
1349
1347
  }
1348
+ function sameWorkspaceRepos(current, next) {
1349
+ if (current.length !== next.length) return false;
1350
+ const identity = (repo) => `${repo.provider}:${repo.repo.toLowerCase()}`;
1351
+ const currentIds = current.map(identity).sort();
1352
+ const nextIds = next.map(identity).sort();
1353
+ return currentIds.every((value, index) => value === nextIds[index]);
1354
+ }
1350
1355
  function isUniqueViolation(error) {
1351
1356
  let current = error;
1352
1357
  for (let depth = 0; current && depth < 6; depth += 1) {
@@ -1440,12 +1445,22 @@ async function updateWorkspace(id, input) {
1440
1445
  try {
1441
1446
  const updated = await executor.transaction(async () => {
1442
1447
  const db = executor.db();
1448
+ const existingRows = await db.select().from(juniorWorkspaces).where(eq4(juniorWorkspaces.id, id)).limit(1);
1449
+ const existing = existingRows[0];
1450
+ if (!existing) return void 0;
1451
+ const existingRepos = await loadWorkspaceRepos(db, id);
1452
+ const snapshotChanged = existing.setupScript !== recipe.setupScript || !sameWorkspaceRepos(existingRepos, recipe.repos);
1443
1453
  const rows = await db.update(juniorWorkspaces).set({
1444
1454
  name: recipe.name,
1445
1455
  setupScript: recipe.setupScript,
1456
+ ...snapshotChanged ? {
1457
+ snapshotId: null,
1458
+ snapshotGeneratedAt: null,
1459
+ snapshotBuildDurationMs: null,
1460
+ snapshotProfileHash: null
1461
+ } : {},
1446
1462
  updatedAt: now
1447
1463
  }).where(eq4(juniorWorkspaces.id, id)).returning();
1448
- if (!rows[0]) return void 0;
1449
1464
  await replaceWorkspaceRepos(db, id, recipe.repos);
1450
1465
  return rows[0];
1451
1466
  });
@@ -1467,6 +1482,33 @@ async function deleteWorkspace(id) {
1467
1482
  return rows.length > 0;
1468
1483
  });
1469
1484
  }
1485
+ async function setWorkspaceSnapshot(workspaceId, snapshot) {
1486
+ const executor = getSqlExecutor();
1487
+ await executor.db().update(juniorWorkspaces).set({
1488
+ snapshotId: snapshot.id,
1489
+ snapshotGeneratedAt: snapshot.generatedAt,
1490
+ snapshotBuildDurationMs: snapshot.buildDurationMs,
1491
+ snapshotProfileHash: snapshot.profileHash,
1492
+ updatedAt: /* @__PURE__ */ new Date()
1493
+ }).where(eq4(juniorWorkspaces.id, workspaceId));
1494
+ }
1495
+ async function recordResolvedWorkspaceSnapshot(workspaceId, snapshot) {
1496
+ if (!snapshot.snapshotId || !snapshot.profileHash || snapshot.createdAtMs == null || snapshot.buildDurationMs == null) {
1497
+ return;
1498
+ }
1499
+ try {
1500
+ await setWorkspaceSnapshot(workspaceId, {
1501
+ id: snapshot.snapshotId,
1502
+ generatedAt: new Date(snapshot.createdAtMs),
1503
+ buildDurationMs: snapshot.buildDurationMs,
1504
+ profileHash: snapshot.profileHash
1505
+ });
1506
+ } catch (error) {
1507
+ logException(error, "sandbox.workspace_snapshot.persist.failed", {
1508
+ "app.workspace.id": workspaceId
1509
+ });
1510
+ }
1511
+ }
1470
1512
 
1471
1513
  // src/chat/plugins/agent-hooks.ts
1472
1514
  var PluginHookDeniedError = class extends Error {
@@ -2699,6 +2741,7 @@ export {
2699
2741
  createWorkspace,
2700
2742
  updateWorkspace,
2701
2743
  deleteWorkspace,
2744
+ recordResolvedWorkspaceSnapshot,
2702
2745
  PluginHookDeniedError,
2703
2746
  validatePlugins,
2704
2747
  setPlugins,
@@ -1,7 +1,7 @@
1
1
  // package.json
2
2
  var package_default = {
3
3
  name: "@sentry/junior",
4
- version: "0.164.0",
4
+ version: "0.166.0",
5
5
  private: false,
6
6
  publishConfig: {
7
7
  access: "public"
@@ -65,6 +65,7 @@ var package_default = {
65
65
  typecheck: "tsc --noEmit",
66
66
  "skills:check": "node --test scripts/check-skills.test.mjs && node scripts/check-skills.mjs",
67
67
  "tool-annotations:check": "node --test scripts/check-tool-annotations.test.mjs && node scripts/check-tool-annotations.mjs",
68
+ "tool-error-classification:check": "node --test scripts/check-tool-error-classification.test.mjs && node scripts/check-tool-error-classification.mjs",
68
69
  "test:coverage": "vitest run --maxWorkers=4 --coverage --reporter=default --reporter=junit --outputFile.junit=coverage/results.junit.xml"
69
70
  },
70
71
  dependencies: {
@@ -8,14 +8,14 @@ import {
8
8
  getConversationStore,
9
9
  parseDestination,
10
10
  sameDestination
11
- } from "./chunk-LPLVNMVN.js";
11
+ } from "./chunk-JDTCQDRU.js";
12
12
  import {
13
13
  getDefaultRedisStateAdapterFor,
14
14
  getStateAdapter
15
- } from "./chunk-BXBZDV3C.js";
15
+ } from "./chunk-EKBVHDZO.js";
16
16
  import {
17
17
  getChatConfig
18
- } from "./chunk-FX4PX3SA.js";
18
+ } from "./chunk-AEKBVJMV.js";
19
19
  import {
20
20
  parseStoredSlackActor
21
21
  } from "./chunk-V7YE4WCP.js";
@@ -23,7 +23,7 @@ import {
23
23
  isRecord,
24
24
  toOptionalNumber,
25
25
  toOptionalString
26
- } from "./chunk-VHSEMJTS.js";
26
+ } from "./chunk-JUFZR2LD.js";
27
27
 
28
28
  // src/chat/task-execution/state.ts
29
29
  import { randomUUID } from "crypto";
package/dist/cli/chat.js CHANGED
@@ -1,44 +1,45 @@
1
1
  import {
2
2
  executeAgentRun
3
- } from "../chunk-7WKWMMYQ.js";
4
- import "../chunk-6BXV63YX.js";
3
+ } from "../chunk-SLWGX3G5.js";
4
+ import "../chunk-FEYQVP64.js";
5
5
  import "../chunk-DIB4GX3G.js";
6
6
  import {
7
7
  createAgentRunner
8
- } from "../chunk-H36GJVJV.js";
8
+ } from "../chunk-FFE3BMAT.js";
9
9
  import "../chunk-RF6J3DIO.js";
10
- import "../chunk-JW23XD4I.js";
10
+ import "../chunk-OYN45QUQ.js";
11
11
  import "../chunk-7MA4HV4W.js";
12
12
  import "../chunk-VRS6WDK5.js";
13
- import "../chunk-RJHZNPDH.js";
14
- import "../chunk-6ENAACWN.js";
15
- import "../chunk-WJUKESU2.js";
16
- import "../chunk-HHW6ZVIZ.js";
13
+ import "../chunk-Q2IPCX7J.js";
14
+ import "../chunk-4MDEQNSW.js";
15
+ import "../chunk-ABNRESX6.js";
16
+ import "../chunk-22RO7IDD.js";
17
17
  import "../chunk-3Y47VMHV.js";
18
+ import "../chunk-4DARCEZH.js";
18
19
  import "../chunk-PDO5BLNM.js";
19
20
  import "../chunk-UIE3R5XU.js";
20
21
  import {
21
22
  loadAppPluginSet
22
23
  } from "../chunk-Y2CM7HXH.js";
23
- import "../chunk-YHCTPDXS.js";
24
- import "../chunk-LPLVNMVN.js";
25
- import "../chunk-ZSNABC2E.js";
24
+ import "../chunk-WX42YNDQ.js";
25
+ import "../chunk-JDTCQDRU.js";
26
+ import "../chunk-65SNO3WK.js";
26
27
  import "../chunk-BVREIWBD.js";
27
- import "../chunk-BXBZDV3C.js";
28
- import "../chunk-FX4PX3SA.js";
28
+ import "../chunk-EKBVHDZO.js";
29
+ import "../chunk-AEKBVJMV.js";
29
30
  import "../chunk-VFUK3X5B.js";
30
- import "../chunk-RBV4JHCP.js";
31
- import "../chunk-NLTQRYNP.js";
32
- import "../chunk-RULIISEI.js";
33
- import "../chunk-VV2DN24T.js";
31
+ import "../chunk-KQ5YZGDV.js";
32
+ import "../chunk-MDW5YPXW.js";
33
+ import "../chunk-VNPG55CU.js";
34
+ import "../chunk-P6UQMGM2.js";
34
35
  import "../chunk-BDUENQD3.js";
35
36
  import "../chunk-V7YE4WCP.js";
36
- import "../chunk-VHSEMJTS.js";
37
+ import "../chunk-JUFZR2LD.js";
37
38
  import "../chunk-6GWA276C.js";
38
39
  import "../chunk-OOUNJNMR.js";
39
40
  import "../chunk-H4HBKISO.js";
40
- import "../chunk-26JYGL2L.js";
41
- import "../chunk-5GLGQHO3.js";
41
+ import "../chunk-BKP3PVKR.js";
42
+ import "../chunk-YTIKGCPC.js";
42
43
  import "../chunk-MLKGABMK.js";
43
44
 
44
45
  // src/cli/chat.ts
@@ -161,10 +162,10 @@ async function configureLocalChatPlugins(pluginSet) {
161
162
  databaseModule
162
163
  ] = await Promise.all([
163
164
  import("../plugins-HW4VWW6G.js"),
164
- import("../agent-hooks-WTBPNRTC.js"),
165
- import("../catalog-runtime-CZ2SQINY.js"),
166
- import("../validation-SZBE7JNF.js"),
167
- import("../db-32KRFS6L.js")
165
+ import("../agent-hooks-ZIPK2HUF.js"),
166
+ import("../catalog-runtime-GEZAHBUP.js"),
167
+ import("../validation-VZIE4RHA.js"),
168
+ import("../db-TGZBS2CP.js")
168
169
  ]);
169
170
  const resolvedPluginSet = pluginSet === void 0 ? await loadLocalPluginSet() : pluginSet ?? void 0;
170
171
  const plugins = pluginsModule.pluginRuntimeRegistrationsFromPluginSet(resolvedPluginSet);
@@ -230,14 +231,14 @@ async function prepareLocalChatRun(io, pluginSet) {
230
231
  await configureLocalChatPlugins(pluginSet);
231
232
  const { setExperimentalFeatures } = await import("../experimental-XVDOSRBS.js");
232
233
  setExperimentalFeatures({ subagents: true });
233
- const { runLocalAgentTurn } = await import("../runner-S5N4Q2XL.js");
234
- const { startLocalOAuthCallbackServer } = await import("../oauth-callback-server-CGZP2Z6U.js");
234
+ const { runLocalAgentTurn } = await import("../runner-PVFHKKK6.js");
235
+ const { startLocalOAuthCallbackServer } = await import("../oauth-callback-server-Z54WUF5H.js");
235
236
  const { createLocalOAuthState } = await import("../oauth-relay-3ZU72UGL.js");
236
237
  const { createLocalSandboxEgressSignalTransport } = await import("../sandbox-egress-signals-U3ZX7C5W.js");
237
- const { bindSpawnAgent } = await import("../spawn-EGOB3CLV.js");
238
- const { createAgentInvocationWorker, routeAgentInvocationWork } = await import("../work-GCZKHEZX.js");
238
+ const { bindSpawnAgent } = await import("../spawn-RIPWK7EP.js");
239
+ const { createAgentInvocationWorker, routeAgentInvocationWork } = await import("../work-JTHAOPDQ.js");
239
240
  const { createLocalConversationWork } = await import("../conversation-work-KATFHLG3.js");
240
- const { processConversationWork } = await import("../worker-6MY5Q4A2.js");
241
+ const { processConversationWork } = await import("../worker-APEVP56Y.js");
241
242
  let agentRunner;
242
243
  const localConversationWork = createLocalConversationWork(async (message) => {
243
244
  if (!agentRunner) {
package/dist/cli/check.js CHANGED
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  parseSkillFile
3
- } from "../chunk-NLTQRYNP.js";
4
- import "../chunk-RULIISEI.js";
3
+ } from "../chunk-MDW5YPXW.js";
4
+ import "../chunk-VNPG55CU.js";
5
5
  import {
6
6
  parseInlinePluginManifest,
7
7
  parsePluginManifest
8
- } from "../chunk-VV2DN24T.js";
8
+ } from "../chunk-P6UQMGM2.js";
9
9
  import "../chunk-BDUENQD3.js";
10
10
  import "../chunk-V7YE4WCP.js";
11
- import "../chunk-VHSEMJTS.js";
11
+ import "../chunk-JUFZR2LD.js";
12
12
  import "../chunk-6GWA276C.js";
13
13
  import "../chunk-OOUNJNMR.js";
14
14
  import "../chunk-H4HBKISO.js";
@@ -16,8 +16,8 @@ import {
16
16
  JUNIOR_CONVERSATION_WORK_CALLBACK_ROUTE,
17
17
  JUNIOR_HEARTBEAT_ROUTE,
18
18
  LEGACY_JUNIOR_CONVERSATION_WORK_FUNCTION
19
- } from "../chunk-26JYGL2L.js";
20
- import "../chunk-5GLGQHO3.js";
19
+ } from "../chunk-BKP3PVKR.js";
20
+ import "../chunk-YTIKGCPC.js";
21
21
  import "../chunk-MLKGABMK.js";
22
22
 
23
23
  // src/cli/check.ts
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  validatePluginEgressCredentialHooks,
3
3
  validatePluginRegistrations
4
- } from "../chunk-4GTOFUQF.js";
4
+ } from "../chunk-LGSGPWYH.js";
5
5
  import {
6
6
  pluginCatalogConfigFromPluginSet,
7
7
  pluginCliRegistrationsFromPluginSet,
@@ -14,28 +14,28 @@ import {
14
14
  createPluginLogger,
15
15
  setPlugins,
16
16
  validatePlugins
17
- } from "../chunk-YHCTPDXS.js";
17
+ } from "../chunk-WX42YNDQ.js";
18
18
  import {
19
19
  getDb
20
- } from "../chunk-LPLVNMVN.js";
21
- import "../chunk-ZSNABC2E.js";
20
+ } from "../chunk-JDTCQDRU.js";
21
+ import "../chunk-65SNO3WK.js";
22
22
  import "../chunk-BVREIWBD.js";
23
- import "../chunk-BXBZDV3C.js";
24
- import "../chunk-FX4PX3SA.js";
23
+ import "../chunk-EKBVHDZO.js";
24
+ import "../chunk-AEKBVJMV.js";
25
25
  import "../chunk-VFUK3X5B.js";
26
- import "../chunk-RBV4JHCP.js";
26
+ import "../chunk-KQ5YZGDV.js";
27
27
  import {
28
28
  pluginCatalogRuntime
29
- } from "../chunk-RULIISEI.js";
30
- import "../chunk-VV2DN24T.js";
29
+ } from "../chunk-VNPG55CU.js";
30
+ import "../chunk-P6UQMGM2.js";
31
31
  import "../chunk-BDUENQD3.js";
32
32
  import "../chunk-V7YE4WCP.js";
33
- import "../chunk-VHSEMJTS.js";
33
+ import "../chunk-JUFZR2LD.js";
34
34
  import "../chunk-6GWA276C.js";
35
35
  import "../chunk-OOUNJNMR.js";
36
36
  import "../chunk-H4HBKISO.js";
37
- import "../chunk-26JYGL2L.js";
38
- import "../chunk-5GLGQHO3.js";
37
+ import "../chunk-BKP3PVKR.js";
38
+ import "../chunk-YTIKGCPC.js";
39
39
  import "../chunk-MLKGABMK.js";
40
40
 
41
41
  // src/cli/plugins.ts
@@ -1,25 +1,27 @@
1
1
  import {
2
- create,
3
2
  resolve
4
- } from "../chunk-RJHZNPDH.js";
3
+ } from "../chunk-Q2IPCX7J.js";
4
+ import {
5
+ create
6
+ } from "../chunk-4DARCEZH.js";
5
7
  import "../chunk-BVREIWBD.js";
6
8
  import {
7
9
  disconnectStateAdapter
8
- } from "../chunk-BXBZDV3C.js";
9
- import "../chunk-FX4PX3SA.js";
10
- import "../chunk-RBV4JHCP.js";
10
+ } from "../chunk-EKBVHDZO.js";
11
+ import "../chunk-AEKBVJMV.js";
12
+ import "../chunk-KQ5YZGDV.js";
11
13
  import {
12
14
  pluginCatalogRuntime
13
- } from "../chunk-RULIISEI.js";
14
- import "../chunk-VV2DN24T.js";
15
+ } from "../chunk-VNPG55CU.js";
16
+ import "../chunk-P6UQMGM2.js";
15
17
  import "../chunk-BDUENQD3.js";
16
18
  import "../chunk-V7YE4WCP.js";
17
- import "../chunk-VHSEMJTS.js";
19
+ import "../chunk-JUFZR2LD.js";
18
20
  import "../chunk-6GWA276C.js";
19
21
  import "../chunk-OOUNJNMR.js";
20
22
  import "../chunk-H4HBKISO.js";
21
- import "../chunk-26JYGL2L.js";
22
- import "../chunk-5GLGQHO3.js";
23
+ import "../chunk-BKP3PVKR.js";
24
+ import "../chunk-YTIKGCPC.js";
23
25
  import "../chunk-MLKGABMK.js";
24
26
 
25
27
  // src/cli/snapshot-create.ts
@@ -8,23 +8,23 @@ import {
8
8
  } from "../chunk-Y2CM7HXH.js";
9
9
  import {
10
10
  createJuniorSqlExecutor
11
- } from "../chunk-ZSNABC2E.js";
11
+ } from "../chunk-65SNO3WK.js";
12
12
  import {
13
13
  getChatConfig
14
- } from "../chunk-FX4PX3SA.js";
14
+ } from "../chunk-AEKBVJMV.js";
15
15
  import "../chunk-VFUK3X5B.js";
16
- import "../chunk-RBV4JHCP.js";
16
+ import "../chunk-KQ5YZGDV.js";
17
17
  import {
18
18
  createPluginCatalogRuntime
19
- } from "../chunk-VV2DN24T.js";
19
+ } from "../chunk-P6UQMGM2.js";
20
20
  import "../chunk-BDUENQD3.js";
21
21
  import "../chunk-V7YE4WCP.js";
22
- import "../chunk-VHSEMJTS.js";
22
+ import "../chunk-JUFZR2LD.js";
23
23
  import "../chunk-6GWA276C.js";
24
24
  import "../chunk-OOUNJNMR.js";
25
25
  import "../chunk-H4HBKISO.js";
26
- import "../chunk-26JYGL2L.js";
27
- import "../chunk-5GLGQHO3.js";
26
+ import "../chunk-BKP3PVKR.js";
27
+ import "../chunk-YTIKGCPC.js";
28
28
  import "../chunk-MLKGABMK.js";
29
29
 
30
30
  // src/chat/conversations/sql/migrations.ts
@@ -54,6 +54,74 @@ export declare const juniorWorkspaces: import("drizzle-orm/pg-core").PgTableWith
54
54
  identity: undefined;
55
55
  generated: undefined;
56
56
  }, {}, {}>;
57
+ snapshotId: import("drizzle-orm/pg-core").PgColumn<{
58
+ name: "snapshot_id";
59
+ tableName: "junior_workspaces";
60
+ dataType: "string";
61
+ columnType: "PgText";
62
+ data: string;
63
+ driverParam: string;
64
+ notNull: false;
65
+ hasDefault: false;
66
+ isPrimaryKey: false;
67
+ isAutoincrement: false;
68
+ hasRuntimeDefault: false;
69
+ enumValues: [string, ...string[]];
70
+ baseColumn: never;
71
+ identity: undefined;
72
+ generated: undefined;
73
+ }, {}, {}>;
74
+ snapshotGeneratedAt: import("drizzle-orm/pg-core").PgColumn<{
75
+ name: string;
76
+ tableName: "junior_workspaces";
77
+ dataType: "date";
78
+ columnType: "PgTimestamp";
79
+ data: Date;
80
+ driverParam: string;
81
+ notNull: false;
82
+ hasDefault: false;
83
+ isPrimaryKey: false;
84
+ isAutoincrement: false;
85
+ hasRuntimeDefault: false;
86
+ enumValues: undefined;
87
+ baseColumn: never;
88
+ identity: undefined;
89
+ generated: undefined;
90
+ }, {}, {}>;
91
+ snapshotBuildDurationMs: import("drizzle-orm/pg-core").PgColumn<{
92
+ name: "snapshot_build_duration_ms";
93
+ tableName: "junior_workspaces";
94
+ dataType: "number";
95
+ columnType: "PgInteger";
96
+ data: number;
97
+ driverParam: string | number;
98
+ notNull: false;
99
+ hasDefault: false;
100
+ isPrimaryKey: false;
101
+ isAutoincrement: false;
102
+ hasRuntimeDefault: false;
103
+ enumValues: undefined;
104
+ baseColumn: never;
105
+ identity: undefined;
106
+ generated: undefined;
107
+ }, {}, {}>;
108
+ snapshotProfileHash: import("drizzle-orm/pg-core").PgColumn<{
109
+ name: "snapshot_profile_hash";
110
+ tableName: "junior_workspaces";
111
+ dataType: "string";
112
+ columnType: "PgText";
113
+ data: string;
114
+ driverParam: string;
115
+ notNull: false;
116
+ hasDefault: false;
117
+ isPrimaryKey: false;
118
+ isAutoincrement: false;
119
+ hasRuntimeDefault: false;
120
+ enumValues: [string, ...string[]];
121
+ baseColumn: never;
122
+ identity: undefined;
123
+ generated: undefined;
124
+ }, {}, {}>;
57
125
  createdAt: import("drizzle-orm/pg-core").PgColumn<{
58
126
  name: string;
59
127
  tableName: "junior_workspaces";
@@ -147,23 +215,6 @@ export declare const juniorWorkspaceRepos: import("drizzle-orm/pg-core").PgTable
147
215
  identity: undefined;
148
216
  generated: undefined;
149
217
  }, {}, {}>;
150
- isPrimary: import("drizzle-orm/pg-core").PgColumn<{
151
- name: "is_primary";
152
- tableName: "junior_workspace_repos";
153
- dataType: "boolean";
154
- columnType: "PgBoolean";
155
- data: boolean;
156
- driverParam: boolean;
157
- notNull: true;
158
- hasDefault: true;
159
- isPrimaryKey: false;
160
- isAutoincrement: false;
161
- hasRuntimeDefault: false;
162
- enumValues: undefined;
163
- baseColumn: never;
164
- identity: undefined;
165
- generated: undefined;
166
- }, {}, {}>;
167
218
  };
168
219
  dialect: "pg";
169
220
  }>;
@@ -3586,23 +3586,6 @@ export declare const juniorSqlSchema: {
3586
3586
  identity: undefined;
3587
3587
  generated: undefined;
3588
3588
  }, {}, {}>;
3589
- isPrimary: import("drizzle-orm/pg-core").PgColumn<{
3590
- name: "is_primary";
3591
- tableName: "junior_workspace_repos";
3592
- dataType: "boolean";
3593
- columnType: "PgBoolean";
3594
- data: boolean;
3595
- driverParam: boolean;
3596
- notNull: true;
3597
- hasDefault: true;
3598
- isPrimaryKey: false;
3599
- isAutoincrement: false;
3600
- hasRuntimeDefault: false;
3601
- enumValues: undefined;
3602
- baseColumn: never;
3603
- identity: undefined;
3604
- generated: undefined;
3605
- }, {}, {}>;
3606
3589
  };
3607
3590
  dialect: "pg";
3608
3591
  }>;
@@ -3661,6 +3644,74 @@ export declare const juniorSqlSchema: {
3661
3644
  identity: undefined;
3662
3645
  generated: undefined;
3663
3646
  }, {}, {}>;
3647
+ snapshotId: import("drizzle-orm/pg-core").PgColumn<{
3648
+ name: "snapshot_id";
3649
+ tableName: "junior_workspaces";
3650
+ dataType: "string";
3651
+ columnType: "PgText";
3652
+ data: string;
3653
+ driverParam: string;
3654
+ notNull: false;
3655
+ hasDefault: false;
3656
+ isPrimaryKey: false;
3657
+ isAutoincrement: false;
3658
+ hasRuntimeDefault: false;
3659
+ enumValues: [string, ...string[]];
3660
+ baseColumn: never;
3661
+ identity: undefined;
3662
+ generated: undefined;
3663
+ }, {}, {}>;
3664
+ snapshotGeneratedAt: import("drizzle-orm/pg-core").PgColumn<{
3665
+ name: string;
3666
+ tableName: "junior_workspaces";
3667
+ dataType: "date";
3668
+ columnType: "PgTimestamp";
3669
+ data: Date;
3670
+ driverParam: string;
3671
+ notNull: false;
3672
+ hasDefault: false;
3673
+ isPrimaryKey: false;
3674
+ isAutoincrement: false;
3675
+ hasRuntimeDefault: false;
3676
+ enumValues: undefined;
3677
+ baseColumn: never;
3678
+ identity: undefined;
3679
+ generated: undefined;
3680
+ }, {}, {}>;
3681
+ snapshotBuildDurationMs: import("drizzle-orm/pg-core").PgColumn<{
3682
+ name: "snapshot_build_duration_ms";
3683
+ tableName: "junior_workspaces";
3684
+ dataType: "number";
3685
+ columnType: "PgInteger";
3686
+ data: number;
3687
+ driverParam: string | number;
3688
+ notNull: false;
3689
+ hasDefault: false;
3690
+ isPrimaryKey: false;
3691
+ isAutoincrement: false;
3692
+ hasRuntimeDefault: false;
3693
+ enumValues: undefined;
3694
+ baseColumn: never;
3695
+ identity: undefined;
3696
+ generated: undefined;
3697
+ }, {}, {}>;
3698
+ snapshotProfileHash: import("drizzle-orm/pg-core").PgColumn<{
3699
+ name: "snapshot_profile_hash";
3700
+ tableName: "junior_workspaces";
3701
+ dataType: "string";
3702
+ columnType: "PgText";
3703
+ data: string;
3704
+ driverParam: string;
3705
+ notNull: false;
3706
+ hasDefault: false;
3707
+ isPrimaryKey: false;
3708
+ isAutoincrement: false;
3709
+ hasRuntimeDefault: false;
3710
+ enumValues: [string, ...string[]];
3711
+ baseColumn: never;
3712
+ identity: undefined;
3713
+ generated: undefined;
3714
+ }, {}, {}>;
3664
3715
  createdAt: import("drizzle-orm/pg-core").PgColumn<{
3665
3716
  name: string;
3666
3717
  tableName: "junior_workspaces";