clawdhub 0.0.4 → 0.1.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 (50) hide show
  1. package/dist/cli/commands/auth.js +3 -3
  2. package/dist/cli/commands/auth.js.map +1 -1
  3. package/dist/cli/commands/delete.js +9 -7
  4. package/dist/cli/commands/delete.js.map +1 -1
  5. package/dist/cli/commands/delete.test.js +2 -2
  6. package/dist/cli/commands/delete.test.js.map +1 -1
  7. package/dist/cli/commands/publish.d.ts +1 -0
  8. package/dist/cli/commands/publish.js +27 -27
  9. package/dist/cli/commands/publish.js.map +1 -1
  10. package/dist/cli/commands/publish.test.js +18 -54
  11. package/dist/cli/commands/publish.test.js.map +1 -1
  12. package/dist/cli/commands/skills.js +22 -9
  13. package/dist/cli/commands/skills.js.map +1 -1
  14. package/dist/cli/commands/sync.d.ts +1 -10
  15. package/dist/cli/commands/sync.js +35 -333
  16. package/dist/cli/commands/sync.js.map +1 -1
  17. package/dist/cli/commands/sync.test.js +12 -12
  18. package/dist/cli/commands/sync.test.js.map +1 -1
  19. package/dist/cli/commands/syncHelpers.d.ts +66 -0
  20. package/dist/cli/commands/syncHelpers.js +335 -0
  21. package/dist/cli/commands/syncHelpers.js.map +1 -0
  22. package/dist/cli/commands/syncTypes.d.ts +24 -0
  23. package/dist/cli/commands/syncTypes.js +2 -0
  24. package/dist/cli/commands/syncTypes.js.map +1 -0
  25. package/dist/cli/scanSkills.js +1 -1
  26. package/dist/cli/scanSkills.js.map +1 -1
  27. package/dist/cli/scanSkills.test.js +13 -0
  28. package/dist/cli/scanSkills.test.js.map +1 -1
  29. package/dist/cli.js +1 -0
  30. package/dist/cli.js.map +1 -1
  31. package/dist/http.d.ts +15 -2
  32. package/dist/http.js +21 -0
  33. package/dist/http.js.map +1 -1
  34. package/dist/http.test.js +2 -2
  35. package/dist/http.test.js.map +1 -1
  36. package/dist/schema/index.d.ts +1 -1
  37. package/dist/schema/index.js +1 -1
  38. package/dist/schema/index.js.map +1 -1
  39. package/dist/schema/routes.d.ts +8 -1
  40. package/dist/schema/routes.js +8 -1
  41. package/dist/schema/routes.js.map +1 -1
  42. package/dist/schema/schemas.d.ts +97 -0
  43. package/dist/schema/schemas.js +93 -0
  44. package/dist/schema/schemas.js.map +1 -1
  45. package/dist/skills.d.ts +9 -0
  46. package/dist/skills.js +28 -0
  47. package/dist/skills.js.map +1 -1
  48. package/dist/skills.test.js +62 -1
  49. package/dist/skills.test.js.map +1 -1
  50. package/package.json +2 -2
@@ -0,0 +1,66 @@
1
+ import { type SkillFolder } from '../scanSkills.js';
2
+ import type { GlobalOpts } from '../types.js';
3
+ import type { Candidate, LocalSkill } from './syncTypes.js';
4
+ export declare function reportTelemetryIfEnabled(params: {
5
+ token: string;
6
+ registry: string;
7
+ scan: {
8
+ roots: string[];
9
+ skillsByRoot: Record<string, SkillFolder[]>;
10
+ };
11
+ candidates: Candidate[];
12
+ }): Promise<void>;
13
+ export declare function buildScanRoots(opts: GlobalOpts, extraRoots: string[] | undefined): string[];
14
+ export declare function normalizeConcurrency(value: number | undefined): number;
15
+ export declare function mapWithConcurrency<T, R>(items: T[], limit: number, fn: (item: T) => Promise<R>): Promise<R[]>;
16
+ export declare function checkRegistrySyncState(registry: string, skill: LocalSkill, resolveSupport: {
17
+ value: boolean | null;
18
+ }): Promise<Candidate>;
19
+ export declare function scanRoots(roots: string[]): Promise<{
20
+ roots: string[];
21
+ skillsByRoot: Record<string, SkillFolder[]>;
22
+ skills: SkillFolder[];
23
+ rootsWithSkills: string[];
24
+ }>;
25
+ export declare function mergeScan(left: {
26
+ roots: string[];
27
+ skillsByRoot: Record<string, SkillFolder[]>;
28
+ skills: SkillFolder[];
29
+ rootsWithSkills: string[];
30
+ }, right: {
31
+ roots: string[];
32
+ skillsByRoot: Record<string, SkillFolder[]>;
33
+ skills: SkillFolder[];
34
+ rootsWithSkills: string[];
35
+ }): {
36
+ roots: string[];
37
+ skillsByRoot: Record<string, SkillFolder[]>;
38
+ skills: SkillFolder[];
39
+ rootsWithSkills: string[];
40
+ };
41
+ export declare function selectToUpload(candidates: Candidate[], params: {
42
+ allowPrompt: boolean;
43
+ all: boolean;
44
+ bump: 'patch' | 'minor' | 'major';
45
+ }): Promise<Candidate[]>;
46
+ export declare function resolvePublishMeta(skill: Candidate, params: {
47
+ bump: 'patch' | 'minor' | 'major';
48
+ allowPrompt: boolean;
49
+ changelogFlag?: string;
50
+ }): Promise<{
51
+ publishVersion: string;
52
+ changelog: string;
53
+ }>;
54
+ export declare function getRegistryWithAuth(opts: GlobalOpts, token: string): Promise<string>;
55
+ export declare function formatList(values: string[], max: number): string;
56
+ export declare function printSection(title: string, body?: string): void;
57
+ export declare function dedupeSkillsBySlug(skills: SkillFolder[]): {
58
+ skills: SkillFolder[];
59
+ duplicates: string[];
60
+ };
61
+ export declare function formatActionableStatus(candidate: Candidate, bump: 'patch' | 'minor' | 'major'): string;
62
+ export declare function formatActionableLine(candidate: Candidate, bump: 'patch' | 'minor' | 'major'): string;
63
+ export declare function formatSyncedSummary(candidate: Candidate): string;
64
+ export declare function formatBulletList(lines: string[], max: number): string;
65
+ export declare function formatSyncedDisplay(synced: Candidate[]): string;
66
+ export declare function formatCommaList(values: string[], max: number): string;
@@ -0,0 +1,335 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { realpath } from 'node:fs/promises';
3
+ import { homedir } from 'node:os';
4
+ import { resolve } from 'node:path';
5
+ import { isCancel, multiselect } from '@clack/prompts';
6
+ import semver from 'semver';
7
+ import { apiRequest, downloadZip } from '../../http.js';
8
+ import { ApiCliTelemetrySyncResponseSchema, ApiRoutes, ApiV1SkillResolveResponseSchema, ApiV1SkillResponseSchema, ApiV1WhoamiResponseSchema, LegacyApiRoutes, } from '../../schema/index.js';
9
+ import { hashSkillZip } from '../../skills.js';
10
+ import { getRegistry } from '../registry.js';
11
+ import { findSkillFolders } from '../scanSkills.js';
12
+ import { fail, formatError } from '../ui.js';
13
+ export async function reportTelemetryIfEnabled(params) {
14
+ if (isTelemetryDisabled())
15
+ return;
16
+ const versionBySlug = new Map();
17
+ for (const candidate of params.candidates) {
18
+ versionBySlug.set(candidate.slug, candidate.matchVersion ?? null);
19
+ }
20
+ const roots = params.scan.roots.map((root) => ({
21
+ rootId: rootTelemetryId(root),
22
+ label: formatRootLabel(root),
23
+ skills: (params.scan.skillsByRoot[root] ?? []).map((skill) => ({
24
+ slug: skill.slug,
25
+ version: versionBySlug.get(skill.slug) ?? null,
26
+ })),
27
+ }));
28
+ try {
29
+ await apiRequest(params.registry, {
30
+ method: 'POST',
31
+ path: LegacyApiRoutes.cliTelemetrySync,
32
+ token: params.token,
33
+ body: { roots },
34
+ }, ApiCliTelemetrySyncResponseSchema);
35
+ }
36
+ catch {
37
+ // ignore telemetry failures
38
+ }
39
+ }
40
+ function isTelemetryDisabled() {
41
+ const raw = process.env.CLAWDHUB_DISABLE_TELEMETRY;
42
+ if (!raw)
43
+ return false;
44
+ return ['1', 'true', 'yes', 'on'].includes(raw.trim().toLowerCase());
45
+ }
46
+ export function buildScanRoots(opts, extraRoots) {
47
+ const roots = [opts.workdir, opts.dir, ...(extraRoots ?? [])];
48
+ return Array.from(new Set(roots.map((root) => resolve(root))));
49
+ }
50
+ export function normalizeConcurrency(value) {
51
+ const raw = typeof value === 'number' ? value : 4;
52
+ const rounded = Number.isFinite(raw) ? Math.round(raw) : 4;
53
+ return Math.min(32, Math.max(1, rounded));
54
+ }
55
+ export async function mapWithConcurrency(items, limit, fn) {
56
+ const results = Array.from({ length: items.length });
57
+ let nextIndex = 0;
58
+ const workerCount = Math.min(Math.max(1, limit), items.length || 1);
59
+ async function worker() {
60
+ while (true) {
61
+ const index = nextIndex;
62
+ nextIndex += 1;
63
+ if (index >= items.length)
64
+ return;
65
+ results[index] = await fn(items[index]);
66
+ }
67
+ }
68
+ await Promise.all(Array.from({ length: workerCount }, () => worker()));
69
+ return results;
70
+ }
71
+ export async function checkRegistrySyncState(registry, skill, resolveSupport) {
72
+ if (resolveSupport.value !== false) {
73
+ try {
74
+ const resolved = await apiRequest(registry, {
75
+ method: 'GET',
76
+ path: `${ApiRoutes.resolve}?slug=${encodeURIComponent(skill.slug)}&hash=${encodeURIComponent(skill.fingerprint)}`,
77
+ }, ApiV1SkillResolveResponseSchema);
78
+ resolveSupport.value = true;
79
+ const latestVersion = resolved.latestVersion?.version ?? null;
80
+ const matchVersion = resolved.match?.version ?? null;
81
+ if (!latestVersion) {
82
+ return {
83
+ ...skill,
84
+ status: 'new',
85
+ matchVersion: null,
86
+ latestVersion: null,
87
+ };
88
+ }
89
+ return {
90
+ ...skill,
91
+ status: matchVersion ? 'synced' : 'update',
92
+ matchVersion,
93
+ latestVersion,
94
+ };
95
+ }
96
+ catch (error) {
97
+ const message = formatError(error);
98
+ if (/skill not found/i.test(message) || /HTTP 404/i.test(message)) {
99
+ resolveSupport.value = true;
100
+ return {
101
+ ...skill,
102
+ status: 'new',
103
+ matchVersion: null,
104
+ latestVersion: null,
105
+ };
106
+ }
107
+ if (/no matching routes found/i.test(message)) {
108
+ resolveSupport.value = false;
109
+ }
110
+ else {
111
+ throw error;
112
+ }
113
+ }
114
+ }
115
+ const meta = await apiRequest(registry, { method: 'GET', path: `${ApiRoutes.skills}/${encodeURIComponent(skill.slug)}` }, ApiV1SkillResponseSchema).catch(() => null);
116
+ const latestVersion = meta?.latestVersion?.version ?? null;
117
+ if (!latestVersion) {
118
+ return {
119
+ ...skill,
120
+ status: 'new',
121
+ matchVersion: null,
122
+ latestVersion: null,
123
+ };
124
+ }
125
+ const zip = await downloadZip(registry, { slug: skill.slug, version: latestVersion });
126
+ const remote = hashSkillZip(zip).fingerprint;
127
+ const matchVersion = remote === skill.fingerprint ? latestVersion : null;
128
+ return {
129
+ ...skill,
130
+ status: matchVersion ? 'synced' : 'update',
131
+ matchVersion,
132
+ latestVersion,
133
+ };
134
+ }
135
+ export async function scanRoots(roots) {
136
+ const all = [];
137
+ const rootsWithSkills = [];
138
+ const uniqueRoots = await dedupeRoots(roots);
139
+ const skillsByRoot = {};
140
+ for (const root of uniqueRoots) {
141
+ const found = await findSkillFolders(root);
142
+ skillsByRoot[root] = found;
143
+ if (found.length > 0)
144
+ rootsWithSkills.push(root);
145
+ all.push(...found);
146
+ }
147
+ const byFolder = new Map();
148
+ for (const folder of all) {
149
+ byFolder.set(folder.folder, folder);
150
+ }
151
+ return {
152
+ roots: uniqueRoots,
153
+ skillsByRoot,
154
+ skills: Array.from(byFolder.values()),
155
+ rootsWithSkills,
156
+ };
157
+ }
158
+ export function mergeScan(left, right) {
159
+ const mergedRoots = Array.from(new Set([...left.roots, ...right.roots]));
160
+ const skillsByRoot = {};
161
+ for (const root of mergedRoots) {
162
+ skillsByRoot[root] = right.skillsByRoot[root] ?? left.skillsByRoot[root] ?? [];
163
+ }
164
+ const byFolder = new Map();
165
+ for (const entry of [...left.skills, ...right.skills]) {
166
+ byFolder.set(entry.folder, entry);
167
+ }
168
+ const skills = Array.from(byFolder.values());
169
+ const rootsWithSkills = mergedRoots.filter((root) => (skillsByRoot[root]?.length ?? 0) > 0);
170
+ return { roots: mergedRoots, skillsByRoot, skills, rootsWithSkills };
171
+ }
172
+ async function dedupeRoots(roots) {
173
+ const seen = new Set();
174
+ const unique = [];
175
+ for (const root of roots) {
176
+ const resolved = resolve(root);
177
+ const canonical = await realpath(resolved).catch(() => null);
178
+ const key = canonical ?? resolved;
179
+ if (seen.has(key))
180
+ continue;
181
+ seen.add(key);
182
+ unique.push(key);
183
+ }
184
+ return unique;
185
+ }
186
+ export async function selectToUpload(candidates, params) {
187
+ if (params.all || !params.allowPrompt)
188
+ return candidates;
189
+ const valueByKey = new Map();
190
+ const choices = candidates.map((candidate) => {
191
+ const key = candidate.folder;
192
+ valueByKey.set(key, candidate);
193
+ return {
194
+ value: key,
195
+ label: `${candidate.slug} ${formatActionableStatus(candidate, params.bump)}`,
196
+ hint: `${abbreviatePath(candidate.folder)} | ${candidate.fileCount} files`,
197
+ };
198
+ });
199
+ const picked = await multiselect({
200
+ message: 'Select skills to upload',
201
+ options: choices,
202
+ initialValues: choices.map((choice) => choice.value),
203
+ required: false,
204
+ });
205
+ if (isCancel(picked))
206
+ fail('Canceled');
207
+ const selected = picked.map((key) => valueByKey.get(String(key))).filter(Boolean);
208
+ return selected;
209
+ }
210
+ export async function resolvePublishMeta(skill, params) {
211
+ if (skill.status === 'new') {
212
+ return { publishVersion: '1.0.0', changelog: '' };
213
+ }
214
+ const latest = skill.latestVersion;
215
+ if (!latest)
216
+ fail(`Could not resolve latest version for ${skill.slug}`);
217
+ const publishVersion = semver.inc(latest, params.bump);
218
+ if (!publishVersion)
219
+ fail(`Could not bump version for ${skill.slug}`);
220
+ const fromFlag = params.changelogFlag?.trim();
221
+ if (fromFlag)
222
+ return { publishVersion, changelog: fromFlag };
223
+ return { publishVersion, changelog: '' };
224
+ }
225
+ export async function getRegistryWithAuth(opts, token) {
226
+ const registry = await getRegistry(opts, { cache: true });
227
+ await apiRequest(registry, { method: 'GET', path: ApiRoutes.whoami, token }, ApiV1WhoamiResponseSchema);
228
+ return registry;
229
+ }
230
+ export function formatList(values, max) {
231
+ if (values.length === 0)
232
+ return '';
233
+ const shown = values.map(abbreviatePath);
234
+ if (shown.length <= max)
235
+ return shown.join('\n');
236
+ const head = shown.slice(0, Math.max(1, max - 1));
237
+ const rest = values.length - head.length;
238
+ return [...head, `… +${rest} more`].join('\n');
239
+ }
240
+ export function printSection(title, body) {
241
+ const trimmed = body?.trim();
242
+ if (!trimmed) {
243
+ console.log(title);
244
+ return;
245
+ }
246
+ if (trimmed.includes('\n')) {
247
+ console.log(`\n${title}\n${trimmed}`);
248
+ return;
249
+ }
250
+ console.log(`${title}: ${trimmed}`);
251
+ }
252
+ function abbreviatePath(value) {
253
+ const home = homedir();
254
+ if (value.startsWith(home))
255
+ return `~${value.slice(home.length)}`;
256
+ return value;
257
+ }
258
+ function rootTelemetryId(value) {
259
+ return createHash('sha256').update(value).digest('hex');
260
+ }
261
+ function formatRootLabel(value) {
262
+ const home = homedir();
263
+ if (value === home)
264
+ return '~';
265
+ const normalized = value.replaceAll('\\', '/');
266
+ const normalizedHome = home.replaceAll('\\', '/');
267
+ const isHome = normalized === normalizedHome || normalized.startsWith(`${normalizedHome}/`);
268
+ const stripped = isHome ? normalized.slice(normalizedHome.length).replace(/^\//, '') : normalized;
269
+ const parts = stripped.split('/').filter(Boolean);
270
+ const tail = parts.slice(-2).join('/');
271
+ if (!tail)
272
+ return isHome ? '~' : '…';
273
+ return isHome ? `~/${tail}` : `…/${tail}`;
274
+ }
275
+ export function dedupeSkillsBySlug(skills) {
276
+ const bySlug = new Map();
277
+ for (const skill of skills) {
278
+ const existing = bySlug.get(skill.slug);
279
+ if (existing)
280
+ existing.push(skill);
281
+ else
282
+ bySlug.set(skill.slug, [skill]);
283
+ }
284
+ const unique = [];
285
+ const duplicates = [];
286
+ for (const [slug, entries] of bySlug.entries()) {
287
+ unique.push(entries[0]);
288
+ if (entries.length > 1)
289
+ duplicates.push(`${slug} (${entries.length})`);
290
+ }
291
+ return { skills: unique, duplicates };
292
+ }
293
+ export function formatActionableStatus(candidate, bump) {
294
+ if (candidate.status === 'new')
295
+ return 'NEW';
296
+ const latest = candidate.latestVersion;
297
+ const next = latest ? semver.inc(latest, bump) : null;
298
+ if (latest && next)
299
+ return `UPDATE ${latest} → ${next}`;
300
+ return 'UPDATE';
301
+ }
302
+ export function formatActionableLine(candidate, bump) {
303
+ return `${candidate.slug} ${formatActionableStatus(candidate, bump)} (${candidate.fileCount} files)`;
304
+ }
305
+ function formatSyncedLine(candidate) {
306
+ const version = candidate.matchVersion ?? candidate.latestVersion ?? 'unknown';
307
+ return `${candidate.slug} synced (${version})`;
308
+ }
309
+ export function formatSyncedSummary(candidate) {
310
+ const version = candidate.matchVersion ?? candidate.latestVersion;
311
+ return version ? `${candidate.slug}@${version}` : candidate.slug;
312
+ }
313
+ export function formatBulletList(lines, max) {
314
+ if (lines.length <= max)
315
+ return lines.map((line) => `- ${line}`).join('\n');
316
+ const head = lines.slice(0, max);
317
+ const rest = lines.length - head.length;
318
+ return [...head, `... +${rest} more`].map((line) => `- ${line}`).join('\n');
319
+ }
320
+ export function formatSyncedDisplay(synced) {
321
+ const lines = synced.map(formatSyncedLine);
322
+ if (lines.length <= 12)
323
+ return formatBulletList(lines, 12);
324
+ return formatCommaList(synced.map(formatSyncedSummary), 24);
325
+ }
326
+ export function formatCommaList(values, max) {
327
+ if (values.length === 0)
328
+ return '';
329
+ if (values.length <= max)
330
+ return values.join(', ');
331
+ const head = values.slice(0, Math.max(1, max - 1));
332
+ const rest = values.length - head.length;
333
+ return `${head.join(', ')}, ... +${rest} more`;
334
+ }
335
+ //# sourceMappingURL=syncHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syncHelpers.js","sourceRoot":"","sources":["../../../src/cli/commands/syncHelpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { SkillOrigin } from '../../skills.js';
2
+ import type { SkillFolder } from '../scanSkills.js';
3
+ export type SyncOptions = {
4
+ root?: string[];
5
+ all?: boolean;
6
+ dryRun?: boolean;
7
+ bump?: 'patch' | 'minor' | 'major';
8
+ changelog?: string;
9
+ tags?: string;
10
+ concurrency?: number;
11
+ };
12
+ export type Candidate = SkillFolder & {
13
+ fingerprint: string;
14
+ fileCount: number;
15
+ origin: SkillOrigin | null;
16
+ status: 'synced' | 'new' | 'update';
17
+ matchVersion: string | null;
18
+ latestVersion: string | null;
19
+ };
20
+ export type LocalSkill = SkillFolder & {
21
+ fingerprint: string;
22
+ fileCount: number;
23
+ origin: SkillOrigin | null;
24
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=syncTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syncTypes.js","sourceRoot":"","sources":["../../../src/cli/commands/syncTypes.ts"],"names":[],"mappings":""}
@@ -63,7 +63,7 @@ async function isSkillFolder(folder) {
63
63
  return { folder, slug, displayName };
64
64
  }
65
65
  async function findSkillMarker(folder) {
66
- const candidates = ['SKILL.md', 'skill.md', 'Skills.md', 'skills.md'];
66
+ const candidates = ['SKILL.md', 'skill.md'];
67
67
  for (const name of candidates) {
68
68
  const path = join(folder, name);
69
69
  const st = await stat(path).catch(() => null);
@@ -1 +1 @@
1
- {"version":3,"file":"scanSkills.js","sourceRoot":"","sources":["../../src/cli/scanSkills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scanSkills.js","sourceRoot":"","sources":["../../src/cli/scanSkills.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,19 @@ describe('scanSkills', () => {
37
37
  await rm(root, { recursive: true, force: true });
38
38
  }
39
39
  });
40
+ it('ignores plural skills.md marker files', async () => {
41
+ const root = await makeTmpDir();
42
+ try {
43
+ const folder = join(root, 'docs');
44
+ await mkdir(folder, { recursive: true });
45
+ await writeFile(join(folder, 'skills.md'), '# Docs\n', 'utf8');
46
+ const found = await findSkillFolders(root);
47
+ expect(found).toHaveLength(0);
48
+ }
49
+ finally {
50
+ await rm(root, { recursive: true, force: true });
51
+ }
52
+ });
40
53
  it('includes known legacy roots', () => {
41
54
  const roots = getFallbackSkillRoots('/tmp/anywhere');
42
55
  expect(roots.some((p) => p.endsWith('/clawdis/skills'))).toBe(true);
@@ -1 +1 @@
1
- {"version":3,"file":"scanSkills.test.js","sourceRoot":"","sources":["../../src/cli/scanSkills.test.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAE9B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAEtE,KAAK,UAAU,UAAU;IACvB,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAA;AAClD,CAAC;AAED,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAA;QAC/B,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;YAC5D,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAA;YAC1C,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;YAC7B,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;YAC5C,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,UAAU,EAAE,CAAA;QACrC,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAClD,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAA;QAC/B,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;YACtC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;YAC5C,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YACxC,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;YAE9D,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAA;YAC/C,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;YAC7B,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YACzC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;QAChD,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAClD,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,KAAK,GAAG,qBAAqB,CAAC,eAAe,CAAC,CAAA;QACpD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACjE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACtE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"scanSkills.test.js","sourceRoot":"","sources":["../../src/cli/scanSkills.test.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -135,6 +135,7 @@ program
135
135
  .option('--slug <slug>', 'Skill slug')
136
136
  .option('--name <name>', 'Display name')
137
137
  .option('--version <version>', 'Version (semver)')
138
+ .option('--fork-of <slug[@version]>', 'Mark as a fork of an existing skill')
138
139
  .option('--changelog <text>', 'Changelog text')
139
140
  .option('--tags <tags>', 'Comma-separated tags', 'latest')
140
141
  .action(async (folder, options) => {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/http.d.ts CHANGED
@@ -1,17 +1,30 @@
1
1
  import type { ArkValidator } from './schema/index.js';
2
2
  type RequestArgs = {
3
- method: 'GET' | 'POST';
3
+ method: 'GET' | 'POST' | 'DELETE';
4
4
  path: string;
5
5
  token?: string;
6
6
  body?: unknown;
7
7
  } | {
8
- method: 'GET' | 'POST';
8
+ method: 'GET' | 'POST' | 'DELETE';
9
9
  url: string;
10
10
  token?: string;
11
11
  body?: unknown;
12
12
  };
13
13
  export declare function apiRequest<T>(registry: string, args: RequestArgs): Promise<T>;
14
14
  export declare function apiRequest<T>(registry: string, args: RequestArgs, schema: ArkValidator<T>): Promise<T>;
15
+ type FormRequestArgs = {
16
+ method: 'POST';
17
+ path: string;
18
+ token?: string;
19
+ form: FormData;
20
+ } | {
21
+ method: 'POST';
22
+ url: string;
23
+ token?: string;
24
+ form: FormData;
25
+ };
26
+ export declare function apiRequestForm<T>(registry: string, args: FormRequestArgs): Promise<T>;
27
+ export declare function apiRequestForm<T>(registry: string, args: FormRequestArgs, schema: ArkValidator<T>): Promise<T>;
15
28
  export declare function downloadZip(registry: string, args: {
16
29
  slug: string;
17
30
  version?: string;
package/dist/http.js CHANGED
@@ -26,6 +26,27 @@ export async function apiRequest(registry, args, schema) {
26
26
  return parseArk(schema, json, 'API response');
27
27
  return json;
28
28
  }
29
+ export async function apiRequestForm(registry, args, schema) {
30
+ const url = 'url' in args ? args.url : new URL(args.path, registry).toString();
31
+ const json = await pRetry(async () => {
32
+ const headers = { Accept: 'application/json' };
33
+ if (args.token)
34
+ headers.Authorization = `Bearer ${args.token}`;
35
+ const response = await fetch(url, { method: args.method, headers, body: args.form });
36
+ if (!response.ok) {
37
+ const text = await response.text().catch(() => '');
38
+ const message = text || `HTTP ${response.status}`;
39
+ if (response.status === 429 || response.status >= 500) {
40
+ throw new Error(message);
41
+ }
42
+ throw new AbortError(message);
43
+ }
44
+ return (await response.json());
45
+ }, { retries: 2 });
46
+ if (schema)
47
+ return parseArk(schema, json, 'API response');
48
+ return json;
49
+ }
29
50
  export async function downloadZip(registry, args) {
30
51
  const url = new URL(ApiRoutes.download, registry);
31
52
  url.searchParams.set('slug', args.slug);
package/dist/http.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}