kortyx 0.24.2 → 0.25.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.25.0](https://github.com/kortyx-io/kortyx/compare/kortyx-v0.24.2...kortyx-v0.25.0) (2026-09-23)
4
+
5
+
6
+ ### Features
7
+
8
+ * **chat:** add server-side transcript lifecycle hooks ([#240](https://github.com/kortyx-io/kortyx/issues/240)) ([f84a674](https://github.com/kortyx-io/kortyx/commit/f84a6749819ee7bab343efb03f38eae743de0655))
9
+
10
+
11
+ ### Dependencies
12
+
13
+ * The following workspace dependencies were updated
14
+ * dependencies
15
+ * @kortyx/agent bumped to 0.27.0
16
+ * @kortyx/cli bumped to 0.11.3
17
+ * @kortyx/runtime bumped to 0.21.3
18
+ * @kortyx/stream bumped to 0.14.0
19
+
3
20
  ## [0.24.2](https://github.com/kortyx-io/kortyx/compare/kortyx-v0.24.1...kortyx-v0.24.2) (2026-09-22)
4
21
 
5
22
 
package/README.md CHANGED
@@ -249,6 +249,20 @@ Delivery is best-effort and non-blocking: events receive idempotent IDs, are bat
249
249
 
250
250
  `interrupt.expired` is intentionally API-derived from the durable `expiresAt` sent in `interrupt.created`; the SDK does not run an unreliable local TTL timer. `run.cancelled` records aborted active executions. Forward `request.signal` in custom routes; `createChatRouteHandler` forwards it automatically. Children, models and tools inherit the live signal. Use `useAbortSignal()` for custom node I/O.
251
251
 
252
+ Applications that own visible conversation history can use
253
+ `createChatRouteHandler({ onTurnAccepted, onResponseFinalized })` to write a
254
+ pending user turn before execution and a parsed assistant message after the
255
+ response's checkpoint decision. The hooks require `sessionId` and
256
+ `clientTurnId`; `@kortyx/react` sends the latter from the user message ID.
257
+ `onResponseFinalized` includes `status`, `checkpointId`, and a message with
258
+ ordered text, structured, interrupt, and error pieces. Configure
259
+ `disconnect: "continue"` with `onExecution` to finish an ordinary run after
260
+ the browser closes its stream. The default remains request cancellation.
261
+ `createCheckpointRouteHandler` additionally exposes `onForked` and
262
+ `onRolledBack` for app-owned transcript updates. Hook delivery is in-process;
263
+ crash recovery and cross-store transactions remain application concerns. See
264
+ [Background Continuation](https://kortyx.io/docs/guides/background-continuation).
265
+
252
266
  Interrupt telemetry keeps structural fields (`kind`, `interactionMode`,
253
267
  `optionCount`, `schemaId`, and `schemaVersion`) even when content capture is
254
268
  off. Questions and static option labels use output-content capture; submitted
package/dist/browser.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export * from '@kortyx/core/errors';
2
2
  export { StreamChatFromRouteArgs, streamChatFromRoute } from '@kortyx/agent/browser';
3
- export { ConsumeStreamHandlers, StreamChunk, StreamFromRouteArgs, StructuredDataChunk, StructuredStreamAccumulator, StructuredStreamState, applyStructuredChunk, consumeStream, createStructuredStreamAccumulator, readStream, reduceStructuredChunks, streamFromRoute } from '@kortyx/stream/browser';
3
+ export { ConsumeStreamHandlers, FinalizedChatContentPiece, FinalizedChatMessage, StreamChunk, StreamFromRouteArgs, StructuredDataChunk, StructuredStreamAccumulator, StructuredStreamState, applyStructuredChunk, consumeStream, createFinalizedChatMessageAccumulator, createStructuredStreamAccumulator, projectInterruptPiece, readStream, reduceStructuredChunks, streamFromRoute } from '@kortyx/stream/browser';
4
4
  import '@kortyx/agent';
5
5
  import '@kortyx/core';
6
6
  import '@kortyx/hooks';
package/dist/browser.js CHANGED
@@ -22,7 +22,9 @@ var browser_exports = {};
22
22
  __export(browser_exports, {
23
23
  applyStructuredChunk: () => import_browser2.applyStructuredChunk,
24
24
  consumeStream: () => import_browser2.consumeStream,
25
+ createFinalizedChatMessageAccumulator: () => import_browser2.createFinalizedChatMessageAccumulator,
25
26
  createStructuredStreamAccumulator: () => import_browser2.createStructuredStreamAccumulator,
27
+ projectInterruptPiece: () => import_browser2.projectInterruptPiece,
26
28
  readStream: () => import_browser2.readStream,
27
29
  reduceStructuredChunks: () => import_browser2.reduceStructuredChunks,
28
30
  streamChatFromRoute: () => import_browser.streamChatFromRoute,
@@ -36,7 +38,9 @@ var import_browser2 = require("@kortyx/stream/browser");
36
38
  0 && (module.exports = {
37
39
  applyStructuredChunk,
38
40
  consumeStream,
41
+ createFinalizedChatMessageAccumulator,
39
42
  createStructuredStreamAccumulator,
43
+ projectInterruptPiece,
40
44
  readStream,
41
45
  reduceStructuredChunks,
42
46
  streamChatFromRoute,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/browser.ts"],"sourcesContent":["export * from \"@kortyx/core/errors\";\n// Browser-safe exports for client bundles (e.g. Next.js Client Components).\n// Keep this file free of Node-only imports (fs, path, etc).\n\nexport type { StreamChatFromRouteArgs } from \"@kortyx/agent/browser\";\nexport { streamChatFromRoute } from \"@kortyx/agent/browser\";\nexport type {\n ConsumeStreamHandlers,\n StreamChunk,\n StreamFromRouteArgs,\n StructuredDataChunk,\n StructuredStreamAccumulator,\n StructuredStreamState,\n} from \"@kortyx/stream/browser\";\nexport {\n applyStructuredChunk,\n consumeStream,\n createStructuredStreamAccumulator,\n readStream,\n reduceStructuredChunks,\n streamFromRoute,\n} from \"@kortyx/stream/browser\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAc,gCAAd;AAKA,qBAAoC;AASpC,IAAAA,kBAOO;","names":["import_browser"]}
1
+ {"version":3,"sources":["../src/browser.ts"],"sourcesContent":["export * from \"@kortyx/core/errors\";\n// Browser-safe exports for client bundles (e.g. Next.js Client Components).\n// Keep this file free of Node-only imports (fs, path, etc).\n\nexport type { StreamChatFromRouteArgs } from \"@kortyx/agent/browser\";\nexport { streamChatFromRoute } from \"@kortyx/agent/browser\";\nexport type {\n ConsumeStreamHandlers,\n FinalizedChatContentPiece,\n FinalizedChatMessage,\n StreamChunk,\n StreamFromRouteArgs,\n StructuredDataChunk,\n StructuredStreamAccumulator,\n StructuredStreamState,\n} from \"@kortyx/stream/browser\";\nexport {\n applyStructuredChunk,\n consumeStream,\n createFinalizedChatMessageAccumulator,\n createStructuredStreamAccumulator,\n projectInterruptPiece,\n readStream,\n reduceStructuredChunks,\n streamFromRoute,\n} from \"@kortyx/stream/browser\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAc,gCAAd;AAKA,qBAAoC;AAWpC,IAAAA,kBASO;","names":["import_browser"]}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  export * from '@kortyx/core/errors';
2
- export { Agent, AgentProcessOptions, ChatRequestBody, CheckpointRequestBody, 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';
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, ParallelError, ReportErrorOptions, UseContractInterruptArgs, UseInterruptArgs, UseReasonArgs, UseReasonInterruptConfig, UseReasonInterruptsConfig, UseReasonResult, UseReasonStep, UseReasonToolExecution, UseStructuredDataArgs, UseToolArgs, WorkflowCallError, completeResponse, createWorkflowHooks, defineInterruptContract, 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';
6
6
  export * from '@kortyx/providers';
7
7
  export { CreateCachingFrameworkAdapterOptions, CreatePostgresFrameworkAdapterOptions, FrameworkAdapter, ManagedFrameworkAdapter, PostgresFrameworkAdapter, PruneRuntimeOptions, PruneRuntimeResult, RuntimeMaintenance, RuntimeRetentionPolicy, WorkflowRegistry, clearRegisteredNodes, createCachingFrameworkAdapter, createFileWorkflowRegistry, createFrameworkAdapterFromEnv, createInMemoryFrameworkAdapter, createInMemoryWorkflowRegistry, createPostgresFrameworkAdapter, createRedisFrameworkAdapter, getRegisteredNode, listRegisteredNodes, registerNode } from '@kortyx/runtime';
8
- export { BufferedStreamResult, ConsumeStreamHandlers, StreamChunk, StructuredDataChunk, StructuredStreamAccumulator, StructuredStreamState, applyStructuredChunk, collectBufferedStream, collectStream, consumeStream, createStreamResponse, createStructuredStreamAccumulator, readStream, reduceStructuredChunks, summarizeStreamChunks, toSSE } from '@kortyx/stream';
8
+ export { BufferedStreamResult, ConsumeStreamHandlers, FinalizedChatContentPiece, FinalizedChatMessage, StreamChunk, StructuredDataChunk, StructuredStreamAccumulator, StructuredStreamState, applyStructuredChunk, collectBufferedStream, collectStream, consumeStream, createFinalizedChatMessageAccumulator, createStreamResponse, createStructuredStreamAccumulator, projectInterruptPiece, readStream, reduceStructuredChunks, summarizeStreamChunks, toSSE } from '@kortyx/stream';
package/dist/index.js CHANGED
@@ -20,6 +20,7 @@ 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,
23
24
  ExecutionRequestError: () => import_agent.ExecutionRequestError,
24
25
  ParallelError: () => import_hooks.ParallelError,
25
26
  WorkflowCallError: () => import_hooks.WorkflowCallError,
@@ -35,6 +36,7 @@ __export(index_exports, {
35
36
  createCheckpointRouteHandler: () => import_agent.createCheckpointRouteHandler,
36
37
  createFailureResponse: () => import_agent.createFailureResponse,
37
38
  createFileWorkflowRegistry: () => import_runtime.createFileWorkflowRegistry,
39
+ createFinalizedChatMessageAccumulator: () => import_stream.createFinalizedChatMessageAccumulator,
38
40
  createFrameworkAdapterFromEnv: () => import_runtime.createFrameworkAdapterFromEnv,
39
41
  createInMemoryFrameworkAdapter: () => import_runtime.createInMemoryFrameworkAdapter,
40
42
  createInMemoryWorkflowRegistry: () => import_runtime.createInMemoryWorkflowRegistry,
@@ -54,6 +56,7 @@ __export(index_exports, {
54
56
  parallel: () => import_hooks.parallel,
55
57
  parseChatRequestBody: () => import_agent.parseChatRequestBody,
56
58
  parseCheckpointRequestBody: () => import_agent.parseCheckpointRequestBody,
59
+ projectInterruptPiece: () => import_stream.projectInterruptPiece,
57
60
  readRequestJson: () => import_agent.readRequestJson,
58
61
  readStream: () => import_stream.readStream,
59
62
  reduceStructuredChunks: () => import_stream.reduceStructuredChunks,
@@ -84,6 +87,7 @@ var import_runtime = require("@kortyx/runtime");
84
87
  var import_stream = require("@kortyx/stream");
85
88
  // Annotate the CommonJS export names for ESM import in node:
86
89
  0 && (module.exports = {
90
+ ChatLifecycleHookError,
87
91
  ExecutionRequestError,
88
92
  ParallelError,
89
93
  WorkflowCallError,
@@ -99,6 +103,7 @@ var import_stream = require("@kortyx/stream");
99
103
  createCheckpointRouteHandler,
100
104
  createFailureResponse,
101
105
  createFileWorkflowRegistry,
106
+ createFinalizedChatMessageAccumulator,
102
107
  createFrameworkAdapterFromEnv,
103
108
  createInMemoryFrameworkAdapter,
104
109
  createInMemoryWorkflowRegistry,
@@ -118,6 +123,7 @@ var import_stream = require("@kortyx/stream");
118
123
  parallel,
119
124
  parseChatRequestBody,
120
125
  parseCheckpointRequestBody,
126
+ projectInterruptPiece,
121
127
  readRequestJson,
122
128
  readStream,
123
129
  reduceStructuredChunks,
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 ChatRequestBody,\n CheckpointRequestBody,\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 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 ReportErrorOptions,\n UseContractInterruptArgs,\n UseInterruptArgs,\n UseReasonArgs,\n UseReasonInterruptConfig,\n UseReasonInterruptsConfig,\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 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 StreamChunk,\n StructuredDataChunk,\n StructuredStreamAccumulator,\n StructuredStreamState,\n} from \"@kortyx/stream\";\nexport {\n applyStructuredChunk,\n collectBufferedStream,\n collectStream,\n consumeStream,\n createStreamResponse,\n createStructuredStreamAccumulator,\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,0BAAc,gCAAd;AAwBA,mBAYO;AAeP,kBAA+D;AA+B/D,mBAkBO;AAOP,iBAAgC;AAChC,0BAAc,8BA5Gd;AAyHA,qBAYO;AASP,oBAWO;","names":[]}
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 ReportErrorOptions,\n UseContractInterruptArgs,\n UseInterruptArgs,\n UseReasonArgs,\n UseReasonInterruptConfig,\n UseReasonInterruptsConfig,\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 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,0BAAc,gCAAd;AA8BA,mBAaO;AAeP,kBAA+D;AA+B/D,mBAkBO;AAOP,iBAAgC;AAChC,0BAAc,8BAnHd;AAgIA,qBAYO;AAWP,oBAaO;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kortyx",
3
- "version": "0.24.2",
3
+ "version": "0.25.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": [
@@ -43,15 +43,15 @@
43
43
  "CHANGELOG.md"
44
44
  ],
45
45
  "dependencies": {
46
- "@kortyx/agent": "0.26.2",
46
+ "@kortyx/cli": "0.11.3",
47
47
  "@kortyx/core": "0.11.0",
48
- "@kortyx/mcp": "0.2.7",
49
48
  "@kortyx/hooks": "0.29.0",
50
- "@kortyx/cli": "0.11.2",
49
+ "@kortyx/mcp": "0.2.7",
50
+ "@kortyx/agent": "0.27.0",
51
51
  "@kortyx/providers": "0.8.3",
52
- "@kortyx/runtime": "0.21.2",
53
- "@kortyx/stream": "0.13.2",
54
- "@kortyx/utils": "0.3.3"
52
+ "@kortyx/stream": "0.14.0",
53
+ "@kortyx/utils": "0.3.3",
54
+ "@kortyx/runtime": "0.21.3"
55
55
  },
56
56
  "devDependencies": {
57
57
  "turbo": "2.6.1",