@blumn-dev/talkbridge-cli 0.9.11

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,39 @@
1
+ # @blumn-dev/talkbridge-cli
2
+
3
+ talkbridge-dev — Omni Conversation Bridge 상담 에이전트 CLI (**dev 채널**). 카카오 상담톡(HappyTalk 경유) 상담·채널 제어·게이트웨이를 터미널에서 실행한다.
4
+
5
+ > **실행명령어 분리:** dev 채널은 **`talkbridge-dev`**, 운영 채널(추후)은 `talkbridge`.
6
+ > **무인증 설치:** 플랫폼 바이너리를 npm에 동봉한다(esbuild 모델) — GitHub 다운로드·인증·postinstall 스크립트 없음.
7
+
8
+ ## 설치 (dev)
9
+
10
+ ```bash
11
+ npm install -g @blumn-dev/talkbridge-cli@dev
12
+ talkbridge-dev --version
13
+ talkbridge-dev --help
14
+ ```
15
+
16
+ ## 지원 플랫폼 (v1)
17
+
18
+ | OS | 아키텍처 | 플랫폼 패키지 |
19
+ |----|----------|---------------|
20
+ | Windows | x64 | `@blumn-dev/talkbridge-cli-win32-x64` |
21
+ | macOS | Apple Silicon | `@blumn-dev/talkbridge-cli-darwin-arm64` |
22
+ | Linux (glibc·Ubuntu 22.04+) | x64 | `@blumn-dev/talkbridge-cli-linux-x64` |
23
+
24
+ > Intel Mac / Windows arm64 / Linux arm64는 후속(v2).
25
+
26
+ ## 동작
27
+
28
+ - 메인 패키지는 얇은 런처(`bin/talkbridge-dev.js`)만 담는다. 실제 바이너리는 **플랫폼별 optional dependency**(위 표)에 들어 있고, npm이 `os`/`cpu` 매칭으로 현재 플랫폼 것만 설치한다.
29
+ - 런처가 설치된 플랫폼 패키지의 self-contained 단일 실행파일을 `talkbridge-dev`로 실행한다. .NET 런타임 설치 불필요.
30
+ - 사용자 설정/데이터(`~/.bridge-agent/`)는 설치·제거와 분리되어 보존된다.
31
+
32
+ ## 바이너리
33
+
34
+ - self-contained single-file + **partial trim + 압축**(약 19MB). Terminal.Gui·Discord.Net 등 리플렉션 라이브러리는 보존(트림 안전).
35
+ - 서명 미적용(v1) — Windows Smart App Control이 미서명 실행을 막을 수 있음(코드서명 v1.x 후속).
36
+
37
+ ## 배포
38
+
39
+ GitHub Actions(`.github/workflows/release-cli.yml`)가 `bridgecli-dev-v*` 태그에서 win-x64 + osx-arm64를 빌드해 **플랫폼 패키지 + 메인 패키지를 npm(`dev` dist-tag)에 퍼블**한다. 운영(`latest`)은 추후.
@@ -0,0 +1,46 @@
1
+ #!/usr/bin/env node
2
+ //
3
+ // npm postinstall — 설치 직후 온보딩 안내를 출력한다(ASCII 배너 + 다음 명령).
4
+ // ⚠️ 순수 출력만: 네트워크·다운로드·인증·파일변경 전혀 없음. 실패해도 설치를 막지 않는다(항상 exit 0).
5
+ // 실행명령어는 dev 채널이라 -dev 접미사(talkbridge-dev). 운영(talkbridge)은 추후.
6
+
7
+ 'use strict';
8
+
9
+ try {
10
+ const CYAN = '\x1b[36m', DIM = '\x1b[2m', BOLD = '\x1b[1m', RESET = '\x1b[0m';
11
+ const color = !!process.stdout.isTTY && !process.env.NO_COLOR;
12
+ const c = (s, code) => (color ? code + s + RESET : s);
13
+
14
+ const banner = [
15
+ ' ██████╗███████╗██████╗ ██████╗ ██╗██████╗ ██████╗ ███████╗',
16
+ '██╔════╝██╔════╝██╔══██╗██╔══██╗██║██╔══██╗██╔════╝ ██╔════╝',
17
+ '██║ ███████╗██████╔╝██████╔╝██║██║ ██║██║ ███╗█████╗',
18
+ '██║ ╚════██║██╔══██╗██╔══██╗██║██║ ██║██║ ██║██╔══╝',
19
+ '╚██████╗███████║██████╔╝██║ ██║██║██████╔╝╚██████╔╝███████╗',
20
+ ' ╚═════╝╚══════╝╚═════╝ ╚═╝ ╚═╝╚═╝╚═════╝ ╚═════╝ ╚══════╝',
21
+ ].join('\n');
22
+
23
+ const lines = [
24
+ '',
25
+ c(banner, CYAN),
26
+ '',
27
+ ' TalkBridge CLI ' + c('(dev build)', DIM) + ' — installed successfully!',
28
+ '',
29
+ ' This is the ' + c('DEVELOPMENT', BOLD) + ' build, so the command is suffixed with ' + c('-dev', BOLD) + '.',
30
+ ' To get started, just run:',
31
+ '',
32
+ ' ' + c('talkbridge-dev', (BOLD + CYAN)),
33
+ '',
34
+ ' Next steps:',
35
+ ' talkbridge-dev setup Configure key / channel / CRM / AI',
36
+ ' talkbridge-dev gateway start Start the consultation gateway',
37
+ ' talkbridge-dev knowledge help Consultation knowledge ontology (graph RAG)',
38
+ ' talkbridge-dev --help Full command list',
39
+ '',
40
+ c(' Docs: https://github.com/BlumnAI-Studio/omni-coversation-brdige', DIM),
41
+ '',
42
+ ];
43
+ process.stdout.write(lines.join('\n') + '\n');
44
+ } catch (_) {
45
+ // 안내 출력 실패는 무시한다 — 설치 자체를 막지 않는다.
46
+ }
@@ -0,0 +1,52 @@
1
+ #!/usr/bin/env node
2
+ //
3
+ // talkbridge-dev launcher (esbuild 모델). 실제 바이너리는 플랫폼별 optional dependency
4
+ // (@blumn-dev/talkbridge-cli-{platform}-{arch})에 동봉돼 npm이 os/cpu 매칭으로 설치한다.
5
+ // GitHub 다운로드·인증 없음. postinstall 은 순수 온보딩 안내 출력만(bin/postinstall.js — 네트워크·부작용 없음).
6
+ // 실행명령어 분리: dev=talkbridge-dev, 운영(추후)=talkbridge.
7
+ // User data at ~/.bridge-agent/ is never touched.
8
+
9
+ 'use strict';
10
+
11
+ const path = require('path');
12
+ const fs = require('fs');
13
+ const { spawnSync } = require('child_process');
14
+
15
+ const PLATFORM_PKG = {
16
+ 'win32-x64': '@blumn-dev/talkbridge-cli-win32-x64',
17
+ 'darwin-arm64': '@blumn-dev/talkbridge-cli-darwin-arm64',
18
+ 'linux-x64': '@blumn-dev/talkbridge-cli-linux-x64',
19
+ // 비주력 OS(별도 게시, 태그 bridgecli-dev-etc-v*): Intel Mac + Linux ARM64
20
+ 'darwin-x64': '@blumn-dev/talkbridge-cli-darwin-x64',
21
+ 'linux-arm64': '@blumn-dev/talkbridge-cli-linux-arm64',
22
+ };
23
+
24
+ const key = `${process.platform}-${process.arch}`;
25
+ const pkgName = PLATFORM_PKG[key];
26
+ if (!pkgName) {
27
+ console.error(`@blumn-dev/talkbridge-cli: unsupported platform ${key} (supported: ${Object.keys(PLATFORM_PKG).join(', ')})`);
28
+ process.exit(1);
29
+ }
30
+
31
+ const exe = process.platform === 'win32' ? 'talkbridge-dev.exe' : 'talkbridge-dev';
32
+
33
+ let binPath = null;
34
+ try {
35
+ // 플랫폼 패키지의 package.json 을 resolve 해 그 디렉토리의 바이너리를 찾는다(exports 미정의라 안전).
36
+ const pj = require.resolve(`${pkgName}/package.json`);
37
+ binPath = path.join(path.dirname(pj), exe);
38
+ } catch { /* optional dep 미설치 */ }
39
+
40
+ if (!binPath || !fs.existsSync(binPath)) {
41
+ console.error(`@blumn-dev/talkbridge-cli: platform binary not found (${pkgName}).`);
42
+ console.error('@blumn-dev/talkbridge-cli: optionalDependencies 설치가 스킵됐을 수 있습니다. 재설치:');
43
+ console.error('@blumn-dev/talkbridge-cli: npm install -g @blumn-dev/talkbridge-cli@dev');
44
+ process.exit(1);
45
+ }
46
+
47
+ const result = spawnSync(binPath, process.argv.slice(2), { stdio: 'inherit', windowsHide: false });
48
+ if (result.error) {
49
+ console.error('@blumn-dev/talkbridge-cli: failed to spawn binary:', result.error.message);
50
+ process.exit(1);
51
+ }
52
+ process.exit(result.status ?? 0);
package/package.json ADDED
@@ -0,0 +1,56 @@
1
+ {
2
+ "name": "@blumn-dev/talkbridge-cli",
3
+ "version": "0.9.11",
4
+ "description": "talkbridge-dev — Omni Conversation Bridge agent CLI (dev 채널). 실행명령어 talkbridge-dev. 무인증 설치 — 플랫폼 바이너리를 npm에 동봉(GitHub·다운로드 불필요).",
5
+ "keywords": [
6
+ "talkbridge",
7
+ "conversation-bridge",
8
+ "kakao",
9
+ "cli",
10
+ "gateway",
11
+ "customer-support"
12
+ ],
13
+ "homepage": "https://github.com/BlumnAI-Studio/omni-coversation-brdige",
14
+ "bugs": {
15
+ "url": "https://github.com/BlumnAI-Studio/omni-coversation-brdige/issues"
16
+ },
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "git+https://github.com/BlumnAI-Studio/omni-coversation-brdige.git",
20
+ "directory": "packaging/npm/talkbridge-cli"
21
+ },
22
+ "license": "UNLICENSED",
23
+ "author": "BlumnAI",
24
+ "bin": {
25
+ "talkbridge-dev": "bin/talkbridge-dev.js"
26
+ },
27
+ "scripts": {
28
+ "postinstall": "node bin/postinstall.js"
29
+ },
30
+ "files": [
31
+ "bin/",
32
+ "README.md"
33
+ ],
34
+ "optionalDependencies": {
35
+ "@blumn-dev/talkbridge-cli-win32-x64": "0.9.11",
36
+ "@blumn-dev/talkbridge-cli-darwin-arm64": "0.9.11",
37
+ "@blumn-dev/talkbridge-cli-linux-x64": "0.9.11",
38
+ "@blumn-dev/talkbridge-cli-darwin-x64": "0.9.11",
39
+ "@blumn-dev/talkbridge-cli-linux-arm64": "0.9.11"
40
+ },
41
+ "engines": {
42
+ "node": ">=18"
43
+ },
44
+ "os": [
45
+ "win32",
46
+ "darwin",
47
+ "linux"
48
+ ],
49
+ "cpu": [
50
+ "x64",
51
+ "arm64"
52
+ ],
53
+ "publishConfig": {
54
+ "access": "public"
55
+ }
56
+ }