@sentry/junior 0.166.0 → 0.168.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 (59) hide show
  1. package/dist/{agent-hooks-ZIPK2HUF.js → agent-hooks-D7JHU7WE.js} +9 -9
  2. package/dist/api/schema/workspace.d.ts +14 -0
  3. package/dist/api/schema.d.ts +2 -2
  4. package/dist/api/schema.js +3 -1
  5. package/dist/api.js +51 -27
  6. package/dist/app.js +34 -35
  7. package/dist/{catalog-runtime-GEZAHBUP.js → catalog-runtime-LXATMEQ6.js} +5 -5
  8. package/dist/{chunk-BKP3PVKR.js → chunk-24LYO2C5.js} +1 -1
  9. package/dist/{chunk-VNPG55CU.js → chunk-2AZWPCBL.js} +1 -1
  10. package/dist/{chunk-Q2IPCX7J.js → chunk-2IMUHQWT.js} +270 -7
  11. package/dist/{chunk-JUFZR2LD.js → chunk-36ANNINB.js} +1 -1
  12. package/dist/{chunk-JDTCQDRU.js → chunk-6MG6K3YZ.js} +3 -3
  13. package/dist/{chunk-CDBTQQQ4.js → chunk-76TU3ROD.js} +1 -1
  14. package/dist/{chunk-2KV4BAAN.js → chunk-7GXMR4MF.js} +12 -12
  15. package/dist/{chunk-P6UQMGM2.js → chunk-7JMIQWSP.js} +1 -1
  16. package/dist/{chunk-FFE3BMAT.js → chunk-AE7IUAXH.js} +7 -7
  17. package/dist/{chunk-U2UCDSDF.js → chunk-AGVNNQCS.js} +4 -4
  18. package/dist/{chunk-FEYQVP64.js → chunk-B547UCF7.js} +5 -5
  19. package/dist/{chunk-OYN45QUQ.js → chunk-CHYKJIKV.js} +6 -6
  20. package/dist/{chunk-DTQAMME2.js → chunk-DL4L7BBJ.js} +5 -5
  21. package/dist/{chunk-SLWGX3G5.js → chunk-FEJNF6FM.js} +35 -35
  22. package/dist/{chunk-ABNRESX6.js → chunk-GFAFJWSD.js} +1 -1
  23. package/dist/{chunk-43KLUCAM.js → chunk-H4RVQPJF.js} +17 -17
  24. package/dist/{chunk-EKBVHDZO.js → chunk-HFCY2MP6.js} +1 -1
  25. package/dist/{chunk-3EZ5V7XQ.js → chunk-I654GTNX.js} +9 -9
  26. package/dist/{chunk-ZKJO4K6M.js → chunk-IC2R5ZYK.js} +4 -4
  27. package/dist/{chunk-65SNO3WK.js → chunk-JW5SNARN.js} +1 -1
  28. package/dist/{chunk-LGSGPWYH.js → chunk-JYZA27WZ.js} +1 -1
  29. package/dist/{chunk-OCOGPNHA.js → chunk-KX2QWO3Z.js} +1 -1
  30. package/dist/{chunk-WX42YNDQ.js → chunk-KXC3RX7T.js} +5 -5
  31. package/dist/{chunk-4MDEQNSW.js → chunk-ME26L5R4.js} +5 -5
  32. package/dist/{chunk-KQ5YZGDV.js → chunk-O6KWHWGM.js} +1 -1
  33. package/dist/{chunk-YTIKGCPC.js → chunk-PGEWSREG.js} +1 -1
  34. package/dist/{chunk-AEKBVJMV.js → chunk-RQTHGAPN.js} +2 -2
  35. package/dist/{chunk-MDW5YPXW.js → chunk-SA6HSGDQ.js} +2 -2
  36. package/dist/{chunk-C3USHSIJ.js → chunk-T5RDAC5O.js} +1 -1
  37. package/dist/{chunk-4CMORAHL.js → chunk-UTMP45YM.js} +11 -1
  38. package/dist/{chunk-2ZKFLHVP.js → chunk-WE6OK3UZ.js} +6 -6
  39. package/dist/{chunk-22RO7IDD.js → chunk-YPLOMUS4.js} +4 -4
  40. package/dist/cli/chat.js +29 -30
  41. package/dist/cli/check.js +6 -6
  42. package/dist/cli/plugins.js +12 -12
  43. package/dist/cli/snapshot-create.js +10 -12
  44. package/dist/cli/upgrade.js +7 -7
  45. package/dist/{db-TGZBS2CP.js → db-J2DG77RS.js} +7 -7
  46. package/dist/instrumentation.js +4 -4
  47. package/dist/nitro.js +2 -2
  48. package/dist/{oauth-callback-server-Z54WUF5H.js → oauth-callback-server-AZSRYN3C.js} +22 -22
  49. package/dist/{runner-PVFHKKK6.js → runner-U2WWTGBB.js} +12 -12
  50. package/dist/{skills-BYRH3QWD.js → skills-VO5YJ2VN.js} +6 -6
  51. package/dist/spawn-KOVJQOQA.js +37 -0
  52. package/dist/{validation-VZIE4RHA.js → validation-ZNI5KAOD.js} +6 -6
  53. package/dist/version.js +1 -1
  54. package/dist/{work-JTHAOPDQ.js → work-F3T7M2KC.js} +17 -17
  55. package/dist/worker-B3NU3RWC.js +24 -0
  56. package/package.json +5 -5
  57. package/dist/chunk-4DARCEZH.js +0 -274
  58. package/dist/spawn-RIPWK7EP.js +0 -37
  59. package/dist/worker-APEVP56Y.js +0 -24
@@ -1,7 +1,3 @@
1
- import {
2
- create,
3
- isStale
4
- } from "./chunk-4DARCEZH.js";
5
1
  import {
6
2
  SANDBOX_WORKSPACE_ROOT,
7
3
  runNonInteractiveCommand,
@@ -9,15 +5,18 @@ import {
9
5
  } from "./chunk-BVREIWBD.js";
10
6
  import {
11
7
  getStateAdapter
12
- } from "./chunk-EKBVHDZO.js";
8
+ } from "./chunk-HFCY2MP6.js";
13
9
  import {
14
10
  toOptionalTrimmed
15
- } from "./chunk-AEKBVJMV.js";
11
+ } from "./chunk-RQTHGAPN.js";
12
+ import {
13
+ pluginCatalogRuntime
14
+ } from "./chunk-2AZWPCBL.js";
16
15
  import {
17
16
  setSpanAttributes,
18
17
  setSpanStatus,
19
18
  withSpan
20
- } from "./chunk-JUFZR2LD.js";
19
+ } from "./chunk-36ANNINB.js";
21
20
 
22
21
  // src/chat/sandbox/resources.ts
23
22
  var configuredResources;
@@ -51,6 +50,266 @@ function getSandboxResources() {
51
50
  return configuredResources ?? resourcesFromEnv();
52
51
  }
53
52
 
53
+ // src/chat/sandbox/snapshot/profile.ts
54
+ import { createHash } from "crypto";
55
+
56
+ // src/chat/sandbox/docker.ts
57
+ var DOCKER_DAEMON_JSON = `{
58
+ "storage-driver": "overlay2",
59
+ "live-restore": false
60
+ }
61
+ `;
62
+ var DOCKER_ENSURE_SCRIPT = `#!/bin/sh
63
+ set -eu
64
+
65
+ if [ "$(id -u)" -ne 0 ]; then
66
+ exec sudo -n "$0" "$@"
67
+ fi
68
+
69
+ SOCK=/var/run/docker.sock
70
+ PIDFILE=/var/run/docker.pid
71
+ LOG=/var/log/junior-dockerd.log
72
+
73
+ is_ready() {
74
+ [ -S "$SOCK" ] && /usr/bin/docker info >/dev/null 2>&1
75
+ }
76
+
77
+ if is_ready; then
78
+ chmod 666 "$SOCK" 2>/dev/null || true
79
+ exit 0
80
+ fi
81
+
82
+ mkdir -p /etc/docker /var/lib/docker /var/run /var/log
83
+ if [ ! -f /etc/docker/daemon.json ]; then
84
+ cat > /etc/docker/daemon.json <<'EOF'
85
+ {
86
+ "storage-driver": "overlay2",
87
+ "live-restore": false
88
+ }
89
+ EOF
90
+ fi
91
+
92
+ if [ -f "$PIDFILE" ]; then
93
+ oldpid="$(cat "$PIDFILE" 2>/dev/null || true)"
94
+ if [ -n "\${oldpid:-}" ] && ! kill -0 "$oldpid" 2>/dev/null; then
95
+ rm -f "$PIDFILE"
96
+ fi
97
+ fi
98
+
99
+ if [ ! -f "$PIDFILE" ] || ! kill -0 "$(cat "$PIDFILE" 2>/dev/null)" 2>/dev/null; then
100
+ # dockerd must outlive this helper; nohup + background is intentional.
101
+ nohup dockerd --host="unix://$SOCK" --pidfile="$PIDFILE" >"$LOG" 2>&1 &
102
+ fi
103
+
104
+ i=0
105
+ while [ "$i" -lt 50 ]; do
106
+ if is_ready; then
107
+ chmod 666 "$SOCK" 2>/dev/null || true
108
+ exit 0
109
+ fi
110
+ i=$((i + 1))
111
+ sleep 0.1
112
+ done
113
+
114
+ echo "junior-ensure-docker: dockerd failed to become ready" >&2
115
+ if [ -f "$LOG" ]; then
116
+ tail -n 50 "$LOG" >&2 || true
117
+ fi
118
+ exit 1
119
+ `;
120
+ var DOCKER_CLI_WRAPPER_SCRIPT = `#!/bin/sh
121
+ set -eu
122
+ if command -v junior-ensure-docker >/dev/null 2>&1; then
123
+ junior-ensure-docker
124
+ fi
125
+ exec /usr/bin/docker "$@"
126
+ `;
127
+ var DOCKER_COMPOSE_CLI_WRAPPER_SCRIPT = `#!/bin/sh
128
+ set -eu
129
+ if command -v junior-ensure-docker >/dev/null 2>&1; then
130
+ junior-ensure-docker
131
+ fi
132
+ exec /usr/local/libexec/junior-docker-compose "$@"
133
+ `;
134
+ async function ensureDockerDaemon(sandbox, signal) {
135
+ await runNonInteractiveCommand(sandbox, {
136
+ cmd: "sh",
137
+ args: [
138
+ "-c",
139
+ "command -v junior-ensure-docker >/dev/null 2>&1 && junior-ensure-docker || true"
140
+ ],
141
+ signal
142
+ });
143
+ }
144
+
145
+ // src/chat/sandbox/runtime-dependencies.ts
146
+ var GLOBAL_RUNTIME_DEPENDENCIES = [
147
+ { type: "system", package: "docker" },
148
+ { type: "system", package: "spal-release" },
149
+ { type: "system", package: "ripgrep" }
150
+ ];
151
+ function writeFileCommand(path, contents, mode = "0644") {
152
+ const payload = Buffer.from(contents, "utf8").toString("base64");
153
+ return [
154
+ `printf '%s' '${payload}' | base64 -d > ${path}`,
155
+ `chmod ${mode} ${path}`
156
+ ].join("\n");
157
+ }
158
+ function writeExecutableCommand(path, contents) {
159
+ return writeFileCommand(path, contents, "0755");
160
+ }
161
+ var GLOBAL_RUNTIME_POSTINSTALL = [
162
+ {
163
+ cmd: "sh",
164
+ args: [
165
+ "-c",
166
+ [
167
+ "set -eu",
168
+ 'case "$(uname -m)" in',
169
+ ' x86_64) asset="x86_64"; sha256="7af95166a730b87e172d4fc9aefea8725d3c6c7327d59149267b452114ddb7d4" ;;',
170
+ ' aarch64) asset="aarch64"; sha256="49082844b87f03cdcd5f5bbef1ba8c9c897b7a2dfb80cea18d61ec8ca6117e0c" ;;',
171
+ ' *) echo "unsupported Docker Compose architecture: $(uname -m)" >&2; exit 1 ;;',
172
+ "esac",
173
+ 'tmp="$(mktemp)"',
174
+ `trap 'rm -f "$tmp"' EXIT`,
175
+ 'curl --fail --location --silent --show-error "https://github.com/docker/compose/releases/download/v2.39.4/docker-compose-linux-${asset}" --output "$tmp"',
176
+ 'echo "${sha256} ${tmp}" | sha256sum --check --status',
177
+ // Keep the real Compose binary off PATH; the wrapper below starts dockerd.
178
+ 'install -D -m 0755 "$tmp" /usr/local/libexec/junior-docker-compose',
179
+ "mkdir -p /usr/local/lib/docker/cli-plugins /usr/local/libexec /etc/docker /usr/local/bin",
180
+ `mkdir -p ${SANDBOX_WORKSPACE_ROOT}/.junior/bin`,
181
+ writeFileCommand("/etc/docker/daemon.json", DOCKER_DAEMON_JSON),
182
+ writeExecutableCommand(
183
+ "/usr/local/bin/junior-ensure-docker",
184
+ DOCKER_ENSURE_SCRIPT
185
+ ),
186
+ // docker compose plugin delegates to the real Compose binary.
187
+ "ln -sfn /usr/local/libexec/junior-docker-compose /usr/local/lib/docker/cli-plugins/docker-compose",
188
+ // PATH wrappers auto-start dockerd for both CLI entrypoints.
189
+ writeExecutableCommand(
190
+ "/usr/local/bin/docker-compose",
191
+ DOCKER_COMPOSE_CLI_WRAPPER_SCRIPT
192
+ ),
193
+ writeExecutableCommand(
194
+ `${SANDBOX_WORKSPACE_ROOT}/.junior/bin/docker`,
195
+ DOCKER_CLI_WRAPPER_SCRIPT
196
+ ),
197
+ writeExecutableCommand(
198
+ `${SANDBOX_WORKSPACE_ROOT}/.junior/bin/docker-compose`,
199
+ DOCKER_COMPOSE_CLI_WRAPPER_SCRIPT
200
+ ),
201
+ // Prefer the wrapper over /usr/bin/docker for non-login shells too.
202
+ writeExecutableCommand(
203
+ "/usr/local/bin/docker",
204
+ DOCKER_CLI_WRAPPER_SCRIPT
205
+ )
206
+ ].join("\n")
207
+ ],
208
+ sudo: true
209
+ }
210
+ ];
211
+
212
+ // src/chat/sandbox/snapshot/profile.ts
213
+ var VERSION = 1;
214
+ var DEFAULT_FLOATING_MAX_AGE_MS = 7 * 24 * 60 * 60 * 1e3;
215
+ function isExactNpmVersion(version) {
216
+ return /^\d+\.\d+\.\d+(?:[-+][a-z0-9.]+)?$/i.test(version.trim());
217
+ }
218
+ function isFloating(dep) {
219
+ return dep.type === "npm" && !isExactNpmVersion(dep.version);
220
+ }
221
+ function mergeDependencies(dependencies2) {
222
+ const seen = /* @__PURE__ */ new Set();
223
+ const npmVersions = /* @__PURE__ */ new Map();
224
+ const merged = [];
225
+ for (const dependency of dependencies2) {
226
+ const key = dependency.type === "npm" ? `${dependency.type}:${dependency.package}:${dependency.version}` : "package" in dependency ? `${dependency.type}:package:${dependency.package}` : `${dependency.type}:url:${dependency.url}:${dependency.sha256}`;
227
+ if (seen.has(key)) {
228
+ continue;
229
+ }
230
+ seen.add(key);
231
+ if (dependency.type === "npm") {
232
+ const version = npmVersions.get(dependency.package);
233
+ if (version !== void 0 && version !== dependency.version) {
234
+ throw new Error(
235
+ `Conflicting runtime dependency versions for ${dependency.package}: ${version} and ${dependency.version}`
236
+ );
237
+ }
238
+ npmVersions.set(dependency.package, dependency.version);
239
+ }
240
+ merged.push(dependency);
241
+ }
242
+ return merged;
243
+ }
244
+ function floatingMaxAgeMs() {
245
+ const raw = process.env.SANDBOX_SNAPSHOT_FLOATING_MAX_AGE_MS;
246
+ if (!raw?.trim()) {
247
+ return DEFAULT_FLOATING_MAX_AGE_MS;
248
+ }
249
+ const parsed = Number.parseInt(raw, 10);
250
+ return Number.isFinite(parsed) && parsed >= 0 ? parsed : DEFAULT_FLOATING_MAX_AGE_MS;
251
+ }
252
+ function compareCodePoints(left, right) {
253
+ if (left < right) return -1;
254
+ if (left > right) return 1;
255
+ return 0;
256
+ }
257
+ function workspaceRecipe(workspace) {
258
+ const repos = [...workspace.repos].map(({ provider, repo }) => ({
259
+ provider,
260
+ repo
261
+ })).sort((left, right) => {
262
+ const provider = compareCodePoints(left.provider, right.provider);
263
+ if (provider !== 0) return provider;
264
+ return compareCodePoints(left.repo, right.repo);
265
+ });
266
+ return {
267
+ id: workspace.id,
268
+ repos,
269
+ setupScript: workspace.setupScript
270
+ };
271
+ }
272
+ function create(runtime, workspace) {
273
+ const dependencies2 = mergeDependencies([
274
+ ...GLOBAL_RUNTIME_DEPENDENCIES,
275
+ ...pluginCatalogRuntime.getRuntimeDependencies()
276
+ ]);
277
+ const pluginPostinstall = pluginCatalogRuntime.getRuntimePostinstall();
278
+ const postinstall2 = [...GLOBAL_RUNTIME_POSTINSTALL, ...pluginPostinstall];
279
+ if (dependencies2.length === 0 && postinstall2.length === 0 && !workspace) {
280
+ return null;
281
+ }
282
+ const rebuildEpoch = process.env.SANDBOX_SNAPSHOT_REBUILD_EPOCH?.trim() ?? "";
283
+ const floating = dependencies2.some((dependency) => isFloating(dependency)) || pluginPostinstall.length > 0 || Boolean(workspace);
284
+ const hash2 = createHash("sha256").update(
285
+ JSON.stringify({
286
+ version: VERSION,
287
+ runtime,
288
+ rebuildEpoch,
289
+ dependencies: dependencies2,
290
+ postinstall: postinstall2,
291
+ ...workspace ? { workspace: workspaceRecipe(workspace) } : {}
292
+ })
293
+ ).digest("hex");
294
+ return {
295
+ hash: hash2,
296
+ dependencyCount: dependencies2.length,
297
+ floating,
298
+ dependencies: dependencies2,
299
+ postinstall: postinstall2
300
+ };
301
+ }
302
+ function hash(runtime, workspace) {
303
+ return create(runtime, workspace)?.hash;
304
+ }
305
+ function isStale(profile, createdAtMs) {
306
+ if (!profile.floating) {
307
+ return false;
308
+ }
309
+ const maxAgeMs = floatingMaxAgeMs();
310
+ return maxAgeMs === 0 || Date.now() - createdAtMs > maxAgeMs;
311
+ }
312
+
54
313
  // src/chat/sandbox/snapshot/resolve.ts
55
314
  import { Sandbox } from "@vercel/sandbox";
56
315
  import { z } from "zod";
@@ -927,12 +1186,16 @@ export {
927
1186
  wrapSandboxSetupError,
928
1187
  throwSandboxOperationError,
929
1188
  getVercelSandboxCredentials,
1189
+ ensureDockerDaemon,
930
1190
  getSandboxResourceConfig,
931
1191
  setSandboxResourceConfig,
932
1192
  getSandboxResources,
1193
+ create,
1194
+ hash,
933
1195
  bindSandboxFileSystem,
934
1196
  createSandboxSession,
935
1197
  stopSession,
1198
+ getCachedSnapshot,
936
1199
  resolve,
937
1200
  isMissingError
938
1201
  };
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-6GWA276C.js";
10
10
  import {
11
11
  getDeploymentTelemetryAttributes
12
- } from "./chunk-BKP3PVKR.js";
12
+ } from "./chunk-24LYO2C5.js";
13
13
 
14
14
  // src/chat/logging.ts
15
15
  import path from "path";
@@ -7,12 +7,12 @@ import {
7
7
  juniorConversations,
8
8
  juniorIdentities,
9
9
  juniorUsers
10
- } from "./chunk-65SNO3WK.js";
10
+ } from "./chunk-JW5SNARN.js";
11
11
  import {
12
12
  TURN_REASONING_LEVELS,
13
13
  getChatConfig,
14
14
  modelProfileSchema
15
- } from "./chunk-AEKBVJMV.js";
15
+ } from "./chunk-RQTHGAPN.js";
16
16
  import {
17
17
  juniorDestinations
18
18
  } from "./chunk-VFUK3X5B.js";
@@ -23,7 +23,7 @@ import {
23
23
  } from "./chunk-V7YE4WCP.js";
24
24
  import {
25
25
  normalizeIdentityEmail
26
- } from "./chunk-JUFZR2LD.js";
26
+ } from "./chunk-36ANNINB.js";
27
27
 
28
28
  // src/chat/conversations/sql/store.ts
29
29
  import { randomUUID as randomUUID2 } from "crypto";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  FUNCTION_TIMEOUT_BUFFER_SECONDS,
3
3
  getChatConfig
4
- } from "./chunk-AEKBVJMV.js";
4
+ } from "./chunk-RQTHGAPN.js";
5
5
 
6
6
  // src/chat/runtime/request-deadline.ts
7
7
  import { AsyncLocalStorage } from "async_hooks";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  createWebAuthorization,
3
3
  deleteWebAuthorization
4
- } from "./chunk-OCOGPNHA.js";
4
+ } from "./chunk-KX2QWO3Z.js";
5
5
  import {
6
6
  appendAndEnqueueInboundMessage
7
- } from "./chunk-ZKJO4K6M.js";
7
+ } from "./chunk-IC2R5ZYK.js";
8
8
  import {
9
9
  buildDeliveredTurnStatePatch,
10
10
  completeAuthPauseTurn,
@@ -12,20 +12,20 @@ import {
12
12
  getTurnUserMessage,
13
13
  processPluginTask,
14
14
  scheduleSessionCompletedPluginTasks
15
- } from "./chunk-3EZ5V7XQ.js";
15
+ } from "./chunk-I654GTNX.js";
16
16
  import {
17
17
  ConversationTurnLifecycleService,
18
18
  coerceThreadConversationState,
19
19
  getPersistedSandboxState,
20
20
  getPersistedThreadState,
21
21
  persistThreadStateById
22
- } from "./chunk-DTQAMME2.js";
22
+ } from "./chunk-DL4L7BBJ.js";
23
23
  import {
24
24
  healthReportSchema
25
25
  } from "./chunk-UTL3MHPC.js";
26
26
  import {
27
27
  parseSlackThreadId
28
- } from "./chunk-ABNRESX6.js";
28
+ } from "./chunk-GFAFJWSD.js";
29
29
  import {
30
30
  TurnInputCommitLostError,
31
31
  abandonTurnRecord,
@@ -49,31 +49,31 @@ import {
49
49
  saveTurnCheckpoint,
50
50
  startActiveTurn,
51
51
  upsertConversationMessage
52
- } from "./chunk-22RO7IDD.js";
52
+ } from "./chunk-YPLOMUS4.js";
53
53
  import {
54
54
  normalizeSlackConversationId
55
- } from "./chunk-WX42YNDQ.js";
55
+ } from "./chunk-KXC3RX7T.js";
56
56
  import {
57
57
  getConversationEventStore,
58
58
  getConversationStore,
59
59
  getDb
60
- } from "./chunk-JDTCQDRU.js";
60
+ } from "./chunk-6MG6K3YZ.js";
61
61
  import {
62
62
  juniorApiTokens,
63
63
  juniorConversationParticipants,
64
64
  juniorConversations,
65
65
  juniorIdentities,
66
66
  juniorUsers
67
- } from "./chunk-65SNO3WK.js";
67
+ } from "./chunk-JW5SNARN.js";
68
68
  import {
69
69
  getSlackBotToken
70
- } from "./chunk-AEKBVJMV.js";
70
+ } from "./chunk-RQTHGAPN.js";
71
71
  import {
72
72
  juniorDestinations
73
73
  } from "./chunk-VFUK3X5B.js";
74
74
  import {
75
75
  canExposeConversationPayload
76
- } from "./chunk-KQ5YZGDV.js";
76
+ } from "./chunk-O6KWHWGM.js";
77
77
  import {
78
78
  credentialContextForActor
79
79
  } from "./chunk-BDUENQD3.js";
@@ -82,7 +82,7 @@ import {
82
82
  logWarn,
83
83
  setTags,
84
84
  withLogContext
85
- } from "./chunk-JUFZR2LD.js";
85
+ } from "./chunk-36ANNINB.js";
86
86
 
87
87
  // src/handlers/health.ts
88
88
  function readHealthReport() {
@@ -5,7 +5,7 @@ import {
5
5
  logInfo,
6
6
  logWarn,
7
7
  setSpanAttributes
8
- } from "./chunk-JUFZR2LD.js";
8
+ } from "./chunk-36ANNINB.js";
9
9
  import {
10
10
  discoverInstalledPluginPackageContent,
11
11
  normalizePluginPackageNames
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-RF6J3DIO.js";
4
4
  import {
5
5
  resolveBaseUrl
6
- } from "./chunk-OYN45QUQ.js";
6
+ } from "./chunk-CHYKJIKV.js";
7
7
  import {
8
8
  isExperimentalFeatureEnabled
9
9
  } from "./chunk-VRS6WDK5.js";
@@ -12,27 +12,27 @@ import {
12
12
  getPlugins,
13
13
  getSlackClient,
14
14
  withSlackRetries
15
- } from "./chunk-WX42YNDQ.js";
15
+ } from "./chunk-KXC3RX7T.js";
16
16
  import {
17
17
  getDb,
18
18
  parseDestination
19
- } from "./chunk-JDTCQDRU.js";
19
+ } from "./chunk-6MG6K3YZ.js";
20
20
  import {
21
21
  sleep
22
22
  } from "./chunk-BVREIWBD.js";
23
23
  import {
24
24
  acquireActiveLock,
25
25
  getStateAdapter
26
- } from "./chunk-EKBVHDZO.js";
26
+ } from "./chunk-HFCY2MP6.js";
27
27
  import {
28
28
  pluginCatalogRuntime
29
- } from "./chunk-VNPG55CU.js";
29
+ } from "./chunk-2AZWPCBL.js";
30
30
  import {
31
31
  fetchWithBoundedOAuthErrorBodies
32
- } from "./chunk-P6UQMGM2.js";
32
+ } from "./chunk-7JMIQWSP.js";
33
33
  import {
34
34
  isRecord
35
- } from "./chunk-JUFZR2LD.js";
35
+ } from "./chunk-36ANNINB.js";
36
36
 
37
37
  // src/chat/capabilities/router.ts
38
38
  var ProviderCredentialRouter = class {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getTurnRequestDeadline
3
- } from "./chunk-CDBTQQQ4.js";
3
+ } from "./chunk-76TU3ROD.js";
4
4
  import {
5
5
  CONVERSATION_WORK_CHECK_IN_INTERVAL_MS,
6
6
  CONVERSATION_WORK_MAX_RETRIES,
@@ -21,20 +21,20 @@ import {
21
21
  releaseConversationWork,
22
22
  requestAnotherSlice,
23
23
  startConversationWork
24
- } from "./chunk-ZKJO4K6M.js";
24
+ } from "./chunk-IC2R5ZYK.js";
25
25
  import {
26
26
  ConversationQueueMessageRejectedError
27
27
  } from "./chunk-JAL3CH4G.js";
28
28
  import {
29
29
  getChatConfig,
30
30
  isProviderRetryError
31
- } from "./chunk-AEKBVJMV.js";
31
+ } from "./chunk-RQTHGAPN.js";
32
32
  import {
33
33
  logException,
34
34
  logInfo,
35
35
  logWarn,
36
36
  withLogContext
37
- } from "./chunk-JUFZR2LD.js";
37
+ } from "./chunk-36ANNINB.js";
38
38
 
39
39
  // src/chat/task-execution/worker.ts
40
40
  var CONVERSATION_WORK_DEFER_DELAY_MS = 15e3;
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  formatProviderLabel,
6
6
  startOAuthFlow
7
- } from "./chunk-OYN45QUQ.js";
7
+ } from "./chunk-CHYKJIKV.js";
8
8
  import {
9
9
  parseSandboxEgressAuthRequiredSignal
10
10
  } from "./chunk-7MA4HV4W.js";
@@ -12,16 +12,16 @@ import {
12
12
  abandonReplacedPendingAuth,
13
13
  canReusePendingAuthLink,
14
14
  recordAuthorizationRequested
15
- } from "./chunk-22RO7IDD.js";
15
+ } from "./chunk-YPLOMUS4.js";
16
16
  import {
17
17
  AGENT_INVOCATION_MAILBOX_STATUSES
18
- } from "./chunk-65SNO3WK.js";
18
+ } from "./chunk-JW5SNARN.js";
19
19
  import {
20
20
  TURN_REASONING_LEVELS
21
- } from "./chunk-AEKBVJMV.js";
21
+ } from "./chunk-RQTHGAPN.js";
22
22
  import {
23
23
  pluginCatalogRuntime
24
- } from "./chunk-VNPG55CU.js";
24
+ } from "./chunk-2AZWPCBL.js";
25
25
  import {
26
26
  credentialContextSchema
27
27
  } from "./chunk-BDUENQD3.js";
@@ -5,19 +5,19 @@ import {
5
5
  isDmChannel,
6
6
  normalizeSlackConversationId,
7
7
  withSlackRetries
8
- } from "./chunk-WX42YNDQ.js";
8
+ } from "./chunk-KXC3RX7T.js";
9
9
  import {
10
10
  parseDestination
11
- } from "./chunk-JDTCQDRU.js";
11
+ } from "./chunk-6MG6K3YZ.js";
12
12
  import {
13
13
  getStateAdapter
14
- } from "./chunk-EKBVHDZO.js";
14
+ } from "./chunk-HFCY2MP6.js";
15
15
  import {
16
16
  normalizeSlackEmojiName
17
- } from "./chunk-AEKBVJMV.js";
17
+ } from "./chunk-RQTHGAPN.js";
18
18
  import {
19
19
  pluginCatalogRuntime
20
- } from "./chunk-VNPG55CU.js";
20
+ } from "./chunk-2AZWPCBL.js";
21
21
  import {
22
22
  parseSlackMessageTs,
23
23
  parseSlackUserId
@@ -26,7 +26,7 @@ import {
26
26
  isRecord,
27
27
  logInfo,
28
28
  logWarn
29
- } from "./chunk-JUFZR2LD.js";
29
+ } from "./chunk-36ANNINB.js";
30
30
 
31
31
  // src/chat/slack/outbound.ts
32
32
  var MAX_SLACK_MESSAGE_TEXT_CHARS = 4e4;
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  persistConversationMessages
3
- } from "./chunk-22RO7IDD.js";
3
+ } from "./chunk-YPLOMUS4.js";
4
4
  import {
5
5
  JUNIOR_THREAD_STATE_TTL_MS
6
6
  } from "./chunk-3Y47VMHV.js";
7
7
  import {
8
8
  getDb
9
- } from "./chunk-JDTCQDRU.js";
9
+ } from "./chunk-6MG6K3YZ.js";
10
10
  import {
11
11
  juniorLocationConfigurations
12
- } from "./chunk-65SNO3WK.js";
12
+ } from "./chunk-JW5SNARN.js";
13
13
  import {
14
14
  getStateAdapter
15
- } from "./chunk-EKBVHDZO.js";
15
+ } from "./chunk-HFCY2MP6.js";
16
16
  import {
17
17
  juniorDestinations
18
18
  } from "./chunk-VFUK3X5B.js";
@@ -20,7 +20,7 @@ import {
20
20
  isRecord,
21
21
  toOptionalNumber,
22
22
  toOptionalString
23
- } from "./chunk-JUFZR2LD.js";
23
+ } from "./chunk-36ANNINB.js";
24
24
 
25
25
  // src/chat/conversations/turn-lifecycle.ts
26
26
  var ConversationTurnLifecycleService = class {