kortyx 0.26.0 → 0.27.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/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.27.0](https://github.com/kortyx-io/kortyx/compare/kortyx-v0.26.0...kortyx-v0.27.0) (2026-10-03)
4
+
5
+
6
+ ### Features
7
+
8
+ * **evals:** run conversation suites from Studio and CLI ([#251](https://github.com/kortyx-io/kortyx/issues/251)) ([e653c91](https://github.com/kortyx-io/kortyx/commit/e653c9188d2fad4da0c75e79d090a8dedb639b92))
9
+
10
+
11
+ ### Dependencies
12
+
13
+ * The following workspace dependencies were updated
14
+ * dependencies
15
+ * @kortyx/agent bumped to 0.29.0
16
+ * @kortyx/cli bumped to 0.12.0
17
+ * @kortyx/hooks bumped to 0.30.1
18
+ * @kortyx/runtime bumped to 0.21.5
19
+
3
20
  ## [0.26.0](https://github.com/kortyx-io/kortyx/compare/kortyx-v0.25.0...kortyx-v0.26.0) (2026-09-30)
4
21
 
5
22
 
package/README.md CHANGED
@@ -188,6 +188,7 @@ GOOGLE_API_KEY=your_key_here pnpm dev
188
188
  | Area | Exports |
189
189
  | --- | --- |
190
190
  | Agent | `createAgent`, `createChatRouteHandler`, `streamChatFromRoute` |
191
+ | Evals | `createEvals`, `defineSuite`, `createEvalJudge`, `createStudioEvalJudge`, `EvalSuiteSchema`, `parseEvalSuite` |
191
192
  | Workflows | `defineWorkflow`, `loadWorkflow`, `validateWorkflow` |
192
193
  | Hooks | `useReason`, `useInterrupt`, `useStructuredData`, `useNodeState`, `useWorkflowState`, `useRuntimeContext` |
193
194
  | Runtime | workflow registries, node registry, in-memory/Redis framework adapters |
@@ -209,6 +210,7 @@ Install only the provider integrations your app needs.
209
210
 
210
211
  ## Documentation
211
212
 
213
+ - [Conversation evals: SDK runner](https://github.com/kortyx-io/kortyx/blob/main/docs/evals/sdk-runner.md)
212
214
  - [Monorepo](https://github.com/kortyx-io/kortyx)
213
215
  - [Documentation](https://kortyx.io/docs)
214
216
  - [Package overview](https://kortyx.io/docs/reference/package-overview)
package/dist/browser.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from '@kortyx/core/errors';
2
2
  export { StreamChatFromRouteArgs, streamChatFromRoute } from '@kortyx/agent/browser';
3
3
  export { ConsumeStreamHandlers, FinalizedChatContentPiece, FinalizedChatMessage, StreamChunk, StreamFromRouteArgs, StructuredDataChunk, StructuredStreamAccumulator, StructuredStreamState, applyStructuredChunk, consumeStream, createFinalizedChatMessageAccumulator, createStructuredStreamAccumulator, projectInterruptPiece, readStream, reduceStructuredChunks, streamFromRoute } from '@kortyx/stream/browser';
4
+ import '@kortyx/agent/evals';
4
5
  import '@kortyx/agent';
5
6
  import '@kortyx/core';
6
7
  import '@kortyx/hooks';
@@ -0,0 +1 @@
1
+ export * from '@kortyx/agent/evals';
package/dist/evals.js ADDED
@@ -0,0 +1,24 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+
16
+ // src/evals.ts
17
+ var evals_exports = {};
18
+ module.exports = __toCommonJS(evals_exports);
19
+ __reExport(evals_exports, require("@kortyx/agent/evals"), module.exports);
20
+ // Annotate the CommonJS export names for ESM import in node:
21
+ 0 && (module.exports = {
22
+ ...require("@kortyx/agent/evals")
23
+ });
24
+ //# sourceMappingURL=evals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/evals.ts"],"sourcesContent":["export * from \"@kortyx/agent/evals\";\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,0BAAc,gCAAd;","names":[]}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
+ export { Agent, AgentProcessOptions, ChatLifecycleErrorEvent, ChatLifecycleHookError, ChatLifecyclePhase, ChatRequestBody, ChatResponseFinalized, ChatResponseStatus, ChatRouteHandlerOptions, CheckpointRequestBody, CheckpointRouteHandlerOptions, CreateAgentArgs, CreateEvalsOptions, EvalCase, EvalCaseResult, EvalCommand, EvalConfigurationError, EvalContext, EvalCriterion, EvalCriterionResult, EvalDefaults, EvalExecution, EvalExpectation, EvalGradeInput, EvalHandlerRef, EvalInterrupt, EvalIssue, EvalJson, EvalJudge, EvalJudgeOptions, EvalJudgeUsage, EvalObservation, EvalOutputExpectation, EvalPhase, EvalProgress, EvalResponder, EvalRunOptions, EvalRunResult, EvalRunner, EvalSetupContext, EvalStatus, EvalStep, EvalStepResult, EvalSuite, EvalSuiteSchema, EvalVerdict, ExecutableWorkflow, ExecuteOptions, ExecutionInfo, ExecutionInterrupt, ExecutionRequestError, ExecutionResult, InterruptScope, ListInterruptsOptions, PendingInterrupt, ResumableInterrupt, ResumeHandle, ResumeOptions, ResumeResponse, StreamChatFromRouteArgs, StudioEvalJudgeOptions, createAgent, createChatRouteHandler, createCheckpointRouteHandler, createEvalJudge, createEvalRouteHandler, createEvals, createFailureResponse, createStudioEvalJudge, defineSuite, getEvalSuiteRevision, handleChatRequestBody, handleCheckpointRequestBody, parseChatRequestBody, parseCheckpointRequestBody, parseEvalSuite, readRequestJson, streamChatFromRoute } from '@kortyx/agent';
1
2
  export * from '@kortyx/core/errors';
2
- export { Agent, AgentProcessOptions, ChatLifecycleErrorEvent, ChatLifecycleHookError, ChatLifecyclePhase, ChatRequestBody, ChatResponseFinalized, ChatResponseStatus, ChatRouteHandlerOptions, CheckpointRequestBody, CheckpointRouteHandlerOptions, CreateAgentArgs, ExecutableWorkflow, ExecuteOptions, ExecutionInfo, ExecutionInterrupt, ExecutionRequestError, ExecutionResult, InterruptScope, ListInterruptsOptions, PendingInterrupt, ResumableInterrupt, ResumeHandle, ResumeOptions, ResumeResponse, StreamChatFromRouteArgs, createAgent, createChatRouteHandler, createCheckpointRouteHandler, createFailureResponse, handleChatRequestBody, handleCheckpointRequestBody, parseChatRequestBody, parseCheckpointRequestBody, readRequestJson, streamChatFromRoute } from '@kortyx/agent';
3
3
  export { ExecutionLimit, ExecutionLimitReached, ExecutionLimits, GraphState, NodeConfig, NodeContext, NodeFn, NodeHandler, NodeResult, RuntimeEnvelope, WorkflowDefinition, WorkflowId, defineWorkflow, loadWorkflow, validateWorkflow } from '@kortyx/core';
4
4
  export { CompleteResponseOptions, EnsureWorkflowTopologyRequest, EnsureWorkflowTopologyResponse, InterruptContract, InterruptContractMap, InterruptHistoryEntry, KortyxErrorDetails, KortyxTelemetryConfig, KortyxTelemetryContentCapture, KortyxTelemetryCorrelation, KortyxTelemetryEvent, KortyxTelemetryEventType, KortyxTelemetryPrompt, KortyxTelemetryReporter, KortyxTelemetryService, KortyxTraceAdapter, KortyxTraceErrorProjection, KortyxTraceMetadata, OutputContract, OutputContractEntry, OutputContractMap, ParallelError, ReportErrorOptions, UseContractInterruptArgs, UseContractStructuredDataArgs, UseInterruptArgs, UseReasonArgs, UseReasonInterruptConfig, UseReasonInterruptsConfig, UseReasonOutputsConfig, UseReasonResult, UseReasonStep, UseReasonToolExecution, UseStructuredDataArgs, UseToolArgs, WorkflowCallError, completeResponse, createWorkflowHooks, defineInterruptContract, defineOutputContract, parallel, reportError, useAbortSignal, useInterrupt, useNodeState, useReason, useRuntimeContext, useStructuredData, useTool, useWorkflow, useWorkflowState } from '@kortyx/hooks';
5
5
  export { CreateMCPClientArgs, MCPClient, McpToolsArgs, McpTransportConfig, createMCPClient } from '@kortyx/mcp';
package/dist/index.js CHANGED
@@ -20,8 +20,10 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/index.ts
21
21
  var index_exports = {};
22
22
  __export(index_exports, {
23
- ChatLifecycleHookError: () => import_agent.ChatLifecycleHookError,
24
- ExecutionRequestError: () => import_agent.ExecutionRequestError,
23
+ ChatLifecycleHookError: () => import_agent2.ChatLifecycleHookError,
24
+ EvalConfigurationError: () => import_agent.EvalConfigurationError,
25
+ EvalSuiteSchema: () => import_agent.EvalSuiteSchema,
26
+ ExecutionRequestError: () => import_agent2.ExecutionRequestError,
25
27
  ParallelError: () => import_hooks.ParallelError,
26
28
  WorkflowCallError: () => import_hooks.WorkflowCallError,
27
29
  applyStructuredChunk: () => import_stream.applyStructuredChunk,
@@ -30,11 +32,14 @@ __export(index_exports, {
30
32
  collectStream: () => import_stream.collectStream,
31
33
  completeResponse: () => import_hooks.completeResponse,
32
34
  consumeStream: () => import_stream.consumeStream,
33
- createAgent: () => import_agent.createAgent,
35
+ createAgent: () => import_agent2.createAgent,
34
36
  createCachingFrameworkAdapter: () => import_runtime.createCachingFrameworkAdapter,
35
- createChatRouteHandler: () => import_agent.createChatRouteHandler,
36
- createCheckpointRouteHandler: () => import_agent.createCheckpointRouteHandler,
37
- createFailureResponse: () => import_agent.createFailureResponse,
37
+ createChatRouteHandler: () => import_agent2.createChatRouteHandler,
38
+ createCheckpointRouteHandler: () => import_agent2.createCheckpointRouteHandler,
39
+ createEvalJudge: () => import_agent.createEvalJudge,
40
+ createEvalRouteHandler: () => import_agent.createEvalRouteHandler,
41
+ createEvals: () => import_agent.createEvals,
42
+ createFailureResponse: () => import_agent2.createFailureResponse,
38
43
  createFileWorkflowRegistry: () => import_runtime.createFileWorkflowRegistry,
39
44
  createFinalizedChatMessageAccumulator: () => import_stream.createFinalizedChatMessageAccumulator,
40
45
  createFrameworkAdapterFromEnv: () => import_runtime.createFrameworkAdapterFromEnv,
@@ -45,25 +50,29 @@ __export(index_exports, {
45
50
  createRedisFrameworkAdapter: () => import_runtime.createRedisFrameworkAdapter,
46
51
  createStreamResponse: () => import_stream.createStreamResponse,
47
52
  createStructuredStreamAccumulator: () => import_stream.createStructuredStreamAccumulator,
53
+ createStudioEvalJudge: () => import_agent.createStudioEvalJudge,
48
54
  createWorkflowHooks: () => import_hooks.createWorkflowHooks,
49
55
  defineInterruptContract: () => import_hooks.defineInterruptContract,
50
56
  defineOutputContract: () => import_hooks.defineOutputContract,
57
+ defineSuite: () => import_agent.defineSuite,
51
58
  defineWorkflow: () => import_core.defineWorkflow,
59
+ getEvalSuiteRevision: () => import_agent.getEvalSuiteRevision,
52
60
  getRegisteredNode: () => import_runtime.getRegisteredNode,
53
- handleChatRequestBody: () => import_agent.handleChatRequestBody,
54
- handleCheckpointRequestBody: () => import_agent.handleCheckpointRequestBody,
61
+ handleChatRequestBody: () => import_agent2.handleChatRequestBody,
62
+ handleCheckpointRequestBody: () => import_agent2.handleCheckpointRequestBody,
55
63
  listRegisteredNodes: () => import_runtime.listRegisteredNodes,
56
64
  loadWorkflow: () => import_core.loadWorkflow,
57
65
  parallel: () => import_hooks.parallel,
58
- parseChatRequestBody: () => import_agent.parseChatRequestBody,
59
- parseCheckpointRequestBody: () => import_agent.parseCheckpointRequestBody,
66
+ parseChatRequestBody: () => import_agent2.parseChatRequestBody,
67
+ parseCheckpointRequestBody: () => import_agent2.parseCheckpointRequestBody,
68
+ parseEvalSuite: () => import_agent.parseEvalSuite,
60
69
  projectInterruptPiece: () => import_stream.projectInterruptPiece,
61
- readRequestJson: () => import_agent.readRequestJson,
70
+ readRequestJson: () => import_agent2.readRequestJson,
62
71
  readStream: () => import_stream.readStream,
63
72
  reduceStructuredChunks: () => import_stream.reduceStructuredChunks,
64
73
  registerNode: () => import_runtime.registerNode,
65
74
  reportError: () => import_hooks.reportError,
66
- streamChatFromRoute: () => import_agent.streamChatFromRoute,
75
+ streamChatFromRoute: () => import_agent2.streamChatFromRoute,
67
76
  summarizeStreamChunks: () => import_stream.summarizeStreamChunks,
68
77
  toSSE: () => import_stream.toSSE,
69
78
  useAbortSignal: () => import_hooks.useAbortSignal,
@@ -78,8 +87,9 @@ __export(index_exports, {
78
87
  validateWorkflow: () => import_core.validateWorkflow
79
88
  });
80
89
  module.exports = __toCommonJS(index_exports);
81
- __reExport(index_exports, require("@kortyx/core/errors"), module.exports);
82
90
  var import_agent = require("@kortyx/agent");
91
+ __reExport(index_exports, require("@kortyx/core/errors"), module.exports);
92
+ var import_agent2 = require("@kortyx/agent");
83
93
  var import_core = require("@kortyx/core");
84
94
  var import_hooks = require("@kortyx/hooks");
85
95
  var import_mcp = require("@kortyx/mcp");
@@ -89,6 +99,8 @@ var import_stream = require("@kortyx/stream");
89
99
  // Annotate the CommonJS export names for ESM import in node:
90
100
  0 && (module.exports = {
91
101
  ChatLifecycleHookError,
102
+ EvalConfigurationError,
103
+ EvalSuiteSchema,
92
104
  ExecutionRequestError,
93
105
  ParallelError,
94
106
  WorkflowCallError,
@@ -102,6 +114,9 @@ var import_stream = require("@kortyx/stream");
102
114
  createCachingFrameworkAdapter,
103
115
  createChatRouteHandler,
104
116
  createCheckpointRouteHandler,
117
+ createEvalJudge,
118
+ createEvalRouteHandler,
119
+ createEvals,
105
120
  createFailureResponse,
106
121
  createFileWorkflowRegistry,
107
122
  createFinalizedChatMessageAccumulator,
@@ -113,10 +128,13 @@ var import_stream = require("@kortyx/stream");
113
128
  createRedisFrameworkAdapter,
114
129
  createStreamResponse,
115
130
  createStructuredStreamAccumulator,
131
+ createStudioEvalJudge,
116
132
  createWorkflowHooks,
117
133
  defineInterruptContract,
118
134
  defineOutputContract,
135
+ defineSuite,
119
136
  defineWorkflow,
137
+ getEvalSuiteRevision,
120
138
  getRegisteredNode,
121
139
  handleChatRequestBody,
122
140
  handleCheckpointRequestBody,
@@ -125,6 +143,7 @@ var import_stream = require("@kortyx/stream");
125
143
  parallel,
126
144
  parseChatRequestBody,
127
145
  parseCheckpointRequestBody,
146
+ parseEvalSuite,
128
147
  projectInterruptPiece,
129
148
  readRequestJson,
130
149
  readStream,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from \"@kortyx/core/errors\";\n// release-test: 2026-01-22\n// Public DX surface for the Kortyx framework.\n\nexport type {\n Agent,\n AgentProcessOptions,\n ChatLifecycleErrorEvent,\n ChatLifecyclePhase,\n ChatRequestBody,\n ChatResponseFinalized,\n ChatResponseStatus,\n ChatRouteHandlerOptions,\n CheckpointRequestBody,\n CheckpointRouteHandlerOptions,\n CreateAgentArgs,\n ExecutableWorkflow,\n ExecuteOptions,\n ExecutionInfo,\n ExecutionInterrupt,\n ExecutionResult,\n InterruptScope,\n ListInterruptsOptions,\n PendingInterrupt,\n ResumableInterrupt,\n ResumeHandle,\n ResumeOptions,\n ResumeResponse,\n StreamChatFromRouteArgs,\n} from \"@kortyx/agent\";\nexport {\n ChatLifecycleHookError,\n createAgent,\n createChatRouteHandler,\n createCheckpointRouteHandler,\n createFailureResponse,\n ExecutionRequestError,\n handleChatRequestBody,\n handleCheckpointRequestBody,\n parseChatRequestBody,\n parseCheckpointRequestBody,\n readRequestJson,\n streamChatFromRoute,\n} from \"@kortyx/agent\";\nexport type {\n ExecutionLimit,\n ExecutionLimitReached,\n ExecutionLimits,\n GraphState,\n NodeConfig,\n NodeContext,\n NodeFn,\n NodeHandler,\n NodeResult,\n RuntimeEnvelope,\n WorkflowDefinition,\n WorkflowId,\n} from \"@kortyx/core\";\nexport { defineWorkflow, loadWorkflow, validateWorkflow } from \"@kortyx/core\";\nexport type {\n EnsureWorkflowTopologyRequest,\n EnsureWorkflowTopologyResponse,\n InterruptContract,\n InterruptContractMap,\n InterruptHistoryEntry,\n KortyxErrorDetails,\n KortyxTelemetryConfig,\n KortyxTelemetryContentCapture,\n KortyxTelemetryCorrelation,\n KortyxTelemetryEvent,\n KortyxTelemetryEventType,\n KortyxTelemetryPrompt,\n KortyxTelemetryReporter,\n KortyxTelemetryService,\n KortyxTraceAdapter,\n KortyxTraceErrorProjection,\n KortyxTraceMetadata,\n OutputContract,\n OutputContractEntry,\n OutputContractMap,\n ReportErrorOptions,\n UseContractInterruptArgs,\n UseContractStructuredDataArgs,\n UseInterruptArgs,\n UseReasonArgs,\n UseReasonInterruptConfig,\n UseReasonInterruptsConfig,\n UseReasonOutputsConfig,\n UseReasonResult,\n UseReasonStep,\n UseReasonToolExecution,\n UseStructuredDataArgs,\n UseToolArgs,\n} from \"@kortyx/hooks\";\nexport {\n type CompleteResponseOptions,\n completeResponse,\n createWorkflowHooks,\n defineInterruptContract,\n defineOutputContract,\n ParallelError,\n parallel,\n reportError,\n useAbortSignal,\n useInterrupt,\n useNodeState,\n useReason,\n useRuntimeContext,\n useStructuredData,\n useTool,\n useWorkflow,\n useWorkflowState,\n WorkflowCallError,\n} from \"@kortyx/hooks\";\nexport type {\n CreateMCPClientArgs,\n MCPClient,\n McpToolsArgs,\n McpTransportConfig,\n} from \"@kortyx/mcp\";\nexport { createMCPClient } from \"@kortyx/mcp\";\nexport * from \"@kortyx/providers\";\nexport type {\n CreateCachingFrameworkAdapterOptions,\n CreatePostgresFrameworkAdapterOptions,\n FrameworkAdapter,\n ManagedFrameworkAdapter,\n PostgresFrameworkAdapter,\n PruneRuntimeOptions,\n PruneRuntimeResult,\n RuntimeMaintenance,\n RuntimeRetentionPolicy,\n WorkflowRegistry,\n} from \"@kortyx/runtime\";\nexport {\n clearRegisteredNodes,\n createCachingFrameworkAdapter,\n createFileWorkflowRegistry,\n createFrameworkAdapterFromEnv,\n createInMemoryFrameworkAdapter,\n createInMemoryWorkflowRegistry,\n createPostgresFrameworkAdapter,\n createRedisFrameworkAdapter,\n getRegisteredNode,\n listRegisteredNodes,\n registerNode,\n} from \"@kortyx/runtime\";\nexport type {\n BufferedStreamResult,\n ConsumeStreamHandlers,\n FinalizedChatContentPiece,\n FinalizedChatMessage,\n StreamChunk,\n StructuredDataChunk,\n StructuredStreamAccumulator,\n StructuredStreamState,\n} from \"@kortyx/stream\";\nexport {\n applyStructuredChunk,\n collectBufferedStream,\n collectStream,\n consumeStream,\n createFinalizedChatMessageAccumulator,\n createStreamResponse,\n createStructuredStreamAccumulator,\n projectInterruptPiece,\n readStream,\n reduceStructuredChunks,\n summarizeStreamChunks,\n toSSE,\n} from \"@kortyx/stream\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAAc,gCAAd;AA8BA,mBAaO;AAeP,kBAA+D;AAoC/D,mBAmBO;AAOP,iBAAgC;AAChC,0BAAc,8BAzHd;AAsIA,qBAYO;AAWP,oBAaO;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export type {\n CreateEvalsOptions,\n EvalCase,\n EvalCaseResult,\n EvalCommand,\n EvalContext,\n EvalCriterion,\n EvalCriterionResult,\n EvalDefaults,\n EvalExecution,\n EvalExpectation,\n EvalGradeInput,\n EvalHandlerRef,\n EvalInterrupt,\n EvalIssue,\n EvalJson,\n EvalJudge,\n EvalJudgeOptions,\n EvalJudgeUsage,\n EvalObservation,\n EvalOutputExpectation,\n EvalPhase,\n EvalProgress,\n EvalResponder,\n EvalRunner,\n EvalRunOptions,\n EvalRunResult,\n EvalSetupContext,\n EvalStatus,\n EvalStep,\n EvalStepResult,\n EvalSuite,\n EvalVerdict,\n StudioEvalJudgeOptions,\n} from \"@kortyx/agent\";\nexport {\n createEvalJudge,\n createEvalRouteHandler,\n createEvals,\n createStudioEvalJudge,\n defineSuite,\n EvalConfigurationError,\n EvalSuiteSchema,\n getEvalSuiteRevision,\n parseEvalSuite,\n} from \"@kortyx/agent\";\nexport * from \"@kortyx/core/errors\";\n// release-test: 2026-01-22\n// Public DX surface for the Kortyx framework.\n\nexport type {\n Agent,\n AgentProcessOptions,\n ChatLifecycleErrorEvent,\n ChatLifecyclePhase,\n ChatRequestBody,\n ChatResponseFinalized,\n ChatResponseStatus,\n ChatRouteHandlerOptions,\n CheckpointRequestBody,\n CheckpointRouteHandlerOptions,\n CreateAgentArgs,\n ExecutableWorkflow,\n ExecuteOptions,\n ExecutionInfo,\n ExecutionInterrupt,\n ExecutionResult,\n InterruptScope,\n ListInterruptsOptions,\n PendingInterrupt,\n ResumableInterrupt,\n ResumeHandle,\n ResumeOptions,\n ResumeResponse,\n StreamChatFromRouteArgs,\n} from \"@kortyx/agent\";\nexport {\n ChatLifecycleHookError,\n createAgent,\n createChatRouteHandler,\n createCheckpointRouteHandler,\n createFailureResponse,\n ExecutionRequestError,\n handleChatRequestBody,\n handleCheckpointRequestBody,\n parseChatRequestBody,\n parseCheckpointRequestBody,\n readRequestJson,\n streamChatFromRoute,\n} from \"@kortyx/agent\";\nexport type {\n ExecutionLimit,\n ExecutionLimitReached,\n ExecutionLimits,\n GraphState,\n NodeConfig,\n NodeContext,\n NodeFn,\n NodeHandler,\n NodeResult,\n RuntimeEnvelope,\n WorkflowDefinition,\n WorkflowId,\n} from \"@kortyx/core\";\nexport { defineWorkflow, loadWorkflow, validateWorkflow } from \"@kortyx/core\";\nexport type {\n EnsureWorkflowTopologyRequest,\n EnsureWorkflowTopologyResponse,\n InterruptContract,\n InterruptContractMap,\n InterruptHistoryEntry,\n KortyxErrorDetails,\n KortyxTelemetryConfig,\n KortyxTelemetryContentCapture,\n KortyxTelemetryCorrelation,\n KortyxTelemetryEvent,\n KortyxTelemetryEventType,\n KortyxTelemetryPrompt,\n KortyxTelemetryReporter,\n KortyxTelemetryService,\n KortyxTraceAdapter,\n KortyxTraceErrorProjection,\n KortyxTraceMetadata,\n OutputContract,\n OutputContractEntry,\n OutputContractMap,\n ReportErrorOptions,\n UseContractInterruptArgs,\n UseContractStructuredDataArgs,\n UseInterruptArgs,\n UseReasonArgs,\n UseReasonInterruptConfig,\n UseReasonInterruptsConfig,\n UseReasonOutputsConfig,\n UseReasonResult,\n UseReasonStep,\n UseReasonToolExecution,\n UseStructuredDataArgs,\n UseToolArgs,\n} from \"@kortyx/hooks\";\nexport {\n type CompleteResponseOptions,\n completeResponse,\n createWorkflowHooks,\n defineInterruptContract,\n defineOutputContract,\n ParallelError,\n parallel,\n reportError,\n useAbortSignal,\n useInterrupt,\n useNodeState,\n useReason,\n useRuntimeContext,\n useStructuredData,\n useTool,\n useWorkflow,\n useWorkflowState,\n WorkflowCallError,\n} from \"@kortyx/hooks\";\nexport type {\n CreateMCPClientArgs,\n MCPClient,\n McpToolsArgs,\n McpTransportConfig,\n} from \"@kortyx/mcp\";\nexport { createMCPClient } from \"@kortyx/mcp\";\nexport * from \"@kortyx/providers\";\nexport type {\n CreateCachingFrameworkAdapterOptions,\n CreatePostgresFrameworkAdapterOptions,\n FrameworkAdapter,\n ManagedFrameworkAdapter,\n PostgresFrameworkAdapter,\n PruneRuntimeOptions,\n PruneRuntimeResult,\n RuntimeMaintenance,\n RuntimeRetentionPolicy,\n WorkflowRegistry,\n} from \"@kortyx/runtime\";\nexport {\n clearRegisteredNodes,\n createCachingFrameworkAdapter,\n createFileWorkflowRegistry,\n createFrameworkAdapterFromEnv,\n createInMemoryFrameworkAdapter,\n createInMemoryWorkflowRegistry,\n createPostgresFrameworkAdapter,\n createRedisFrameworkAdapter,\n getRegisteredNode,\n listRegisteredNodes,\n registerNode,\n} from \"@kortyx/runtime\";\nexport type {\n BufferedStreamResult,\n ConsumeStreamHandlers,\n FinalizedChatContentPiece,\n FinalizedChatMessage,\n StreamChunk,\n StructuredDataChunk,\n StructuredStreamAccumulator,\n StructuredStreamState,\n} from \"@kortyx/stream\";\nexport {\n applyStructuredChunk,\n collectBufferedStream,\n collectStream,\n consumeStream,\n createFinalizedChatMessageAccumulator,\n createStreamResponse,\n createStructuredStreamAccumulator,\n projectInterruptPiece,\n readStream,\n reduceStructuredChunks,\n summarizeStreamChunks,\n toSSE,\n} from \"@kortyx/stream\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmCA,mBAUO;AACP,0BAAc,gCA9Cd;AA4EA,IAAAA,gBAaO;AAeP,kBAA+D;AAoC/D,mBAmBO;AAOP,iBAAgC;AAChC,0BAAc,8BAvKd;AAoLA,qBAYO;AAWP,oBAaO;","names":["import_agent"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kortyx",
3
- "version": "0.26.0",
3
+ "version": "0.27.0",
4
4
  "private": false,
5
5
  "description": "TypeScript framework for production AI agents with explicit workflows, provider-agnostic models, streaming, interrupts, and runtime persistence.",
6
6
  "keywords": [
@@ -35,6 +35,10 @@
35
35
  "./browser": {
36
36
  "types": "./dist/browser.d.ts",
37
37
  "default": "./dist/browser.js"
38
+ },
39
+ "./evals": {
40
+ "types": "./dist/evals.d.ts",
41
+ "default": "./dist/evals.js"
38
42
  }
39
43
  },
40
44
  "files": [
@@ -43,15 +47,15 @@
43
47
  "CHANGELOG.md"
44
48
  ],
45
49
  "dependencies": {
46
- "@kortyx/agent": "0.28.0",
47
- "@kortyx/hooks": "0.30.0",
48
- "@kortyx/cli": "0.11.4",
49
- "@kortyx/core": "0.11.0",
50
+ "@kortyx/cli": "0.12.0",
51
+ "@kortyx/agent": "0.29.0",
50
52
  "@kortyx/mcp": "0.2.7",
51
- "@kortyx/providers": "0.8.3",
53
+ "@kortyx/core": "0.11.0",
54
+ "@kortyx/hooks": "0.30.1",
55
+ "@kortyx/runtime": "0.21.5",
52
56
  "@kortyx/stream": "0.15.0",
53
- "@kortyx/utils": "0.3.3",
54
- "@kortyx/runtime": "0.21.4"
57
+ "@kortyx/providers": "0.8.3",
58
+ "@kortyx/utils": "0.3.3"
55
59
  },
56
60
  "devDependencies": {
57
61
  "turbo": "2.6.1",