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 +31 -17
- package/package.json +1 -1
- package/scripts/unquarantine.command +0 -50
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
|
-
|
|
60498
|
-
|
|
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
|
|
60519
|
+
await apiServer?.stop();
|
|
60520
60520
|
} catch {
|
|
60521
60521
|
}
|
|
60522
60522
|
try {
|
|
60523
|
-
await app
|
|
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,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
|