@sentry/junior 0.257.0 → 0.259.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 (104) hide show
  1. package/dist/{actor-BTtLaeWy.js → actor-tlxzqaRe.js} +3 -6
  2. package/dist/adapter-Bn0gFVSF.js +270 -0
  3. package/dist/{admin-DgIkm6Vy.js → admin-C8xz2f10.js} +2 -3
  4. package/dist/{agent-hooks-BjtTzvru.js → agent-hooks-B00FaKdP.js} +70 -109
  5. package/dist/{agent-invocations-Bdu3ROfo.js → agent-invocations-Qfz7dWgU.js} +6 -12
  6. package/dist/{agent-runner-D7OboVb3.js → agent-runner-CPSd7rKm.js} +324 -742
  7. package/dist/api/schema.d.ts +442 -447
  8. package/dist/api/schema.js +6 -6
  9. package/dist/api.d.ts +2 -12
  10. package/dist/api.js +165 -158
  11. package/dist/{app-BsU5QNBd.d.ts → app-Bbxrehjf.d.ts} +25 -45
  12. package/dist/app.d.ts +3 -3
  13. package/dist/app.js +206 -321
  14. package/dist/{assistant-reply-CbTPebzL.js → assistant-reply-CqthTerd.js} +3 -5
  15. package/dist/{automation-CHdlHVZP.js → automation-DWBFBenG.js} +6 -11
  16. package/dist/{briefs-oLOldnDM.js → briefs-DNYbQ9cD.js} +8 -11
  17. package/dist/{cadence-D00SCzT1.js → cadence-R7Em4RjE.js} +1 -2
  18. package/dist/{catalog-runtime-CZzhGQ7F.js → catalog-runtime-B8SuFPGb.js} +3 -4
  19. package/dist/cli/chat.d.ts +2 -4
  20. package/dist/cli/chat.js +22 -24
  21. package/dist/cli/check.d.ts +1 -3
  22. package/dist/cli/check.js +4 -5
  23. package/dist/cli/env.d.ts +1 -3
  24. package/dist/cli/env.js +1 -2
  25. package/dist/cli/init.d.ts +1 -3
  26. package/dist/cli/init.js +3 -3
  27. package/dist/cli/main.d.ts +1 -3
  28. package/dist/cli/main.js +8 -5
  29. package/dist/cli/plugins.d.ts +2 -4
  30. package/dist/cli/plugins.js +7 -8
  31. package/dist/cli/run.d.ts +3 -3
  32. package/dist/cli/run.js +3 -3
  33. package/dist/cli/snapshot-create.d.ts +1 -3
  34. package/dist/cli/snapshot-create.js +5 -5
  35. package/dist/cli/upgrade.d.ts +3 -6
  36. package/dist/cli/upgrade.js +11 -17
  37. package/dist/{client-D8HnkOQX.js → client-BZdxgKyL.js} +64 -18
  38. package/dist/{config-CJRnWK9H.js → config-Deqpfpg9.js} +21 -15
  39. package/dist/{connections-ClYrKzpX.js → connections-9gJkfS85.js} +179 -20
  40. package/dist/{conversation-CKNLYBJt.js → conversation-DjN3mlog.js} +8 -15
  41. package/dist/{conversation-privacy-C8b1nphZ.js → conversation-privacy-CFhNKxp-.js} +2 -3
  42. package/dist/{conversation-work-C6y3T5Hx.js → conversation-work-BaT_T6EB.js} +1 -2
  43. package/dist/{credential-sync-BXfohNmJ.js → credential-sync-BABGymK3.js} +23 -190
  44. package/dist/{db-Ca9Nt5ci.d.ts → db-BnRqQ7G5.d.ts} +1 -1
  45. package/dist/{executor-Do0THDRR.js → executor-Bb3eQb8q.js} +30 -52
  46. package/dist/{experimental-CQIvMUO7.js → experimental-BNK1l1jv.js} +2 -4
  47. package/dist/{history-9pO1Zd4Y.js → history-AY8rs-FR.js} +5 -9
  48. package/dist/{history-DvqWZlYX.d.ts → history-BgI33Kie.d.ts} +12 -20
  49. package/dist/{images-BN_BiBXF.js → images-BbSdVHC6.js} +5 -6
  50. package/dist/instrumentation.d.ts +1 -3
  51. package/dist/instrumentation.js +6 -8
  52. package/dist/{job-queue-B6SV9uVa.js → job-queue-vdGU-5ge.js} +6 -12
  53. package/dist/{logging-CWxiIuCF.js → logging-BStXN56b.js} +7 -12
  54. package/dist/{message-TUOdbSBW.js → message-DRf6m4uO.js} +5 -6
  55. package/dist/{model-profile-BwU8mqwD.js → model-profile-Bg8EoCKD.js} +2 -4
  56. package/dist/nitro.d.ts +3 -5
  57. package/dist/nitro.js +12 -17
  58. package/dist/{oauth-authorization-BA4Dt6a7.js → oauth-authorization-djQn5Nhy.js} +2 -4
  59. package/dist/{oauth-callback-server-Dj5UJODo.js → oauth-callback-server-JmOgLcGl.js} +3 -4
  60. package/dist/{oauth-relay-CdCnu80W.js → oauth-relay-CTygMkNx.js} +2 -3
  61. package/dist/{package-discovery-BVvSnQBB.js → package-discovery-DJBompdd.js} +17 -21
  62. package/dist/{pending-auth-s_QFribU.js → pending-auth-rG5U_QS1.js} +92 -83
  63. package/dist/{plugin-module-CVvEUSMH.js → plugin-module-Cf5gVPWP.js} +1 -2
  64. package/dist/{plugins-CjfUP5gJ.d.ts → plugins-B_0Cr0MO.d.ts} +5 -5
  65. package/dist/{plugins-egKWjgue.js → plugins-DOm9Y6qI.js} +2 -3
  66. package/dist/{private-trace-result-BLvBjy_e.js → private-trace-result-CE7_lEdq.js} +1 -2
  67. package/dist/{profile-h-72wM78.js → profile-qBM6B_-V.js} +14 -295
  68. package/dist/{prompt-DyoEj9c2.js → prompt-xgpyMtg7.js} +5 -9
  69. package/dist/{queue-B5SnqRln.d.ts → queue-C37RbDVc.d.ts} +0 -2
  70. package/dist/{registry-sLTr-sV9.js → registry-B_M_x_iS.js} +56 -30
  71. package/dist/{resolve-ncQPZROQ.js → resolve-BzpuLh8c.js} +8 -12
  72. package/dist/{result-C883vngT.js → result-DEZH_AnZ.js} +13 -17
  73. package/dist/{rolldown-runtime-B4FMCO8f.js → rolldown-runtime-nwUcYXjP.js} +1 -2
  74. package/dist/{runner-CzYImdOF.js → runner-BqQlG10t.js} +12 -13
  75. package/dist/{sandbox-egress-signals-CZbMINHI.js → sandbox-egress-signals-DCq3WLs5.js} +2 -3
  76. package/dist/{schema-Dy69D4Ge.js → schema-CF9HqNRY.js} +30 -27
  77. package/dist/{sentry-CgWZM_kV.js → sentry-BBUlHih9.js} +2 -3
  78. package/dist/service-account-BqTBkyD7.js +120 -0
  79. package/dist/service-account-BzhW7kXu.js +661 -0
  80. package/dist/{session-stop-CQjKd4a2.js → session-stop-CV65ZlU3.js} +23 -33
  81. package/dist/{skills-C22SLruK.js → skills-CiWS5_Ub.js} +9 -9
  82. package/dist/{spawn-DY9CLXDL.js → spawn-BSAQ7UQZ.js} +4 -5
  83. package/dist/{store-DXFIQy-G.js → store-B1GES4gC.js} +13 -15
  84. package/dist/{store-DoewL5mG.d.ts → store-CG0VJyye.d.ts} +0 -14
  85. package/dist/{task-queue-B17vV0La.js → task-queue-BAeGEMjJ.js} +5 -7
  86. package/dist/{task-runner-DUjvzYXj.js → task-runner-BlGhcQPi.js} +22 -26
  87. package/dist/{tasks-D_WIJtvO.js → tasks-DieKX3d4.js} +63 -78
  88. package/dist/{thread-state-Ch4yuCqG.js → thread-state-DpSWS4Rr.js} +13 -19
  89. package/dist/{turn-failure-response-C5nBKC4S.js → turn-failure-response-DQljogGJ.js} +16 -22
  90. package/dist/{turn-lifecycle-CO-ylUmV.js → turn-lifecycle-BLgrkV_L.js} +2 -3
  91. package/dist/{turn-session-routing-B3LWooK5.js → turn-session-routing-BlajheOU.js} +2 -3
  92. package/dist/{validation-CXYxaNYx.js → validation-23d7K9tX.js} +3 -4
  93. package/dist/vercel.d.ts +1 -3
  94. package/dist/vercel.js +1 -2
  95. package/dist/{version-BcdZy2zg.js → version-B_XumRx-.js} +3 -5
  96. package/dist/{version-CnXZ614E.d.ts → version-Cc2OFd9G.d.ts} +0 -2
  97. package/dist/version.d.ts +1 -1
  98. package/dist/version.js +1 -2
  99. package/dist/{viewer-DSZXygMU.js → viewer-B2_ABsYi.js} +26 -57
  100. package/dist/{web-input-B9Bv0_lR.js → web-input-BZDyxpzR.js} +101 -158
  101. package/dist/{web-message-id-xPI_EFSC.js → web-message-id-CJSUiksE.js} +3 -6
  102. package/dist/{work-nAfDSUFP.js → work-D3QKiV0O.js} +14 -16
  103. package/dist/{worker-vGXZ6XFT.js → worker-C8mUjYf9.js} +7 -8
  104. package/package.json +10 -9
package/dist/version.js CHANGED
@@ -1,2 +1 @@
1
- import { t as JUNIOR_VERSION } from "./version-BcdZy2zg.js";
2
- export { JUNIOR_VERSION };
1
+ export { t as JUNIOR_VERSION } from "./version-B_XumRx-.js";
@@ -1,15 +1,14 @@
1
- import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.js";
2
- import { I as GOOGLE_IDENTITY_PROVIDER, R as normalizeIdentityEmail } from "./logging-CWxiIuCF.js";
3
- import { i as getChatConfig } from "./config-CJRnWK9H.js";
4
- import { d as parseSlackTeamId, o as parseActorUserId, u as parseSlackChannelReferenceId } from "./actor-BTtLaeWy.js";
5
- import { c as juniorIdentities, d as juniorDestinations, l as juniorUsers, o as conversationReadColumns, s as juniorConversations } from "./agent-invocations-Bdu3ROfo.js";
6
- import { _ as juniorConversationAnnotations, d as juniorConversationBindings, h as juniorConversationEvents, m as juniorConversationMetrics, p as CONVERSATION_METRICS, t as createJuniorSqlExecutor, u as juniorConversationParticipants } from "./executor-Do0THDRR.js";
7
- import { c as newConversationEventSchema, h as usageSchema, l as encodeHistoryPayload, o as decodeStoredConversationEvent, r as conversationEventDataSchema, s as historyReplacementSchema } from "./history-9pO1Zd4Y.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-nwUcYXjP.js";
2
+ import { I as GOOGLE_IDENTITY_PROVIDER, R as normalizeIdentityEmail } from "./logging-BStXN56b.js";
3
+ import { i as getChatConfig } from "./config-Deqpfpg9.js";
4
+ import { d as parseSlackTeamId, o as parseActorUserId, u as parseSlackChannelReferenceId } from "./actor-tlxzqaRe.js";
5
+ import { c as juniorIdentities, d as juniorDestinations, l as juniorUsers, o as conversationReadColumns, s as juniorConversations } from "./agent-invocations-Qfz7dWgU.js";
6
+ import { _ as juniorConversationAnnotations, d as juniorConversationBindings, h as juniorConversationEvents, m as juniorConversationMetrics, p as CONVERSATION_METRICS, t as createJuniorSqlExecutor, u as juniorConversationParticipants } from "./executor-Bb3eQb8q.js";
7
+ import { c as newConversationEventSchema, h as usageSchema, l as encodeHistoryPayload, o as decodeStoredConversationEvent, r as conversationEventDataSchema, s as historyReplacementSchema } from "./history-AY8rs-FR.js";
8
8
  import { randomUUID } from "node:crypto";
9
9
  import { and, asc, desc, eq, gt, gte, inArray, isNull, lt, lte, ne, or, sql } from "drizzle-orm";
10
10
  import { destinationSchema, identitySchema, locationSchema, sourceSchema, userSchema } from "@sentry/junior-plugin-api";
11
- import { alias } from "drizzle-orm/pg-core";
12
- //#region src/chat/destination.ts
11
+ // src/chat/destination.ts
13
12
  /** Build Junior's canonical destination from Slack workspace and channel ids. */
14
13
  function createSlackDestination(input) {
15
14
  const channelId = parseSlackChannelReferenceId(input.channelId);
@@ -38,9 +37,7 @@ function sameDestination(left, right) {
38
37
  if (left.platform === "slack" && right.platform === "slack") return left.teamId === right.teamId && left.channelId === right.channelId;
39
38
  return false;
40
39
  }
41
- //#endregion
42
- //#region src/chat/identities/sql.ts
43
- const googleIdentity = alias(juniorIdentities, "google_identity");
40
+ // src/chat/identities/sql.ts
44
41
  function dateFromMs$1(ms) {
45
42
  return new Date(ms);
46
43
  }
@@ -179,10 +176,6 @@ async function deleteProviderIdentityForSlackUser(executor, slackTeamId, slackUs
179
176
  async function deleteProviderIdentityForUser(executor, userId, provider, providerSubjectId) {
180
177
  await executor.db().delete(juniorIdentities).where(and(eq(juniorIdentities.userId, userId), eq(juniorIdentities.provider, provider), eq(juniorIdentities.providerTenantId, ""), eq(juniorIdentities.providerSubjectId, providerSubjectId)));
181
178
  }
182
- /** Read the user linked to one Slack identity. */
183
- async function findSlackIdentityUserId(executor, slackTeamId, slackUserId) {
184
- return (await executor.db().select({ userId: juniorIdentities.userId }).from(juniorIdentities).where(and(eq(juniorIdentities.kind, "user"), eq(juniorIdentities.provider, "slack"), eq(juniorIdentities.providerTenantId, slackTeamId), eq(juniorIdentities.providerSubjectId, slackUserId))).limit(1))[0]?.userId ?? void 0;
185
- }
186
179
  /**
187
180
  * Save one Google sign-in. Link the Google identity to the user of its
188
181
  * verified email, and set its sign-in time.
@@ -199,15 +192,7 @@ async function recordGoogleSignIn(executor, account, nowMs = Date.now()) {
199
192
  await executor.db().update(juniorIdentities).set({ signedInAt: dateFromMs$1(nowMs) }).where(eq(juniorIdentities.id, stored.id));
200
193
  return stored;
201
194
  }
202
- /**
203
- * Return whether the user of one Slack identity signed in with Google at or
204
- * after `signedInSince`.
205
- */
206
- async function slackUserHasGoogleSignIn(executor, args) {
207
- return (await executor.db().select({ id: googleIdentity.id }).from(juniorIdentities).innerJoin(googleIdentity, eq(googleIdentity.userId, juniorIdentities.userId)).where(and(eq(juniorIdentities.kind, "user"), eq(juniorIdentities.provider, "slack"), eq(juniorIdentities.providerTenantId, args.slackTeamId), eq(juniorIdentities.providerSubjectId, args.slackUserId), eq(googleIdentity.kind, "user"), eq(googleIdentity.provider, GOOGLE_IDENTITY_PROVIDER), eq(googleIdentity.emailVerified, true), gte(googleIdentity.signedInAt, args.signedInSince))).limit(1)).length > 0;
208
- }
209
- //#endregion
210
- //#region src/chat/conversations/sql/participants.ts
195
+ // src/chat/conversations/sql/participants.ts
211
196
  /** Resolve the root conversation id that owns personal-feed membership. */
212
197
  async function resolveRootConversationId(executor, conversationId) {
213
198
  const [row] = await executor.db().select({ rootConversationId: juniorConversations.rootConversationId }).from(juniorConversations).where(eq(juniorConversations.conversationId, conversationId)).limit(1);
@@ -237,8 +222,7 @@ async function recordConversationParticipant(executor, args) {
237
222
  }
238
223
  });
239
224
  }
240
- //#endregion
241
- //#region src/chat/usage.ts
225
+ // src/chat/usage.ts
242
226
  const agentTurnUsageSchema = usageSchema;
243
227
  const COMPONENT_USAGE_FIELDS = [
244
228
  "inputTokens",
@@ -337,8 +321,7 @@ function addAgentTurnUsage(...usages) {
337
321
  };
338
322
  return hasAgentTurnUsage(result) ? result : void 0;
339
323
  }
340
- //#endregion
341
- //#region src/chat/conversations/metrics.ts
324
+ // src/chat/conversations/metrics.ts
342
325
  function finite(value) {
343
326
  return value !== void 0 && Number.isFinite(value) && value >= 0 ? value : void 0;
344
327
  }
@@ -421,8 +404,7 @@ async function replaceConversationMetrics(executor, args) {
421
404
  end`
422
405
  }).where(eq(juniorConversations.conversationId, args.conversationId));
423
406
  }
424
- //#endregion
425
- //#region src/chat/source.ts
407
+ // src/chat/source.ts
426
408
  /**
427
409
  * Normalize a Turn Source into legacy provider fields stored on a Conversation.
428
410
  * System Sources do not contain a Conversation Location.
@@ -454,8 +436,7 @@ function parseSessionSource(value) {
454
436
  const parsed = sourceSchema.safeParse(value);
455
437
  return parsed.success ? normalizeSessionSource(parsed.data) : void 0;
456
438
  }
457
- //#endregion
458
- //#region src/chat/conversations/sql/bindings.ts
439
+ // src/chat/conversations/sql/bindings.ts
459
440
  /** Resolve the durable conversation bound to provider-owned coordinates. */
460
441
  async function getConversationIdByProviderConversation(executor, args) {
461
442
  return (await executor.db().select({ conversationId: juniorConversationBindings.conversationId }).from(juniorConversationBindings).where(and(eq(juniorConversationBindings.provider, args.provider), eq(juniorConversationBindings.providerTenantId, args.providerTenantId), eq(juniorConversationBindings.providerDestinationId, args.providerDestinationId), eq(juniorConversationBindings.providerConversationId, args.providerConversationId))).limit(1))[0]?.conversationId;
@@ -467,8 +448,7 @@ async function bindProviderConversation(executor, args) {
467
448
  createdAt: /* @__PURE__ */ new Date()
468
449
  }).onConflictDoNothing().returning({ conversationId: juniorConversationBindings.conversationId }))[0]?.conversationId ?? await getConversationIdByProviderConversation(executor, args)) !== args.conversationId) throw new Error("Provider conversation is already bound to another conversation");
469
450
  }
470
- //#endregion
471
- //#region src/chat/conversations/sql/actor-identity.ts
451
+ // src/chat/conversations/sql/actor-identity.ts
472
452
  /** Build a durable identity observation from a stored conversation actor. */
473
453
  function identityFromActor(actor) {
474
454
  if (actor?.slackUserId) return {
@@ -557,8 +537,7 @@ function mergeActor(current, next) {
557
537
  ...current.teamId ?? next.teamId ? { teamId: current.teamId ?? next.teamId } : void 0
558
538
  };
559
539
  }
560
- //#endregion
561
- //#region src/chat/conversations/sql/location.ts
540
+ // src/chat/conversations/sql/location.ts
562
541
  /** Build the complete Location for one Conversation SQL write. */
563
542
  function locationForWrite(args) {
564
543
  const location = args.location ? locationSchema.parse(args.location) : void 0;
@@ -614,8 +593,7 @@ async function startLocationThread(executor, binding) {
614
593
  const location = juniorConversations.location;
615
594
  await executor.db().update(juniorConversations).set({ location: sql`${location} || jsonb_build_object('threadTs', ${binding.providerConversationId}::text)` }).where(and(eq(juniorConversations.conversationId, binding.conversationId), sql`${location}->>'provider' = ${binding.provider}`, sql`${location}->>'teamId' = ${binding.providerTenantId}`, sql`${location}->>'channelId' = ${binding.providerDestinationId}`, isNull(sql`${location}->>'threadTs'`)));
616
595
  }
617
- //#endregion
618
- //#region src/chat/conversations/sql/store.ts
596
+ // src/chat/conversations/sql/store.ts
619
597
  const CONVERSATION_MUTATION_LOCK_PREFIX = "junior_conversation";
620
598
  /** Serialize one conversation's durable mutations inside a SQL transaction. */
621
599
  async function withConversationMutationLock(executor, conversationId, callback) {
@@ -1035,8 +1013,7 @@ var SqlStore = class {
1035
1013
  function createSqlStore(executor) {
1036
1014
  return new SqlStore(executor);
1037
1015
  }
1038
- //#endregion
1039
- //#region src/chat/conversations/sql/conversation-row.ts
1016
+ // src/chat/conversations/sql/conversation-row.ts
1040
1017
  /**
1041
1018
  * Establish the conversation metadata row on first contact for content writes
1042
1019
  * (conversation events, visible transcript) that can land before activity has
@@ -1072,8 +1049,7 @@ async function ensureConversationRow(executor, conversationId, atMs, options = {
1072
1049
  }
1073
1050
  });
1074
1051
  }
1075
- //#endregion
1076
- //#region src/chat/conversations/sql/event-actor.ts
1052
+ // src/chat/conversations/sql/event-actor.ts
1077
1053
  const SLACK_USER_ID_PATTERN = /^[UW][A-Z0-9]{5,}$/;
1078
1054
  function isRecord(value) {
1079
1055
  return Boolean(value) && typeof value === "object" && !Array.isArray(value);
@@ -1173,8 +1149,7 @@ function stripPayloadAuthorIdentityId(data) {
1173
1149
  const { authorIdentityId: _authorIdentityId, ...rest } = data;
1174
1150
  return rest;
1175
1151
  }
1176
- //#endregion
1177
- //#region src/db/postgres-json.ts
1152
+ // src/db/postgres-json.ts
1178
1153
  /**
1179
1154
  * Replace actual NUL characters that PostgreSQL cannot store in JSONB.
1180
1155
  * Literal `\\u0000` text is preserved because it contains no NUL character.
@@ -1187,14 +1162,12 @@ function sanitizePostgresJson(value) {
1187
1162
  if (prototype !== Object.prototype && prototype !== null) return value;
1188
1163
  return Object.fromEntries(Object.entries(value).map(([key, item]) => [key, sanitizePostgresJson(item)]));
1189
1164
  }
1190
- //#endregion
1191
- //#region src/chat/conversations/sql/event-lock.ts
1165
+ // src/chat/conversations/sql/event-lock.ts
1192
1166
  /** Serialize event sequence allocation with other conversation writes. */
1193
1167
  async function withConversationEventLock(executor, conversationId, callback) {
1194
1168
  return executor.withLock(`junior_conversation:${conversationId}`, callback);
1195
1169
  }
1196
- //#endregion
1197
- //#region src/chat/conversations/sql/history.ts
1170
+ // src/chat/conversations/sql/history.ts
1198
1171
  const messageHistoryEventTypes = [
1199
1172
  "message",
1200
1173
  "message_updated",
@@ -1423,8 +1396,7 @@ var SqlConversationEventStore = class {
1423
1396
  function createSqlConversationEventStore(executor) {
1424
1397
  return new SqlConversationEventStore(executor);
1425
1398
  }
1426
- //#endregion
1427
- //#region src/chat/conversations/sql/message-search.ts
1399
+ // src/chat/conversations/sql/message-search.ts
1428
1400
  const EXCERPT_WITHOUT_QUERY_CHARS = 240;
1429
1401
  var SqlConversationMessageSearchStore = class {
1430
1402
  executor;
@@ -1496,8 +1468,7 @@ var SqlConversationMessageSearchStore = class {
1496
1468
  function createSqlConversationMessageSearchStore(executor) {
1497
1469
  return new SqlConversationMessageSearchStore(executor);
1498
1470
  }
1499
- //#endregion
1500
- //#region src/chat/db.ts
1471
+ // src/chat/db.ts
1501
1472
  var db_exports = /* @__PURE__ */ __exportAll({
1502
1473
  closeDb: () => closeDb,
1503
1474
  getConversationEventStore: () => getConversationEventStore,
@@ -1565,8 +1536,7 @@ async function closeDb() {
1565
1536
  current = void 0;
1566
1537
  await previous?.db.close();
1567
1538
  }
1568
- //#endregion
1569
- //#region src/chat/plugins/viewer.ts
1539
+ // src/chat/plugins/viewer.ts
1570
1540
  function identityFromRow(row) {
1571
1541
  return identitySchema.parse({
1572
1542
  id: row.id,
@@ -1667,5 +1637,4 @@ async function readActorIdentityFromSql(db, actor) {
1667
1637
  async function readActorIdentity(actor) {
1668
1638
  return await readActorIdentityFromSql(getDb(), actor);
1669
1639
  }
1670
- //#endregion
1671
- export { deleteProviderIdentityForSlackUser as A, createSlackDestination as B, parseSessionSource as C, agentTurnUsageSchema as D, agentTurnTotalTokens as E, recordGoogleSignIn as F, requireSlackDestination as H, saveUserTimezone as I, slackUserHasGoogleSignIn as L, findSlackIdentityUserId as M, findUserByVerifiedEmails as N, hasAgentTurnUsage as O, readUserTimezone as P, upsertIdentity as R, bindProviderConversation as S, agentTurnCostUsd as T, sameDestination as U, parseDestination as V, createSqlStore as _, resolveViewerUser as a, startLocationThread as b, db_exports as c, getConversationStore as d, getDb as f, loadConversationSlackTenantId as g, withConversationEventLock as h, readActorIdentity as i, deleteProviderIdentityForUser as j, resolveRootConversationId as k, getConversationEventStore as l, createSqlConversationEventStore as m, findUserByEmailFromSql as n, setUserAdminFromSql as o, getSqlExecutor as p, listAdminUsersFromSql as r, updateViewerDisplayName as s, findUserByEmail as t, getConversationMessageSearchStore as u, withConversationMutationLock as v, addAgentTurnUsage as w, identityFromActor as x, locationFromRow as y, upsertLinkedIdentity as z };
1640
+ export { deleteProviderIdentityForUser as A, sameDestination as B, addAgentTurnUsage as C, hasAgentTurnUsage as D, agentTurnUsageSchema as E, upsertIdentity as F, upsertLinkedIdentity as I, createSlackDestination as L, readUserTimezone as M, recordGoogleSignIn as N, resolveRootConversationId as O, saveUserTimezone as P, parseDestination as R, parseSessionSource as S, agentTurnTotalTokens as T, withConversationMutationLock as _, setUserAdminFromSql as a, identityFromActor as b, getConversationEventStore as c, getDb as d, getSqlExecutor as f, createSqlStore as g, loadConversationSlackTenantId as h, resolveViewerUser as i, findUserByVerifiedEmails as j, deleteProviderIdentityForSlackUser as k, getConversationMessageSearchStore as l, withConversationEventLock as m, listAdminUsersFromSql as n, updateViewerDisplayName as o, createSqlConversationEventStore as p, readActorIdentity as r, db_exports as s, findUserByEmail as t, getConversationStore as u, locationFromRow as v, agentTurnCostUsd as w, bindProviderConversation as x, startLocationThread as y, requireSlackDestination as z };