@ait-co/console-cli 0.1.33 → 0.1.35
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.en.md +2 -2
- package/README.md +2 -2
- package/dist/cli.mjs +10 -5
- package/dist/cli.mjs.map +1 -1
- package/package.json +1 -1
package/README.en.md
CHANGED
|
@@ -22,7 +22,7 @@ The installer detects OS (`uname -s`) and arch (`uname -m`), downloads the match
|
|
|
22
22
|
Pin a specific version:
|
|
23
23
|
|
|
24
24
|
```sh
|
|
25
|
-
curl -fsSL https://raw.githubusercontent.com/apps-in-toss-community/console-cli/main/install.sh | AITCC_VERSION=v0.1.
|
|
25
|
+
curl -fsSL https://raw.githubusercontent.com/apps-in-toss-community/console-cli/main/install.sh | AITCC_VERSION=v0.1.34 sh
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
Override the install directory with `AITCC_INSTALL_DIR=/custom/path` (default `$HOME/.local/bin`).
|
|
@@ -128,7 +128,7 @@ For one-shot CI runs (e.g. `aitcc app deploy` from a workflow), seed the runner
|
|
|
128
128
|
|
|
129
129
|
```sh
|
|
130
130
|
# Desktop (already logged in):
|
|
131
|
-
aitcc auth export --format env >> $GITHUB_ENV # or
|
|
131
|
+
aitcc auth export --format env >> $GITHUB_ENV # or store as a secret
|
|
132
132
|
# CI (with the secret exposed as $AITCC_SESSION):
|
|
133
133
|
aitcc app deploy ./aitc-sdk-example.ait --json
|
|
134
134
|
```
|
package/README.md
CHANGED
|
@@ -22,7 +22,7 @@ installer가 OS(`uname -s`)와 아키텍처(`uname -m`)를 자동 감지해 최
|
|
|
22
22
|
특정 버전 고정:
|
|
23
23
|
|
|
24
24
|
```sh
|
|
25
|
-
curl -fsSL https://raw.githubusercontent.com/apps-in-toss-community/console-cli/main/install.sh | AITCC_VERSION=v0.1.
|
|
25
|
+
curl -fsSL https://raw.githubusercontent.com/apps-in-toss-community/console-cli/main/install.sh | AITCC_VERSION=v0.1.34 sh
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
설치 경로를 바꾸려면 `AITCC_INSTALL_DIR=/custom/path` (기본 `$HOME/.local/bin`).
|
|
@@ -124,7 +124,7 @@ OS 키체인 대신 plain `0600` 파일을 쓰는 이유는 [CLAUDE.md](./CLAUDE
|
|
|
124
124
|
|
|
125
125
|
## CI/CD 통합
|
|
126
126
|
|
|
127
|
-
워크플로의
|
|
127
|
+
워크플로의 일회성 실행(`aitcc app deploy` 등)을 위해 desktop에서 캡처한 세션을 runner에 주입합니다:
|
|
128
128
|
|
|
129
129
|
```sh
|
|
130
130
|
# Desktop (이미 로그인된 상태):
|
package/dist/cli.mjs
CHANGED
|
@@ -2143,7 +2143,7 @@ async function runDeploy(args, deps = {}) {
|
|
|
2143
2143
|
async function emitPartialFailure(json, err, progress) {
|
|
2144
2144
|
if (err instanceof TossApiError && err.isAuthError) {
|
|
2145
2145
|
if (json) emitJson({
|
|
2146
|
-
ok:
|
|
2146
|
+
ok: false,
|
|
2147
2147
|
authenticated: false,
|
|
2148
2148
|
reason: "session-expired",
|
|
2149
2149
|
...progress
|
|
@@ -2514,7 +2514,8 @@ function validateManifest(raw, configDir) {
|
|
|
2514
2514
|
const csEmail = requireString(raw, "csEmail");
|
|
2515
2515
|
if (!isValidEmail$1(csEmail)) throw new ManifestError("invalid-config", `csEmail is not a valid email address (got ${csEmail})`, "csEmail");
|
|
2516
2516
|
const subtitle = requireString(raw, "subtitle");
|
|
2517
|
-
|
|
2517
|
+
const subtitleCodepoints = [...subtitle].length;
|
|
2518
|
+
if (subtitleCodepoints > MANIFEST_LIMITS.subtitleMaxChars) throw new ManifestError("invalid-config", `subtitle must be ${MANIFEST_LIMITS.subtitleMaxChars} characters or fewer (got ${subtitleCodepoints})`, "subtitle");
|
|
2518
2519
|
const description = requireString(raw, "description");
|
|
2519
2520
|
const descriptionCodepoints = [...description].length;
|
|
2520
2521
|
if (descriptionCodepoints > DETAIL_DESCRIPTION_MAX_CODEPOINTS) throw new ManifestError("invalid-config", `description must be ${DETAIL_DESCRIPTION_MAX_CODEPOINTS} characters or fewer (got ${descriptionCodepoints})`, "description");
|
|
@@ -3381,7 +3382,8 @@ function formatDiffValue(v) {
|
|
|
3381
3382
|
return String(v);
|
|
3382
3383
|
}
|
|
3383
3384
|
function describeServiceStatus(s) {
|
|
3384
|
-
if (s === "PREPARE") return "PREPARE (출시 전 —
|
|
3385
|
+
if (s === "PREPARE") return "PREPARE (출시 전 — 번들 출시 검수 미통과)";
|
|
3386
|
+
if (s === "OPENED") return "OPENED (출시 중)";
|
|
3385
3387
|
if (s === "RUNNING") return "RUNNING (출시 중)";
|
|
3386
3388
|
if (s === "STOPPED") return "STOPPED (운영 중지)";
|
|
3387
3389
|
return s;
|
|
@@ -3582,6 +3584,9 @@ function deriveReviewState(env) {
|
|
|
3582
3584
|
lockReason: locked ? "review-pending" : null
|
|
3583
3585
|
};
|
|
3584
3586
|
}
|
|
3587
|
+
function isInServiceStatus(serviceStatus) {
|
|
3588
|
+
return serviceStatus === "OPENED" || serviceStatus === "RUNNING";
|
|
3589
|
+
}
|
|
3585
3590
|
function deriveLsStatus(derived, serviceStatus) {
|
|
3586
3591
|
if (!derived) return {
|
|
3587
3592
|
status: "unknown",
|
|
@@ -3591,7 +3596,7 @@ function deriveLsStatus(derived, serviceStatus) {
|
|
|
3591
3596
|
const locked = derived.approvalType === "REVIEW";
|
|
3592
3597
|
const lockReason = locked ? "review-pending" : null;
|
|
3593
3598
|
let status = derived.state;
|
|
3594
|
-
if (status === "approved" && serviceStatus
|
|
3599
|
+
if (status === "approved" && isInServiceStatus(serviceStatus)) status = "in-service";
|
|
3595
3600
|
return {
|
|
3596
3601
|
status,
|
|
3597
3602
|
locked,
|
|
@@ -9232,7 +9237,7 @@ function resolveVersion() {
|
|
|
9232
9237
|
if (typeof injected === "string" && injected.length > 0) return injected;
|
|
9233
9238
|
} catch {}
|
|
9234
9239
|
try {
|
|
9235
|
-
return "0.1.
|
|
9240
|
+
return "0.1.35";
|
|
9236
9241
|
} catch {}
|
|
9237
9242
|
return "0.0.0-dev";
|
|
9238
9243
|
}
|