choavis-agent 1.2.1 → 1.2.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 +12 -10
- package/dist/slack/commands/compact.js +1 -1
- package/dist/slack/commands/compact.js.map +1 -1
- package/dist/slack/commands/help.js +11 -11
- package/dist/slack/commands/help.js.map +1 -1
- package/dist/slack/commands/memory.js +7 -7
- package/dist/slack/commands/memory.js.map +1 -1
- package/dist/slack/commands/new.js +1 -1
- package/dist/slack/commands/new.js.map +1 -1
- package/dist/slack/commands/project.js +2 -2
- package/dist/slack/commands/project.js.map +1 -1
- package/dist/slack/commands/status.js +1 -1
- package/dist/slack/commands/status.js.map +1 -1
- package/dist/slack/commands/stop.js +1 -1
- package/dist/slack/commands/stop.js.map +1 -1
- package/dist/slack/commands/usage.js +1 -1
- package/dist/slack/commands/usage.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -170,18 +170,20 @@ Bot User OAuth Token 복사 (`xoxb-...`) → 온보딩에서 입력
|
|
|
170
170
|
|
|
171
171
|
Slack에서 에이전트에게 다음 명령어를 보낼 수 있습니다:
|
|
172
172
|
|
|
173
|
+
모든 명령어는 `$`로 시작합니다. 일반 대화와 구분되어 오작동을 방지합니다.
|
|
174
|
+
|
|
173
175
|
| 명령어 | 별칭 | 설명 |
|
|
174
176
|
|--------|------|------|
|
|
175
|
-
|
|
|
176
|
-
|
|
|
177
|
-
|
|
|
178
|
-
|
|
|
179
|
-
|
|
|
180
|
-
|
|
|
181
|
-
|
|
|
182
|
-
|
|
|
183
|
-
|
|
|
184
|
-
|
|
|
177
|
+
| `$도움말` | `$help` | 사용 가능한 명령어 목록 |
|
|
178
|
+
| `$상태` | `$status` | 현재 설정, 세션, 사용량 요약 |
|
|
179
|
+
| `$사용량` | `$사용량 me`, `$사용량 week` | 오늘의 사용량 통계 |
|
|
180
|
+
| `$초기화` | `$리셋`, `$new` | 현재 스레드 세션 초기화 |
|
|
181
|
+
| `$압축` | `$compact` | 컨텍스트 압축 (긴 대화 시) |
|
|
182
|
+
| `$중지` | `$멈춰`, `$그만`, `$stop` | 현재 처리 중인 작업 중단 |
|
|
183
|
+
| `$프로젝트 이름` | `$project name` | 작업 디렉토리 전환 |
|
|
184
|
+
| `$기억 내용` | `$remember content` | 에이전트에 영구 정보 저장 |
|
|
185
|
+
| `$기억목록` | `$memories` | 저장된 기억 조회 |
|
|
186
|
+
| `$기억삭제 ID` | `$forget ID` | 저장된 기억 삭제 |
|
|
185
187
|
|
|
186
188
|
---
|
|
187
189
|
|
|
@@ -4,7 +4,7 @@ import { config } from '../../config.js';
|
|
|
4
4
|
export const compactCommand = {
|
|
5
5
|
name: 'compact',
|
|
6
6
|
match(text) {
|
|
7
|
-
const m = text.match(/^(
|
|
7
|
+
const m = text.match(/^(\$compact|\$압축)\s*(.*)$/i);
|
|
8
8
|
if (m) {
|
|
9
9
|
return { name: 'compact', args: m[2].trim() };
|
|
10
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compact.js","sourceRoot":"","sources":["../../../src/slack/commands/compact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,MAAM,CAAC,MAAM,cAAc,GAAY;IACrC,IAAI,EAAE,SAAS;IAEf,KAAK,CAAC,IAAY;QAChB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"compact.js","sourceRoot":"","sources":["../../../src/slack/commands/compact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,MAAM,CAAC,MAAM,cAAc,GAAY;IACrC,IAAI,EAAE,SAAS;IAEf,KAAK,CAAC,IAAY;QAChB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACnD,IAAI,CAAC,EAAE,CAAC;YACN,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAChD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAmB;QAC/B,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;gBAChC,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,SAAS,EAAE,GAAG,CAAC,QAAQ;gBACvB,IAAI,EAAE,yCAAyC;aAChD,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACnB,OAAO;QACT,CAAC;QAED,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;YAChC,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,SAAS,EAAE,GAAG,CAAC,QAAQ;YACvB,IAAI,EAAE,8BAA8B;SACrC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAEnB,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;QACjE,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;YAC1B,MAAM,EAAE,UAAU;YAClB,SAAS;YACT,OAAO;SACR,CAAC,CAAC;QAEH,IAAI,YAAgC,CAAC;QACrC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBAC5E,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC;YAClC,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBAChD,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC;YAClC,CAAC;QACH,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;YAChC,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,SAAS,EAAE,GAAG,CAAC,QAAQ;YACvB,IAAI,EAAE,gCAAgC;SACvC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACrB,CAAC;CACF,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getWorkDir } from '../../agent/session.js';
|
|
2
2
|
import { config } from '../../config.js';
|
|
3
|
-
const TRIGGERS = ['
|
|
3
|
+
const TRIGGERS = ['$help', '$도움말', '$안녕'];
|
|
4
4
|
export const helpCommand = {
|
|
5
5
|
name: 'help',
|
|
6
6
|
match(text) {
|
|
@@ -29,16 +29,16 @@ export const helpCommand = {
|
|
|
29
29
|
' - 아무 메시지나 보내면 작업을 수행합니다',
|
|
30
30
|
' - 같은 스레드 내 대화는 맥락이 유지됩니다',
|
|
31
31
|
'',
|
|
32
|
-
'*명령어:*',
|
|
33
|
-
' -
|
|
34
|
-
' -
|
|
35
|
-
' -
|
|
36
|
-
' -
|
|
37
|
-
' -
|
|
38
|
-
' -
|
|
39
|
-
' -
|
|
40
|
-
' -
|
|
41
|
-
' -
|
|
32
|
+
'*명령어:* (`$`로 시작)',
|
|
33
|
+
' - `$프로젝트 이름` — 작업 디렉토리 전환',
|
|
34
|
+
' - `$상태` — 현재 설정 및 상태 확인',
|
|
35
|
+
' - `$사용량` — 사용량 조회 (`$사용량 me`, `$사용량 week`)',
|
|
36
|
+
' - `$초기화` — 세션 초기화 (대화 리셋)',
|
|
37
|
+
' - `$압축` — 컨텍스트 압축',
|
|
38
|
+
' - `$중지` — 현재 처리 중단',
|
|
39
|
+
' - `$기억 내용` — 기억 저장 (모든 대화에 반영)',
|
|
40
|
+
' - `$기억목록` — 저장된 기억 조회',
|
|
41
|
+
' - `$도움말` — 이 메시지',
|
|
42
42
|
'',
|
|
43
43
|
`:file_folder: *현재 작업 디렉토리*: \`${getWorkDir(ctx.threadTs) || config.agent.workDir}\``,
|
|
44
44
|
].join('\n');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../../src/slack/commands/help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,MAAM,QAAQ,GAAG,CAAC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../../src/slack/commands/help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,MAAM,QAAQ,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAE1C,MAAM,CAAC,MAAM,WAAW,GAAY;IAClC,IAAI,EAAE,MAAM;IAEZ,KAAK,CAAC,IAAY;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QACpC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAmB;QAC/B,MAAM,QAAQ,GAAG;YACf,sCAAsC;YACtC,EAAE;YACF,4CAA4C;YAC5C,iCAAiC;YACjC,EAAE;YACF,aAAa;YACb,yBAAyB;YACzB,6BAA6B;YAC7B,yBAAyB;YACzB,qBAAqB;YACrB,6BAA6B;YAC7B,uBAAuB;YACvB,EAAE;YACF,QAAQ;YACR,2BAA2B;YAC3B,4BAA4B;YAC5B,EAAE;YACF,kBAAkB;YAClB,6BAA6B;YAC7B,2BAA2B;YAC3B,8CAA8C;YAC9C,6BAA6B;YAC7B,qBAAqB;YACrB,sBAAsB;YACtB,kCAAkC;YAClC,yBAAyB;YACzB,oBAAoB;YACpB,EAAE;YACF,iCAAiC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI;SACtF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;YAChC,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,SAAS,EAAE,GAAG,CAAC,QAAQ;YACvB,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACrB,CAAC;CACF,CAAC"}
|
|
@@ -3,16 +3,16 @@ import { config } from '../../config.js';
|
|
|
3
3
|
export const memoryCommand = {
|
|
4
4
|
name: 'memory',
|
|
5
5
|
match(text) {
|
|
6
|
-
//
|
|
7
|
-
let m = text.match(/^(
|
|
6
|
+
// $기억 content
|
|
7
|
+
let m = text.match(/^(\$기억|\$remember)\s+(.+)$/is);
|
|
8
8
|
if (m)
|
|
9
9
|
return { name: 'memory', args: `add:${m[2].trim()}` };
|
|
10
|
-
//
|
|
11
|
-
m = text.match(/^(
|
|
10
|
+
// $기억삭제 id
|
|
11
|
+
m = text.match(/^(\$기억삭제|\$forget)\s+(\S+)$/i);
|
|
12
12
|
if (m)
|
|
13
13
|
return { name: 'memory', args: `delete:${m[2].trim()}` };
|
|
14
|
-
//
|
|
15
|
-
if (/^(
|
|
14
|
+
// $기억목록
|
|
15
|
+
if (/^(\$기억목록|\$memories)$/i.test(text)) {
|
|
16
16
|
return { name: 'memory', args: 'list' };
|
|
17
17
|
}
|
|
18
18
|
return null;
|
|
@@ -69,7 +69,7 @@ export const memoryCommand = {
|
|
|
69
69
|
const date = new Date(e.createdAt).toLocaleDateString('ko-KR');
|
|
70
70
|
text += `\`${e.id}\` ${e.content} _${date}_\n`;
|
|
71
71
|
}
|
|
72
|
-
text += '\n_삭제:
|
|
72
|
+
text += '\n_삭제: `$기억삭제 <ID>`_';
|
|
73
73
|
await ctx.client.chat.postMessage({
|
|
74
74
|
channel: ctx.channel,
|
|
75
75
|
thread_ts: ctx.threadTs,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/slack/commands/memory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,MAAM,CAAC,MAAM,aAAa,GAAY;IACpC,IAAI,EAAE,QAAQ;IAEd,KAAK,CAAC,IAAY;QAChB,
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/slack/commands/memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new.js","sourceRoot":"","sources":["../../../src/slack/commands/new.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"new.js","sourceRoot":"","sources":["../../../src/slack/commands/new.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAEzC,MAAM,CAAC,MAAM,UAAU,GAAY;IACjC,IAAI,EAAE,KAAK;IAEX,KAAK,CAAC,IAAY;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAmB;QAC/B,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,GAAG,GAAG,YAAY;YACtB,CAAC,CAAC,iDAAiD,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ;YACnF,CAAC,CAAC,yCAAyC,CAAC;QAE9C,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;YAChC,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,SAAS,EAAE,GAAG,CAAC,QAAQ;YACvB,IAAI,EAAE,GAAG;SACV,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACrB,CAAC;CACF,CAAC"}
|
|
@@ -3,9 +3,9 @@ import { config } from '../../config.js';
|
|
|
3
3
|
export const projectCommand = {
|
|
4
4
|
name: 'project',
|
|
5
5
|
match(text) {
|
|
6
|
-
const m = text.match(
|
|
6
|
+
const m = text.match(/^(\$프로젝트|\$project)\s+(\S+)$/i);
|
|
7
7
|
if (m) {
|
|
8
|
-
return { name: 'project', args: m[
|
|
8
|
+
return { name: 'project', args: m[2] };
|
|
9
9
|
}
|
|
10
10
|
return null;
|
|
11
11
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../../src/slack/commands/project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,MAAM,CAAC,MAAM,cAAc,GAAY;IACrC,IAAI,EAAE,SAAS;IAEf,KAAK,CAAC,IAAY;QAChB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../../src/slack/commands/project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,MAAM,CAAC,MAAM,cAAc,GAAY;IACrC,IAAI,EAAE,SAAS;IAEf,KAAK,CAAC,IAAY;QAChB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACtD,IAAI,CAAC,EAAE,CAAC;YACN,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAmB;QAC/B,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,kBAAkB;QAChD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;QACvC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE1C,IAAI,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1B,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;YAChD,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;gBAChC,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,SAAS,EAAE,GAAG,CAAC,QAAQ;gBACvB,IAAI,EAAE,wBAAwB,WAAW,mBAAmB,QAAQ,CAAC,WAAW,CAAC,IAAI;aACtF,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACrB,CAAC;aAAM,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,IAAI,QAAQ,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzF,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;gBAChC,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,SAAS,EAAE,GAAG,CAAC,QAAQ;gBACvB,IAAI,EAAE,eAAe,WAAW,qCAAqC,IAAI,EAAE;aAC5E,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;gBAChC,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,SAAS,EAAE,GAAG,CAAC,QAAQ;gBACvB,IAAI,EAAE,yDAAyD;aAChE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;CACF,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getSession, getWorkDir } from '../../agent/session.js';
|
|
2
2
|
import { config } from '../../config.js';
|
|
3
3
|
import { getUsageSummary } from '../../agent/usage.js';
|
|
4
|
-
const TRIGGERS = ['
|
|
4
|
+
const TRIGGERS = ['$status', '$상태'];
|
|
5
5
|
export const statusCommand = {
|
|
6
6
|
name: 'status',
|
|
7
7
|
match(text) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/slack/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/slack/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AAEpC,MAAM,CAAC,MAAM,aAAa,GAAY;IACpC,IAAI,EAAE,QAAQ;IAEd,KAAK,CAAC,IAAY;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QACtC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAmB;QAC/B,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;QACxE,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;QACvC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,cAAc,CAAC,CAAC;QAErF,MAAM,WAAW,GAAG,GAAG,CAAC,gBAAgB,IAAI,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAa,IAAI,CAAC,CAAC;QAExC,IAAI,UAAU,GAAG,6CAA6C,CAAC;QAC/D,UAAU,IAAI,2BAA2B,OAAO,CAAC,QAAQ,KAAK,CAAC;QAC/D,UAAU,IAAI,8BAA8B,cAAc,MAAM,CAAC;QACjE,IAAI,cAAc,EAAE,CAAC;YACnB,UAAU,IAAI,mBAAmB,cAAc,IAAI,CAAC;QACtD,CAAC;QACD,UAAU,IAAI,iBAAiB,cAAc,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC;QACzG,UAAU,IAAI,mBAAmB,MAAM,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC;QACjE,UAAU,IAAI,oBAAoB,WAAW,IAAI,QAAQ,IAAI,CAAC;QAE9D,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,UAAU,IAAI,oCAAoC,CAAC;YACnD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;gBAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxE,UAAU,IAAI,SAAS,IAAI,QAAQ,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC;YACjE,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC1D,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,YAAY,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxF,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,GAAG,KAAK,CAAC,iBAAiB,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAClG,UAAU,IAAI,2BAA2B,KAAK,CAAC,aAAa,GAAG,CAAC;gBAChE,UAAU,IAAI,QAAQ,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC7D,UAAU,IAAI,SAAS,YAAY,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC;gBAChE,UAAU,IAAI,MAAM,IAAI,IAAI,CAAC;YAC/B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,mBAAmB;QACrB,CAAC;QAED,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;YAChC,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,SAAS,EAAE,GAAG,CAAC,QAAQ;YACvB,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACrB,CAAC;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../src/slack/commands/stop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGlD,MAAM,CAAC,MAAM,WAAW,GAAY;IAClC,IAAI,EAAE,MAAM;IAEZ,KAAK,CAAC,IAAY;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../src/slack/commands/stop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGlD,MAAM,CAAC,MAAM,WAAW,GAAY;IAClC,IAAI,EAAE,MAAM;IAEZ,KAAK,CAAC,IAAY;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QACpC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAmB;QAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,EAAE,CAAC;QACT,CAAC;QACD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACzC,IAAI,OAAO,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,SAAS,OAAO,WAAW,CAAC,CAAC;QACzD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAExD,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;YAChC,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,SAAS,EAAE,GAAG,CAAC,QAAQ;YACvB,IAAI,EAAE,iBAAiB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;SAC3C,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACrB,CAAC;CACF,CAAC"}
|
|
@@ -14,7 +14,7 @@ function estimateCost(input, output) {
|
|
|
14
14
|
export const usageCommand = {
|
|
15
15
|
name: 'usage',
|
|
16
16
|
match(text) {
|
|
17
|
-
const m = text.match(/^(
|
|
17
|
+
const m = text.match(/^(\$usage|\$사용량)\s*(.*)$/i);
|
|
18
18
|
if (m)
|
|
19
19
|
return { name: 'usage', args: m[2].trim() };
|
|
20
20
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../../src/slack/commands/usage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,SAAS,YAAY,CAAC,CAAS;IAC7B,IAAI,CAAC,IAAI,SAAS;QAAE,OAAO,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC5D,IAAI,CAAC,IAAI,IAAI;QAAE,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAClD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC;AAED,SAAS,YAAY,CAAC,KAAa,EAAE,MAAc;IACjD,MAAM,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,MAAM,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC;IACnD,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/B,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAY;IACnC,IAAI,EAAE,OAAO;IACb,KAAK,CAAC,IAAY;QAChB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../../src/slack/commands/usage.ts"],"names":[],"mappings":"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"}
|