@decencia/ch-cli 1.34.5 → 1.35.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.
Files changed (37) hide show
  1. package/agent/2t-decencia-channel-issue-coder.md +1 -1
  2. package/agent/2t-decencia-channel-pr-merger.md +1 -1
  3. package/agent/2t-decencia-channel-terraformer.md +1 -1
  4. package/dist/client.d.ts +4 -0
  5. package/dist/client.d.ts.map +1 -1
  6. package/dist/client.js +7 -1
  7. package/dist/client.js.map +1 -1
  8. package/dist/commands/skills.d.ts +29 -0
  9. package/dist/commands/skills.d.ts.map +1 -1
  10. package/dist/commands/skills.js +707 -2
  11. package/dist/commands/skills.js.map +1 -1
  12. package/dist/skills-cache.d.ts +140 -0
  13. package/dist/skills-cache.d.ts.map +1 -0
  14. package/dist/skills-cache.js +388 -0
  15. package/dist/skills-cache.js.map +1 -0
  16. package/dist/skills-diff.d.ts +151 -0
  17. package/dist/skills-diff.d.ts.map +1 -0
  18. package/dist/skills-diff.js +476 -0
  19. package/dist/skills-diff.js.map +1 -0
  20. package/package.json +1 -1
  21. package/skill/2t-decencia-channel-change-manager/SKILL.md +1 -1
  22. package/skill/2t-decencia-channel-change-propagation-v2/SKILL.md +1 -1
  23. package/skill/2t-decencia-channel-cli-v2/SKILL.md +1 -1
  24. package/skill/2t-decencia-channel-db-schema-v2/SKILL.md +1 -1
  25. package/skill/2t-decencia-channel-github-issue/SKILL.md +1 -1
  26. package/skill/2t-decencia-channel-ia-v2/SKILL.md +1 -1
  27. package/skill/2t-decencia-channel-orchestrator/SKILL.md +5 -1
  28. package/skill/2t-decencia-channel-policy-v2/SKILL.md +1 -1
  29. package/skill/2t-decencia-channel-prd-v2/SKILL.md +1 -1
  30. package/skill/2t-decencia-channel-project-bootstrap/SKILL.md +1 -1
  31. package/skill/2t-decencia-channel-screen-v2/SKILL.md +1 -1
  32. package/skill/2t-decencia-channel-spec-v2/SKILL.md +1 -1
  33. package/skill/2t-decencia-channel-sprint-builder-v2/SKILL.md +1 -1
  34. package/skill/2t-decencia-channel-sprint-runner/SKILL.md +1 -1
  35. package/skill/2t-decencia-channel-sqa-v2/SKILL.md +1 -1
  36. package/skill/2t-decencia-channel-userflow-v2/SKILL.md +1 -1
  37. package/skill/2t-decencia-channel-work-status-v2/SKILL.md +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/commands/skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/commands/skills.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