@sentry/junior 0.114.0 → 0.116.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 (147) hide show
  1. package/dist/{agent-hooks-WNBUY4OB.js → agent-hooks-67NFITDH.js} +13 -12
  2. package/dist/api/conversations/detail.d.ts +20 -0
  3. package/dist/api/conversations/event-list.d.ts +2 -0
  4. package/dist/api/conversations/event-page.d.ts +1 -1
  5. package/dist/api/conversations/events.d.ts +1 -1
  6. package/dist/api/health.d.ts +7 -0
  7. package/dist/api/people/profile.d.ts +2 -2
  8. package/dist/api/people/shared.d.ts +1 -1
  9. package/dist/api/personal-tokens/create.d.ts +11 -0
  10. package/dist/api/personal-tokens/list.d.ts +12 -0
  11. package/dist/api/personal-tokens/revoke.d.ts +5 -0
  12. package/dist/api/personal-tokens/routes.d.ts +4 -0
  13. package/dist/api/plugin-reports.d.ts +62 -0
  14. package/dist/api/plugins.d.ts +8 -0
  15. package/dist/api/route.d.ts +1 -1
  16. package/dist/api/runtime.d.ts +24 -0
  17. package/dist/api/schema/conversation.d.ts +26 -0
  18. package/dist/api/schema/person.d.ts +3 -3
  19. package/dist/api/schema/personal-token.d.ts +38 -0
  20. package/dist/api/schema.d.ts +4 -2
  21. package/dist/api/schema.js +19 -7
  22. package/dist/api/skills.d.ts +6 -0
  23. package/dist/api.d.ts +1 -0
  24. package/dist/api.js +285 -121
  25. package/dist/app.js +1957 -5677
  26. package/dist/catalog-runtime-CWZY6GTH.js +18 -0
  27. package/dist/chat/agent/request.d.ts +7 -0
  28. package/dist/chat/agent/resume.d.ts +1 -0
  29. package/dist/chat/agent/sandbox.d.ts +3 -0
  30. package/dist/chat/agent/tools.d.ts +3 -0
  31. package/dist/chat/agent-dispatch/context.d.ts +2 -0
  32. package/dist/chat/agent-dispatch/heartbeat.d.ts +11 -5
  33. package/dist/chat/agent-dispatch/signing.d.ts +14 -5
  34. package/dist/chat/agent-dispatch/store.d.ts +36 -15
  35. package/dist/chat/agent-dispatch/types.d.ts +23 -10
  36. package/dist/chat/agent-dispatch/work.d.ts +58 -0
  37. package/dist/chat/app/factory.d.ts +12 -3
  38. package/dist/chat/config.d.ts +2 -0
  39. package/dist/chat/conversations/history.d.ts +291 -290
  40. package/dist/chat/conversations/projection.d.ts +2 -2
  41. package/dist/chat/local/credential-sync.d.ts +5 -0
  42. package/dist/chat/local/oauth-relay.d.ts +4 -0
  43. package/dist/chat/mcp/oauth.d.ts +1 -0
  44. package/dist/chat/mcp/tool-manager.d.ts +2 -1
  45. package/dist/chat/oauth-authorization.d.ts +17 -0
  46. package/dist/chat/oauth-flow.d.ts +9 -0
  47. package/dist/chat/pi/conversation-events.d.ts +6 -2
  48. package/dist/chat/plugins/annotations.d.ts +8 -0
  49. package/dist/chat/plugins/registry.d.ts +0 -3
  50. package/dist/chat/plugins/types.d.ts +0 -2
  51. package/dist/chat/runtime/agent-continue-runner.d.ts +4 -0
  52. package/dist/chat/runtime/reply-executor.d.ts +6 -1
  53. package/dist/chat/runtime/slack-resume.d.ts +5 -1
  54. package/dist/chat/runtime/turn-input.d.ts +3 -0
  55. package/dist/chat/sandbox/egress/schemas.d.ts +46 -0
  56. package/dist/chat/sandbox/egress/signals.d.ts +9 -0
  57. package/dist/chat/sandbox/sandbox.d.ts +4 -1
  58. package/dist/chat/sandbox/session.d.ts +2 -11
  59. package/dist/chat/sandbox/workspace.d.ts +10 -2
  60. package/dist/chat/sentry-payload-filter.d.ts +4 -4
  61. package/dist/chat/services/mcp-auth-orchestration.d.ts +5 -3
  62. package/dist/chat/services/plugin-auth-orchestration.d.ts +2 -0
  63. package/dist/chat/services/turn-session-record.d.ts +14 -1
  64. package/dist/chat/slack/dispatch-turn.d.ts +25 -0
  65. package/dist/chat/slack/message-control.d.ts +2 -0
  66. package/dist/chat/slack/oauth-authorization-message.d.ts +3 -0
  67. package/dist/chat/state/turn-session.d.ts +11 -0
  68. package/dist/chat/task-execution/slack-work.d.ts +2 -0
  69. package/dist/chat/tool-support/text-range-result.d.ts +3 -0
  70. package/dist/chat/tool-support/zod-tool.d.ts +2 -1
  71. package/dist/chat/tools/definition.d.ts +3 -5
  72. package/dist/chat/tools/query-conversation-events.d.ts +68 -0
  73. package/dist/chat/tools/sandbox/file-utils.d.ts +8 -1
  74. package/dist/chat/tools/sandbox/find-files.d.ts +2 -1
  75. package/dist/chat/tools/sandbox/grep.d.ts +2 -1
  76. package/dist/{chunk-OSKEC4XU.js → chunk-25GU5B5E.js} +1 -1
  77. package/dist/{chunk-XLFBQJUO.js → chunk-3H45VOBZ.js} +32 -7
  78. package/dist/{chunk-4FUEG3QY.js → chunk-3JOGUT46.js} +4 -16
  79. package/dist/chunk-4CODA7P5.js +43 -0
  80. package/dist/{chunk-O4GT7LYB.js → chunk-4DD6AOCG.js} +3 -43
  81. package/dist/{chunk-YU6PO42Q.js → chunk-53ZKTQO6.js} +1 -1
  82. package/dist/{chunk-WV4UJBAS.js → chunk-5UNB623T.js} +1282 -2536
  83. package/dist/{chunk-TLGM5X2M.js → chunk-6RQ5GCWH.js} +2 -2
  84. package/dist/{chunk-MIAKQNYX.js → chunk-6ZK6FZIV.js} +1 -1
  85. package/dist/{chunk-W6RDUAO3.js → chunk-BXLS3I4W.js} +1 -1
  86. package/dist/{chunk-RD7EJI7H.js → chunk-CI3VK7X5.js} +69 -3
  87. package/dist/chunk-DIB4GX3G.js +8 -0
  88. package/dist/{chunk-42WRQLJ6.js → chunk-F3B2YJ76.js} +0 -14
  89. package/dist/chunk-FA6POGLH.js +70 -0
  90. package/dist/{chunk-6Y5L4BOM.js → chunk-FXOYURO4.js} +5 -3
  91. package/dist/chunk-HDSDCEPK.js +80 -0
  92. package/dist/{chunk-C4MZ3GP5.js → chunk-HZF5P5UN.js} +1 -1
  93. package/dist/{chunk-K2W4CK7K.js → chunk-JZPQ5K4V.js} +10 -129
  94. package/dist/{chunk-FIGAF6KL.js → chunk-KBNDFU6J.js} +108 -38
  95. package/dist/{chunk-PM3PX42K.js → chunk-MGH5ADQS.js} +1 -2
  96. package/dist/{chunk-5CZ7RETL.js → chunk-N7TMYLF2.js} +1 -1
  97. package/dist/chunk-OB42YVAE.js +16 -0
  98. package/dist/{chunk-6QWPVTMO.js → chunk-OF5FODBL.js} +125 -23
  99. package/dist/{chunk-2ZTTXTSZ.js → chunk-PE44LDDQ.js} +9 -4
  100. package/dist/chunk-PGKWXHYJ.js +1870 -0
  101. package/dist/{chunk-ZGXH3REA.js → chunk-PZGPCOSD.js} +12 -2
  102. package/dist/{chunk-JQFJO5WH.js → chunk-RXRQJF7Y.js} +74 -17
  103. package/dist/{chunk-S4QDH23A.js → chunk-TC4ZEM2D.js} +113 -79
  104. package/dist/{chunk-ABPSDO6M.js → chunk-UEVLIYK5.js} +234 -165
  105. package/dist/chunk-VKZ6WVAY.js +4318 -0
  106. package/dist/{chunk-VNNBSKCO.js → chunk-VZCSLYCE.js} +22 -7
  107. package/dist/chunk-W3U3YQYI.js +71 -0
  108. package/dist/{chunk-SG5WAA7H.js → chunk-WKU7TY22.js} +0 -3
  109. package/dist/cli/chat.js +74 -42
  110. package/dist/cli/check.js +10 -8
  111. package/dist/cli/init.js +1 -0
  112. package/dist/cli/plugins.js +18 -16
  113. package/dist/cli/snapshot-warmup.js +13 -11
  114. package/dist/cli/upgrade.js +12 -10
  115. package/dist/db/schema/api-tokens.d.ts +160 -0
  116. package/dist/db/schema/conversation-annotations.d.ts +142 -0
  117. package/dist/db/schema.d.ts +305 -1
  118. package/dist/{db-4VLP7KBF.js → db-57FHVGGQ.js} +9 -8
  119. package/dist/handlers/agent-dispatch.d.ts +7 -3
  120. package/dist/handlers/sandbox-egress-signals.d.ts +4 -0
  121. package/dist/instrumentation.js +72 -4
  122. package/dist/nitro.js +5 -5
  123. package/dist/oauth-callback-server-PAQRPXZX.js +231 -0
  124. package/dist/oauth-relay-3ZU72UGL.js +9 -0
  125. package/dist/personal-tokens/store.d.ts +27 -0
  126. package/dist/{plugins-PZMDS7AT.js → plugins-IUJA4VBU.js} +1 -1
  127. package/dist/reporting-schema.d.ts +10 -4
  128. package/dist/reporting.d.ts +5 -5
  129. package/dist/{runner-IPXLWQOF.js → runner-4ISZYJEX.js} +141 -74
  130. package/dist/sandbox-egress-signals-CDFAP67O.js +75 -0
  131. package/dist/{skills-QCNZISNF.js → skills-UE2KXQMB.js} +10 -8
  132. package/dist/validation-PO5LHTJT.js +21 -0
  133. package/dist/version.js +1 -1
  134. package/migrations/0008_sticky_rage.sql +14 -0
  135. package/migrations/0009_slippery_harrier.sql +12 -0
  136. package/migrations/0010_native_conversation_history.sql +142 -0
  137. package/migrations/meta/0008_snapshot.json +1076 -0
  138. package/migrations/meta/0009_snapshot.json +1146 -0
  139. package/migrations/meta/0010_snapshot.json +1190 -0
  140. package/migrations/meta/_journal.json +22 -1
  141. package/package.json +6 -7
  142. package/dist/catalog-runtime-6O4M6JGA.js +0 -16
  143. package/dist/chat/agent-dispatch/runner.d.ts +0 -13
  144. package/dist/chat/capabilities/catalog.d.ts +0 -16
  145. package/dist/chat/oauth-authorization-message.d.ts +0 -6
  146. package/dist/validation-I2BW3UHD.js +0 -19
  147. package/dist/{chunk-KNFROR7R.js → chunk-5I6ORJUY.js} +1 -1
@@ -11,21 +11,22 @@ import {
11
11
  getPlugins,
12
12
  setPlugins,
13
13
  validatePlugins
14
- } from "./chunk-VNNBSKCO.js";
15
- import "./chunk-YU6PO42Q.js";
16
- import "./chunk-RD7EJI7H.js";
17
- import "./chunk-FIGAF6KL.js";
18
- import "./chunk-JQFJO5WH.js";
14
+ } from "./chunk-VZCSLYCE.js";
15
+ import "./chunk-53ZKTQO6.js";
16
+ import "./chunk-CI3VK7X5.js";
17
+ import "./chunk-KBNDFU6J.js";
18
+ import "./chunk-RXRQJF7Y.js";
19
19
  import "./chunk-4ZNGQH7C.js";
20
- import "./chunk-ZGXH3REA.js";
20
+ import "./chunk-PZGPCOSD.js";
21
21
  import "./chunk-VFUK3X5B.js";
22
- import "./chunk-6Y5L4BOM.js";
23
- import "./chunk-C4MZ3GP5.js";
24
- import "./chunk-4FUEG3QY.js";
25
- import "./chunk-42WRQLJ6.js";
22
+ import "./chunk-FXOYURO4.js";
23
+ import "./chunk-HZF5P5UN.js";
24
+ import "./chunk-3JOGUT46.js";
25
+ import "./chunk-OB42YVAE.js";
26
+ import "./chunk-F3B2YJ76.js";
26
27
  import "./chunk-6GWA276C.js";
27
- import "./chunk-5CZ7RETL.js";
28
- import "./chunk-PM3PX42K.js";
28
+ import "./chunk-N7TMYLF2.js";
29
+ import "./chunk-MGH5ADQS.js";
29
30
  import "./chunk-MLKGABMK.js";
30
31
  export {
31
32
  PluginHookDeniedError,
@@ -52,6 +52,24 @@ declare const _default: import("../route").ApiRoute<import("zod").ZodObject<{
52
52
  locationId: import("zod").ZodOptional<import("zod").ZodString>;
53
53
  sentryTraceUrl: import("zod").ZodOptional<import("zod").ZodString>;
54
54
  traceId: import("zod").ZodOptional<import("zod").ZodString>;
55
+ annotations: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodIntersection<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
56
+ kind: import("zod").ZodLiteral<"resource_link">;
57
+ key: import("zod").ZodString;
58
+ label: import("zod").ZodString;
59
+ url: import("zod").ZodString;
60
+ description: import("zod").ZodOptional<import("zod").ZodString>;
61
+ status: import("zod").ZodOptional<import("zod").ZodEnum<{
62
+ warning: "warning";
63
+ open: "open";
64
+ draft: "draft";
65
+ closed: "closed";
66
+ merged: "merged";
67
+ }>>;
68
+ }, import("zod/v4/core").$strict>], "kind">, import("zod").ZodObject<{
69
+ plugin: import("zod").ZodString;
70
+ createdAt: import("zod").ZodString;
71
+ updatedAt: import("zod").ZodString;
72
+ }, import("zod/v4/core").$strip>>>>;
55
73
  modelUsage: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
56
74
  modelId: import("zod").ZodString;
57
75
  usage: import("zod").ZodObject<{
@@ -134,6 +152,7 @@ declare const _default: import("../route").ApiRoute<import("zod").ZodObject<{
134
152
  type: import("zod").ZodLiteral<"compaction">;
135
153
  modelProfile: import("zod").ZodOptional<import("zod").ZodString>;
136
154
  modelId: import("zod").ZodOptional<import("zod").ZodString>;
155
+ summary: import("zod").ZodOptional<import("zod").ZodString>;
137
156
  details: import("zod").ZodOptional<import("zod").ZodObject<{
138
157
  reason: import("zod").ZodLiteral<"capacity">;
139
158
  estimatedInputTokens: import("zod").ZodNumber;
@@ -150,6 +169,7 @@ declare const _default: import("../route").ApiRoute<import("zod").ZodObject<{
150
169
  modelId: import("zod").ZodString;
151
170
  reasoningLevel: import("zod").ZodOptional<import("zod").ZodString>;
152
171
  triggeringToolCallId: import("zod").ZodOptional<import("zod").ZodString>;
172
+ summary: import("zod").ZodOptional<import("zod").ZodString>;
153
173
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
154
174
  type: import("zod").ZodLiteral<"subagent">;
155
175
  startedSeq: import("zod").ZodNumber;
@@ -69,6 +69,7 @@ declare const _default: import("../route").ApiRoute<import("zod").ZodObject<{
69
69
  type: import("zod").ZodLiteral<"compaction">;
70
70
  modelProfile: import("zod").ZodOptional<import("zod").ZodString>;
71
71
  modelId: import("zod").ZodOptional<import("zod").ZodString>;
72
+ summary: import("zod").ZodOptional<import("zod").ZodString>;
72
73
  details: import("zod").ZodOptional<import("zod").ZodObject<{
73
74
  reason: import("zod").ZodLiteral<"capacity">;
74
75
  estimatedInputTokens: import("zod").ZodNumber;
@@ -85,6 +86,7 @@ declare const _default: import("../route").ApiRoute<import("zod").ZodObject<{
85
86
  modelId: import("zod").ZodString;
86
87
  reasoningLevel: import("zod").ZodOptional<import("zod").ZodString>;
87
88
  triggeringToolCallId: import("zod").ZodOptional<import("zod").ZodString>;
89
+ summary: import("zod").ZodOptional<import("zod").ZodString>;
88
90
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
89
91
  type: import("zod").ZodLiteral<"subagent">;
90
92
  startedSeq: import("zod").ZodNumber;
@@ -5,7 +5,7 @@ import type { ConversationReportEvent } from "../schema/conversation";
5
5
  *
6
6
  * Source rows are scanned in bounded chunks until the requested projected page
7
7
  * and one older event are known. This keeps ordinary pages bounded without
8
- * assuming every canonical agent step produces a reporting event.
8
+ * assuming every agent history event produces a reporting event.
9
9
  */
10
10
  export declare function readConversationEventPage(executor: JuniorSqlDatabase, args: {
11
11
  beforeSeq?: number;
@@ -1,7 +1,7 @@
1
1
  import type { ConversationEvent } from "@/chat/conversations/history";
2
2
  import { type ConversationReportEvent } from "../schema/conversation";
3
3
  /** Canonical event types that can contribute to the reporting projection. */
4
- export declare const conversationReportSourceEventTypes: readonly ["message", "message_handled", "agent_step", "tool_execution_started", "turn_started", "turn_routed", "turn_completed", "turn_failed", "compaction", "handoff", "subagent_started", "subagent_ended"];
4
+ export declare const conversationReportSourceEventTypes: readonly ["message", "message_handled", "assistant_message", "tool_result", "tool_execution_started", "turn_started", "turn_routed", "turn_completed", "turn_failed", "compaction", "handoff", "subagent_started", "subagent_ended"];
5
5
  /** Return tool result ids that may need start metadata from outside a page. */
6
6
  export declare function conversationReportToolResultIds(events: ConversationEvent[]): string[];
7
7
  /**
@@ -0,0 +1,7 @@
1
+ /** Serve Junior's authenticated health report. */
2
+ declare const _default: import("./route").ApiRoute<import("zod").ZodObject<{
3
+ status: import("zod").ZodLiteral<"ok">;
4
+ service: import("zod").ZodString;
5
+ timestamp: import("zod").ZodString;
6
+ }, import("zod/v4/core").$strict>>;
7
+ export default _default;
@@ -16,8 +16,8 @@ declare const _default: import("../route").ApiRoute<import("zod").ZodObject<{
16
16
  }, import("zod/v4/core").$strict>>;
17
17
  generatedAt: import("zod").ZodString;
18
18
  locations: import("zod").ZodArray<import("zod").ZodObject<{
19
- failed: import("zod").ZodNumber;
20
19
  label: import("zod").ZodString;
20
+ failed: import("zod").ZodNumber;
21
21
  durationMs: import("zod").ZodNumber;
22
22
  active: import("zod").ZodNumber;
23
23
  conversations: import("zod").ZodNumber;
@@ -79,8 +79,8 @@ declare const _default: import("../route").ApiRoute<import("zod").ZodObject<{
79
79
  }, import("zod/v4/core").$strict>;
80
80
  source: import("zod").ZodLiteral<"conversation_index">;
81
81
  surfaces: import("zod").ZodArray<import("zod").ZodObject<{
82
- failed: import("zod").ZodNumber;
83
82
  label: import("zod").ZodString;
83
+ failed: import("zod").ZodNumber;
84
84
  durationMs: import("zod").ZodNumber;
85
85
  active: import("zod").ZodNumber;
86
86
  conversations: import("zod").ZodNumber;
@@ -1229,8 +1229,8 @@ export declare function emptyActivityDay(date: string): ActorActivityDayReport;
1229
1229
  export declare function activityDays(days: Map<string, ActorActivityDayReport>, nowMs: number): ActorActivityDayReport[];
1230
1230
  /** Return deterministic stats rows for people API responses. */
1231
1231
  export declare function statsItems(map: Map<string, ConversationStatsItem>): {
1232
- failed: number;
1233
1232
  label: string;
1233
+ failed: number;
1234
1234
  durationMs: number;
1235
1235
  active: number;
1236
1236
  conversations: number;
@@ -0,0 +1,11 @@
1
+ /** Create a personal API token for the authenticated viewer. */
2
+ declare const _default: import("../route").ApiRoute<import("zod").ZodObject<{
3
+ id: import("zod").ZodString;
4
+ name: import("zod").ZodString;
5
+ tokenSuffix: import("zod").ZodString;
6
+ createdAt: import("zod").ZodString;
7
+ expiresAt: import("zod").ZodString;
8
+ lastUsedAt: import("zod").ZodNullable<import("zod").ZodString>;
9
+ token: import("zod").ZodString;
10
+ }, import("zod/v4/core").$strict>>;
11
+ export default _default;
@@ -0,0 +1,12 @@
1
+ /** List active personal API tokens owned by the authenticated viewer. */
2
+ declare const _default: import("../route").ApiRoute<import("zod").ZodObject<{
3
+ tokens: import("zod").ZodArray<import("zod").ZodObject<{
4
+ id: import("zod").ZodString;
5
+ name: import("zod").ZodString;
6
+ tokenSuffix: import("zod").ZodString;
7
+ createdAt: import("zod").ZodString;
8
+ expiresAt: import("zod").ZodString;
9
+ lastUsedAt: import("zod").ZodNullable<import("zod").ZodString>;
10
+ }, import("zod/v4/core").$strict>>;
11
+ }, import("zod/v4/core").$strict>>;
12
+ export default _default;
@@ -0,0 +1,5 @@
1
+ /** Revoke a personal API token owned by the authenticated viewer. */
2
+ declare const _default: import("../route").ApiRoute<import("zod").ZodObject<{
3
+ revoked: import("zod").ZodLiteral<true>;
4
+ }, import("zod/v4/core").$strict>>;
5
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import { Hono } from "hono";
2
+ import { type JuniorApiEnv } from "../route";
3
+ /** Create the HTTP routes owned by the personal tokens API. */
4
+ export declare function createPersonalTokenRoutes(): Hono<JuniorApiEnv>;
@@ -0,0 +1,62 @@
1
+ /** Serve operational reports contributed by loaded plugins. */
2
+ declare const _default: import("./route").ApiRoute<import("zod").ZodObject<{
3
+ generatedAt: import("zod").ZodString;
4
+ reports: import("zod").ZodArray<import("zod").ZodObject<{
5
+ generatedAt: import("zod").ZodOptional<import("zod").ZodString>;
6
+ metrics: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
7
+ label: import("zod").ZodString;
8
+ tone: import("zod").ZodOptional<import("zod").ZodEnum<{
9
+ warning: "warning";
10
+ danger: "danger";
11
+ good: "good";
12
+ neutral: "neutral";
13
+ }>>;
14
+ value: import("zod").ZodString;
15
+ }, import("zod/v4/core").$strict>>>;
16
+ recordSets: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
17
+ fields: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
18
+ key: import("zod").ZodString;
19
+ label: import("zod").ZodString;
20
+ }, import("zod/v4/core").$strict>>>;
21
+ emptyText: import("zod").ZodOptional<import("zod").ZodString>;
22
+ records: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
23
+ id: import("zod").ZodString;
24
+ tone: import("zod").ZodOptional<import("zod").ZodEnum<{
25
+ warning: "warning";
26
+ danger: "danger";
27
+ good: "good";
28
+ neutral: "neutral";
29
+ }>>;
30
+ values: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>;
31
+ }, import("zod/v4/core").$strict>>>;
32
+ title: import("zod").ZodString;
33
+ }, import("zod/v4/core").$strict>>>;
34
+ title: import("zod").ZodOptional<import("zod").ZodString>;
35
+ pluginName: import("zod").ZodString;
36
+ widgets: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
37
+ categories: import("zod").ZodArray<import("zod").ZodObject<{
38
+ id: import("zod").ZodString;
39
+ label: import("zod").ZodString;
40
+ values: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>;
41
+ }, import("zod/v4/core").$strict>>;
42
+ description: import("zod").ZodOptional<import("zod").ZodString>;
43
+ emptyText: import("zod").ZodOptional<import("zod").ZodString>;
44
+ id: import("zod").ZodString;
45
+ series: import("zod").ZodArray<import("zod").ZodObject<{
46
+ key: import("zod").ZodString;
47
+ label: import("zod").ZodString;
48
+ tone: import("zod").ZodOptional<import("zod").ZodEnum<{
49
+ warning: "warning";
50
+ danger: "danger";
51
+ good: "good";
52
+ neutral: "neutral";
53
+ }>>;
54
+ }, import("zod/v4/core").$strict>>;
55
+ timeRangeDays: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUnion<readonly [import("zod").ZodLiteral<7>, import("zod").ZodLiteral<30>, import("zod").ZodLiteral<90>]>>>;
56
+ title: import("zod").ZodString;
57
+ type: import("zod").ZodLiteral<"bar_chart">;
58
+ }, import("zod/v4/core").$strict>>>;
59
+ }, import("zod/v4/core").$strict>>;
60
+ source: import("zod").ZodLiteral<"plugins">;
61
+ }, import("zod/v4/core").$strict>>;
62
+ export default _default;
@@ -0,0 +1,8 @@
1
+ /** Serve safe manifest metadata for loaded plugins. */
2
+ declare const _default: import("./route").ApiRoute<import("zod").ZodArray<import("zod").ZodObject<{
3
+ configKeys: import("zod").ZodArray<import("zod").ZodString>;
4
+ description: import("zod").ZodString;
5
+ displayName: import("zod").ZodString;
6
+ name: import("zod").ZodString;
7
+ }, import("zod/v4/core").$strict>>>;
8
+ export default _default;
@@ -11,7 +11,7 @@ export type JuniorApiEnv = {
11
11
  /** Describe one schema-owned REST endpoint. */
12
12
  export type ApiRoute<TResponseSchema extends z.ZodType = z.ZodType> = {
13
13
  handler: (context: Context<JuniorApiEnv>) => Promise<z.input<TResponseSchema>> | z.input<TResponseSchema>;
14
- method: "get" | "patch";
14
+ method: "delete" | "get" | "patch" | "post";
15
15
  path: string;
16
16
  responseSchema: TResponseSchema;
17
17
  };
@@ -0,0 +1,24 @@
1
+ /** Serve Junior runtime build and environment metadata. */
2
+ declare const _default: import("./route").ApiRoute<import("zod").ZodObject<{
3
+ cwd: import("zod").ZodString;
4
+ homeDir: import("zod").ZodString;
5
+ descriptionText: import("zod").ZodOptional<import("zod").ZodString>;
6
+ providers: import("zod").ZodArray<import("zod").ZodString>;
7
+ skills: import("zod").ZodArray<import("zod").ZodObject<{
8
+ name: import("zod").ZodString;
9
+ pluginProvider: import("zod").ZodOptional<import("zod").ZodString>;
10
+ }, import("zod/v4/core").$strict>>;
11
+ packagedContent: import("zod").ZodObject<{
12
+ packageNames: import("zod").ZodArray<import("zod").ZodString>;
13
+ packages: import("zod").ZodArray<import("zod").ZodObject<{
14
+ dir: import("zod").ZodString;
15
+ hasMigrationsDir: import("zod").ZodBoolean;
16
+ hasSkillsDir: import("zod").ZodBoolean;
17
+ packageName: import("zod").ZodString;
18
+ }, import("zod/v4/core").$strict>>;
19
+ manifestRoots: import("zod").ZodArray<import("zod").ZodString>;
20
+ skillRoots: import("zod").ZodArray<import("zod").ZodString>;
21
+ tracingIncludes: import("zod").ZodArray<import("zod").ZodString>;
22
+ }, import("zod/v4/core").$strict>;
23
+ }, import("zod/v4/core").$strict>>;
24
+ export default _default;
@@ -168,6 +168,7 @@ export declare const conversationReportEventDataSchema: z.ZodDiscriminatedUnion<
168
168
  type: z.ZodLiteral<"compaction">;
169
169
  modelProfile: z.ZodOptional<z.ZodString>;
170
170
  modelId: z.ZodOptional<z.ZodString>;
171
+ summary: z.ZodOptional<z.ZodString>;
171
172
  details: z.ZodOptional<z.ZodObject<{
172
173
  reason: z.ZodLiteral<"capacity">;
173
174
  estimatedInputTokens: z.ZodNumber;
@@ -184,6 +185,7 @@ export declare const conversationReportEventDataSchema: z.ZodDiscriminatedUnion<
184
185
  modelId: z.ZodString;
185
186
  reasoningLevel: z.ZodOptional<z.ZodString>;
186
187
  triggeringToolCallId: z.ZodOptional<z.ZodString>;
188
+ summary: z.ZodOptional<z.ZodString>;
187
189
  }, z.core.$strict>, z.ZodObject<{
188
190
  type: z.ZodLiteral<"subagent">;
189
191
  startedSeq: z.ZodNumber;
@@ -263,6 +265,7 @@ export declare const conversationReportEventSchema: z.ZodObject<{
263
265
  type: z.ZodLiteral<"compaction">;
264
266
  modelProfile: z.ZodOptional<z.ZodString>;
265
267
  modelId: z.ZodOptional<z.ZodString>;
268
+ summary: z.ZodOptional<z.ZodString>;
266
269
  details: z.ZodOptional<z.ZodObject<{
267
270
  reason: z.ZodLiteral<"capacity">;
268
271
  estimatedInputTokens: z.ZodNumber;
@@ -279,6 +282,7 @@ export declare const conversationReportEventSchema: z.ZodObject<{
279
282
  modelId: z.ZodString;
280
283
  reasoningLevel: z.ZodOptional<z.ZodString>;
281
284
  triggeringToolCallId: z.ZodOptional<z.ZodString>;
285
+ summary: z.ZodOptional<z.ZodString>;
282
286
  }, z.core.$strict>, z.ZodObject<{
283
287
  type: z.ZodLiteral<"subagent">;
284
288
  startedSeq: z.ZodNumber;
@@ -369,6 +373,24 @@ export declare const conversationDetailReportSchema: z.ZodObject<{
369
373
  locationId: z.ZodOptional<z.ZodString>;
370
374
  sentryTraceUrl: z.ZodOptional<z.ZodString>;
371
375
  traceId: z.ZodOptional<z.ZodString>;
376
+ annotations: z.ZodOptional<z.ZodArray<z.ZodIntersection<z.ZodDiscriminatedUnion<[z.ZodObject<{
377
+ kind: z.ZodLiteral<"resource_link">;
378
+ key: z.ZodString;
379
+ label: z.ZodString;
380
+ url: z.ZodString;
381
+ description: z.ZodOptional<z.ZodString>;
382
+ status: z.ZodOptional<z.ZodEnum<{
383
+ warning: "warning";
384
+ open: "open";
385
+ draft: "draft";
386
+ closed: "closed";
387
+ merged: "merged";
388
+ }>>;
389
+ }, z.core.$strict>], "kind">, z.ZodObject<{
390
+ plugin: z.ZodString;
391
+ createdAt: z.ZodString;
392
+ updatedAt: z.ZodString;
393
+ }, z.core.$strip>>>>;
372
394
  modelUsage: z.ZodOptional<z.ZodArray<z.ZodObject<{
373
395
  modelId: z.ZodString;
374
396
  usage: z.ZodObject<{
@@ -451,6 +473,7 @@ export declare const conversationDetailReportSchema: z.ZodObject<{
451
473
  type: z.ZodLiteral<"compaction">;
452
474
  modelProfile: z.ZodOptional<z.ZodString>;
453
475
  modelId: z.ZodOptional<z.ZodString>;
476
+ summary: z.ZodOptional<z.ZodString>;
454
477
  details: z.ZodOptional<z.ZodObject<{
455
478
  reason: z.ZodLiteral<"capacity">;
456
479
  estimatedInputTokens: z.ZodNumber;
@@ -467,6 +490,7 @@ export declare const conversationDetailReportSchema: z.ZodObject<{
467
490
  modelId: z.ZodString;
468
491
  reasoningLevel: z.ZodOptional<z.ZodString>;
469
492
  triggeringToolCallId: z.ZodOptional<z.ZodString>;
493
+ summary: z.ZodOptional<z.ZodString>;
470
494
  }, z.core.$strict>, z.ZodObject<{
471
495
  type: z.ZodLiteral<"subagent">;
472
496
  startedSeq: z.ZodNumber;
@@ -560,6 +584,7 @@ export declare const conversationEventPageSchema: z.ZodObject<{
560
584
  type: z.ZodLiteral<"compaction">;
561
585
  modelProfile: z.ZodOptional<z.ZodString>;
562
586
  modelId: z.ZodOptional<z.ZodString>;
587
+ summary: z.ZodOptional<z.ZodString>;
563
588
  details: z.ZodOptional<z.ZodObject<{
564
589
  reason: z.ZodLiteral<"capacity">;
565
590
  estimatedInputTokens: z.ZodNumber;
@@ -576,6 +601,7 @@ export declare const conversationEventPageSchema: z.ZodObject<{
576
601
  modelId: z.ZodString;
577
602
  reasoningLevel: z.ZodOptional<z.ZodString>;
578
603
  triggeringToolCallId: z.ZodOptional<z.ZodString>;
604
+ summary: z.ZodOptional<z.ZodString>;
579
605
  }, z.core.$strict>, z.ZodObject<{
580
606
  type: z.ZodLiteral<"subagent">;
581
607
  startedSeq: z.ZodNumber;
@@ -4,8 +4,8 @@ export declare const personParamsSchema: z.ZodObject<{
4
4
  email: z.ZodString;
5
5
  }, z.core.$strict>;
6
6
  export declare const peopleConversationStatsItemSchema: z.ZodObject<{
7
- failed: z.ZodNumber;
8
7
  label: z.ZodString;
8
+ failed: z.ZodNumber;
9
9
  durationMs: z.ZodNumber;
10
10
  active: z.ZodNumber;
11
11
  conversations: z.ZodNumber;
@@ -94,8 +94,8 @@ export declare const actorProfileReportSchema: z.ZodObject<{
94
94
  }, z.core.$strict>>;
95
95
  generatedAt: z.ZodString;
96
96
  locations: z.ZodArray<z.ZodObject<{
97
- failed: z.ZodNumber;
98
97
  label: z.ZodString;
98
+ failed: z.ZodNumber;
99
99
  durationMs: z.ZodNumber;
100
100
  active: z.ZodNumber;
101
101
  conversations: z.ZodNumber;
@@ -157,8 +157,8 @@ export declare const actorProfileReportSchema: z.ZodObject<{
157
157
  }, z.core.$strict>;
158
158
  source: z.ZodLiteral<"conversation_index">;
159
159
  surfaces: z.ZodArray<z.ZodObject<{
160
- failed: z.ZodNumber;
161
160
  label: z.ZodString;
161
+ failed: z.ZodNumber;
162
162
  durationMs: z.ZodNumber;
163
163
  active: z.ZodNumber;
164
164
  conversations: z.ZodNumber;
@@ -0,0 +1,38 @@
1
+ import { z } from "zod";
2
+ export declare const personalTokenMetadataSchema: z.ZodObject<{
3
+ id: z.ZodString;
4
+ name: z.ZodString;
5
+ tokenSuffix: z.ZodString;
6
+ createdAt: z.ZodString;
7
+ expiresAt: z.ZodString;
8
+ lastUsedAt: z.ZodNullable<z.ZodString>;
9
+ }, z.core.$strict>;
10
+ export declare const personalTokenListSchema: z.ZodObject<{
11
+ tokens: z.ZodArray<z.ZodObject<{
12
+ id: z.ZodString;
13
+ name: z.ZodString;
14
+ tokenSuffix: z.ZodString;
15
+ createdAt: z.ZodString;
16
+ expiresAt: z.ZodString;
17
+ lastUsedAt: z.ZodNullable<z.ZodString>;
18
+ }, z.core.$strict>>;
19
+ }, z.core.$strict>;
20
+ export declare const createPersonalTokenBodySchema: z.ZodObject<{
21
+ name: z.ZodString;
22
+ }, z.core.$strict>;
23
+ export declare const createdPersonalTokenSchema: z.ZodObject<{
24
+ id: z.ZodString;
25
+ name: z.ZodString;
26
+ tokenSuffix: z.ZodString;
27
+ createdAt: z.ZodString;
28
+ expiresAt: z.ZodString;
29
+ lastUsedAt: z.ZodNullable<z.ZodString>;
30
+ token: z.ZodString;
31
+ }, z.core.$strict>;
32
+ export declare const personalTokenParamsSchema: z.ZodObject<{
33
+ id: z.ZodString;
34
+ }, z.core.$strict>;
35
+ export declare const revokePersonalTokenResponseSchema: z.ZodObject<{
36
+ revoked: z.ZodLiteral<true>;
37
+ }, z.core.$strict>;
38
+ export type PersonalTokenMetadata = z.infer<typeof personalTokenMetadataSchema>;
@@ -8,5 +8,7 @@ export type { LocationActorSummaryReport, LocationActivityDayReport, LocationDet
8
8
  export type { ActorActivityDayReport, ActorDirectoryReport, ActorProfileReport, ActorSummaryReport, ActorTotalsReport, PeopleActivityDayReport, PersonParams, } from "./schema/person";
9
9
  export { apiErrorSchema } from "./schema/common";
10
10
  export type { ApiError } from "./schema/common";
11
- export { healthReportSchema, pluginOperationalReportFeedSchema, pluginOperationalReportSchema, pluginPackageContentItemReportSchema, pluginPackageContentReportSchema, pluginReportSchema, pluginReportsSchema, runtimeInfoReportSchema, skillReportSchema, skillReportsSchema, } from "../reporting-schema";
12
- export type { HealthReport, PluginOperationalReport, PluginOperationalReportFeed, PluginPackageContentItemReport, PluginPackageContentReport, PluginReport, PluginReports, RuntimeInfoReport, SkillReport, SkillReports, } from "../reporting-schema";
11
+ export { createPersonalTokenBodySchema, createdPersonalTokenSchema, personalTokenListSchema, personalTokenMetadataSchema, personalTokenParamsSchema, revokePersonalTokenResponseSchema, } from "./schema/personal-token";
12
+ export type { PersonalTokenMetadata } from "./schema/personal-token";
13
+ export { healthReportSchema, pluginOperationalReportFeedSchema, pluginOperationalReportSchema, pluginPackageContentItemReportSchema, pluginPackageContentReportSchema, pluginSchema, pluginsSchema, runtimeInfoReportSchema, skillReportSchema, skillReportsSchema, } from "../reporting-schema";
14
+ export type { HealthReport, PluginOperationalReport, PluginOperationalReportFeed, PluginPackageContentItemReport, PluginPackageContentReport, Plugin, Plugins, RuntimeInfoReport, SkillReport, SkillReports, } from "../reporting-schema";
@@ -16,25 +16,31 @@ import {
16
16
  conversationReportEventSchema,
17
17
  conversationStatsReportSchema,
18
18
  conversationSummaryReportSchema,
19
+ createPersonalTokenBodySchema,
20
+ createdPersonalTokenSchema,
19
21
  dailyConversationActivitySchema,
20
22
  locationActivityDayReportSchema,
21
23
  locationDetailReportSchema,
22
24
  locationDirectoryReportSchema,
23
25
  locationParamsSchema,
24
- personParamsSchema
25
- } from "../chunk-S4QDH23A.js";
26
+ personParamsSchema,
27
+ personalTokenListSchema,
28
+ personalTokenMetadataSchema,
29
+ personalTokenParamsSchema,
30
+ revokePersonalTokenResponseSchema
31
+ } from "../chunk-TC4ZEM2D.js";
26
32
  import {
27
33
  healthReportSchema,
28
34
  pluginOperationalReportFeedSchema,
29
35
  pluginOperationalReportSchema,
30
36
  pluginPackageContentItemReportSchema,
31
37
  pluginPackageContentReportSchema,
32
- pluginReportSchema,
33
- pluginReportsSchema,
38
+ pluginSchema,
39
+ pluginsSchema,
34
40
  runtimeInfoReportSchema,
35
41
  skillReportSchema,
36
42
  skillReportsSchema
37
- } from "../chunk-2ZTTXTSZ.js";
43
+ } from "../chunk-PE44LDDQ.js";
38
44
  import "../chunk-PDO5BLNM.js";
39
45
  import "../chunk-VFUK3X5B.js";
40
46
  import "../chunk-MLKGABMK.js";
@@ -56,6 +62,8 @@ export {
56
62
  conversationReportEventSchema,
57
63
  conversationStatsReportSchema,
58
64
  conversationSummaryReportSchema,
65
+ createPersonalTokenBodySchema,
66
+ createdPersonalTokenSchema,
59
67
  dailyConversationActivitySchema,
60
68
  healthReportSchema,
61
69
  locationActivityDayReportSchema,
@@ -63,12 +71,16 @@ export {
63
71
  locationDirectoryReportSchema,
64
72
  locationParamsSchema,
65
73
  personParamsSchema,
74
+ personalTokenListSchema,
75
+ personalTokenMetadataSchema,
76
+ personalTokenParamsSchema,
66
77
  pluginOperationalReportFeedSchema,
67
78
  pluginOperationalReportSchema,
68
79
  pluginPackageContentItemReportSchema,
69
80
  pluginPackageContentReportSchema,
70
- pluginReportSchema,
71
- pluginReportsSchema,
81
+ pluginSchema,
82
+ pluginsSchema,
83
+ revokePersonalTokenResponseSchema,
72
84
  runtimeInfoReportSchema,
73
85
  skillReportSchema,
74
86
  skillReportsSchema
@@ -0,0 +1,6 @@
1
+ /** Serve the skills discovered for the current Junior runtime. */
2
+ declare const _default: import("./route").ApiRoute<import("zod").ZodArray<import("zod").ZodObject<{
3
+ name: import("zod").ZodString;
4
+ pluginProvider: import("zod").ZodOptional<import("zod").ZodString>;
5
+ }, import("zod/v4/core").$strict>>>;
6
+ export default _default;
package/dist/api.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { Hono } from "hono";
2
2
  import { jsonResponse } from "./api/http";
3
3
  import { type JuniorApiEnv, type JuniorApiVariables } from "./api/route";
4
+ export { authenticatePersonalToken } from "./personal-tokens/store";
4
5
  export type { JuniorApiVariables };
5
6
  export { jsonResponse };
6
7
  /** Create Junior's production REST API for authenticated dashboard consumers. */