choavis-agent 1.5.21 → 1.5.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -60181,8 +60181,8 @@ var init_handlers = __esm({
60181
60181
  })();
60182
60182
 
60183
60183
  // src/index.ts
60184
- import { writeFileSync as writeFileSync2, unlinkSync, existsSync as existsSync7, readFileSync as readFileSync3 } from "node:fs";
60185
- import { tmpdir } from "node:os";
60184
+ import { writeFileSync as writeFileSync2, unlinkSync, existsSync as existsSync7, readFileSync as readFileSync3, mkdirSync as mkdirSync2 } from "node:fs";
60185
+ import { tmpdir, homedir as homedir2 } from "node:os";
60186
60186
  import { resolve as resolve3 } from "node:path";
60187
60187
 
60188
60188
  // src/slack/app.ts
@@ -60470,6 +60470,8 @@ init_slack_info();
60470
60470
  init_logger();
60471
60471
  init_config();
60472
60472
  var LOCK_FILE = resolve3(tmpdir(), "choavis-agent.lock");
60473
+ var configDir = resolve3(homedir2(), ".choavis-agent");
60474
+ var PID_FILE = resolve3(configDir, "agent.pid");
60473
60475
  function acquireLock() {
60474
60476
  if (existsSync7(LOCK_FILE)) {
60475
60477
  try {
@@ -60481,6 +60483,11 @@ function acquireLock() {
60481
60483
  }
60482
60484
  }
60483
60485
  writeFileSync2(LOCK_FILE, String(process.pid));
60486
+ try {
60487
+ mkdirSync2(configDir, { recursive: true });
60488
+ writeFileSync2(PID_FILE, String(process.pid));
60489
+ } catch {
60490
+ }
60484
60491
  return true;
60485
60492
  }
60486
60493
  function releaseLock() {
@@ -60488,25 +60495,18 @@ function releaseLock() {
60488
60495
  unlinkSync(LOCK_FILE);
60489
60496
  } catch {
60490
60497
  }
60498
+ try {
60499
+ unlinkSync(PID_FILE);
60500
+ } catch {
60501
+ }
60491
60502
  }
60492
60503
  var log16 = createLogger("main");
60493
60504
  async function main() {
60494
60505
  if (!acquireLock()) {
60495
60506
  process.exit(1);
60496
60507
  }
60497
- loadSessions();
60498
- const hasAtlassian = await injectAtlassianEnv();
60499
- if (hasAtlassian) {
60500
- log16.info("Atlassian \uC5F0\uB3D9 \uD65C\uC131\uD654\uB428");
60501
- }
60502
- const app = createApp();
60503
- registerHandlers(app);
60504
- const apiServer = createApiServer();
60505
- await apiServer.start(config.monitorPort);
60506
- log16.info("\uBAA8\uB2C8\uD130\uB9C1 API \uC11C\uBC84 \uC2DC\uC791", { port: config.monitorPort });
60507
- await initSlackInfo(app.client);
60508
- await app.start();
60509
- log16.info("Choavis Agent\uAC00 \uC2E4\uD589 \uC911\uC785\uB2C8\uB2E4 (Socket Mode)");
60508
+ let app;
60509
+ let apiServer;
60510
60510
  const shutdown = async () => {
60511
60511
  log16.info("\uC885\uB8CC \uC2DC\uC791");
60512
60512
  releaseLock();
@@ -60516,11 +60516,11 @@ async function main() {
60516
60516
  log16.error("\uC138\uC158 \uC800\uC7A5 \uC2E4\uD328", { error: String(e) });
60517
60517
  }
60518
60518
  try {
60519
- await apiServer.stop();
60519
+ await apiServer?.stop();
60520
60520
  } catch {
60521
60521
  }
60522
60522
  try {
60523
- await app.stop();
60523
+ await app?.stop();
60524
60524
  } catch {
60525
60525
  }
60526
60526
  log16.info("\uC885\uB8CC \uC644\uB8CC");
@@ -60528,9 +60528,23 @@ async function main() {
60528
60528
  };
60529
60529
  process.on("SIGINT", () => void shutdown());
60530
60530
  process.on("SIGTERM", () => void shutdown());
60531
+ loadSessions();
60532
+ const hasAtlassian = await injectAtlassianEnv();
60533
+ if (hasAtlassian) {
60534
+ log16.info("Atlassian \uC5F0\uB3D9 \uD65C\uC131\uD654\uB428");
60535
+ }
60536
+ app = createApp();
60537
+ registerHandlers(app);
60538
+ apiServer = createApiServer();
60539
+ await apiServer.start(config.monitorPort);
60540
+ log16.info("\uBAA8\uB2C8\uD130\uB9C1 API \uC11C\uBC84 \uC2DC\uC791", { port: config.monitorPort });
60541
+ await initSlackInfo(app.client);
60542
+ await app.start();
60543
+ log16.info("Choavis Agent\uAC00 \uC2E4\uD589 \uC911\uC785\uB2C8\uB2E4 (Socket Mode)");
60531
60544
  }
60532
60545
  main().catch((err) => {
60533
60546
  log16.error("\uC2DC\uC791 \uC2E4\uD328", { error: String(err) });
60547
+ releaseLock();
60534
60548
  process.exit(1);
60535
60549
  });
60536
60550
  /*! Bundled license information:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "choavis-agent",
3
- "version": "1.5.21",
3
+ "version": "1.5.23",
4
4
  "description": "Slack ↔ Claude Code bridge agent",
5
5
  "type": "module",
6
6
  "main": "dist-electron/main.js",
@@ -1,50 +0,0 @@
1
- #!/bin/bash
2
- # Choavis Agent - DMG Quarantine 제거 스크립트
3
- # 우클릭 → 열기로 실행하세요.
4
-
5
- DOWNLOADS="$HOME/Downloads"
6
-
7
- clear
8
- echo ""
9
- echo " ╔══════════════════════════════════════╗"
10
- echo " ║ Choavis Agent - 보안 해제 도구 ║"
11
- echo " ╚══════════════════════════════════════╝"
12
- echo ""
13
- echo " macOS가 인터넷에서 다운로드한 파일에 검역(quarantine)"
14
- echo " 속성을 자동으로 추가합니다. 이 도구는 해당 속성을"
15
- echo " 제거하여 DMG를 정상적으로 열 수 있게 합니다."
16
- echo ""
17
-
18
- # Downloads 폴더에서 Choavis DMG 탐지
19
- DMG_FILES=("$DOWNLOADS"/Choavis*.dmg)
20
-
21
- if [ ! -f "${DMG_FILES[0]}" ]; then
22
- echo " ⚠️ Downloads 폴더에서 Choavis*.dmg 파일을 찾을 수 없습니다."
23
- echo ""
24
- echo " 해결 방법:"
25
- echo " 1. GitHub Releases에서 DMG를 다운로드하세요."
26
- echo " 2. 이 스크립트를 다시 실행하세요."
27
- echo ""
28
- read -n 1 -s -r -p " 아무 키나 누르면 종료합니다..."
29
- exit 1
30
- fi
31
-
32
- echo " 📂 발견된 DMG 파일:"
33
- for f in "${DMG_FILES[@]}"; do
34
- echo " - $(basename "$f")"
35
- done
36
- echo ""
37
-
38
- echo " 🔓 quarantine 속성 제거 중..."
39
- for f in "${DMG_FILES[@]}"; do
40
- xattr -cr "$f"
41
- echo " ✅ $(basename "$f") 완료"
42
- done
43
-
44
- echo ""
45
- echo " ✅ 완료! 이제 DMG를 더블클릭하여 열고,"
46
- echo " Install.command를 더블클릭하면 설치됩니다."
47
- echo ""
48
- read -n 1 -s -r -p " 아무 키나 누르면 종료합니다..."
49
- echo ""
50
- exit 0