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 +2 -5
- package/dist/agent/session.d.ts.map +1 -1
- package/dist/agent/session.js +13 -16
- package/dist/agent/session.js.map +1 -1
- package/dist/agent/usage.d.ts.map +1 -1
- package/dist/agent/usage.js +11 -23
- package/dist/agent/usage.js.map +1 -1
- package/dist/slack/commands/types.d.ts +1 -1
- package/dist/slack/commands/types.d.ts.map +1 -1
- package/dist/slack/context.d.ts.map +1 -1
- package/dist/slack/context.js +35 -36
- package/dist/slack/context.js.map +1 -1
- package/dist/slack/handlers.d.ts.map +1 -1
- package/dist/slack/handlers.js +99 -122
- package/dist/slack/handlers.js.map +1 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +4 -3
- package/dist/utils/logger.js.map +1 -1
- package/package.json +1 -1
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;
|
|
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"}
|
package/dist/agent/session.js
CHANGED
|
@@ -32,32 +32,29 @@ export function loadSessions() {
|
|
|
32
32
|
log.warn('세션 파일 파싱 실패, 빈 상태로 시작');
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
|
|
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
|
-
|
|
45
|
-
|
|
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
|
-
|
|
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(
|
|
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":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;AAgCpC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAwB,CAAC;AAC9C,MAAM,cAAc,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,OAAO;AAEnD,IAAI,SAAS,GAAyC,IAAI,CAAC;AAC3D,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAE/B,MAAM,UAAU,YAAY;IAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;IACtC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO;IAE9B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC,GAAG;YAAE,OAAO,CAAC,YAAY;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B,CAAC;QACxD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC1B,iCAAiC;gBACjC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC7D,CAAC;iBAAM,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;gBAC1D,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAiB,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED,
|
|
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,
|
|
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"}
|
package/dist/agent/usage.js
CHANGED
|
@@ -50,30 +50,18 @@ export async function getUsageSummary(baseDir, filter) {
|
|
|
50
50
|
const byUser = {};
|
|
51
51
|
const byModel = {};
|
|
52
52
|
const byDate = {};
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
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
|
-
|
|
75
|
-
|
|
76
|
-
|
|
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,
|
package/dist/agent/usage.js.map
CHANGED
|
@@ -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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/slack/commands/types.ts"],"names":[],"mappings":"
|
|
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;
|
|
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"}
|
package/dist/slack/context.js
CHANGED
|
@@ -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
|
|
29
|
+
limit: Math.min(100, maxMessages),
|
|
14
30
|
cursor,
|
|
15
31
|
});
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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
|
-
|
|
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
|
|
70
|
+
limit: Math.min(100, maxMessages),
|
|
66
71
|
cursor,
|
|
67
72
|
});
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
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":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;AAEpC,2CAA2C;AAC3C,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAWhC,
|
|
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;
|
|
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"}
|
package/dist/slack/handlers.js
CHANGED
|
@@ -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,
|
|
30
|
+
await handleIncoming({ text, channel, threadTs, messageTs, client, userId, bypassGuards: true });
|
|
31
31
|
}
|
|
32
|
-
async function handleIncoming(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
314
|
+
result.appendText = '\n:warning: 세션 오류가 발생하여 세션을 초기화했습니다. 다시 메시지를 보내주세요.';
|
|
309
315
|
}
|
|
310
316
|
else if (svc.errorType === 'context_overflow' && !ctx.didAutoCompact) {
|
|
311
|
-
|
|
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
|
-
|
|
330
|
+
result.newSessionId = ce.session_id;
|
|
325
331
|
setSession(ctx.threadTs, ce.session_id);
|
|
326
332
|
}
|
|
327
333
|
}
|
|
328
|
-
|
|
334
|
+
result.appendText = '\n:warning: 컨텍스트를 자동 압축했습니다. 다시 메시지를 보내주세요.';
|
|
329
335
|
}
|
|
330
336
|
catch (compactErr) {
|
|
331
337
|
log.error('자동 압축 실패', { error: String(compactErr) });
|
|
332
|
-
|
|
338
|
+
result.appendText = '\n:x: 컨텍스트 압축 실패. `$new`로 세션을 초기화해주세요.';
|
|
333
339
|
}
|
|
334
340
|
}
|
|
335
341
|
else {
|
|
336
|
-
|
|
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(
|
|
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
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
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
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
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
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
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
|
-
|
|
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(
|
|
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(
|
|
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":"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"}
|
|
@@ -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;
|
|
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"}
|
package/dist/utils/logger.js
CHANGED
|
@@ -4,15 +4,16 @@ const LOG_LEVEL_PRIORITY = {
|
|
|
4
4
|
warn: 2,
|
|
5
5
|
error: 3,
|
|
6
6
|
};
|
|
7
|
-
|
|
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[
|
|
16
|
+
return LOG_LEVEL_PRIORITY[level] >= LOG_LEVEL_PRIORITY[minLogLevel];
|
|
16
17
|
}
|
|
17
18
|
function writeLog(entry) {
|
|
18
19
|
const line = JSON.stringify(entry);
|
package/dist/utils/logger.js.map
CHANGED
|
@@ -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,
|
|
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"}
|