kortyx 0.24.2 → 0.26.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,40 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.26.0](https://github.com/kortyx-io/kortyx/compare/kortyx-v0.25.0...kortyx-v0.26.0) (2026-09-30)
4
+
5
+
6
+ ### Features
7
+
8
+ * **hooks:** add realtime model-selected output contracts ([#249](https://github.com/kortyx-io/kortyx/issues/249)) ([ac52b47](https://github.com/kortyx-io/kortyx/commit/ac52b47151b64ce5be6ce6c7fd42d34a0fa8a76d))
9
+
10
+
11
+ ### Dependencies
12
+
13
+ * The following workspace dependencies were updated
14
+ * dependencies
15
+ * @kortyx/agent bumped to 0.28.0
16
+ * @kortyx/cli bumped to 0.11.4
17
+ * @kortyx/hooks bumped to 0.30.0
18
+ * @kortyx/runtime bumped to 0.21.4
19
+ * @kortyx/stream bumped to 0.15.0
20
+
21
+ ## [0.25.0](https://github.com/kortyx-io/kortyx/compare/kortyx-v0.24.2...kortyx-v0.25.0) (2026-09-23)
22
+
23
+
24
+ ### Features
25
+
26
+ * **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))
27
+
28
+
29
+ ### Dependencies
30
+
31
+ * The following workspace dependencies were updated
32
+ * dependencies
33
+ * @kortyx/agent bumped to 0.27.0
34
+ * @kortyx/cli bumped to 0.11.3
35
+ * @kortyx/runtime bumped to 0.21.3
36
+ * @kortyx/stream bumped to 0.14.0
37
+
3
38
  ## [0.24.2](https://github.com/kortyx-io/kortyx/compare/kortyx-v0.24.1...kortyx-v0.24.2) (2026-09-22)
4
39
 
5
40
 
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
- 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';
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';
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,
@@ -45,6 +47,7 @@ __export(index_exports, {
45
47
  createStructuredStreamAccumulator: () => import_stream.createStructuredStreamAccumulator,
46
48
  createWorkflowHooks: () => import_hooks.createWorkflowHooks,
47
49
  defineInterruptContract: () => import_hooks.defineInterruptContract,
50
+ defineOutputContract: () => import_hooks.defineOutputContract,
48
51
  defineWorkflow: () => import_core.defineWorkflow,
49
52
  getRegisteredNode: () => import_runtime.getRegisteredNode,
50
53
  handleChatRequestBody: () => import_agent.handleChatRequestBody,
@@ -54,6 +57,7 @@ __export(index_exports, {
54
57
  parallel: () => import_hooks.parallel,
55
58
  parseChatRequestBody: () => import_agent.parseChatRequestBody,
56
59
  parseCheckpointRequestBody: () => import_agent.parseCheckpointRequestBody,
60
+ projectInterruptPiece: () => import_stream.projectInterruptPiece,
57
61
  readRequestJson: () => import_agent.readRequestJson,
58
62
  readStream: () => import_stream.readStream,
59
63
  reduceStructuredChunks: () => import_stream.reduceStructuredChunks,
@@ -84,6 +88,7 @@ var import_runtime = require("@kortyx/runtime");
84
88
  var import_stream = require("@kortyx/stream");
85
89
  // Annotate the CommonJS export names for ESM import in node:
86
90
  0 && (module.exports = {
91
+ ChatLifecycleHookError,
87
92
  ExecutionRequestError,
88
93
  ParallelError,
89
94
  WorkflowCallError,
@@ -99,6 +104,7 @@ var import_stream = require("@kortyx/stream");
99
104
  createCheckpointRouteHandler,
100
105
  createFailureResponse,
101
106
  createFileWorkflowRegistry,
107
+ createFinalizedChatMessageAccumulator,
102
108
  createFrameworkAdapterFromEnv,
103
109
  createInMemoryFrameworkAdapter,
104
110
  createInMemoryWorkflowRegistry,
@@ -109,6 +115,7 @@ var import_stream = require("@kortyx/stream");
109
115
  createStructuredStreamAccumulator,
110
116
  createWorkflowHooks,
111
117
  defineInterruptContract,
118
+ defineOutputContract,
112
119
  defineWorkflow,
113
120
  getRegisteredNode,
114
121
  handleChatRequestBody,
@@ -118,6 +125,7 @@ var import_stream = require("@kortyx/stream");
118
125
  parallel,
119
126
  parseChatRequestBody,
120
127
  parseCheckpointRequestBody,
128
+ projectInterruptPiece,
121
129
  readRequestJson,
122
130
  readStream,
123
131
  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 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":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kortyx",
3
- "version": "0.24.2",
3
+ "version": "0.26.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/agent": "0.28.0",
47
+ "@kortyx/hooks": "0.30.0",
48
+ "@kortyx/cli": "0.11.4",
47
49
  "@kortyx/core": "0.11.0",
48
50
  "@kortyx/mcp": "0.2.7",
49
- "@kortyx/hooks": "0.29.0",
50
- "@kortyx/cli": "0.11.2",
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.15.0",
53
+ "@kortyx/utils": "0.3.3",
54
+ "@kortyx/runtime": "0.21.4"
55
55
  },
56
56
  "devDependencies": {
57
57
  "turbo": "2.6.1",