@decencia/ch-cli 1.34.6 → 1.37.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/agent/2t-decencia-channel-issue-coder.md +1 -1
- package/agent/2t-decencia-channel-pr-merger.md +1 -1
- package/agent/2t-decencia-channel-terraformer.md +1 -1
- package/dist/client.d.ts +4 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +7 -1
- package/dist/client.js.map +1 -1
- package/dist/commands/skills.d.ts +29 -0
- package/dist/commands/skills.d.ts.map +1 -1
- package/dist/commands/skills.js +707 -2
- package/dist/commands/skills.js.map +1 -1
- package/dist/commands/sqa.d.ts +0 -23
- package/dist/commands/sqa.d.ts.map +1 -1
- package/dist/commands/sqa.js +132 -166
- package/dist/commands/sqa.js.map +1 -1
- package/dist/skills-cache.d.ts +140 -0
- package/dist/skills-cache.d.ts.map +1 -0
- package/dist/skills-cache.js +388 -0
- package/dist/skills-cache.js.map +1 -0
- package/dist/skills-diff.d.ts +151 -0
- package/dist/skills-diff.d.ts.map +1 -0
- package/dist/skills-diff.js +476 -0
- package/dist/skills-diff.js.map +1 -0
- package/package.json +1 -1
- package/skill/2t-decencia-channel-change-manager/SKILL.md +1 -1
- package/skill/2t-decencia-channel-change-propagation-v2/SKILL.md +1 -1
- package/skill/2t-decencia-channel-cli-v2/SKILL.md +1 -1
- package/skill/2t-decencia-channel-db-schema-v2/SKILL.md +1 -1
- package/skill/2t-decencia-channel-github-issue/SKILL.md +1 -1
- package/skill/2t-decencia-channel-ia-v2/SKILL.md +1 -1
- package/skill/2t-decencia-channel-orchestrator/SKILL.md +5 -1
- package/skill/2t-decencia-channel-policy-v2/SKILL.md +1 -1
- package/skill/2t-decencia-channel-prd-v2/SKILL.md +1 -1
- package/skill/2t-decencia-channel-project-bootstrap/SKILL.md +1 -1
- package/skill/2t-decencia-channel-screen-v2/SKILL.md +1 -1
- package/skill/2t-decencia-channel-spec-v2/SKILL.md +1 -1
- package/skill/2t-decencia-channel-sprint-builder-v2/SKILL.md +1 -1
- package/skill/2t-decencia-channel-sprint-runner/SKILL.md +1 -1
- package/skill/2t-decencia-channel-sqa-v2/SKILL.md +9 -3
- package/skill/2t-decencia-channel-userflow-v2/SKILL.md +1 -1
- package/skill/2t-decencia-channel-work-status-v2/SKILL.md +1 -1
package/dist/commands/sqa.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqa.js","sourceRoot":"","sources":["../../src/commands/sqa.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sqa.js","sourceRoot":"","sources":["../../src/commands/sqa.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import type { SkillScope } from './commands/skills';
|
|
2
|
+
/**
|
|
3
|
+
* 목록 스냅샷을 신선도 맵으로 재사용하는 시간 창(ms).
|
|
4
|
+
*
|
|
5
|
+
* 에이전트의 `ch skills list` → `ch skills use` 는 몇 초 안에 잇따라 일어나므로
|
|
6
|
+
* 이 창 안에서는 목록 응답을 그대로 신선도 판정에 쓴다(추가 조회 0회). 창을 넘기면
|
|
7
|
+
* 다시 서버 목록을 읽는다 — 스냅샷이 낡아 변경을 놓치는 구간을 1분으로 묶는다.
|
|
8
|
+
* 방금 서버에서 고쳐 즉시 확인해야 하면 `--refresh` 로 창을 무시할 수 있다.
|
|
9
|
+
*/
|
|
10
|
+
export declare const SKILL_INDEX_TTL_MS = 60000;
|
|
11
|
+
/**
|
|
12
|
+
* 캐시 좌표 — 스킬 하나를 가리키는 키.
|
|
13
|
+
* 프로젝트 스킬은 프로젝트마다 같은 이름이 있을 수 있어 projectId 까지 넣는다.
|
|
14
|
+
*/
|
|
15
|
+
export interface SkillCacheTarget {
|
|
16
|
+
scope: SkillScope;
|
|
17
|
+
/** project 스코프의 대상 프로젝트. global 이면 무시된다. */
|
|
18
|
+
projectId?: string | null;
|
|
19
|
+
name: string;
|
|
20
|
+
}
|
|
21
|
+
/** 신선도 토큰을 뽑을 수 있는 최소 형태(목록 항목·단건 응답 공용). */
|
|
22
|
+
export interface SkillTimestamps {
|
|
23
|
+
updatedAt?: unknown;
|
|
24
|
+
createdAt?: unknown;
|
|
25
|
+
}
|
|
26
|
+
/** meta.json 에 저장하는 캐시 레코드(경로는 저장하지 않는다 — 읽을 때 계산). */
|
|
27
|
+
export interface CachedSkillRecord {
|
|
28
|
+
scope: SkillScope;
|
|
29
|
+
projectId: string | null;
|
|
30
|
+
name: string;
|
|
31
|
+
/** 서버 문서 id — 재다운로드 때 그대로 쓴다. */
|
|
32
|
+
id: string;
|
|
33
|
+
/** 신선도 토큰(`updatedAt ?? createdAt`). 모르면 null. */
|
|
34
|
+
token: string | null;
|
|
35
|
+
/** 스킬 폴더 기준 SKILL.md 상대경로. */
|
|
36
|
+
manifestPath: string;
|
|
37
|
+
/** 캐시에 실제로 쓴 파일들의 상대경로(매니페스트 포함). */
|
|
38
|
+
files: string[];
|
|
39
|
+
cachedAt: string;
|
|
40
|
+
}
|
|
41
|
+
/** 캐시 레코드 + 이번 실행에서 계산한 폴더 절대경로. */
|
|
42
|
+
export interface CachedSkill extends CachedSkillRecord {
|
|
43
|
+
dir: string;
|
|
44
|
+
}
|
|
45
|
+
/** 캐시에 적재할 내용(호출측이 서버에서 받아 넘긴다). */
|
|
46
|
+
export interface SkillCachePayload {
|
|
47
|
+
id: string;
|
|
48
|
+
token: string | null;
|
|
49
|
+
/** SKILL.md 의 스킬 폴더 기준 상대경로. 비었거나 위험하면 SKILL.md 로 떨어진다. */
|
|
50
|
+
manifestPath?: string;
|
|
51
|
+
/** SKILL.md 본문. */
|
|
52
|
+
content: string;
|
|
53
|
+
/** 번들 파일(매니페스트 제외). 폴더 구조 그대로 저장된다. */
|
|
54
|
+
files?: Array<{
|
|
55
|
+
path: string;
|
|
56
|
+
data: Buffer;
|
|
57
|
+
}>;
|
|
58
|
+
}
|
|
59
|
+
/** 목록 스냅샷의 항목 — 재다운로드에 필요한 id 와 신선도 토큰. */
|
|
60
|
+
export interface SkillSnapshotEntry {
|
|
61
|
+
id: string;
|
|
62
|
+
token: string | null;
|
|
63
|
+
}
|
|
64
|
+
/** 한 스코프의 목록 스냅샷. */
|
|
65
|
+
export interface SkillIndexSnapshot {
|
|
66
|
+
fetchedAt: string;
|
|
67
|
+
entries: Record<string, SkillSnapshotEntry>;
|
|
68
|
+
}
|
|
69
|
+
/** 캐시 루트 — `~/.ch/skills-cache`. */
|
|
70
|
+
export declare function cacheRoot(): string;
|
|
71
|
+
/**
|
|
72
|
+
* 스킬 이름을 폴더명으로 바꾼다.
|
|
73
|
+
*
|
|
74
|
+
* 이름은 서버(=남이 올린 SKILL.md frontmatter)에서 오므로 그대로 경로에 쓰면
|
|
75
|
+
* `..`·`/` 같은 값이 캐시 밖을 가리킬 수 있다. 파일명에 안전한 이름은 그대로 쓰고,
|
|
76
|
+
* 아니면 슬러그 + 원본 해시로 바꾼다(같은 이름이면 항상 같은 폴더, 다른 이름이면
|
|
77
|
+
* 슬러그가 같아도 해시가 갈라놓는다).
|
|
78
|
+
*/
|
|
79
|
+
export declare function cacheDirName(name: string): string;
|
|
80
|
+
/** 캐시 키 — meta.json 의 레코드 키. */
|
|
81
|
+
export declare function cacheKey(target: SkillCacheTarget): string;
|
|
82
|
+
/** 스킬 하나가 풀리는 캐시 폴더(절대경로). */
|
|
83
|
+
export declare function skillCacheDir(target: SkillCacheTarget): string;
|
|
84
|
+
/**
|
|
85
|
+
* 서버가 준 상대경로가 캐시 폴더 안에 머무는지 본다.
|
|
86
|
+
* 절대경로·드라이브문자·`..`·역슬래시는 거부한다(경로 탈출 방지).
|
|
87
|
+
*/
|
|
88
|
+
export declare function isSafeRelPath(relPath: string): boolean;
|
|
89
|
+
/**
|
|
90
|
+
* 신선도 토큰 — `updatedAt ?? createdAt`.
|
|
91
|
+
*
|
|
92
|
+
* 한 번도 수정되지 않은 스킬은 updatedAt 이 null 이다(실측: 글로벌 52개 중 17개).
|
|
93
|
+
* updatedAt 만 토큰으로 쓰면 그 17개가 `null === null` 로 늘 캐시 적중이 되어
|
|
94
|
+
* *삭제 후 재등록* 같은 변경을 놓친다. createdAt 은 모든 문서에 있으므로 이를
|
|
95
|
+
* 폴백으로 두면 재등록이 새 토큰으로 드러난다.
|
|
96
|
+
*/
|
|
97
|
+
export declare function freshnessToken(entry: SkillTimestamps | null | undefined): string | null;
|
|
98
|
+
/**
|
|
99
|
+
* 캐시가 서버 토큰과 같은지 본다.
|
|
100
|
+
* 어느 한쪽 토큰이라도 모르면 신선하다고 단정하지 않는다(모르면 다시 받는다).
|
|
101
|
+
*/
|
|
102
|
+
export declare function isFresh(cached: CachedSkill | null | undefined, token: string | null): boolean;
|
|
103
|
+
/**
|
|
104
|
+
* 캐시된 스킬을 찾는다. 메타에는 있는데 본문 파일이 사라졌으면 미적중으로 본다
|
|
105
|
+
* (사람이 폴더를 지웠을 수 있다 — 메타만 믿고 빈 본문을 내보내지 않는다).
|
|
106
|
+
*/
|
|
107
|
+
export declare function readCachedSkill(target: SkillCacheTarget): CachedSkill | null;
|
|
108
|
+
/** 캐시된 SKILL.md 본문. 없으면 null. */
|
|
109
|
+
export declare function readCachedManifest(target: SkillCacheTarget): string | null;
|
|
110
|
+
/**
|
|
111
|
+
* 스킬 하나를 캐시에 적재한다(폴더 통째 교체).
|
|
112
|
+
*
|
|
113
|
+
* 서버에서 사라진 번들 파일이 남지 않도록 폴더를 비우고 다시 쓴다. 메타는 파일을
|
|
114
|
+
* 다 쓴 뒤에 갱신한다 — 중간에 실패하면 메타가 없으니 다음 실행이 다시 받는다.
|
|
115
|
+
*/
|
|
116
|
+
export declare function writeCachedSkill(target: SkillCacheTarget, payload: SkillCachePayload): CachedSkill;
|
|
117
|
+
/**
|
|
118
|
+
* 캐시에서 스킬을 회수한다(파일 + 메타 + 목록 스냅샷 항목).
|
|
119
|
+
* 서버에서 지운 스킬이 로컬에 유령으로 남지 않게 하는 자리다(SKILL-017).
|
|
120
|
+
* 지울 게 있었으면 true.
|
|
121
|
+
*/
|
|
122
|
+
export declare function removeCachedSkill(target: SkillCacheTarget): boolean;
|
|
123
|
+
/** 캐시에 들어있는 스킬 전부(후속 명령의 전량 동기화·대조용). */
|
|
124
|
+
export declare function listCachedSkills(): CachedSkill[];
|
|
125
|
+
/**
|
|
126
|
+
* `ch skills list` 응답을 신선도 맵으로 저장한다.
|
|
127
|
+
* 이 스냅샷이 있으면 뒤이은 `use` 가 서버를 다시 묻지 않는다(추가 조회 0회).
|
|
128
|
+
* 필터(--group/--tag) 이전의 전체 응답을 넣어야 맵이 온전하다.
|
|
129
|
+
*/
|
|
130
|
+
export declare function saveIndexSnapshot(scope: SkillScope, projectId: string | null, rows: Array<{
|
|
131
|
+
id?: unknown;
|
|
132
|
+
name?: unknown;
|
|
133
|
+
} & SkillTimestamps>): void;
|
|
134
|
+
/**
|
|
135
|
+
* 저장된 목록 스냅샷을 읽는다. 시간 창(기본 SKILL_INDEX_TTL_MS)을 넘겼거나
|
|
136
|
+
* 시계가 뒤로 간 흔적(미래 시각)이면 없는 셈 친다 — 낡은 맵으로 캐시 적중을
|
|
137
|
+
* 우겨서 변경을 놓치지 않게.
|
|
138
|
+
*/
|
|
139
|
+
export declare function readIndexSnapshot(scope: SkillScope, projectId: string | null, maxAgeMs?: number): SkillIndexSnapshot | null;
|
|
140
|
+
//# sourceMappingURL=skills-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skills-cache.d.ts","sourceRoot":"","sources":["../src/skills-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,388 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.SKILL_INDEX_TTL_MS = void 0;
|
|
37
|
+
exports.cacheRoot = cacheRoot;
|
|
38
|
+
exports.cacheDirName = cacheDirName;
|
|
39
|
+
exports.cacheKey = cacheKey;
|
|
40
|
+
exports.skillCacheDir = skillCacheDir;
|
|
41
|
+
exports.isSafeRelPath = isSafeRelPath;
|
|
42
|
+
exports.freshnessToken = freshnessToken;
|
|
43
|
+
exports.isFresh = isFresh;
|
|
44
|
+
exports.readCachedSkill = readCachedSkill;
|
|
45
|
+
exports.readCachedManifest = readCachedManifest;
|
|
46
|
+
exports.writeCachedSkill = writeCachedSkill;
|
|
47
|
+
exports.removeCachedSkill = removeCachedSkill;
|
|
48
|
+
exports.listCachedSkills = listCachedSkills;
|
|
49
|
+
exports.saveIndexSnapshot = saveIndexSnapshot;
|
|
50
|
+
exports.readIndexSnapshot = readIndexSnapshot;
|
|
51
|
+
const crypto = __importStar(require("crypto"));
|
|
52
|
+
const fs = __importStar(require("fs"));
|
|
53
|
+
const os = __importStar(require("os"));
|
|
54
|
+
const path = __importStar(require("path"));
|
|
55
|
+
/**
|
|
56
|
+
* 공유스킬 로컬 캐시 저장소 (SKILL-011).
|
|
57
|
+
*
|
|
58
|
+
* ── 왜 별도 모듈인가
|
|
59
|
+
* 캐시 읽기·쓰기·메타 갱신·신선도 토큰 계산을 한곳에 모은다. `ch skills use`
|
|
60
|
+
* 말고도 후속 명령(사용 기록 ping·`sync --full`·`diff`)이 같은 캐시를 읽고
|
|
61
|
+
* 쓰므로, 커맨드 파일에 인라인하면 서로 같은 자리를 고치게 된다.
|
|
62
|
+
*
|
|
63
|
+
* ── 왜 `~/.claude/skills/` 가 아닌가 (설계 결정, 바꾸지 말 것)
|
|
64
|
+
* 거기 두면 Claude Code 가 디스크에서 직접 읽어 CLI 가 개입할 지점이 사라진다.
|
|
65
|
+
* 신선도 게이트를 걸 수 없고, 공유스킬 전체의 description 이 매 세션 프롬프트에
|
|
66
|
+
* 얹힌다. 그래서 ch 관리 영역(`~/.ch/skills-cache/`)에만 둔다.
|
|
67
|
+
*
|
|
68
|
+
* ── 디스크 레이아웃
|
|
69
|
+
* ```
|
|
70
|
+
* ~/.ch/skills-cache/
|
|
71
|
+
* meta.json 캐시된 스킬(키 → 레코드)
|
|
72
|
+
* index.json 목록 스냅샷(세션 신선도 맵)
|
|
73
|
+
* files/global/<dir>/SKILL.md 글로벌 스킬 본문
|
|
74
|
+
* files/global/<dir>/references/... 번들 파일(폴더 구조 보존)
|
|
75
|
+
* files/project/<projectId>/<dir>/SKILL.md 프로젝트 스킬
|
|
76
|
+
* ```
|
|
77
|
+
*
|
|
78
|
+
* 이 모듈은 디스크만 만진다 — HTTP 는 호출측(commands/skills.ts)의 몫이다.
|
|
79
|
+
*/
|
|
80
|
+
const CACHE_DIRNAME = 'skills-cache';
|
|
81
|
+
const FILES_DIRNAME = 'files';
|
|
82
|
+
const META_FILENAME = 'meta.json';
|
|
83
|
+
const INDEX_FILENAME = 'index.json';
|
|
84
|
+
const STORE_VERSION = 1;
|
|
85
|
+
/**
|
|
86
|
+
* 목록 스냅샷을 신선도 맵으로 재사용하는 시간 창(ms).
|
|
87
|
+
*
|
|
88
|
+
* 에이전트의 `ch skills list` → `ch skills use` 는 몇 초 안에 잇따라 일어나므로
|
|
89
|
+
* 이 창 안에서는 목록 응답을 그대로 신선도 판정에 쓴다(추가 조회 0회). 창을 넘기면
|
|
90
|
+
* 다시 서버 목록을 읽는다 — 스냅샷이 낡아 변경을 놓치는 구간을 1분으로 묶는다.
|
|
91
|
+
* 방금 서버에서 고쳐 즉시 확인해야 하면 `--refresh` 로 창을 무시할 수 있다.
|
|
92
|
+
*/
|
|
93
|
+
exports.SKILL_INDEX_TTL_MS = 60000;
|
|
94
|
+
/** 스킬 폴더 규약상 고정된 매니페스트 파일명(캐시 기본 경로). */
|
|
95
|
+
const DEFAULT_MANIFEST_PATH = 'SKILL.md';
|
|
96
|
+
// ── 경로 ──────────────────────────────────────────────────────────────────
|
|
97
|
+
/** 캐시 루트 — `~/.ch/skills-cache`. */
|
|
98
|
+
function cacheRoot() {
|
|
99
|
+
return path.join(os.homedir(), '.ch', CACHE_DIRNAME);
|
|
100
|
+
}
|
|
101
|
+
const SAFE_SEGMENT = /^[A-Za-z0-9._-]+$/;
|
|
102
|
+
/**
|
|
103
|
+
* 스킬 이름을 폴더명으로 바꾼다.
|
|
104
|
+
*
|
|
105
|
+
* 이름은 서버(=남이 올린 SKILL.md frontmatter)에서 오므로 그대로 경로에 쓰면
|
|
106
|
+
* `..`·`/` 같은 값이 캐시 밖을 가리킬 수 있다. 파일명에 안전한 이름은 그대로 쓰고,
|
|
107
|
+
* 아니면 슬러그 + 원본 해시로 바꾼다(같은 이름이면 항상 같은 폴더, 다른 이름이면
|
|
108
|
+
* 슬러그가 같아도 해시가 갈라놓는다).
|
|
109
|
+
*/
|
|
110
|
+
function cacheDirName(name) {
|
|
111
|
+
const trimmed = (name ?? '').trim();
|
|
112
|
+
if (SAFE_SEGMENT.test(trimmed) && trimmed !== '.' && trimmed !== '..') {
|
|
113
|
+
return trimmed;
|
|
114
|
+
}
|
|
115
|
+
const slug = trimmed
|
|
116
|
+
.replace(/[^A-Za-z0-9._-]+/g, '-')
|
|
117
|
+
.replace(/^[-.]+|[-.]+$/g, '')
|
|
118
|
+
.slice(0, 40) || 'skill';
|
|
119
|
+
const hash = crypto.createHash('sha1').update(trimmed).digest('hex');
|
|
120
|
+
return `${slug}-${hash.slice(0, 8)}`;
|
|
121
|
+
}
|
|
122
|
+
/** 캐시 키 — meta.json 의 레코드 키. */
|
|
123
|
+
function cacheKey(target) {
|
|
124
|
+
return target.scope === 'global'
|
|
125
|
+
? `global:${target.name}`
|
|
126
|
+
: `project:${target.projectId ?? '-'}:${target.name}`;
|
|
127
|
+
}
|
|
128
|
+
/** 스킬 하나가 풀리는 캐시 폴더(절대경로). */
|
|
129
|
+
function skillCacheDir(target) {
|
|
130
|
+
const base = path.join(cacheRoot(), FILES_DIRNAME);
|
|
131
|
+
const dir = cacheDirName(target.name);
|
|
132
|
+
return target.scope === 'global'
|
|
133
|
+
? path.join(base, 'global', dir)
|
|
134
|
+
: path.join(base, 'project', cacheDirName(target.projectId ?? '-'), dir);
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* 서버가 준 상대경로가 캐시 폴더 안에 머무는지 본다.
|
|
138
|
+
* 절대경로·드라이브문자·`..`·역슬래시는 거부한다(경로 탈출 방지).
|
|
139
|
+
*/
|
|
140
|
+
function isSafeRelPath(relPath) {
|
|
141
|
+
if (!relPath || typeof relPath !== 'string')
|
|
142
|
+
return false;
|
|
143
|
+
if (relPath.includes('\\') || relPath.includes('\0'))
|
|
144
|
+
return false;
|
|
145
|
+
if (relPath.startsWith('/') || /^[A-Za-z]:/.test(relPath))
|
|
146
|
+
return false;
|
|
147
|
+
return relPath
|
|
148
|
+
.split('/')
|
|
149
|
+
.every((seg) => seg.length > 0 && seg !== '.' && seg !== '..');
|
|
150
|
+
}
|
|
151
|
+
// ── 신선도 ────────────────────────────────────────────────────────────────
|
|
152
|
+
function asText(value) {
|
|
153
|
+
return typeof value === 'string' ? value.trim() : '';
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* 신선도 토큰 — `updatedAt ?? createdAt`.
|
|
157
|
+
*
|
|
158
|
+
* 한 번도 수정되지 않은 스킬은 updatedAt 이 null 이다(실측: 글로벌 52개 중 17개).
|
|
159
|
+
* updatedAt 만 토큰으로 쓰면 그 17개가 `null === null` 로 늘 캐시 적중이 되어
|
|
160
|
+
* *삭제 후 재등록* 같은 변경을 놓친다. createdAt 은 모든 문서에 있으므로 이를
|
|
161
|
+
* 폴백으로 두면 재등록이 새 토큰으로 드러난다.
|
|
162
|
+
*/
|
|
163
|
+
function freshnessToken(entry) {
|
|
164
|
+
return asText(entry?.updatedAt) || asText(entry?.createdAt) || null;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* 캐시가 서버 토큰과 같은지 본다.
|
|
168
|
+
* 어느 한쪽 토큰이라도 모르면 신선하다고 단정하지 않는다(모르면 다시 받는다).
|
|
169
|
+
*/
|
|
170
|
+
function isFresh(cached, token) {
|
|
171
|
+
if (!cached || !token || !cached.token)
|
|
172
|
+
return false;
|
|
173
|
+
return cached.token === token;
|
|
174
|
+
}
|
|
175
|
+
// ── 저장소 입출력 ─────────────────────────────────────────────────────────
|
|
176
|
+
/**
|
|
177
|
+
* JSON 파일을 읽는다. 없거나 깨졌으면 폴백 — 캐시가 깨졌다고 명령이 죽으면 안 된다
|
|
178
|
+
* (다음 실행이 다시 받아 덮어쓴다).
|
|
179
|
+
*/
|
|
180
|
+
function readJsonFile(file, fallback) {
|
|
181
|
+
try {
|
|
182
|
+
if (!fs.existsSync(file))
|
|
183
|
+
return fallback;
|
|
184
|
+
const parsed = JSON.parse(fs.readFileSync(file, 'utf-8'));
|
|
185
|
+
if (!parsed || typeof parsed !== 'object')
|
|
186
|
+
return fallback;
|
|
187
|
+
return parsed;
|
|
188
|
+
}
|
|
189
|
+
catch {
|
|
190
|
+
return fallback;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
/** JSON 파일을 임시파일 → rename 으로 쓴다(중간에 죽어도 반쪽 파일이 남지 않게). */
|
|
194
|
+
function writeJsonFile(file, data) {
|
|
195
|
+
fs.mkdirSync(path.dirname(file), { recursive: true });
|
|
196
|
+
const tmp = `${file}.${process.pid}.tmp`;
|
|
197
|
+
fs.writeFileSync(tmp, JSON.stringify(data, null, 2), 'utf-8');
|
|
198
|
+
fs.renameSync(tmp, file);
|
|
199
|
+
}
|
|
200
|
+
function metaPath() {
|
|
201
|
+
return path.join(cacheRoot(), META_FILENAME);
|
|
202
|
+
}
|
|
203
|
+
function indexPath() {
|
|
204
|
+
return path.join(cacheRoot(), INDEX_FILENAME);
|
|
205
|
+
}
|
|
206
|
+
function readMeta() {
|
|
207
|
+
const meta = readJsonFile(metaPath(), {
|
|
208
|
+
version: STORE_VERSION,
|
|
209
|
+
skills: {},
|
|
210
|
+
});
|
|
211
|
+
if (!meta.skills || typeof meta.skills !== 'object') {
|
|
212
|
+
return { version: STORE_VERSION, skills: {} };
|
|
213
|
+
}
|
|
214
|
+
return meta;
|
|
215
|
+
}
|
|
216
|
+
function withDir(record) {
|
|
217
|
+
return {
|
|
218
|
+
...record,
|
|
219
|
+
dir: skillCacheDir({
|
|
220
|
+
scope: record.scope,
|
|
221
|
+
projectId: record.projectId,
|
|
222
|
+
name: record.name,
|
|
223
|
+
}),
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
// ── 캐시 본체 ─────────────────────────────────────────────────────────────
|
|
227
|
+
/**
|
|
228
|
+
* 캐시된 스킬을 찾는다. 메타에는 있는데 본문 파일이 사라졌으면 미적중으로 본다
|
|
229
|
+
* (사람이 폴더를 지웠을 수 있다 — 메타만 믿고 빈 본문을 내보내지 않는다).
|
|
230
|
+
*/
|
|
231
|
+
function readCachedSkill(target) {
|
|
232
|
+
const record = readMeta().skills[cacheKey(target)];
|
|
233
|
+
if (!record)
|
|
234
|
+
return null;
|
|
235
|
+
const cached = withDir(record);
|
|
236
|
+
const manifest = path.join(cached.dir, cached.manifestPath);
|
|
237
|
+
return fs.existsSync(manifest) ? cached : null;
|
|
238
|
+
}
|
|
239
|
+
/** 캐시된 SKILL.md 본문. 없으면 null. */
|
|
240
|
+
function readCachedManifest(target) {
|
|
241
|
+
const cached = readCachedSkill(target);
|
|
242
|
+
if (!cached)
|
|
243
|
+
return null;
|
|
244
|
+
try {
|
|
245
|
+
return fs.readFileSync(path.join(cached.dir, cached.manifestPath), 'utf-8');
|
|
246
|
+
}
|
|
247
|
+
catch {
|
|
248
|
+
return null;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* 스킬 하나를 캐시에 적재한다(폴더 통째 교체).
|
|
253
|
+
*
|
|
254
|
+
* 서버에서 사라진 번들 파일이 남지 않도록 폴더를 비우고 다시 쓴다. 메타는 파일을
|
|
255
|
+
* 다 쓴 뒤에 갱신한다 — 중간에 실패하면 메타가 없으니 다음 실행이 다시 받는다.
|
|
256
|
+
*/
|
|
257
|
+
function writeCachedSkill(target, payload) {
|
|
258
|
+
const dir = skillCacheDir(target);
|
|
259
|
+
const manifestPath = payload.manifestPath && isSafeRelPath(payload.manifestPath)
|
|
260
|
+
? payload.manifestPath
|
|
261
|
+
: DEFAULT_MANIFEST_PATH;
|
|
262
|
+
fs.rmSync(dir, { recursive: true, force: true });
|
|
263
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
264
|
+
const written = [];
|
|
265
|
+
const writeOne = (relPath, data) => {
|
|
266
|
+
const abs = path.join(dir, relPath);
|
|
267
|
+
fs.mkdirSync(path.dirname(abs), { recursive: true });
|
|
268
|
+
fs.writeFileSync(abs, data);
|
|
269
|
+
written.push(relPath);
|
|
270
|
+
};
|
|
271
|
+
writeOne(manifestPath, payload.content ?? '');
|
|
272
|
+
for (const file of payload.files ?? []) {
|
|
273
|
+
// 안전하지 않은 경로는 건너뛴다 — 캐시 폴더 밖으로 나가는 파일은 쓰지 않는다.
|
|
274
|
+
if (!isSafeRelPath(file.path) || file.path === manifestPath)
|
|
275
|
+
continue;
|
|
276
|
+
writeOne(file.path, file.data);
|
|
277
|
+
}
|
|
278
|
+
const record = {
|
|
279
|
+
scope: target.scope,
|
|
280
|
+
projectId: target.scope === 'global' ? null : target.projectId ?? null,
|
|
281
|
+
name: target.name,
|
|
282
|
+
id: payload.id,
|
|
283
|
+
token: payload.token,
|
|
284
|
+
manifestPath,
|
|
285
|
+
files: written,
|
|
286
|
+
cachedAt: new Date().toISOString(),
|
|
287
|
+
};
|
|
288
|
+
const meta = readMeta();
|
|
289
|
+
meta.version = STORE_VERSION;
|
|
290
|
+
meta.skills[cacheKey(target)] = record;
|
|
291
|
+
writeJsonFile(metaPath(), meta);
|
|
292
|
+
return withDir(record);
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* 캐시에서 스킬을 회수한다(파일 + 메타 + 목록 스냅샷 항목).
|
|
296
|
+
* 서버에서 지운 스킬이 로컬에 유령으로 남지 않게 하는 자리다(SKILL-017).
|
|
297
|
+
* 지울 게 있었으면 true.
|
|
298
|
+
*/
|
|
299
|
+
function removeCachedSkill(target) {
|
|
300
|
+
const key = cacheKey(target);
|
|
301
|
+
const meta = readMeta();
|
|
302
|
+
const dir = skillCacheDir(target);
|
|
303
|
+
const existed = !!meta.skills[key] || fs.existsSync(dir);
|
|
304
|
+
fs.rmSync(dir, { recursive: true, force: true });
|
|
305
|
+
if (meta.skills[key]) {
|
|
306
|
+
delete meta.skills[key];
|
|
307
|
+
writeJsonFile(metaPath(), meta);
|
|
308
|
+
}
|
|
309
|
+
pruneIndexEntry(target);
|
|
310
|
+
return existed;
|
|
311
|
+
}
|
|
312
|
+
/** 캐시에 들어있는 스킬 전부(후속 명령의 전량 동기화·대조용). */
|
|
313
|
+
function listCachedSkills() {
|
|
314
|
+
return Object.values(readMeta().skills).map(withDir);
|
|
315
|
+
}
|
|
316
|
+
// ── 목록 스냅샷(세션 신선도 맵) ───────────────────────────────────────────
|
|
317
|
+
function scopeKey(scope, projectId) {
|
|
318
|
+
return scope === 'global' ? 'global' : `project:${projectId ?? '-'}`;
|
|
319
|
+
}
|
|
320
|
+
function readIndexFile() {
|
|
321
|
+
const file = readJsonFile(indexPath(), {
|
|
322
|
+
version: STORE_VERSION,
|
|
323
|
+
scopes: {},
|
|
324
|
+
});
|
|
325
|
+
if (!file.scopes || typeof file.scopes !== 'object') {
|
|
326
|
+
return { version: STORE_VERSION, scopes: {} };
|
|
327
|
+
}
|
|
328
|
+
return file;
|
|
329
|
+
}
|
|
330
|
+
/**
|
|
331
|
+
* `ch skills list` 응답을 신선도 맵으로 저장한다.
|
|
332
|
+
* 이 스냅샷이 있으면 뒤이은 `use` 가 서버를 다시 묻지 않는다(추가 조회 0회).
|
|
333
|
+
* 필터(--group/--tag) 이전의 전체 응답을 넣어야 맵이 온전하다.
|
|
334
|
+
*/
|
|
335
|
+
function saveIndexSnapshot(scope, projectId, rows) {
|
|
336
|
+
// 어느 프로젝트의 목록인지 모르면 저장하지 않는다 — 주인 없는 맵은 아무도
|
|
337
|
+
// 읽을 수 없고(use 는 프로젝트가 정해져야 진행한다) 파일만 늘린다.
|
|
338
|
+
if (scope === 'project' && !projectId)
|
|
339
|
+
return;
|
|
340
|
+
const entries = {};
|
|
341
|
+
for (const row of rows ?? []) {
|
|
342
|
+
const name = asText(row?.name);
|
|
343
|
+
const id = asText(row?.id);
|
|
344
|
+
if (!name || !id)
|
|
345
|
+
continue;
|
|
346
|
+
entries[name] = { id, token: freshnessToken(row) };
|
|
347
|
+
}
|
|
348
|
+
const file = readIndexFile();
|
|
349
|
+
file.version = STORE_VERSION;
|
|
350
|
+
file.scopes[scopeKey(scope, projectId)] = {
|
|
351
|
+
fetchedAt: new Date().toISOString(),
|
|
352
|
+
entries,
|
|
353
|
+
};
|
|
354
|
+
writeJsonFile(indexPath(), file);
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* 저장된 목록 스냅샷을 읽는다. 시간 창(기본 SKILL_INDEX_TTL_MS)을 넘겼거나
|
|
358
|
+
* 시계가 뒤로 간 흔적(미래 시각)이면 없는 셈 친다 — 낡은 맵으로 캐시 적중을
|
|
359
|
+
* 우겨서 변경을 놓치지 않게.
|
|
360
|
+
*/
|
|
361
|
+
function readIndexSnapshot(scope, projectId, maxAgeMs = exports.SKILL_INDEX_TTL_MS) {
|
|
362
|
+
const snapshot = readIndexFile().scopes[scopeKey(scope, projectId)];
|
|
363
|
+
if (!snapshot || !snapshot.entries || typeof snapshot.entries !== 'object') {
|
|
364
|
+
return null;
|
|
365
|
+
}
|
|
366
|
+
const fetchedAt = Date.parse(snapshot.fetchedAt ?? '');
|
|
367
|
+
if (Number.isNaN(fetchedAt))
|
|
368
|
+
return null;
|
|
369
|
+
const age = Date.now() - fetchedAt;
|
|
370
|
+
if (age < 0 || age > maxAgeMs)
|
|
371
|
+
return null;
|
|
372
|
+
// 스킬 이름이 곧 키다. 프로토타입을 지워 `constructor` 같은 이름이 Object 의
|
|
373
|
+
// 상속 속성으로 조회되는 일을 막는다(있지도 않은 항목을 적중으로 착각).
|
|
374
|
+
return {
|
|
375
|
+
fetchedAt: snapshot.fetchedAt,
|
|
376
|
+
entries: Object.assign(Object.create(null), snapshot.entries),
|
|
377
|
+
};
|
|
378
|
+
}
|
|
379
|
+
/** 스냅샷에서 항목 하나를 지운다(삭제된 스킬이 맵에 남지 않게). */
|
|
380
|
+
function pruneIndexEntry(target) {
|
|
381
|
+
const file = readIndexFile();
|
|
382
|
+
const snapshot = file.scopes[scopeKey(target.scope, target.projectId)];
|
|
383
|
+
if (!snapshot?.entries || !snapshot.entries[target.name])
|
|
384
|
+
return;
|
|
385
|
+
delete snapshot.entries[target.name];
|
|
386
|
+
writeJsonFile(indexPath(), file);
|
|
387
|
+
}
|
|
388
|
+
//# sourceMappingURL=skills-cache.js.map
|