pleumrouter 0.5.14 → 0.5.15
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 -0
- package/package.json +1 -1
- package/src/balance.mjs +1 -1
- package/src/models.mjs +1 -1
- package/src/run.mjs +1 -1
- package/src/usage.mjs +1 -1
package/README.md
CHANGED
|
@@ -88,3 +88,15 @@ env(또는 격리된 `CODEX_HOME`/임시 설정 문자열)만 세팅하고 바
|
|
|
88
88
|
npm test # node --test (의존성 0)
|
|
89
89
|
npm link # 로컬에서 pleum 명령 노출
|
|
90
90
|
```
|
|
91
|
+
|
|
92
|
+
## npm 게시 (운영)
|
|
93
|
+
|
|
94
|
+
정상 경로는 **태그 → GitHub Actions** (`.github/workflows/publish-cli.yml`).
|
|
95
|
+
|
|
96
|
+
1. `npm version patch` (또는 minor/major)로 `package.json` bump 후 커밋.
|
|
97
|
+
2. `git tag cli-v$(node -p "require('./package.json').version")` → `git push origin HEAD --tags`.
|
|
98
|
+
3. 워크플로가 `secrets.NPM_TOKEN`으로 `npm publish --provenance` 실행.
|
|
99
|
+
|
|
100
|
+
태그 규칙: `cli-v{semver}` (예: `cli-v0.5.15`).
|
|
101
|
+
|
|
102
|
+
로컬 `npm publish`는 GHA/SAS 불가 시 **비상만**. 토큰 유출 시 npm에서 즉시 Revoke.
|
package/package.json
CHANGED
package/src/balance.mjs
CHANGED
|
@@ -10,5 +10,5 @@ export async function balance() {
|
|
|
10
10
|
const data = await res.json();
|
|
11
11
|
const plm = data.balance_krw;
|
|
12
12
|
const usd = data.balance_usd != null ? ` / $${data.balance_usd.toFixed(4)}` : "";
|
|
13
|
-
console.log(`잔액:
|
|
13
|
+
console.log(`잔액: ${plm.toLocaleString("ko-KR")} 크레딧${usd}`);
|
|
14
14
|
}
|
package/src/models.mjs
CHANGED
|
@@ -45,7 +45,7 @@ export function fmtPrice(model) {
|
|
|
45
45
|
if (v == null) return "—";
|
|
46
46
|
const n = Number(v) * 1_000_000;
|
|
47
47
|
if (!Number.isFinite(n)) return "—";
|
|
48
|
-
return sym === "₩" ?
|
|
48
|
+
return sym === "₩" ? `${Math.round(n).toLocaleString("en-US")} 크레딧` : `$${n.toFixed(2)}`;
|
|
49
49
|
};
|
|
50
50
|
const kr = model.pricing_krw || {};
|
|
51
51
|
if (kr.prompt != null || kr.completion != null) return [per1m(kr.prompt, "₩"), per1m(kr.completion, "₩")];
|
package/src/run.mjs
CHANGED
|
@@ -165,7 +165,7 @@ export function buildContent(text, { attachments = [], lstat = lstatSync, read =
|
|
|
165
165
|
// 응답 후 한 줄 통계(순수 함수 — 테스트 대상). verbose일 때만 토큰/속도 표시.
|
|
166
166
|
export function formatStats({ cost, usage, ms, tokPerSec, verbose }) {
|
|
167
167
|
const bits = [];
|
|
168
|
-
if (cost != null && cost !== "") bits.push(
|
|
168
|
+
if (cost != null && cost !== "") bits.push(`${fmtCost(cost)} 크레딧`);
|
|
169
169
|
if (verbose && usage) {
|
|
170
170
|
bits.push(`↑${sanitizeTerminalText(usage.prompt_tokens ?? "?")} ↓${sanitizeTerminalText(usage.completion_tokens ?? "?")} tok`);
|
|
171
171
|
if (tokPerSec) bits.push(`${tokPerSec.toFixed(1)} tok/s`);
|
package/src/usage.mjs
CHANGED
|
@@ -19,7 +19,7 @@ export function parseUsageArgs(rest = []) {
|
|
|
19
19
|
return { by, days };
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
const fmtKrw = (n) =>
|
|
22
|
+
const fmtKrw = (n) => `${Math.round(n).toLocaleString("en-US")} 크레딧`;
|
|
23
23
|
|
|
24
24
|
// report 응답 → 표시 문자열(순수 함수 — fixture 테스트 대상).
|
|
25
25
|
export function renderUsage(data, styler = style) {
|