@sentry/junior 0.261.0 → 0.263.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 (71) hide show
  1. package/dist/{adapter-Bx_1B2De.js → adapter-BIacI0Bt.js} +2 -2
  2. package/dist/{admin-BAbbVgVc.js → admin-C7vUk7s9.js} +1 -1
  3. package/dist/{agent-hooks-ghyZZQqB.js → agent-hooks-CqnZfuCt.js} +126 -36
  4. package/dist/{agent-invocations-Qfz7dWgU.js → agent-invocations-CxKldAeB.js} +1 -0
  5. package/dist/{agent-runner-g110-xgg.js → agent-runner-BUBas7Yy.js} +150 -683
  6. package/dist/api/schema.d.ts +4 -0
  7. package/dist/api/schema.js +3 -3
  8. package/dist/api.js +34 -30
  9. package/dist/{app-VCiPQ65Q.d.ts → app-Bo0kB987.d.ts} +1 -1
  10. package/dist/app.d.ts +1 -1
  11. package/dist/app.js +55 -61
  12. package/dist/{assistant-reply-CQcMaWNL.js → assistant-reply-BFmjgJjD.js} +1 -1
  13. package/dist/{automation-DrpcA-SX.js → automation-CWX0qL8U.js} +1 -1
  14. package/dist/{briefs-CKcfrIQL.js → briefs-h55v5lX9.js} +4 -4
  15. package/dist/{catalog-runtime-cd60vzAB.js → catalog-runtime-Suf-aLlh.js} +1 -1
  16. package/dist/cli/chat.js +15 -17
  17. package/dist/cli/check.js +3 -3
  18. package/dist/cli/main.js +3 -3
  19. package/dist/cli/plugins.js +4 -4
  20. package/dist/cli/snapshot-create.js +4 -4
  21. package/dist/cli/upgrade.js +3 -3
  22. package/dist/{client-2i0JJpoC.js → client-DZBCBj1M.js} +2 -2
  23. package/dist/{config-C9qM41O0.js → config-Dnv8KmNs.js} +2 -2
  24. package/dist/{connections-DrtTrwkp.js → connections-Br0_xv27.js} +10 -10
  25. package/dist/{conversation-CvuKJ3tA.js → conversation-B0baEwoA.js} +2 -0
  26. package/dist/{conversation-privacy-1iTiFX1O.js → conversation-privacy-FY8yc2q3.js} +1 -1
  27. package/dist/{credential-sync-wKNQ1dYc.js → credential-sync-BvkiyWF5.js} +14 -14
  28. package/dist/{executor-Rimyj8HZ.js → executor-J9k2sp9m.js} +4 -3
  29. package/dist/{images-D1JggcVY.js → images-DV2FlEGL.js} +3 -3
  30. package/dist/instrumentation.js +2 -2
  31. package/dist/{job-queue-BjQdSqA3.js → job-queue-B4yTgklN.js} +1 -1
  32. package/dist/{logging-BLTa7R7f.js → logging-Dk_FpF36.js} +1 -1
  33. package/dist/{message-DAeP5WWW.js → message-BzseAFH1.js} +4 -3
  34. package/dist/nitro.d.ts +1 -1
  35. package/dist/nitro.js +3 -3
  36. package/dist/{oauth-callback-server-BAy1hhF1.js → oauth-callback-server-bTspTMCC.js} +2 -2
  37. package/dist/{profile-CthM2qFM.js → profile-Dq5I7TV1.js} +13 -6
  38. package/dist/{prompt-DeVax2qO.js → prompt-CxatQVaj.js} +1 -1
  39. package/dist/{registry-BnSaArNb.js → registry-BFzQFV_y.js} +1 -1
  40. package/dist/{resolve-B5eLRl0v.js → resolve-CnRHib0U.js} +4 -4
  41. package/dist/{result-Cvm0GZCv.js → result-DczfmNBa.js} +18 -12
  42. package/dist/{runner-D-pUzHbU.js → runner-CJd9Wec-.js} +11 -11
  43. package/dist/{sandbox-egress-signals-mvwGV7rl.js → sandbox-egress-signals-DUmVkOx4.js} +1 -1
  44. package/dist/{schema-OzL8Zw4H.js → schema-QidbykYl.js} +3 -3
  45. package/dist/{service-account-DWxvpSfd.js → service-account-BI2kQDrb.js} +3 -3
  46. package/dist/{service-account-Ch1uIpnR.js → service-account-x2QZXm4X.js} +3 -3
  47. package/dist/{session-stop-Boj_zpTa.js → session-stop-CtyJsnEj.js} +12 -12
  48. package/dist/{skills-BpdYCfFt.js → skills-Dbzx9-rS.js} +2 -2
  49. package/dist/{spawn-h1DJMQTf.js → spawn-D8WU99UV.js} +3 -2
  50. package/dist/store-TKg1HVKx.js +697 -0
  51. package/dist/{store-B6KqcdCQ.js → store-UlOrW6JC.js} +6 -6
  52. package/dist/{task-queue-BaDwKSYv.js → task-queue-BRB49H-J.js} +3 -3
  53. package/dist/{task-runner-BAX5li9a.js → task-runner-C575f2Dd.js} +19 -11
  54. package/dist/{tasks-uCfmlWga.js → tasks-LOItiYgL.js} +46 -66
  55. package/dist/{thread-state-BJHVIz8G.js → thread-state-IDHdZA7R.js} +5 -5
  56. package/dist/{turn-failure-response-CCC76P6-.js → turn-failure-response-h_LSXJ-M.js} +46 -20
  57. package/dist/{turn-lifecycle-pHSESVR9.js → turn-lifecycle-Cvi6Sb8Y.js} +1 -1
  58. package/dist/{turn-session-routing-BIKJZaiw.js → turn-session-routing-5Nyv4fso.js} +1 -1
  59. package/dist/{validation-B9KL_5Wc.js → validation-BeTriWC2.js} +1 -1
  60. package/dist/{version-CN9BXMW_.js → version-BQX_hLDC.js} +1 -1
  61. package/dist/version.js +1 -1
  62. package/dist/{viewer-C5xFaYVi.js → viewer-DmNRM88V.js} +4 -4
  63. package/dist/{web-input-D6eqfXYd.js → web-input-BHcGXSox.js} +97 -36
  64. package/dist/{work-C-ecZAme.js → work-DLJMV02b.js} +41 -10
  65. package/dist/{worker-BpYDqiOf.js → worker-vfG2ESg1.js} +5 -5
  66. package/migrations/0062_plugin_report_index.sql +20 -0
  67. package/migrations/0063_agent_invocation_type.sql +1 -0
  68. package/migrations/meta/0062_snapshot.json +3499 -0
  69. package/migrations/meta/0063_snapshot.json +3505 -0
  70. package/migrations/meta/_journal.json +14 -0
  71. package/package.json +4 -4
@@ -750,6 +750,7 @@ export declare const conversationReportEventDataSchema: z.ZodDiscriminatedUnion<
750
750
  slackUserId: z.ZodOptional<z.ZodString>;
751
751
  slackUserName: z.ZodOptional<z.ZodString>;
752
752
  }, z.core.$strict>>;
753
+ agentInvocationId: z.ZodOptional<z.ZodString>;
753
754
  eventType: z.ZodOptional<z.ZodString>;
754
755
  eventObjectType: z.ZodOptional<z.ZodEnum<{
755
756
  automation: "automation";
@@ -1003,6 +1004,7 @@ export declare const conversationReportEventSchema: z.ZodObject<{
1003
1004
  slackUserId: z.ZodOptional<z.ZodString>;
1004
1005
  slackUserName: z.ZodOptional<z.ZodString>;
1005
1006
  }, z.core.$strict>>;
1007
+ agentInvocationId: z.ZodOptional<z.ZodString>;
1006
1008
  eventType: z.ZodOptional<z.ZodString>;
1007
1009
  eventObjectType: z.ZodOptional<z.ZodEnum<{
1008
1010
  automation: "automation";
@@ -1648,6 +1650,7 @@ export declare const conversationDetailReportSchema: z.ZodObject<{
1648
1650
  slackUserId: z.ZodOptional<z.ZodString>;
1649
1651
  slackUserName: z.ZodOptional<z.ZodString>;
1650
1652
  }, z.core.$strict>>;
1653
+ agentInvocationId: z.ZodOptional<z.ZodString>;
1651
1654
  eventType: z.ZodOptional<z.ZodString>;
1652
1655
  eventObjectType: z.ZodOptional<z.ZodEnum<{
1653
1656
  automation: "automation";
@@ -1962,6 +1965,7 @@ export declare const conversationEventPageSchema: z.ZodObject<{
1962
1965
  slackUserId: z.ZodOptional<z.ZodString>;
1963
1966
  slackUserName: z.ZodOptional<z.ZodString>;
1964
1967
  }, z.core.$strict>>;
1968
+ agentInvocationId: z.ZodOptional<z.ZodString>;
1965
1969
  eventType: z.ZodOptional<z.ZodString>;
1966
1970
  eventObjectType: z.ZodOptional<z.ZodEnum<{
1967
1971
  automation: "automation";
@@ -1,6 +1,6 @@
1
1
  import { a as conversationTurnFailureReasonSchema, i as conversationTurnFailureCodeSchema } from "../history-AY8rs-FR.js";
2
- import { A as forkConversationResponseSchema, C as conversationReportEventSchema, D as createConversationBodySchema, L as resolveMessageCards, O as createConversationMessageBodySchema, P as messageCardText, R as MAX_INPUT_IMAGES, S as conversationReportEventDataSchema, T as conversationSummaryReportSchema, V as INPUT_IMAGE_TYPES, _ 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 conversationChildAgentTotalsSchema, 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, z as MAX_INPUT_IMAGE_BYTES } from "../conversation-CvuKJ3tA.js";
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-DrpcA-SX.js";
2
+ import { A as forkConversationResponseSchema, C as conversationReportEventSchema, D as createConversationBodySchema, L as resolveMessageCards, O as createConversationMessageBodySchema, P as messageCardText, R as MAX_INPUT_IMAGES, S as conversationReportEventDataSchema, T as conversationSummaryReportSchema, V as INPUT_IMAGE_TYPES, _ 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 conversationChildAgentTotalsSchema, 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, z as MAX_INPUT_IMAGE_BYTES } from "../conversation-B0baEwoA.js";
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-CWX0qL8U.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-CJSUiksE.js";
5
- import { B as codeChangeSummarySchema, C as personParamsSchema, D as locationDirectoryReportSchema, E as locationDetailReportSchema, F as connectionSchema, G as codeRepositorySummarySchema, H as codePersonReportSchema, I as disconnectConnectionResponseSchema, J as stopConversationTurnResponseSchema, K as conversationChildAgentSchema, L as startConnectionResponseSchema, M as dailyConversationActivitySchema, N as connectionListSchema, O as locationParamsSchema, P as connectionParamsSchema, R as codeActivityDaySchema, S as actorProfileReportSchema, T as locationActivityDayReportSchema, U as codeRepositoryParamsSchema, V as codeOverviewReportSchema, W as codeRepositoryReportSchema, X as apiErrorSchema, Y as conversationStatsReportSchema, _ as personalTokenListSchema, a as workspaceBodySchema, b as revokePersonalTokenResponseSchema, c as workspaceRepoSchema, d as serviceAccountListSchema, f as serviceAccountParamsSchema, g as createdPersonalTokenSchema, h as createPersonalTokenBodySchema, i as deleteWorkspaceResponseSchema, l as workspaceSchema, m as startServiceAccountSignInResponseSchema, n as statsReportSchema, o as workspaceListSchema, p as serviceAccountSchema, q as conversationChildAgentsReportSchema, r as baselineSnapshotSchema, s as workspaceParamsSchema, t as statSchema, u as disconnectServiceAccountResponseSchema, v as personalTokenMetadataSchema, w as personalSpendReportSchema, x as actorDirectoryReportSchema, y as personalTokenParamsSchema, z as codeChangeSummaryReportSchema } from "../schema-OzL8Zw4H.js";
5
+ import { B as codeChangeSummarySchema, C as personParamsSchema, D as locationDirectoryReportSchema, E as locationDetailReportSchema, F as connectionSchema, G as codeRepositorySummarySchema, H as codePersonReportSchema, I as disconnectConnectionResponseSchema, J as stopConversationTurnResponseSchema, K as conversationChildAgentSchema, L as startConnectionResponseSchema, M as dailyConversationActivitySchema, N as connectionListSchema, O as locationParamsSchema, P as connectionParamsSchema, R as codeActivityDaySchema, S as actorProfileReportSchema, T as locationActivityDayReportSchema, U as codeRepositoryParamsSchema, V as codeOverviewReportSchema, W as codeRepositoryReportSchema, X as apiErrorSchema, Y as conversationStatsReportSchema, _ as personalTokenListSchema, a as workspaceBodySchema, b as revokePersonalTokenResponseSchema, c as workspaceRepoSchema, d as serviceAccountListSchema, f as serviceAccountParamsSchema, g as createdPersonalTokenSchema, h as createPersonalTokenBodySchema, i as deleteWorkspaceResponseSchema, l as workspaceSchema, m as startServiceAccountSignInResponseSchema, n as statsReportSchema, o as workspaceListSchema, p as serviceAccountSchema, q as conversationChildAgentsReportSchema, r as baselineSnapshotSchema, s as workspaceParamsSchema, t as statSchema, u as disconnectServiceAccountResponseSchema, v as personalTokenMetadataSchema, w as personalSpendReportSchema, x as actorDirectoryReportSchema, y as personalTokenParamsSchema, z as codeChangeSummaryReportSchema } from "../schema-QidbykYl.js";
6
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, connectionListSchema, connectionParamsSchema, connectionSchema, conversationActivityPreviewSchema, conversationAuxiliaryCostsSchema, conversationChildAgentSchema, conversationChildAgentTotalsSchema, 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, disconnectConnectionResponseSchema, disconnectServiceAccountResponseSchema, eventAutomationSummarySchema, forkConversationBodySchema, forkConversationResponseSchema, healthReportSchema, locationActivityDayReportSchema, locationDetailReportSchema, locationDirectoryReportSchema, locationParamsSchema, messageCardText, personParamsSchema, personalSpendReportSchema, personalTokenListSchema, personalTokenMetadataSchema, personalTokenParamsSchema, pluginOperationalReportFeedSchema, pluginOperationalReportSchema, pluginPackageContentItemReportSchema, pluginPackageContentReportSchema, pluginSchema, pluginsSchema, resolveMessageCards, revokePersonalTokenResponseSchema, runtimeInfoReportSchema, scheduledAutomationSummarySchema, serviceAccountListSchema, serviceAccountParamsSchema, serviceAccountSchema, skillReportSchema, skillReportsSchema, startConnectionResponseSchema, startServiceAccountSignInResponseSchema, statSchema, statsReportSchema, stopConversationTurnResponseSchema, webMessageId, workspaceBodySchema, workspaceListSchema, workspaceParamsSchema, workspaceRepoSchema, workspaceSchema };
package/dist/api.js CHANGED
@@ -1,30 +1,31 @@
1
- import { D as AutomationConflictError, E as sameDefinitionValue, L as loadTurnProjection, O as automationRevision, S as automationDefinition, T as readAutomationVersion, a as saveScheduledAutomation, bn as createUserTokenStore, k as requireAutomationRevision, rr as piMessageFromHistoryItem, v as saveEventAutomation, y as setEventAutomationStatus } from "./tasks-uCfmlWga.js";
2
- import { p as escapeXml } from "./client-2i0JJpoC.js";
3
- import { f as logException, m as logWarn, p as logInfo } from "./logging-BLTa7R7f.js";
1
+ import { D as AutomationConflictError, E as sameDefinitionValue, I as loadTurnProjection, O as automationRevision, S as automationDefinition, T as readAutomationVersion, a as saveScheduledAutomation, bn as createUserTokenStore, k as requireAutomationRevision, rr as piMessageFromHistoryItem, v as saveEventAutomation, y as setEventAutomationStatus } from "./tasks-LOItiYgL.js";
2
+ import { p as escapeXml } from "./client-DZBCBj1M.js";
3
+ import { f as logException, m as logWarn, p as logInfo } from "./logging-Dk_FpF36.js";
4
4
  import { d as parseSlackTeamId, g as parseSlackMessageTs, l as parseSlackChannelId } from "./actor-tlxzqaRe.js";
5
- import { C as addAgentTurnUsage, D as hasAgentTurnUsage, E as agentTurnUsageSchema, O as resolveRootConversationId, S as parseSessionSource, c as getConversationEventStore, d as getDb, f as getSqlExecutor, h as loadConversationSlackTenantIds, i as resolveViewerUser, m as withConversationEventLock, o as updateViewerDisplayName, t as findUserByEmail, u as getConversationStore, v as locationFromRow } from "./viewer-C5xFaYVi.js";
6
- import { c as juniorIdentities, d as juniorDestinations, l as juniorUsers, o as conversationReadColumns, s as juniorConversations } from "./agent-invocations-Qfz7dWgU.js";
7
- import { f as juniorConversationBriefs, g as juniorApiTokens, h as juniorConversationEvents, m as juniorConversationMetrics, u as juniorConversationParticipants, v as juniorCodeChanges, y as juniorCodeRepositories } from "./executor-Rimyj8HZ.js";
5
+ import { C as addAgentTurnUsage, D as hasAgentTurnUsage, E as agentTurnUsageSchema, O as resolveRootConversationId, S as parseSessionSource, c as getConversationEventStore, d as getDb, f as getSqlExecutor, h as loadConversationSlackTenantIds, i as resolveViewerUser, m as withConversationEventLock, o as updateViewerDisplayName, t as findUserByEmail, u as getConversationStore, v as locationFromRow } from "./viewer-DmNRM88V.js";
6
+ import { c as juniorIdentities, d as juniorDestinations, l as juniorUsers, o as conversationReadColumns, s as juniorConversations } from "./agent-invocations-CxKldAeB.js";
7
+ import { f as juniorConversationBriefs, g as juniorApiTokens, h as juniorConversationEvents, m as juniorConversationMetrics, u as juniorConversationParticipants, v as juniorCodeChanges, y as juniorCodeRepositories } from "./executor-J9k2sp9m.js";
8
8
  import { d as contextProvenance } from "./history-AY8rs-FR.js";
9
- import { n as pluginCatalogRuntime } from "./catalog-runtime-cd60vzAB.js";
10
- import { F as AutomationEditError, I as eventAutomationTriggerAvailable, P as editEventAutomation, R as resolveTaskOutcomes, S as readLiveAttachment, T as parseSlackThreadId, U as listChildAgents, _t as conversationSubtreeColumns, gt as conversationSubtree, j as editScheduledAutomation, m as readStats, rt as getChildAgentLabel } from "./agent-runner-g110-xgg.js";
11
- import { At as conversationIsMemberRoot, C as WorkspaceValidationError, Dt as conversationArchivedForEmail, Et as conversationArchiveTimes, Ft as readLatestConversationBrief, Gt as listConversationAnnotations, It as readConversationEventPage, Kt as listConversationAnnotationsById, Lt as buildSentryConversationUrl, M as workspaceRepoCheckoutPath, Mt as conversationNotArchivedForUser, Nt as viewerConversationMembership, O as SANDBOX_RUNTIME, Ot as conversationArchivedForUser, S as updateWorkspace, Tt as readConversationAccessFromSql, Yt as lookupSlackUser, _ as deleteWorkspace, b as listWorkspaces, ct as getSlackClient, g as createWorkspace, jt as conversationNotArchivedForEmail, kt as conversationHasParticipantUser, pt as withSlackRetries, u as getPlugins, v as getWorkspace, wt as createPluginLogger, x as listWorkspacesByRepository } from "./agent-hooks-ghyZZQqB.js";
9
+ import { n as pluginCatalogRuntime } from "./catalog-runtime-Suf-aLlh.js";
10
+ import { F as AutomationEditError, G as conversationSubtree, I as eventAutomationTriggerAvailable, K as conversationSubtreeColumns, P as editEventAutomation, R as resolveTaskOutcomes, S as readLiveAttachment, T as parseSlackThreadId, U as listChildAgents, j as editScheduledAutomation, m as readStats } from "./agent-runner-BUBas7Yy.js";
11
+ import { At as conversationArchivedForUser, C as WorkspaceValidationError, Dt as readConversationAccessFromSql, Et as createPluginLogger, Ft as viewerConversationMembership, Jt as listConversationAnnotationsById, Lt as readLatestConversationBrief, M as workspaceRepoCheckoutPath, Mt as conversationIsMemberRoot, Nt as conversationNotArchivedForEmail, O as SANDBOX_RUNTIME, Ot as conversationArchiveTimes, Pt as conversationNotArchivedForUser, Qt as createPluginCache, Rt as readConversationEventPage, S as updateWorkspace, Zt as lookupSlackUser, _ as deleteWorkspace, b as listWorkspaces, ct as getSlackClient, g as createWorkspace, jt as conversationHasParticipantUser, kt as conversationArchivedForEmail, pt as withSlackRetries, qt as listConversationAnnotations, u as getPlugins, v as getWorkspace, x as listWorkspacesByRepository, zt as buildSentryConversationUrl } from "./agent-hooks-CqnZfuCt.js";
12
12
  import { t as getFirstRunAtMs } from "./cadence-R7Em4RjE.js";
13
- import { A as forkConversationResponseSchema, B as readMessageAttachments, D as createConversationBodySchema, O as createConversationMessageBodySchema, V as INPUT_IMAGE_TYPES, _ 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-CvuKJ3tA.js";
14
- import { n as hash, t as create } from "./profile-CthM2qFM.js";
15
- import { d as getEventCatalog, x as automationEventCatalog } from "./session-stop-Boj_zpTa.js";
16
- import { d as getSandboxResources, t as getCachedSnapshot } from "./resolve-B5eLRl0v.js";
17
- import { a as getVercelConversationWorkQueue } from "./job-queue-BjQdSqA3.js";
18
- import { a as cancelHumanFacingPendingMessages, h as getConversation } from "./store-B6KqcdCQ.js";
19
- import { n as finishServiceAccountSignIn, o as serviceAccountPlugins, r as getServiceAccountStatus, s as startServiceAccountSignIn, t as disconnectServiceAccount } from "./service-account-Ch1uIpnR.js";
20
- 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-DrpcA-SX.js";
13
+ import { A as forkConversationResponseSchema, B as readMessageAttachments, D as createConversationBodySchema, O as createConversationMessageBodySchema, V as INPUT_IMAGE_TYPES, _ 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-B0baEwoA.js";
14
+ import { n as hash, t as create } from "./profile-Dq5I7TV1.js";
15
+ import { h as getChildAgentLabel } from "./store-TKg1HVKx.js";
16
+ import { d as getEventCatalog, x as automationEventCatalog } from "./session-stop-CtyJsnEj.js";
17
+ import { d as getSandboxResources, t as getCachedSnapshot } from "./resolve-CnRHib0U.js";
18
+ import { a as getVercelConversationWorkQueue } from "./job-queue-B4yTgklN.js";
19
+ import { a as cancelHumanFacingPendingMessages, h as getConversation } from "./store-UlOrW6JC.js";
20
+ import { n as finishServiceAccountSignIn, o as serviceAccountPlugins, r as getServiceAccountStatus, s as startServiceAccountSignIn, t as disconnectServiceAccount } from "./service-account-x2QZXm4X.js";
21
+ 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-CWX0qL8U.js";
21
22
  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-CJSUiksE.js";
22
- import { B as readHealthReport, I as createVercelAttachmentStorage, _ as readViewerAutomationRuns, a as recordWebConversationActivity, b as readViewerAutomations, d as resolveSlackConversationContextFromThreadId, g as readViewerAutomationExecutions, h as readConversationSourceTask, i as createConversationId, k as stopConversationTurn, 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-D6eqfXYd.js";
23
- import { F as conversationAggregateColumns, I as conversationRangeColumns, M as readAutomationTitlesByConversationId, P as conversationActiveDaysColumn } from "./task-runner-BAX5li9a.js";
24
- import { d as legacyWebMailboxMetadataSchema } from "./result-Cvm0GZCv.js";
25
- import { a as startConnection, l as getWebAuthorization, n as isConnectableProvider, r as listConnections, t as disconnectConnection, u as htmlCallbackResponse } from "./connections-DrtTrwkp.js";
26
- import { t as decodeInputImages } from "./images-D1JggcVY.js";
27
- import { A as activityHours$1, C as personParamsSchema, D as locationDirectoryReportSchema, E as locationDetailReportSchema, H as codePersonReportSchema, I as disconnectConnectionResponseSchema, J as stopConversationTurnResponseSchema, L as startConnectionResponseSchema, N as connectionListSchema, O as locationParamsSchema, P as connectionParamsSchema, S as actorProfileReportSchema, U as codeRepositoryParamsSchema, V as codeOverviewReportSchema, W as codeRepositoryReportSchema, X as apiErrorSchema, Y as conversationStatsReportSchema, _ as personalTokenListSchema, a as workspaceBodySchema, b as revokePersonalTokenResponseSchema, d as serviceAccountListSchema, f as serviceAccountParamsSchema, g as createdPersonalTokenSchema, h as createPersonalTokenBodySchema, i as deleteWorkspaceResponseSchema, j as activitySixHours$1, k as activityDays$1, l as workspaceSchema, m as startServiceAccountSignInResponseSchema, n as statsReportSchema, o as workspaceListSchema, q as conversationChildAgentsReportSchema, s as workspaceParamsSchema, u as disconnectServiceAccountResponseSchema, w as personalSpendReportSchema, x as actorDirectoryReportSchema, y as personalTokenParamsSchema } from "./schema-OzL8Zw4H.js";
23
+ import { B as readHealthReport, I as createVercelAttachmentStorage, _ as readViewerAutomationRuns, a as recordWebConversationActivity, b as readViewerAutomations, d as resolveSlackConversationContextFromThreadId, g as readViewerAutomationExecutions, h as readConversationSourceTask, i as createConversationId, k as stopConversationTurn, 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-BHcGXSox.js";
24
+ import { F as conversationAggregateColumns, I as conversationRangeColumns, M as readAutomationTitlesByConversationId, P as conversationActiveDaysColumn } from "./task-runner-C575f2Dd.js";
25
+ import { d as legacyWebMailboxMetadataSchema } from "./result-DczfmNBa.js";
26
+ import { a as startConnection, l as getWebAuthorization, n as isConnectableProvider, r as listConnections, t as disconnectConnection, u as htmlCallbackResponse } from "./connections-Br0_xv27.js";
27
+ import { t as decodeInputImages } from "./images-DV2FlEGL.js";
28
+ import { A as activityHours$1, C as personParamsSchema, D as locationDirectoryReportSchema, E as locationDetailReportSchema, H as codePersonReportSchema, I as disconnectConnectionResponseSchema, J as stopConversationTurnResponseSchema, L as startConnectionResponseSchema, N as connectionListSchema, O as locationParamsSchema, P as connectionParamsSchema, S as actorProfileReportSchema, U as codeRepositoryParamsSchema, V as codeOverviewReportSchema, W as codeRepositoryReportSchema, X as apiErrorSchema, Y as conversationStatsReportSchema, _ as personalTokenListSchema, a as workspaceBodySchema, b as revokePersonalTokenResponseSchema, d as serviceAccountListSchema, f as serviceAccountParamsSchema, g as createdPersonalTokenSchema, h as createPersonalTokenBodySchema, i as deleteWorkspaceResponseSchema, j as activitySixHours$1, k as activityDays$1, l as workspaceSchema, m as startServiceAccountSignInResponseSchema, n as statsReportSchema, o as workspaceListSchema, q as conversationChildAgentsReportSchema, s as workspaceParamsSchema, u as disconnectServiceAccountResponseSchema, w as personalSpendReportSchema, x as actorDirectoryReportSchema, y as personalTokenParamsSchema } from "./schema-QidbykYl.js";
28
29
  import { Hono } from "hono";
29
30
  import path from "node:path";
30
31
  import { z } from "zod";
@@ -629,7 +630,8 @@ async function listConversationSidebarAnnotations(conversationIds, annotationsBy
629
630
  conversationIds,
630
631
  db: getDb(),
631
632
  log: createPluginLogger(plugin.manifest.name),
632
- plugin: { name: plugin.manifest.name }
633
+ plugin: { name: plugin.manifest.name },
634
+ cache: createPluginCache(plugin.manifest.name)
633
635
  });
634
636
  for (const [conversationId, annotations] of Object.entries(result.annotationsByConversationId)) {
635
637
  if (!candidates.has(conversationId)) continue;
@@ -1199,7 +1201,8 @@ async function listConversationWork(conversationIds) {
1199
1201
  conversationIds,
1200
1202
  db: getDb(),
1201
1203
  log: createPluginLogger(plugin.manifest.name),
1202
- plugin: { name: plugin.manifest.name }
1204
+ plugin: { name: plugin.manifest.name },
1205
+ cache: createPluginCache(plugin.manifest.name)
1203
1206
  });
1204
1207
  for (const conversationId of result.conversationIds) {
1205
1208
  if (!candidates.has(conversationId)) continue;
@@ -3708,7 +3711,7 @@ async function readPeoplePluginReports(args) {
3708
3711
  reports: [],
3709
3712
  source: "plugins"
3710
3713
  });
3711
- const { getPluginProfileReports } = await import("./agent-hooks-ghyZZQqB.js").then((n) => n.t);
3714
+ const { getPluginProfileReports } = await import("./agent-hooks-CqnZfuCt.js").then((n) => n.t);
3712
3715
  return pluginOperationalReportFeedSchema.parse({
3713
3716
  generatedAt: new Date(nowMs).toISOString(),
3714
3717
  reports: await getPluginProfileReports({
@@ -4184,6 +4187,7 @@ async function readPluginUserPage(input) {
4184
4187
  db: getDb(),
4185
4188
  log: createPluginLogger(plugin.manifest.name),
4186
4189
  plugin: { name: plugin.manifest.name },
4190
+ cache: createPluginCache(plugin.manifest.name),
4187
4191
  viewer
4188
4192
  }, input.query));
4189
4193
  if (content.records.some((record) => record.actions?.some((action) => !actionBelongsToPlugin(action.href, plugin.manifest.name)))) throw new Error(`Plugin user page "${plugin.manifest.name}/${page.id}" returned an action outside its API namespace.`);
@@ -4739,7 +4743,7 @@ function readDescriptionText(home) {
4739
4743
  }
4740
4744
  /** Read discovered skill names for authenticated runtime diagnostics. */
4741
4745
  async function readSkillReports() {
4742
- const { discoverSkills } = await import("./skills-BpdYCfFt.js").then((n) => n.o);
4746
+ const { discoverSkills } = await import("./skills-Dbzx9-rS.js").then((n) => n.o);
4743
4747
  const skills = await discoverSkills();
4744
4748
  return skillReportsSchema.parse(skills.map((skill) => ({
4745
4749
  name: skill.name,
@@ -4748,7 +4752,7 @@ async function readSkillReports() {
4748
4752
  }
4749
4753
  /** Read safe configured plugin metadata for authenticated runtime diagnostics. */
4750
4754
  async function readPlugins() {
4751
- const { pluginCatalogRuntime } = await import("./catalog-runtime-cd60vzAB.js").then((n) => n.t);
4755
+ const { pluginCatalogRuntime } = await import("./catalog-runtime-Suf-aLlh.js").then((n) => n.t);
4752
4756
  return pluginsSchema.parse(pluginCatalogRuntime.getProviders().map((plugin) => ({
4753
4757
  configKeys: plugin.manifest.configKeys ?? [],
4754
4758
  description: plugin.manifest.description,
@@ -4760,7 +4764,7 @@ async function readPlugins() {
4760
4764
  async function readRuntimeInfoReport() {
4761
4765
  const [{ homeDir }, { pluginCatalogRuntime }, plugins, skills] = await Promise.all([
4762
4766
  import("./package-discovery-DJBompdd.js").then((n) => n.r),
4763
- import("./catalog-runtime-cd60vzAB.js").then((n) => n.t),
4767
+ import("./catalog-runtime-Suf-aLlh.js").then((n) => n.t),
4764
4768
  readPlugins(),
4765
4769
  readSkillReports()
4766
4770
  ]);
@@ -4777,7 +4781,7 @@ async function readRuntimeInfoReport() {
4777
4781
  /** Read sanitized operational summaries contributed by plugins. */
4778
4782
  async function readPluginOperationalReportFeed() {
4779
4783
  const nowMs = Date.now();
4780
- const { getPluginOperationalReports } = await import("./agent-hooks-ghyZZQqB.js").then((n) => n.t);
4784
+ const { getPluginOperationalReports } = await import("./agent-hooks-CqnZfuCt.js").then((n) => n.t);
4781
4785
  return pluginOperationalReportFeedSchema.parse({
4782
4786
  source: "plugins",
4783
4787
  generatedAt: new Date(nowMs).toISOString(),
@@ -80,7 +80,7 @@ interface RuntimeLimits {
80
80
  * Add new keys here as features graduate from private experiments; remove them
81
81
  * once they become stable defaults.
82
82
  */
83
- declare const EXPERIMENTAL_FEATURES: readonly ["operator-tools", "passive-routing", "subagents"];
83
+ declare const EXPERIMENTAL_FEATURES: readonly ["operator-tools", "passive-routing"];
84
84
  /** One known experimental feature name. */
85
85
  type ExperimentalFeature = (typeof EXPERIMENTAL_FEATURES)[number];
86
86
  /** App-level opt-ins for unstable product features. */
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-VCiPQ65Q.js";
1
+ import { i as ModelProfileInput, n as createApp, r as JuniorDashboardOptions, t as JuniorAppOptions } from "./app-Bo0kB987.js";
2
2
  import { i as defineJuniorPlugins, n as JuniorPluginSet, r as JuniorPluginSetOptions, t as JuniorPluginInput } from "./plugins-B_0Cr0MO.js";
3
3
  import { t as JUNIOR_VERSION } from "./version-Cc2OFd9G.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,37 +1,38 @@
1
- import { $ as projectConversationMessages, C as automationVersionOf, Cn as resolveSandboxEgressProviderForHost, Dn as clearSandboxEgressSignals, En as SANDBOX_EGRESS_PROXY_PATH, Hn as slackMention, In as resolveBaseUrl, Ln as startOAuthFlow, On as consumeSandboxEgressAuthRequiredSignal, Pn as formatProviderLabel, Tn as shouldPropagateSandboxEgressTrace, X as appendConversationMessages, Xn as slackEntitySchema, Zn as slackExternalRefIdSchema, _n as isExperimentalFeatureEnabled, ar as setConfigDefaults, b as admitEventAutomationRun, bn as createUserTokenStore, c as withScheduledAutomationLock, cn as SubscribedReplyReason, dn as getThreadStopDecision, gn as getExperimentalFeatures, i as readScheduledAutomation, ir as getConfigDefaults, jn as parseSandboxEgressCredentialToken, kn as consumeSandboxEgressPermissionDeniedSignal, l as blockEventAutomation, n as listScheduledAutomationsForTeam, nt as settleConversationTitleWork, o as saveScheduledAutomationInLock, p as findMatchingEventAutomations, s as scheduledRunId, u as collectEventAutomationMatchKeys, vn as setExperimentalFeatures, wn as normalizeSandboxEgressTracePropagationDomains, x as eventAutomationRunLimitReason, yn as executeCredentialedEgressRequest } from "./tasks-uCfmlWga.js";
2
- import { C as withContext, M as JUNIOR_WORKSPACE_SNAPSHOT_JOB_CALLBACK_ROUTE, R as normalizeIdentityEmail, T as withSpan, b as setSpanStatus, f as logException, k as JUNIOR_PLUGIN_TASK_CALLBACK_ROUTE, m as logWarn, p as logInfo, r as createRequestContext, v as setSentryUser, w as withLogContext, y as setSpanAttributes } from "./logging-BLTa7R7f.js";
1
+ import { C as automationVersionOf, Cn as resolveSandboxEgressProviderForHost, Dn as clearSandboxEgressSignals, En as SANDBOX_EGRESS_PROXY_PATH, Hn as slackMention, In as resolveBaseUrl, Ln as startOAuthFlow, On as consumeSandboxEgressAuthRequiredSignal, Pn as formatProviderLabel, Q as projectConversationMessages, Tn as shouldPropagateSandboxEgressTrace, Xn as slackEntitySchema, Y as appendConversationMessages, Zn as slackExternalRefIdSchema, _n as isExperimentalFeatureEnabled, ar as setConfigDefaults, b as admitEventAutomationRun, bn as createUserTokenStore, c as withScheduledAutomationLock, fn as getThreadStopDecision, gn as getExperimentalFeatures, i as readScheduledAutomation, ir as getConfigDefaults, jn as parseSandboxEgressCredentialToken, kn as consumeSandboxEgressPermissionDeniedSignal, l as blockEventAutomation, ln as SubscribedReplyReason, n as listScheduledAutomationsForTeam, o as saveScheduledAutomationInLock, p as findMatchingEventAutomations, s as scheduledRunId, tt as settleConversationTitleWork, u as collectEventAutomationMatchKeys, vn as setExperimentalFeatures, wn as normalizeSandboxEgressTracePropagationDomains, x as eventAutomationRunLimitReason, yn as executeCredentialedEgressRequest } from "./tasks-LOItiYgL.js";
2
+ import { C as withContext, M as JUNIOR_WORKSPACE_SNAPSHOT_JOB_CALLBACK_ROUTE, R as normalizeIdentityEmail, T as withSpan, b as setSpanStatus, f as logException, k as JUNIOR_PLUGIN_TASK_CALLBACK_ROUTE, m as logWarn, p as logInfo, r as createRequestContext, v as setSentryUser, w as withLogContext, y as setSpanAttributes } from "./logging-Dk_FpF36.js";
3
3
  import { n as captureMessage, r as continueTrace } from "./sentry-BBUlHih9.js";
4
- import { t as JUNIOR_VERSION } from "./version-CN9BXMW_.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-C9qM41O0.js";
4
+ import { t as JUNIOR_VERSION } from "./version-BQX_hLDC.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-Dnv8KmNs.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-tlxzqaRe.js";
7
- import { N as recordGoogleSignIn, _ as withConversationMutationLock, c as getConversationEventStore, d as getDb, f as getSqlExecutor, m as withConversationEventLock, r as readActorIdentity, u as getConversationStore } from "./viewer-C5xFaYVi.js";
8
- import { a as juniorAgentInvocations, d as juniorDestinations, i as juniorAgentBindings, s as juniorConversations } from "./agent-invocations-Qfz7dWgU.js";
9
- import { a as juniorAutomationRuns, f as juniorConversationBriefs, h as juniorConversationEvents, s as juniorAutomations } from "./executor-Rimyj8HZ.js";
10
- import { m as credentialLogContext } from "./registry-BnSaArNb.js";
11
- import { n as pluginCatalogRuntime } from "./catalog-runtime-cd60vzAB.js";
12
- import { B as stopConversationSession, C as requestAttachmentDeletion, L as effectiveTaskOutcomes, M as logScheduledAutomationRunSkipped, N as scheduledAutomationRunAttributes, T as parseSlackThreadId, V as recordSubagentEnded, _ as unpublishedArtifactHeaders, g as readPublicArtifact, h as publicArtifactHeaders, n as executeAgentRun, ot as listPendingAgentInvocationMailboxAppends, st as listPendingAgentInvocationResults, t as createAgentRunner, v as lookupSlackUserProfile, vt as processWorkspaceSnapshotJob, x as collectAttachmentGarbage, yt as ingestEvent } from "./agent-runner-g110-xgg.js";
13
- import { $ as bindSlackDirectCredentialSubject, Gt as listConversationAnnotations, Ht as resolveRootVisibility, Q as bindScheduledAutomationCredentialSubject, Tt as readConversationAccessFromSql, U as collectEventMatchKeys, X as takeDueTimerWatches, Z as bindEventAutomationCredentialSubject, _t as getDashboardConversationLink, a as getPluginRoutes, bt as setDashboardConversationLinkOptions, ct as getSlackClient, d as setPlugins, et as verifyEventAutomationCredentialSubject, f as validatePlugins, h as setBriefsConfig, ht as runWithWorkspaceTeamId, i as getPluginApiRoutes, mt as getWorkspaceTeamId, nt as verifySlackDirectCredentialSubject, q as findMatchingWatches, tt as verifyScheduledAutomationCredentialSubject, u as getPlugins, ut as isDmChannel, wt as createPluginLogger, xt as createPluginState, yt as getDashboardTaskLink } from "./agent-hooks-ghyZZQqB.js";
7
+ import { N as recordGoogleSignIn, _ as withConversationMutationLock, c as getConversationEventStore, d as getDb, f as getSqlExecutor, m as withConversationEventLock, r as readActorIdentity, u as getConversationStore } from "./viewer-DmNRM88V.js";
8
+ import { a as juniorAgentInvocations, d as juniorDestinations, i as juniorAgentBindings, s as juniorConversations } from "./agent-invocations-CxKldAeB.js";
9
+ import { a as juniorAutomationRuns, f as juniorConversationBriefs, h as juniorConversationEvents, s as juniorAutomations } from "./executor-J9k2sp9m.js";
10
+ import { m as credentialLogContext } from "./registry-BFzQFV_y.js";
11
+ import { n as pluginCatalogRuntime } from "./catalog-runtime-Suf-aLlh.js";
12
+ import { B as stopConversationSession, C as requestAttachmentDeletion, J as ingestEvent, L as effectiveTaskOutcomes, M as logScheduledAutomationRunSkipped, N as scheduledAutomationRunAttributes, T as parseSlackThreadId, V as recordSubagentEnded, _ as unpublishedArtifactHeaders, g as readPublicArtifact, h as publicArtifactHeaders, n as executeAgentRun, q as processWorkspaceSnapshotJob, t as createAgentRunner, v as lookupSlackUserProfile, x as collectAttachmentGarbage } from "./agent-runner-BUBas7Yy.js";
13
+ import { $ as bindSlackDirectCredentialSubject, $t as createCache, Ct as createPluginState, Dt as readConversationAccessFromSql, Et as createPluginLogger, Q as bindScheduledAutomationCredentialSubject, Qt as createPluginCache, U as collectEventMatchKeys, Wt as resolveRootVisibility, X as takeDueTimerWatches, Z as bindEventAutomationCredentialSubject, _t as getDashboardConversationLink, a as getPluginRoutes, bt as setDashboardConversationLinkOptions, ct as getSlackClient, d as setPlugins, et as verifyEventAutomationCredentialSubject, f as validatePlugins, h as setBriefsConfig, ht as runWithWorkspaceTeamId, i as getPluginApiRoutes, mt as getWorkspaceTeamId, nt as verifySlackDirectCredentialSubject, q as findMatchingWatches, qt as listConversationAnnotations, tt as verifyScheduledAutomationCredentialSubject, u as getPlugins, ut as isDmChannel, yt as getDashboardTaskLink } from "./agent-hooks-CqnZfuCt.js";
14
+ import { r as getStateAdapter, s as withLock$1 } from "./adapter-BIacI0Bt.js";
14
15
  import { n as getNextRunAtMs } from "./cadence-R7Em4RjE.js";
15
- import { M as annotationCard } from "./conversation-CvuKJ3tA.js";
16
- import { r as getStateAdapter, s as withLock$1 } from "./adapter-Bx_1B2De.js";
17
- import { M as renderTaskInput, S as eventGuidance, d as getEventCatalog, f as SLACK_EVENT_NAMESPACE, g as slackChannelMessageRunsAutomation, h as slackChannelMessageReplyThreadTs, m as slackChannelMessageEvent } from "./session-stop-Boj_zpTa.js";
18
- import { f as setSandboxResourceConfig, u as getSandboxResourceConfig } from "./resolve-B5eLRl0v.js";
19
- 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-BjQdSqA3.js";
20
- import { A as hasRunnableConversationWork$1, M as isInvalidConversationRecordError, O as CONVERSATION_WORK_STALE_ENQUEUE_MS, S as removeActiveConversation, _ as hasRunnableConversationWork, c as clearExpiredConversationLease, g as getConversationWorkState, h as getConversation, m as ensureConversationWake, r as appendAndEnqueueInboundMessage, v as listActiveConversationIds } from "./store-B6KqcdCQ.js";
21
- import { D as scheduledRunSchema } from "./automation-DrpcA-SX.js";
22
- import { n as validatePluginRegistrations, t as validatePluginEgressCredentialHooks } from "./validation-B9KL_5Wc.js";
16
+ import { M as annotationCard } from "./conversation-B0baEwoA.js";
17
+ import { b as listPendingAgentInvocationMailboxAppends, x as listPendingAgentInvocationResults } from "./store-TKg1HVKx.js";
18
+ import { M as renderTaskInput, S as eventGuidance, d as getEventCatalog, f as SLACK_EVENT_NAMESPACE, g as slackChannelMessageRunsAutomation, h as slackChannelMessageReplyThreadTs, m as slackChannelMessageEvent } from "./session-stop-CtyJsnEj.js";
19
+ import { f as setSandboxResourceConfig, u as getSandboxResourceConfig } from "./resolve-CnRHib0U.js";
20
+ 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-B4yTgklN.js";
21
+ import { A as hasRunnableConversationWork$1, M as isInvalidConversationRecordError, O as CONVERSATION_WORK_STALE_ENQUEUE_MS, S as removeActiveConversation, _ as hasRunnableConversationWork, c as clearExpiredConversationLease, g as getConversationWorkState, h as getConversation, m as ensureConversationWake, r as appendAndEnqueueInboundMessage, v as listActiveConversationIds } from "./store-UlOrW6JC.js";
22
+ import { D as scheduledRunSchema } from "./automation-CWX0qL8U.js";
23
+ import { n as validatePluginRegistrations, t as validatePluginEgressCredentialHooks } from "./validation-BeTriWC2.js";
23
24
  import { a as pluginRuntimeRegistrationsFromPluginSet, n as pluginCatalogConfigFromEnv, r as pluginCatalogConfigFromPluginSet, t as defineJuniorPlugins } from "./plugins-DOm9Y6qI.js";
24
- import { A as THREAD_OPTOUT_ACK, C as buildSlackInboundMessage, D as normalizeIncomingSlackThreadId, E as stopSlackThread, F as renderSlackObjectCard, I as createVercelAttachmentStorage, M as parseContent, N as runWithSlackInstallation, O as withNormalizedThreadId, P as verifySlackSignature, R as enqueueAgentDispatch, S as recordSkippedConversationMessage, T as isSlackMessageStopped, a as recordWebConversationActivity, c as createProductionSlackWebhookServices, f as createSlackWebApiStatusSender, j as startProcessingReaction, k as stopConversationTurn, l as getProductionSlackAdapter, n as conversationTurnIdForMessage, o as webActorFromEmail, s as createProductionConversationWorkOptions, t as appendAndEnqueueWebMessage, v as readViewerAutomationSummary, w as clearSlackPendingReactions, z as GET$3 } from "./web-input-D6eqfXYd.js";
25
- import { C as existingConversationId, N as recordAutomationExecution, c as getDispatchConversationId, d as getDispatchRecord, h as listPendingDispatchMailboxAppends, i as buildDispatchId, m as isTerminalDispatchStatus, o as confirmDispatchMailboxAppend, p as getPluginDispatchProjection, s as createOrGetDispatch, t as processPluginTask, x as notifyAutomationBlocked, y as markDispatchFailed } from "./task-runner-BAX5li9a.js";
26
- import { o as getAuthPausedConversationTurnId, t as enqueueAgentInvocationResult } from "./result-Cvm0GZCv.js";
27
- import { r as enqueueAgentInvocation } from "./work-C-ecZAme.js";
28
- import { s as coerceThreadConversationState } from "./thread-state-BJHVIz8G.js";
29
- import { o as unlinkProvider } from "./connections-DrtTrwkp.js";
30
- import { a as GET$4, i as publishAppHomeView, r as GET$5, t as receiveLocalOAuthCredential } from "./credential-sync-wKNQ1dYc.js";
31
- import { a as registerVercelPluginTaskDevConsumer, n as createVercelPluginTaskCallback, s as queueCallback } from "./task-queue-BaDwKSYv.js";
32
- import { t as processConversationWork } from "./worker-BpYDqiOf.js";
33
- import { t as bindMessageAgent } from "./message-DAeP5WWW.js";
34
- import { t as bindSpawnAgent } from "./spawn-h1DJMQTf.js";
25
+ import { A as THREAD_OPTOUT_ACK, C as buildSlackInboundMessage, D as normalizeIncomingSlackThreadId, E as stopSlackThread, F as renderSlackObjectCard, I as createVercelAttachmentStorage, M as parseContent, N as runWithSlackInstallation, O as withNormalizedThreadId, P as verifySlackSignature, R as enqueueAgentDispatch, S as recordSkippedConversationMessage, T as isSlackMessageStopped, a as recordWebConversationActivity, c as createProductionSlackWebhookServices, f as createSlackWebApiStatusSender, j as startProcessingReaction, k as stopConversationTurn, l as getProductionSlackAdapter, n as conversationTurnIdForMessage, o as webActorFromEmail, s as createProductionConversationWorkOptions, t as appendAndEnqueueWebMessage, v as readViewerAutomationSummary, w as clearSlackPendingReactions, z as GET$3 } from "./web-input-BHcGXSox.js";
26
+ import { C as existingConversationId, N as recordAutomationExecution, c as getDispatchConversationId, d as getDispatchRecord, h as listPendingDispatchMailboxAppends, i as buildDispatchId, m as isTerminalDispatchStatus, o as confirmDispatchMailboxAppend, p as getPluginDispatchProjection, s as createOrGetDispatch, t as processPluginTask, x as notifyAutomationBlocked, y as markDispatchFailed } from "./task-runner-C575f2Dd.js";
27
+ import { o as getAuthPausedConversationTurnId, t as enqueueAgentInvocationResult } from "./result-DczfmNBa.js";
28
+ import { r as enqueueAgentInvocation } from "./work-DLJMV02b.js";
29
+ import { s as coerceThreadConversationState } from "./thread-state-IDHdZA7R.js";
30
+ import { o as unlinkProvider } from "./connections-Br0_xv27.js";
31
+ import { a as GET$4, i as publishAppHomeView, r as GET$5, t as receiveLocalOAuthCredential } from "./credential-sync-BvkiyWF5.js";
32
+ import { a as registerVercelPluginTaskDevConsumer, n as createVercelPluginTaskCallback, s as queueCallback } from "./task-queue-BRB49H-J.js";
33
+ import { t as processConversationWork } from "./worker-vfG2ESg1.js";
34
+ import { t as bindMessageAgent } from "./message-BzseAFH1.js";
35
+ import { t as bindSpawnAgent } from "./spawn-D8WU99UV.js";
35
36
  import { createRequire } from "node:module";
36
37
  import { Hono } from "hono";
37
38
  import { z } from "zod";
@@ -260,6 +261,7 @@ function createHeartbeatContext(args) {
260
261
  let dispatchCount = 0;
261
262
  return {
262
263
  plugin: { name: pluginName },
264
+ cache: createPluginCache(pluginName),
263
265
  nowMs: args.nowMs,
264
266
  db: getDb(),
265
267
  state: createPluginState(pluginName),
@@ -2319,34 +2321,25 @@ async function isSlackWorkspaceMember(raw, state) {
2319
2321
  const event = parsed.data;
2320
2322
  const userId = parseSlackUserId(event.user);
2321
2323
  if (!userId) return false;
2324
+ const cache = createCache(state, "core");
2322
2325
  const key = `slack:membership:${workspaceTeamId}:${userId}`;
2323
2326
  const authorTeam = parseSlackTeamId(event.user_team);
2324
2327
  if (authorTeam === workspaceTeamId) return true;
2325
2328
  if (event.user_team !== void 0 && !authorTeam && !/^E[A-Z0-9]+$/.test(event.user_team)) return false;
2326
- const explicitlyExternal = authorTeam !== void 0;
2327
- if (!explicitlyExternal) {
2328
- const cached = await state.get(key);
2329
- if (typeof cached === "boolean") return cached;
2330
- }
2331
- const result = await withLock$1(state, `${key}:lookup`, async () => {
2332
- if (explicitlyExternal) {
2333
- await state.set(key, false, NON_MEMBER_TTL_MS);
2334
- return false;
2335
- }
2336
- const cached = await state.get(key);
2337
- if (typeof cached === "boolean") return cached;
2329
+ if (authorTeam !== void 0) return await cache.getOrLoad(key, async () => ({
2330
+ value: false,
2331
+ ttlMs: NON_MEMBER_TTL_MS
2332
+ }), { refresh: true });
2333
+ return await cache.getOrLoad(key, async () => {
2338
2334
  const user = await lookupSlackUserProfile(userId);
2339
2335
  const authorTeam = parseSlackTeamId(user.team_id);
2340
- if (user.id !== userId || !authorTeam) return false;
2336
+ if (user.id !== userId || !authorTeam) return { value: false };
2341
2337
  const member = authorTeam === workspaceTeamId && !user.is_deleted;
2342
- await state.set(key, member, member ? MEMBER_TTL_MS : NON_MEMBER_TTL_MS);
2343
- return member;
2344
- }, {
2345
- keepAlive: true,
2346
- waitMs: 1e4
2338
+ return {
2339
+ value: member,
2340
+ ttlMs: member ? MEMBER_TTL_MS : NON_MEMBER_TTL_MS
2341
+ };
2347
2342
  });
2348
- if (!result.acquired) throw new Error("Could not acquire Slack membership lookup lock");
2349
- return result.value;
2350
2343
  }
2351
2344
  // src/chat/sign-in/allowlist.ts
2352
2345
  /**
@@ -2404,17 +2397,18 @@ async function isSlackAuthorDomainAllowed(args) {
2404
2397
  const userId = parseSlackUserId(args.user);
2405
2398
  if (!args.teamId || !userId) return false;
2406
2399
  if (args.allowedBotUserIds.includes(userId)) return true;
2407
- const key = `slack:allowed-domain:${args.teamId}:${userId}`;
2408
- const cached = await args.state.get(key);
2409
- if (typeof cached === "boolean") return cached;
2410
- const profile = await lookupSlackUserProfile(userId);
2411
- const email = profile.email?.toLowerCase();
2412
- const separator = email?.lastIndexOf("@") ?? -1;
2413
- const domain = separator > 0 ? email?.slice(separator + 1) : void 0;
2414
- const allowed = profile.id === userId && isAllowedDomain(domain, args.allowedDomains);
2415
- if (!allowed) logWarn("slack.allowed_domain.rejected", { "app.reason": email ? "domain_not_allowed" : "missing_email" });
2416
- await args.state.set(key, allowed, allowed ? ALLOWED_TTL_MS : NOT_ALLOWED_TTL_MS);
2417
- return allowed;
2400
+ return await createCache(args.state, "core").getOrLoad(`slack:allowed-domain:${args.teamId}:${userId}`, async () => {
2401
+ const profile = await lookupSlackUserProfile(userId);
2402
+ const email = profile.email?.toLowerCase();
2403
+ const separator = email?.lastIndexOf("@") ?? -1;
2404
+ const domain = separator > 0 ? email?.slice(separator + 1) : void 0;
2405
+ const allowed = profile.id === userId && isAllowedDomain(domain, args.allowedDomains);
2406
+ if (!allowed) logWarn("slack.allowed_domain.rejected", { "app.reason": email ? "domain_not_allowed" : "missing_email" });
2407
+ return {
2408
+ value: allowed,
2409
+ ttlMs: allowed ? ALLOWED_TTL_MS : NOT_ALLOWED_TTL_MS
2410
+ };
2411
+ });
2418
2412
  }
2419
2413
  // src/chat/ingress/slack-message-telemetry.ts
2420
2414
  function field(value, pattern) {
@@ -1,4 +1,4 @@
1
- import { Gt as extractAssistantText } from "./tasks-uCfmlWga.js";
1
+ import { Wt as extractAssistantText } from "./tasks-LOItiYgL.js";
2
2
  // src/chat/no-reply.ts
3
3
  const NO_REPLY_MARKER = "[[NO_REPLY]]";
4
4
  /**
@@ -1,5 +1,5 @@
1
1
  import { a as resolveLocalScheduleAtMs, i as isValidTimeZone, r as getZonedDateTimeParts, t as getFirstRunAtMs } from "./cadence-R7Em4RjE.js";
2
- import { n as actorIdentitySchema } from "./conversation-CvuKJ3tA.js";
2
+ import { n as actorIdentitySchema } from "./conversation-B0baEwoA.js";
3
3
  import { z } from "zod";
4
4
  import { actorUserIdSchema, destinationVisibilitySchema, eventMatchSchema, eventTypeSchema, pluginEventTypeSchema, slackDestinationSchema, taskOutcomeSchema } from "@sentry/junior-plugin-api";
5
5
  // src/chat/task-outcomes-schema.ts
@@ -1,7 +1,7 @@
1
- import { i as completeObject } from "./client-2i0JJpoC.js";
1
+ import { i as completeObject } from "./client-DZBCBj1M.js";
2
2
  import { r as defaultModelId } from "./model-profile-Bg8EoCKD.js";
3
- import { J as parseBriefInput, W as briefCodeChangeSchema, d as conversationDetailReportSchema, p as conversationEventPageSchema } from "./conversation-CvuKJ3tA.js";
4
- import { n as briefEntriesFromReportEvents, s as generateBrief, t as BRIEF_PROMPT } from "./prompt-DeVax2qO.js";
3
+ import { J as parseBriefInput, W as briefCodeChangeSchema, d as conversationDetailReportSchema, p as conversationEventPageSchema } from "./conversation-B0baEwoA.js";
4
+ import { n as briefEntriesFromReportEvents, s as generateBrief, t as BRIEF_PROMPT } from "./prompt-CxatQVaj.js";
5
5
  import { CLI_USAGE } from "./cli/run.js";
6
6
  import path from "node:path";
7
7
  import { z } from "zod";
@@ -267,7 +267,7 @@ async function parseRunOptions(argv) {
267
267
  * `DATABASE_URL` at import, and `briefs pull` must work with only a token.
268
268
  */
269
269
  async function configuredDefaultModelId() {
270
- const { botConfig } = await import("./config-C9qM41O0.js").then((n) => n.r);
270
+ const { botConfig } = await import("./config-Dnv8KmNs.js").then((n) => n.r);
271
271
  return defaultModelId(botConfig);
272
272
  }
273
273
  function apiUrl(baseUrl, pathname) {
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-nwUcYXjP.js";
2
- import { t as createPluginCatalogRuntime } from "./registry-BnSaArNb.js";
2
+ import { t as createPluginCatalogRuntime } from "./registry-BFzQFV_y.js";
3
3
  // 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-g110-xgg.js";
1
+ import { n as executeAgentRun, t as createAgentRunner } from "../agent-runner-BUBas7Yy.js";
2
2
  import { t as loadAppPluginSet } from "../plugin-module-Cf5gVPWP.js";
3
3
  import path from "node:path";
4
4
  import { createHash, randomUUID } from "node:crypto";
@@ -99,10 +99,10 @@ async function loadLocalPluginSet() {
99
99
  async function configureLocalChatPlugins(pluginSet) {
100
100
  const [pluginsModule, agentHooksModule, catalogRuntimeModule, validationModule, databaseModule] = await Promise.all([
101
101
  import("../plugins-DOm9Y6qI.js").then((n) => n.o),
102
- import("../agent-hooks-ghyZZQqB.js").then((n) => n.t),
103
- import("../catalog-runtime-cd60vzAB.js").then((n) => n.t),
104
- import("../validation-B9KL_5Wc.js").then((n) => n.r),
105
- import("../viewer-C5xFaYVi.js").then((n) => n.s)
102
+ import("../agent-hooks-CqnZfuCt.js").then((n) => n.t),
103
+ import("../catalog-runtime-Suf-aLlh.js").then((n) => n.t),
104
+ import("../validation-BeTriWC2.js").then((n) => n.r),
105
+ import("../viewer-DmNRM88V.js").then((n) => n.s)
106
106
  ]);
107
107
  const resolvedPluginSet = pluginSet === void 0 ? await loadLocalPluginSet() : pluginSet ?? void 0;
108
108
  const plugins = pluginsModule.pluginRuntimeRegistrationsFromPluginSet(resolvedPluginSet);
@@ -152,21 +152,19 @@ function localDevServerUrl() {
152
152
  async function prepareLocalChatRun(io, pluginSet) {
153
153
  defaultStateAdapterForLocalChat();
154
154
  await configureLocalChatPlugins(pluginSet);
155
- const { setExperimentalFeatures } = await import("../tasks-uCfmlWga.js").then((n) => n.hn);
156
- setExperimentalFeatures({ subagents: true });
157
- const { setBriefsConfig } = await import("../agent-hooks-ghyZZQqB.js").then((n) => n.m);
155
+ const { setBriefsConfig } = await import("../agent-hooks-CqnZfuCt.js").then((n) => n.m);
158
156
  setBriefsConfig({ enabled: true });
159
- const { runLocalAgentTurn } = await import("../runner-D-pUzHbU.js");
160
- const { startLocalOAuthCallbackServer } = await import("../oauth-callback-server-BAy1hhF1.js");
157
+ const { runLocalAgentTurn } = await import("../runner-CJd9Wec-.js");
158
+ const { startLocalOAuthCallbackServer } = await import("../oauth-callback-server-bTspTMCC.js");
161
159
  const { createLocalOAuthState } = await import("../oauth-relay-CTygMkNx.js").then((n) => n.t);
162
- const { createLocalSandboxEgressSignalTransport } = await import("../sandbox-egress-signals-mvwGV7rl.js");
163
- const { bindSpawnAgent } = await import("../spawn-h1DJMQTf.js").then((n) => n.n);
164
- const { bindMessageAgent } = await import("../message-DAeP5WWW.js").then((n) => n.n);
165
- const { createAgentInvocationWorker, routeAgentInvocationWork } = await import("../work-C-ecZAme.js").then((n) => n.a);
166
- const { startAgentInvocationsForChildInput } = await import("../result-Cvm0GZCv.js").then((n) => n.r);
167
- const { skipInputBeforeConversationStop } = await import("../session-stop-Boj_zpTa.js").then((n) => n.r);
160
+ const { createLocalSandboxEgressSignalTransport } = await import("../sandbox-egress-signals-DUmVkOx4.js");
161
+ const { bindSpawnAgent } = await import("../spawn-D8WU99UV.js").then((n) => n.n);
162
+ const { bindMessageAgent } = await import("../message-BzseAFH1.js").then((n) => n.n);
163
+ const { createAgentInvocationWorker, routeAgentInvocationWork } = await import("../work-DLJMV02b.js").then((n) => n.a);
164
+ const { startAgentInvocationsForChildInput } = await import("../result-DczfmNBa.js").then((n) => n.r);
165
+ const { skipInputBeforeConversationStop } = await import("../session-stop-CtyJsnEj.js").then((n) => n.r);
168
166
  const { createLocalConversationWork } = await import("../conversation-work-BaT_T6EB.js");
169
- const { processConversationWork } = await import("../worker-BpYDqiOf.js").then((n) => n.n);
167
+ const { processConversationWork } = await import("../worker-vfG2ESg1.js").then((n) => n.n);
170
168
  let agentRunner;
171
169
  const localConversationWork = createLocalConversationWork(async (message) => {
172
170
  if (!agentRunner) throw new Error("Local agent runner is not ready");
package/dist/cli/check.js CHANGED
@@ -1,6 +1,6 @@
1
- import { E as JUNIOR_CONVERSATION_WORK_CALLBACK_ROUTE, N as LEGACY_JUNIOR_CONVERSATION_WORK_FUNCTION, O as JUNIOR_HEARTBEAT_ROUTE } from "../logging-BLTa7R7f.js";
2
- import { v as parseInlinePluginManifest, y as parsePluginManifest } from "../registry-BnSaArNb.js";
3
- import { i as parseSkillFile } from "../skills-BpdYCfFt.js";
1
+ import { E as JUNIOR_CONVERSATION_WORK_CALLBACK_ROUTE, N as LEGACY_JUNIOR_CONVERSATION_WORK_FUNCTION, O as JUNIOR_HEARTBEAT_ROUTE } from "../logging-Dk_FpF36.js";
2
+ import { v as parseInlinePluginManifest, y as parsePluginManifest } from "../registry-BFzQFV_y.js";
3
+ import { i as parseSkillFile } from "../skills-Dbzx9-rS.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,13 +25,13 @@ 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-BAbbVgVc.js")).runAdmin(argv);
28
+ return await (await import("../admin-C7vUk7s9.js")).runAdmin(argv);
29
29
  }
30
30
  async function runServiceAccount(argv) {
31
- return await (await import("../service-account-DWxvpSfd.js")).runServiceAccount(argv);
31
+ return await (await import("../service-account-BI2kQDrb.js")).runServiceAccount(argv);
32
32
  }
33
33
  async function runBriefs(argv) {
34
- return await (await import("../briefs-CKcfrIQL.js")).runBriefs(argv);
34
+ return await (await import("../briefs-h55v5lX9.js")).runBriefs(argv);
35
35
  }
36
36
  function topLevelCommand(argv) {
37
37
  return (argv[0] === "--" ? argv.slice(1) : argv)[0];
@@ -1,7 +1,7 @@
1
- import { d as getDb } from "../viewer-C5xFaYVi.js";
2
- import { n as pluginCatalogRuntime } from "../catalog-runtime-cd60vzAB.js";
3
- import { d as setPlugins, f as validatePlugins, wt as createPluginLogger } from "../agent-hooks-ghyZZQqB.js";
4
- import { n as validatePluginRegistrations, t as validatePluginEgressCredentialHooks } from "../validation-B9KL_5Wc.js";
1
+ import { d as getDb } from "../viewer-DmNRM88V.js";
2
+ import { n as pluginCatalogRuntime } from "../catalog-runtime-Suf-aLlh.js";
3
+ import { Et as createPluginLogger, d as setPlugins, f as validatePlugins } from "../agent-hooks-CqnZfuCt.js";
4
+ import { n as validatePluginRegistrations, t as validatePluginEgressCredentialHooks } from "../validation-BeTriWC2.js";
5
5
  import { a as pluginRuntimeRegistrationsFromPluginSet, i as pluginCliRegistrationsFromPluginSet, r as pluginCatalogConfigFromPluginSet } from "../plugins-DOm9Y6qI.js";
6
6
  import { t as loadAppPluginSet } from "../plugin-module-Cf5gVPWP.js";
7
7
  import { stderr, stdout } from "node:process";
@@ -1,7 +1,7 @@
1
- import { n as pluginCatalogRuntime } from "../catalog-runtime-cd60vzAB.js";
2
- import { t as disconnectStateAdapter } from "../adapter-Bx_1B2De.js";
3
- import { t as create } from "../profile-CthM2qFM.js";
4
- import { r as resolve } from "../resolve-B5eLRl0v.js";
1
+ import { n as pluginCatalogRuntime } from "../catalog-runtime-Suf-aLlh.js";
2
+ import { t as disconnectStateAdapter } from "../adapter-BIacI0Bt.js";
3
+ import { t as create } from "../profile-Dq5I7TV1.js";
4
+ import { r as resolve } from "../resolve-CnRHib0U.js";
5
5
  // src/cli/snapshot-create.ts
6
6
  const DEFAULT_RUNTIME = "node22";
7
7
  const DEFAULT_TIMEOUT_MS = 6e5;
@@ -1,6 +1,6 @@
1
- import { i as getChatConfig } from "../config-C9qM41O0.js";
2
- import { t as createJuniorSqlExecutor } from "../executor-Rimyj8HZ.js";
3
- import { t as createPluginCatalogRuntime } from "../registry-BnSaArNb.js";
1
+ import { i as getChatConfig } from "../config-Dnv8KmNs.js";
2
+ import { t as createJuniorSqlExecutor } from "../executor-J9k2sp9m.js";
3
+ import { t as createPluginCatalogRuntime } from "../registry-BFzQFV_y.js";
4
4
  import { n as pluginCatalogConfigFromEnv, r as pluginCatalogConfigFromPluginSet, t as defineJuniorPlugins } from "../plugins-DOm9Y6qI.js";
5
5
  import { t as loadAppPluginSet } from "../plugin-module-Cf5gVPWP.js";
6
6
  import { basename, dirname, join, resolve } from "node:path";
@@ -1,5 +1,5 @@
1
- import { T as withSpan, _ as serializeGenAiAttribute, f as logException, h as normalizeGenAiFinishReason, i as extractGenAiUsageAttributes, m as logWarn } from "./logging-BLTa7R7f.js";
2
- import { a as toCanonicalInputMessage, n as getCurrentConversationPrivacy, o as toCanonicalOutputMessage, s as toGenAiMessagesTraceAttributes } from "./conversation-privacy-1iTiFX1O.js";
1
+ import { T as withSpan, _ as serializeGenAiAttribute, f as logException, h as normalizeGenAiFinishReason, i as extractGenAiUsageAttributes, m as logWarn } from "./logging-Dk_FpF36.js";
2
+ import { a as toCanonicalInputMessage, n as getCurrentConversationPrivacy, o as toCanonicalOutputMessage, s as toGenAiMessagesTraceAttributes } from "./conversation-privacy-FY8yc2q3.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";
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-nwUcYXjP.js";
2
- import { C as toOptionalTrimmed, s as resolveGatewayModel } from "./client-2i0JJpoC.js";
3
- import { m as logWarn } from "./logging-BLTa7R7f.js";
2
+ import { C as toOptionalTrimmed, s as resolveGatewayModel } from "./client-DZBCBj1M.js";
3
+ import { m as logWarn } from "./logging-Dk_FpF36.js";
4
4
  import { l as TURN_REASONING_LEVELS, s as modelProfileSchema, t as DEFAULT_MODEL_PROFILES, u as parseTurnReasoningLevel } from "./model-profile-Bg8EoCKD.js";
5
5
  // src/chat/slack/emoji.ts
6
6
  const SLACK_EMOJI_NAME_RE = /^(?:[a-z0-9_+-]+)(?:::(?:skin-tone-[2-6]))?$/;