persona-core-opencode 1.0.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/client/index.d.ts +5 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +6 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/personaCoreClient.d.ts +102 -0
- package/dist/client/personaCoreClient.d.ts.map +1 -0
- package/dist/client/personaCoreClient.js +166 -0
- package/dist/client/personaCoreClient.js.map +1 -0
- package/dist/client/workflowHandle.d.ts +62 -0
- package/dist/client/workflowHandle.d.ts.map +1 -0
- package/dist/client/workflowHandle.js +100 -0
- package/dist/client/workflowHandle.js.map +1 -0
- package/dist/generators/index.d.ts +5 -0
- package/dist/generators/index.d.ts.map +1 -0
- package/dist/generators/index.js +5 -0
- package/dist/generators/index.js.map +1 -0
- package/dist/generators/toolFileGenerator.d.ts +15 -0
- package/dist/generators/toolFileGenerator.d.ts.map +1 -0
- package/dist/generators/toolFileGenerator.js +385 -0
- package/dist/generators/toolFileGenerator.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -0
- package/dist/persona/index.d.ts +5 -0
- package/dist/persona/index.d.ts.map +1 -0
- package/dist/persona/index.js +5 -0
- package/dist/persona/index.js.map +1 -0
- package/dist/persona/personaRegistry.d.ts +79 -0
- package/dist/persona/personaRegistry.d.ts.map +1 -0
- package/dist/persona/personaRegistry.js +151 -0
- package/dist/persona/personaRegistry.js.map +1 -0
- package/dist/session/index.d.ts +6 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +6 -0
- package/dist/session/index.js.map +1 -0
- package/dist/session/sessionHandle.d.ts +82 -0
- package/dist/session/sessionHandle.d.ts.map +1 -0
- package/dist/session/sessionHandle.js +82 -0
- package/dist/session/sessionHandle.js.map +1 -0
- package/dist/session/sessionManager.d.ts +72 -0
- package/dist/session/sessionManager.d.ts.map +1 -0
- package/dist/session/sessionManager.js +300 -0
- package/dist/session/sessionManager.js.map +1 -0
- package/dist/types/common.d.ts +94 -0
- package/dist/types/common.d.ts.map +1 -0
- package/dist/types/common.js +5 -0
- package/dist/types/common.js.map +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +7 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/nodes.d.ts +313 -0
- package/dist/types/nodes.d.ts.map +1 -0
- package/dist/types/nodes.js +5 -0
- package/dist/types/nodes.js.map +1 -0
- package/dist/types/persona.d.ts +58 -0
- package/dist/types/persona.d.ts.map +1 -0
- package/dist/types/persona.js +35 -0
- package/dist/types/persona.js.map +1 -0
- package/package.json +60 -0
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session 管理器
|
|
3
|
+
* 使用 opencode CLI (run 模式) 执行任务
|
|
4
|
+
*/
|
|
5
|
+
import { spawn } from 'child_process';
|
|
6
|
+
import { SessionHandle } from './sessionHandle.js';
|
|
7
|
+
/**
|
|
8
|
+
* Session 管理器
|
|
9
|
+
*/
|
|
10
|
+
export class SessionManager {
|
|
11
|
+
personaRegistry;
|
|
12
|
+
opencodePath;
|
|
13
|
+
defaultTimeoutMs;
|
|
14
|
+
activeSessions = new Map();
|
|
15
|
+
constructor(config) {
|
|
16
|
+
this.personaRegistry = config.personaRegistry;
|
|
17
|
+
this.opencodePath = config.opencodePath ?? 'opencode';
|
|
18
|
+
this.defaultTimeoutMs = config.defaultTimeoutMs ?? 5 * 60 * 1000; // 5 minutes
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* 为已注册的 Persona 创建会话
|
|
22
|
+
* CLI 模式下,session 在首次执行 opencode run 时隐式创建
|
|
23
|
+
*/
|
|
24
|
+
async createSession(personaId) {
|
|
25
|
+
const registeredPersona = this.personaRegistry.getPersona(personaId);
|
|
26
|
+
if (!registeredPersona) {
|
|
27
|
+
throw new Error(`Persona not found: ${personaId}`);
|
|
28
|
+
}
|
|
29
|
+
// CLI 模式下,sessionId 初始为 null,首次执行后从响应中获取
|
|
30
|
+
const sessionHandle = new SessionHandle(null, personaId, registeredPersona.workspacePath, registeredPersona.persona.systemPrompt);
|
|
31
|
+
return sessionHandle;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* 发送思考提示并执行
|
|
35
|
+
* 使用 opencode run CLI 模式执行
|
|
36
|
+
*/
|
|
37
|
+
async executeThinking(sessionHandle, thinkingPrompt, options = {}) {
|
|
38
|
+
const timeoutMs = options.timeoutMs ?? this.defaultTimeoutMs;
|
|
39
|
+
try {
|
|
40
|
+
const result = await this.runOpencode(sessionHandle, thinkingPrompt, timeoutMs);
|
|
41
|
+
// 从响应中提取 sessionId(如果有且首次执行)
|
|
42
|
+
if (!sessionHandle.hasSessionId() && result.sessionId) {
|
|
43
|
+
sessionHandle.setSessionId(result.sessionId);
|
|
44
|
+
this.activeSessions.set(result.sessionId, sessionHandle);
|
|
45
|
+
}
|
|
46
|
+
return result;
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
50
|
+
return {
|
|
51
|
+
sessionId: sessionHandle.sessionId,
|
|
52
|
+
success: false,
|
|
53
|
+
toolCalls: sessionHandle.getToolCalls(),
|
|
54
|
+
error: errorMessage,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* 使用 spawn 执行 opencode run 命令
|
|
60
|
+
*/
|
|
61
|
+
runOpencode(sessionHandle, message, timeoutMs) {
|
|
62
|
+
return new Promise((resolve, reject) => {
|
|
63
|
+
// 构建命令参数
|
|
64
|
+
const args = ['run', '--format', 'json'];
|
|
65
|
+
// 如果已有 sessionId,使用 -s 参数继续
|
|
66
|
+
if (sessionHandle.hasSessionId()) {
|
|
67
|
+
args.push('-s', sessionHandle.sessionId);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
// 首次执行,设置标题
|
|
71
|
+
args.push('--title', `persona-${sessionHandle.personaId}`);
|
|
72
|
+
}
|
|
73
|
+
const proc = spawn(this.opencodePath, args, {
|
|
74
|
+
cwd: sessionHandle.workspacePath,
|
|
75
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
76
|
+
env: {
|
|
77
|
+
...process.env,
|
|
78
|
+
// 设置 XDG_DATA_HOME 使 opencode session 存储在 persona 工作目录中
|
|
79
|
+
// 这样删除 persona 目录时可以一并清理所有相关数据
|
|
80
|
+
XDG_DATA_HOME: sessionHandle.workspacePath,
|
|
81
|
+
},
|
|
82
|
+
});
|
|
83
|
+
let stdout = '';
|
|
84
|
+
let stderr = '';
|
|
85
|
+
let killed = false;
|
|
86
|
+
// 设置超时
|
|
87
|
+
const timer = setTimeout(() => {
|
|
88
|
+
killed = true;
|
|
89
|
+
proc.kill('SIGTERM');
|
|
90
|
+
reject(new Error(`opencode run timed out after ${timeoutMs}ms`));
|
|
91
|
+
}, timeoutMs);
|
|
92
|
+
proc.stdout.on('data', (data) => {
|
|
93
|
+
stdout += data.toString();
|
|
94
|
+
});
|
|
95
|
+
proc.stderr.on('data', (data) => {
|
|
96
|
+
stderr += data.toString();
|
|
97
|
+
});
|
|
98
|
+
proc.on('close', (code) => {
|
|
99
|
+
clearTimeout(timer);
|
|
100
|
+
if (killed)
|
|
101
|
+
return; // 已经 reject 了
|
|
102
|
+
if (code === 0) {
|
|
103
|
+
try {
|
|
104
|
+
const result = this.parseCliOutput(stdout, sessionHandle);
|
|
105
|
+
resolve(result);
|
|
106
|
+
}
|
|
107
|
+
catch (parseError) {
|
|
108
|
+
reject(new Error(`Failed to parse opencode output: ${parseError}`));
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
reject(new Error(`opencode run failed (exit ${code}): ${stderr || stdout}`));
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
proc.on('error', (err) => {
|
|
116
|
+
clearTimeout(timer);
|
|
117
|
+
reject(new Error(`Failed to spawn opencode: ${err.message}`));
|
|
118
|
+
});
|
|
119
|
+
// 通过 stdin 传递消息(避免 shell 转义问题)
|
|
120
|
+
proc.stdin.write(message);
|
|
121
|
+
proc.stdin.end();
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* 解析 CLI JSON 输出
|
|
126
|
+
* opencode run --format json 输出的是 JSONL 格式(每行一个 JSON 事件)
|
|
127
|
+
*
|
|
128
|
+
* 输出格式示例:
|
|
129
|
+
* {"type":"step_start","sessionID":"ses_xxx","part":{...}}
|
|
130
|
+
* {"type":"text","sessionID":"ses_xxx","part":{"type":"text","text":"..."}}
|
|
131
|
+
* {"type":"tool_call","sessionID":"ses_xxx","part":{"type":"tool-invocation","toolName":"...","input":{...}}}
|
|
132
|
+
* {"type":"tool_result","sessionID":"ses_xxx","part":{"type":"tool-result","toolName":"...","result":"..."}}
|
|
133
|
+
*/
|
|
134
|
+
parseCliOutput(stdout, sessionHandle) {
|
|
135
|
+
const toolCalls = [];
|
|
136
|
+
let textResponse = '';
|
|
137
|
+
let sessionId = sessionHandle.sessionId;
|
|
138
|
+
// 用于跟踪工具调用(按 toolCallID 匹配 invocation 和 result)
|
|
139
|
+
const pendingToolCalls = new Map();
|
|
140
|
+
// DEBUG: 保存原始输出以便调试
|
|
141
|
+
const debugRawOutput = process.env.DEBUG_OPENCODE_OUTPUT === '1';
|
|
142
|
+
if (debugRawOutput) {
|
|
143
|
+
console.log('[DEBUG] Raw opencode stdout:');
|
|
144
|
+
console.log(stdout);
|
|
145
|
+
console.log('[DEBUG] End of raw stdout');
|
|
146
|
+
}
|
|
147
|
+
// 按行解析 JSONL
|
|
148
|
+
const lines = stdout.split('\n').filter(line => line.trim());
|
|
149
|
+
for (const line of lines) {
|
|
150
|
+
try {
|
|
151
|
+
const event = JSON.parse(line);
|
|
152
|
+
// 提取 sessionID(直接在事件顶层)
|
|
153
|
+
if (event.sessionID && !sessionId) {
|
|
154
|
+
sessionId = event.sessionID;
|
|
155
|
+
}
|
|
156
|
+
// 处理不同类型的事件
|
|
157
|
+
if (event.type === 'text' && event.part) {
|
|
158
|
+
// 文本响应
|
|
159
|
+
const part = event.part;
|
|
160
|
+
if (part.type === 'text' && part.text) {
|
|
161
|
+
textResponse += part.text;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
else if (event.type === 'tool_use' && event.part) {
|
|
165
|
+
// opencode 实际格式:tool_use 事件包含完整的工具调用信息
|
|
166
|
+
// part.type = "tool", part.tool = 工具名, part.state = {status, input, output}
|
|
167
|
+
const part = event.part;
|
|
168
|
+
if (part.type === 'tool' && part.tool && part.state) {
|
|
169
|
+
const toolCall = {
|
|
170
|
+
tool: part.tool,
|
|
171
|
+
args: part.state.input || {},
|
|
172
|
+
};
|
|
173
|
+
// 如果已有输出(状态为 completed)
|
|
174
|
+
if (part.state.output) {
|
|
175
|
+
toolCall.result = typeof part.state.output === 'string'
|
|
176
|
+
? part.state.output
|
|
177
|
+
: JSON.stringify(part.state.output);
|
|
178
|
+
}
|
|
179
|
+
// 如果有错误
|
|
180
|
+
if (part.state.status === 'error' && part.state.error) {
|
|
181
|
+
toolCall.error = typeof part.state.error === 'string'
|
|
182
|
+
? part.state.error
|
|
183
|
+
: JSON.stringify(part.state.error);
|
|
184
|
+
}
|
|
185
|
+
toolCalls.push(toolCall);
|
|
186
|
+
sessionHandle.addToolCall(toolCall);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
else if (event.type === 'tool_call' && event.part) {
|
|
190
|
+
// 兼容旧格式:工具调用开始
|
|
191
|
+
const part = event.part;
|
|
192
|
+
if (part.type === 'tool-invocation') {
|
|
193
|
+
const toolCall = {
|
|
194
|
+
tool: part.toolName || 'unknown',
|
|
195
|
+
args: part.input || {},
|
|
196
|
+
};
|
|
197
|
+
// 保存以便后续匹配结果
|
|
198
|
+
if (part.toolCallID) {
|
|
199
|
+
pendingToolCalls.set(part.toolCallID, toolCall);
|
|
200
|
+
}
|
|
201
|
+
toolCalls.push(toolCall);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
else if (event.type === 'tool_result' && event.part) {
|
|
205
|
+
// 兼容旧格式:工具调用结果
|
|
206
|
+
const part = event.part;
|
|
207
|
+
if (part.type === 'tool-result') {
|
|
208
|
+
// 尝试匹配已有的工具调用
|
|
209
|
+
const pending = part.toolCallID ? pendingToolCalls.get(part.toolCallID) : null;
|
|
210
|
+
if (pending) {
|
|
211
|
+
pending.result = typeof part.result === 'string'
|
|
212
|
+
? part.result
|
|
213
|
+
: JSON.stringify(part.result);
|
|
214
|
+
sessionHandle.addToolCall(pending);
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
// 没有找到匹配的调用,创建新记录
|
|
218
|
+
const toolCall = {
|
|
219
|
+
tool: part.toolName || 'unknown',
|
|
220
|
+
args: {},
|
|
221
|
+
result: typeof part.result === 'string'
|
|
222
|
+
? part.result
|
|
223
|
+
: JSON.stringify(part.result),
|
|
224
|
+
};
|
|
225
|
+
toolCalls.push(toolCall);
|
|
226
|
+
sessionHandle.addToolCall(toolCall);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
else if (event.type === 'session.created' || event.type === 'session') {
|
|
231
|
+
// 兼容旧格式
|
|
232
|
+
if (event.properties?.id) {
|
|
233
|
+
sessionId = event.properties.id;
|
|
234
|
+
}
|
|
235
|
+
else if (event.id) {
|
|
236
|
+
sessionId = event.id;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
else if (event.type === 'message.part.text') {
|
|
240
|
+
// 兼容旧格式
|
|
241
|
+
textResponse += event.content || event.text || '';
|
|
242
|
+
}
|
|
243
|
+
else if (event.type === 'part' && event.part) {
|
|
244
|
+
// 兼容旧格式
|
|
245
|
+
const part = event.part;
|
|
246
|
+
if (part.type === 'text') {
|
|
247
|
+
textResponse += part.text || '';
|
|
248
|
+
}
|
|
249
|
+
else if (part.type === 'tool-invocation' || part.type === 'tool-result') {
|
|
250
|
+
const toolCall = {
|
|
251
|
+
tool: part.toolName || part.name || 'unknown',
|
|
252
|
+
args: part.input || part.args || {},
|
|
253
|
+
};
|
|
254
|
+
if (part.result || part.output) {
|
|
255
|
+
toolCall.result = typeof part.result === 'string'
|
|
256
|
+
? part.result
|
|
257
|
+
: JSON.stringify(part.result || part.output);
|
|
258
|
+
}
|
|
259
|
+
toolCalls.push(toolCall);
|
|
260
|
+
sessionHandle.addToolCall(toolCall);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
catch {
|
|
265
|
+
// 跳过无法解析的行
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
sessionHandle.setLastResponse(textResponse);
|
|
269
|
+
const result = {
|
|
270
|
+
sessionId,
|
|
271
|
+
success: true,
|
|
272
|
+
response: textResponse,
|
|
273
|
+
toolCalls,
|
|
274
|
+
};
|
|
275
|
+
// 调试模式下,附加原始输出
|
|
276
|
+
if (debugRawOutput) {
|
|
277
|
+
result._debug = { rawOutput: stdout };
|
|
278
|
+
}
|
|
279
|
+
return result;
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* 获取活跃的 Session
|
|
283
|
+
*/
|
|
284
|
+
getSession(sessionId) {
|
|
285
|
+
return this.activeSessions.get(sessionId);
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* 关闭 Session
|
|
289
|
+
*/
|
|
290
|
+
async closeSession(sessionId) {
|
|
291
|
+
this.activeSessions.delete(sessionId);
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* 关闭所有 Session
|
|
295
|
+
*/
|
|
296
|
+
async closeAllSessions() {
|
|
297
|
+
this.activeSessions.clear();
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
//# sourceMappingURL=sessionManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionManager.js","sourceRoot":"","sources":["../../src/session/sessionManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 通用类型定义
|
|
3
|
+
*/
|
|
4
|
+
/** 唯一标识符类型 */
|
|
5
|
+
export type NodeId = string;
|
|
6
|
+
export type NodeInstanceId = string;
|
|
7
|
+
export type ScheduleId = string;
|
|
8
|
+
export type PersonaId = string;
|
|
9
|
+
export type ActionTypeId = string;
|
|
10
|
+
/**
|
|
11
|
+
* 共享数据的值类型
|
|
12
|
+
* 支持基础类型、对象和数组
|
|
13
|
+
*/
|
|
14
|
+
export type SharedDataValue = string | number | boolean | null | {
|
|
15
|
+
[key: string]: SharedDataValue;
|
|
16
|
+
} | SharedDataValue[];
|
|
17
|
+
/**
|
|
18
|
+
* 共享数据字段定义
|
|
19
|
+
* isCollection: true 表示是集合类型,可以不断追加
|
|
20
|
+
* isCollection: false 表示是普通类型,赋值会覆盖
|
|
21
|
+
*/
|
|
22
|
+
export interface SharedDataFieldDefinition {
|
|
23
|
+
name: string;
|
|
24
|
+
description?: string;
|
|
25
|
+
isCollection: boolean;
|
|
26
|
+
/** 可选的初始值 */
|
|
27
|
+
initialValue?: SharedDataValue;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* 共享数据声明
|
|
31
|
+
* 由思考节点声明,定义整个 Schedule 中可用的共享数据字段
|
|
32
|
+
*/
|
|
33
|
+
export interface SharedDataDeclaration {
|
|
34
|
+
fields: SharedDataFieldDefinition[];
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* 共享数据实例
|
|
38
|
+
* Schedule 运行时的实际数据存储
|
|
39
|
+
*/
|
|
40
|
+
export interface SharedDataInstance {
|
|
41
|
+
/** 字段名 -> 当前值 */
|
|
42
|
+
data: Record<string, SharedDataValue>;
|
|
43
|
+
/** 字段名 -> 是否为集合类型 */
|
|
44
|
+
fieldTypes: Record<string, boolean>;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* 数据引用 - 用于节点输入引用共享数据
|
|
48
|
+
*/
|
|
49
|
+
export interface DataReference {
|
|
50
|
+
type: 'reference';
|
|
51
|
+
/** 引用的共享数据字段名 */
|
|
52
|
+
fieldName: string;
|
|
53
|
+
/** 可选的 JSONPath 表达式,用于提取部分数据 */
|
|
54
|
+
path?: string;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* 固定值 - 用于节点输入使用固定值
|
|
58
|
+
*/
|
|
59
|
+
export interface FixedValue {
|
|
60
|
+
type: 'fixed';
|
|
61
|
+
value: SharedDataValue;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* 模板值 - 用于节点输入使用模板字符串
|
|
65
|
+
* 模板在执行时会被解析,将 sharedData 中的值替换到模板中
|
|
66
|
+
* 使用 Nunjucks 模板语法,如 {{ fieldName }}
|
|
67
|
+
*/
|
|
68
|
+
export interface TemplateValue {
|
|
69
|
+
type: 'template';
|
|
70
|
+
/**
|
|
71
|
+
* 模板字符串,使用 Nunjucks 语法
|
|
72
|
+
* 例如: "生成的图片:"
|
|
73
|
+
*/
|
|
74
|
+
value: string;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* 节点输入值类型 - 可以是固定值、数据引用或模板值
|
|
78
|
+
*/
|
|
79
|
+
export type NodeInputValue = FixedValue | DataReference | TemplateValue;
|
|
80
|
+
/**
|
|
81
|
+
* 输出映射 - 定义如何将节点输出写入共享数据
|
|
82
|
+
*/
|
|
83
|
+
export interface OutputMapping {
|
|
84
|
+
/** 节点输出的字段名 */
|
|
85
|
+
outputField: string;
|
|
86
|
+
/** 目标共享数据字段名 */
|
|
87
|
+
targetField: string;
|
|
88
|
+
/**
|
|
89
|
+
* 可选的转换表达式
|
|
90
|
+
* 例如: "value.items[0]" 表示取 value.items 的第一个元素
|
|
91
|
+
*/
|
|
92
|
+
expression?: string;
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc;AACd,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAC5B,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC;AACpC,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAChC,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAC/B,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAElC;;;GAGG;AACH,MAAM,MAAM,eAAe,GACvB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;CAAE,GAClC,eAAe,EAAE,CAAC;AAEtB;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa;IACb,YAAY,CAAC,EAAE,eAAe,CAAC;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,yBAAyB,EAAE,CAAC;CACrC;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACtC,qBAAqB;IACrB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,eAAe,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,aAAa,GAAG,aAAa,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,eAAe;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
|