clawdhub 0.0.5 → 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 (42) 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.js +35 -4
  15. package/dist/cli/commands/sync.js.map +1 -1
  16. package/dist/cli/commands/sync.test.js +12 -12
  17. package/dist/cli/commands/sync.test.js.map +1 -1
  18. package/dist/cli/commands/syncHelpers.js +6 -6
  19. package/dist/cli/commands/syncHelpers.js.map +1 -1
  20. package/dist/cli/commands/syncTypes.d.ts +3 -0
  21. package/dist/cli.js +1 -0
  22. package/dist/cli.js.map +1 -1
  23. package/dist/http.d.ts +15 -2
  24. package/dist/http.js +21 -0
  25. package/dist/http.js.map +1 -1
  26. package/dist/http.test.js +2 -2
  27. package/dist/http.test.js.map +1 -1
  28. package/dist/schema/index.d.ts +1 -1
  29. package/dist/schema/index.js +1 -1
  30. package/dist/schema/index.js.map +1 -1
  31. package/dist/schema/routes.d.ts +8 -1
  32. package/dist/schema/routes.js +8 -1
  33. package/dist/schema/routes.js.map +1 -1
  34. package/dist/schema/schemas.d.ts +97 -0
  35. package/dist/schema/schemas.js +93 -0
  36. package/dist/schema/schemas.js.map +1 -1
  37. package/dist/skills.d.ts +9 -0
  38. package/dist/skills.js +28 -0
  39. package/dist/skills.js.map +1 -1
  40. package/dist/skills.test.js +62 -1
  41. package/dist/skills.test.js.map +1 -1
  42. package/package.json +2 -2
@@ -2,7 +2,7 @@ import { buildCliAuthUrl, startLoopbackAuthServer } from '../../browserAuth.js';
2
2
  import { readGlobalConfig, writeGlobalConfig } from '../../config.js';
3
3
  import { discoverRegistryFromSite } from '../../discovery.js';
4
4
  import { apiRequest } from '../../http.js';
5
- import { ApiCliWhoamiResponseSchema, ApiRoutes } from '../../schema/index.js';
5
+ import { ApiRoutes, ApiV1WhoamiResponseSchema } from '../../schema/index.js';
6
6
  import { getRegistry } from '../registry.js';
7
7
  import { createSpinner, fail, formatError, openInBrowser, promptHidden } from '../ui.js';
8
8
  export async function cmdLoginFlow(opts, options, inputAllowed) {
@@ -38,7 +38,7 @@ export async function cmdLogin(opts, tokenFlag, inputAllowed) {
38
38
  const registry = await getRegistry(opts, { cache: true });
39
39
  const spinner = createSpinner('Verifying token');
40
40
  try {
41
- const whoami = await apiRequest(registry, { method: 'GET', path: ApiRoutes.cliWhoami, token }, ApiCliWhoamiResponseSchema);
41
+ const whoami = await apiRequest(registry, { method: 'GET', path: ApiRoutes.whoami, token }, ApiV1WhoamiResponseSchema);
42
42
  if (!whoami.user)
43
43
  fail('Login failed');
44
44
  await writeGlobalConfig({ registry, token });
@@ -64,7 +64,7 @@ export async function cmdWhoami(opts) {
64
64
  const registry = await getRegistry(opts, { cache: true });
65
65
  const spinner = createSpinner('Checking token');
66
66
  try {
67
- const whoami = await apiRequest(registry, { method: 'GET', path: ApiRoutes.cliWhoami, token }, ApiCliWhoamiResponseSchema);
67
+ const whoami = await apiRequest(registry, { method: 'GET', path: ApiRoutes.whoami, token }, ApiV1WhoamiResponseSchema);
68
68
  spinner.succeed(whoami.user.handle ?? 'unknown');
69
69
  }
70
70
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/cli/commands/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/cli/commands/auth.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { readGlobalConfig } from '../../config.js';
2
2
  import { apiRequest } from '../../http.js';
3
- import { ApiCliSkillDeleteResponseSchema, ApiRoutes, parseArk } from '../../schema/index.js';
3
+ import { ApiRoutes, ApiV1DeleteResponseSchema, parseArk } from '../../schema/index.js';
4
4
  import { getRegistry } from '../registry.js';
5
5
  import { createSpinner, fail, formatError, isInteractive, promptConfirm } from '../ui.js';
6
6
  async function requireToken() {
@@ -26,10 +26,9 @@ export async function cmdDeleteSkill(opts, slugArg, options, inputAllowed) {
26
26
  const registry = await getRegistry(opts, { cache: true });
27
27
  const spinner = createSpinner(`Deleting ${slug}`);
28
28
  try {
29
- const body = { slug };
30
- const result = await apiRequest(registry, { method: 'POST', path: ApiRoutes.cliSkillDelete, token, body }, ApiCliSkillDeleteResponseSchema);
29
+ const result = await apiRequest(registry, { method: 'DELETE', path: `${ApiRoutes.skills}/${encodeURIComponent(slug)}`, token }, ApiV1DeleteResponseSchema);
31
30
  spinner.succeed(`OK. Deleted ${slug}`);
32
- return parseArk(ApiCliSkillDeleteResponseSchema, result, 'Delete response');
31
+ return parseArk(ApiV1DeleteResponseSchema, result, 'Delete response');
33
32
  }
34
33
  catch (error) {
35
34
  spinner.fail(formatError(error));
@@ -52,10 +51,13 @@ export async function cmdUndeleteSkill(opts, slugArg, options, inputAllowed) {
52
51
  const registry = await getRegistry(opts, { cache: true });
53
52
  const spinner = createSpinner(`Undeleting ${slug}`);
54
53
  try {
55
- const body = { slug };
56
- const result = await apiRequest(registry, { method: 'POST', path: ApiRoutes.cliSkillUndelete, token, body }, ApiCliSkillDeleteResponseSchema);
54
+ const result = await apiRequest(registry, {
55
+ method: 'POST',
56
+ path: `${ApiRoutes.skills}/${encodeURIComponent(slug)}/undelete`,
57
+ token,
58
+ }, ApiV1DeleteResponseSchema);
57
59
  spinner.succeed(`OK. Undeleted ${slug}`);
58
- return parseArk(ApiCliSkillDeleteResponseSchema, result, 'Undelete response');
60
+ return parseArk(ApiV1DeleteResponseSchema, result, 'Undelete response');
59
61
  }
60
62
  catch (error) {
61
63
  spinner.fail(formatError(error));
@@ -1 +1 @@
1
- {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/cli/commands/delete.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/cli/commands/delete.ts"],"names":[],"mappings":"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"}
@@ -41,12 +41,12 @@ describe('delete/undelete', () => {
41
41
  it('calls delete endpoint with --yes', async () => {
42
42
  mockApiRequest.mockResolvedValueOnce({ ok: true });
43
43
  await cmdDeleteSkill(makeOpts(), 'demo', { yes: true }, false);
44
- expect(mockApiRequest).toHaveBeenCalledWith(expect.anything(), expect.objectContaining({ method: 'POST', path: '/api/cli/skill/delete' }), expect.anything());
44
+ expect(mockApiRequest).toHaveBeenCalledWith(expect.anything(), expect.objectContaining({ method: 'DELETE', path: '/api/v1/skills/demo' }), expect.anything());
45
45
  });
46
46
  it('calls undelete endpoint with --yes', async () => {
47
47
  mockApiRequest.mockResolvedValueOnce({ ok: true });
48
48
  await cmdUndeleteSkill(makeOpts(), 'demo', { yes: true }, false);
49
- expect(mockApiRequest).toHaveBeenCalledWith(expect.anything(), expect.objectContaining({ method: 'POST', path: '/api/cli/skill/undelete' }), expect.anything());
49
+ expect(mockApiRequest).toHaveBeenCalledWith(expect.anything(), expect.objectContaining({ method: 'POST', path: '/api/v1/skills/demo/undelete' }), expect.anything());
50
50
  });
51
51
  });
52
52
  //# sourceMappingURL=delete.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"delete.test.js","sourceRoot":"","sources":["../../../src/cli/commands/delete.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delete.test.js","sourceRoot":"","sources":["../../../src/cli/commands/delete.test.ts"],"names":[],"mappings":"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"}
@@ -5,4 +5,5 @@ export declare function cmdPublish(opts: GlobalOpts, folderArg: string, options:
5
5
  version?: string;
6
6
  changelog?: string;
7
7
  tags?: string;
8
+ forkOf?: string;
8
9
  }): Promise<void>;
@@ -2,9 +2,9 @@ import { stat } from 'node:fs/promises';
2
2
  import { basename, resolve } from 'node:path';
3
3
  import semver from 'semver';
4
4
  import { readGlobalConfig } from '../../config.js';
5
- import { apiRequest } from '../../http.js';
6
- import { ApiCliPublishResponseSchema, ApiCliUploadUrlResponseSchema, ApiRoutes, ApiUploadFileResponseSchema, CliPublishRequestSchema, parseArk, } from '../../schema/index.js';
7
- import { listTextFiles, sha256Hex } from '../../skills.js';
5
+ import { apiRequestForm } from '../../http.js';
6
+ import { ApiRoutes, ApiV1PublishResponseSchema } from '../../schema/index.js';
7
+ import { listTextFiles } from '../../skills.js';
8
8
  import { getRegistry } from '../registry.js';
9
9
  import { sanitizeSlug, titleCase } from '../slug.js';
10
10
  import { createSpinner, fail, formatError } from '../ui.js';
@@ -29,6 +29,8 @@ export async function cmdPublish(opts, folderArg, options) {
29
29
  .split(',')
30
30
  .map((tag) => tag.trim())
31
31
  .filter(Boolean);
32
+ const forkOfRaw = options.forkOf?.trim();
33
+ const forkOf = forkOfRaw ? parseForkOf(forkOfRaw) : undefined;
32
34
  if (!slug)
33
35
  fail('--slug required');
34
36
  if (!displayName)
@@ -46,25 +48,24 @@ export async function cmdPublish(opts, folderArg, options) {
46
48
  })) {
47
49
  fail('SKILL.md required');
48
50
  }
49
- const uploaded = [];
51
+ const form = new FormData();
52
+ form.set('payload', JSON.stringify({
53
+ slug,
54
+ displayName,
55
+ version,
56
+ changelog,
57
+ tags,
58
+ ...(forkOf ? { forkOf } : {}),
59
+ }));
50
60
  let index = 0;
51
61
  for (const file of filesOnDisk) {
52
62
  index += 1;
53
63
  spinner.text = `Uploading ${file.relPath} (${index}/${filesOnDisk.length})`;
54
- const { uploadUrl } = await apiRequest(registry, { method: 'POST', path: ApiRoutes.cliUploadUrl, token }, ApiCliUploadUrlResponseSchema);
55
- const storageId = await uploadFile(uploadUrl, file.bytes, file.contentType ?? 'text/plain');
56
- const sha256 = sha256Hex(file.bytes);
57
- uploaded.push({
58
- path: file.relPath,
59
- size: file.bytes.byteLength,
60
- storageId,
61
- sha256,
62
- contentType: file.contentType ?? undefined,
63
- });
64
+ const blob = new Blob([Buffer.from(file.bytes)], { type: file.contentType ?? 'text/plain' });
65
+ form.append('files', blob, file.relPath);
64
66
  }
65
67
  spinner.text = `Publishing ${slug}@${version}`;
66
- const body = parseArk(CliPublishRequestSchema, { slug, displayName, version, changelog, tags, files: uploaded }, 'Publish payload');
67
- const result = await apiRequest(registry, { method: 'POST', path: ApiRoutes.cliPublish, token, body }, ApiCliPublishResponseSchema);
68
+ const result = await apiRequestForm(registry, { method: 'POST', path: ApiRoutes.skills, token, form }, ApiV1PublishResponseSchema);
68
69
  spinner.succeed(`OK. Published ${slug}@${version} (${result.versionId})`);
69
70
  }
70
71
  catch (error) {
@@ -72,16 +73,15 @@ export async function cmdPublish(opts, folderArg, options) {
72
73
  throw error;
73
74
  }
74
75
  }
75
- async function uploadFile(uploadUrl, bytes, contentType) {
76
- const response = await fetch(uploadUrl, {
77
- method: 'POST',
78
- headers: { 'Content-Type': contentType || 'application/octet-stream' },
79
- body: Buffer.from(bytes),
80
- });
81
- if (!response.ok) {
82
- throw new Error(`Upload failed: ${await response.text()}`);
83
- }
84
- const payload = parseArk(ApiUploadFileResponseSchema, (await response.json()), 'Upload response');
85
- return payload.storageId;
76
+ function parseForkOf(value) {
77
+ const trimmed = value.trim();
78
+ const [slugRaw, versionRaw] = trimmed.split('@');
79
+ const slug = (slugRaw ?? '').trim().toLowerCase();
80
+ if (!slug)
81
+ fail('--fork-of must be <slug> or <slug@version>');
82
+ const version = (versionRaw ?? '').trim();
83
+ if (version && !semver.valid(version))
84
+ fail('--fork-of version must be valid semver');
85
+ return { slug, version: version || undefined };
86
86
  }
87
87
  //# sourceMappingURL=publish.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../src/cli/commands/publish.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../src/cli/commands/publish.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,6 @@ import { mkdir, mkdtemp, rm, writeFile } from 'node:fs/promises';
3
3
  import { tmpdir } from 'node:os';
4
4
  import { join } from 'node:path';
5
5
  import { afterEach, describe, expect, it, vi } from 'vitest';
6
- import { sha256Hex } from '../../skills';
7
6
  vi.mock('../../config.js', () => ({
8
7
  readGlobalConfig: vi.fn(async () => ({ registry: 'https://clawdhub.com', token: 'tkn' })),
9
8
  }));
@@ -11,9 +10,9 @@ const mockGetRegistry = vi.fn(async (_opts, _params) => 'https://clawdhub.com');
11
10
  vi.mock('../registry.js', () => ({
12
11
  getRegistry: (opts, params) => mockGetRegistry(opts, params),
13
12
  }));
14
- const mockApiRequest = vi.fn();
13
+ const mockApiRequestForm = vi.fn();
15
14
  vi.mock('../../http.js', () => ({
16
- apiRequest: (registry, args, schema) => mockApiRequest(registry, args, schema),
15
+ apiRequestForm: (registry, args, schema) => mockApiRequestForm(registry, args, schema),
17
16
  }));
18
17
  const mockFail = vi.fn((message) => {
19
18
  throw new Error(message);
@@ -52,29 +51,7 @@ describe('cmdPublish', () => {
52
51
  const notesContent = 'notes\n';
53
52
  await writeFile(join(folder, 'SKILL.md'), skillContent, 'utf8');
54
53
  await writeFile(join(folder, 'notes.md'), notesContent, 'utf8');
55
- let uploadIndex = 0;
56
- mockApiRequest.mockImplementation(async (_registry, args) => {
57
- if (args.method === 'GET' && args.path.startsWith('/api/skill?slug=')) {
58
- return { skill: null, latestVersion: { version: '9.9.9' } };
59
- }
60
- if (args.method === 'POST' && args.path === '/api/cli/upload-url') {
61
- uploadIndex += 1;
62
- return { uploadUrl: `https://upload.example/${uploadIndex}` };
63
- }
64
- if (args.method === 'POST' && args.path === '/api/cli/publish') {
65
- return { ok: true, skillId: 'skill_1', versionId: 'ver_1' };
66
- }
67
- throw new Error(`Unexpected apiRequest: ${args.method} ${args.path}`);
68
- });
69
- vi.stubGlobal('fetch', vi.fn(async (url, init) => {
70
- expect(url).toMatch(/^https:\/\/upload\.example\/\d+$/);
71
- expect(init?.method).toBe('POST');
72
- expect(init?.headers?.['Content-Type']).toMatch(/text\/(markdown|plain)/);
73
- return new Response(JSON.stringify({ storageId: `st_${String(url).split('/').pop()}` }), {
74
- status: 200,
75
- headers: { 'Content-Type': 'application/json' },
76
- });
77
- }));
54
+ mockApiRequestForm.mockResolvedValueOnce({ ok: true, skillId: 'skill_1', versionId: 'ver_1' });
78
55
  await cmdPublish(makeOpts(workdir), 'my-skill', {
79
56
  slug: 'my-skill',
80
57
  name: 'My Skill',
@@ -82,22 +59,23 @@ describe('cmdPublish', () => {
82
59
  changelog: '',
83
60
  tags: 'latest',
84
61
  });
85
- const publishCall = mockApiRequest.mock.calls.find((call) => {
62
+ const publishCall = mockApiRequestForm.mock.calls.find((call) => {
86
63
  const req = call[1];
87
- return req?.path === '/api/cli/publish';
64
+ return req?.path === '/api/v1/skills';
88
65
  });
89
66
  if (!publishCall)
90
67
  throw new Error('Missing publish call');
91
- const publishBody = publishCall[1].body;
92
- expect(publishBody.slug).toBe('my-skill');
93
- expect(publishBody.displayName).toBe('My Skill');
94
- expect(publishBody.version).toBe('1.0.0');
95
- expect(publishBody.changelog).toBe('');
96
- expect(publishBody.tags).toEqual(['latest']);
97
- const byPath = Object.fromEntries(publishBody.files.map((f) => [f.path, f]));
98
- expect(Object.keys(byPath).sort()).toEqual(['SKILL.md', 'notes.md']);
99
- expect(byPath['SKILL.md']?.sha256).toBe(sha256Hex(new TextEncoder().encode(skillContent)));
100
- expect(byPath['notes.md']?.sha256).toBe(sha256Hex(new TextEncoder().encode(notesContent)));
68
+ const publishForm = publishCall[1].form;
69
+ const payloadRaw = publishForm.get('payload');
70
+ expect(typeof payloadRaw).toBe('string');
71
+ const payload = JSON.parse(payloadRaw);
72
+ expect(payload.slug).toBe('my-skill');
73
+ expect(payload.displayName).toBe('My Skill');
74
+ expect(payload.version).toBe('1.0.0');
75
+ expect(payload.changelog).toBe('');
76
+ expect(payload.tags).toEqual(['latest']);
77
+ const files = publishForm.getAll('files');
78
+ expect(files.map((file) => String(file.name ?? '')).sort()).toEqual(['SKILL.md', 'notes.md']);
101
79
  }
102
80
  finally {
103
81
  await rm(workdir, { recursive: true, force: true });
@@ -109,27 +87,13 @@ describe('cmdPublish', () => {
109
87
  const folder = join(workdir, 'existing-skill');
110
88
  await mkdir(folder, { recursive: true });
111
89
  await writeFile(join(folder, 'SKILL.md'), '# Skill\n', 'utf8');
112
- let uploadIndex = 0;
113
- mockApiRequest.mockImplementation(async (_registry, args) => {
114
- if (args.method === 'GET' && args.path.startsWith('/api/skill?slug=')) {
115
- return { skill: { slug: 'existing-skill' }, latestVersion: { version: '1.0.0' } };
116
- }
117
- if (args.method === 'POST' && args.path === '/api/cli/upload-url') {
118
- uploadIndex += 1;
119
- return { uploadUrl: `https://upload.example/${uploadIndex}` };
120
- }
121
- if (args.method === 'POST' && args.path === '/api/cli/publish') {
122
- return { ok: true, skillId: 'skill_1', versionId: 'ver_2' };
123
- }
124
- throw new Error(`Unexpected apiRequest: ${args.method} ${args.path}`);
125
- });
126
- vi.stubGlobal('fetch', vi.fn(async () => new Response(JSON.stringify({ storageId: 'st_1' }), { status: 200 })));
90
+ mockApiRequestForm.mockResolvedValueOnce({ ok: true, skillId: 'skill_1', versionId: 'ver_2' });
127
91
  await cmdPublish(makeOpts(workdir), 'existing-skill', {
128
92
  version: '1.0.1',
129
93
  changelog: '',
130
94
  tags: 'latest',
131
95
  });
132
- expect(mockApiRequest).toHaveBeenCalledWith(expect.anything(), expect.objectContaining({ path: '/api/cli/publish', method: 'POST' }), expect.anything());
96
+ expect(mockApiRequestForm).toHaveBeenCalledWith(expect.anything(), expect.objectContaining({ path: '/api/v1/skills', method: 'POST' }), expect.anything());
133
97
  }
134
98
  finally {
135
99
  await rm(workdir, { recursive: true, force: true });
@@ -1 +1 @@
1
- {"version":3,"file":"publish.test.js","sourceRoot":"","sources":["../../../src/cli/commands/publish.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publish.test.js","sourceRoot":"","sources":["../../../src/cli/commands/publish.test.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,8 @@ import { mkdir, rm, stat } from 'node:fs/promises';
2
2
  import { join } from 'node:path';
3
3
  import semver from 'semver';
4
4
  import { apiRequest, downloadZip } from '../../http.js';
5
- import { ApiRoutes, ApiSearchResponseSchema, ApiSkillMetaResponseSchema, ApiSkillResolveResponseSchema, } from '../../schema/index.js';
6
- import { extractZipToDir, hashSkillFiles, listTextFiles, readLockfile, writeLockfile, } from '../../skills.js';
5
+ import { ApiRoutes, ApiV1SearchResponseSchema, ApiV1SkillResolveResponseSchema, ApiV1SkillResponseSchema, } from '../../schema/index.js';
6
+ import { extractZipToDir, hashSkillFiles, listTextFiles, readLockfile, readSkillOrigin, writeLockfile, writeSkillOrigin, } from '../../skills.js';
7
7
  import { getRegistry } from '../registry.js';
8
8
  import { createSpinner, fail, formatError, isInteractive, promptConfirm } from '../ui.js';
9
9
  export async function cmdSearch(opts, query, limit) {
@@ -17,7 +17,7 @@ export async function cmdSearch(opts, query, limit) {
17
17
  if (typeof limit === 'number' && Number.isFinite(limit)) {
18
18
  url.searchParams.set('limit', String(limit));
19
19
  }
20
- const result = await apiRequest(registry, { method: 'GET', url: url.toString() }, ApiSearchResponseSchema);
20
+ const result = await apiRequest(registry, { method: 'GET', url: url.toString() }, ApiV1SearchResponseSchema);
21
21
  spinner.stop();
22
22
  for (const entry of result.results) {
23
23
  const slug = entry.slug ?? 'unknown';
@@ -49,13 +49,20 @@ export async function cmdInstall(opts, slug, versionFlag, force = false) {
49
49
  const spinner = createSpinner(`Resolving ${trimmed}`);
50
50
  try {
51
51
  const resolvedVersion = versionFlag ??
52
- (await apiRequest(registry, { method: 'GET', path: `/api/skill?slug=${encodeURIComponent(trimmed)}` }, ApiSkillMetaResponseSchema)).latestVersion?.version ??
52
+ (await apiRequest(registry, { method: 'GET', path: `${ApiRoutes.skills}/${encodeURIComponent(trimmed)}` }, ApiV1SkillResponseSchema)).latestVersion?.version ??
53
53
  null;
54
54
  if (!resolvedVersion)
55
55
  fail('Could not resolve latest version');
56
56
  spinner.text = `Downloading ${trimmed}@${resolvedVersion}`;
57
57
  const zip = await downloadZip(registry, { slug: trimmed, version: resolvedVersion });
58
58
  await extractZipToDir(zip, target);
59
+ await writeSkillOrigin(target, {
60
+ version: 1,
61
+ registry,
62
+ slug: trimmed,
63
+ installedVersion: resolvedVersion,
64
+ installedAt: Date.now(),
65
+ });
59
66
  const lock = await readLockfile(opts.workdir);
60
67
  lock.skills[trimmed] = {
61
68
  version: resolvedVersion,
@@ -106,9 +113,7 @@ export async function cmdUpdate(opts, slugArg, options, inputAllowed) {
106
113
  resolveResult = await resolveSkillVersion(registry, entry, localFingerprint);
107
114
  }
108
115
  else {
109
- const url = new URL(ApiRoutes.skill, registry);
110
- url.searchParams.set('slug', entry);
111
- const meta = await apiRequest(registry, { method: 'GET', url: url.toString() }, ApiSkillMetaResponseSchema);
116
+ const meta = await apiRequest(registry, { method: 'GET', url: `${ApiRoutes.skills}/${encodeURIComponent(entry)}` }, ApiV1SkillResponseSchema);
112
117
  resolveResult = { match: null, latestVersion: meta.latestVersion ?? null };
113
118
  }
114
119
  const latest = resolveResult.latestVersion?.version ?? null;
@@ -156,6 +161,14 @@ export async function cmdUpdate(opts, slugArg, options, inputAllowed) {
156
161
  await rm(target, { recursive: true, force: true });
157
162
  const zip = await downloadZip(registry, { slug: entry, version: targetVersion });
158
163
  await extractZipToDir(zip, target);
164
+ const existingOrigin = await readSkillOrigin(target);
165
+ await writeSkillOrigin(target, {
166
+ version: 1,
167
+ registry: existingOrigin?.registry ?? registry,
168
+ slug: existingOrigin?.slug ?? entry,
169
+ installedVersion: targetVersion,
170
+ installedAt: existingOrigin?.installedAt ?? Date.now(),
171
+ });
159
172
  lock.skills[entry] = { version: targetVersion, installedAt: Date.now() };
160
173
  spinner.succeed(`${entry}: updated -> ${targetVersion}`);
161
174
  }
@@ -178,10 +191,10 @@ export async function cmdList(opts) {
178
191
  }
179
192
  }
180
193
  async function resolveSkillVersion(registry, slug, hash) {
181
- const url = new URL(ApiRoutes.skillResolve, registry);
194
+ const url = new URL(ApiRoutes.resolve, registry);
182
195
  url.searchParams.set('slug', slug);
183
196
  url.searchParams.set('hash', hash);
184
- return apiRequest(registry, { method: 'GET', url: url.toString() }, ApiSkillResolveResponseSchema);
197
+ return apiRequest(registry, { method: 'GET', url: url.toString() }, ApiV1SkillResolveResponseSchema);
185
198
  }
186
199
  async function fileExists(path) {
187
200
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/cli/commands/skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/cli/commands/skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,EACL,SAAS,EACT,yBAAyB,EACzB,+BAA+B,EAC/B,wBAAwB,GACzB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,eAAe,EACf,cAAc,EACd,aAAa,EACb,YAAY,EACZ,eAAe,EACf,aAAa,EACb,gBAAgB,GACjB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAEzF,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAgB,EAAE,KAAa,EAAE,KAAc;IAC7E,IAAI,CAAC,KAAK;QAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;IAElC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACzD,MAAM,OAAO,GAAG,aAAa,CAAC,WAAW,CAAC,CAAA;IAC1C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC/C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QAC9C,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAC7B,QAAQ,EACR,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,EACtC,yBAAyB,CAC1B,CAAA;QAED,OAAO,CAAC,IAAI,EAAE,CAAA;QACd,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,SAAS,CAAA;YACpC,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,IAAI,IAAI,CAAA;YACtC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YACzD,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,OAAO,KAAK,IAAI,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QACxE,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAA;QAChC,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,IAAgB,EAChB,IAAY,EACZ,WAAoB,EACpB,KAAK,GAAG,KAAK;IAEb,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;IAC3B,IAAI,CAAC,OAAO;QAAE,IAAI,CAAC,eAAe,CAAC,CAAA;IAEnC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACzD,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACtC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAA;QACvC,IAAI,MAAM;YAAE,IAAI,CAAC,sBAAsB,MAAM,gBAAgB,CAAC,CAAA;IAChE,CAAC;SAAM,CAAC;QACN,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACpD,CAAC;IAED,MAAM,OAAO,GAAG,aAAa,CAAC,aAAa,OAAO,EAAE,CAAC,CAAA;IACrD,IAAI,CAAC;QACH,MAAM,eAAe,GACnB,WAAW;YACX,CACE,MAAM,UAAU,CACd,QAAQ,EACR,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC,MAAM,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE,EAAE,EAC7E,wBAAwB,CACzB,CACF,CAAC,aAAa,EAAE,OAAO;YACxB,IAAI,CAAA;QACN,IAAI,CAAC,eAAe;YAAE,IAAI,CAAC,kCAAkC,CAAC,CAAA;QAE9D,OAAO,CAAC,IAAI,GAAG,eAAe,OAAO,IAAI,eAAe,EAAE,CAAA;QAC1D,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAA;QACpF,MAAM,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAElC,MAAM,gBAAgB,CAAC,MAAM,EAAE;YAC7B,OAAO,EAAE,CAAC;YACV,QAAQ;YACR,IAAI,EAAE,OAAO;YACb,gBAAgB,EAAE,eAAe;YACjC,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;SACxB,CAAC,CAAA;QAEF,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC7C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG;YACrB,OAAO,EAAE,eAAe;YACxB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;SACxB,CAAA;QACD,MAAM,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QACvC,OAAO,CAAC,OAAO,CAAC,iBAAiB,OAAO,OAAO,MAAM,EAAE,CAAC,CAAA;IAC1D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAA;QAChC,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,IAAgB,EAChB,OAA2B,EAC3B,OAA6D,EAC7D,YAAqB;IAErB,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,EAAE,CAAA;IAC5B,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAChC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG;QAAE,IAAI,CAAC,yBAAyB,CAAC,CAAA;IAClD,IAAI,IAAI,IAAI,GAAG;QAAE,IAAI,CAAC,4BAA4B,CAAC,CAAA;IACnD,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,IAAI;QAAE,IAAI,CAAC,oCAAoC,CAAC,CAAA;IACxE,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,IAAI,CAAC,gCAAgC,CAAC,CAAA;IAC7F,MAAM,WAAW,GAAG,aAAa,EAAE,IAAI,YAAY,KAAK,KAAK,CAAA;IAE7D,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACzD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACtD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;QACnC,OAAM;IACR,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,aAAa,CAAC,YAAY,KAAK,EAAE,CAAC,CAAA;QAClD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YACpC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAA;YAEvC,IAAI,gBAAgB,GAAkB,IAAI,CAAA;YAC1C,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAA;gBAC/C,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,MAAM,MAAM,GAAG,cAAc,CAAC,WAAW,CAAC,CAAA;oBAC1C,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAA;gBACvC,CAAC;YACH,CAAC;YAED,IAAI,aAA4B,CAAA;YAChC,IAAI,gBAAgB,EAAE,CAAC;gBACrB,aAAa,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAA;YAC9E,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,MAAM,UAAU,CAC3B,QAAQ,EACR,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC,MAAM,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE,EAC1E,wBAAwB,CACzB,CAAA;gBACD,aAAa,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE,CAAA;YAC5E,CAAC;YAED,MAAM,MAAM,GAAG,aAAa,CAAC,aAAa,EAAE,OAAO,IAAI,IAAI,CAAA;YAC3D,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,IAAI,IAAI,CAAA;YAEpD,IAAI,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,EAAE,CAAC;gBACvD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG;oBACnB,OAAO,EAAE,OAAO;oBAChB,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,WAAW,IAAI,IAAI,CAAC,GAAG,EAAE;iBAC3D,CAAA;YACH,CAAC;YAED,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC,CAAA;gBACnC,SAAQ;YACV,CAAC;YAED,IAAI,CAAC,OAAO,IAAI,gBAAgB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACnD,OAAO,CAAC,IAAI,EAAE,CAAA;gBACd,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,uDAAuD,CAAC,CAAA;oBAC5E,SAAQ;gBACV,CAAC;gBACD,MAAM,OAAO,GAAG,MAAM,aAAa,CACjC,GAAG,KAAK,8CAA8C,OAAO,CAAC,OAAO,IAAI,MAAM,GAAG,CACnF,CAAA;gBACD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,WAAW,CAAC,CAAA;oBAChC,SAAQ;gBACV,CAAC;gBACD,OAAO,CAAC,KAAK,CAAC,YAAY,KAAK,OAAO,OAAO,CAAC,OAAO,IAAI,MAAM,EAAE,CAAC,CAAA;YACpE,CAAC;YAED,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,IAAI,MAAM,CAAA;YAC/C,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,IAAI,OAAO,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;oBACzC,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,gBAAgB,OAAO,EAAE,CAAC,CAAA;oBAClD,SAAQ;gBACV,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC;gBAClF,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,iBAAiB,OAAO,GAAG,CAAC,CAAA;gBACpD,SAAQ;YACV,CAAC;YAED,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,OAAO,CAAC,IAAI,GAAG,YAAY,KAAK,OAAO,aAAa,EAAE,CAAA;YACxD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,YAAY,KAAK,OAAO,aAAa,EAAE,CAAC,CAAA;YACxD,CAAC;YACD,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YAClD,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAA;YAChF,MAAM,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;YAElC,MAAM,cAAc,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,CAAA;YACpD,MAAM,gBAAgB,CAAC,MAAM,EAAE;gBAC7B,OAAO,EAAE,CAAC;gBACV,QAAQ,EAAE,cAAc,EAAE,QAAQ,IAAI,QAAQ;gBAC9C,IAAI,EAAE,cAAc,EAAE,IAAI,IAAI,KAAK;gBACnC,gBAAgB,EAAE,aAAa;gBAC/B,WAAW,EAAE,cAAc,EAAE,WAAW,IAAI,IAAI,CAAC,GAAG,EAAE;aACvD,CAAC,CAAA;YAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAA;YACxE,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,gBAAgB,aAAa,EAAE,CAAC,CAAA;QAC1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAA;YAChC,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED,MAAM,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAgB;IAC5C,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC3C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;QACnC,OAAM;IACR,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,KAAK,KAAK,CAAC,OAAO,IAAI,QAAQ,EAAE,CAAC,CAAA;IACtD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,QAAgB,EAAE,IAAY,EAAE,IAAY;IAC7E,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAChD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAClC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAClC,OAAO,UAAU,CACf,QAAQ,EACR,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,EACtC,+BAA+B,CAChC,CAAA;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,IAAI,CAAC,CAAA;QAChB,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC"}