@sentry/junior 0.164.0 → 0.165.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 (69) hide show
  1. package/dist/{agent-hooks-WTBPNRTC.js → agent-hooks-GSNL33UA.js} +9 -9
  2. package/dist/api/schema/workspace.d.ts +8 -4
  3. package/dist/api/schema.js +1 -1
  4. package/dist/api.js +59 -27
  5. package/dist/app.js +34 -34
  6. package/dist/{catalog-runtime-CZ2SQINY.js → catalog-runtime-4ERDVI7V.js} +5 -5
  7. package/dist/chat/repository-instructions.d.ts +12 -1
  8. package/dist/chat/sandbox/sandbox.d.ts +1 -1
  9. package/dist/chat/sandbox/snapshot/resolve.d.ts +12 -0
  10. package/dist/chat/sandbox/snapshot/runtime.d.ts +2 -0
  11. package/dist/chat/workspaces/store.d.ts +0 -2
  12. package/dist/chat/workspaces/types.d.ts +0 -1
  13. package/dist/chat/workspaces/validation.d.ts +0 -1
  14. package/dist/{chunk-VHSEMJTS.js → chunk-32CCG4WP.js} +1 -1
  15. package/dist/{chunk-WJUKESU2.js → chunk-3V2EIQLT.js} +1 -1
  16. package/dist/{chunk-26JYGL2L.js → chunk-5T6WPPEI.js} +1 -1
  17. package/dist/{chunk-YHCTPDXS.js → chunk-5WDDWMQ7.js} +8 -22
  18. package/dist/{chunk-BXBZDV3C.js → chunk-65B3PDY7.js} +1 -1
  19. package/dist/{chunk-5GLGQHO3.js → chunk-6OWVPXNO.js} +2 -1
  20. package/dist/{chunk-XAIRI54J.js → chunk-6RZ6MMEK.js} +1 -1
  21. package/dist/{chunk-NAGI2XH3.js → chunk-6YXCG2XL.js} +4 -4
  22. package/dist/{chunk-6BXV63YX.js → chunk-7J26TW64.js} +5 -5
  23. package/dist/{chunk-RULIISEI.js → chunk-7S2JVUWS.js} +1 -1
  24. package/dist/{chunk-5FWQ73UZ.js → chunk-AEBF6AO2.js} +1 -1
  25. package/dist/{chunk-ZUTAGCPH.js → chunk-AQEBOQUC.js} +9 -9
  26. package/dist/{chunk-PU45BSBS.js → chunk-BEC542E6.js} +8 -5
  27. package/dist/{chunk-RJHZNPDH.js → chunk-BEHPIDVZ.js} +5 -4
  28. package/dist/{chunk-RYYEHWIL.js → chunk-DKO4RRGJ.js} +1 -1
  29. package/dist/{chunk-HHW6ZVIZ.js → chunk-EA4UL5H2.js} +73 -14
  30. package/dist/{chunk-FX4PX3SA.js → chunk-FMOFCEAA.js} +2 -2
  31. package/dist/{chunk-CGCNFEAU.js → chunk-FNNQCHOL.js} +4 -4
  32. package/dist/{chunk-JW23XD4I.js → chunk-FXX4NHOM.js} +6 -6
  33. package/dist/{chunk-4GTOFUQF.js → chunk-G72LBEMZ.js} +1 -1
  34. package/dist/{chunk-7WKWMMYQ.js → chunk-HPWZ4BJJ.js} +68 -64
  35. package/dist/{chunk-6ENAACWN.js → chunk-HZDLOFO4.js} +9 -5
  36. package/dist/{chunk-ZSNABC2E.js → chunk-IZHR2OES.js} +4 -13
  37. package/dist/{chunk-VV2DN24T.js → chunk-N2BRRIQZ.js} +1 -1
  38. package/dist/{chunk-FKDY7NTC.js → chunk-NPW6LM2X.js} +12 -12
  39. package/dist/{chunk-LPLVNMVN.js → chunk-RQQTOF3H.js} +3 -3
  40. package/dist/{chunk-Y2B6AXZQ.js → chunk-SA5FVUWJ.js} +6 -6
  41. package/dist/{chunk-3L23VTY7.js → chunk-T6BAHCT6.js} +17 -17
  42. package/dist/{chunk-NLTQRYNP.js → chunk-TCWPG5VL.js} +2 -2
  43. package/dist/{chunk-2K25MRZK.js → chunk-VDNNVTX2.js} +5 -5
  44. package/dist/{chunk-H36GJVJV.js → chunk-XOINKFDJ.js} +7 -7
  45. package/dist/{chunk-RBV4JHCP.js → chunk-ZUKU2Y3J.js} +1 -1
  46. package/dist/cli/chat.js +29 -29
  47. package/dist/cli/check.js +6 -6
  48. package/dist/cli/plugins.js +12 -12
  49. package/dist/cli/snapshot-create.js +9 -9
  50. package/dist/cli/upgrade.js +7 -7
  51. package/dist/db/schema/workspaces.d.ts +0 -17
  52. package/dist/db/schema.d.ts +0 -17
  53. package/dist/{db-32KRFS6L.js → db-5TTEPMTY.js} +7 -7
  54. package/dist/instrumentation.js +4 -4
  55. package/dist/nitro.js +2 -2
  56. package/dist/{oauth-callback-server-CGZP2Z6U.js → oauth-callback-server-IVFC5YHY.js} +22 -22
  57. package/dist/{runner-S5N4Q2XL.js → runner-G76TSHWO.js} +12 -12
  58. package/dist/{skills-KYPSHSQR.js → skills-F6PSLVSG.js} +6 -6
  59. package/dist/spawn-WMJPIAZL.js +37 -0
  60. package/dist/{validation-SZBE7JNF.js → validation-56EJI6UQ.js} +6 -6
  61. package/dist/version.js +1 -1
  62. package/dist/{work-GCZKHEZX.js → work-RNRQCP3Y.js} +17 -17
  63. package/dist/worker-FBR2WUI4.js +24 -0
  64. package/migrations/0030_drop_workspace_repo_primary.sql +2 -0
  65. package/migrations/meta/0030_snapshot.json +2799 -0
  66. package/migrations/meta/_journal.json +8 -1
  67. package/package.json +5 -4
  68. package/dist/spawn-EGOB3CLV.js +0 -37
  69. package/dist/worker-6MY5Q4A2.js +0 -24
@@ -13,19 +13,19 @@ import {
13
13
  getPlugins,
14
14
  setPlugins,
15
15
  validatePlugins
16
- } from "./chunk-YHCTPDXS.js";
17
- import "./chunk-LPLVNMVN.js";
18
- import "./chunk-ZSNABC2E.js";
16
+ } from "./chunk-5WDDWMQ7.js";
17
+ import "./chunk-RQQTOF3H.js";
18
+ import "./chunk-IZHR2OES.js";
19
19
  import "./chunk-BVREIWBD.js";
20
- import "./chunk-BXBZDV3C.js";
21
- import "./chunk-FX4PX3SA.js";
20
+ import "./chunk-65B3PDY7.js";
21
+ import "./chunk-FMOFCEAA.js";
22
22
  import "./chunk-VFUK3X5B.js";
23
- import "./chunk-RBV4JHCP.js";
23
+ import "./chunk-ZUKU2Y3J.js";
24
24
  import "./chunk-V7YE4WCP.js";
25
- import "./chunk-VHSEMJTS.js";
25
+ import "./chunk-32CCG4WP.js";
26
26
  import "./chunk-6GWA276C.js";
27
- import "./chunk-26JYGL2L.js";
28
- import "./chunk-5GLGQHO3.js";
27
+ import "./chunk-5T6WPPEI.js";
28
+ import "./chunk-6OWVPXNO.js";
29
29
  import "./chunk-MLKGABMK.js";
30
30
  export {
31
31
  PluginHookDeniedError,
@@ -3,7 +3,6 @@ export declare const workspaceRepoSchema: z.ZodObject<{
3
3
  provider: z.ZodString;
4
4
  repo: z.ZodString;
5
5
  checkoutPath: z.ZodString;
6
- isPrimary: z.ZodBoolean;
7
6
  }, z.core.$strict>;
8
7
  export declare const workspaceSchema: z.ZodObject<{
9
8
  id: z.ZodString;
@@ -13,7 +12,10 @@ export declare const workspaceSchema: z.ZodObject<{
13
12
  provider: z.ZodString;
14
13
  repo: z.ZodString;
15
14
  checkoutPath: z.ZodString;
16
- isPrimary: z.ZodBoolean;
15
+ }, z.core.$strict>>;
16
+ snapshot: z.ZodNullable<z.ZodObject<{
17
+ id: z.ZodString;
18
+ generatedAt: z.ZodISODateTime;
17
19
  }, z.core.$strict>>;
18
20
  }, z.core.$strict>;
19
21
  export declare const workspaceListSchema: z.ZodObject<{
@@ -25,7 +27,10 @@ export declare const workspaceListSchema: z.ZodObject<{
25
27
  provider: z.ZodString;
26
28
  repo: z.ZodString;
27
29
  checkoutPath: z.ZodString;
28
- isPrimary: z.ZodBoolean;
30
+ }, z.core.$strict>>;
31
+ snapshot: z.ZodNullable<z.ZodObject<{
32
+ id: z.ZodString;
33
+ generatedAt: z.ZodISODateTime;
29
34
  }, z.core.$strict>>;
30
35
  }, z.core.$strict>>;
31
36
  }, z.core.$strict>;
@@ -35,7 +40,6 @@ export declare const workspaceBodySchema: z.ZodObject<{
35
40
  repos: z.ZodArray<z.ZodObject<{
36
41
  provider: z.ZodString;
37
42
  repo: z.ZodString;
38
- isPrimary: z.ZodOptional<z.ZodBoolean>;
39
43
  }, z.core.$strict>>;
40
44
  }, z.core.$strict>;
41
45
  export declare const workspaceParamsSchema: z.ZodObject<{
@@ -58,7 +58,7 @@ import {
58
58
  workspaceParamsSchema,
59
59
  workspaceRepoSchema,
60
60
  workspaceSchema
61
- } from "../chunk-PU45BSBS.js";
61
+ } from "../chunk-BEC542E6.js";
62
62
  import {
63
63
  healthReportSchema,
64
64
  pluginOperationalReportFeedSchema,
package/dist/api.js CHANGED
@@ -41,7 +41,7 @@ import {
41
41
  workspaceListSchema,
42
42
  workspaceParamsSchema,
43
43
  workspaceSchema
44
- } from "./chunk-PU45BSBS.js";
44
+ } from "./chunk-BEC542E6.js";
45
45
  import {
46
46
  appendAndEnqueueApiConversationMessage,
47
47
  authenticatePersonalToken,
@@ -59,15 +59,15 @@ import {
59
59
  revokePersonalToken,
60
60
  viewerConversationMembership,
61
61
  webActorFromEmail
62
- } from "./chunk-FKDY7NTC.js";
62
+ } from "./chunk-NPW6LM2X.js";
63
63
  import {
64
64
  buildSentryConversationUrl,
65
65
  getWebAuthorization
66
- } from "./chunk-5FWQ73UZ.js";
66
+ } from "./chunk-AEBF6AO2.js";
67
67
  import {
68
68
  cancelHumanFacingPendingMessages,
69
69
  getConversation
70
- } from "./chunk-NAGI2XH3.js";
70
+ } from "./chunk-6YXCG2XL.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-ZUTAGCPH.js";
79
- import "./chunk-2K25MRZK.js";
78
+ } from "./chunk-AQEBOQUC.js";
79
+ import "./chunk-VDNNVTX2.js";
80
80
  import {
81
81
  healthReportSchema,
82
82
  pluginOperationalReportFeedSchema,
@@ -90,6 +90,7 @@ import {
90
90
  import "./chunk-JAL3CH4G.js";
91
91
  import "./chunk-5I6ORJUY.js";
92
92
  import {
93
+ SANDBOX_RUNTIME,
93
94
  createSchedulerSqlStore,
94
95
  deleteEventTask,
95
96
  eventTaskBelongsToUser,
@@ -101,17 +102,21 @@ import {
101
102
  listPublicScheduledTasksForTeams,
102
103
  readLiveAttachment,
103
104
  readStats
104
- } from "./chunk-6ENAACWN.js";
105
+ } from "./chunk-HZDLOFO4.js";
105
106
  import {
106
107
  parseSlackThreadId
107
- } from "./chunk-WJUKESU2.js";
108
+ } from "./chunk-3V2EIQLT.js";
108
109
  import {
109
110
  agentTurnUsageSchema,
110
111
  fallbackShortTitle,
111
112
  hasAgentTurnUsage,
112
113
  renderJuniorNativeConversationEvent
113
- } from "./chunk-HHW6ZVIZ.js";
114
+ } from "./chunk-EA4UL5H2.js";
114
115
  import "./chunk-3Y47VMHV.js";
116
+ import {
117
+ getCachedSnapshot,
118
+ hash
119
+ } from "./chunk-BEHPIDVZ.js";
115
120
  import "./chunk-PDO5BLNM.js";
116
121
  import {
117
122
  WorkspaceValidationError,
@@ -131,7 +136,7 @@ import {
131
136
  updateWorkspace,
132
137
  withSlackRetries,
133
138
  workspaceRepoCheckoutPath
134
- } from "./chunk-YHCTPDXS.js";
139
+ } from "./chunk-5WDDWMQ7.js";
135
140
  import {
136
141
  decodeStoredConversationEvent,
137
142
  getConversationStore,
@@ -139,20 +144,22 @@ import {
139
144
  getSqlExecutor,
140
145
  locationFromRow,
141
146
  parseSessionSource
142
- } from "./chunk-LPLVNMVN.js";
147
+ } from "./chunk-RQQTOF3H.js";
143
148
  import {
144
149
  juniorConversationEvents,
145
150
  juniorConversations,
146
151
  juniorIdentities,
147
152
  juniorUsers
148
- } from "./chunk-ZSNABC2E.js";
153
+ } from "./chunk-IZHR2OES.js";
149
154
  import "./chunk-BVREIWBD.js";
150
- import "./chunk-BXBZDV3C.js";
151
- import "./chunk-FX4PX3SA.js";
155
+ import "./chunk-65B3PDY7.js";
156
+ import "./chunk-FMOFCEAA.js";
152
157
  import {
153
158
  juniorDestinations
154
159
  } from "./chunk-VFUK3X5B.js";
155
- import "./chunk-RBV4JHCP.js";
160
+ import "./chunk-ZUKU2Y3J.js";
161
+ import "./chunk-7S2JVUWS.js";
162
+ import "./chunk-N2BRRIQZ.js";
156
163
  import "./chunk-BDUENQD3.js";
157
164
  import {
158
165
  parseSlackChannelId,
@@ -162,10 +169,12 @@ import {
162
169
  import {
163
170
  logException,
164
171
  logWarn
165
- } from "./chunk-VHSEMJTS.js";
172
+ } from "./chunk-32CCG4WP.js";
166
173
  import "./chunk-6GWA276C.js";
167
- import "./chunk-26JYGL2L.js";
168
- import "./chunk-5GLGQHO3.js";
174
+ import "./chunk-OOUNJNMR.js";
175
+ import "./chunk-H4HBKISO.js";
176
+ import "./chunk-5T6WPPEI.js";
177
+ import "./chunk-6OWVPXNO.js";
169
178
  import "./chunk-MLKGABMK.js";
170
179
 
171
180
  // src/api.ts
@@ -4066,7 +4075,7 @@ async function readPeoplePluginReports(args) {
4066
4075
  source: "plugins"
4067
4076
  });
4068
4077
  }
4069
- const { getPluginProfileReports } = await import("./agent-hooks-WTBPNRTC.js");
4078
+ const { getPluginProfileReports } = await import("./agent-hooks-GSNL33UA.js");
4070
4079
  return pluginOperationalReportFeedSchema.parse({
4071
4080
  generatedAt: new Date(nowMs).toISOString(),
4072
4081
  reports: await getPluginProfileReports({
@@ -4628,9 +4637,32 @@ function view(workspace) {
4628
4637
  repos: workspace.repos.map((repo) => ({
4629
4638
  provider: repo.provider,
4630
4639
  repo: repo.repo,
4631
- checkoutPath: workspaceRepoCheckoutPath(repo.repo),
4632
- isPrimary: repo.isPrimary
4633
- }))
4640
+ checkoutPath: workspaceRepoCheckoutPath(repo.repo)
4641
+ })),
4642
+ snapshot: null
4643
+ };
4644
+ }
4645
+ async function detailView(workspace) {
4646
+ const profileHash = hash(SANDBOX_RUNTIME, workspace);
4647
+ let snapshot = null;
4648
+ if (profileHash) {
4649
+ try {
4650
+ const cached = await getCachedSnapshot(profileHash);
4651
+ if (cached) {
4652
+ snapshot = {
4653
+ id: cached.snapshotId,
4654
+ generatedAt: new Date(cached.createdAtMs).toISOString()
4655
+ };
4656
+ }
4657
+ } catch (error) {
4658
+ logException(error, "api.workspaces.snapshot_lookup.failed", {
4659
+ "app.workspace.id": workspace.id
4660
+ });
4661
+ }
4662
+ }
4663
+ return {
4664
+ ...view(workspace),
4665
+ snapshot
4634
4666
  };
4635
4667
  }
4636
4668
  function handleValidationError(error) {
@@ -4672,7 +4704,7 @@ function createWorkspaceRoutes() {
4672
4704
  const { id } = context.req.valid("param");
4673
4705
  const workspace = await getWorkspace(getDb(), id);
4674
4706
  if (!workspace) throwApiError(404, "Workspace not found.");
4675
- return jsonResponse(workspaceSchema, view(workspace));
4707
+ return jsonResponse(workspaceSchema, await detailView(workspace));
4676
4708
  }
4677
4709
  );
4678
4710
  app.put(
@@ -4746,7 +4778,7 @@ function readDescriptionText(home) {
4746
4778
  }
4747
4779
  }
4748
4780
  async function readSkillReports() {
4749
- const { discoverSkills } = await import("./skills-KYPSHSQR.js");
4781
+ const { discoverSkills } = await import("./skills-F6PSLVSG.js");
4750
4782
  const skills = await discoverSkills();
4751
4783
  return skillReportsSchema.parse(
4752
4784
  skills.map((skill) => ({
@@ -4756,7 +4788,7 @@ async function readSkillReports() {
4756
4788
  );
4757
4789
  }
4758
4790
  async function readPlugins() {
4759
- const { pluginCatalogRuntime } = await import("./catalog-runtime-CZ2SQINY.js");
4791
+ const { pluginCatalogRuntime } = await import("./catalog-runtime-4ERDVI7V.js");
4760
4792
  return pluginsSchema.parse(
4761
4793
  pluginCatalogRuntime.getProviders().map((plugin) => ({
4762
4794
  configKeys: plugin.manifest.configKeys ?? [],
@@ -4769,7 +4801,7 @@ async function readPlugins() {
4769
4801
  async function readRuntimeInfoReport() {
4770
4802
  const [{ homeDir }, { pluginCatalogRuntime }, plugins, skills] = await Promise.all([
4771
4803
  import("./discovery-GUFTFBTL.js"),
4772
- import("./catalog-runtime-CZ2SQINY.js"),
4804
+ import("./catalog-runtime-4ERDVI7V.js"),
4773
4805
  readPlugins(),
4774
4806
  readSkillReports()
4775
4807
  ]);
@@ -4785,7 +4817,7 @@ async function readRuntimeInfoReport() {
4785
4817
  }
4786
4818
  async function readPluginOperationalReportFeed() {
4787
4819
  const nowMs = Date.now();
4788
- const { getPluginOperationalReports } = await import("./agent-hooks-WTBPNRTC.js");
4820
+ const { getPluginOperationalReports } = await import("./agent-hooks-GSNL33UA.js");
4789
4821
  return pluginOperationalReportFeedSchema.parse({
4790
4822
  source: "plugins",
4791
4823
  generatedAt: new Date(nowMs).toISOString(),
package/dist/app.js CHANGED
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  processConversationWork
3
- } from "./chunk-CGCNFEAU.js";
3
+ } from "./chunk-FNNQCHOL.js";
4
4
  import {
5
5
  bindSpawnAgent
6
- } from "./chunk-XAIRI54J.js";
6
+ } from "./chunk-6RZ6MMEK.js";
7
7
  import {
8
8
  createAgentInvocationWorker,
9
9
  enqueueAgentInvocation,
10
10
  listPendingAgentInvocationMailboxAppends,
11
11
  routeAgentInvocationWork
12
- } from "./chunk-Y2B6AXZQ.js";
12
+ } from "./chunk-SA5FVUWJ.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-3L23VTY7.js";
39
+ } from "./chunk-T6BAHCT6.js";
40
40
  import "./chunk-FA6POGLH.js";
41
41
  import {
42
42
  getTurnRequestDeadline,
43
43
  runWithTurnRequestDeadline
44
- } from "./chunk-RYYEHWIL.js";
44
+ } from "./chunk-DKO4RRGJ.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-FKDY7NTC.js";
62
- import "./chunk-5FWQ73UZ.js";
61
+ } from "./chunk-NPW6LM2X.js";
62
+ import "./chunk-AEBF6AO2.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-NAGI2XH3.js";
73
+ } from "./chunk-6YXCG2XL.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-ZUTAGCPH.js";
104
+ } from "./chunk-AQEBOQUC.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-2K25MRZK.js";
114
+ } from "./chunk-VDNNVTX2.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-4GTOFUQF.js";
133
+ } from "./chunk-G72LBEMZ.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-7WKWMMYQ.js";
168
+ } from "./chunk-HPWZ4BJJ.js";
169
169
  import {
170
170
  AuthorizationFlowDisabledError,
171
171
  PluginCredentialFailureError
172
- } from "./chunk-6BXV63YX.js";
172
+ } from "./chunk-7J26TW64.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-H36GJVJV.js";
180
+ } from "./chunk-XOINKFDJ.js";
181
181
  import {
182
182
  RetryableDeliveryError
183
183
  } from "./chunk-RF6J3DIO.js";
@@ -185,17 +185,13 @@ import {
185
185
  formatProviderLabel,
186
186
  postSlackMessage,
187
187
  startOAuthFlow
188
- } from "./chunk-JW23XD4I.js";
188
+ } from "./chunk-FXX4NHOM.js";
189
189
  import "./chunk-7MA4HV4W.js";
190
190
  import {
191
191
  getExperimentalFeatures,
192
192
  isExperimentalFeatureEnabled,
193
193
  setExperimentalFeatures
194
194
  } from "./chunk-VRS6WDK5.js";
195
- import {
196
- getSandboxResourceConfig,
197
- setSandboxResourceConfig
198
- } from "./chunk-RJHZNPDH.js";
199
195
  import {
200
196
  collectAttachmentGarbage,
201
197
  createSchedulerSqlStore,
@@ -203,10 +199,10 @@ import {
203
199
  logScheduledTaskRunSkipped,
204
200
  requestAttachmentDeletion,
205
201
  scheduledTaskRunAttributes
206
- } from "./chunk-6ENAACWN.js";
202
+ } from "./chunk-HZDLOFO4.js";
207
203
  import {
208
204
  parseSlackThreadId
209
- } from "./chunk-WJUKESU2.js";
205
+ } from "./chunk-3V2EIQLT.js";
210
206
  import {
211
207
  ConversationTurnBoundaryError,
212
208
  CooperativeTurnYieldError,
@@ -257,8 +253,12 @@ import {
257
253
  trimTrailingAssistantMessages,
258
254
  turnHasReply,
259
255
  upsertConversationMessage
260
- } from "./chunk-HHW6ZVIZ.js";
256
+ } from "./chunk-EA4UL5H2.js";
261
257
  import "./chunk-3Y47VMHV.js";
258
+ import {
259
+ getSandboxResourceConfig,
260
+ setSandboxResourceConfig
261
+ } from "./chunk-BEHPIDVZ.js";
262
262
  import "./chunk-PDO5BLNM.js";
263
263
  import "./chunk-UIE3R5XU.js";
264
264
  import {
@@ -286,7 +286,7 @@ import {
286
286
  verifyEventTaskCredentialSubject,
287
287
  verifyScheduledTaskCredentialSubject,
288
288
  verifySlackDirectCredentialSubject
289
- } from "./chunk-YHCTPDXS.js";
289
+ } from "./chunk-5WDDWMQ7.js";
290
290
  import {
291
291
  contextProvenance,
292
292
  createSlackDestination,
@@ -299,13 +299,13 @@ import {
299
299
  requireSlackDestination,
300
300
  withConversationEventLock,
301
301
  withConversationMutationLock
302
- } from "./chunk-LPLVNMVN.js";
302
+ } from "./chunk-RQQTOF3H.js";
303
303
  import {
304
304
  juniorAgentBindings,
305
305
  juniorAgentInvocations,
306
306
  juniorConversationEvents,
307
307
  juniorConversations
308
- } from "./chunk-ZSNABC2E.js";
308
+ } from "./chunk-IZHR2OES.js";
309
309
  import {
310
310
  sleep
311
311
  } from "./chunk-BVREIWBD.js";
@@ -313,7 +313,7 @@ import {
313
313
  acquireActiveLock,
314
314
  getStateAdapter,
315
315
  withActiveLock
316
- } from "./chunk-BXBZDV3C.js";
316
+ } from "./chunk-65B3PDY7.js";
317
317
  import {
318
318
  STANDARD_MODEL_PROFILE,
319
319
  botConfig,
@@ -331,16 +331,16 @@ import {
331
331
  modelIdForProfile,
332
332
  setSlackReactionConfig,
333
333
  standardModelId
334
- } from "./chunk-FX4PX3SA.js";
334
+ } from "./chunk-FMOFCEAA.js";
335
335
  import {
336
336
  juniorDestinations
337
337
  } from "./chunk-VFUK3X5B.js";
338
- import "./chunk-RBV4JHCP.js";
339
- import "./chunk-NLTQRYNP.js";
338
+ import "./chunk-ZUKU2Y3J.js";
339
+ import "./chunk-TCWPG5VL.js";
340
340
  import {
341
341
  pluginCatalogRuntime
342
- } from "./chunk-RULIISEI.js";
343
- import "./chunk-VV2DN24T.js";
342
+ } from "./chunk-7S2JVUWS.js";
343
+ import "./chunk-N2BRRIQZ.js";
344
344
  import {
345
345
  credentialContextForActor
346
346
  } from "./chunk-BDUENQD3.js";
@@ -372,7 +372,7 @@ import {
372
372
  withContext,
373
373
  withLogContext,
374
374
  withSpan
375
- } from "./chunk-VHSEMJTS.js";
375
+ } from "./chunk-32CCG4WP.js";
376
376
  import {
377
377
  continueTrace
378
378
  } from "./chunk-6GWA276C.js";
@@ -380,10 +380,10 @@ import "./chunk-OOUNJNMR.js";
380
380
  import "./chunk-H4HBKISO.js";
381
381
  import {
382
382
  JUNIOR_PLUGIN_TASK_CALLBACK_ROUTE
383
- } from "./chunk-26JYGL2L.js";
383
+ } from "./chunk-5T6WPPEI.js";
384
384
  import {
385
385
  JUNIOR_VERSION
386
- } from "./chunk-5GLGQHO3.js";
386
+ } from "./chunk-6OWVPXNO.js";
387
387
  import "./chunk-MLKGABMK.js";
388
388
 
389
389
  // src/app.ts
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  pluginCatalogRuntime
3
- } from "./chunk-RULIISEI.js";
4
- import "./chunk-VV2DN24T.js";
3
+ } from "./chunk-7S2JVUWS.js";
4
+ import "./chunk-N2BRRIQZ.js";
5
5
  import "./chunk-BDUENQD3.js";
6
6
  import "./chunk-V7YE4WCP.js";
7
- import "./chunk-VHSEMJTS.js";
7
+ import "./chunk-32CCG4WP.js";
8
8
  import "./chunk-6GWA276C.js";
9
9
  import "./chunk-OOUNJNMR.js";
10
10
  import "./chunk-H4HBKISO.js";
11
- import "./chunk-26JYGL2L.js";
12
- import "./chunk-5GLGQHO3.js";
11
+ import "./chunk-5T6WPPEI.js";
12
+ import "./chunk-6OWVPXNO.js";
13
13
  import "./chunk-MLKGABMK.js";
14
14
  export {
15
15
  pluginCatalogRuntime
@@ -4,7 +4,8 @@ export declare const AGENTS_REPLACEMENT_NOTICE = "These AGENTS.md instructions r
4
4
  export declare const AGENTS_REMOVAL_NOTICE = "The previously provided AGENTS.md instructions no longer apply.";
5
5
  /** Effective AGENTS.md instructions plus host-only discovery provenance. */
6
6
  export interface RepositoryInstructions {
7
- directory: string;
7
+ /** Selected directory when instructions come from one repository tree. */
8
+ directory?: string;
8
9
  fingerprint: string;
9
10
  sources: Array<{
10
11
  content: string;
@@ -20,12 +21,22 @@ export type VisibleAgentsInstructions = {
20
21
  directory?: string;
21
22
  text: string;
22
23
  };
24
+ /** Return Git worktrees under repos/, sorted for stable instruction capture. */
25
+ export declare function listRepositoryDirectories(fs: SandboxFileSystem): Promise<string[]>;
23
26
  /** Return the only Git worktree under repos/, without guessing when ambiguous. */
24
27
  export declare function findSingleRepositoryDirectory(fs: SandboxFileSystem): Promise<string | undefined>;
25
28
  /** Resolve the effective root-to-cwd AGENTS.md bundle for one selected directory. */
26
29
  export declare function resolveRepositoryInstructions(args: {
27
30
  cwd: string;
28
31
  fs: SandboxFileSystem;
32
+ maxBytes?: number;
33
+ }): Promise<RepositoryInstructions | undefined>;
34
+ /** Combine AGENTS.md bundles from one or more repository directories. */
35
+ export declare function mergeRepositoryInstructions(bundles: RepositoryInstructions[]): RepositoryInstructions | undefined;
36
+ /** Resolve AGENTS.md instructions for each selected repository directory. */
37
+ export declare function resolveRepositoryInstructionsForDirectories(args: {
38
+ directories: string[];
39
+ fs: SandboxFileSystem;
29
40
  }): Promise<RepositoryInstructions | undefined>;
30
41
  /** Render repository instructions with Codex's exact model-visible wrapper. */
31
42
  export declare function renderAgentsInstructions(args: {
@@ -19,7 +19,7 @@ export interface SandboxTools {
19
19
  execute(params: SandboxToolCall): Promise<unknown>;
20
20
  }
21
21
  export interface SandboxAccess {
22
- /** Resolve the AGENTS.md bundle for the selected repository directory. */
22
+ /** Resolve AGENTS.md instructions for each repository directory in the Workspace. */
23
23
  captureRepositoryInstructions(): Promise<RepositoryInstructions | undefined>;
24
24
  readonly tools: SandboxTools;
25
25
  readonly workspace: SandboxWorkspace;
@@ -1,5 +1,14 @@
1
+ import { z } from "zod";
1
2
  import { type SandboxSession } from "@/chat/sandbox/workspace";
2
3
  import type { Workspace } from "@/chat/workspaces/types";
4
+ declare const cachedSnapshotSchema: z.ZodObject<{
5
+ profileHash: z.ZodString;
6
+ snapshotId: z.ZodString;
7
+ runtime: z.ZodString;
8
+ createdAtMs: z.ZodNumber;
9
+ dependencyCount: z.ZodNumber;
10
+ }, z.core.$strict>;
11
+ type CachedSnapshot = z.output<typeof cachedSnapshotSchema>;
3
12
  export type ResolveOutcome = "no_profile" | "cache_hit" | "cache_hit_after_lock_wait" | "rebuilt" | "forced_rebuild";
4
13
  export type RebuildReason = "cache_miss" | "floating_stale" | "force_rebuild" | "snapshot_missing";
5
14
  /** Result of resolving the reusable snapshot for one dependency profile. */
@@ -12,6 +21,8 @@ export interface Snapshot {
12
21
  rebuildReason?: RebuildReason;
13
22
  }
14
23
  export type ProgressPhase = "resolve_start" | "cache_hit" | "waiting_for_lock" | "building_snapshot" | "build_complete";
24
+ /** Read one cached snapshot pointer; only a missing key is a cache miss. */
25
+ export declare function getCachedSnapshot(profileHash: string): Promise<CachedSnapshot | null>;
15
26
  /** Resolve or build the reusable snapshot for the current dependency profile. */
16
27
  export declare function resolve(params: {
17
28
  runtime: string;
@@ -25,3 +36,4 @@ export declare function resolve(params: {
25
36
  }): Promise<Snapshot>;
26
37
  /** Identify provider errors that mean a referenced snapshot no longer exists. */
27
38
  export declare function isMissingError(error: unknown): boolean;
39
+ export {};
@@ -0,0 +1,2 @@
1
+ /** Runtime used to build and start reusable Sandbox snapshots. */
2
+ export declare const SANDBOX_RUNTIME = "node22";
@@ -19,7 +19,6 @@ export declare function createWorkspace(input: {
19
19
  repos: Array<{
20
20
  provider: string;
21
21
  repo: string;
22
- isPrimary?: boolean;
23
22
  }>;
24
23
  }): Promise<Workspace>;
25
24
  /** Replace one install-wide Workspace recipe. */
@@ -29,7 +28,6 @@ export declare function updateWorkspace(id: string, input: {
29
28
  repos: Array<{
30
29
  provider: string;
31
30
  repo: string;
32
- isPrimary?: boolean;
33
31
  }>;
34
32
  }): Promise<Workspace | undefined>;
35
33
  /** Delete one install-wide Workspace recipe. */
@@ -2,7 +2,6 @@
2
2
  export interface WorkspaceRepo {
3
3
  provider: string;
4
4
  repo: string;
5
- isPrimary: boolean;
6
5
  }
7
6
  /** Named recipe used to prepare reusable sandbox contents. */
8
7
  export interface Workspace {
@@ -16,6 +16,5 @@ export declare function normalizeWorkspaceRecipe(input: {
16
16
  repos: Array<{
17
17
  provider: string;
18
18
  repo: string;
19
- isPrimary?: boolean;
20
19
  }>;
21
20
  }): WorkspaceRecipeInput;
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-6GWA276C.js";
10
10
  import {
11
11
  getDeploymentTelemetryAttributes
12
- } from "./chunk-26JYGL2L.js";
12
+ } from "./chunk-5T6WPPEI.js";
13
13
 
14
14
  // src/chat/logging.ts
15
15
  import path from "path";
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-V7YE4WCP.js";
6
6
  import {
7
7
  toOptionalString
8
- } from "./chunk-VHSEMJTS.js";
8
+ } from "./chunk-32CCG4WP.js";
9
9
 
10
10
  // src/chat/slack/context.ts
11
11
  import { z } from "zod";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  JUNIOR_VERSION
3
- } from "./chunk-5GLGQHO3.js";
3
+ } from "./chunk-6OWVPXNO.js";
4
4
 
5
5
  // src/deployment.ts
6
6
  var JUNIOR_HEARTBEAT_ROUTE = "/api/internal/heartbeat";