kortyx 0.13.0 → 0.15.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,47 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.15.0](https://github.com/kortyx-io/kortyx/compare/kortyx-v0.14.1...kortyx-v0.15.0) (2026-09-09)
4
+
5
+
6
+ ### Features
7
+
8
+ * add resumable child workflows and Studio inspection ([#157](https://github.com/kortyx-io/kortyx/issues/157)) ([542ba29](https://github.com/kortyx-io/kortyx/commit/542ba29b3b57217e6e5d98c1b409bbec5ce3261f))
9
+
10
+
11
+ ### Dependencies
12
+
13
+ * The following workspace dependencies were updated
14
+ * dependencies
15
+ * @kortyx/agent bumped to 0.16.0
16
+ * @kortyx/cli bumped to 0.5.0
17
+ * @kortyx/core bumped to 0.6.0
18
+ * @kortyx/hooks bumped to 0.19.0
19
+ * @kortyx/runtime bumped to 0.12.0
20
+
21
+ ## [0.14.1](https://github.com/kortyx-io/kortyx/compare/kortyx-v0.14.0...kortyx-v0.14.1) (2026-08-31)
22
+
23
+
24
+ ### Dependencies
25
+
26
+ * The following workspace dependencies were updated
27
+ * dependencies
28
+ * @kortyx/cli bumped to 0.4.0
29
+
30
+ ## [0.14.0](https://github.com/kortyx-io/kortyx/compare/kortyx-v0.13.0...kortyx-v0.14.0) (2026-08-02)
31
+
32
+
33
+ ### Features
34
+
35
+ * **studio:** add portable self-hosting contract ([82f4851](https://github.com/kortyx-io/kortyx/commit/82f4851d7a945300fb779d08dc6fb75ed3e35c78))
36
+ * **studio:** add portable self-hosting deployment ([6775f11](https://github.com/kortyx-io/kortyx/commit/6775f1127cb35de86e17d01ff78d94edf32f9fd2))
37
+
38
+
39
+ ### Dependencies
40
+
41
+ * The following workspace dependencies were updated
42
+ * dependencies
43
+ * @kortyx/cli bumped to 0.3.0
44
+
3
45
  ## [0.13.0](https://github.com/kortyx-io/kortyx/compare/kortyx-v0.12.4...kortyx-v0.13.0) (2026-08-02)
4
46
 
5
47
 
package/README.md CHANGED
@@ -41,9 +41,13 @@ for backup, upgrade, security, and limitation details.
41
41
  npx kortyx studio status
42
42
  npx kortyx studio logs
43
43
  npx kortyx studio credentials
44
+ npx kortyx studio credentials --rotate
44
45
  npx kortyx studio stop
45
46
  ```
46
47
 
48
+ For an operator-managed installation with external PostgreSQL, follow the
49
+ [server deployment guide](https://github.com/kortyx-io/kortyx/blob/main/docs/studio/deploy-on-server.md).
50
+
47
51
  ## Quickstart
48
52
 
49
53
  Create a workflow:
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { Agent, AgentProcessOptions, ChatRequestBody, CheckpointRequestBody, CreateAgentArgs, StreamChatFromRouteArgs, createAgent, createChatRouteHandler, createCheckpointRouteHandler, handleChatRequestBody, handleCheckpointRequestBody, parseChatRequestBody, parseCheckpointRequestBody, streamChatFromRoute } from '@kortyx/agent';
2
2
  export { GraphState, NodeConfig, NodeContext, NodeFn, NodeHandler, NodeResult, RuntimeEnvelope, WorkflowDefinition, WorkflowId, defineWorkflow, loadWorkflow, validateWorkflow } from '@kortyx/core';
3
- export { EnsureWorkflowTopologyRequest, EnsureWorkflowTopologyResponse, KortyxTelemetryConfig, KortyxTelemetryContentCapture, KortyxTelemetryCorrelation, KortyxTelemetryEvent, KortyxTelemetryEventType, KortyxTelemetryPrompt, KortyxTelemetryReporter, KortyxTelemetryService, KortyxTraceAdapter, KortyxTraceMetadata, UseInterruptArgs, UseReasonArgs, UseReasonResult, UseReasonStep, UseReasonToolExecution, UseStructuredDataArgs, useInterrupt, useNodeState, useReason, useRuntimeContext, useStructuredData, useWorkflowState } from '@kortyx/hooks';
3
+ export { EnsureWorkflowTopologyRequest, EnsureWorkflowTopologyResponse, KortyxTelemetryConfig, KortyxTelemetryContentCapture, KortyxTelemetryCorrelation, KortyxTelemetryEvent, KortyxTelemetryEventType, KortyxTelemetryPrompt, KortyxTelemetryReporter, KortyxTelemetryService, KortyxTraceAdapter, KortyxTraceMetadata, UseInterruptArgs, UseReasonArgs, UseReasonResult, UseReasonStep, UseReasonToolExecution, UseStructuredDataArgs, WorkflowCallError, createWorkflowHooks, useInterrupt, useNodeState, useReason, useRuntimeContext, useStructuredData, useWorkflow, useWorkflowState } from '@kortyx/hooks';
4
4
  export { CreateMCPClientArgs, MCPClient, McpToolsArgs, McpTransportConfig, createMCPClient } from '@kortyx/mcp';
5
5
  export * from '@kortyx/providers';
6
6
  export { WorkflowRegistry, clearRegisteredNodes, createFileWorkflowRegistry, createFrameworkAdapterFromEnv, createInMemoryFrameworkAdapter, createInMemoryWorkflowRegistry, createRedisFrameworkAdapter, getRegisteredNode, listRegisteredNodes, registerNode } from '@kortyx/runtime';
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
+ WorkflowCallError: () => import_hooks.WorkflowCallError,
23
24
  applyStructuredChunk: () => import_stream.applyStructuredChunk,
24
25
  clearRegisteredNodes: () => import_runtime.clearRegisteredNodes,
25
26
  collectBufferedStream: () => import_stream.collectBufferedStream,
@@ -36,6 +37,7 @@ __export(index_exports, {
36
37
  createRedisFrameworkAdapter: () => import_runtime.createRedisFrameworkAdapter,
37
38
  createStreamResponse: () => import_stream.createStreamResponse,
38
39
  createStructuredStreamAccumulator: () => import_stream.createStructuredStreamAccumulator,
40
+ createWorkflowHooks: () => import_hooks.createWorkflowHooks,
39
41
  defineWorkflow: () => import_core.defineWorkflow,
40
42
  getRegisteredNode: () => import_runtime.getRegisteredNode,
41
43
  handleChatRequestBody: () => import_agent.handleChatRequestBody,
@@ -55,6 +57,7 @@ __export(index_exports, {
55
57
  useReason: () => import_hooks.useReason,
56
58
  useRuntimeContext: () => import_hooks.useRuntimeContext,
57
59
  useStructuredData: () => import_hooks.useStructuredData,
60
+ useWorkflow: () => import_hooks.useWorkflow,
58
61
  useWorkflowState: () => import_hooks.useWorkflowState,
59
62
  validateWorkflow: () => import_core.validateWorkflow
60
63
  });
@@ -68,6 +71,7 @@ var import_runtime = require("@kortyx/runtime");
68
71
  var import_stream = require("@kortyx/stream");
69
72
  // Annotate the CommonJS export names for ESM import in node:
70
73
  0 && (module.exports = {
74
+ WorkflowCallError,
71
75
  applyStructuredChunk,
72
76
  clearRegisteredNodes,
73
77
  collectBufferedStream,
@@ -84,6 +88,7 @@ var import_stream = require("@kortyx/stream");
84
88
  createRedisFrameworkAdapter,
85
89
  createStreamResponse,
86
90
  createStructuredStreamAccumulator,
91
+ createWorkflowHooks,
87
92
  defineWorkflow,
88
93
  getRegisteredNode,
89
94
  handleChatRequestBody,
@@ -103,6 +108,7 @@ var import_stream = require("@kortyx/stream");
103
108
  useReason,
104
109
  useRuntimeContext,
105
110
  useStructuredData,
111
+ useWorkflow,
106
112
  useWorkflowState,
107
113
  validateWorkflow,
108
114
  ...require("@kortyx/providers")
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["// 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 StreamChatFromRouteArgs,\n} from \"@kortyx/agent\";\nexport {\n createAgent,\n createChatRouteHandler,\n createCheckpointRouteHandler,\n handleChatRequestBody,\n handleCheckpointRequestBody,\n parseChatRequestBody,\n parseCheckpointRequestBody,\n streamChatFromRoute,\n} from \"@kortyx/agent\";\nexport type {\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 useInterrupt,\n useNodeState,\n useReason,\n useRuntimeContext,\n useStructuredData,\n useWorkflowState,\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;AAWA,mBASO;AAYP,kBAA+D;AAqB/D,mBAOO;AAOP,iBAAgC;AAChC,0BAAc,8BApEd;AAsEA,qBAUO;AASP,oBAWO;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["// 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 StreamChatFromRouteArgs,\n} from \"@kortyx/agent\";\nexport {\n createAgent,\n createChatRouteHandler,\n createCheckpointRouteHandler,\n handleChatRequestBody,\n handleCheckpointRequestBody,\n parseChatRequestBody,\n parseCheckpointRequestBody,\n streamChatFromRoute,\n} from \"@kortyx/agent\";\nexport type {\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 createWorkflowHooks,\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;AAWA,mBASO;AAYP,kBAA+D;AAqB/D,mBAUO;AAOP,iBAAgC;AAChC,0BAAc,8BAvEd;AAyEA,qBAUO;AASP,oBAWO;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kortyx",
3
- "version": "0.13.0",
3
+ "version": "0.15.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.2.0",
47
- "@kortyx/agent": "0.15.0",
48
- "@kortyx/hooks": "0.18.0",
49
- "@kortyx/core": "0.5.3",
46
+ "@kortyx/agent": "0.16.0",
47
+ "@kortyx/cli": "0.5.0",
48
+ "@kortyx/core": "0.6.0",
49
+ "@kortyx/hooks": "0.19.0",
50
50
  "@kortyx/mcp": "0.2.0",
51
51
  "@kortyx/providers": "0.5.0",
52
- "@kortyx/runtime": "0.11.1",
53
- "@kortyx/stream": "0.9.0",
54
- "@kortyx/utils": "0.2.6"
52
+ "@kortyx/runtime": "0.12.0",
53
+ "@kortyx/utils": "0.2.6",
54
+ "@kortyx/stream": "0.9.0"
55
55
  },
56
56
  "devDependencies": {
57
57
  "turbo": "2.6.1",