choavis-agent 1.5.1 → 1.5.2

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/README.md CHANGED
@@ -21,14 +21,11 @@ Choavis Agent는 로컬 [Claude Code CLI](https://docs.anthropic.com/en/docs/cla
21
21
  **사전 준비:** Node.js 20+, [Claude Code CLI](https://docs.anthropic.com/en/docs/claude-code)
22
22
 
23
23
  ```bash
24
- # 설치
25
- npm install -g choavis-agent
26
-
27
24
  # 대화형 설정 (Slack 앱 생성 안내 + .env 생성)
28
- choavis-agent onboard
25
+ npx -y choavis-agent@latest onboard
29
26
 
30
27
  # 실행
31
- choavis-agent start
28
+ npx -y choavis-agent@latest start
32
29
  ```
33
30
 
34
31
  > **Slack 앱 설정이 처음이라면?** → [Slack 앱 설정 가이드](docs/slack-app-setup.md)
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/agent/session.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAQD,wBAAgB,YAAY,IAAI,IAAI,CAoBnC;AAED,wBAAgB,YAAY,IAAI,IAAI,CAcnC;AAGD,wBAAgB,gBAAgB,IAAI,IAAI,CAcvC;AAUD,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CA0C/D;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,IAAI,CAa3F;AAGD,wBAAgB,cAAc,IAAI,WAAW,EAAE,CAS9C;AAGD,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAO1E;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CASjE;AAGD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAKtD;AAGD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CASrD;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE/D;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAOrG;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAWlE"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/agent/session.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAQD,wBAAgB,YAAY,IAAI,IAAI,CAoBnC;AAeD,wBAAgB,YAAY,IAAI,IAAI,CAKnC;AAGD,wBAAgB,gBAAgB,IAAI,IAAI,CAOvC;AAUD,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CA0C/D;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,IAAI,CAa3F;AAGD,wBAAgB,cAAc,IAAI,WAAW,EAAE,CAS9C;AAGD,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAO1E;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CASjE;AAGD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAKtD;AAGD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CASrD;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE/D;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAOrG;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAWlE"}
@@ -32,32 +32,29 @@ export function loadSessions() {
32
32
  log.warn('세션 파일 파싱 실패, 빈 상태로 시작');
33
33
  }
34
34
  }
35
- export function saveSessions() {
36
- const path = config.session.storePath;
37
- const dir = dirname(path);
38
- if (!existsSync(dir))
39
- mkdirSync(dir, { recursive: true });
35
+ function serializeSessions() {
40
36
  const obj = {};
41
37
  for (const [k, v] of store) {
42
38
  obj[k] = v;
43
39
  }
44
- const json = JSON.stringify(obj, null, 2);
45
- void writeFile(path, json).catch((err) => {
40
+ return JSON.stringify(obj, null, 2);
41
+ }
42
+ function ensureStoreDir() {
43
+ const dir = dirname(config.session.storePath);
44
+ if (!existsSync(dir))
45
+ mkdirSync(dir, { recursive: true });
46
+ }
47
+ export function saveSessions() {
48
+ ensureStoreDir();
49
+ void writeFile(config.session.storePath, serializeSessions()).catch((err) => {
46
50
  log.error('세션 저장 실패', { error: String(err) });
47
51
  });
48
52
  }
49
53
  // Graceful shutdown 전용 동기 저장 — process.exit() 전에 완료 보장
50
54
  export function saveSessionsSync() {
51
- const path = config.session.storePath;
52
- const dir = dirname(path);
53
- if (!existsSync(dir))
54
- mkdirSync(dir, { recursive: true });
55
- const obj = {};
56
- for (const [k, v] of store) {
57
- obj[k] = v;
58
- }
55
+ ensureStoreDir();
59
56
  try {
60
- writeFileSync(path, JSON.stringify(obj, null, 2));
57
+ writeFileSync(config.session.storePath, serializeSessions());
61
58
  }
62
59
  catch (err) {
63
60
  log.error('세션 동기 저장 실패', { error: String(err) });
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/agent/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/agent/session.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/agent/usage.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CACxC;AAWD,wBAAsB,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CASrF;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAE3E;AAcD,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1C,OAAO,CAAC,YAAY,CAAC,CAyDvB"}
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/agent/usage.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CACxC;AAWD,wBAAsB,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CASrF;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAE3E;AAcD,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1C,OAAO,CAAC,YAAY,CAAC,CA4CvB"}
@@ -50,30 +50,18 @@ export async function getUsageSummary(baseDir, filter) {
50
50
  const byUser = {};
51
51
  const byModel = {};
52
52
  const byDate = {};
53
- for (const r of filtered) {
54
- // byUser 집계
55
- if (!byUser[r.userId]) {
56
- byUser[r.userId] = { requests: 0, inputTokens: 0, outputTokens: 0 };
57
- }
58
- byUser[r.userId].requests++;
59
- byUser[r.userId].inputTokens += r.inputTokens;
60
- byUser[r.userId].outputTokens += r.outputTokens;
61
- // byModel 집계
62
- const model = r.model || 'unknown';
63
- if (!byModel[model]) {
64
- byModel[model] = { requests: 0, inputTokens: 0, outputTokens: 0 };
65
- }
66
- byModel[model].requests++;
67
- byModel[model].inputTokens += r.inputTokens;
68
- byModel[model].outputTokens += r.outputTokens;
69
- // byDate 집계
70
- const dateKey = getDateString(r.timestamp);
71
- if (!byDate[dateKey]) {
72
- byDate[dateKey] = { requests: 0, inputTokens: 0, outputTokens: 0 };
53
+ function accumulate(map, key, r) {
54
+ if (!map[key]) {
55
+ map[key] = { requests: 0, inputTokens: 0, outputTokens: 0 };
73
56
  }
74
- byDate[dateKey].requests++;
75
- byDate[dateKey].inputTokens += r.inputTokens;
76
- byDate[dateKey].outputTokens += r.outputTokens;
57
+ map[key].requests++;
58
+ map[key].inputTokens += r.inputTokens;
59
+ map[key].outputTokens += r.outputTokens;
60
+ }
61
+ for (const r of filtered) {
62
+ accumulate(byUser, r.userId, r);
63
+ accumulate(byModel, r.model || 'unknown', r);
64
+ accumulate(byDate, getDateString(r.timestamp), r);
77
65
  }
78
66
  return {
79
67
  totalRequests: filtered.length,
@@ -1 +1 @@
1
- {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/agent/usage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/agent/usage.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export type SlackClient = any;
1
+ import type { SlackClient } from '../types.js';
2
2
  export interface CommandContext {
3
3
  text: string;
4
4
  channel: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/slack/commands/types.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC;AAE9B,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CAChE;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAAC;IACzC,OAAO,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/slack/commands/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CAChE;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAAC;IACzC,OAAO,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/slack/context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAgB,aAAa,EAAE,MAAM,YAAY,CAAC;AAO3E;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,WAAW,SAAK,GACf,OAAO,CAAC,mBAAmB,CAAC,CAqD9B;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EACf,WAAW,SAAK,GACf,OAAO,CAAC,MAAM,CAAC,CAkCjB"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/slack/context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAgB,aAAa,EAAE,MAAM,YAAY,CAAC;AAO3E;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB;AA2BD,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,WAAW,SAAK,GACf,OAAO,CAAC,mBAAmB,CAAC,CA4C9B;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EACf,WAAW,SAAK,GACf,OAAO,CAAC,MAAM,CAAC,CA4BjB"}
@@ -2,38 +2,45 @@ import { createLogger } from '../utils/logger.js';
2
2
  const log = createLogger('context');
3
3
  // 컨텍스트 크기 제한 — 긴 스레드에서 context overflow 방지
4
4
  const MAX_CONTEXT_CHARS = 8_000;
5
+ /** Slack 페이지네이션으로 메시지를 수집하는 공통 함수 */
6
+ async function fetchPaginatedMessages(fetcher, maxMessages) {
7
+ const allMessages = [];
8
+ let cursor;
9
+ do {
10
+ const result = await fetcher(cursor);
11
+ allMessages.push(...result.messages);
12
+ if (allMessages.length >= maxMessages) {
13
+ allMessages.splice(maxMessages);
14
+ break;
15
+ }
16
+ cursor = result.nextCursor;
17
+ } while (cursor);
18
+ return allMessages;
19
+ }
20
+ function formatSender(m) {
21
+ return m.bot_id ? '(bot)' : `<@${m.user}>`;
22
+ }
5
23
  export async function fetchThreadContext(client, channel, threadTs, currentTs, maxMessages = 30) {
6
24
  try {
7
- const allMessages = [];
8
- let cursor;
9
- do {
25
+ const allMessages = await fetchPaginatedMessages(async (cursor) => {
10
26
  const result = await client.conversations.replies({
11
27
  channel,
12
28
  ts: threadTs,
13
- limit: Math.min(100, maxMessages - allMessages.length),
29
+ limit: Math.min(100, maxMessages),
14
30
  cursor,
15
31
  });
16
- const messages = (result.messages || []);
17
- allMessages.push(...messages);
18
- if (allMessages.length >= maxMessages) {
19
- allMessages.splice(maxMessages);
20
- break;
21
- }
22
- cursor = result.response_metadata?.next_cursor;
23
- } while (cursor);
32
+ return {
33
+ messages: (result.messages || []),
34
+ nextCursor: result.response_metadata?.next_cursor,
35
+ };
36
+ }, maxMessages);
24
37
  const previous = allMessages.filter(m => m.ts !== currentTs);
25
38
  if (previous.length === 0)
26
39
  return { text: '', files: [] };
27
40
  // 스레드 이전 메시지에서 파일 수집
28
- const threadFiles = [];
29
- for (const m of previous) {
30
- if (m.files && m.files.length > 0) {
31
- threadFiles.push(...m.files);
32
- }
33
- }
41
+ const threadFiles = previous.flatMap(m => m.files || []);
34
42
  const lines = previous.map(m => {
35
- const sender = m.bot_id ? '(bot)' : `<@${m.user}>`;
36
- let line = `${sender}: ${m.text || ''}`;
43
+ let line = `${formatSender(m)}: ${m.text || ''}`;
37
44
  if (m.files && m.files.length > 0) {
38
45
  const fileNames = m.files.map(f => f.name).join(', ');
39
46
  line += ` [첨부: ${fileNames}]`;
@@ -57,30 +64,22 @@ export async function fetchThreadContext(client, channel, threadTs, currentTs, m
57
64
  */
58
65
  export async function fetchChannelHistory(client, channel, maxMessages = 30) {
59
66
  try {
60
- const allMessages = [];
61
- let cursor;
62
- do {
67
+ const allMessages = await fetchPaginatedMessages(async (cursor) => {
63
68
  const result = await client.conversations.history({
64
69
  channel,
65
- limit: Math.min(100, maxMessages - allMessages.length),
70
+ limit: Math.min(100, maxMessages),
66
71
  cursor,
67
72
  });
68
- const messages = (result.messages || []);
69
- allMessages.push(...messages);
70
- if (allMessages.length >= maxMessages) {
71
- allMessages.splice(maxMessages);
72
- break;
73
- }
74
- cursor = result.response_metadata?.next_cursor;
75
- } while (cursor);
73
+ return {
74
+ messages: (result.messages || []),
75
+ nextCursor: result.response_metadata?.next_cursor,
76
+ };
77
+ }, maxMessages);
76
78
  if (allMessages.length === 0)
77
79
  return '';
78
80
  const lines = allMessages
79
81
  .reverse()
80
- .map(m => {
81
- const sender = m.bot_id ? '(bot)' : `<@${m.user}>`;
82
- return `${sender}: ${m.text || ''}`;
83
- });
82
+ .map(m => `${formatSender(m)}: ${m.text || ''}`);
84
83
  return `[이 채널의 대화 - ${allMessages.length}개 메시지]\n${lines.join('\n')}`;
85
84
  }
86
85
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/slack/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/slack/context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/slack/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,GAAG,EAAE,MAAM,aAAa,CAAC;AAiClD,OAAO,KAAK,EAAE,WAAW,EAA+B,MAAM,YAAY,CAAC;AAkB3E,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,WAAW,EACnB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAEf;AA8bD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAqR/C"}
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/slack/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,GAAG,EAAE,MAAM,aAAa,CAAC;AAiClD,OAAO,KAAK,EAAE,WAAW,EAA+B,MAAM,YAAY,CAAC;AA8B3E,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,WAAW,EACnB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAEf;AA2bD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAkP/C"}
@@ -27,9 +27,10 @@ function getApprovalKey(channel, threadTs) {
27
27
  }
28
28
  // inject 명령어에서 직접 호출 (중복방지/부팅체크 건너뛰기 — 사용자 인증은 이미 완료됨)
29
29
  export async function handleIncomingDirect(text, channel, threadTs, messageTs, client, userId) {
30
- await handleIncoming(text, channel, threadTs, messageTs, client, userId, undefined, undefined, true);
30
+ await handleIncoming({ text, channel, threadTs, messageTs, client, userId, bypassGuards: true });
31
31
  }
32
- async function handleIncoming(text, channel, threadTs, messageTs, client, userId, slackContext, files, bypassGuards = false) {
32
+ async function handleIncoming(opts) {
33
+ const { text, channel, threadTs, messageTs, client, userId, slackContext, files, bypassGuards = false } = opts;
33
34
  if (!bypassGuards) {
34
35
  // 앱 시작 이전 이벤트 무시 (재시작 시 밀린 이벤트 방지)
35
36
  if (isBootMessage(messageTs)) {
@@ -60,11 +61,10 @@ async function handleIncoming(text, channel, threadTs, messageTs, client, userId
60
61
  if (!getSession(threadTs)) {
61
62
  const linked = resolveSessionFromLink(text);
62
63
  if (linked) {
63
- setSession(threadTs, linked.sessionId);
64
64
  if (linked.workDir) {
65
65
  setWorkDir(threadTs, linked.workDir);
66
- setSession(threadTs, linked.sessionId);
67
66
  }
67
+ setSession(threadTs, linked.sessionId);
68
68
  log.info('링크에서 세션 자동 연결', { threadTs, linkedSessionId: linked.sessionId });
69
69
  }
70
70
  }
@@ -180,17 +180,22 @@ async function handleIncoming(text, channel, threadTs, messageTs, client, userId
180
180
  case 'tool-call-start':
181
181
  toolUseCount++;
182
182
  break;
183
- case 'service':
184
- await handleServiceEvent(event, {
183
+ case 'service': {
184
+ const svcResult = await handleServiceEvent(event, {
185
185
  threadTs, channel, responseTs, client,
186
186
  sessionId, newSessionId, threadWorkDir,
187
187
  retryCount, didAutoCompact,
188
- onRetry: () => { retryCount++; },
189
- onCompacted: () => { didAutoCompact = true; },
190
- onSessionId: (id) => { newSessionId = id; },
191
- appendText: (t) => { responseText += t; },
192
188
  });
189
+ if (svcResult.retried)
190
+ retryCount++;
191
+ if (svcResult.compacted)
192
+ didAutoCompact = true;
193
+ if (svcResult.newSessionId)
194
+ newSessionId = svcResult.newSessionId;
195
+ if (svcResult.appendText)
196
+ responseText += svcResult.appendText;
193
197
  break;
198
+ }
194
199
  default:
195
200
  break;
196
201
  }
@@ -292,23 +297,24 @@ async function handleIncoming(text, channel, threadTs, messageTs, client, userId
292
297
  }
293
298
  async function handleServiceEvent(event, ctx) {
294
299
  const svc = event.service;
300
+ const result = { appendText: '', retried: false, compacted: false };
295
301
  if (!svc)
296
- return;
302
+ return result;
297
303
  if (svc.errorType === 'transient' && ctx.retryCount < 1) {
298
- ctx.onRetry();
304
+ result.retried = true;
299
305
  log.info('transient 에러, 재시도 안내', { threadTs: ctx.threadTs });
300
306
  if (ctx.responseTs) {
301
307
  await ctx.client.chat.update({ channel: ctx.channel, ts: ctx.responseTs, text: ':warning: 일시적 오류가 발생했습니다...' }).catch(() => { });
302
308
  }
303
- ctx.appendText('\n:warning: 일시적 오류 발생. 재시도하려면 같은 메시지를 다시 보내주세요.');
309
+ result.appendText = '\n:warning: 일시적 오류 발생. 재시도하려면 같은 메시지를 다시 보내주세요.';
304
310
  }
305
311
  else if (svc.errorType === 'session_corrupt') {
306
312
  log.info('session corrupt, 세션 초기화', { threadTs: ctx.threadTs });
307
313
  clearSession(ctx.threadTs);
308
- ctx.appendText('\n:warning: 세션 오류가 발생하여 세션을 초기화했습니다. 다시 메시지를 보내주세요.');
314
+ result.appendText = '\n:warning: 세션 오류가 발생하여 세션을 초기화했습니다. 다시 메시지를 보내주세요.';
309
315
  }
310
316
  else if (svc.errorType === 'context_overflow' && !ctx.didAutoCompact) {
311
- ctx.onCompacted();
317
+ result.compacted = true;
312
318
  log.info('context overflow, 자동 압축 시도', { threadTs: ctx.threadTs });
313
319
  if (ctx.responseTs) {
314
320
  await ctx.client.chat.update({ channel: ctx.channel, ts: ctx.responseTs, text: ':warning: 컨텍스트가 가득 차서 압축 중...' }).catch(() => { });
@@ -321,20 +327,21 @@ async function handleServiceEvent(event, ctx) {
321
327
  });
322
328
  for await (const ce of compactResult.stream) {
323
329
  if (ce.type === 'result' && ce.session_id) {
324
- ctx.onSessionId(ce.session_id);
330
+ result.newSessionId = ce.session_id;
325
331
  setSession(ctx.threadTs, ce.session_id);
326
332
  }
327
333
  }
328
- ctx.appendText('\n:warning: 컨텍스트를 자동 압축했습니다. 다시 메시지를 보내주세요.');
334
+ result.appendText = '\n:warning: 컨텍스트를 자동 압축했습니다. 다시 메시지를 보내주세요.';
329
335
  }
330
336
  catch (compactErr) {
331
337
  log.error('자동 압축 실패', { error: String(compactErr) });
332
- ctx.appendText('\n:x: 컨텍스트 압축 실패. `$new`로 세션을 초기화해주세요.');
338
+ result.appendText = '\n:x: 컨텍스트 압축 실패. `$new`로 세션을 초기화해주세요.';
333
339
  }
334
340
  }
335
341
  else {
336
- ctx.appendText(`\n:x: ${svc.message}`);
342
+ result.appendText = `\n:x: ${svc.message}`;
337
343
  }
344
+ return result;
338
345
  }
339
346
  async function sendApprovalButtons(client, channel, threadTs, request) {
340
347
  const summary = formatToolInline({ toolName: request.toolName, toolInput: request.toolInput });
@@ -422,7 +429,16 @@ export function registerHandlers(app) {
422
429
  threadFiles = ctx.files;
423
430
  }
424
431
  const allFiles = [...threadFiles, ...(msg.files || [])];
425
- await handleIncoming(text || '(첨부 파일을 확인해주세요)', msg.channel, threadTs, msg.ts, client, msg.user, slackContext, allFiles.length > 0 ? allFiles : undefined);
432
+ await handleIncoming({
433
+ text: text || '(첨부 파일을 확인해주세요)',
434
+ channel: msg.channel,
435
+ threadTs,
436
+ messageTs: msg.ts,
437
+ client,
438
+ userId: msg.user,
439
+ slackContext,
440
+ files: allFiles.length > 0 ? allFiles : undefined,
441
+ });
426
442
  },
427
443
  });
428
444
  app.assistant(assistant);
@@ -486,110 +502,53 @@ export function registerHandlers(app) {
486
502
  log.error('App Home 업데이트 실패', { error: String(e), user: event.user });
487
503
  }
488
504
  });
489
- // 승인 action 핸들러 이번만 승인
490
- app.action('approve_tool', async ({ action, body, client, ack }) => {
491
- await ack();
492
- const raw = 'value' in action ? action.value : '';
493
- const [requestId, toolName] = parseButtonValue(raw);
494
- const channel = body.channel?.id;
495
- const messageTs = body.message?.ts;
496
- let resolved = false;
497
- for (const server of activeApprovalServers.values()) {
498
- if (server.resolve(requestId, 'allow')) {
499
- resolved = true;
500
- break;
505
+ // 승인 action 핸들러 (이번만 승인 / 항상 허용 / 거부)
506
+ const APPROVAL_ACTIONS = {
507
+ approve_tool: { decision: 'allow', alwaysAllow: false, icon: ':white_check_mark:', label: '승인됨 (이번만)' },
508
+ approve_tool_always: { decision: 'allow', alwaysAllow: true, icon: ':white_check_mark:', label: '항상 허용됨' },
509
+ deny_tool: { decision: 'deny', alwaysAllow: false, icon: ':x:', label: '거부됨' },
510
+ };
511
+ for (const [actionId, actionConfig] of Object.entries(APPROVAL_ACTIONS)) {
512
+ app.action(actionId, async ({ action, body, client, ack }) => {
513
+ await ack();
514
+ const raw = 'value' in action ? action.value : '';
515
+ const [requestId, toolName] = parseButtonValue(raw);
516
+ const channel = body.channel?.id;
517
+ const messageTs = body.message?.ts;
518
+ let resolved = false;
519
+ for (const server of activeApprovalServers.values()) {
520
+ if (server.resolve(requestId, actionConfig.decision, actionConfig.alwaysAllow)) {
521
+ resolved = true;
522
+ break;
523
+ }
501
524
  }
502
- }
503
- if (channel && messageTs) {
504
- const label = toolName ? ` — \`${toolName}\`` : '';
505
- await client.chat.update({
506
- channel,
507
- ts: messageTs,
508
- text: ':white_check_mark: 승인됨 (이번만)',
509
- blocks: [
510
- {
511
- type: 'section',
512
- text: {
513
- type: 'mrkdwn',
514
- text: `:white_check_mark: *승인됨* (이번만)${label} ${resolved ? '' : '(이미 처리됨)'}`,
515
- },
516
- },
517
- ],
518
- }).catch(() => { });
519
- }
520
- });
521
- // 승인 action 핸들러 — 항상 허용
522
- app.action('approve_tool_always', async ({ action, body, client, ack }) => {
523
- await ack();
524
- const raw = 'value' in action ? action.value : '';
525
- const [requestId, toolName] = parseButtonValue(raw);
526
- const channel = body.channel?.id;
527
- const threadTs = body.message?.thread_ts;
528
- const messageTs = body.message?.ts;
529
- let resolved = false;
530
- for (const server of activeApprovalServers.values()) {
531
- if (server.resolve(requestId, 'allow', true)) {
532
- resolved = true;
533
- break;
525
+ // "항상 허용" → settings.local.json에 도구 영구 등록
526
+ if (actionConfig.alwaysAllow && toolName) {
527
+ const threadTs = body.message?.thread_ts;
528
+ const workDir = (threadTs ? getWorkDir(threadTs) : null) || config.agent.workDir;
529
+ await addToolToSettings(workDir, toolName).catch((e) => {
530
+ log.error('settings.local.json 업데이트 실패', { error: String(e), toolName });
531
+ });
534
532
  }
535
- }
536
- // settings.local.json에 도구 영구 등록
537
- if (toolName) {
538
- const workDir = (threadTs ? getWorkDir(threadTs) : null) || config.agent.workDir;
539
- await addToolToSettings(workDir, toolName).catch((e) => {
540
- log.error('settings.local.json 업데이트 실패', { error: String(e), toolName });
541
- });
542
- }
543
- if (channel && messageTs) {
544
- const label = toolName ? ` — \`${toolName}\`` : '';
545
- await client.chat.update({
546
- channel,
547
- ts: messageTs,
548
- text: ':white_check_mark: 항상 허용됨',
549
- blocks: [
550
- {
551
- type: 'section',
552
- text: {
553
- type: 'mrkdwn',
554
- text: `:white_check_mark: *항상 허용됨*${label} ${resolved ? '' : '(이미 처리됨)'}`,
533
+ if (channel && messageTs) {
534
+ const toolLabel = toolName ? ` — \`${toolName}\`` : '';
535
+ await client.chat.update({
536
+ channel,
537
+ ts: messageTs,
538
+ text: `${actionConfig.icon} ${actionConfig.label}`,
539
+ blocks: [
540
+ {
541
+ type: 'section',
542
+ text: {
543
+ type: 'mrkdwn',
544
+ text: `${actionConfig.icon} *${actionConfig.label}*${toolLabel} ${resolved ? '' : '(이미 처리됨)'}`,
545
+ },
555
546
  },
556
- },
557
- ],
558
- }).catch(() => { });
559
- }
560
- });
561
- // 승인 action 핸들러 — 거부
562
- app.action('deny_tool', async ({ action, body, client, ack }) => {
563
- await ack();
564
- const raw = 'value' in action ? action.value : '';
565
- const [requestId, toolName] = parseButtonValue(raw);
566
- const channel = body.channel?.id;
567
- const messageTs = body.message?.ts;
568
- let resolved = false;
569
- for (const server of activeApprovalServers.values()) {
570
- if (server.resolve(requestId, 'deny')) {
571
- resolved = true;
572
- break;
547
+ ],
548
+ }).catch(() => { });
573
549
  }
574
- }
575
- if (channel && messageTs) {
576
- const label = toolName ? ` — \`${toolName}\`` : '';
577
- await client.chat.update({
578
- channel,
579
- ts: messageTs,
580
- text: ':x: 거부됨',
581
- blocks: [
582
- {
583
- type: 'section',
584
- text: {
585
- type: 'mrkdwn',
586
- text: `:x: *거부됨*${label} ${resolved ? '' : '(이미 처리됨)'}`,
587
- },
588
- },
589
- ],
590
- }).catch(() => { });
591
- }
592
- });
550
+ });
551
+ }
593
552
  // DM 메시지 핸들러
594
553
  app.message(async ({ message, client }) => {
595
554
  const msg = message;
@@ -615,7 +574,16 @@ export function registerHandlers(app) {
615
574
  ? (text?.replace(/<@[A-Z0-9]+>/g, '').trim() || text || '')
616
575
  : (text || '');
617
576
  const allFiles = [...threadFiles, ...(msg.files || [])];
618
- await handleIncoming(cleanText || '(첨부 파일을 확인해주세요)', msg.channel, threadTs, msg.ts, client, msg.user, slackContext, allFiles.length > 0 ? allFiles : undefined);
577
+ await handleIncoming({
578
+ text: cleanText || '(첨부 파일을 확인해주세요)',
579
+ channel: msg.channel,
580
+ threadTs,
581
+ messageTs: msg.ts,
582
+ client,
583
+ userId: msg.user,
584
+ slackContext,
585
+ files: allFiles.length > 0 ? allFiles : undefined,
586
+ });
619
587
  });
620
588
  // 채널 @멘션 핸들러
621
589
  app.event('app_mention', async ({ event, client }) => {
@@ -642,7 +610,16 @@ export function registerHandlers(app) {
642
610
  slackContext = await fetchChannelHistory(client, event.channel);
643
611
  }
644
612
  const allFiles = [...threadFiles, ...(files || [])];
645
- await handleIncoming(text || '(첨부 파일을 확인해주세요)', event.channel, threadTs, event.ts, client, event.user, slackContext, allFiles.length > 0 ? allFiles : undefined);
613
+ await handleIncoming({
614
+ text: text || '(첨부 파일을 확인해주세요)',
615
+ channel: event.channel,
616
+ threadTs,
617
+ messageTs: event.ts,
618
+ client,
619
+ userId: event.user,
620
+ slackContext,
621
+ files: allFiles.length > 0 ? allFiles : undefined,
622
+ });
646
623
  });
647
624
  }
648
625
  //# sourceMappingURL=handlers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/slack/handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/slack/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACjI,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACxF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAA4B,MAAM,cAAc,CAAC;AACjG,OAAO,EAAE,cAAc,EAAwB,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAEL,aAAa,EACb,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,gBAAgB;AAChB,mBAAmB,EAAE,CAAC;AAEtB,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;AAEpC,MAAM,yBAAyB,GAAG,IAAI,CAAC;AAEvC,wBAAwB;AACxB,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAA0B,CAAC;AAEhE,SAAS,cAAc,CAAC,OAAe,EAAE,QAAgB;IACvD,OAAO,GAAG,OAAO,IAAI,QAAQ,EAAE,CAAC;AAClC,CAAC;AAcD,uDAAuD;AACvD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAAY,EACZ,OAAe,EACf,QAAgB,EAChB,SAAiB,EACjB,MAAmB,EACnB,MAAe;IAEf,MAAM,cAAc,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;AACnG,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,IAA4B;IACxD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC;IAC/G,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,mCAAmC;QACnC,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YACxC,OAAO;QACT,CAAC;QAED,eAAe;QACf,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QAED,2BAA2B;QAC3B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;IACH,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE1D,WAAW;IACX,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;QAC/C,MAAM,cAAc,GAAG,gBAAgB,EAAE,CAAC;QAC1C,MAAM,cAAc,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,CAAC;QACvJ,OAAO;IACT,CAAC;IAED,0CAA0C;IAC1C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YACvC,CAAC;YACD,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;YACvC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED,aAAa;IACb,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;IAC/C,MAAM,cAAc,GAAG,gBAAgB,EAAE,CAAC;IAC1C,IAAI,gBAAgB,IAAI,cAAc,EAAE,CAAC;QACvC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,gBAAgB,EAAE,cAAc,EAAE,CAAC,CAAC;QAChE,MAAM,SAAS,CACb,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,yCAAyC,EAAE,CAAC,EAChH,yBAAyB,CAC1B,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,OAAO,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QACjC,oBAAoB,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,UAA8B,CAAC;QACnC,MAAM,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAE5D,8BAA8B;QAC9B,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;YACpC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;YACxC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC1B,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAEhC,IAAI,cAAc,GAA0B,IAAI,CAAC;QACjD,IAAI,WAAW,GAAiC,IAAI,CAAC;QAErD,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;YACvC,MAAM,aAAa,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;YAEnE,6BAA6B;YAC7B,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAEtE,WAAW;YACX,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,UAAU,GAAG,MAAM,uBAAuB,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACjG,WAAW,GAAG,UAAU,CAAC,aAAa,CAAC;gBACvC,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACjC,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACzE,MAAM,UAAU,CACd,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAC/E,+BAA+B,CAChC,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,WAAW,GAAG,CAAC,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrF,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAEnD,sCAAsC;YACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC;YAC7C,IAAI,YAAgC,CAAC;YAErC,IAAI,QAAQ,KAAK,mBAAmB,EAAE,CAAC;gBACrC,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;gBACtC,cAAc,CAAC,WAAW,CAAC,CAAC,OAAwB,EAAE,EAAE;oBACtD,KAAK,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAC/D,CAAC,CAAC,CAAC;gBACH,YAAY,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,CAAC;gBAC5C,WAAW,GAAG,MAAM,WAAW,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;gBAE7D,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACtD,qBAAqB,CAAC,GAAG,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YACzD,CAAC;YAED,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;gBAClC,MAAM,EAAE,UAAU;gBAClB,SAAS,EAAE,SAAS,IAAI,SAAS;gBACjC,OAAO,EAAE,aAAa;gBACtB,WAAW,EAAE,eAAe,CAAC,MAAM;gBACnC,YAAY;aACb,CAAC,CAAC;YACH,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAE9B,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,IAAI,YAAgC,CAAC;YACrC,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,IAAI,cAAc,GAAG,KAAK,CAAC;YAE3B,IAAI,CAAC;gBACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBACjC,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;wBACnC,OAAO,GAAG,IAAI,CAAC;wBACf,MAAM;oBACR,CAAC;oBAED,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;wBACnB,KAAK,OAAO;4BACV,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC;4BAC/B,MAAM;wBAER,KAAK,MAAM;4BACT,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gCACf,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oCACvB,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;gCACpC,CAAC;qCAAM,CAAC;oCACN,YAAY,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;gCACrC,CAAC;4BACH,CAAC;4BACD,MAAM;wBAER,KAAK,UAAU;4BACb,IAAI,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;gCACvB,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;4BACnC,CAAC;4BACD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gCACpB,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC;4BACjC,CAAC;4BACD,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;gCACtB,KAAK,WAAW,CAAC;oCACf,MAAM,EAAE,MAAM,IAAI,SAAS;oCAC3B,QAAQ;oCACR,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oCACrB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,SAAS;oCAC1C,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW;oCACzC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY;oCAC3C,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iCACnC,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;4BAC3B,CAAC;4BACD,MAAM;wBAER,KAAK,iBAAiB;4BACpB,YAAY,EAAE,CAAC;4BACf,MAAM;wBAER,KAAK,SAAS,CAAC,CAAC,CAAC;4BACf,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE;gCAChD,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM;gCACrC,SAAS,EAAE,YAAY,EAAE,aAAa;gCACtC,UAAU,EAAE,cAAc;6BAC3B,CAAC,CAAC;4BACH,IAAI,SAAS,CAAC,OAAO;gCAAE,UAAU,EAAE,CAAC;4BACpC,IAAI,SAAS,CAAC,SAAS;gCAAE,cAAc,GAAG,IAAI,CAAC;4BAC/C,IAAI,SAAS,CAAC,YAAY;gCAAE,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;4BAClE,IAAI,SAAS,CAAC,UAAU;gCAAE,YAAY,IAAI,SAAS,CAAC,UAAU,CAAC;4BAC/D,MAAM;wBACR,CAAC;wBAED;4BACE,MAAM;oBACV,CAAC;oBAED,oBAAoB;oBACpB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACvB,IAAI,YAAY,IAAI,GAAG,GAAG,YAAY,IAAI,yBAAyB,EAAE,CAAC;wBACpE,YAAY,GAAG,GAAG,CAAC;wBACnB,iDAAiD;wBACjD,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;wBACnD,MAAM,OAAO,GAAG,YAAY,GAAG,gBAAgB,CAAC;wBAChD,IAAI,CAAC,UAAU,EAAE,CAAC;4BAChB,MAAM,GAAG,GAAG,MAAM,SAAS,CACzB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAC9E,0BAA0B,CAC3B,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAA2B,CAAC;4BAC9C,IAAI,GAAG,EAAE,EAAE;gCAAE,UAAU,GAAG,GAAG,CAAC,EAAE,CAAC;wBACnC,CAAC;6BAAM,CAAC;4BACN,MAAM,UAAU,CACd,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EACpE,qBAAqB,CACtB,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,SAAS,EAAE,CAAC;gBACnB,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;oBACrD,IAAI,EAAE,CAAC;gBACT,CAAC;YACH,CAAC;YAED,sBAAsB;YACtB,IAAI,YAAY,EAAE,CAAC;gBACjB,UAAU,CAAC,QAAQ,EAAE,YAAY,EAAE;oBACjC,MAAM;oBACN,OAAO;oBACP,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,SAAS;oBACtC,UAAU,EAAE,IAAI;iBACjB,CAAC,CAAC;gBACH,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC;YAC3D,CAAC;YAED,WAAW;YACX,IAAI,OAAO,EAAE,CAAC;gBACZ,YAAY,GAAG,YAAY,IAAI,EAAE,CAAC;gBAClC,YAAY,IAAI,mCAAmC,CAAC;YACtD,CAAC;YAED,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;gBACzB,YAAY,GAAG,kCAAkC,CAAC;YACpD,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;YACnE,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;YAEvC,yBAAyB;YACzB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;YAC5B,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,GAAW,EAAE,EAAE,CAC9C,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAExD,yBAAyB;YACzB,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,sBAAsB,CAAC,CAAC;YAClG,CAAC;YAED,sCAAsC;YACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,MAAM,SAAS,CACb,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAC9F,0BAA0B,CAAC,GAAG,CAC/B,CAAC;YACJ,CAAC;YAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,MAAM,SAAS,CACb,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC;oBACzB,UAAU,EAAE,OAAO;oBACnB,SAAS,EAAE,QAAQ;oBACnB,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,KAAK,EAAE,OAAO,CAAC,QAAQ;iBACxB,CAAC,EACF,iBAAiB,OAAO,CAAC,QAAQ,GAAG,CACrC,CAAC,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE;oBACrB,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC5E,CAAC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;gBACrB,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;YAEvD,MAAM,MAAM,GAAG,mBAAmB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACzF,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,oBAAoB,CAAC,CAAC;YAC9G,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,yBAAyB,CAAC,CAAC;YAC7H,CAAC;QAEH,CAAC;gBAAS,CAAC;YACT,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC3B,YAAY,CAAC,aAAa,CAAC,CAAC;YAC5B,MAAM,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;YAErD,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACtD,qBAAqB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACtC,CAAC;YAED,oBAAoB,EAAE,CAAC;QACzB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAqBD,KAAK,UAAU,kBAAkB,CAAC,KAAmB,EAAE,GAAsB;IAC3E,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC;IAC1B,MAAM,MAAM,GAAuB,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACxF,IAAI,CAAC,GAAG;QAAE,OAAO,MAAM,CAAC;IAExB,IAAI,GAAG,CAAC,SAAS,KAAK,WAAW,IAAI,GAAG,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;QACxD,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7D,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACnB,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAClI,CAAC;QACD,MAAM,CAAC,UAAU,GAAG,iDAAiD,CAAC;IACxE,CAAC;SAAM,IAAI,GAAG,CAAC,SAAS,KAAK,iBAAiB,EAAE,CAAC;QAC/C,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChE,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3B,MAAM,CAAC,UAAU,GAAG,qDAAqD,CAAC;IAC5E,CAAC;SAAM,IAAI,GAAG,CAAC,SAAS,KAAK,kBAAkB,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;QACvE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,GAAG,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnE,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACnB,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,+BAA+B,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACpI,CAAC;QACD,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,QAAQ,CAAC;gBAC7B,MAAM,EAAE,UAAU;gBAClB,SAAS,EAAE,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,SAAS,IAAI,SAAS;gBACzD,OAAO,EAAE,GAAG,CAAC,aAAa;aAC3B,CAAC,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,EAAE,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;gBAC5C,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC;oBAC1C,MAAM,CAAC,YAAY,GAAG,EAAE,CAAC,UAAU,CAAC;oBACpC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;YACD,MAAM,CAAC,UAAU,GAAG,6CAA6C,CAAC;QACpE,CAAC;QAAC,OAAO,UAAU,EAAE,CAAC;YACpB,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACrD,MAAM,CAAC,UAAU,GAAG,wCAAwC,CAAC;QAC/D,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,UAAU,GAAG,SAAS,GAAG,CAAC,OAAO,EAAE,CAAC;IAC7C,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,MAAmB,EACnB,OAAe,EACf,QAAgB,EAChB,OAAwB;IAExB,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAC/F,MAAM,WAAW,GAAG,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAE/D,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;YAC5B,OAAO;YACP,SAAS,EAAE,QAAQ;YACnB,IAAI,EAAE,gBAAgB,OAAO,CAAC,QAAQ,EAAE;YACxC,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,mCAAmC,OAAO,CAAC,QAAQ,aAAa,OAAO,EAAE;qBAChF;iBACF;gBACD;oBACE,IAAI,EAAE,SAAS;oBACf,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE;4BAC5C,KAAK,EAAE,SAAS;4BAChB,SAAS,EAAE,cAAc;4BACzB,KAAK,EAAE,WAAW;yBACnB;wBACD;4BACE,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;4BAC3C,SAAS,EAAE,qBAAqB;4BAChC,KAAK,EAAE,WAAW;yBACnB;wBACD;4BACE,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;4BACxC,KAAK,EAAE,QAAQ;4BACf,SAAS,EAAE,WAAW;4BACtB,KAAK,EAAE,WAAW;yBACnB;qBACF;iBACF;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW;IACnC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAQ;IACvC,sCAAsC;IACtC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC;QAC9B,aAAa,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,mBAAmB,EAAE,QAAQ,EAAE,EAAE,EAAE;YAC9D,MAAM,QAAQ,CAAC,eAAe,CAAC,CAAC;YAChC,MAAM,GAAG,CAAC,wEAAwE,CAAC,CAAC;YACpF,MAAM,mBAAmB,CAAC;gBACxB,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,mBAAmB,EAAE;oBACrD,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE;oBAC/C,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE;iBACnD;aACF,CAAC,CAAC;QACL,CAAC;QACD,WAAW,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE;YACpD,MAAM,GAAG,GAAG,OAAkC,CAAC;YAC/C,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,KAAK,YAAY,CAAC,IAAI,GAAG,CAAC,MAAM;gBAAE,OAAO;YAExE,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YACtB,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAiB,CAAC,EAAE,CAAC,CAAC;YAC5J,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM;gBAAE,OAAO;YAExC,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,EAAE,CAAC;YACzC,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAE3C,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,IAAI,WAAW,GAAoB,EAAE,CAAC;YACtC,IAAI,GAAG,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3C,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBACjF,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC;gBACxB,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC;YAC1B,CAAC;YAED,MAAM,QAAQ,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;YACxD,MAAM,cAAc,CAAC;gBACnB,IAAI,EAAE,IAAI,IAAI,iBAAiB;gBAC/B,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,QAAQ;gBACR,SAAS,EAAE,GAAG,CAAC,EAAE;gBACjB,MAAM;gBACN,MAAM,EAAE,GAAG,CAAC,IAAI;gBAChB,YAAY;gBACZ,KAAK,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;aAClD,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;IAEH,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAEzB,kBAAkB;IAClB,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;QACvD,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM;YAAE,OAAO;QAEjC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;gBACzB,OAAO,EAAE,KAAK,CAAC,IAAI;gBACnB,IAAI,EAAE;oBACJ,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE;wBACN;4BACE,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE;yBACpD;wBACD;4BACE,IAAI,EAAE,SAAS;4BACf,IAAI,EAAE;gCACJ,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,4CAA4C;6BACnD;yBACF;wBACD,EAAE,IAAI,EAAE,SAAS,EAAE;wBACnB;4BACE,IAAI,EAAE,SAAS;4BACf,IAAI,EAAE;gCACJ,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,aAAa;sCACf,sDAAsD;sCACtD,2CAA2C;6BAChD;yBACF;wBACD;4BACE,IAAI,EAAE,SAAS;4BACf,IAAI,EAAE;gCACJ,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,WAAW;sCACb,iCAAiC;sCACjC,2BAA2B;sCAC3B,wBAAwB;sCACxB,6CAA6C;sCAC7C,sDAAsD;sCACtD,6BAA6B;sCAC7B,kCAAkC;sCAClC,uCAAuC;sCACvC,sCAAsC;sCACtC,+BAA+B;sCAC/B,qBAAqB;sCACrB,uBAAuB;sCACvB,2BAA2B;sCAC3B,kBAAkB;6BACvB;yBACF;qBACF;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,sCAAsC;IACtC,MAAM,gBAAgB,GAAG;QACvB,YAAY,EAAE,EAAE,QAAQ,EAAE,OAAgB,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,WAAW,EAAE;QAChH,mBAAmB,EAAE,EAAE,QAAQ,EAAE,OAAgB,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,QAAQ,EAAE;QACnH,SAAS,EAAE,EAAE,QAAQ,EAAE,MAAe,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;KACxF,CAAC;IAEF,KAAK,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACxE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE;YAC3D,MAAM,GAAG,EAAE,CAAC;YACZ,MAAM,GAAG,GAAG,OAAO,IAAI,MAAM,CAAC,CAAC,CAAE,MAA4B,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACpD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACjC,MAAM,SAAS,GAAI,IAAsC,CAAC,OAAO,EAAE,EAAE,CAAC;YAEtE,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,KAAK,MAAM,MAAM,IAAI,qBAAqB,CAAC,MAAM,EAAE,EAAE,CAAC;gBACpD,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC/E,QAAQ,GAAG,IAAI,CAAC;oBAChB,MAAM;gBACR,CAAC;YACH,CAAC;YAED,0CAA0C;YAC1C,IAAI,YAAY,CAAC,WAAW,IAAI,QAAQ,EAAE,CAAC;gBACzC,MAAM,QAAQ,GAAI,IAA6C,CAAC,OAAO,EAAE,SAAS,CAAC;gBACnF,MAAM,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;gBACjF,MAAM,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE;oBAC9D,GAAG,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC3E,CAAC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;gBACzB,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;oBACvB,OAAO;oBACP,EAAE,EAAE,SAAS;oBACb,IAAI,EAAE,GAAG,YAAY,CAAC,IAAI,IAAI,YAAY,CAAC,KAAK,EAAE;oBAClD,MAAM,EAAE;wBACN;4BACE,IAAI,EAAE,SAAS;4BACf,IAAI,EAAE;gCACJ,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,GAAG,YAAY,CAAC,IAAI,KAAK,YAAY,CAAC,KAAK,IAAI,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE;6BAC/F;yBACF;qBACF;iBACF,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,aAAa;IACb,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;QACxC,MAAM,GAAG,GAAG,OAAuB,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,KAAK,YAAY,CAAC,IAAI,GAAG,CAAC,MAAM;YAAE,OAAO;QAExE,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM;YAAE,OAAO;QAExC,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,KAAK,IAAI,CAAC;QACvC,4BAA4B;QAC5B,MAAM,UAAU,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,SAAS,IAAI,CAC3C,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CACxE,CAAC;QAEF,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QAEjC,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,EAAE,CAAC;QAEzC,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,WAAW,GAAoB,EAAE,CAAC;QACtC,IAAI,GAAG,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YACjF,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC;YACxB,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC;QAC1B,CAAC;QAED,MAAM,SAAS,GAAG,UAAU;YAC1B,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;YAC3D,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAEjB,MAAM,QAAQ,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;QACxD,MAAM,cAAc,CAAC;YACnB,IAAI,EAAE,SAAS,IAAI,iBAAiB;YACpC,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,QAAQ;YACR,SAAS,EAAE,GAAG,CAAC,EAAE;YACjB,MAAM;YACN,MAAM,EAAE,GAAG,CAAC,IAAI;YAChB,YAAY;YACZ,KAAK,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;SAClD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,aAAa;IACb,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;QACnD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7D,MAAM,KAAK,GAAI,KAAgD,CAAC,KAAK,CAAC;QACtE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM;YAAE,OAAO;QAEpC,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,EAAE,CAAC;QAE7C,wBAAwB;QACxB,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACrB,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC7B,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC;QAED,mBAAmB;QACnB,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,WAAW,GAAoB,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7C,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YACvF,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC;YACxB,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC;QAC1B,CAAC;aAAM,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YAC5B,sBAAsB;YACtB,YAAY,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;QACpD,MAAM,cAAc,CAAC;YACnB,IAAI,EAAE,IAAI,IAAI,iBAAiB;YAC/B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,QAAQ;YACR,SAAS,EAAE,KAAK,CAAC,EAAE;YACnB,MAAM;YACN,MAAM,EAAE,KAAK,CAAC,IAAI;YAClB,YAAY;YACZ,KAAK,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;SAClD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAUA,UAAU,MAAM;IACd,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC7D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC9D;AA8BD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAwBnD"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAUA,UAAU,MAAM;IACd,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC7D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC9D;AA+BD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAwBnD"}
@@ -4,15 +4,16 @@ const LOG_LEVEL_PRIORITY = {
4
4
  warn: 2,
5
5
  error: 3,
6
6
  };
7
- function getMinLogLevel() {
7
+ // 프로세스 시작 시 1회 결정, 이후 캐싱
8
+ const minLogLevel = (() => {
8
9
  const envLevel = process.env.LOG_LEVEL?.toLowerCase();
9
10
  if (envLevel && envLevel in LOG_LEVEL_PRIORITY) {
10
11
  return envLevel;
11
12
  }
12
13
  return 'info';
13
- }
14
+ })();
14
15
  function shouldLog(level) {
15
- return LOG_LEVEL_PRIORITY[level] >= LOG_LEVEL_PRIORITY[getMinLogLevel()];
16
+ return LOG_LEVEL_PRIORITY[level] >= LOG_LEVEL_PRIORITY[minLogLevel];
16
17
  }
17
18
  function writeLog(entry) {
18
19
  const line = JSON.stringify(entry);
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAiBA,MAAM,kBAAkB,GAA6B;IACnD,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACT,CAAC;AAEF,SAAS,cAAc;IACrB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC;IACtD,IAAI,QAAQ,IAAI,QAAQ,IAAI,kBAAkB,EAAE,CAAC;QAC/C,OAAO,QAAoB,CAAC;IAC9B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,SAAS,CAAC,KAAe;IAChC,OAAO,kBAAkB,CAAC,KAAK,CAAC,IAAI,kBAAkB,CAAC,cAAc,EAAE,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,QAAQ,CAAC,KAAe;IAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,SAAS,GAAG,CAAC,KAAe,EAAE,OAAe,EAAE,IAA8B;QAC3E,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAAE,OAAO;QAE9B,MAAM,KAAK,GAAa;YACtB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,KAAK;YACL,MAAM;YACN,OAAO;SACR,CAAC;QAEF,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QACpB,CAAC;QAED,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC;IAED,OAAO;QACL,KAAK,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC;QACrD,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;QACnD,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;QACnD,KAAK,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC;KACtD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAiBA,MAAM,kBAAkB,GAA6B;IACnD,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACT,CAAC;AAEF,yBAAyB;AACzB,MAAM,WAAW,GAAa,CAAC,GAAG,EAAE;IAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC;IACtD,IAAI,QAAQ,IAAI,QAAQ,IAAI,kBAAkB,EAAE,CAAC;QAC/C,OAAO,QAAoB,CAAC;IAC9B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC,EAAE,CAAC;AAEL,SAAS,SAAS,CAAC,KAAe;IAChC,OAAO,kBAAkB,CAAC,KAAK,CAAC,IAAI,kBAAkB,CAAC,WAAW,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,QAAQ,CAAC,KAAe;IAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,SAAS,GAAG,CAAC,KAAe,EAAE,OAAe,EAAE,IAA8B;QAC3E,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAAE,OAAO;QAE9B,MAAM,KAAK,GAAa;YACtB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,KAAK;YACL,MAAM;YACN,OAAO;SACR,CAAC;QAEF,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QACpB,CAAC;QAED,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC;IAED,OAAO;QACL,KAAK,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC;QACrD,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;QACnD,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;QACnD,KAAK,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC;KACtD,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "choavis-agent",
3
- "version": "1.5.1",
3
+ "version": "1.5.2",
4
4
  "description": "Slack ↔ Claude Code bridge agent",
5
5
  "type": "module",
6
6
  "bin": {