@keystrokehq/keystroke 0.0.160 → 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.
- package/dist/action.cjs +1 -1
- package/dist/action.mjs +1 -1
- package/dist/agent.cjs +115 -42
- package/dist/agent.cjs.map +1 -1
- package/dist/agent.d.cts +1 -1
- package/dist/agent.d.mts +1 -1
- package/dist/agent.mjs +115 -42
- package/dist/agent.mjs.map +1 -1
- package/dist/credentials.cjs +1 -1
- package/dist/credentials.mjs +1 -1
- package/dist/{dist-DM1Na5CA.mjs → dist-BIbZjRd7.mjs} +3 -1
- package/dist/dist-BIbZjRd7.mjs.map +1 -0
- package/dist/{dist-C8t_Snfd.mjs → dist-CQH7Ircq.mjs} +3 -3
- package/dist/{dist-C8t_Snfd.mjs.map → dist-CQH7Ircq.mjs.map} +1 -1
- package/dist/{dist-BAzfOMfz.mjs → dist-DXzvN8aq.mjs} +210 -6
- package/dist/{dist-BAzfOMfz.mjs.map → dist-DXzvN8aq.mjs.map} +1 -1
- package/dist/{dist-BkkOal_e.cjs → dist-DiqTL3ZF.cjs} +233 -5
- package/dist/{dist-BkkOal_e.cjs.map → dist-DiqTL3ZF.cjs.map} +1 -1
- package/dist/{dist-DFXV_Io5.cjs → dist-lWDTuftA.cjs} +3 -1
- package/dist/dist-lWDTuftA.cjs.map +1 -0
- package/dist/{dist-fqWJTm0u.cjs → dist-mblcM3Bv.cjs} +3 -3
- package/dist/{dist-fqWJTm0u.cjs.map → dist-mblcM3Bv.cjs.map} +1 -1
- package/dist/index-CaW3JRFU.d.cts.map +1 -1
- package/dist/index-CaW3JRFU.d.mts.map +1 -1
- package/dist/{index-DaxRr-x9.d.cts → index-DIm3_7or.d.cts} +14 -2
- package/dist/index-DIm3_7or.d.cts.map +1 -0
- package/dist/{index-BbwuSuxl.d.mts → index-IVnunyAF.d.mts} +14 -2
- package/dist/index-IVnunyAF.d.mts.map +1 -0
- package/dist/{mistral-BRIv8KXE.mjs → mistral-CDuUHkpO.mjs} +2 -2
- package/dist/{mistral-BRIv8KXE.mjs.map → mistral-CDuUHkpO.mjs.map} +1 -1
- package/dist/{mistral-DUKMgFL1.cjs → mistral-DuG294d1.cjs} +2 -2
- package/dist/{mistral-DUKMgFL1.cjs.map → mistral-DuG294d1.cjs.map} +1 -1
- package/dist/{sse-Ba5sWI6l.mjs → sse-BBd2aLiw.mjs} +2 -2
- package/dist/{sse-Ba5sWI6l.mjs.map → sse-BBd2aLiw.mjs.map} +1 -1
- package/dist/{sse-jvB09Ct-.cjs → sse-DCsg_ELF.cjs} +2 -2
- package/dist/{sse-jvB09Ct-.cjs.map → sse-DCsg_ELF.cjs.map} +1 -1
- package/dist/trigger.cjs +1 -1
- package/dist/trigger.d.cts +1 -1
- package/dist/trigger.d.mts +1 -1
- package/dist/trigger.mjs +1 -1
- package/dist/workflow.cjs +1 -1
- package/dist/workflow.mjs +1 -1
- package/package.json +1 -1
- package/dist/dist-DFXV_Io5.cjs.map +0 -1
- package/dist/dist-DM1Na5CA.mjs.map +0 -1
- package/dist/index-BbwuSuxl.d.mts.map +0 -1
- package/dist/index-DaxRr-x9.d.cts.map +0 -1
package/dist/agent.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { l as ThinkingLevel, u as getModel } from "./index-Dr-3nl0A.cjs";
|
|
2
|
-
import { A as loadAssetManifest, B as runLlm, C as createAgent, D as errorMessage, E as defineTool, F as resolveAgentAssets, G as AgentModelIdSchema, H as AgentCreateInput, I as resolveAgentId, J as parseAgentCreateInput, K as DEFAULT_THINKING_LEVEL, L as resolveAgentTools, M as normalizeAgentDefinition, N as prepareAgentSession, O as forceToolChoice, P as prompt, R as resolveAgentWorkspaceRoot, S as buildAgentRuntime, T as defineSubagentTool, U as AgentCreateInputSchema, V as snapshot, W as AgentModelId, X as resolveThinkingLevel, Y as resolveAgentModel, _ as SessionAgentMismatchError, a as AgentDefinitionInput, b as SubagentToolInherit, c as BuildAgentRuntimeContext, d as PromptInput, f as PromptResponse, g as SandboxedAgentRuntime, h as SUBAGENT_TOOL, i as AgentDefinition, j as messages, k as getSubagentToolMetadata, l as DefineSubagentToolInput, m as RunAgentPromptOptions, n as AgentAssetInput, o as AgentRuntime, p as ResolvedAgentAssets, q as ThinkingLevelSchema, r as AgentConfig, s as AgentSnapshot, t as Agent, u as ForcedToolChoice, v as SubagentTool, w as defineAgent, x as SubagentToolMetadata, y as SubagentToolDetails, z as runAgentPrompt } from "./index-
|
|
2
|
+
import { A as loadAssetManifest, B as runLlm, C as createAgent, D as errorMessage, E as defineTool, F as resolveAgentAssets, G as AgentModelIdSchema, H as AgentCreateInput, I as resolveAgentId, J as parseAgentCreateInput, K as DEFAULT_THINKING_LEVEL, L as resolveAgentTools, M as normalizeAgentDefinition, N as prepareAgentSession, O as forceToolChoice, P as prompt, R as resolveAgentWorkspaceRoot, S as buildAgentRuntime, T as defineSubagentTool, U as AgentCreateInputSchema, V as snapshot, W as AgentModelId, X as resolveThinkingLevel, Y as resolveAgentModel, _ as SessionAgentMismatchError, a as AgentDefinitionInput, b as SubagentToolInherit, c as BuildAgentRuntimeContext, d as PromptInput, f as PromptResponse, g as SandboxedAgentRuntime, h as SUBAGENT_TOOL, i as AgentDefinition, j as messages, k as getSubagentToolMetadata, l as DefineSubagentToolInput, m as RunAgentPromptOptions, n as AgentAssetInput, o as AgentRuntime, p as ResolvedAgentAssets, q as ThinkingLevelSchema, r as AgentConfig, s as AgentSnapshot, t as Agent, u as ForcedToolChoice, v as SubagentTool, w as defineAgent, x as SubagentToolMetadata, y as SubagentToolDetails, z as runAgentPrompt } from "./index-DIm3_7or.cjs";
|
|
3
3
|
import { a as McpDefinition, c as McpServerOptions, d as McpTransport, f as connectMcpDefinition, g as isMcp, h as defineMcp, i as McpConnection, l as McpStdioOptions, m as connectMcpStdio, n as McpAuthOptions, o as McpDefinitionInput, p as connectMcpServer, r as McpCallToolOptions, s as McpHttpTransport, t as ToolCredentialResolver, u as McpStdioTransport } from "./index-CsGfxjDx.cjs";
|
|
4
4
|
export { type Agent, type AgentAssetInput, type AgentConfig, type AgentCreateInput, AgentCreateInputSchema, type AgentDefinition, type AgentDefinitionInput, type AgentModelId, AgentModelIdSchema, type AgentRuntime, type AgentSnapshot, type BuildAgentRuntimeContext, DEFAULT_THINKING_LEVEL, type DefineSubagentToolInput, type ForcedToolChoice, type McpAuthOptions, type McpCallToolOptions, type McpConnection, type McpDefinition, type McpDefinitionInput, type McpHttpTransport, type McpServerOptions, type McpStdioOptions, type McpStdioTransport, type McpTransport, type PromptInput, type PromptResponse, type ResolvedAgentAssets, type RunAgentPromptOptions, SUBAGENT_TOOL, type SandboxedAgentRuntime, SessionAgentMismatchError, type SubagentTool, type SubagentToolDetails, type SubagentToolInherit, type SubagentToolMetadata, type ThinkingLevel, ThinkingLevelSchema, type ToolCredentialResolver, buildAgentRuntime, connectMcpDefinition, connectMcpServer, connectMcpStdio, createAgent, defineAgent, defineMcp, defineSubagentTool, defineTool, errorMessage, forceToolChoice, getModel, getSubagentToolMetadata, isMcp, loadAssetManifest, messages, normalizeAgentDefinition, parseAgentCreateInput, prepareAgentSession, prompt, resolveAgentAssets, resolveAgentId, resolveAgentModel, resolveAgentTools, resolveAgentWorkspaceRoot, resolveThinkingLevel, runAgentPrompt, runLlm, snapshot };
|
package/dist/agent.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { l as ThinkingLevel, u as getModel } from "./index-0KyTNuR1.mjs";
|
|
2
|
-
import { A as loadAssetManifest, B as runLlm, C as createAgent, D as errorMessage, E as defineTool, F as resolveAgentAssets, G as AgentModelIdSchema, H as AgentCreateInput, I as resolveAgentId, J as parseAgentCreateInput, K as DEFAULT_THINKING_LEVEL, L as resolveAgentTools, M as normalizeAgentDefinition, N as prepareAgentSession, O as forceToolChoice, P as prompt, R as resolveAgentWorkspaceRoot, S as buildAgentRuntime, T as defineSubagentTool, U as AgentCreateInputSchema, V as snapshot, W as AgentModelId, X as resolveThinkingLevel, Y as resolveAgentModel, _ as SessionAgentMismatchError, a as AgentDefinitionInput, b as SubagentToolInherit, c as BuildAgentRuntimeContext, d as PromptInput, f as PromptResponse, g as SandboxedAgentRuntime, h as SUBAGENT_TOOL, i as AgentDefinition, j as messages, k as getSubagentToolMetadata, l as DefineSubagentToolInput, m as RunAgentPromptOptions, n as AgentAssetInput, o as AgentRuntime, p as ResolvedAgentAssets, q as ThinkingLevelSchema, r as AgentConfig, s as AgentSnapshot, t as Agent, u as ForcedToolChoice, v as SubagentTool, w as defineAgent, x as SubagentToolMetadata, y as SubagentToolDetails, z as runAgentPrompt } from "./index-
|
|
2
|
+
import { A as loadAssetManifest, B as runLlm, C as createAgent, D as errorMessage, E as defineTool, F as resolveAgentAssets, G as AgentModelIdSchema, H as AgentCreateInput, I as resolveAgentId, J as parseAgentCreateInput, K as DEFAULT_THINKING_LEVEL, L as resolveAgentTools, M as normalizeAgentDefinition, N as prepareAgentSession, O as forceToolChoice, P as prompt, R as resolveAgentWorkspaceRoot, S as buildAgentRuntime, T as defineSubagentTool, U as AgentCreateInputSchema, V as snapshot, W as AgentModelId, X as resolveThinkingLevel, Y as resolveAgentModel, _ as SessionAgentMismatchError, a as AgentDefinitionInput, b as SubagentToolInherit, c as BuildAgentRuntimeContext, d as PromptInput, f as PromptResponse, g as SandboxedAgentRuntime, h as SUBAGENT_TOOL, i as AgentDefinition, j as messages, k as getSubagentToolMetadata, l as DefineSubagentToolInput, m as RunAgentPromptOptions, n as AgentAssetInput, o as AgentRuntime, p as ResolvedAgentAssets, q as ThinkingLevelSchema, r as AgentConfig, s as AgentSnapshot, t as Agent, u as ForcedToolChoice, v as SubagentTool, w as defineAgent, x as SubagentToolMetadata, y as SubagentToolDetails, z as runAgentPrompt } from "./index-IVnunyAF.mjs";
|
|
3
3
|
import { a as McpDefinition, c as McpServerOptions, d as McpTransport, f as connectMcpDefinition, g as isMcp, h as defineMcp, i as McpConnection, l as McpStdioOptions, m as connectMcpStdio, n as McpAuthOptions, o as McpDefinitionInput, p as connectMcpServer, r as McpCallToolOptions, s as McpHttpTransport, t as ToolCredentialResolver, u as McpStdioTransport } from "./index-BAIg1_V_.mjs";
|
|
4
4
|
export { type Agent, type AgentAssetInput, type AgentConfig, type AgentCreateInput, AgentCreateInputSchema, type AgentDefinition, type AgentDefinitionInput, type AgentModelId, AgentModelIdSchema, type AgentRuntime, type AgentSnapshot, type BuildAgentRuntimeContext, DEFAULT_THINKING_LEVEL, type DefineSubagentToolInput, type ForcedToolChoice, type McpAuthOptions, type McpCallToolOptions, type McpConnection, type McpDefinition, type McpDefinitionInput, type McpHttpTransport, type McpServerOptions, type McpStdioOptions, type McpStdioTransport, type McpTransport, type PromptInput, type PromptResponse, type ResolvedAgentAssets, type RunAgentPromptOptions, SUBAGENT_TOOL, type SandboxedAgentRuntime, SessionAgentMismatchError, type SubagentTool, type SubagentToolDetails, type SubagentToolInherit, type SubagentToolMetadata, type ThinkingLevel, ThinkingLevelSchema, type ToolCredentialResolver, buildAgentRuntime, connectMcpDefinition, connectMcpServer, connectMcpStdio, createAgent, defineAgent, defineMcp, defineSubagentTool, defineTool, errorMessage, forceToolChoice, getModel, getSubagentToolMetadata, isMcp, loadAssetManifest, messages, normalizeAgentDefinition, parseAgentCreateInput, prepareAgentSession, prompt, resolveAgentAssets, resolveAgentId, resolveAgentModel, resolveAgentTools, resolveAgentWorkspaceRoot, resolveThinkingLevel, runAgentPrompt, runLlm, snapshot };
|
package/dist/agent.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { $ as Options, $t as IsMap, An as IsSymbol$1, At as Unreachable, Bn as __require, Bt as IsRef$1, Cn as IsMinLength$2, Ct as IsInteger$2, Dn as IsObject$1, Dt as IsCodec, En as IsNumber$1, Et as IsBigInt$2, Fn as Symbols, Ft as IsUnion, G as ensureWorkspaceDir, Gt as IsArray$2, Ht as IsFunction$2, In as guard_exports, It as Union, Jt as IsOptional, K as materializeSandbox, Kt as Base, Ln as __commonJSMin, Lt as IsObject$2, Mn as IsUnsafePropertyKey, Mt as IsEnum$1, Nn as IsValueLike, Nt as IsCyclic, On as IsObjectNotArray$1, Ot as Hash, Pn as Keys$1, Pt as Unknown, Q as Instantiate, Qt as Get$3, Rt as _Object_, Sn as IsMaxLength$2, St as IsIterator$2, Tn as IsNull$1, Tt as IsBoolean$2, Ut as IsConstructor$2, Vt as Ref$1, W as defineSandbox, Wt as IsAsyncIterator$2, X as resolveSandboxRoot, Xt as IsPromise, Yt as Optional, Z as Evaluate$1, Zt as IsSchema$1, _n as IsGreaterThan$1, _t as IsLiteralBigInt, a as createSandbox, an as EveryAll, at as RecordPattern, bn as IsLessEqualThan$1, bt as IsLiteralString, c as defineTool$1, cn as IsAsyncIterator$1, ct as EnumToUnion, d as resolveRunProvider, dn as IsClassInstance, dt as String$1, en as IsSet, et as Compare, fn as IsConstructor$1, ft as IsSymbol$2, gn as IsGreaterEqualThan$1, gt as IsLiteral, hn as IsFunction$1, ht as IsNull$2, i as createJustBashProvider, in as Every$1, it as IsRecord, jn as IsUndefined$1, jt as IsIntersect, kn as IsString$1, kt as hash_exports, ln as IsBigInt$1, lt as TemplateLiteralDecode, mn as IsEqual$1, mt as Number$1, nn as Entries$2, nt as IsVoid, o as defaultWorkspacesRoot, on as HasPropertyKey$1, ot as RecordValue, pn as IsDeepEqual$1, pt as IsNumber$2, q as packAssetDirs, qt as IsBase, r as createInvokeToolBridge, rn as EntriesRegExp, rt as IsUndefined$2, s as defineSkill, sn as IsArray$1, st as IsTuple, tn as IsTypeArray, tt as IsTemplateLiteral, u as materializeSkills, un as IsBoolean$1, ut as IsString$2, vn as IsInteger$1, vt as IsLiteralBoolean, wn as IsMultipleOf$1, wt as Boolean$1, xn as IsLessThan$1, xt as Literal, yn as IsIterator$1, yt as IsLiteralNumber, zn as __exportAll, zt as IsNever } from "./dist-Dv44b9V1.mjs";
|
|
2
|
-
import { T as toolParameters, c as isAction, f as resolveActionTool, o as getRunSignal, s as getWorkflowRunHandle, u as isWithinActionExecution } from "./dist-
|
|
2
|
+
import { T as toolParameters, c as isAction, f as resolveActionTool, o as getRunSignal, s as getWorkflowRunHandle, u as isWithinActionExecution } from "./dist-BIbZjRd7.mjs";
|
|
3
3
|
import "./env-api-keys-mjSaOeuP.mjs";
|
|
4
4
|
import { i as getModel, t as AssistantMessageEventStream } from "./event-stream-C7YBbzsc.mjs";
|
|
5
5
|
import "./json-parse-Drlv-g_X.mjs";
|
|
6
|
-
import { C as isMcp,
|
|
6
|
+
import { C as connectMcpDefinition, D as isMcp, E as defineMcp, S as withSpan, T as connectMcpStdio, _ as resolveRunSourceFromTraceContext, a as resolveActionCredentials, b as getTraceContext, c as appendEvent, d as finalizeAgentRunFromPrompt, f as getAgentByRoute, g as resolveAgentRunSourceFromSession, h as recordLlmUsageFromAssistantMessage, i as isCredentialError, l as createAgentRun, m as listMessageEvents, n as captureCredentialToolErrors, o as resolveMcpTools, p as getSession, r as createCredentialResolver, s as MESSAGE_EVENT_TYPE$1, t as buildCredentialRunContext, u as createSession, v as touchSession, w as connectMcpServer, y as captureConsole } from "./dist-DXzvN8aq.mjs";
|
|
7
7
|
import { createRequire } from "node:module";
|
|
8
8
|
import { z } from "zod";
|
|
9
9
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
@@ -900,7 +900,7 @@ function loadGoogleVertexProviderModule() {
|
|
|
900
900
|
return googleVertexProviderModulePromise;
|
|
901
901
|
}
|
|
902
902
|
function loadMistralProviderModule() {
|
|
903
|
-
mistralProviderModulePromise ||= import("./mistral-
|
|
903
|
+
mistralProviderModulePromise ||= import("./mistral-CDuUHkpO.mjs").then((module) => {
|
|
904
904
|
const provider = module;
|
|
905
905
|
return {
|
|
906
906
|
stream: provider.streamMistral,
|
|
@@ -13733,13 +13733,32 @@ function runWithinAgentPromptExecution(fn) {
|
|
|
13733
13733
|
function isWithinAgentPromptExecution() {
|
|
13734
13734
|
return executingAgentPrompt.getStore() === true;
|
|
13735
13735
|
}
|
|
13736
|
+
function llmUsageFromAssistantMessage(message) {
|
|
13737
|
+
const usage = message.usage;
|
|
13738
|
+
if (!usage) return null;
|
|
13739
|
+
return {
|
|
13740
|
+
label: message.responseModel ?? message.model ?? "unknown-model",
|
|
13741
|
+
quantity: usage.totalTokens,
|
|
13742
|
+
amount: usage.cost.total,
|
|
13743
|
+
metadata: {
|
|
13744
|
+
provider: message.provider,
|
|
13745
|
+
model: message.model,
|
|
13746
|
+
responseModel: message.responseModel ?? null,
|
|
13747
|
+
input: usage.input,
|
|
13748
|
+
output: usage.output,
|
|
13749
|
+
cacheRead: usage.cacheRead,
|
|
13750
|
+
cacheWrite: usage.cacheWrite,
|
|
13751
|
+
cost: usage.cost
|
|
13752
|
+
}
|
|
13753
|
+
};
|
|
13754
|
+
}
|
|
13736
13755
|
const SKIPPED_EVENT_TYPES = new Set(["message_update", "tool_execution_update"]);
|
|
13737
13756
|
function shouldPersistAgentEvent(event) {
|
|
13738
13757
|
return !SKIPPED_EVENT_TYPES.has(event.type);
|
|
13739
13758
|
}
|
|
13740
13759
|
async function persistSessionEvent(options) {
|
|
13741
|
-
const { sessionId, memoryConfig, eventType, payload } = options;
|
|
13742
|
-
const seq = await appendEvent(sessionId, eventType, payload);
|
|
13760
|
+
const { sessionId, runId, memoryConfig, eventType, payload } = options;
|
|
13761
|
+
const seq = await appendEvent(sessionId, eventType, payload, { runId });
|
|
13743
13762
|
if (memoryConfig) try {
|
|
13744
13763
|
await appendSessionLine(memoryConfig, sessionId, {
|
|
13745
13764
|
seq,
|
|
@@ -13752,15 +13771,19 @@ async function persistSessionEvent(options) {
|
|
|
13752
13771
|
}
|
|
13753
13772
|
return seq;
|
|
13754
13773
|
}
|
|
13755
|
-
async function persistAgentEvent(sessionId, event,
|
|
13774
|
+
async function persistAgentEvent(sessionId, event, options) {
|
|
13775
|
+
const runId = options?.runId ?? null;
|
|
13776
|
+
const memoryConfig = options?.memoryConfig;
|
|
13756
13777
|
await persistSessionEvent({
|
|
13757
13778
|
sessionId,
|
|
13779
|
+
runId,
|
|
13758
13780
|
memoryConfig,
|
|
13759
13781
|
eventType: event.type,
|
|
13760
13782
|
payload: event
|
|
13761
13783
|
});
|
|
13762
13784
|
if (event.type === "message_end") await persistSessionEvent({
|
|
13763
13785
|
sessionId,
|
|
13786
|
+
runId,
|
|
13764
13787
|
memoryConfig,
|
|
13765
13788
|
eventType: MESSAGE_EVENT_TYPE$1,
|
|
13766
13789
|
payload: event.message
|
|
@@ -13778,49 +13801,93 @@ async function prepareAgentSession(agentId, sessionId, options) {
|
|
|
13778
13801
|
async function runAgentPrompt(agent, agentId, input, options = {}) {
|
|
13779
13802
|
const { sessionId } = await prepareAgentSession(agentId, input.sessionId);
|
|
13780
13803
|
const priorMessages = await listMessageEvents(sessionId);
|
|
13804
|
+
const runSource = await resolveAgentRunSourceFromSession(sessionId);
|
|
13805
|
+
const runId = await createAgentRun({
|
|
13806
|
+
sessionId,
|
|
13807
|
+
agentId,
|
|
13808
|
+
sourceKind: runSource.sourceKind,
|
|
13809
|
+
sourceId: runSource.sourceId,
|
|
13810
|
+
ranByUserId: runSource.ranByUserId
|
|
13811
|
+
});
|
|
13781
13812
|
const runPrompt = async () => {
|
|
13782
|
-
|
|
13783
|
-
|
|
13784
|
-
|
|
13785
|
-
|
|
13786
|
-
|
|
13787
|
-
...options,
|
|
13788
|
-
credentials: buildCredentialRunContext({ request: {
|
|
13789
|
-
...options.credentials,
|
|
13790
|
-
...input.context
|
|
13791
|
-
} })
|
|
13792
|
-
});
|
|
13793
|
-
const memoryConfig = runtime.memory?.config;
|
|
13794
|
-
const unsubscribe = runtime.pi.subscribe(async (event) => {
|
|
13795
|
-
if (!shouldPersistAgentEvent(event)) return;
|
|
13796
|
-
await persistAgentEvent(sessionId, event, memoryConfig);
|
|
13797
|
-
});
|
|
13813
|
+
let promptError = null;
|
|
13814
|
+
let runtime;
|
|
13815
|
+
let unsubscribe;
|
|
13816
|
+
let onAbort;
|
|
13817
|
+
const pendingHandlers = /* @__PURE__ */ new Set();
|
|
13798
13818
|
const signal = getRunSignal();
|
|
13799
|
-
const onAbort = () => runtime.pi.abort();
|
|
13800
|
-
if (signal.aborted) onAbort();
|
|
13801
|
-
else signal.addEventListener("abort", onAbort, { once: true });
|
|
13802
13819
|
try {
|
|
13803
|
-
|
|
13804
|
-
|
|
13820
|
+
runtime = await agent.buildRuntime({
|
|
13821
|
+
agentId,
|
|
13822
|
+
sessionId,
|
|
13823
|
+
messages: priorMessages
|
|
13824
|
+
}, {
|
|
13825
|
+
...options,
|
|
13826
|
+
credentials: buildCredentialRunContext({ request: {
|
|
13827
|
+
...options.credentials,
|
|
13828
|
+
...input.context
|
|
13829
|
+
} })
|
|
13830
|
+
});
|
|
13831
|
+
const activeRuntime = runtime;
|
|
13832
|
+
const memoryConfig = activeRuntime.memory?.config;
|
|
13833
|
+
unsubscribe = activeRuntime.pi.subscribe((event) => {
|
|
13834
|
+
if (!shouldPersistAgentEvent(event)) return;
|
|
13835
|
+
const tracked = (async () => {
|
|
13836
|
+
await persistAgentEvent(sessionId, event, {
|
|
13837
|
+
runId,
|
|
13838
|
+
memoryConfig
|
|
13839
|
+
});
|
|
13840
|
+
if (event.type === "message_end" && event.message.role === "assistant") {
|
|
13841
|
+
const usage = llmUsageFromAssistantMessage(event.message);
|
|
13842
|
+
if (usage) await recordLlmUsageFromAssistantMessage({
|
|
13843
|
+
runId,
|
|
13844
|
+
usage
|
|
13845
|
+
});
|
|
13846
|
+
}
|
|
13847
|
+
})().finally(() => {
|
|
13848
|
+
pendingHandlers.delete(tracked);
|
|
13849
|
+
});
|
|
13850
|
+
pendingHandlers.add(tracked);
|
|
13851
|
+
return tracked;
|
|
13852
|
+
});
|
|
13853
|
+
onAbort = () => activeRuntime.pi.abort();
|
|
13854
|
+
if (signal.aborted) onAbort();
|
|
13855
|
+
else signal.addEventListener("abort", onAbort, { once: true });
|
|
13856
|
+
const snapshot = await captureConsole(async () => prompt(activeRuntime, input.message));
|
|
13857
|
+
const credentialError = activeRuntime.takeCredentialError?.();
|
|
13805
13858
|
if (credentialError && isCredentialError(credentialError)) throw credentialError;
|
|
13806
13859
|
await touchSession(sessionId);
|
|
13807
13860
|
return {
|
|
13808
13861
|
sessionId,
|
|
13862
|
+
runId,
|
|
13809
13863
|
messages: messages(snapshot),
|
|
13810
13864
|
error: errorMessage(snapshot) ?? null,
|
|
13811
13865
|
canceled: signal.aborted
|
|
13812
13866
|
};
|
|
13867
|
+
} catch (error) {
|
|
13868
|
+
promptError = error;
|
|
13869
|
+
throw error;
|
|
13813
13870
|
} finally {
|
|
13814
|
-
signal.removeEventListener("abort", onAbort);
|
|
13815
|
-
unsubscribe();
|
|
13816
|
-
|
|
13817
|
-
|
|
13818
|
-
|
|
13819
|
-
|
|
13820
|
-
|
|
13821
|
-
|
|
13822
|
-
|
|
13823
|
-
|
|
13871
|
+
if (onAbort) signal.removeEventListener("abort", onAbort);
|
|
13872
|
+
unsubscribe?.();
|
|
13873
|
+
await Promise.allSettled([...pendingHandlers]);
|
|
13874
|
+
if (runtime) {
|
|
13875
|
+
try {
|
|
13876
|
+
runtime.memory?.reindexSessions();
|
|
13877
|
+
} catch (err) {
|
|
13878
|
+
console.error("[memory] session reindex failed:", err);
|
|
13879
|
+
}
|
|
13880
|
+
runtime.memory?.close();
|
|
13881
|
+
await Promise.all(runtime.mcpConnections.map((connection) => connection.close()));
|
|
13882
|
+
await runtime.sandbox.dispose();
|
|
13883
|
+
}
|
|
13884
|
+
const finishedAt = /* @__PURE__ */ new Date();
|
|
13885
|
+
await finalizeAgentRunFromPrompt({
|
|
13886
|
+
runId,
|
|
13887
|
+
status: promptError ? "failed" : signal.aborted ? "canceled" : "completed",
|
|
13888
|
+
error: promptError,
|
|
13889
|
+
finishedAt
|
|
13890
|
+
});
|
|
13824
13891
|
}
|
|
13825
13892
|
};
|
|
13826
13893
|
if (options.skipAgentSessionSpan) return runWithinAgentPromptExecution(runPrompt);
|
|
@@ -14236,7 +14303,11 @@ function resolvePromptReasoning(thinkingLevel) {
|
|
|
14236
14303
|
function formatValidationError(error) {
|
|
14237
14304
|
return error instanceof Error ? error.message : String(error);
|
|
14238
14305
|
}
|
|
14239
|
-
async function
|
|
14306
|
+
async function recordUsageFromMessage(message, hooks) {
|
|
14307
|
+
const usage = llmUsageFromAssistantMessage(message);
|
|
14308
|
+
if (usage) await hooks?.onUsage?.(usage);
|
|
14309
|
+
}
|
|
14310
|
+
async function runPromptText(opts, hooks) {
|
|
14240
14311
|
const model = resolvePromptModel(opts.model);
|
|
14241
14312
|
const reasoning = resolvePromptReasoning(opts.thinkingLevel);
|
|
14242
14313
|
const message = await completeSimple(model, {
|
|
@@ -14252,9 +14323,10 @@ async function runPromptText(opts) {
|
|
|
14252
14323
|
...opts.maxTokens !== void 0 ? { maxTokens: opts.maxTokens } : {}
|
|
14253
14324
|
});
|
|
14254
14325
|
if (message.stopReason === "error") throw new Error(message.errorMessage ?? "LLM request failed");
|
|
14326
|
+
await recordUsageFromMessage(message, hooks);
|
|
14255
14327
|
return extractText(message);
|
|
14256
14328
|
}
|
|
14257
|
-
async function runPromptObject(opts) {
|
|
14329
|
+
async function runPromptObject(opts, hooks) {
|
|
14258
14330
|
const schema = opts.outputSchema;
|
|
14259
14331
|
if (!schema) throw new Error("outputSchema is required for structured LLM output");
|
|
14260
14332
|
const model = resolvePromptModel(opts.model);
|
|
@@ -14284,6 +14356,7 @@ async function runPromptObject(opts) {
|
|
|
14284
14356
|
...toolChoice !== void 0 ? { toolChoice } : {}
|
|
14285
14357
|
});
|
|
14286
14358
|
if (message.stopReason === "error") throw new Error(message.errorMessage ?? "LLM request failed");
|
|
14359
|
+
await recordUsageFromMessage(message, hooks);
|
|
14287
14360
|
toolCall = extractToolCall(message);
|
|
14288
14361
|
if (!toolCall) throw new Error("Model did not return a tool call");
|
|
14289
14362
|
return schema.parse(unwrap(toolCall.arguments));
|
|
@@ -14312,9 +14385,9 @@ async function runPromptObject(opts) {
|
|
|
14312
14385
|
throw lastError instanceof Error ? lastError : new Error(String(lastError));
|
|
14313
14386
|
}
|
|
14314
14387
|
/** One-shot LLM generation for workflow `promptLlm` steps (pi-ai transport). */
|
|
14315
|
-
async function runLlm(opts) {
|
|
14316
|
-
if (opts.outputSchema) return runPromptObject(opts);
|
|
14317
|
-
return runPromptText(opts);
|
|
14388
|
+
async function runLlm(opts, hooks) {
|
|
14389
|
+
if (opts.outputSchema) return runPromptObject(opts, hooks);
|
|
14390
|
+
return runPromptText(opts, hooks);
|
|
14318
14391
|
}
|
|
14319
14392
|
//#endregion
|
|
14320
14393
|
export { AgentCreateInputSchema, AgentModelIdSchema, DEFAULT_THINKING_LEVEL, SUBAGENT_TOOL, SessionAgentMismatchError, ThinkingLevelSchema, buildAgentRuntime, connectMcpDefinition, connectMcpServer, connectMcpStdio, createAgent, defineAgent, defineMcp, defineSubagentTool, defineTool, errorMessage, forceToolChoice, getModel, getSubagentToolMetadata, isMcp, loadAssetManifest, messages, normalizeAgentDefinition, parseAgentCreateInput, prepareAgentSession, prompt, resolveAgentAssets, resolveAgentId, resolveAgentModel, resolveAgentTools, resolveAgentWorkspaceRoot, resolveThinkingLevel, runAgentPrompt, runLlm, snapshot };
|