@sentry/junior 0.133.0 → 0.135.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-5BUIXVIX.js → agent-hooks-EMXDAD2K.js} +9 -9
  2. package/dist/api/schema/task.d.ts +36 -0
  3. package/dist/api/schema.d.ts +1 -1
  4. package/dist/api/schema.js +1 -1
  5. package/dist/api.js +39 -20
  6. package/dist/app.js +46 -24
  7. package/dist/{catalog-runtime-VGB3DWXZ.js → catalog-runtime-NVPT6HA5.js} +5 -5
  8. package/dist/chat/agent/prompt.d.ts +7 -5
  9. package/dist/chat/agent/repository-context.d.ts +20 -0
  10. package/dist/chat/agent/sandbox.d.ts +8 -0
  11. package/dist/chat/agent/tools.d.ts +3 -0
  12. package/dist/chat/plugins/agent-hooks.d.ts +2 -2
  13. package/dist/chat/repository-instructions.d.ts +44 -0
  14. package/dist/chat/sandbox/noninteractive-command.d.ts +2 -0
  15. package/dist/chat/sandbox/sandbox.d.ts +3 -0
  16. package/dist/chat/sandbox/session.d.ts +1 -0
  17. package/dist/chat/services/context-compaction.d.ts +1 -0
  18. package/dist/chat/slack/tools/user-lookup.d.ts +2 -6
  19. package/dist/chat/tasks/execution-stats.d.ts +28 -0
  20. package/dist/chat/tools/index.d.ts +2 -0
  21. package/dist/chat/tools/sandbox/bash.d.ts +1 -0
  22. package/dist/chat/tools/system-time.d.ts +11 -1
  23. package/dist/{chunk-XTQGVNM3.js → chunk-45DPXMI3.js} +6 -12
  24. package/dist/{chunk-TU7P77FI.js → chunk-5EX36ZCD.js} +12 -12
  25. package/dist/{chunk-VL7OYSHD.js → chunk-5LD6EBH2.js} +1 -1
  26. package/dist/{chunk-HJ4KDO4N.js → chunk-6UNZ5DHG.js} +1 -1
  27. package/dist/{chunk-IVTHTAVK.js → chunk-AGAHACF7.js} +2 -2
  28. package/dist/{chunk-HX236W2U.js → chunk-CDQ4YIZM.js} +9 -0
  29. package/dist/{chunk-5ZAZHLIW.js → chunk-EBRB6ZBF.js} +1 -1
  30. package/dist/{chunk-VQA25AL4.js → chunk-EJT7EPP3.js} +6 -6
  31. package/dist/{chunk-FX6BLEDP.js → chunk-HDGTBCQR.js} +1 -1
  32. package/dist/{chunk-AH5HTUYX.js → chunk-IRTIVX42.js} +1 -1
  33. package/dist/{chunk-ECUILEUX.js → chunk-NGX2V4WY.js} +430 -29
  34. package/dist/{chunk-TBVS7GBE.js → chunk-OSCF2BDE.js} +9 -8
  35. package/dist/{chunk-HTGXUNEC.js → chunk-P2D7IW57.js} +7 -7
  36. package/dist/{chunk-EJRJWBKG.js → chunk-QQCEMMVN.js} +1 -1
  37. package/dist/{chunk-LDRO4OQ4.js → chunk-RMI6OX52.js} +2 -2
  38. package/dist/{chunk-QVEXYYFM.js → chunk-TRZSM67C.js} +11 -1
  39. package/dist/{chunk-TLN54TOQ.js → chunk-TYEDZVRM.js} +32 -32
  40. package/dist/{chunk-QWGZ273D.js → chunk-U37P4IIP.js} +81 -27
  41. package/dist/{chunk-JLN4XSPR.js → chunk-UXYZPEWP.js} +1 -1
  42. package/dist/{chunk-LNYNTR27.js → chunk-VZEKCQLD.js} +3 -3
  43. package/dist/{chunk-T5FPIBU2.js → chunk-Y6627MTY.js} +788 -674
  44. package/dist/{chunk-IKO5LFIU.js → chunk-YPKPXLMS.js} +1 -1
  45. package/dist/chunk-Z67KVHMJ.js +233 -0
  46. package/dist/{chunk-WHEMUEXT.js → chunk-ZBQIA5NI.js} +8 -6
  47. package/dist/cli/chat.js +25 -25
  48. package/dist/cli/check.js +6 -6
  49. package/dist/cli/init.js +0 -1
  50. package/dist/cli/plugins.js +12 -12
  51. package/dist/cli/snapshot-create.js +9 -9
  52. package/dist/cli/upgrade.js +7 -7
  53. package/dist/db/schema/task-executions.d.ts +110 -0
  54. package/dist/db/schema.d.ts +111 -1
  55. package/dist/{db-RICMPUFT.js → db-UA6OFL25.js} +7 -7
  56. package/dist/instrumentation.js +4 -4
  57. package/dist/nitro.js +2 -2
  58. package/dist/{oauth-callback-server-YFVS4SAX.js → oauth-callback-server-IJDYBSTX.js} +18 -18
  59. package/dist/{runner-A3LVGZR6.js → runner-K6GID4HN.js} +12 -12
  60. package/dist/{skills-P7Q6Z6PN.js → skills-KJVS753I.js} +6 -6
  61. package/dist/{validation-RYHOWBET.js → validation-7VDJGK7K.js} +6 -6
  62. package/dist/version.js +1 -1
  63. package/migrations/0019_lowly_valkyrie.sql +14 -0
  64. package/migrations/0020_restrict_task_execution_kinds.sql +2 -0
  65. package/migrations/meta/0019_snapshot.json +1904 -0
  66. package/migrations/meta/0020_snapshot.json +1848 -0
  67. package/migrations/meta/_journal.json +15 -1
  68. package/package.json +4 -4
  69. package/dist/chunk-V365UVCU.js +0 -115
@@ -1,4 +1,4 @@
1
- import type { PluginRoute, PluginOperationalReport, PluginRouteApp, ResourceEvent, SlackConversationLink, PluginRegistration } from "@sentry/junior-plugin-api";
1
+ import type { PluginRoute, PluginSandbox, PluginOperationalReport, PluginRouteApp, ResourceEvent, SlackConversationLink, PluginRegistration } from "@sentry/junior-plugin-api";
2
2
  import type { PluginPromptContributionContext } from "@/chat/plugins/prompt";
3
3
  import type { AnyToolDefinition } from "@/chat/tools/definition";
4
4
  import type { ToolRuntimeContext } from "@/chat/tools/types";
@@ -51,7 +51,7 @@ export declare function getPluginUserPromptContributions(args: {
51
51
  turnId?: string;
52
52
  }): Promise<PluginPromptContributionContext[]>;
53
53
  /** Collect turn-scoped tools exposed by plugins. */
54
- export declare function getPluginTools(context: ToolRuntimeContext): Record<string, AnyToolDefinition>;
54
+ export declare function getPluginTools(context: ToolRuntimeContext, sandbox?: PluginSandbox): Record<string, AnyToolDefinition>;
55
55
  /** Collect route handlers exposed by plugins for app-level mounting. */
56
56
  export declare function getPluginRoutes(options: {
57
57
  resourceEvents: {
@@ -0,0 +1,44 @@
1
+ import type { PiMessage } from "@/chat/pi/messages";
2
+ import type { SandboxFileSystem } from "@/chat/sandbox/workspace";
3
+ export declare const AGENTS_REPLACEMENT_NOTICE = "These AGENTS.md instructions replace all previously provided AGENTS.md instructions.";
4
+ export declare const AGENTS_REMOVAL_NOTICE = "The previously provided AGENTS.md instructions no longer apply.";
5
+ /** Effective AGENTS.md instructions plus host-only discovery provenance. */
6
+ export interface RepositoryInstructions {
7
+ directory: string;
8
+ fingerprint: string;
9
+ sources: Array<{
10
+ content: string;
11
+ path: string;
12
+ }>;
13
+ text: string;
14
+ }
15
+ /** Latest model-visible AGENTS.md state parsed from trusted runtime context. */
16
+ export type VisibleAgentsInstructions = {
17
+ active: false;
18
+ } | {
19
+ active: true;
20
+ directory?: string;
21
+ text: string;
22
+ };
23
+ /** Return the only direct-child Git worktree, without guessing when ambiguous. */
24
+ export declare function findSingleRepositoryDirectory(fs: SandboxFileSystem): Promise<string | undefined>;
25
+ /** Resolve the effective root-to-cwd AGENTS.md bundle for one selected directory. */
26
+ export declare function resolveRepositoryInstructions(args: {
27
+ cwd: string;
28
+ fs: SandboxFileSystem;
29
+ }): Promise<RepositoryInstructions | undefined>;
30
+ /** Render repository instructions with Codex's exact model-visible wrapper. */
31
+ export declare function renderAgentsInstructions(args: {
32
+ directory?: string;
33
+ text: string;
34
+ }): string;
35
+ /** Build one user-role repository-instructions context message. */
36
+ export declare function buildAgentsInstructionsMessage(args: {
37
+ directory?: string;
38
+ text: string;
39
+ timestamp?: number;
40
+ }): PiMessage;
41
+ /** Read the latest effective AGENTS.md state from model-visible history. */
42
+ export declare function findVisibleAgentsInstructions(messages: PiMessage[]): VisibleAgentsInstructions | undefined;
43
+ /** Whether one message is a generated AGENTS.md context update. */
44
+ export declare function isAgentsInstructionsMessage(message: PiMessage): boolean;
@@ -11,6 +11,8 @@ interface NonInteractiveCommandInput extends NonInteractiveShellOptions {
11
11
  signal?: AbortSignal;
12
12
  sudo?: boolean;
13
13
  }
14
+ /** Render one argv command as a safely quoted shell script. */
15
+ export declare function buildCommandScript(input: Pick<NonInteractiveCommandInput, "args" | "cmd">): string;
14
16
  /** Build one shell entrypoint that never waits on terminal input. */
15
17
  export declare function buildNonInteractiveShellScript(script: string, options?: NonInteractiveShellOptions): string;
16
18
  /** Run a subprocess through one enforced non-interactive entrypoint. */
@@ -2,6 +2,7 @@ import { type LogContext, type SetSpanAttributes } from "@/chat/logging";
2
2
  import type { SandboxEgressSignalTransport } from "@/chat/sandbox/egress/signals";
3
3
  import type { SandboxEgressTracePropagationConfig } from "@/chat/sandbox/egress/tracing";
4
4
  import type { CredentialContext } from "@/chat/credentials/context";
5
+ import { type RepositoryInstructions } from "@/chat/repository-instructions";
5
6
  import type { SandboxRef } from "@/chat/sandbox/ref";
6
7
  import { type SandboxWorkspace } from "@/chat/sandbox/workspace";
7
8
  import type { SkillMetadata } from "@/chat/skills";
@@ -17,6 +18,8 @@ export interface SandboxTools {
17
18
  execute(params: SandboxToolCall): Promise<unknown>;
18
19
  }
19
20
  export interface SandboxAccess {
21
+ /** Resolve the AGENTS.md bundle for the selected repository directory. */
22
+ captureRepositoryInstructions(): Promise<RepositoryInstructions | undefined>;
20
23
  readonly tools: SandboxTools;
21
24
  readonly workspace: SandboxWorkspace;
22
25
  sandboxRef(): SandboxRef | undefined;
@@ -7,6 +7,7 @@ interface SandboxToolExecutors {
7
7
  sessionId: string;
8
8
  bash: (input: {
9
9
  command: string;
10
+ cwd?: string;
10
11
  env?: Record<string, string>;
11
12
  signal?: AbortSignal;
12
13
  timeoutMs?: number;
@@ -55,6 +55,7 @@ interface ActiveContextCompactionArgs {
55
55
  provenance: ConversationMessageProvenance;
56
56
  }>;
57
57
  piMessages: PiMessage[];
58
+ runtimeContextMessages?: PiMessage[];
58
59
  signal?: AbortSignal;
59
60
  }
60
61
  /** Raised when Junior cannot compact history below the active model's hard ceiling. */
@@ -3,12 +3,8 @@ export declare function createSlackUserLookupTool(): Omit<import("../../tools/de
3
3
  inputSchema: import("../../tools/definition").JsonSchemaObject;
4
4
  outputSchema: import("../../tools/definition").JsonSchemaObject;
5
5
  prepareArguments(args: unknown): {
6
- user_id?: string | undefined;
7
- email?: string | undefined;
8
- query?: string | undefined;
9
- limit?: number | undefined;
10
- max_pages?: number | undefined;
11
- include_bots?: boolean | undefined;
6
+ mode: "query" | "email" | "user_id";
7
+ value: string;
12
8
  };
13
9
  execute?: ((input: unknown, options: import("../../tools/definition").ToolExecuteOptions) => {
14
10
  [x: string]: unknown;
@@ -0,0 +1,28 @@
1
+ export declare const TASK_EXECUTION_TYPES: readonly ["scheduled", "event"];
2
+ export type TaskExecutionType = (typeof TASK_EXECUTION_TYPES)[number];
3
+ export type TaskExecutionDay = {
4
+ date: string;
5
+ event: number;
6
+ scheduled: number;
7
+ };
8
+ export type TaskExecutionSummary = {
9
+ lastConversationId?: string;
10
+ lastExecutedAtMs?: number;
11
+ runsLast7Days: number;
12
+ totalRuns: number;
13
+ };
14
+ /** Record one successful task execution and its durable conversation. */
15
+ export declare function recordTaskExecution(type: TaskExecutionType, taskId: string, options: {
16
+ conversationId: string;
17
+ executionId: string;
18
+ namespace?: string;
19
+ nowMs?: number;
20
+ }): Promise<void>;
21
+ /** Load usage analytics for all tasks of one type and namespace. */
22
+ export declare function readTaskExecutionSummaries(type: TaskExecutionType, namespace: string, options?: {
23
+ nowMs?: number;
24
+ }): Promise<Map<string, TaskExecutionSummary>>;
25
+ /** Load a fixed trailing window of successful executions stacked by task type. */
26
+ export declare function readTaskExecutionDays(dayCount?: number, options?: {
27
+ nowMs?: number;
28
+ }): Promise<TaskExecutionDay[]>;
@@ -1,9 +1,11 @@
1
1
  import type { SkillMetadata } from "@/chat/skills";
2
2
  import type { ToolRegistry } from "@/chat/tools/definition";
3
3
  import type { ToolHooks, ToolRuntimeContext } from "@/chat/tools/types";
4
+ import type { PluginSandbox } from "@sentry/junior-plugin-api";
4
5
  export type { ToolHooks, ToolRuntimeContext };
5
6
  export interface CreateToolsOptions {
6
7
  includeLoadSkill?: boolean;
8
+ pluginSandbox?: PluginSandbox;
7
9
  }
8
10
  /** Build the model-facing tool registry from runtime-owned context and capabilities. */
9
11
  export declare function createTools(availableSkills: SkillMetadata[], hooks: ToolHooks | undefined, context: ToolRuntimeContext, options?: CreateToolsOptions): ToolRegistry;
@@ -4,6 +4,7 @@ export declare function createBashTool(): Omit<import("../definition").AnyToolDe
4
4
  outputSchema: import("../definition").JsonSchemaObject;
5
5
  prepareArguments(args: unknown): {
6
6
  command: string;
7
+ cwd?: string | undefined;
7
8
  timeoutMs?: number | undefined;
8
9
  };
9
10
  execute?: ((input: unknown, options: import("../definition").ToolExecuteOptions) => Promise<never>) | undefined;
@@ -1,12 +1,21 @@
1
+ /**
2
+ * Current-time lookup for turn answers.
3
+ *
4
+ * Accept an optional IANA timezone so remembered local-time preferences can be
5
+ * answered without shelling out to bash for conversion.
6
+ */
1
7
  export declare function createSystemTimeTool(): Omit<import("./definition").AnyToolDefinition, "inputSchema" | "outputSchema" | "prepareArguments" | "execute"> & {
2
8
  inputSchema: import("./definition").JsonSchemaObject;
3
9
  outputSchema: import("./definition").JsonSchemaObject;
4
- prepareArguments(args: unknown): Record<string, never>;
10
+ prepareArguments(args: unknown): {
11
+ timezone?: string | undefined;
12
+ };
5
13
  execute?: ((input: unknown, options: import("./definition").ToolExecuteOptions) => {
6
14
  [x: string]: unknown;
7
15
  unix_ms: number;
8
16
  iso_utc: string;
9
17
  iso_local: string;
18
+ timezone: string | null;
10
19
  timezone_offset_minutes: number;
11
20
  target?: string | undefined;
12
21
  truncated?: boolean | undefined;
@@ -19,6 +28,7 @@ export declare function createSystemTimeTool(): Omit<import("./definition").AnyT
19
28
  unix_ms: number;
20
29
  iso_utc: string;
21
30
  iso_local: string;
31
+ timezone: string | null;
22
32
  timezone_offset_minutes: number;
23
33
  target?: string | undefined;
24
34
  truncated?: boolean | undefined;
@@ -1,16 +1,19 @@
1
+ import {
2
+ ToolInputError
3
+ } from "./chunk-CDQ4YIZM.js";
1
4
  import {
2
5
  canRouteResourceEvents,
3
6
  getPlugins
4
- } from "./chunk-WHEMUEXT.js";
7
+ } from "./chunk-ZBQIA5NI.js";
5
8
  import {
6
9
  getDb
7
- } from "./chunk-LNYNTR27.js";
10
+ } from "./chunk-VZEKCQLD.js";
8
11
  import {
9
12
  juniorEventTasks,
10
13
  juniorSchedulerRuns,
11
14
  juniorSchedulerTasks,
12
15
  juniorStats
13
- } from "./chunk-QWGZ273D.js";
16
+ } from "./chunk-U37P4IIP.js";
14
17
  import {
15
18
  juniorDestinations
16
19
  } from "./chunk-VFUK3X5B.js";
@@ -218,14 +221,6 @@ function makeStructuredToolOutput(details, options = {}) {
218
221
  };
219
222
  }
220
223
 
221
- // src/chat/tools/execution/tool-input-error.ts
222
- var ToolInputError = class extends Error {
223
- constructor(message, options) {
224
- super(message, options);
225
- this.name = "ToolInputError";
226
- }
227
- };
228
-
229
224
  // src/chat/resource-events/runtime-catalog.ts
230
225
  function getResourceEventCatalog() {
231
226
  return Object.fromEntries(
@@ -1468,7 +1463,6 @@ export {
1468
1463
  juniorToolOutputSchema,
1469
1464
  injectContinuationToolName,
1470
1465
  makeStructuredToolOutput,
1471
- ToolInputError,
1472
1466
  eventNamespaceSchema,
1473
1467
  registeredEventTypeSchema,
1474
1468
  registeredResourceTypeSchema,
@@ -13,7 +13,7 @@ import {
13
13
  persistAuthPauseTurnState,
14
14
  requireTurnFailureEventId,
15
15
  scheduleSessionCompletedPluginTasks
16
- } from "./chunk-VQA25AL4.js";
16
+ } from "./chunk-EJT7EPP3.js";
17
17
  import {
18
18
  buildSentryConversationUrl
19
19
  } from "./chunk-4CODA7P5.js";
@@ -40,7 +40,7 @@ import {
40
40
  resolveBaseUrl,
41
41
  resolvePluginOAuthAccount,
42
42
  truncateStatusText
43
- } from "./chunk-HTGXUNEC.js";
43
+ } from "./chunk-P2D7IW57.js";
44
44
  import {
45
45
  JUNIOR_THREAD_STATE_TTL_MS,
46
46
  TurnSliceLimitExceededError,
@@ -72,13 +72,13 @@ import {
72
72
  recordDeliveredAssistantMessage,
73
73
  turnHasReply,
74
74
  updateConversationStats
75
- } from "./chunk-ECUILEUX.js";
75
+ } from "./chunk-NGX2V4WY.js";
76
76
  import {
77
77
  parseSlackThreadId,
78
78
  readSlackRawMessageContext,
79
79
  resolveSlackChannelIdFromMessage,
80
80
  resolveSlackChannelIdFromThreadId
81
- } from "./chunk-AH5HTUYX.js";
81
+ } from "./chunk-IRTIVX42.js";
82
82
  import {
83
83
  SlackActionError,
84
84
  getDashboardConversationLink,
@@ -87,19 +87,19 @@ import {
87
87
  getSlackClient,
88
88
  isDmChannel,
89
89
  normalizeSlackConversationId
90
- } from "./chunk-WHEMUEXT.js";
90
+ } from "./chunk-ZBQIA5NI.js";
91
91
  import {
92
92
  getConversationEventStore,
93
93
  getConversationStore,
94
94
  parseDestination,
95
95
  requireSlackDestination,
96
96
  sameDestination
97
- } from "./chunk-LNYNTR27.js";
97
+ } from "./chunk-VZEKCQLD.js";
98
98
  import {
99
99
  acquireActiveLock,
100
100
  getDefaultRedisStateAdapterFor,
101
101
  getStateAdapter
102
- } from "./chunk-TLN54TOQ.js";
102
+ } from "./chunk-TYEDZVRM.js";
103
103
  import {
104
104
  FUNCTION_TIMEOUT_BUFFER_SECONDS,
105
105
  botConfig,
@@ -108,18 +108,18 @@ import {
108
108
  getRuntimeMetadata,
109
109
  normalizeSlackEmojiName,
110
110
  standardModelId
111
- } from "./chunk-LDRO4OQ4.js";
111
+ } from "./chunk-RMI6OX52.js";
112
112
  import {
113
113
  discoverSkills
114
- } from "./chunk-IVTHTAVK.js";
114
+ } from "./chunk-AGAHACF7.js";
115
115
  import {
116
116
  pluginCatalogRuntime
117
- } from "./chunk-JLN4XSPR.js";
117
+ } from "./chunk-UXYZPEWP.js";
118
118
  import {
119
119
  buildOAuthTokenRequest,
120
120
  hasRequiredOAuthScope,
121
121
  parseOAuthTokenResponse
122
- } from "./chunk-HJ4KDO4N.js";
122
+ } from "./chunk-6UNZ5DHG.js";
123
123
  import {
124
124
  createSlackResumeActor,
125
125
  isUserActor,
@@ -138,7 +138,7 @@ import {
138
138
  toOptionalNumber,
139
139
  toOptionalString,
140
140
  withLogContext
141
- } from "./chunk-EJRJWBKG.js";
141
+ } from "./chunk-QQCEMMVN.js";
142
142
  import {
143
143
  homeDir
144
144
  } from "./chunk-H4HBKISO.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  logWarn
3
- } from "./chunk-EJRJWBKG.js";
3
+ } from "./chunk-QQCEMMVN.js";
4
4
 
5
5
  // src/chat/conversation-privacy.ts
6
6
  import { AsyncLocalStorage } from "async_hooks";
@@ -5,7 +5,7 @@ import {
5
5
  logInfo,
6
6
  logWarn,
7
7
  setSpanAttributes
8
- } from "./chunk-EJRJWBKG.js";
8
+ } from "./chunk-QQCEMMVN.js";
9
9
  import {
10
10
  discoverInstalledPluginPackageContent,
11
11
  normalizePluginPackageNames
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  pluginCatalogRuntime
3
- } from "./chunk-JLN4XSPR.js";
3
+ } from "./chunk-UXYZPEWP.js";
4
4
  import {
5
5
  logWarn
6
- } from "./chunk-EJRJWBKG.js";
6
+ } from "./chunk-QQCEMMVN.js";
7
7
  import {
8
8
  skillRoots
9
9
  } from "./chunk-H4HBKISO.js";
@@ -164,11 +164,20 @@ function addAgentTurnUsage(...usages) {
164
164
  return hasAgentTurnUsage(result) ? result : void 0;
165
165
  }
166
166
 
167
+ // src/chat/tools/execution/tool-input-error.ts
168
+ var ToolInputError = class extends Error {
169
+ constructor(message, options) {
170
+ super(message, options);
171
+ this.name = "ToolInputError";
172
+ }
173
+ };
174
+
167
175
  export {
168
176
  JUNIOR_NATIVE_EVENT_NAMESPACE,
169
177
  authenticationLinkedEvent,
170
178
  authenticationUnlinkedEvent,
171
179
  renderJuniorNativeConversationEvent,
180
+ ToolInputError,
172
181
  agentTurnUsageSchema,
173
182
  hasAgentTurnUsage,
174
183
  addAgentTurnUsage
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  pluginCatalogRuntime
3
- } from "./chunk-JLN4XSPR.js";
3
+ } from "./chunk-UXYZPEWP.js";
4
4
 
5
5
  // src/chat/plugins/validation.ts
6
6
  import { isDeepStrictEqual } from "util";
@@ -22,7 +22,7 @@ import {
22
22
  persistThreadStateById,
23
23
  stripRuntimeTurnContext,
24
24
  updateConversationStats
25
- } from "./chunk-ECUILEUX.js";
25
+ } from "./chunk-NGX2V4WY.js";
26
26
  import {
27
27
  createPluginConversationEvents,
28
28
  createPluginEmbedder,
@@ -30,26 +30,26 @@ import {
30
30
  createPluginModel,
31
31
  createPluginState,
32
32
  getPlugins
33
- } from "./chunk-WHEMUEXT.js";
33
+ } from "./chunk-ZBQIA5NI.js";
34
34
  import {
35
35
  getDb,
36
36
  sameActorIdentity
37
- } from "./chunk-LNYNTR27.js";
37
+ } from "./chunk-VZEKCQLD.js";
38
38
  import {
39
39
  getStateAdapter
40
- } from "./chunk-TLN54TOQ.js";
40
+ } from "./chunk-TYEDZVRM.js";
41
41
  import {
42
42
  ProviderError,
43
43
  findProviderError,
44
44
  getProviderErrorAttributes,
45
45
  getProviderErrorUserMessage
46
- } from "./chunk-LDRO4OQ4.js";
46
+ } from "./chunk-RMI6OX52.js";
47
47
  import {
48
48
  parseSlackMessageTs
49
49
  } from "./chunk-F3B2YJ76.js";
50
50
  import {
51
51
  buildTurnFailureResponse
52
- } from "./chunk-EJRJWBKG.js";
52
+ } from "./chunk-QQCEMMVN.js";
53
53
 
54
54
  // src/chat/runtime/delivered-turn-state.ts
55
55
  function buildDeliveredTurnStatePatch(args) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  JUNIOR_VERSION
3
- } from "./chunk-IKO5LFIU.js";
3
+ } from "./chunk-YPKPXLMS.js";
4
4
 
5
5
  // src/deployment.ts
6
6
  var JUNIOR_HEARTBEAT_ROUTE = "/api/internal/heartbeat";
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-F3B2YJ76.js";
6
6
  import {
7
7
  toOptionalString
8
- } from "./chunk-EJRJWBKG.js";
8
+ } from "./chunk-QQCEMMVN.js";
9
9
 
10
10
  // src/chat/slack/context.ts
11
11
  import { z } from "zod";