@contractspec/lib.ai-agent 1.57.0 → 1.59.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/dist/agent/agent-factory.d.ts +67 -71
- package/dist/agent/agent-factory.d.ts.map +1 -1
- package/dist/agent/agent-factory.js +658 -100
- package/dist/agent/agent.test.d.ts +2 -0
- package/dist/agent/agent.test.d.ts.map +1 -0
- package/dist/agent/contract-spec-agent.d.ts +48 -52
- package/dist/agent/contract-spec-agent.d.ts.map +1 -1
- package/dist/agent/contract-spec-agent.js +605 -146
- package/dist/agent/index.d.ts +4 -4
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +2102 -4
- package/dist/agent/json-runner.d.ts +15 -19
- package/dist/agent/json-runner.d.ts.map +1 -1
- package/dist/agent/json-runner.js +672 -57
- package/dist/agent/json-runner.test.d.ts +2 -0
- package/dist/agent/json-runner.test.d.ts.map +1 -0
- package/dist/agent/unified-agent.d.ts +132 -109
- package/dist/agent/unified-agent.d.ts.map +1 -1
- package/dist/agent/unified-agent.js +2011 -293
- package/dist/approval/index.d.ts +3 -2
- package/dist/approval/index.d.ts.map +1 -0
- package/dist/approval/index.js +128 -2
- package/dist/approval/workflow.d.ts +106 -110
- package/dist/approval/workflow.d.ts.map +1 -1
- package/dist/approval/workflow.js +126 -157
- package/dist/exporters/claude-agent-exporter.d.ts +50 -48
- package/dist/exporters/claude-agent-exporter.d.ts.map +1 -1
- package/dist/exporters/claude-agent-exporter.js +258 -203
- package/dist/exporters/index.d.ts +28 -4
- package/dist/exporters/index.d.ts.map +1 -0
- package/dist/exporters/index.js +737 -3
- package/dist/exporters/opencode-exporter.d.ts +47 -45
- package/dist/exporters/opencode-exporter.d.ts.map +1 -1
- package/dist/exporters/opencode-exporter.js +507 -191
- package/dist/exporters/types.d.ts +171 -169
- package/dist/exporters/types.d.ts.map +1 -1
- package/dist/exporters/types.js +1 -0
- package/dist/index.d.ts +15 -39
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3337 -32
- package/dist/interop/index.d.ts +48 -4
- package/dist/interop/index.d.ts.map +1 -0
- package/dist/interop/index.js +709 -3
- package/dist/interop/spec-consumer.d.ts +57 -53
- package/dist/interop/spec-consumer.d.ts.map +1 -1
- package/dist/interop/spec-consumer.js +302 -282
- package/dist/interop/tool-consumer.d.ts +57 -53
- package/dist/interop/tool-consumer.d.ts.map +1 -1
- package/dist/interop/tool-consumer.js +412 -213
- package/dist/interop/types.d.ts +173 -171
- package/dist/interop/types.d.ts.map +1 -1
- package/dist/interop/types.js +1 -0
- package/dist/knowledge/index.d.ts +2 -2
- package/dist/knowledge/index.d.ts.map +1 -0
- package/dist/knowledge/index.js +66 -2
- package/dist/knowledge/injector.d.ts +16 -20
- package/dist/knowledge/injector.d.ts.map +1 -1
- package/dist/knowledge/injector.js +56 -47
- package/dist/memory/in-memory.d.ts +15 -19
- package/dist/memory/in-memory.d.ts.map +1 -1
- package/dist/memory/in-memory.js +152 -46
- package/dist/memory/index.d.ts +3 -3
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +155 -3
- package/dist/memory/manager.d.ts +32 -36
- package/dist/memory/manager.d.ts.map +1 -1
- package/dist/memory/manager.js +96 -70
- package/dist/memory/memory.test.d.ts +2 -0
- package/dist/memory/memory.test.d.ts.map +1 -0
- package/dist/node/agent/agent-factory.js +661 -0
- package/dist/node/agent/contract-spec-agent.js +607 -0
- package/dist/node/agent/index.js +2103 -0
- package/dist/node/agent/json-runner.js +684 -0
- package/dist/node/agent/unified-agent.js +2019 -0
- package/dist/node/approval/index.js +129 -0
- package/dist/node/approval/workflow.js +129 -0
- package/dist/node/exporters/claude-agent-exporter.js +265 -0
- package/dist/node/exporters/index.js +738 -0
- package/dist/node/exporters/opencode-exporter.js +516 -0
- package/dist/node/exporters/types.js +0 -0
- package/dist/node/index.js +3337 -0
- package/dist/node/interop/index.js +710 -0
- package/dist/node/interop/spec-consumer.js +307 -0
- package/dist/node/interop/tool-consumer.js +419 -0
- package/dist/node/interop/types.js +0 -0
- package/dist/node/knowledge/index.js +67 -0
- package/dist/node/knowledge/injector.js +67 -0
- package/dist/node/memory/in-memory.js +154 -0
- package/dist/node/memory/index.js +156 -0
- package/dist/node/memory/manager.js +105 -0
- package/dist/node/providers/claude-agent-sdk/adapter.js +624 -0
- package/dist/node/providers/claude-agent-sdk/index.js +673 -0
- package/dist/node/providers/claude-agent-sdk/session-bridge.js +149 -0
- package/dist/node/providers/claude-agent-sdk/tool-bridge.js +118 -0
- package/dist/node/providers/index.js +1261 -0
- package/dist/node/providers/opencode-sdk/adapter.js +669 -0
- package/dist/node/providers/opencode-sdk/agent-bridge.js +299 -0
- package/dist/node/providers/opencode-sdk/index.js +703 -0
- package/dist/node/providers/opencode-sdk/tool-bridge.js +141 -0
- package/dist/node/providers/registry.js +89 -0
- package/dist/node/providers/types.js +56 -0
- package/dist/node/schema/index.js +195 -0
- package/dist/node/schema/json-schema-to-zod.js +152 -0
- package/dist/node/schema/schema-output.js +190 -0
- package/dist/node/session/index.js +90 -0
- package/dist/node/session/store.js +90 -0
- package/dist/node/spec/index.js +85 -0
- package/dist/node/spec/registry.js +56 -0
- package/dist/node/spec/spec.js +44 -0
- package/dist/node/telemetry/adapter.js +85 -0
- package/dist/node/telemetry/index.js +86 -0
- package/dist/node/tools/index.js +345 -0
- package/dist/node/tools/knowledge-tool.js +74 -0
- package/dist/node/tools/mcp-client.js +47 -0
- package/dist/node/tools/mcp-server.js +205 -0
- package/dist/node/tools/tool-adapter.js +197 -0
- package/dist/node/types.js +0 -0
- package/dist/providers/claude-agent-sdk/adapter.d.ts +60 -52
- package/dist/providers/claude-agent-sdk/adapter.d.ts.map +1 -1
- package/dist/providers/claude-agent-sdk/adapter.js +622 -304
- package/dist/providers/claude-agent-sdk/index.d.ts +22 -4
- package/dist/providers/claude-agent-sdk/index.d.ts.map +1 -0
- package/dist/providers/claude-agent-sdk/index.js +672 -4
- package/dist/providers/claude-agent-sdk/session-bridge.d.ts +43 -40
- package/dist/providers/claude-agent-sdk/session-bridge.d.ts.map +1 -1
- package/dist/providers/claude-agent-sdk/session-bridge.js +121 -130
- package/dist/providers/claude-agent-sdk/tool-bridge.d.ts +63 -60
- package/dist/providers/claude-agent-sdk/tool-bridge.d.ts.map +1 -1
- package/dist/providers/claude-agent-sdk/tool-bridge.js +104 -108
- package/dist/providers/index.d.ts +28 -7
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +1261 -8
- package/dist/providers/opencode-sdk/adapter.d.ts +56 -48
- package/dist/providers/opencode-sdk/adapter.d.ts.map +1 -1
- package/dist/providers/opencode-sdk/adapter.js +667 -274
- package/dist/providers/opencode-sdk/agent-bridge.d.ts +62 -57
- package/dist/providers/opencode-sdk/agent-bridge.d.ts.map +1 -1
- package/dist/providers/opencode-sdk/agent-bridge.js +289 -155
- package/dist/providers/opencode-sdk/index.d.ts +22 -4
- package/dist/providers/opencode-sdk/index.d.ts.map +1 -0
- package/dist/providers/opencode-sdk/index.js +702 -4
- package/dist/providers/opencode-sdk/tool-bridge.d.ts +41 -42
- package/dist/providers/opencode-sdk/tool-bridge.d.ts.map +1 -1
- package/dist/providers/opencode-sdk/tool-bridge.js +121 -107
- package/dist/providers/registry.d.ts +10 -11
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js +86 -49
- package/dist/providers/types.d.ts +169 -166
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/providers/types.js +54 -42
- package/dist/schema/index.d.ts +3 -3
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +194 -3
- package/dist/schema/json-schema-to-zod.d.ts +23 -26
- package/dist/schema/json-schema-to-zod.d.ts.map +1 -1
- package/dist/schema/json-schema-to-zod.js +138 -110
- package/dist/schema/schema-output.d.ts +29 -32
- package/dist/schema/schema-output.d.ts.map +1 -1
- package/dist/schema/schema-output.js +178 -53
- package/dist/session/index.d.ts +2 -2
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +89 -2
- package/dist/session/store.d.ts +51 -55
- package/dist/session/store.d.ts.map +1 -1
- package/dist/session/store.js +85 -74
- package/dist/spec/index.d.ts +3 -3
- package/dist/spec/index.d.ts.map +1 -0
- package/dist/spec/index.js +84 -3
- package/dist/spec/registry.d.ts +32 -36
- package/dist/spec/registry.d.ts.map +1 -1
- package/dist/spec/registry.js +51 -60
- package/dist/spec/spec.d.ts +80 -84
- package/dist/spec/spec.d.ts.map +1 -1
- package/dist/spec/spec.js +40 -26
- package/dist/telemetry/adapter.d.ts +33 -37
- package/dist/telemetry/adapter.d.ts.map +1 -1
- package/dist/telemetry/adapter.js +78 -96
- package/dist/telemetry/index.d.ts +2 -2
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +85 -2
- package/dist/tools/index.d.ts +5 -5
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +344 -5
- package/dist/tools/knowledge-tool.d.ts +4 -8
- package/dist/tools/knowledge-tool.d.ts.map +1 -1
- package/dist/tools/knowledge-tool.js +68 -48
- package/dist/tools/mcp-client.d.ts +17 -21
- package/dist/tools/mcp-client.d.ts.map +1 -1
- package/dist/tools/mcp-client.js +42 -53
- package/dist/tools/mcp-server.d.ts +14 -18
- package/dist/tools/mcp-server.d.ts.map +1 -1
- package/dist/tools/mcp-server.js +200 -64
- package/dist/tools/tool-adapter.d.ts +7 -11
- package/dist/tools/tool-adapter.d.ts.map +1 -1
- package/dist/tools/tool-adapter.js +187 -70
- package/dist/tools/tools.test.d.ts +2 -0
- package/dist/tools/tools.test.d.ts.map +1 -0
- package/dist/types.d.ts +108 -111
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -0
- package/package.json +448 -90
- package/dist/_virtual/_rolldown/runtime.js +0 -8
- package/dist/agent/agent-factory.js.map +0 -1
- package/dist/agent/contract-spec-agent.js.map +0 -1
- package/dist/agent/json-runner.js.map +0 -1
- package/dist/agent/unified-agent.js.map +0 -1
- package/dist/approval/workflow.js.map +0 -1
- package/dist/exporters/claude-agent-exporter.js.map +0 -1
- package/dist/exporters/opencode-exporter.js.map +0 -1
- package/dist/interop/spec-consumer.js.map +0 -1
- package/dist/interop/tool-consumer.js.map +0 -1
- package/dist/knowledge/injector.js.map +0 -1
- package/dist/memory/in-memory.js.map +0 -1
- package/dist/memory/manager.js.map +0 -1
- package/dist/providers/claude-agent-sdk/adapter.js.map +0 -1
- package/dist/providers/claude-agent-sdk/session-bridge.js.map +0 -1
- package/dist/providers/claude-agent-sdk/tool-bridge.js.map +0 -1
- package/dist/providers/opencode-sdk/adapter.js.map +0 -1
- package/dist/providers/opencode-sdk/agent-bridge.js.map +0 -1
- package/dist/providers/opencode-sdk/tool-bridge.js.map +0 -1
- package/dist/providers/registry.js.map +0 -1
- package/dist/providers/types.js.map +0 -1
- package/dist/schema/json-schema-to-zod.js.map +0 -1
- package/dist/schema/schema-output.js.map +0 -1
- package/dist/session/store.js.map +0 -1
- package/dist/spec/registry.js.map +0 -1
- package/dist/spec/spec.js.map +0 -1
- package/dist/telemetry/adapter.js.map +0 -1
- package/dist/tools/knowledge-tool.js.map +0 -1
- package/dist/tools/mcp-client.js.map +0 -1
- package/dist/tools/mcp-server.js.map +0 -1
- package/dist/tools/tool-adapter.js.map +0 -1
|
@@ -1,65 +1,190 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
// @bun
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __export = (target, all) => {
|
|
4
|
+
for (var name in all)
|
|
5
|
+
__defProp(target, name, {
|
|
6
|
+
get: all[name],
|
|
7
|
+
enumerable: true,
|
|
8
|
+
configurable: true,
|
|
9
|
+
set: (newValue) => all[name] = () => newValue
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
13
|
+
var __require = import.meta.require;
|
|
14
|
+
|
|
15
|
+
// src/schema/json-schema-to-zod.ts
|
|
16
|
+
import { z } from "zod";
|
|
17
|
+
function jsonSchemaToZod(schema) {
|
|
18
|
+
const s = schema;
|
|
19
|
+
const makeNullable = (zodSchema) => {
|
|
20
|
+
return s.nullable ? z.union([zodSchema, z.null()]) : zodSchema;
|
|
21
|
+
};
|
|
22
|
+
if (s.const !== undefined) {
|
|
23
|
+
return z.literal(s.const);
|
|
24
|
+
}
|
|
25
|
+
if (s.enum) {
|
|
26
|
+
const values = s.enum;
|
|
27
|
+
return makeNullable(z.enum(values.map(String)));
|
|
28
|
+
}
|
|
29
|
+
if (s.anyOf && s.anyOf.length > 0) {
|
|
30
|
+
const schemas = s.anyOf.map((sub) => jsonSchemaToZod(sub));
|
|
31
|
+
if (schemas.length === 1)
|
|
32
|
+
return schemas[0] ?? z.unknown();
|
|
33
|
+
return z.union([
|
|
34
|
+
schemas[0] ?? z.unknown(),
|
|
35
|
+
schemas[1] ?? z.unknown(),
|
|
36
|
+
...schemas.slice(2)
|
|
37
|
+
]);
|
|
38
|
+
}
|
|
39
|
+
if (s.oneOf && s.oneOf.length > 0) {
|
|
40
|
+
const schemas = s.oneOf.map((sub) => jsonSchemaToZod(sub));
|
|
41
|
+
if (schemas.length === 1)
|
|
42
|
+
return schemas[0] ?? z.unknown();
|
|
43
|
+
return z.union([
|
|
44
|
+
schemas[0] ?? z.unknown(),
|
|
45
|
+
schemas[1] ?? z.unknown(),
|
|
46
|
+
...schemas.slice(2)
|
|
47
|
+
]);
|
|
48
|
+
}
|
|
49
|
+
if (s.allOf && s.allOf.length > 0) {
|
|
50
|
+
const schemas = s.allOf.map((sub) => jsonSchemaToZod(sub));
|
|
51
|
+
return schemas.reduce((acc, curr) => z.intersection(acc, curr));
|
|
52
|
+
}
|
|
53
|
+
switch (s.type) {
|
|
54
|
+
case "string":
|
|
55
|
+
return makeNullable(buildStringSchema(s));
|
|
56
|
+
case "number":
|
|
57
|
+
case "integer":
|
|
58
|
+
return makeNullable(buildNumberSchema(s));
|
|
59
|
+
case "boolean":
|
|
60
|
+
return makeNullable(z.boolean());
|
|
61
|
+
case "null":
|
|
62
|
+
return z.null();
|
|
63
|
+
case "array":
|
|
64
|
+
return makeNullable(buildArraySchema(s));
|
|
65
|
+
case "object":
|
|
66
|
+
return makeNullable(buildObjectSchema(s));
|
|
67
|
+
default:
|
|
68
|
+
return z.unknown();
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
function buildStringSchema(schema) {
|
|
72
|
+
let zodSchema = z.string();
|
|
73
|
+
if (schema.description) {
|
|
74
|
+
zodSchema = zodSchema.describe(schema.description);
|
|
75
|
+
}
|
|
76
|
+
switch (schema.format) {
|
|
77
|
+
case "email":
|
|
78
|
+
zodSchema = zodSchema.email();
|
|
79
|
+
break;
|
|
80
|
+
case "uri":
|
|
81
|
+
case "url":
|
|
82
|
+
zodSchema = zodSchema.url();
|
|
83
|
+
break;
|
|
84
|
+
case "uuid":
|
|
85
|
+
zodSchema = zodSchema.uuid();
|
|
86
|
+
break;
|
|
87
|
+
case "date-time":
|
|
88
|
+
zodSchema = zodSchema.datetime();
|
|
89
|
+
break;
|
|
90
|
+
case "date":
|
|
91
|
+
zodSchema = zodSchema.date();
|
|
92
|
+
break;
|
|
93
|
+
}
|
|
94
|
+
if (schema.minLength !== undefined) {
|
|
95
|
+
zodSchema = zodSchema.min(schema.minLength);
|
|
96
|
+
}
|
|
97
|
+
if (schema.maxLength !== undefined) {
|
|
98
|
+
zodSchema = zodSchema.max(schema.maxLength);
|
|
99
|
+
}
|
|
100
|
+
if (schema.pattern) {
|
|
101
|
+
zodSchema = zodSchema.regex(new RegExp(schema.pattern));
|
|
102
|
+
}
|
|
103
|
+
return zodSchema;
|
|
104
|
+
}
|
|
105
|
+
function buildNumberSchema(schema) {
|
|
106
|
+
let zodSchema = schema.type === "integer" ? z.number().int() : z.number();
|
|
107
|
+
if (schema.description) {
|
|
108
|
+
zodSchema = zodSchema.describe(schema.description);
|
|
109
|
+
}
|
|
110
|
+
if (schema.minimum !== undefined) {
|
|
111
|
+
zodSchema = zodSchema.min(schema.minimum);
|
|
112
|
+
}
|
|
113
|
+
if (schema.maximum !== undefined) {
|
|
114
|
+
zodSchema = zodSchema.max(schema.maximum);
|
|
115
|
+
}
|
|
116
|
+
return zodSchema;
|
|
117
|
+
}
|
|
118
|
+
function buildArraySchema(schema) {
|
|
119
|
+
const itemsSchema = schema.items ? jsonSchemaToZod(schema.items) : z.unknown();
|
|
120
|
+
let zodSchema = z.array(itemsSchema);
|
|
121
|
+
if (schema.description) {
|
|
122
|
+
zodSchema = zodSchema.describe(schema.description);
|
|
123
|
+
}
|
|
124
|
+
return zodSchema;
|
|
125
|
+
}
|
|
126
|
+
function buildObjectSchema(schema) {
|
|
127
|
+
const properties = schema.properties ?? {};
|
|
128
|
+
const required = new Set(schema.required ?? []);
|
|
129
|
+
const shape = {};
|
|
130
|
+
for (const [key, propSchema] of Object.entries(properties)) {
|
|
131
|
+
const zodProp = jsonSchemaToZod(propSchema);
|
|
132
|
+
shape[key] = required.has(key) ? zodProp : zodProp.optional();
|
|
133
|
+
}
|
|
134
|
+
let zodSchema = z.object(shape);
|
|
135
|
+
if (schema.description) {
|
|
136
|
+
zodSchema = zodSchema.describe(schema.description);
|
|
137
|
+
}
|
|
138
|
+
return zodSchema;
|
|
139
|
+
}
|
|
140
|
+
function jsonSchemaToZodSafe(schema) {
|
|
141
|
+
if (!schema || Object.keys(schema).length === 0) {
|
|
142
|
+
return z.object({});
|
|
143
|
+
}
|
|
144
|
+
return jsonSchemaToZod(schema);
|
|
145
|
+
}
|
|
146
|
+
var init_json_schema_to_zod = () => {};
|
|
4
147
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
*
|
|
9
|
-
* @param schema - JSON Schema object
|
|
10
|
-
* @returns AI SDK Output configuration
|
|
11
|
-
*/
|
|
148
|
+
// src/schema/schema-output.ts
|
|
149
|
+
init_json_schema_to_zod();
|
|
150
|
+
import { Output } from "ai";
|
|
12
151
|
function jsonSchemaToOutput(schema) {
|
|
13
|
-
|
|
14
|
-
|
|
152
|
+
const zodSchema = jsonSchemaToZod(schema);
|
|
153
|
+
return Output.object({
|
|
154
|
+
schema: zodSchema
|
|
155
|
+
});
|
|
15
156
|
}
|
|
16
|
-
/**
|
|
17
|
-
* Create an AI SDK Output.array from a JSON Schema items definition.
|
|
18
|
-
*
|
|
19
|
-
* @param itemSchema - JSON Schema for array items
|
|
20
|
-
* @returns AI SDK Output configuration
|
|
21
|
-
*/
|
|
22
157
|
function jsonSchemaToArrayOutput(itemSchema) {
|
|
23
|
-
|
|
24
|
-
|
|
158
|
+
const zodSchema = jsonSchemaToZod(itemSchema);
|
|
159
|
+
return Output.array({
|
|
160
|
+
element: zodSchema
|
|
161
|
+
});
|
|
25
162
|
}
|
|
26
|
-
/**
|
|
27
|
-
* Create an AI SDK Output.choice from enum values.
|
|
28
|
-
*
|
|
29
|
-
* @param choices - Array of choice values
|
|
30
|
-
* @returns AI SDK Output configuration
|
|
31
|
-
*/
|
|
32
163
|
function enumToChoiceOutput(choices) {
|
|
33
|
-
|
|
164
|
+
return Output.choice({
|
|
165
|
+
options: choices
|
|
166
|
+
});
|
|
34
167
|
}
|
|
35
|
-
/**
|
|
36
|
-
* Create an AI SDK Output from a Zod schema directly.
|
|
37
|
-
*
|
|
38
|
-
* @param schema - Zod schema
|
|
39
|
-
* @returns AI SDK Output configuration
|
|
40
|
-
*/
|
|
41
168
|
function zodToOutput(schema) {
|
|
42
|
-
|
|
169
|
+
return Output.object({
|
|
170
|
+
schema
|
|
171
|
+
});
|
|
43
172
|
}
|
|
44
|
-
/**
|
|
45
|
-
* Create a simple text output configuration.
|
|
46
|
-
*
|
|
47
|
-
* @returns AI SDK Output configuration for text
|
|
48
|
-
*/
|
|
49
173
|
function textOutput() {
|
|
50
|
-
|
|
174
|
+
return Output.text();
|
|
51
175
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
176
|
+
var SchemaOutput = {
|
|
177
|
+
fromJsonSchema: jsonSchemaToOutput,
|
|
178
|
+
arrayFromJsonSchema: jsonSchemaToArrayOutput,
|
|
179
|
+
fromEnum: enumToChoiceOutput,
|
|
180
|
+
fromZod: zodToOutput,
|
|
181
|
+
text: textOutput
|
|
182
|
+
};
|
|
183
|
+
export {
|
|
184
|
+
zodToOutput,
|
|
185
|
+
textOutput,
|
|
186
|
+
jsonSchemaToOutput,
|
|
187
|
+
jsonSchemaToArrayOutput,
|
|
188
|
+
enumToChoiceOutput,
|
|
189
|
+
SchemaOutput
|
|
61
190
|
};
|
|
62
|
-
|
|
63
|
-
//#endregion
|
|
64
|
-
export { SchemaOutput, enumToChoiceOutput, jsonSchemaToArrayOutput, jsonSchemaToOutput, textOutput, zodToOutput };
|
|
65
|
-
//# sourceMappingURL=schema-output.js.map
|
package/dist/session/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
export * from './store';
|
|
2
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
|
package/dist/session/index.js
CHANGED
|
@@ -1,3 +1,90 @@
|
|
|
1
|
-
|
|
1
|
+
// @bun
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __export = (target, all) => {
|
|
4
|
+
for (var name in all)
|
|
5
|
+
__defProp(target, name, {
|
|
6
|
+
get: all[name],
|
|
7
|
+
enumerable: true,
|
|
8
|
+
configurable: true,
|
|
9
|
+
set: (newValue) => all[name] = () => newValue
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
13
|
+
var __require = import.meta.require;
|
|
2
14
|
|
|
3
|
-
|
|
15
|
+
// src/session/store.ts
|
|
16
|
+
class InMemorySessionStore {
|
|
17
|
+
sessions = new Map;
|
|
18
|
+
async get(sessionId) {
|
|
19
|
+
return this.sessions.get(sessionId) ?? null;
|
|
20
|
+
}
|
|
21
|
+
async create(session) {
|
|
22
|
+
const now = new Date;
|
|
23
|
+
const fullSession = {
|
|
24
|
+
...session,
|
|
25
|
+
createdAt: now,
|
|
26
|
+
updatedAt: now
|
|
27
|
+
};
|
|
28
|
+
this.sessions.set(session.sessionId, fullSession);
|
|
29
|
+
return fullSession;
|
|
30
|
+
}
|
|
31
|
+
async appendStep(sessionId, step) {
|
|
32
|
+
const session = this.sessions.get(sessionId);
|
|
33
|
+
if (session) {
|
|
34
|
+
session.steps.push(step);
|
|
35
|
+
session.updatedAt = new Date;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
async appendMessage(sessionId, message) {
|
|
39
|
+
const session = this.sessions.get(sessionId);
|
|
40
|
+
if (session) {
|
|
41
|
+
session.messages.push(message);
|
|
42
|
+
session.updatedAt = new Date;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
async update(sessionId, updates) {
|
|
46
|
+
const session = this.sessions.get(sessionId);
|
|
47
|
+
if (session) {
|
|
48
|
+
Object.assign(session, updates, { updatedAt: new Date });
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
async delete(sessionId) {
|
|
52
|
+
return this.sessions.delete(sessionId);
|
|
53
|
+
}
|
|
54
|
+
async listByAgent(agentId, limit = 100) {
|
|
55
|
+
const results = [];
|
|
56
|
+
for (const session of this.sessions.values()) {
|
|
57
|
+
if (session.agentId === agentId) {
|
|
58
|
+
results.push(session);
|
|
59
|
+
if (results.length >= limit)
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return results.sort((a, b) => b.updatedAt.getTime() - a.updatedAt.getTime());
|
|
64
|
+
}
|
|
65
|
+
async listByTenant(tenantId, limit = 100) {
|
|
66
|
+
const results = [];
|
|
67
|
+
for (const session of this.sessions.values()) {
|
|
68
|
+
if (session.tenantId === tenantId) {
|
|
69
|
+
results.push(session);
|
|
70
|
+
if (results.length >= limit)
|
|
71
|
+
break;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return results.sort((a, b) => b.updatedAt.getTime() - a.updatedAt.getTime());
|
|
75
|
+
}
|
|
76
|
+
clear() {
|
|
77
|
+
this.sessions.clear();
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
function createInMemorySessionStore() {
|
|
81
|
+
return new InMemorySessionStore;
|
|
82
|
+
}
|
|
83
|
+
function generateSessionId() {
|
|
84
|
+
return `sess_${Date.now()}_${Math.random().toString(36).slice(2, 11)}`;
|
|
85
|
+
}
|
|
86
|
+
export {
|
|
87
|
+
generateSessionId,
|
|
88
|
+
createInMemorySessionStore,
|
|
89
|
+
InMemorySessionStore
|
|
90
|
+
};
|
package/dist/session/store.d.ts
CHANGED
|
@@ -1,73 +1,69 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
//#region src/session/store.d.ts
|
|
1
|
+
import type { ModelMessage, StepResult, ToolSet } from 'ai';
|
|
2
|
+
import type { AgentSessionState } from '../types';
|
|
5
3
|
/**
|
|
6
4
|
* Interface for persisting agent session state.
|
|
7
5
|
*
|
|
8
6
|
* Implementations can use in-memory storage, databases,
|
|
9
7
|
* or external services like Redis.
|
|
10
8
|
*/
|
|
11
|
-
interface AgentSessionStore {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
9
|
+
export interface AgentSessionStore {
|
|
10
|
+
/**
|
|
11
|
+
* Get a session by ID.
|
|
12
|
+
*/
|
|
13
|
+
get(sessionId: string): Promise<AgentSessionState | null>;
|
|
14
|
+
/**
|
|
15
|
+
* Create a new session.
|
|
16
|
+
*/
|
|
17
|
+
create(session: Omit<AgentSessionState, 'createdAt' | 'updatedAt'>): Promise<AgentSessionState>;
|
|
18
|
+
/**
|
|
19
|
+
* Append a step to a session.
|
|
20
|
+
*/
|
|
21
|
+
appendStep(sessionId: string, step: StepResult<ToolSet>): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Append a message to a session.
|
|
24
|
+
*/
|
|
25
|
+
appendMessage(sessionId: string, message: ModelMessage): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Update session properties.
|
|
28
|
+
*/
|
|
29
|
+
update(sessionId: string, updates: Partial<Pick<AgentSessionState, 'status' | 'metadata'>>): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Delete a session.
|
|
32
|
+
*/
|
|
33
|
+
delete(sessionId: string): Promise<boolean>;
|
|
34
|
+
/**
|
|
35
|
+
* List sessions by agent ID.
|
|
36
|
+
*/
|
|
37
|
+
listByAgent(agentId: string, limit?: number): Promise<AgentSessionState[]>;
|
|
38
|
+
/**
|
|
39
|
+
* List sessions by tenant ID.
|
|
40
|
+
*/
|
|
41
|
+
listByTenant(tenantId: string, limit?: number): Promise<AgentSessionState[]>;
|
|
44
42
|
}
|
|
45
43
|
/**
|
|
46
44
|
* In-memory session store for development and testing.
|
|
47
45
|
*/
|
|
48
|
-
declare class InMemorySessionStore implements AgentSessionStore {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
46
|
+
export declare class InMemorySessionStore implements AgentSessionStore {
|
|
47
|
+
private readonly sessions;
|
|
48
|
+
get(sessionId: string): Promise<AgentSessionState | null>;
|
|
49
|
+
create(session: Omit<AgentSessionState, 'createdAt' | 'updatedAt'>): Promise<AgentSessionState>;
|
|
50
|
+
appendStep(sessionId: string, step: StepResult<ToolSet>): Promise<void>;
|
|
51
|
+
appendMessage(sessionId: string, message: ModelMessage): Promise<void>;
|
|
52
|
+
update(sessionId: string, updates: Partial<Pick<AgentSessionState, 'status' | 'metadata'>>): Promise<void>;
|
|
53
|
+
delete(sessionId: string): Promise<boolean>;
|
|
54
|
+
listByAgent(agentId: string, limit?: number): Promise<AgentSessionState[]>;
|
|
55
|
+
listByTenant(tenantId: string, limit?: number): Promise<AgentSessionState[]>;
|
|
56
|
+
/**
|
|
57
|
+
* Clear all sessions (for testing).
|
|
58
|
+
*/
|
|
59
|
+
clear(): void;
|
|
62
60
|
}
|
|
63
61
|
/**
|
|
64
62
|
* Create an in-memory session store.
|
|
65
63
|
*/
|
|
66
|
-
declare function createInMemorySessionStore(): AgentSessionStore;
|
|
64
|
+
export declare function createInMemorySessionStore(): AgentSessionStore;
|
|
67
65
|
/**
|
|
68
66
|
* Generate a unique session ID.
|
|
69
67
|
*/
|
|
70
|
-
declare function generateSessionId(): string;
|
|
71
|
-
//#endregion
|
|
72
|
-
export { AgentSessionStore, InMemorySessionStore, createInMemorySessionStore, generateSessionId };
|
|
68
|
+
export declare function generateSessionId(): string;
|
|
73
69
|
//# sourceMappingURL=store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/session/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IAE1D;;OAEG;IACH,MAAM,CACJ,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,WAAW,GAAG,WAAW,CAAC,GAC1D,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAE9B;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExE;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvE;;OAEG;IACH,MAAM,CACJ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,GAAG,UAAU,CAAC,CAAC,GAC/D,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;OAEG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE5C;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAE3E;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;CAC9E;AAED;;GAEG;AACH,qBAAa,oBAAqB,YAAW,iBAAiB;IAC5D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwC;IAE3D,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAIzD,MAAM,CACV,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,WAAW,GAAG,WAAW,CAAC,GAC1D,OAAO,CAAC,iBAAiB,CAAC;IAWvB,UAAU,CACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,GACxB,OAAO,CAAC,IAAI,CAAC;IAQV,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtE,MAAM,CACV,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,GAAG,UAAU,CAAC,CAAC,GAC/D,OAAO,CAAC,IAAI,CAAC;IAOV,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI3C,WAAW,CACf,OAAO,EAAE,MAAM,EACf,KAAK,SAAM,GACV,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAazB,YAAY,CAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,SAAM,GACV,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAa/B;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,iBAAiB,CAE9D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C"}
|
package/dist/session/store.js
CHANGED
|
@@ -1,79 +1,90 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const now = /* @__PURE__ */ new Date();
|
|
12
|
-
const fullSession = {
|
|
13
|
-
...session,
|
|
14
|
-
createdAt: now,
|
|
15
|
-
updatedAt: now
|
|
16
|
-
};
|
|
17
|
-
this.sessions.set(session.sessionId, fullSession);
|
|
18
|
-
return fullSession;
|
|
19
|
-
}
|
|
20
|
-
async appendStep(sessionId, step) {
|
|
21
|
-
const session = this.sessions.get(sessionId);
|
|
22
|
-
if (session) {
|
|
23
|
-
session.steps.push(step);
|
|
24
|
-
session.updatedAt = /* @__PURE__ */ new Date();
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
async appendMessage(sessionId, message) {
|
|
28
|
-
const session = this.sessions.get(sessionId);
|
|
29
|
-
if (session) {
|
|
30
|
-
session.messages.push(message);
|
|
31
|
-
session.updatedAt = /* @__PURE__ */ new Date();
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
async update(sessionId, updates) {
|
|
35
|
-
const session = this.sessions.get(sessionId);
|
|
36
|
-
if (session) Object.assign(session, updates, { updatedAt: /* @__PURE__ */ new Date() });
|
|
37
|
-
}
|
|
38
|
-
async delete(sessionId) {
|
|
39
|
-
return this.sessions.delete(sessionId);
|
|
40
|
-
}
|
|
41
|
-
async listByAgent(agentId, limit = 100) {
|
|
42
|
-
const results = [];
|
|
43
|
-
for (const session of this.sessions.values()) if (session.agentId === agentId) {
|
|
44
|
-
results.push(session);
|
|
45
|
-
if (results.length >= limit) break;
|
|
46
|
-
}
|
|
47
|
-
return results.sort((a, b) => b.updatedAt.getTime() - a.updatedAt.getTime());
|
|
48
|
-
}
|
|
49
|
-
async listByTenant(tenantId, limit = 100) {
|
|
50
|
-
const results = [];
|
|
51
|
-
for (const session of this.sessions.values()) if (session.tenantId === tenantId) {
|
|
52
|
-
results.push(session);
|
|
53
|
-
if (results.length >= limit) break;
|
|
54
|
-
}
|
|
55
|
-
return results.sort((a, b) => b.updatedAt.getTime() - a.updatedAt.getTime());
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Clear all sessions (for testing).
|
|
59
|
-
*/
|
|
60
|
-
clear() {
|
|
61
|
-
this.sessions.clear();
|
|
62
|
-
}
|
|
1
|
+
// @bun
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __export = (target, all) => {
|
|
4
|
+
for (var name in all)
|
|
5
|
+
__defProp(target, name, {
|
|
6
|
+
get: all[name],
|
|
7
|
+
enumerable: true,
|
|
8
|
+
configurable: true,
|
|
9
|
+
set: (newValue) => all[name] = () => newValue
|
|
10
|
+
});
|
|
63
11
|
};
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
12
|
+
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
13
|
+
var __require = import.meta.require;
|
|
14
|
+
|
|
15
|
+
// src/session/store.ts
|
|
16
|
+
class InMemorySessionStore {
|
|
17
|
+
sessions = new Map;
|
|
18
|
+
async get(sessionId) {
|
|
19
|
+
return this.sessions.get(sessionId) ?? null;
|
|
20
|
+
}
|
|
21
|
+
async create(session) {
|
|
22
|
+
const now = new Date;
|
|
23
|
+
const fullSession = {
|
|
24
|
+
...session,
|
|
25
|
+
createdAt: now,
|
|
26
|
+
updatedAt: now
|
|
27
|
+
};
|
|
28
|
+
this.sessions.set(session.sessionId, fullSession);
|
|
29
|
+
return fullSession;
|
|
30
|
+
}
|
|
31
|
+
async appendStep(sessionId, step) {
|
|
32
|
+
const session = this.sessions.get(sessionId);
|
|
33
|
+
if (session) {
|
|
34
|
+
session.steps.push(step);
|
|
35
|
+
session.updatedAt = new Date;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
async appendMessage(sessionId, message) {
|
|
39
|
+
const session = this.sessions.get(sessionId);
|
|
40
|
+
if (session) {
|
|
41
|
+
session.messages.push(message);
|
|
42
|
+
session.updatedAt = new Date;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
async update(sessionId, updates) {
|
|
46
|
+
const session = this.sessions.get(sessionId);
|
|
47
|
+
if (session) {
|
|
48
|
+
Object.assign(session, updates, { updatedAt: new Date });
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
async delete(sessionId) {
|
|
52
|
+
return this.sessions.delete(sessionId);
|
|
53
|
+
}
|
|
54
|
+
async listByAgent(agentId, limit = 100) {
|
|
55
|
+
const results = [];
|
|
56
|
+
for (const session of this.sessions.values()) {
|
|
57
|
+
if (session.agentId === agentId) {
|
|
58
|
+
results.push(session);
|
|
59
|
+
if (results.length >= limit)
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return results.sort((a, b) => b.updatedAt.getTime() - a.updatedAt.getTime());
|
|
64
|
+
}
|
|
65
|
+
async listByTenant(tenantId, limit = 100) {
|
|
66
|
+
const results = [];
|
|
67
|
+
for (const session of this.sessions.values()) {
|
|
68
|
+
if (session.tenantId === tenantId) {
|
|
69
|
+
results.push(session);
|
|
70
|
+
if (results.length >= limit)
|
|
71
|
+
break;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return results.sort((a, b) => b.updatedAt.getTime() - a.updatedAt.getTime());
|
|
75
|
+
}
|
|
76
|
+
clear() {
|
|
77
|
+
this.sessions.clear();
|
|
78
|
+
}
|
|
79
|
+
}
|
|
67
80
|
function createInMemorySessionStore() {
|
|
68
|
-
|
|
81
|
+
return new InMemorySessionStore;
|
|
69
82
|
}
|
|
70
|
-
/**
|
|
71
|
-
* Generate a unique session ID.
|
|
72
|
-
*/
|
|
73
83
|
function generateSessionId() {
|
|
74
|
-
|
|
84
|
+
return `sess_${Date.now()}_${Math.random().toString(36).slice(2, 11)}`;
|
|
75
85
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
86
|
+
export {
|
|
87
|
+
generateSessionId,
|
|
88
|
+
createInMemorySessionStore,
|
|
89
|
+
InMemorySessionStore
|
|
90
|
+
};
|
package/dist/spec/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export * from './spec';
|
|
2
|
+
export * from './registry';
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/spec/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC"}
|