@keystrokehq/keystroke 0.0.159 → 0.0.161

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 (87) hide show
  1. package/dist/action.cjs +1 -1
  2. package/dist/action.d.cts +3 -3
  3. package/dist/action.d.mts +3 -3
  4. package/dist/action.mjs +1 -1
  5. package/dist/agent-types.d.cts +1 -1
  6. package/dist/agent-types.d.mts +1 -1
  7. package/dist/agent.cjs +269 -39
  8. package/dist/agent.cjs.map +1 -1
  9. package/dist/agent.d.cts +4 -4
  10. package/dist/agent.d.mts +4 -4
  11. package/dist/agent.mjs +268 -40
  12. package/dist/agent.mjs.map +1 -1
  13. package/dist/config.d.cts +1 -1
  14. package/dist/config.d.mts +1 -1
  15. package/dist/credentials.cjs +1 -1
  16. package/dist/credentials.d.cts +1 -1
  17. package/dist/credentials.d.mts +1 -1
  18. package/dist/credentials.mjs +1 -1
  19. package/dist/{dist-XKCtZShd.mjs → dist-BIbZjRd7.mjs} +4 -2
  20. package/dist/dist-BIbZjRd7.mjs.map +1 -0
  21. package/dist/{dist-DALSxODo.mjs → dist-CQH7Ircq.mjs} +32 -5
  22. package/dist/dist-CQH7Ircq.mjs.map +1 -0
  23. package/dist/{dist-lYNbBwe5.mjs → dist-DXzvN8aq.mjs} +210 -6
  24. package/dist/{dist-lYNbBwe5.mjs.map → dist-DXzvN8aq.mjs.map} +1 -1
  25. package/dist/{dist-u0RYk4-X.cjs → dist-DiqTL3ZF.cjs} +233 -5
  26. package/dist/{dist-u0RYk4-X.cjs.map → dist-DiqTL3ZF.cjs.map} +1 -1
  27. package/dist/{dist-D5jH3nQI.cjs → dist-lWDTuftA.cjs} +9 -1
  28. package/dist/dist-lWDTuftA.cjs.map +1 -0
  29. package/dist/{dist-DhBV2U_0.cjs → dist-mblcM3Bv.cjs} +37 -4
  30. package/dist/dist-mblcM3Bv.cjs.map +1 -0
  31. package/dist/{index-BcMCpDKh.d.cts → index-0KyTNuR1.d.mts} +5 -5
  32. package/dist/{index-Bd_asjgz.d.mts.map → index-0KyTNuR1.d.mts.map} +1 -1
  33. package/dist/{index-CUrU-w2Y.d.cts → index-BAIg1_V_.d.mts} +3 -3
  34. package/dist/{index-Qnwdoq7U.d.mts.map → index-BAIg1_V_.d.mts.map} +1 -1
  35. package/dist/{index-B4HxxDhO.d.cts → index-Bjg-QRlL.d.cts} +2 -2
  36. package/dist/{index-B4HxxDhO.d.cts.map → index-Bjg-QRlL.d.cts.map} +1 -1
  37. package/dist/{index-BNcrFoZi.d.cts → index-CaW3JRFU.d.cts} +15 -2
  38. package/dist/{index-BNcrFoZi.d.mts.map → index-CaW3JRFU.d.cts.map} +1 -1
  39. package/dist/{index-BNcrFoZi.d.mts → index-CaW3JRFU.d.mts} +15 -2
  40. package/dist/{index-BNcrFoZi.d.cts.map → index-CaW3JRFU.d.mts.map} +1 -1
  41. package/dist/{index-Bbe9CzYo.d.mts → index-CgMisiAc.d.mts} +7 -4
  42. package/dist/index-CgMisiAc.d.mts.map +1 -0
  43. package/dist/{index-Qnwdoq7U.d.mts → index-CsGfxjDx.d.cts} +3 -3
  44. package/dist/{index-CUrU-w2Y.d.cts.map → index-CsGfxjDx.d.cts.map} +1 -1
  45. package/dist/{index-CqbBhKYv.d.mts → index-CxjY9wjs.d.mts} +2 -2
  46. package/dist/{index-CqbBhKYv.d.mts.map → index-CxjY9wjs.d.mts.map} +1 -1
  47. package/dist/{index-BmXIGJlQ.d.cts → index-D7upoVsK.d.cts} +7 -4
  48. package/dist/index-D7upoVsK.d.cts.map +1 -0
  49. package/dist/{index-DuYf0Fdc.d.cts → index-DIm3_7or.d.cts} +41 -7
  50. package/dist/index-DIm3_7or.d.cts.map +1 -0
  51. package/dist/{index-jLW9DNA0.d.cts → index-DkQoSfqQ.d.cts} +12 -4
  52. package/dist/index-DkQoSfqQ.d.cts.map +1 -0
  53. package/dist/{index-Bd_asjgz.d.mts → index-Dr-3nl0A.d.cts} +5 -5
  54. package/dist/{index-BcMCpDKh.d.cts.map → index-Dr-3nl0A.d.cts.map} +1 -1
  55. package/dist/{index-CyCx29m7.d.mts → index-IVnunyAF.d.mts} +41 -7
  56. package/dist/index-IVnunyAF.d.mts.map +1 -0
  57. package/dist/{index-BUmyUoC2.d.mts → index-p6yOVMbx.d.mts} +12 -4
  58. package/dist/index-p6yOVMbx.d.mts.map +1 -0
  59. package/dist/{mistral-CWlaNuqc.mjs → mistral-CDuUHkpO.mjs} +2 -2
  60. package/dist/{mistral-CWlaNuqc.mjs.map → mistral-CDuUHkpO.mjs.map} +1 -1
  61. package/dist/{mistral-DIpD1PUg.cjs → mistral-DuG294d1.cjs} +2 -2
  62. package/dist/{mistral-DIpD1PUg.cjs.map → mistral-DuG294d1.cjs.map} +1 -1
  63. package/dist/sandbox.d.cts +1 -1
  64. package/dist/sandbox.d.mts +1 -1
  65. package/dist/{sse-DuzdM7Va.mjs → sse-BBd2aLiw.mjs} +2 -2
  66. package/dist/{sse-DuzdM7Va.mjs.map → sse-BBd2aLiw.mjs.map} +1 -1
  67. package/dist/{sse-DXvz9wn_.cjs → sse-DCsg_ELF.cjs} +2 -2
  68. package/dist/{sse-DXvz9wn_.cjs.map → sse-DCsg_ELF.cjs.map} +1 -1
  69. package/dist/trigger.cjs +1 -1
  70. package/dist/trigger.d.cts +3 -3
  71. package/dist/trigger.d.mts +3 -3
  72. package/dist/trigger.mjs +1 -1
  73. package/dist/workflow.cjs +2 -1
  74. package/dist/workflow.d.cts +3 -2
  75. package/dist/workflow.d.mts +3 -2
  76. package/dist/workflow.mjs +2 -2
  77. package/package.json +1 -1
  78. package/dist/dist-D5jH3nQI.cjs.map +0 -1
  79. package/dist/dist-DALSxODo.mjs.map +0 -1
  80. package/dist/dist-DhBV2U_0.cjs.map +0 -1
  81. package/dist/dist-XKCtZShd.mjs.map +0 -1
  82. package/dist/index-BUmyUoC2.d.mts.map +0 -1
  83. package/dist/index-Bbe9CzYo.d.mts.map +0 -1
  84. package/dist/index-BmXIGJlQ.d.cts.map +0 -1
  85. package/dist/index-CyCx29m7.d.mts.map +0 -1
  86. package/dist/index-DuYf0Fdc.d.cts.map +0 -1
  87. package/dist/index-jLW9DNA0.d.cts.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { Bn as __require, Ln as __commonJSMin, Vn as __toESM } from "./dist-Dv44b9V1.mjs";
2
- import { C as normalizeCredentialList, _ as CREDENTIAL_SCOPE_LEVEL_TO_SCOPE_TYPE } from "./dist-XKCtZShd.mjs";
2
+ import { C as normalizeCredentialList, _ as CREDENTIAL_SCOPE_LEVEL_TO_SCOPE_TYPE } from "./dist-BIbZjRd7.mjs";
3
3
  import { AsyncLocalStorage } from "node:async_hooks";
4
4
  import "node:fs";
5
5
  import { ZodFirstPartyTypeKind } from "zod/v3";
@@ -13251,7 +13251,7 @@ async function connectMcpServer(name, options) {
13251
13251
  }
13252
13252
  async function createTransport(url, transport, requestInit, fetchImpl) {
13253
13253
  if (transport === "sse") {
13254
- const { SSEClientTransport } = await import("./sse-DuzdM7Va.mjs");
13254
+ const { SSEClientTransport } = await import("./sse-BBd2aLiw.mjs");
13255
13255
  return new SSEClientTransport(url, {
13256
13256
  requestInit,
13257
13257
  fetch: fetchImpl
@@ -16464,9 +16464,58 @@ const agentSessionsSqlite = sqliteTable("agent_sessions", {
16464
16464
  updatedAt: integer("updated_at", { mode: "timestamp_ms" }).notNull(),
16465
16465
  deletedAt: integer("deleted_at", { mode: "timestamp_ms" })
16466
16466
  }, (table) => [index("agent_sessions_agent_updated_idx").on(table.agentId, table.updatedAt)]);
16467
+ const agentRuns = pgTable("agent_runs", {
16468
+ id: text$1("id").primaryKey(),
16469
+ sessionId: text$1("session_id").notNull().references(() => agentSessions.id),
16470
+ projectId: text$1("project_id").notNull(),
16471
+ agentId: text$1("agent_id").notNull().references(() => agents.id),
16472
+ runIndex: integer$1("run_index").notNull(),
16473
+ sourceKind: text$1("source_kind").$type().notNull().default("api"),
16474
+ sourceId: text$1("source_id"),
16475
+ ranByUserId: text$1("ran_by_user_id"),
16476
+ status: text$1("status").$type().notNull(),
16477
+ error: jsonb("error"),
16478
+ startedAt: timestamp("started_at", { withTimezone: true }).notNull(),
16479
+ finishedAt: timestamp("finished_at", { withTimezone: true }),
16480
+ totalCostUsd: doublePrecision("total_cost_usd"),
16481
+ totalTokens: integer$1("total_tokens"),
16482
+ modelsUsed: jsonb("models_used").$type(),
16483
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull(),
16484
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull(),
16485
+ deletedAt: timestamp("deleted_at", { withTimezone: true })
16486
+ }, (table) => [
16487
+ index$1("agent_runs_session_run_index_idx").on(table.sessionId, table.runIndex),
16488
+ index$1("agent_runs_agent_started_idx").on(table.agentId, table.startedAt),
16489
+ index$1("agent_runs_project_started_idx").on(table.projectId, table.startedAt)
16490
+ ]);
16491
+ const agentRunsSqlite = sqliteTable("agent_runs", {
16492
+ id: text("id").primaryKey(),
16493
+ sessionId: text("session_id").notNull().references(() => agentSessionsSqlite.id),
16494
+ projectId: text("project_id").notNull(),
16495
+ agentId: text("agent_id").notNull().references(() => agentsSqlite.id),
16496
+ runIndex: integer("run_index").notNull(),
16497
+ sourceKind: text("source_kind").$type().notNull().default("api"),
16498
+ sourceId: text("source_id"),
16499
+ ranByUserId: text("ran_by_user_id"),
16500
+ status: text("status").$type().notNull(),
16501
+ error: text("error", { mode: "json" }),
16502
+ startedAt: integer("started_at", { mode: "timestamp_ms" }).notNull(),
16503
+ finishedAt: integer("finished_at", { mode: "timestamp_ms" }),
16504
+ totalCostUsd: real("total_cost_usd"),
16505
+ totalTokens: integer("total_tokens"),
16506
+ modelsUsed: text("models_used", { mode: "json" }).$type(),
16507
+ createdAt: integer("created_at", { mode: "timestamp_ms" }).notNull(),
16508
+ updatedAt: integer("updated_at", { mode: "timestamp_ms" }).notNull(),
16509
+ deletedAt: integer("deleted_at", { mode: "timestamp_ms" })
16510
+ }, (table) => [
16511
+ index("agent_runs_session_run_index_idx").on(table.sessionId, table.runIndex),
16512
+ index("agent_runs_agent_started_idx").on(table.agentId, table.startedAt),
16513
+ index("agent_runs_project_started_idx").on(table.projectId, table.startedAt)
16514
+ ]);
16467
16515
  const agentEvents = pgTable("agent_events", {
16468
16516
  id: text$1("id").primaryKey(),
16469
16517
  sessionId: text$1("session_id").notNull().references(() => agentSessions.id),
16518
+ runId: text$1("run_id").references(() => agentRuns.id),
16470
16519
  seq: integer$1("seq").notNull(),
16471
16520
  eventType: text$1("event_type").notNull(),
16472
16521
  payload: jsonb("payload").notNull(),
@@ -16476,12 +16525,37 @@ const agentEvents = pgTable("agent_events", {
16476
16525
  const agentEventsSqlite = sqliteTable("agent_events", {
16477
16526
  id: text("id").primaryKey(),
16478
16527
  sessionId: text("session_id").notNull().references(() => agentSessionsSqlite.id),
16528
+ runId: text("run_id").references(() => agentRunsSqlite.id),
16479
16529
  seq: integer("seq").notNull(),
16480
16530
  eventType: text("event_type").notNull(),
16481
16531
  payload: text("payload", { mode: "json" }).notNull(),
16482
16532
  createdAt: integer("created_at", { mode: "timestamp_ms" }).notNull(),
16483
16533
  deletedAt: integer("deleted_at", { mode: "timestamp_ms" })
16484
16534
  });
16535
+ const usageRecords = pgTable("usage_records", {
16536
+ id: text$1("id").primaryKey(),
16537
+ runId: text$1("run_id").notNull(),
16538
+ runKind: text$1("run_kind").$type().notNull(),
16539
+ kind: text$1("kind").notNull(),
16540
+ label: text$1("label").notNull(),
16541
+ quantity: integer$1("quantity"),
16542
+ unit: text$1("unit"),
16543
+ amount: doublePrecision("amount").notNull(),
16544
+ metadata: jsonb("metadata"),
16545
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull()
16546
+ }, (table) => [index$1("usage_records_run_run_kind_idx").on(table.runId, table.runKind), index$1("usage_records_kind_idx").on(table.kind)]);
16547
+ const usageRecordsSqlite = sqliteTable("usage_records", {
16548
+ id: text("id").primaryKey(),
16549
+ runId: text("run_id").notNull(),
16550
+ runKind: text("run_kind").$type().notNull(),
16551
+ kind: text("kind").notNull(),
16552
+ label: text("label").notNull(),
16553
+ quantity: integer("quantity"),
16554
+ unit: text("unit"),
16555
+ amount: real("amount").notNull(),
16556
+ metadata: text("metadata", { mode: "json" }),
16557
+ createdAt: integer("created_at", { mode: "timestamp_ms" }).notNull()
16558
+ }, (table) => [index("usage_records_run_run_kind_idx").on(table.runId, table.runKind), index("usage_records_kind_idx").on(table.kind)]);
16485
16559
  const triggerAttachments = pgTable("trigger_attachments", {
16486
16560
  id: text$1("id").primaryKey(),
16487
16561
  projectId: text$1("project_id").notNull(),
@@ -16972,6 +17046,14 @@ const tableRegistry = {
16972
17046
  pg: agentEvents,
16973
17047
  sqlite: agentEventsSqlite
16974
17048
  },
17049
+ agentRuns: {
17050
+ pg: agentRuns,
17051
+ sqlite: agentRunsSqlite
17052
+ },
17053
+ usageRecords: {
17054
+ pg: usageRecords,
17055
+ sqlite: usageRecordsSqlite
17056
+ },
16975
17057
  triggerAttachments: {
16976
17058
  pg: triggerAttachments,
16977
17059
  sqlite: triggerAttachmentsSqlite
@@ -17086,6 +17168,9 @@ async function insertAgentSession(values) {
17086
17168
  async function selectActiveAgentSession(sessionId) {
17087
17169
  return (await getDb$1().select().from(agentSessions).where(scopedAnd$1(agentSessions, eq(agentSessions.id, sessionId), isNull(agentSessions.deletedAt))).limit(1))[0];
17088
17170
  }
17171
+ async function selectAgentSessionById(sessionId) {
17172
+ return selectActiveAgentSession(sessionId);
17173
+ }
17089
17174
  async function touchAgentSession(sessionId, updatedAt) {
17090
17175
  await getDb$1().update(agentSessions).set({ updatedAt }).where(scopedAnd$1(agentSessions, eq(agentSessions.id, sessionId), isNull(agentSessions.deletedAt)));
17091
17176
  }
@@ -17093,11 +17178,68 @@ async function maxSeqForSession(sessionId) {
17093
17178
  return (await getDb$1().select({ value: max(agentEvents.seq) }).from(agentEvents).innerJoin(agentSessions, eq(agentSessions.id, agentEvents.sessionId)).where(scopedAnd$1(agentSessions, eq(agentEvents.sessionId, sessionId), isNull(agentEvents.deletedAt))))[0]?.value ?? 0;
17094
17179
  }
17095
17180
  async function insertAgentEvent(values) {
17096
- await getDb$1().insert(agentEvents).values(values);
17181
+ await getDb$1().insert(agentEvents).values({
17182
+ ...values,
17183
+ runId: values.runId ?? null
17184
+ });
17097
17185
  }
17098
17186
  async function listMessagePayloads(sessionId, messageEventType) {
17099
17187
  return (await getDb$1().select({ payload: agentEvents.payload }).from(agentEvents).innerJoin(agentSessions, eq(agentSessions.id, agentEvents.sessionId)).where(scopedAnd$1(agentSessions, eq(agentEvents.sessionId, sessionId), eq(agentEvents.eventType, messageEventType), isNull(agentEvents.deletedAt))).orderBy(asc(agentEvents.seq))).map((row) => row.payload);
17100
17188
  }
17189
+ async function nextRunIndex(sessionId) {
17190
+ return ((await getDb$1().select({ value: max(agentRuns.runIndex) }).from(agentRuns).where(scopedAnd$1(agentRuns, eq(agentRuns.sessionId, sessionId), isNull(agentRuns.deletedAt))))[0]?.value ?? -1) + 1;
17191
+ }
17192
+ async function insertAgentRun(values) {
17193
+ await getDb$1().insert(agentRuns).values({
17194
+ ...values,
17195
+ projectId: projectScopeId(),
17196
+ sourceKind: values.sourceKind ?? "api",
17197
+ sourceId: values.sourceId ?? null,
17198
+ ranByUserId: values.ranByUserId ?? null,
17199
+ error: null,
17200
+ finishedAt: null,
17201
+ totalCostUsd: null,
17202
+ totalTokens: null,
17203
+ modelsUsed: null
17204
+ });
17205
+ }
17206
+ async function finalizeAgentRun(runId, values) {
17207
+ await getDb$1().update(agentRuns).set({
17208
+ status: values.status,
17209
+ finishedAt: values.finishedAt,
17210
+ error: values.error ?? null,
17211
+ totalCostUsd: values.totalCostUsd,
17212
+ totalTokens: values.totalTokens,
17213
+ modelsUsed: values.modelsUsed,
17214
+ updatedAt: values.updatedAt
17215
+ }).where(scopedAnd$1(agentRuns, eq(agentRuns.id, runId), isNull(agentRuns.deletedAt)));
17216
+ }
17217
+ async function insertUsageRecord(values) {
17218
+ await getDb$1().insert(usageRecords).values({
17219
+ ...values,
17220
+ quantity: values.quantity ?? null,
17221
+ unit: values.unit ?? null,
17222
+ metadata: values.metadata ?? null
17223
+ });
17224
+ }
17225
+ async function sumUsageForRun(runId, runKind) {
17226
+ const records = await getDb$1().select().from(usageRecords).where(and(eq(usageRecords.runId, runId), eq(usageRecords.runKind, runKind)));
17227
+ let totalCostUsd = 0;
17228
+ let totalTokens = 0;
17229
+ const modelsUsed = /* @__PURE__ */ new Set();
17230
+ for (const record of records) {
17231
+ totalCostUsd += record.amount;
17232
+ if (record.kind === "llm") {
17233
+ if (record.unit === "tokens" && record.quantity != null) totalTokens += record.quantity;
17234
+ modelsUsed.add(record.label);
17235
+ }
17236
+ }
17237
+ return {
17238
+ totalCostUsd,
17239
+ totalTokens,
17240
+ modelsUsed: [...modelsUsed]
17241
+ };
17242
+ }
17101
17243
  const MESSAGE_EVENT_TYPE = "message";
17102
17244
  /** Org/user credentials live once in the shared org database; project scope stays per-project. */
17103
17245
  function credentialScopeAnd(scopeType, ...conditions) {
@@ -17200,11 +17342,12 @@ async function touchSession(sessionId) {
17200
17342
  async function nextSeq(sessionId) {
17201
17343
  return await maxSeqForSession(sessionId) + 1;
17202
17344
  }
17203
- async function appendEvent(sessionId, eventType, payload) {
17345
+ async function appendEvent(sessionId, eventType, payload, options) {
17204
17346
  const seq = await nextSeq(sessionId);
17205
17347
  await insertAgentEvent({
17206
17348
  id: crypto.randomUUID(),
17207
17349
  sessionId,
17350
+ runId: options?.runId ?? null,
17208
17351
  seq,
17209
17352
  eventType,
17210
17353
  payload,
@@ -17216,6 +17359,67 @@ async function appendEvent(sessionId, eventType, payload) {
17216
17359
  async function listMessageEvents(sessionId) {
17217
17360
  return listMessagePayloads(sessionId, MESSAGE_EVENT_TYPE);
17218
17361
  }
17362
+ async function createAgentRun(options) {
17363
+ const now = /* @__PURE__ */ new Date();
17364
+ const runId = crypto.randomUUID();
17365
+ const runIndex = await nextRunIndex(options.sessionId);
17366
+ await insertAgentRun({
17367
+ id: runId,
17368
+ sessionId: options.sessionId,
17369
+ agentId: options.agentId,
17370
+ runIndex,
17371
+ sourceKind: options.sourceKind,
17372
+ sourceId: options.sourceId,
17373
+ ranByUserId: options.ranByUserId,
17374
+ status: "running",
17375
+ startedAt: now,
17376
+ createdAt: now,
17377
+ updatedAt: now,
17378
+ deletedAt: null
17379
+ });
17380
+ return runId;
17381
+ }
17382
+ async function recordLlmUsageFromAssistantMessage(options) {
17383
+ const { usage } = options;
17384
+ await insertUsageRecord({
17385
+ id: crypto.randomUUID(),
17386
+ runId: options.runId,
17387
+ runKind: "agent",
17388
+ kind: "llm",
17389
+ label: usage.label,
17390
+ quantity: usage.quantity,
17391
+ unit: "tokens",
17392
+ amount: usage.amount,
17393
+ metadata: usage.metadata,
17394
+ createdAt: /* @__PURE__ */ new Date()
17395
+ });
17396
+ }
17397
+ async function finalizeAgentRunFromPrompt(options) {
17398
+ const finishedAt = options.finishedAt ?? /* @__PURE__ */ new Date();
17399
+ const rollups = await sumUsageForRun(options.runId, "agent");
17400
+ await finalizeAgentRun(options.runId, {
17401
+ status: options.status,
17402
+ finishedAt,
17403
+ error: options.error ?? null,
17404
+ totalCostUsd: rollups.totalCostUsd,
17405
+ totalTokens: rollups.totalTokens,
17406
+ modelsUsed: rollups.modelsUsed,
17407
+ updatedAt: finishedAt
17408
+ });
17409
+ }
17410
+ async function resolveAgentRunSourceFromSession(sessionId) {
17411
+ const session = await selectAgentSessionById(sessionId);
17412
+ if (!session) return {
17413
+ sourceKind: "api",
17414
+ sourceId: null,
17415
+ ranByUserId: null
17416
+ };
17417
+ return {
17418
+ sourceKind: session.sourceKind,
17419
+ sourceId: session.sourceId,
17420
+ ranByUserId: session.ranByUserId
17421
+ };
17422
+ }
17219
17423
  const ALGORITHM$1 = "aes-256-gcm";
17220
17424
  const IV_LENGTH$1 = 12;
17221
17425
  function resolveEncryptionKey$1() {
@@ -18206,6 +18410,6 @@ async function resolveActionCredentials(requirements, options) {
18206
18410
  return parseResolvedCredentials(requirements, await resolveCredentials(requirements, options.consumer, options.contextOverride));
18207
18411
  }
18208
18412
  //#endregion
18209
- export { zodToJsonSchema as A, isMcp as C, extractWWWAuthenticateParams as D, auth as E, createFetchWithInit as O, defineMcp as S, UnauthorizedError as T, logSystem as _, resolveActionCredentials as a, connectMcpServer as b, appendEvent as c, getSession as d, listMessageEvents as f, getTraceContext as g, captureConsole as h, isCredentialError as i, JSONRPCMessageSchema as j, normalizeHeaders as k, createSession as l, touchSession as m, captureCredentialToolErrors as n, resolveMcpTools as o, resolveRunSourceFromTraceContext as p, createCredentialResolver as r, MESSAGE_EVENT_TYPE as s, buildCredentialRunContext as t, getAgentByRoute as u, withSpan as v, createParser as w, connectMcpStdio as x, connectMcpDefinition as y };
18413
+ export { auth as A, connectMcpDefinition as C, isMcp as D, defineMcp as E, JSONRPCMessageSchema as F, createFetchWithInit as M, normalizeHeaders as N, createParser as O, zodToJsonSchema as P, withSpan as S, connectMcpStdio as T, resolveRunSourceFromTraceContext as _, resolveActionCredentials as a, getTraceContext as b, appendEvent as c, finalizeAgentRunFromPrompt as d, getAgentByRoute as f, resolveAgentRunSourceFromSession as g, recordLlmUsageFromAssistantMessage as h, isCredentialError as i, extractWWWAuthenticateParams as j, UnauthorizedError as k, createAgentRun as l, listMessageEvents as m, captureCredentialToolErrors as n, resolveMcpTools as o, getSession as p, createCredentialResolver as r, MESSAGE_EVENT_TYPE as s, buildCredentialRunContext as t, createSession as u, touchSession as v, connectMcpServer as w, logSystem as x, captureConsole as y };
18210
18414
 
18211
- //# sourceMappingURL=dist-lYNbBwe5.mjs.map
18415
+ //# sourceMappingURL=dist-DXzvN8aq.mjs.map