yuangs 3.8.0 → 3.10.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.
@@ -6,6 +6,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.AgentRuntime = void 0;
7
7
  const chalk_1 = __importDefault(require("chalk"));
8
8
  const crypto_1 = require("crypto");
9
+ const marked_1 = require("marked");
10
+ const marked_terminal_1 = __importDefault(require("marked-terminal"));
11
+ // Configure marked
12
+ marked_1.marked.setOptions({
13
+ renderer: new marked_terminal_1.default()
14
+ });
9
15
  const llmAdapter_1 = require("./llmAdapter");
10
16
  const governance_1 = require("./governance");
11
17
  const executor_1 = require("./executor");
@@ -48,7 +54,8 @@ class AgentRuntime {
48
54
  if (thought.isDone || action.type === "answer") {
49
55
  const result = await executor_1.ToolExecutor.execute(action);
50
56
  if (!onChunk) {
51
- console.log(chalk_1.default.green(`\n🤖 AI:${result.output}\n`));
57
+ const rendered = (0, marked_1.marked)(result.output);
58
+ console.log(chalk_1.default.green(`\n🤖 AI:\n`) + rendered);
52
59
  }
53
60
  this.context.addMessage("assistant", result.output);
54
61
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"AgentRuntime.js","sourceRoot":"","sources":["../../src/agent/AgentRuntime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentRuntime.js","sourceRoot":"","sources":["../../src/agent/AgentRuntime.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,mCAAoC;AACpC,mCAAgC;AAChC,sEAA+C;AAE/C,mBAAmB;AACnB,eAAM,CAAC,UAAU,CAAC;IAChB,QAAQ,EAAE,IAAI,yBAAgB,EAAE;CACjC,CAAC,CAAC;AACH,6CAA0C;AAC1C,6CAAiD;AACjD,yCAA0C;AAC1C,qDAAkD;AAClD,4CAAqD;AAGrD,MAAa,YAAY;IACf,OAAO,CAAiB;IACxB,WAAW,CAAS;IAE5B,YAAY,cAAmB;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,+BAAc,CAAC,cAAc,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,GAAG,IAAA,mBAAU,GAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,GAAG,CACP,SAAiB,EACjB,OAA2B,MAAM,EACjC,OAAiC,EACjC,KAAc;QAEd,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,MAAM,QAAQ,GAAG,EAAE,CAAC;QAEpB,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,SAAS,GAAG,QAAQ,EAAE,CAAC;YAC5B,MAAM,WAAW,GAAG,EAAE,SAAS,CAAC;YAChC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,cAAc,WAAW,MAAM,CAAC,CAAC,CAAC;YAC3D,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACxD,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAGjC;gBACf,OAAO,EAAE,GAAG,CAAC,OAAO;aACrB,CAAC,CAAC,CAAC;YAEJ,MAAM,OAAO,GAAG,MAAM,uBAAU,CAAC,KAAK,CACpC,QAAQ,EACR,IAAW,EACX,OAAO,EACP,KAAK,EACL,8BAAiB,CAAC,eAAe,EAAE,CACpC,CAAC;YAEF,MAAM,MAAM,GAAmB;gBAC7B,EAAE,EAAE,IAAA,mBAAU,GAAE;gBAChB,IAAI,EAAG,OAAO,CAAC,IAAY,IAAI,QAAQ;gBACvC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE;gBACjD,SAAS,EAAE,KAAK;gBAChB,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;aACnC,CAAC;YAEF,IAAI,MAAM,CAAC,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACjE,CAAC;YAED,2BAA2B;YAC3B,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC/C,MAAM,MAAM,GAAG,MAAM,uBAAY,CAAC,OAAO,CAAC,MAAa,CAAC,CAAC;gBACzD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,QAAQ,GAAG,IAAA,eAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACvC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC,CAAC;gBACpD,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBACpD,MAAM;YACR,CAAC;YAED,0BAA0B;YAC1B,MAAM,QAAQ,GAAG,IAAA,uBAAgB,EAC/B,MAAM,EACN,8BAAiB,CAAC,QAAQ,EAAE,EAC5B,8BAAiB,CAAC,iBAAiB,EAAE,CACtC,CAAC;YACF,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,GAAG,CAAC,oCAAoC,QAAQ,CAAC,MAAM,EAAE,CAAC,CACjE,CAAC;gBACF,IAAI,CAAC,OAAO,CAAC,UAAU,CACrB,QAAQ,EACR,kBAAkB,QAAQ,CAAC,MAAM,yBAAyB,CAC3D,CAAC;gBACF,SAAS;YACX,CAAC;YAED,8BAA8B;YAC9B,MAAM,QAAQ,GAAG,MAAM,8BAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC5D,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,4BAA4B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBACtE,IAAI,CAAC,OAAO,CAAC,UAAU,CACrB,QAAQ,EACR,2BAA2B,QAAQ,CAAC,MAAM,EAAE,CAC7C,CAAC;gBACF,SAAS;YACX,CAAC;YAED,aAAa;YACb,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,kBAAkB,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAG,MAAM,uBAAY,CAAC,OAAO,CAAC,MAAa,CAAC,CAAC;YAEzD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBACvD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG;oBACxC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK;oBACzC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,sBAAsB,OAAO,EAAE,CAAC,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAClE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QAED,IAAI,SAAS,IAAI,QAAQ,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,mBAAmB,QAAQ,YAAY,CAAC,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;CACF;AAnHD,oCAmHC"}
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.LLMAdapter = void 0;
4
7
  const llm_1 = require("./llm");
5
8
  const client_1 = require("../ai/client");
9
+ const json5_1 = __importDefault(require("json5"));
6
10
  class LLMAdapter {
7
11
  static async think(messages, mode = 'chat', onChunk, model, customSystemPrompt) {
8
12
  let protocol = `[SYSTEM PROTOCOL V2]
@@ -53,7 +57,7 @@ Your Output: {"action_type":"shell_cmd","reasoning":"count files","command":"ls
53
57
  // 提取 JSON:支持 Markdown 块或纯 JSON 字符串
54
58
  const jsonMatch = raw.match(/```json\n([\s\S]*?)\n```/) || raw.match(/\{[\s\S]*\}/);
55
59
  if (jsonMatch) {
56
- const parsed = JSON.parse(jsonMatch[1] || jsonMatch[0]);
60
+ const parsed = json5_1.default.parse(jsonMatch[1] || jsonMatch[0]);
57
61
  // 如果明确标记为 done,或者动作为 answer,则视为任务结束
58
62
  if (parsed.is_done === true || parsed.action_type === 'answer') {
59
63
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"llmAdapter.js","sourceRoot":"","sources":["../../src/agent/llmAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llmAdapter.js","sourceRoot":"","sources":["../../src/agent/llmAdapter.ts"],"names":[],"mappings":"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"}
package/dist/ai/client.js CHANGED
@@ -14,25 +14,20 @@ const fs_1 = __importDefault(require("fs"));
14
14
  const path_1 = __importDefault(require("path"));
15
15
  const os_1 = __importDefault(require("os"));
16
16
  const validation_1 = require("../core/validation");
17
- const chatHistoryStorage_1 = require("../commands/chatHistoryStorage");
17
+ const db_1 = require("../core/db");
18
18
  const CONFIG_FILE = path_1.default.join(os_1.default.homedir(), '.yuangs.json');
19
- let conversationHistory = [];
20
- // 初始化时加载持久化的聊天历史记录
21
- (0, chatHistoryStorage_1.loadChatHistory)().then(history => {
22
- conversationHistory = history;
23
- });
19
+ let conversationHistory = (0, db_1.getRecentMessagesFromDB)(20);
24
20
  function addToConversationHistory(role, content) {
25
21
  conversationHistory.push({ role, content });
26
22
  if (conversationHistory.length > 20) {
27
23
  conversationHistory = conversationHistory.slice(-20);
28
24
  }
29
- // 同时保存到持久化存储
30
- (0, chatHistoryStorage_1.saveChatHistory)(conversationHistory);
25
+ // Deep persist
26
+ (0, db_1.appendMessageToDB)(role, content);
31
27
  }
32
28
  function clearConversationHistory() {
33
29
  conversationHistory = [];
34
- // 同时清除持久化存储
35
- (0, chatHistoryStorage_1.saveChatHistory)(conversationHistory);
30
+ (0, db_1.clearMessagesInDB)();
36
31
  }
37
32
  function getConversationHistory() {
38
33
  return conversationHistory;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/ai/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/ai/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { AIRequestMessage } from './validation';
2
+ export declare function appendMessageToDB(role: string, content: string): void;
3
+ export declare function getRecentMessagesFromDB(limit?: number): AIRequestMessage[];
4
+ export declare function clearMessagesInDB(): void;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.appendMessageToDB = appendMessageToDB;
7
+ exports.getRecentMessagesFromDB = getRecentMessagesFromDB;
8
+ exports.clearMessagesInDB = clearMessagesInDB;
9
+ const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
10
+ const path_1 = __importDefault(require("path"));
11
+ const os_1 = __importDefault(require("os"));
12
+ const fs_1 = __importDefault(require("fs"));
13
+ const DB_DIR = path_1.default.resolve(os_1.default.homedir(), '.yuangs_chat_history');
14
+ const DB_FILE = path_1.default.join(DB_DIR, 'history.db');
15
+ // Ensure directory exists
16
+ if (!fs_1.default.existsSync(DB_DIR)) {
17
+ fs_1.default.mkdirSync(DB_DIR, { recursive: true });
18
+ }
19
+ let dbInstance = null;
20
+ function getDb() {
21
+ if (!dbInstance) {
22
+ dbInstance = new better_sqlite3_1.default(DB_FILE);
23
+ // Initialize schema
24
+ dbInstance.exec(`
25
+ CREATE TABLE IF NOT EXISTS messages (
26
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
27
+ role TEXT NOT NULL,
28
+ content TEXT NOT NULL,
29
+ timestamp INTEGER DEFAULT (unixepoch())
30
+ );
31
+ CREATE INDEX IF NOT EXISTS idx_timestamp ON messages(timestamp);
32
+ `);
33
+ }
34
+ return dbInstance;
35
+ }
36
+ function appendMessageToDB(role, content) {
37
+ const db = getDb();
38
+ const stmt = db.prepare('INSERT INTO messages (role, content, timestamp) VALUES (?, ?, ?)');
39
+ stmt.run(role, content, Date.now());
40
+ }
41
+ function getRecentMessagesFromDB(limit = 20) {
42
+ const db = getDb();
43
+ // Get last N messages order by timestamp desc, then reverse to get chronological order
44
+ const stmt = db.prepare('SELECT role, content FROM messages ORDER BY id DESC LIMIT ?');
45
+ const rows = stmt.all(limit);
46
+ // Reverse to return in chronological order (oldest -> newest)
47
+ return rows.reverse().map(row => ({
48
+ role: row.role,
49
+ content: row.content
50
+ }));
51
+ }
52
+ function clearMessagesInDB() {
53
+ const db = getDb();
54
+ db.exec('DELETE FROM messages');
55
+ }
56
+ //# sourceMappingURL=db.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/core/db.ts"],"names":[],"mappings":";;;;;AAiCA,8CAIC;AAED,0DAWC;AAED,8CAGC;AAvDD,oEAAsC;AACtC,gDAAwB;AACxB,4CAAoB;AACpB,4CAAoB;AAGpB,MAAM,MAAM,GAAG,cAAI,CAAC,OAAO,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,sBAAsB,CAAC,CAAC;AAClE,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAEhD,0BAA0B;AAC1B,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;IACzB,YAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,IAAI,UAAU,GAA6B,IAAI,CAAC;AAEhD,SAAS,KAAK;IACV,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,UAAU,GAAG,IAAI,wBAAQ,CAAC,OAAO,CAAC,CAAC;QACnC,oBAAoB;QACpB,UAAU,CAAC,IAAI,CAAC;;;;;;;;SAQf,CAAC,CAAC;IACP,CAAC;IACD,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAgB,iBAAiB,CAAC,IAAY,EAAE,OAAe;IAC3D,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,kEAAkE,CAAC,CAAC;IAC5F,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,SAAgB,uBAAuB,CAAC,QAAgB,EAAE;IACtD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,uFAAuF;IACvF,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,6DAA6D,CAAC,CAAC;IACvF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAwC,CAAC;IAEpE,8DAA8D;IAC9D,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,EAAE,GAAG,CAAC,IAAuC;QACjD,OAAO,EAAE,GAAG,CAAC,OAAO;KACvB,CAAC,CAAC,CAAC;AACR,CAAC;AAED,SAAgB,iBAAiB;IAC7B,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;AACpC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yuangs",
3
- "version": "3.8.0",
3
+ "version": "3.10.0",
4
4
  "description": "苑广山的个人应用集合 CLI(彩色版)",
5
5
  "author": "苑广山",
6
6
  "license": "ISC",
@@ -36,6 +36,7 @@
36
36
  "homepage": "https://github.com/yuanguangshan/npm_yuangs#readme",
37
37
  "dependencies": {
38
38
  "axios": "^1.13.2",
39
+ "better-sqlite3": "^12.6.2",
39
40
  "chalk": "^4.1.2",
40
41
  "commander": "^13.1.0",
41
42
  "js-yaml": "^4.1.0",
@@ -48,6 +49,7 @@
48
49
  },
49
50
  "devDependencies": {
50
51
  "@assemblyscript/loader": "^0.27.37",
52
+ "@types/better-sqlite3": "^7.6.13",
51
53
  "@types/jest": "^30.0.0",
52
54
  "@types/js-yaml": "^4.0.9",
53
55
  "@types/json5": "^0.0.30",
@@ -1 +0,0 @@
1
- {"version":3,"file":"chatHistoryStorage.js","sourceRoot":"","sources":["../../src/commands/chatHistoryStorage.ts"],"names":[],"mappings":";;;;;AAcA,0CAmBC;AAED,0CAOC;AAED,4CAMC;AAlDD,4CAAoB;AACpB,+BAAiC;AACjC,gDAAwB;AACxB,4CAAoB;AAGpB,MAAM,gBAAgB,GAAG,cAAI,CAAC,OAAO,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,sBAAsB,CAAC,CAAC;AAC5E,MAAM,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;AAE3E,MAAM,aAAa,GAAG,IAAA,gBAAS,EAAC,YAAE,CAAC,QAAQ,CAAC,CAAC;AAC7C,MAAM,cAAc,GAAG,IAAA,gBAAS,EAAC,YAAE,CAAC,SAAS,CAAC,CAAC;AAC/C,MAAM,UAAU,GAAG,IAAA,gBAAS,EAAC,YAAE,CAAC,KAAK,CAAC,CAAC;AACvC,MAAM,OAAO,GAAG,IAAA,gBAAS,EAAC,YAAE,CAAC,EAAE,CAAC,CAAC;AAE1B,KAAK,UAAU,eAAe;IACjC,IAAI,YAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;YAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAE7B,SAAS;YACT,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CACxC,OAAO,GAAG,KAAK,QAAQ;gBACvB,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;gBAClD,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAClC,EAAE,CAAC;gBACA,OAAO,IAA0B,CAAC;YACtC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC3C,CAAC;IACL,CAAC;IACD,OAAO,EAAE,CAAC;AACd,CAAC;AAEM,KAAK,UAAU,eAAe,CAAC,OAA2B;IAC7D,IAAI,CAAC;QACD,MAAM,UAAU,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,MAAM,cAAc,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;IACxC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,gBAAgB;IAClC,IAAI,CAAC;QACD,MAAM,OAAO,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;IACxC,CAAC;AACL,CAAC"}