kortyx 0.20.4 → 0.21.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.21.0](https://github.com/kortyx-io/kortyx/compare/kortyx-v0.20.4...kortyx-v0.21.0) (2026-09-16)
4
+
5
+
6
+ ### Features
7
+
8
+ * **runtime:** add PostgreSQL persistence, caching composition, and retention ([#207](https://github.com/kortyx-io/kortyx/issues/207)) ([6c1e7df](https://github.com/kortyx-io/kortyx/commit/6c1e7df22ffe8c792bf52b7dba5ae6ea04c1eb2a))
9
+
10
+
11
+ ### Dependencies
12
+
13
+ * The following workspace dependencies were updated
14
+ * dependencies
15
+ * @kortyx/agent bumped to 0.24.0
16
+ * @kortyx/cli bumped to 0.8.0
17
+ * @kortyx/hooks bumped to 0.25.3
18
+ * @kortyx/runtime bumped to 0.19.0
19
+
3
20
  ## [0.20.4](https://github.com/kortyx-io/kortyx/compare/kortyx-v0.20.3...kortyx-v0.20.4) (2026-09-16)
4
21
 
5
22
 
package/dist/index.d.ts CHANGED
@@ -4,5 +4,5 @@ export { ExecutionLimit, ExecutionLimitReached, ExecutionLimits, GraphState, Nod
4
4
  export { CompleteResponseOptions, EnsureWorkflowTopologyRequest, EnsureWorkflowTopologyResponse, KortyxTelemetryConfig, KortyxTelemetryContentCapture, KortyxTelemetryCorrelation, KortyxTelemetryEvent, KortyxTelemetryEventType, KortyxTelemetryPrompt, KortyxTelemetryReporter, KortyxTelemetryService, KortyxTraceAdapter, KortyxTraceMetadata, ParallelError, UseInterruptArgs, UseReasonArgs, UseReasonResult, UseReasonStep, UseReasonToolExecution, UseStructuredDataArgs, WorkflowCallError, completeResponse, createWorkflowHooks, parallel, useAbortSignal, useInterrupt, useNodeState, useReason, useRuntimeContext, useStructuredData, useWorkflow, useWorkflowState } from '@kortyx/hooks';
5
5
  export { CreateMCPClientArgs, MCPClient, McpToolsArgs, McpTransportConfig, createMCPClient } from '@kortyx/mcp';
6
6
  export * from '@kortyx/providers';
7
- export { WorkflowRegistry, clearRegisteredNodes, createFileWorkflowRegistry, createFrameworkAdapterFromEnv, createInMemoryFrameworkAdapter, createInMemoryWorkflowRegistry, createRedisFrameworkAdapter, getRegisteredNode, listRegisteredNodes, registerNode } from '@kortyx/runtime';
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
8
  export { BufferedStreamResult, ConsumeStreamHandlers, StreamChunk, StructuredDataChunk, StructuredStreamAccumulator, StructuredStreamState, applyStructuredChunk, collectBufferedStream, collectStream, consumeStream, createStreamResponse, createStructuredStreamAccumulator, readStream, reduceStructuredChunks, summarizeStreamChunks, toSSE } from '@kortyx/stream';
package/dist/index.js CHANGED
@@ -30,6 +30,7 @@ __export(index_exports, {
30
30
  completeResponse: () => import_hooks.completeResponse,
31
31
  consumeStream: () => import_stream.consumeStream,
32
32
  createAgent: () => import_agent.createAgent,
33
+ createCachingFrameworkAdapter: () => import_runtime.createCachingFrameworkAdapter,
33
34
  createChatRouteHandler: () => import_agent.createChatRouteHandler,
34
35
  createCheckpointRouteHandler: () => import_agent.createCheckpointRouteHandler,
35
36
  createFailureResponse: () => import_agent.createFailureResponse,
@@ -38,6 +39,7 @@ __export(index_exports, {
38
39
  createInMemoryFrameworkAdapter: () => import_runtime.createInMemoryFrameworkAdapter,
39
40
  createInMemoryWorkflowRegistry: () => import_runtime.createInMemoryWorkflowRegistry,
40
41
  createMCPClient: () => import_mcp.createMCPClient,
42
+ createPostgresFrameworkAdapter: () => import_runtime.createPostgresFrameworkAdapter,
41
43
  createRedisFrameworkAdapter: () => import_runtime.createRedisFrameworkAdapter,
42
44
  createStreamResponse: () => import_stream.createStreamResponse,
43
45
  createStructuredStreamAccumulator: () => import_stream.createStructuredStreamAccumulator,
@@ -89,6 +91,7 @@ var import_stream = require("@kortyx/stream");
89
91
  completeResponse,
90
92
  consumeStream,
91
93
  createAgent,
94
+ createCachingFrameworkAdapter,
92
95
  createChatRouteHandler,
93
96
  createCheckpointRouteHandler,
94
97
  createFailureResponse,
@@ -97,6 +100,7 @@ var import_stream = require("@kortyx/stream");
97
100
  createInMemoryFrameworkAdapter,
98
101
  createInMemoryWorkflowRegistry,
99
102
  createMCPClient,
103
+ createPostgresFrameworkAdapter,
100
104
  createRedisFrameworkAdapter,
101
105
  createStreamResponse,
102
106
  createStructuredStreamAccumulator,
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 KortyxTelemetryConfig,\n KortyxTelemetryContentCapture,\n KortyxTelemetryCorrelation,\n KortyxTelemetryEvent,\n KortyxTelemetryEventType,\n KortyxTelemetryPrompt,\n KortyxTelemetryReporter,\n KortyxTelemetryService,\n KortyxTraceAdapter,\n KortyxTraceMetadata,\n UseInterruptArgs,\n UseReasonArgs,\n UseReasonResult,\n UseReasonStep,\n UseReasonToolExecution,\n UseStructuredDataArgs,\n} from \"@kortyx/hooks\";\nexport {\n type CompleteResponseOptions,\n completeResponse,\n createWorkflowHooks,\n ParallelError,\n parallel,\n useAbortSignal,\n useInterrupt,\n useNodeState,\n useReason,\n useRuntimeContext,\n useStructuredData,\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 { WorkflowRegistry } from \"@kortyx/runtime\";\nexport {\n clearRegisteredNodes,\n createFileWorkflowRegistry,\n createFrameworkAdapterFromEnv,\n createInMemoryFrameworkAdapter,\n createInMemoryWorkflowRegistry,\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,0BAAc,gCAAd;AAwBA,mBAYO;AAeP,kBAA+D;AAqB/D,mBAeO;AAOP,iBAAgC;AAChC,0BAAc,8BA/Fd;AAiGA,qBAUO;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 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 KortyxTelemetryConfig,\n KortyxTelemetryContentCapture,\n KortyxTelemetryCorrelation,\n KortyxTelemetryEvent,\n KortyxTelemetryEventType,\n KortyxTelemetryPrompt,\n KortyxTelemetryReporter,\n KortyxTelemetryService,\n KortyxTraceAdapter,\n KortyxTraceMetadata,\n UseInterruptArgs,\n UseReasonArgs,\n UseReasonResult,\n UseReasonStep,\n UseReasonToolExecution,\n UseStructuredDataArgs,\n} from \"@kortyx/hooks\";\nexport {\n type CompleteResponseOptions,\n completeResponse,\n createWorkflowHooks,\n ParallelError,\n parallel,\n useAbortSignal,\n useInterrupt,\n useNodeState,\n useReason,\n useRuntimeContext,\n useStructuredData,\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,0BAAc,gCAAd;AAwBA,mBAYO;AAeP,kBAA+D;AAqB/D,mBAeO;AAOP,iBAAgC;AAChC,0BAAc,8BA/Fd;AA4GA,qBAYO;AASP,oBAWO;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kortyx",
3
- "version": "0.20.4",
3
+ "version": "0.21.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/cli": "0.7.3",
47
- "@kortyx/agent": "0.23.0",
46
+ "@kortyx/agent": "0.24.0",
48
47
  "@kortyx/core": "0.9.0",
48
+ "@kortyx/hooks": "0.25.3",
49
49
  "@kortyx/mcp": "0.2.3",
50
- "@kortyx/hooks": "0.25.2",
50
+ "@kortyx/cli": "0.8.0",
51
51
  "@kortyx/providers": "0.7.0",
52
52
  "@kortyx/stream": "0.12.0",
53
- "@kortyx/utils": "0.3.0",
54
- "@kortyx/runtime": "0.18.0"
53
+ "@kortyx/runtime": "0.19.0",
54
+ "@kortyx/utils": "0.3.0"
55
55
  },
56
56
  "devDependencies": {
57
57
  "turbo": "2.6.1",