wonjang-agent 0.1.0

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 ADDED
@@ -0,0 +1,38 @@
1
+ # wonjang-agent
2
+
3
+ > 원장 — 로컬 환경을 다루는 **한국어 우선** 자율 AI 에이전트 (Rust).
4
+
5
+ ```bash
6
+ npm install -g wonjang-agent
7
+ ```
8
+
9
+ 설치하면 `wonjang` 명령을 바로 쓸 수 있습니다(설치 시 플랫폼에 맞는 네이티브
10
+ 바이너리를 자동으로 내려받습니다).
11
+
12
+ ```bash
13
+ export OPENROUTER_API_KEY=sk-or-...
14
+ wonjang # 대화형 모드
15
+ wonjang "git 상태 알려줘" # 단발 실행
16
+ wonjang preset run 다운로드정리 # 한국어 작업 프리셋
17
+ ```
18
+
19
+ 자세한 사용법과 소스는 GitHub 저장소를 참고하세요:
20
+ **https://github.com/wonjangcloud9/wonjangAgent**
21
+
22
+ ## 지원 플랫폼
23
+
24
+ | OS | 아키텍처 |
25
+ | --- | --- |
26
+ | macOS | arm64 (Apple Silicon), x64 |
27
+ | Linux | x64 (musl) |
28
+ | Windows | x64 |
29
+
30
+ 지원되지 않는 플랫폼은 소스 빌드를 사용하세요:
31
+
32
+ ```bash
33
+ cargo install --git https://github.com/wonjangcloud9/wonjangAgent
34
+ ```
35
+
36
+ ## 라이선스
37
+
38
+ MIT
package/bin/wonjang.js ADDED
@@ -0,0 +1,26 @@
1
+ #!/usr/bin/env node
2
+ // 내려받은 네이티브 바이너리로 인자를 그대로 전달하는 런처.
3
+
4
+ const { spawnSync } = require('child_process');
5
+ const path = require('path');
6
+ const fs = require('fs');
7
+
8
+ const isWin = process.platform === 'win32';
9
+ const binName = isWin ? 'wonjang.exe' : 'wonjang';
10
+ const bin = path.join(__dirname, binName);
11
+
12
+ if (!fs.existsSync(bin)) {
13
+ console.error(
14
+ '[wonjang] 네이티브 바이너리를 찾을 수 없습니다.\n' +
15
+ ' 재설치해 보세요: npm install -g wonjang-agent\n' +
16
+ ' 또는 소스 빌드: cargo install --git https://github.com/wonjangcloud9/wonjangAgent'
17
+ );
18
+ process.exit(1);
19
+ }
20
+
21
+ const result = spawnSync(bin, process.argv.slice(2), { stdio: 'inherit' });
22
+ if (result.error) {
23
+ console.error(`[wonjang] 실행 실패: ${result.error.message}`);
24
+ process.exit(1);
25
+ }
26
+ process.exit(result.status ?? 0);
package/install.js ADDED
@@ -0,0 +1,59 @@
1
+ // 설치 후 실행(postinstall): 현재 플랫폼에 맞는 사전 빌드 바이너리를
2
+ // GitHub Releases에서 내려받아 bin/ 에 저장한다.
3
+ //
4
+ // 다운로드에 실패해도 npm 설치 자체는 깨지지 않도록(soft-fail) 처리하고,
5
+ // 실행 시 launcher가 안내한다.
6
+
7
+ const fs = require('fs');
8
+ const path = require('path');
9
+ const pkg = require('./package.json');
10
+
11
+ const REPO = 'wonjangcloud9/wonjangAgent';
12
+
13
+ // node 플랫폼/아키텍처 → rust 타깃(릴리스 자산 이름).
14
+ const TARGETS = {
15
+ 'darwin-arm64': 'aarch64-apple-darwin',
16
+ 'darwin-x64': 'x86_64-apple-darwin',
17
+ 'linux-x64': 'x86_64-unknown-linux-musl',
18
+ 'linux-arm64': 'aarch64-unknown-linux-musl',
19
+ 'win32-x64': 'x86_64-pc-windows-msvc',
20
+ };
21
+
22
+ async function main() {
23
+ const key = `${process.platform}-${process.arch}`;
24
+ const target = TARGETS[key];
25
+ const isWin = process.platform === 'win32';
26
+ const binName = isWin ? 'wonjang.exe' : 'wonjang';
27
+ const dest = path.join(__dirname, 'bin', binName);
28
+
29
+ if (!target) {
30
+ console.error(
31
+ `[wonjang] 지원하지 않는 플랫폼(${key})입니다. 소스 빌드를 사용하세요:\n` +
32
+ ` cargo install --git https://github.com/${REPO}`
33
+ );
34
+ return; // soft-fail
35
+ }
36
+
37
+ const asset = `wonjang-${target}${isWin ? '.exe' : ''}`;
38
+ const url = `https://github.com/${REPO}/releases/download/v${pkg.version}/${asset}`;
39
+
40
+ console.log(`[wonjang] 바이너리 내려받는 중...\n ${url}`);
41
+ try {
42
+ const res = await fetch(url, { redirect: 'follow' });
43
+ if (!res.ok) throw new Error(`HTTP ${res.status}`);
44
+ const buf = Buffer.from(await res.arrayBuffer());
45
+ fs.mkdirSync(path.dirname(dest), { recursive: true });
46
+ fs.writeFileSync(dest, buf);
47
+ if (!isWin) fs.chmodSync(dest, 0o755);
48
+ console.log(`[wonjang] 설치 완료 → ${dest}`);
49
+ } catch (e) {
50
+ console.error(
51
+ `[wonjang] 바이너리 다운로드 실패: ${e.message}\n` +
52
+ ` 해당 버전의 릴리스가 아직 없을 수 있습니다.\n` +
53
+ ` 소스 빌드: cargo install --git https://github.com/${REPO}`
54
+ );
55
+ // soft-fail: npm 설치를 중단시키지 않는다.
56
+ }
57
+ }
58
+
59
+ main();
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "wonjang-agent",
3
+ "version": "0.1.0",
4
+ "description": "원장 — 로컬 환경을 다루는 한국어 우선 자율 AI 에이전트 (Rust)",
5
+ "bin": {
6
+ "wonjang": "bin/wonjang.js"
7
+ },
8
+ "scripts": {
9
+ "postinstall": "node install.js"
10
+ },
11
+ "files": [
12
+ "bin/wonjang.js",
13
+ "install.js",
14
+ "README.md"
15
+ ],
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "git+https://github.com/wonjangcloud9/wonjangAgent.git"
19
+ },
20
+ "homepage": "https://github.com/wonjangcloud9/wonjangAgent",
21
+ "bugs": {
22
+ "url": "https://github.com/wonjangcloud9/wonjangAgent/issues"
23
+ },
24
+ "keywords": [
25
+ "ai",
26
+ "agent",
27
+ "cli",
28
+ "korean",
29
+ "한국어",
30
+ "rust",
31
+ "llm",
32
+ "automation"
33
+ ],
34
+ "license": "MIT",
35
+ "engines": {
36
+ "node": ">=18"
37
+ },
38
+ "os": [
39
+ "darwin",
40
+ "linux",
41
+ "win32"
42
+ ],
43
+ "cpu": [
44
+ "x64",
45
+ "arm64"
46
+ ]
47
+ }