@sentry/junior 0.102.3 → 0.103.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 (48) hide show
  1. package/dist/{agent-hooks-I4I2DHSW.js → agent-hooks-NHIXBJW3.js} +5 -5
  2. package/dist/api/conversations/schema.d.ts +16 -0
  3. package/dist/api/people/shared.d.ts +1 -1
  4. package/dist/api/schema.js +3 -3
  5. package/dist/api.js +13 -13
  6. package/dist/app.js +24 -72
  7. package/dist/chat/sandbox/runtime-dependencies.d.ts +2 -0
  8. package/dist/chat/sandbox/sandbox.d.ts +1 -0
  9. package/dist/chat/services/provider-retry.d.ts +1 -2
  10. package/dist/{chunk-ZSHL44IQ.js → chunk-4PDVOHXP.js} +1 -1
  11. package/dist/{chunk-F4CQEUTP.js → chunk-6FPTHPXF.js} +1 -1
  12. package/dist/{chunk-4YN2ZXKB.js → chunk-6LBNXC4F.js} +1 -1
  13. package/dist/{chunk-3OABPOHR.js → chunk-7G4J3CR7.js} +11 -2
  14. package/dist/{chunk-HYDQULR2.js → chunk-7LLRS2OK.js} +1 -0
  15. package/dist/{chunk-KFP3TZOS.js → chunk-B43K4C5K.js} +2 -2
  16. package/dist/{chunk-B5QS4AVO.js → chunk-BQCPAIAB.js} +2 -2
  17. package/dist/{chunk-EOB77KME.js → chunk-C4BT2P2K.js} +3 -3
  18. package/dist/{chunk-IQ36I3DF.js → chunk-CCTCIISK.js} +1 -1
  19. package/dist/{chunk-EMUZSROX.js → chunk-DEQZ23O3.js} +1 -1
  20. package/dist/{chunk-VSAFV2GI.js → chunk-E2VS47AZ.js} +3 -3
  21. package/dist/{chunk-NSP6OGL2.js → chunk-FW7DVHTL.js} +6 -4
  22. package/dist/{chunk-WPHCUGN7.js → chunk-GCGRQJR5.js} +1 -1
  23. package/dist/{chunk-DTUSCR2Y.js → chunk-GY5ZRYPH.js} +7 -7
  24. package/dist/{chunk-QZGVPPIJ.js → chunk-HOBDQQJY.js} +1 -1
  25. package/dist/{chunk-LJB2TLVT.js → chunk-HRDWLE7Q.js} +2 -2
  26. package/dist/{chunk-X2IPNCB5.js → chunk-JPXLAJUU.js} +58 -4
  27. package/dist/{chunk-5K4N73TP.js → chunk-JXQWOCBE.js} +3 -3
  28. package/dist/{chunk-SHBPSE7A.js → chunk-M3UAVLEN.js} +2 -3
  29. package/dist/{chunk-ZIX4PNBI.js → chunk-OE453VRG.js} +19 -15
  30. package/dist/{chunk-3UK5DFKW.js → chunk-U26ZWZCN.js} +1 -1
  31. package/dist/{chunk-4XNQSJAX.js → chunk-VKFOVMZL.js} +3 -3
  32. package/dist/cli/chat.js +14 -14
  33. package/dist/cli/plugins.js +5 -5
  34. package/dist/cli/snapshot-warmup.js +7 -3
  35. package/dist/cli/upgrade.js +7 -7
  36. package/dist/{db-6QP6HY7U.js → db-I343BSOM.js} +2 -2
  37. package/dist/{detail-OEIVZYXS.js → detail-ENVV4HIY.js} +10 -10
  38. package/dist/{detail-V37NTVBN.js → detail-UIOKVIET.js} +6 -6
  39. package/dist/{legacy-import-R3BMM2GH.js → legacy-import-M7VBOQTK.js} +3 -3
  40. package/dist/{list-FWLIZHSW.js → list-WR5U6JVM.js} +6 -6
  41. package/dist/{list-NTUT6A5M.js → list-XZ4HKQ4R.js} +6 -6
  42. package/dist/{list-AJ6RWBOG.js → list-ZOUSMSEH.js} +6 -6
  43. package/dist/{plugin-conversations-F3IBVNFX.js → plugin-conversations-DTUP4RH6.js} +5 -5
  44. package/dist/{profile-3FRQP4HP.js → profile-UO2N3XXG.js} +6 -6
  45. package/dist/{runner-C2ZTIOUD.js → runner-IEE5G4NV.js} +10 -10
  46. package/dist/{stats-7UFY6FPE.js → stats-NZIET4LT.js} +4 -4
  47. package/dist/{subagent-X3ZWJHR4.js → subagent-DY6XKTJ5.js} +9 -9
  48. package/package.json +5 -5
@@ -9,13 +9,13 @@ import {
9
9
  getPersistedThreadState,
10
10
  markTurnCompleted,
11
11
  mergeArtifactsState
12
- } from "./chunk-5K4N73TP.js";
12
+ } from "./chunk-JXQWOCBE.js";
13
13
  import {
14
14
  coerceThreadConversationState
15
15
  } from "./chunk-XIMUQ4IU.js";
16
16
  import {
17
17
  getAgentTurnSessionRecord
18
- } from "./chunk-EOB77KME.js";
18
+ } from "./chunk-C4BT2P2K.js";
19
19
  import {
20
20
  generateConversationId,
21
21
  hydrateConversationMessages,
@@ -23,19 +23,19 @@ import {
23
23
  normalizeConversationText,
24
24
  updateConversationStats,
25
25
  upsertConversationMessage
26
- } from "./chunk-VSAFV2GI.js";
26
+ } from "./chunk-E2VS47AZ.js";
27
27
  import {
28
28
  createPluginEmbedder,
29
29
  createPluginModel,
30
30
  getPlugins
31
- } from "./chunk-X2IPNCB5.js";
31
+ } from "./chunk-JPXLAJUU.js";
32
32
  import {
33
33
  createPluginLogger,
34
34
  createPluginState
35
- } from "./chunk-ZSHL44IQ.js";
35
+ } from "./chunk-4PDVOHXP.js";
36
36
  import {
37
37
  getDb
38
- } from "./chunk-QZGVPPIJ.js";
38
+ } from "./chunk-HOBDQQJY.js";
39
39
  import {
40
40
  botConfig,
41
41
  getPiMessageRole,
@@ -45,7 +45,7 @@ import {
45
45
  isToolResultMessage,
46
46
  normalizeToolNameFromResult,
47
47
  stripRuntimeTurnContext
48
- } from "./chunk-SHBPSE7A.js";
48
+ } from "./chunk-M3UAVLEN.js";
49
49
  import {
50
50
  buildTurnFailureResponse
51
51
  } from "./chunk-AEWZ7F65.js";
@@ -3,7 +3,7 @@ import {
3
3
  getConnectedStateContext,
4
4
  getStateAdapter,
5
5
  modelProfileSchema
6
- } from "./chunk-SHBPSE7A.js";
6
+ } from "./chunk-M3UAVLEN.js";
7
7
  import {
8
8
  juniorDestinations,
9
9
  timestamptz
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  formatSlackConversationRedactedLabel,
3
3
  resolveSlackConversationContextFromThreadId
4
- } from "./chunk-EMUZSROX.js";
4
+ } from "./chunk-DEQZ23O3.js";
5
5
  import {
6
6
  getDb,
7
7
  juniorConversations,
8
8
  juniorIdentities
9
- } from "./chunk-QZGVPPIJ.js";
9
+ } from "./chunk-HOBDQQJY.js";
10
10
  import {
11
11
  juniorDestinations
12
12
  } from "./chunk-FXFQNHRU.js";
@@ -3,14 +3,14 @@ import {
3
3
  isConversationScopedChannel,
4
4
  isDmChannel,
5
5
  normalizeSlackConversationId
6
- } from "./chunk-IQ36I3DF.js";
6
+ } from "./chunk-CCTCIISK.js";
7
7
  import {
8
8
  createPluginLogger,
9
9
  createPluginState
10
- } from "./chunk-ZSHL44IQ.js";
10
+ } from "./chunk-4PDVOHXP.js";
11
11
  import {
12
12
  getDb
13
- } from "./chunk-QZGVPPIJ.js";
13
+ } from "./chunk-HOBDQQJY.js";
14
14
  import {
15
15
  SANDBOX_WORKSPACE_ROOT
16
16
  } from "./chunk-G3E7SCME.js";
@@ -18,7 +18,7 @@ import {
18
18
  botConfig,
19
19
  completeObject,
20
20
  embedTexts
21
- } from "./chunk-SHBPSE7A.js";
21
+ } from "./chunk-M3UAVLEN.js";
22
22
  import {
23
23
  isActorUserId,
24
24
  logInfo,
@@ -71,6 +71,56 @@ function createPluginEmbedder(pluginName, runtime = {}) {
71
71
  };
72
72
  }
73
73
 
74
+ // src/chat/slack/dashboard-link.ts
75
+ var dashboardConversationLinkOptions;
76
+ function withHttps(host) {
77
+ return /^https?:\/\//.test(host) ? host : `https://${host}`;
78
+ }
79
+ function stripTrailingSlashes(value) {
80
+ let end = value.length;
81
+ while (end > 1 && value.charCodeAt(end - 1) === 47) {
82
+ end -= 1;
83
+ }
84
+ return end === value.length ? value : value.slice(0, end);
85
+ }
86
+ function normalizeDashboardPath(path, fallback) {
87
+ const value = path?.trim() || fallback;
88
+ const withSlash = value.startsWith("/") ? value : `/${value}`;
89
+ return stripTrailingSlashes(withSlash);
90
+ }
91
+ function resolveDashboardBaseURL(config) {
92
+ const explicit = config.baseURL ?? process.env.JUNIOR_BASE_URL;
93
+ if (explicit?.trim()) {
94
+ return stripTrailingSlashes(withHttps(explicit.trim()));
95
+ }
96
+ const vercelProd = process.env.VERCEL_PROJECT_PRODUCTION_URL?.trim();
97
+ if (vercelProd) {
98
+ return stripTrailingSlashes(withHttps(vercelProd));
99
+ }
100
+ const vercelUrl = process.env.VERCEL_URL?.trim();
101
+ if (vercelUrl) {
102
+ return stripTrailingSlashes(withHttps(vercelUrl));
103
+ }
104
+ return "http://localhost:3000";
105
+ }
106
+ function setDashboardConversationLinkOptions(options) {
107
+ const previous = dashboardConversationLinkOptions;
108
+ dashboardConversationLinkOptions = options?.disabled ? void 0 : options;
109
+ return previous;
110
+ }
111
+ function getDashboardConversationLink(conversationId) {
112
+ if (!dashboardConversationLinkOptions) {
113
+ return void 0;
114
+ }
115
+ const baseURL = resolveDashboardBaseURL(dashboardConversationLinkOptions);
116
+ const basePath = normalizeDashboardPath(
117
+ dashboardConversationLinkOptions.basePath,
118
+ "/"
119
+ );
120
+ const path = basePath === "/" ? `/conversations/${encodeURIComponent(conversationId)}` : `${basePath}/conversations/${encodeURIComponent(conversationId)}`;
121
+ return `${baseURL}${path}`;
122
+ }
123
+
74
124
  // src/chat/slack/tools/context.ts
75
125
  function getSlackToolContext(context) {
76
126
  if (context.source.platform !== "slack") {
@@ -520,10 +570,12 @@ function getPluginTools(context) {
520
570
  teamId: slackToolContext.teamId,
521
571
  userId: slackToolContext.actor?.userId
522
572
  }) : void 0;
573
+ const dashboardConversationUrl = context.conversationId ? getDashboardConversationLink(context.conversationId) : void 0;
523
574
  const slackContext = slackToolContext ? {
524
575
  channelCapabilities: resolveChannelCapabilities(
525
576
  slackToolContext.sourceChannelId
526
577
  ),
578
+ ...dashboardConversationUrl ? { conversationLink: { url: dashboardConversationUrl } } : {},
527
579
  ...credentialSubject ? { credentialSubject } : {}
528
580
  } : void 0;
529
581
  let pluginContext;
@@ -1039,6 +1091,8 @@ function createPluginHookRunner(input = {}) {
1039
1091
  export {
1040
1092
  createPluginModel,
1041
1093
  createPluginEmbedder,
1094
+ setDashboardConversationLinkOptions,
1095
+ getDashboardConversationLink,
1042
1096
  getSlackToolContext,
1043
1097
  bindSlackDirectCredentialSubject,
1044
1098
  verifySlackDirectCredentialSubject,
@@ -7,10 +7,10 @@ import {
7
7
  addAgentTurnUsage,
8
8
  getAgentTurnSessionRecord,
9
9
  upsertAgentTurnSessionRecord
10
- } from "./chunk-EOB77KME.js";
10
+ } from "./chunk-C4BT2P2K.js";
11
11
  import {
12
12
  persistConversationMessages
13
- } from "./chunk-VSAFV2GI.js";
13
+ } from "./chunk-E2VS47AZ.js";
14
14
  import {
15
15
  sleep
16
16
  } from "./chunk-4ZNGQH7C.js";
@@ -18,7 +18,7 @@ import {
18
18
  getPiMessageRole,
19
19
  getStateAdapter,
20
20
  trimTrailingAssistantMessages
21
- } from "./chunk-SHBPSE7A.js";
21
+ } from "./chunk-M3UAVLEN.js";
22
22
  import {
23
23
  getActiveTraceId,
24
24
  logException
@@ -216,7 +216,7 @@ var PROVIDER_RETRY_DELAYS_MS = [2e3, 4e3, 8e3];
216
216
  var PROVIDER_ERROR_PREFIX = "AI provider error:";
217
217
  var PROVIDER_RETRY_ERROR_NAME = "ProviderRetryError";
218
218
  var NON_RETRYABLE_PROVIDER_ERROR_PATTERNS = [
219
- /invalid.?api.?key|no api key|authentication|authorization|permission|forbidden|credential/i,
219
+ /invalid.?api.?key|no api key|authentication|authorization|permission|forbidden|(?:invalid|missing|expired|revoked).{0,24}\bcredentials?\b|\bcredentials?\b.{0,24}(?:invalid|missing|expired|revoked)|\bno\b.{0,16}\bcredentials?\b/i,
220
220
  /context.?length|context.?window/i,
221
221
  /content.?policy|validation|bad request|\b(?:400|401|403)\b/i,
222
222
  /unsupported model|invalid model|unknown ai gateway model|unknown model|mismatched api/i,
@@ -244,8 +244,7 @@ function isRetryableProviderFailure(errorMessage) {
244
244
  }
245
245
  function nextProviderRetry(args) {
246
246
  const delayMs = PROVIDER_RETRY_DELAYS_MS[args.attempt];
247
- const errorMessage = args.lastAssistant?.errorMessage?.trim();
248
- if (delayMs === void 0 || args.lastAssistant?.stopReason !== "error" || !errorMessage || !isRetryableProviderFailure(errorMessage)) {
247
+ if (delayMs === void 0 || !args.retryableFailure) {
249
248
  return void 0;
250
249
  }
251
250
  const messages = trimTrailingAssistantMessages(args.messages);
@@ -11,14 +11,14 @@ import {
11
11
  persistRunningSessionRecord,
12
12
  persistTimeoutSessionRecord,
13
13
  persistYieldSessionRecord
14
- } from "./chunk-5K4N73TP.js";
14
+ } from "./chunk-JXQWOCBE.js";
15
15
  import {
16
16
  JUNIOR_THREAD_STATE_TTL_MS
17
17
  } from "./chunk-XIMUQ4IU.js";
18
18
  import {
19
19
  addAgentTurnUsage,
20
20
  hasAgentTurnUsage
21
- } from "./chunk-EOB77KME.js";
21
+ } from "./chunk-C4BT2P2K.js";
22
22
  import {
23
23
  loadConnectedMcpProviders,
24
24
  loadConversationProjection,
@@ -26,12 +26,12 @@ import {
26
26
  recordAuthorizationRequested,
27
27
  recordMcpProviderConnected,
28
28
  recordToolExecutionStarted
29
- } from "./chunk-B5QS4AVO.js";
29
+ } from "./chunk-BQCPAIAB.js";
30
30
  import {
31
31
  estimateTextTokens,
32
32
  getAgentContextCompactionTriggerTokens,
33
33
  updateConversationStats
34
- } from "./chunk-VSAFV2GI.js";
34
+ } from "./chunk-E2VS47AZ.js";
35
35
  import {
36
36
  buildNonInteractiveShellScript,
37
37
  createSandboxInstance,
@@ -41,7 +41,7 @@ import {
41
41
  isSnapshotMissingError,
42
42
  resolveRuntimeDependencySnapshot,
43
43
  runNonInteractiveCommand
44
- } from "./chunk-3OABPOHR.js";
44
+ } from "./chunk-7G4J3CR7.js";
45
45
  import {
46
46
  privateTraceResultAttributes
47
47
  } from "./chunk-UIE3R5XU.js";
@@ -53,7 +53,7 @@ import {
53
53
  getPlugins,
54
54
  getSlackToolContext,
55
55
  resolveChannelCapabilities
56
- } from "./chunk-X2IPNCB5.js";
56
+ } from "./chunk-JPXLAJUU.js";
57
57
  import {
58
58
  SlackActionError,
59
59
  downloadPrivateSlackFile,
@@ -63,10 +63,10 @@ import {
63
63
  isDmChannel,
64
64
  normalizeSlackConversationId,
65
65
  withSlackRetries
66
- } from "./chunk-IQ36I3DF.js";
66
+ } from "./chunk-CCTCIISK.js";
67
67
  import {
68
68
  createPluginLogger
69
- } from "./chunk-ZSHL44IQ.js";
69
+ } from "./chunk-4PDVOHXP.js";
70
70
  import {
71
71
  contextProvenance,
72
72
  getAgentStepStore,
@@ -75,7 +75,7 @@ import {
75
75
  getDb,
76
76
  instructionActors,
77
77
  instructionProvenanceFor
78
- } from "./chunk-QZGVPPIJ.js";
78
+ } from "./chunk-HOBDQQJY.js";
79
79
  import {
80
80
  SANDBOX_DATA_ROOT,
81
81
  SANDBOX_SKILLS_ROOT,
@@ -125,7 +125,7 @@ import {
125
125
  stripRuntimeTurnContext,
126
126
  trimTrailingAssistantMessages,
127
127
  unwrapCurrentInstruction
128
- } from "./chunk-SHBPSE7A.js";
128
+ } from "./chunk-M3UAVLEN.js";
129
129
  import {
130
130
  parseSlackThreadId,
131
131
  resolveConversationPrivacy,
@@ -271,6 +271,7 @@ function shouldPropagateSandboxEgressTrace(host, config = {}) {
271
271
 
272
272
  // src/chat/agent/index.ts
273
273
  import { Agent } from "@earendil-works/pi-agent-core";
274
+ import { isRetryableAssistantError } from "@earendil-works/pi-ai";
274
275
 
275
276
  // src/chat/sandbox/skill-sandbox.ts
276
277
  import fs from "fs/promises";
@@ -12265,6 +12266,7 @@ function bashToolResult(params) {
12265
12266
  exit_code: params.exit_code,
12266
12267
  signal: params.signal,
12267
12268
  timed_out: params.timed_out,
12269
+ aborted: Boolean(params.aborted),
12268
12270
  stdout: params.stdout,
12269
12271
  stderr: params.stderr,
12270
12272
  stdout_truncated: params.stdout_truncated,
@@ -12273,8 +12275,8 @@ function bashToolResult(params) {
12273
12275
  truncated: params.stdout_truncated || params.stderr_truncated,
12274
12276
  ...!params.ok ? {
12275
12277
  error: {
12276
- kind: params.timed_out ? "timeout" : "nonzero_exit",
12277
- message: params.stderr.trim() || `Command exited with code ${params.exit_code}`,
12278
+ kind: params.aborted ? "outcome_unknown" : params.timed_out ? "timeout" : "nonzero_exit",
12279
+ message: params.aborted ? "Command was interrupted before its outcome was confirmed. It may have produced side effects; reconcile external state before retrying or reporting failure." : params.stderr.trim() || `Command exited with code ${params.exit_code}`,
12278
12280
  retryable: params.timed_out
12279
12281
  }
12280
12282
  } : {},
@@ -12283,6 +12285,7 @@ function bashToolResult(params) {
12283
12285
  exit_code: params.exit_code,
12284
12286
  signal: params.signal,
12285
12287
  timed_out: params.timed_out,
12288
+ aborted: Boolean(params.aborted),
12286
12289
  stdout: params.stdout,
12287
12290
  stderr: params.stderr,
12288
12291
  stdout_truncated: params.stdout_truncated,
@@ -12393,7 +12396,7 @@ function createSandboxExecutor(options) {
12393
12396
  response.stderr ?? "",
12394
12397
  "utf8"
12395
12398
  ),
12396
- ...response.exitCode !== 0 ? { "error.type": "nonzero_exit" } : {}
12399
+ ...response.aborted ? { "error.type": "outcome_unknown" } : response.exitCode !== 0 ? { "error.type": "nonzero_exit" } : {}
12397
12400
  });
12398
12401
  setSpanStatus(response.exitCode === 0 ? "ok" : "error");
12399
12402
  return response;
@@ -12416,6 +12419,7 @@ function createSandboxExecutor(options) {
12416
12419
  exit_code: result.exitCode,
12417
12420
  signal: null,
12418
12421
  timed_out: Boolean(result.timedOut),
12422
+ aborted: Boolean(result.aborted),
12419
12423
  stdout: result.stdout,
12420
12424
  stderr: result.stderr,
12421
12425
  stdout_truncated: result.stdoutTruncated,
@@ -16056,8 +16060,8 @@ async function executeAgentRunInPrivacyContext(request, conversationPrivacy) {
16056
16060
  }
16057
16061
  const providerRetry = nextProviderRetry({
16058
16062
  attempt,
16059
- lastAssistant,
16060
- messages: agent.state.messages
16063
+ messages: agent.state.messages,
16064
+ retryableFailure: lastAssistant !== void 0 && isRetryableAssistantError(lastAssistant)
16061
16065
  });
16062
16066
  if (!providerRetry) {
16063
16067
  break;
@@ -5,7 +5,7 @@ import {
5
5
  getChatConfig,
6
6
  getDefaultRedisStateAdapterFor,
7
7
  getStateAdapter
8
- } from "./chunk-SHBPSE7A.js";
8
+ } from "./chunk-M3UAVLEN.js";
9
9
  import {
10
10
  parseDestination,
11
11
  sameDestination
@@ -4,16 +4,16 @@ import {
4
4
  import {
5
5
  conversationAggregateColumns,
6
6
  conversationRangeColumns
7
- } from "./chunk-F4CQEUTP.js";
7
+ } from "./chunk-6FPTHPXF.js";
8
8
  import {
9
9
  activityDays
10
- } from "./chunk-WPHCUGN7.js";
10
+ } from "./chunk-GCGRQJR5.js";
11
11
  import {
12
12
  getDb,
13
13
  juniorConversations,
14
14
  juniorIdentities,
15
15
  juniorUsers
16
- } from "./chunk-QZGVPPIJ.js";
16
+ } from "./chunk-HOBDQQJY.js";
17
17
  import {
18
18
  juniorDestinations
19
19
  } from "./chunk-FXFQNHRU.js";
package/dist/cli/chat.js CHANGED
@@ -1,25 +1,25 @@
1
1
  import {
2
2
  createAgentRunner,
3
3
  executeAgentRun
4
- } from "../chunk-ZIX4PNBI.js";
5
- import "../chunk-5K4N73TP.js";
4
+ } from "../chunk-OE453VRG.js";
5
+ import "../chunk-JXQWOCBE.js";
6
6
  import "../chunk-XIMUQ4IU.js";
7
- import "../chunk-EOB77KME.js";
8
- import "../chunk-B5QS4AVO.js";
9
- import "../chunk-VSAFV2GI.js";
10
- import "../chunk-3OABPOHR.js";
7
+ import "../chunk-C4BT2P2K.js";
8
+ import "../chunk-BQCPAIAB.js";
9
+ import "../chunk-E2VS47AZ.js";
10
+ import "../chunk-7G4J3CR7.js";
11
11
  import "../chunk-PDO5BLNM.js";
12
12
  import "../chunk-UIE3R5XU.js";
13
13
  import {
14
14
  loadAppPluginSet
15
15
  } from "../chunk-Y2CM7HXH.js";
16
- import "../chunk-X2IPNCB5.js";
17
- import "../chunk-IQ36I3DF.js";
18
- import "../chunk-ZSHL44IQ.js";
19
- import "../chunk-QZGVPPIJ.js";
16
+ import "../chunk-JPXLAJUU.js";
17
+ import "../chunk-CCTCIISK.js";
18
+ import "../chunk-4PDVOHXP.js";
19
+ import "../chunk-HOBDQQJY.js";
20
20
  import "../chunk-G3E7SCME.js";
21
21
  import "../chunk-4ZNGQH7C.js";
22
- import "../chunk-SHBPSE7A.js";
22
+ import "../chunk-M3UAVLEN.js";
23
23
  import "../chunk-FXFQNHRU.js";
24
24
  import "../chunk-RT5BUHR5.js";
25
25
  import "../chunk-B7PUBQQM.js";
@@ -153,10 +153,10 @@ async function configureLocalChatPlugins(pluginSet) {
153
153
  databaseModule
154
154
  ] = await Promise.all([
155
155
  import("../plugins-PZMDS7AT.js"),
156
- import("../agent-hooks-I4I2DHSW.js"),
156
+ import("../agent-hooks-NHIXBJW3.js"),
157
157
  import("../catalog-runtime-5CVM2DOF.js"),
158
158
  import("../validation-EUI2UFRM.js"),
159
- import("../db-6QP6HY7U.js")
159
+ import("../db-I343BSOM.js")
160
160
  ]);
161
161
  const resolvedPluginSet = pluginSet === void 0 ? await loadLocalPluginSet() : pluginSet ?? void 0;
162
162
  const plugins = pluginsModule.pluginRuntimeRegistrationsFromPluginSet(resolvedPluginSet);
@@ -217,7 +217,7 @@ function newRunConversationId() {
217
217
  async function prepareLocalChatRun(io, pluginSet) {
218
218
  defaultStateAdapterForLocalChat();
219
219
  await configureLocalChatPlugins(pluginSet);
220
- const { runLocalAgentTurn } = await import("../runner-C2ZTIOUD.js");
220
+ const { runLocalAgentTurn } = await import("../runner-IEE5G4NV.js");
221
221
  const deps = {
222
222
  agentRunner: createAgentRunner(executeAgentRun),
223
223
  deliverReply: async (reply) => {
@@ -13,17 +13,17 @@ import {
13
13
  import {
14
14
  setPlugins,
15
15
  validatePlugins
16
- } from "../chunk-X2IPNCB5.js";
17
- import "../chunk-IQ36I3DF.js";
16
+ } from "../chunk-JPXLAJUU.js";
17
+ import "../chunk-CCTCIISK.js";
18
18
  import {
19
19
  createPluginLogger
20
- } from "../chunk-ZSHL44IQ.js";
20
+ } from "../chunk-4PDVOHXP.js";
21
21
  import {
22
22
  getDb
23
- } from "../chunk-QZGVPPIJ.js";
23
+ } from "../chunk-HOBDQQJY.js";
24
24
  import "../chunk-G3E7SCME.js";
25
25
  import "../chunk-4ZNGQH7C.js";
26
- import "../chunk-SHBPSE7A.js";
26
+ import "../chunk-M3UAVLEN.js";
27
27
  import "../chunk-FXFQNHRU.js";
28
28
  import "../chunk-RT5BUHR5.js";
29
29
  import "../chunk-B7PUBQQM.js";
@@ -1,11 +1,12 @@
1
1
  import {
2
+ GLOBAL_RUNTIME_DEPENDENCIES,
2
3
  resolveRuntimeDependencySnapshot
3
- } from "../chunk-3OABPOHR.js";
4
+ } from "../chunk-7G4J3CR7.js";
4
5
  import "../chunk-G3E7SCME.js";
5
6
  import "../chunk-4ZNGQH7C.js";
6
7
  import {
7
8
  disconnectStateAdapter
8
- } from "../chunk-SHBPSE7A.js";
9
+ } from "../chunk-M3UAVLEN.js";
9
10
  import "../chunk-RT5BUHR5.js";
10
11
  import {
11
12
  pluginCatalogRuntime
@@ -47,7 +48,10 @@ function logSnapshotProfile(log) {
47
48
  ).map((plugin) => plugin.manifest.name).sort();
48
49
  const systemDependencies = [];
49
50
  const npmDependencies = [];
50
- for (const dep of pluginCatalogRuntime.getRuntimeDependencies()) {
51
+ for (const dep of [
52
+ ...GLOBAL_RUNTIME_DEPENDENCIES,
53
+ ...pluginCatalogRuntime.getRuntimeDependencies()
54
+ ]) {
51
55
  if (dep.type === "npm") {
52
56
  npmDependencies.push(`${dep.package}@${dep.version}`);
53
57
  continue;
@@ -4,7 +4,7 @@ import {
4
4
  recordConversationActivity,
5
5
  recordConversationExecution,
6
6
  requestConversationWork
7
- } from "../chunk-3UK5DFKW.js";
7
+ } from "../chunk-U26ZWZCN.js";
8
8
  import {
9
9
  defineJuniorPlugins,
10
10
  pluginCatalogConfigFromEnv,
@@ -18,11 +18,11 @@ import {
18
18
  import {
19
19
  addAgentTurnUsage,
20
20
  listAgentTurnSessionSummariesForConversations
21
- } from "../chunk-EOB77KME.js";
22
- import "../chunk-B5QS4AVO.js";
21
+ } from "../chunk-C4BT2P2K.js";
22
+ import "../chunk-BQCPAIAB.js";
23
23
  import {
24
24
  importConversationFromLegacy
25
- } from "../chunk-VSAFV2GI.js";
25
+ } from "../chunk-E2VS47AZ.js";
26
26
  import "../chunk-PDO5BLNM.js";
27
27
  import {
28
28
  loadAppPluginSet
@@ -30,18 +30,18 @@ import {
30
30
  import {
31
31
  createPluginLogger,
32
32
  createPluginState
33
- } from "../chunk-ZSHL44IQ.js";
33
+ } from "../chunk-4PDVOHXP.js";
34
34
  import {
35
35
  createJuniorSqlExecutor,
36
36
  createSqlConversationMessageStore,
37
37
  createSqlStore,
38
38
  getDb
39
- } from "../chunk-QZGVPPIJ.js";
39
+ } from "../chunk-HOBDQQJY.js";
40
40
  import {
41
41
  disconnectStateAdapter,
42
42
  getChatConfig,
43
43
  getConnectedStateContext
44
- } from "../chunk-SHBPSE7A.js";
44
+ } from "../chunk-M3UAVLEN.js";
45
45
  import "../chunk-FXFQNHRU.js";
46
46
  import "../chunk-RT5BUHR5.js";
47
47
  import {
@@ -6,8 +6,8 @@ import {
6
6
  getConversationStore,
7
7
  getDb,
8
8
  getSqlExecutor
9
- } from "./chunk-QZGVPPIJ.js";
10
- import "./chunk-SHBPSE7A.js";
9
+ } from "./chunk-HOBDQQJY.js";
10
+ import "./chunk-M3UAVLEN.js";
11
11
  import "./chunk-FXFQNHRU.js";
12
12
  import "./chunk-RT5BUHR5.js";
13
13
  import "./chunk-B7PUBQQM.js";
@@ -1,24 +1,24 @@
1
1
  import {
2
2
  buildConversationDetail
3
- } from "./chunk-NSP6OGL2.js";
3
+ } from "./chunk-FW7DVHTL.js";
4
4
  import {
5
5
  readConversationRecordFromSql
6
- } from "./chunk-LJB2TLVT.js";
6
+ } from "./chunk-HRDWLE7Q.js";
7
7
  import {
8
8
  conversationDetailReportSchema
9
- } from "./chunk-HYDQULR2.js";
9
+ } from "./chunk-7LLRS2OK.js";
10
10
  import "./chunk-LVUKF5CE.js";
11
- import "./chunk-EMUZSROX.js";
11
+ import "./chunk-DEQZ23O3.js";
12
12
  import {
13
13
  listBoundedAgentTurnSessionSummariesForConversation
14
- } from "./chunk-EOB77KME.js";
15
- import "./chunk-B5QS4AVO.js";
16
- import "./chunk-VSAFV2GI.js";
14
+ } from "./chunk-C4BT2P2K.js";
15
+ import "./chunk-BQCPAIAB.js";
16
+ import "./chunk-E2VS47AZ.js";
17
17
  import "./chunk-PDO5BLNM.js";
18
- import "./chunk-IQ36I3DF.js";
19
- import "./chunk-QZGVPPIJ.js";
18
+ import "./chunk-CCTCIISK.js";
19
+ import "./chunk-HOBDQQJY.js";
20
20
  import "./chunk-4ZNGQH7C.js";
21
- import "./chunk-SHBPSE7A.js";
21
+ import "./chunk-M3UAVLEN.js";
22
22
  import "./chunk-FXFQNHRU.js";
23
23
  import "./chunk-RT5BUHR5.js";
24
24
  import "./chunk-B7PUBQQM.js";
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  readLocationDetailFromSql
3
- } from "./chunk-4XNQSJAX.js";
3
+ } from "./chunk-VKFOVMZL.js";
4
4
  import "./chunk-QOZOJNSE.js";
5
- import "./chunk-F4CQEUTP.js";
5
+ import "./chunk-6FPTHPXF.js";
6
6
  import {
7
7
  locationDetailReportSchema
8
- } from "./chunk-WPHCUGN7.js";
9
- import "./chunk-HYDQULR2.js";
8
+ } from "./chunk-GCGRQJR5.js";
9
+ import "./chunk-7LLRS2OK.js";
10
10
  import "./chunk-PDO5BLNM.js";
11
- import "./chunk-QZGVPPIJ.js";
12
- import "./chunk-SHBPSE7A.js";
11
+ import "./chunk-HOBDQQJY.js";
12
+ import "./chunk-M3UAVLEN.js";
13
13
  import "./chunk-FXFQNHRU.js";
14
14
  import "./chunk-RT5BUHR5.js";
15
15
  import "./chunk-B7PUBQQM.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  ensureLegacyConversationImport,
3
3
  importConversationFromLegacy
4
- } from "./chunk-VSAFV2GI.js";
5
- import "./chunk-QZGVPPIJ.js";
6
- import "./chunk-SHBPSE7A.js";
4
+ } from "./chunk-E2VS47AZ.js";
5
+ import "./chunk-HOBDQQJY.js";
6
+ import "./chunk-M3UAVLEN.js";
7
7
  import "./chunk-FXFQNHRU.js";
8
8
  import "./chunk-RT5BUHR5.js";
9
9
  import "./chunk-B7PUBQQM.js";
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  readLocationDirectoryFromSql
3
- } from "./chunk-4XNQSJAX.js";
3
+ } from "./chunk-VKFOVMZL.js";
4
4
  import "./chunk-QOZOJNSE.js";
5
- import "./chunk-F4CQEUTP.js";
5
+ import "./chunk-6FPTHPXF.js";
6
6
  import {
7
7
  locationDirectoryReportSchema
8
- } from "./chunk-WPHCUGN7.js";
9
- import "./chunk-HYDQULR2.js";
8
+ } from "./chunk-GCGRQJR5.js";
9
+ import "./chunk-7LLRS2OK.js";
10
10
  import "./chunk-PDO5BLNM.js";
11
- import "./chunk-QZGVPPIJ.js";
12
- import "./chunk-SHBPSE7A.js";
11
+ import "./chunk-HOBDQQJY.js";
12
+ import "./chunk-M3UAVLEN.js";
13
13
  import "./chunk-FXFQNHRU.js";
14
14
  import "./chunk-RT5BUHR5.js";
15
15
  import "./chunk-B7PUBQQM.js";