@sentry/junior 0.233.0 → 0.234.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 (53) hide show
  1. package/dist/{agent-hooks-DATy_Hnt.js → agent-hooks-BcH6E48y.js} +6 -6
  2. package/dist/{agent-runner-BKOtZjez.js → agent-runner-DUkGlK89.js} +221 -766
  3. package/dist/api/schema.d.ts +463 -2
  4. package/dist/api/schema.js +3 -3
  5. package/dist/api.js +229 -18
  6. package/dist/app.js +30 -20
  7. package/dist/{briefs-ClOTHmQ-.js → briefs-lyAQbDxJ.js} +2 -2
  8. package/dist/{catalog-runtime-xFtmw3oA.js → catalog-runtime-BSgsPVnr.js} +1 -1
  9. package/dist/{checkpoint-zkEB448J.js → checkpoint-BNfXlq_1.js} +6 -6
  10. package/dist/cli/chat.js +13 -13
  11. package/dist/cli/check.js +3 -3
  12. package/dist/cli/main.js +1 -1
  13. package/dist/cli/plugins.js +3 -3
  14. package/dist/cli/snapshot-create.js +3 -3
  15. package/dist/cli/upgrade.js +3 -3
  16. package/dist/{client-CJUZHY9Y.js → client-BX5lJRqW.js} +2 -2
  17. package/dist/{config-XtycpE-i.js → config-DuCzUoCo.js} +2 -2
  18. package/dist/{conversation-privacy-B30pEcsR.js → conversation-privacy-CSxvdSoV.js} +1 -1
  19. package/dist/{credential-sync-vufd6gwK.js → credential-sync-BO4DfH9a.js} +13 -13
  20. package/dist/{executor-BGDb_cM-.js → executor--jWf-Nnm.js} +1 -1
  21. package/dist/{images-zuEwjVKU.js → images-BaL19wFC.js} +2 -2
  22. package/dist/instrumentation.js +2 -2
  23. package/dist/{job-queue-C5JaRRcE.js → job-queue-cwHVOwVZ.js} +1 -1
  24. package/dist/{logging-BS563NYn.js → logging-Cox1Mgcv.js} +1 -1
  25. package/dist/nitro.js +3 -3
  26. package/dist/{oauth-authorization-DF2dSmNh.js → oauth-authorization-CC8a1JKP.js} +1 -1
  27. package/dist/{oauth-callback-server-CW9COQ9L.js → oauth-callback-server-Z7QSt416.js} +2 -2
  28. package/dist/{pending-auth-8Kmti8S3.js → pending-auth-DQhC3eSR.js} +1 -1
  29. package/dist/{profile-C4_njQYA.js → profile-BdApelHS.js} +4 -4
  30. package/dist/{registry-BhiLWAY6.js → registry-DiY6B8CN.js} +1 -1
  31. package/dist/{resolve-ZDwJ6a3N.js → resolve-VpJoiDpc.js} +2 -2
  32. package/dist/{runner-D1xeORYM.js → runner-BIMegnPE.js} +8 -8
  33. package/dist/{sandbox-egress-signals-Dx1PzQpy.js → sandbox-egress-signals-Cbtxe492.js} +1 -1
  34. package/dist/{schema-DuGfOm4u.js → schema-CxwnlTDN.js} +3 -116
  35. package/dist/{skills-CN-ye6on.js → skills-WttpPJUy.js} +2 -2
  36. package/dist/{spawn-B8KYOBcU.js → spawn-DhfMKt4y.js} +2 -2
  37. package/dist/{task-queue-DPaZtxld.js → task-queue-CZqUNJD0.js} +3 -3
  38. package/dist/{task-runner-D23tSETM.js → task-runner-BZaqoUCT.js} +15 -12
  39. package/dist/{thread-state-BbxSiDa9.js → thread-state-8tXZhu0y.js} +5 -5
  40. package/dist/{turn-failure-response-c8irQDMB.js → turn-failure-response-DFJ9L9NQ.js} +7 -7
  41. package/dist/{turn-lifecycle-DSVG3u_p.js → turn-lifecycle-WbpTUQ_r.js} +1 -1
  42. package/dist/{turn-session-routing-B2hNxu_N.js → turn-session-routing--EhI76rH.js} +1 -1
  43. package/dist/types-Du-HbEun.js +621 -0
  44. package/dist/{validation-BrLB5qbC.js → validation-0F9IgG3b.js} +1 -1
  45. package/dist/{version-B2rspCmP.js → version-A7-RRBOE.js} +1 -1
  46. package/dist/version.js +1 -1
  47. package/dist/{web-authorization-CVSTvY_D.js → web-authorization-BJggXofy.js} +6 -6
  48. package/dist/{web-input-zUQoZMZw.js → web-input-B-siN5Dr.js} +210 -162
  49. package/dist/web-message-id-CVVCTWUb.js +464 -0
  50. package/dist/{work-BXbJVOZI.js → work-CNc0ejGG.js} +7 -7
  51. package/dist/{worker-ClkQ9S9C.js → worker-BHbqpUAu.js} +5 -5
  52. package/package.json +4 -4
  53. package/dist/web-message-id-xPI_EFSC.js +0 -239
@@ -1,4 +1,4 @@
1
1
  import { A as MAX_INPUT_IMAGE_BYTES, C as conversationReportEventSchema, D as createConversationBodySchema, E as conversationSummaryReportSchema, J as conversationTurnFailureCodeSchema, M as INPUT_IMAGE_TYPES, O as createConversationMessageBodySchema, S as conversationReportEventDataSchema, T as conversationStatsReportSchema, V as messageCardText, W as resolveMessageCards, Y as conversationTurnFailureReasonSchema, _ as conversationParamsSchema, a as cancelConversationPendingMessagesBodySchema, b as conversationPendingMessageSchema, d as conversationDetailReportSchema, f as conversationEventHistorySchema, g as conversationFeedSchema, h as conversationFeedQuerySchema, i as archiveConversationResponseSchema, k as MAX_INPUT_IMAGES, 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-CPjHYOV5.js";
2
- 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";
3
- import { A as actorProfileReportSchema, B as dailyConversationActivitySchema, C as createPersonalTokenBodySchema, D as personalTokenParamsSchema, E as personalTokenMetadataSchema, F as locationDirectoryReportSchema, G as codePersonReportSchema, H as codeChangeSummaryReportSchema, I as locationParamsSchema, K as codeRepositorySummarySchema, M as personalSpendReportSchema, N as locationActivityDayReportSchema, O as revokePersonalTokenResponseSchema, P as locationDetailReportSchema, S as scheduledAutomationSummarySchema, T as personalTokenListSchema, U as codeChangeSummarySchema, V as codeActivityDaySchema, W as codeOverviewReportSchema, _ as automationRunListSchema, a as workspaceBodySchema, b as automationSummarySchema, c as workspaceRepoSchema, d as automationExecutionSchema, f as automationExecutionStatusDaySchema, g as automationParamsSchema, h as automationListSchema, i as deleteWorkspaceResponseSchema, j as personParamsSchema, k as actorDirectoryReportSchema, l as workspaceSchema, m as automationListQuerySchema, n as statsReportSchema, o as workspaceListSchema, p as automationExecutionStatusSchema, q as apiErrorSchema, r as baselineSnapshotSchema, s as workspaceParamsSchema, t as statSchema, u as automationExecutionListSchema, v as automationRunSchema, w as createdPersonalTokenSchema, x as eventAutomationSummarySchema, y as automationRunWindowsSchema } from "../schema-DuGfOm4u.js";
4
- export { INPUT_IMAGE_TYPES, MAX_INPUT_IMAGES, MAX_INPUT_IMAGE_BYTES, acceptedConversationMessageSchema, actorDirectoryReportSchema, actorProfileReportSchema, apiErrorSchema, archiveConversationBodySchema, archiveConversationResponseSchema, automationExecutionListSchema, automationExecutionSchema, automationExecutionStatusDaySchema, automationExecutionStatusSchema, automationListQuerySchema, automationListSchema, automationParamsSchema, automationRunListSchema, automationRunSchema, automationRunWindowsSchema, automationSummarySchema, baselineSnapshotSchema, cancelConversationPendingMessagesBodySchema, cancelConversationPendingMessagesResponseSchema, codeActivityDaySchema, codeChangeSummaryReportSchema, codeChangeSummarySchema, codeOverviewReportSchema, codePersonReportSchema, 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, 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 };
2
+ import { A as automationSummarySchema, B as pluginsSchema, C as automationListSchema, D as automationRunWindowsSchema, E as automationRunSchema, F as pluginOperationalReportFeedSchema, H as skillReportSchema, I as pluginOperationalReportSchema, L as pluginPackageContentItemReportSchema, M as eventAutomationSummarySchema, N as scheduledAutomationSummarySchema, O as automationScheduleIntentSchema, P as healthReportSchema, R as pluginPackageContentReportSchema, S as automationListQuerySchema, T as automationRunListSchema, U as skillReportsSchema, V as runtimeInfoReportSchema, _ as automationExecutionListSchema, b as automationExecutionStatusSchema, g as automationEventCatalogSchema, h as automationEditSchema, j as automationUpdateSchema, k as automationSchedulePreviewSchema, m as automationEditErrorSchema, t as webMessageId, v as automationExecutionSchema, w as automationParamsSchema, y as automationExecutionStatusDaySchema, z as pluginSchema } from "../web-message-id-CVVCTWUb.js";
3
+ import { A as codeChangeSummarySchema, C as locationParamsSchema, D as dailyConversationActivitySchema, M as codePersonReportSchema, N as codeRepositorySummarySchema, O as codeActivityDaySchema, P 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-CxwnlTDN.js";
4
+ 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, baselineSnapshotSchema, cancelConversationPendingMessagesBodySchema, cancelConversationPendingMessagesResponseSchema, codeActivityDaySchema, codeChangeSummaryReportSchema, codeChangeSummarySchema, codeOverviewReportSchema, codePersonReportSchema, 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, 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,19 +1,20 @@
1
- import { Ct as cancelHumanFacingPendingMessages, M as parseSlackThreadId, Nt as getConversation, b as readStats, k as readLiveAttachment } from "./agent-runner-BKOtZjez.js";
2
- import { d as logException, p as logWarn } from "./logging-BS563NYn.js";
1
+ import { Dt as cancelHumanFacingPendingMessages, J as editEventAutomation, L as editScheduledAutomation, Lt as getConversation, M as parseSlackThreadId, St as pluginEventCatalog, U as readScheduledAutomation, W as saveScheduledAutomation, X as eventAutomationTriggerAvailable, Y as AutomationEditError, at as saveEventAutomation, b as readStats, bt as getEventCatalog, ct as automationRevision, et as eventAutomationBelongsToUser, k as readLiveAttachment, lt as requireAutomationRevision, nt as getEventAutomation, ot as setEventAutomationStatus, st as AutomationConflictError } from "./agent-runner-DUkGlK89.js";
2
+ import { d as logException, p as logWarn } from "./logging-Cox1Mgcv.js";
3
3
  import { b as parseSlackMessageTs, h as parseSlackTeamId, p as parseSlackChannelId } from "./context-0Et9iVSB.js";
4
- import { $ as resolveViewerUser, $t as getConversationStore, At as conversationNotArchivedForEmail, Ct as createPluginLogger, D as SANDBOX_RUNTIME, Dt as conversationArchivedForUser, Et as conversationArchivedForEmail, Ft as readConversationEventPage, Gt as listConversationAnnotationsById, It as buildSentryConversationUrl, J as withSlackRetries, Mt as viewerConversationMembership, Ot as conversationHasParticipantEmail, Pt as readLatestConversationBrief, S as WorkspaceValidationError, Tt as conversationArchiveTimes, U as getSlackClient, Wt as listConversationAnnotations, Z as findUserByEmail, _ as deleteWorkspace, an as locationFromRow, b as listWorkspaces, dn as agentTurnUsageSchema, en as getDb, et as updateViewerDisplayName, fn as hasAgentTurnUsage, g as createWorkspace, j as workspaceRepoCheckoutPath, jt as conversationNotArchivedForUser, kt as conversationHasParticipantUser, pn as resolveRootConversationId, sn as parseSessionSource, tn as getSqlExecutor, u as getPlugins, v as getWorkspace, wt as readConversationAccessFromSql, x as updateWorkspace } from "./agent-hooks-DATy_Hnt.js";
4
+ import { $ as resolveViewerUser, $t as getConversationStore, At as conversationNotArchivedForEmail, Ct as createPluginLogger, D as SANDBOX_RUNTIME, Dt as conversationArchivedForUser, Et as conversationArchivedForEmail, Ft as readConversationEventPage, Gt as listConversationAnnotationsById, It as buildSentryConversationUrl, J as withSlackRetries, Mt as viewerConversationMembership, Ot as conversationHasParticipantEmail, Pt as readLatestConversationBrief, S as WorkspaceValidationError, Tt as conversationArchiveTimes, U as getSlackClient, Wt as listConversationAnnotations, Z as findUserByEmail, _ as deleteWorkspace, an as locationFromRow, b as listWorkspaces, dn as agentTurnUsageSchema, en as getDb, et as updateViewerDisplayName, fn as hasAgentTurnUsage, g as createWorkspace, j as workspaceRepoCheckoutPath, jt as conversationNotArchivedForUser, kt as conversationHasParticipantUser, pn as resolveRootConversationId, sn as parseSessionSource, tn as getSqlExecutor, u as getPlugins, v as getWorkspace, wt as readConversationAccessFromSql, x as updateWorkspace } from "./agent-hooks-BcH6E48y.js";
5
5
  import { n as juniorDestinations } from "./destinations-BeBiJeEM.js";
6
- import { C as juniorCodeRepositories, D as juniorIdentities, E as juniorConversations, O as juniorUsers, S as juniorCodeChanges, T as conversationReadColumns, b as juniorApiTokens, g as juniorConversationBriefs, m as juniorConversationParticipants, v as juniorConversationMetrics, y as juniorConversationEvents } from "./executor-BGDb_cM-.js";
6
+ import { C as juniorCodeRepositories, D as juniorIdentities, E as juniorConversations, O as juniorUsers, S as juniorCodeChanges, T as conversationReadColumns, b as juniorApiTokens, g as juniorConversationBriefs, m as juniorConversationParticipants, v as juniorConversationMetrics, y as juniorConversationEvents } from "./executor--jWf-Nnm.js";
7
7
  import { D as createConversationBodySchema, M as INPUT_IMAGE_TYPES, O as createConversationMessageBodySchema, T as conversationStatsReportSchema, _ as conversationParamsSchema, a as cancelConversationPendingMessagesBodySchema, c as conversationAttachmentParamsSchema, d as conversationDetailReportSchema, g as conversationFeedSchema, h as conversationFeedQuerySchema, i as archiveConversationResponseSchema, j as readMessageAttachments, m as conversationEventsQuerySchema, o as cancelConversationPendingMessagesResponseSchema, p as conversationEventPageSchema, r as archiveConversationBodySchema, t as acceptedConversationMessageSchema, u as conversationDetailQuerySchema, x as conversationPendingMessagesReportSchema } from "./conversation-CPjHYOV5.js";
8
- import { n as hash, t as create } from "./profile-C4_njQYA.js";
9
- import { t as getCachedSnapshot } from "./resolve-ZDwJ6a3N.js";
10
- import { a as getVercelConversationWorkQueue } from "./job-queue-C5JaRRcE.js";
11
- 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";
12
- import { F as createVercelAttachmentStorage, _ as readViewerAutomations, a as webActorFromEmail, b as clearSlackPendingReactions, c as getProductionSlackAdapter, d as ViewerTaskNotFoundError, f as deleteViewerTask, h as readViewerAutomationRuns, k as legacyWebMailboxMetadataSchema, l as formatSlackConversationRedactedLabel, m as readViewerAutomationExecutions, p as readConversationSourceTask, r as createAndEnqueueConversation, t as appendAndEnqueueWebMessage, u as resolveSlackConversationContextFromThreadId, x as lookupSlackUser, z as readHealthReport } from "./web-input-zUQoZMZw.js";
13
- import { A as conversationAggregateColumns, j as conversationRangeColumns, k as conversationActiveDaysColumn } from "./task-runner-D23tSETM.js";
14
- import { r as getWebAuthorization } from "./web-authorization-CVSTvY_D.js";
15
- import { t as decodeInputImages } from "./images-zuEwjVKU.js";
16
- import { A as actorProfileReportSchema, C as createPersonalTokenBodySchema, D as personalTokenParamsSchema, F as locationDirectoryReportSchema, G as codePersonReportSchema, I as locationParamsSchema, L as activityDays$1, M as personalSpendReportSchema, O as revokePersonalTokenResponseSchema, P as locationDetailReportSchema, R as activityHours$1, T as personalTokenListSchema, W as codeOverviewReportSchema, _ as automationRunListSchema, a as workspaceBodySchema, g as automationParamsSchema, h as automationListSchema, i as deleteWorkspaceResponseSchema, j as personParamsSchema, k as actorDirectoryReportSchema, l as workspaceSchema, m as automationListQuerySchema, n as statsReportSchema, o as workspaceListSchema, q as apiErrorSchema, s as workspaceParamsSchema, u as automationExecutionListSchema, w as createdPersonalTokenSchema, z as activitySixHours$1 } from "./schema-DuGfOm4u.js";
8
+ import { n as hash, t as create } from "./profile-BdApelHS.js";
9
+ import { t as getCachedSnapshot } from "./resolve-VpJoiDpc.js";
10
+ import { a as getVercelConversationWorkQueue } from "./job-queue-cwHVOwVZ.js";
11
+ import { c as ScheduleIntentError, d as getFirstRunAtMs, l as compileScheduleIntent } from "./types-Du-HbEun.js";
12
+ import { A as automationSummarySchema, B as pluginsSchema, C as automationListSchema, F as pluginOperationalReportFeedSchema, O as automationScheduleIntentSchema, P as healthReportSchema, S as automationListQuerySchema, T as automationRunListSchema, U as skillReportsSchema, V as runtimeInfoReportSchema, _ as automationExecutionListSchema, a as fillUtcHours, c as sumUtcHoursIntoSixHours, d as trailingUtcSixHourWindow, f as utcDayKey, g as automationEventCatalogSchema, h as automationEditSchema, i as fillUtcDays, j as automationUpdateSchema, k as automationSchedulePreviewSchema, l as trailingUtcDayWindow, m as automationEditErrorSchema, n as DAY_MS$1, o as fillUtcSixHours, p as utcHourKey, r as HOUR_MS$1, s as startOfUtcHour, u as trailingUtcHourWindow, w as automationParamsSchema, x as automationLifecycleSchema } from "./web-message-id-CVVCTWUb.js";
13
+ import { F as createVercelAttachmentStorage, _ as readViewerAutomations, a as webActorFromEmail, b as clearSlackPendingReactions, c as getProductionSlackAdapter, d as ViewerTaskNotFoundError, f as deleteViewerTask, g as readViewerAutomationSummary, h as readViewerAutomationRuns, k as legacyWebMailboxMetadataSchema, l as formatSlackConversationRedactedLabel, m as readViewerAutomationExecutions, p as readConversationSourceTask, r as createAndEnqueueConversation, t as appendAndEnqueueWebMessage, u as resolveSlackConversationContextFromThreadId, x as lookupSlackUser, z as readHealthReport } from "./web-input-B-siN5Dr.js";
14
+ import { A as conversationAggregateColumns, j as conversationRangeColumns, k as conversationActiveDaysColumn } from "./task-runner-BZaqoUCT.js";
15
+ import { r as getWebAuthorization } from "./web-authorization-BJggXofy.js";
16
+ import { t as decodeInputImages } from "./images-BaL19wFC.js";
17
+ import { C as locationParamsSchema, E as activitySixHours$1, M as codePersonReportSchema, P 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-CxwnlTDN.js";
17
18
  import { Hono } from "hono";
18
19
  import path from "node:path";
19
20
  import { z } from "zod";
@@ -3059,7 +3060,7 @@ async function readPeoplePluginReports(args) {
3059
3060
  reports: [],
3060
3061
  source: "plugins"
3061
3062
  });
3062
- const { getPluginProfileReports } = await import("./agent-hooks-DATy_Hnt.js").then((n) => n.t);
3063
+ const { getPluginProfileReports } = await import("./agent-hooks-BcH6E48y.js").then((n) => n.t);
3063
3064
  return pluginOperationalReportFeedSchema.parse({
3064
3065
  generatedAt: new Date(nowMs).toISOString(),
3065
3066
  reports: await getPluginProfileReports({
@@ -3507,7 +3508,164 @@ function createUserPageRoutes() {
3507
3508
  return app;
3508
3509
  }
3509
3510
  //#endregion
3511
+ //#region src/chat/automations/edit.ts
3512
+ /** Creator-only web edits. Public read access never grants write authority. */
3513
+ async function requireOwnedAutomation(user, kind, id) {
3514
+ if (kind === "scheduled") {
3515
+ const task = await readScheduledAutomation(getDb(), id);
3516
+ if (!task || task.status === "deleted" || !user.identities.some((identity) => identity.id === task.creatorIdentityId)) throw new ViewerTaskNotFoundError();
3517
+ return {
3518
+ kind,
3519
+ task
3520
+ };
3521
+ }
3522
+ const task = await getEventAutomation(getDb(), id);
3523
+ if (!task || task.status === "deleted" || !eventAutomationBelongsToUser(task, user)) throw new ViewerTaskNotFoundError();
3524
+ return {
3525
+ kind,
3526
+ task
3527
+ };
3528
+ }
3529
+ function editView(automation) {
3530
+ const { task } = automation;
3531
+ const common = {
3532
+ id: task.id,
3533
+ revision: automationRevision(task),
3534
+ title: task.title ?? null,
3535
+ instruction: task.task.text,
3536
+ credentialMode: task.credentialMode,
3537
+ outcomes: task.outcomes,
3538
+ destination: task.destination,
3539
+ createdBy: task.createdBy
3540
+ };
3541
+ if (automation.kind === "scheduled") {
3542
+ const status = automation.task.status;
3543
+ if (status === "deleted") throw new ViewerTaskNotFoundError();
3544
+ return {
3545
+ ...common,
3546
+ kind: "scheduled",
3547
+ status,
3548
+ schedule: automation.task.schedule,
3549
+ nextRunAtMs: automation.task.nextRunAtMs
3550
+ };
3551
+ }
3552
+ return {
3553
+ ...common,
3554
+ kind: "event",
3555
+ status: automation.task.status === "paused" ? "paused" : "active",
3556
+ trigger: automation.task.trigger,
3557
+ triggerAvailable: eventAutomationTriggerAvailable(automation.task, getEventCatalog())
3558
+ };
3559
+ }
3560
+ /** Load exact editable values by ID, independent of list filters. */
3561
+ async function readViewerAutomationEdit(user, kind, id) {
3562
+ return editView(await requireOwnedAutomation(user, kind, id));
3563
+ }
3564
+ /** Save a partial edit against the read revision, without dispatching work. */
3565
+ async function updateViewerAutomation(user, id, input) {
3566
+ const current = await requireOwnedAutomation(user, input.kind, id);
3567
+ requireAutomationRevision(current.task, input.revision);
3568
+ if (input.kind === "scheduled" && current.kind === "scheduled") {
3569
+ const next = await editScheduledAutomation(current.task, input, true, Date.now());
3570
+ return editView({
3571
+ kind: "scheduled",
3572
+ task: await saveScheduledAutomation(getDb(), next, input.revision)
3573
+ });
3574
+ }
3575
+ if (input.kind === "event" && current.kind === "event") {
3576
+ const next = await editEventAutomation(current.task, input, true, getEventCatalog());
3577
+ const task = await saveEventAutomation(getDb(), next, input.revision);
3578
+ if (!task) throw new ViewerTaskNotFoundError();
3579
+ return editView({
3580
+ kind: "event",
3581
+ task
3582
+ });
3583
+ }
3584
+ throw new ViewerTaskNotFoundError();
3585
+ }
3586
+ /** Pause or resume future triggers. Already-claimed work can finish. */
3587
+ async function changeViewerAutomationLifecycle(user, kind, id, input) {
3588
+ const current = await requireOwnedAutomation(user, kind, id);
3589
+ requireAutomationRevision(current.task, input.revision);
3590
+ const status = current.task.status;
3591
+ if (status === "completed") throw new AutomationEditError("Completed Automations cannot be restarted.");
3592
+ if (input.action === "pause" && status === "paused") return editView(current);
3593
+ if (input.action === "resume" && status !== "paused" && status !== "blocked") throw new AutomationEditError("Only paused or blocked Automations can be resumed.");
3594
+ if (current.kind === "event") return editView({
3595
+ kind: "event",
3596
+ task: await setEventAutomationStatus(getDb(), id, input.action === "pause" ? "paused" : "active", input.revision)
3597
+ });
3598
+ const nowMs = Date.now();
3599
+ const next = {
3600
+ ...current.task,
3601
+ updatedAtMs: nowMs,
3602
+ runNowAtMs: void 0
3603
+ };
3604
+ if (input.action === "pause") {
3605
+ next.status = "paused";
3606
+ if (status === "blocked") next.statusReason ??= "A requirement blocked this Automation. Inspect its executions before resuming.";
3607
+ } else {
3608
+ next.status = status === "paused" && next.statusReason ? "blocked" : "active";
3609
+ if (next.status === "active") {
3610
+ next.nextRunAtMs = next.schedule.recurrence ? getFirstRunAtMs({
3611
+ afterMs: nowMs,
3612
+ recurrence: next.schedule.recurrence,
3613
+ timezone: next.schedule.timezone
3614
+ }) : next.nextRunAtMs;
3615
+ if (!next.nextRunAtMs || next.nextRunAtMs <= nowMs) throw new AutomationEditError("This Schedule has no future occurrence. Set a future Schedule before resuming.", "schedule");
3616
+ next.statusReason = void 0;
3617
+ }
3618
+ }
3619
+ return editView({
3620
+ kind: "scheduled",
3621
+ task: await saveScheduledAutomation(getDb(), next, input.revision)
3622
+ });
3623
+ }
3624
+ //#endregion
3625
+ //#region src/chat/automations/editor.ts
3626
+ /** Read-only editor support. Core owns schedules; plugins own Event choices. */
3627
+ /** Return only Event types that can start a durable Automation. */
3628
+ function readAutomationEventCatalog() {
3629
+ return Object.entries(pluginEventCatalog(getEventCatalog())).flatMap(([namespace, registration]) => registration.resourceTypes.map((resource) => ({
3630
+ namespace,
3631
+ ...resource
3632
+ })));
3633
+ }
3634
+ /** Preview a creator's draft with the same clock and compiler used by saving. */
3635
+ async function previewAutomationSchedule(user, id, intent) {
3636
+ const automation = await readViewerAutomationEdit(user, "scheduled", id);
3637
+ if (automation.kind !== "scheduled") throw new Error("Expected scheduled Automation");
3638
+ if (automation.status === "completed") throw new AutomationEditError("Completed automations cannot be edited.", "schedule");
3639
+ try {
3640
+ return compileScheduleIntent({
3641
+ defaultTimezone: automation.schedule.timezone,
3642
+ intent,
3643
+ nowMs: Date.now()
3644
+ });
3645
+ } catch (error) {
3646
+ if (error instanceof ScheduleIntentError) throw new AutomationEditError(error.message, "schedule");
3647
+ throw error;
3648
+ }
3649
+ }
3650
+ //#endregion
3510
3651
  //#region src/api/automations/routes.ts
3652
+ /** Translate expected edit failures; unexpected failures stay at the API boundary. */
3653
+ function editErrorResponse(error) {
3654
+ if (error instanceof ViewerTaskNotFoundError) return jsonResponse(automationEditErrorSchema, {
3655
+ error: "Automation was not found.",
3656
+ code: "not_found"
3657
+ }, { status: 404 });
3658
+ if (error instanceof AutomationConflictError) return jsonResponse(automationEditErrorSchema, {
3659
+ error: error.message,
3660
+ code: "conflict"
3661
+ }, { status: 409 });
3662
+ if (error instanceof AutomationEditError) return jsonResponse(automationEditErrorSchema, {
3663
+ error: error.message,
3664
+ code: "invalid_edit",
3665
+ ...error.field ? { fields: { [error.field]: [error.message] } } : void 0
3666
+ }, { status: 400 });
3667
+ throw error;
3668
+ }
3511
3669
  /** Create authenticated native task list and action routes. */
3512
3670
  function createAutomationRoutes() {
3513
3671
  const app = new Hono();
@@ -3516,6 +3674,16 @@ function createAutomationRoutes() {
3516
3674
  const query = context.req.valid("query");
3517
3675
  return jsonResponse(automationListSchema, await readViewerAutomations(user, query));
3518
3676
  });
3677
+ app.get("/event-catalog", requireViewer, () => {
3678
+ return jsonResponse(automationEventCatalogSchema, readAutomationEventCatalog());
3679
+ });
3680
+ app.post("/scheduled/:id/preview", requireViewer, validateRequest("json", automationScheduleIntentSchema, "Invalid schedule."), async (context) => {
3681
+ try {
3682
+ return jsonResponse(automationSchedulePreviewSchema, await previewAutomationSchedule(context.get("viewer"), context.req.param("id"), context.req.valid("json")));
3683
+ } catch (error) {
3684
+ return editErrorResponse(error);
3685
+ }
3686
+ });
3519
3687
  app.get("/runs", requireViewer, async (context) => {
3520
3688
  const user = context.get("viewer");
3521
3689
  return jsonResponse(automationRunListSchema, await readViewerAutomationRuns(user));
@@ -3530,6 +3698,49 @@ function createAutomationRoutes() {
3530
3698
  throw error;
3531
3699
  }
3532
3700
  });
3701
+ app.get("/:kind/:id/edit", requireViewer, validateRequest("param", automationParamsSchema, "Invalid Automation."), async (context) => {
3702
+ const { kind, id } = context.req.valid("param");
3703
+ try {
3704
+ return jsonResponse(automationEditSchema, await readViewerAutomationEdit(context.get("viewer"), kind, id));
3705
+ } catch (error) {
3706
+ return editErrorResponse(error);
3707
+ }
3708
+ });
3709
+ app.post("/:kind/:id/lifecycle", requireViewer, validateRequest("param", automationParamsSchema, "Invalid Automation."), validateRequest("json", automationLifecycleSchema, "Invalid lifecycle action."), async (context) => {
3710
+ const { kind, id } = context.req.valid("param");
3711
+ try {
3712
+ return jsonResponse(automationEditSchema, await changeViewerAutomationLifecycle(context.get("viewer"), kind, id, context.req.valid("json")));
3713
+ } catch (error) {
3714
+ return editErrorResponse(error);
3715
+ }
3716
+ });
3717
+ app.patch("/:kind/:id", requireViewer, validateRequest("param", automationParamsSchema, "Invalid Automation."), zValidator("json", automationUpdateSchema, (result) => {
3718
+ if (!result.success) {
3719
+ const fields = {};
3720
+ for (const issue of result.error.issues) {
3721
+ const field = issue.path.join(".") || "save";
3722
+ (fields[field] ??= []).push(issue.message);
3723
+ }
3724
+ return jsonResponse(automationEditErrorSchema, {
3725
+ error: "Invalid Automation edit.",
3726
+ code: "invalid_edit",
3727
+ fields
3728
+ }, { status: 400 });
3729
+ }
3730
+ }), async (context) => {
3731
+ const { kind, id } = context.req.valid("param");
3732
+ const input = context.req.valid("json");
3733
+ try {
3734
+ if (input.kind !== kind) throw new AutomationEditError("The trigger type cannot change.", "kind");
3735
+ return jsonResponse(automationEditSchema, await updateViewerAutomation(context.get("viewer"), id, input));
3736
+ } catch (error) {
3737
+ return editErrorResponse(error);
3738
+ }
3739
+ });
3740
+ app.get("/:id", requireViewer, async (context) => {
3741
+ const automation = await readViewerAutomationSummary(context.get("viewer"), context.req.param("id"));
3742
+ return automation ? jsonResponse(automationSummarySchema, automation) : jsonResponse(apiErrorSchema, { error: "Automation was not found." }, { status: 404 });
3743
+ });
3533
3744
  app.delete("/:kind/:id", requireViewer, validateRequest("param", automationParamsSchema, "Invalid task."), async (context) => {
3534
3745
  const user = context.get("viewer");
3535
3746
  const params = context.req.valid("param");
@@ -3668,7 +3879,7 @@ function readDescriptionText(home) {
3668
3879
  }
3669
3880
  /** Read discovered skill names for authenticated runtime diagnostics. */
3670
3881
  async function readSkillReports() {
3671
- const { discoverSkills } = await import("./skills-CN-ye6on.js").then((n) => n.o);
3882
+ const { discoverSkills } = await import("./skills-WttpPJUy.js").then((n) => n.o);
3672
3883
  const skills = await discoverSkills();
3673
3884
  return skillReportsSchema.parse(skills.map((skill) => ({
3674
3885
  name: skill.name,
@@ -3677,7 +3888,7 @@ async function readSkillReports() {
3677
3888
  }
3678
3889
  /** Read safe configured plugin metadata for authenticated runtime diagnostics. */
3679
3890
  async function readPlugins() {
3680
- const { pluginCatalogRuntime } = await import("./catalog-runtime-xFtmw3oA.js").then((n) => n.t);
3891
+ const { pluginCatalogRuntime } = await import("./catalog-runtime-BSgsPVnr.js").then((n) => n.t);
3681
3892
  return pluginsSchema.parse(pluginCatalogRuntime.getProviders().map((plugin) => ({
3682
3893
  configKeys: plugin.manifest.configKeys ?? [],
3683
3894
  description: plugin.manifest.description,
@@ -3689,7 +3900,7 @@ async function readPlugins() {
3689
3900
  async function readRuntimeInfoReport() {
3690
3901
  const [{ homeDir }, { pluginCatalogRuntime }, plugins, skills] = await Promise.all([
3691
3902
  import("./package-discovery-7a9YqLhE.js").then((n) => n.r),
3692
- import("./catalog-runtime-xFtmw3oA.js").then((n) => n.t),
3903
+ import("./catalog-runtime-BSgsPVnr.js").then((n) => n.t),
3693
3904
  readPlugins(),
3694
3905
  readSkillReports()
3695
3906
  ]);
@@ -3706,7 +3917,7 @@ async function readRuntimeInfoReport() {
3706
3917
  /** Read sanitized operational summaries contributed by plugins. */
3707
3918
  async function readPluginOperationalReportFeed() {
3708
3919
  const nowMs = Date.now();
3709
- const { getPluginOperationalReports } = await import("./agent-hooks-DATy_Hnt.js").then((n) => n.t);
3920
+ const { getPluginOperationalReports } = await import("./agent-hooks-BcH6E48y.js").then((n) => n.t);
3710
3921
  return pluginOperationalReportFeedSchema.parse({
3711
3922
  source: "plugins",
3712
3923
  generatedAt: new Date(nowMs).toISOString(),
package/dist/app.js CHANGED
@@ -1,28 +1,29 @@
1
- import { $ as collectEventAutomationMatchKeys, A as requestAttachmentDeletion, An as getConfigDefaults, Bt as removeActiveConversation, C as readPublicArtifact, Cn as createUserTokenStore, Et as clearExpiredConversationLease, Ft as hasRunnableConversationWork, G as readScheduledAutomation, H as listScheduledAutomations, Ht as requestConversationWork, It as listActiveConversationIds, J as scheduledRunId, Jt as hasRunnableConversationWork$1, Kt as CONVERSATION_WORK_STALE_ENQUEUE_MS, L as logScheduledAutomationRunSkipped, M as parseSlackThreadId, Mt as ensureConversationWake, Nt as getConversation, O as collectAttachmentGarbage, Pt as getConversationWorkState, Q as effectiveTaskOutcomes, R as scheduledAutomationRunAttributes, S as publicArtifactHeaders, Sn as slackExternalRefIdSchema, T as lookupSlackUserProfile, U as listScheduledAutomationsForTeam, Wt as stopConversationWork, X as scheduledRunSchema, Xt as isInvalidConversationRecordError, Y as withScheduledAutomationLock, Zt as renderTaskInput, _t as getEventCatalog, a as isExperimentalFeatureEnabled, an as consumeSandboxEgressAuthRequiredSignal, en as resolveSandboxEgressProviderForHost, f as deleteMcpAuthSessionsForUserProvider, fn as startOAuthFlow, i as getExperimentalFeatures, in as clearSandboxEgressSignals, jn as setConfigDefaults, l as executeCredentialedEgressRequest, ln as formatProviderLabel, m as deleteMcpStoredOAuthCredentials, mt as ingestEvent, nn as shouldPropagateSandboxEgressTrace, nt as findMatchingEventAutomations, o as setExperimentalFeatures, on as consumeSandboxEgressPermissionDeniedSignal, p as deleteMcpServerSessionId, pt as processWorkspaceSnapshotJob, q as saveScheduledAutomationInLock, rn as SANDBOX_EGRESS_PROXY_PATH, s as executeAgentRun, sn as parseSandboxEgressCredentialToken, t as createAgentRunner, tn as normalizeSandboxEgressTracePropagationDomains, vt as eventGuidance, w as unpublishedArtifactHeaders, xn as slackEntitySchema, xt as appendAndEnqueueInboundMessage, z as getNextRunAtMs } from "./agent-runner-BKOtZjez.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-BS563NYn.js";
1
+ import { A as requestAttachmentDeletion, At as clearExpiredConversationLease, B as listScheduledAutomations, Bt as listActiveConversationIds, C as readPublicArtifact, Dn as createUserTokenStore, En as slackExternalRefIdSchema, Fn as setConfigDefaults, G as saveScheduledAutomationInLock, It as ensureConversationWake, Jt as stopConversationWork, K as scheduledRunId, Kt as requestConversationWork, Lt as getConversation, M as parseSlackThreadId, O as collectAttachmentGarbage, Pn as getConfigDefaults, Q as collectEventAutomationMatchKeys, Qt as hasRunnableConversationWork$1, R as logScheduledAutomationRunSkipped, Rt as getConversationWorkState, S as publicArtifactHeaders, T as lookupSlackUserProfile, Tn as slackEntitySchema, Tt as appendAndEnqueueInboundMessage, U as readScheduledAutomation, V as listScheduledAutomationsForTeam, Wt as removeActiveConversation, Xt as CONVERSATION_WORK_STALE_ENQUEUE_MS, Z as effectiveTaskOutcomes, _t as ingestEvent, a as isExperimentalFeatureEnabled, an as normalizeSandboxEgressTracePropagationDomains, bt as getEventCatalog, cn as clearSandboxEgressSignals, dn as parseSandboxEgressCredentialToken, en as isInvalidConversationRecordError, f as deleteMcpAuthSessionsForUserProvider, gn as startOAuthFlow, gt as processWorkspaceSnapshotJob, i as getExperimentalFeatures, in as resolveSandboxEgressProviderForHost, l as executeCredentialedEgressRequest, ln as consumeSandboxEgressAuthRequiredSignal, m as deleteMcpStoredOAuthCredentials, o as setExperimentalFeatures, on as shouldPropagateSandboxEgressTrace, p as deleteMcpServerSessionId, pn as formatProviderLabel, q as withScheduledAutomationLock, s as executeAgentRun, sn as SANDBOX_EGRESS_PROXY_PATH, t as createAgentRunner, tn as renderTaskInput, tt as findMatchingEventAutomations, un as consumeSandboxEgressPermissionDeniedSignal, w as unpublishedArtifactHeaders, xt as eventGuidance, z as scheduledAutomationRunAttributes, zt as hasRunnableConversationWork } from "./agent-runner-DUkGlK89.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-Cox1Mgcv.js";
3
3
  import { r as continueTrace } from "./sentry-CgWZM_kV.js";
4
- import { t as JUNIOR_VERSION } from "./version-B2rspCmP.js";
5
- import { a as getChatConfig, f as setBotModelConfig, i as configureFunctionMaxDurationSeconds, m as setSlackReactionConfig, n as botConfig, p as setProfiles, s as getSlackBotToken, u as getSlackReactionConfig } from "./config-XtycpE-i.js";
4
+ import { t as JUNIOR_VERSION } from "./version-A7-RRBOE.js";
5
+ import { a as getChatConfig, f as setBotModelConfig, i as configureFunctionMaxDurationSeconds, m as setSlackReactionConfig, n as botConfig, p as setProfiles, s as getSlackBotToken, u as getSlackReactionConfig } from "./config-DuCzUoCo.js";
6
6
  import { _ as slackChannelIdSchema, g as parseSlackUserId, h as parseSlackTeamId, u as parseActorUserId, v as slackTeamIdSchema, x as slackMessageTsSchema, y as slackUserIdSchema } from "./context-0Et9iVSB.js";
7
- import { $t as getConversationStore, Ct as createPluginLogger, F as bindSlackDirectCredentialSubject, G as isDmChannel, I as verifyEventAutomationCredentialSubject, L as verifyScheduledAutomationCredentialSubject, N as bindEventAutomationCredentialSubject, P as bindScheduledAutomationCredentialSubject, Q as readActorIdentity, R as verifySlackDirectCredentialSubject, U as getSlackClient, Vt as resolveRootVisibility, Wt as listConversationAnnotations, X as runWithWorkspaceTeamId, Y as getWorkspaceTeamId, Zt as getConversationEventStore, a as getPluginRoutes, bt as createPluginState, ct as collectEventMatchKeys, d as setPlugins, en as getDb, f as validatePlugins, ft as findMatchingWatches, gt as getDashboardConversationLink, h as setBriefsConfig, i as getPluginApiRoutes, in as withConversationMutationLock, mn as deleteProviderIdentityForSlackUser, mt as takeDueTimerWatches, ot as cancelSubscriptions, rn as withConversationEventLock, tn as getSqlExecutor, u as getPlugins, vt as getDashboardTaskLink, wt as readConversationAccessFromSql, yt as setDashboardConversationLinkOptions } from "./agent-hooks-DATy_Hnt.js";
7
+ import { $t as getConversationStore, Ct as createPluginLogger, F as bindSlackDirectCredentialSubject, G as isDmChannel, I as verifyEventAutomationCredentialSubject, L as verifyScheduledAutomationCredentialSubject, N as bindEventAutomationCredentialSubject, P as bindScheduledAutomationCredentialSubject, Q as readActorIdentity, R as verifySlackDirectCredentialSubject, U as getSlackClient, Vt as resolveRootVisibility, Wt as listConversationAnnotations, X as runWithWorkspaceTeamId, Y as getWorkspaceTeamId, Zt as getConversationEventStore, a as getPluginRoutes, bt as createPluginState, ct as collectEventMatchKeys, d as setPlugins, en as getDb, f as validatePlugins, ft as findMatchingWatches, gt as getDashboardConversationLink, h as setBriefsConfig, i as getPluginApiRoutes, in as withConversationMutationLock, mn as deleteProviderIdentityForSlackUser, mt as takeDueTimerWatches, ot as cancelSubscriptions, rn as withConversationEventLock, tn as getSqlExecutor, u as getPlugins, vt as getDashboardTaskLink, wt as readConversationAccessFromSql, yt as setDashboardConversationLinkOptions } from "./agent-hooks-BcH6E48y.js";
8
8
  import { n as juniorDestinations } from "./destinations-BeBiJeEM.js";
9
- import { E as juniorConversations, a as juniorSchedulerRuns, f as juniorAgentBindings, g as juniorConversationBriefs, o as juniorSchedulerTasks, p as juniorAgentInvocations, y as juniorConversationEvents } from "./executor-BGDb_cM-.js";
9
+ import { E as juniorConversations, a as juniorSchedulerRuns, f as juniorAgentBindings, g as juniorConversationBriefs, o as juniorSchedulerTasks, p as juniorAgentInvocations, y as juniorConversationEvents } from "./executor--jWf-Nnm.js";
10
10
  import { z as annotationCard } from "./conversation-CPjHYOV5.js";
11
- import { n as pluginCatalogRuntime } from "./catalog-runtime-xFtmw3oA.js";
12
- import { X as projectConversationMessages, q as appendConversationMessages } from "./checkpoint-zkEB448J.js";
13
- import { O as withLock$1, w as getStateAdapter } from "./profile-C4_njQYA.js";
14
- import { f as setSandboxResourceConfig, u as getSandboxResourceConfig } from "./resolve-ZDwJ6a3N.js";
15
- 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-C5JaRRcE.js";
16
- import { n as validatePluginRegistrations, t as validatePluginEgressCredentialHooks } from "./validation-BrLB5qbC.js";
11
+ import { n as pluginCatalogRuntime } from "./catalog-runtime-BSgsPVnr.js";
12
+ import { X as projectConversationMessages, q as appendConversationMessages } from "./checkpoint-BNfXlq_1.js";
13
+ import { O as withLock$1, w as getStateAdapter } from "./profile-BdApelHS.js";
14
+ import { f as setSandboxResourceConfig, u as getSandboxResourceConfig } from "./resolve-VpJoiDpc.js";
15
+ 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-cwHVOwVZ.js";
16
+ import { f as getNextRunAtMs, r as scheduledRunSchema } from "./types-Du-HbEun.js";
17
+ import { n as validatePluginRegistrations, t as validatePluginEgressCredentialHooks } from "./validation-0F9IgG3b.js";
17
18
  import { a as pluginRuntimeRegistrationsFromPluginSet, n as pluginCatalogConfigFromEnv, r as pluginCatalogConfigFromPluginSet, t as defineJuniorPlugins } from "./plugins-egKWjgue.js";
18
- import { A as THREAD_OPTOUT_ACK, C as verifySlackSignature, D as withNormalizedThreadId, E as normalizeIncomingSlackThreadId, F as createVercelAttachmentStorage, L as enqueueAgentDispatch, M as parseContent, N as getThreadStopDecision, O as getAuthPausedConversationTurnId, P as renderSlackObjectCard, R as GET$3, S as runWithSlackInstallation, T as stopSlackThread, a as webActorFromEmail, b as clearSlackPendingReactions, c as getProductionSlackAdapter, g as readViewerAutomationSummary, i as recordWebConversationActivity, j as startProcessingReaction, n as conversationTurnIdForMessage, o as createProductionConversationWorkOptions, s as createProductionSlackWebhookServices, t as appendAndEnqueueWebMessage, v as recordSkippedConversationMessage, w as isSlackMessageStopped, y as buildSlackInboundMessage } from "./web-input-zUQoZMZw.js";
19
- import { O as recordAutomationExecution, _ as markDispatchFailed, a as confirmDispatchMailboxAppend, d as getPluginDispatchProjection, f as isTerminalDispatchStatus, l as getDispatchRecord, o as createOrGetDispatch, p as listPendingDispatchMailboxAppends, s as getDispatchConversationId } from "./task-runner-D23tSETM.js";
20
- import { c as listPendingAgentInvocationMailboxAppends, r as enqueueAgentInvocation } from "./work-BXbJVOZI.js";
21
- import { s as coerceThreadConversationState } from "./thread-state-BbxSiDa9.js";
22
- import { a as GET$4, i as publishAppHomeView, r as GET$5, t as receiveLocalOAuthCredential } from "./credential-sync-vufd6gwK.js";
23
- import { a as registerVercelPluginTaskDevConsumer, n as createVercelPluginTaskCallback, s as queueCallback } from "./task-queue-DPaZtxld.js";
24
- import { t as processConversationWork } from "./worker-ClkQ9S9C.js";
25
- import { t as bindSpawnAgent } from "./spawn-B8KYOBcU.js";
19
+ import { A as THREAD_OPTOUT_ACK, C as verifySlackSignature, D as withNormalizedThreadId, E as normalizeIncomingSlackThreadId, F as createVercelAttachmentStorage, L as enqueueAgentDispatch, M as parseContent, N as getThreadStopDecision, O as getAuthPausedConversationTurnId, P as renderSlackObjectCard, R as GET$3, S as runWithSlackInstallation, T as stopSlackThread, a as webActorFromEmail, b as clearSlackPendingReactions, c as getProductionSlackAdapter, g as readViewerAutomationSummary, i as recordWebConversationActivity, j as startProcessingReaction, n as conversationTurnIdForMessage, o as createProductionConversationWorkOptions, s as createProductionSlackWebhookServices, t as appendAndEnqueueWebMessage, v as recordSkippedConversationMessage, w as isSlackMessageStopped, y as buildSlackInboundMessage } from "./web-input-B-siN5Dr.js";
20
+ import { O as recordAutomationExecution, _ as markDispatchFailed, a as confirmDispatchMailboxAppend, d as getPluginDispatchProjection, f as isTerminalDispatchStatus, l as getDispatchRecord, o as createOrGetDispatch, p as listPendingDispatchMailboxAppends, s as getDispatchConversationId } from "./task-runner-BZaqoUCT.js";
21
+ import { c as listPendingAgentInvocationMailboxAppends, r as enqueueAgentInvocation } from "./work-CNc0ejGG.js";
22
+ import { s as coerceThreadConversationState } from "./thread-state-8tXZhu0y.js";
23
+ import { a as GET$4, i as publishAppHomeView, r as GET$5, t as receiveLocalOAuthCredential } from "./credential-sync-BO4DfH9a.js";
24
+ import { a as registerVercelPluginTaskDevConsumer, n as createVercelPluginTaskCallback, s as queueCallback } from "./task-queue-CZqUNJD0.js";
25
+ import { t as processConversationWork } from "./worker-BHbqpUAu.js";
26
+ import { t as bindSpawnAgent } from "./spawn-DhfMKt4y.js";
26
27
  import { createRequire } from "node:module";
27
28
  import { pathToFileURL } from "node:url";
28
29
  import { Hono } from "hono";
@@ -575,6 +576,15 @@ async function advanceScheduledAutomationAfterRun(db, args) {
575
576
  await withScheduledAutomationLock(db, args.run.taskId, async (tx) => {
576
577
  const current = await readScheduledAutomation(tx, args.run.taskId);
577
578
  if (!current || current.status === "deleted" || current.status === "completed") return;
579
+ if (current.status === "paused") {
580
+ await saveScheduledAutomationInLock(tx, {
581
+ ...current,
582
+ lastRunAtMs: args.run.scheduledForMs,
583
+ statusReason: args.status === "blocked" ? args.errorMessage : current.statusReason,
584
+ updatedAtMs: args.nowMs
585
+ }, current);
586
+ return;
587
+ }
578
588
  if (current.runNowAtMs === args.run.scheduledForMs) {
579
589
  let nextRunAtMs = current.nextRunAtMs;
580
590
  if (args.status !== "blocked" && typeof current.nextRunAtMs === "number" && current.nextRunAtMs <= args.run.scheduledForMs) nextRunAtMs = getNextRunAtMs(current, current.nextRunAtMs, args.nowMs);
@@ -1,4 +1,4 @@
1
- import { r as completeObject } from "./client-CJUZHY9Y.js";
1
+ import { r as completeObject } from "./client-BX5lJRqW.js";
2
2
  import { r as defaultModelId } from "./model-profile-BwU8mqwD.js";
3
3
  import { P as briefCodeChangeSchema, R as parseBriefInput, d as conversationDetailReportSchema, p as conversationEventPageSchema } from "./conversation-CPjHYOV5.js";
4
4
  import { n as briefEntriesFromReportEvents, s as generateBrief, t as BRIEF_PROMPT } from "./prompt-3D0sSbTC.js";
@@ -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-XtycpE-i.js").then((n) => n.r);
272
+ const { botConfig } = await import("./config-DuCzUoCo.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-BhiLWAY6.js";
2
+ import { t as createPluginCatalogRuntime } from "./registry-DiY6B8CN.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();
@@ -1,10 +1,10 @@
1
- import { d as unwrapCurrentInstruction, f as escapeXml, i as completeText, o as resolveGatewayModel } from "./client-CJUZHY9Y.js";
2
- import { d as logException, o as getActiveTraceId, p as logWarn, t as buildTurnFailureResponse, v as setSpanAttributes } from "./logging-BS563NYn.js";
3
- import { n as botConfig } from "./config-XtycpE-i.js";
1
+ import { d as unwrapCurrentInstruction, f as escapeXml, i as completeText, o as resolveGatewayModel } from "./client-BX5lJRqW.js";
2
+ import { d as logException, o as getActiveTraceId, p as logWarn, t as buildTurnFailureResponse, v as setSpanAttributes } from "./logging-Cox1Mgcv.js";
3
+ import { n as botConfig } from "./config-DuCzUoCo.js";
4
4
  import { b as parseSlackMessageTs, f as toStoredSlackActor } from "./context-0Et9iVSB.js";
5
- import { $t as getConversationStore, Jt as authenticationLinkedEvent, Kt as JUNIOR_NATIVE_EVENT_NAMESPACE, Yt as authenticationUnlinkedEvent, Zt as getConversationEventStore, cn as addAgentTurnUsage, nn as createSqlConversationEventStore, on as bindProviderConversation, qt as agentsInstructionsUpdatedEvent, rn as withConversationEventLock, tn as getSqlExecutor } from "./agent-hooks-DATy_Hnt.js";
5
+ import { $t as getConversationStore, Jt as authenticationLinkedEvent, Kt as JUNIOR_NATIVE_EVENT_NAMESPACE, Yt as authenticationUnlinkedEvent, Zt as getConversationEventStore, cn as addAgentTurnUsage, nn as createSqlConversationEventStore, on as bindProviderConversation, qt as agentsInstructionsUpdatedEvent, rn as withConversationEventLock, tn as getSqlExecutor } from "./agent-hooks-BcH6E48y.js";
6
6
  import { B as messageCardRef, K as agentHistoryItemSchema, et as contextProvenance, nt as instructionProvenanceFor, tt as instructionActors } from "./conversation-CPjHYOV5.js";
7
- import { D as fenceLock, O as withLock, T as MUTATION_LOCK_TTL_MS, k as sleep, w as getStateAdapter } from "./profile-C4_njQYA.js";
7
+ import { D as fenceLock, O as withLock, T as MUTATION_LOCK_TTL_MS, k as sleep, w as getStateAdapter } from "./profile-BdApelHS.js";
8
8
  import { isDeepStrictEqual } from "node:util";
9
9
  import { z } from "zod";
10
10
  import { createHash } from "node:crypto";
@@ -2139,4 +2139,4 @@ async function saveDone(args) {
2139
2139
  });
2140
2140
  }
2141
2141
  //#endregion
2142
- export { fallbackShortTitle as $, commitAcceptedReply as A, recordAuthorizationCompleted as B, isToolResultError as C, stripRuntimeTurnContext as D, retainRuntimeTurnContext as E, loadTurnRoute as F, recordToolExecutionStarted as G, recordGuardianActionReviewed as H, openConversationProjection as I, hydrateConversationMessages as J, recordTurnRoute as K, recordAgentsInstructionsUpdated as L, loadConnectedMcpProviders as M, loadConversationProjection as N, trimTrailingAssistantMessages as O, loadProjection as P, resolveConversationTitle as Q, recordAttachmentsDelivered as R, isContinuablePiBoundary as S, normalizeToolNameFromResult as T, recordMcpProviderConnected as U, recordAuthorizationRequested as V, recordSubscribedReplyRoute as W, projectConversationMessages as X, persistConversationMessages as Y, persistConversationMessageSummaries as Z, getTerminalAssistantMessages as _, piMessageFromHistoryItem as _t, completeTurnRecord as a, estimateConversationContextTokens as at, instructionTextForProjection as b, listTurnSummaries as c, markConversationMessage as ct, TurnSliceLimitExceededError as d, turnHasReply as dt, generateShortTitle as et, assertTurnToolCallLimit as f, upsertConversationMessage as ft, getPiMessageRole as g, historyItemFromPiMessage as gt, extractAssistantText as h, getAgentContextInputLimitTokens as ht, abandonTurnRecord as i, createConversationMemoryService as it, commitMessages as j, TURN_CONTEXT_TAG as k, recordTurnSummary as l, normalizeConversationText as lt, isTurnExecutionLimitExceededError as m, getAgentContextCompactionTriggerTokens as mt, loadTurnCheckpoint as n, appendThreadContextMessages as nt, failTurnRecord as o, getConversationMessageSlackTs as ot, buildTurnErrorResponse as p, estimateTextTokens as pt, appendConversationMessages as q, saveTurnCheckpoint as r, buildConversationContext as rt, getTurnRecord as s, isHumanConversationMessage as st, continuableMessages as t, resolveTaskTitle as tt, persistWithRetry as u, recordDeliveredAssistantMessage as ut, getUserMessageInstructionText as v, isToolResultMessage as w, isAssistantMessage as x, hasRuntimeTurnContext as y, recordAuthenticationLinked as z };
2142
+ export { fallbackShortTitle as $, commitAcceptedReply as A, recordAuthorizationCompleted as B, isToolResultError as C, stripRuntimeTurnContext as D, retainRuntimeTurnContext as E, loadTurnRoute as F, recordToolExecutionStarted as G, recordGuardianActionReviewed as H, openConversationProjection as I, hydrateConversationMessages as J, recordTurnRoute as K, recordAgentsInstructionsUpdated as L, loadConnectedMcpProviders as M, loadConversationProjection as N, trimTrailingAssistantMessages as O, loadProjection as P, resolveConversationTitle as Q, recordAttachmentsDelivered as R, isContinuablePiBoundary as S, normalizeToolNameFromResult as T, recordMcpProviderConnected as U, recordAuthorizationRequested as V, recordSubscribedReplyRoute as W, projectConversationMessages as X, persistConversationMessages as Y, persistConversationMessageSummaries as Z, getTerminalAssistantMessages as _, completeTurnRecord as a, getConversationMessageSlackTs as at, instructionTextForProjection as b, listTurnSummaries as c, normalizeConversationText as ct, TurnSliceLimitExceededError as d, upsertConversationMessage as dt, resolveTaskTitle as et, assertTurnToolCallLimit as f, estimateTextTokens as ft, getPiMessageRole as g, piMessageFromHistoryItem as gt, extractAssistantText as h, historyItemFromPiMessage as ht, abandonTurnRecord as i, estimateConversationContextTokens as it, commitMessages as j, TURN_CONTEXT_TAG as k, recordTurnSummary as l, recordDeliveredAssistantMessage as lt, isTurnExecutionLimitExceededError as m, getAgentContextInputLimitTokens as mt, loadTurnCheckpoint as n, buildConversationContext as nt, failTurnRecord as o, isHumanConversationMessage as ot, buildTurnErrorResponse as p, getAgentContextCompactionTriggerTokens as pt, appendConversationMessages as q, saveTurnCheckpoint as r, createConversationMemoryService as rt, getTurnRecord as s, markConversationMessage as st, continuableMessages as t, appendThreadContextMessages as tt, persistWithRetry as u, turnHasReply as ut, getUserMessageInstructionText as v, isToolResultMessage as w, isAssistantMessage as x, hasRuntimeTurnContext as y, recordAuthenticationLinked as z };
package/dist/cli/chat.js CHANGED
@@ -1,4 +1,4 @@
1
- import { s as executeAgentRun, t as createAgentRunner } from "../agent-runner-BKOtZjez.js";
1
+ import { s as executeAgentRun, t as createAgentRunner } from "../agent-runner-DUkGlK89.js";
2
2
  import { t as loadAppPluginSet } from "../plugin-module-BKGOXca2.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-DATy_Hnt.js").then((n) => n.t),
104
- import("../catalog-runtime-xFtmw3oA.js").then((n) => n.t),
105
- import("../validation-BrLB5qbC.js").then((n) => n.r),
106
- import("../agent-hooks-DATy_Hnt.js").then((n) => n.Xt)
103
+ import("../agent-hooks-BcH6E48y.js").then((n) => n.t),
104
+ import("../catalog-runtime-BSgsPVnr.js").then((n) => n.t),
105
+ import("../validation-0F9IgG3b.js").then((n) => n.r),
106
+ import("../agent-hooks-BcH6E48y.js").then((n) => n.Xt)
107
107
  ]);
108
108
  const resolvedPluginSet = pluginSet === void 0 ? await loadLocalPluginSet() : pluginSet ?? void 0;
109
109
  const plugins = pluginsModule.pluginRuntimeRegistrationsFromPluginSet(resolvedPluginSet);
@@ -153,18 +153,18 @@ function localDevServerUrl() {
153
153
  async function prepareLocalChatRun(io, pluginSet) {
154
154
  defaultStateAdapterForLocalChat();
155
155
  await configureLocalChatPlugins(pluginSet);
156
- const { setExperimentalFeatures } = await import("../agent-runner-BKOtZjez.js").then((n) => n.r);
156
+ const { setExperimentalFeatures } = await import("../agent-runner-DUkGlK89.js").then((n) => n.r);
157
157
  setExperimentalFeatures({ subagents: true });
158
- const { setBriefsConfig } = await import("../agent-hooks-DATy_Hnt.js").then((n) => n.m);
158
+ const { setBriefsConfig } = await import("../agent-hooks-BcH6E48y.js").then((n) => n.m);
159
159
  setBriefsConfig({ enabled: true });
160
- const { runLocalAgentTurn } = await import("../runner-D1xeORYM.js");
161
- const { startLocalOAuthCallbackServer } = await import("../oauth-callback-server-CW9COQ9L.js");
160
+ const { runLocalAgentTurn } = await import("../runner-BIMegnPE.js");
161
+ const { startLocalOAuthCallbackServer } = await import("../oauth-callback-server-Z7QSt416.js");
162
162
  const { createLocalOAuthState } = await import("../oauth-relay-CdCnu80W.js").then((n) => n.t);
163
- const { createLocalSandboxEgressSignalTransport } = await import("../sandbox-egress-signals-Dx1PzQpy.js");
164
- const { bindSpawnAgent } = await import("../spawn-B8KYOBcU.js").then((n) => n.n);
165
- const { createAgentInvocationWorker, routeAgentInvocationWork } = await import("../work-BXbJVOZI.js").then((n) => n.a);
163
+ const { createLocalSandboxEgressSignalTransport } = await import("../sandbox-egress-signals-Cbtxe492.js");
164
+ const { bindSpawnAgent } = await import("../spawn-DhfMKt4y.js").then((n) => n.n);
165
+ const { createAgentInvocationWorker, routeAgentInvocationWork } = await import("../work-CNc0ejGG.js").then((n) => n.a);
166
166
  const { createLocalConversationWork } = await import("../conversation-work-C6y3T5Hx.js");
167
- const { processConversationWork } = await import("../worker-ClkQ9S9C.js").then((n) => n.n);
167
+ const { processConversationWork } = await import("../worker-BHbqpUAu.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-BS563NYn.js";
2
- import { f as parseInlinePluginManifest, p as parsePluginManifest } from "../registry-BhiLWAY6.js";
3
- import { i as parseSkillFile } from "../skills-CN-ye6on.js";
1
+ import { D as JUNIOR_HEARTBEAT_ROUTE, M as LEGACY_JUNIOR_CONVERSATION_WORK_FUNCTION, T as JUNIOR_CONVERSATION_WORK_CALLBACK_ROUTE } from "../logging-Cox1Mgcv.js";
2
+ import { f as parseInlinePluginManifest, p as parsePluginManifest } from "../registry-DiY6B8CN.js";
3
+ import { i as parseSkillFile } from "../skills-WttpPJUy.js";
4
4
  import { pathToFileURL } from "node:url";
5
5
  import path from "node:path";
6
6
  import fs from "node:fs/promises";
package/dist/cli/main.js CHANGED
@@ -25,7 +25,7 @@ async function runChat(argv, pluginSet) {
25
25
  return await (await import("./chat.js")).runChat(argv, void 0, { pluginSet });
26
26
  }
27
27
  async function runBriefs(argv) {
28
- return await (await import("../briefs-ClOTHmQ-.js")).runBriefs(argv);
28
+ return await (await import("../briefs-lyAQbDxJ.js")).runBriefs(argv);
29
29
  }
30
30
  function topLevelCommand(argv) {
31
31
  return (argv[0] === "--" ? argv.slice(1) : argv)[0];
@@ -1,6 +1,6 @@
1
- import { Ct as createPluginLogger, d as setPlugins, en as getDb, f as validatePlugins } from "../agent-hooks-DATy_Hnt.js";
2
- import { n as pluginCatalogRuntime } from "../catalog-runtime-xFtmw3oA.js";
3
- import { n as validatePluginRegistrations, t as validatePluginEgressCredentialHooks } from "../validation-BrLB5qbC.js";
1
+ import { Ct as createPluginLogger, d as setPlugins, en as getDb, f as validatePlugins } from "../agent-hooks-BcH6E48y.js";
2
+ import { n as pluginCatalogRuntime } from "../catalog-runtime-BSgsPVnr.js";
3
+ import { n as validatePluginRegistrations, t as validatePluginEgressCredentialHooks } from "../validation-0F9IgG3b.js";
4
4
  import { a as pluginRuntimeRegistrationsFromPluginSet, i as pluginCliRegistrationsFromPluginSet, r as pluginCatalogConfigFromPluginSet } from "../plugins-egKWjgue.js";
5
5
  import { t as loadAppPluginSet } from "../plugin-module-BKGOXca2.js";
6
6
  import { stderr, stdout } from "node:process";
@@ -1,6 +1,6 @@
1
- import { n as pluginCatalogRuntime } from "../catalog-runtime-xFtmw3oA.js";
2
- import { S as disconnectStateAdapter, t as create } from "../profile-C4_njQYA.js";
3
- import { r as resolve } from "../resolve-ZDwJ6a3N.js";
1
+ import { n as pluginCatalogRuntime } from "../catalog-runtime-BSgsPVnr.js";
2
+ import { S as disconnectStateAdapter, t as create } from "../profile-BdApelHS.js";
3
+ import { r as resolve } from "../resolve-VpJoiDpc.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 { a as getChatConfig } from "../config-XtycpE-i.js";
2
- import { t as createJuniorSqlExecutor } from "../executor-BGDb_cM-.js";
3
- import { t as createPluginCatalogRuntime } from "../registry-BhiLWAY6.js";
1
+ import { a as getChatConfig } from "../config-DuCzUoCo.js";
2
+ import { t as createJuniorSqlExecutor } from "../executor--jWf-Nnm.js";
3
+ import { t as createPluginCatalogRuntime } from "../registry-DiY6B8CN.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-BKGOXca2.js";
6
6
  import { fileURLToPath } from "node:url";
@@ -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-BS563NYn.js";
2
- import { a as toCanonicalInputMessage, n as getCurrentConversationPrivacy, o as toCanonicalOutputMessage, s as toGenAiMessagesTraceAttributes } from "./conversation-privacy-B30pEcsR.js";
1
+ import { d as logException, g as serializeGenAiAttribute, i as extractGenAiUsageAttributes, m as normalizeGenAiFinishReason, p as logWarn, w as withSpan } from "./logging-Cox1Mgcv.js";
2
+ import { a as toCanonicalInputMessage, n as getCurrentConversationPrivacy, o as toCanonicalOutputMessage, s as toGenAiMessagesTraceAttributes } from "./conversation-privacy-CSxvdSoV.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";