@sentry/junior 0.126.1 → 0.127.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 (57) hide show
  1. package/dist/{agent-hooks-U5YGLX6Y.js → agent-hooks-HMCMFIIO.js} +8 -8
  2. package/dist/api/people/spend.d.ts +4 -0
  3. package/dist/api/people/spend.query.d.ts +3 -0
  4. package/dist/api/schema/person.d.ts +9 -0
  5. package/dist/api/schema.d.ts +2 -2
  6. package/dist/api/schema.js +3 -1
  7. package/dist/api.js +133 -33
  8. package/dist/app.js +29 -29
  9. package/dist/{catalog-runtime-OUPLWD7F.js → catalog-runtime-MI5UNBZ7.js} +5 -5
  10. package/dist/chat/plugins/agent-hooks.d.ts +4 -2
  11. package/dist/chat/resource-events/catalog.d.ts +21 -0
  12. package/dist/chat/resource-events/ingest.d.ts +1 -1
  13. package/dist/chat/resource-events/notification.d.ts +2 -2
  14. package/dist/chat/resource-events/store.d.ts +9 -9
  15. package/dist/chat/resource-events/tool-support.d.ts +10 -0
  16. package/dist/chat/task-execution/slack-work.d.ts +4 -4
  17. package/dist/chat/tools/list-resource-event-subscriptions.d.ts +80 -0
  18. package/dist/chat/tools/resource-events.d.ts +2 -1
  19. package/dist/chat/tools/search-resource-event-types.d.ts +60 -0
  20. package/dist/chat/tools/stop-watching-resources.d.ts +50 -0
  21. package/dist/chat/tools/watch-resource-events.d.ts +105 -0
  22. package/dist/{chunk-QMK2VF6K.js → chunk-2M6LYDTB.js} +1 -1
  23. package/dist/{chunk-JKV244BI.js → chunk-2N6EL22B.js} +1 -1
  24. package/dist/{chunk-OG6E44DH.js → chunk-4H2NZPFJ.js} +6 -6
  25. package/dist/{chunk-7VF3JAVF.js → chunk-6DU2ZNF7.js} +7 -7
  26. package/dist/{chunk-6ZBSTNYN.js → chunk-AFJF3RGU.js} +9 -0
  27. package/dist/{chunk-7ZMY4GCG.js → chunk-AKL3BAYJ.js} +1 -1
  28. package/dist/{chunk-PD6J33TO.js → chunk-AYICPT5T.js} +1 -1
  29. package/dist/{chunk-YUPNY2HZ.js → chunk-C7AVHH3H.js} +2 -2
  30. package/dist/{chunk-HXWOZ4HG.js → chunk-FVIU6NQO.js} +1 -1
  31. package/dist/{chunk-R3GXQJEE.js → chunk-JNYR4G7A.js} +2 -2
  32. package/dist/{chunk-W3JHZHAN.js → chunk-JXQWTNDI.js} +1 -1
  33. package/dist/{chunk-WIIPHGJY.js → chunk-L7L7RYJM.js} +2 -2
  34. package/dist/{chunk-U36WL4OL.js → chunk-NK7QVIMJ.js} +1 -1
  35. package/dist/{chunk-Y2QRKPI7.js → chunk-NYVMPADK.js} +1 -1
  36. package/dist/{chunk-S4LM6UB7.js → chunk-PDG3BSOD.js} +2 -2
  37. package/dist/{chunk-F2ARYRKC.js → chunk-SH7HDO2D.js} +1 -1
  38. package/dist/{chunk-YZHA2L7P.js → chunk-TLMI3Q4Q.js} +35 -12
  39. package/dist/{chunk-GLNB2R42.js → chunk-UEMGGJZD.js} +12 -12
  40. package/dist/{chunk-YFE6VNHU.js → chunk-VHUMNUJL.js} +1 -1
  41. package/dist/{chunk-KBW6J5GA.js → chunk-WXP2ZXC7.js} +4 -4
  42. package/dist/{chunk-QVSYR5CV.js → chunk-YSOZT72W.js} +4 -4
  43. package/dist/{chunk-SD2VFSN6.js → chunk-Z5LLJNTL.js} +669 -390
  44. package/dist/cli/chat.js +23 -23
  45. package/dist/cli/check.js +6 -6
  46. package/dist/cli/plugins.js +11 -11
  47. package/dist/cli/snapshot-create.js +9 -9
  48. package/dist/cli/upgrade.js +6 -6
  49. package/dist/{db-FQID26JW.js → db-N4EY57ZJ.js} +6 -6
  50. package/dist/instrumentation.js +4 -4
  51. package/dist/nitro.js +2 -2
  52. package/dist/{oauth-callback-server-Z5MHHKFD.js → oauth-callback-server-O62UOQSS.js} +16 -16
  53. package/dist/{runner-PGPGKYSF.js → runner-SRHRD3NX.js} +10 -10
  54. package/dist/{skills-BCQHR636.js → skills-V6X3JVVA.js} +6 -6
  55. package/dist/{validation-QP3FYBLZ.js → validation-ZZXZELGH.js} +6 -6
  56. package/dist/version.js +1 -1
  57. package/package.json +6 -6
@@ -5,8 +5,8 @@ export interface ResourceEventNotification {
5
5
  eventKey: string;
6
6
  eventType: string;
7
7
  occurredAtMs: number;
8
- provider: string;
9
- resourceRef: string;
8
+ namespace: string;
9
+ identifier: string;
10
10
  terminal?: boolean;
11
11
  trustedSummary: string;
12
12
  untrustedText?: string;
@@ -17,8 +17,8 @@ declare const subscriptionSchema: z.ZodObject<{
17
17
  id: z.ZodString;
18
18
  intent: z.ZodString;
19
19
  label: z.ZodString;
20
- provider: z.ZodString;
21
- resourceRef: z.ZodString;
20
+ namespace: z.ZodString;
21
+ identifier: z.ZodString;
22
22
  resourceType: z.ZodString;
23
23
  status: z.ZodEnum<{
24
24
  cancelled: "cancelled";
@@ -35,8 +35,8 @@ export interface CreateResourceEventSubscriptionInput {
35
35
  expiresAtMs: number;
36
36
  intent: string;
37
37
  label: string;
38
- provider: string;
39
- resourceRef: string;
38
+ namespace: string;
39
+ identifier: string;
40
40
  resourceType: string;
41
41
  }
42
42
  /** Create or replace the active subscription for one conversation/resource/event set. */
@@ -63,12 +63,12 @@ export declare function cancelSubscriptions(input: {
63
63
  nowMs?: number;
64
64
  state?: StateAdapter;
65
65
  }): Promise<void>;
66
- /** Find active subscriptions interested in a normalized provider event. */
66
+ /** Find active subscriptions interested in a normalized resource event. */
67
67
  export declare function findMatchingResourceEventSubscriptions(input: {
68
68
  eventType: string;
69
69
  nowMs?: number;
70
- provider: string;
71
- resourceRef: string;
70
+ namespace: string;
71
+ identifier: string;
72
72
  state?: StateAdapter;
73
73
  }): Promise<ResourceEventSubscription[]>;
74
74
  /** Recheck and deliver a matched subscription while holding its status lock. */
@@ -76,8 +76,8 @@ export declare function deliverResourceEventSubscription(input: {
76
76
  deliver: (subscription: ResourceEventSubscription) => Promise<boolean>;
77
77
  eventType: string;
78
78
  nowMs?: number;
79
- provider: string;
80
- resourceRef: string;
79
+ namespace: string;
80
+ identifier: string;
81
81
  state?: StateAdapter;
82
82
  subscription: ResourceEventSubscription;
83
83
  terminal?: boolean;
@@ -0,0 +1,10 @@
1
+ import type { ToolRuntimeContext } from "@/chat/tools/types";
2
+ export declare const STOP_WATCHING_TOOL_NAME = "stopWatchingResources";
3
+ export declare const RESOURCE_WATCH_TOOL_SOURCE: {
4
+ id: string;
5
+ description: string;
6
+ };
7
+ /** Require the Slack thread identity that owns a resource watch. */
8
+ export declare function requireResourceWatchConversation(context: ToolRuntimeContext): string;
9
+ /** Return whether the current runtime can safely manage conversation watches. */
10
+ export declare function canUseResourceEventSubscriptionTools(context: ToolRuntimeContext): boolean;
@@ -237,8 +237,8 @@ declare const slackConversationMessageMetadataSchema: z.ZodUnion<readonly [z.Zod
237
237
  resourceEvent: z.ZodObject<{
238
238
  eventKey: z.ZodString;
239
239
  eventType: z.ZodString;
240
- provider: z.ZodString;
241
- resourceRef: z.ZodString;
240
+ namespace: z.ZodString;
241
+ identifier: z.ZodString;
242
242
  subscriptionId: z.ZodString;
243
243
  }, z.core.$strict>;
244
244
  }, z.core.$strict>]>;
@@ -256,8 +256,8 @@ interface SlackResourceEventInboundInput {
256
256
  eventKey: string;
257
257
  eventType: string;
258
258
  occurredAtMs: number;
259
- provider: string;
260
- resourceRef: string;
259
+ namespace: string;
260
+ identifier: string;
261
261
  };
262
262
  subscription: {
263
263
  conversationId: string;
@@ -0,0 +1,80 @@
1
+ import type { ToolRuntimeContext } from "@/chat/tools/types";
2
+ /** Create the tool that lists active resource watches for this conversation. */
3
+ export declare function createListResourceEventSubscriptionsTool(context: ToolRuntimeContext): Omit<import("./definition").AnyToolDefinition, "inputSchema" | "outputSchema" | "prepareArguments" | "execute"> & {
4
+ inputSchema: import("./definition").JsonSchemaObject;
5
+ outputSchema: import("./definition").JsonSchemaObject;
6
+ prepareArguments(args: unknown): Record<string, never>;
7
+ execute?: ((input: unknown, options: import("./definition").ToolExecuteOptions) => {
8
+ ok: true;
9
+ status: "success";
10
+ data: {
11
+ subscriptions: {
12
+ id: string;
13
+ label: string;
14
+ identifier: string;
15
+ namespace: string;
16
+ resourceType: string;
17
+ events: string[];
18
+ intent: string;
19
+ expiresAtMs: number;
20
+ }[];
21
+ };
22
+ subscriptions: {
23
+ id: string;
24
+ label: string;
25
+ identifier: string;
26
+ namespace: string;
27
+ resourceType: string;
28
+ events: string[];
29
+ intent: string;
30
+ expiresAtMs: number;
31
+ }[];
32
+ target?: string | undefined;
33
+ truncated?: boolean | undefined;
34
+ continuation?: {
35
+ arguments: Record<string, unknown>;
36
+ reason?: string | undefined;
37
+ } | undefined;
38
+ error?: string | {
39
+ kind: string;
40
+ message: string;
41
+ retryable?: boolean | undefined;
42
+ } | undefined;
43
+ } | Promise<{
44
+ ok: true;
45
+ status: "success";
46
+ data: {
47
+ subscriptions: {
48
+ id: string;
49
+ label: string;
50
+ identifier: string;
51
+ namespace: string;
52
+ resourceType: string;
53
+ events: string[];
54
+ intent: string;
55
+ expiresAtMs: number;
56
+ }[];
57
+ };
58
+ subscriptions: {
59
+ id: string;
60
+ label: string;
61
+ identifier: string;
62
+ namespace: string;
63
+ resourceType: string;
64
+ events: string[];
65
+ intent: string;
66
+ expiresAtMs: number;
67
+ }[];
68
+ target?: string | undefined;
69
+ truncated?: boolean | undefined;
70
+ continuation?: {
71
+ arguments: Record<string, unknown>;
72
+ reason?: string | undefined;
73
+ } | undefined;
74
+ error?: string | {
75
+ kind: string;
76
+ message: string;
77
+ retryable?: boolean | undefined;
78
+ } | undefined;
79
+ }>) | undefined;
80
+ };
@@ -1,4 +1,5 @@
1
+ import type { ResourceEventCatalog } from "@/chat/resource-events/catalog";
1
2
  import type { ToolRegistry } from "@/chat/tools/definition";
2
3
  import type { ToolRuntimeContext } from "@/chat/tools/types";
3
4
  /** Build the complete resource-watch tool set allowed by this runtime context. */
4
- export declare function createResourceEventTools(context: ToolRuntimeContext): ToolRegistry;
5
+ export declare function createResourceEventTools(context: ToolRuntimeContext, catalog: ResourceEventCatalog): ToolRegistry;
@@ -0,0 +1,60 @@
1
+ import { type ResourceEventCatalog } from "@/chat/resource-events/catalog";
2
+ /** Create the read-only tool that searches enabled resource event types. */
3
+ export declare function createSearchResourceEventTypesTool(catalog: ResourceEventCatalog): Omit<import("./definition").AnyToolDefinition, "inputSchema" | "outputSchema" | "prepareArguments" | "execute"> & {
4
+ inputSchema: import("./definition").JsonSchemaObject;
5
+ outputSchema: import("./definition").JsonSchemaObject;
6
+ prepareArguments(args: unknown): {
7
+ query?: string | null | undefined;
8
+ namespace?: string | null | undefined;
9
+ maxResults?: number | null | undefined;
10
+ };
11
+ execute?: ((input: unknown, options: import("./definition").ToolExecuteOptions) => {
12
+ ok: boolean;
13
+ status: "error" | "success";
14
+ query: string | null;
15
+ namespace: string | null;
16
+ totalMatches: number;
17
+ resourceTypes: {
18
+ namespace: string;
19
+ type: string;
20
+ supportedEvents: string[];
21
+ suggestedEvents?: string[] | undefined;
22
+ }[];
23
+ target?: string | undefined;
24
+ data?: unknown;
25
+ truncated?: boolean | undefined;
26
+ continuation?: {
27
+ arguments: Record<string, unknown>;
28
+ reason?: string | undefined;
29
+ } | undefined;
30
+ error?: string | {
31
+ kind: string;
32
+ message: string;
33
+ retryable?: boolean | undefined;
34
+ } | undefined;
35
+ } | Promise<{
36
+ ok: boolean;
37
+ status: "error" | "success";
38
+ query: string | null;
39
+ namespace: string | null;
40
+ totalMatches: number;
41
+ resourceTypes: {
42
+ namespace: string;
43
+ type: string;
44
+ supportedEvents: string[];
45
+ suggestedEvents?: string[] | undefined;
46
+ }[];
47
+ target?: string | undefined;
48
+ data?: unknown;
49
+ truncated?: boolean | undefined;
50
+ continuation?: {
51
+ arguments: Record<string, unknown>;
52
+ reason?: string | undefined;
53
+ } | undefined;
54
+ error?: string | {
55
+ kind: string;
56
+ message: string;
57
+ retryable?: boolean | undefined;
58
+ } | undefined;
59
+ }>) | undefined;
60
+ };
@@ -0,0 +1,50 @@
1
+ import type { ToolRuntimeContext } from "@/chat/tools/types";
2
+ /** Create the tool that stops resource watches for this conversation. */
3
+ export declare function createStopWatchingResourcesTool(context: ToolRuntimeContext): Omit<import("./definition").AnyToolDefinition, "inputSchema" | "outputSchema" | "prepareArguments" | "execute"> & {
4
+ inputSchema: import("./definition").JsonSchemaObject;
5
+ outputSchema: import("./definition").JsonSchemaObject;
6
+ prepareArguments(args: unknown): {
7
+ id?: string | null | undefined;
8
+ };
9
+ execute?: ((input: unknown, options: import("./definition").ToolExecuteOptions) => {
10
+ ok: true;
11
+ status: "success";
12
+ data: {
13
+ watching_status: "stopped";
14
+ stoppedIds: string[];
15
+ };
16
+ watching_status: "stopped";
17
+ stoppedIds: string[];
18
+ target?: string | undefined;
19
+ truncated?: boolean | undefined;
20
+ continuation?: {
21
+ arguments: Record<string, unknown>;
22
+ reason?: string | undefined;
23
+ } | undefined;
24
+ error?: string | {
25
+ kind: string;
26
+ message: string;
27
+ retryable?: boolean | undefined;
28
+ } | undefined;
29
+ } | Promise<{
30
+ ok: true;
31
+ status: "success";
32
+ data: {
33
+ watching_status: "stopped";
34
+ stoppedIds: string[];
35
+ };
36
+ watching_status: "stopped";
37
+ stoppedIds: string[];
38
+ target?: string | undefined;
39
+ truncated?: boolean | undefined;
40
+ continuation?: {
41
+ arguments: Record<string, unknown>;
42
+ reason?: string | undefined;
43
+ } | undefined;
44
+ error?: string | {
45
+ kind: string;
46
+ message: string;
47
+ retryable?: boolean | undefined;
48
+ } | undefined;
49
+ }>) | undefined;
50
+ };
@@ -0,0 +1,105 @@
1
+ import { type ResourceEventCatalog } from "@/chat/resource-events/catalog";
2
+ import type { ToolRuntimeContext } from "@/chat/tools/types";
3
+ /** Create the tool that temporarily watches resource events in one conversation. */
4
+ export declare function createWatchResourceEventsTool(context: ToolRuntimeContext, catalog: ResourceEventCatalog): Omit<import("./definition").AnyToolDefinition, "inputSchema" | "outputSchema" | "prepareArguments" | "execute"> & {
5
+ inputSchema: import("./definition").JsonSchemaObject;
6
+ outputSchema: import("./definition").JsonSchemaObject;
7
+ prepareArguments(args: unknown): {
8
+ identifier: string;
9
+ namespace: string;
10
+ resourceType: string;
11
+ label: string;
12
+ events: string[];
13
+ intent: string;
14
+ ttlMs?: number | undefined;
15
+ };
16
+ execute?: ((input: unknown, options: import("./definition").ToolExecuteOptions) => {
17
+ ok: true;
18
+ status: "success";
19
+ data: {
20
+ id: string;
21
+ subscription_status: "cancelled" | "completed" | "active";
22
+ identifier: string;
23
+ events: string[];
24
+ expiresAtMs: number;
25
+ stop_watching: {
26
+ execution_tool: "executeTool";
27
+ execution_example: {
28
+ tool_name: "stopWatchingResources";
29
+ arguments: {
30
+ id: string;
31
+ };
32
+ };
33
+ };
34
+ };
35
+ id: string;
36
+ subscription_status: "cancelled" | "completed" | "active";
37
+ identifier: string;
38
+ events: string[];
39
+ expiresAtMs: number;
40
+ stop_watching: {
41
+ execution_tool: "executeTool";
42
+ execution_example: {
43
+ tool_name: "stopWatchingResources";
44
+ arguments: {
45
+ id: string;
46
+ };
47
+ };
48
+ };
49
+ target?: string | undefined;
50
+ truncated?: boolean | undefined;
51
+ continuation?: {
52
+ arguments: Record<string, unknown>;
53
+ reason?: string | undefined;
54
+ } | undefined;
55
+ error?: string | {
56
+ kind: string;
57
+ message: string;
58
+ retryable?: boolean | undefined;
59
+ } | undefined;
60
+ } | Promise<{
61
+ ok: true;
62
+ status: "success";
63
+ data: {
64
+ id: string;
65
+ subscription_status: "cancelled" | "completed" | "active";
66
+ identifier: string;
67
+ events: string[];
68
+ expiresAtMs: number;
69
+ stop_watching: {
70
+ execution_tool: "executeTool";
71
+ execution_example: {
72
+ tool_name: "stopWatchingResources";
73
+ arguments: {
74
+ id: string;
75
+ };
76
+ };
77
+ };
78
+ };
79
+ id: string;
80
+ subscription_status: "cancelled" | "completed" | "active";
81
+ identifier: string;
82
+ events: string[];
83
+ expiresAtMs: number;
84
+ stop_watching: {
85
+ execution_tool: "executeTool";
86
+ execution_example: {
87
+ tool_name: "stopWatchingResources";
88
+ arguments: {
89
+ id: string;
90
+ };
91
+ };
92
+ };
93
+ target?: string | undefined;
94
+ truncated?: boolean | undefined;
95
+ continuation?: {
96
+ arguments: Record<string, unknown>;
97
+ reason?: string | undefined;
98
+ } | undefined;
99
+ error?: string | {
100
+ kind: string;
101
+ message: string;
102
+ retryable?: boolean | undefined;
103
+ } | undefined;
104
+ }>) | undefined;
105
+ };
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-F3B2YJ76.js";
6
6
  import {
7
7
  toOptionalString
8
- } from "./chunk-PD6J33TO.js";
8
+ } from "./chunk-AYICPT5T.js";
9
9
 
10
10
  // src/chat/slack/context.ts
11
11
  import { z } from "zod";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createPluginCatalogRuntime
3
- } from "./chunk-HXWOZ4HG.js";
3
+ } from "./chunk-FVIU6NQO.js";
4
4
 
5
5
  // src/chat/plugins/catalog-runtime.ts
6
6
  var pluginCatalogRuntime = createPluginCatalogRuntime();
@@ -22,7 +22,7 @@ import {
22
22
  persistThreadStateById,
23
23
  stripRuntimeTurnContext,
24
24
  updateConversationStats
25
- } from "./chunk-KBW6J5GA.js";
25
+ } from "./chunk-WXP2ZXC7.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-YZHA2L7P.js";
33
+ } from "./chunk-TLMI3Q4Q.js";
34
34
  import {
35
35
  getDb,
36
36
  sameActorIdentity
37
- } from "./chunk-S4LM6UB7.js";
37
+ } from "./chunk-PDG3BSOD.js";
38
38
  import {
39
39
  getStateAdapter
40
- } from "./chunk-F2ARYRKC.js";
40
+ } from "./chunk-SH7HDO2D.js";
41
41
  import {
42
42
  ProviderError,
43
43
  findProviderError,
44
44
  getProviderErrorAttributes,
45
45
  getProviderErrorUserMessage
46
- } from "./chunk-WIIPHGJY.js";
46
+ } from "./chunk-L7L7RYJM.js";
47
47
  import {
48
48
  parseSlackMessageTs
49
49
  } from "./chunk-F3B2YJ76.js";
50
50
  import {
51
51
  buildTurnFailureResponse
52
- } from "./chunk-PD6J33TO.js";
52
+ } from "./chunk-AYICPT5T.js";
53
53
 
54
54
  // src/chat/runtime/delivered-turn-state.ts
55
55
  function buildDeliveredTurnStatePatch(args) {
@@ -6,25 +6,25 @@ import {
6
6
  isDmChannel,
7
7
  normalizeSlackConversationId,
8
8
  withSlackRetries
9
- } from "./chunk-YZHA2L7P.js";
9
+ } from "./chunk-TLMI3Q4Q.js";
10
10
  import {
11
11
  getDb,
12
12
  parseDestination
13
- } from "./chunk-S4LM6UB7.js";
13
+ } from "./chunk-PDG3BSOD.js";
14
14
  import {
15
15
  acquireActiveLock,
16
16
  getStateAdapter,
17
17
  sleep
18
- } from "./chunk-F2ARYRKC.js";
18
+ } from "./chunk-SH7HDO2D.js";
19
19
  import {
20
20
  normalizeSlackEmojiName
21
- } from "./chunk-WIIPHGJY.js";
21
+ } from "./chunk-L7L7RYJM.js";
22
22
  import {
23
23
  pluginCatalogRuntime
24
- } from "./chunk-JKV244BI.js";
24
+ } from "./chunk-2N6EL22B.js";
25
25
  import {
26
26
  fetchWithBoundedOAuthErrorBodies
27
- } from "./chunk-HXWOZ4HG.js";
27
+ } from "./chunk-FVIU6NQO.js";
28
28
  import {
29
29
  parseSlackMessageTs,
30
30
  parseSlackUserId
@@ -33,7 +33,7 @@ import {
33
33
  isRecord,
34
34
  logInfo,
35
35
  logWarn
36
- } from "./chunk-PD6J33TO.js";
36
+ } from "./chunk-AYICPT5T.js";
37
37
 
38
38
  // src/chat/capabilities/router.ts
39
39
  var ProviderCredentialRouter = class {
@@ -523,6 +523,14 @@ var actorProfileReportSchema = z3.object({
523
523
  windowEnd: z3.string(),
524
524
  windowStart: z3.string()
525
525
  }).strict();
526
+ var personalSpendReportSchema = z3.object({
527
+ generatedAt: z3.string(),
528
+ sevenDaysUsd: z3.number().finite().nonnegative(),
529
+ source: z3.literal("conversation_index"),
530
+ thirtyDaysUsd: z3.number().finite().nonnegative(),
531
+ windowEnd: z3.string(),
532
+ windowStart: z3.string()
533
+ }).strict();
526
534
 
527
535
  // src/api/schema/location.ts
528
536
  import { z as z4 } from "zod";
@@ -619,6 +627,7 @@ export {
619
627
  personParamsSchema,
620
628
  actorDirectoryReportSchema,
621
629
  actorProfileReportSchema,
630
+ personalSpendReportSchema,
622
631
  locationParamsSchema,
623
632
  locationActivityDayReportSchema,
624
633
  locationDirectoryReportSchema,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  JUNIOR_VERSION
3
- } from "./chunk-W3JHZHAN.js";
3
+ } from "./chunk-JXQWTNDI.js";
4
4
 
5
5
  // src/deployment.ts
6
6
  var JUNIOR_HEARTBEAT_ROUTE = "/api/internal/heartbeat";
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-6GWA276C.js";
10
10
  import {
11
11
  getDeploymentTelemetryAttributes
12
- } from "./chunk-7ZMY4GCG.js";
12
+ } from "./chunk-AKL3BAYJ.js";
13
13
 
14
14
  // src/chat/logging.ts
15
15
  import path from "path";
@@ -3,10 +3,10 @@ import {
3
3
  } from "./chunk-UTL3MHPC.js";
4
4
  import {
5
5
  parseSlackThreadId
6
- } from "./chunk-QMK2VF6K.js";
6
+ } from "./chunk-2M6LYDTB.js";
7
7
  import {
8
8
  normalizeSlackConversationId
9
- } from "./chunk-YZHA2L7P.js";
9
+ } from "./chunk-TLMI3Q4Q.js";
10
10
 
11
11
  // src/handlers/health.ts
12
12
  function readHealthReport() {
@@ -5,7 +5,7 @@ import {
5
5
  logInfo,
6
6
  logWarn,
7
7
  setSpanAttributes
8
- } from "./chunk-PD6J33TO.js";
8
+ } from "./chunk-AYICPT5T.js";
9
9
  import {
10
10
  discoverInstalledPluginPackageContent,
11
11
  normalizePluginPackageNames
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  pluginCatalogRuntime
3
- } from "./chunk-JKV244BI.js";
3
+ } from "./chunk-2N6EL22B.js";
4
4
  import {
5
5
  logWarn
6
- } from "./chunk-PD6J33TO.js";
6
+ } from "./chunk-AYICPT5T.js";
7
7
  import {
8
8
  skillRoots
9
9
  } from "./chunk-H4HBKISO.js";
@@ -1,7 +1,7 @@
1
1
  // package.json
2
2
  var package_default = {
3
3
  name: "@sentry/junior",
4
- version: "0.126.1",
4
+ version: "0.127.0",
5
5
  private: false,
6
6
  publishConfig: {
7
7
  access: "public"
@@ -3,7 +3,7 @@ import {
3
3
  toCanonicalInputMessage,
4
4
  toCanonicalOutputMessage,
5
5
  toGenAiMessagesTraceAttributes
6
- } from "./chunk-U36WL4OL.js";
6
+ } from "./chunk-NK7QVIMJ.js";
7
7
  import {
8
8
  extractGenAiUsageAttributes,
9
9
  logException,
@@ -11,7 +11,7 @@ import {
11
11
  normalizeGenAiFinishReason,
12
12
  serializeGenAiAttribute,
13
13
  withSpan
14
- } from "./chunk-PD6J33TO.js";
14
+ } from "./chunk-AYICPT5T.js";
15
15
 
16
16
  // src/chat/config.ts
17
17
  import { getModel as getModel2 } from "@earendil-works/pi-ai/compat";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  logWarn
3
- } from "./chunk-PD6J33TO.js";
3
+ } from "./chunk-AYICPT5T.js";
4
4
 
5
5
  // src/chat/conversation-privacy.ts
6
6
  import { AsyncLocalStorage } from "async_hooks";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  pluginCatalogRuntime
3
- } from "./chunk-JKV244BI.js";
3
+ } from "./chunk-2N6EL22B.js";
4
4
 
5
5
  // src/chat/plugins/validation.ts
6
6
  import { isDeepStrictEqual } from "util";
@@ -9,7 +9,7 @@ import {
9
9
  TURN_REASONING_LEVELS,
10
10
  getChatConfig,
11
11
  modelProfileSchema
12
- } from "./chunk-WIIPHGJY.js";
12
+ } from "./chunk-L7L7RYJM.js";
13
13
  import {
14
14
  juniorDestinations
15
15
  } from "./chunk-VFUK3X5B.js";
@@ -19,7 +19,7 @@ import {
19
19
  } from "./chunk-F3B2YJ76.js";
20
20
  import {
21
21
  normalizeIdentityEmail
22
- } from "./chunk-PD6J33TO.js";
22
+ } from "./chunk-AYICPT5T.js";
23
23
 
24
24
  // src/chat/conversations/sql/store.ts
25
25
  import { randomUUID as randomUUID2 } from "crypto";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getChatConfig
3
- } from "./chunk-WIIPHGJY.js";
3
+ } from "./chunk-L7L7RYJM.js";
4
4
 
5
5
  // src/chat/state/adapter.ts
6
6
  import { createMemoryState } from "@chat-adapter/state-memory";