@sentry/junior 0.261.0 → 0.262.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.
- package/dist/{adapter-Bx_1B2De.js → adapter-t-Y9RHML.js} +2 -2
- package/dist/{admin-BAbbVgVc.js → admin-BCqeFndQ.js} +1 -1
- package/dist/{agent-hooks-ghyZZQqB.js → agent-hooks-9q2zdKHL.js} +63 -14
- package/dist/{agent-invocations-Qfz7dWgU.js → agent-invocations-CxKldAeB.js} +1 -0
- package/dist/{agent-runner-g110-xgg.js → agent-runner-Cx6NO5LE.js} +112 -35
- package/dist/api/schema.js +1 -1
- package/dist/api.js +31 -28
- package/dist/{app-VCiPQ65Q.d.ts → app-Bo0kB987.d.ts} +1 -1
- package/dist/app.d.ts +1 -1
- package/dist/app.js +52 -59
- package/dist/{assistant-reply-CQcMaWNL.js → assistant-reply-B2qUBAwL.js} +1 -1
- package/dist/{briefs-CKcfrIQL.js → briefs-DsGH2Vym.js} +2 -2
- package/dist/{catalog-runtime-cd60vzAB.js → catalog-runtime-CfwKT0sn.js} +1 -1
- package/dist/cli/chat.js +15 -17
- package/dist/cli/check.js +3 -3
- package/dist/cli/main.js +3 -3
- package/dist/cli/plugins.js +4 -4
- package/dist/cli/snapshot-create.js +4 -4
- package/dist/cli/upgrade.js +3 -3
- package/dist/{client-2i0JJpoC.js → client-DpfjZgNk.js} +2 -2
- package/dist/{config-C9qM41O0.js → config-BiCtNiu5.js} +2 -2
- package/dist/{connections-DrtTrwkp.js → connections-D9IKbfk-.js} +10 -10
- package/dist/{conversation-privacy-1iTiFX1O.js → conversation-privacy-CBUI0frD.js} +1 -1
- package/dist/{credential-sync-wKNQ1dYc.js → credential-sync-Bu6ZOuOk.js} +14 -14
- package/dist/{executor-Rimyj8HZ.js → executor-O8xqLDN6.js} +4 -3
- package/dist/{images-D1JggcVY.js → images-AM1exvU0.js} +2 -2
- package/dist/instrumentation.js +2 -2
- package/dist/{job-queue-BjQdSqA3.js → job-queue-DmarAQGI.js} +1 -1
- package/dist/{logging-BLTa7R7f.js → logging-dZN1Bvtu.js} +1 -1
- package/dist/{message-DAeP5WWW.js → message-C_g2S8kv.js} +3 -3
- package/dist/nitro.d.ts +1 -1
- package/dist/nitro.js +3 -3
- package/dist/{oauth-callback-server-BAy1hhF1.js → oauth-callback-server-DvvOvr4q.js} +2 -2
- package/dist/{profile-CthM2qFM.js → profile-BP2N5uDY.js} +13 -6
- package/dist/{registry-BnSaArNb.js → registry-BUje_knT.js} +1 -1
- package/dist/{resolve-B5eLRl0v.js → resolve-DftZiYNU.js} +4 -4
- package/dist/{result-Cvm0GZCv.js → result-CRMRT9CE.js} +16 -11
- package/dist/{runner-D-pUzHbU.js → runner-4mmL2Pt1.js} +10 -10
- package/dist/{sandbox-egress-signals-mvwGV7rl.js → sandbox-egress-signals-1ysv0z5A.js} +1 -1
- package/dist/{schema-OzL8Zw4H.js → schema-XuTZukI9.js} +1 -1
- package/dist/{service-account-DWxvpSfd.js → service-account-B1sH3P7d.js} +3 -3
- package/dist/{service-account-Ch1uIpnR.js → service-account-Del2I_x3.js} +3 -3
- package/dist/{session-stop-Boj_zpTa.js → session-stop-ZuyOHxdK.js} +11 -11
- package/dist/{skills-BpdYCfFt.js → skills-lPeepA2b.js} +2 -2
- package/dist/{spawn-h1DJMQTf.js → spawn-DovpdlrW.js} +3 -2
- package/dist/{store-B6KqcdCQ.js → store-dZynGGFW.js} +6 -6
- package/dist/{task-queue-BaDwKSYv.js → task-queue-CmMCtzHO.js} +3 -3
- package/dist/{task-runner-BAX5li9a.js → task-runner-BRgJ5e0s.js} +19 -11
- package/dist/{tasks-uCfmlWga.js → tasks-Bh2qYaed.js} +15 -24
- package/dist/{thread-state-BJHVIz8G.js → thread-state-DA37FsAT.js} +5 -5
- package/dist/{turn-failure-response-CCC76P6-.js → turn-failure-response-BLcscQ-f.js} +7 -7
- package/dist/{turn-lifecycle-pHSESVR9.js → turn-lifecycle-D0e887FM.js} +1 -1
- package/dist/{turn-session-routing-BIKJZaiw.js → turn-session-routing-DdbSbJS6.js} +1 -1
- package/dist/{validation-B9KL_5Wc.js → validation-DtcovXqq.js} +1 -1
- package/dist/{version-CN9BXMW_.js → version-JcDaJ75p.js} +1 -1
- package/dist/version.js +1 -1
- package/dist/{viewer-C5xFaYVi.js → viewer-oMTUVAcR.js} +4 -4
- package/dist/{web-input-D6eqfXYd.js → web-input-FQ5wgqYn.js} +26 -26
- package/dist/{work-C-ecZAme.js → work-BiIKfayl.js} +40 -10
- package/dist/{worker-BpYDqiOf.js → worker-BZ7l75NM.js} +5 -5
- package/migrations/0062_plugin_report_index.sql +20 -0
- package/migrations/0063_agent_invocation_type.sql +1 -0
- package/migrations/meta/0062_snapshot.json +3499 -0
- package/migrations/meta/0063_snapshot.json +3505 -0
- package/migrations/meta/_journal.json +14 -0
- package/package.json +5 -5
package/dist/api.js
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import { D as AutomationConflictError, E as sameDefinitionValue, L as loadTurnProjection, O as automationRevision, S as automationDefinition, T as readAutomationVersion, a as saveScheduledAutomation,
|
|
2
|
-
import { p as escapeXml } from "./client-
|
|
3
|
-
import { f as logException, m as logWarn, p as logInfo } from "./logging-
|
|
1
|
+
import { D as AutomationConflictError, E as sameDefinitionValue, L as loadTurnProjection, O as automationRevision, S as automationDefinition, T as readAutomationVersion, a as saveScheduledAutomation, k as requireAutomationRevision, nr as piMessageFromHistoryItem, v as saveEventAutomation, y as setEventAutomationStatus, yn as createUserTokenStore } from "./tasks-Bh2qYaed.js";
|
|
2
|
+
import { p as escapeXml } from "./client-DpfjZgNk.js";
|
|
3
|
+
import { f as logException, m as logWarn, p as logInfo } from "./logging-dZN1Bvtu.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-
|
|
6
|
-
import { c as juniorIdentities, d as juniorDestinations, l as juniorUsers, o as conversationReadColumns, s as juniorConversations } from "./agent-invocations-
|
|
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-
|
|
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-oMTUVAcR.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-O8xqLDN6.js";
|
|
8
8
|
import { d as contextProvenance } from "./history-AY8rs-FR.js";
|
|
9
|
-
import { n as pluginCatalogRuntime } from "./catalog-runtime-
|
|
10
|
-
import { F as AutomationEditError, I as eventAutomationTriggerAvailable, P as editEventAutomation, R as resolveTaskOutcomes, S as readLiveAttachment, T as parseSlackThreadId, U as listChildAgents,
|
|
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-
|
|
9
|
+
import { n as pluginCatalogRuntime } from "./catalog-runtime-CfwKT0sn.js";
|
|
10
|
+
import { F as AutomationEditError, I as eventAutomationTriggerAvailable, P as editEventAutomation, R as resolveTaskOutcomes, S as readLiveAttachment, T as parseSlackThreadId, U as listChildAgents, bt as conversationSubtreeColumns, it as getChildAgentLabel, j as editScheduledAutomation, m as readStats, yt as conversationSubtree } from "./agent-runner-Cx6NO5LE.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, Xt as createPluginCache, 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-9q2zdKHL.js";
|
|
12
12
|
import { t as getFirstRunAtMs } from "./cadence-R7Em4RjE.js";
|
|
13
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-
|
|
15
|
-
import { d as getEventCatalog, x as automationEventCatalog } from "./session-stop-
|
|
16
|
-
import { d as getSandboxResources, t as getCachedSnapshot } from "./resolve-
|
|
17
|
-
import { a as getVercelConversationWorkQueue } from "./job-queue-
|
|
18
|
-
import { a as cancelHumanFacingPendingMessages, h as getConversation } from "./store-
|
|
19
|
-
import { n as finishServiceAccountSignIn, o as serviceAccountPlugins, r as getServiceAccountStatus, s as startServiceAccountSignIn, t as disconnectServiceAccount } from "./service-account-
|
|
14
|
+
import { n as hash, t as create } from "./profile-BP2N5uDY.js";
|
|
15
|
+
import { d as getEventCatalog, x as automationEventCatalog } from "./session-stop-ZuyOHxdK.js";
|
|
16
|
+
import { d as getSandboxResources, t as getCachedSnapshot } from "./resolve-DftZiYNU.js";
|
|
17
|
+
import { a as getVercelConversationWorkQueue } from "./job-queue-DmarAQGI.js";
|
|
18
|
+
import { a as cancelHumanFacingPendingMessages, h as getConversation } from "./store-dZynGGFW.js";
|
|
19
|
+
import { n as finishServiceAccountSignIn, o as serviceAccountPlugins, r as getServiceAccountStatus, s as startServiceAccountSignIn, t as disconnectServiceAccount } from "./service-account-Del2I_x3.js";
|
|
20
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";
|
|
21
21
|
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-
|
|
23
|
-
import { F as conversationAggregateColumns, I as conversationRangeColumns, M as readAutomationTitlesByConversationId, P as conversationActiveDaysColumn } from "./task-runner-
|
|
24
|
-
import { d as legacyWebMailboxMetadataSchema } from "./result-
|
|
25
|
-
import { a as startConnection, l as getWebAuthorization, n as isConnectableProvider, r as listConnections, t as disconnectConnection, u as htmlCallbackResponse } from "./connections-
|
|
26
|
-
import { t as decodeInputImages } from "./images-
|
|
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-
|
|
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-FQ5wgqYn.js";
|
|
23
|
+
import { F as conversationAggregateColumns, I as conversationRangeColumns, M as readAutomationTitlesByConversationId, P as conversationActiveDaysColumn } from "./task-runner-BRgJ5e0s.js";
|
|
24
|
+
import { d as legacyWebMailboxMetadataSchema } from "./result-CRMRT9CE.js";
|
|
25
|
+
import { a as startConnection, l as getWebAuthorization, n as isConnectableProvider, r as listConnections, t as disconnectConnection, u as htmlCallbackResponse } from "./connections-D9IKbfk-.js";
|
|
26
|
+
import { t as decodeInputImages } from "./images-AM1exvU0.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-XuTZukI9.js";
|
|
28
28
|
import { Hono } from "hono";
|
|
29
29
|
import path from "node:path";
|
|
30
30
|
import { z } from "zod";
|
|
@@ -629,7 +629,8 @@ async function listConversationSidebarAnnotations(conversationIds, annotationsBy
|
|
|
629
629
|
conversationIds,
|
|
630
630
|
db: getDb(),
|
|
631
631
|
log: createPluginLogger(plugin.manifest.name),
|
|
632
|
-
plugin: { name: plugin.manifest.name }
|
|
632
|
+
plugin: { name: plugin.manifest.name },
|
|
633
|
+
cache: createPluginCache(plugin.manifest.name)
|
|
633
634
|
});
|
|
634
635
|
for (const [conversationId, annotations] of Object.entries(result.annotationsByConversationId)) {
|
|
635
636
|
if (!candidates.has(conversationId)) continue;
|
|
@@ -1199,7 +1200,8 @@ async function listConversationWork(conversationIds) {
|
|
|
1199
1200
|
conversationIds,
|
|
1200
1201
|
db: getDb(),
|
|
1201
1202
|
log: createPluginLogger(plugin.manifest.name),
|
|
1202
|
-
plugin: { name: plugin.manifest.name }
|
|
1203
|
+
plugin: { name: plugin.manifest.name },
|
|
1204
|
+
cache: createPluginCache(plugin.manifest.name)
|
|
1203
1205
|
});
|
|
1204
1206
|
for (const conversationId of result.conversationIds) {
|
|
1205
1207
|
if (!candidates.has(conversationId)) continue;
|
|
@@ -3708,7 +3710,7 @@ async function readPeoplePluginReports(args) {
|
|
|
3708
3710
|
reports: [],
|
|
3709
3711
|
source: "plugins"
|
|
3710
3712
|
});
|
|
3711
|
-
const { getPluginProfileReports } = await import("./agent-hooks-
|
|
3713
|
+
const { getPluginProfileReports } = await import("./agent-hooks-9q2zdKHL.js").then((n) => n.t);
|
|
3712
3714
|
return pluginOperationalReportFeedSchema.parse({
|
|
3713
3715
|
generatedAt: new Date(nowMs).toISOString(),
|
|
3714
3716
|
reports: await getPluginProfileReports({
|
|
@@ -4184,6 +4186,7 @@ async function readPluginUserPage(input) {
|
|
|
4184
4186
|
db: getDb(),
|
|
4185
4187
|
log: createPluginLogger(plugin.manifest.name),
|
|
4186
4188
|
plugin: { name: plugin.manifest.name },
|
|
4189
|
+
cache: createPluginCache(plugin.manifest.name),
|
|
4187
4190
|
viewer
|
|
4188
4191
|
}, input.query));
|
|
4189
4192
|
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 +4742,7 @@ function readDescriptionText(home) {
|
|
|
4739
4742
|
}
|
|
4740
4743
|
/** Read discovered skill names for authenticated runtime diagnostics. */
|
|
4741
4744
|
async function readSkillReports() {
|
|
4742
|
-
const { discoverSkills } = await import("./skills-
|
|
4745
|
+
const { discoverSkills } = await import("./skills-lPeepA2b.js").then((n) => n.o);
|
|
4743
4746
|
const skills = await discoverSkills();
|
|
4744
4747
|
return skillReportsSchema.parse(skills.map((skill) => ({
|
|
4745
4748
|
name: skill.name,
|
|
@@ -4748,7 +4751,7 @@ async function readSkillReports() {
|
|
|
4748
4751
|
}
|
|
4749
4752
|
/** Read safe configured plugin metadata for authenticated runtime diagnostics. */
|
|
4750
4753
|
async function readPlugins() {
|
|
4751
|
-
const { pluginCatalogRuntime } = await import("./catalog-runtime-
|
|
4754
|
+
const { pluginCatalogRuntime } = await import("./catalog-runtime-CfwKT0sn.js").then((n) => n.t);
|
|
4752
4755
|
return pluginsSchema.parse(pluginCatalogRuntime.getProviders().map((plugin) => ({
|
|
4753
4756
|
configKeys: plugin.manifest.configKeys ?? [],
|
|
4754
4757
|
description: plugin.manifest.description,
|
|
@@ -4760,7 +4763,7 @@ async function readPlugins() {
|
|
|
4760
4763
|
async function readRuntimeInfoReport() {
|
|
4761
4764
|
const [{ homeDir }, { pluginCatalogRuntime }, plugins, skills] = await Promise.all([
|
|
4762
4765
|
import("./package-discovery-DJBompdd.js").then((n) => n.r),
|
|
4763
|
-
import("./catalog-runtime-
|
|
4766
|
+
import("./catalog-runtime-CfwKT0sn.js").then((n) => n.t),
|
|
4764
4767
|
readPlugins(),
|
|
4765
4768
|
readSkillReports()
|
|
4766
4769
|
]);
|
|
@@ -4777,7 +4780,7 @@ async function readRuntimeInfoReport() {
|
|
|
4777
4780
|
/** Read sanitized operational summaries contributed by plugins. */
|
|
4778
4781
|
async function readPluginOperationalReportFeed() {
|
|
4779
4782
|
const nowMs = Date.now();
|
|
4780
|
-
const { getPluginOperationalReports } = await import("./agent-hooks-
|
|
4783
|
+
const { getPluginOperationalReports } = await import("./agent-hooks-9q2zdKHL.js").then((n) => n.t);
|
|
4781
4784
|
return pluginOperationalReportFeedSchema.parse({
|
|
4782
4785
|
source: "plugins",
|
|
4783
4786
|
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"
|
|
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-
|
|
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,37 @@
|
|
|
1
|
-
import { $ as projectConversationMessages, C as automationVersionOf, Cn as
|
|
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-
|
|
1
|
+
import { $ as projectConversationMessages, An as parseSandboxEgressCredentialToken, C as automationVersionOf, Cn as normalizeSandboxEgressTracePropagationDomains, Dn as consumeSandboxEgressAuthRequiredSignal, En as clearSandboxEgressSignals, Fn as resolveBaseUrl, In as startOAuthFlow, Nn as formatProviderLabel, On as consumeSandboxEgressPermissionDeniedSignal, Sn as resolveSandboxEgressProviderForHost, Tn as SANDBOX_EGRESS_PROXY_PATH, Vn as slackMention, X as appendConversationMessages, Xn as slackExternalRefIdSchema, Yn as slackEntitySchema, _n as setExperimentalFeatures, b as admitEventAutomationRun, c as withScheduledAutomationLock, cn as SubscribedReplyReason, dn as getThreadStopDecision, gn as isExperimentalFeatureEnabled, hn as getExperimentalFeatures, i as readScheduledAutomation, ir as setConfigDefaults, l as blockEventAutomation, n as listScheduledAutomationsForTeam, nt as settleConversationTitleWork, o as saveScheduledAutomationInLock, p as findMatchingEventAutomations, rr as getConfigDefaults, s as scheduledRunId, u as collectEventAutomationMatchKeys, vn as executeCredentialedEgressRequest, wn as shouldPropagateSandboxEgressTrace, x as eventAutomationRunLimitReason, yn as createUserTokenStore } from "./tasks-Bh2qYaed.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-dZN1Bvtu.js";
|
|
3
3
|
import { n as captureMessage, r as continueTrace } from "./sentry-BBUlHih9.js";
|
|
4
|
-
import { t as JUNIOR_VERSION } from "./version-
|
|
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-
|
|
4
|
+
import { t as JUNIOR_VERSION } from "./version-JcDaJ75p.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-BiCtNiu5.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-
|
|
8
|
-
import { a as juniorAgentInvocations, d as juniorDestinations, i as juniorAgentBindings, s as juniorConversations } from "./agent-invocations-
|
|
9
|
-
import { a as juniorAutomationRuns, f as juniorConversationBriefs, h as juniorConversationEvents, s as juniorAutomations } from "./executor-
|
|
10
|
-
import { m as credentialLogContext } from "./registry-
|
|
11
|
-
import { n as pluginCatalogRuntime } from "./catalog-runtime-
|
|
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,
|
|
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-
|
|
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-oMTUVAcR.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-O8xqLDN6.js";
|
|
10
|
+
import { m as credentialLogContext } from "./registry-BUje_knT.js";
|
|
11
|
+
import { n as pluginCatalogRuntime } from "./catalog-runtime-CfwKT0sn.js";
|
|
12
|
+
import { B as stopConversationSession, C as requestAttachmentDeletion, L as effectiveTaskOutcomes, M as logScheduledAutomationRunSkipped, N as scheduledAutomationRunAttributes, St as ingestEvent, T as parseSlackThreadId, V as recordSubagentEnded, _ as unpublishedArtifactHeaders, ct as listPendingAgentInvocationResults, g as readPublicArtifact, h as publicArtifactHeaders, n as executeAgentRun, st as listPendingAgentInvocationMailboxAppends, t as createAgentRunner, v as lookupSlackUserProfile, x as collectAttachmentGarbage, xt as processWorkspaceSnapshotJob } from "./agent-runner-Cx6NO5LE.js";
|
|
13
|
+
import { $ as bindSlackDirectCredentialSubject, Gt as listConversationAnnotations, Ht as resolveRootVisibility, Q as bindScheduledAutomationCredentialSubject, Tt as readConversationAccessFromSql, U as collectEventMatchKeys, X as takeDueTimerWatches, Xt as createPluginCache, Z as bindEventAutomationCredentialSubject, Zt as createCache, _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-9q2zdKHL.js";
|
|
14
|
+
import { r as getStateAdapter, s as withLock$1 } from "./adapter-t-Y9RHML.js";
|
|
14
15
|
import { n as getNextRunAtMs } from "./cadence-R7Em4RjE.js";
|
|
15
16
|
import { M as annotationCard } from "./conversation-CvuKJ3tA.js";
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
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";
|
|
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-ZuyOHxdK.js";
|
|
18
|
+
import { f as setSandboxResourceConfig, u as getSandboxResourceConfig } from "./resolve-DftZiYNU.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-DmarAQGI.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-dZynGGFW.js";
|
|
21
21
|
import { D as scheduledRunSchema } from "./automation-DrpcA-SX.js";
|
|
22
|
-
import { n as validatePluginRegistrations, t as validatePluginEgressCredentialHooks } from "./validation-
|
|
22
|
+
import { n as validatePluginRegistrations, t as validatePluginEgressCredentialHooks } from "./validation-DtcovXqq.js";
|
|
23
23
|
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-
|
|
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-
|
|
26
|
-
import { o as getAuthPausedConversationTurnId, t as enqueueAgentInvocationResult } from "./result-
|
|
27
|
-
import { r as enqueueAgentInvocation } from "./work-
|
|
28
|
-
import { s as coerceThreadConversationState } from "./thread-state-
|
|
29
|
-
import { o as unlinkProvider } from "./connections-
|
|
30
|
-
import { a as GET$4, i as publishAppHomeView, r as GET$5, t as receiveLocalOAuthCredential } from "./credential-sync-
|
|
31
|
-
import { a as registerVercelPluginTaskDevConsumer, n as createVercelPluginTaskCallback, s as queueCallback } from "./task-queue-
|
|
32
|
-
import { t as processConversationWork } from "./worker-
|
|
33
|
-
import { t as bindMessageAgent } from "./message-
|
|
34
|
-
import { t as bindSpawnAgent } from "./spawn-
|
|
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-FQ5wgqYn.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-BRgJ5e0s.js";
|
|
26
|
+
import { o as getAuthPausedConversationTurnId, t as enqueueAgentInvocationResult } from "./result-CRMRT9CE.js";
|
|
27
|
+
import { r as enqueueAgentInvocation } from "./work-BiIKfayl.js";
|
|
28
|
+
import { s as coerceThreadConversationState } from "./thread-state-DA37FsAT.js";
|
|
29
|
+
import { o as unlinkProvider } from "./connections-D9IKbfk-.js";
|
|
30
|
+
import { a as GET$4, i as publishAppHomeView, r as GET$5, t as receiveLocalOAuthCredential } from "./credential-sync-Bu6ZOuOk.js";
|
|
31
|
+
import { a as registerVercelPluginTaskDevConsumer, n as createVercelPluginTaskCallback, s as queueCallback } from "./task-queue-CmMCtzHO.js";
|
|
32
|
+
import { t as processConversationWork } from "./worker-BZ7l75NM.js";
|
|
33
|
+
import { t as bindMessageAgent } from "./message-C_g2S8kv.js";
|
|
34
|
+
import { t as bindSpawnAgent } from "./spawn-DovpdlrW.js";
|
|
35
35
|
import { createRequire } from "node:module";
|
|
36
36
|
import { Hono } from "hono";
|
|
37
37
|
import { z } from "zod";
|
|
@@ -260,6 +260,7 @@ function createHeartbeatContext(args) {
|
|
|
260
260
|
let dispatchCount = 0;
|
|
261
261
|
return {
|
|
262
262
|
plugin: { name: pluginName },
|
|
263
|
+
cache: createPluginCache(pluginName),
|
|
263
264
|
nowMs: args.nowMs,
|
|
264
265
|
db: getDb(),
|
|
265
266
|
state: createPluginState(pluginName),
|
|
@@ -2319,34 +2320,25 @@ async function isSlackWorkspaceMember(raw, state) {
|
|
|
2319
2320
|
const event = parsed.data;
|
|
2320
2321
|
const userId = parseSlackUserId(event.user);
|
|
2321
2322
|
if (!userId) return false;
|
|
2323
|
+
const cache = createCache(state, "core");
|
|
2322
2324
|
const key = `slack:membership:${workspaceTeamId}:${userId}`;
|
|
2323
2325
|
const authorTeam = parseSlackTeamId(event.user_team);
|
|
2324
2326
|
if (authorTeam === workspaceTeamId) return true;
|
|
2325
2327
|
if (event.user_team !== void 0 && !authorTeam && !/^E[A-Z0-9]+$/.test(event.user_team)) return false;
|
|
2326
|
-
|
|
2327
|
-
|
|
2328
|
-
|
|
2329
|
-
|
|
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;
|
|
2328
|
+
if (authorTeam !== void 0) return await cache.getOrLoad(key, async () => ({
|
|
2329
|
+
value: false,
|
|
2330
|
+
ttlMs: NON_MEMBER_TTL_MS
|
|
2331
|
+
}), { refresh: true });
|
|
2332
|
+
return await cache.getOrLoad(key, async () => {
|
|
2338
2333
|
const user = await lookupSlackUserProfile(userId);
|
|
2339
2334
|
const authorTeam = parseSlackTeamId(user.team_id);
|
|
2340
|
-
if (user.id !== userId || !authorTeam) return false;
|
|
2335
|
+
if (user.id !== userId || !authorTeam) return { value: false };
|
|
2341
2336
|
const member = authorTeam === workspaceTeamId && !user.is_deleted;
|
|
2342
|
-
|
|
2343
|
-
|
|
2344
|
-
|
|
2345
|
-
|
|
2346
|
-
waitMs: 1e4
|
|
2337
|
+
return {
|
|
2338
|
+
value: member,
|
|
2339
|
+
ttlMs: member ? MEMBER_TTL_MS : NON_MEMBER_TTL_MS
|
|
2340
|
+
};
|
|
2347
2341
|
});
|
|
2348
|
-
if (!result.acquired) throw new Error("Could not acquire Slack membership lookup lock");
|
|
2349
|
-
return result.value;
|
|
2350
2342
|
}
|
|
2351
2343
|
// src/chat/sign-in/allowlist.ts
|
|
2352
2344
|
/**
|
|
@@ -2404,17 +2396,18 @@ async function isSlackAuthorDomainAllowed(args) {
|
|
|
2404
2396
|
const userId = parseSlackUserId(args.user);
|
|
2405
2397
|
if (!args.teamId || !userId) return false;
|
|
2406
2398
|
if (args.allowedBotUserIds.includes(userId)) return true;
|
|
2407
|
-
|
|
2408
|
-
|
|
2409
|
-
|
|
2410
|
-
|
|
2411
|
-
|
|
2412
|
-
|
|
2413
|
-
|
|
2414
|
-
|
|
2415
|
-
|
|
2416
|
-
|
|
2417
|
-
|
|
2399
|
+
return await createCache(args.state, "core").getOrLoad(`slack:allowed-domain:${args.teamId}:${userId}`, async () => {
|
|
2400
|
+
const profile = await lookupSlackUserProfile(userId);
|
|
2401
|
+
const email = profile.email?.toLowerCase();
|
|
2402
|
+
const separator = email?.lastIndexOf("@") ?? -1;
|
|
2403
|
+
const domain = separator > 0 ? email?.slice(separator + 1) : void 0;
|
|
2404
|
+
const allowed = profile.id === userId && isAllowedDomain(domain, args.allowedDomains);
|
|
2405
|
+
if (!allowed) logWarn("slack.allowed_domain.rejected", { "app.reason": email ? "domain_not_allowed" : "missing_email" });
|
|
2406
|
+
return {
|
|
2407
|
+
value: allowed,
|
|
2408
|
+
ttlMs: allowed ? ALLOWED_TTL_MS : NOT_ALLOWED_TTL_MS
|
|
2409
|
+
};
|
|
2410
|
+
});
|
|
2418
2411
|
}
|
|
2419
2412
|
// src/chat/ingress/slack-message-telemetry.ts
|
|
2420
2413
|
function field(value, pattern) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as completeObject } from "./client-
|
|
1
|
+
import { i as completeObject } from "./client-DpfjZgNk.js";
|
|
2
2
|
import { r as defaultModelId } from "./model-profile-Bg8EoCKD.js";
|
|
3
3
|
import { J as parseBriefInput, W as briefCodeChangeSchema, d as conversationDetailReportSchema, p as conversationEventPageSchema } from "./conversation-CvuKJ3tA.js";
|
|
4
4
|
import { n as briefEntriesFromReportEvents, s as generateBrief, t as BRIEF_PROMPT } from "./prompt-DeVax2qO.js";
|
|
@@ -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-
|
|
270
|
+
const { botConfig } = await import("./config-BiCtNiu5.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-
|
|
2
|
+
import { t as createPluginCatalogRuntime } from "./registry-BUje_knT.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-
|
|
1
|
+
import { n as executeAgentRun, t as createAgentRunner } from "../agent-runner-Cx6NO5LE.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-
|
|
103
|
-
import("../catalog-runtime-
|
|
104
|
-
import("../validation-
|
|
105
|
-
import("../viewer-
|
|
102
|
+
import("../agent-hooks-9q2zdKHL.js").then((n) => n.t),
|
|
103
|
+
import("../catalog-runtime-CfwKT0sn.js").then((n) => n.t),
|
|
104
|
+
import("../validation-DtcovXqq.js").then((n) => n.r),
|
|
105
|
+
import("../viewer-oMTUVAcR.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 {
|
|
156
|
-
setExperimentalFeatures({ subagents: true });
|
|
157
|
-
const { setBriefsConfig } = await import("../agent-hooks-ghyZZQqB.js").then((n) => n.m);
|
|
155
|
+
const { setBriefsConfig } = await import("../agent-hooks-9q2zdKHL.js").then((n) => n.m);
|
|
158
156
|
setBriefsConfig({ enabled: true });
|
|
159
|
-
const { runLocalAgentTurn } = await import("../runner-
|
|
160
|
-
const { startLocalOAuthCallbackServer } = await import("../oauth-callback-server-
|
|
157
|
+
const { runLocalAgentTurn } = await import("../runner-4mmL2Pt1.js");
|
|
158
|
+
const { startLocalOAuthCallbackServer } = await import("../oauth-callback-server-DvvOvr4q.js");
|
|
161
159
|
const { createLocalOAuthState } = await import("../oauth-relay-CTygMkNx.js").then((n) => n.t);
|
|
162
|
-
const { createLocalSandboxEgressSignalTransport } = await import("../sandbox-egress-signals-
|
|
163
|
-
const { bindSpawnAgent } = await import("../spawn-
|
|
164
|
-
const { bindMessageAgent } = await import("../message-
|
|
165
|
-
const { createAgentInvocationWorker, routeAgentInvocationWork } = await import("../work-
|
|
166
|
-
const { startAgentInvocationsForChildInput } = await import("../result-
|
|
167
|
-
const { skipInputBeforeConversationStop } = await import("../session-stop-
|
|
160
|
+
const { createLocalSandboxEgressSignalTransport } = await import("../sandbox-egress-signals-1ysv0z5A.js");
|
|
161
|
+
const { bindSpawnAgent } = await import("../spawn-DovpdlrW.js").then((n) => n.n);
|
|
162
|
+
const { bindMessageAgent } = await import("../message-C_g2S8kv.js").then((n) => n.n);
|
|
163
|
+
const { createAgentInvocationWorker, routeAgentInvocationWork } = await import("../work-BiIKfayl.js").then((n) => n.a);
|
|
164
|
+
const { startAgentInvocationsForChildInput } = await import("../result-CRMRT9CE.js").then((n) => n.r);
|
|
165
|
+
const { skipInputBeforeConversationStop } = await import("../session-stop-ZuyOHxdK.js").then((n) => n.r);
|
|
168
166
|
const { createLocalConversationWork } = await import("../conversation-work-BaT_T6EB.js");
|
|
169
|
-
const { processConversationWork } = await import("../worker-
|
|
167
|
+
const { processConversationWork } = await import("../worker-BZ7l75NM.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-
|
|
2
|
-
import { v as parseInlinePluginManifest, y as parsePluginManifest } from "../registry-
|
|
3
|
-
import { i as parseSkillFile } from "../skills-
|
|
1
|
+
import { E as JUNIOR_CONVERSATION_WORK_CALLBACK_ROUTE, N as LEGACY_JUNIOR_CONVERSATION_WORK_FUNCTION, O as JUNIOR_HEARTBEAT_ROUTE } from "../logging-dZN1Bvtu.js";
|
|
2
|
+
import { v as parseInlinePluginManifest, y as parsePluginManifest } from "../registry-BUje_knT.js";
|
|
3
|
+
import { i as parseSkillFile } from "../skills-lPeepA2b.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-
|
|
28
|
+
return await (await import("../admin-BCqeFndQ.js")).runAdmin(argv);
|
|
29
29
|
}
|
|
30
30
|
async function runServiceAccount(argv) {
|
|
31
|
-
return await (await import("../service-account-
|
|
31
|
+
return await (await import("../service-account-B1sH3P7d.js")).runServiceAccount(argv);
|
|
32
32
|
}
|
|
33
33
|
async function runBriefs(argv) {
|
|
34
|
-
return await (await import("../briefs-
|
|
34
|
+
return await (await import("../briefs-DsGH2Vym.js")).runBriefs(argv);
|
|
35
35
|
}
|
|
36
36
|
function topLevelCommand(argv) {
|
|
37
37
|
return (argv[0] === "--" ? argv.slice(1) : argv)[0];
|
package/dist/cli/plugins.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { d as getDb } from "../viewer-
|
|
2
|
-
import { n as pluginCatalogRuntime } from "../catalog-runtime-
|
|
3
|
-
import { d as setPlugins, f as validatePlugins, wt as createPluginLogger } from "../agent-hooks-
|
|
4
|
-
import { n as validatePluginRegistrations, t as validatePluginEgressCredentialHooks } from "../validation-
|
|
1
|
+
import { d as getDb } from "../viewer-oMTUVAcR.js";
|
|
2
|
+
import { n as pluginCatalogRuntime } from "../catalog-runtime-CfwKT0sn.js";
|
|
3
|
+
import { d as setPlugins, f as validatePlugins, wt as createPluginLogger } from "../agent-hooks-9q2zdKHL.js";
|
|
4
|
+
import { n as validatePluginRegistrations, t as validatePluginEgressCredentialHooks } from "../validation-DtcovXqq.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-
|
|
2
|
-
import { t as disconnectStateAdapter } from "../adapter-
|
|
3
|
-
import { t as create } from "../profile-
|
|
4
|
-
import { r as resolve } from "../resolve-
|
|
1
|
+
import { n as pluginCatalogRuntime } from "../catalog-runtime-CfwKT0sn.js";
|
|
2
|
+
import { t as disconnectStateAdapter } from "../adapter-t-Y9RHML.js";
|
|
3
|
+
import { t as create } from "../profile-BP2N5uDY.js";
|
|
4
|
+
import { r as resolve } from "../resolve-DftZiYNU.js";
|
|
5
5
|
// src/cli/snapshot-create.ts
|
|
6
6
|
const DEFAULT_RUNTIME = "node22";
|
|
7
7
|
const DEFAULT_TIMEOUT_MS = 6e5;
|
package/dist/cli/upgrade.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { i as getChatConfig } from "../config-
|
|
2
|
-
import { t as createJuniorSqlExecutor } from "../executor-
|
|
3
|
-
import { t as createPluginCatalogRuntime } from "../registry-
|
|
1
|
+
import { i as getChatConfig } from "../config-BiCtNiu5.js";
|
|
2
|
+
import { t as createJuniorSqlExecutor } from "../executor-O8xqLDN6.js";
|
|
3
|
+
import { t as createPluginCatalogRuntime } from "../registry-BUje_knT.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-
|
|
2
|
-
import { a as toCanonicalInputMessage, n as getCurrentConversationPrivacy, o as toCanonicalOutputMessage, s as toGenAiMessagesTraceAttributes } from "./conversation-privacy-
|
|
1
|
+
import { T as withSpan, _ as serializeGenAiAttribute, f as logException, h as normalizeGenAiFinishReason, i as extractGenAiUsageAttributes, m as logWarn } from "./logging-dZN1Bvtu.js";
|
|
2
|
+
import { a as toCanonicalInputMessage, n as getCurrentConversationPrivacy, o as toCanonicalOutputMessage, s as toGenAiMessagesTraceAttributes } from "./conversation-privacy-CBUI0frD.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-
|
|
3
|
-
import { m as logWarn } from "./logging-
|
|
2
|
+
import { C as toOptionalTrimmed, s as resolveGatewayModel } from "./client-DpfjZgNk.js";
|
|
3
|
+
import { m as logWarn } from "./logging-dZN1Bvtu.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]))?$/;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { n as botConfig } from "./config-
|
|
3
|
-
import { A as deleteProviderIdentityForUser, c as getConversationEventStore, f as getSqlExecutor, k as deleteProviderIdentityForSlackUser } from "./viewer-
|
|
4
|
-
import { u as hasRequiredOAuthScope } from "./registry-
|
|
5
|
-
import { n as pluginCatalogRuntime } from "./catalog-runtime-
|
|
6
|
-
import { c as deleteMcpServerSessionId, l as deleteMcpStoredOAuthCredentials, s as deleteMcpAuthSessionsForUserProvider } from "./agent-runner-
|
|
7
|
-
import { r as getStateAdapter } from "./adapter-
|
|
8
|
-
import { a as getVercelConversationWorkQueue } from "./job-queue-
|
|
9
|
-
import { m as ensureConversationWake, w as requestConversationWork } from "./store-
|
|
10
|
-
import { n as resolveTurnSessionRouting } from "./turn-session-routing-
|
|
1
|
+
import { In as startOAuthFlow, Nt as failTurnRecord, Pt as getTurnRecord, kt as loadTurnCheckpoint } from "./tasks-Bh2qYaed.js";
|
|
2
|
+
import { n as botConfig } from "./config-BiCtNiu5.js";
|
|
3
|
+
import { A as deleteProviderIdentityForUser, c as getConversationEventStore, f as getSqlExecutor, k as deleteProviderIdentityForSlackUser } from "./viewer-oMTUVAcR.js";
|
|
4
|
+
import { u as hasRequiredOAuthScope } from "./registry-BUje_knT.js";
|
|
5
|
+
import { n as pluginCatalogRuntime } from "./catalog-runtime-CfwKT0sn.js";
|
|
6
|
+
import { c as deleteMcpServerSessionId, l as deleteMcpStoredOAuthCredentials, s as deleteMcpAuthSessionsForUserProvider } from "./agent-runner-Cx6NO5LE.js";
|
|
7
|
+
import { r as getStateAdapter } from "./adapter-t-Y9RHML.js";
|
|
8
|
+
import { a as getVercelConversationWorkQueue } from "./job-queue-DmarAQGI.js";
|
|
9
|
+
import { m as ensureConversationWake, w as requestConversationWork } from "./store-dZynGGFW.js";
|
|
10
|
+
import { n as resolveTurnSessionRouting } from "./turn-session-routing-DdbSbJS6.js";
|
|
11
11
|
import { z } from "zod";
|
|
12
12
|
import { randomBytes, randomUUID } from "node:crypto";
|
|
13
13
|
// src/chat/task-execution/authorized-turn.ts
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { p as escapeXml } from "./client-
|
|
3
|
-
import { L as isNativeIdentityProvider, f as logException, g as runBestEffort, m as logWarn } from "./logging-
|
|
4
|
-
import { a as getRuntimeMetadata, n as botConfig } from "./config-
|
|
1
|
+
import { Et as getConversationPendingAuth, Fn as resolveBaseUrl, H as recordAuthenticationLinked, Kn as postSlackMessage, Nn as formatProviderLabel, Pn as parseOAuthStatePayload, Pt as getTurnRecord, Qn as resolvePluginOAuthAccount, U as recordAuthorizationCompleted, yn as createUserTokenStore } from "./tasks-Bh2qYaed.js";
|
|
2
|
+
import { p as escapeXml } from "./client-DpfjZgNk.js";
|
|
3
|
+
import { L as isNativeIdentityProvider, f as logException, g as runBestEffort, m as logWarn } from "./logging-dZN1Bvtu.js";
|
|
4
|
+
import { a as getRuntimeMetadata, n as botConfig } from "./config-BiCtNiu5.js";
|
|
5
5
|
import { f as parseSlackUserId } from "./actor-tlxzqaRe.js";
|
|
6
|
-
import { F as upsertIdentity, I as upsertLinkedIdentity, b as identityFromActor, f as getSqlExecutor, j as findUserByVerifiedEmails } from "./viewer-
|
|
6
|
+
import { F as upsertIdentity, I as upsertLinkedIdentity, b as identityFromActor, f as getSqlExecutor, j as findUserByVerifiedEmails } from "./viewer-oMTUVAcR.js";
|
|
7
7
|
import { i as homeDir } from "./package-discovery-DJBompdd.js";
|
|
8
|
-
import { n as buildOAuthTokenRequest, r as parseOAuthTokenResponse, u as hasRequiredOAuthScope } from "./registry-
|
|
9
|
-
import { n as pluginCatalogRuntime } from "./catalog-runtime-
|
|
10
|
-
import { t as discoverSkills } from "./skills-
|
|
11
|
-
import { a as finalizeMcpAuthorization, d as getMcpStoredOAuthCredentials, f as putMcpStoredOAuthCredentials, o as deleteMcpAuthSession, u as getMcpAuthSession, v as lookupSlackUserProfile } from "./agent-runner-
|
|
12
|
-
import { ct as getSlackClient } from "./agent-hooks-
|
|
13
|
-
import { a as acquireActiveLock, r as getStateAdapter } from "./adapter-
|
|
14
|
-
import { _ as getMcpProviderErrorAttributes } from "./service-account-
|
|
15
|
-
import { r as getPersistedThreadState, s as coerceThreadConversationState } from "./thread-state-
|
|
16
|
-
import { c as deleteWebAuthorization, i as readConnectedOAuthTokens, m as wakePausedTurn, p as wakeAuthorizedTurn, u as htmlCallbackResponse } from "./connections-
|
|
8
|
+
import { n as buildOAuthTokenRequest, r as parseOAuthTokenResponse, u as hasRequiredOAuthScope } from "./registry-BUje_knT.js";
|
|
9
|
+
import { n as pluginCatalogRuntime } from "./catalog-runtime-CfwKT0sn.js";
|
|
10
|
+
import { t as discoverSkills } from "./skills-lPeepA2b.js";
|
|
11
|
+
import { a as finalizeMcpAuthorization, d as getMcpStoredOAuthCredentials, f as putMcpStoredOAuthCredentials, o as deleteMcpAuthSession, u as getMcpAuthSession, v as lookupSlackUserProfile } from "./agent-runner-Cx6NO5LE.js";
|
|
12
|
+
import { ct as getSlackClient } from "./agent-hooks-9q2zdKHL.js";
|
|
13
|
+
import { a as acquireActiveLock, r as getStateAdapter } from "./adapter-t-Y9RHML.js";
|
|
14
|
+
import { _ as getMcpProviderErrorAttributes } from "./service-account-Del2I_x3.js";
|
|
15
|
+
import { r as getPersistedThreadState, s as coerceThreadConversationState } from "./thread-state-DA37FsAT.js";
|
|
16
|
+
import { c as deleteWebAuthorization, i as readConnectedOAuthTokens, m as wakePausedTurn, p as wakeAuthorizedTurn, u as htmlCallbackResponse } from "./connections-D9IKbfk-.js";
|
|
17
17
|
import { n as relayLocalOAuthCallback } from "./oauth-relay-CTygMkNx.js";
|
|
18
18
|
import path from "node:path";
|
|
19
19
|
import { z } from "zod";
|