@sentry/junior 0.242.0 → 0.244.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 (67) hide show
  1. package/dist/{admin-C54kvHVC.js → admin-CF9lQg0M.js} +1 -1
  2. package/dist/{agent-hooks-BVttjZvb.js → agent-hooks-Cj_rSeWd.js} +22 -12
  3. package/dist/agent-invocations-BO6ddZax.js +177 -0
  4. package/dist/{agent-runner-BTgnxJ7g.js → agent-runner-DtEtbaOb.js} +646 -70
  5. package/dist/api/schema.d.ts +67 -1
  6. package/dist/api/schema.js +4 -4
  7. package/dist/api.js +53 -22
  8. package/dist/{app-MEd7wbF0.d.ts → app-DRLh-8zs.d.ts} +5 -0
  9. package/dist/app.d.ts +1 -1
  10. package/dist/app.js +41 -24
  11. package/dist/{briefs-CKUsv9F1.js → briefs-BMzTiGJO.js} +4 -4
  12. package/dist/{catalog-runtime-C2YkfMZz.js → catalog-runtime-CpxhLwZG.js} +1 -1
  13. package/dist/cli/chat.js +12 -12
  14. package/dist/cli/check.js +3 -3
  15. package/dist/cli/main.js +2 -2
  16. package/dist/cli/plugins.js +4 -4
  17. package/dist/cli/snapshot-create.js +3 -3
  18. package/dist/cli/upgrade.js +3 -3
  19. package/dist/{client-D51G-Jdg.js → client-BVaGEb1-.js} +2 -2
  20. package/dist/{config-C6Uu3Re9.js → config-q9xXVN_5.js} +7 -2
  21. package/dist/{conversation-DwD-vquD.js → conversation-BxvgH64Q.js} +5 -1
  22. package/dist/{conversation-privacy-CzL47nXs.js → conversation-privacy-Dyh_63Ee.js} +1 -1
  23. package/dist/{credential-sync-DvDaE-Uj.js → credential-sync-Bsn-6m16.js} +14 -14
  24. package/dist/{executor-CGUukwus.js → executor-DA7eHhmC.js} +5 -124
  25. package/dist/{history-BLTUgFYO.js → history-Nte1oVed.js} +4 -0
  26. package/dist/{images-DSxZt5vk.js → images-CvMreau5.js} +3 -3
  27. package/dist/instrumentation.js +2 -2
  28. package/dist/{job-queue-hLylM9cy.js → job-queue-mVyF9jgv.js} +1 -1
  29. package/dist/{logging-BdZ_mK3q.js → logging-z7_w-KN_.js} +1 -1
  30. package/dist/nitro.d.ts +1 -1
  31. package/dist/nitro.js +3 -3
  32. package/dist/{oauth-authorization-BokpeHv-.js → oauth-authorization-Db1yGVvG.js} +1 -1
  33. package/dist/{oauth-callback-server-C3BOSmT_.js → oauth-callback-server-_MfOtSxS.js} +2 -2
  34. package/dist/{pending-auth-DOzL4D24.js → pending-auth-OndKPW4M.js} +2 -2
  35. package/dist/{profile-2gPzzMib.js → profile-yeKVNECl.js} +4 -4
  36. package/dist/{prompt-CMU-B4FA.js → prompt-CX36ZlbV.js} +1 -1
  37. package/dist/{registry-XJkXDNK2.js → registry-DvzzL8-v.js} +1 -1
  38. package/dist/{resolve-DhcdtDt6.js → resolve-4u5gEU04.js} +2 -2
  39. package/dist/{runner-CGyrnIPm.js → runner-Y6A6pww4.js} +10 -10
  40. package/dist/{sandbox-egress-signals-D6F3OZJP.js → sandbox-egress-signals-D7AOkuoe.js} +1 -1
  41. package/dist/{schema-Cabm4jcj.js → schema-Dyyi9oRc.js} +35 -3
  42. package/dist/{skills-C6PqcBPU.js → skills-DFduSvuO.js} +2 -2
  43. package/dist/{spawn-DL9x3T1o.js → spawn-DYg7jhhR.js} +7 -5
  44. package/dist/{task-queue-vZnBGu9B.js → task-queue-BQ0vnumm.js} +3 -3
  45. package/dist/{task-runner-C-c0t5F5.js → task-runner-D4jvUpFV.js} +12 -11
  46. package/dist/{tasks-EqCtmUJ2.js → tasks-DBZAgTx7.js} +49 -17
  47. package/dist/{thread-state-B8IKs_J8.js → thread-state-hj70P2Cp.js} +7 -7
  48. package/dist/{turn-failure-response-BS7OO1BE.js → turn-failure-response-S2pwtR8b.js} +9 -9
  49. package/dist/{turn-lifecycle-Cxrt8qMD.js → turn-lifecycle-CNFOMAJq.js} +1 -1
  50. package/dist/{turn-session-routing-BlGt2AUb.js → turn-session-routing-1eTgv6ns.js} +1 -1
  51. package/dist/{validation-C8hci6pj.js → validation-DcsBjzdi.js} +1 -1
  52. package/dist/{version-CjnHQ8aY.js → version-DVCHJYcY.js} +1 -1
  53. package/dist/version.js +1 -1
  54. package/dist/{viewer-BOgEy5zC.js → viewer-BBnCMR1g.js} +6 -8
  55. package/dist/{web-authorization-DSMV5tMK.js → web-authorization-CTltRLsB.js} +6 -6
  56. package/dist/{web-input-TD5P9jdo.js → web-input-CIsRGF07.js} +227 -31
  57. package/dist/{work-D39OAwP1.js → work-fje9VXgQ.js} +111 -225
  58. package/dist/{worker-CWiLgCWH.js → worker-Byd2Et9r.js} +5 -5
  59. package/migrations/0050_agent_invocation_parent_mailbox.sql +4 -0
  60. package/migrations/0051_agent_invocation_parent_tool_call.sql +1 -0
  61. package/migrations/0052_agent_invocation_title.sql +1 -0
  62. package/migrations/meta/0050_snapshot.json +3753 -0
  63. package/migrations/meta/0051_snapshot.json +3759 -0
  64. package/migrations/meta/0052_snapshot.json +3765 -0
  65. package/migrations/meta/_journal.json +22 -1
  66. package/package.json +5 -5
  67. package/dist/destinations-BeBiJeEM.js +0 -29
@@ -870,10 +870,14 @@ export declare const conversationReportEventDataSchema: z.ZodDiscriminatedUnion<
870
870
  startedAt: z.ZodString;
871
871
  childConversationId: z.ZodString;
872
872
  subagentKind: z.ZodString;
873
+ agentName: z.ZodOptional<z.ZodString>;
874
+ task: z.ZodOptional<z.ZodString>;
875
+ title: z.ZodOptional<z.ZodString>;
873
876
  parentToolCallId: z.ZodOptional<z.ZodString>;
874
877
  status: z.ZodEnum<{
875
878
  error: "error";
876
879
  running: "running";
880
+ blocked: "blocked";
877
881
  completed: "completed";
878
882
  aborted: "aborted";
879
883
  }>;
@@ -1106,10 +1110,14 @@ export declare const conversationReportEventSchema: z.ZodObject<{
1106
1110
  startedAt: z.ZodString;
1107
1111
  childConversationId: z.ZodString;
1108
1112
  subagentKind: z.ZodString;
1113
+ agentName: z.ZodOptional<z.ZodString>;
1114
+ task: z.ZodOptional<z.ZodString>;
1115
+ title: z.ZodOptional<z.ZodString>;
1109
1116
  parentToolCallId: z.ZodOptional<z.ZodString>;
1110
1117
  status: z.ZodEnum<{
1111
1118
  error: "error";
1112
1119
  running: "running";
1120
+ blocked: "blocked";
1113
1121
  completed: "completed";
1114
1122
  aborted: "aborted";
1115
1123
  }>;
@@ -1686,10 +1694,14 @@ export declare const conversationDetailReportSchema: z.ZodObject<{
1686
1694
  startedAt: z.ZodString;
1687
1695
  childConversationId: z.ZodString;
1688
1696
  subagentKind: z.ZodString;
1697
+ agentName: z.ZodOptional<z.ZodString>;
1698
+ task: z.ZodOptional<z.ZodString>;
1699
+ title: z.ZodOptional<z.ZodString>;
1689
1700
  parentToolCallId: z.ZodOptional<z.ZodString>;
1690
1701
  status: z.ZodEnum<{
1691
1702
  error: "error";
1692
1703
  running: "running";
1704
+ blocked: "blocked";
1693
1705
  completed: "completed";
1694
1706
  aborted: "aborted";
1695
1707
  }>;
@@ -1970,10 +1982,14 @@ export declare const conversationEventPageSchema: z.ZodObject<{
1970
1982
  startedAt: z.ZodString;
1971
1983
  childConversationId: z.ZodString;
1972
1984
  subagentKind: z.ZodString;
1985
+ agentName: z.ZodOptional<z.ZodString>;
1986
+ task: z.ZodOptional<z.ZodString>;
1987
+ title: z.ZodOptional<z.ZodString>;
1973
1988
  parentToolCallId: z.ZodOptional<z.ZodString>;
1974
1989
  status: z.ZodEnum<{
1975
1990
  error: "error";
1976
1991
  running: "running";
1992
+ blocked: "blocked";
1977
1993
  completed: "completed";
1978
1994
  aborted: "aborted";
1979
1995
  }>;
@@ -2393,6 +2409,56 @@ type ConversationPendingMessagesReport = z.infer<typeof conversationPendingMessa
2393
2409
  type CancelConversationPendingMessagesBody = z.infer<typeof cancelConversationPendingMessagesBodySchema>;
2394
2410
  type CancelConversationPendingMessagesResponse = z.infer<typeof cancelConversationPendingMessagesResponseSchema>;
2395
2411
  //#endregion
2412
+ //#region src/api/schema/child-agent.d.ts
2413
+ /**
2414
+ * One direct child agent of a Conversation, from agent invocation records.
2415
+ *
2416
+ * Viewers who cannot see private content get the status and time, but not the
2417
+ * name, task, title, or error.
2418
+ */
2419
+ export declare const conversationChildAgentSchema: z.ZodObject<{
2420
+ conversationId: z.ZodString;
2421
+ error: z.ZodOptional<z.ZodString>;
2422
+ name: z.ZodOptional<z.ZodString>;
2423
+ redacted: z.ZodOptional<z.ZodLiteral<true>>;
2424
+ status: z.ZodEnum<{
2425
+ paused: "paused";
2426
+ failed: "failed";
2427
+ pending: "pending";
2428
+ running: "running";
2429
+ blocked: "blocked";
2430
+ completed: "completed";
2431
+ stopped: "stopped";
2432
+ }>;
2433
+ task: z.ZodOptional<z.ZodString>;
2434
+ title: z.ZodOptional<z.ZodString>;
2435
+ updatedAt: z.ZodString;
2436
+ }, z.core.$strict>;
2437
+ /** Direct child agents of one Conversation, newest activity first. */
2438
+ export declare const conversationChildAgentsReportSchema: z.ZodObject<{
2439
+ agents: z.ZodArray<z.ZodObject<{
2440
+ conversationId: z.ZodString;
2441
+ error: z.ZodOptional<z.ZodString>;
2442
+ name: z.ZodOptional<z.ZodString>;
2443
+ redacted: z.ZodOptional<z.ZodLiteral<true>>;
2444
+ status: z.ZodEnum<{
2445
+ paused: "paused";
2446
+ failed: "failed";
2447
+ pending: "pending";
2448
+ running: "running";
2449
+ blocked: "blocked";
2450
+ completed: "completed";
2451
+ stopped: "stopped";
2452
+ }>;
2453
+ task: z.ZodOptional<z.ZodString>;
2454
+ title: z.ZodOptional<z.ZodString>;
2455
+ updatedAt: z.ZodString;
2456
+ }, z.core.$strict>>;
2457
+ conversationId: z.ZodString;
2458
+ }, z.core.$strict>;
2459
+ type ConversationChildAgent = z.infer<typeof conversationChildAgentSchema>;
2460
+ type ConversationChildAgentsReport = z.infer<typeof conversationChildAgentsReportSchema>;
2461
+ //#endregion
2396
2462
  //#region src/api/schema/person.d.ts
2397
2463
  export declare const personParamsSchema: z.ZodObject<{
2398
2464
  email: z.ZodString;
@@ -4700,4 +4766,4 @@ type PluginPackageContentReport = z.infer<typeof pluginPackageContentReportSchem
4700
4766
  type PluginOperationalReport = z.infer<typeof pluginOperationalReportSchema>;
4701
4767
  type PluginOperationalReportFeed = z.infer<typeof pluginOperationalReportFeedSchema>;
4702
4768
  //#endregion
4703
- export { type AcceptedConversationMessage, type ActorActivityDayReport, type ActorDirectoryReport, type ActorDirectoryWindows, type ActorIdentity, type ActorProfileReport, type ActorSummaryReport, type ActorTotalsReport, type ActorWindowMetrics, type ApiError, type ArchiveConversationBody, type ArchiveConversationResponse, type AutomationCard, type AutomationEdit, type AutomationExecution, type AutomationExecutionDay, type AutomationExecutionList, type AutomationExecutionStatusDay, type AutomationList, type AutomationListQuery, type AutomationRun, type AutomationRunList, type AutomationRunWindows, type AutomationScheduleIntent, type AutomationSummary, type AutomationUpdate, type AutomationVersion, type AutomationVersionList, type BaselineSnapshotReport, type CancelConversationPendingMessagesBody, type CancelConversationPendingMessagesResponse, type CodeActivityDay, type CodeChangeSummaryReport, type CodeOverviewReport, type CodePersonReport, type CodeRepositoryReport, type CodeRepositorySummary, type ConversationActivityPreview, type ConversationAuxiliaryCosts, type ConversationCost, type ConversationDetailReport, type ConversationEventHistory, type ConversationEventPage, type ConversationFeed, type ConversationMetricDay, type ConversationModelUsage, type ConversationParams, type ConversationPendingMessage, type ConversationPendingMessageDelivery, type ConversationPendingMessagesReport, type ConversationReportEvent, type ConversationReportEventData, type ConversationReportStatus, type ConversationSourceTask, type ConversationStatsItem, type ConversationStatsReport, type ConversationSummaryReport, type ConversationSurface, type ConversationTurnFailureCode, type ConversationTurnFailureReason, type ConversationUsage, type CreateConversationBody, type CreateConversationMessageBody, type DailyConversationActivity, type GuardianMetricDay, type GuardianStats, type HealthReport, type InputImage, type LocationActivityDayReport, type LocationActorSummaryReport, type LocationDetailReport, type LocationDirectoryReport, type LocationParams, type LocationSummaryReport, MAX_INPUT_IMAGES, MAX_INPUT_IMAGE_BYTES, type MessageAttachment, type MessageCard, type OwnedObjectAnnotation, type PeopleActivityDayReport, type PersonParams, type PersonalSpendReport, type PersonalTokenMetadata, type Plugin, type PluginOperationalReport, type PluginOperationalReportFeed, type PluginPackageContentItemReport, type PluginPackageContentReport, type Plugins, type RuntimeInfoReport, type SkillReport, type SkillReports, type StatReport, type StatsReport, type WorkspaceReport, conversationTurnFailureCodeSchema, conversationTurnFailureReasonSchema, messageCardText, resolveMessageCards };
4769
+ export { type AcceptedConversationMessage, type ActorActivityDayReport, type ActorDirectoryReport, type ActorDirectoryWindows, type ActorIdentity, type ActorProfileReport, type ActorSummaryReport, type ActorTotalsReport, type ActorWindowMetrics, type ApiError, type ArchiveConversationBody, type ArchiveConversationResponse, type AutomationCard, type AutomationEdit, type AutomationExecution, type AutomationExecutionDay, type AutomationExecutionList, type AutomationExecutionStatusDay, type AutomationList, type AutomationListQuery, type AutomationRun, type AutomationRunList, type AutomationRunWindows, type AutomationScheduleIntent, type AutomationSummary, type AutomationUpdate, type AutomationVersion, type AutomationVersionList, type BaselineSnapshotReport, type CancelConversationPendingMessagesBody, type CancelConversationPendingMessagesResponse, type CodeActivityDay, type CodeChangeSummaryReport, type CodeOverviewReport, type CodePersonReport, type CodeRepositoryReport, type CodeRepositorySummary, type ConversationActivityPreview, type ConversationAuxiliaryCosts, type ConversationChildAgent, type ConversationChildAgentsReport, type ConversationCost, type ConversationDetailReport, type ConversationEventHistory, type ConversationEventPage, type ConversationFeed, type ConversationMetricDay, type ConversationModelUsage, type ConversationParams, type ConversationPendingMessage, type ConversationPendingMessageDelivery, type ConversationPendingMessagesReport, type ConversationReportEvent, type ConversationReportEventData, type ConversationReportStatus, type ConversationSourceTask, type ConversationStatsItem, type ConversationStatsReport, type ConversationSummaryReport, type ConversationSurface, type ConversationTurnFailureCode, type ConversationTurnFailureReason, type ConversationUsage, type CreateConversationBody, type CreateConversationMessageBody, type DailyConversationActivity, type GuardianMetricDay, type GuardianStats, type HealthReport, type InputImage, type LocationActivityDayReport, type LocationActorSummaryReport, type LocationDetailReport, type LocationDirectoryReport, type LocationParams, type LocationSummaryReport, MAX_INPUT_IMAGES, MAX_INPUT_IMAGE_BYTES, type MessageAttachment, type MessageCard, type OwnedObjectAnnotation, type PeopleActivityDayReport, type PersonParams, type PersonalSpendReport, type PersonalTokenMetadata, type Plugin, type PluginOperationalReport, type PluginOperationalReportFeed, type PluginPackageContentItemReport, type PluginPackageContentReport, type Plugins, type RuntimeInfoReport, type SkillReport, type SkillReports, type StatReport, type StatsReport, type WorkspaceReport, conversationTurnFailureCodeSchema, conversationTurnFailureReasonSchema, messageCardText, resolveMessageCards };
@@ -1,6 +1,6 @@
1
- import { a as conversationTurnFailureReasonSchema, i as conversationTurnFailureCodeSchema } from "../history-BLTUgFYO.js";
2
- import { A as forkConversationResponseSchema, C as conversationReportEventSchema, D as createConversationBodySchema, E as conversationSummaryReportSchema, K as resolveMessageCards, M as MAX_INPUT_IMAGE_BYTES, O as createConversationMessageBodySchema, P as INPUT_IMAGE_TYPES, S as conversationReportEventDataSchema, T as conversationStatsReportSchema, U as messageCardText, _ as conversationParamsSchema, a as cancelConversationPendingMessagesBodySchema, b as conversationPendingMessageSchema, d as conversationDetailReportSchema, f as conversationEventHistorySchema, g as conversationFeedSchema, h as conversationFeedQuerySchema, i as archiveConversationResponseSchema, j as MAX_INPUT_IMAGES, k as forkConversationBodySchema, l as conversationAuxiliaryCostsSchema, m as conversationEventsQuerySchema, o as cancelConversationPendingMessagesResponseSchema, p as conversationEventPageSchema, r as archiveConversationBodySchema, s as conversationActivityPreviewSchema, t as acceptedConversationMessageSchema, u as conversationDetailQuerySchema, v as conversationPendingAuthorizationSchema, x as conversationPendingMessagesReportSchema, y as conversationPendingMessageDeliverySchema } from "../conversation-DwD-vquD.js";
1
+ import { a as conversationTurnFailureReasonSchema, i as conversationTurnFailureCodeSchema } from "../history-Nte1oVed.js";
2
+ import { A as forkConversationResponseSchema, C as conversationReportEventSchema, D as createConversationBodySchema, E as conversationSummaryReportSchema, K as resolveMessageCards, M as MAX_INPUT_IMAGE_BYTES, O as createConversationMessageBodySchema, P as INPUT_IMAGE_TYPES, S as conversationReportEventDataSchema, T as conversationStatsReportSchema, U as messageCardText, _ as conversationParamsSchema, a as cancelConversationPendingMessagesBodySchema, b as conversationPendingMessageSchema, d as conversationDetailReportSchema, f as conversationEventHistorySchema, g as conversationFeedSchema, h as conversationFeedQuerySchema, i as archiveConversationResponseSchema, j as MAX_INPUT_IMAGES, k as forkConversationBodySchema, l as conversationAuxiliaryCostsSchema, m as conversationEventsQuerySchema, o as cancelConversationPendingMessagesResponseSchema, p as conversationEventPageSchema, r as archiveConversationBodySchema, s as conversationActivityPreviewSchema, t as acceptedConversationMessageSchema, u as conversationDetailQuerySchema, v as conversationPendingAuthorizationSchema, x as conversationPendingMessagesReportSchema, y as conversationPendingMessageDeliverySchema } from "../conversation-BxvgH64Q.js";
3
3
  import { C as eventAutomationSummarySchema, S as automationVersionSchema, _ as automationSummarySchema, a as automationExecutionSchema, b as automationVersionListSchema, d as automationParamsSchema, f as automationRunListSchema, g as automationSchedulePreviewSchema, h as automationScheduleIntentSchema, i as automationExecutionListSchema, l as automationListQuerySchema, m as automationRunWindowsSchema, n as automationEditSchema, o as automationExecutionStatusDaySchema, p as automationRunSchema, r as automationEventCatalogSchema, s as automationExecutionStatusSchema, t as automationEditErrorSchema, u as automationListSchema, v as automationUpdateSchema, w as scheduledAutomationSummarySchema, x as automationVersionParamsSchema, y as automationVersionActivateSchema } from "../automation-gznOMaQ2.js";
4
4
  import { C as skillReportsSchema, S as skillReportSchema, _ as pluginPackageContentItemReportSchema, b as pluginsSchema, g as pluginOperationalReportSchema, h as pluginOperationalReportFeedSchema, m as healthReportSchema, t as webMessageId, v as pluginPackageContentReportSchema, x as runtimeInfoReportSchema, y as pluginSchema } from "../web-message-id-xPI_EFSC.js";
5
- import { A as codeChangeSummarySchema, C as locationParamsSchema, D as dailyConversationActivitySchema, F as codeRepositorySummarySchema, I as apiErrorSchema, M as codePersonReportSchema, N as codeRepositoryParamsSchema, O as codeActivityDaySchema, P as codeRepositoryReportSchema, S as locationDirectoryReportSchema, _ as actorProfileReportSchema, a as workspaceBodySchema, b as locationActivityDayReportSchema, c as workspaceRepoSchema, d as createdPersonalTokenSchema, f as personalTokenListSchema, g as actorDirectoryReportSchema, h as revokePersonalTokenResponseSchema, i as deleteWorkspaceResponseSchema, j as codeOverviewReportSchema, k as codeChangeSummaryReportSchema, l as workspaceSchema, m as personalTokenParamsSchema, n as statsReportSchema, o as workspaceListSchema, p as personalTokenMetadataSchema, r as baselineSnapshotSchema, s as workspaceParamsSchema, t as statSchema, u as createPersonalTokenBodySchema, v as personParamsSchema, x as locationDetailReportSchema, y as personalSpendReportSchema } from "../schema-Cabm4jcj.js";
6
- export { INPUT_IMAGE_TYPES, MAX_INPUT_IMAGES, MAX_INPUT_IMAGE_BYTES, acceptedConversationMessageSchema, actorDirectoryReportSchema, actorProfileReportSchema, apiErrorSchema, archiveConversationBodySchema, archiveConversationResponseSchema, automationEditErrorSchema, automationEditSchema, automationEventCatalogSchema, automationExecutionListSchema, automationExecutionSchema, automationExecutionStatusDaySchema, automationExecutionStatusSchema, automationListQuerySchema, automationListSchema, automationParamsSchema, automationRunListSchema, automationRunSchema, automationRunWindowsSchema, automationScheduleIntentSchema, automationSchedulePreviewSchema, automationSummarySchema, automationUpdateSchema, automationVersionActivateSchema, automationVersionListSchema, automationVersionParamsSchema, automationVersionSchema, baselineSnapshotSchema, cancelConversationPendingMessagesBodySchema, cancelConversationPendingMessagesResponseSchema, codeActivityDaySchema, codeChangeSummaryReportSchema, codeChangeSummarySchema, codeOverviewReportSchema, codePersonReportSchema, codeRepositoryParamsSchema, codeRepositoryReportSchema, codeRepositorySummarySchema, conversationActivityPreviewSchema, conversationAuxiliaryCostsSchema, conversationDetailQuerySchema, conversationDetailReportSchema, conversationEventHistorySchema, conversationEventPageSchema, conversationEventsQuerySchema, conversationFeedQuerySchema, conversationFeedSchema, conversationParamsSchema, conversationPendingAuthorizationSchema, conversationPendingMessageDeliverySchema, conversationPendingMessageSchema, conversationPendingMessagesReportSchema, conversationReportEventDataSchema, conversationReportEventSchema, conversationStatsReportSchema, conversationSummaryReportSchema, conversationTurnFailureCodeSchema, conversationTurnFailureReasonSchema, createConversationBodySchema, createConversationMessageBodySchema, createPersonalTokenBodySchema, createdPersonalTokenSchema, dailyConversationActivitySchema, deleteWorkspaceResponseSchema, eventAutomationSummarySchema, forkConversationBodySchema, forkConversationResponseSchema, healthReportSchema, locationActivityDayReportSchema, locationDetailReportSchema, locationDirectoryReportSchema, locationParamsSchema, messageCardText, personParamsSchema, personalSpendReportSchema, personalTokenListSchema, personalTokenMetadataSchema, personalTokenParamsSchema, pluginOperationalReportFeedSchema, pluginOperationalReportSchema, pluginPackageContentItemReportSchema, pluginPackageContentReportSchema, pluginSchema, pluginsSchema, resolveMessageCards, revokePersonalTokenResponseSchema, runtimeInfoReportSchema, scheduledAutomationSummarySchema, skillReportSchema, skillReportsSchema, statSchema, statsReportSchema, webMessageId, workspaceBodySchema, workspaceListSchema, workspaceParamsSchema, workspaceRepoSchema, workspaceSchema };
5
+ import { A as codeChangeSummarySchema, C as locationParamsSchema, D as dailyConversationActivitySchema, F as codeRepositorySummarySchema, I as conversationChildAgentSchema, L as conversationChildAgentsReportSchema, M as codePersonReportSchema, N as codeRepositoryParamsSchema, O as codeActivityDaySchema, P as codeRepositoryReportSchema, R as apiErrorSchema, S as locationDirectoryReportSchema, _ as actorProfileReportSchema, a as workspaceBodySchema, b as locationActivityDayReportSchema, c as workspaceRepoSchema, d as createdPersonalTokenSchema, f as personalTokenListSchema, g as actorDirectoryReportSchema, h as revokePersonalTokenResponseSchema, i as deleteWorkspaceResponseSchema, j as codeOverviewReportSchema, k as codeChangeSummaryReportSchema, l as workspaceSchema, m as personalTokenParamsSchema, n as statsReportSchema, o as workspaceListSchema, p as personalTokenMetadataSchema, r as baselineSnapshotSchema, s as workspaceParamsSchema, t as statSchema, u as createPersonalTokenBodySchema, v as personParamsSchema, x as locationDetailReportSchema, y as personalSpendReportSchema } from "../schema-Dyyi9oRc.js";
6
+ export { INPUT_IMAGE_TYPES, MAX_INPUT_IMAGES, MAX_INPUT_IMAGE_BYTES, acceptedConversationMessageSchema, actorDirectoryReportSchema, actorProfileReportSchema, apiErrorSchema, archiveConversationBodySchema, archiveConversationResponseSchema, automationEditErrorSchema, automationEditSchema, automationEventCatalogSchema, automationExecutionListSchema, automationExecutionSchema, automationExecutionStatusDaySchema, automationExecutionStatusSchema, automationListQuerySchema, automationListSchema, automationParamsSchema, automationRunListSchema, automationRunSchema, automationRunWindowsSchema, automationScheduleIntentSchema, automationSchedulePreviewSchema, automationSummarySchema, automationUpdateSchema, automationVersionActivateSchema, automationVersionListSchema, automationVersionParamsSchema, automationVersionSchema, baselineSnapshotSchema, cancelConversationPendingMessagesBodySchema, cancelConversationPendingMessagesResponseSchema, codeActivityDaySchema, codeChangeSummaryReportSchema, codeChangeSummarySchema, codeOverviewReportSchema, codePersonReportSchema, codeRepositoryParamsSchema, codeRepositoryReportSchema, codeRepositorySummarySchema, conversationActivityPreviewSchema, conversationAuxiliaryCostsSchema, conversationChildAgentSchema, conversationChildAgentsReportSchema, conversationDetailQuerySchema, conversationDetailReportSchema, conversationEventHistorySchema, conversationEventPageSchema, conversationEventsQuerySchema, conversationFeedQuerySchema, conversationFeedSchema, conversationParamsSchema, conversationPendingAuthorizationSchema, conversationPendingMessageDeliverySchema, conversationPendingMessageSchema, conversationPendingMessagesReportSchema, conversationReportEventDataSchema, conversationReportEventSchema, conversationStatsReportSchema, conversationSummaryReportSchema, conversationTurnFailureCodeSchema, conversationTurnFailureReasonSchema, createConversationBodySchema, createConversationMessageBodySchema, createPersonalTokenBodySchema, createdPersonalTokenSchema, dailyConversationActivitySchema, deleteWorkspaceResponseSchema, eventAutomationSummarySchema, forkConversationBodySchema, forkConversationResponseSchema, healthReportSchema, locationActivityDayReportSchema, locationDetailReportSchema, locationDirectoryReportSchema, locationParamsSchema, messageCardText, personParamsSchema, personalSpendReportSchema, personalTokenListSchema, personalTokenMetadataSchema, personalTokenParamsSchema, pluginOperationalReportFeedSchema, pluginOperationalReportSchema, pluginPackageContentItemReportSchema, pluginPackageContentReportSchema, pluginSchema, pluginsSchema, resolveMessageCards, revokePersonalTokenResponseSchema, runtimeInfoReportSchema, scheduledAutomationSummarySchema, skillReportSchema, skillReportsSchema, statSchema, statsReportSchema, webMessageId, workspaceBodySchema, workspaceListSchema, workspaceParamsSchema, workspaceRepoSchema, workspaceSchema };
package/dist/api.js CHANGED
@@ -1,24 +1,24 @@
1
- import { $ as getEventCatalog, L as editEventAutomation, O as parseSlackThreadId, P as editScheduledAutomation, R as AutomationEditError, T as readLiveAttachment, V as resolveTaskOutcomes, g as readStats, gt as getConversation, ot as cancelHumanFacingPendingMessages, tt as pluginEventCatalog, z as eventAutomationTriggerAvailable } from "./agent-runner-BTgnxJ7g.js";
2
- import { d as logException, p as logWarn } from "./logging-BdZ_mK3q.js";
1
+ import { L as editEventAutomation, Mt as getConversation, O as parseSlackThreadId, P as editScheduledAutomation, R as AutomationEditError, St as cancelHumanFacingPendingMessages, T as readLiveAttachment, V as resolveTaskOutcomes, _t as pluginEventCatalog, g as readStats, ht as getEventCatalog, tt as listChildAgents, z as eventAutomationTriggerAvailable } from "./agent-runner-DtEtbaOb.js";
2
+ import { d as logException, p as logWarn } from "./logging-z7_w-KN_.js";
3
3
  import { d as parseSlackTeamId, g as parseSlackMessageTs, l as parseSlackChannelId } from "./actor-BTtLaeWy.js";
4
- import { E as resolveRootConversationId, T as hasAgentTurnUsage, _ as locationFromRow, b as parseSessionSource, c as getConversationEventStore, d as getDb, f as getSqlExecutor, i as resolveViewerUser, m as withConversationEventLock, o as updateViewerDisplayName, t as findUserByEmail, u as getConversationStore, w as agentTurnUsageSchema } from "./viewer-BOgEy5zC.js";
5
- import { n as juniorDestinations } from "./destinations-BeBiJeEM.js";
6
- import { C as juniorCodeChanges, D as juniorConversations, E as conversationReadColumns, O as juniorIdentities, _ as juniorConversationBriefs, b as juniorConversationEvents, h as juniorConversationParticipants, k as juniorUsers, w as juniorCodeRepositories, x as juniorApiTokens, y as juniorConversationMetrics } from "./executor-CGUukwus.js";
7
- import { u as contextProvenance } from "./history-BLTUgFYO.js";
8
- import { D as automationRevision, E as AutomationConflictError, O as requireAutomationRevision, S as automationDefinition, T as sameDefinitionValue, Tt as loadTurnProjection, a as readScheduledAutomation, b as saveEventAutomation, cn as piMessageFromHistoryItem, g as getEventAutomation, m as eventAutomationBelongsToUser, o as saveScheduledAutomation, w as readAutomationVersion, x as setEventAutomationStatus } from "./tasks-EqCtmUJ2.js";
9
- import { At as listConversationAnnotations, C as WorkspaceValidationError, M as workspaceRepoCheckoutPath, O as SANDBOX_RUNTIME, Pt as lookupSlackUser, S as updateWorkspace, St as buildSentryConversationUrl, Wt as withSlackRetries, _ as deleteWorkspace, _t as conversationNotArchivedForUser, b as listWorkspaces, bt as readLatestConversationBrief, dt as conversationArchiveTimes, ft as conversationArchivedForEmail, g as createWorkspace, gt as conversationNotArchivedForEmail, ht as conversationHasParticipantUser, jt as listConversationAnnotationsById, lt as createPluginLogger, mt as conversationHasParticipantEmail, pt as conversationArchivedForUser, u as getPlugins, ut as readConversationAccessFromSql, v as getWorkspace, vt as viewerConversationMembership, x as listWorkspacesByRepository, xt as readConversationEventPage, zt as getSlackClient } from "./agent-hooks-BVttjZvb.js";
10
- import { A as forkConversationResponseSchema, D as createConversationBodySchema, N as readMessageAttachments, O as createConversationMessageBodySchema, P as INPUT_IMAGE_TYPES, T as conversationStatsReportSchema, _ as conversationParamsSchema, a as cancelConversationPendingMessagesBodySchema, c as conversationAttachmentParamsSchema, d as conversationDetailReportSchema, g as conversationFeedSchema, h as conversationFeedQuerySchema, i as archiveConversationResponseSchema, k as forkConversationBodySchema, m as conversationEventsQuerySchema, o as cancelConversationPendingMessagesResponseSchema, p as conversationEventPageSchema, r as archiveConversationBodySchema, t as acceptedConversationMessageSchema, u as conversationDetailQuerySchema, x as conversationPendingMessagesReportSchema } from "./conversation-DwD-vquD.js";
11
- import { n as hash, t as create } from "./profile-2gPzzMib.js";
4
+ import { E as resolveRootConversationId, T as hasAgentTurnUsage, _ as locationFromRow, b as parseSessionSource, c as getConversationEventStore, d as getDb, f as getSqlExecutor, i as resolveViewerUser, m as withConversationEventLock, o as updateViewerDisplayName, t as findUserByEmail, u as getConversationStore, w as agentTurnUsageSchema } from "./viewer-BBnCMR1g.js";
5
+ import { c as juniorIdentities, d as juniorDestinations, l as juniorUsers, o as conversationReadColumns, s as juniorConversations } from "./agent-invocations-BO6ddZax.js";
6
+ import { _ as juniorConversationEvents, b as juniorCodeChanges, f as juniorConversationParticipants, g as juniorConversationMetrics, m as juniorConversationBriefs, v as juniorApiTokens, x as juniorCodeRepositories } from "./executor-DA7eHhmC.js";
7
+ import { u as contextProvenance } from "./history-Nte1oVed.js";
8
+ import { D as automationRevision, E as AutomationConflictError, Et as loadTurnProjection, O as requireAutomationRevision, S as automationDefinition, T as sameDefinitionValue, a as readScheduledAutomation, b as saveEventAutomation, g as getEventAutomation, ln as piMessageFromHistoryItem, m as eventAutomationBelongsToUser, o as saveScheduledAutomation, w as readAutomationVersion, x as setEventAutomationStatus } from "./tasks-DBZAgTx7.js";
9
+ import { At as listConversationAnnotations, C as WorkspaceValidationError, M as workspaceRepoCheckoutPath, O as SANDBOX_RUNTIME, Pt as lookupSlackUser, S as updateWorkspace, St as buildSentryConversationUrl, Wt as withSlackRetries, _ as deleteWorkspace, _t as conversationNotArchivedForUser, b as listWorkspaces, bt as readLatestConversationBrief, dt as conversationArchiveTimes, ft as conversationArchivedForEmail, g as createWorkspace, gt as conversationNotArchivedForEmail, ht as conversationHasParticipantUser, jt as listConversationAnnotationsById, lt as createPluginLogger, mt as conversationHasParticipantEmail, pt as conversationArchivedForUser, u as getPlugins, ut as readConversationAccessFromSql, v as getWorkspace, vt as viewerConversationMembership, x as listWorkspacesByRepository, xt as readConversationEventPage, zt as getSlackClient } from "./agent-hooks-Cj_rSeWd.js";
10
+ import { A as forkConversationResponseSchema, D as createConversationBodySchema, N as readMessageAttachments, O as createConversationMessageBodySchema, P as INPUT_IMAGE_TYPES, T as conversationStatsReportSchema, _ as conversationParamsSchema, a as cancelConversationPendingMessagesBodySchema, c as conversationAttachmentParamsSchema, d as conversationDetailReportSchema, g as conversationFeedSchema, h as conversationFeedQuerySchema, i as archiveConversationResponseSchema, k as forkConversationBodySchema, m as conversationEventsQuerySchema, o as cancelConversationPendingMessagesResponseSchema, p as conversationEventPageSchema, r as archiveConversationBodySchema, t as acceptedConversationMessageSchema, u as conversationDetailQuerySchema, x as conversationPendingMessagesReportSchema } from "./conversation-BxvgH64Q.js";
11
+ import { n as hash, t as create } from "./profile-yeKVNECl.js";
12
12
  import { t as getFirstRunAtMs } from "./cadence-D00SCzT1.js";
13
- import { t as getCachedSnapshot } from "./resolve-DhcdtDt6.js";
14
- import { a as getVercelConversationWorkQueue } from "./job-queue-hLylM9cy.js";
13
+ import { t as getCachedSnapshot } from "./resolve-4u5gEU04.js";
14
+ import { a as getVercelConversationWorkQueue } from "./job-queue-mVyF9jgv.js";
15
15
  import { M as compileScheduleIntent, P as weekdaySchema, _ as automationSummarySchema, b as automationVersionListSchema, c as automationLifecycleSchema, d as automationParamsSchema, f as automationRunListSchema, g as automationSchedulePreviewSchema, h as automationScheduleIntentSchema, i as automationExecutionListSchema, j as ScheduleIntentError, l as automationListQuerySchema, n as automationEditSchema, r as automationEventCatalogSchema, t as automationEditErrorSchema, u as automationListSchema, v as automationUpdateSchema, x as automationVersionParamsSchema, y as automationVersionActivateSchema } from "./automation-gznOMaQ2.js";
16
16
  import { C as skillReportsSchema, a as fillUtcHours, b as pluginsSchema, c as sumUtcHoursIntoSixHours, d as trailingUtcSixHourWindow, f as utcDayKey, h as pluginOperationalReportFeedSchema, i as fillUtcDays, l as trailingUtcDayWindow, m as healthReportSchema, n as DAY_MS$1, o as fillUtcSixHours, p as utcHourKey, r as HOUR_MS$1, s as startOfUtcHour, u as trailingUtcHourWindow, x as runtimeInfoReportSchema } from "./web-message-id-xPI_EFSC.js";
17
- import { L as createVercelAttachmentStorage, M as legacyWebMailboxMetadataSchema, V as readHealthReport, _ as readViewerAutomationRuns, a as recordWebConversationActivity, b as readViewerAutomations, d as resolveSlackConversationContextFromThreadId, g as readViewerAutomationExecutions, h as readConversationSourceTask, i as createConversationId, l as getProductionSlackAdapter, m as deleteViewerTask, o as webActorFromEmail, p as ViewerTaskNotFoundError, r as createAndEnqueueConversation, t as appendAndEnqueueWebMessage, u as formatSlackConversationRedactedLabel, v as readViewerAutomationSummary, w as clearSlackPendingReactions, x as resolveViewerTaskCandidate, y as readViewerAutomationVersions } from "./web-input-TD5P9jdo.js";
18
- import { A as conversationActiveDaysColumn, M as conversationRangeColumns, j as conversationAggregateColumns } from "./task-runner-C-c0t5F5.js";
19
- import { r as getWebAuthorization } from "./web-authorization-DSMV5tMK.js";
20
- import { t as decodeInputImages } from "./images-DSxZt5vk.js";
21
- import { C as locationParamsSchema, E as activitySixHours$1, I as apiErrorSchema, M as codePersonReportSchema, N as codeRepositoryParamsSchema, P as codeRepositoryReportSchema, S as locationDirectoryReportSchema, T as activityHours$1, _ as actorProfileReportSchema, a as workspaceBodySchema, d as createdPersonalTokenSchema, f as personalTokenListSchema, g as actorDirectoryReportSchema, h as revokePersonalTokenResponseSchema, i as deleteWorkspaceResponseSchema, j as codeOverviewReportSchema, l as workspaceSchema, m as personalTokenParamsSchema, n as statsReportSchema, o as workspaceListSchema, s as workspaceParamsSchema, u as createPersonalTokenBodySchema, v as personParamsSchema, w as activityDays$1, x as locationDetailReportSchema, y as personalSpendReportSchema } from "./schema-Cabm4jcj.js";
17
+ import { H as readHealthReport, L as createVercelAttachmentStorage, M as legacyWebMailboxMetadataSchema, _ as readViewerAutomationRuns, a as recordWebConversationActivity, b as readViewerAutomations, d as resolveSlackConversationContextFromThreadId, g as readViewerAutomationExecutions, h as readConversationSourceTask, i as createConversationId, l as getProductionSlackAdapter, m as deleteViewerTask, o as webActorFromEmail, p as ViewerTaskNotFoundError, r as createAndEnqueueConversation, t as appendAndEnqueueWebMessage, u as formatSlackConversationRedactedLabel, v as readViewerAutomationSummary, w as clearSlackPendingReactions, x as resolveViewerTaskCandidate, y as readViewerAutomationVersions } from "./web-input-CIsRGF07.js";
18
+ import { A as conversationActiveDaysColumn, M as conversationRangeColumns, j as conversationAggregateColumns } from "./task-runner-D4jvUpFV.js";
19
+ import { r as getWebAuthorization } from "./web-authorization-CTltRLsB.js";
20
+ import { t as decodeInputImages } from "./images-CvMreau5.js";
21
+ import { C as locationParamsSchema, E as activitySixHours$1, L as conversationChildAgentsReportSchema, M as codePersonReportSchema, N as codeRepositoryParamsSchema, P as codeRepositoryReportSchema, R as apiErrorSchema, S as locationDirectoryReportSchema, T as activityHours$1, _ as actorProfileReportSchema, a as workspaceBodySchema, d as createdPersonalTokenSchema, f as personalTokenListSchema, g as actorDirectoryReportSchema, h as revokePersonalTokenResponseSchema, i as deleteWorkspaceResponseSchema, j as codeOverviewReportSchema, l as workspaceSchema, m as personalTokenParamsSchema, n as statsReportSchema, o as workspaceListSchema, s as workspaceParamsSchema, u as createPersonalTokenBodySchema, v as personParamsSchema, w as activityDays$1, x as locationDetailReportSchema, y as personalSpendReportSchema } from "./schema-Dyyi9oRc.js";
22
22
  import { Hono } from "hono";
23
23
  import path from "node:path";
24
24
  import { z } from "zod";
@@ -131,6 +131,32 @@ async function archiveConversation(viewer, conversationId, body) {
131
131
  throwApiError(409, "Conversation received new activity.");
132
132
  }
133
133
  //#endregion
134
+ //#region src/api/conversations/child-agents.ts
135
+ /**
136
+ * Load the direct child agents of one Conversation, or throw a standard API
137
+ * not-found error. Viewers who cannot see private content get only the status
138
+ * and time of each child agent.
139
+ */
140
+ async function requireConversationChildAgents(conversationId, options = {}) {
141
+ if (!await getConversationStore().get({ conversationId })) throwApiError(404, "Conversation not found.");
142
+ const canExposePayload = (await readConversationAccessFromSql(getDb(), [conversationId], options.viewer)).get(conversationId)?.canViewPrivateContent ?? false;
143
+ const agents = (await listChildAgents(conversationId)).map((agent) => ({
144
+ conversationId: agent.childConversationId,
145
+ status: agent.status,
146
+ updatedAt: new Date(agent.updatedAtMs).toISOString(),
147
+ ...canExposePayload ? {
148
+ ...agent.agentName ? { name: agent.agentName } : void 0,
149
+ task: agent.task,
150
+ ...agent.title ? { title: agent.title } : void 0,
151
+ ...agent.errorMessage ? { error: agent.errorMessage } : void 0
152
+ } : { redacted: true }
153
+ }));
154
+ return conversationChildAgentsReportSchema.parse({
155
+ agents,
156
+ conversationId
157
+ });
158
+ }
159
+ //#endregion
134
160
  //#region src/api/conversations/attachments.ts
135
161
  function contentDisposition(filename, contentType) {
136
162
  return `${INPUT_IMAGE_TYPES.some((type) => type === contentType) ? "inline" : "attachment"}; filename="${filename.replace(/[^\x20-\x7e]|["\\]/g, "_")}"; filename*=UTF-8''${encodeURIComponent(filename)}`;
@@ -2098,6 +2124,11 @@ function createConversationRoutes(options) {
2098
2124
  if (!report) throwApiError(404, "Conversation not found.");
2099
2125
  return jsonResponse(conversationEventPageSchema, report);
2100
2126
  });
2127
+ app.get("/:conversationId/agents", validateRequest("param", conversationParamsSchema, "Invalid route parameters."), async (context) => {
2128
+ const { conversationId } = context.req.valid("param");
2129
+ const viewer = context.get("viewer");
2130
+ return jsonResponse(conversationChildAgentsReportSchema, await requireConversationChildAgents(conversationId, { viewer }));
2131
+ });
2101
2132
  app.get("/:conversationId/pending-messages", validateRequest("param", conversationParamsSchema, "Invalid route parameters."), async (context) => {
2102
2133
  const { conversationId } = context.req.valid("param");
2103
2134
  const viewer = context.get("viewer");
@@ -3357,7 +3388,7 @@ async function readPeoplePluginReports(args) {
3357
3388
  reports: [],
3358
3389
  source: "plugins"
3359
3390
  });
3360
- const { getPluginProfileReports } = await import("./agent-hooks-BVttjZvb.js").then((n) => n.t);
3391
+ const { getPluginProfileReports } = await import("./agent-hooks-Cj_rSeWd.js").then((n) => n.t);
3361
3392
  return pluginOperationalReportFeedSchema.parse({
3362
3393
  generatedAt: new Date(nowMs).toISOString(),
3363
3394
  reports: await getPluginProfileReports({
@@ -4325,7 +4356,7 @@ function readDescriptionText(home) {
4325
4356
  }
4326
4357
  /** Read discovered skill names for authenticated runtime diagnostics. */
4327
4358
  async function readSkillReports() {
4328
- const { discoverSkills } = await import("./skills-C6PqcBPU.js").then((n) => n.o);
4359
+ const { discoverSkills } = await import("./skills-DFduSvuO.js").then((n) => n.o);
4329
4360
  const skills = await discoverSkills();
4330
4361
  return skillReportsSchema.parse(skills.map((skill) => ({
4331
4362
  name: skill.name,
@@ -4334,7 +4365,7 @@ async function readSkillReports() {
4334
4365
  }
4335
4366
  /** Read safe configured plugin metadata for authenticated runtime diagnostics. */
4336
4367
  async function readPlugins() {
4337
- const { pluginCatalogRuntime } = await import("./catalog-runtime-C2YkfMZz.js").then((n) => n.t);
4368
+ const { pluginCatalogRuntime } = await import("./catalog-runtime-CpxhLwZG.js").then((n) => n.t);
4338
4369
  return pluginsSchema.parse(pluginCatalogRuntime.getProviders().map((plugin) => ({
4339
4370
  configKeys: plugin.manifest.configKeys ?? [],
4340
4371
  description: plugin.manifest.description,
@@ -4346,7 +4377,7 @@ async function readPlugins() {
4346
4377
  async function readRuntimeInfoReport() {
4347
4378
  const [{ homeDir }, { pluginCatalogRuntime }, plugins, skills] = await Promise.all([
4348
4379
  import("./package-discovery-BVvSnQBB.js").then((n) => n.r),
4349
- import("./catalog-runtime-C2YkfMZz.js").then((n) => n.t),
4380
+ import("./catalog-runtime-CpxhLwZG.js").then((n) => n.t),
4350
4381
  readPlugins(),
4351
4382
  readSkillReports()
4352
4383
  ]);
@@ -4363,7 +4394,7 @@ async function readRuntimeInfoReport() {
4363
4394
  /** Read sanitized operational summaries contributed by plugins. */
4364
4395
  async function readPluginOperationalReportFeed() {
4365
4396
  const nowMs = Date.now();
4366
- const { getPluginOperationalReports } = await import("./agent-hooks-BVttjZvb.js").then((n) => n.t);
4397
+ const { getPluginOperationalReports } = await import("./agent-hooks-Cj_rSeWd.js").then((n) => n.t);
4367
4398
  return pluginOperationalReportFeedSchema.parse({
4368
4399
  source: "plugins",
4369
4400
  generatedAt: new Date(nowMs).toISOString(),
@@ -54,6 +54,11 @@ type CrossActorMidRunMode = "follow_up" | "steer";
54
54
  interface RuntimeLimits {
55
55
  /** Largest model context window used for compaction, in tokens. */
56
56
  contextWindowTokens?: number;
57
+ /**
58
+ * Levels of child agents that can start their own child agents. The
59
+ * default, 0, lets only the root Conversation start child agents.
60
+ */
61
+ maxAgentDepth?: number;
57
62
  /** Automated turns in a row before Junior stops answering automation. */
58
63
  maxConsecutiveAutomatedTurns?: number;
59
64
  /** Run slices one turn may use. */
package/dist/app.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { i as ModelProfileInput, n as createApp, r as JuniorDashboardOptions, t as JuniorAppOptions } from "./app-MEd7wbF0.js";
1
+ import { i as ModelProfileInput, n as createApp, r as JuniorDashboardOptions, t as JuniorAppOptions } from "./app-DRLh-8zs.js";
2
2
  import { i as defineJuniorPlugins, n as JuniorPluginSet, r as JuniorPluginSetOptions, t as JuniorPluginInput } from "./plugins-CjfUP5gJ.js";
3
3
  import { t as JUNIOR_VERSION } from "./version-CnXZ614E.js";
4
4
  export { JUNIOR_VERSION, JuniorAppOptions, type JuniorDashboardOptions, type JuniorPluginInput, type JuniorPluginSet, type JuniorPluginSetOptions, type ModelProfileInput, createApp, defineJuniorPlugins };
package/dist/app.js CHANGED
@@ -1,33 +1,33 @@
1
- import { $ as getEventCatalog, B as effectiveTaskOutcomes, Bt as SANDBOX_EGRESS_PROXY_PATH, Ct as removeActiveConversation, Dt as stopConversationWork, E as requestAttachmentDeletion, F as logScheduledAutomationRunSkipped, Ht as consumeSandboxEgressAuthRequiredSignal, I as scheduledAutomationRunAttributes, J as processWorkspaceSnapshotJob, Kt as formatProviderLabel, Lt as resolveSandboxEgressProviderForHost, Nt as isInvalidConversationRecordError, O as parseSlackThreadId, Pt as renderTaskInput, Rt as normalizeSandboxEgressTracePropagationDomains, Tt as requestConversationWork, Ut as consumeSandboxEgressPermissionDeniedSignal, Vt as clearSandboxEgressSignals, Wt as parseSandboxEgressCredentialToken, Xt as createUserTokenStore, Y as ingestEvent, Yt as startOAuthFlow, _t as getConversationWorkState, b as unpublishedArtifactHeaders, c as deleteMcpAuthSessionsForUserProvider, et as eventGuidance, gt as getConversation, ht as ensureConversationWake, i as executeCredentialedEgressRequest, it as appendAndEnqueueInboundMessage, jt as hasRunnableConversationWork$1, kt as CONVERSATION_WORK_STALE_ENQUEUE_MS, l as deleteMcpServerSessionId, lt as clearExpiredConversationLease, n as executeAgentRun, on as getConfigDefaults, sn as setConfigDefaults, t as createAgentRunner, u as deleteMcpStoredOAuthCredentials, v as publicArtifactHeaders, vt as hasRunnableConversationWork, w as collectAttachmentGarbage, x as lookupSlackUserProfile, y as readPublicArtifact, yt as listActiveConversationIds, zt as shouldPropagateSandboxEgressTrace } from "./agent-runner-BTgnxJ7g.js";
2
- import { C as withLogContext, O as JUNIOR_PLUGIN_TASK_CALLBACK_ROUTE, S as withContext, d as logException, f as logInfo, j as JUNIOR_WORKSPACE_SNAPSHOT_JOB_CALLBACK_ROUTE, p as logWarn, r as createRequestContext, v as setSpanAttributes, w as withSpan, y as setSpanStatus } from "./logging-BdZ_mK3q.js";
1
+ import { $t as resolveSandboxEgressProviderForHost, B as effectiveTaskOutcomes, Cn as setConfigDefaults, E as requestAttachmentDeletion, F as logScheduledAutomationRunSkipped, Ft as listActiveConversationIds, Gt as CONVERSATION_WORK_STALE_ENQUEUE_MS, I as scheduledAutomationRunAttributes, Mt as getConversation, Nt as getConversationWorkState, O as parseSlackThreadId, Pt as hasRunnableConversationWork, Sn as getConfigDefaults, Tt as clearExpiredConversationLease, U as recordSubagentEnded, Ut as stopConversationWork, Vt as requestConversationWork, Xt as renderTaskInput, Yt as isInvalidConversationRecordError, an as consumeSandboxEgressPermissionDeniedSignal, b as unpublishedArtifactHeaders, bt as appendAndEnqueueInboundMessage, c as deleteMcpAuthSessionsForUserProvider, cn as formatProviderLabel, dn as startOAuthFlow, dt as ingestEvent, en as normalizeSandboxEgressTracePropagationDomains, fn as createUserTokenStore, gt as eventGuidance, ht as getEventCatalog, i as executeCredentialedEgressRequest, in as consumeSandboxEgressAuthRequiredSignal, jt as ensureConversationWake, l as deleteMcpServerSessionId, n as executeAgentRun, nn as SANDBOX_EGRESS_PROXY_PATH, nt as listPendingAgentInvocationMailboxAppends, on as parseSandboxEgressCredentialToken, qt as hasRunnableConversationWork$1, rn as clearSandboxEgressSignals, rt as listPendingAgentInvocationResults, t as createAgentRunner, tn as shouldPropagateSandboxEgressTrace, u as deleteMcpStoredOAuthCredentials, ut as processWorkspaceSnapshotJob, v as publicArtifactHeaders, w as collectAttachmentGarbage, x as lookupSlackUserProfile, y as readPublicArtifact, zt as removeActiveConversation } from "./agent-runner-DtEtbaOb.js";
2
+ import { C as withLogContext, O as JUNIOR_PLUGIN_TASK_CALLBACK_ROUTE, S as withContext, d as logException, f as logInfo, j as JUNIOR_WORKSPACE_SNAPSHOT_JOB_CALLBACK_ROUTE, p as logWarn, r as createRequestContext, v as setSpanAttributes, w as withSpan, y as setSpanStatus } from "./logging-z7_w-KN_.js";
3
3
  import { r as continueTrace } from "./sentry-CgWZM_kV.js";
4
- import { t as JUNIOR_VERSION } from "./version-CjnHQ8aY.js";
5
- import { _ as snapshotRuntimeConfig, d as restoreRuntimeConfig, f as setBotModelConfig, g as setSlackReactionConfig, h as setRuntimeLimits, i as getChatConfig, m as setProfiles, n as botConfig, o as getSlackBotToken, p as setCrossActorMidRunMode, u as resetRuntimeConfig } from "./config-C6Uu3Re9.js";
4
+ import { t as JUNIOR_VERSION } from "./version-DVCHJYcY.js";
5
+ import { _ as snapshotRuntimeConfig, d as restoreRuntimeConfig, f as setBotModelConfig, g as setSlackReactionConfig, h as setRuntimeLimits, i as getChatConfig, m as setProfiles, n as botConfig, o as getSlackBotToken, p as setCrossActorMidRunMode, u as resetRuntimeConfig } from "./config-q9xXVN_5.js";
6
6
  import { _ as slackMessageTsSchema, d as parseSlackTeamId, f as parseSlackUserId, h as slackUserIdSchema, m as slackTeamIdSchema, o as parseActorUserId, p as slackChannelIdSchema } from "./actor-BTtLaeWy.js";
7
- import { D as deleteProviderIdentityForSlackUser, c as getConversationEventStore, d as getDb, f as getSqlExecutor, g as withConversationMutationLock, m as withConversationEventLock, r as readActorIdentity, u as getConversationStore } from "./viewer-BOgEy5zC.js";
8
- import { n as juniorDestinations } from "./destinations-BeBiJeEM.js";
9
- import { D as juniorConversations, _ as juniorConversationBriefs, a as juniorSchedulerRuns, b as juniorConversationEvents, m as juniorAgentInvocations, o as juniorSchedulerTasks, p as juniorAgentBindings } from "./executor-CGUukwus.js";
10
- import { n as pluginCatalogRuntime } from "./catalog-runtime-C2YkfMZz.js";
11
- import { H as slackEntitySchema, N as slackMention, Rt as appendConversationMessages, U as slackExternalRefIdSchema, Vt as projectConversationMessages, Wt as settleConversationTitleWork, a as readScheduledAutomation, c as scheduledRunId, d as collectEventAutomationMatchKeys, h as findMatchingEventAutomations, l as withScheduledAutomationLock, n as listScheduledAutomations, r as listScheduledAutomationsForTeam, s as saveScheduledAutomationInLock } from "./tasks-EqCtmUJ2.js";
12
- import { $ as verifySlackDirectCredentialSubject, At as listConversationAnnotations, Dt as resolveRootVisibility, G as findMatchingWatches, Gt as getWorkspaceTeamId, J as bindEventAutomationCredentialSubject, Kt as runWithWorkspaceTeamId, Q as verifyScheduledAutomationCredentialSubject, V as collectEventMatchKeys, Vt as isDmChannel, X as bindSlackDirectCredentialSubject, Y as bindScheduledAutomationCredentialSubject, Z as verifyEventAutomationCredentialSubject, a as getPluginRoutes, at as setDashboardConversationLinkOptions, d as setPlugins, f as validatePlugins, h as setBriefsConfig, i as getPluginApiRoutes, it as getDashboardTaskLink, lt as createPluginLogger, nt as getDashboardConversationLink, ot as createPluginState, q as takeDueTimerWatches, u as getPlugins, ut as readConversationAccessFromSql, z as cancelSubscriptions, zt as getSlackClient } from "./agent-hooks-BVttjZvb.js";
13
- import { V as annotationCard } from "./conversation-DwD-vquD.js";
14
- import { O as withLock$1, w as getStateAdapter } from "./profile-2gPzzMib.js";
15
- import { c as getThreadStopDecision } from "./pending-auth-DOzL4D24.js";
7
+ import { D as deleteProviderIdentityForSlackUser, c as getConversationEventStore, d as getDb, f as getSqlExecutor, g as withConversationMutationLock, m as withConversationEventLock, r as readActorIdentity, u as getConversationStore } from "./viewer-BBnCMR1g.js";
8
+ import { a as juniorAgentInvocations, d as juniorDestinations, i as juniorAgentBindings, s as juniorConversations } from "./agent-invocations-BO6ddZax.js";
9
+ import { _ as juniorConversationEvents, a as juniorSchedulerRuns, m as juniorConversationBriefs, o as juniorSchedulerTasks } from "./executor-DA7eHhmC.js";
10
+ import { n as pluginCatalogRuntime } from "./catalog-runtime-CpxhLwZG.js";
11
+ import { Gt as settleConversationTitleWork, H as slackEntitySchema, Ht as projectConversationMessages, N as slackMention, U as slackExternalRefIdSchema, a as readScheduledAutomation, c as scheduledRunId, d as collectEventAutomationMatchKeys, h as findMatchingEventAutomations, l as withScheduledAutomationLock, n as listScheduledAutomations, r as listScheduledAutomationsForTeam, s as saveScheduledAutomationInLock, zt as appendConversationMessages } from "./tasks-DBZAgTx7.js";
12
+ import { $ as verifySlackDirectCredentialSubject, At as listConversationAnnotations, Dt as resolveRootVisibility, G as findMatchingWatches, Gt as getWorkspaceTeamId, J as bindEventAutomationCredentialSubject, Kt as runWithWorkspaceTeamId, Q as verifyScheduledAutomationCredentialSubject, V as collectEventMatchKeys, Vt as isDmChannel, X as bindSlackDirectCredentialSubject, Y as bindScheduledAutomationCredentialSubject, Z as verifyEventAutomationCredentialSubject, a as getPluginRoutes, at as setDashboardConversationLinkOptions, d as setPlugins, f as validatePlugins, h as setBriefsConfig, i as getPluginApiRoutes, it as getDashboardTaskLink, lt as createPluginLogger, nt as getDashboardConversationLink, ot as createPluginState, q as takeDueTimerWatches, u as getPlugins, ut as readConversationAccessFromSql, z as cancelSubscriptions, zt as getSlackClient } from "./agent-hooks-Cj_rSeWd.js";
13
+ import { V as annotationCard } from "./conversation-BxvgH64Q.js";
14
+ import { O as withLock$1, w as getStateAdapter } from "./profile-yeKVNECl.js";
15
+ import { c as getThreadStopDecision } from "./pending-auth-OndKPW4M.js";
16
16
  import { n as getNextRunAtMs } from "./cadence-D00SCzT1.js";
17
- import { f as setSandboxResourceConfig, u as getSandboxResourceConfig } from "./resolve-DhcdtDt6.js";
18
- import { a as getVercelConversationWorkQueue, g as isConversationQueueMessageRejectedError, h as conversationQueueMessageSchema, i as verifyWorkspaceSnapshotJobMessage, o as resolveConversationWorkQueueTopic, s as verifyConversationQueueMessage, t as WORKSPACE_SNAPSHOT_JOB_QUEUE_TOPIC } from "./job-queue-hLylM9cy.js";
17
+ import { f as setSandboxResourceConfig, u as getSandboxResourceConfig } from "./resolve-4u5gEU04.js";
18
+ import { a as getVercelConversationWorkQueue, g as isConversationQueueMessageRejectedError, h as conversationQueueMessageSchema, i as verifyWorkspaceSnapshotJobMessage, o as resolveConversationWorkQueueTopic, s as verifyConversationQueueMessage, t as WORKSPACE_SNAPSHOT_JOB_QUEUE_TOPIC } from "./job-queue-mVyF9jgv.js";
19
19
  import { D as scheduledRunSchema } from "./automation-gznOMaQ2.js";
20
20
  import { i as setExperimentalFeatures, n as getExperimentalFeatures, r as isExperimentalFeatureEnabled } from "./experimental-Qn9rKLgx.js";
21
- import { n as validatePluginRegistrations, t as validatePluginEgressCredentialHooks } from "./validation-C8hci6pj.js";
21
+ import { n as validatePluginRegistrations, t as validatePluginEgressCredentialHooks } from "./validation-DcsBjzdi.js";
22
22
  import { a as pluginRuntimeRegistrationsFromPluginSet, n as pluginCatalogConfigFromEnv, r as pluginCatalogConfigFromPluginSet, t as defineJuniorPlugins } from "./plugins-egKWjgue.js";
23
- import { A as withNormalizedThreadId, B as GET$3, C as buildSlackInboundMessage, D as isSlackMessageStopped, E as verifySlackSignature, F as parseContent, I as renderSlackObjectCard, L as createVercelAttachmentStorage, N as THREAD_OPTOUT_ACK, O as stopSlackThread, P as startProcessingReaction, S as recordSkippedConversationMessage, T as runWithSlackInstallation, a as recordWebConversationActivity, c as createProductionSlackWebhookServices, f as createSlackWebApiStatusSender, j as getAuthPausedConversationTurnId, k as normalizeIncomingSlackThreadId, l as getProductionSlackAdapter, n as conversationTurnIdForMessage, o as webActorFromEmail, s as createProductionConversationWorkOptions, t as appendAndEnqueueWebMessage, v as readViewerAutomationSummary, w as clearSlackPendingReactions, z as enqueueAgentDispatch } from "./web-input-TD5P9jdo.js";
24
- import { _ as markDispatchFailed, a as confirmDispatchMailboxAppend, d as getPluginDispatchProjection, f as isTerminalDispatchStatus, k as recordAutomationExecution, l as getDispatchRecord, o as createOrGetDispatch, p as listPendingDispatchMailboxAppends, s as getDispatchConversationId, t as processPluginTask, y as notifyAutomationBlocked } from "./task-runner-C-c0t5F5.js";
25
- import { c as listPendingAgentInvocationMailboxAppends, r as enqueueAgentInvocation } from "./work-D39OAwP1.js";
26
- import { s as coerceThreadConversationState } from "./thread-state-B8IKs_J8.js";
27
- import { a as GET$4, i as publishAppHomeView, r as GET$5, t as receiveLocalOAuthCredential } from "./credential-sync-DvDaE-Uj.js";
28
- import { a as registerVercelPluginTaskDevConsumer, n as createVercelPluginTaskCallback, s as queueCallback } from "./task-queue-vZnBGu9B.js";
29
- import { t as processConversationWork } from "./worker-CWiLgCWH.js";
30
- import { t as bindSpawnAgent } from "./spawn-DL9x3T1o.js";
23
+ import { A as withNormalizedThreadId, B as enqueueAgentDispatch, C as buildSlackInboundMessage, D as isSlackMessageStopped, E as verifySlackSignature, F as parseContent, I as renderSlackObjectCard, L as createVercelAttachmentStorage, N as THREAD_OPTOUT_ACK, O as stopSlackThread, P as startProcessingReaction, R as enqueueAgentInvocationResult, S as recordSkippedConversationMessage, T as runWithSlackInstallation, V as GET$3, a as recordWebConversationActivity, c as createProductionSlackWebhookServices, f as createSlackWebApiStatusSender, j as getAuthPausedConversationTurnId, k as normalizeIncomingSlackThreadId, l as getProductionSlackAdapter, n as conversationTurnIdForMessage, o as webActorFromEmail, s as createProductionConversationWorkOptions, t as appendAndEnqueueWebMessage, v as readViewerAutomationSummary, w as clearSlackPendingReactions } from "./web-input-CIsRGF07.js";
24
+ import { _ as markDispatchFailed, a as confirmDispatchMailboxAppend, d as getPluginDispatchProjection, f as isTerminalDispatchStatus, k as recordAutomationExecution, l as getDispatchRecord, o as createOrGetDispatch, p as listPendingDispatchMailboxAppends, s as getDispatchConversationId, t as processPluginTask, y as notifyAutomationBlocked } from "./task-runner-D4jvUpFV.js";
25
+ import { r as enqueueAgentInvocation } from "./work-fje9VXgQ.js";
26
+ import { s as coerceThreadConversationState } from "./thread-state-hj70P2Cp.js";
27
+ import { a as GET$4, i as publishAppHomeView, r as GET$5, t as receiveLocalOAuthCredential } from "./credential-sync-Bsn-6m16.js";
28
+ import { a as registerVercelPluginTaskDevConsumer, n as createVercelPluginTaskCallback, s as queueCallback } from "./task-queue-BQ0vnumm.js";
29
+ import { t as processConversationWork } from "./worker-Byd2Et9r.js";
30
+ import { t as bindSpawnAgent } from "./spawn-DYg7jhhR.js";
31
31
  import { createRequire } from "node:module";
32
32
  import { Hono } from "hono";
33
33
  import { z } from "zod";
@@ -1052,6 +1052,19 @@ async function recoverPendingAgentInvocationMailboxAppends(args) {
1052
1052
  logException(error, "agent.invocation.mailbox.append_recovery.failed", { "app.agent.invocation_id": invocation.invocationId });
1053
1053
  }
1054
1054
  }
1055
+ /** Repair terminal agent invocation results that never reached their parent. */
1056
+ async function recoverPendingAgentInvocationResults(args) {
1057
+ const invocations = await listPendingAgentInvocationResults(AGENT_INVOCATION_MAILBOX_APPEND_LIMIT);
1058
+ for (const invocation of invocations) try {
1059
+ await recordSubagentEnded(invocation);
1060
+ await enqueueAgentInvocationResult(invocation, {
1061
+ nowMs: args.nowMs,
1062
+ queue: args.conversationWorkQueue
1063
+ });
1064
+ } catch (error) {
1065
+ logException(error, "agent.invocation.result.recovery.failed", { "app.agent.invocation_id": invocation.invocationId });
1066
+ }
1067
+ }
1055
1068
  /** Run the core heartbeat phases. */
1056
1069
  async function runHeartbeat(args) {
1057
1070
  const queue = args.conversationWorkQueue ?? getVercelConversationWorkQueue();
@@ -1067,6 +1080,10 @@ async function runHeartbeat(args) {
1067
1080
  conversationWorkQueue: queue,
1068
1081
  nowMs: args.nowMs
1069
1082
  });
1083
+ await recoverPendingAgentInvocationResults({
1084
+ conversationWorkQueue: queue,
1085
+ nowMs: args.nowMs
1086
+ });
1070
1087
  try {
1071
1088
  const dispatchCount = await runScheduledAutomationHeartbeat({
1072
1089
  conversationWorkQueue: queue,
@@ -1,7 +1,7 @@
1
- import { r as completeObject } from "./client-D51G-Jdg.js";
1
+ import { r as completeObject } from "./client-BVaGEb1-.js";
2
2
  import { r as defaultModelId } from "./model-profile-BwU8mqwD.js";
3
- import { B as parseBriefInput, I as briefCodeChangeSchema, d as conversationDetailReportSchema, p as conversationEventPageSchema } from "./conversation-DwD-vquD.js";
4
- import { n as briefEntriesFromReportEvents, s as generateBrief, t as BRIEF_PROMPT } from "./prompt-CMU-B4FA.js";
3
+ import { B as parseBriefInput, I as briefCodeChangeSchema, d as conversationDetailReportSchema, p as conversationEventPageSchema } from "./conversation-BxvgH64Q.js";
4
+ import { n as briefEntriesFromReportEvents, s as generateBrief, t as BRIEF_PROMPT } from "./prompt-CX36ZlbV.js";
5
5
  import { CLI_USAGE } from "./cli/run.js";
6
6
  import path from "node:path";
7
7
  import { z } from "zod";
@@ -269,7 +269,7 @@ async function parseRunOptions(argv) {
269
269
  * `DATABASE_URL` at import, and `briefs pull` must work with only a token.
270
270
  */
271
271
  async function configuredDefaultModelId() {
272
- const { botConfig } = await import("./config-C6Uu3Re9.js").then((n) => n.r);
272
+ const { botConfig } = await import("./config-q9xXVN_5.js").then((n) => n.r);
273
273
  return defaultModelId(botConfig);
274
274
  }
275
275
  function apiUrl(baseUrl, pathname) {
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.js";
2
- import { t as createPluginCatalogRuntime } from "./registry-XJkXDNK2.js";
2
+ import { t as createPluginCatalogRuntime } from "./registry-DvzzL8-v.js";
3
3
  //#region src/chat/plugins/catalog-runtime.ts
4
4
  var catalog_runtime_exports = /* @__PURE__ */ __exportAll({ pluginCatalogRuntime: () => pluginCatalogRuntime });
5
5
  const pluginCatalogRuntime = createPluginCatalogRuntime();
package/dist/cli/chat.js CHANGED
@@ -1,4 +1,4 @@
1
- import { n as executeAgentRun, t as createAgentRunner } from "../agent-runner-BTgnxJ7g.js";
1
+ import { n as executeAgentRun, t as createAgentRunner } from "../agent-runner-DtEtbaOb.js";
2
2
  import { t as loadAppPluginSet } from "../plugin-module-CVvEUSMH.js";
3
3
  import path from "node:path";
4
4
  import { createHash, randomUUID } from "node:crypto";
@@ -100,10 +100,10 @@ async function loadLocalPluginSet() {
100
100
  async function configureLocalChatPlugins(pluginSet) {
101
101
  const [pluginsModule, agentHooksModule, catalogRuntimeModule, validationModule, databaseModule] = await Promise.all([
102
102
  import("../plugins-egKWjgue.js").then((n) => n.o),
103
- import("../agent-hooks-BVttjZvb.js").then((n) => n.t),
104
- import("../catalog-runtime-C2YkfMZz.js").then((n) => n.t),
105
- import("../validation-C8hci6pj.js").then((n) => n.r),
106
- import("../viewer-BOgEy5zC.js").then((n) => n.s)
103
+ import("../agent-hooks-Cj_rSeWd.js").then((n) => n.t),
104
+ import("../catalog-runtime-CpxhLwZG.js").then((n) => n.t),
105
+ import("../validation-DcsBjzdi.js").then((n) => n.r),
106
+ import("../viewer-BBnCMR1g.js").then((n) => n.s)
107
107
  ]);
108
108
  const resolvedPluginSet = pluginSet === void 0 ? await loadLocalPluginSet() : pluginSet ?? void 0;
109
109
  const plugins = pluginsModule.pluginRuntimeRegistrationsFromPluginSet(resolvedPluginSet);
@@ -155,16 +155,16 @@ async function prepareLocalChatRun(io, pluginSet) {
155
155
  await configureLocalChatPlugins(pluginSet);
156
156
  const { setExperimentalFeatures } = await import("../experimental-Qn9rKLgx.js").then((n) => n.t);
157
157
  setExperimentalFeatures({ subagents: true });
158
- const { setBriefsConfig } = await import("../agent-hooks-BVttjZvb.js").then((n) => n.m);
158
+ const { setBriefsConfig } = await import("../agent-hooks-Cj_rSeWd.js").then((n) => n.m);
159
159
  setBriefsConfig({ enabled: true });
160
- const { runLocalAgentTurn } = await import("../runner-CGyrnIPm.js");
161
- const { startLocalOAuthCallbackServer } = await import("../oauth-callback-server-C3BOSmT_.js");
160
+ const { runLocalAgentTurn } = await import("../runner-Y6A6pww4.js");
161
+ const { startLocalOAuthCallbackServer } = await import("../oauth-callback-server-_MfOtSxS.js");
162
162
  const { createLocalOAuthState } = await import("../oauth-relay-CdCnu80W.js").then((n) => n.t);
163
- const { createLocalSandboxEgressSignalTransport } = await import("../sandbox-egress-signals-D6F3OZJP.js");
164
- const { bindSpawnAgent } = await import("../spawn-DL9x3T1o.js").then((n) => n.n);
165
- const { createAgentInvocationWorker, routeAgentInvocationWork } = await import("../work-D39OAwP1.js").then((n) => n.a);
163
+ const { createLocalSandboxEgressSignalTransport } = await import("../sandbox-egress-signals-D7AOkuoe.js");
164
+ const { bindSpawnAgent } = await import("../spawn-DYg7jhhR.js").then((n) => n.n);
165
+ const { createAgentInvocationWorker, routeAgentInvocationWork } = await import("../work-fje9VXgQ.js").then((n) => n.a);
166
166
  const { createLocalConversationWork } = await import("../conversation-work-C6y3T5Hx.js");
167
- const { processConversationWork } = await import("../worker-CWiLgCWH.js").then((n) => n.n);
167
+ const { processConversationWork } = await import("../worker-Byd2Et9r.js").then((n) => n.n);
168
168
  let agentRunner;
169
169
  const localConversationWork = createLocalConversationWork(async (message) => {
170
170
  if (!agentRunner) throw new Error("Local agent runner is not ready");
package/dist/cli/check.js CHANGED
@@ -1,6 +1,6 @@
1
- import { D as JUNIOR_HEARTBEAT_ROUTE, M as LEGACY_JUNIOR_CONVERSATION_WORK_FUNCTION, T as JUNIOR_CONVERSATION_WORK_CALLBACK_ROUTE } from "../logging-BdZ_mK3q.js";
2
- import { _ as parsePluginManifest, g as parseInlinePluginManifest } from "../registry-XJkXDNK2.js";
3
- import { i as parseSkillFile } from "../skills-C6PqcBPU.js";
1
+ import { D as JUNIOR_HEARTBEAT_ROUTE, M as LEGACY_JUNIOR_CONVERSATION_WORK_FUNCTION, T as JUNIOR_CONVERSATION_WORK_CALLBACK_ROUTE } from "../logging-z7_w-KN_.js";
2
+ import { _ as parsePluginManifest, g as parseInlinePluginManifest } from "../registry-DvzzL8-v.js";
3
+ import { i as parseSkillFile } from "../skills-DFduSvuO.js";
4
4
  import path from "node:path";
5
5
  import fs from "node:fs/promises";
6
6
  import { pathToFileURL } from "node:url";
package/dist/cli/main.js CHANGED
@@ -25,10 +25,10 @@ async function runChat(argv, pluginSet) {
25
25
  return await (await import("./chat.js")).runChat(argv, void 0, { pluginSet });
26
26
  }
27
27
  async function runAdmin(argv) {
28
- return await (await import("../admin-C54kvHVC.js")).runAdmin(argv);
28
+ return await (await import("../admin-CF9lQg0M.js")).runAdmin(argv);
29
29
  }
30
30
  async function runBriefs(argv) {
31
- return await (await import("../briefs-CKUsv9F1.js")).runBriefs(argv);
31
+ return await (await import("../briefs-BMzTiGJO.js")).runBriefs(argv);
32
32
  }
33
33
  function topLevelCommand(argv) {
34
34
  return (argv[0] === "--" ? argv.slice(1) : argv)[0];
@@ -1,7 +1,7 @@
1
- import { d as getDb } from "../viewer-BOgEy5zC.js";
2
- import { n as pluginCatalogRuntime } from "../catalog-runtime-C2YkfMZz.js";
3
- import { d as setPlugins, f as validatePlugins, lt as createPluginLogger } from "../agent-hooks-BVttjZvb.js";
4
- import { n as validatePluginRegistrations, t as validatePluginEgressCredentialHooks } from "../validation-C8hci6pj.js";
1
+ import { d as getDb } from "../viewer-BBnCMR1g.js";
2
+ import { n as pluginCatalogRuntime } from "../catalog-runtime-CpxhLwZG.js";
3
+ import { d as setPlugins, f as validatePlugins, lt as createPluginLogger } from "../agent-hooks-Cj_rSeWd.js";
4
+ import { n as validatePluginRegistrations, t as validatePluginEgressCredentialHooks } from "../validation-DcsBjzdi.js";
5
5
  import { a as pluginRuntimeRegistrationsFromPluginSet, i as pluginCliRegistrationsFromPluginSet, r as pluginCatalogConfigFromPluginSet } from "../plugins-egKWjgue.js";
6
6
  import { t as loadAppPluginSet } from "../plugin-module-CVvEUSMH.js";
7
7
  import { stderr, stdout } from "node:process";
@@ -1,6 +1,6 @@
1
- import { n as pluginCatalogRuntime } from "../catalog-runtime-C2YkfMZz.js";
2
- import { S as disconnectStateAdapter, t as create } from "../profile-2gPzzMib.js";
3
- import { r as resolve } from "../resolve-DhcdtDt6.js";
1
+ import { n as pluginCatalogRuntime } from "../catalog-runtime-CpxhLwZG.js";
2
+ import { S as disconnectStateAdapter, t as create } from "../profile-yeKVNECl.js";
3
+ import { r as resolve } from "../resolve-4u5gEU04.js";
4
4
  //#region src/cli/snapshot-create.ts
5
5
  const DEFAULT_RUNTIME = "node22";
6
6
  const DEFAULT_TIMEOUT_MS = 6e5;
@@ -1,6 +1,6 @@
1
- import { i as getChatConfig } from "../config-C6Uu3Re9.js";
2
- import { t as createJuniorSqlExecutor } from "../executor-CGUukwus.js";
3
- import { t as createPluginCatalogRuntime } from "../registry-XJkXDNK2.js";
1
+ import { i as getChatConfig } from "../config-q9xXVN_5.js";
2
+ import { t as createJuniorSqlExecutor } from "../executor-DA7eHhmC.js";
3
+ import { t as createPluginCatalogRuntime } from "../registry-DvzzL8-v.js";
4
4
  import { n as pluginCatalogConfigFromEnv, r as pluginCatalogConfigFromPluginSet, t as defineJuniorPlugins } from "../plugins-egKWjgue.js";
5
5
  import { t as loadAppPluginSet } from "../plugin-module-CVvEUSMH.js";
6
6
  import { basename, dirname, join, resolve } from "node:path";
@@ -1,5 +1,5 @@
1
- import { d as logException, g as serializeGenAiAttribute, i as extractGenAiUsageAttributes, m as normalizeGenAiFinishReason, p as logWarn, w as withSpan } from "./logging-BdZ_mK3q.js";
2
- import { a as toCanonicalInputMessage, n as getCurrentConversationPrivacy, o as toCanonicalOutputMessage, s as toGenAiMessagesTraceAttributes } from "./conversation-privacy-CzL47nXs.js";
1
+ import { d as logException, g as serializeGenAiAttribute, i as extractGenAiUsageAttributes, m as normalizeGenAiFinishReason, p as logWarn, w as withSpan } from "./logging-z7_w-KN_.js";
2
+ import { a as toCanonicalInputMessage, n as getCurrentConversationPrivacy, o as toCanonicalOutputMessage, s as toGenAiMessagesTraceAttributes } from "./conversation-privacy-Dyh_63Ee.js";
3
3
  import { calculateCost, completeSimple, getEnvApiKey, getModels, registerApiProvider } from "@earendil-works/pi-ai/compat";
4
4
  import { stream as streamAnthropic, streamSimple as streamSimpleAnthropic } from "@earendil-works/pi-ai/api/anthropic-messages";
5
5
  import { createGatewayProvider } from "@ai-sdk/gateway";