kortyx 0.3.1 → 0.4.1

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,23 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.4.1](https://github.com/kortyx-io/kortyx/compare/kortyx-v0.4.0...kortyx-v0.4.1) (2026-02-17)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * **build:** align package tsconfig with shared lib baseline ([48d2b57](https://github.com/kortyx-io/kortyx/commit/48d2b5765fefbb5fcbbe548e749e7b5f51b450b9))
9
+ * **build:** wire tsup for publishable packages ([e7b1b5c](https://github.com/kortyx-io/kortyx/commit/e7b1b5c28af55becffc137233dd92d8953d7cb8e))
10
+ * **dev:** restore tsc watch flow for local workspace ([4305823](https://github.com/kortyx-io/kortyx/commit/430582372cad466bf28af554042aa11bdb8bf027))
11
+
12
+ ## [0.4.0](https://github.com/kortyx-io/kortyx/compare/kortyx-v0.3.1...kortyx-v0.4.0) (2026-02-17)
13
+
14
+
15
+ ### Features
16
+
17
+ * **agent:** strict createAgent and unify useReason streaming ([6725f97](https://github.com/kortyx-io/kortyx/commit/6725f976fc32083fb7d2590f1353d16a99afb46f))
18
+ * **kortyx:** add browser-safe chat streaming adapters ([c7eb98e](https://github.com/kortyx-io/kortyx/commit/c7eb98e06781a708c79f143ba725efb69d35709e))
19
+ * make createAgent strict/declarative and split providers ([1d252f2](https://github.com/kortyx-io/kortyx/commit/1d252f2dcd51622f821715c0fffb13733aeb3cae))
20
+
3
21
  ## [0.3.1](https://github.com/kortyx-io/kortyx/compare/kortyx-v0.3.0...kortyx-v0.3.1) (2026-02-15)
4
22
 
5
23
 
package/dist/browser.d.ts CHANGED
@@ -1,3 +1,9 @@
1
- export type { StreamChunk } from "@kortyx/stream";
2
- export { readStream } from "@kortyx/stream";
3
- //# sourceMappingURL=browser.d.ts.map
1
+ export { StreamChatFromRouteArgs, streamChatFromRoute } from '@kortyx/agent/browser';
2
+ export { StreamChunk, StreamFromRouteArgs, readStream, streamFromRoute } from '@kortyx/stream/browser';
3
+ import '@kortyx/agent';
4
+ import '@kortyx/core';
5
+ import '@kortyx/hooks';
6
+ import '@kortyx/memory';
7
+ import '@kortyx/providers';
8
+ import '@kortyx/runtime';
9
+ import '@kortyx/stream';
package/dist/browser.js CHANGED
@@ -1,5 +1,35 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.readStream = void 0;
4
- var stream_1 = require("@kortyx/stream");
5
- Object.defineProperty(exports, "readStream", { enumerable: true, get: function () { return stream_1.readStream; } });
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/browser.ts
20
+ var browser_exports = {};
21
+ __export(browser_exports, {
22
+ readStream: () => import_browser2.readStream,
23
+ streamChatFromRoute: () => import_browser.streamChatFromRoute,
24
+ streamFromRoute: () => import_browser2.streamFromRoute
25
+ });
26
+ module.exports = __toCommonJS(browser_exports);
27
+ var import_browser = require("@kortyx/agent/browser");
28
+ var import_browser2 = require("@kortyx/stream/browser");
29
+ // Annotate the CommonJS export names for ESM import in node:
30
+ 0 && (module.exports = {
31
+ readStream,
32
+ streamChatFromRoute,
33
+ streamFromRoute
34
+ });
35
+ //# sourceMappingURL=browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/browser.ts"],"sourcesContent":["// 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 { StreamChunk, StreamFromRouteArgs } from \"@kortyx/stream/browser\";\nexport { readStream, streamFromRoute } from \"@kortyx/stream/browser\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,qBAAoC;AAEpC,IAAAA,kBAA4C;","names":["import_browser"]}
package/dist/index.d.ts CHANGED
@@ -1,12 +1,7 @@
1
- export type { CreateAgentArgs, ProcessChatArgs } from "@kortyx/agent";
2
- export { createAgent, processChat } from "@kortyx/agent";
3
- export type { GraphState, MemoryEnvelope, NodeConfig, NodeContext, NodeFn, NodeHandler, NodeResult, WorkflowDefinition, WorkflowId, } from "@kortyx/core";
4
- export { defineWorkflow, loadWorkflow, validateWorkflow } from "@kortyx/core";
5
- export { useAiInterrupt, useAiMemory, useAiProvider, useEmit, useNodeState, useStructuredData, useWorkflowState, } from "@kortyx/hooks";
6
- export { createInMemoryAdapter, createPostgresAdapter, createRedisAdapter, } from "@kortyx/memory";
7
- export * from "@kortyx/providers";
8
- export type { WorkflowRegistry } from "@kortyx/runtime";
9
- export { clearRegisteredNodes, createFileWorkflowRegistry, createFrameworkAdapterFromEnv, createInMemoryFrameworkAdapter, createInMemoryWorkflowRegistry, createRedisFrameworkAdapter, getRegisteredNode, listRegisteredNodes, registerNode, } from "@kortyx/runtime";
10
- export type { StreamChunk } from "@kortyx/stream";
11
- export { createStreamResponse, readStream } from "@kortyx/stream";
12
- //# sourceMappingURL=index.d.ts.map
1
+ export { Agent, AgentMemoryConfig, AgentProcessOptions, AgentSessionConfig, ChatRequestBody, CreateAgentArgs, ProcessChatArgs, StreamChatFromRouteArgs, createAgent, createChatRouteHandler, parseChatRequestBody, processChat, processChatRequestBody, streamChatFromRoute } from '@kortyx/agent';
2
+ export { GraphState, MemoryEnvelope, NodeConfig, NodeContext, NodeFn, NodeHandler, NodeResult, WorkflowDefinition, WorkflowId, defineWorkflow, loadWorkflow, validateWorkflow } from '@kortyx/core';
3
+ export { UseReasonArgs, UseReasonResult, useAiInterrupt, useAiMemory, useEmit, useNodeState, useReason, useStructuredData, useWorkflowState } from '@kortyx/hooks';
4
+ export { createInMemoryAdapter, createPostgresAdapter, createRedisAdapter } from '@kortyx/memory';
5
+ export * from '@kortyx/providers';
6
+ export { WorkflowRegistry, clearRegisteredNodes, createFileWorkflowRegistry, createFrameworkAdapterFromEnv, createInMemoryFrameworkAdapter, createInMemoryWorkflowRegistry, createRedisFrameworkAdapter, getRegisteredNode, listRegisteredNodes, registerNode } from '@kortyx/runtime';
7
+ export { StreamChunk, createStreamResponse, readStream } from '@kortyx/stream';
package/dist/index.js CHANGED
@@ -1,50 +1,96 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
15
8
  };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.readStream = exports.createStreamResponse = exports.registerNode = exports.listRegisteredNodes = exports.getRegisteredNode = exports.createRedisFrameworkAdapter = exports.createInMemoryWorkflowRegistry = exports.createInMemoryFrameworkAdapter = exports.createFrameworkAdapterFromEnv = exports.createFileWorkflowRegistry = exports.clearRegisteredNodes = exports.createRedisAdapter = exports.createPostgresAdapter = exports.createInMemoryAdapter = exports.useWorkflowState = exports.useStructuredData = exports.useNodeState = exports.useEmit = exports.useAiProvider = exports.useAiMemory = exports.useAiInterrupt = exports.validateWorkflow = exports.loadWorkflow = exports.defineWorkflow = exports.processChat = exports.createAgent = void 0;
18
- var agent_1 = require("@kortyx/agent");
19
- Object.defineProperty(exports, "createAgent", { enumerable: true, get: function () { return agent_1.createAgent; } });
20
- Object.defineProperty(exports, "processChat", { enumerable: true, get: function () { return agent_1.processChat; } });
21
- var core_1 = require("@kortyx/core");
22
- Object.defineProperty(exports, "defineWorkflow", { enumerable: true, get: function () { return core_1.defineWorkflow; } });
23
- Object.defineProperty(exports, "loadWorkflow", { enumerable: true, get: function () { return core_1.loadWorkflow; } });
24
- Object.defineProperty(exports, "validateWorkflow", { enumerable: true, get: function () { return core_1.validateWorkflow; } });
25
- var hooks_1 = require("@kortyx/hooks");
26
- Object.defineProperty(exports, "useAiInterrupt", { enumerable: true, get: function () { return hooks_1.useAiInterrupt; } });
27
- Object.defineProperty(exports, "useAiMemory", { enumerable: true, get: function () { return hooks_1.useAiMemory; } });
28
- Object.defineProperty(exports, "useAiProvider", { enumerable: true, get: function () { return hooks_1.useAiProvider; } });
29
- Object.defineProperty(exports, "useEmit", { enumerable: true, get: function () { return hooks_1.useEmit; } });
30
- Object.defineProperty(exports, "useNodeState", { enumerable: true, get: function () { return hooks_1.useNodeState; } });
31
- Object.defineProperty(exports, "useStructuredData", { enumerable: true, get: function () { return hooks_1.useStructuredData; } });
32
- Object.defineProperty(exports, "useWorkflowState", { enumerable: true, get: function () { return hooks_1.useWorkflowState; } });
33
- var memory_1 = require("@kortyx/memory");
34
- Object.defineProperty(exports, "createInMemoryAdapter", { enumerable: true, get: function () { return memory_1.createInMemoryAdapter; } });
35
- Object.defineProperty(exports, "createPostgresAdapter", { enumerable: true, get: function () { return memory_1.createPostgresAdapter; } });
36
- Object.defineProperty(exports, "createRedisAdapter", { enumerable: true, get: function () { return memory_1.createRedisAdapter; } });
37
- __exportStar(require("@kortyx/providers"), exports);
38
- var runtime_1 = require("@kortyx/runtime");
39
- Object.defineProperty(exports, "clearRegisteredNodes", { enumerable: true, get: function () { return runtime_1.clearRegisteredNodes; } });
40
- Object.defineProperty(exports, "createFileWorkflowRegistry", { enumerable: true, get: function () { return runtime_1.createFileWorkflowRegistry; } });
41
- Object.defineProperty(exports, "createFrameworkAdapterFromEnv", { enumerable: true, get: function () { return runtime_1.createFrameworkAdapterFromEnv; } });
42
- Object.defineProperty(exports, "createInMemoryFrameworkAdapter", { enumerable: true, get: function () { return runtime_1.createInMemoryFrameworkAdapter; } });
43
- Object.defineProperty(exports, "createInMemoryWorkflowRegistry", { enumerable: true, get: function () { return runtime_1.createInMemoryWorkflowRegistry; } });
44
- Object.defineProperty(exports, "createRedisFrameworkAdapter", { enumerable: true, get: function () { return runtime_1.createRedisFrameworkAdapter; } });
45
- Object.defineProperty(exports, "getRegisteredNode", { enumerable: true, get: function () { return runtime_1.getRegisteredNode; } });
46
- Object.defineProperty(exports, "listRegisteredNodes", { enumerable: true, get: function () { return runtime_1.listRegisteredNodes; } });
47
- Object.defineProperty(exports, "registerNode", { enumerable: true, get: function () { return runtime_1.registerNode; } });
48
- var stream_1 = require("@kortyx/stream");
49
- Object.defineProperty(exports, "createStreamResponse", { enumerable: true, get: function () { return stream_1.createStreamResponse; } });
50
- Object.defineProperty(exports, "readStream", { enumerable: true, get: function () { return stream_1.readStream; } });
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/index.ts
21
+ var index_exports = {};
22
+ __export(index_exports, {
23
+ clearRegisteredNodes: () => import_runtime.clearRegisteredNodes,
24
+ createAgent: () => import_agent.createAgent,
25
+ createChatRouteHandler: () => import_agent.createChatRouteHandler,
26
+ createFileWorkflowRegistry: () => import_runtime.createFileWorkflowRegistry,
27
+ createFrameworkAdapterFromEnv: () => import_runtime.createFrameworkAdapterFromEnv,
28
+ createInMemoryAdapter: () => import_memory.createInMemoryAdapter,
29
+ createInMemoryFrameworkAdapter: () => import_runtime.createInMemoryFrameworkAdapter,
30
+ createInMemoryWorkflowRegistry: () => import_runtime.createInMemoryWorkflowRegistry,
31
+ createPostgresAdapter: () => import_memory.createPostgresAdapter,
32
+ createRedisAdapter: () => import_memory.createRedisAdapter,
33
+ createRedisFrameworkAdapter: () => import_runtime.createRedisFrameworkAdapter,
34
+ createStreamResponse: () => import_stream.createStreamResponse,
35
+ defineWorkflow: () => import_core.defineWorkflow,
36
+ getRegisteredNode: () => import_runtime.getRegisteredNode,
37
+ listRegisteredNodes: () => import_runtime.listRegisteredNodes,
38
+ loadWorkflow: () => import_core.loadWorkflow,
39
+ parseChatRequestBody: () => import_agent.parseChatRequestBody,
40
+ processChat: () => import_agent.processChat,
41
+ processChatRequestBody: () => import_agent.processChatRequestBody,
42
+ readStream: () => import_stream.readStream,
43
+ registerNode: () => import_runtime.registerNode,
44
+ streamChatFromRoute: () => import_agent.streamChatFromRoute,
45
+ useAiInterrupt: () => import_hooks.useAiInterrupt,
46
+ useAiMemory: () => import_hooks.useAiMemory,
47
+ useEmit: () => import_hooks.useEmit,
48
+ useNodeState: () => import_hooks.useNodeState,
49
+ useReason: () => import_hooks.useReason,
50
+ useStructuredData: () => import_hooks.useStructuredData,
51
+ useWorkflowState: () => import_hooks.useWorkflowState,
52
+ validateWorkflow: () => import_core.validateWorkflow
53
+ });
54
+ module.exports = __toCommonJS(index_exports);
55
+ var import_agent = require("@kortyx/agent");
56
+ var import_core = require("@kortyx/core");
57
+ var import_hooks = require("@kortyx/hooks");
58
+ var import_memory = require("@kortyx/memory");
59
+ __reExport(index_exports, require("@kortyx/providers"), module.exports);
60
+ var import_runtime = require("@kortyx/runtime");
61
+ var import_stream = require("@kortyx/stream");
62
+ // Annotate the CommonJS export names for ESM import in node:
63
+ 0 && (module.exports = {
64
+ clearRegisteredNodes,
65
+ createAgent,
66
+ createChatRouteHandler,
67
+ createFileWorkflowRegistry,
68
+ createFrameworkAdapterFromEnv,
69
+ createInMemoryAdapter,
70
+ createInMemoryFrameworkAdapter,
71
+ createInMemoryWorkflowRegistry,
72
+ createPostgresAdapter,
73
+ createRedisAdapter,
74
+ createRedisFrameworkAdapter,
75
+ createStreamResponse,
76
+ defineWorkflow,
77
+ getRegisteredNode,
78
+ listRegisteredNodes,
79
+ loadWorkflow,
80
+ parseChatRequestBody,
81
+ processChat,
82
+ processChatRequestBody,
83
+ readStream,
84
+ registerNode,
85
+ streamChatFromRoute,
86
+ useAiInterrupt,
87
+ useAiMemory,
88
+ useEmit,
89
+ useNodeState,
90
+ useReason,
91
+ useStructuredData,
92
+ useWorkflowState,
93
+ validateWorkflow,
94
+ ...require("@kortyx/providers")
95
+ });
96
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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 AgentMemoryConfig,\n AgentProcessOptions,\n AgentSessionConfig,\n ChatRequestBody,\n CreateAgentArgs,\n ProcessChatArgs,\n StreamChatFromRouteArgs,\n} from \"@kortyx/agent\";\nexport {\n createAgent,\n createChatRouteHandler,\n parseChatRequestBody,\n processChat,\n processChatRequestBody,\n streamChatFromRoute,\n} from \"@kortyx/agent\";\nexport type {\n GraphState,\n MemoryEnvelope,\n NodeConfig,\n NodeContext,\n NodeFn,\n NodeHandler,\n NodeResult,\n WorkflowDefinition,\n WorkflowId,\n} from \"@kortyx/core\";\nexport { defineWorkflow, loadWorkflow, validateWorkflow } from \"@kortyx/core\";\nexport type { UseReasonArgs, UseReasonResult } from \"@kortyx/hooks\";\nexport {\n useAiInterrupt,\n useAiMemory,\n useEmit,\n useNodeState,\n useReason,\n useStructuredData,\n useWorkflowState,\n} from \"@kortyx/hooks\";\nexport {\n createInMemoryAdapter,\n createPostgresAdapter,\n createRedisAdapter,\n} from \"@kortyx/memory\";\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 { StreamChunk } from \"@kortyx/stream\";\nexport { createStreamResponse, readStream } 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,mBAOO;AAYP,kBAA+D;AAE/D,mBAQO;AACP,oBAIO;AACP,0BAAc,8BAhDd;AAkDA,qBAUO;AAEP,oBAAiD;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kortyx",
3
- "version": "0.3.1",
3
+ "version": "0.4.1",
4
4
  "private": false,
5
5
  "description": "The batteries-included Kortyx package that aggregates the core building blocks.",
6
6
  "keywords": [
@@ -12,7 +12,7 @@
12
12
  "kortyx"
13
13
  ],
14
14
  "license": "Apache-2.0",
15
- "homepage": "https://github.com/kortyx-io/kortyx/tree/main/packages/kortyx#readme",
15
+ "homepage": "https://kortyx.io/",
16
16
  "bugs": {
17
17
  "url": "https://github.com/kortyx-io/kortyx/issues"
18
18
  },
@@ -39,7 +39,7 @@
39
39
  "CHANGELOG.md"
40
40
  ],
41
41
  "scripts": {
42
- "build": "tsc -p tsconfig.build.json",
42
+ "build": "tsup",
43
43
  "predev": "tsc -p tsconfig.build.json",
44
44
  "dev": "tsc --watch",
45
45
  "lint": "biome check src",
@@ -58,12 +58,13 @@
58
58
  },
59
59
  "devDependencies": {
60
60
  "turbo": "^2.5.4",
61
- "typescript": "5.7.2"
61
+ "typescript": "5.7.2",
62
+ "tsup": "^8.5.1"
62
63
  },
63
64
  "sideEffects": false,
64
65
  "repository": {
65
66
  "type": "git",
66
- "url": "https://github.com/kortyx-io/kortyx",
67
+ "url": "https://github.com/kortyx-io/kortyx.git",
67
68
  "directory": "packages/kortyx"
68
69
  }
69
70
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAGA,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACzD,YAAY,EACV,UAAU,EACV,cAAc,EACd,UAAU,EACV,WAAW,EACX,MAAM,EACN,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EACL,cAAc,EACd,WAAW,EACX,aAAa,EACb,OAAO,EACP,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,6BAA6B,EAC7B,8BAA8B,EAC9B,8BAA8B,EAC9B,2BAA2B,EAC3B,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,GACb,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC"}