@sentry/junior 0.262.0 → 0.263.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{adapter-t-Y9RHML.js → adapter-BIacI0Bt.js} +1 -1
- package/dist/{admin-BCqeFndQ.js → admin-C7vUk7s9.js} +1 -1
- package/dist/{agent-hooks-9q2zdKHL.js → agent-hooks-CqnZfuCt.js} +73 -32
- package/dist/{agent-runner-Cx6NO5LE.js → agent-runner-BUBas7Yy.js} +123 -733
- package/dist/api/schema.d.ts +4 -0
- package/dist/api/schema.js +3 -3
- package/dist/api.js +28 -27
- package/dist/app.js +30 -29
- package/dist/{assistant-reply-B2qUBAwL.js → assistant-reply-BFmjgJjD.js} +1 -1
- package/dist/{automation-DrpcA-SX.js → automation-CWX0qL8U.js} +1 -1
- package/dist/{briefs-DsGH2Vym.js → briefs-h55v5lX9.js} +4 -4
- package/dist/{catalog-runtime-CfwKT0sn.js → catalog-runtime-Suf-aLlh.js} +1 -1
- package/dist/cli/chat.js +15 -15
- 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-DpfjZgNk.js → client-DZBCBj1M.js} +2 -2
- package/dist/{config-BiCtNiu5.js → config-Dnv8KmNs.js} +2 -2
- package/dist/{connections-D9IKbfk-.js → connections-Br0_xv27.js} +10 -10
- package/dist/{conversation-CvuKJ3tA.js → conversation-B0baEwoA.js} +2 -0
- package/dist/{conversation-privacy-CBUI0frD.js → conversation-privacy-FY8yc2q3.js} +1 -1
- package/dist/{credential-sync-Bu6ZOuOk.js → credential-sync-BvkiyWF5.js} +14 -14
- package/dist/{executor-O8xqLDN6.js → executor-J9k2sp9m.js} +2 -2
- package/dist/{images-AM1exvU0.js → images-DV2FlEGL.js} +3 -3
- package/dist/instrumentation.js +2 -2
- package/dist/{job-queue-DmarAQGI.js → job-queue-B4yTgklN.js} +1 -1
- package/dist/{logging-dZN1Bvtu.js → logging-Dk_FpF36.js} +1 -1
- package/dist/{message-C_g2S8kv.js → message-BzseAFH1.js} +4 -3
- package/dist/nitro.js +3 -3
- package/dist/{oauth-callback-server-DvvOvr4q.js → oauth-callback-server-bTspTMCC.js} +2 -2
- package/dist/{profile-BP2N5uDY.js → profile-Dq5I7TV1.js} +3 -3
- package/dist/{prompt-DeVax2qO.js → prompt-CxatQVaj.js} +1 -1
- package/dist/{registry-BUje_knT.js → registry-BFzQFV_y.js} +1 -1
- package/dist/{resolve-DftZiYNU.js → resolve-CnRHib0U.js} +3 -3
- package/dist/{result-CRMRT9CE.js → result-DczfmNBa.js} +8 -7
- package/dist/{runner-4mmL2Pt1.js → runner-CJd9Wec-.js} +11 -11
- package/dist/{sandbox-egress-signals-1ysv0z5A.js → sandbox-egress-signals-DUmVkOx4.js} +1 -1
- package/dist/{schema-XuTZukI9.js → schema-QidbykYl.js} +2 -2
- package/dist/{service-account-B1sH3P7d.js → service-account-BI2kQDrb.js} +3 -3
- package/dist/{service-account-Del2I_x3.js → service-account-x2QZXm4X.js} +3 -3
- package/dist/{session-stop-ZuyOHxdK.js → session-stop-CtyJsnEj.js} +11 -11
- package/dist/{skills-lPeepA2b.js → skills-Dbzx9-rS.js} +2 -2
- package/dist/{spawn-DovpdlrW.js → spawn-D8WU99UV.js} +2 -2
- package/dist/store-TKg1HVKx.js +697 -0
- package/dist/{store-dZynGGFW.js → store-UlOrW6JC.js} +6 -6
- package/dist/{task-queue-CmMCtzHO.js → task-queue-BRB49H-J.js} +3 -3
- package/dist/{task-runner-BRgJ5e0s.js → task-runner-C575f2Dd.js} +10 -10
- package/dist/{tasks-Bh2qYaed.js → tasks-LOItiYgL.js} +42 -53
- package/dist/{thread-state-DA37FsAT.js → thread-state-IDHdZA7R.js} +5 -5
- package/dist/{turn-failure-response-BLcscQ-f.js → turn-failure-response-h_LSXJ-M.js} +46 -20
- package/dist/{turn-lifecycle-D0e887FM.js → turn-lifecycle-Cvi6Sb8Y.js} +1 -1
- package/dist/{turn-session-routing-DdbSbJS6.js → turn-session-routing-5Nyv4fso.js} +1 -1
- package/dist/{validation-DtcovXqq.js → validation-BeTriWC2.js} +1 -1
- package/dist/{version-JcDaJ75p.js → version-BQX_hLDC.js} +1 -1
- package/dist/version.js +1 -1
- package/dist/{viewer-oMTUVAcR.js → viewer-DmNRM88V.js} +3 -3
- package/dist/{web-input-FQ5wgqYn.js → web-input-BHcGXSox.js} +96 -35
- package/dist/{work-BiIKfayl.js → work-DLJMV02b.js} +10 -9
- package/dist/{worker-BZ7l75NM.js → worker-vfG2ESg1.js} +5 -5
- package/package.json +5 -5
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as getChatConfig } from "./config-
|
|
1
|
+
import { i as getChatConfig } from "./config-Dnv8KmNs.js";
|
|
2
2
|
import { setTimeout } from "node:timers/promises";
|
|
3
3
|
import { createMemoryState } from "@chat-adapter/state-memory";
|
|
4
4
|
import { createRedisState } from "@chat-adapter/state-redis";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as setUserAdminFromSql, d as getDb, n as listAdminUsersFromSql } from "./viewer-
|
|
1
|
+
import { a as setUserAdminFromSql, d as getDb, n as listAdminUsersFromSql } from "./viewer-DmNRM88V.js";
|
|
2
2
|
import { CLI_USAGE } from "./cli/run.js";
|
|
3
3
|
// src/cli/admin.ts
|
|
4
4
|
/**
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-nwUcYXjP.js";
|
|
2
|
-
import { i as completeObject, o as embedTexts } from "./client-
|
|
3
|
-
import { T as withSpan, a as extractGenAiUsageSummary, b as setSpanStatus, f as logException, m as logWarn, p as logInfo, y as setSpanAttributes, z as isRecord$1 } from "./logging-
|
|
2
|
+
import { i as completeObject, o as embedTexts } from "./client-DZBCBj1M.js";
|
|
3
|
+
import { T as withSpan, a as extractGenAiUsageSummary, b as setSpanStatus, f as logException, m as logWarn, p as logInfo, y as setSpanAttributes, z as isRecord$1 } from "./logging-Dk_FpF36.js";
|
|
4
4
|
import { a as getClient$1 } from "./sentry-BBUlHih9.js";
|
|
5
|
-
import { t as canExposeConversationPayload } from "./conversation-privacy-
|
|
6
|
-
import { i as getChatConfig, n as botConfig, o as getSlackBotToken } from "./config-
|
|
5
|
+
import { t as canExposeConversationPayload } from "./conversation-privacy-FY8yc2q3.js";
|
|
6
|
+
import { i as getChatConfig, n as botConfig, o as getSlackBotToken } from "./config-Dnv8KmNs.js";
|
|
7
7
|
import { r as defaultModelId } from "./model-profile-Bg8EoCKD.js";
|
|
8
8
|
import { d as parseSlackTeamId, g as parseSlackMessageTs, i as isActorUserId, o as parseActorUserId, u as parseSlackChannelReferenceId } from "./actor-tlxzqaRe.js";
|
|
9
|
-
import { D as hasAgentTurnUsage, M as readUserTimezone, P as saveUserTimezone, c as getConversationEventStore, d as getDb, f as getSqlExecutor, g as createSqlStore, i as resolveViewerUser, r as readActorIdentity } from "./viewer-
|
|
9
|
+
import { D as hasAgentTurnUsage, M as readUserTimezone, P as saveUserTimezone, c as getConversationEventStore, d as getDb, f as getSqlExecutor, g as createSqlStore, i as resolveViewerUser, r as readActorIdentity } from "./viewer-DmNRM88V.js";
|
|
10
10
|
import { c as juniorIdentities, d as juniorDestinations, l as juniorUsers, s as juniorConversations } from "./agent-invocations-CxKldAeB.js";
|
|
11
|
-
import { _ as juniorConversationAnnotations, b as juniorAttachments, f as juniorConversationBriefs, h as juniorConversationEvents, i as juniorWorkspaces, n as juniorSnapshots, r as juniorWorkspaceRepos, u as juniorConversationParticipants, v as juniorCodeChanges, y as juniorCodeRepositories } from "./executor-
|
|
11
|
+
import { _ as juniorConversationAnnotations, b as juniorAttachments, f as juniorConversationBriefs, h as juniorConversationEvents, i as juniorWorkspaces, n as juniorSnapshots, r as juniorWorkspaceRepos, u as juniorConversationParticipants, v as juniorCodeChanges, y as juniorCodeRepositories } from "./executor-J9k2sp9m.js";
|
|
12
12
|
import { o as decodeStoredConversationEvent } from "./history-AY8rs-FR.js";
|
|
13
|
-
import { h as credentialSubjectSchema } from "./registry-
|
|
14
|
-
import { n as getDefaultRedisStateAdapterFor, r as getStateAdapter, s as withLock } from "./adapter-
|
|
13
|
+
import { h as credentialSubjectSchema } from "./registry-BFzQFV_y.js";
|
|
14
|
+
import { n as getDefaultRedisStateAdapterFor, r as getStateAdapter, s as withLock } from "./adapter-BIacI0Bt.js";
|
|
15
15
|
import { i as isValidTimeZone } from "./cadence-R7Em4RjE.js";
|
|
16
|
-
import { B as readMessageAttachments, C as conversationReportEventSchema, F as readMessageCardRefs, J as parseBriefInput, q as conversationBriefSchema, w as conversationReportMessageEventSchema } from "./conversation-
|
|
17
|
-
import { n as briefEntriesFromReportEvents, s as generateBrief, t as BRIEF_PROMPT } from "./prompt-
|
|
18
|
-
import { D as SANDBOX_WORKSPACE_ROOT, S as runNonInteractiveCommand, l as isSandboxMissingError, n as hash, v as getVercelSandboxCredentials, y as sleep$1 } from "./profile-
|
|
16
|
+
import { B as readMessageAttachments, C as conversationReportEventSchema, F as readMessageCardRefs, J as parseBriefInput, q as conversationBriefSchema, w as conversationReportMessageEventSchema } from "./conversation-B0baEwoA.js";
|
|
17
|
+
import { n as briefEntriesFromReportEvents, s as generateBrief, t as BRIEF_PROMPT } from "./prompt-CxatQVaj.js";
|
|
18
|
+
import { D as SANDBOX_WORKSPACE_ROOT, S as runNonInteractiveCommand, l as isSandboxMissingError, n as hash, v as getVercelSandboxCredentials, y as sleep$1 } from "./profile-Dq5I7TV1.js";
|
|
19
19
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
20
20
|
import { z } from "zod";
|
|
21
21
|
import { createHash, createHmac, randomUUID, timingSafeEqual } from "node:crypto";
|
|
@@ -326,25 +326,49 @@ function createPluginAnnotations(args) {
|
|
|
326
326
|
await args.db.delete(juniorConversationAnnotations).where(and(eq(juniorConversationAnnotations.conversationId, args.conversationId), eq(juniorConversationAnnotations.plugin, args.plugin), eq(juniorConversationAnnotations.kind, kind), eq(juniorConversationAnnotations.key, key)));
|
|
327
327
|
},
|
|
328
328
|
async list() {
|
|
329
|
-
return (await
|
|
329
|
+
return (await args.db.select().from(juniorConversationAnnotations).where(and(eq(juniorConversationAnnotations.conversationId, args.conversationId), eq(juniorConversationAnnotations.plugin, args.plugin))).orderBy(desc(juniorConversationAnnotations.updatedAt))).flatMap((row) => annotationFromRow(row) ?? []);
|
|
330
330
|
}
|
|
331
331
|
};
|
|
332
332
|
}
|
|
333
|
-
/**
|
|
333
|
+
/**
|
|
334
|
+
* Load stored annotations for one conversation, newest update first. A root
|
|
335
|
+
* Conversation also reads the annotations of its child Conversations.
|
|
336
|
+
*/
|
|
334
337
|
async function listConversationAnnotations(db, conversationId) {
|
|
335
338
|
return (await listConversationAnnotationsById(db, [conversationId])).get(conversationId) ?? [];
|
|
336
339
|
}
|
|
337
|
-
/**
|
|
340
|
+
/**
|
|
341
|
+
* Load stored annotations for a bounded set of conversations, newest update
|
|
342
|
+
* first. Child agents save annotations in their own Conversation, but people
|
|
343
|
+
* see the root Conversation. So a root also reads the annotations of every
|
|
344
|
+
* Conversation in its tree. The newest annotation wins for each object.
|
|
345
|
+
*/
|
|
338
346
|
async function listConversationAnnotationsById(db, conversationIds) {
|
|
339
347
|
const byConversation = /* @__PURE__ */ new Map();
|
|
340
348
|
if (conversationIds.length === 0) return byConversation;
|
|
341
|
-
const
|
|
342
|
-
|
|
349
|
+
const requested = new Set(conversationIds);
|
|
350
|
+
const rows = await db.select({
|
|
351
|
+
annotation: juniorConversationAnnotations,
|
|
352
|
+
rootConversationId: juniorConversations.rootConversationId
|
|
353
|
+
}).from(juniorConversationAnnotations).innerJoin(juniorConversations, eq(juniorConversations.conversationId, juniorConversationAnnotations.conversationId)).where(or(inArray(juniorConversationAnnotations.conversationId, [...requested]), inArray(juniorConversations.rootConversationId, [...requested]))).orderBy(desc(juniorConversationAnnotations.updatedAt));
|
|
354
|
+
const seen = /* @__PURE__ */ new Set();
|
|
355
|
+
for (const { annotation: row, rootConversationId } of rows) {
|
|
343
356
|
const annotation = annotationFromRow(row);
|
|
344
357
|
if (!annotation) continue;
|
|
345
|
-
const
|
|
346
|
-
|
|
347
|
-
|
|
358
|
+
for (const owner of /* @__PURE__ */ new Set([row.conversationId, rootConversationId])) {
|
|
359
|
+
if (!owner || !requested.has(owner)) continue;
|
|
360
|
+
const objectKey = JSON.stringify([
|
|
361
|
+
owner,
|
|
362
|
+
row.plugin,
|
|
363
|
+
row.kind,
|
|
364
|
+
row.key
|
|
365
|
+
]);
|
|
366
|
+
if (seen.has(objectKey)) continue;
|
|
367
|
+
seen.add(objectKey);
|
|
368
|
+
const current = byConversation.get(owner);
|
|
369
|
+
if (current) current.push(annotation);
|
|
370
|
+
else byConversation.set(owner, [annotation]);
|
|
371
|
+
}
|
|
348
372
|
}
|
|
349
373
|
return byConversation;
|
|
350
374
|
}
|
|
@@ -793,6 +817,7 @@ function reportEventData(args) {
|
|
|
793
817
|
role: data.role,
|
|
794
818
|
...data.meta?.source === "web" || data.meta?.source === "slack" ? { source: data.meta.source } : void 0,
|
|
795
819
|
...actorIdentity ? { actorIdentity } : void 0,
|
|
820
|
+
...typeof data.meta?.agentInvocationId === "string" ? { agentInvocationId: data.meta.agentInvocationId } : void 0,
|
|
796
821
|
eventObjectType: objectTypeSchema.safeParse(data.meta?.eventObjectType).data,
|
|
797
822
|
...typeof data.meta?.eventType === "string" ? { eventType: data.meta.eventType } : void 0,
|
|
798
823
|
...typeof data.meta?.explicitMention === "boolean" ? { explicitMention: data.meta.explicitMention } : void 0,
|
|
@@ -1807,6 +1832,27 @@ function createPluginState(plugin, adapter) {
|
|
|
1807
1832
|
}
|
|
1808
1833
|
};
|
|
1809
1834
|
}
|
|
1835
|
+
// src/chat/tools/execution/plugin-tool-denied-error.ts
|
|
1836
|
+
const PLUGIN_DENIAL_INSTRUCTIONS = [
|
|
1837
|
+
"This action was blocked by policy and was not executed.",
|
|
1838
|
+
"Do not retry it or reach the same result through a workaround or another tool.",
|
|
1839
|
+
"Stop and explain what was blocked and why."
|
|
1840
|
+
].join("\n");
|
|
1841
|
+
/** Expected tool failure when a plugin hook refuses a tool call by policy. */
|
|
1842
|
+
var PluginToolDeniedError = class extends Error {
|
|
1843
|
+
constructor(reason) {
|
|
1844
|
+
super(`${PLUGIN_DENIAL_INSTRUCTIONS}\nReason: ${reason}`);
|
|
1845
|
+
this.name = "PluginToolDeniedError";
|
|
1846
|
+
}
|
|
1847
|
+
};
|
|
1848
|
+
// src/chat/tools/execution/tool-input-error.ts
|
|
1849
|
+
/** Thrown when a tool fails due to invalid model/user input, not a system error. */
|
|
1850
|
+
var ToolInputError = class extends Error {
|
|
1851
|
+
constructor(message, options) {
|
|
1852
|
+
super(message, options);
|
|
1853
|
+
this.name = "ToolInputError";
|
|
1854
|
+
}
|
|
1855
|
+
};
|
|
1810
1856
|
// src/chat/dashboard-link.ts
|
|
1811
1857
|
let dashboardConversationLinkOptions;
|
|
1812
1858
|
function withHttps(host) {
|
|
@@ -3409,7 +3455,6 @@ function coreTaskRegistrations() {
|
|
|
3409
3455
|
}
|
|
3410
3456
|
// src/chat/plugins/agent-hooks.ts
|
|
3411
3457
|
var agent_hooks_exports = /* @__PURE__ */ __exportAll({
|
|
3412
|
-
PluginHookDeniedError: () => PluginHookDeniedError,
|
|
3413
3458
|
applyPluginFormatMarkdown: () => applyPluginFormatMarkdown,
|
|
3414
3459
|
createPluginHookRunner: () => createPluginHookRunner,
|
|
3415
3460
|
getPluginApiRoutes: () => getPluginApiRoutes,
|
|
@@ -3424,13 +3469,6 @@ var agent_hooks_exports = /* @__PURE__ */ __exportAll({
|
|
|
3424
3469
|
setPlugins: () => setPlugins,
|
|
3425
3470
|
validatePlugins: () => validatePlugins
|
|
3426
3471
|
});
|
|
3427
|
-
/** Signal that a plugin intentionally denied a tool execution. */
|
|
3428
|
-
var PluginHookDeniedError = class extends Error {
|
|
3429
|
-
constructor(message) {
|
|
3430
|
-
super(message);
|
|
3431
|
-
this.name = "PluginHookDeniedError";
|
|
3432
|
-
}
|
|
3433
|
-
};
|
|
3434
3472
|
let registeredPlugins = [];
|
|
3435
3473
|
const PLUGIN_NAME_RE = /^[a-z][a-z0-9-]*$/;
|
|
3436
3474
|
const PLUGIN_TASK_NAME_RE = /^[a-z][A-Za-z0-9]*$/;
|
|
@@ -4358,7 +4396,7 @@ function createPluginHookRunner(input = {}) {
|
|
|
4358
4396
|
const hook = plugin.hooks?.beforeToolExecute;
|
|
4359
4397
|
if (!hook) continue;
|
|
4360
4398
|
let replacement;
|
|
4361
|
-
let
|
|
4399
|
+
let blocked;
|
|
4362
4400
|
await hook({
|
|
4363
4401
|
...basePluginContext(plugin),
|
|
4364
4402
|
actor: input.actor,
|
|
@@ -4377,15 +4415,18 @@ function createPluginHookRunner(input = {}) {
|
|
|
4377
4415
|
}
|
|
4378
4416
|
},
|
|
4379
4417
|
decision: {
|
|
4380
|
-
deny(
|
|
4381
|
-
|
|
4418
|
+
deny(reason) {
|
|
4419
|
+
blocked = new PluginToolDeniedError(reason);
|
|
4420
|
+
},
|
|
4421
|
+
redirect(message) {
|
|
4422
|
+
blocked = new ToolInputError(message);
|
|
4382
4423
|
},
|
|
4383
4424
|
replaceInput(input) {
|
|
4384
4425
|
replacement = input;
|
|
4385
4426
|
}
|
|
4386
4427
|
}
|
|
4387
4428
|
});
|
|
4388
|
-
if (
|
|
4429
|
+
if (blocked) throw blocked;
|
|
4389
4430
|
if (replacement !== void 0) {
|
|
4390
4431
|
if (!isRecord(replacement)) throw new Error(`Plugin "${pluginName}" replaced tool input with a non-object value`);
|
|
4391
4432
|
nextInput = { ...replacement };
|
|
@@ -4398,4 +4439,4 @@ function createPluginHookRunner(input = {}) {
|
|
|
4398
4439
|
}
|
|
4399
4440
|
};
|
|
4400
4441
|
}
|
|
4401
|
-
export { bindSlackDirectCredentialSubject as $,
|
|
4442
|
+
export { bindSlackDirectCredentialSubject as $, createCache as $t, getWorkspaceSnapshotBuilder as A, conversationArchivedForUser as At, STOP_WATCHING_TOOL_NAME as B, getSlackFileId as Bt, WorkspaceValidationError as C, createPluginState as Ct, setWorkspaceSnapshotBuild as D, readConversationAccessFromSql as Dt, setWorkspaceSnapshot as E, createPluginLogger as Et, isSlackMessageTurn as F, viewerConversationMembership as Ft, createWatch as G, saveObjectAnnotations as Gt, cancelWatch as H, readAttachmentVisionSummary as Ht, slackMessageTurnDisabledReason as I, createPluginConversationEvents as It, getWatch as J, listConversationAnnotationsById as Jt, deliverWatch as K, createPluginAnnotations as Kt, RESOURCE_SUBSCRIPTION_DEFAULT_TTL_MS as L, readLatestConversationBrief as Lt, workspaceRepoCheckoutPath as M, conversationIsMemberRoot as Mt, resolveChannelCapabilities as N, conversationNotArchivedForEmail as Nt, SANDBOX_RUNTIME as O, conversationArchiveTimes as Ot, getSlackToolContext as P, conversationNotArchivedForUser as Pt, bindScheduledAutomationCredentialSubject as Q, createPluginCache as Qt, RESOURCE_SUBSCRIPTION_MAX_TTL_MS as R, readConversationEventPage as Rt, updateWorkspace as S, PluginToolDeniedError as St, loadSnapshotsForProfile as T, createPluginModel as Tt, collectEventMatchKeys as U, recordSlackAttachment as Ut, cancelSubscriptions as V, matchSlackAttachments as Vt, createTimerWatch as W, resolveRootVisibility as Wt, takeDueTimerWatches as X, resolveUserTimezone as Xt, listWatches as Y, defaultTimezone as Yt, bindEventAutomationCredentialSubject as Z, lookupSlackUser as Zt, deleteWorkspace as _, getDashboardConversationLink as _t, getPluginRoutes as a, downloadPrivateSlackFile as at, listWorkspaces as b, setDashboardConversationLinkOptions as bt, getPluginTools as c, getSlackClient as ct, setPlugins as d, normalizeSlackConversationId as dt, JUNIOR_NATIVE_EVENT_NAMESPACE as en, verifyEventAutomationCredentialSubject as et, validatePlugins as f, runWithSlackInstallationToken as ft, createWorkspace as g, JUNIOR_THREAD_STATE_TTL_MS as gt, setBriefsConfig as h, runWithWorkspaceTeamId as ht, getPluginApiRoutes as i, conversationNoteEvent as in, SlackActionError as it, tryWorkspaceRepoCheckoutPath as j, conversationHasParticipantUser as jt, deleteWorkspaceSnapshotBuilders as k, conversationArchivedForEmail as kt, getPluginUserPromptContributions as l, isConversationScopedChannel as lt, registration_exports as m, getWorkspaceTeamId as mt, applyPluginFormatMarkdown as n, authenticationLinkedEvent as nn, verifySlackDirectCredentialSubject as nt, getPluginSlackConversationLink as o, getFilePermalink as ot, coreTaskRegistrations as p, withSlackRetries as pt, findMatchingWatches as q, listConversationAnnotations as qt, createPluginHookRunner as r, authenticationUnlinkedEvent as rn, verifyTimerWatchCredentialSubject as rt, getPluginSystemPromptContributions as s, getHeaderString as st, agent_hooks_exports as t, agentsInstructionsUpdatedEvent as tn, verifyScheduledAutomationCredentialSubject as tt, getPlugins as u, isDmChannel as ut, getWorkspace as v, getDashboardObjectIconLink as vt, invalidateReadySnapshot as w, createPluginEmbedder as wt, listWorkspacesByRepository as x, ToolInputError as xt, getWorkspaceByName as y, getDashboardTaskLink as yt, RESOURCE_WATCH_TOOL_SOURCE as z, buildSentryConversationUrl as zt };
|