@sentry/junior 0.159.0 → 0.161.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 (82) hide show
  1. package/dist/{agent-hooks-IAD3AANZ.js → agent-hooks-O75UJNC6.js} +13 -10
  2. package/dist/api/conversations/events.d.ts +1 -1
  3. package/dist/api/locations/detail.d.ts +17 -0
  4. package/dist/api/people/plugin-reports.d.ts +7 -0
  5. package/dist/api/schema/conversation.d.ts +109 -8
  6. package/dist/api/schema/location.d.ts +29 -0
  7. package/dist/api/schema/person.d.ts +29 -0
  8. package/dist/api/schema.js +1 -1
  9. package/dist/api.js +137 -27
  10. package/dist/app.js +73 -42
  11. package/dist/{catalog-runtime-6VANKLH5.js → catalog-runtime-Z3FHU4ZY.js} +5 -5
  12. package/dist/chat/artifacts/store.d.ts +42 -0
  13. package/dist/chat/conversations/history.d.ts +31 -1
  14. package/dist/chat/conversations/projection.d.ts +13 -0
  15. package/dist/chat/plugins/agent-hooks.d.ts +9 -1
  16. package/dist/chat/plugins/annotations.d.ts +3 -0
  17. package/dist/chat/plugins/conversation-sidebar.d.ts +3 -0
  18. package/dist/chat/plugins/viewer.d.ts +4 -0
  19. package/dist/chat/slack/mrkdwn.d.ts +3 -4
  20. package/dist/chat/slack/tools/send-files.d.ts +2 -2
  21. package/dist/chat/tool-support/action-review.d.ts +5 -4
  22. package/dist/chat/tools/publish-image.d.ts +44 -0
  23. package/dist/chat/tools/search-conversation-events.d.ts +1 -1
  24. package/dist/chat/tools/unpublish-image.d.ts +35 -0
  25. package/dist/{chunk-YSMAMSOU.js → chunk-4WAZ6DGX.js} +10 -10
  26. package/dist/{chunk-AIQKUJKK.js → chunk-6ILVZOF6.js} +4 -4
  27. package/dist/{chunk-YCBZ47LC.js → chunk-6WTDZKFR.js} +1 -1
  28. package/dist/{chunk-CNHELV2P.js → chunk-CGAIDDLD.js} +1 -1
  29. package/dist/{chunk-U7D4VLUF.js → chunk-DGKLYDX7.js} +2 -2
  30. package/dist/{chunk-TD7ZQZ5W.js → chunk-DNSIU27S.js} +1 -1
  31. package/dist/{chunk-PT7B6A3O.js → chunk-EAIQBR66.js} +1 -1
  32. package/dist/{chunk-O2DZWUPQ.js → chunk-FLMD25Y5.js} +239 -199
  33. package/dist/{chunk-FWDN67U3.js → chunk-G35DUPNB.js} +4 -4
  34. package/dist/{chunk-UG673UVL.js → chunk-HSFYTIS2.js} +1 -1
  35. package/dist/{chunk-WTQ3CKC3.js → chunk-IRHX2S46.js} +1 -1
  36. package/dist/{chunk-DXSZJAVZ.js → chunk-IW7C5C7E.js} +19 -21
  37. package/dist/{chunk-Q5X37U6G.js → chunk-IYFKONIL.js} +1 -1
  38. package/dist/{chunk-EBP6IS66.js → chunk-MNY5M7RB.js} +537 -27
  39. package/dist/{chunk-6IADZQJR.js → chunk-MVG5UPLM.js} +1 -1
  40. package/dist/{chunk-27UQ7UB3.js → chunk-O7JTSJPU.js} +6 -6
  41. package/dist/{chunk-NCJV265M.js → chunk-OPIJ6HY3.js} +9 -9
  42. package/dist/{chunk-X7AIXRVJ.js → chunk-OY2DBUV4.js} +5 -5
  43. package/dist/{chunk-SQOVZSWF.js → chunk-OYQEO72I.js} +480 -125
  44. package/dist/{chunk-UP6KQVF5.js → chunk-QHXT7LLF.js} +1 -1
  45. package/dist/{chunk-UKKOKMRE.js → chunk-QQ7SY5IZ.js} +5 -5
  46. package/dist/{chunk-PQWWCKNB.js → chunk-RULQD7OX.js} +4 -4
  47. package/dist/{chunk-L2PEQ2PY.js → chunk-RVENVPNO.js} +2 -2
  48. package/dist/{chunk-EQXVKNLM.js → chunk-SA6BEEAB.js} +27 -9
  49. package/dist/{chunk-54O6IKUS.js → chunk-STZVUVMS.js} +40 -4
  50. package/dist/{chunk-QODFNKQS.js → chunk-U2XOBFDK.js} +17 -3
  51. package/dist/{chunk-AZW5HKC5.js → chunk-V67ORYKQ.js} +8 -10
  52. package/dist/{chunk-DJZPA72K.js → chunk-VXFDVY4C.js} +8 -36
  53. package/dist/{chunk-LUIKMY35.js → chunk-WKN4ZQTZ.js} +1 -1
  54. package/dist/{chunk-OGMHLKNO.js → chunk-WVSQ2SCS.js} +1 -1
  55. package/dist/{chunk-IJ6KWS3V.js → chunk-YSWHAOPQ.js} +1 -1
  56. package/dist/{chunk-NT6V5WEE.js → chunk-ZBCLWBMV.js} +5 -5
  57. package/dist/cli/chat.js +29 -30
  58. package/dist/cli/check.js +6 -6
  59. package/dist/cli/plugins.js +12 -13
  60. package/dist/cli/snapshot-create.js +9 -9
  61. package/dist/cli/upgrade.js +7 -7
  62. package/dist/db/schema/artifacts.d.ts +178 -0
  63. package/dist/db/schema.d.ts +179 -1
  64. package/dist/{db-BIIMAPFB.js → db-KKOZRE62.js} +7 -7
  65. package/dist/handlers/artifacts.d.ts +8 -0
  66. package/dist/instrumentation.js +4 -4
  67. package/dist/nitro.js +2 -2
  68. package/dist/{oauth-callback-server-4BENCPP3.js → oauth-callback-server-5AUZDWXA.js} +22 -23
  69. package/dist/{runner-TUBJLEYO.js → runner-K5H5NDEC.js} +12 -13
  70. package/dist/{skills-MBRLNBRV.js → skills-OZGPB6G4.js} +6 -6
  71. package/dist/spawn-RCQSC2L5.js +37 -0
  72. package/dist/{validation-YTJGRJYT.js → validation-TVHCNCYL.js} +6 -6
  73. package/dist/version.js +1 -1
  74. package/dist/{work-5MRHKA54.js → work-DXCQMJ5U.js} +17 -17
  75. package/dist/worker-24HZ5HRI.js +24 -0
  76. package/migrations/0028_artifacts.sql +16 -0
  77. package/migrations/meta/0028_snapshot.json +2685 -0
  78. package/migrations/meta/_journal.json +8 -1
  79. package/package.json +4 -4
  80. package/dist/chunk-K2LAI7RW.js +0 -441
  81. package/dist/spawn-ZWIXA46E.js +0 -37
  82. package/dist/worker-S2V7HZJ4.js +0 -24
@@ -307,6 +307,16 @@ export declare const conversationEventDataSchema: z.ZodUnion<readonly [z.ZodUnio
307
307
  version: z.ZodNumber;
308
308
  turnId: z.ZodOptional<z.ZodString>;
309
309
  content: z.ZodRecord<z.ZodString, z.ZodUnknown>;
310
+ }, z.core.$strict>, z.ZodObject<{
311
+ type: z.ZodLiteral<"attachments_delivered">;
312
+ attachments: z.ZodArray<z.ZodObject<{
313
+ id: z.ZodString;
314
+ filename: z.ZodString;
315
+ contentType: z.ZodString;
316
+ bytes: z.ZodNumber;
317
+ }, z.core.$strict>>;
318
+ toolCallId: z.ZodOptional<z.ZodString>;
319
+ turnId: z.ZodOptional<z.ZodString>;
310
320
  }, z.core.$strict>, z.ZodObject<{
311
321
  type: z.ZodLiteral<"turn_routed">;
312
322
  turnId: z.ZodString;
@@ -463,7 +473,7 @@ export declare const conversationEventDataSchema: z.ZodUnion<readonly [z.ZodUnio
463
473
  /** One durable conversation event's validated data. */
464
474
  export type ConversationEventData = z.output<typeof conversationEventDataSchema>;
465
475
  /** Event type names recognized by current readers and observational queries. */
466
- export declare const KNOWN_CONVERSATION_EVENT_TYPES: readonly ["message", "message_updated", "user_message", "assistant_message", "tool_result", "mcp_provider_connected", "mcp_provider_connected_unowned", "authorization_requested", "authorization_completed", "tool_execution_started", "guardian_action_reviewed", "message_handled", "messages_summarized", "turn_started", "turn_context", "structured_event", "turn_routed", "turn_completed", "turn_failed", "subagent_started", "subagent_ended", "handoff", "compaction"];
476
+ export declare const KNOWN_CONVERSATION_EVENT_TYPES: readonly ["message", "message_updated", "user_message", "assistant_message", "tool_result", "mcp_provider_connected", "mcp_provider_connected_unowned", "authorization_requested", "authorization_completed", "tool_execution_started", "guardian_action_reviewed", "message_handled", "messages_summarized", "turn_started", "turn_context", "structured_event", "attachments_delivered", "turn_routed", "turn_completed", "turn_failed", "subagent_started", "subagent_ended", "handoff", "compaction"];
467
477
  /** One known durable conversation event type name. */
468
478
  export type KnownConversationEventType = (typeof KNOWN_CONVERSATION_EVENT_TYPES)[number];
469
479
  declare const unknownConversationEventDataSchema: z.ZodObject<{
@@ -612,6 +622,16 @@ export declare const conversationEventSchema: z.ZodUnion<readonly [z.ZodObject<{
612
622
  version: z.ZodNumber;
613
623
  turnId: z.ZodOptional<z.ZodString>;
614
624
  content: z.ZodRecord<z.ZodString, z.ZodUnknown>;
625
+ }, z.core.$strict>, z.ZodObject<{
626
+ type: z.ZodLiteral<"attachments_delivered">;
627
+ attachments: z.ZodArray<z.ZodObject<{
628
+ id: z.ZodString;
629
+ filename: z.ZodString;
630
+ contentType: z.ZodString;
631
+ bytes: z.ZodNumber;
632
+ }, z.core.$strict>>;
633
+ toolCallId: z.ZodOptional<z.ZodString>;
634
+ turnId: z.ZodOptional<z.ZodString>;
615
635
  }, z.core.$strict>, z.ZodObject<{
616
636
  type: z.ZodLiteral<"turn_routed">;
617
637
  turnId: z.ZodString;
@@ -940,6 +960,16 @@ export declare const newConversationEventSchema: z.ZodObject<{
940
960
  version: z.ZodNumber;
941
961
  turnId: z.ZodOptional<z.ZodString>;
942
962
  content: z.ZodRecord<z.ZodString, z.ZodUnknown>;
963
+ }, z.core.$strict>, z.ZodObject<{
964
+ type: z.ZodLiteral<"attachments_delivered">;
965
+ attachments: z.ZodArray<z.ZodObject<{
966
+ id: z.ZodString;
967
+ filename: z.ZodString;
968
+ contentType: z.ZodString;
969
+ bytes: z.ZodNumber;
970
+ }, z.core.$strict>>;
971
+ toolCallId: z.ZodOptional<z.ZodString>;
972
+ turnId: z.ZodOptional<z.ZodString>;
943
973
  }, z.core.$strict>, z.ZodObject<{
944
974
  type: z.ZodLiteral<"turn_routed">;
945
975
  turnId: z.ZodString;
@@ -170,6 +170,19 @@ export declare function recordToolExecutionStarted(args: {
170
170
  toolCallId: string;
171
171
  toolName: string;
172
172
  }): Promise<void>;
173
+ /** Record files delivered for humans without adding them to Pi replay. */
174
+ export declare function recordAttachmentsDelivered(args: {
175
+ attachments: Array<{
176
+ bytes: number;
177
+ contentType: string;
178
+ filename: string;
179
+ id: string;
180
+ }>;
181
+ conversationId: string;
182
+ createdAtMs?: number;
183
+ toolCallId?: string;
184
+ turnId?: string;
185
+ }): Promise<void>;
173
186
  /** Record one privacy-safe Guardian decision before the reviewed action continues. */
174
187
  export declare function recordGuardianActionReviewed(args: {
175
188
  conversationId: string;
@@ -1,4 +1,4 @@
1
- import type { PluginRoute, PluginSandbox, PluginOperationalReport, PluginRouteApp, ResourceEvent, SlackConversationLink, PluginRegistration } from "@sentry/junior-plugin-api";
1
+ import type { PluginRoute, PluginSandbox, PluginOperationalReport, PluginRouteApp, ResourceEvent, SlackConversationLink, PluginRegistration, User } 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";
@@ -43,6 +43,8 @@ export declare function validatePlugins(plugins: PluginRegistration[]): void;
43
43
  export declare function setPlugins(nextPlugins: PluginRegistration[]): PluginRegistration[];
44
44
  /** Return the current runtime hook plugins without exposing mutable state. */
45
45
  export declare function getPlugins(): PluginRegistration[];
46
+ /** Apply plugin Markdown rewrites before destination delivery formatting. */
47
+ export declare function applyPluginFormatMarkdown(text: string): string;
46
48
  /** Collect stable plugin prompt contributions for the static system prompt. */
47
49
  export declare function getPluginSystemPromptContributions(source: ToolRuntimeContext["source"]): Promise<PluginPromptContributionContext[]>;
48
50
  /** Collect request-scoped plugin prompt contributions. */
@@ -64,6 +66,12 @@ export declare function getPluginApiRoutes(): PluginApiRouteRegistration[];
64
66
  export declare function getPluginSlackConversationLink(conversationId: string): SlackConversationLink | undefined;
65
67
  /** Collect read-only operational summaries exposed by plugins. */
66
68
  export declare function getPluginOperationalReports(nowMs: number): Promise<PluginOperationalReport[]>;
69
+ /** Collect person-scoped plugin reports for one profile subject. */
70
+ export declare function getPluginProfileReports(args: {
71
+ nowMs: number;
72
+ subject: User;
73
+ viewer: User;
74
+ }): Promise<PluginOperationalReport[]>;
67
75
  /** Create one runner over runtime hook plugins registered by the app. */
68
76
  export declare function createPluginHookRunner(input?: {
69
77
  actor?: Actor;
@@ -5,4 +5,7 @@ export declare function createPluginAnnotations(args: {
5
5
  db: JuniorDatabase;
6
6
  plugin: string;
7
7
  }): PluginAnnotations;
8
+ /** Load stored annotations for one conversation, newest update first. */
8
9
  export declare function listConversationAnnotations(db: JuniorDatabase, conversationId: string): Promise<ConversationAnnotation[]>;
10
+ /** Load stored annotations for a bounded set of conversations. */
11
+ export declare function listConversationAnnotationsById(db: JuniorDatabase, conversationIds: readonly string[]): Promise<Map<string, ConversationAnnotation[]>>;
@@ -0,0 +1,3 @@
1
+ import { type ConversationAnnotation, type ConversationSidebarAnnotation } from "@sentry/junior-plugin-api";
2
+ /** Return plugin-selected sidebar annotations for candidate conversations. */
3
+ export declare function listConversationSidebarAnnotations(conversationIds: string[], annotationsByConversation: Map<string, ConversationAnnotation[]>): Promise<Record<string, ConversationSidebarAnnotation[]>>;
@@ -4,6 +4,10 @@ import type { JuniorDatabase } from "@/db/db";
4
4
  export declare function resolveViewerUserFromSql(db: JuniorDatabase, email: string): Promise<User | undefined>;
5
5
  /** Resolve or create the canonical user for one authenticated viewer. */
6
6
  export declare function resolveViewerUser(email: string): Promise<User | undefined>;
7
+ /** Read one existing canonical user by verified email without creating a row. */
8
+ export declare function findUserByEmailFromSql(db: JuniorDatabase, email: string): Promise<User | undefined>;
9
+ /** Read one existing canonical user by verified email without creating a row. */
10
+ export declare function findUserByEmail(email: string): Promise<User | undefined>;
7
11
  /** Update one canonical user's display name in SQL. */
8
12
  export declare function updateViewerDisplayNameFromSql(db: JuniorDatabase, userId: string, displayName: string): Promise<User | undefined>;
9
13
  /** Update one canonical user's display name. */
@@ -10,10 +10,9 @@ export declare function ensureBlockSpacing(text: string): string;
10
10
  * Normalize model-authored Slack markdown for delivery via `markdown_text`
11
11
  * or `{ type: "markdown" }` blocks.
12
12
  *
13
- * Pre-wraps bare URLs as Slack explicit links to prevent Slack's auto-linker
14
- * from consuming adjacent formatting markers. Also turns unambiguous GitHub
15
- * `owner/repo#number` mentions into Markdown links. Slack reply delivery owns
16
- * chunking and continuation markers separately.
13
+ * Plugins may first rewrite ordinary Markdown. Core then applies Slack-only
14
+ * delivery shaping: bare URL wrapping and block spacing. Slack reply delivery
15
+ * owns chunking and continuation markers separately.
17
16
  */
18
17
  export declare function normalizeSlackReplyMarkdown(text: string): string;
19
18
  /** Normalize assistant status text before handing it to Slack. */
@@ -25,7 +25,7 @@ export declare function createSendFilesTool(context: SlackToolContext, state: To
25
25
  [x: string]: unknown;
26
26
  attachment_refs: {
27
27
  id: string;
28
- name: string;
28
+ filename: string;
29
29
  }[];
30
30
  target?: string | undefined;
31
31
  truncated?: boolean | undefined;
@@ -39,7 +39,7 @@ export declare function createSendFilesTool(context: SlackToolContext, state: To
39
39
  [x: string]: unknown;
40
40
  attachment_refs: {
41
41
  id: string;
42
- name: string;
42
+ filename: string;
43
43
  }[];
44
44
  target?: string | undefined;
45
45
  truncated?: boolean | undefined;
@@ -4,7 +4,7 @@
4
4
  * Deterministic host checks establish authority before the model evaluates
5
5
  * untrusted action evidence.
6
6
  */
7
- import type { Destination, Source, ToolAnnotations } from "@sentry/junior-plugin-api";
7
+ import { type Destination, type Source, type ToolAnnotations } from "@sentry/junior-plugin-api";
8
8
  import type { Actor } from "@/chat/actor";
9
9
  import type { CredentialContext } from "@/chat/credentials/context";
10
10
  import type { AnyToolDefinition } from "@/chat/tools/definition";
@@ -111,6 +111,7 @@ export declare class ToolActionRejectedError extends Error {
111
111
  readonly riskLevel?: ToolActionReviewDecision["riskLevel"];
112
112
  readonly userAuthorization?: ToolActionReviewDecision["userAuthorization"];
113
113
  constructor(decision: Exclude<ToolActionDecision, "allow">, reason: string, assessment?: Partial<Pick<ToolActionReviewDecision, "riskLevel" | "userAuthorization">> & {
114
+ instructions?: string;
114
115
  reviewedAction?: ToolActionPriorRejection;
115
116
  });
116
117
  }
@@ -120,7 +121,7 @@ export declare class ToolActionReviewUnavailableError extends Error {
120
121
  cause?: unknown;
121
122
  });
122
123
  }
123
- /** The execution slice exceeded its bounded sequence of rejected actions. */
124
+ /** Telemetry-only marker when action review exhausts consecutive rejections. */
124
125
  export declare class ToolActionReviewLimitError extends Error {
125
126
  constructor();
126
127
  }
@@ -133,8 +134,8 @@ export declare function createToolActionReview(options: {
133
134
  toolName: string;
134
135
  decision: ToolActionReviewDecision;
135
136
  }): Promise<void>;
136
- /** Escalate terminal review failures to the owning agent-run boundary. */
137
- onFatal(error: ToolActionReviewUnavailableError | ToolActionReviewLimitError): void;
137
+ /** Escalate unavailable review to the owning agent-run boundary. */
138
+ onFatal(error: ToolActionReviewUnavailableError): void;
138
139
  priorRejections?: ToolActionPriorRejection[];
139
140
  reviewer: ToolActionReviewer;
140
141
  }): ToolActionReview;
@@ -0,0 +1,44 @@
1
+ import type { AttachmentStorage } from "@/chat/attachments/storage";
2
+ import type { SandboxWorkspace } from "@/chat/sandbox/workspace";
3
+ import type { JuniorSqlDatabase } from "@/db/db";
4
+ /** Create a tool that publishes one sandbox image at a public internet URL. */
5
+ export declare function createPublishImageTool(args: {
6
+ conversationId: string;
7
+ db: JuniorSqlDatabase;
8
+ publicBaseUrl?: () => string | undefined;
9
+ storage: Pick<AttachmentStorage, "put">;
10
+ workspace: SandboxWorkspace;
11
+ }): Omit<import("./definition").AnyToolDefinition, "inputSchema" | "outputSchema" | "prepareArguments" | "execute"> & {
12
+ inputSchema: import("./definition").JsonSchemaObject;
13
+ outputSchema: import("./definition").JsonSchemaObject;
14
+ prepareArguments(args: unknown): {
15
+ path: string;
16
+ };
17
+ execute?: ((input: unknown, options: import("./definition").ToolExecuteOptions) => {
18
+ [x: string]: unknown;
19
+ bytes: number;
20
+ content_type: string;
21
+ public: true;
22
+ url: string;
23
+ target?: string | undefined;
24
+ truncated?: boolean | undefined;
25
+ timed_out?: boolean | undefined;
26
+ continuation?: {
27
+ arguments: Record<string, unknown>;
28
+ reason?: string | undefined;
29
+ } | undefined;
30
+ } | Promise<{
31
+ [x: string]: unknown;
32
+ bytes: number;
33
+ content_type: string;
34
+ public: true;
35
+ url: string;
36
+ target?: string | undefined;
37
+ truncated?: boolean | undefined;
38
+ timed_out?: boolean | undefined;
39
+ continuation?: {
40
+ arguments: Record<string, unknown>;
41
+ reason?: string | undefined;
42
+ } | undefined;
43
+ }>) | undefined;
44
+ };
@@ -9,7 +9,7 @@ export declare function createSearchConversationEventsTool(context: ToolRuntimeC
9
9
  after_seq?: number | null | undefined;
10
10
  before_seq?: number | null | undefined;
11
11
  limit?: number | null | undefined;
12
- types?: ("message" | "message_handled" | "assistant_message" | "turn_routed" | "guardian_action_reviewed" | "turn_context" | "structured_event" | "compaction" | "handoff" | "user_message" | "tool_result" | "mcp_provider_connected" | "mcp_provider_connected_unowned" | "authorization_requested" | "authorization_completed" | "tool_execution_started" | "message_updated" | "messages_summarized" | "turn_started" | "turn_completed" | "turn_failed" | "subagent_started" | "subagent_ended")[] | null | undefined;
12
+ types?: ("message" | "message_handled" | "assistant_message" | "turn_routed" | "guardian_action_reviewed" | "turn_context" | "structured_event" | "attachments_delivered" | "compaction" | "handoff" | "user_message" | "tool_result" | "mcp_provider_connected" | "mcp_provider_connected_unowned" | "authorization_requested" | "authorization_completed" | "tool_execution_started" | "message_updated" | "messages_summarized" | "turn_started" | "turn_completed" | "turn_failed" | "subagent_started" | "subagent_ended")[] | null | undefined;
13
13
  };
14
14
  execute?: ((input: unknown, options: import("./definition").ToolExecuteOptions) => {
15
15
  [x: string]: unknown;
@@ -0,0 +1,35 @@
1
+ import type { JuniorSqlDatabase } from "@/db/db";
2
+ /** Create a tool that stops serving one previously published public image. */
3
+ export declare function createUnpublishImageTool(args: {
4
+ conversationId: string;
5
+ db: JuniorSqlDatabase;
6
+ }): Omit<import("./definition").AnyToolDefinition, "inputSchema" | "outputSchema" | "prepareArguments" | "execute"> & {
7
+ inputSchema: import("./definition").JsonSchemaObject;
8
+ outputSchema: import("./definition").JsonSchemaObject;
9
+ prepareArguments(args: unknown): {
10
+ ref: string;
11
+ };
12
+ execute?: ((input: unknown, options: import("./definition").ToolExecuteOptions) => {
13
+ [x: string]: unknown;
14
+ filename: string;
15
+ unpublished: true;
16
+ target?: string | undefined;
17
+ truncated?: boolean | undefined;
18
+ timed_out?: boolean | undefined;
19
+ continuation?: {
20
+ arguments: Record<string, unknown>;
21
+ reason?: string | undefined;
22
+ } | undefined;
23
+ } | Promise<{
24
+ [x: string]: unknown;
25
+ filename: string;
26
+ unpublished: true;
27
+ target?: string | undefined;
28
+ truncated?: boolean | undefined;
29
+ timed_out?: boolean | undefined;
30
+ continuation?: {
31
+ arguments: Record<string, unknown>;
32
+ reason?: string | undefined;
33
+ } | undefined;
34
+ }>) | undefined;
35
+ };
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  createWebAuthorization,
3
3
  deleteWebAuthorization
4
- } from "./chunk-UG673UVL.js";
4
+ } from "./chunk-HSFYTIS2.js";
5
5
  import {
6
6
  appendAndEnqueueInboundMessage
7
- } from "./chunk-FWDN67U3.js";
7
+ } from "./chunk-G35DUPNB.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-NCJV265M.js";
15
+ } from "./chunk-OPIJ6HY3.js";
16
16
  import {
17
17
  ConversationTurnLifecycleService,
18
18
  coerceThreadConversationState,
19
19
  getPersistedSandboxState,
20
20
  getPersistedThreadState,
21
21
  persistThreadStateById
22
- } from "./chunk-UKKOKMRE.js";
22
+ } from "./chunk-QQ7SY5IZ.js";
23
23
  import {
24
24
  healthReportSchema
25
25
  } from "./chunk-UTL3MHPC.js";
26
26
  import {
27
27
  parseSlackThreadId
28
- } from "./chunk-IJ6KWS3V.js";
28
+ } from "./chunk-YSWHAOPQ.js";
29
29
  import {
30
30
  TurnInputCommitLostError,
31
31
  abandonTurnRecord,
@@ -48,17 +48,17 @@ import {
48
48
  saveTurnCheckpoint,
49
49
  startActiveTurn,
50
50
  upsertConversationMessage
51
- } from "./chunk-54O6IKUS.js";
51
+ } from "./chunk-STZVUVMS.js";
52
52
  import {
53
53
  normalizeSlackConversationId
54
- } from "./chunk-K2LAI7RW.js";
54
+ } from "./chunk-MNY5M7RB.js";
55
55
  import {
56
56
  getConversationEventStore,
57
57
  getConversationStore
58
- } from "./chunk-QODFNKQS.js";
58
+ } from "./chunk-U2XOBFDK.js";
59
59
  import {
60
60
  getSlackBotToken
61
- } from "./chunk-L2PEQ2PY.js";
61
+ } from "./chunk-RVENVPNO.js";
62
62
  import {
63
63
  credentialContextForActor
64
64
  } from "./chunk-BDUENQD3.js";
@@ -67,7 +67,7 @@ import {
67
67
  logWarn,
68
68
  setTags,
69
69
  withLogContext
70
- } from "./chunk-TD7ZQZ5W.js";
70
+ } from "./chunk-DNSIU27S.js";
71
71
 
72
72
  // src/handlers/health.ts
73
73
  function readHealthReport() {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getTurnRequestDeadline
3
- } from "./chunk-WTQ3CKC3.js";
3
+ } from "./chunk-IRHX2S46.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-FWDN67U3.js";
24
+ } from "./chunk-G35DUPNB.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-L2PEQ2PY.js";
31
+ } from "./chunk-RVENVPNO.js";
32
32
  import {
33
33
  logException,
34
34
  logInfo,
35
35
  logWarn,
36
36
  withLogContext
37
- } from "./chunk-TD7ZQZ5W.js";
37
+ } from "./chunk-DNSIU27S.js";
38
38
 
39
39
  // src/chat/task-execution/worker.ts
40
40
  var CONVERSATION_WORK_DEFER_DELAY_MS = 15e3;
@@ -5,7 +5,7 @@ import {
5
5
  logInfo,
6
6
  logWarn,
7
7
  setSpanAttributes
8
- } from "./chunk-TD7ZQZ5W.js";
8
+ } from "./chunk-DNSIU27S.js";
9
9
  import {
10
10
  discoverInstalledPluginPackageContent,
11
11
  normalizePluginPackageNames
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createPluginCatalogRuntime
3
- } from "./chunk-YCBZ47LC.js";
3
+ } from "./chunk-6WTDZKFR.js";
4
4
 
5
5
  // src/chat/plugins/catalog-runtime.ts
6
6
  var pluginCatalogRuntime = createPluginCatalogRuntime();
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  pluginCatalogRuntime
3
- } from "./chunk-CNHELV2P.js";
3
+ } from "./chunk-CGAIDDLD.js";
4
4
  import {
5
5
  logWarn
6
- } from "./chunk-TD7ZQZ5W.js";
6
+ } from "./chunk-DNSIU27S.js";
7
7
  import {
8
8
  skillRoots
9
9
  } from "./chunk-H4HBKISO.js";
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-6GWA276C.js";
10
10
  import {
11
11
  getDeploymentTelemetryAttributes
12
- } from "./chunk-OGMHLKNO.js";
12
+ } from "./chunk-WVSQ2SCS.js";
13
13
 
14
14
  // src/chat/logging.ts
15
15
  import path from "path";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  logWarn
3
- } from "./chunk-TD7ZQZ5W.js";
3
+ } from "./chunk-DNSIU27S.js";
4
4
 
5
5
  // src/chat/conversation-privacy.ts
6
6
  import { AsyncLocalStorage } from "async_hooks";