aiakiv 0.3.0 → 0.3.1
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/bind.js +4 -1
- package/dist/console.js +4 -1
- package/dist/handoff.js +11 -0
- package/dist/setup.js +4 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/dist/bind.js
CHANGED
|
@@ -18,7 +18,7 @@ import { dirname, join, resolve } from "node:path";
|
|
|
18
18
|
import { CLAUDE_FOLDER_SETTINGS, FOLDER_CONFIG } from "./clients/types.js";
|
|
19
19
|
import { addToJsonArray, jsonServers, readJsonObject, upsertJsonServer } from "./config/json.js";
|
|
20
20
|
import { upsertCodexServer } from "./config/toml.js";
|
|
21
|
-
import { exchangeCode, handoffUrl, HANDOFF_TIMEOUT_MS, newState, scopeList, startLoopback, supersededNotice, } from "./handoff.js";
|
|
21
|
+
import { exchangeCode, handoffUrl, HANDOFF_TIMEOUT_MS, newState, oldKeysKeptNotice, scopeList, startLoopback, supersededNotice, } from "./handoff.js";
|
|
22
22
|
import { installFolderSkills } from "./skills.js";
|
|
23
23
|
import { folderServerName, folderServerNameWithoutId, projectBinding } from "./snippet.js";
|
|
24
24
|
import { canonicalMcpUrl, controlBase, mcpBase } from "./urls.js";
|
|
@@ -244,6 +244,9 @@ async function bindKey(ctx, client, project, dir, opts) {
|
|
|
244
244
|
const sup = supersededNotice(res.superseded);
|
|
245
245
|
if (sup)
|
|
246
246
|
ctx.out(sup);
|
|
247
|
+
const kept = oldKeysKeptNotice(res.old_keys_kept);
|
|
248
|
+
if (kept)
|
|
249
|
+
ctx.out(kept);
|
|
247
250
|
ctx.out(`${replaced ? "바꿨습니다" : "더했습니다"}: ${file}`);
|
|
248
251
|
ctx.out(` 서버 이름 ${name}`);
|
|
249
252
|
ctx.out(` 주소 ${mcpUrl}`);
|
package/dist/console.js
CHANGED
|
@@ -14,7 +14,7 @@ import { join, resolve } from "node:path";
|
|
|
14
14
|
import { ensureGitIgnored, resolveDir } from "./bind.js";
|
|
15
15
|
import { callConsole, classify, EXIT, failureLines, findConsoleKey, isObj, keyLabel, NO_KEY_MESSAGE, } from "./consoleApi.js";
|
|
16
16
|
import { CONSOLE_KEY_DIR, CONSOLE_KEY_FILE, expiryText, writeConsoleKeyFile } from "./consoleKeyFile.js";
|
|
17
|
-
import { exchangeCode, handoffUrl, HANDOFF_TIMEOUT_MS, newState, scopeList, startLoopback, supersededNotice, } from "./handoff.js";
|
|
17
|
+
import { exchangeCode, handoffUrl, HANDOFF_TIMEOUT_MS, newState, oldKeysKeptNotice, scopeList, startLoopback, supersededNotice, } from "./handoff.js";
|
|
18
18
|
import { renderDescribe, renderResult } from "./render.js";
|
|
19
19
|
import { controlBase } from "./urls.js";
|
|
20
20
|
/** 별칭은 이 넷뿐이다(§5.3). 나머지는 이름 그대로 보낸다. */
|
|
@@ -204,6 +204,9 @@ async function consoleKey(ctx, dir, opts) {
|
|
|
204
204
|
const sup = supersededNotice(res.superseded, "account");
|
|
205
205
|
if (sup)
|
|
206
206
|
ctx.out(sup);
|
|
207
|
+
const kept = oldKeysKeptNotice(res.old_keys_kept);
|
|
208
|
+
if (kept)
|
|
209
|
+
ctx.out(kept);
|
|
207
210
|
ctx.out(`썼습니다: ${file}`);
|
|
208
211
|
let ignore;
|
|
209
212
|
try {
|
package/dist/handoff.js
CHANGED
|
@@ -203,3 +203,14 @@ export function supersededNotice(n, kind = "project") {
|
|
|
203
203
|
? `앞선 계정 키 ${count}개${idText}를 폐기했습니다.`
|
|
204
204
|
: `이전 키 ${count}개${idText}를 폐기했습니다. 다른 폴더에 같은 프로젝트 키를 넣어 두었다면 그 폴더도 다시 bind 하세요.`;
|
|
205
205
|
}
|
|
206
|
+
/** 끊지 않고 남겨 둔 옛 키가 있다는 안내. 1 이상의 정수가 아니면 null(줄을 내지 않는다).
|
|
207
|
+
* 서버는 팀 키, 개인 키, 예전 버전의 키를 이번 프로젝트의 키와 구분할 수 없을 때 끊지 않고 그 수만 알린다.
|
|
208
|
+
* 응답에 키 id 는 없으므로 수만 적는다. 폐기 방법은 웹 콘솔의 API 키 관리 화면과 엔진의 aiakiv-admin 뿐이다. */
|
|
209
|
+
export function oldKeysKeptNotice(n) {
|
|
210
|
+
if (!Number.isSafeInteger(n) || n < 1)
|
|
211
|
+
return null;
|
|
212
|
+
return `저장 위치가 같은 옛 키 ${n}개는 폐기하지 않아 아직 쓸 수 있습니다. 팀 키, 개인 키 또는 예전 버전에서 받은 키라 ` +
|
|
213
|
+
"어느 프로젝트의 키인지 구분할 수 없기 때문입니다. 쓰지 않는 키라면 웹 콘솔의 API 키 관리 화면에서 프로젝트 칸과 " +
|
|
214
|
+
"만든 시각을 확인한 뒤 폐기할 수 있습니다. 엔진 관리자는 aiakiv-admin key list 와 key revoke 로도 폐기할 수 있습니다. " +
|
|
215
|
+
"폐기한 키를 쓰던 프로그램은 동작을 멈춥니다.";
|
|
216
|
+
}
|
package/dist/setup.js
CHANGED
|
@@ -21,7 +21,7 @@ import { ConfigError, jsonServers, readJsonObject, upsertJsonServer } from "./co
|
|
|
21
21
|
import { expiryText } from "./consoleKeyFile.js";
|
|
22
22
|
import { classifyEntry } from "./doctor.js";
|
|
23
23
|
import { readTextIfExists, writeFileAtomic } from "./fsutil.js";
|
|
24
|
-
import { exchangeCode, handoffUrl, HANDOFF_TIMEOUT_MS, newState, scopeList, startLoopback, supersededNotice, } from "./handoff.js";
|
|
24
|
+
import { exchangeCode, handoffUrl, HANDOFF_TIMEOUT_MS, newState, oldKeysKeptNotice, scopeList, startLoopback, supersededNotice, } from "./handoff.js";
|
|
25
25
|
import { probeSaveTarget } from "./mcpProbe.js";
|
|
26
26
|
import { downloadSkillPack, SKILL_NAMES, SKILLS_REPO, skillsGlobalManualCommand, writeSkillsTo } from "./skills.js";
|
|
27
27
|
import { canonicalMcpUrl, controlBase } from "./urls.js";
|
|
@@ -145,6 +145,9 @@ async function newKeyByHandoff(ctx, opts, url) {
|
|
|
145
145
|
const sup = supersededNotice(res.superseded, "dynamic");
|
|
146
146
|
if (sup)
|
|
147
147
|
ctx.out(sup);
|
|
148
|
+
const kept = oldKeysKeptNotice(res.old_keys_kept);
|
|
149
|
+
if (kept)
|
|
150
|
+
ctx.out(kept);
|
|
148
151
|
if (typeof res.mcp_url === "string" && res.mcp_url && res.mcp_url !== url) {
|
|
149
152
|
ctx.err(`참고: 서버가 알려 준 MCP 주소(${res.mcp_url})와 설정에 쓰는 주소(${url})가 다릅니다. ` +
|
|
150
153
|
"AIAKIV_MCP_URL 이 맞는지 확인하세요.");
|
package/dist/version.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// package.json 의 version 과 같아야 한다(tests/cli.test.mjs 가 확인).
|
|
2
|
-
export const VERSION = "0.3.
|
|
2
|
+
export const VERSION = "0.3.1";
|
|
3
3
|
// 이 CLI 판이 `aiakiv enterprise precheck` 에서 쓰는 유료 기업판 엔진 이미지 판(aiakiv/engine-enterprise:<판>).
|
|
4
4
|
// K2G packaging/selfhost/build.sh 가 `<이미지>:<판>` 으로 태그를 붙이고(앞에 v 없음), 엔진 판은 K2G
|
|
5
5
|
// pyproject.toml 의 version(이미지의 AIAKIV_ENGINE_VERSION)이다. 엔진 판을 올리면 이 값도 같이 올린다.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aiakiv",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "AiAkiv CLI: pin a folder to an AiAkiv project (connection, folder skills, settings), check it, and run console actions and a dashboard from the shell.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|